Jump to content

[1.8.x-1.12.x] Module Manager 4.2.3 (July 03th 2023) - Fireworks season


sarbian

Recommended Posts

22 hours ago, sarbian said:

Do you have msi afterburner or a similar overlay? With the last windows update it can crash some DX9 apps 

Dude. :)

Thanks a million! MSI Afterburner interferes with 'PartDatabase.cfg' regeneration.

For posterity: MSI can can be used without incident; but can cause crashes if you are modifying your part list. 

 

Thanks for the help. Y'all are legends. Really appreciate the mods you create. 

Link to comment
Share on other sites

I'm trying to modify an engine in BDB that has 2 ModuleEnginesFX.

The part Config:

PART
{
	name = bluedog_LR91_5
	module = Part
	author = CobaltWolf & Jso
	MODEL
	{
		model = Bluedog_DB/Parts/Titan/bluedog_LR91_5
	}
	scale = 1
	rescaleFactor = 1
	node_stack_top = 0.0, 0.60749, 0.0, 0.0, 1.0, 0.0, 2
	node_stack_bottom = 0.0, -0.9167, 0.0, 0.0, -1.0, 0.0, 2
	TechRequired = advRocketry
	entryCost = 4000
	cost = 1150
	category = Engine
	subcategory = 0
	title = Prometheus LR9107-167 "Lelantos" Liquid Engine
	manufacturer = Bluedog Design Bureau
	description = Powerful 1.875m second stage engine for the Prometheus-II rocket. Upgraded with the ability to gimbal although a single vernier remains for roll control.
	real_title = LR91-AJ5
	real_manufacturer = Aerojet
	real_description = Powerful 1.875m second stage engine for the Titan-II rocket. As with the LR87, the LR91 was successfully converted from a kerolox burning engine to one that ran on storable hypergolic propellants. This engine can gimbal although a single vernier is still used for roll control.
	attachRules = 1,0,1,0,0
	mass = 0.53 //25% thrust scaling, previously used 37.5% //0.8
	heatConductivity = 0.06 // half default
	skinInternalConductionMult = 4.0
	emissiveConstant = 0.8 // engine nozzles are good at radiating.
	dragModelType = default
	maximum_drag = 0.2
	minimum_drag = 0.2
	angularDrag = 2
	crashTolerance = 7
	maxTemp = 2000 // = 3600
	bulkheadProfiles = size1p5
	breakingForce = 112
	breakingTorque = 112

	tags = ?sm68 lr91 aj5 titan prometheus ii 2 engine 1875 1.875

	EFFECTS
	{
		running_engine
		{
			AUDIO
			{
				channel = Ship
				clip = Bluedog_DB/Sounds/KW/sound_altloop2
				volume = 0.0 0.0
				volume = 0.01 0.1
				volume = 1.0 3.0
				pitch = 0.0 1
				pitch = 1.0 1
				loop = true
			}

			MODEL_MULTI_PARTICLE
			{
				name = stream
				modelName = Bluedog_DB/FX/PlumeParty/Engines/BDB/TitanVacStream
				transformName = thrustTransform
				emission = 0.0 0.0 0 0
				emission = 0.01 0.1 0 0
				emission = 0.5 1.0
				energy = 0.0 0.5
				energy = 1.0 1.0
				localPosition = 0, 0, 0.8
				// localScale = 0.5, 0.5, 0.5
			}
			MODEL_MULTI_PARTICLE
			{
				name = blaze
				modelName = Bluedog_DB/FX/PlumeParty/Engines/BDB/TitanVacBlaze
				transformName = thrustTransform
				emission = 0.0 0.0 0 0
				emission = 0.01 0.1 0 0
				emission = 0.5 1.0
				energy = 0.0 0.5
				energy = 1.0 1.0
				localPosition = 0, 0, 0.8
				// localScale = 0.5, 0.5, 0.5
			}
		}
		engage
		{
			AUDIO
			{
				channel = Ship
				clip = sound_vent_low
				volume = 1.0
				pitch = 0.5
				loop = false
			}
		}
		disengage
		{
			AUDIO
			{
				channel = Ship
				clip = sound_explosion_low
				volume = 1.0
				pitch = 0.8
				loop = false
			}
		}
		flameout
		{
			PREFAB_PARTICLE
			{
				prefabName = fx_exhaustSparks_flameout_2
				transformName = thrustTransform
				oneShot = true
				localScale = 3.0,3.0,3.0
				//localOffset = 0,0,1.8
			}
			AUDIO
			{
				channel = Ship
				clip = sound_explosion_low
				volume = 1.0
				pitch = 0.8
				loop = false
			}
		}
		running_vernier
		{
			AUDIO
			{
				channel = Ship
				clip = Bluedog_DB/Sounds/KW/sound_altloop
				volume = 0.0 0.0
				volume = 0.01 0.1
				volume = 1.0 0.5
				pitch = 0.0 1
				pitch = 1.0 1
				loop = true
			}

			MODEL_MULTI_PARTICLE
			{
				modelName = Squad/FX/LES_Thruster
				transformName = vernierFX
				emission = 0.0 0.0
				emission = 1.0 1.0
				speed = 0.0 0.5
				speed = 1.0 1.0
				energy = 0.0 0.25
				energy = 1.0 0.5
				localOffset = 0,0,0.2
			}
		}
	}
	MODULE
	{
		name = ModuleEnginesFX
		thrustVectorTransformName = thrustTransform
		powerEffectName = running_engine
		exhaustDamage = True
		ignitionThreshold = 0.1
		minThrust = 0
		maxThrust = 111.3 // 25% thrust scaling //167
		heatProduction = 200
		fxOffset = 0, 0, 0.574338
		EngineType = LiquidFuel

		useEngineResponseTime = true
		engineAccelerationSpeed = 0.75
		engineDecelerationSpeed = 1.0

		PROPELLANT
		{
			name = LiquidFuel
			ratio = 0.9
			DrawGauge = True
		}
		PROPELLANT
		{
			name = Oxidizer
			ratio = 1.1
		}
		atmosphereCurve
		{
			key = 0 315
			key = 1 160
			key = 6 0.001
		}
	}

	MODULE
	{
		name = ModuleEnginesFX
		thrustVectorTransformName = vernierThrust
		exhaustDamage = True
		ignitionThreshold = 0.1
		minThrust = 0
		maxThrust = 3
		heatProduction = 150
		EngineType = LiquidFuel
		runningEffectName = running_vernier

		PROPELLANT
		{
			name = LiquidFuel
			ratio = 0.9
			DrawGauge = False
		}
		PROPELLANT
		{
			name = Oxidizer
			ratio = 1.1
		}
		atmosphereCurve
		{
			key = 0 290
			key = 1 250
			key = 7 0.001
		}
	}

	MODULE
	{
		name = ModuleGimbal
		gimbalResponseSpeed = 15
		useGimbalResponseSpeed = true
		gimbalTransformName = gimbalTransform
		gimbalRange = 4
	}

	MODULE //RollGimbal
	{
		name = ModuleGimbal
		gimbalResponseSpeed = 15
		useGimbalResponseSpeed = true
		gimbalTransformName = vernierGimbal
		gimbalRangeXN = 15
		gimbalRangeXP = 15
		gimbalRangeYN = 0
		gimbalRangeYP = 0

		enablePitch = false
		enableRoll = true
		enableYaw = false
	}

	MODULE
	{
		name = ModuleJettison
		jettisonName = fairing
		bottomNodeName = bottom
		isFairing = True
		jettisonedObjectMass = 0.1
		jettisonForce = 5
		jettisonDirection = 0 0 1
	}

	MODULE
	{
		name = ModuleAlternator
		RESOURCE
		{
			name = ElectricCharge
			rate = 6.0
		}
	}

	MODULE
	{
		name = ModuleB9PartSwitch
		moduleID = meshSwitchShroud
		switcherDescription = Housing
		affectDragCubes = False
		affectFARVoxels = False
		SUBTYPE
		{
			name = Titan
			transform = Titan2
		}

		SUBTYPE
		{
			name = Bare
			transform = Bare
		}
	}

	MODULE
	{
		name = ModuleB9PartSwitch
		moduleID = textureSwitchPaint
		switcherDescription = Paintjob
		SUBTYPE
		{
			name = GLV
		}
	}

	MODULE
	{
		name = ModuleSurfaceFX
		thrustProviderModuleIndex = 0
		fxMax = 0.5
		maxDistance = 30
		falloff = 1.7
		thrustTransformName = thrustTransform
	}

	RESOURCE
	{
		name = ElectricCharge
		amount = 0
		maxAmount = 0
		isTweakable = false
		hideFlow = true
	}

	MODULE
	{
		name = FXModuleLookAtConstraint

		CONSTRAINLOOKFX
		{
			targetName = pivot_1_Upper
			rotatorsName = pivot_1_Lower
		}
		CONSTRAINLOOKFX
		{
			targetName = pivot_1_Lower
			rotatorsName = pivot_1_Upper
		}
		CONSTRAINLOOKFX
		{
			targetName = pivot_2_Upper
			rotatorsName = pivot_2_Lower
		}
		CONSTRAINLOOKFX
		{
			targetName = pivot_2_Lower
			rotatorsName = pivot_2_Upper
		}
	}

	MODULE
	{
		name = FXModuleThrottleEffects
		fxModuleNames = heatColor
		responseSpeed = 1.0
		dependOnEngineState = True
		dependOnThrottle = True
	}
	MODULE
	{
		name = FXModuleThrottleEffects
		fxModuleNames = throttleColor
		responseSpeed = 1.0
		dependOnEngineState = True
		dependOnThrottle = True
	}
	MODULE
	{
		name = ModuleColorChanger
		moduleID = heatColor
		animRate = 0.025
		shaderProperty = _EmissiveColor
		excludedRenderer = innerGlow
		toggleInEditor = false
		toggleInFlight = false
		redCurve
		{
			key = 1 1 1 1
			key = 1 1 1 1
		}
		greenCurve
		{
			key = 0 0 1 1
			key = 1 1 1 1
		}
		blueCurve
		{
			key = 0 0 1 1
			key = 1 1 1 1
		}
		alphaCurve
		{
			key = 0 0 1 1
			key = 1 1 1 1
		}
	}

	MODULE
	{
		name = ModuleColorChanger
		moduleID = throttleColor
		animRate = 1
		shaderProperty = _TintColor
		includedRenderer = innerGlow
		toggleInEditor = false
		toggleInFlight = false
		redCurve
		{
			key = 0 0
			key = 1 1
		}
		greenCurve
		{
			key = 0 0
			key = 1 1
		}
		blueCurve
		{
			key = 0 0
			key = 1 1
		}
		alphaCurve
		{
			key = 0 0
			key = 1 1
		}
	}
}

 

