Jump to content

[WIP] ActiveStruts Dev Thread [updated 10.10.2014]


marce

What type of joints do you prefer?  

7 members have voted

  1. 1. What type of joints do you prefer?

    • all should be AttachJoints
      18
    • all should be ConfigJoints
      5
    • keep it as it is now (user's choice)
      66


Recommended Posts

Thanks! Just got confused since the zip contained files and no folder

It contains a folder named "ActiveStruts" which contains two folders "Sounds" and "Plugin". You should only need to drop the "ActiveStruts" folder into GameData. You only need to touch the files if you want to change the config or so.

Quick question: Sirkut sent me here, and It's a bit confusing, but is there an option in the gui to allow an extendable-retractable strut that still "soldifys"? In the past posts it seems to be a "no" then why did sirkut link here?

I'm afraid I am confused, yes, sorry. You will get struts which you can destroy and recreate on demand. If you use Grappler-Grappler links or enforce all links via the config it's quite stable as well. But it's no snake-oil, KSP/Unity limitations still exists.

I suppose sirkut sent you here because you can remove a strut, extend/move the IR parts and then recreate the strut to make it [more] stable again, which I dare to say can be helpful.

Link to comment
Share on other sites

Release candidate ready for download (see OP).

Changes:

  • I switched to the default KSP OSD system. Imho it's less readable than what I had before, but the old version was based on a simple pull model and wasted performance. Additionally it's now a consistent experience.
  • I added an additional config switch which allows for disabling of the hint texts which may annoy experienced users.
  • I removed the "ID update" message from the OSD pipeline, for the moment it will still be printed in the log, though.

And there is even more good news:

  1. I got a peek on the textures PorkJet has in the works. And they are looking good! :)
  2. ZodiusInfuser is considering to allow a bundled release, so that you won't have to download plugin and parts separately once release comes (hopefully).

Link to comment
Share on other sites

Finally had a chance to try this out. I'm getting a reproducible error (with a fix):

  1. In the VAB, place a RoboStrut Grappler
  2. Right-click on it, and then left-click on Link
  3. Left-click on Abort Link

Afterwards, left-clicks cease to function on placed parts and parts in the menu. Right-clicking on Abort Link both prevents and fixes the issue.

Mac OS X 10.9.4, KSP 0.24.2 (otherwise stock), Active Struts RC1 w/ ZodiusInfuser's parts. There are no errors or exceptions in my player.log, but I do see the following input lock, which only clears when I right-click on Abort Link:

[AS] editor lock

Otherwise, I already prefer it to QuantumStruts. :)

Link to comment
Share on other sites

Finally had a chance to try this out. I'm getting a reproducible error (with a fix):

  1. In the VAB, place a RoboStrut Grappler
  2. Right-click on it, and then left-click on Link
  3. Left-click on Abort Link

Afterwards, left-clicks cease to function on placed parts and parts in the menu. Right-clicking on Abort Link both prevents and fixes the issue.

Mac OS X 10.9.4, KSP 0.24.2 (otherwise stock), Active Struts RC1 w/ ZodiusInfuser's parts. There are no errors or exceptions in my player.log, but I do see the following input lock, which only clears when I right-click on Abort Link:

[AS] editor lock

Ahh, excellent hint, thanks! This input locking logic is a tricky beast but required to prevent picking up parts on left-click instead of creating a link... I'll look right at it, should be fixable :)

Otherwise, I already prefer it to QuantumStruts. :)

I don't want to directly compete with QS (actually I personally still have QS and AS installed), but glad you like it :)

Link to comment
Share on other sites

I added a feature to improve the Quantum Strut like functionality. It is now possible to show a beam where the strut would hit when using the “Straight out†action the usual AS style.

The functionality and the duration the beam is shown can be enabled/disabled and changed respectively in the config of course. But I’d like to get some feedback what the default settings should be since not all users are going to bother with the config file. So what do you think? On or off? 4 seconds? 3? 1? 10? It’s up to you :wink:

*download link in the OP has been updated*

Link to comment
Share on other sites

