Jump to content

[1.9.*] GTIndustries (Updated 04-02-2020)


Warezcrawler

Recommended Posts

So much potential with this mod! Intake and resource converting will make underwater exploration a great deal easier

Would it be possible to add reverse thrust capabilities as a module as well? Opposing engines and reverse-thrust capable engines are fun and incredibly useful, but right now to implement them with anything but the Goliath and Wheesley requires stealing their respective ModuleAnimateGeneric code. I've also had limited success adding the Firespitter FSswitchEngineThrustTransform to various engines, sticking a couple of modified SXT Kopo engines on anything is cheat mode. I'd love something that's more reliable and a little easier to standardize, most of the time it breaks the animations or fails to register the modules at all.

Edited by seftali
Link to comment
Share on other sites

Thanks for the update!

Harvester and converter now work as intended. The MM-patch for IntakeATM does not. MM 3.0.6 shows an error during the loading screen and the log reveals:

[ERR 14:37:15.641] [ModuleManager] Error - pass specifier detected on an insert node (not a patch): GTI_Utilities/Resources/MM_IntakeAtm/RESOURCE_DEFINITION:FOR[GTI]

Remove the :FOR[GTI] and it works just fine.

Link to comment
Share on other sites

5 hours ago, Eleusis La Arwall said:

Thanks for the update!

Harvester and converter now work as intended. The MM-patch for IntakeATM does not. MM 3.0.6 shows an error during the loading screen and the log reveals:


[ERR 14:37:15.641] [ModuleManager] Error - pass specifier detected on an insert node (not a patch): GTI_Utilities/Resources/MM_IntakeAtm/RESOURCE_DEFINITION:FOR[GTI]

Remove the :FOR[GTI] and it works just fine.

my god.... I'll get a patch up for that........

Link to comment
Share on other sites

  • 2 weeks later...
On 16/3/2018 at 7:09 PM, Diggz81 said:

Ok, will see if i can post one to you when i get back home.  Stuck at work for 2 days...  I kinda noticed on the last one i tried, the first mode had the visual animation(nozzle lights up effects), the second one had no sound or visual effects, then the 3rd mode had only sound but now visual.  I kept reading your first post and i did notice it saying: for moduleEngines....and for moduleEnginesFX, but dont know the difference.  Im sorry if i sound really dumb with what im referring to, im asically self taught on how to read this code.  I grew up realizing i could tweak games by changing values but i was never formally taught.  Any help would be greatly appreciated. I will get back to you w an example when i get back on my pc. 

I have an example where I have made a derivative of the Rapier engine with 4 modes.

Spoiler