My config:

@PART[bluedog_LR91_5]
[
	@MODULE[ModuleEnginesFX]
	{
		@useEngineResponseTime = False
	}
]

However the useEngineResponseTime stays true.  I deleted the lines in the part config just to make sure there isn't another config somewhere adding it, and that worked.  So now I just need to get ModuleManager to do it for me.

Link to comment
Share on other sites

17 minutes ago, Deltac said:

I'm trying to modify an engine in BDB that has 2 ModuleEnginesFX.

The part Config:


PART
{
	name = bluedog_LR91_5
	module = Part
	author = CobaltWolf & Jso
	MODEL
	{
		model = Bluedog_DB/Parts/Titan/bluedog_LR91_5
	}
	scale = 1
	rescaleFactor = 1
	node_stack_top = 0.0, 0.60749, 0.0, 0.0, 1.0, 0.0, 2
	node_stack_bottom = 0.0, -0.9167, 0.0, 0.0, -1.0, 0.0, 2
	TechRequired = advRocketry
	entryCost = 4000
	cost = 1150
	category = Engine
	subcategory = 0
	title = Prometheus LR9107-167 "Lelantos" Liquid Engine
	manufacturer = Bluedog Design Bureau
	description = Powerful 1.875m second stage engine for the Prometheus-II rocket. Upgraded with the ability to gimbal although a single vernier remains for roll control.
	real_title = LR91-AJ5
	real_manufacturer = Aerojet
	real_description = Powerful 1.875m second stage engine for the Titan-II rocket. As with the LR87, the LR91 was successfully converted from a kerolox burning engine to one that ran on storable hypergolic propellants. This engine can gimbal although a single vernier is still used for roll control.
	attachRules = 1,0,1,0,0
	mass = 0.53 //25% thrust scaling, previously used 37.5% //0.8
	heatConductivity = 0.06 // half default
	skinInternalConductionMult = 4.0
	emissiveConstant = 0.8 // engine nozzles are good at radiating.
	dragModelType = default
	maximum_drag = 0.2
	minimum_drag = 0.2
	angularDrag = 2
	crashTolerance = 7
	maxTemp = 2000 // = 3600
	bulkheadProfiles = size1p5
	breakingForce = 112
	breakingTorque = 112

	tags = ?sm68 lr91 aj5 titan prometheus ii 2 engine 1875 1.875

	EFFECTS
	{
		running_engine
		{
			AUDIO
			{
				channel = Ship
				clip = Bluedog_DB/Sounds/KW/sound_altloop2
				volume = 0.0 0.0
				volume = 0.01 0.1
				volume = 1.0 3.0
				pitch = 0.0 1
				pitch = 1.0 1
				loop = true
			}

			MODEL_MULTI_PARTICLE
			{
				name = stream
				modelName = Bluedog_DB/FX/PlumeParty/Engines/BDB/TitanVacStream
				transformName = thrustTransform
				emission = 0.0 0.0 0 0
				emission = 0.01 0.1 0 0
				emission = 0.5 1.0
				energy = 0.0 0.5
				energy = 1.0 1.0
				localPosition = 0, 0, 0.8
				// localScale = 0.5, 0.5, 0.5
			}
			MODEL_MULTI_PARTICLE
			{
				name = blaze
				modelName = Bluedog_DB/FX/PlumeParty/Engines/BDB/TitanVacBlaze
				transformName = thrustTransform
				emission = 0.0 0.0 0 0
				emission = 0.01 0.1 0 0
				emission = 0.5 1.0
				energy = 0.0 0.5
				energy = 1.0 1.0
				localPosition = 0, 0, 0.8
				// localScale = 0.5, 0.5, 0.5
			}
		}
		engage
		{
			AUDIO
			{
				channel = Ship
				clip = sound_vent_low
				volume = 1.0
				pitch = 0.5
				loop = false
			}
		}
		disengage
		{
			AUDIO
			{
				channel = Ship
				clip = sound_explosion_low
				volume = 1.0
				pitch = 0.8
				loop = false
			}
		}
		flameout
		{
			PREFAB_PARTICLE
			{
				prefabName = fx_exhaustSparks_flameout_2
				transformName = thrustTransform
				oneShot = true
				localScale = 3.0,3.0,3.0
				//localOffset = 0,0,1.8
			}
			AUDIO
			{
				channel = Ship
				clip = sound_explosion_low
				volume = 1.0
				pitch = 0.8
				loop = false
			}
		}
		running_vernier
		{
			AUDIO
			{
				channel = Ship
				clip = Bluedog_DB/Sounds/KW/sound_altloop
				volume = 0.0 0.0
				volume = 0.01 0.1
				volume = 1.0 0.5
				pitch = 0.0 1
				pitch = 1.0 1
				loop = true
			}

			MODEL_MULTI_PARTICLE
			{
				modelName = Squad/FX/LES_Thruster
				transformName = vernierFX
				emission = 0.0 0.0
				emission = 1.0 1.0
				speed = 0.0 0.5
				speed = 1.0 1.0
				energy = 0.0 0.25
				energy = 1.0 0.5
				localOffset = 0,0,0.2
			}
		}
	}
	MODULE
	{
		name = ModuleEnginesFX
		thrustVectorTransformName = thrustTransform
		powerEffectName = running_engine
		exhaustDamage = True
		ignitionThreshold = 0.1
		minThrust = 0
		maxThrust = 111.3 // 25% thrust scaling //167
		heatProduction = 200
		fxOffset = 0, 0, 0.574338
		EngineType = LiquidFuel

		useEngineResponseTime = true
		engineAccelerationSpeed = 0.75
		engineDecelerationSpeed = 1.0

		PROPELLANT
		{
			name = LiquidFuel
			ratio = 0.9
			DrawGauge = True
		}
		PROPELLANT
		{
			name = Oxidizer
			ratio = 1.1
		}
		atmosphereCurve
		{
			key = 0 315
			key = 1 160
			key = 6 0.001
		}
	}

	MODULE
	{
		name = ModuleEnginesFX
		thrustVectorTransformName = vernierThrust
		exhaustDamage = True
		ignitionThreshold = 0.1
		minThrust = 0
		maxThrust = 3
		heatProduction = 150
		EngineType = LiquidFuel
		runningEffectName = running_vernier

		PROPELLANT
		{
			name = LiquidFuel
			ratio = 0.9
			DrawGauge = False
		}
		PROPELLANT
		{
			name = Oxidizer
			ratio = 1.1
		}
		atmosphereCurve
		{
			key = 0 290
			key = 1 250
			key = 7 0.001
		}
	}

	MODULE
	{
		name = ModuleGimbal
		gimbalResponseSpeed = 15
		useGimbalResponseSpeed = true
		gimbalTransformName = gimbalTransform
		gimbalRange = 4
	}

	MODULE //RollGimbal
	{
		name = ModuleGimbal
		gimbalResponseSpeed = 15
		useGimbalResponseSpeed = true
		gimbalTransformName = vernierGimbal
		gimbalRangeXN = 15
		gimbalRangeXP = 15
		gimbalRangeYN = 0
		gimbalRangeYP = 0

		enablePitch = false
		enableRoll = true
		enableYaw = false
	}

	MODULE
	{
		name = ModuleJettison
		jettisonName = fairing
		bottomNodeName = bottom
		isFairing = True
		jettisonedObjectMass = 0.1
		jettisonForce = 5
		jettisonDirection = 0 0 1
	}

	MODULE
	{
		name = ModuleAlternator
		RESOURCE
		{
			name = ElectricCharge
			rate = 6.0
		}
	}

	MODULE
	{
		name = ModuleB9PartSwitch
		moduleID = meshSwitchShroud
		switcherDescription = Housing
		affectDragCubes = False
		affectFARVoxels = False
		SUBTYPE
		{
			name = Titan
			transform = Titan2
		}

		SUBTYPE
		{
			name = Bare
			transform = Bare
		}
	}

	MODULE
	{
		name = ModuleB9PartSwitch
		moduleID = textureSwitchPaint
		switcherDescription = Paintjob
		SUBTYPE
		{
			name = GLV
		}
	}

	MODULE
	{
		name = ModuleSurfaceFX
		thrustProviderModuleIndex = 0
		fxMax = 0.5
		maxDistance = 30
		falloff = 1.7
		thrustTransformName = thrustTransform
	}

	RESOURCE
	{
		name = ElectricCharge
		amount = 0
		maxAmount = 0
		isTweakable = false
		hideFlow = true
	}

	MODULE
	{
		name = FXModuleLookAtConstraint

		CONSTRAINLOOKFX
		{
			targetName = pivot_1_Upper
			rotatorsName = pivot_1_Lower
		}
		CONSTRAINLOOKFX
		{
			targetName = pivot_1_Lower
			rotatorsName = pivot_1_Upper
		}
		CONSTRAINLOOKFX
		{
			targetName = pivot_2_Upper
			rotatorsName = pivot_2_Lower
		}
		CONSTRAINLOOKFX
		{
			targetName = pivot_2_Lower
			rotatorsName = pivot_2_Upper
		}
	}

	MODULE
	{
		name = FXModuleThrottleEffects
		fxModuleNames = heatColor
		responseSpeed = 1.0
		dependOnEngineState = True
		dependOnThrottle = True
	}
	MODULE
	{
		name = FXModuleThrottleEffects
		fxModuleNames = throttleColor
		responseSpeed = 1.0
		dependOnEngineState = True
		dependOnThrottle = True
	}
	MODULE
	{
		name = ModuleColorChanger
		moduleID = heatColor
		animRate = 0.025
		shaderProperty = _EmissiveColor
		excludedRenderer = innerGlow
		toggleInEditor = false
		toggleInFlight = false
		redCurve
		{
			key = 1 1 1 1
			key = 1 1 1 1
		}
		greenCurve
		{
			key = 0 0 1 1
			key = 1 1 1 1
		}
		blueCurve
		{
			key = 0 0 1 1
			key = 1 1 1 1
		}
		alphaCurve
		{
			key = 0 0 1 1
			key = 1 1 1 1
		}
	}

	MODULE
	{
		name = ModuleColorChanger
		moduleID = throttleColor
		animRate = 1
		shaderProperty = _TintColor
		includedRenderer = innerGlow
		toggleInEditor = false
		toggleInFlight = false
		redCurve
		{
			key = 0 0
			key = 1 1
		}
		greenCurve
		{
			key = 0 0
			key = 1 1
		}
		blueCurve
		{
			key = 0 0
			key = 1 1
		}
		alphaCurve
		{
			key = 0 0
			key = 1 1
		}
	}
}

 

