blowfish

[1.7.3] B9PartSwitch v2.10.0 (Aug 18) - module switching!!!

Recommended Posts

9 hours ago, blowfish said:

@linuxgurugamer each KSP version has a different file.  So that’s presumably the one pointed to from v2.3.2?

The idea is that it’ll tell you about updates that affect your KSP version.  Unfortunately it doesn’t handle the case that you upgrade KSP while leaving the mod on the old version (it will still look for updates on the old KSP version).  I’ve thought about ways to deal with this but haven’t come up with anything yet.

That's not the way the .version is supposed to be used.  There should be a single one, which can be checked to see if there are any newer updates.

I understand what you are doing, but as mentioned by @Wyzard, if you aren't maintaining older versions, I fail to see any reason for this.  It means that for your mods, the .version is useless for checking for newer updates, as in the case where KSP gets updated in place.  It essentially negates the reason that AVC checks the web for the latest version.

Now, if you were maintaining and releasing updates for older versions, then there would be some justification for it.

 

6 hours ago, Wyzard said:

For most mods, that works fine, but I tend to forget that B9PartSwitch is an exception, so I end up continuing to run an old version because I don't know it's been updated.

Unfortunately, not just B9, but B9 Animation Modules and the SimpleAdjustableFairings as well

Share this post


Link to post
Share on other sites
4 hours ago, linuxgurugamer said:

Unfortunately, not just B9, but B9 Animation Modules and the SimpleAdjustableFairings as well

You should probably check before saying things like this, because that is definitely not true.

I think my assumption when setting that system up was that I’d be releasing more frequently, but given the slowish pace of releases it does seem unlikely that someone would be on a previous version of KSP and not have the latest B9PartSwitch for that KSP version.

Honestly the way AVC works right now seems wrong to me.  It should be able to check against more than just the “latest” version.  But maybe using the wrong tool in the wrong way isn’t right either.

I’ll think about my options here, using AVC the way everyone else does is one, but I might also consider submitting changes to AVC to add what I feel like is the missing functionality

Share this post


Link to post
Share on other sites
7 hours ago, blowfish said:

You should probably check before saying things like this, because that is definitely not true.

I based my remarks on what I had seen in CKAN,  and it was a sleepless night, so I goofed, sorry.

Re. AVC, I am the current maintainer now :-)

 

Share this post


Link to post
Share on other sites

I keep getting a fatal error on 1.4.5 any ideas?

 

Here is the message from the log file:

 

