Create an account to follow your favorite communities and start taking part in conversations.
r/KerbalAcademy
Posted by2 years ago
Archived
This thread is archived
New comments cannot be posted and votes cannot be cast
level 1
I don’t think it’s really fatal. I usually ignore them. Updates normally fix them.
Apologies the button usually says “OK” when it happens to me, not “Quit”.
level 2
How do I ignore them? It’s either play with that text box on the screen, or quit the game.
level 2
Yeah Ive never not had that b9 part switch failure lmao
level 2
B9 Fatal Error means «click me and close KSP.» What you’re describing are «B9 Serious Warning»
level 1
Open the ksp.log file, hit ctrl F search for fatal error. The log will tell you what part is causing the problem and why it is a problem
level 1
Check if there are any updates, you might have an old version of B9partswitch.
I’m not a genius about this mod so this is all I can give.
level 2
It’s the version for 1.10, which is what I play on. Guess I’ll have to go without, sucks since I lose all the near future and space station parts.
level 1
Download more mods it will fix itself
level 1
what did you update right before the error showed up? its almost always due to the change you made right before the error started happening. (this is true in general with computers, not just with Kerbal.)
level 2
I downloaded all my mods, loaded the game, and got the error. The only update regarding KSP I did, was changing the version back to 1.10 and verifying the game files.
level 1
I’m sorry off topic but is the mission builder a DLC or something? Maybe a new update? It’s been a bit since I played
level 1
Do what i do and ignore all the warnings telling me my game is about to implode, it never does
level 1
What mods do you have installed? Do you have any life support mods installed?
Mod authors generally prefer a mod list and a copy of the KSP log.
I’ll see what I can find out for you:
@WranglerOfTheTards27 I created a post for your issue on the KSP forums here.
Directions to get help with mods
level 1
I’d like to see your KSP.log, your Logs/ModuleManager/ModuleManager.log and your GameData/ModuleManager.ConfigCache (preferrably all in one zip). I’m sure I’ll spot the source of the error.
level 1
Hi! Thank you for posting to KerbalAcademy. This is a comment reminding users to post screenshots if needed (if you have not done so already), be respectful to other users and keep off-topic comments to a minimum. Thank you!
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
level 1
Try using the 1.11 version of B9PartSwitch with all the mods you intend to use. Coincidentally, I installed B9PartSwitch as a dependency for Near Future Solar, Near Future Spacecraft, and SSPEx all for 1.11 today and it worked like a charm even with ReStock, Waterfall and a smattering of other visual mods.
level 2
Does the 1.11 version work with 1.10? The main mods I have haven’t been updated to 1.11 yet.
About Community
Dedicated to the growth and advancement of amateur rocket scientists!
Содержание
- Issue with B9 Part Switch after updating another mod
- Question
- LeBOI
- LeBOI
- Fatal error — B9PartSwitch.TankType and .TankResource for LiquidFuel #217
- Comments
- Footer
Issue with B9 Part Switch after updating another mod
Asked by LeBOI,
May 13, 2022
Question
LeBOI
LeBOI
So i have a heavily modded install (190-ish mods) and they´ve worked fine for the most time, at least until a few days ago. I got an update for the mod «Kerbal Planetary Base Systems» (via CKAN ), and since then, when i try to load the game, about two thirds in the loading process (which takes about 45 mins), I get a little popup saying the following:
B9 Part Switch — Fatal error
B9 Part switch has encountered a fatal error and KSP needs to close.
Fatal exception while loading fields on module ModuleB9PartSwitch on part
exception while loading field subtypes on type B9Partswitch.moduleB9PartSwitch
Exception while loading fields on subtype PartSubtype GravioliumInstrument
Exception while loading field PrimaryColor on B9PartSwitch.PartSubtype
Could not value parse as color: Graviolium
Please See KSp´s logs for additional information
Quit
If i dont press quit, the game just normally loads and shows the usual start screen. I can play «resume game» without any problems, i think i could also load a savegame but i didnt try since i do not want to corrupt my files somehow.
This is my log file if anybody of you knows how to deal with this kinda stuff.
Источник
Fatal error — B9PartSwitch.TankType and .TankResource for LiquidFuel #217
I’m getting a strange fatal error thrown by this mod. I’ve tried all the trouble shooting I can to no avail. When I remove B9PartSwitch I can load the game, but adding it through CKAN causes the fatal exception. Running KSP 1.10.1 and all mods installed via CKAN. Log attached in the .zip file. Let me know if I need to attach anything else.
The text was updated successfully, but these errors were encountered:
I just found out you can export entire mod lists to .txt files. Attaching that as well just because.
Your GameData/Squad folder is missing things that the core game needs. Please reinstall it.
Your GameData/Squad folder is missing things that the core game needs. Please reinstall it.
Already tried that
The stock resources are missing from your install. This isn’t a B9PartSwitch issue, it’s just the only thing the complains loudly ranter than randomly breaking later in-game.
The stock resources are missing from your install. This isn’t a B9PartSwitch issue, it’s just the only thing the complains loudly ranter than randomly breaking later in-game.
Well I don’t know what happened but I gave reinstalling (re-re-install?) another shot. After re-re-installing this second time it seems to be working. Not sure what I did differently the first re-install attempt lol. Thanks for at least having proper error logging in your mods! And the quick response. No idea how you actually interpret those log files but its all greek to me.
© 2023 GitHub, Inc.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Источник
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Closed
ysu2 opened this issue
Apr 20, 2019
· 2 comments
Closed
B9 part switch serious warning
#142
ysu2 opened this issue
Apr 20, 2019
· 2 comments
Comments
I’m getting a bunch of warnings every time I start ksp. I’m not sure what this refers to, the error messages are rather cryptic to me. I’m using ckan to intall & manage modes.
windows 7 x64
ksp 1.7 (latest), and latest b9 part switch, installed by — I think — the near-future extensions as dependency.
Any help is appreciated.
It’s warning of configuration errors on various parts that use B9PartSwitch. These were all issues previously, the change is that it’s displaying the dialog with them rather than just dumping them to the log. These are all coming from Near Future Construction, I believe Nertea is working of fixing them. Until that happens you can just click through it though — it’s not like any of this was working before anyway. But if you install additional mods and see additional warnings it might be worth looking into them so that the respective mod authors can be alerted.
2 participants
На чтение 5 мин Обновлено 15.01.2023
Issue with B9 Part Switch after updating another mod
Asked by LeBOI,
May 13, 2022
Question
LeBOI
LeBOI
So i have a heavily modded install (190-ish mods) and they´ve worked fine for the most time, at least until a few days ago. I got an update for the mod «Kerbal Planetary Base Systems» (via CKAN ), and since then, when i try to load the game, about two thirds in the loading process (which takes about 45 mins), I get a little popup saying the following:
B9 Part Switch — Fatal error
B9 Part switch has encountered a fatal error and KSP needs to close.
Fatal exception while loading fields on module ModuleB9PartSwitch on part
exception while loading field subtypes on type B9Partswitch.moduleB9PartSwitch
Exception while loading fields on subtype PartSubtype GravioliumInstrument
Exception while loading field PrimaryColor on B9PartSwitch.PartSubtype
Could not value parse as color: Graviolium
Please See KSp´s logs for additional information
Quit
If i dont press quit, the game just normally loads and shows the usual start screen. I can play «resume game» without any problems, i think i could also load a savegame but i didnt try since i do not want to corrupt my files somehow.
This is my log file if anybody of you knows how to deal with this kinda stuff.
Источник
Crash with cubic strut and B9partswitch error
Asked by TonedMite133805,
March 30, 2019
Question
TonedMite133805
TonedMite133805
[LOG 19:01:04.798] ——————- initializing editor mode. ——————
[LOG 19:01:04.798] editor started
[LOG 19:01:04.803] Loading Depletion Nodes
[LOG 19:01:04.803] DepNodeCount: 0
[LOG 19:01:04.803] Loading Biome Nodes
[LOG 19:01:04.803] BiomeNodeCount: 0
[LOG 19:01:04.803] Loading Planet Nodes
[LOG 19:01:04.803] PlanetNodeCount: 0
[LOG 19:01:04.803] [ScenarioDestructibles]: Loading. 0 objects registered
[WRN 19:01:04.923] [RDTechTree]: No tech node found called Unresearcheable
[WRN 19:01:04.923] [RDTechTree]: No tech node found called Unresearcheable
[WRN 19:01:04.924] [RDTechTree]: No tech node found called Unresearcheable
[WRN 19:01:04.924] [RDTechTree]: No tech node found called Unresearcheable
[WRN 19:01:04.924] [RDTechTree]: No tech node found called Unresearcheable
[WRN 19:01:04.924] [RDTechTree]: No tech node found called Unresearcheable
[LOG 19:01:04.973] [Dynamic Battery Storage]: Settings: Started loading
[LOG 19:01:04.973] [Dynamic Battery Storage]: Settings: Couldn’t find settings file, using defaults
[LOG 19:01:04.973] [Dynamic Battery Storage]: Settings: Finished loading
[LOG 19:01:04.973] [Dynamic Battery Storage]: Settings: Started loading
[LOG 19:01:04.973] [Dynamic Battery Storage]: Settings: Couldn’t find settings file, using defaults
[LOG 19:01:04.973] [Dynamic Battery Storage]: Settings: Finished loading
[LOG 19:01:04.974] [Dynamic Battery Storage]: Settings: Started loading
[LOG 19:01:04.974] [Dynamic Battery Storage]: Settings: Couldn’t find settings file, using defaults
[LOG 19:01:04.974] [Dynamic Battery Storage]: Settings: Finished loading
[LOG 19:01:04.974] [Dynamic Battery Storage]: Settings: Started loading
[LOG 19:01:04.974] [Dynamic Battery Storage]: Settings: Couldn’t find settings file, using defaults
[LOG 19:01:04.974] [Dynamic Battery Storage]: Settings: Finished loading
[LOG 19:01:04.978] [Dynamic Battery Storage]: Settings: Started loading
[LOG 19:01:04.978] [Dynamic Battery Storage]: Settings: Couldn’t find settings file, using defaults
[LOG 19:01:04.978] [Dynamic Battery Storage]: Settings: Finished loading
[LOG 19:01:04.978] [Dynamic Battery Storage]: Settings: Started loading
[LOG 19:01:04.978] [Dynamic Battery Storage]: Settings: Couldn’t find settings file, using defaults
[LOG 19:01:04.978] [Dynamic Battery Storage]: Settings: Finished loading
[WRN 19:01:06.006] HighlightingSystem : Framebuffer depth data is not available and can’t be used to occlude highlighting. Highlighting occluders enabled.
[LOG 19:01:06.233] [Kerbalism] -> verbose: Radiation.Preprocess — particle-fitting ‘giant’.
[LOG 19:01:06.506] [UiApp] Awake: EngineersReport
[LOG 19:01:06.506] [UiApp] Awake: KSPedia
[LOG 19:01:06.506] [UiApp] Awake: DeltaVApp
[LOG 19:01:06.506] [ApplicationLauncher] OnSceneLoadedGUIReady: scene EDITOR ShouldBeVisible() True ShouldBeOnTop() False iIsPositionedAtTop False
[LOG 19:01:06.508] ScaleModList: listSize 41 maxListSize 1013
[LOG 19:01:06.518] [UIApp] OnDestroy: Contracts
[LOG 19:01:06.518] [UIApp] OnDestroy: Missions App
[LOG 19:01:06.788] [MessageSystem] Reposition 0.02 15285
[LOG 19:01:06.789] [GenericAppFrame] Reposition 0.02 15285
[LOG 19:01:06.789] [GenericAppFrame] Reposition 0.02 15285
[WRN 19:01:06.801] UIList: RemoveItem didn’t find any item to remove.
[LOG 19:01:06.972] [UIApp] Adding EngineersReport to Application Launcher
[LOG 19:01:06.973] ScaleModList: listSize 41 maxListSize 964
[LOG 19:01:06.988] [UIApp] Adding DeltaVApp to Application Launcher
[LOG 19:01:06.989] ScaleModList: listSize 41 maxListSize 923
[LOG 19:01:06.991] [GenericAppFrame] Reposition 0.21012 15291
[LOG 19:01:07.239] [GenericAppFrame] Reposition 0.25012 15292
[LOG 19:01:07.272] [UIApp] Adding KSPedia to Application Launcher
[LOG 19:01:07.274] ScaleModList: listSize 41 maxListSize 882
[LOG 19:01:07.404] [UIMasterController]: ShowUI
[LOG 19:01:25.157] [Kerbalism] -> verbose: Radiation.Preprocess — particle-fitting ‘irregular’.
[LOG 19:01:30.151] [Kerbalism] -> verbose: Radiation.Preprocess — particle-fitting ‘ionosphere’.
[LOG 19:01:31.752] [Kerbalism] -> verbose: Radiation.Preprocess — particle-fitting ‘surface’.
[LOG 19:01:33.706] [Kerbalism] -> verbose: Radiation.Preprocess — particle-fitting ‘metallic’.
[LOG 19:01:41.628] [Kerbalism] -> verbose: Radiation.Preprocess — particle-fitting ‘anomaly’.
[LOG 19:01:43.286] [Kerbalism] -> verbose: Radiation.Preprocess — particle-fitting ‘heliopause’.
[LOG 19:01:44.656] [Kerbalism] -> verbose: Radiation.Preprocess — particle-fitting completed in 52.991 seconds
[LOG 19:02:17.787] solarPanels4 added to ship — part count: 2
[LOG 19:02:17.792] solarPanels4 added to ship — part count: 3
[LOG 19:02:17.792] solarPanels4 added to ship — part count: 4
[LOG 19:02:17.792] solarPanels4 added to ship — part count: 5
[LOG 19:02:25.519] trussPiece1x added to ship — part count: 6
[LOG 19:02:27.187] deleting part trussPiece1x
[LOG 19:02:28.787] [Part truss-micro-02] [ModuleB9PartSwitch ‘meshSwitch’] Switched subtype to Cubic
[LOG 19:02:30.735] deleting part truss-micro-02
[WRN 19:02:32.879] DontDestroyOnLoad only work for root GameObjects or components on root GameObjects.
[EXC 19:02:32.885] Exception: Conflict found between ModuleB9PartSwitch (moduleID=’meshSwitch’) on part strutCube and ModuleB9PartSwitch (moduleID=’meshSwitch’) on part strutCube:
Two modules cannot both manage the part’s crashTolerance
B9PartSwitch.ModuleB9PartSwitch.CheckOtherSwitchers ()
B9PartSwitch.ModuleB9PartSwitch.Start ()
[EXC 19:02:32.885] Exception: Conflict found between ModuleB9PartSwitch (moduleID=’meshSwitch’) on part strutCube and ModuleB9PartSwitch (moduleID=’meshSwitch’) on part strutCube:
Two modules cannot both manage the part’s crashTolerance
B9PartSwitch.ModuleB9PartSwitch.CheckOtherSwitchers ()
B9PartSwitch.ModuleB9PartSwitch.Start ()
[LOG 19:03:13.670] [UIApp] OnDestroy: MessageSystem
[LOG 19:03:13.706] [UIApp] OnDestroy: EngineersReport
[LOG 19:03:13.711] [UIApp] OnDestroy: DeltaVApp
[LOG 19:03:13.748] [UIApp] OnDestroy: KSPedia
As far as I know, only happens with the one part (strutCube).
Edited March 31, 2019 by TonedMite133805
Additional Info
Источник
I’ve been changing my mu and cfg file for a week now to get a single piece, with left right indicator (or not) for the sensor type (ACC etc), without result I combined modulePartVariants with your module I have a functional version but the problem the texture of the indicator changed by the two modules, is not linked when B9 sets the texture to ACC, and I use the PartVariants module to switch to right or left part I find the original texture again :), but the sensor work and well controled by B9partSwitch.
I tested this version with two B9partSwitch modules the code :
// ---- Pitot tube by MASSET stephane WIP
// ---- GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007
// ---- If one day i try to program c+ module i do a real pitot function
// ---- Compiled with 1.12 partools
// ---- 13/01/2022 update with B9PartSwitch to choose sensor type
// ---- Added module variant part to switch left right sensor flag
// (B9PartSwich sensor not working with two modules)
//
PART
{
name = PitoTubeLat
module = Part
author = Masset stephane
//
scale = 1
rescaleFactor = 1
//
node_stack_bottom = 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0
node_attach = 0.0, -0.0025, 0.0, 0.0, -1.0, 0.0, 0
attachRules = 1,1,0,0,1
//
TechRequired = aerodynamicSystems
entryCost = 100
cost = 300
category = Science
subcategory = 0
title = #PitotNoseTitle_2
manufacturer = #PitotNoseManuc
description = #PitotNoseDesc
mass = 0.005
dragModelType = default
maximum_drag = 0.02
minimum_drag = 0.02
angularDrag = 1
crashTolerance = 10
maxTemp = 2000 // = 3000
explosionPotential = 0.1
bulkheadProfiles = size0, surf
thermalMassModifier = 2.0
emissiveConstant = 0.50
tags = #PitotNoseTag
// Part
MODEL
{
model = PlaneTool/Parts/Pitot/Assets/PitotNose_Lat
}
// ---- It's not the real function but it's a start ----
// Testing B9PartSwitch mod to change module functions
// test on ModuleEnviroSensor switch -> sensorType seem ok
// test on ModuleScienceExperiment switch -> experimentID not working
// switch sensor and indicator type
MODULE
{
name = ModuleB9PartSwitch
moduleID = Sensor
switcherDescription = #B9switchdesc_1
switchInFlight = False
uiGroupName = #B9UIgrp_1
uiGroupDisplayName = #B9UIDisplN_1
SUBTYPE
{
name = BlankS
title = #sensorBlank_1
primaryColor = Grey
secondaryColor = Grey
descriptionSummary = #sensorBlDescSum
descriptionDetail = #sensorBlDescDet
MODULE
{
IDENTIFIER
{
name = ModuleEnviroSensor
}
moduleActive = false
}
}
SUBTYPE
{
name = ACC
title = #sensorACC
primaryColor = DarkNavyBlue
secondaryColor = Grey
descriptionSummary = #autoLOC_500697
descriptionDetail = #autoLOC_500698
TEXTURE
{
texture = PlaneTool/Parts/Pitot/Assets/IndiceACC
baseTransform = FLAG
}
MODULE
{
IDENTIFIER
{
name = ModuleEnviroSensor
}
DATA
{
sensorType = ACC
}
}
}
SUBTYPE
{
name = PRES
title = #sensorPRES
primaryColor = CobaltBlue
secondaryColor = Grey
descriptionSummary = #autoLOC_500700
descriptionDetail = #autoLOC_500701
TEXTURE
{
texture = PlaneTool/Parts/Pitot/Assets/IndicePRES
baseTransform = FLAG
}
MODULE
{
IDENTIFIER
{
name = ModuleEnviroSensor
}
DATA
{
sensorType = PRES
}
}
}
SUBTYPE
{
name = GRAV
title = #sensorGRAV
primaryColor = BottleGreen
secondaryColor = Grey
descriptionSummary = #autoLOC_500703
descriptionDetail = #autoLOC_500704
TEXTURE
{
texture = PlaneTool/Parts/Pitot/Assets/IndiceGRAV
baseTransform = FLAG
}
MODULE
{
IDENTIFIER
{
name = ModuleEnviroSensor
}
DATA
{
sensorType = GRAV
}
}
}
SUBTYPE
{
name = TEMP
title = #sensorTEMP
primaryColor = BrickRed
secondaryColor = Grey
descriptionSummary = #autoLOC_500706
descriptionDetail = #autoLOC_500707
TEXTURE
{
texture = PlaneTool/Parts/Pitot/Assets/IndiceTEMP
baseTransform = FLAG
}
MODULE
{
IDENTIFIER
{
name = ModuleEnviroSensor
}
DATA
{
sensorType = TEMP
}
}
}
}
// switch side indicator
MODULE
{
name = ModuleB9PartSwitch
moduleID = Switch
switcherDescription = #B9switchdesc_2
switchInFlight = False
uiGroupName = #B9UIgrp_2
uiGroupDisplayName = #B9UIDisplN_2
SUBTYPE
{
name = BlankI
title = #sensorBlank_2
primaryColor = Grey
secondaryColor = Grey
descriptionSummary = #sensorBlDescSum
descriptionDetail = #sensorBlDescDet
TRANSFORM
{
name = IndicatorL
positionOffset = 0.05, 0.0, 0.0
}
TRANSFORM
{
name = IndicatorR
positionOffset = -0.05, 0.0, 0.0
}
}
SUBTYPE
{
name = LEFT
title = #PitotLEFT
primaryColor = #3f9b0b
secondaryColor = Grey
descriptionSummary = #PitotLEFT
descriptionDetail = #B9sideDescDet_1
TRANSFORM
{
name = IndicatorL
positionOffset = 0.05, 0.0, 0.0
}
TRANSFORM
{
name = IndicatorR
positionOffset = 0.0, 0.0, 0.0
}
}
SUBTYPE
{
name = RIGHT
title = #PitotRIGHT
primaryColor = #e50000
secondaryColor = Grey
descriptionSummary = #PitotRIGHT
descriptionDetail = #B9sideDescDet_2
TRANSFORM
{
name = IndicatorL
positionOffset = 0.0, 0.0, 0.0
}
TRANSFORM
{
name = IndicatorR
positionOffset = -0.05, 0.0, 0.0
}
}
}
// ---- MAIN sensor module ----
MODULE
{
name = ModuleEnviroSensor
// set by ModuleB9PartSwitch
sensorType = ACC
}
// ---- Emissive Anim for heat ----
MODULE
{
name = ModuleAnimateHeat
ThermalAnim = Pitot_Heat
}
// ---- Experiment (for all type ACC, PRES, GRAV, TEMP)
// ---- Not Functional
//
MODULE
{
name = ModuleCargoPart
stackableQuantity = 4
packedVolume = 1
}
}
//END FILE
In this form my texture work, but now i don’t have any module active in KSP, the first B9Partswith work well alone, but adding the
second module to switch left or right side indicator texture kill the sensor function.
I tried to include also in the second module the code for managing module (DATA, active no active etc) and every time i lose the sensor fonction.
tested this for example in second B9Partmodule :
SUBTYPE
{
name = LEFT
title = #PitotLEFT
primaryColor = #3f9b0b
secondaryColor = Grey
descriptionSummary = #PitotLEFT
descriptionDetail = #B9sideDescDet_1
TRANSFORM
{
name = IndicatorL
positionOffset = 0.05, 0.0, 0.0
}
TRANSFORM
{
name = IndicatorR
positionOffset = 0.0, 0.0, 0.0
}
MODULE
{
IDENTIFIER
{
name = ModuleEnviroSensor
}
moduleActive = true
}
}
not working no sensor active.
My other version works (combination of B9partswitch and moduleVariantparts) you just have to set the part to left or right first, and chose the type of sensor and change the texture indicator, but you must not change sides otherwise the texture returns to default, but once launched everything is ok the texture is displayed
Or else I only use one B9 module with 9 subtypes
Or two distinct part left and right.
I love this layout: one piece and nine possibilities, it was even possible to have the sensor without an indicator texture, too bad.
I will watch with the 9 nine options on a single line (only one module) the place taken and how the panel reacts.
I think this is the best solution.
steph
blowfishpro / b9partswitch
Goto Github
PK
View Code? Open in Web Editor
NEW
14.0
28.0
1.51 MB
A Kerbal Space Program plugin designed to implement switching of part meshes, resources, and nodes
License: GNU Lesser General Public License v3.0
C# 99.12%
Ruby 0.41%
Shell 0.21%
HTML 0.26%
b9partswitch’s Introduction
A Kerbal Space Program plugin designed to implement switching of part meshes, resources, and nodes
This mod will not change anything by itself, but is designed to be used by other mods to enable part subtype switching
Forum Thread
http://forum.kerbalspaceprogram.com/index.php?showtopic=140541
Requirements
- KSP version 1.12.3 (build 3173) is the only supported KSP version
- ModuleManager is required.
Installation
- Remove any previous installation of B9PartSwitch
- Make sure the latest version of ModuleManager is installed
- Copy the B9PartSwitch directory to your KSP GameData directory
Source
The source can be found at Github
License
This plugin is distributed under LGPL v3.0
Changelog
On the wiki
b9partswitch’s People
b9partswitch’s Issues
Resources sometimes change order
STR
- Have two adjacent subtypes sharing their second resource, e.g. LiquidFuel + Oxidizer and Liquid Hydrogen + Oxidizer
- Switch from one to the other
O
- Second resource will appear first
D
- Resource order is maintained
Explanation: The second resource already exists, so it is left alone, then the first resource is added to the end of the list, so it appears after
Stock style node jumping
In the stock 1.4 mesh switching, switches that change a node’s location rebuild the rocket to reconnect the nodes (instead of leaving them at the original offset). This functionality has been duplicated by DMagic for the Universal Storage plugin, and would be useful for B9 Part Switch.
Localize hard-coded strings
Hi, thank you for your KSP modding efforts. This is my favorite part switch mod and I would like to see localisation support in it.
KSP now supports many languages and, even if this plugin has not much text in it, it would be really nice to be able to translate it. So everyone can have a UI in their language without mixed words here
and there.
Thank you in advance (even if you are not interested in such a feature) and keep up the good work.
ModuleJettison no longer works with drag cube re-rendering
Steps to Reproduce
- Have a part with
ModuleJettison
affecting drag cubes andModuleB9PartSwitch
affecting drag cubes - Have a craft that has this part and a part attached to the
ModuleJettison
node (so that the jettison object will appear) - Load the craft in the flight scene
Observed
- Jettison object is missing
Desired
- Jettison object is present
Notes
- In KSP 1.4+,
ModuleJettison
now moves the jettison object to the attached part when the scene loads rather than when it detaches. This means that it cannot affect drag cubes if they are re-rendered, but also since it’s outside the part’s hierarchy, it won’t get duplicated for rendering drag cubes andAssumeDragCubePosition
will disable/enable the real one, causing it to get disabled. - Will have to re-architect the procedural drag cube implementation to handle this
Switch in flight — tanks should not be filled
Just getting around to playing with this feature — very nicely done.
One gripe. In the editor normal and expected behavior when switching types should be filling tanks (unless the type is specifically setup not to be filled), but in flight I can’t think of any scenario where filling tanks with a resource that was not already present is desirable. This is basically a cheat since tanks can be refilled by switching. I realize I could avoid this by defining the tank types to be empty by default, but that would leave the user with the annoyance of having to manually fill tanks in the editor.
Nodes occasionally disappear when they’re not supposed to
Texture switches are reset when procedural drag cubes are rendered
In the editor, rendering drag cubes for a part or any part above it in the hierarchy will cause its texture switches to get reset. It doesn’t change the subtype, and switching to a different subtype and back corrects it.
Reason is that we reset texture switches before the part is cloned, and the part is cloned to produce drag cubes. When the part is cloned normally in the editor, KSP calls OnCopy
which then tells the original to re-apply its texture switches, but this doesn’t happen when rendering drag cubes.
Mod does not load AT ALL
So I noticed that the actual mod doesn’t work AT ALL…
From what i saw in the logs, despite the fact it was in the GameData folder, it did not load at all, as if it didn’t exist…
KSP.log.txt
Catastrophic failure when a B9_TANK_TYPE contains an invalid resource
Easy to reproduce. Create a B9_TANK_TYPE with a resource that does not exist and start KSP. The first exception is thrown at B9PartSwitch.B9TankSettings.ModuleManagerPostLoad()
and there after every part containing a ModuleB9PartSwitch fails to load with System.InvalidOperationException: The tank definitions have not been loaded yet (done after game database load). Perhaps ModuleManager is missing or out of date?
.
I’m hesitant to call this a bug, better to make the game unplayable and force the problem to be fixed, however when the parts fail to load any vessels inflight containing those parts are unloaded potentially ruining a save game. Perhaps it could fail a bit more gracefully. Users commonly overlook dependencies which may contain the needed resource definitions when installing mods.
Investigate Tweakscale support
May or may not be possible
Rebalance default MonoPropellant tank resource based on build 1203 changes
Having ModuleB9PartSwitch on root part messes things up
STR
- Launch a new vessel with root part having ModuleB9PartSwitch
- Exit to space center
- Return to new vessel
Physics now break and the ModuleB9PartSwitch has no subtypes.
Will have to investigate if root parts are loaded differently.
Current workaround: use something else as the root part.
«Serious Warning» on startup — «Subtype has no name: PartSubtype»
When launching the game, I get this warning:
The game does seem to function fine after loading, however.
Relevant portion of the log file:
PartLoader: Compiling Part ‘NearFutureConstruction/Parts/Truss/truss-spinal/truss-spinal-01/truss-spinal-01’
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
DontDestroyOnLoad only work for root GameObjects or components on root GameObjects.
(Filename: Line: 481)
Warning on PartSubtype: Subtype has no name
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
Warning on PartSubtype: Subtype has no name
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
Warning on PartSubtype: Subtype has no name
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
DontDestroyOnLoad only work for root GameObjects or components on root GameObjects.
(Filename: Line: 481)
[ERROR] [Part truss-spinal-01] [ModuleB9PartSwitch ‘meshSwitch3’] Duplicate subtype names detected: System.String[]
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
Warning on PartSubtype: Subtype has no name
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
Warning on PartSubtype: Subtype has no name
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
Warning on PartSubtype: Subtype has no name
I can provide the full log if you want it, should I also bring this up with NearFutureConstuction?
Clean up CustomPartModule
It can probably be removed entirely by putting the code in different places
Clean up components during copy operation
When list is cleared, clean up components with same gameObject as parent. Also remove ScriptableObject instances if copy flag is set.
Switching ‘Ladder’ transforms results in undesired collider behaviour in the VAB/SPH
While using a ladder transform/collider as a switcher target works very well in the flight scene, in the VAB the colliders used to specify the ladder become collidable and affect surface attachment.
Repro steps:
- Install SSPX Redux (https://github.com/ChrisAdderley/StationPartsExpansionRedux)
- Enter VAB
- Create a PXL-1 ‘Hostel’ Habitation Module
- Select a surface attachable part and notice it attaching to ladder colliders located along the EVA rails. Notice it not being affected by the ladder collider near the main airlock.
Switching in flight
Need to come up with a UI to warn when dumping resources
Some way for one switcher to «disable» another
Requested by @ChrisAdderley
- Mass and cost are zero, no resources added
- What to do with transforms and nodes? Treat them all as disabled? If so, no other module would be able to force them to be enabled.
Advanced tweakables option
It would be useful to have an option in the module to hide the switcher behind the Advanced Tweakables mode.
This would facilitate complex multi switcher setups and reduce PAW clutter.
Preload type configurations
It doesn’t take much time to begin with, but nice to have them all loaded first, rather than when the first object of that type needs to load
Get rid of interitance between ValueParseMap and DefaultValueParseMap
ValueParseMap
may not even be necessary
Clear log entry for B9PS fatal errors
It’s well known to me by now that B9PS crashes when it determines that it’s attempting to assign subtypes to any ModuleB9PartSwitch before the associated tank type exists (in which case, B9PS finds itself adding a null or otherwise invalid subtype). My humble request is for an indication of at least:
- The subtype being parsed at that point
- The part config being read at the moment
Currently, KSP.log is dumped on with a load of 🐟 bones lol
Investigate module switching
This is risky but potentially incredibly useful. As far as I can tell there are two patterns
- Module exists and we just want to switch some data but not ever remove it
- Module exists for some subtypes but not for others (and maybe we also want to switch some data).
Removing PartModule at runtime causes index mismatching
Removing modules (ModuleB9PartInfo for example) causes index mismatch errors if another module occupies the missing module’s indexed location. (anything after the missing module is shifted upwards).
When it appears in the prefab but is missing in flight mode, KSP tries to compensate by relocating the loaded modules to another location but this can be disastrous if there was more than one module by that name (multiple generator modules for example. KSP sees that the loaded module occupies a spot that MB9PI occupied in the prefab so it looks for a slot with an identically named module and loads into the first eligible slot that it finds)
If there IS more than one module by that name then they end up getting the wrong data loaded in.
So as an alternative to removing modules outright, how about just disabling it? You can save someone maybe five days worth of troubleshooting…..
Render drag cubes when part is loaded
Add animation support
Drag cube currently only rendered for initial state, so animating meshes won’t work with stock aero
TweakScale interaction broke
Support for changing stack symmetry
It would be useful to change the stackSymmetry
parameter when using different Subtypes, a PART
-level variable which defines the symmetry number that is used when stack attaching to a part.
This would allow better functionality for symmetric engine clusters with variable node counts, which currently must be set to the lowest common denominator of all available variants for symmetry to work even partially.
Missing value breaks parsing of .version file
The current download has:
"KSP_VERSION" : { "MAJOR" : 1, "MINOR" : 5, "PATCH" : }
PATCH is missing. This causes an error if you try to parse it:
Unexpected character encountered while parsing value: }. Path ‘KSP_VERSION.PATCH’, line 18, position 2.
Track subtype by name, not just index
Useful to be able to re-order subtypes without breaking craft. Determining the subtype would go like this:
- If name is present, find subtype with that name
- If name is blank or invalid, fall back to index
- If index is invalid, set to zero.
Index would be something like -1 to begin with.
Should also add a uniqueness constraint on subtype names.
Better error handling when tank type does not exist
Currently it throws exceptions and messes with other stuff
Add info module
Useful to see part’s current info:
- Current mass, wet and dry
- Only display if a subtype has tank types or changes mass
- Don’t differentiate wet/dry if no tanks
- Current cost, same as above
maxTemp
, if managed by any moduleskinMaxTemp
, if managed by any modulecrashTolerance
, if managed by any module
Attach node moving should respect scale, rescaleFactor, and tweakscale scaling
Need to multiply the position by the scale factor
Hang at the VAB and crash at startup
I’ve originally posted bugs on KSP bugtracker, but then realized that the only mod that causes this issue is B9PartSwitch (with many configurations of mods adding B9PartSwitch causes bugs, removing it makes KSP run perfectly).
There are logs, sampling, used mods and other info:
http://bugs.kerbalspaceprogram.com/issues/9721
http://bugs.kerbalspaceprogram.com/issues/9725
This reproduces on OSX (all info is in those invalid bugreports for vanilla KSP).
If you need more info, ask me.
ResourceUnitCost not correctly calculated
It needs to take into account the unitsPerVolume of each resource as well, so line 61 should be:
public float ResourceUnitCost => resources.Sum(r => (r.resourceDefinition.unitCost) * (r.unitsPerVolume) );
Add configuration property for the number of steps in a tank’s UI slider
In some situations it would be very handy to have a greater degree of precision when adjusting the amount of resources in a tank while working in the VAB/SPH. Right now the increments are (IIRC) 1/6th the tank’s volume, which is particularly problematic when trying to adjust the mass of heavier tanks.
Two examples where this would be useful:
- Balancing the mass of asymmetrical vehicles, such as a Space Shuttle.
- Ballast parts, which could be used to keep large vehicles stable at a desired angle during reentry, or as a mass simulator to test the performance of launch vehicles.
The latter example is of particular interest to me, as I’ve been working on a set of mass simulator parts. The initial version is nearly ready to go, but without the ability to fine-tune the mass, they’re not of much use. I’m already using this mod since it allows switching between different ballast materials, and also displays the exact mass of the parts via ModuleB9PartInfo.
I don’t know any C#, otherwise I’d make a pull request. Looking at the official API documentation, it seems like this might be possible to implement using the stepIncrement
property of UI_FloatRange
, though I’m pretty far out of my element here.
Texture switching
Refactor subtype switching to put more logic in subtype
When switching (i.e. from UI), old subtype should just be given a message to deactivate. It will deactivate transforms and nodes and remove resources.
New subtype will be given a similar method to activate.
First time subtype setup will be similar to current methods. Switcher module should probably still hold logic for removing managed but not active resources.
This should fix #22
Attach node orientation is wrong
When switching back to the default attach node, the orientation read from the prefab is wrong
Hopefully remove hack for vessel.mapObject after bug is fixed in KSP
Issue reported, we’ll see if it gets fixed
Does changing a resource’s amount/maxAmount also require simulation resources to change?
Might be breaking the delta-v simulator as it is.
Get part icon to display correctly
Currently displays all meshes
Allow one module to add volume to another
Keeps number of subtypes down on many switchers, aids ease-of-use
Current thinking: each child module registers itself to the «parent» to which it adds volume. Subtype changes on the child trigger a volume update on the parent.
Things to consider
- The parent shouldn’t really create any resources until all the children are initialized. Likely move resource creation/whatever to
Start()
so thatOnStart()
will be run on all modules first - Each subtype should have a new
volumeAddedToParent
field that specifies the volume it adds to the parent (different from its actual volume) - Volume update trigger: either keep track of parent and send method directly, or use part message
Allow certain subtypes to be locked behind tech upgrades
Should probably be tied to upgrade nodes
Maybe look into what can happen if the user tries to load a craft with subtypes that aren’t unlocked
Change EC value in Battery default tank type
.. from 2000—>20
Move to strict attach node finding
It currently does a fuzzy match. This causes some issues.
Resource names in part info should use display name
Here:
outStr += $»n <color=#99ff00ff>- {resource.ResourceName}</color>: {resource.unitsPerVolume * subtype.TotalVolume :F1}«; |
Identified based on discussion in #78
Log warning with only one subtype
Should I be concerned about this?
[WRN 19:53:49.699] [WARNING] [Part bluedog.Apollo.AARDV.Cargo] [ModuleB9PartSwitch 'cargoSwitch'] Only one subtype found, this may lead to unexpected behavior
We use Ore as a placeholder to define the volume on cargo parts. What gets added to the SUBTYPE’s depends on what life support mods are installed, if any are.
Eliminate duplicate subtype index fields
Can get the previous subtype using the previous value passed when updating. Symmetry can use a special method.
Support modifying of ModuleFuelTanks volume
Very long term, somewhat limited use cases but potentially useful and probably not too hard to implement.
Only one module would be able to do this of course.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.