Jump to content

[KSP >= 1.3.0] TweakScale - Under Lisias' Management - 2.4.8.8 - 2024-1117


Lisias

Recommended Posts

On 7/12/2022 at 2:28 PM, revuwution said:

I was asleep all during today so I wasn't able to see this reply to test anything for you, but I am astonished at the amount of effort you put in to replicate this. I am beyond thankful. If there's anything you need to me to test further I'll gladly help.

Sleep? Do you sleep at night??? :sticktongue:

You already did help a lot, sir. My worst problem is free time in order to do all the tests I need to keep things safe on a rightly convoluted and buggy environment, so I tend to err to the safe side - and this usually implies on performance issues.

And you got hit by one of these (and I suspect not only you, as I had heard people preferring to run the Windows version of KSP on Proton…).

Well, since we are here, let me explain to you why you got bitten by this crapness: Unity is a mess, and Mono is not better. :)

One of the problems I detected in the past that were screwing UNIX users was the CWD, current working directory. On Windows, the CWD is automatically set to the directory where the executable lies, but on UNIXes it is not, and the rationale is simple: there's no point on changing the user's CWD to a place where he can't work, we always had proper hygiene on UNIX, we don't let the userspace write on the system and binary special folders - don't you hate to have to change everytime the directory where you want to save and load things on Windows?

But since Unity games are usually developed on Windows, by Windows minded people, all the KSP code is expecting that the CWD is set to KSP's root directory, and if by any reason this is not true, so both KSP and a lot of add'ons just write and read files in wherever the CWD is at the moment - including saving the game. Can you imagine the mess? :P

So all my code uses a special library of mine, KSPe, where I check for anything smelly and blows up a nasty message warning the user that he is going to get screwed before he get screwed. However...

On MacOS and UNIX, we have a thingy called SymLinks - pointers on the filesystem where we can redirect files and folders. And we do heavy use of them, including Steam and Proton. As an example, I have many different KSP installations (with different versions) on my rig, so instead of installing TweakScale on every one of them, I "install" it on a directory called "pool/TweakScale" and then symlink it into the GameData directory on every test bed - one "install", many "installed". In one shot. :) 