Great mod. My 2 cents -- if you are designing for those who don't edit cfg files, then I would say default "on" and 4 seconds should be long enough. I'll DL and give 'er a try.

Ok, just gave it a try. I never used QS so this seems to be working as advertised. Get the light beam, hit a valid target and strut attaches. 4 seconds seems to be plenty.

Edited by Voidryder
Feedback:
Link to comment
Share on other sites

Great mod. My 2 cents -- if you are designing for those who don't edit cfg files, then I would say default "on" and 4 seconds should be long enough. I'll DL and give 'er a try.

Ok, just gave it a try. I never used QS so this seems to be working as advertised. Get the light beam, hit a valid target and strut attaches. 4 seconds seems to be plenty.

Thanks for your opinion and for testing!

Link to comment
Share on other sites

Right i just got spammed with nulls and i looked in the output file and it said something about active struts, So i looked at the strut on my shuttle (for my robot arm) and it said "unlink" even though there was no strut there. Un linking and re linking seemed to fix this. Anyone else had this?

Link to comment
Share on other sites

Right i just got spammed with nulls and i looked in the output file and it said something about active struts, So i looked at the strut on my shuttle (for my robot arm) and it said "unlink" even though there was no strut there. Un linking and re linking seemed to fix this. Anyone else had this?

Please give me the full log, don't have a chance to even attempt fixing otherwise...

Link to comment
Share on other sites

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

Game State Saved as persistent

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

Tac.LifeSupportController[FFF15486][1463.54]: Deleting vessel Danwell Kerman Ship - vessel does not exist anymore

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

NullReferenceException: Object reference not set to an instance of an object

at DistantObject.VesselDraw.DrawVessel (.Vessel shipToDraw) [0x00000] in <filename unknown>:0

at DistantObject.VesselDraw.VesselCheck (.Vessel shipToCheck) [0x00000] in <filename unknown>:0

at DistantObject.VesselDraw.Update () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

NullReferenceException: Object reference not set to an instance of an object

at DistantObject.VesselDraw.DrawVessel (.Vessel shipToDraw) [0x00000] in <filename unknown>:0

at DistantObject.VesselDraw.VesselCheck (.Vessel shipToCheck) [0x00000] in <filename unknown>:0

at DistantObject.VesselDraw.Update () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

NullReferenceException: Object reference not set to an instance of an object

at DistantObject.VesselDraw.DrawVessel (.Vessel shipToDraw) [0x00000] in <filename unknown>:0

at DistantObject.VesselDraw.VesselCheck (.Vessel shipToCheck) [0x00000] in <filename unknown>:0

at DistantObject.VesselDraw.Update () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

Unpacking ISS

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

NullReferenceException: Object reference not set to an instance of an object

at DistantObject.VesselDraw.DrawVessel (.Vessel shipToDraw) [0x00000] in <filename unknown>:0

at DistantObject.VesselDraw.VesselCheck (.Vessel shipToCheck) [0x00000] in <filename unknown>:0

at DistantObject.VesselDraw.Update () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

Camera Mode: FREE

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

NullReferenceException: Object reference not set to an instance of an object

at ActiveStruts.Util.Util.PartFromHit (RaycastHit hit) [0x00000] in <filename unknown>:0

at ActiveStruts.Modules.ModuleActiveStrut._convertFreeAttachRayHitPointToStrutTarget () [0x00000] in <filename unknown>:0

at ActiveStruts.Modules.ModuleActiveStrut.PlaceFreeAttach (.Part hittedPart, Vector3 hitPosition, Boolean overridePositionOffset) [0x00000] in <filename unknown>:0

at ActiveStruts.Modules.ModuleActiveStrut.Reconnect () [0x00000] in <filename unknown>:0

at ActiveStruts.Modules.ModuleActiveStrut._delayedStart () [0x00000] in <filename unknown>:0

at ActiveStruts.Modules.ModuleActiveStrut.OnUpdate () [0x00000] in <filename unknown>:0

at Part.ModulesOnUpdate () [0x00000] in <filename unknown>:0

at Part.Update () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

NullReferenceException: Object reference not set to an instance of an object

