Jump to content

[KSP >= 1.3.0] TweakScale - Under Lisias' Management - 2.4.8.6 - 2024-0921


Lisias

Recommended Posts

52 minutes ago, XBOX-KERBAL1 said:

Tweakscale gave me a fatal error. I don't what to do except upload my log here.

Log: https://www.dropbox.com/s/2gx4h1vw0ijxgk2/KSP.log?dl=0

Well, you started pretty well coming here asking for help. :) 

Let's see what we have on the SanityChecks:

[LOG 19:27:02.224] [TweakScale] INFO: WriteDryCost Concluded : 2192 parts found ; 0 checks failed ; 0 parts with hotfixes ; 0 parts with issues overruled ; 4 Show Stoppers found; 0 Sanity Check failed; 971 unscalable parts.
[LOG 19:27:02.227] [TweakScale] "Houston, we have a Problem!" about show stoppers on patching was displayed
[LOG 19:27:02.229] [TweakScaleCompanion.Visuals] INFO: SanityCheck Concluded : 2192 parts found ; 0 parts using ModuleWaterfallFX ; 0 show stoppers detected .

4 Show Stoppers. Hummm… I already had see this once… :/

[LOG 19:27:02.105] [TweakScale] ERROR: **FATAL** Part cargoContainer (SEQ-9 Container Module) has a fatal problem due having duplicated properties - see issue [#34]( https://github.com/net-lisias-ksp/TweakScale/issues/34 ). at error:0
[LOG 19:27:02.105] [TweakScale] ERROR: **FATAL** Part smallCargoContainer (SEQ-3 Cargo Storage Unit) has a fatal problem due having duplicated properties - see issue [#34]( https://github.com/net-lisias-ksp/TweakScale/issues/34 ). at error:0
[LOG 19:27:02.140] [TweakScale] ERROR: **FATAL** Part spotLight1 (Illuminator Mk1) has a fatal problem due having duplicated properties - see issue [#34]( https://github.com/net-lisias-ksp/TweakScale/issues/34 ). at error:0
[LOG 19:27:02.140] [TweakScale] ERROR: **FATAL** Part spotLight2 (Illuminator Mk2) has a fatal problem due having duplicated properties - see issue [#34]( https://github.com/net-lisias-ksp/TweakScale/issues/34 ). at error:0

Yeah. The same 4 ones from the last 2 reports. 3 in a row is too much of a "coincidence".

Oh, well… It's easy to fix. Completely remove TweakScale folder and reinstall it again. This is happening because an old left-over patch is lingering on the directory, and some new, revised patch ended up having its toes stomped by this oldie.

May I ask you what was the version of TweakScale you was using before? This is happening too much, I need to do something on the next release to minimize this incidence.

In time, since you are using KIS and Firespitter, you also need to install TweakScale Companion for KIS and the one for Firespitter - revised and improved patches are available there, the current ones on TweakScale are deprecated and will not be updated anymore.

Cheers!

Link to comment
Share on other sites

ANNOUNCE

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

  • Declutters craft files, preventing TweakScale MODULE nodes from being written on it when the part is not scaled or it's deactivated.
    • Now your unscaled crafts can be shared on KerbalX et all without being tagged as using TweakScale.
    • And you can play Challenges where TweakScale is not allowed without deinstalling TweakScale - or creating a new installment just because of it.
  • Updates ModuleManagerWatchDog to 1.0.1.0.
    • Copes with KSP 1.12.x DLL loading new behaviours
    • Add sanity checks for 999_Scale_Redist.dll
    • Add sanity checks for Interstallar_Redist.dll
  • Closes Issues:
    • #85 Clean TweakScale's Module from unchanged parts on save

See OP for the links.

Highlights

Selective persistence on saving craft files

From 2.4.5.4, a long time wished feature (the task was created on late 2019!!) is finally reaching the mainstream after being tested inhouse for half the year: TweakScale now omits its data on parts with default settings when saving craft files.

This new (and unexpected) feature is meant to declutter your craft files from unnecessary TweakScale sections, preventing your crafts from being flagged as using TweakScale when all your parts are plain vanilla sized!

This will save you from creating special KSP installments when participating of challenges where TweakScale is not allowed. Now you just can save the file normally and publish it without that pesky TweakScale config sections lingering on the file without doing anything useful. ;)

This feature works on every KSP that have that Upgrade Pipeline thingy that will recreate the default TweakScale data from the prefab when it doesn't find it on loading. TweakScale does not activate this feature for KSP versions without this thingy for obvious reasons. Even users of older TweakScale versions will be able to load the craft files (the heavy lifting is done by the Pipeline) - so this feature is 100% retro-compatible.

There's a proof of concept on Kerbal-X where a craft with all parts unescaled (but the miniFulelage) is available for downloading. By inspecting the craft, you will see that only miniFuselage has a TweakScale section - but, yet, the craft will load fine on your KSP 1.12.2. There's another version made on KSP 1.4.5 that you can use to test the feature on previous KSP versions (make the Pipeline sweat!). Click on the "Version 1 of 2" thingy on the upper left part of the page.

TweakScaleExperimental support for parts and modules

From 2.4.5.2, TweakScale is starting to support, as possible, all KSP modules - and not only the most visible ones, as well parts.

In order to pursue that goal without risking your ongoing savegames (as changing Exponents will unbalance your designs, potentially ruining your crafts), some parts and modules scaling are only available on Experimental mode.

Such mode will patch almost all KSP parts and modules (but Serenity/Breaking Ground as this one will be tackled down later, see the backlog for more information), including some that I'm unsure should be scaled - not to mention Exponents that I'm pretty sure will need some rebalancing.

In order to toy with these parts and modules, you need to create a directory called TweakScaleExperimental in your GameData. The directory may be empty, it's enough to have it on GameData so Module Manager will register it, satisfying the :NEEDS that enable such patches and Exponents.

Please only enable these patches on disposable or non valuable KSP installments. These patches are going to change for sure in the near future, and these changes will be incompatible with savagames created with the previous set of Experimental patches.

Standard mechanism to control TweakScale availability

From 2.4.5.0 and up, it's possible to deactivate TweakScale on some (or even all) parts by patching or on the user interface without affecting living crafts on the savegame (or even already existent craft files).

A patching only feature can lock up TweakScale on the current state, making easier to create artefacts to automatically reconfigure a savegame for Challenges with specific rules. Again, without affecting existent crafts or savegames - once the craft is launched, it's not affected by these options.

See the Documentation for details.

Formal support for KSP from 1.4.4 to 1.12.2

KSP 1.12 didn't introduced any changes that break TweakScale, so it's formally supported. However, in order to proper support Variants, the minimal KSP version supported by now is 1.4.4 . Sorry for that.

TweakScale 2.5 aims to bring back support for KSP down to 1.2.2 (exactly how, is still work in progress, but it's feasible as being demonstrated by some Unofficial forks of mine).

Parts with Variants

Variants that change Cost and/or Nass are now fully supported, but TweakScale is struggling to support Parts with Variants that changes Attachment Nodes.

I had planned to withdraw TweakScale support from such parts as I did in the past, but then I realised that most Version 2 parts from already scalable parts (as Terrier...) would had TweakScale withdrawn, and this would render some crafts and savegames corrupted.

Since most of these parts didn't misbehave on a noticeable way, I decided to just let it go as is for while. Just a few stock parts are misbehaving into a noticeable way, and these parts are (until the moment):

  • The Mastodon engine
  • The Structural Tubes
    • T-12
    • T-18
    • T-25
    • T-37
    • T-50

And probably more, as Add'Ons starts to use such feature.

The only workaround at the moment is to descale these parts before applying the variant and then scaling them again. Alternatively, just detach and reattach the misbehaving parts.

A proper fix is Work in Progress, and is expected to be released on 2.4.4.1.

Deprecating Patches

Support for all non Squad parts are on a deprecating status and will be definitively removed on TweakScale 2.5. The TweakScale Companion Program will be the source for supporting third-parties add'ons.

It's advised to install the needed Companions as they reach Gold status.

Sanity Checks

Parts using Firespitter's FSbuoyancy needs the latest TweakScale Companion for Firespitter, as only the Companion has the specific code that knows how to handle it.

Overrules

A overrule, as the name says, is a patch the overrules TweakScale (and anything else) in order to make things "broken" in a deterministic way.

A complete essay can be found here.

Hot Fixes

A Hot Fix is a hand crafted patch that fixes by brute force patching problems, forcing the original intended result for a given KSP installment. The difference from an overrule is that Hot Fixes don't break compatibility with sane installments, so you can start new savegames and share your crafts without worries.

A complete essay can be found here.

New Scaling Behaviour

A new TWEAKSCALEBEHAVIOUR, ModuleGeneratorExtended , is available for parts using ModuleGenerator that wants to scale the INPUT_RESOURCES too. This feature wasn't introduced directly into the ModuleGenerator's TWEAKSCALEEXPONENTS to prevent damage on Add'Ons (and savegames) that rely on the current behaviour (scaling only the output), as suddenly the resource consumption would increase on already stablished bases and crafts.

Just add the lines as the example below (the output resources scaling is still inherited from the default patch!).

@PART[my_resource_converter]:NEEDS[TweakScale]
{
    #@TWEAKSCALEBEHAVIOR[ModuleGeneratorExtended]/MODULE[TweakScale] { }
    %MODULE[TweakScale]
    {
        type = free
    }
}

WARNINGS

Keep an eye on the Known Issues file.

— — — — —

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.

The reasoning is to gradually distribute the Release to easily monitor the deployment and cope with eventual mishaps.

Edited by Lisias
All Distribution Channels are up to date.
Link to comment
Share on other sites

On 9/8/2021 at 6:57 AM, Lisias said:

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

Hey @Lisias, can you double-check the zip uploaded to SpaceDock for this release? I think you uploaded the one with the CurseForge layout (GameData contents directly at root of zip), instead of the other one (GameData contents inside GameData folder, also containing Extras and INSTALL.md) as for previous releases.

Link to comment
Share on other sites

2 hours ago, DasSkelett said:

Hey @Lisias, can you double-check the zip uploaded to SpaceDock for this release? I think you uploaded the one with the CurseForge layout (GameData contents directly at root of zip), instead of the other one (GameData contents inside GameData folder, also containing Extras and INSTALL.md) as for previous releases.

Close/Fixed. Sorry for the trouble!

Link to comment
Share on other sites

Dunno if it's Tweak Scale problem or Kerbal Contruction Time problem but with the latest Tweak Scale I can't leave VAB/SPH after adding a vessel to the building queue. I get this exception: 

[EXC 11:39:26.270] NullReferenceException: Object reference not set to an instance of an object
	ConfigNode.CopyToRecursive (ConfigNode node, System.Boolean overwrite) (at <cd473063d3a2482f8d93d388d0c95035>:0)
	ConfigNode.CopyToRecursive (ConfigNode node, System.Boolean overwrite) (at <cd473063d3a2482f8d93d388d0c95035>:0)
	ConfigNode.CopyToRecursive (ConfigNode node, System.Boolean overwrite) (at <cd473063d3a2482f8d93d388d0c95035>:0)
	ConfigNode.CopyTo (ConfigNode node) (at <cd473063d3a2482f8d93d388d0c95035>:0)
	KerbalConstructionTime.KCT_KSC.AsConfigNode () (at <27327b2825ca4e69a9d134bb5cd0383e>:0)
	KerbalConstructionTime.KerbalConstructionTimeData.OnSave (ConfigNode node) (at <27327b2825ca4e69a9d134bb5cd0383e>:0)
	ScenarioModule.Save (ConfigNode node) (at <cd473063d3a2482f8d93d388d0c95035>:0)
	ProtoScenarioModule..ctor (ScenarioModule module) (at <cd473063d3a2482f8d93d388d0c95035>:0)
	ScenarioRunner.UpdateModules () (at <cd473063d3a2482f8d93d388d0c95035>:0)
	ScenarioRunner.GetUpdatedProtoModules () (at <cd473063d3a2482f8d93d388d0c95035>:0)
	Game.Updated (GameScenes startSceneOverride) (at <cd473063d3a2482f8d93d388d0c95035>:0)
	GamePersistence.SaveGame (System.String saveFileName, System.String saveFolder, SaveMode saveMode, GameScenes startScene) (at <cd473063d3a2482f8d93d388d0c95035>:0)
	GamePersistence.SaveGame (System.String saveFileName, System.String saveFolder, SaveMode saveMode) (at <cd473063d3a2482f8d93d388d0c95035>:0)
	EditorLogic.onExitConfirm () (at <cd473063d3a2482f8d93d388d0c95035>:0)
	EditorLogic.onExitContinue () (at <cd473063d3a2482f8d93d388d0c95035>:0)
	EditorLogic.exitEditor () (at <cd473063d3a2482f8d93d388d0c95035>:0)
	UnityEngine.Events.InvokableCall.Invoke () (at <12e76cd50cc64cf19e759e981cb725af>:0)
	UnityEngine.Events.UnityEvent.Invoke () (at <12e76cd50cc64cf19e759e981cb725af>:0)
	UnityEngine.UI.Button.Press () (at <aa3a227ee8664797a8194ab8e2ed2249>:0)
	UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at <aa3a227ee8664797a8194ab8e2ed2249>:0)
	UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at <aa3a227ee8664797a8194ab8e2ed2249>:0)
	UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) (at <aa3a227ee8664797a8194ab8e2ed2249>:0)
	UnityEngine.DebugLogHandler:LogException(Exception, Object)
	ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
	UnityEngine.EventSystems.EventSystem:Update()

 Does this say anything to anyone? KCT seems to not like some change introduced in the latest Tweak Scale. 

Edited by JebIsDeadBaby
Link to comment
Share on other sites

47 minutes ago, JebIsDeadBaby said:

Dunno if it's Tweak Scale problem or Kerbal Contruction Time problem but with the latest Tweak Scale I can't leave VAB/SPH after adding a vessel to the building queue. I get this exception: 

 Does this say anything to anyone? KCT seems to not like some change introduced in the latest Tweak Scale. 

Please send me the full KSP.log so I can rule out any other 3rd party, but on a first glance the changes on the latest TS release caught KCT with its pants down. But I need to see exactly where it borked.

After sending me the KSP.log, rollback to 2.4.3.2 for while. I'm cooking the fix in the mean time.

— — POST EDIT — — 

I REALLY NEED your KSP.log. In full.

It's my understanding that the craft stunt is only applied while saving the craft on the Editor. The only situation I see where this can affect KCT is if it is calling TS's OnSave from inside the Editor, situation where TS will think it's being saved into a file...

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

Here ya go: https://ufile.io/n49g2cz6

Steps taken:

1. game launched with the current full mod setup

2. loaded my latest save

3. entered VAB

4. loaded one of my crafts

5. added the craft to KCT building queue by pressing LAUNCH

6. pressed EXIT (nothing happened as I said earlier)

7. ALT+F4

So the exception is literally at the very end of the log. I can't exit only if there is a vessel in the building queue. If I remove all vessels using KCT menu from the queue, I can again exit the VAB/SPH

Edited by JebIsDeadBaby
Link to comment
Share on other sites

10 minutes ago, JebIsDeadBaby said:

Here ya go: https://ufile.io/n49g2cz6

<…>

So the exception is literally on the very end of the log. I can't exit only if there is a vessel in the building queue. If I remove all vessels using KCT menu from the queue, I can again exit the VAB/SPH

Confirmed. The Exception always happens by clicking on the Launch Button (Green Button, Top-Right).

https://github.com/net-lisias-ksp/TweakScale/issues/201

Rolling back to 2.4.5.2 is a viable workaround - you will not lose anything, as this is the only feature implemented by 2.4.5.4 .

I'm studying the problem to see if I cook a solution that doesn't involves deactivating the feature by default.

Stay tuned!

Link to comment
Share on other sites

On 9/7/2021 at 9:57 PM, Lisias said:

Declutters craft files, preventing TweakScale MODULE nodes from being written on it when the part is not scaled or it's deactivated.

Thanks for the update. It's good to keep the craft files lean. I wish every part mod would do this.  

My present save file has "name = TweakScale" ... 2272 times and I probably scaled 1% of the parts. 

On 9/7/2021 at 9:57 PM, Lisias said:

Now your unscaled crafts can be shared on KerbalX et all without being tagged as using TweakScale.

I have never had this issue before. I just uploaded this spaceplane and it has TweakScale, Refunding, Simple Fuel Switch on every part but it still shows up as pure stock. So is it throwing exceptions when someone loads them without those mods? Nobody told me. But people don't comment much on KerbalX. There's about 1 comment per 1000 views. 

Link to comment
Share on other sites

21 minutes ago, Krazy1 said:

So is it throwing exceptions when someone loads them without those mods?

Yes. Everything you don't realise is in the background turns up as an exception when someone who doesn't have that mod tries to load it. Most mods that just add extra features like KIS or one of the Autopilot functions can be loaded past and then you just resave it when it turns up in the SPH. If tweakscale has been used you can get it to load but it will come out looking strange depending on what way tweakscale was used. A part from a mod the user doesn't have will stop it loading. Also it won't load models from later iterations of KSP, but if you know that there are no parts in the craft you don't have, you can open the craft file in a text editor and where it says version at the top you can edit it to match the iteration number you have. If you are just missing a small part you can also edit those out, but you must be sure to get both the part module and the link references. The best way is to use the edit drop down to "Find" the name of the part and then work your way down the file till you get all instances and fully remove them. Be careful you don't take out any brackets that belong to other part modules when you do this.

Edited by ColdJ
change earlier to later.
Link to comment
Share on other sites

5 hours ago, Krazy1 said:

I have never had this issue before. I just uploaded this spaceplane and it has TweakScale, Refunding, Simple Fuel Switch on every part but it still shows up as pure stock.

Do you know I never realised that? :D Essentially everything here or uses TweakScale, or doesn't have it installed at all… :sticktongue:

I always (or at least, as far as I remember - my first uploads surely didn't) had clean up vessels before updating (including when I have AtmosphereAutopilot installed, as it renames one of the stock modules).

The problem with that brute force approach is that Kerbal-X needs to know how TweakScale works in order to perceive when it's there and it's not being used - what will be a problem on the next interactions as new features will be created and will probably break some assumptions… So, by implementing these features before this one, I would break anyone relying on the current rules for realising if TweakScale is active && enabled or not...

 

5 hours ago, Krazy1 said:

So is it throwing exceptions when someone loads them without those mods? Nobody told me. But people don't comment much on KerbalX. There's about 1 comment per 1000 views. 

Not exactly. The UpgradePipeline thingy kicks in and fill the gaps before something would be caught with its pant's down.

Also, keep in mind that the absense of a module does not triggers any exception on loading time - that modules will just not be loaded.

 

4 hours ago, ColdJ said:

Yes. Everything you don't realise is in the background turns up as an exception when someone who doesn't have that mod tries to load it.

[Not exactly on the context at hands]. What triggers exceptions is mentioning modules not installed on the installment - not mentioning existing modules is essentially doing nothing, and nothing happens (what can be a problem when someone renames stock modules and then export the crafts).

[TweakScale does the second approach: it removes data from the Node in order to make it an empty node, a situation I know KSP handles fine for years already. I learnt that by inspecting tons and tons of craft and log files sent to me while doing support - there's a lot of config files around with empty nodes on the wild!]

 

 

4 hours ago, ColdJ said:

The best way is to use the edit drop down to "Find" the name of the part and then work your way down the file till you get all instances and fully remove them. Be careful you don't take out any brackets that belong to other part modules when you do this.

This is the tricky part - editing manually the craft file. I'm a developer, with years of experience on the field - and I was messing up something now and then before creating this feature earlier this year. What do say about the average user?

On the other hand… You gave me an idea, I wish we had this exchange before - I would had made the feature right at first try!

(Thanks for the rubber ducking!!)

Edited by Lisias
Fixing a misunderstanding on the quoting
Link to comment
Share on other sites

ANNOUNCE

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

  • Better compatibility with 3rd Party Add'Ons when Decluttering. 
  • Closes Issues:
    • #201 The Decluttering Feature from 2.5.4.4 is breaking KCT

See OP for the links.

— — — — —

This Release will be published using the following Schedule:

  • GitHub. Right Now.
  • CurseForge. Right now.
  • SpaceDock. Right now. (Done right this time!!!)

Begin a bugfix release, all Distribution Channels were updated at once.

Link to comment
Share on other sites

3 hours ago, Lisias said:

The problem with that brute force approach is that Kerbal-X needs to know how TweakScale works in order to perceive when it's there and it's not being used - what will be a problem on the next interactions as new features will be created and will probably break some assumptions…

Yeah... right. KerbalX had to ignore hundreds of lines of code in the craft file from several inactive mods to say it's "pure stock". I know it does (or did before) correctly declare TweakScale is needed when parts are tweaked. It's not simply calling everything pure stock. Well, ignorance is bliss for me! It's good to be a dumb rubber duckie :P  

Link to comment
Share on other sites

3 minutes ago, Krazy1 said:

Yeah... right. KerbalX had to ignore hundreds of lines of code in the craft file from several inactive mods to say it's "pure stock". I know it does (or did before) correctly declare TweakScale is needed when parts are tweaked. It's not simply calling everything pure stock. Well, ignorance is bliss for me! It's good to be a dumb rubber duckie :P  

Dude, I use that thing for almost 4 years, maintain TweakScale for more then 3, and I just realised they wrote logic to detect when TweakScale is default because  you told me. (You should had seen my face when it happened… :sticktongue:).

Selective Memory, Thinking Bias, you name it. Everyone of us are subject to these mishaps - and this is the reason rubber ducking works! :D 

Cheers (and thanks again, @JebIsDeadBaby@Krazy1and @ColdJ)!!

Link to comment
Share on other sites

I haven't used any Iteration of Tweakscale lately as I have been building and creating things that I wanted to be as pristine as possible, though I used to use it constantly to make very detailed models of planes. I had a thing when I first started putting craft on KerbalX where I would run the craft through a very vanilla version of KSP to try to clean it up before releasing it. But in the old version at least, If the craft had been created in a KSP that had Tweakscale installed, then even if I resaved it in a KSP that didn't, KerbalX would still show Tweakscale as mod used by the craft, even though nothing had been rescaled. I assume that this is something your work has fixed, but I haven't had the set up in months that would allow me to test if this has changed.

Edited by ColdJ
Link to comment
Share on other sites

7 hours ago, ColdJ said:

I haven't used any Iteration of Tweakscale lately as I have been building and creating things that I wanted to be as pristine as possible, though I used to use it constantly to make very detailed models of planes. I had a thing when I first started putting craft on KerbalX where I would run the craft through a very vanilla version of KSP to try to clean it up before releasing it. But in the old version at least, If the craft had been created in a KSP that had Tweakscale installed, then even if I resaved it in a KSP that didn't, KerbalX would still show Tweakscale as mod used by the craft, even though nothing had been rescaled. I assume that this is something your work has fixed, but I haven't had the set up in months that would allow me to test if this has changed.

Wanted to add more info to this type of scenario. I build my stock craft in my modded environment, and for release I launch a mostly-stock instance and upload it through the KX api. If a part has 'Tweakscale Enabled' in PAW but no changes are made, when you load this craft into an instance without TS, it seems to simply drop the Module and load the part as stock. This seems nominal because if you *do* change a scaling prior to reloading into stock, the module will remain in the craft file and it will not load in the stock instance.

Link to comment
Share on other sites

1 hour ago, JebIsDeadBaby said:

@Lisias Believe it or not but with 2.4.5.7 I still have the same problem and the very same exception. I can do fine with the previous version alright, so it's no biggie but I thought you may want to know. 

I can confirm this. Here's my KSP.log.

https://drive.google.com/file/d/1Gry2CR-nU7YwwdrDO4cIca5ZldKVOv-R/view?usp=sharing

Here's the exception that gets thrown when clicking the "Leave" button in the VAB:

[EXC 11:23:28.126] NullReferenceException: Object reference not set to an instance of an object
	ConfigNode.CopyToRecursive (ConfigNode node, System.Boolean overwrite) (at <cd473063d3a2482f8d93d388d0c95035>:0)
	ConfigNode.CopyToRecursive (ConfigNode node, System.Boolean overwrite) (at <cd473063d3a2482f8d93d388d0c95035>:0)
	ConfigNode.CopyToRecursive (ConfigNode node, System.Boolean overwrite) (at <cd473063d3a2482f8d93d388d0c95035>:0)
	ConfigNode.CopyTo (ConfigNode node) (at <cd473063d3a2482f8d93d388d0c95035>:0)
	KerbalConstructionTime.KCT_KSC.AsConfigNode () (at <27327b2825ca4e69a9d134bb5cd0383e>:0)
	KerbalConstructionTime.KerbalConstructionTimeData.OnSave (ConfigNode node) (at <27327b2825ca4e69a9d134bb5cd0383e>:0)
	ScenarioModule.Save (ConfigNode node) (at <cd473063d3a2482f8d93d388d0c95035>:0)
	ProtoScenarioModule..ctor (ScenarioModule module) (at <cd473063d3a2482f8d93d388d0c95035>:0)
	ScenarioRunner.UpdateModules () (at <cd473063d3a2482f8d93d388d0c95035>:0)
	ScenarioRunner.GetUpdatedProtoModules () (at <cd473063d3a2482f8d93d388d0c95035>:0)
	Game.Updated (GameScenes startSceneOverride) (at <cd473063d3a2482f8d93d388d0c95035>:0)
	GamePersistence.SaveGame (System.String saveFileName, System.String saveFolder, SaveMode saveMode, GameScenes startScene) (at <cd473063d3a2482f8d93d388d0c95035>:0)
	GamePersistence.SaveGame (System.String saveFileName, System.String saveFolder, SaveMode saveMode) (at <cd473063d3a2482f8d93d388d0c95035>:0)
	EditorLogic.onExitConfirm () (at <cd473063d3a2482f8d93d388d0c95035>:0)
	EditorLogic.onExitContinue () (at <cd473063d3a2482f8d93d388d0c95035>:0)
	EditorLogic.exitEditor () (at <cd473063d3a2482f8d93d388d0c95035>:0)
	UnityEngine.Events.InvokableCall.Invoke () (at <12e76cd50cc64cf19e759e981cb725af>:0)
	UnityEngine.Events.UnityEvent.Invoke () (at <12e76cd50cc64cf19e759e981cb725af>:0)
	UnityEngine.UI.Button.Press () (at <aa3a227ee8664797a8194ab8e2ed2249>:0)
	UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at <aa3a227ee8664797a8194ab8e2ed2249>:0)
	UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at <aa3a227ee8664797a8194ab8e2ed2249>:0)
	UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) (at <aa3a227ee8664797a8194ab8e2ed2249>:0)
	UnityEngine.DebugLogHandler:LogException(Exception, Object)
	ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
	UnityEngine.EventSystems.EventSystem:Update()

 