PART
{
    name = GTI_RAPTOR
    module = Part
//...
    mesh = rapier.mu
    MODEL
    {
        model = Squad/Parts/Engine/rapierEngine/rapier
    }
    scale = 1.0
    node_stack_top = 0.0,0.741545,0.0 , 0.0, 1.0, 0.0
    node_stack_bottom = 0.0,-0.2048244, 0.0, 0.0, -1.0, 0.0
    CoMOffset = 0.0, 2.6, 0.0
    mass = 2.0
    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 = 20
    maxTemp = 2000 // = 3600
    TechRequired = aerospaceTech
    entryCost = 35000
    cost = 6000
    category = Engine
    subcategory = 0
    title = CR-13 R.A.P.T.O.R. Engine
    manufacturer = Guybrush Threepwood Industries
    description = The R.A.P.T.O.R. (Reactive Alternate-Propellant Thermal Oriented Rockets) is a joint venture between C7 Aerospace and the Guybrush Threepwood Industries. Designed to fill a gap in the design requirements for sustainable single stage to orbit aircraft, this engine combines the best of rocket and versatile air/atm-breathing thrust technology.
    attachRules = 1,0,1,1,0
    bulkheadProfiles = size1
    tags = aircraft ascent closed cycle dual fuel hybrid jet liquid main mode plane propuls rapier rocket ssto

//...
    MODULE
    {
        name = GTI_MultiModeEngineFX
        engineID = AirBreathingCruise;AirBreathing;AtmBreathing;ClosedCycle;ClosedCycleDarkGoo
        GUIengineID = Cruise;Air Breathing;Atmosphere Breathing;Rocket;Dark Goo Fusion
        
        availableInFlight = true
        availableInEditor = true
    }
    MODULE
    {
        name = ModuleEnginesFX
        engineID = AirBreathingCruise
        powerEffectName = power_open_C
        thrustVectorTransformName = thrustTransform
        exhaustDamage = True
        ignitionThreshold = 0.33
        minThrust = 0
        maxThrust = 105
        heatProduction = 100
        useEngineResponseTime = True
        engineAccelerationSpeed = 0.4
        engineDecelerationSpeed = 0.45
        spoolEffectName = running_open_C
        engineSpoolIdle = 0.05
        engineSpoolTime = 2.0
        EngineType = Turbine
        exhaustDamageMultiplier = 50
        exhaustDamageDistanceOffset = 0.19
        //clampPropReceived = True
        PROPELLANT
        {
            name = IntakeAir
            DrawGauge = True
            ignoreForIsp = False
            ratio = 1
        }
        atmosphereCurve
        {
            key = 0 4000 0 0
        }
        // Jet params
        atmChangeFlow = True
        useVelocityCurve = False    
        useVelCurve = True
        useAtmCurve = True
        flowMultCap = 3.0
        velCurve
        {
            key = 0 0.5
            key = 1 1
        }
        atmCurve
        {
            key = 0.1516743 0
            key = 0.2233611 1 2.27935 2.27935
            key = 1 1
        }
    }
    
    MODULE
    {
        name = ModuleEnginesFX
        engineID = AirBreathing
        powerEffectName = power_open
        //runningEffectName = running_open
        thrustVectorTransformName = thrustTransform
        exhaustDamage = True
        ignitionThreshold = 0.33
        minThrust = 0
        maxThrust = 105
        heatProduction = 60
        useEngineResponseTime = True
        engineAccelerationSpeed = 0.2
        engineDecelerationSpeed = 0.35
        useVelocityCurve = False        
        spoolEffectName = running_open
        engineSpoolIdle = 0.05
        engineSpoolTime = 2.0
        EngineType = Turbine
        exhaustDamageMultiplier = 50
        exhaustDamageDistanceOffset = 0.19
        clampPropReceived = True
        PROPELLANT
        {
            name = IntakeAir
            ignoreForIsp = True
            ratio = 6
        }
        PROPELLANT
        {
            name = LiquidFuel
            resourceFlowMode = STAGE_STACK_FLOW_BALANCE
            ratio = 1
            DrawGauge = True
        }
        atmosphereCurve
        {
            key = 0 3200 0 0
        }
        // Jet params
        atmChangeFlow = True
        useVelCurve = True
        useAtmCurve = True
        flowMultCap = 3.0
        // no mach (heat) limit
        velCurve
        {
            key = 0 1 0 0.08333334
            key = 0.2 0.98 0.42074 0.42074
            key = 0.7 1.8 2.290406 2.290406
            key = 1.4 4.00 3.887193 3.887193
            key = 3.75 8.5 0 0
            key = 4.5 7.3 -2.831749 -2.831749
            key = 5.5 3 -5.260566 -5.260566
            key = 6 0 -0.02420209 0
        }
        atmCurve
        {
            // higher thrust at altitude than even TRJ
            key = 0 0 0 0
            key = 0.018 0.09 7.914787 7.914787
            key = 0.08 0.3 1.051923 1.051923
            key = 0.35 0.5 0.3927226 0.3927226
            key = 1 1 1.055097 0
        }
    }
    
    MODULE
    {
        name = ModuleEnginesFX
        engineID = AtmBreathing
        powerEffectName = power_open_atm
        //runningEffectName = running_open
        thrustVectorTransformName = thrustTransform
        exhaustDamage = True
        ignitionThreshold = 0.33
        minThrust = 0
        maxThrust = 80
        heatProduction = 105
        useEngineResponseTime = True
        engineAccelerationSpeed = 0.2
        engineDecelerationSpeed = 0.35
        useVelocityCurve = False        
        spoolEffectName = running_open_atm
        engineSpoolIdle = 0.05
        engineSpoolTime = 2.0
        EngineType = Turbine
        exhaustDamageMultiplier = 50
        exhaustDamageDistanceOffset = 0.19
        clampPropReceived = True
        PROPELLANT
        {
            name = IntakeAtm
            ignoreForIsp = True
            ratio = 6
        }
        PROPELLANT
        {
            name = LiquidFuel
            resourceFlowMode = STAGE_STACK_FLOW_BALANCE
            ratio = 1
            DrawGauge = True
        }
        atmosphereCurve
        {
            key = 0 3000 0 0
        }
        // Jet params
        atmChangeFlow = True
        useVelCurve = True
        useAtmCurve = True
        flowMultCap = 3.0
        // no mach (heat) limit
        velCurve
        {
            key = 0 1 0 0.08333334
            key = 0.2 0.98 0.42074 0.42074
            key = 0.7 1.8 2.290406 2.290406
            key = 1.4 4.00 3.887193 3.887193
            key = 3.75 8.5 0 0
            key = 4.5 7.3 -2.831749 -2.831749
            key = 5.5 3 -5.260566 -5.260566
            key = 6 0 -0.02420209 0
        }
        atmCurve
        {
            // higher thrust at altitude than even TRJ
            key = 0 0 0 0
            key = 0.018 0.09 7.914787 7.914787
            key = 0.08 0.3 1.051923 1.051923
            key = 0.35 0.5 0.3927226 0.3927226
            key = 1 1 1.055097 0
        }
    }
    
    MODULE
    {
        name = ModuleEnginesFX
        engineID = ClosedCycle
        runningEffectName = running_closed
        thrustVectorTransformName = thrustTransform
        exhaustDamage = True
        ignitionThreshold = 0.1
        minThrust = 0
        maxThrust = 190
        heatProduction = 180
        fxOffset = 0, 0, 0.25
        EngineType = LiquidFuel
        exhaustDamageDistanceOffset = 0.19
        PROPELLANT
        {
            name = LiquidFuel
            resourceFlowMode = STAGE_STACK_FLOW_BALANCE
            ratio = 0.9
            DrawGauge = True
        }
        PROPELLANT
        {
            name = Oxidizer
            resourceFlowMode = STAGE_STACK_FLOW_BALANCE
            ratio = 1.1
            DrawGauge = True
        }
        atmosphereCurve
        {
            key = 0 310
            key = 1 285
            key = 9 0.001
        }
    }
    
    MODULE
    {
        name = ModuleEnginesFX
        engineID = ClosedCycleDarkGoo
        runningEffectName = running_closed_DarkGoo
        thrustVectorTransformName = thrustTransform
        exhaustDamage = True
        ignitionThreshold = 0.1
        minThrust = 0
        maxThrust = 160
        heatProduction = 1800    //133
        fxOffset = 0, 0, 0.25
        EngineType = Nuclear
        exhaustDamageDistanceOffset = 0.19
        PROPELLANT
        {
            name = LiquidFuel
            resourceFlowMode = STAGE_PRIORITY_FLOW
            ratio = 8
            DrawGauge = True
        }
        PROPELLANT:NEEDS[GTIndustries]
        {
            name = DarkGoo
            resourceFlowMode = STAGE_PRIORITY_FLOW
            ratio = 1
            ignoreForIsp = False
            DrawGauge = True
        }
        PROPELLANT:NEEDS[!GTIndustries]
        {
            name = Ore
            resourceFlowMode = STAGE_PRIORITY_FLOW
            ratio = 1
            ignoreForIsp = False
            DrawGauge = True
        }        
        atmosphereCurve
        {
            key = 0 10000
            key = 1 10
            key = 9 0.001
        }
    }
    
    MODULE
    {
        name = FXModuleAnimateThrottle
        animationName = HeatAnimationEmissiveRapier
        responseSpeed = 0.001
        dependOnEngineState = True
        dependOnThrottle = True
        preferMultiMode = True // bind to the parent multimode module, not the actual engines.
    }
    //...

    MODULE
    {
        name = ModuleSurfaceFX
        thrustProviderModuleIndex = 1
        fxMax = 0.5
        maxDistance = 20
        falloff = 2
        thrustTransformName = thrustTransform
    }
    MODULE
    {
        name = ModuleSurfaceFX
        thrustProviderModuleIndex = 2
        fxMax = 0.5
        maxDistance = 20
        falloff = 2
        thrustTransformName = thrustTransform
    }
    MODULE
    {
        name = ModuleSurfaceFX
        thrustProviderModuleIndex = 3
        fxMax = 0.6
        maxDistance = 30
        falloff = 1.6
        thrustTransformName = thrustTransform
    }
    MODULE
    {
        name = ModuleSurfaceFX
        thrustProviderModuleIndex = 4
        fxMax = 0.6
        maxDistance = 30
        falloff = 1.6
        thrustTransformName = thrustTransform
    }
    
    EFFECTS
    {
        running_closed
        {
            AUDIO
            {
                channel = Ship
                clip = sound_rocket_spurts
                volume = 0.0 0.0
                volume = 1.0 1.0
                pitch = 0.0 0.2
                pitch = 1.0 1.0
                loop = true
            }
            PREFAB_PARTICLE
            {
                prefabName = fx_smokeTrail_aeroSpike
                transformName = smokePoint
                emission = 0.0 0.0
                emission = 0.05 0.0
                emission = 0.075 0.25
                emission = 1.0 1.25
                speed = 0.0 0.25
                speed = 1.0 1.0
                localOffset = 0, 0, 1
            }
            MODEL_MULTI_PARTICLE
            {
                modelName = Squad/FX/shockExhaust_blue_small
                transformName = thrustTransform
                emission = 0.0 0.0
                emission = 0.05 0.0
                emission = 0.075 0.25
                emission = 1.0 1.25
                speed = 0.0 0.5
                speed = 1.0 1.2
            }
        }
        running_closed_DarkGoo
        {
            AUDIO
            {
                channel = Ship
                clip = sound_rocket_spurts
                volume = 0.0 0.0
                volume = 1.0 1.0
                pitch = 0.0 0.2
                pitch = 1.0 1.0
                loop = true
            }
            PREFAB_PARTICLE
            {
                prefabName = fx_smokeTrail_aeroSpike
                transformName = smokePoint
                emission = 0.0 0.0
                emission = 0.05 0.0
                emission = 0.075 0.25
                emission = 1.0 1.25
                speed = 0.0 0.25
                speed = 1.0 1.0
                localOffset = 0, 0, 1
            }
            MODEL_MULTI_PARTICLE
            {
                modelName = Squad/FX/shockExhaust_blue_small
                transformName = thrustTransform
                emission = 0.0 0.0
                emission = 0.05 0.0
                emission = 0.075 0.25
                emission = 1.0 1.25
                speed = 0.0 0.5
                speed = 1.0 1.2
            }
        }
        power_open
        {
            AUDIO
            {
                channel = Ship
                clip = sound_rocket_spurts
                volume = 0.0 0.0
                volume = 0.05 0.0
                volume = 1.0 1.0
                pitch = 0.0 0.2
                pitch = 1.0 1.0
                loop = true
            }
            MODEL_MULTI_PARTICLE
            {
                modelName = Squad/FX/shockExhaust_red_small
                transformName = thrustTransform
                emission = 0.0 0.0
                emission = 0.05 0.0
                emission = 0.075 0.25
                emission = 1.0 1.25
                speed = 0.0 0.5
                speed = 1.0 1.2
            }
        }
        power_open_C
        {
            AUDIO
            {
                channel = Ship
                clip = sound_rocket_spurts
                volume = 0.0 0.0
                volume = 0.05 0.0
                volume = 1.0 1.0
                pitch = 0.0 0.2
                pitch = 1.0 1.0
                loop = true
            }
            MODEL_MULTI_PARTICLE
            {
                modelName = Squad/FX/shockExhaust_red_small
                transformName = thrustTransform
                emission = 0.0 0.0
                emission = 0.05 0.0
                emission = 0.075 0.25
                emission = 1.0 1.25
                speed = 0.0 0.5
                speed = 1.0 1.2
            }
        }
        running_open
        {
            AUDIO
            {
                channel = Ship
                clip = sound_jet_deep
                volume = 0.0 0.0
                volume = 0.05 0.6
                volume = 1.0 1.0
                pitch = 0.0 0.7
                pitch = 1.0 1.4
                loop = true
            }
            PREFAB_PARTICLE
            {
                prefabName = fx_smokeTrail_aeroSpike
                transformName = smokePoint
                emission = 0.0 0.0
                emission = 0.05 0.0
                emission = 0.075 0.25
                emission = 1.0 1.25
                speed = 0.0 0.25
                speed = 1.0 1.0
                localOffset = 0, 0, 1
            }
        }
        running_open_C
        {
            AUDIO
            {
                channel = Ship
                clip = sound_jet_deep
                volume = 0.0 0.0
                volume = 0.05 0.6
                volume = 1.0 1.0
                pitch = 0.0 0.7
                pitch = 1.0 1.4
                loop = true
            }
            PREFAB_PARTICLE
            {
                prefabName = fx_smokeTrail_aeroSpike
                transformName = smokePoint
                emission = 0.0 0.0
                emission = 0.05 0.0
                emission = 0.075 0.25
                emission = 1.0 1.25
                speed = 0.0 0.25
                speed = 1.0 1.0
                localOffset = 0, 0, 1
            }
        }
        power_open_atm
        {
            AUDIO
            {
                channel = Ship
                clip = sound_rocket_spurts
                volume = 0.0 0.0
                volume = 0.05 0.0
                volume = 1.0 1.0
                pitch = 0.0 0.2
                pitch = 1.0 1.0
                loop = true
            }
            MODEL_MULTI_PARTICLE
            {
                modelName = Squad/FX/shockExhaust_red_small
                transformName = thrustTransform
                emission = 0.0 0.0
                emission = 0.05 0.0
                emission = 0.075 0.25
                emission = 1.0 1.25
                speed = 0.0 0.5
                speed = 1.0 1.2
            }
        }
        running_open_atm
        {
            AUDIO
            {
                channel = Ship
                clip = sound_jet_deep
                volume = 0.0 0.0
                volume = 0.05 0.6
                volume = 1.0 1.0
                pitch = 0.0 0.7
                pitch = 1.0 1.4
                loop = true
            }
            PREFAB_PARTICLE
            {
                prefabName = fx_smokeTrail_aeroSpike
                transformName = smokePoint
                emission = 0.0 0.0
                emission = 0.05 0.0
                emission = 0.075 0.25
                emission = 1.0 1.25
                speed = 0.0 0.25
                speed = 1.0 1.0
                localOffset = 0, 0, 1
            }
        }
        engage
        {
            AUDIO
            {
                channel = Ship
                clip = sound_vent_soft
                volume = 1.0
                pitch = 2.0
                loop = false
            }
        }
        flameout
        {
            PREFAB_PARTICLE
            {
                prefabName = fx_exhaustSparks_flameout_2
                transformName = smokePoint
                oneShot = true
            }
            AUDIO
            {
                channel = Ship
                clip = sound_explosion_low
                volume = 1.0
                pitch = 2.0
                loop = false
            }
        }
    }
}
 

