Jump to content

[1.2] TweakableEverything 1.16-beta - For all your part tweaking needs


toadicus

Recommended Posts

Had all kinds of problems with 1.1 including strange smoke like animations from DRE heat shields and nodes not connecting properly. Went back to 0.6.6 and everything works perfectly.

Link to comment
Share on other sites

Had all kinds of problems with 1.1 including strange smoke like animations from DRE heat shields and nodes not connecting properly. Went back to 0.6.6 and everything works perfectly.

Can you get me a copy of your debug log? In Windows, look for output_log.txt in the KSP_Data subfolder of your KSP install. I use DRE and a bunch of other mods as well and don't have those problems, so I'm going to need more information to track down your issue. :)

Link to comment
Share on other sites

Oh my god. I waited -far- too long to download this. This thing has added a WHOLE new level of gameplay! (You would not believe how many decouplers I managed to remove by using the docking ports in staging...) Thanks, Toadicus!

Link to comment
Share on other sites

ok i'm back after applying your fix and it does work with stock KSP but if i add all my mods and this it just replaces the plugindata and screws up again. i did manage to get it working in the end to "dockingport1" (sheilded docking port) by selecting bits of your code from the .cfg and putting it into the dockport1.cfg folder and it works fine (idk why) so thanks anyway for your help but i got it working my own way in the end :P

oh just a question but would it be posible to run your mod but remove select .dlls and .cfgs (like if i wanted to remove the tweakable docking port part of the mod) would it break the mod or would it work but i'm responsible for my own game afterward?

Link to comment
Share on other sites

Oh my god. I waited -far- too long to download this. This thing has added a WHOLE new level of gameplay! (You would not believe how many decouplers I managed to remove by using the docking ports in staging...) Thanks, Toadicus!

Glad you're enjoying it! :)

ok i'm back after applying your fix and it does work with stock KSP but if i add all my mods and this it just replaces the plugindata and screws up again. i did manage to get it working in the end to "dockingport1" (sheilded docking port) by selecting bits of your code from the .cfg and putting it into the dockport1.cfg folder and it works fine (idk why) so thanks anyway for your help but i got it working my own way in the end :P

So, I'm not 100% sure what you're saying here. From the sounds of it, I think you're saying this:

  1. In a stock + TE install, you made sure GameData/TweakableEverything/Plugins/PluginData/TweakableEverything/config.xml was deleted, and the ports all worked correctly.
    • Did you run the program a couple of times to make sure a bad config file didn't reappear?

[*]When you install the rest of your mods, the TE config.xml file gets corrupted (filled with gibberish, not valid XML) again, and certain functionality (like undocking animated docking ports) doesn't work.

[*]You relocated "bits of" TweakableDockingNode.cfg (I'm guessing the lines within the dockingPort1 patch?) into GameData/Squad/Utility/dockingPort1/part.cfg. This caused the port to run correctly.

So, based on #1 above, it sounds like all's well with TweakableEverything. ;) If I'm understanding you correctly and then guessing a few other details correctly myself, it sounds like the issue you're having is tied to another mod throwing exceptions in the space center scene, preventing TweakableDockingNode from correcting invalid protoVessel definitions in your persistence file, which is circumvented when node_stack_tdn exists in the actual part.cfg file, rather than being added by ModuleManager.

Alternatively, it could be just about anything else. ;) The conclusion of the story is that you have another mod somewhere causing an incompatibility. If you show me KSP's debug log file (Windows: \path\to\KSP_win\KSP_Data\output_log.txt; Linux (& Mac?): ~/.config/unity3d/Squad/Kerbal\ Space\ Program/Player.log) after a run of the game that exhibits the problem, I can try to tell you which one, and might even be able to do something to work around it on my end (depending on the issue).

oh just a question but would it be posible to run your mod but remove select .dlls and .cfgs (like if i wanted to remove the tweakable docking port part of the mod) would it break the mod or would it work but i'm responsible for my own game afterward?

Yes; that's why it's been done as separate dll's. :) The only caveat is that TweakableDecouplers and TweakableDockingNode both depend on TweakableStaging; if you remove TweakableStaging, those two modules won't work.

Link to comment
Share on other sites

Tried taking a screen shot but being in full screen mode it didn't seem to like doing it, gave me one of the desktop behind the game instead which isn't very helpful :P I was puffing out smoke from the decouples, and the joints would not reconnect after trying to move a part on the stock Kerbal X to test. I put this in my test install so it wouldn't affect my main save which is working beautifully with an older version. I'm including the logs, which will have some entries for loss of video while trying to get the screen capture for you.