[ERR 23:08:00.231] Module ModuleB9PartSwitch threw during OnLoad: B9PartSwitch.HandledFatalException: Fatal exception while attempting to load fields for B9PartSwitch.ModuleB9PartSwitch ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentOutOfRangeException: Argument is out of range.
Parameter name: index
  at System.Collections.Generic.List`1[B9PartSwitch.PartSubtype].get_Item (Int32 index) [0x00000] in <filename unknown>:0 
  at B9PartSwitch.ModuleB9PartSwitch.get_CurrentSubtype () [0x00000] in <filename unknown>:0 
  at B9PartSwitch.ModuleB9PartSwitch.get_CurrentSubtypeName () [0x00000] in <filename unknown>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0 
  at B9PartSwitch.Fishbones.FieldWrappers.PropertyWrapper.GetValue (System.Object subject) [0x00000] in <filename unknown>:0 
  at B9PartSwitch.Fishbones.NodeDataField.Load (.ConfigNode node, B9PartSwitch.Fishbones.Context.OperationContext context) [0x00000] in <filename unknown>:0 
  at B9PartSwitch.Fishbones.NodeDataList.Load (.ConfigNode node, B9PartSwitch.Fishbones.Context.OperationContext context) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at B9PartSwitch.FatalErrorHandler.HandleFatalError (B9PartSwitch.FatalException exception) [0x00000] in <filename unknown>:0 
  at B9PartSwitch.Fishbones.NodeDataList.Load (.ConfigNode node, B9PartSwitch.Fishbones.Context.OperationContext context) [0x00000] in <filename unknown>:0 
  at B9PartSwitch.Fishbones.NodeDataObjectExtensions.LoadFields (System.Object obj, .ConfigNode node, B9PartSwitch.Fishbones.Context.OperationContext context) [0x00000] in <filename unknown>:0 
  at B9PartSwitch.CustomPartModule.OnLoad (.ConfigNode node) [0x00000] in <filename unknown>:0 
  at PartModule.Load (.ConfigNode node) [0x00000] in <filename unknown>:0 
 

Share this post


Link to post
Share on other sites

I am still trying to figure out why I am getting the following error. I have reinstalled B9PartSwitch. I am also having difficulty tracking down 'Oxium'. Nevertheless, I will start breaking this down by reinstalling things and then applicable mods bit by bit until the error disappears.  Cheers....

**************

[ERR 16:38:00.363] [ModuleManager] Exception while calling B9PartSwitch.B9TankSettings.ModuleManagerPostLoad()

[EXC 16:38:00.364] PartResourceNotFoundException: No resource definition named 'Oxium' could be found
    B9PartSwitch.Fishbones.Parsers.PartResourceDefinitionValueParser.FindResourceDefinition (System.String name)
    B9PartSwitch.Fishbones.Parsers.ValueParser`1[T].Parse (System.String value)
    B9PartSwitch.Fishbones.NodeDataMappers.ValueScalarMapper.Load (System.Object& fieldValue, .ConfigNode node, B9PartSwitch.Fishbones.Context.OperationContext context)
    B9PartSwitch.Fishbones.NodeDataField.Load (.ConfigNode node, B9PartSwitch.Fishbones.Context.OperationContext context)
    B9PartSwitch.Fishbones.NodeDataList.Load (.ConfigNode node, B9PartSwitch.Fishbones.Context.OperationContext context)
    Rethrow as HandledFatalException: Fatal exception while attempting to load fields for B9PartSwitch.TankResource
    B9PartSwitch.FatalErrorHandler.HandleFatalError (B9PartSwitch.FatalException exception)
    B9PartSwitch.Fishbones.NodeDataList.Load (.ConfigNode node, B9PartSwitch.Fishbones.Context.OperationContext context)
    B9PartSwitch.Fishbones.NodeDataObjectExtensions.LoadFields (System.Object obj, .ConfigNode node, B9PartSwitch.Fishbones.Context.OperationContext context)
    B9PartSwitch.TankResource.Load (.ConfigNode node, B9PartSwitch.Fishbones.Context.OperationContext context)
    B9PartSwitch.Fishbones.Parsers.NodeObjectWrapper.Load (System.Object obj, .ConfigNode node, B9PartSwitch.Fishbones.Context.OperationContext context)
    B9PartSwitch.Fishbones.NodeDataMappers.NodeListMapper.Load (System.Object& fieldValue, .ConfigNode node, B9PartSwitch.Fishbones.Context.OperationContext context)
    B9PartSwitch.Fishbones.NodeDataField.Load (.ConfigNode node, B9PartSwitch.Fishbones.Context.OperationContext context)
    B9PartSwitch.Fishbones.NodeDataList.Load (.ConfigNode node, B9PartSwitch.Fishbones.Context.OperationContext context)
    Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture)
    System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters)
    ModuleManager.MMPatchLoader+<ProcessPatch>d__33.MoveNext ()
    UnityEngine.Logger:LogException(Exception)
    ModuleManager.Logging.UnityLogger:Exception(String, Exception)
    ModuleManager.Logging.ModLogger:Exception(String, Exception)
    ModuleManager.<ProcessPatch>d__33:MoveNext()
    UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

**************************

Share this post


Link to post
Share on other sites
1 hour ago, FuzzyG said:

I am still trying to figure out why I am getting the following error. I have reinstalled B9PartSwitch. I am also having difficulty tracking down 'Oxium'. Nevertheless, I will start breaking this down by reinstalling things and then applicable mods bit by bit until the error disappears.  Cheers....

Can you post you full log and ModuleManager.ConfigCache?  It has nothing to do with your install of B9PartSwitch.  It's some other mod trying to add that as a resource for switching but the resource has not been defined.

Edited by blowfish

Share this post


Link to post
Share on other sites
1 hour ago, FuzzyG said:

I am still trying to figure out why I am getting the following error. I have reinstalled B9PartSwitch. I am also having difficulty tracking down 'Oxium'. Nevertheless, I will start breaking this down by reinstalling things and then applicable mods bit by bit until the error disappears.  Cheers....

After some discussions, it sounds like you might have a mod installed without one of its dependencies.  Oxium is probably used by one of @JadeOfMaar's mods which would depend on Classic Stock where the resource is defined.

Share this post


Link to post
Share on other sites
38 minutes ago, blowfish said:

Can you post you full log and ModuleManager.ConfigCache?  It has nothing to do with your install of B9PartSwitch.  It's some other mod trying to add that as a resource for switching but the resource has not been defined.

where is the ModuleManager.ConfigCache located

16 minutes ago, blowfish said:

After some discussions, it sounds like you might have a mod installed without one of its dependencies.  Oxium is probably used by one of @JadeOfMaar's mods which would depend on Classic Stock where the resource is defined.

I was searching for which mod used that material. What is weird is that I only updated nine mods out of 213 (or so). I was trying to upload the outlogs as a zip file but am unable to find the 'add attachment' link...

8 minutes ago, FuzzyG said:

where is the ModuleManager.ConfigCache located

I was searching for which mod used that material. What is weird is that I only updated nine mods out of 213 (or so). I was trying to upload the outlogs as a zip file but am unable to find the 'add attachment' link...

https://www.dropbox.com/sh/g14v99ts5x7ensz/AADrA7TcCYARCZPnodTqXC-4a?dl=0

Let me know if you are unable to access it...

I just noticed that you mentioned Classic Stock, which is one of the mods I updated.... Will check there

 

G

Edited by FuzzyG
added more info

Share this post


Link to post
Share on other sites
1 minute ago, FuzzyG said:

I was searching for which mod used that material. What is weird is that I only updated nine mods out of 213 (or so). I was trying to upload the outlogs as a zip file but am unable to find the 'add attachment' link...

They're usually too big to attach anyway.  I recommend uploading to something like Google Drive, Dropbox, OneDrive, etc, sharing, and posting the links.

Share this post


Link to post
Share on other sites
3 minutes ago, blowfish said:

They're usually too big to attach anyway.  I recommend uploading to something like Google Drive, Dropbox, OneDrive, etc, sharing, and posting the links.

Yes, that is what I did through dropbox... I have had some output error logs reach over 3gigs. I really want to analyze these to the point where I can assist others... Been doing fairly well until this last one, which left me scratching my brain cells. 

D:\SteamLibrary\steamapps\common\Kerbal Space Program\GameData\WildBlueIndustries\ClassicStockResources\Templates\Storage\Oxium.txt

I will go through the .cfg files for Classic Stock to see if I can spot the problem

Share this post


Link to post
Share on other sites
31 minutes ago, FuzzyG said:

Yes, that is what I did through dropbox... I have had some output error logs reach over 3gigs. I really want to analyze these to the point where I can assist others... Been doing fairly well until this last one, which left me scratching my brain cells. 

D:\SteamLibrary\steamapps\common\Kerbal Space Program\GameData\WildBlueIndustries\ClassicStockResources\Templates\Storage\Oxium.txt

I will go through the .cfg files for Classic Stock to see if I can spot the problem

I checked against the latest Classic Stock Resources download: https://github.com/Angel-125/ClassicStockResources/releases

It seems like you might be missing a bunch of that mod.  The resource it's complaining about should be defined in GameData/WildBlueIndustries/ClassicStockResources/Templates/Storage/Oxium.cfg but that (and several other files) appear to not exist in your install.

Share this post


Link to post
Share on other sites
2 minutes ago, blowfish said:

I checked against the latest Classic Stock Resources download: https://github.com/Angel-125/ClassicStockResources/releases

It seems like you might be missing a bunch of that mod.  The resource it's complaining about should be defined in GameData/WildBlueIndustries/ClassicStockResources/Templates/Storage/Oxium.cfg but that (and several other files) appear to not exist in your install.

Okay, I also noticed that MM removed a bunch of stuff such as found in line 202648... 