You can compare that to the Rapier itself

Spoiler

PART
{
    name = RAPIER
    module = Part
    author = C. Jenkins
    mesh = rapier.mu
    MODEL
    {
        model = Squad/Parts/Engine/rapierEngine/rapier
    }
//...
    scale = 1.0
    node_stack_top = 0.0,0.741545,0.0 , 0.0, 1.0, 0.0
    node_stack_bottom = 0.0,-0.2048244, 0.0, 0.0, -1.0, 0.0
    CoMOffset = 0.0, 2.6, 0.0
    mass = 2.0
    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 = 20
    maxTemp = 2000 // = 3600
    TechRequired = aerospaceTech
    entryCost = 35000
    cost = 6000
    category = Engine
    subcategory = 0
    title = #autoLOC_500469 //#autoLOC_500469 = CR-7 R.A.P.I.E.R. Engine
    manufacturer = #autoLOC_501640 //#autoLOC_501640 = C7 Aerospace Division and Rockomax Conglomerate
    description = #autoLOC_500470 //#autoLOC_500470 = The R.A.P.I.E.R. (Reactive Alternate-Propellant Intelligent Engine for Rockets) is a joint venture between C7 Aerospace and the Rockomax Conglomerate. Designed to fill a gap in the design requirements for sustainable single stage to orbit aircraft, this engine combines the best of rocket and air-breathing thrust technology.
    attachRules = 1,0,1,1,0
    bulkheadProfiles = size1
    tags = #autoLOC_500471 //#autoLOC_500471 = aircraft ascent closed cycle dual fuel hybrid jet liquid main mode plane propuls rapier rocket ssto
    EFFECTS
    {
        running_closed
        {
            AUDIO
            {
                channel = Ship
                clip = sound_rocket_spurts
                volume = 0.0 0.0
                volume = 1.0 1.0
                pitch = 0.0 0.2
                pitch = 1.0 1.0
                loop = true
            }
            PREFAB_PARTICLE
            {
                prefabName = fx_smokeTrail_aeroSpike
                transformName = smokePoint
                emission = 0.0 0.0
                emission = 0.05 0.0
                emission = 0.075 0.25
                emission = 1.0 1.25
                speed = 0.0 0.25
                speed = 1.0 1.0
                localOffset = 0, 0, 1
            }
            MODEL_MULTI_PARTICLE
            {
                modelName = Squad/FX/shockExhaust_blue_small
                transformName = thrustTransform
                emission = 0.0 0.0
                emission = 0.05 0.0
                emission = 0.075 0.25
                emission = 1.0 1.25
                speed = 0.0 0.5
                speed = 1.0 1.2
            }
        }
        power_open
        {
            AUDIO
            {
                channel = Ship
                clip = sound_rocket_spurts
                volume = 0.0 0.0
                volume = 0.05 0.0
                volume = 1.0 1.0
                pitch = 0.0 0.2
                pitch = 1.0 1.0
                loop = true
            }
            MODEL_MULTI_PARTICLE
            {
                modelName = Squad/FX/shockExhaust_red_small
                transformName = thrustTransform
                emission = 0.0 0.0
                emission = 0.05 0.0
                emission = 0.075 0.25
                emission = 1.0 1.25
                speed = 0.0 0.5
                speed = 1.0 1.2
            }
        }
        running_open
        {
            AUDIO
            {
                channel = Ship
                clip = sound_jet_deep
                volume = 0.0 0.0
                volume = 0.05 0.6
                volume = 1.0 1.0
                pitch = 0.0 0.7
                pitch = 1.0 1.4
                loop = true
            }
            PREFAB_PARTICLE
            {
                prefabName = fx_smokeTrail_aeroSpike
                transformName = smokePoint
                emission = 0.0 0.0
                emission = 0.05 0.0
                emission = 0.075 0.25
                emission = 1.0 1.25
                speed = 0.0 0.25
                speed = 1.0 1.0
                localOffset = 0, 0, 1
            }
        }
        engage
        {
            AUDIO
            {
                channel = Ship
                clip = sound_vent_soft
                volume = 1.0
                pitch = 2.0
                loop = false
            }
        }
        flameout
        {
            PREFAB_PARTICLE
            {
                prefabName = fx_exhaustSparks_flameout_2
                transformName = smokePoint
                oneShot = true
            }
            AUDIO
            {
                channel = Ship
                clip = sound_explosion_low
                volume = 1.0
                pitch = 2.0
                loop = false
            }
        }
    }
    MODULE
    {
        name = MultiModeEngine
        primaryEngineID = AirBreathing
        primaryEngineModeDisplayName = #autoLOC_6001897 //#autoLOC_6001897 = AirBreathing
        secondaryEngineID = ClosedCycle
        secondaryEngineModeDisplayName = #autoLOC_6001898 //#autoLOC_6001898 = ClosedCycle
    }
    MODULE
    {
        name = ModuleEnginesFX
        engineID = AirBreathing
        powerEffectName = power_open
        //runningEffectName = running_open
        thrustVectorTransformName = thrustTransform
        exhaustDamage = True
        ignitionThreshold = 0.33
        minThrust = 0
        maxThrust = 105
        heatProduction = 60
        useEngineResponseTime = True
        engineAccelerationSpeed = 0.2
        engineDecelerationSpeed = 0.35
        useVelocityCurve = False        
        spoolEffectName = running_open
        engineSpoolIdle = 0.05
        engineSpoolTime = 2.0
        EngineType = Turbine
        exhaustDamageMultiplier = 50
        exhaustDamageDistanceOffset = 0.19
        clampPropReceived = True
        PROPELLANT
        {
            name = IntakeAir
            ignoreForIsp = True
            ratio = 6
        }
        PROPELLANT
        {
            name = LiquidFuel
            resourceFlowMode = STAGE_STACK_FLOW_BALANCE
            ratio = 1
            DrawGauge = True
        }
        atmosphereCurve
        {
            key = 0 3200 0 0
        }
        // Jet params
        atmChangeFlow = True
        useVelCurve = True
        useAtmCurve = True
        flowMultCap = 3.0
        // no mach (heat) limit
        velCurve
        {
            key = 0 1 0 0.08333334
            key = 0.2 0.98 0.42074 0.42074
            key = 0.7 1.8 2.290406 2.290406
            key = 1.4 4.00 3.887193 3.887193
            key = 3.75 8.5 0 0
            key = 4.5 7.3 -2.831749 -2.831749
            key = 5.5 3 -5.260566 -5.260566
            key = 6 0 -0.02420209 0
        }
        atmCurve
        {
            // higher thrust at altitude than even TRJ
            key = 0 0 0 0
            key = 0.018 0.09 7.914787 7.914787
            key = 0.08 0.3 1.051923 1.051923
            key = 0.35 0.5 0.3927226 0.3927226
            key = 1 1 1.055097 0
        }
    }
    MODULE
    {
        name = ModuleEnginesFX
        engineID = ClosedCycle
        runningEffectName = running_closed
        thrustVectorTransformName = thrustTransform
        exhaustDamage = True
        ignitionThreshold = 0.1
        minThrust = 0
        maxThrust = 180
        heatProduction = 133
        fxOffset = 0, 0, 0.25
        EngineType = LiquidFuel
        exhaustDamageDistanceOffset = 0.19
        PROPELLANT
        {
            name = LiquidFuel
            resourceFlowMode = STAGE_STACK_FLOW_BALANCE
            ratio = 0.9
            DrawGauge = True
        }
        PROPELLANT
        {
            name = Oxidizer
            resourceFlowMode = STAGE_STACK_FLOW_BALANCE
            ratio = 1.1
        }
        atmosphereCurve
        {
            key = 0 305
            key = 1 275
            key = 9 0.001
        }
    }
    MODULE
    {
        name = FXModuleAnimateThrottle
        animationName = HeatAnimationEmissiveRapier
        responseSpeed = 0.001
        dependOnEngineState = True
        dependOnThrottle = True
        preferMultiMode = True // bind to the parent multimode module, not the actual engines.
    }
//...
    MODULE
    {
        name = ModuleSurfaceFX
        thrustProviderModuleIndex = 1
        fxMax = 0.5
        maxDistance = 20
        falloff = 2
        thrustTransformName = thrustTransform
    }
    MODULE
    {
        name = ModuleSurfaceFX
        thrustProviderModuleIndex = 2
        fxMax = 0.6
        maxDistance = 30
        falloff = 1.6
        thrustTransformName = thrustTransform
    }
}