KSP.log: https://www.dropbox.com/s/8pg7fz8wbc1ajyq/KSP.log

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

Addition, looking at the zip it seems there are more dependencies now than before and a separate folder for ToadicusTools is now required in addition to TweakableEverything. With that the nodes do work and animations no longer go nuts, but the game runs FAR slower. Not too sure about these additional dependencies for using the new version... :(

Link to comment
Share on other sites

Tried taking a screen shot but being in full screen mode it didn't seem to like doing it, gave me one of the desktop behind the game instead which isn't very helpful :P I was puffing out smoke from the decouples, and the joints would not reconnect after trying to move a part on the stock Kerbal X to test. I put this in my test install so it wouldn't affect my main save which is working beautifully with an older version. I'm including the logs, which will have some entries for loss of video while trying to get the screen capture for you.

KSP.log: https://www.dropbox.com/s/8pg7fz8wbc1ajyq/KSP.log

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

Addition, looking at the zip it seems there are more dependencies now than before and a separate folder for ToadicusTools is now required in addition to TweakableEverything. With that the nodes do work and animations no longer go nuts, but the game runs FAR slower. Not too sure about these additional dependencies for using the new version... :(

Yes, several modules in the newest version absolutely depend on the ToadicusTools.dll library. ModuleDB.dll is technically optional. The various modules have always shared utility code, but now that some of them are depending upon each other, I need them to link to it dynamically rather than compiling it in statically.

I'm very curious about your report that your performance is impacted negatively. In general, I've seen the opposite. Can you post an output_log.txt run with a) ToadicusTools.dll and ModuleDB.dll present, and B) just ToadicusTools.dll present, and comment on the relative performance? If I need more information, would you be willing to run some debug builds to help me troubleshoot?

EDIT: Just FYI, you should be able to take a screenshot even from within the full-screen game by pressing "F1" in-game. The screenshot should be saved in /path/to/KSP_arch/Screenshots. :)

Edited by toadicus
Link to comment
Share on other sites

Doh! That would have helped to get a pic of the poofy smoke :P

In addition to the slow load in the main save it also have a very strange graphic before the space center would load. I'll get those tests done for you today (after making a backup of course ;) ). I'll also be glad to run debug builds :)

I'm having a suspicion it could be somehow conflicting with Kerbal Construction Time, unless you use that one also in which case it's back to square one. :)

Link to comment
Share on other sites

Doh! That would have helped to get a pic of the poofy smoke :P

In addition to the slow load in the main save it also have a very strange graphic before the space center would load. I'll get those tests done for you today (after making a backup of course ;) ). I'll also be glad to run debug builds :)

I'm having a suspicion it could be somehow conflicting with Kerbal Construction Time, unless you use that one also in which case it's back to square one. :)

I used to think I used a lot of mods, until I saw all the mods listed in your logs. ;) Kerbal Construction Time is among those mods you use that I do not. ;)

Link to comment
Share on other sites

If people such as yourself wouldn't keep making such great mods then I wouldn't get so many ;)

When loading with this version I get this showing up between every screen change https://www.dropbox.com/s/ds741mdkhndxmy3/loading%20graphic.jpg

This is with both ToadicusTools and ModuleDB and just ToadicusTools. With just ToadicusTools the loading for entering the VAB was faster, but exiting was the same as with both. I'm thinking whatever is causing the graphic display (which is animated, that doesn't show on a screen cap) is adding load which in turn is creating the slowdown.

Output_lot.txt - ToadicusTools and ModuleDB: https://www.dropbox.com/s/k691i0q069qsksp/output_log.txt

only ToadicusTools: https://www.dropbox.com/s/6bjioz87xfwoyvk/output_log.txt

Note if it turns out to be a problem with RT2 than it sounds like a good time to try the new version of AntennaRange ;)

Edited by JeffreyCor
Link to comment
Share on other sites

@JeffreyCor

So... does anything actually work in your install? ;)

There are so many exceptions in these logs that I'd be surprised if anything works at all. ;) Exceptions are thrown for every part with a tweakable; modules are not being added to parts correctly at some stage or another and mot of the tweakable modules can't find their base Squad module to wrap during startup. It looks like that chain of events might start with RemoteTech2 (known to be generally incompatible last I checked), but honestly it's hard to tell. That chain of events goes on to impact Interstellar modules as well. Later on (presumably once you get into flight?) ModuleEngines runs into an exception while trying to update its connected resources; do your engines even burn?