However… (and you will note that there's a huge amount of "however" around here), Microsoft, by a reason beyound sanity, decided to "reparse" (as they call it) the pathname you used to run KSP into a "real path", ie, the place where it really is on the file system. I can't say how this can screw up things, because suddenly you have code running on a pathname and userdata being written on another pathname (with everybody just hoping they pinpoint to the same place) and anyone in need to tell one from the another is royally screwed. And I need to do that in order to avoid users get screwed by the problem I mentioned above.

Being not bad enough, the pathname handling is different on MacOS as it is done on Linux - the handling I was doing on MacOS doesn't work on Linux, but the handling that works on Linux works on MacOS - so I end up doing things focused on Linux (what ends up helping a bit, as I can easily reproduce on MacOS any mishap, as this one you got).

One of these differences is yet another problem to cope with: the Mono's runtime can't differentiate a symlink to a directory from a file on Linux (but it does on MacOS) (C# apparently solved this on Core, but KSP are sill using dotnet), and then I have to handle yet one more use case about handling pathnames. So I just gave up and rewrote a whole System.IO for me :D , I call my own routines and everything just works no matter the running environment. Most of the time. :P 

And this was the thingy that ended up bitting you: that code that handles this mess relies on local unix tools, and this uses a bit of memory on every call. On a rig with memory enough and CPU to spare, this is not a problem. However, now we have a Unity problem to cope with (I had linked you to it already): some less than minimally smart developer though it was a good idea to SHOVE TENS OF THREADS DOING BUSY WAITS (also known as spinlocks) on the freaking machine. Busy waits are plain terrible on a multi-task environment, and with the nasty side effect of getting worse the more cores you have to clutter with them.

The more cores you have, the more spinlocks you get wasting CPU (and energy) and competing for the instruction cache and, ultimately, for the memory bus. And, so, more "busy" your CPU get (doing nothing), with less time to do the work you need it to do.

My crappy i7 mobile CPU runs KSP 2ºC cooler when using MONO_THREADS_PER_CPU=1 - and I get a few FPS more. The reason? Besides having more cores available to do things (as they are not busy spinning on the same code for nothing), the Mono's garbage collector is instructed to prevent doing deep garbage collection when the CPU is too busy. If the GC is not doing deep garbage collection on the free time (as there's no free time), then the GC only collects memory when memory is needed. And so, everytime someone needs memory, he/she gets screwed by delays induced by the garbage collector.

This is one of the most perfect didactic example about how to do not write software. :D I would be using it on classes if I was a teacher, by Kraken's sake! ;) 

So, now that I explained to you what happened, let me tell you what I did to mitigate it:

  • Introduced a cache on the code that "unreparse" pathnames, as I detected that at initialisation some paths were being recurrently unreparsed.
    • "unreparse" is how I call the code the undoes the "reparse" Mono's is doing on me.
  • Added a check about the path being a SymLink or not on a critical code, preventing it from using the unreparsing unnecessarily
    • This passed trough because the unreparse stunt is not "heavy" on the CPU, and so on my tests - where there's no Unity screwing me up - performance was good and I didn't realised the problem
  • Moved the TweakScale icons loading into the first time the Space Center is shown, instead of the first time the Editor is shown.
    • And this is evidence about the problem with the GC, because the same code worked "incredibly" faster on Space Center than on Editor
      • The first time you load Editor, KSP caches a lot of information about the installed parts, and this eats memory a lot, overloading the GC
      • The reason this is worst without DLCs installed I don't know, but I'm presuming that some DLC does part of the job when it is loaded, so there's less to be done on the first time Editor is run, and so the Icon loading were being less screwed by the GC

I'm testing TweakScale 2.4.6.16 right now, I'll publish it before (my) lunch. Stay tuned! :) [Lunch time! I just published 2.4.6.16!]

 

On 7/12/2022 at 11:22 PM, ElonsMusk said:

Don't tempt me like that, Lisias....

I will tell you something: had I not my hands terribly busy by Day Job™, I would be mangling with Infernal Robotics. :) 

Edited by Lisias
Tyops gallore!!!
Link to comment
Share on other sites

ANNOUNCE

Release 2.4.6.16 is available for downloading, with the following changes:

  • Mitigates an undesired collateral effect from the symlink handling on C#’s runtime on MacOS and Linux.
    • Updates KSPe.Light to 2.4.1.21
    • Preload the TweakScale’s toolbar Icons on the Space Center scene, where mysteriously they are loaded without nasty delays.
    • Thanks for the heads up, @revuwution!

See OP for the links.

Disclaimer

By last, but not the least...

Spoiler

No Module Manager was harmed during the development of TweakScale.

— — — — —

This Release will be published using the following Schedule:

  • GitHub, reaching first manual installers and users of KSP-AVC. Right now.
  • CurseForge. Right now.
  • SpaceDock (and CKAN users). Right Now.

Being a minor update, all the distribution channels were update at once.

Edited by Lisias
tyop! Surprised?
Link to comment
Share on other sites

 

ANNOUNCE

TweakScale BETA 2.5.0.49 is on the wild, for brave Kerbonauts that doesn't fear the Krakens and love to play on the bleeding edge!

https://github.com/net-lisias-ksp/TweakScale/releases/tag/PRERELEASE%2F2.5.0.49

  • Closes or Rework Issues:
    • #187 Check and implement all Modules left behind up to 1.3.1
    • #184 Scale some unsupported parts on EXPERIMENTAL status
    • #46 Feasibility Studies for Serenity

I FINALLY implemented Robotics (and Deployable Science) from Serenity on the TweakScaleExperimental thingy. If you want to give a try on them, create a directory called TweakScaleExperimental on your GameData.