You will notice how most effect are duplicated (and can be different). This is important in order to get the effects working properly.

A long time ago I asked for help with the effect part, and got some help too. This might come in handy for you too, I think.

But you are still welcome to post you example problem, and I'll take a look.

Link to comment
Share on other sites

  • 1 month later...

I would like to make an engine with two variants, one with a large nozzle and one with a small nozzle. I can change the mass, cost, and appearance of the engine using B9 part switch. I can change the isp and thrust of the engine by selecting an appropriate gti multi mode engine mode. However, there is no way, currently, for me to unify these behaviors and enforce a certain B9 part variant for a certain engine module.

The B9 part switch code has public strings for the selected variant. Is it possible to make a modified gtimultimodeengine module that can read these strings and set the selected engine module accordingly, according to definitions in the part config file?

Link to comment
Share on other sites

  • 3 months later...
On 4/30/2018 at 4:56 PM, zekew11 said:

I would like to make an engine with two variants, one with a large nozzle and one with a small nozzle. I can change the mass, cost, and appearance of the engine using B9 part switch. I can change the isp and thrust of the engine by selecting an appropriate gti multi mode engine mode. However, there is no way, currently, for me to unify these behaviors and enforce a certain B9 part variant for a certain engine module.

The B9 part switch code has public strings for the selected variant. Is it possible to make a modified gtimultimodeengine module that can read these strings and set the selected engine module accordingly, according to definitions in the part config file?