The slowdown you're running into probably has to do with the exception spam. In Windows the debug log is written synchronously, so when you're writing dozens or hundreds or exception traces per second, you're at the mercy of your hard drive speed.

I'd recommend you start removing mods and see if you can find which one starts the chain of doom. You're looking to get rid of stuff like this in your output_log.txt:


NullReferenceException: Object reference not set to an instance of an object
at RemoteTech.ModuleSPU.OnStart (StartState state) [0x00000] in <filename unknown>:0

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

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

(Filename: Line: -1)

Parsing vector2

(Filename: C:/BuildAgent/work/d3d49558e4d408f4/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 53)

NullReferenceException: Object reference not set to an instance of an object
at ToadicusTools.Tools.InitializeTweakable[ModuleTweakableReactionWheel] (.UI_FloatRange floatRange, System.Single& localField, System.Single& remoteField, Single centerValue, Single lowerMult, Single upperMult, Boolean clobberEverywhere) [0x00000] in <filename unknown>:0

at ToadicusTools.Tools.InitializeTweakable[ModuleTweakableReactionWheel] (.UI_FloatRange floatRange, System.Single& localField, System.Single& remoteField, Single centerValue, Boolean clobberEverywhere) [0x00000] in <filename unknown>:0

at TweakableEverything.ModuleTweakableReactionWheel.OnStart (StartState state) [0x00000] in <filename unknown>:0

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

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

(Filename: Line: -1)

Parsing vector2

(Filename: C:/BuildAgent/work/d3d49558e4d408f4/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 53)

NullReferenceException: Object reference not set to an instance of an object
at ToadicusTools.Tools.InitializeTweakable[ModuleTweakableGimbal] (.UI_FloatRange floatRange, System.Single& localField, System.Single& remoteField, Single centerValue, Single lowerMult, Single upperMult, Boolean clobberEverywhere) [0x00000] in <filename unknown>:0

at TweakableEverything.ModuleTweakableGimbal.OnStart (StartState state) [0x00000] in <filename unknown>:0

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

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

(Filename: Line: -1)

NullReferenceException: Object reference not set to an instance of an object
at RemoteTech.ModuleSPUPassive.OnStart (StartState state) [0x00000] in <filename unknown>:0

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

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

(Filename: Line: -1)

NullReferenceException: Object reference not set to an instance of an object
at RemoteTech.ModuleSPUPassive.OnStart (StartState state) [0x00000] in <filename unknown>:0

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

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

(Filename: Line: -1)

ArgumentNullException: Argument cannot be null.

Parameter name: key
at System.Collections.Generic.Dictionary`2[Vessel,OpenResourceSystem.ORSResourceManager].ContainsKey (.Vessel key) [0x00000] in <filename unknown>:0

at OpenResourceSystem.ORSResourceOvermanager.hasManagerForVessel (.Vessel vess) [0x00000] in <filename unknown>:0

at OpenResourceSystem.ORSResourceSuppliableModule.OnStart (StartState state) [0x00000] in <filename unknown>:0

at FNPlugin.FNSolarPanelWasteHeatModule.OnStart (StartState state) [0x00000] in <filename unknown>:0

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

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

(Filename: Line: -1)

ArgumentNullException: Argument cannot be null.

Parameter name: key
at System.Collections.Generic.Dictionary`2[Vessel,OpenResourceSystem.ORSResourceManager].ContainsKey (.Vessel key) [0x00000] in <filename unknown>:0

at OpenResourceSystem.ORSResourceOvermanager.hasManagerForVessel (.Vessel vess) [0x00000] in <filename unknown>:0

at OpenResourceSystem.ORSResourceSuppliableModule.OnStart (StartState state) [0x00000] in <filename unknown>:0

at FNPlugin.FNSolarPanelWasteHeatModule.OnStart (StartState state) [0x00000] in <filename unknown>:0

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

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

(Filename: Line: -1)

ArgumentNullException: Argument cannot be null.