The Deployable Science parts, surprisingly, appears to behave (but I didn't throughly tested anything!), and the known Glitch on the Robotics parts is still happening. I expect more KSP bugs and glitches to be detected (but perhaps we are lucky?).

Keep in mind that NOTHING on Experimental status are written on stone and are guaranteed to be there next release - it's highly unwise to start long term savegames with this stunt.

If you have suggestions about how to better scale things, the hour is now. Post your suggestion here or on https://github.com/net-lisias-ksp/TweakScale/issues/185 .

PartModule misbehaviours should be reported ideally on https://github.com/net-lisias-ksp/KSP-Recall/issues/53 or here.

Good Luck! :)

Edited by Lisias
Copy & Paste Failure
Link to comment
Share on other sites

On 7/1/2022 at 3:29 AM, Lisias said:

Hi. 

The BDB issues, apparently, is due something missing on the config files - but I didn't checked it yet (that thing is huge). You will have the same problems on Tantares, by the way (this one is confirmed).

While I can't say when (or if) I will cook a Companion for them, I'm writing something that will tell TweakScale about these problems and withdraw TS support for them if they are patched by accident. Task on https://github.com/net-lisias-ksp/TweakScale/issues/258 . This will solve your problems with DBD (and the ones with Tantares for other people).

About your specific problem on the logs, dude, you was bitten by a bad patching problem. It's some time since the last time I got it, I'm assuming you are migrating from an older game? I bet you are, because the double patching is coming from TweakScale itself:

[LOG 21:45:35.689] Applying update TweakScale/Deprecating/patches/B9_Aerospace/B9_HX/@PART[B9_Structure_HX0_E] to B9_Aerospace_HX/Parts/Structure_HX/model_hx_size0_endpiece.cfg/PART[B9_Structure_HX0_E]
[LOG 21:45:46.827] Applying update TweakScale/patches/B9_Aerospace/B9_HX/@PART[B9_Structure_HX0_E] to B9_Aerospace_HX/Parts/Structure_HX/model_hx_size0_endpiece.cfg/PART[B9_Structure_HX0_E]

Everything non Stock was deprecated and removed from TweakScale/patches/ a long time ago (I don't even remember when! :P ). And, well, you are using a pretty old TweakScale version!

[LOG 21:44:30.548] [TweakScale] Version 2.4.3.21 /L

I strongly suggest you update TweakScale to the newest one. Lots of improvements and bug fixes were made, and one of the most important for you using old patches is the ability to migrate Scale Definitions without loosing the part.

Install the latest TweakScale and these problems should go away. For good. :)

You may want to keep an eye on the TweakScale Companion Program for replacing some of the deprecated patches.

thankfully ive fixed all the issues by switching to a new version of tweakscale, thank you for the help though

Link to comment
Share on other sites

Hello Lisias! 

I seem to be encountering this issue: New bug related to IVA and Cameras when TweakScale is installed · Issue #246 · net-lisias-ksp/TweakScale (github.com)

I see that it is reported fixed though. Please let me know if you have any advice or need any additional info: 

Bug: IVA and IVA overlay broken

KSP: 1.12.3 (Win64)
OS: Windows 10 (10.0.0) 64bit
Mods installed:

Breaking Ground (BreakingGround-DLC 1.7.1)
Making History (MakingHistory-DLC 1.12.1)

KSP Recall (KSP-Recall v0.3.0.1)
Module Manager (ModuleManager 4.2.2)
TweakScale - Rescale Everything! (TweakScale v2.4.6.16)
TweakScale Redistributable (TweakScale-Redist v2.4.6.16)

Steps to reproduce :

with a new KSP install

Install TweakScale and dependencies listed above

Start a new flight with the acapello stock rocket

upon flight scene initilization, Kerbal Portraits and IVA and Interior overlay are all empty