at ActiveStruts.Util.Util.PartFromHit (RaycastHit hit) [0x00000] in <filename unknown>:0

at ActiveStruts.Modules.ModuleActiveStrut._convertFreeAttachRayHitPointToStrutTarget () [0x00000] in <filename unknown>:0

at ActiveStruts.Modules.ModuleActiveStrut._realignStrut () [0x00000] in <filename unknown>:0

at ActiveStruts.Modules.ModuleActiveStrut.OnUpdate () [0x00000] in <filename unknown>:0

at Part.ModulesOnUpdate () [0x00000] in <filename unknown>:0

at Part.Update () [0x00000] in <filename unknown>:0

There is something about distant object but iv had that for AGES with no issues

Link to comment
Share on other sites

montyben101,

Have you tried updating DOE to the version moarDV built (1.3.1)? That should take care of those NREs which might cause issues with other mods.

Also, as marce implied, the full log provides a lot of useful context.

Link to comment
Share on other sites

There is something about distant object but iv had that for AGES with no issues

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

Game State Saved as persistent

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

Tac.LifeSupportController[FFF15486][1463.54]: Deleting vessel Danwell Kerman Ship - vessel does not exist anymore

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

NullReferenceException: Object reference not set to an instance of an object

at DistantObject.VesselDraw.DrawVessel (.Vessel shipToDraw) [0x00000] in <filename unknown>:0

at DistantObject.VesselDraw.VesselCheck (.Vessel shipToCheck) [0x00000] in <filename unknown>:0

at DistantObject.VesselDraw.Update () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

NullReferenceException: Object reference not set to an instance of an object

at DistantObject.VesselDraw.DrawVessel (.Vessel shipToDraw) [0x00000] in <filename unknown>:0

at DistantObject.VesselDraw.VesselCheck (.Vessel shipToCheck) [0x00000] in <filename unknown>:0

at DistantObject.VesselDraw.Update () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

NullReferenceException: Object reference not set to an instance of an object

at DistantObject.VesselDraw.DrawVessel (.Vessel shipToDraw) [0x00000] in <filename unknown>:0

at DistantObject.VesselDraw.VesselCheck (.Vessel shipToCheck) [0x00000] in <filename unknown>:0

at DistantObject.VesselDraw.Update () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

Unpacking ISS

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

NullReferenceException: Object reference not set to an instance of an object

at DistantObject.VesselDraw.DrawVessel (.Vessel shipToDraw) [0x00000] in <filename unknown>:0

at DistantObject.VesselDraw.VesselCheck (.Vessel shipToCheck) [0x00000] in <filename unknown>:0

at DistantObject.VesselDraw.Update () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

Camera Mode: FREE

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

NullReferenceException: Object reference not set to an instance of an object

at ActiveStruts.Util.Util.PartFromHit (RaycastHit hit) [0x00000] in <filename unknown>:0

at ActiveStruts.Modules.ModuleActiveStrut._convertFreeAttachRayHitPointToStrutTarget () [0x00000] in <filename unknown>:0

at ActiveStruts.Modules.ModuleActiveStrut.PlaceFreeAttach (.Part hittedPart, Vector3 hitPosition, Boolean overridePositionOffset) [0x00000] in <filename unknown>:0

at ActiveStruts.Modules.ModuleActiveStrut.Reconnect () [0x00000] in <filename unknown>:0

at ActiveStruts.Modules.ModuleActiveStrut._delayedStart () [0x00000] in <filename unknown>:0

at ActiveStruts.Modules.ModuleActiveStrut.OnUpdate () [0x00000] in <filename unknown>:0

at Part.ModulesOnUpdate () [0x00000] in <filename unknown>:0

at Part.Update () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

NullReferenceException: Object reference not set to an instance of an object

at ActiveStruts.Util.Util.PartFromHit (RaycastHit hit) [0x00000] in <filename unknown>:0

at ActiveStruts.Modules.ModuleActiveStrut._convertFreeAttachRayHitPointToStrutTarget () [0x00000] in <filename unknown>:0