My config:


@PART[bluedog_LR91_5]
[
	@MODULE[ModuleEnginesFX]
	{
		@useEngineResponseTime = False
	}
]

However the useEngineResponseTime stays true.  I deleted the lines in the part config just to make sure there isn't another config somewhere adding it, and that worked.  So now I just need to get ModuleManager to do it for me.

Check your opening and closing brackets. You are using the wrong type. You should be using { } not [ ]

Edited by Galileo
Link to comment
Share on other sites

  • 3 weeks later...

Right now I'm trying to make a patch that applies extra textures to the FStextureSwitch module for certain parts. I'll list one of them as an example.

Part .cfg

Spoiler

PART
{

// --- general parameters ---
name = FS_BiplaneElevator
module = Part
author = Snjo

// --- asset parameters ---
rescaleFactor = 1

MODEL
{
   model = Firespitter/Assets/FS_BiplaneElevator
}

// --- editor parameters ---
TechRequired = start
cost = 1000
entryCost = 2000
category = Aero
subcategory = 0
title = FS4E Biplane Elevator (special aero)
manufacturer = Bitesized Industries
description = A tail elevator from an old Biplane. Provides only Pitch control unless re-configured.
// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
attachRules = 0,1,0,1,1

// --- node definitions ---
// definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z
node_attach = 0.0, 0.0, 0.0, 1.0, 0.0, 0.0

// --- standard part parameters ---
    mass = 0.04
    thermalMassModifier = 8.0
    // heatConductivity = 0.06 // half default
    emissiveConstant = 0.95
    dragModelType = none
    maximum_drag = 0.02
    minimum_drag = 0.02
    angularDrag = 2
    crashTolerance = 15
    maxTemp = 2400
    explosionPotential = 0.1
    bulkheadProfiles = srf
    CoLOffset = -0.8, -.3, 0
    CoPOffset = -0.8, -.3, 0    

    MODULE
    {
        name = ModuleLiftingSurface
        useInternalDragModel = True
        deflectionLiftCoeff = 0.375
        dragAtMaxAoA = 0.2
        dragAtMinAoA = 0.0
    }    
    
    MODULE
    {
        name = ModuleControlSurface
        useInternalDragModel = True
        dragCoeff = 0.25
        deflectionLiftCoeff = 0.18
        ctrlSurfaceRange = 25
        ctrlSurfaceArea = 1.0
        actuatorSpeed = 120
        transformName = ctrlSurface
    }
MODULE
 {
    name = FStextureSwitch
    moduleID = 0    
    //showListButton = True
    //switchableInFlight = True        
    textures
    {
        name = Firespitter/Assets/Biplane_01_WHITE
        name = Firespitter/Assets/Biplane_01_GREEN
        name = Firespitter/Assets/Biplane_01_RED
        name = Firespitter/Assets/Biplane_01
    }
    objects
    {
        name = Elevator
        name = ctrlSurface
    }    
}
}