[ModuleManager] Deleting root node in file OPT_Legacy/MM_Patches/Night node: @PART[b_cockpit]:NEEDS[Firespitter,!B9PartSwitch] as it can't satisfy its NEEDS

 

What's this all about ??

Share this post


Link to post
Share on other sites
2 minutes ago, FuzzyG said:

Okay, I also noticed that MM removed a bunch of stuff such as found in line 202648... 

[ModuleManager] Deleting root node in file OPT_Legacy/MM_Patches/Night node: @PART[b_cockpit]:NEEDS[Firespitter,!B9PartSwitch] as it can't satisfy its NEEDS

What's this all about ??

That's generally intended.  Some ModuleManager patches are only intended to apply with, or without certain mods present, so if those conditions aren't satisfied the patch is deleted.  Nothing to worry about.

Share this post


Link to post
Share on other sites

Did a count and found 2,306 "Deleting root node in file"

11 minutes ago, blowfish said:

That's generally intended.  Some ModuleManager patches are only intended to apply with, or without certain mods present, so if those conditions aren't satisfied the patch is deleted.  Nothing to worry about.

okay, but the B9PartSwitch is listed in quite a few of them... 

Share this post


Link to post
Share on other sites
1 minute ago, FuzzyG said:

Did a count and found 2,306 "Deleting root node in file"

My Realism Overhaul install from a little while back had almost 1000.  It's not that weird for a highly modded install, particularly where the mods have a lot of compatibility patches.

Share this post


Link to post
Share on other sites
8 hours ago, blowfish said:

I checked against the latest Classic Stock Resources download: https://github.com/Angel-125/ClassicStockResources/releases

It seems like you might be missing a bunch of that mod.  The resource it's complaining about should be defined in GameData/WildBlueIndustries/ClassicStockResources/Templates/Storage/Oxium.cfg but that (and several other files) appear to not exist in your install.

In the linked download for Classic Stock Resources the definition for Oxium has the filename extension .cfg.
In my install Oxium has the filename extension .txt.
As we know ModuleManager only processes files with the filename extension .cfg.

As to why or how the filename extensions get/got altered, that may be as a result of which PlayMode is being used.
There appears to be some technical difficulties (aka it seems to not be doing what we think it should be) with PlayMode.
See PathFinder thread.

In the mean time it may be worth inquiring which PlayMode a user is using. Classic Stock seems to work as intended. CRP is being odd.

Share this post


Link to post
Share on other sites

B9PartSwitch v2.4.0 for KSP 1.5

  • Recompile against KSP 1.5
  • Provide better context for fatal exceptions
  • A few incompatibilities that previously silently disabled functionality are now fatal errors
  • Add Spanish translation of built-in strings (thanks to @fitiales)
  • Fire onPartResourceListChange when changing resources

I don't think any of the new scenarios that trigger fatal exceptions were valid before, but please let me know if you run into something that seems to be triggering it when it shouldn't

Share this post


Link to post
Share on other sites

I too am getting a fatal error after a Ckan update of several files posted in the last few hours (as in they were not there 12 hours ago) 

B9Partswitch has encountered a Fatal Error and KSP needs to close. 

Fatal exception while loading fields on module ModuleB9PartSwitch on part Truss-Spinal-01

Ecxption while loading field subtypes on type B9PartSwitch ModulleB9PartSwitch 

Subtype has no name. 

 

The game continued to load all files and failed hard lockup  (not responding) at the main menu loading screen. 

Gonna take some time with over 100 mods in use to hunt this down. 

I will begin to dig into this when I defrost.   I am starting to see why there are purists who only play in a stock game. I used to think they were crazy.   Now I know why they do it.

   The number of mods used + updates done = amount of frustration you will suffer Squared.

