Jump to content

[1.11.2] B9PartSwitch v2.18.0 (March 17)


blowfish

Recommended Posts

B9PartSwitch v2.9.0 for KSP 1.7.3

  • Implement new switching UI based on the stock variant switcher
  • Have subtype switching buttons show some info about the subtype being switched to in a tooltip
    • By default shows resources (including parent), mass, cost, max temperature, max skin temperature, crash tolerance
    • Also shows descriptionSummary and descriptionDetail from subtype, before and after auto-generated info respectively, if present
  • 4 new fieds on SUBTYPE
    • descriptionSummary - any info here will be put in the subtype switching tooltip before the auto-generated info - make it brief
    • descriptionDetail - any info here will be put in the subtype switching tooltip after the auto-generated info - go nuts
    • primaryColor - color to use in the left part of the switching button
      • if not specified, use the tank type's primaryColor
      • if that's not specified, use white
    • secondaryColor - color to use in the right part of the switching button
      • if not specified, use the tank's secondaryColor
      • if that's not specified, use the subtype's primaryColor
      • if that's not specified, use the tank's primaryColor
      • if that's not specified, use gray
  • 2 new fields on B9_TANK_TYPE
    • primaryColor - color to use in the left part of the switching button i they subtype does not specify one. If not specified, common resource combinations will be used.
    • secondaryColor - color to use in the right part of the switching button i they subtype does not specify one. If not specified, common resource combinations will be used.
  • add default colors for common resources
    • ResourceColorLiquidFuel
    • ResourceColorLqdHydrogen
    • ResourceColorLqdMethane
    • ResourceColorOxidizer
    • ResourceColorMonoPropellant
    • ResourceColorXenonGas
    • ResourceColorElectricChargePrimary
    • ResourceColorElectricChareSecondary
    • ResourceColorOre
  • Automatically apply resource colors to common resource combinations in tanks (if colors are not specified by the tank or subtype):
    • LiquidFuel
    • LiquidFuel/Oxidizer
    • LqdHydrogen
    • LqdHydrogen/Oxidizer
    • LqdMethane
    • LqdMethane/Oxidizer
    • Oxidizer
    • MonoPropellant
    • XenonGas
    • Ore
    • ElectricCharge

 

 

Feel free to give any feedback about the new UI once you try it out

Link to comment
Share on other sites

The pics for the clicks! :D

Custom colors for tank types defined by myself and not B9PS.

// Some of the subtypes. Using XKCD color names. 
// Whole catalogue is in the B9PS GitHub wiki.
SUBTYPE
{
	name = LNH3
	tankType = RR_CryoA
	title = LqdAmmonia
	primaryColor = BurntRed
	secondaryColor = BurntRed
}
SUBTYPE
{
	name = LN2
	tankType = RR_CryoN
	title = LqdNitrogen
	primaryColor = PeacockBlue
	secondaryColor = PeacockBlue
}
SUBTYPE
{
	name = LOX
	tankType = RR_CryoO
	title = LqdOxygen
	primaryColor = CadetBlue
	secondaryColor = CadetBlue
}

CSkSREQ.jpg

L5bz9Fo.jpg

All custom tank types on the Ore tank, and most of their custom colors (as far as the PAW allows at a given time).

EK4u2ow.jpg

Heat tolerance switch. I haven't defined a custom color for that. B9 Part Info apparently shows only the relevant part stats in the switcher, which is quite okay.

hyfAJzm.jpg

Link to comment
Share on other sites

Just now, AlphaMensae said:

@blowfish

How does the auto-info work with subtypes that are not fuel related. i.e tanks and resources?  Like, say, my launch pad bases and towers with all their mesh variants? ;) Can the auto info be disabled or changed, as things like resources and temperatures don't matter with what I do. :D

 

From what I see, only the stats that will be changed by a particular switch module will show in the tooltips so if you never touch those, they'll never show.

Link to comment
Share on other sites

4 minutes ago, JadeOfMaar said:

From what I see, only the stats that will be changed by a particular switch module will show in the tooltips so if you never touch those, they'll never show.

Ah, that's good, as I only use B9PS for changing meshes, textures and nodes, I don't touch any other values. :)

This will probably make me switch to using this version for v2.1 (or v2.2) of MLP.

Link to comment
Share on other sites

58 minutes ago, AlphaMensae said:

Ah, that's good, as I only use B9PS for changing meshes, textures and nodes, I don't touch any other values. :)

This will probably make me switch to using this version for v2.1 (or v2.2) of MLP.

It's 100% backwards compatible.  As a modder you don't have to make any changes if you don't need to customize anything.  And as Jade said the automatic info in the tooltips will only show things that are actually changing.  If your switching meshes it will only display the subtype title.

Link to comment
Share on other sites

3 minutes ago, zer0Kerbal said:

query:

Can B9 update both a texture and a resource together? So like SSPXr or OSE Workshop? switch the resource in the container and it switches decal on it?

B9PartSwitch can update any number of things that it supports at once.

Link to comment
Share on other sites

4 minutes ago, blowfish said:

B9PartSwitch can update any number of things that it supports at once.

thought so. have everything working - just now trying to figure out how to link the textures in.

converting OSE Workshop to use B9 instead of FS (at least trying to)

all tanktypes are defined and working (need CommunityResourceKit)

here is what I currently have, and the old patches; your assistance would be greatly appreciated.

Spoiler

	MODULE
	{
		name = ModuleB9DisableTransform
		transform = DecalPanel

	 ///transform = OreDecal
	 /// All other decals here
		transform = MaterialKits
		transform = EMplusRM
		transform = RareMetals
		transform = ExoticMinerals
		transform = Dirt
	}

	MODULE
	{
		name = ModuleB9PartSwitch
		moduleID = cargoSwitch
		switcherDescription = Cargo Name
		baseVolume = 6000
		switchInFlight = True
		affectDragCubes = false
		SUBTYPE
		{
			name = MaterialKits
			tankType = MaterialKits
			title = Material Kits // #LOC_SSPX_Switcher_Cargo_LifeSupport
			transform = MaterialKitsDecal
		}
		SUBTYPE
		{
			name = EMplusRM
			tankType = EMplusRM
			title = EMplusRM // #LOC_SSPX_Switcher_Cargo_Snacks
			transform = EMplusRMDecal
		}
		SUBTYPE
		{
			name = RareMetals
			tankType = RareMetals
			title = Rare Metals // #LOC_SSPX_Switcher_Cargo_Soil
			transform = RareMetalsDecal
		}
		SUBTYPE
		{
			name = ExoticMinerals
			tankType = ExoticMinerals
			title = Exotic Minerals // #LOC_SSPX_Switcher_Cargo_Supplies
			transform = ExoticMineralsDecal
		}
		SUBTYPE
		{
			name = Dirt
			tankType = Dirt
			title = Dirt // #LOC_SSPX_Switcher_Cargo_MetallicOre
			transform = DirtDecal
		}
	}

	// MODULE
	// {
		// name = FStextureSwitch2
		// objectNames = DecalPanel
		// textureNames = Workshop/Decals/MaterialKits;Workshop/Decals/EMplusRM;Workshop/Decals/RareMetals;Workshop/Decals/ExoticMinerals;Workshop/Decals/Dirt
		// textureDisplayNames = Material Kits;Commodities;Rare Metals;Exotic Minerals;Dirt
		// repaintableEVA = true
		// useFuelSwitchModule = true
		// fuelTankSetups = 0;1;2;3;4
		// statusText = Storage Type
		// nextButtonText = Next Cargo
		// prevButtonText = Previous Cargo
	// }

	// MODULE
	// {
		// name = FSfuelSwitch
		// resourceNames = MaterialKits;ExoticMinerals,RareMetals;RareMetals;ExoticMinerals;Dirt
		// resourceAmounts = 6000;3000,3000;6000;6000;6000
		// initialResourceAmounts = 0;0,0;0;0;0
		// tankCost = 12000;900000;840000;960000;1800
		// basePartMass = 1
	    // tankMass = 0;0;0;0;0
		// hasGUI = false
	// }

 

 

Edited by zer0Kerbal
Link to comment
Share on other sites

37 minutes ago, zer0Kerbal said:

thought so. have everything working - just now trying to figure out how to link the textures in.

converting OSE Workshop to use B9 instead of FS (at least trying to)

all tanktypes are defined and working (need CommunityResourceKit)