The lines in my patch for this specific part

Spoiler

@Part[FS_BiplaneElevator]
{
    %MODULE[FStextureSwitch]:NEEDS[Firespitter]
    {
        moduleID = 0    
        //showListButton = True
        //switchableInFlight = True    
        textures
        {
            name = Firespitter/Assets/Biplane_01_WHITE
            name = Firespitter/Assets/Biplane_01_GREEN
            name = Firespitter/Assets/Biplane_01_RED
            name = Firespitter/Assets/Biplane_01
            name = FirespitterExtended/Assets/skins/Biplane_01_FRENCH
            name = FirespitterExtended/Assets/skins/Biplane_01_JERRY
            name = FirespitterExtended/Assets/skins/Biplane_01_CAMO
        }
        objects
        {
            name = Elevator
            name = ctrlSurface    
        }
    }
}

I've checked both the KSP logs and MM logs. The KSP logs show no errors or anything, neither do the logs from MM. However, by looking at the logs from MM, it seems like MM is ignoring my patch for some reason.

Any help would be greatly appreciated! :)

Link to comment
Share on other sites

51 minutes ago, UltimateFlash15 said:

Right now I'm trying to make a patch that applies extra textures to the FStextureSwitch module for certain parts. I'll list one of them as an example.

Part .cfg

  Hide contents