Parameter name: key
at System.Collections.Generic.Dictionary`2[Vessel,OpenResourceSystem.ORSResourceManager].ContainsKey (.Vessel key) [0x00000] in <filename unknown>:0

at OpenResourceSystem.ORSResourceOvermanager.hasManagerForVessel (.Vessel vess) [0x00000] in <filename unknown>:0

at OpenResourceSystem.ORSResourceSuppliableModule.OnStart (StartState state) [0x00000] in <filename unknown>:0

at FNPlugin.FNSolarPanelWasteHeatModule.OnStart (StartState state) [0x00000] in <filename unknown>:0

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

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

(Filename: Line: -1)

ArgumentNullException: Argument cannot be null.

Parameter name: key
at System.Collections.Generic.Dictionary`2[Vessel,OpenResourceSystem.ORSResourceManager].ContainsKey (.Vessel key) [0x00000] in <filename unknown>:0

at OpenResourceSystem.ORSResourceOvermanager.hasManagerForVessel (.Vessel vess) [0x00000] in <filename unknown>:0

at OpenResourceSystem.ORSResourceSuppliableModule.OnStart (StartState state) [0x00000] in <filename unknown>:0

at FNPlugin.FNSolarPanelWasteHeatModule.OnStart (StartState state) [0x00000] in <filename unknown>:0

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

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

(Filename: Line: -1)

Parsing vector2

(Filename: C:/BuildAgent/work/d3d49558e4d408f4/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 53)

NullReferenceException: Object reference not set to an instance of an object
at ToadicusTools.Tools.InitializeTweakable[ModuleTweakableDecouple] (.UI_FloatRange floatRange, System.Single& localField, System.Single& remoteField, Single centerValue, Single lowerMult, Single upperMult, Boolean clobberEverywhere) [0x00000] in <filename unknown>:0

at TweakableEverything.ModuleTweakableDecouple.OnStart (StartState state) [0x00000] in <filename unknown>:0

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

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

(Filename: Line: -1)

RemoteTech2 would be where I'd start. You might also downgrade to ModuleManager 2.0.7; 2.1.0 is throwing an exception while parsing something from the "LLL" folder, and it's new enough that most authors (including myself) haven't tested it with their mods yet. Other mods throwing exceptions as the game loads include:

  • HullCameraVDS
  • CactEye
  • KSPCalendar
  • MechJeb
  • Environmental Visual Enhancements (probably harmless; I get this one too)

Link to comment
Share on other sites

Everything does actually, as amazing as it may seem :P

I'm trying AR as a replacement to RT2 in my test install with fantastic results so far, vastly quicker load speeds across the board and no funky weird graphics showing up. Currently working on getting all the antennas to work in the new system then more in depth testing before declaring victory. :)

Update: RT2 does indeed appear to be the problem child. Everything is working much faster and better with removing that mod and it also corrected a minor odd issue with another mod that I'll be posting over there as well. :D

Scratch that, after thinking everything was good loading KSP again all the problems have returned and now even starting a new career had problems. :(

MM 2.0.8 seems to make everything usable, though still getting the strange rocket fire animation between load screens. weird...

Edited by JeffreyCor
Link to comment
Share on other sites

I haven't tested any of my mods with MM 2.1 yet, and since it's currently savebreaking I don't really plan on going that direction until a future MM release fixes the savebreaking, enough time passes that breaking saves isn't a big deal, or some update to MM and other mods that use it makes such an upgrade necessary. Too, I know that NavyFish is actually using TweakableEverything as a test case to help swamp_ig and sarbian debug the next MM release. ;)

I wouldn't be too surprised if MM 2.1 breaks this mod or your save game. :)

Link to comment
Share on other sites

Thinking the best idea is to only use the highest version that is included in a used mod. I had seen you mentioned using 2.0.7, but since your mod included 2.0.8 I went with the later version now :) Thanks for your help, I've loved this mode since it was only tweakable docking ports :)

Link to comment
Share on other sites

Thinking the best idea is to only use the highest version that is included in a used mod. I had seen you mentioned using 2.0.7, but since your mod included 2.0.8 I went with the later version now :) Thanks for your help, I've loved this mode since it was only tweakable docking ports :)

The exception I'd make to that is that right now, DeadlyReentry is shipping MM2.1. Personally, I'm not unpacking that until newer versions of MM fix the issue. ;)

Link to comment
Share on other sites

Glad you're enjoying it! :)

So, I'm not 100% sure what you're saying here. From the sounds of it, I think you're saying this:

  1. In a stock + TE install, you made sure GameData/TweakableEverything/Plugins/PluginData/TweakableEverything/config.xml was deleted, and the ports all worked correctly.
    • Did you run the program a couple of times to make sure a bad config file didn't reappear?