Sounds like possibly a filter or key would be need to be defined for some modules. Like...if X variant selected. Apply X multimodemodule. If Y is selected use Y module. Not sure tho.

Link to comment
Share on other sites

  • 2 months later...
On 8/17/2018 at 12:26 AM, Anders Kerman said:

Great Mod Thanks,

However I can neither toggle the intakes nor the engines in action groups in the case of engines I don't even see the option

Are you running version 1.5+???

The mod is not updated for that.

Link to comment
Share on other sites

  • 4 months later...
  • 2 weeks later...
  • 10 months later...
  • 4 months later...

I'm attempting to add alternate modes to KerbalAtomics engines, and there's a persistent issue I'm running into. Essentially, after first starting up an engine, all possible modes are enabled at once, instead of just one:

xOUQOv3.jpg

Switching the mode fixes it, but it comes back if you disable and reenable the engine. I'm pretty sure it has to do with DeployableEngines, but I'm not entirely sure.

Link to comment
Share on other sites

On 6/24/2020 at 4:04 AM, coyotesfrontier said:

I'm attempting to add alternate modes to KerbalAtomics engines, and there's a persistent issue I'm running into. Essentially, after first starting up an engine, all possible modes are enabled at once, instead of just one:

 

Switching the mode fixes it, but it comes back if you disable and reenable the engine. I'm pretty sure it has to do with DeployableEngines, but I'm not entirely sure.