PART
{

// --- general parameters ---
name = FS_BiplaneElevator
module = Part
author = Snjo

// --- asset parameters ---
rescaleFactor = 1

MODEL
{
   model = Firespitter/Assets/FS_BiplaneElevator
}

// --- editor parameters ---
TechRequired = start
cost = 1000
entryCost = 2000
category = Aero
subcategory = 0
title = FS4E Biplane Elevator (special aero)
manufacturer = Bitesized Industries
description = A tail elevator from an old Biplane. Provides only Pitch control unless re-configured.
// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
attachRules = 0,1,0,1,1

// --- node definitions ---
// definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z
node_attach = 0.0, 0.0, 0.0, 1.0, 0.0, 0.0

// --- standard part parameters ---
    mass = 0.04
    thermalMassModifier = 8.0
    // heatConductivity = 0.06 // half default
    emissiveConstant = 0.95
    dragModelType = none
    maximum_drag = 0.02
    minimum_drag = 0.02
    angularDrag = 2
    crashTolerance = 15
    maxTemp = 2400
    explosionPotential = 0.1
    bulkheadProfiles = srf
    CoLOffset = -0.8, -.3, 0
    CoPOffset = -0.8, -.3, 0    

    MODULE
    {
        name = ModuleLiftingSurface
        useInternalDragModel = True
        deflectionLiftCoeff = 0.375
        dragAtMaxAoA = 0.2
        dragAtMinAoA = 0.0
    }    
    
    MODULE
    {
        name = ModuleControlSurface
        useInternalDragModel = True
        dragCoeff = 0.25
        deflectionLiftCoeff = 0.18
        ctrlSurfaceRange = 25
        ctrlSurfaceArea = 1.0
        actuatorSpeed = 120
        transformName = ctrlSurface
    }
MODULE
 {
    name = FStextureSwitch
    moduleID = 0    
    //showListButton = True
    //switchableInFlight = True        
    textures
    {
        name = Firespitter/Assets/Biplane_01_WHITE
        name = Firespitter/Assets/Biplane_01_GREEN
        name = Firespitter/Assets/Biplane_01_RED
        name = Firespitter/Assets/Biplane_01
    }
    objects
    {
        name = Elevator
        name = ctrlSurface
    }    
}
}