[*]When you install the rest of your mods, the TE config.xml file gets corrupted (filled with gibberish, not valid XML) again, and certain functionality (like undocking animated docking ports) doesn't work.

[*]You relocated "bits of" TweakableDockingNode.cfg (I'm guessing the lines within the dockingPort1 patch?) into GameData/Squad/Utility/dockingPort1/part.cfg. This caused the port to run correctly.

So, based on #1 above, it sounds like all's well with TweakableEverything. ;) If I'm understanding you correctly and then guessing a few other details correctly myself, it sounds like the issue you're having is tied to another mod throwing exceptions in the space center scene, preventing TweakableDockingNode from correcting invalid protoVessel definitions in your persistence file, which is circumvented when node_stack_tdn exists in the actual part.cfg file, rather than being added by ModuleManager.

Alternatively, it could be just about anything else. ;) The conclusion of the story is that you have another mod somewhere causing an incompatibility. If you show me KSP's debug log file (Windows: \path\to\KSP_win\KSP_Data\output_log.txt; Linux (& Mac?): ~/.config/unity3d/Squad/Kerbal\ Space\ Program/Player.log) after a run of the game that exhibits the problem, I can try to tell you which one, and might even be able to do something to work around it on my end (depending on the issue).

Yes; that's why it's been done as separate dll's. :) The only caveat is that TweakableDecouplers and TweakableDockingNode both depend on TweakableStaging; if you remove TweakableStaging, those two modules won't work.

ah... i removed plugindata folder altogether... ah... *blush* well i'll uhhh... i'll be putting that up to test now... uhhh... ops...

Link to comment
Share on other sites

with this installed, the Squad JetEngine would spit smoke and flameout sparks in the SPH

You probably have another mod installed causing an incompatibility. Can you get me a copy of your debug log (Windows: \path\to\KSP_win\KSP_Data\output_log.txt; Linux (& Mac?): ~/.config/unity3d/Squad/Kerbal\ Space\ Program/Player.log)?

Link to comment
Share on other sites

Can you get me a copy of your debug log (Windows: \path\to\KSP_win\KSP_Data\output_log.txt; Linux (& Mac?): ~/.config/unity3d/Squad/Kerbal\ Space\ Program/Player.log)?

Mac is ~/Library/Logs/Unity/Player.log

Link to comment
Share on other sites

Obsessed, I've looked over your log and I'm not certain TweakableEverything is causing your problem. It is causing those hasAncestorPart messages, and if you want to see if properly gating those calls helps anything, here's a fixed TweakableStaging dll that will avoid calling hasAncestorPart when it catches an event with bad data or the part hasn't finished starting up properly. If that fixes your issue, color me surprised.

I copied the post from the MSI IR page because it seemed more appropriate to bring the discussion here. Does that fixed DLL fix Interstellar radiators derping out and eating frames while placing them? I recall you mentioning discovering the issue when placing rads.

Edited by phoenix_ca
Link to comment
Share on other sites

You probably have another mod installed causing an incompatibility. Can you get me a copy of your debug log (Windows: \path\to\KSP_win\KSP_Data\output_log.txt; Linux (& Mac?): ~/.config/unity3d/Squad/Kerbal\ Space\ Program/Player.log)?

Here it is.

Supposedly this is a Hot Rockets incompatibility but that was one of the first mods I tried removing and it still happened (also removed recently-updated versions of Advanced Jet Engine and Firespitter)

Edited by Gaiiden
Link to comment
Share on other sites

I copied the post from the MSI IR page because it seemed more appropriate to bring the discussion here. Does that fixed DLL fix Interstellar radiators derping out and eating frames while placing them? I recall you mentioning discovering the issue when placing rads.

I don't actually know; I was at work when I compiled the fix and haven't got back to my computer to test it at all. That is what I hoped it would do, but I'm not certain it will. If you've tried it, maybe you can tell me! ;)

Here it is.

Supposedly this is a Hot Rockets incompatibility but that was one of the first mods I tried removing and it still happened (also removed recently-updated versions of Advanced Jet Engine and Firespitter)

There is a lot going on in that log... Final Frontier is making a lot of noise during startup , and Protractor has some issues before the main menu as well. I've also never seen mono.DLL and Assembly-Csharp.DLL throw exceptions on load...

I'll try a couple of the mods you've got that I don't and see if I can make something stick. I've been wanting to try hot rockets anyway. :)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...