Interesting. It seems that DeployableEngines manipulated the engines, resulting in all the modes being activated. It seems that deployable engines manipulates the engines after my mod have initialized and disabled the engines that are not active.

It seems from the source code that deployable engines handles stock multimode enignes, but the ones from this mod. 

From https://github.com/ChrisAdderley/DeployableEngines/blob/master/Source/DeployableEngines/ModuleMultiStateEngine.cs#L40

 multiController = this.GetComponent<MultiModeEngine>();

I first guess would be to get Deployable Engines to recognise the "GTI_MultiModeEngineFX". They are very similar, so I would expect it to be easy enough, when it already handles stock multi mode.

Link to comment
Share on other sites

4 hours ago, Warezcrawler said:

Interesting. It seems that DeployableEngines manipulated the engines, resulting in all the modes being activated. It seems that deployable engines manipulates the engines after my mod have initialized and disabled the engines that are not active.

It seems from the source code that deployable engines handles stock multimode enignes, but the ones from this mod. 

From https://github.com/ChrisAdderley/DeployableEngines/blob/master/Source/DeployableEngines/ModuleMultiStateEngine.cs#L40


 multiController = this.GetComponent<MultiModeEngine>();

I first guess would be to get Deployable Engines to recognise the "GTI_MultiModeEngineFX". They are very similar, so I would expect it to be easy enough, when it already handles stock multi mode.

