Jump to content

Of Kerbalisms and OctoSats


Recommended Posts

So, I've come across a curious hiccup in the logs of this ...

[LOG 20:13:42.805] [ModuleManager] Running post patch callbacks
[LOG 20:13:42.836] [ModuleManager] Calling SolverEngines.EngineDatabase.ModuleManagerPostLoad()
[LOG 20:13:42.848] [ModuleManager] Calling B9PartSwitch.B9TankSettings.ModuleManagerPostLoad()
[LOG 20:13:42.853] Generating field configuration for type B9PartSwitch.TankType
[LOG 20:13:42.862] Generating field configuration for type B9PartSwitch.TankResource
[LOG 20:13:42.863] B9TankSettings: registered tank type LiquidFuel
[LOG 20:13:42.863] B9TankSettings: registered tank type LFO
[LOG 20:13:42.863] B9TankSettings: registered tank type MonoPropellant
[LOG 20:13:42.864] B9TankSettings: registered tank type Battery
[LOG 20:13:42.864] B9TankSettings: registered tank type bdbSupplyOre
[LOG 20:13:42.864] B9TankSettings: registered tank type bdbSupplyWater
[LOG 20:13:42.864] B9TankSettings: registered tank type bdbSupplyOxygen
[LOG 20:13:42.864] B9TankSettings: registered tank type bdbSupplyHydrogen
[LOG 20:13:42.864] B9TankSettings: registered tank type bdbSupplyH2O2
[LOG 20:13:42.864] B9TankSettings: registered tank type bdbSupplyMaterialKits
[LOG 20:13:42.864] B9TankSettings: registered tank type bdbLH2
[LOG 20:13:42.864] B9TankSettings: registered tank type bdbLH2O
[LOG 20:13:42.864] B9TankSettings: registered tank type bdbLFOX
[LOG 20:13:42.864] B9TankSettings: registered tank type bdbBalloon
[LOG 20:13:42.864] B9TankSettings: registered tank type bdbBalloonLH2O
[LOG 20:13:42.864] B9TankSettings: registered tank type bdbMonoProp
[LOG 20:13:42.864] B9TankSettings: registered tank type bdbSkylabLH2O
[LOG 20:13:42.864] B9TankSettings: registered tank type bdbSkylabLFOX
[LOG 20:13:42.864] B9TankSettings: registered tank type bdbSkylabLab
[LOG 20:13:42.864] B9TankSettings: registered tank type FTPOxidizer
[LOG 20:13:42.864] B9TankSettings: registered tank type FTPLiquidFuel
[LOG 20:13:42.864] B9TankSettings: registered tank type FTPLFO
[LOG 20:13:42.864] B9TankSettings: registered tank type FTPMonoPropellant
[LOG 20:13:42.864] B9TankSettings: registered tank type FTPXenon
[LOG 20:13:42.864] B9TankSettings: registered tank type FTPOre
[LOG 20:13:42.957] B9TankSettings: registered tank type Food
[LOG 20:13:42.958] B9TankSettings: registered tank type Water
[LOG 20:13:42.958] B9TankSettings: registered tank type Supplies
[LOG 20:13:42.958] B9TankSettings: registered tank type Waste
[LOG 20:13:42.958] B9TankSettings: registered tank type WasteWater
[LOG 20:13:42.958] B9TankSettings: registered tank type Sewage
[LOG 20:13:42.958] B9TankSettings: registered tank type Oxygen
[LOG 20:13:42.958] B9TankSettings: registered tank type Nitrogen
[LOG 20:13:42.958] B9TankSettings: registered tank type Hydrogen
[LOG 20:13:42.958] B9TankSettings: registered tank type Ammonia
[LOG 20:13:42.958] B9TankSettings: registered tank type CarbonDioxide
[LOG 20:13:42.958] B9TankSettings: registered tank type XenonGas
[LOG 20:13:42.958] B9TankSettings: registered tank type Uraninite
[LOG 20:13:42.958] B9TankSettings: registered tank type KGExXenon
[LOG 20:13:42.958] B9TankSettings: registered tank type KGExArgon
[LOG 20:13:42.958] B9TankSettings: registered tank type KGExSupport
[LOG 20:13:42.958] B9TankSettings: registered tank type KGExOre
[LOG 20:13:42.958] B9TankSettings: registered tank type KGExH2Ow
[LOG 20:13:42.958] B9TankSettings: registered tank type KGExLiquidFuel
[LOG 20:13:42.958] B9TankSettings: registered tank type KGExOxidizer
[LOG 20:13:42.958] B9TankSettings: registered tank type KGExLFO
[LOG 20:13:42.959] B9TankSettings: registered tank type KGExMonoPropellant
[LOG 20:13:42.959] B9TankSettings: registered tank type KGExBattery
[LOG 20:13:42.959] B9TankSettings: registered tank type KGExRocketParts
[LOG 20:13:42.959] B9TankSettings: registered tank type Oxidizer
[ERR 20:13:42.959] B9TankSettings: The tank type XenonGas already exists