The lines in my patch for this specific part

  Hide contents

@Part[FS_BiplaneElevator]
{
    %MODULE[FStextureSwitch]:NEEDS[Firespitter]
    {
        moduleID = 0    
        //showListButton = True
        //switchableInFlight = True    
        textures
        {
            name = Firespitter/Assets/Biplane_01_WHITE
            name = Firespitter/Assets/Biplane_01_GREEN
            name = Firespitter/Assets/Biplane_01_RED
            name = Firespitter/Assets/Biplane_01
            name = FirespitterExtended/Assets/skins/Biplane_01_FRENCH
            name = FirespitterExtended/Assets/skins/Biplane_01_JERRY
            name = FirespitterExtended/Assets/skins/Biplane_01_CAMO
        }
        objects
        {
            name = Elevator
            name = ctrlSurface    
        }
    }
}

I've checked both the KSP logs and MM logs. The KSP logs show no errors or anything, neither do the logs from MM. However, by looking at the logs from MM, it seems like MM is ignoring my patch for some reason.

Any help would be greatly appreciated! :)

Well your main problem is PART vs Part (it's case sensitive)

But I'm having trouble figuring out what you want the patch to do, if the module exists you'll end up with duplicate moduleID, textures {} and objects {} ... looking at the differences, maybe you want something more like this?

Spoiler

@Part[FS_BiplaneElevator]
{
    @MODULE[FStextureSwitch]
    {
        @textures
        {
            name = Firespitter/Assets/Biplane_01_WHITE
            name = Firespitter/Assets/Biplane_01_GREEN
            name = Firespitter/Assets/Biplane_01_RED
            name = Firespitter/Assets/Biplane_01
        }
    }
}

 

Link to comment
Share on other sites

  • 2 weeks later...

Hello, I want to reduce errors in my heavily modded game. In the log I found this

[LOG 14:00:29.596] Done patching
[WRN 14:00:29.596] 2 warnings related to GameData/M_Kerbalism_Sounding_Rockets.cfg
[WRN 14:00:29.596] 1 warning related to GameData/RealFuels-Stockalike/fix-part-categories.cfg
[WRN 14:00:29.596] 2 warnings related to GameData/RealFuels-Stockalike/Jet_modularEngines.cfg
[WRN 14:00:29.596] 1 warning related to GameData/RealPlume-RFStockalike/AJE.cfg
[WRN 14:00:29.596] Errors in patch prevents the creation of the cache
[LOG 14:00:29.730] ModuleManager: 27188 patches applied, found <color=yellow>6 warnings</color>, found <color=orange>1 error</color>
1 error related to GameData/KerbalismConfig/System/_MOD_RO_Reliability.cfg

[LOG 14:00:29.730] Ran in 108.724s
[LOG 14:00:29.774] Done!

Are there more information about wich line of a cfg is affected?

Link to comment
Share on other sites

26 minutes ago, New Horizons said:

Hello, I want to reduce errors in my heavily modded game. In the log I found this


[LOG 14:00:29.596] Done patching
[WRN 14:00:29.596] 2 warnings related to GameData/M_Kerbalism_Sounding_Rockets.cfg
[WRN 14:00:29.596] 1 warning related to GameData/RealFuels-Stockalike/fix-part-categories.cfg
[WRN 14:00:29.596] 2 warnings related to GameData/RealFuels-Stockalike/Jet_modularEngines.cfg
[WRN 14:00:29.596] 1 warning related to GameData/RealPlume-RFStockalike/AJE.cfg
[WRN 14:00:29.596] Errors in patch prevents the creation of the cache
[LOG 14:00:29.730] ModuleManager: 27188 patches applied, found <color=yellow>6 warnings</color>, found <color=orange>1 error</color>
1 error related to GameData/KerbalismConfig/System/_MOD_RO_Reliability.cfg

[LOG 14:00:29.730] Ran in 108.724s
[LOG 14:00:29.774] Done!

Are there more information about wich line of a cfg is affected?

There may be more detail in the lines of the whole log above this to figure out where the issues are with each config file.

That's why you need to upload your whole log and post a link to it.  Most mod authors won't even bother to help because it's not possible to determine anything with certainty without the whole log file.  Most of my questions here could have been answered with it.

From what you have, the problems appear to be with the mods Kerbalism, RealFuels-Stockalike, and RealPlume-RFStockalike.  Kerbalism looks to be misinstalled, as its .cfg files should not be directly in GameData.

And if you are running on KSP 1.8, *all* of your mods need to be upgraded to versions compiled for KSP 1.8.  Because of the great changes between KSP 1.7.3 and KSP 1.8, there are very few mods from KSP 1.7.3 and before that will work without fault in 1.8.

You need to remove everything, clear the directory, install KSP 1.8 fresh, then start modding it again with mods upgraded for KSP 1.8 to ensure things work properly.  It's why it's always expected to take a month after a new KSP major release before the mods are upgraded (and thus why to copy away from Steam and use a version under your control).  It's why we've got 1.8.1 13 days after 1.8 (KSP 1.4.x, the last time there was a Unity change, was the same).

It's also why I learned to use modding tools like CKAN and JSGME to manage my mods.

Link to comment
Share on other sites

@Jacke: Thank you for your very detailed explaination. I was already aware of most of your points. It might not have been clear enough - I was not looking for someone resolving my problems, just hoped to get a hint how to proceed, when informatation are not enough, or in this case a cache was not produced. My log is 15 MB big, no fun to clean this up.

Back to the topic, I learned a lot last hours:

  • Kerbalism is installed correctly, that cfg is self made and contains a support for Sounding Rocket mod, that one I wrote before Kerbalism actually provided support (which I find less apropriate for my kind of game)
    In that cfg I made a mistake, NEEDS was twice in a line, that broke cache creation and was not circumvented by MM
  • RealFuls-Stockalike often dives that deep in parts configs, that there are troubles with plumes or A.J.E. mod very often as I experienced
  • Until now I worked best without CKAN, just want to keep control of my folder (of course already separated from Steam)
  • And last: I am still cleaning up my 1.7.3 install, so that I will have a more stream lined mod package and thus a fresh start in 1.8.1, especially with my custom stuff, which contains JNSQ scaled by a factor of 2.4 (gives the old Stock 6.4x), partly RO and RP-1 and so on.

I am learning the most when using mod combinations "beyond limits".

Link to comment
Share on other sites

3 hours ago, New Horizons said:

 


[WRN 14:00:29.596] 2 warnings related to GameData/M_Kerbalism_Sounding_Rockets.cfg

 

So this is a metamod by yourself of Kerbalism.  Okay.

I put my metamods etc. in a tree under GameData/zzzFinal/.  It leaves the GameData directory itself for ModuleManager and the rare few mods that have to live there, which are all special.  And those I put into GameData/zzzFinal/ I manage with JSGME, as I do metamods to mods I install with CKAN.

Link to comment
Share on other sites

Hello,

How can I clear the Mod DLL cache?

I got the firespitter v7.14. Uninstalled and reinstalled a couple of times,

But the module manager is still loading the older version from the cache,

I got this line in the logs;

Firespitter                             7.3.7240.11089           7.3.7240.11089                                    f239ad8a4ba3ce7a796cd5a6bd037b3d263e01ab8c48ba21aea75e2826abf462

EDIT: I tried deleting

ModuleManager.ConfigCache,

ModuleManager.ConfigSHA

and it recreated these files, but I still have the same infinite loading issue.

Here's the log file if you're interested;

https://gofile.io/?c=PisnNY

Edited by Problemless Mods Wanter
Link to comment
Share on other sites

49 minutes ago, Problemless Mods Wanter said:

How can I clear the Mod DLL cache?

There is no DLL cache. 

RD did not find useful to update the version in the dll so it will keep reporting the same version...

Link to comment
Share on other sites

So I'm having an issue with patch syntax (and -yes- I have read the incomplete documentation on the subject). 

:AFTER[JNSQ]
!EVE_CLOUDS
!EVE_CITY_LIGHTS

From the suggestions of others, supposedly the above should work to stop JNSQ from loading its Eve settings. However, it doesn't. It still loads everything and I'm continuing to receive an error that reads that the config itself "contains no data", which I literally have only found one mention of anywhere and it went ignored as part of that users issue. 

And while I'm here, I also wanted to ask in regards to the configs I'm using to replace them. From what I've also been told, I would have to add something along these lines:

 

@Ad_Astra:AFTER[JNSQ]

To each config in order to stop it from being unloaded by the first config. Is this correct? All of the files would be independent configs and not edits, so they would stand on their own otherwise. 

Link to comment
Share on other sites

14 minutes ago, G'th said:

So I'm having an issue with patch syntax (and -yes- I have read the incomplete documentation on the subject). 


:AFTER[JNSQ]
!EVE_CLOUDS
!EVE_CITY_LIGHTS

 

You don't have opening or closing brackets for any of those and the syntax is wrong as well. 

Edited by Galileo
Link to comment
Share on other sites

55 minutes ago, G'th said:

So I'm having an issue with patch syntax (and -yes- I have read the incomplete documentation on the subject). 


:AFTER[JNSQ]
!EVE_CLOUDS
!EVE_CITY_LIGHTS

From the suggestions of others, supposedly the above should work to stop JNSQ from loading its Eve settings. However, it doesn't. It still loads everything and I'm continuing to receive an error that reads that the config itself "contains no data", which I literally have only found one mention of anywhere and it went ignored as part of that users issue. 

And while I'm here, I also wanted to ask in regards to the configs I'm using to replace them. From what I've also been told, I would have to add something along these lines:

 


@Ad_Astra:AFTER[JNSQ]

To each config in order to stop it from being unloaded by the first config. Is this correct? All of the files would be independent configs and not edits, so they would stand on their own otherwise. 

It appears you’re asking a few things, I’ll try and go over them. 

:AFTER[JNSQ] will cause your patch to run in JNSQ’s ‘after’ round if it is present. It will not run if JNSQ is not present and it will run before LAST[JNSQ]. 

!EVE_CLOUDS {} will remove the top-level node If it exists when it runs. Note the curly braces. The same applies to the 3rd one you listed. 

@ad_astra:AFTER[jnsq] would run whatever comes next only if JNSQ is present, and it will again run in JNSQ’s AFTER round. 

You can see the order of patching in the log file and you can confirm correct results by checking the ModuleManager.configcache file. 

Now whether or not these things are the way to go for what you’re trying to achieve is another story. Why not just remove the EVE configs for JNSQ if you wish to use your own?

I admit that the MM documentation is scattered around the forums and wikis but digging around and asking about unknowns should help. :) 