(Switching away from active scene and back fixes the issue - as mentioned in the github issue#246) 

Player.log

KSP.log

loXyYOM.png

IVA View Empty: 
tG0STzX.png

Hope this report is helpful - Thanks for your hard work!

Link to comment
Share on other sites

1 hour ago, Jezzick said:

Hello Lisias! 

I seem to be encountering this issue: New bug related to IVA and Cameras when TweakScale is installed · Issue #246 · net-lisias-ksp/TweakScale (github.com)
 

<….>

Hope this report is helpful - Thanks for your hard work!

Hummm

Spoiler

1) Nope, something obvious as this would already get caught. It's impossible!

2) What the hell is going on here? This was working before releasing it!!

3) There must be something else happening, hopefully it's something the user is doing wrongly?

4) By the Krakens, why???? WHY ????

5) Damn. I found the problem…. :)

Oukey, now that I had passed trough the whole five stages of grief, let's crack this nut. :)

I initially didnt' managed to reproduce the problem. It was working fine for me on all attempts, both from VAB and SPH. And with many different Stock and custom crafts….

But yet, you gave us proof that this indeed was happening to you. So I tried looking for something on your log:

[LOG 13:17:17.379] [PlanetariumCamera]: Focus: Kerbin
[ERR 13:17:17.391] Exception handling event onPlanetariumTargetChange in class KnowledgeBase:System.NullReferenceException
  at (wrapper managed-to-native) UnityEngine.Component.get_transform(UnityEngine.Component)
  at KSP.UI.Screens.KbApp_PlanetResources.ActivateApp (MapObject target) [0x0007d] in <39c0323fb6b449a4aaf3465c00ed3c8d>:0
  at KSP.UI.Screens.KnowledgeBase.ActivateApps (KSP.UI.Screens.KnowledgeBase+KbTargetType targetType, MapObject target) [0x000fa] in <39c0323fb6b449a4aaf3465c00ed3c8d>:0
  at KSP.UI.Screens.KnowledgeBase.OnMapFocusChange (MapObject target) [0x000f4] in <39c0323fb6b449a4aaf3465c00ed3c8d>:0
  at EventData`1[T].Fire (T data) [0x000b0] in <39c0323fb6b449a4aaf3465c00ed3c8d>:0

[EXC 13:17:17.394] NullReferenceException
        KSP.UI.Screens.KbApp_PlanetResources.ActivateApp (MapObject target) (at <39c0323fb6b449a4aaf3465c00ed3c8d>:0)
        KSP.UI.Screens.KnowledgeBase.ActivateApps (KSP.UI.Screens.KnowledgeBase+KbTargetType targetType, MapObject target) (at <39c0323fb6b449a4aaf3465c00ed3c8d>:0)
        KSP.UI.Screens.KnowledgeBase.OnMapFocusChange (MapObject target) (at <39c0323fb6b449a4aaf3465c00ed3c8d>:0)
        EventData`1[T].Fire (T data) (at <39c0323fb6b449a4aaf3465c00ed3c8d>:0)
        UnityEngine.DebugLogHandler:LogException(Exception, Object)
        ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
        UnityEngine.Debug:LogException(Exception)
        EventData`1:Fire(MapObject)
        PlanetariumCamera:SetTarget(MapObject)
        PlanetariumCamera:RemoveTarget(MapObject)
        MapView:OnDestroy()
<cut>
[LOG 13:17:17.476] [UIApp] OnDestroy: Cargo
[EXC 13:17:17.485] NullReferenceException: Object reference not set to an instance of an object
        FlightGlobals.get_ActiveVessel () (at <39c0323fb6b449a4aaf3465c00ed3c8d>:0)
        KSP.UI.Screens.StageManager.SetSeparationIndices () (at <39c0323fb6b449a4aaf3465c00ed3c8d>:0)
        KSP.UI.Screens.StageIcon.SetInverseSequenceIndex (System.Int32 inverseIndex, System.Int32 inStageIndex, System.Boolean seqOverride) (at <39c0323fb6b449a4aaf3465c0
        KSP.UI.Screens.StageGroup.AddIconAt (KSP.UI.Screens.StageIcon icon, System.Int32 index, System.Int32 forcedSiblingIndex, System.Boolean setParent) (at <39c0323fb6
        KSP.UI.Screens.StageIcon.RemoveFromGroupAndReshuffle (KSP.UI.Screens.StageGroup& foundInGroup) (at <39c0323fb6b449a4aaf3465c00ed3c8d>:0)
        KSP.UI.Screens.StageManager.RemoveIcon (KSP.UI.Screens.StageIcon stageIcon, System.Boolean destroyIcon, System.Boolean removeSelection, System.Boolean alertStagin
        KSP.UI.Screens.ProtoStageIcon.RemoveIcon (System.Boolean alertStagingSequencer) (at <39c0323fb6b449a4aaf3465c00ed3c8d>:0)
        Part.OnDestroy () (at <39c0323fb6b449a4aaf3465c00ed3c8d>:0)
        UnityEngine.DebugLogHandler:LogException(Exception, Object)
        ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
        UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
[LOG 13:17:17.510] [UIApp] OnDestroy: ActionGroupsApp
  

I was going to pinpoint these exception as a possible cause of the problem, as unhandled exceptions abort the current thread - usually leading to a lot of things left undone. But then I had a hunch!

I launched the craft directly into the launchpad and, yeah, I then I reproduced the problem! By launching the craft without using the Editor, the problem indeed happens!!

This happens on both runway and launchpad, on every single craft I tested. It's not something related to  part, it's consistently happening on every attempt.

I tested it on KSP 1.7.3 and the problem was reproduced the same. More or less, apparently on KSP 1.7.3 the problem didn't happened on a career game (or perhaps was the part? It was a single part craft made of a AirplanePlus cockpit), perhaps this is happening only on sandbox but I could be wrong, I need some time do check this hypothesis.

Then I tried KSP 1.4.3 and reproduced the problem on a sandbox game. Still need to check career.

In a way or another, I reopened the issue!

Thanks for reporting!

Link to comment
Share on other sites

1 hour ago, Rutabaga22 said:

Yikes…. I forgot to tell you to install TweakScale Companion for Firespitter… Sorry!

Install this:

https://github.com/net-lisias-ksp/TweakScaleCompanion_FS/releases

And that message will go away.

This is a "yellow warning" however, not a "Red Houston", so even by not installing TSC_FS you can still safely play the game (the only problem will be the parts with float support losing scaling - but without TSC-FS they can't be used at all by TweakScale, so…)

Cheers!

Link to comment
Share on other sites

36 minutes ago, Rutabaga22 said:

I always forget about TCS_FS, installed just now!

So do I, shame on me! :D 

Spoiler

Dirty secret: all that sanity checks were inspired by my own mistakes while installing things, usually late night! :P 

 

Link to comment
Share on other sites

2 hours ago, VostokV5 said:

How does tweakscale make rescaled engines weaker/stronger? More specifically, does it modify the atmCurve and velCurve of an engine when it is rescaled?

Nope. It scales the engine's thrust, weight and some other parameters.

Theoretically you can cook a ScaleExponent that can change them - look for the patch files on TweakScale, these files are the receipts TS uses to scale things - you will learn a lot about KSP internals by reading that patches!

Link to comment
Share on other sites

16 minutes ago, Lisias said:

Nope. It scales the engine's thrust, weight and some other parameters.

Theoretically you can cook a ScaleExponent that can change them - look for the patch files on TweakScale, these files are the receipts TS uses to scale things - you will learn a lot about KSP internals by reading that patches!

Cool! Appreciate the help :D

 

Link to comment
Share on other sites

  • 2 weeks later...
2 hours ago, Rutabaga22 said:

Ksp is breaking again! Its starting to seem like I'm cursed to constantly have issues,,,

You and half the KSP players! :P

You are having a problem with Buffalo:

[ERR 19:22:00.643] ADDON BINDER: Cannot resolve assembly: BARISBridge, Culture=neutral, PublicKeyToken=null

[ERR 19:22:00.647] AssemblyLoader: Exception loading 'Buffalo': System.Reflection.ReflectionTypeLoadException: Exception of type 'Syste
m.Reflection.ReflectionTypeLoadException' was thrown.
  at (wrapper managed-to-native) System.Reflection.Assembly.GetTypes(System.Reflection.Assembly,bool)
  at System.Reflection.Assembly.GetTypes () [0x00000] in <9577ac7a62ef43179789031239ba8798>:0
  at AssemblyLoader.LoadAssemblies () [0x000e6] in <39c0323fb6b449a4aaf3465c00ed3c8d>:0

Additional information about this exception:

 System.IO.FileNotFoundException: Could not load file or assembly 'BARISBridge, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
or one of its dependencies.
File name: 'BARISBridge, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'

You need to install BARISBridge in order to use Buffalo.

However, as far as I understand, the most recent Buffalo had removed the BARISBridge dependency, I think you should upgrade!

https://github.com/Angel-125/Buffalo/releases/tag/v2.12.0

Cheers!

Edited by Lisias
Grumpy mode off.. :P (tooth is hurting a bit)
Link to comment
Share on other sites

7 hours ago, Sampa said:

so, was updating tweakscale from an older version, and encountered this on load up: 

 

ujaNIhp.png

There must be a pretty older version of TweakScale! :)

Well, assouming every DLL is at its rigth place (the 999_Scale_Redist.dll one is on GameData?), something else on your rig is failing to find a dependency, what is triggering a nasty KSP bug on a thingy called Assembly Resolver, yada yada yada. :P And this bug is what screws up TweakScale and everybody else - the only difference is that TweakScale yells when this happens, instead of allowing you to proceed and risk screwing up  your savegames.

The only sensible thing to do is to diagnose who is borking on your rig. Send me the KSP.log and I will inspect it (is you use MechJeb, please remove it from GameData, run KSP, quit KSP, send me the log and then reinstall MJ2 - MJ2, by some reason I didn't understood yet, messes a lot withe the usual order of events that I need to diagnose the problem!).

Cheers.

 

Link to comment
Share on other sites

41 minutes ago, Sampa said:

Ok.  I guess I could also attempt to throw everything out of the game data folder and start  new with mods

It will work better if TweakScale is the first one to be installed - so you will know on the spot when you install a faulty one!

In fact, I had recommended to some users that doesn't want to use TweakScale to install TweakScale (and MM WatchDog) as a Canary Mine - TS will always yell when it find something smelling funny! Once the rig is stable, you can always remove TweakScale (as long you don't load any savegame and use it).

Link to comment
Share on other sites

11 hours ago, TheKSPBeginner said:

Something seems to have screwed up after trying to install an old mod (MNWS)

Log file: https://drive.google.com/file/d/1xDn5bwtqnsfNQKHNuh0JOZMV6UepisF7/view?usp=sharing

Gee… You have a lot of Reflection Exceptions. From your log:

[LOG 22:18:53.012] PartLoader: Compiling Part '001KerbalActuators/Parts/Utility/SampleArm/SampleArm/wbiSampleArm'
[WRN 22:18:53.049] [KSPCF] A ReflectionTypeLoadException thrown by Assembly.GetTypes() has been handled by KSP Community Fixes.
This is usually harmless, but indicates that the "NextStarIndustries" plugin failed to load (location: "GameData\NSI\Plugins\NextStarIndustries.dll")
...
[LOG 22:18:55.345] [MechJeb2] Starting the Dispatcher
[WRN 22:18:55.395] [KSPCF] A ReflectionTypeLoadException thrown by Assembly.GetTypes() has been handled by KSP Community Fixes.
This is usually harmless, but indicates that the "NextStarIndustries" plugin failed to load (location: "GameData\NSI\Plugins\NextStarIndustries.dll")
...
[WRN 22:18:55.606] [KSPCF] A ReflectionTypeLoadException thrown by Assembly.GetTypes() has been handled by KSP Community Fixes.
This is usually harmless, but indicates that the "NextStarIndustries" plugin failed to load (location: "GameData\NSI\Plugins\NextStarIndustries.dll")

After that, tons of NREs on NextStarIndustries.NSIExplosionModule .

You will need to uninstall whatever NextStartIndustries is. Sorry.

On a side note: KSPCF error message is misleading and it's downplaying the importance and seriousness of the problem.

Everytime time you have an uncontrolled ReflectionTypeLoadException , whatever it was meant to be loaded is not being loaded. And then, when KSP loads your savegame, anything that would had expecting that thing to be loaded will just be removed from the living parts - completely ruining your savegame.

If the thingy failing to be loaded is TweakScale, all scaled parts will suddenly be unscaled back to defaults - completely screwing up your ships - but TweakScale is only the most visible and obvious victim of the problem! In fact, everything that failed to be loaded will suffer the same, but most of the time the problem is not visible to you immediately - silently corrupting your savegame as you play without being aware.

So…

No savegame should be loaded if you find a unhandled ReflectionTypeLoadException on your KSP.log! This is a Show Stopper problem, not a small nuisance that can be ignored!!

 

Link to comment
Share on other sites

2 hours ago, Lisias said:

Gee… You have a lot of Reflection Exceptions. From your log:

[LOG 22:18:53.012] PartLoader: Compiling Part '001KerbalActuators/Parts/Utility/SampleArm/SampleArm/wbiSampleArm'
[WRN 22:18:53.049] [KSPCF] A ReflectionTypeLoadException thrown by Assembly.GetTypes() has been handled by KSP Community Fixes.
This is usually harmless, but indicates that the "NextStarIndustries" plugin failed to load (location: "GameData\NSI\Plugins\NextStarIndustries.dll")
...
[LOG 22:18:55.345] [MechJeb2] Starting the Dispatcher
[WRN 22:18:55.395] [KSPCF] A ReflectionTypeLoadException thrown by Assembly.GetTypes() has been handled by KSP Community Fixes.
This is usually harmless, but indicates that the "NextStarIndustries" plugin failed to load (location: "GameData\NSI\Plugins\NextStarIndustries.dll")
...
[WRN 22:18:55.606] [KSPCF] A ReflectionTypeLoadException thrown by Assembly.GetTypes() has been handled by KSP Community Fixes.
This is usually harmless, but indicates that the "NextStarIndustries" plugin failed to load (location: "GameData\NSI\Plugins\NextStarIndustries.dll")

After that, tons of NREs on NextStarIndustries.NSIExplosionModule .

You will need to uninstall whatever NextStartIndustries is. Sorry.

On a side note: KSPCF error message is misleading and it's downplaying the importance and seriousness of the problem.

Everytime time you have an uncontrolled ReflectionTypeLoadException , whatever it was meant to be loaded is not being loaded. And then, when KSP loads your savegame, anything that would had expecting that thing to be loaded will just be removed from the living parts - completely ruining your savegame.

If the thingy failing to be loaded is TweakScale, all scaled parts will suddenly be unscaled back to defaults - completely screwing up your ships - but TweakScale is only the most visible and obvious victim of the problem! In fact, everything that failed to be loaded will suffer the same, but most of the time the problem is not visible to you immediately - silently corrupting your savegame as you play without being aware.

So…

No savegame should be loaded if you find a unhandled ReflectionTypeLoadException on your KSP.log! This is a Show Stopper problem, not a small nuisance that can be ignored!!

 

Should I reinstall it afterwards?

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