at ActiveStruts.Modules.ModuleActiveStrut._realignStrut () [0x00000] in <filename unknown>:0

at ActiveStruts.Modules.ModuleActiveStrut.OnUpdate () [0x00000] in <filename unknown>:0

at Part.ModulesOnUpdate () [0x00000] in <filename unknown>:0

at Part.Update () [0x00000] in <filename unknown>:0

If that's the only problem I should be able to hack a safeguard around it (on vessel load it can't reconnect to the part it was connected to because reasons (=raycast hit a part but it did not)). Will get to it tomorrow.

As Master Tao pointed out: while it's nice that you tried to search for the offending piece, full log is really not a joke. Please consider uploading the whole thing (to pastebin, dropbox or whatever) in the future.

Edited by marce
Link to comment
Share on other sites

  • 3 weeks later...

The latest download already contains a license file (in the plugins folder) as requested by the new rules SQUAD posted.

I post this only to state that I'm aware of what I have to do :wink:

All my mods are released under the MIT license and can be used for almost everything.

Link to comment
Share on other sites

This might sound like a stupid question, but I read the OP and am still not sure...: what's the difference between this mod and using KAS for struts (other than different textures, of course)? Is there any functional difference? :S

The main two differences are:

  1. KAS is all about EVA, while this mod simulates "automated/robotic connectors" (it started as part of the IR model rework after all). So you do not have to be on EVA or even have a Kerbal on board to create struts. Not fully realistic, but the massive wobble we are fighting here isn't as well. So imagine those struts are actually kind of remote controlled telescopic pistons with magnet locks or so :wink:
  2. You can create struts in the editor already if you want to.
  3. [i consider docking via ActiveStruts as a bit cheaty and an experimental feature]

Hope it's clear now. [Again, I'm not competing with KAS, it's a different approach with different use cases.]

If you have ideas for improvements you are welcome to present them :)

Link to comment
Share on other sites

KAS is all about EVA, while this mod simulates "automated/robotic connectors" (it started as part of the IR model rework after all). So you do not have to be on EVA or even have a Kerbal on board to create struts. Not fully realistic, but the massive wobble we are fighting here isn't as well. So imagine those struts are actually kind of remote controlled telescopic pistons with magnet locks or so :wink:

I imagined the mechanism more like the Sword from Pacific Rim but without all the complex animation :P

Link to comment
Share on other sites

I imagined the mechanism more like the Sword from Pacific Rim but without all the complex animation :P

Whatever you say Zoidus, I wouldn't mind if you add animations (if I only have to play them that is) :wink:

Btw: update on the textures?

Link to comment
Share on other sites

The main two differences are:

  1. KAS is all about EVA, while this mod simulates "automated/robotic connectors" (it started as part of the IR model rework after all). So you do not have to be on EVA or even have a Kerbal on board to create struts.

Ahh, I get ya. This is going to replace KAS for me then. What you're creating is all I need lol :D

If you have ideas for improvements you are welcome to present them :)

To be honest, I haven't downloaded the mod files yet, and will probably wait until official release, simply because I've got so many mods at the moment and I've already got issues with some of them. Therefore, I can't really comment about the mod just yet, but my only suggestion would be to update the OP with the above quote to clarify the difference between this and KAS. :)

Looking forward to seeing this mod come "of age". Thanks for your work which will - undoubtedly - make the game more enjoyable for me.

Edited by DavidHunter
Link to comment
Share on other sites

Ahh, I get ya. This is going to replace KAS for me then. What you're creating is all I need lol :D

Cool, always glad to hear that my work is useful!

Just to be absolutely clear: KAS has some other features beside struts (especially winches) which are not part of this mod. I concentrated on, well, struts :wink:

And to be honest: getting connections made in the VAB and in flight playing nicely with each other was far more difficult than expected, so I won't add much more (still open for suggestions of course) to the scope...

To be honest, I haven't downloaded the mod files yet, and will probably wait until official release, simply because I've got so many mods at the moment and I've already got issues with some of them. Therefore, I can't really comment about the mod just yet, but my only suggestion would be to update the OP with the above quote to clarify the difference between this and KAS. :)