Link to comment
Share on other sites

1 hour ago, JebIsDeadBaby said:

@Lisias Believe it or not but with 2.4.5.7 I still have the same problem and the very same exception. I can do fine with the previous version alright, so it's no biggie but I thought you may want to know. 

:blush:

Oukey… This is not good - as I tested the damned thing here, and it apparently worked...

I must had messed up something...

 

9 minutes ago, jefferyharrell said:

I can confirm this. Here's my KSP.log.

https://drive.google.com/file/d/1Gry2CR-nU7YwwdrDO4cIca5ZldKVOv-R/view?usp=sharing

Here's the exception that gets thrown when clicking the "Leave" button in the VAB:

Thanks for the report. I will work on it ASAP.

— — — POST EDIT — — — 

I'm confused. It's working for me… :(

I made multiple tests, with new crafts, with old crafts renamed, with existing crafts changed but not save, with existing crafts changed and saved. I tried the Leave button, I tried the Switch Editor button. Not a single bork. :(

Inspecting your KSP.log, it must be some interaction with some 3rd Party Add'On...

 

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

1 hour ago, Lisias said:

Inspecting your KSP.log, it must be some interaction with some 3rd Party Add'On...

Here is my list from KSP.log, maybe it will help to narrow down the offending mod. We both must have it I guess:

Mod DLLs found:
Stock assembly: Assembly-CSharp v0.0.0.0
Scale_Redist v1.0.0.0 / v2.4.5.7
ModuleManager v4.2.1.0
ClickThroughBlocker v0.1.10.17
0Harmony v2.0.4.0
HarmonyInstallChecker v1.0.0.0
ToolbarControl v0.1.9.6
KSPe.Light.Recall v2.3.0.4
Attached v0.2.0.6
ChillingOut v0.2.0.6
Driftless v0.2.0.6
KSP-Recall v0.2.0.6
LetsStayTogether v0.2.0.4
Refunding v0.2.0.6
Resourceful v0.2.0.6
SolverEngines v3.3.0.0 / v3.10.0.0
AJE v2.18.0.0
Bureaucracy v1.0.0.0
CLSInterfaces v2.0.0.6
ConnectedLivingSpace v2.0.0.6
CrewQueueTwo v1.1.11.2
CustomBarnKit v1.1.21.0
DeadlyReentry v8.1.2.0
DecouplerShroud v1.0.0.0
DistantObject v2.0.3.0
DMagic v1.4.3.0 / vv1.4.3.0
DMModuleScienceAnimateGeneric v0.23.0.0
FlightTracker v1.0.0.0
EarnYourStripes v1.0.0.0
EngineLightRelit v1.6.3.0 / v1.0.0.0
FerramAerospaceResearch.Base v0.16.0.3
ModularFlightIntegrator v1.0.0.0 / v1.2.10.0
FerramAerospaceResearch v0.16.0.3
ferramGraph v1.3.0.0
Scale_Redist v1.0.0.0 / v2.4.5.7
Kopernicus.Parser v1.0.0.0
Kopernicus v1.0.0.0
MyRocksAreBiggerThanYours v1.0.0.0
SigmaTweakChutes v1.0.0.0
Sigma88LoadingScreens v0.4.0.0
KerbalChangelog v1.4.2.0
KerbalConstructionTime v1.4.11.0
KerbalismBootstrap v3.14.7846.20388 / v3.14
ICSharpCode.SharpZipLib v0.86.0.518 / v0.86.0
kOS v1.3.2.0
kOS.Safe v1.3.2.0
Kronometer v1.12.0.1
KSPRescueContractFix v1.1.0.0
MagiCore v1.3.2.3 / v1.0.0.0 / v1.3.1.0
MandatoryRCS v1.6.0.0
OhScrap v2.2.0.0 / v2.2.0.3
ProceduralFairings v6.0.0.0 / v6.1.0.0
RCSBuildAid v1.0.6.35359
RealChute v1.4.7845.29741 / v1.4.8.3
RealFuels v13.3.0.0 / v13.3.0
Restock v0.1.0.0
scatterer v0.772.0.0
ScrapYard v2.1.1.0
SmokeScreen v2.8.14.0
KSP_Log v0.1.1.7
ButtonManager v0.0.1.1
KSP_ColorPicker v0.1.0.4
KSP_PartHighlighter v0.1.0.9
SpaceTuxUtility v0.0.3.1
VesselModuleSave v0.0.1.2
Stock assembly: KSPSteamCtrlr v0.0.1.35
TextureReplacer v4.5.1.34170
KSPe.Light.TweakScale v2.3.0.4
Scale v2.4.5.7
KSP-AVC v0.0.0.1
ZeroMiniAVC v1.1.1.1

Folders and files in GameData:
000_ClickThroughBlocker
000_Harmony
001_ToolbarControl
999_KSP-Recall
AJE
Bureaucracy
CommunityResourcePack
ConnectedLivingSpace
CrewRandR
CustomBarnKit
DeadlyReentry
DecouplerShroud
DistantObject
DMagicOrbitalScience
DMagicScienceAnimate
EarnYourStripes
EngineLightRelit
FerramAerospaceResearch
FlightTracker
JNSQ
KerbalChangelog
KerbalConstructionTime
Kerbalism
KerbalismConfig
Kopernicus
kOS
Kronometer
KSPRescueContractFix
MagiCore
MandatoryRCS
ModularFlightIntegrator
OhScrap
ProceduralFairings
RCSBuildAid
RealChute
RealFuels
RealFuels-Stock
RealPlume
ReStock
ReStockPlus
scatterer
ScrapYard
SmokeScreen
SolverEngines
SpaceTuxLibrary
Stock folder: Squad

Stock folder: SquadExpansion

TextureReplacer
TweakScale
TweakScaleLimited
ZeroMiniAVC
999_Scale_Redist.dll
Custom_FARAeroData.cfg
ModuleManager.4.2.1.dll
ModuleManager.ConfigCache
ModuleManager.ConfigSHA
ModuleManager.Physics
ModuleManager.TechTree

 

Link to comment
Share on other sites

Humm… I reproduced it on my (almost clean) test bed. It appears to be related to having crafts on recovering state...

— — POST EDIT — — 

Nope. It appears that you have to have crafts on recovering state, and also crafts on the building list.

Edited by Lisias
post edit
Link to comment
Share on other sites

@JebIsDeadBaby, @jefferyharrell, @Krazy1,

There's a release candidate where (hopefully) I fixed (allegedly) for good this problem :

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

Could you please give this a try and tell me if it solves the problem for you guys? (it passed on every tested I could think of, but I'm slightly less inventive lately…)

— — POST EDIT — — 

Gory details of the stunt is here : https://github.com/net-lisias-ksp/TweakScale/issues/201

(not for the faint of heart)

Edited by Lisias
(not for the faint of heart)
Link to comment
Share on other sites

ANNOUNCE

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

  • Fixes (again) the Decluttering thingy.
  • Closes Issues:
    • #201 The Decluttering Feature from 2.4.5.4 is breaking KCT

See OP for the links.

— — — — —

This Release will be published using the following Schedule:

  • GitHub. Right Now.
  • CurseForge. Right Now.
  • SpaceDock. Right Now.

In on working hours, no time to do things without a rush (and I don't want to bork on SpaceDock again…)

Edited by Lisias
All distribution channels updated (for days already, I forgot to update this post)
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...