Jump to content

[KSP >= 1.3.0] TweakScale - Under Lisias' Management - 2.4.8.3 - 2024-0525


Lisias

Recommended Posts

4 hours ago, gilflo said:

The fact is that if you don't act in a certain way, after tweak scale, one of your symmetrical fuel tank will get the right fuel according to tweak scale, and the other tank will get the initial fuel, the before you tweak scale.

To avoid it, select your fuel tank, put your symetrical tank not tweak scaled, select your fuel, you'll get the original quantity with a normal tank, then tweak scale one tank, and the other tank will be tweak scaled too with the right quantity in each fuel tank. If you want to proceed with another similar tweak scaled tank in symmetry, don't take from the previous tweakscaled tank using option key, but select another original tank, put it in symmetry, then select fuel options, and tweakscale again, and so on....This is the only way to get symmetrical fuel in tweakscaled tank

Yep. The OnCopy (or Clone) process is completely screwed. The appalling thing is that I kinda managed to fix it, but then I screwed loading  crafts… :o

I know where the problem is, I know why the problem happens, but I need a bit of time to figure out how it happens so I can fix it. At least I spent some time this weekend and found some potential fixes - all of them demanding some refactoring, unfortunately.

Since we are here, let me explain the problem:

When KSP 1.4.x came in 2018, it introduced a thingy called ModulePartVariants, that it's essentially a Part Switch - allowing the user to choose between different variants, instead of forcing the author to shove these variants as discrete parts. Problem: by some reason, whoever wrote the support on Editor royally screwed up a lot of small features in a very insidious way… :/

On this specific case, things go South when the root part of a subassembly have that ModulePartVariants thing. When this happens, something is run again on the subassembly after TweakScale had done its magic, royally screwing up the parts - sometimes using prefab values, sometimes pulling numbers from that tiny little place where the Sun doesn't shines. In a way or another, your craft is screwed.

You will not reproduce this problem on KSP 1.3.x and older, obviously, because Editor at that time wasn't mangled to support ModulePartVariants. This is something that started to happen on the 1.4.x for sure (I'm still playing 1.4.3, so I know).

Making things yet more complex, right now I don't even know if some of the misbehaviours are really due TweakScale failing to cope with the mess, of if it's something new being injected by Monkey Patching, introducing new misbehaviours by collateral effect - as it was done recently.

This means that all that experience I had gathered over the many idiosyncrasies buried on KSP is not worthing too much, as I need to retest everything from scratch to be sure (good thing I had documented most of them on github, so I have a benchmark). Not even reverse engineering would help, as the patched code is downloaded at runtime and it exists only while the game is running - essentially unpairing the code you have installed on the HDD from the code you are really running in memory.

This new environment creates some interesting challenges… 

 

Edited by Lisias
Tyops, as usulla…
Link to comment
Share on other sites

On 10/19/2023 at 10:01 PM, Lisias said:

Not yet. Real Life™ hijacked me from the ongoing task, and I didn't managed to get back to it yet. It's being developed on https://github.com/TweakScale/Companion_FuelSwitches if you want to follow it.

So there isn't any released version or beta version that I can try with right? If I build this project and install it into my ksp, will it work (partially at least)?

Link to comment
Share on other sites

3 hours ago, HideoKuze said:

So there isn't any released version or beta version that I can try with right? If I build this project and install it into my ksp, will it work (partially at least)?

Unfortunately,  the developments is frozen until I manage to publish TweakScale 2.5 . The current 2.4 doesn't have the support I need to do things right, so you will not be able to even compile it right  now.

Problem: time and... well... proper cooperation from some distribution channels. I wasted all my free time on my last window of opportunity earlier this year handling problems from 3rd parties,  and the next window to retake such actives is the next Seasons.

Link to comment
Share on other sites

10 hours ago, Lisias said:

不幸的是,在我设法发布 TweakScale 2.5 之前,开发被冻结了。当前的 2.4 没有我做正确事情所需的支持,所以你现在甚至无法编译它。

问题:时间和...井。。。一些分销渠道的适当合作。我把所有的空闲时间都浪费在了今年早些时候处理第三方问题的最后一个机会窗口上,而下一个重新获得这种活跃活动的窗口是下一个赛季。

Sorry to hear that, well, I will wait unil this is finished to continue play KSP lol

Link to comment
Share on other sites