here is what I currently have, and the old patches; your assistance would be greatly appreciated.

  Hide contents


	MODULE
	{
		name = ModuleB9DisableTransform
		transform = DecalPanel

	 ///transform = OreDecal
	 /// All other decals here
		transform = MaterialKits
		transform = EMplusRM
		transform = RareMetals
		transform = ExoticMinerals
		transform = Dirt
	}

	MODULE
	{
		name = ModuleB9PartSwitch
		moduleID = cargoSwitch
		switcherDescription = Cargo Name
		baseVolume = 6000
		switchInFlight = True
		affectDragCubes = false
		SUBTYPE
		{
			name = MaterialKits
			tankType = MaterialKits
			title = Material Kits // #LOC_SSPX_Switcher_Cargo_LifeSupport
			transform = MaterialKitsDecal
		}
		SUBTYPE
		{
			name = EMplusRM
			tankType = EMplusRM
			title = EMplusRM // #LOC_SSPX_Switcher_Cargo_Snacks
			transform = EMplusRMDecal
		}
		SUBTYPE
		{
			name = RareMetals
			tankType = RareMetals
			title = Rare Metals // #LOC_SSPX_Switcher_Cargo_Soil
			transform = RareMetalsDecal
		}
		SUBTYPE
		{
			name = ExoticMinerals
			tankType = ExoticMinerals
			title = Exotic Minerals // #LOC_SSPX_Switcher_Cargo_Supplies
			transform = ExoticMineralsDecal
		}
		SUBTYPE
		{
			name = Dirt
			tankType = Dirt
			title = Dirt // #LOC_SSPX_Switcher_Cargo_MetallicOre
			transform = DirtDecal
		}
	}

	// MODULE
	// {
		// name = FStextureSwitch2
		// objectNames = DecalPanel
		// textureNames = Workshop/Decals/MaterialKits;Workshop/Decals/EMplusRM;Workshop/Decals/RareMetals;Workshop/Decals/ExoticMinerals;Workshop/Decals/Dirt
		// textureDisplayNames = Material Kits;Commodities;Rare Metals;Exotic Minerals;Dirt
		// repaintableEVA = true
		// useFuelSwitchModule = true
		// fuelTankSetups = 0;1;2;3;4
		// statusText = Storage Type
		// nextButtonText = Next Cargo
		// prevButtonText = Previous Cargo
	// }

	// MODULE
	// {
		// name = FSfuelSwitch
		// resourceNames = MaterialKits;ExoticMinerals,RareMetals;RareMetals;ExoticMinerals;Dirt
		// resourceAmounts = 6000;3000,3000;6000;6000;6000
		// initialResourceAmounts = 0;0,0;0;0;0
		// tankCost = 12000;900000;840000;960000;1800
		// basePartMass = 1
	    // tankMass = 0;0;0;0;0
		// hasGUI = false
	// }

 

 

I'll give you one and you can infer the rest ;)

Spoiler

SUBTYPE
{
	name = MaterialKits
	tankType = MaterialKits
	title = Material Kits // #LOC_SSPX_Switcher_Cargo_LifeSupport
	transform = MaterialKitsDecal

	TEXTURE
	{
		texture = Workshop/Decals/MaterialKits
		transform = DecalPanel
	}
}

 

 

Link to comment
Share on other sites

1 hour ago, blowfish said:

I'll give you one and you can infer the rest ;)

  Hide contents


SUBTYPE
{
	name = MaterialKits
	tankType = MaterialKits
	title = Material Kits // #LOC_SSPX_Switcher_Cargo_LifeSupport
	transform = MaterialKitsDecal

	TEXTURE
	{
		texture = Workshop/Decals/MaterialKits
		transform = DecalPanel
	}
}

 

 

Thank you. Working like greased lightning now. :)

Appreciate the vote of confidence in my ability to infer. :P

had to change one thing (I had wrong details) - sample below:

Spoiler

    MODULE
    {
        name = ModuleB9PartSwitch
        moduleID = cargoSwitch
        switcherDescription = Cargo Name
        baseVolume = 6000
        switchInFlight = True
        affectDragCubes = false
        SUBTYPE
        {
            name = MaterialKits
            tankType = MaterialKits
            title = Material Kits // #LOC_WORKSHOP_Switcher_Cargo_MaterialKits
            transform = DecalPanel
            descriptionSummary = Material Kits
            descriptionDetail = Material Kits
            primaryColor = Black
            secondaryColor = Black
            TEXTURE
            {
                texture = Workshop/Decals/MaterialKits
                transform = DecalPanel
            }
        }
        SUBTYPE
        {
            name = EMplusRM
            tankType = EMplusRM
            title = Exotic/Rare Metals // #LOC_WORKSHOP_Switcher_Cargo_EMplusRM
            transform = DecalPanel
            descriptionSummary = Exotic/Rare Metals
            descriptionDetail = Exotic and Rare Metals
            primaryColor = Green
            secondaryColor = Black
            TEXTURE
            {
                texture = Workshop/Decals/EMplusRM
                transform = DecalPanel
            }
        }

B9 is great!

Edited by zer0Kerbal
Link to comment
Share on other sites

7 minutes ago, eeeeeeee said:

quick question about b9 aerospace_HX when i try to launcher KSP it needs to quit because  some sstx not found by b9partswitch or something like that any advice?

Read the "how to get support" link int my signature.  It will tell you how to find and upload KSP's log.  If I can read that I will be able to tell you what's wrong.  Most likely something is installed incorrectly.

Link to comment
Share on other sites

Yea i already read that it seemed to be installed correctly but it might be conflict from another addon but it might be because i had a gamedata in the the ksp gamdata containing the original b9 aerospace with b9 aerospace_HX possibly?

so i did some investigating and its conflict between another mod anyway to fix this im new

 

Link to comment
Share on other sites

36 minutes ago, Autolyzed Yeast Extract said:

I think it would be fair to mention that Community Resource Pack is required for this mod to not have fatal errors and link to its download.

Unless you have a specific mod that removes the requirements for CRP. :)

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