Edited by JustAToy
Solved issue (at least as far as B9 is concerned I have reported it to Near Future Tech for investigation.

Share this post


Link to post
Share on other sites
On 10/16/2018 at 2:24 PM, JustAToy said:

I too am getting a fatal error after a Ckan update of several files posted in the last few hours (as in they were not there 12 hours ago) 

B9Partswitch has encountered a Fatal Error and KSP needs to close. 

Fatal exception while loading fields on module ModuleB9PartSwitch on part Truss-Spinal-01

Ecxption while loading field subtypes on type B9PartSwitch ModulleB9PartSwitch 

Subtype has no name. 

 

The game continued to load all files and failed hard lockup  (not responding) at the main menu loading screen. 

Gonna take some time with over 100 mods in use to hunt this down. 

I will begin to dig into this when I defrost.   I am starting to see why there are purists who only play in a stock game. I used to think they were crazy.   Now I know why they do it.

   The number of mods used + updates done = amount of frustration you will suffer Squared.

I had the same issue. So i checked the truss-spinal-01.cfg (in the near future construction folder) file and found there was no names in the file.

This is before (Note that all the "name =" lines are empty)

MODULE
    {
        name = ModuleB9PartSwitch
        moduleID = meshSwitch3
        switcherDescription = #LOC_NFConstruction_switcher_endcap_title1

        SUBTYPE
        {
            name = 
            title = #LOC_NFConstruction_switcher_endcap_variant1

            transform = TRUSSTOP
            transform = COLLIDERTOPA01
            transform = COLLIDERTOPA02
            transform = COLLIDERTOPA03
            transform = COLLIDERTOPA04
        }
        SUBTYPE
        {
            name = 
            title = #LOC_NFConstruction_switcher_endcap_variant2
            node = top02
            transform = TRUSSTOPSOLID
            transform = COLLIDERTOPB
            addedMass = 0.03
            addedCost = 75
        }
        SUBTYPE
        {
            name = 
            title = #LOC_NFConstruction_switcher_endcap_variant3
            transform = TRUSSTOPFRAME
            addedMass = -0.01
            addedCost = -25
        }

 

So I added names according to the other files like this

MODULE
    {
        name = ModuleB9PartSwitch
        moduleID = meshSwitch3
        switcherDescription = #LOC_NFConstruction_switcher_endcap_title1

        SUBTYPE
        {
            name = Basic
            title = #LOC_NFConstruction_switcher_endcap_variant1

            transform = TRUSSTOP
            transform = COLLIDERTOPA01
            transform = COLLIDERTOPA02
            transform = COLLIDERTOPA03
            transform = COLLIDERTOPA04
        }
        SUBTYPE
        {
            name = Solid
            title = #LOC_NFConstruction_switcher_endcap_variant2
            node = top02
            transform = TRUSSTOPSOLID
            transform = COLLIDERTOPB
            addedMass = 0.03
            addedCost = 75
        }
        SUBTYPE
        {
            name = None
            title = #LOC_NFConstruction_switcher_endcap_variant3
            transform = TRUSSTOPFRAME
            addedMass = -0.01
            addedCost = -25
        }

 

And now it loads without errors.

Edit: I have only tested this on 1.4.5

Edited by Pelken

Share this post


Link to post
Share on other sites
16 hours ago, JustAToy said:

I too am getting a fatal error after a Ckan update of several files posted in the last few hours (as in they were not there 12 hours ago) 

B9Partswitch has encountered a Fatal Error and KSP needs to close. 

Fatal exception while loading fields on module ModuleB9PartSwitch on part Truss-Spinal-01

Ecxption while loading field subtypes on type B9PartSwitch ModulleB9PartSwitch 

Subtype has no name. 

 

The game continued to load all files and failed hard lockup  (not responding) at the main menu loading screen. 

Gonna take some time with over 100 mods in use to hunt this down. 

I will begin to dig into this when I defrost.   I am starting to see why there are purists who only play in a stock game. I used to think they were crazy.   Now I know why they do it.

   The number of mods used + updates done = amount of frustration you will suffer Squared.

I hear you on problems with mods and trying to track it down. I am not getting any errors during loading but the game is now unplayable since upgrading to 1.5. Any craft I put on the launch pad now wobbles like it's made of jelly and sometimes parts like boosters acting like catfish and just fall off and explode. Friggin weird.  Seems like the game is not making sense of all the attachment points now. I don't have a clue how to fix this except for taking mods out one by one. Going to be a long day-week-month, I need some aspirin. Glad I still got 1.4.3 in case I can't get this working.

Edited by MikeO89

Share this post


Link to post
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.