[LOG 20:13:42.959] B9TankSettings: registered tank type OX
[LOG 20:13:42.959] B9TankSettings: registered tank type RR_CryoA
[LOG 20:13:42.959] B9TankSettings: registered tank type RR_CryoC
[LOG 20:13:42.959] B9TankSettings: registered tank type RR_CryoH
[LOG 20:13:42.959] B9TankSettings: registered tank type RR_CryoHLOX
[LOG 20:13:42.959] B9TankSettings: registered tank type RR_CryoM
[LOG 20:13:42.959] B9TankSettings: registered tank type RR_CryoMLOX
[LOG 20:13:42.959] B9TankSettings: registered tank type RR_CryoN
[LOG 20:13:42.959] B9TankSettings: registered tank type RR_CryoO
[LOG 20:13:42.959] B9TankSettings: registered tank type RR_Ore
[LOG 20:13:42.959] B9TankSettings: registered tank type RR_MetalOre
[LOG 20:13:42.959] B9TankSettings: registered tank type RR_Metal
[LOG 20:13:42.959] B9TankSettings: registered tank type RR_Ammonia
[LOG 20:13:42.959] B9TankSettings: registered tank type RR_CarbonDioxide
[LOG 20:13:42.959] B9TankSettings: registered tank type RR_Hydrates
[LOG 20:13:42.959] B9TankSettings: registered tank type RR_Hydrogen
[LOG 20:13:42.959] B9TankSettings: registered tank type RR_Methane
[LOG 20:13:42.959] B9TankSettings: registered tank type RR_Nitrogen
[LOG 20:13:42.959] B9TankSettings: registered tank type RR_Oxygen
[LOG 20:13:42.959] B9TankSettings: registered tank type RR_Rock
[LOG 20:13:42.960] B9TankSettings: registered tank type RR_Water

The single error in it is ...
[ERR 20:13:42.959] B9TankSettings: The tank type XenonGas already exists

I've managed to track it down to a conflict between @Sir Mortimer Kerbalism and @linuxgurugamer OctoSat Continued.

If I understand MM correctly, it processes patches alpha-numerically.

So, Kerbalism's patch ...

\GameData\KerbalismConfig\Support\B9PartSwitch.cfg

B9_TANK_TYPE
{
	name = XenonGas
	tankMass = 0.00010627500
	tankCost = 0.25
  primaryColor = Manilla

	RESOURCE
	{
		name = XenonGas
		unitsPerVolume = 85
		// see https://www.cobham.com/mission-systems/composite-pressure-solutions/space-systems/xenon-propellant-tank-datasheet/
	}
}

... is being applied before NSSOcto's patch ...

C:\Games\Kerbal Space Program\KSPwin64-1.9.1\GameData\NSS\TextureSwitch\B9TankTypes.cfg