On 10/9/2023 at 1:06 PM, Lisias said:

There's something very wrong on your rig, I found no messages related to the TweakScale's booting process, it's like the patchers were installed, but not the DLLs.

How did you installed TweakScale? What version are you using?

oh uh, its back, I'm doing a CKAN install. I'm doing 2.4.7.4. (testing multiple versions to find a stable version (spoiler alert, doesn't work))
The Null reference error is back, unable to edit in editor (yippe here we go again)

Link to comment
Share on other sites

1 minute ago, Comrad_501 said:

oh uh, its back, I'm doing a CKAN install. I'm doing 2.4.7.4. (testing multiple versions to find a stable version (spoiler alert, doesn't work))
The Null reference error is back, unable to edit in editor (yippe here we go again)

Krap. :(

Please send me the (full - remember to quit KSP before copying it) KSP.log after reproducing the problem and I will check it again.

Link to comment
Share on other sites

4 minutes ago, Lisias said:

Krap. :(

Please send me the (full - remember to quit KSP before copying it) KSP.log after reproducing the problem and I will check it again.

ahah... it now refuses to start and commits death (craps into Unity crash handler)

edit: commits a stack overflow
have a look: https://drive.google.com/file/d/1qJ67yGiuXiB_-4_GG8Zc1LZT0YBtUFcn/view?usp=sharing

Edited by Comrad_501
Link to comment
Share on other sites

14 minutes ago, Comrad_501 said:

ahah... it now refuses to start and commits death (craps into Unity crash handler)

Wow… Look for the unity's Log (see the OP to know where to fetch it - if you are on Windows, it's named output_log.txt, I think).  There's something really screwed on your rig right now!!

— — POST EDIT — — 

@Comrad_501, found this on the KSP.log:

MiniAVC v1.0.3.2

Older versions of MiniAVC is known to play havoc on modern KSP. Search and Destroy :P all occurences of the file 'MiniAVC" on your rig and try again.

It's my understanding that CKAN should be filtering these files (or, at least, I remember someone talking about this). Did you installed something manually recently?

— — POST POST EDIT — — 

Nope! It's TweakScaleCompanion.Frameworks.TestFlightCore again!

Completely remove <KSP_ROOT>/GameData/TweakScaleCompanion/Frameworks/TestFlightCore from your rig, I will work on this by night!! (working hours).

Why it caused such stack dump it's a mystery to me right now, the code should just complain about not being able to load the DLL, not to induce the whole system to this abhorrent tragedy!!!!

Edited by Lisias
POST EDIT
Link to comment
Share on other sites

10 minutes ago, Lisias said:

Wow… Look for the unity's Log (see the OP to know where to fetch it - if you are on Windows, it's named output_log.txt, I think).  There's something really screwed on your rig right now!!

Unable to locate... does not match paths... t h i s is an incarnation of pain...

Link to comment
Share on other sites

6 hours ago, Comrad_501 said:

Unable to locate... does not match paths... t h i s is an incarnation of pain...

This are simpler than it looks, but I agree.. This one is going to be pretty painful to me to diagnose and fix.

Completely remove <KSP_ROOT>/GameData/TweakScaleCompanion/Frameworks/TestFlightCore from your rig, I will work on this by night!!

Note to myself: Something is inducing KSPe to load TweakScakeTestFlightCore again and again and again. Doesn't looks like a bug on KSPe, because the other Companions (and TweakScale itself) heavily uses the very same code to load other DLLs, I need to understand why just TweakScakeTestFlightCore is being hit by this problem!

[LOG 14:53:01.598] [TweakScaleCompanion.Frameworks] TweakScalerTestFlightCore Version 0.4.0.2 /L BETA is loaded.
[EXC 14:53:01.889] StackOverflowException: The requested operation caused a stack overflow.
        System.IO.Directory.InsecureGetCurrentDirectory () (at <9577ac7a62ef43179789031239ba8798>:0)
        System.IO.Path.WindowsDriveAdjustment (System.String path) (at <9577ac7a62ef43179789031239ba8798>:0)
        System.IO.Path.InsecureGetFullPath (System.String path) (at <9577ac7a62ef43179789031239ba8798>:0)
        System.IO.Path.GetFullPath (System.String path) (at <9577ac7a62ef43179789031239ba8798>:0)
        System.IO.Directory.Exists (System.String path) (at <9577ac7a62ef43179789031239ba8798>:0)
        KSPe.IO.Directory.Exists (System.String path) (at <58fb44557e3d487fa13c42bddbc423e1>:0)
        KSPe.IO.Path.EnsureTrailingSeparatorOnDir (System.String path, System.Boolean blindlyAppend) (at <58fb44557e3d487fa13c42bddbc423e1>:0)
        KSPe.IO.Path.GetAbsolutePath (System.String path, System.Boolean iKnowItsDir) (at <58fb44557e3d487fa13c42bddbc423e1>:0)
        KSPe.IO.Path.GetAbsolutePath (System.String path) (at <58fb44557e3d487fa13c42bddbc423e1>:0)
        KSPe.IO.Path.GetFullPathInternal (System.String path, System.Boolean iKnowItsDir) (at <58fb44557e3d487fa13c42bddbc423e1>:0)
        KSPe.IO.Path.GetFullPath (System.String path, System.Boolean iKnowItsDir) (at <58fb44557e3d487fa13c42bddbc423e1>:0)
        KSPe.IO.Path.GetFullPath (System.String path) (at <58fb44557e3d487fa13c42bddbc423e1>:0)
        KSPe.IO.Hierarchy.Calculate (System.Boolean createDirs, System.String fname, System.String& partialPathname, System.String& fullPathname) (at <58fb44557e3d487fa1
3c42bddbc423e1>:0)
        KSPe.IO.Hierarchy.SolveFull (System.Boolean createDirs, System.String fname, System.String[] fnames) (at <58fb44557e3d487fa13c42bddbc423e1>:0)
        KSPe.Util.SystemTools+Assembly+Loader`1[T].TryPath (System.String path, System.String[] subdirs) (at <58fb44557e3d487fa13c42bddbc423e1>:0)
        KSPe.Util.SystemTools+Assembly+Loader.buildSearchPath (System.String[] subdirs) (at <58fb44557e3d487fa13c42bddbc423e1>:0)
        KSPe.Util.SystemTools+Assembly+Loader..ctor (System.String[] subdirs) (at <58fb44557e3d487fa13c42bddbc423e1>:0)
        KSPe.Util.SystemTools+Assembly+Loader`1[T]..ctor (System.String[] subdirs) (at <58fb44557e3d487fa13c42bddbc423e1>:0)
        TweakScaleCompanion.Frameworks.TestFlightCore.Startup.loadDLLs () (at <62a0aa40e0184c68893c50c4fc5781d7>:0)
        TweakScaleCompanion.Frameworks.TestFlightCore.Startup.Start () (at <62a0aa40e0184c68893c50c4fc5781d7>:0)
        System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, S
ystem.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
        System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <9577ac7a62ef43179789031239ba8798>:0)
        KSPe.Util.SystemTools+Assembly.InvokeOrNull (System.Type t, System.Object o, System.String methodName) (at <58fb44557e3d487fa13c42bddbc423e1>:0)
        KSPe.Util.SystemTools+Assembly.LoadAndStartup (System.String assemblyName) (at <58fb44557e3d487fa13c42bddbc423e1>:0)
        KSPe.Util.SystemTools+Assembly+Loader.LoadAndStartup (System.String assemblyName) (at <58fb44557e3d487fa13c42bddbc423e1>:0)
        TweakScaleCompanion.Frameworks.TestFlightCore.Startup.loadDLLs () (at <62a0aa40e0184c68893c50c4fc5781d7>:0)
        TweakScaleCompanion.Frameworks.TestFlightCore.Startup.Start () (at <62a0aa40e0184c68893c50c4fc5781d7>:0)
        System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, S
ystem.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)

— POST EDIT --

Yeah, I was the trigger of the problem. I tested the damned thing on a "dirty" development rig and didn't noticed the problem - I was allowing the thing to be loaded on TS 2.4.7x, besides that loadadable DLL working only on 2.5 .

However, that would had triggered an Exception on the LoadAndStartup call, not an Infinite Loop - this call **is not recursive**. :/

Anyway, it's fixed and I will publish a new Companion UberPacket release today.

Edited by Lisias
POST EDIT
Link to comment
Share on other sites

3 minutes ago, Comrad_501 said:

it did not work... still throws nullReferenceException

Did you removed all the MiniAVC DLLs too? Anyway, send me the new KSP.log and I will keep digging!

Link to comment
Share on other sites

5 minutes ago, Comrad_501 said:

it did not work... still throws nullReferenceException

[LOG 15:38:01.919] KerbalEngineer -> Exception SimManager.StartSimulation() // System.NullReferenceException: Object reference not set to an instance of an object
  at KerbalEngineer.Extensions.PartExtensions.GetResourceCostMax (Part part) [0x00041] in <134deb60e87843589b7ea1a020650b28>:0 
  at KerbalEngineer.Extensions.PartExtensions.GetCostDry (Part part) [0x00000] in <134deb60e87843589b7ea1a020650b28>:0 
  at KerbalEngineer.VesselSimulator.PartSim.New (Part p, System.Int32 id, System.Double atmosphere, KerbalEngineer.LogMsg log) [0x00126] in <134deb60e87843589b7ea1a020650b28>:0 
  at KerbalEngineer.VesselSimulator.Simulation.PrepareSimulation (KerbalEngineer.LogMsg _log, System.Collections.Generic.List`1[T] parts, System.Double theGravity, System.Double theAtmosphere, System.Double theMach, System.Boolean dumpTree, System.Boolean vectoredThrust, System.Boolean fullThrust) [0x00185] in <134deb60e87843589b7ea1a020650b28>:0 
  at KerbalEngineer.VesselSimulator.SimManager.StartSimulation () [0x000ba] in <134deb60e87843589b7ea1a020650b28>:0 
[LOG 15:38:01.919] KerbalEngineer ->   at KerbalEngineer.Extensions.PartExtensions.GetResourceCostMax (Part part) [0x00041] in <134deb60e87843589b7ea1a020650b28>:0 
  at KerbalEngineer.Extensions.PartExtensions.GetCostDry (Part part) [0x00000] in <134deb60e87843589b7ea1a020650b28>:0 
  at KerbalEngineer.VesselSimulator.PartSim.New (Part p, System.Int32 id, System.Double atmosphere, KerbalEngineer.LogMsg log) [0x00126] in <134deb60e87843589b7ea1a020650b28>:0 
  at KerbalEngineer.VesselSimulator.Simulation.PrepareSimulation (KerbalEngineer.LogMsg _log, System.Collections.Generic.List`1[T] parts, System.Double theGravity, System.Double theAtmosphere, System.Double theMach, System.Boolean dumpTree, System.Boolean vectoredThrust, System.Boolean fullThrust) [0x00185] in <134deb60e87843589b7ea1a020650b28>:0 
  at KerbalEngineer.VesselSimulator.SimManager.StartSimulation () [0x000ba] in <134deb60e87843589b7ea1a020650b28>:0 
[LOG 15:38:01.919] KerbalEngineer -> Exception SimManager.StartSimulation() // System.NullReferenceException: Object reference not set to an instance of an object
  at KerbalEngineer.Extensions.PartExtensions.GetResourceCostMax (Part part) [0x00041] in <134deb60e87843589b7ea1a020650b28>:0 
  at KerbalEngineer.Extensions.PartExtensions.GetCostDry (Part part) [0x00000] in <134deb60e87843589b7ea1a020650b28>:0 
  at KerbalEngineer.VesselSimulator.PartSim.New (Part p, System.Int32 id, System.Double atmosphere, KerbalEngineer.LogMsg log) [0x00126] in <134deb60e87843589b7ea1a020650b28>:0 
  at KerbalEngineer.VesselSimulator.Simulation.PrepareSimulation (KerbalEngineer.LogMsg _log, System.Collections.Generic.List`1[T] parts, System.Double theGravity, System.Double theAtmosphere, System.Double theMach, System.Boolean dumpTree, System.Boolean vectoredThrust, System.Boolean fullThrust) [0x00185] in <134deb60e87843589b7ea1a020650b28>:0 
  at KerbalEngineer.VesselSimulator.SimManager.StartSimulation () [0x000ba] in <134deb60e87843589b7ea1a020650b28>:0 
[LOG 15:38:01.919] KerbalEngineer ->   at KerbalEngineer.Extensions.PartExtensions.GetResourceCostMax (Part part) [0x00041] in <134deb60e87843589b7ea1a020650b28>:0 
  at KerbalEngineer.Extensions.PartExtensions.GetCostDry (Part part) [0x00000] in <134deb60e87843589b7ea1a020650b28>:0 
  at KerbalEngineer.VesselSimulator.PartSim.New (Part p, System.Int32 id, System.Double atmosphere, KerbalEngineer.LogMsg log) [0x00126] in <134deb60e87843589b7ea1a020650b28>:0 
  at KerbalEngineer.VesselSimulator.Simulation.PrepareSimulation (KerbalEngineer.LogMsg _log, System.Collections.Generic.List`1[T] parts, System.Double theGravity, System.Double theAtmosphere, System.Double theMach, System.Boolean dumpTree, System.Boolean vectoredThrust, System.Boolean fullThrust) [0x00185] in <134deb60e87843589b7ea1a020650b28>:0 
  at KerbalEngineer.VesselSimulator.SimManager.StartSimulation () [0x000ba] in <134deb60e87843589b7ea1a020650b28>:0 
[LOG 15:38:01.919] KerbalEngineer -> Exception  // System.NullReferenceException: Object reference not set to an instance of an object
  at KerbalEngineer.Editor.BuildOverlayResources.SetResources () [0x000da] in <134deb60e87843589b7ea1a020650b28>:0 
  at KerbalEngineer.Editor.BuildOverlayResources.Update () [0x00009] in <134deb60e87843589b7ea1a020650b28>:0 
[LOG 15:38:01.920] KerbalEngineer ->   at KerbalEngineer.Editor.BuildOverlayResources.SetResources () [0x000da] in <134deb60e87843589b7ea1a020650b28>:0 
  at KerbalEngineer.Editor.BuildOverlayResources.Update () [0x00009] in <134deb60e87843589b7ea1a020650b28>:0 
[EXC 15:38:02.076] NullReferenceException: Object reference not set to an instance of an object
	KERBALISM.Configure.GetUnlockedSetups () (at <27c6f080e9e646a18d47ca269086e77c>:0)
	KERBALISM.Configure.DoConfigure () (at <27c6f080e9e646a18d47ca269086e77c>:0)
	KERBALISM.Configure.OnGUI () (at <27c6f080e9e646a18d47ca269086e77c>:0)
	UnityEngine.DebugLogHandler:LogException(Exception, Object)
	ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
	UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
[EXC 15:38:02.076] NullReferenceException: Object reference not set to an instance of an object
	KERBALISM.Configure.GetUnlockedSetups () (at <27c6f080e9e646a18d47ca269086e77c>:0)
	KERBALISM.Configure.DoConfigure () (at <27c6f080e9e646a18d47ca269086e77c>:0)
	KERBALISM.Configure.OnGUI () (at <27c6f080e9e646a18d47ca269086e77c>:0)
	UnityEngine.DebugLogHandler:LogException(Exception, Object)
	ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
	UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
[EXC 15:38:02.110] NullReferenceException: Object reference not set to an instance of an object
	KERBALISM.Lib.CrewCount (Part part) (at <27c6f080e9e646a18d47ca269086e77c>:0)
	KERBALISM.Lib.IsCrewed (Part p) (at <27c6f080e9e646a18d47ca269086e77c>:0)
	KERBALISM.Habitat.FixedUpdate () (at <27c6f080e9e646a18d47ca269086e77c>:0)
	UnityEngine.DebugLogHandler:LogException(Exception, Object)
	ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
	UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
[EXC 15:38:02.111] NullReferenceException: Object reference not set to an instance of an object
	KERBALISM.Lib.CrewCount (Part part) (at <27c6f080e9e646a18d47ca269086e77c>:0)
	KERBALISM.Lib.IsCrewed (Part p) (at <27c6f080e9e646a18d47ca269086e77c>:0)
	KERBALISM.Habitat.FixedUpdate () (at <27c6f080e9e646a18d47ca269086e77c>:0)
	UnityEngine.DebugLogHandler:LogException(Exception, Object)
	ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
	UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
[EXC 15:38:02.112] NullReferenceException: Object reference not set to an instance of an object
	KERBALISM.Lib.CrewCount (Part part) (at <27c6f080e9e646a18d47ca269086e77c>:0)
	KERBALISM.Lib.IsCrewed (Part p) (at <27c6f080e9e646a18d47ca269086e77c>:0)
	KERBALISM.Habitat.FixedUpdate () (at <27c6f080e9e646a18d47ca269086e77c>:0)
	UnityEngine.DebugLogHandler:LogException(Exception, Object)
	ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
	UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
[EXC 15:38:02.113] NullReferenceException: Object reference not set to an instance of an object
	KERBALISM.Lib.CrewCount (Part part) (at <27c6f080e9e646a18d47ca269086e77c>:0)
	KERBALISM.Lib.IsCrewed (Part p) (at <27c6f080e9e646a18d47ca269086e77c>:0)
	KERBALISM.Habitat.FixedUpdate () (at <27c6f080e9e646a18d47ca269086e77c>:0)
	UnityEngine.DebugLogHandler:LogException(Exception, Object)
	ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
	UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
[EXC 15:38:02.114] NullReferenceException: Object reference not set to an instance of an object
	KERBALISM.Lib.CrewCount (Part part) (at <27c6f080e9e646a18d47ca269086e77c>:0)
	KERBALISM.Lib.IsCrewed (Part p) (at <27c6f080e9e646a18d47ca269086e77c>:0)
	KERBALISM.Habitat.FixedUpdate () (at <27c6f080e9e646a18d47ca269086e77c>:0)
	UnityEngine.DebugLogHandler:LogException(Exception, Object)
	ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
	UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
[EXC 15:38:02.115] NullReferenceException: Object reference not set to an instance of an object
	KERBALISM.Lib.CrewCount (Part part) (at <27c6f080e9e646a18d47ca269086e77c>:0)
	KERBALISM.Lib.IsCrewed (Part p) (at <27c6f080e9e646a18d47ca269086e77c>:0)
	KERBALISM.Habitat.FixedUpdate () (at <27c6f080e9e646a18d47ca269086e77c>:0)
	UnityEngine.DebugLogHandler:LogException(Exception, Object)
	ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
	UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
[EXC 15:38:02.117] NullReferenceException: Object reference not set to an instance of an object
	EditorLogic.SetIconAsPart (Part part) (at <4b449f2841f84227adfaad3149c8fdba>:0)
	UIPartActionControllerInventory.SetIconAsPart () (at <4b449f2841f84227adfaad3149c8fdba>:0)
	(wrapper dynamic-method) UIPartActionInventory.UIPartActionInventory.Update_Patch1(UIPartActionInventory)
	UnityEngine.DebugLogHandler:LogException(Exception, Object)
	ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
	UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
[EXC 15:38:02.118] NullReferenceException: Object reference not set to an instance of an object
	PartResourceList.GetEnumerator () (at <4b449f2841f84227adfaad3149c8fdba>:0)
	KERBALISM.Lib.Level (Part part, System.String resource_name, System.Boolean ignore_flow) (at <27c6f080e9e646a18d47ca269086e77c>:0)
	KERBALISM.Habitat.Set_inflation () (at <27c6f080e9e646a18d47ca269086e77c>:0)
	KERBALISM.Habitat.Update () (at <27c6f080e9e646a18d47ca269086e77c>:0)
	UnityEngine.DebugLogHandler:LogException(Exception, Object)
	ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
	UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)

This
 

 

2 minutes ago, Lisias said:

Did you removed all the MiniAVC DLLs too? Anyway, send me the new KSP.log and I will keep digging!

Afirm, windows cannot find any "MiniAVC" DLL
https://drive.google.com/file/d/1vbH7JBxoZJuAlZ5vQpy5LPWd1CnNLBvp/view?usp=sharing

Link to comment
Share on other sites

11 minutes ago, Comrad_501 said:

This
 

Afirm, windows cannot find any "MiniAVC" DLL
https://drive.google.com/file/d/1vbH7JBxoZJuAlZ5vQpy5LPWd1CnNLBvp/view?usp=sharing

Yeah,  I confirm ZeroMiniAVC installed and got rid of them. What I found now is:

[WRN 15:24:04.746] [KSPCF] A ReflectionTypeLoadException thrown by Assembly.GetTypes() has been handled by KSP Community Fixes.
This is usually harmless, but indicates that the "SolarSailNavigator" plugin failed to load (location: "GameData\SolarSailNavigator\Plugins\SolarSailNavigator.dll")
Stacktrace:
  at AssemblyLoader.GetSubclassesOfParentClass (System.Type parentType) [0x00000] in <4b449f2841f84227adfaad3149c8fdba>:0
  at KSPCommunityFixes.BugFixes.RefundingOnRecovery.ApplyPatches (System.Collections.Generic.List`1[T] patches) [0x00000] in <c08d6ea084ba41369dbf89fe1fba85db>:0
  at KSPCommunityFixes.BasePatch.ApplyHarmonyPatch () [0x00000] in <c08d6ea084ba41369dbf89fe1fba85db>:0
  at KSPCommunityFixes.BasePatch.Patch (System.Type patchType) [0x00000] in <c08d6ea084ba41369dbf89fe1fba85db>:0
  at KSPCommunityFixes.KSPCommunityFixes.ModuleManagerPostLoad () [0x00000] in <c08d6ea084ba41369dbf89fe1fba85db>:0
  at System.Reflection.MonoMethod.InternalInvoke (System.Object obj, System.Object[] parameters, System.Exception& exc) [0x00000] in <9577ac7a62ef43179789031239ba8798>:0

  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, Syst
em.Globalization.CultureInfo culture) [0x00000] in <9577ac7a62ef43179789031239ba8798>:0
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <9577ac7a62ef43179789031239ba8798>:0
  at ModuleManager.PostPatchLoader+<Run>d__16.MoveNext () [0x00000] in <15a1f1ead20a4e7995346c905233ca64>:0
  at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00000] in <12e76cd50cc64cf19e759e981cb725
af>:0
[

Suggesting that SolarSailNavigator is not loaded. But apparently it was!!!

[LOG 15:20:13.002] Load(Assembly): SolarSailNavigator/Plugins/SolarSailNavigator
[LOG 15:20:13.002] AssemblyLoader: Loading assembly at D:\Steam\steamapps\common\Kerbal Space Program\GameData\SolarSailNavigator\Plugins\SolarSailNavigator.dll
<....>
Singularity v0.991.7804.33947
SmokeScreen v2.8.14.0
SolarSailNavigator v0.0.0.0
SpaceDust v0.0.0.0
<...>
  SolarSailNavigator                      0.0.0.0                  0.0.0.0                                       963ea858952d79aada0aea46186a5a11d0917ce71098b450c484490174cde48e

think that there's something weird happening to KSPCF, and this may be causing some collateral effects that by its turn ends up screwing up royally Kerbalism later.

Drop a line on KSP Community Fixes thread asking if they have any idea about what's happening, I can't help further.

In a way or another, by night I will investigate the TweakScakeTestFlightCore to see what I find, this weird misbehaviour left me very worried - I use that loading DLL features everywhere! They can't misbehave this way no matter what… 

Link to comment
Share on other sites

26 minutes ago, Lisias said:

Suggesting that SolarSailNavigator is not loaded. But apparently it was!!!

WELL GUESS WHAT, REMOVING THAT FIXED THE RIG...

Edit: it stopped spewing the errors, I am generally confused, anyway, the thing is stable now, thanks for the hard work!

Edited by Comrad_501
Link to comment
Share on other sites

20 minutes ago, Comrad_501 said:

WELL GUESS WHAT, REMOVING THAT FIXED THE RIG...

Edit: it stopped spewing the errors, I am generally confused, anyway, the thing is stable now, thanks for the hard work!

Solar sail navigator's max ksp version as listed on CKAN is 1.4.9.  If you installed this with CKAN, your compatibility settings are set *dangerously*.  Only mods from 1.8-1.12 can be assumed to work with the latest version of KSP.  Older mods can sometimes work if they are parts or configs only.

Link to comment
Share on other sites

1 hour ago, CollectingSP said:

@Lisias, Is there any way to only have tweakscale for one mod? I only need it for the solar panels in Near future tech, and it terribly slows down my game when i have it installed since it's being applied to every part. 

Thanks!

The easiest way is to delete all patches, except the ones you want applied.

For example, from this directory (obviously, on your GameData :) ) remove everything (including directories) but the files that start with a number:

https://github.com/TweakScale/TweakScale/tree/master/GameData/TweakScale/patches

Then do the same with the Deprecating directory:

https://github.com/TweakScale/TweakScale/tree/master/GameData/TweakScale/Deprecating

The install TweakScale Companion for PKMC (improved and updated patches), and then remove everything but the NFS directory:

https://github.com/TweakScale/Companion_PKMC/tree/master/GameData/TweakScaleCompanion/PKMC

This will render your whole game scaling only the parts from Near Future Solar.

All my packaging follows that scheme exactly to allow users to customize their installation with some (your mileage will vary :) ) convenience.

 

Link to comment
Share on other sites

6 hours ago, Lisias said:

The easiest way is to delete all patches, except the ones you want applied.

For example, from this directory (obviously, on your GameData :) ) remove everything (including directories) but the files that start with a number:

https://github.com/TweakScale/TweakScale/tree/master/GameData/TweakScale/patches

Then do the same with the Deprecating directory:

https://github.com/TweakScale/TweakScale/tree/master/GameData/TweakScale/Deprecating

The install TweakScale Companion for PKMC (improved and updated patches), and then remove everything but the NFS directory:

https://github.com/TweakScale/Companion_PKMC/tree/master/GameData/TweakScaleCompanion/PKMC

This will render your whole game scaling only the parts from Near Future Solar.

All my packaging follows that scheme exactly to allow users to customize their installation with some (your mileage will vary :) ) convenience.

 

Thank you! Much appreciated!

Link to comment
Share on other sites

Actually, @Lisias, It appears to have no effect on my load time. the amount of module manager patches is also the same as before, hovering around 32k. ended up uninstalling, which i don't really want to do. 

Not sure where it's applying all of these patches from....

Link to comment
Share on other sites

57 minutes ago, CollectingSP said:

Actually, @Lisias, It appears to have no effect on my load time. the amount of module manager patches is also the same as before, hovering around 32k. ended up uninstalling, which i don't really want to do. 

Not sure where it's applying all of these patches from....

Humm… Probably KSP-Recall, it applies patches for every available Part to workaround problems on KSP. By removing TweakScale (or any other known add'on that needs the fix), Recall doesn't apply them… 

However… You apparently have a worst problem to solve. I run KSP on a potato, sometimes some test beds ends up with 100K patches, and the patching process is never longer than a couple minutes, all the rest is loading textures and meshes. And even that, until you change something on GameData again, MM stores the end result on a cache and loads everything from it until something changes.

I think you misdiagnosed the problem.

Link to comment
Share on other sites

1 hour ago, Lisias said:

Humm… Probably KSP-Recall, it applies patches for every available Part to workaround problems on KSP. By removing TweakScale (or any other known add'on that needs the fix), Recall doesn't apply them… 

However… You apparently have a worst problem to solve. I run KSP on a potato, sometimes some test beds ends up with 100K patches, and the patching process is never longer than a couple minutes, all the rest is loading textures and meshes. And even that, until you change something on GameData again, MM stores the end result on a cache and loads everything from it until something changes.

I think you misdiagnosed the problem.

Yeah, that’s probably why. It just upped the loading time of the game and made it a tad laggier, that’s all. My Memory use would spike as soon as I’d load up the game with tweakscale and recall vs without it. Definitely something on my end. I’m upgrading my PC soon anyway, so I should be able to use tweakscale then.

thanks for all your help!

 

Link to comment
Share on other sites

1 hour ago, Timmus453 said:

Was there ever a fix for the "parts reverting to their original size" issue?  I seem to be encountering this again and haven't been able to find any information around when searching.   Any help would be greatly appreciated!

This is, for sure, something preventing TweakScale from being correctly loaded into memory!

Publish the KSP.log where the problem happens and I will inspect it, looking for the problem.

hint: check if there's a file called 999_Scale_Redist.dll on the GameData directory - most of the time, it's absence is the problem. If this was the problem, please consider installing ModuleManagerWatchDog - it does a series of defensive checks for the most frequent problems and it would had prevented you from being bitten by this mishap.

Link to comment
Share on other sites

Hey @Lisias, seeing this "Your 'pwd' doesn't match KSP's 'Application Root'!" at startup with KSP-Recall-0.4.0.2, TweakScale-2.4.7.4, and TweakScaleCompanion-2023.10.21.2. After I hit ok, the next error message appears stating it could not find part of path, mentioning a path to PD Launcher with GameData, and then closes the game. I have tried clearing MM Cache. Without TweakScale installed, game is working fine and GameData is located at C:/Steam/steamapps/common/Kerbal Space Program/GameData/.

mFJ1mWx.png

9WJVXY4.png

Link to comment
Share on other sites

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