Considering your post I’m curious as to what you’d like to achieve. That way it’s easier to know what sort of patch you are looking for. 

Link to comment
Share on other sites

3 minutes ago, Jognt said:

It appears you’re asking a few things, I’ll try and go over them. 

:AFTER[JNSQ] will cause your patch to run in JNSQ’s ‘after’ round if it is present. It will not run if JNSQ is not present and it will run before LAST[JNSQ]. 

!EVE_CLOUDS {} will remove the top-level node If it exists when it runs. Note the curly braces. The same applies to the 3rd one you listed. 

@ad_astra:AFTER[jnsq] would run whatever comes next only if JNSQ is present, and it will again run in JNSQ’s AFTER round. 

You can see the order of patching in the log file and you can confirm correct results by checking the ModuleManager.configcache file. 

Now whether or not these things are the way to go for what you’re trying to achieve is another story. Why not just remove the EVE configs for JNSQ if you wish to use your own?

I admit that the MM documentation is scattered around the forums and wikis but digging around and asking about unknowns should help. :) 

Considering your post I’m curious as to what you’d like to achieve. That way it’s easier to know what sort of patch you are looking for. 

The entire point of what I"m trying to do is to remove the configs from JNSQ, but by using MM to do it and then having my configs load afterwords. The way JNSQ is set up it would be easier for users to just be able to install my mod and be done with it instead of having to hunt down very specific files for deletion. Not everything in regards to Scatterer and EVE would be deleted from the JNSQ mod folder, so to have the users do it themselves would induce a lengthy installation process.