B9_TANK_TYPE
{
	name = XenonGas
	title =  #autoLOC_501003 //#autoLOC_501003 = Xenon Gas
	tankMass = 0.0005
	tankCost = 0.25

	RESOURCE
	{
		name = XenonGas
		unitsPerVolume = 15.7142
	}
}

... which is subsequently being thrown away.

 

So, the question is who to use and how?

Can we add :NEEDS[!####] to one or the other?

 

(I'll be dropping this thread in the respective addon threads.)

Link to comment
Share on other sites

5 hours ago, TranceaddicT said:

So, I've come across a curious hiccup in the logs of this ...

The single error in it is ...
[ERR 20:13:42.959] B9TankSettings: The tank type XenonGas already exists

....

(I'll be dropping this thread in the respective addon threads.)

The right place to complain is the B9 thread or maybe Kerbalism. B9 is the mod complaining and Kerbalism changes a lot of gameplay definitions other mods expect as standard..  I review my log to look for new problems whenever I update a mod and I have yet to see any ill effect from this "bug".  But I never used Kerbalism and never intend to.

This ERR really should be downgraded to a WRN messaage.  Duplicate definitions do not cause game crashes.  It might just cause a mod to not get the tank definition it's expecting, but most normal mods use CRP or "standard" definitions so duplicates are usually not different. Kerbalism is routinely the oddball and should figure out how to work with other mods without forcing uninterested mod authors to accommodate it.  I don't use Kerbalism, so the case where I see this are all benign duplicates with the same definition.  If this duplication causes problems for Kerbalism users it's really on Kerbalism's author to fix it.

Link to comment
Share on other sites

20 hours ago, Tonka Crash said:

The right place to complain is the B9 thread or maybe Kerbalism. B9 is the mod complaining and Kerbalism changes a lot of gameplay definitions other mods expect as standard..  I review my log to look for new problems whenever I update a mod and I have yet to see any ill effect from this "bug".  But I never used Kerbalism and never intend to.

This ERR really should be downgraded to a WRN messaage.  Duplicate definitions do not cause game crashes.  It might just cause a mod to not get the tank definition it's expecting, but most normal mods use CRP or "standard" definitions so duplicates are usually not different. Kerbalism is routinely the oddball and should figure out how to work with other mods without forcing uninterested mod authors to accommodate it.  I don't use Kerbalism, so the case where I see this are all benign duplicates with the same definition.  If this duplication causes problems for Kerbalism users it's really on Kerbalism's author to fix it.

Actually, no, B9 IS NOT the proper thread.  All B9 is doing is reporting that a tank which was previous defined is trying to be defined again.

The right place to bring this up is with the conflicting mods.

Yes, Kerbalism touches many areas.  AND?

I put this here AND dropped this thread in both Mod threads, so the authors could collaborate and have a work together.

Thanks for poo-pooing and poodleing about how need to comment on something you don't use and doesn't affect you.

21 hours ago, linuxgurugamer said:

I don’t support Kerbalism.  Kerbalism touches so many things i feel this needs to be fixed in that mod.

I will accept a tested PR, if you provide one.

I'm not asking for you to support it.

I'd like to understand why you and Sir Mortimer have the same tank definition for Xenon AND how we can make this work together/

Is there a logic behind these values you chose?

tankMass = 0.0005
unitsPerVolume = 15.7142

I don't know what or how these variables go into generating a database part.  To me, It looks like your tank weighs just under 5x that of Kerbalisms, but your gas is 5.5x less dense.  I think.

Link to comment
Share on other sites

5 hours ago, TranceaddicT said:

Thanks for poo-pooing and poodleing about how need to comment on something you don't use and doesn't affect you.

You don't like it, you can fix it.  I support over 200 mods, and don't have time to make changes I can't test.  Maybe you missed the second line I wrote, I'll repeat it here for you:

On 6/18/2020 at 8:00 AM, linuxgurugamer said:

I will accept a tested PR, if you provide one.

So.  since you think it is necessary (I'm not saying it isn't), then you can go ahead, make the change locally, TEST IT, and when tested, submit a PR.  So far all I've seen is a "I think".  Since it's quite possible that if this change was done in both mods that there would be problems, it has to be tested.  It's also possible that if it's in one and not the other, there could be problems based on which one it is in.  And I don't have time to test it.  You do.  

5 hours ago, TranceaddicT said:

I'm not asking for you to support it.

I'd like to understand why you and Sir Mortimer have the same tank definition for Xenon AND how we can make this work together/

Is there a logic behind these values you chose?


tankMass = 0.0005
unitsPerVolume = 15.7142

I don't know what or how these variables go into generating a database part.  To me, It looks like your tank weighs just under 5x that of Kerbalisms, but your gas is 5.5x less dense.  I think.

I didn't write this mod, I'm only supporting it.  Specifically, this mod uses the stock values for Xenon, so it seems that Kerbalism is changing it.  Ergo, it seems that Kerbalism is the one which needs to change.  I'm not about to change a mod which has been working for many years because another mod, which has also been working for years, seems to have a conflict.  The tank mass is a ratio of the fuel, using the basic formula which the game uses, which is based on liquid fuel, of 8 parts of fuel to one part mass, obviously updated for the Xenon density.  It's been a few years since I redid the tank volumes and masses, but I use the same formula for all.

Specifically about the tankMass, you are obviously using the B9 Part Switcher, since that is the only place where the tank mass is listed as that value.  B9 recalculates the tank mass at run time, there had to be something there to avoid a nullref, I put the smallest value in to avoid changing the actual tank mass at runtime in any significant way.

As Tonka Crash says:

On 6/18/2020 at 8:44 AM, Tonka Crash said:

 Kerbalism is routinely the oddball and should figure out how to work with other mods without forcing uninterested mod authors to accommodate i

 

 

Link to comment
Share on other sites

@linuxgurugamer  I talking at Tonka for poo-pooing.

I know you support a great many mods and I appreciate the effort it takes to adopt them without being briefed beforehand. 

I always help where I can and will do so here as well.

RE: part values.  Perfect, I can work with that.

Thank you.  I believe my skill level can handle the rest from here.

Don't fret about this any more; I'll contact you about this on GitHub soon.

Link to comment
Share on other sites

On 6/19/2020 at 5:37 AM, TranceaddicT said:

Thanks for poo-pooing and poodleing about how need to comment on something you don't use and doesn't affect you...

Dude, Kerbalism is a major mod that changes EVERYTHING. Its a support nightmare for modders.

Edited by KIMCHI
Link to comment
Share on other sites

  • 1 month later...

So, let me be clear: this brouhaha happens over one single error message in the log that doesn't even appear on screen and has no implication on gameplay except for tank masses / volumes being different. It's not the end of the world.

Unfortunately it cannot be helped from the Kerbalism side, except when adding :NEEDS[!NSS] to B9PartSwitch.cfg, which is not going to happen.

On 6/19/2020 at 4:48 PM, linuxgurugamer said:

As Tonka Crash says:

On 6/18/2020 at 2:44 PM, Tonka Crash said:

 Kerbalism is routinely the oddball and should figure out how to work with other mods without forcing uninterested mod authors to accommodate i

 

Ain't that the truth :P

This is why we don't expect other mods to support Kerbalism, it usually goes the other way. Kerbalism currently comes with configuration files for 78 other mods, some to add just a bit of comfort, others that butcher major parts of mod functionality when it needs to be done. We even discourage other mods to include Kerbalism specific configurations, because these will break whenever Kerbalism needs to change. Having those configurations as part of the Kerbalism distribution allows us to keep them in a working state. It is a lot of work, but it is better than "forcing uninterested mod authors to accomodate" as @Tonka Crash put it so eloquently.

If there is a problem let us know, and we will see what can be done about it. Unfortunately, in this case, there might not be anything that can be done. But as there are no implication on gameplay except for tank masses / volumes being different, it's not the end of the world.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

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