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

KSP Update 0.24

At first glance it seems to still work. In case I missed something I did a quick rebuild against 0.24 anyway (OP links updated).

Already found a bug due to now different VAB rotation, hope to get at least a hotfix out over the weekend. Looked at it and now it seems to be working as clumsy as usual, don't know what I've seen before.

If you find any issues please tell me and I'll try to include the fixes in the next update of AS.

Edited by marce
Link to comment
Share on other sites

ActiveStruts I do not know but somehow I just could not work whatever I did. maybe I'm doing something wrong but did not show me no menu when you press the right mouse button.

Sorry to hear that. That's usually the case when an Exception occurs in the startup code of the module, but as always: I need full logs or I can't even guess what's going wrong...

Link to comment
Share on other sites

Marce,

Could you please let me know exactly what logs you need in the event of an issue? I'll kick them right over for ya.

I'm having a problem where when I install your Mod, my 'ModManager' patches count more than doubles from 500 to 1022 (could be normal, I dunno, but it seems weird) and my performance in the flight mode for vessels with struts drops by probably 80% rendering the game something of a slide show.

I do run a good number of mods, but if I delete ActiveStruts, performance goes right back to normal. I am primarily running the 32bit client as the 64bit has been a little unstable on my box.

Anyhow, thanks for any help!

Link to comment
Share on other sites

Marce,

Could you please let me know exactly what logs you need in the event of an issue? I'll kick them right over for ya.

I'm having a problem where when I install your Mod, my 'ModManager' patches count more than doubles from 500 to 1022 (could be normal, I dunno, but it seems weird) and my performance in the flight mode for vessels with struts drops by probably 80% rendering the game something of a slide show.

I do run a good number of mods, but if I delete ActiveStruts, performance goes right back to normal. I am primarily running the 32bit client as the 64bit has been a little unstable on my box.

Anyhow, thanks for any help!

Logs usually means the output_log.txt (Win) or player.log (Mac, Linux). You can locate it by reading this post.

Looks like the ModManager patch count increase results from turning most parts into potential targets for the active strut. I'm not sure if that would affect in-flight performance.

Link to comment
Share on other sites

@Kurtvw: yes, Master Tao is right. I need the output_log and maybe the KSP log too. He's also right concerning the increase MM fixes: I'm sorry but haven't found another solution. However, only the real ActiveStruts parts are actually doing something, the others are inactive all the time expect for a few seconds shortly after launch.

I'm sorry that you are experiencing a performance drop. Yes I have to do a lot of raycasting and also redrawing of the strut especially with "free attach" to update position shifts. You can try to increase the "StrutRealignInterval" [and the "StrutRealignDistanceTolerance"] at first to an very high number, you may decrease it again if it gets better. This will stop the constant updates and position shifts will be ignored, so you should get almost no performance hit but "stuttering" struts. Tell me if that helps!

I'm really hoping for another explanations though, since I didn't get such a report so far and it would make the whole mod useless at once ;.;

Link to comment
Share on other sites

Seems like the forum ate my response, trying again...

Since my previous post I have updated FAR and the weird performance issue with activestruts present has gone away... However I do get a program hang if I go direct to the pad from the Space Center screen, then revert to assembly, not sure if this is related to your mod, I had not noticed it prior to installing your mod, and it does not occur if I go to the VAB first.

Anyhow, I'm going to continue to try to duplicate my original concern, here are some logs from the run where it got the hang returning to vab.

https://drive.google.com/folderview?id=0BzFXyPyioIwrQTRsbDNpQzNGVFk&usp=drive_web

Hope that helps. Thanks.

Link to comment
Share on other sites

An update to my above -- I have added two new logs as I just had the performance drop in the VAB. A strange white object appears under my craft in the vab it is on the floor, on the pad it is under the launch pad grate. I was trying to figure out what it was as it was not grabbable. Then I started clicking the 'Center of mass', center of lift, and center of thrust buttons and it the the performance hit.

The logs are at the same link in my previous post... These are the ones simply KSP, and Output_log without the parenthesis... The ones with the Parens are from my previous remark.. Hope this helps.

Link to comment
Share on other sites

An update to my above -- I have added two new logs as I just had the performance drop in the VAB. A strange white object appears under my craft in the vab it is on the floor, on the pad it is under the launch pad grate. I was trying to figure out what it was as it was not grabbable. Then I started clicking the 'Center of mass', center of lift, and center of thrust buttons and it the the performance hit.

The logs are at the same link in my previous post... These are the ones simply KSP, and Output_log without the parenthesis... The ones with the Parens are from my previous remark.. Hope this helps.

Thanks, I was able to find a few errors and especially nice Exception cascades which explain your performance issues.

First things first: you are using KSPModAdmin which messes up with me assuming the path GameData\ActiveStruts\Plugin\ActiveStruts.cfg while saving the config node. Resulting in a defunc plugin config. Resulting in a defunc initialization. Resulting in fubar plugin behavior.

I don't know how KSPModAdmin works or how to change the path to get it working. Until someone explains that to me please consider KSPModAdmin as incompatible.


IsolatedStorageException: Could not find a part of the path "C:\Program Files (x86)\Steam\SteamApps\common\Kerbal Space Program\KSPModAdmin\GameData\ActiveStruts\Plugin\ActiveStruts.cfg".
at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] in <filename unknown>:0
at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) [0x00000] in <filename unknown>:0
at System.IO.File.Open (System.String path, FileMode mode) [0x00000] in <filename unknown>:0
at ConfigNode.Save (System.String fileFullName, System.String header) [0x00000] in <filename unknown>:0
(...)