Looking forward to seeing this mod come "of age". Thanks for your work which will - undoubtedly - make the game more enjoyable for me.

I haven't got a lot of bug reports so far (none are open atm), so release is only finalized textures away. But I have to say that I can't model, so ZodiusInfuser made me parts. And then he convinced PorkJet to work on the textures, who is now busy with his SQUAD deal, so Zodius jumped in (again!) and will finalize the textures. However, he's busy as hell as well, so we won't stress him since the parts itself are working already anyway :)

Obviously I'm expecting more bugs to appear after release, but hopefully (a man may have dreams, right?) not too many :wink:

I will certainly add this to the OP, thanks for the hint! I'm terrible at this marketing/OP writing stuff. I'm one of those guys who are locked in the cellar creating stuff and relying on others for this marketing and profit making magic, you know :wink:

Link to comment
Share on other sites

Sorry to say this but I'm having a problem getting this to work. I'm on KSP 24.2 32 bit Windows Ver. and I've done a clean install with just this mod (ActiveStruts) and Zodius parts and I get this in my output log;

Failed to load assembly D:\KSP_win\GameData\ActiveStruts\Plugin\ActiveStruts.dll:

System.BadImageFormatException: Format of the executable (.exe) or library (.dll) is invalid.

at Mono.Cecil.PE.ImageReader.ReadImage () [0x00000] in <filename unknown>:0

at Mono.Cecil.PE.ImageReader.ReadImageFrom (System.IO.Stream stream) [0x00000] in <filename unknown>:0

at Mono.Cecil.ModuleDefinition.ReadModule (System.IO.Stream stream, Mono.Cecil.ReaderParameters parameters) [0x00000] in <filename unknown>:0

at Mono.Cecil.ModuleDefinition.ReadModule (System.String fileName, Mono.Cecil.ReaderParameters parameters) [0x00000] in <filename unknown>:0

at Mono.Cecil.ModuleDefinition.ReadModule (System.String fileName) [0x00000] in <filename unknown>:0

at AssemblyLoader.ScanForBadTypeRefs (System.String file) [0x00000] in <filename unknown>:0

at AssemblyLoader.LoadExternalAssembly (System.String file) [0x00000] in <filename unknown>:0

This is with the downloaded file ActiveStruts_1.0rc1.2b .

Thanks for looking at this.

Sean

Link to comment
Share on other sites

Sorry to say this but I'm having a problem getting this to work. I'm on KSP 24.2 32 bit Windows Ver. and I've done a clean install with just this mod (ActiveStruts) and Zodius parts and I get this in my output log;

Failed to load assembly D:\KSP_win\GameData\ActiveStruts\Plugin\ActiveStruts.dll:

System.BadImageFormatException: Format of the executable (.exe) or library (.dll) is invalid.

at Mono.Cecil.PE.ImageReader.ReadImage () [0x00000] in <filename unknown>:0

at Mono.Cecil.PE.ImageReader.ReadImageFrom (System.IO.Stream stream) [0x00000] in <filename unknown>:0

at Mono.Cecil.ModuleDefinition.ReadModule (System.IO.Stream stream, Mono.Cecil.ReaderParameters parameters) [0x00000] in <filename unknown>:0

at Mono.Cecil.ModuleDefinition.ReadModule (System.String fileName, Mono.Cecil.ReaderParameters parameters) [0x00000] in <filename unknown>:0

at Mono.Cecil.ModuleDefinition.ReadModule (System.String fileName) [0x00000] in <filename unknown>:0

at AssemblyLoader.ScanForBadTypeRefs (System.String file) [0x00000] in <filename unknown>:0

at AssemblyLoader.LoadExternalAssembly (System.String file) [0x00000] in <filename unknown>:0

This is with the downloaded file ActiveStruts_1.0rc1.2b .

Thanks for looking at this.

Sean

Hi Sean,

at first sight it looks like a corrupt download (I should provide checksums sometime...). Please try downloading again.

Hope it works then, otherwise I'll have to do a bit of research :huh:

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...