I'll try to contact @Nertea and see if he's able to add support.

Link to comment
Share on other sites

  • 2 weeks later...
On 11/27/2016 at 7:08 PM, Warezcrawler said:
  Hide contents

Based on feedback, I have created 3 engines as a showcase of this mod. It is best used with Smokescreen and IFS, and moduleManager is as for most mods a need to have.

Get the parts here

  • GTI-2020 "Icicle" Multi Electric Propulsion System
    • Based on the Stock Ion Engine
    • 3 modes
      • Normal - compares to normal nuclear engine
      • High Velocity - is high efficiency mode at lower thrust, more heat and bad performance in atmospheric environments
      • Over Drive - boosted thrust, better performance in atmospheric environments, but much lower max ISP.

 

Credits to Nazari for effects from HotRockets which I use. These demand SmokeScreen to work.

 

Notice that only the Over Drive  mode in the GTI-2020 "Icicle" Multi Electric Propulsion System produces any exhaust effects (with mokeScreen installed) currently. I guess something got broken in the config

Edited by FreeThinker
Link to comment
Share on other sites

  • 1 year later...

Now that KSP has finally reach the end of endless updating, it is time to ensure compatibility with the lastest version of KSP.

However, I haven't upgraded yet, as I am in the middle of a playthrough and updating mods is a mayor task.

So my question is, is the latest version of my mod (this thread) compatible with latest ksp (1.12.1), or do I need to update it as it is?

Regards

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