Link to comment
Share on other sites

8 hours ago, G'th said:

The entire point of what I"m trying to do is to remove the configs from JNSQ, but by using MM to do it and then having my configs load afterwords. The way JNSQ is set up it would be easier for users to just be able to install my mod and be done with it instead of having to hunt down very specific files for deletion. Not everything in regards to Scatterer and EVE would be deleted from the JNSQ mod folder, so to have the users do it themselves would induce a lengthy installation process.

Could you share one of your complete patches and note what your goal is? That would make it easier to help than just repeating the syntax that is out there. 

Things to check: Execute the patch at the right time, properly target valid nodes and values, make sure every node deletion has {} after it and that every value deletion has a dummy value after it. 

Link to comment
Share on other sites

On 10/25/2013 at 2:01 PM, sarbian said:

NEEDS now allows subdirs (NEEDS[SquadExpansion/MakingHistory])

This may have been asked before but regarding the above, is there a limit on the number of sub directories you can specify? As in, is there a reason something like this would be seemingly ignored completely?

:NEEDS[ModFolder/Subdir1/Subdir2/Subdir3/Subdir4]

I can probably get around it since there is another common element I can use with :HAS but figured I would ask.

 

Edit:

Nevermind, coffee kicked in, major brainfart occurred. NEEDS is just checking the folder exists, not specifying to only apply to parts in that folder.

Edited by Manwith Noname
Link to comment
Share on other sites

!Scatterer_atmosphere,*:FOR[reasons] {}

Indexed node deletion with a pass specifier.

  1. This should work;
  2. This is currently unsupported;
  3. It's supported, but your syntax is wrong;
  4. Well, actually .. [storyMode.Engage];

Any insight would be appreciated. :)

Asking for a friend.

Link to comment
Share on other sites

Hi, I found in USI Tools two patches, that aren't for some reason applied. I tried to find a solution but to no avail, so I'm here :)

The two patches are following:

@PART[*]:HAS[!MODULE[USI_ModuleFieldRepair],@RESOURCE[Machinery|EnrichedUranium|DepletedFuel|Recyclables]]:FOR[USITools]
{
    MODULE
    {
        name = USI_ModuleFieldRepair
    }
}

@PART[*]:HAS[!MODULE[USI_ModuleRecycleBin],@RESOURCE[MaterialKits]]:FOR[USITools]
{
    MODULE
    {
        name = USI_ModuleRecycleBin
    }
}

If I omit the @RESOURCE part in the HAS block, then the patches are applied as intended. What's wrong there?

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