Second: you already identified FAR as a possible problem. In the first case it was trying to replace my module with FARBasicDragModel. Why I don't know. Learned today that's something SQUAD added in 0.24 and it seems to do nasty things sometimes. (Attempting to replace PartModule 'ModuleActiveStrutFreeAttachTarget' with 'FARBasicDragModel').

In your latest log it also throws a massive amount of Exceptions (like in conjunction with the CoL calculation). Please check if that happens with AS uninstalled.


NullReferenceException: Object reference not set to an instance of an object
at ferram4.FARBasicDragModel.DragModel (Vector3d local_velocity, Double M) [0x00000] in <filename unknown>:0
at ferram4.FARBasicDragModel.RunDragCalculation (Vector3d velocity, Double MachNumber, Double rho) [0x00000] in <filename unknown>:0
at ferram4.FARBasicDragModel.PrecomputeCenterOfLift (Vector3d velocity, Double MachNumber, ferram4.FARCenterQuery center) [0x00000] in <filename unknown>:0
at ferram4.FARBaseAerodynamics.PrecomputeGlobalCenterOfLift () [0x00000] in <filename unknown>:0
at ferram4.FARBaseAerodynamics.OnCenterOfLiftQuery (.CenterOfLiftQuery CoLMarker) [0x00000] in <filename unknown>:0
UnityEngine.Component:SendMessage(String, Object, SendMessageOptions)
EditorMarker_CoL:recurseParts(Part, Vector3&, Vector3&, Single&)
EditorMarker_CoL:recurseParts(Part, Vector3&, Vector3&, Single&)
EditorMarker_CoL:recurseParts(Part, Vector3&, Vector3&, Single&)
EditorMarker_CoL:recurseParts(Part, Vector3&, Vector3&, Single&)
EditorMarker_CoL:recurseParts(Part, Vector3&, Vector3&, Single&)
EditorMarker_CoL:recurseParts(Part, Vector3&, Vector3&, Single&)
EditorMarker_CoL:recurseParts(Part, Vector3&, Vector3&, Single&)
EditorMarker_CoL:recurseParts(Part, Vector3&, Vector3&, Single&)
EditorMarker_CoL:recurseParts(Part, Vector3&, Vector3&, Single&)
EditorMarker_CoL:Update()

Edited by marce
Link to comment
Share on other sites

@marce: one question: why the "bloody workaround" is applied even we don't use any your struts on a vessel ?

Is there any way to do this only when some are actually used ?

Sorry but no. I'm updating all IDs of the module added to all parts to allow "free attach".

That's necessary because I already allow connections in the VAB, so IDs are already assigned there. If you now start the same vessel twice KSP duplicates the IDs as well. Therefore I have to refresh them (in a quite complex process to not break existing connections) once you actually launch to assure that each part in the whole universe (literally speaking) really has its own ID (at least with a high probability).

So as long as the plugin is installed this will happen. However, I'll certainly remove the message for the release version. Currently it's there to show me the update is actually running.

On the positive side: if there are no active struts present the process should be very quick and painless.

Link to comment
Share on other sites

Sorry but no. I'm updating all IDs of the module added to all parts to allow "free attach".

That's necessary because I already allow connections in the VAB, so IDs are already assigned there. If you now start the same vessel twice KSP duplicates the IDs as well. Therefore I have to refresh them (in a quite complex process to not break existing connections) once you actually launch to assure that each part in the whole universe (literally speaking) really has its own ID (at least with a high probability).

So as long as the plugin is installed this will happen. However, I'll certainly remove the message for the release version. Currently it's there to show me the update is actually running.

On the positive side: if there are no active struts present the process should be very quick and painless.

:) ok thanks for this quick answer.

Link to comment
Share on other sites

No problem :)

I'm trying hard not to waste performance and/or do things without a good reason. So it's quite important for me that others understand why I do things the way they are [and also tell me where I'm wrong :wink:].

btw: has anyone tested with the 0.24 update hotfix yet? Any problems I should look at?

Link to comment
Share on other sites

Hello I'm doing something wrong, but I somehow fail to start. Grappler does not show me the menu. I downloaded the plugin ActiveStruts_1.0b8.1. Can you advise me how I go, thanks.

As usual: I can't do anything without a full output log...

Link to comment
Share on other sites

Hello Here's the log_out. I hope this is it what you had in mind.

https://www.dropbox.com/s/hjy8cmq6x6oo9om/output_log.txt

Thank you. I looked at it and it fails to load my assembly reporting that the file is corrupt.

Since others seem to use the latest version just fine my best guess is that your download got corrupted somehow. Anyway, since it may also be caused due to being compiled against 0.24 instead of 0.24.2 I packed a new build and updated the file on the server (same filename since I changed nothing except for the rebuild and don't do build revisions yet.).

In short: please try downloading again, delete the whole old plugin folder and copy the fresh downloaded one into GameData. Hope it works then.

On a side note: you also have a problem with GameData\PartCatalog\Plugins\KopiLua.dll which fails to load due to triggering security mechanisms and GameData\SCANsat\Plugins\SCANsatKethane.dll and GameData\TweakScale\plugins\TweakScale_ModularFuelTanks.dll and GameData\TweakScale\plugins\TweakScale_RealFuels.dll which throw a ReflectionTypeLoadException. You could check if you still have some outdated and by now bugged DLLs lying around (I don't know, just guessing). This should not affect AS but since I stumbled upon them I wanted to tell you.

Link to comment
Share on other sites

Noob question here:

Where to put the files from ActiveStruts_1.0b8.1?

GameData as with every other mod, nothing special required.

The path should be /GameData/ActiveStruts/Plugin etc.

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...