pmborg Posted July 30, 2020 Share Posted July 30, 2020 (edited) 58 minutes ago, Lisias said: IIRRC... I forgot the % on ratio and DrawGauge on the PROPELLANT thingy, and also the :FINAL. But that would not had helped. I didn't knew OPT Legacy has B9PartSwitch as dependency, so anything I did on that hack was ruled out. I'm trying to workout a patch for this. B9PSW does not help by using nameless sections, so patching it is a bit different from what I'm used to do. I will edit this thing with a working patch as soon as I have one. -- POST EDIT -- This patch did what I wanted. I'm currently firing up KSP to see if it solves something on the Sage @PART[opt_sage]:FINAL { %RESOURCE[LiquidFuel] { %amount = 1 %maxAmount = 1 } @MODULE[ModuleEnginesFX] { %PROPELLANT[LiquidFuel] { %ratio = 0 %DrawGauge = False } } @MODULE[ModuleB9PartSwitch] { @SUBTYPE,* { @MODULE,* { @DATA,* { %PROPELLANT[LiquidFuel] { %ratio = 0 %DrawGauge = False } } } } } } -- -- POST POST EDIT -- -- I didn't found any exception on my KSP.log, but didn't checked if it would have some without the hack (working time, I can come back to this at lunch if needed). @pmborg, let me know if something changed on your rig. Cheers! Updated: K:\SteamLibrary\steamapps\common\Kerbal Space Program\GameData\__LOCAL>type hack.cfg @PART[opt_sage]:FINAL { %RESOURCE[LiquidFuel] { %amount = 1 %maxAmount = 1 } @MODULE[ModuleEnginesFX] { %PROPELLANT[LiquidFuel] { %ratio = 0 %DrawGauge = False } } K:\SteamLibrary\steamapps\common\Kerbal Space Program\GameData\__LOCAL> KSP is loading... 10 minutes ago, pmborg said: Updated: K:\SteamLibrary\steamapps\common\Kerbal Space Program\GameData\__LOCAL>type hack.cfg @PART[opt_sage]:FINAL { %RESOURCE[LiquidFuel] { %amount = 1 %maxAmount = 1 } @MODULE[ModuleEnginesFX] { %PROPELLANT[LiquidFuel] { %ratio = 0 %DrawGauge = False } } K:\SteamLibrary\steamapps\common\Kerbal Space Program\GameData\__LOCAL> KSP is loading... The patch was applied: [LOG 13:09:04.176] Log started at 2020-07-30 13:09:04.176 [LOG 13:09:19.508] Checking Cache [LOG 13:09:21.755] SHA generated in 2.245s [LOG 13:09:21.755] SHA = 24-9F-2A-F4-54-C9-CC-B1-CD-18-D7-FB-08-8D-BE-73-39-72-64-E5-09-75-5B-09-21-2C-88-DC-43-5D-46-BA [LOG 13:09:23.343] Changes : Changed : __LOCAL/hack.cfg.cfg ... [LOG 13:10:04.892] Applying update __LOCAL/hack/@PART[opt_sage]:FINAL to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 13:10:04.894] Done patching [LOG 13:10:04.895] Saving Cache [LOG 13:10:05.564] Saving cache [LOG 13:10:07.082] ModuleManager: 23486 patches applied ... [LOG 13:10:53.066] Config(@PART[opt_sage]:FINAL) __LOCAL/hack/@PART[opt_sage]:FINAL Unfortunately the error remains: [EXC 13:17:38.968] NullReferenceException: Object reference not set to an instance of an object ModuleEngines.UpdatePropellantGauge (Propellant p) (at <c1858a3f77504bd1aaa946fdccf84670>:0) ModuleEngines.UpdatePropellantStatus (System.Boolean doGauge) (at <c1858a3f77504bd1aaa946fdccf84670>:0) ModuleEngines.FixedUpdate () (at <c1858a3f77504bd1aaa946fdccf84670>:0) UnityEngine.DebugLogHandler:LogException(Exception, Object) ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object) UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object) Edited July 30, 2020 by pmborg Link to comment Share on other sites More sharing options...
JadeOfMaar Posted July 30, 2020 Share Posted July 30, 2020 (edited) @pmborg @Lisias OPT SAGE is one of my engines which uses B9PS to change engine stats (in this case, Isp). The console problem is most likely an effect of Tweakscale not supporting such parts. A good means to confirm this is to either: Try tweakscaling any of the new VTOL series of OPT engines which can change propellants (IntakeAir + LF or IntakeAtm + LFO) (nearly al of them) or change Isp (any WarpJets except for SURGE)... So practically all of those engines. Remove all the tweakscaled SAGEs and add fresh ones (scaled if Tweakscale allows it), launch, and fire them just to see if the console doesn't spam. Delete the two "VIsp" config files at OPT_Legacy\MM_Patches\ If the problem is due to intakeAtm not having a DrainFX definition (unlikely, I think) then CRP's owners have some work to do. Edited July 30, 2020 by JadeOfMaar Link to comment Share on other sites More sharing options...
pmborg Posted July 30, 2020 Share Posted July 30, 2020 (edited) 1 hour ago, JadeOfMaar said: @pmborg @Lisias OPT SAGE is one of my engines which uses B9PS to change engine stats (in this case, Isp). The console problem is most likely an effect of Tweakscale not supporting such parts. A good means to confirm this is to either: Try tweakscaling any of new VTOL series of OPT engines which can change propellants (IntakeAir + LF or IntakeAtm + LFO) (nearly al of them) or change Isp... So practically all of those engines. Remove all the tweakscaled SAGEs and add fresh ones (scaled if Tweakscale allows it), launch, and fire them just to see if the console doesn't spam. Delete the two "VIsp" config files at OPT_Legacy\MM_Patches\ If the problem is due to intakeAtm not having a DrainFX definition (unlikely, I think) then CRP's owners have some work to do. Hello @JadeOfMaar @Lisias! OP-1: If I use for example the engine OPT-E SCOOP Rocker "ARI-73": even with tweakscale it works without any problem. OP-2: Just removed the scale ones and add new ones (default size) no spam errors, the problem seams gone, but I need tweakscale Uploaded a video still processing the HD: @JadeOfMaar Trying now the op-3, wihtout: OPT_Other_VIsp.cfg_ OPT_SAGE_VIsp.cfg_ It's strange with this option, the error actually don't appear again, but the engines have power 0 kn! so don't take off. Edited July 30, 2020 by pmborg Link to comment Share on other sites More sharing options...
Lisias Posted July 30, 2020 Share Posted July 30, 2020 (edited) 3 hours ago, JadeOfMaar said: @pmborg @Lisias OPT SAGE is one of my engines which uses B9PS to change engine stats (in this case, Isp). The console problem is most likely an effect of Tweakscale not supporting such parts. It's something else (perhaps TweakScale is the trigger?). O installed OPT, OPT Legacy and OPT Reconfig, and I didn't managed to reproduce the issue on my side. However, I got something new now, after scaling up the SAGE: (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35) Uploading Crash Report NullReferenceException at (wrapper managed-to-native) UnityEngine.Component.GetComponentFastPath(UnityEngine.Component,System.Type,intptr) at UnityEngine.Component.GetComponent[T] () [0x00020] in <7d9ec060e791409ab3eb85c61e312ed6>:0 at DialogCanvasUtil.get_DialogCanvasRect () [0x00027] in <610de40702034962a21710e37d23e4e7>:0 at CrewHatchController.get_CrewHatchTooltip () [0x00065] in <610de40702034962a21710e37d23e4e7>:0 at CrewHatchController.HideTooltip () [0x00000] in <610de40702034962a21710e37d23e4e7>:0 at CrewHatchController.DespawnUIs () [0x00006] in <610de40702034962a21710e37d23e4e7>:0 at CrewHatchController.OnDestroy () [0x00058] in <610de40702034962a21710e37d23e4e7>:0 But it's certain that on the test craft, no crewed parts was scaled (so TweakScale can't be causing this one directly). I'm building a clean KSP to test it again, and until further evidences, I think it's better to switch this troubleshooting to a private conversation to avoid polluting this thread - it's not related for sure to OPT, it's some Add'On (or a mix of them). I will edit this post later with any findings of mine! -- -- -- POST EDIT -- -- -- The crash is unrelated. OPT 2.0.1 has an old Firespitter DLL on it, and I installed it by accident on KSP 1.10.1 - removing the old DLL fixed the crashes, at least, no more crashes happened since them! Edited July 30, 2020 by Lisias post edit Link to comment Share on other sites More sharing options...
pmborg Posted July 30, 2020 Share Posted July 30, 2020 (edited) 10 minutes ago, Lisias said: It's something else (perhaps TweakScale is the trigger?). O installed OPT, OPT Legacy and OPT Reconfig, and I didn't managed to reproduce the issue on my side. However, I got something new now, after scaling up the SAGE: (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35) Uploading Crash Report NullReferenceException at (wrapper managed-to-native) UnityEngine.Component.GetComponentFastPath(UnityEngine.Component,System.Type,intptr) at UnityEngine.Component.GetComponent[T] () [0x00020] in <7d9ec060e791409ab3eb85c61e312ed6>:0 at DialogCanvasUtil.get_DialogCanvasRect () [0x00027] in <610de40702034962a21710e37d23e4e7>:0 at CrewHatchController.get_CrewHatchTooltip () [0x00065] in <610de40702034962a21710e37d23e4e7>:0 at CrewHatchController.HideTooltip () [0x00000] in <610de40702034962a21710e37d23e4e7>:0 at CrewHatchController.DespawnUIs () [0x00006] in <610de40702034962a21710e37d23e4e7>:0 at CrewHatchController.OnDestroy () [0x00058] in <610de40702034962a21710e37d23e4e7>:0 But it's certain that on the test craft, no crewed parts was scaled (so TweakScale can't be causing this one directly). I'm building a clean KSP to test it again, and until further evidences, I think it's better to switch this troubleshooting to a private conversation to avoid polluting this thread - it's not related for sure to OPT, it's some Add'On (or a mix of them). I will edit this post later with any findings of mine! Hello @Lisias, You can download the craft here: https://kerbalx.com/pmborg/Space3D-KSP110B And you can install all addons with this one shot: https://www.dropbox.com/s/z9qp84i9soxrhes/Install-ALL.zip?dl=0 The version Space3D-KSP1.10C in addition to version B is that I added the parachutes to land on EVE. Edited July 30, 2020 by pmborg Link to comment Share on other sites More sharing options...
pmborg Posted July 30, 2020 Share Posted July 30, 2020 (edited) 9 hours ago, pmborg said: @pmborg @Lisias OPT SAGE is one of my engines which uses B9PS to change engine stats (in this case, Isp). The console problem is most likely an effect of Tweakscale not supporting such parts. A good means to confirm this is to either: Try tweakscaling any of new VTOL series of OPT engines which can change propellants (IntakeAir + LF or IntakeAtm + LFO) (nearly al of them) or change Isp... So practically all of those engines. Remove all the tweakscaled SAGEs and add fresh ones (scaled if Tweakscale allows it), launch, and fire them just to see if the console doesn't spam. Delete the two "VIsp" config files at OPT_Legacy\MM_Patches\ Hello @JadeOfMaar @Lisias! OP-1: If I use for example the engine OPT-E SCOOP Rocker "ARI-73": even with tweakscale it works without any problem. OP-2: Just removed the scale ones and add new ones (default size) no spam errors, the problem seams gone, but I need tweakscale Uploaded a video still processing the HD: @JadeOfMaar Trying now the op-3, wihtout: OPT_Other_VIsp.cfg_ OPT_SAGE_VIsp.cfg_ Actually this solve the problem! What do you think @JadeOfMaar ? Correction the option 3 solve the problem!. I still wondering what this engine have so special that is the only one that don't work well with Scaling :S But with the option 3 all work well Thank you! Edited July 30, 2020 by pmborg Link to comment Share on other sites More sharing options...
JadeOfMaar Posted July 31, 2020 Share Posted July 31, 2020 @pmborg As I said, the root of the conflict is that the SAGE uses B9PS to change engine properties, specifically, propellant ratios and the Isp curve (it clears properties and re-initializes the stock module due to how it works). B9PS doesn't communicate that level of complexity to Tweakscale, and Tweakscale has to deal with prefabs being restored on quickload or whatever (as Lisias would say) which Tweakscale doesn't handle well or at all. This solution (delete those two files) applies not just to SAGE but to any other engines that say they can exchange thrust for Isp. You may want to consider instead of WapJet SAGE, clipping in some WarpJet MARGE as they are compact and powerful near sea level. (These ones are actually scaled up a bit, I think) Or use the form-fitting Wrapper WarpJet FVT-L for Humpback body (but be mindful that its intake gets blocked due to the aero shielding radius of Humpback's cargo bays, and their origins being in the center of the bays). And personally MM them to have the thrust that you need. That's why I made them. They're made to be used on crafts like yours. Link to comment Share on other sites More sharing options...
pmborg Posted July 31, 2020 Share Posted July 31, 2020 Thank you @JadeOfMaar I definitely will test/study your ideas (WarpJet MARGE and WarpJet FVT-L ) on this ship as alternatives/possibilities. Link to comment Share on other sites More sharing options...
Lisias Posted July 31, 2020 Share Posted July 31, 2020 3 hours ago, JadeOfMaar said: B9PS doesn't communicate that level of complexity to Tweakscale, and Tweakscale has to deal with prefabs being restored on quickload or whatever (as Lisias would say) which Tweakscale doesn't handle well or at all. Nope, TweakScale is working fine with SAGE and B9 on my test rig, I would had detect any problem at first glance - I'm reproducing the @pmborg instalent gradativelly to detect exactly what's going wrong. Sounds more like an (bad) interaction between B9 and some other fuel switch, as it already happened in the past. I will get into it in the exact instant I install the conflicting Add'On Link to comment Share on other sites More sharing options...
JadeOfMaar Posted July 31, 2020 Share Posted July 31, 2020 3 minutes ago, Lisias said: Nope, TweakScale is working fine with SAGE and B9 on my test rig, I would had detect any problem at first glance - I'm reproducing the @pmborg instalent gradativelly to detect exactly what's going wrong. That's a surprise. Well it's got to be something KSPI is doing. I know KSPI has its own propellant switch mechanism for engines, and pmborg's screenshot showed me that KSPI has attached stuff to the SAGE. But I dont know for sure if the actual KSPI propellant switcher is added to it (as KSPI has its own copy of that engine now). If not all that then my final guess is whatever bug is in the part config for my engine which causes two "Activate Engine" buttons to appear in its PAW. (When you have to engine modules and don't have the multimodeengine module.) Link to comment Share on other sites More sharing options...
Lisias Posted July 31, 2020 Share Posted July 31, 2020 (edited) 16 hours ago, JadeOfMaar said: That's a surprise. Well it's got to be something KSPI is doing. I know KSPI has its own propellant switch mechanism for engines, and pmborg's screenshot showed me that KSPI has attached stuff to the SAGE. Yep, it handle resources its own way, but it also handles TweakScale events, so things just works - as long no other fuel switch is installed, when IFS waives the switching but still tries to scale the part when TS asks it. It's the reason TS yells when it finds more than one Fuel Switch on a part, as it can't know who is switching and who is scaling, with the net result of something borking on the Rescale and TS taking the blame. Users of KSPI didn't needed the KSP-Recall exactly due this - it was not affected by the resource overwritting. 16 hours ago, JadeOfMaar said: If not all that then my final guess is whatever bug is in the part config for my engine which causes two "Activate Engine" buttons to appear in its PAW. (When you have to engine modules and don't have the multimodeengine module.) On TS, this triggers the TweakScaleRogueDuplicated stunt, and until recently was due rogue patching - patches that blindly adds an additional TweakScale module on a part instead of modifiyng the existent one. But this can be verified by inspecting the MM ConfigCache, and on this case the MM ConfigCache was ok, no double TweakScale on it..... Hummm... I'm an idiot. I didn't checked if anything else was double patched. I will check that file again and see if I find anything else duplicated on opt.sage . -- -- -- POST EDIT -- -- -- Yep. The opt_sage engine is double patched. There're TWO ModuleEnginesFX modules working on this part, I found both on the MM ConfigCache, so this is a double patching for sure. At least on TweakScale, only the first copy is active - knowing it, TweakScale declares the second a RogueDuplicate and get rid of it. But since you don't do it, the second module lingers around with incomplete data and when something tries to probe it, you have the NullReferenceException mentioned . [edit: Multiple ModuleEnginesFX are used by MultiModeEngine module. It's legit, it not the same as TweakScale] This is the two copies of the module I found on the ConfigCache: MODULE { name = ModuleEnginesFX engineID = WJOpen thrustVectorTransformName = thrustTransform exhaustDamage = True ignitionThreshold = 0.03 minThrust = 0 maxThrust = 250 heatProduction = 160 useEngineResponseTime = True engineAccelerationSpeed = 0.7 engineDecelerationSpeed = 0.35 useVelocityCurve = False flameoutEffectName = flameout powerEffectName = running_open engageEffectName = engage disengageEffectName = disengage spoolEffectName = running_turbine engineSpoolIdle = 0.05 engineSpoolTime = 1.0 EngineType = LiquidFuel exhaustDamageMultiplier = 200 exhaustDamageMaxRange = 10 atmChangeFlow = True useVelCurve = False useAtmCurve = True PROPELLANT { name = ElectricCharge ratio = 3.1 DrawGauge = True } PROPELLANT { name = IntakeAtm ratio = 1 DrawGauge = True } atmosphereCurve { key = 0 300 key = 1 240 -22.22222 -12.72055 key = 10 190 -1.065011 0 } atmCurve { key = 0 1.5 0 0 key = 0.01 2 0 0 key = 0.1 2 0 -2.810402 key = 0.4 1.079561 -0.4394221 -0.4630589 key = 1 1 8.414095E-07 -0.2883541 key = 9 0 -0.1323353 0 } PROPELLANT { name = LiquidFuel ratio = 0 DrawGauge = False } } ---- copy two ---- MODULE { name = ModuleEnginesFX engineID = WJClosed thrustVectorTransformName = thrustTransform exhaustDamage = True ignitionThreshold = 0.01 minThrust = 0 maxThrust = 375 heatProduction = 190 useVelocityCurve = False flameoutEffectName = flameout powerEffectName = running_closed engageEffectName = engage disengageEffectName = disengage engineSpoolIdle = 0.05 engineSpoolTime = 1.0 EngineType = Electric exhaustDamageMultiplier = 200 exhaustDamageMaxRange = 20 PROPELLANT { name = ElectricCharge ratio = 101.927 DrawGauge = True } PROPELLANT { name = IntakeAtm ratio = 1 DrawGauge = True } atmosphereCurve { key = 0.001 3000 key = 1 30 key = 1.05 0.001 0 0 } } Ignore that PROPELLANT[LiquidFuel] at the end of the first copy of the module, it looks like my hack. I asked a fresh copy from @pmborg to confirm thou. This is the complete list of patches being applied to opt_sage: [LOG 10:51:11.317] Applying update Jettison/ModuleManager_Jettison/@PART[*]:HAS[@RESOURCE,!RESOURCE[Ore],!RESOURCE[Ablator],!RESOURCE[SolidFuel],!RESOURCE[ElectricCharge],!RESOURCE[MonoPropellant]] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:12.474] Applying update OPT_Legacy/MM_Patches/OPT_SAGE_VIsp/@PART[opt_sage]:NEEDS[B9PartSwitch] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:12.564] Applying update OPT_Legacy/MM_Patches/OPT_TweakScale2/@PART[opt_sage|opt_egg|opt_vtol_egg]:NEEDS[TweakScale] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:12.565] Applying update OPT_Legacy/MM_Patches/OPT_TweakScale2/@PART[opt_sage|opt_egg|opt_vtol_egg]:NEEDS[TweakScale] to OPT_Legacy/Parts/Engines/VTOL/EnginesEggDog.cfg/PART[opt_vtol_egg] [LOG 10:51:12.722] Applying update OPT_Legacy/MM_Patches/Category/Category/@PART:HAS[#manufacturer[OPT?Prop*Division]] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:12.852] Applying update OPT_Legacy/Parts/DepthMasks/Patches/@PART[opt_sage|J61] to OPT_Legacy/Parts/Engines/J61/OPT_J61.cfg/PART[J61] [LOG 10:51:12.853] Applying update OPT_Legacy/Parts/DepthMasks/Patches/@PART[opt_sage|J61] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:13.778] Applying update OPT_Reconfig/OPT_CTT/@PART[opt_surge|opt_sage|j81turbojet|opt_vtol_wrap?2|opt_vtol_jumpa2] to OPT_Legacy/Parts/Engines/J81/j81turbo.cfg/PART[j81turbojet] [LOG 10:51:13.778] Applying update OPT_Reconfig/OPT_CTT/@PART[opt_surge|opt_sage|j81turbojet|opt_vtol_wrap?2|opt_vtol_jumpa2] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:13.778] Applying update OPT_Reconfig/OPT_CTT/@PART[opt_surge|opt_sage|j81turbojet|opt_vtol_wrap?2|opt_vtol_jumpa2] to OPT_Legacy/Parts/Engines/SURGE/OPT_SURGE.cfg/PART[opt_surge] [LOG 10:51:13.778] Applying update OPT_Reconfig/OPT_CTT/@PART[opt_surge|opt_sage|j81turbojet|opt_vtol_wrap?2|opt_vtol_jumpa2] to OPT_Legacy/Parts/Engines/VTOL/EnginesAT-WJ.cfg/PART[opt_vtol_jumpa2] [LOG 10:51:13.778] Applying update OPT_Reconfig/OPT_CTT/@PART[opt_surge|opt_sage|j81turbojet|opt_vtol_wrap?2|opt_vtol_jumpa2] to OPT_Legacy/Parts/Engines/VTOL/EnginesWrapperWJ.cfg/PART[opt_vtol_wrapj2] [LOG 10:51:13.778] Applying update OPT_Reconfig/OPT_CTT/@PART[opt_surge|opt_sage|j81turbojet|opt_vtol_wrap?2|opt_vtol_jumpa2] to OPT_Legacy/Parts/Engines/VTOL/EnginesWrapperWJ.cfg/PART[opt_vtol_wrapl2] [LOG 10:51:13.778] Applying update OPT_Reconfig/OPT_CTT/@PART[opt_surge|opt_sage|j81turbojet|opt_vtol_wrap?2|opt_vtol_jumpa2] to OPT_Legacy/Parts/Engines/VTOL/EnginesWrapperWJ.cfg/PART[opt_vtol_wrapk2] [LOG 10:51:14.178] Applying update OPT_Reconfig/OPT_LiftSurface/@PART:HAS[@MODULE[ModuleLiftingSurface]:HAS[#dragAtMinAoA[>0.1]],#manufacturer[OPT*Division]]:NEEDS[!FerramAerospaceResearch] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:14.221] Applying update OPT_Reconfig/OPT_LiftSurface/@PART:HAS[#title[OPT?*],#manufacturer[OPT*Division]]:NEEDS[!FerramAerospaceResearch] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:14.621] Applying update OPT_Reconfig/CRP/OPT_B9PS_Cryo/@PART:HAS[#manufacturer[OPT*Division],@MODULE[ModuleB9PartSwitch]]:NEEDS[B9PartSwitch,CryoEngines|KerbalAtomics,!Pathfinder,!ModularFuelTanks,!RealFuels] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:14.683] Applying update OPT_Reconfig/CRP/OPT_IntakeAtm/@PART:HAS[@RESOURCE[IntakeAir],!RESOURCE[IntakeAtm]]:NEEDS[CommunityResourcePack] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:14.831] Applying update OPT_Reconfig/CRP/OPT_RCS_toggles/@PART:HAS[#manufacturer[OPT*Division],@MODULE[ModuleB9PartSwitch]]:NEEDS[B9PartSwitch,!Pathfinder,!ModularFuelTanks,!RealFuels] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:26.816] Applying update __LOCAL/hack/@PART[opt_sage] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:33.013] Applying update OPT_Reconfig/CRP/OPT_IntakeAtm/@PART[opt_sage|opt_vtol_wrap?2|opt_vtol_jump?2]:NEEDS[CommunityResourcePack]:AFTER[OPT_Legacy] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:33.013] Applying update OPT_Reconfig/CRP/OPT_IntakeAtm/@PART[opt_sage|opt_vtol_wrap?2|opt_vtol_jump?2]:NEEDS[CommunityResourcePack]:AFTER[OPT_Legacy] to OPT_Legacy/Parts/Engines/VTOL/EnginesAT-WJ.cfg/PART[opt_vtol_jumpa2] [LOG 10:51:33.014] Applying update OPT_Reconfig/CRP/OPT_IntakeAtm/@PART[opt_sage|opt_vtol_wrap?2|opt_vtol_jump?2]:NEEDS[CommunityResourcePack]:AFTER[OPT_Legacy] to OPT_Legacy/Parts/Engines/VTOL/EnginesWrapperWJ.cfg/PART[opt_vtol_wrapj2] [LOG 10:51:33.015] Applying update OPT_Reconfig/CRP/OPT_IntakeAtm/@PART[opt_sage|opt_vtol_wrap?2|opt_vtol_jump?2]:NEEDS[CommunityResourcePack]:AFTER[OPT_Legacy] to OPT_Legacy/Parts/Engines/VTOL/EnginesWrapperWJ.cfg/PART[opt_vtol_wrapl2] [LOG 10:51:33.015] Applying update OPT_Reconfig/CRP/OPT_IntakeAtm/@PART[opt_sage|opt_vtol_wrap?2|opt_vtol_jump?2]:NEEDS[CommunityResourcePack]:AFTER[OPT_Legacy] to OPT_Legacy/Parts/Engines/VTOL/EnginesWrapperWJ.cfg/PART[opt_vtol_wrapk2] [LOG 10:51:33.053] Applying update OPT_Reconfig/OPT_00Clean/@PART:HAS[#manufacturer[OPT*Division]]:FOR[OPT_Reconfig] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:33.093] Applying update OPT_Reconfig/OPT_B9PS_TAC/@PART:HAS[#manufacturer[OPT*Division],@MODULE[ModuleB9PartSwitch]]:FOR[OPT_Reconfig]:NEEDS[TacLifeSupport,!ModularFuelTanks,!RealFuels] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:36.260] Applying update WarpPlugin/Patches/AtmosphericIntake/@PART[*]:HAS[!MODULE[AtmosphericIntake],@MODULE[ModuleResourceIntake]:HAS[#resourceName[IntakeAir]]]:FOR[WarpPlugin] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:36.364] Applying update WarpPlugin/Patches/AtmosphericIntake/@PART[*]:HAS[@MODULE[ModuleResourceIntake]:HAS[#resourceName[IntakeAir],#area]]:FOR[WarpPlugin] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:36.435] Applying update WarpPlugin/Patches/AtmosphericIntake/@PART[*]:HAS[@MODULE[ModuleResourceIntake]:HAS[#resourceName[IntakeAir],#intakeTransformName]]:FOR[WarpPlugin] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:36.529] Applying update WarpPlugin/Patches/AtmosphericIntake/@PART[*]:HAS[@MODULE[ModuleResourceIntake]:HAS[#resourceName[IntakeAir],#intakeSpeed]]:FOR[WarpPlugin] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:39.870] Applying update B9PartSwitch/PartInfo/@PART[*]:HAS[@MODULE[ModuleB9PartSwitch]]:FOR[zzzzzz-B9PartSwitch] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:40.167] Applying update InterstellarFuelSwitch/PatchManager/ActiveMMPatches/IntegratedDecoupler/@PART[*]:FINAL to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:42.297] Applying update PartInfo/PartInfo/@PART[*]:Final to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:43.173] Applying update WarpPlugin/Patches/OreTanksFix/@PART[*]:FINAL to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] This is the exact patching log I have on my rig except by one extra patch: [LOG 10:51:42.297] Applying update PartInfo/PartInfo/@PART[*]:Final to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] That it's part info that I didn't installed. But this is harmless for sure. Now the interesting part: my ConfigCache is also double patched for opt_sage, but my rig don't suffer of the NREs reported by @pmborg. Or this is something related to something else I didn't installed, or by some twist of fate the MacOS port of KSP is immune to this (the MacOS version is more resilient on some borderline situations related to multithreading).[nah, I managed to reproduce it. I was clicking on the right "wrong" button, instead of the wrong "right" button"] So, this is not about finding who is borking anymore - given the "rogue duplicated" situation, I take for granted that sooner or later someone will try to fetch some data from the rogue and bork. The task is to search and destroy the rogue patch that it's shoving the duplicate, and this patch is on one of the patches I listed above.[It was not a rogue patch. It's a legit use of double Modules, the problem is somewhere else]. Edited August 1, 2020 by Lisias post post edit (on brackets) Link to comment Share on other sites More sharing options...
pmborg Posted July 31, 2020 Share Posted July 31, 2020 (edited) 6 hours ago, Lisias said: Yep, it handle resources its own way, but it also handles TweakScale events, so things just works - as long no other fuel switch is installed, when IFS waives the switching but still tries to scale the part when TS asks it. It's the reason TS yells when it finds more than one Fuel Switch on a part, as it can't know who is switching and who is scaling, with the net result of something borking on the Rescale and TS taking the blame. Users of KSPI didn't needed the KSP-Recall exactly due this - it was not affected by the resource overwritting. On TS, this triggers the TweakScaleRogueDuplicated stunt, and until recently was due rogue patching - patches that blindly adds an additional TweakScale module on a part instead of modifiyng the existent one. But this can be verified by inspecting the MM ConfigCache, and on this case the MM ConfigCache was ok, no double TweakScale on it..... Hummm... I'm an idiot. I didn't checked if anything else was double patched. I will check that file again and see if I find anything else duplicated on opt.sage . -- -- -- POST EDIT -- -- -- Yep. The opt_sage engine is double patched. There're TWO ModuleEnginesFX modules working on this part, I found both on the MM ConfigCache, so this is a double patching for sure. At least on TweakScale, only the first copy is active - knowing it, TweakScale declares the second a RogueDuplicate and get rid of it. But since you don't do it, the second module lingers around with incomplete data and when something tries to probe it, you have the NullReferenceException mentioned . This is the two copies of the module I found on the ConfigCache: MODULE { name = ModuleEnginesFX engineID = WJOpen thrustVectorTransformName = thrustTransform exhaustDamage = True ignitionThreshold = 0.03 minThrust = 0 maxThrust = 250 heatProduction = 160 useEngineResponseTime = True engineAccelerationSpeed = 0.7 engineDecelerationSpeed = 0.35 useVelocityCurve = False flameoutEffectName = flameout powerEffectName = running_open engageEffectName = engage disengageEffectName = disengage spoolEffectName = running_turbine engineSpoolIdle = 0.05 engineSpoolTime = 1.0 EngineType = LiquidFuel exhaustDamageMultiplier = 200 exhaustDamageMaxRange = 10 atmChangeFlow = True useVelCurve = False useAtmCurve = True PROPELLANT { name = ElectricCharge ratio = 3.1 DrawGauge = True } PROPELLANT { name = IntakeAtm ratio = 1 DrawGauge = True } atmosphereCurve { key = 0 300 key = 1 240 -22.22222 -12.72055 key = 10 190 -1.065011 0 } atmCurve { key = 0 1.5 0 0 key = 0.01 2 0 0 key = 0.1 2 0 -2.810402 key = 0.4 1.079561 -0.4394221 -0.4630589 key = 1 1 8.414095E-07 -0.2883541 key = 9 0 -0.1323353 0 } PROPELLANT { name = LiquidFuel ratio = 0 DrawGauge = False } } ---- copy two ---- MODULE { name = ModuleEnginesFX engineID = WJClosed thrustVectorTransformName = thrustTransform exhaustDamage = True ignitionThreshold = 0.01 minThrust = 0 maxThrust = 375 heatProduction = 190 useVelocityCurve = False flameoutEffectName = flameout powerEffectName = running_closed engageEffectName = engage disengageEffectName = disengage engineSpoolIdle = 0.05 engineSpoolTime = 1.0 EngineType = Electric exhaustDamageMultiplier = 200 exhaustDamageMaxRange = 20 PROPELLANT { name = ElectricCharge ratio = 101.927 DrawGauge = True } PROPELLANT { name = IntakeAtm ratio = 1 DrawGauge = True } atmosphereCurve { key = 0.001 3000 key = 1 30 key = 1.05 0.001 0 0 } } Ignore that PROPELLANT[LiquidFuel] at the end of the first copy of the module, it looks like my hack. I asked a fresh copy from @pmborg to confirm thou. This is the complete list of patches being applied to opt_sage: [LOG 10:51:11.317] Applying update Jettison/ModuleManager_Jettison/@PART[*]:HAS[@RESOURCE,!RESOURCE[Ore],!RESOURCE[Ablator],!RESOURCE[SolidFuel],!RESOURCE[ElectricCharge],!RESOURCE[MonoPropellant]] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:12.474] Applying update OPT_Legacy/MM_Patches/OPT_SAGE_VIsp/@PART[opt_sage]:NEEDS[B9PartSwitch] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:12.564] Applying update OPT_Legacy/MM_Patches/OPT_TweakScale2/@PART[opt_sage|opt_egg|opt_vtol_egg]:NEEDS[TweakScale] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:12.565] Applying update OPT_Legacy/MM_Patches/OPT_TweakScale2/@PART[opt_sage|opt_egg|opt_vtol_egg]:NEEDS[TweakScale] to OPT_Legacy/Parts/Engines/VTOL/EnginesEggDog.cfg/PART[opt_vtol_egg] [LOG 10:51:12.722] Applying update OPT_Legacy/MM_Patches/Category/Category/@PART:HAS[#manufacturer[OPT?Prop*Division]] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:12.852] Applying update OPT_Legacy/Parts/DepthMasks/Patches/@PART[opt_sage|J61] to OPT_Legacy/Parts/Engines/J61/OPT_J61.cfg/PART[J61] [LOG 10:51:12.853] Applying update OPT_Legacy/Parts/DepthMasks/Patches/@PART[opt_sage|J61] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:13.778] Applying update OPT_Reconfig/OPT_CTT/@PART[opt_surge|opt_sage|j81turbojet|opt_vtol_wrap?2|opt_vtol_jumpa2] to OPT_Legacy/Parts/Engines/J81/j81turbo.cfg/PART[j81turbojet] [LOG 10:51:13.778] Applying update OPT_Reconfig/OPT_CTT/@PART[opt_surge|opt_sage|j81turbojet|opt_vtol_wrap?2|opt_vtol_jumpa2] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:13.778] Applying update OPT_Reconfig/OPT_CTT/@PART[opt_surge|opt_sage|j81turbojet|opt_vtol_wrap?2|opt_vtol_jumpa2] to OPT_Legacy/Parts/Engines/SURGE/OPT_SURGE.cfg/PART[opt_surge] [LOG 10:51:13.778] Applying update OPT_Reconfig/OPT_CTT/@PART[opt_surge|opt_sage|j81turbojet|opt_vtol_wrap?2|opt_vtol_jumpa2] to OPT_Legacy/Parts/Engines/VTOL/EnginesAT-WJ.cfg/PART[opt_vtol_jumpa2] [LOG 10:51:13.778] Applying update OPT_Reconfig/OPT_CTT/@PART[opt_surge|opt_sage|j81turbojet|opt_vtol_wrap?2|opt_vtol_jumpa2] to OPT_Legacy/Parts/Engines/VTOL/EnginesWrapperWJ.cfg/PART[opt_vtol_wrapj2] [LOG 10:51:13.778] Applying update OPT_Reconfig/OPT_CTT/@PART[opt_surge|opt_sage|j81turbojet|opt_vtol_wrap?2|opt_vtol_jumpa2] to OPT_Legacy/Parts/Engines/VTOL/EnginesWrapperWJ.cfg/PART[opt_vtol_wrapl2] [LOG 10:51:13.778] Applying update OPT_Reconfig/OPT_CTT/@PART[opt_surge|opt_sage|j81turbojet|opt_vtol_wrap?2|opt_vtol_jumpa2] to OPT_Legacy/Parts/Engines/VTOL/EnginesWrapperWJ.cfg/PART[opt_vtol_wrapk2] [LOG 10:51:14.178] Applying update OPT_Reconfig/OPT_LiftSurface/@PART:HAS[@MODULE[ModuleLiftingSurface]:HAS[#dragAtMinAoA[>0.1]],#manufacturer[OPT*Division]]:NEEDS[!FerramAerospaceResearch] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:14.221] Applying update OPT_Reconfig/OPT_LiftSurface/@PART:HAS[#title[OPT?*],#manufacturer[OPT*Division]]:NEEDS[!FerramAerospaceResearch] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:14.621] Applying update OPT_Reconfig/CRP/OPT_B9PS_Cryo/@PART:HAS[#manufacturer[OPT*Division],@MODULE[ModuleB9PartSwitch]]:NEEDS[B9PartSwitch,CryoEngines|KerbalAtomics,!Pathfinder,!ModularFuelTanks,!RealFuels] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:14.683] Applying update OPT_Reconfig/CRP/OPT_IntakeAtm/@PART:HAS[@RESOURCE[IntakeAir],!RESOURCE[IntakeAtm]]:NEEDS[CommunityResourcePack] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:14.831] Applying update OPT_Reconfig/CRP/OPT_RCS_toggles/@PART:HAS[#manufacturer[OPT*Division],@MODULE[ModuleB9PartSwitch]]:NEEDS[B9PartSwitch,!Pathfinder,!ModularFuelTanks,!RealFuels] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:26.816] Applying update __LOCAL/hack/@PART[opt_sage] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:33.013] Applying update OPT_Reconfig/CRP/OPT_IntakeAtm/@PART[opt_sage|opt_vtol_wrap?2|opt_vtol_jump?2]:NEEDS[CommunityResourcePack]:AFTER[OPT_Legacy] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:33.013] Applying update OPT_Reconfig/CRP/OPT_IntakeAtm/@PART[opt_sage|opt_vtol_wrap?2|opt_vtol_jump?2]:NEEDS[CommunityResourcePack]:AFTER[OPT_Legacy] to OPT_Legacy/Parts/Engines/VTOL/EnginesAT-WJ.cfg/PART[opt_vtol_jumpa2] [LOG 10:51:33.014] Applying update OPT_Reconfig/CRP/OPT_IntakeAtm/@PART[opt_sage|opt_vtol_wrap?2|opt_vtol_jump?2]:NEEDS[CommunityResourcePack]:AFTER[OPT_Legacy] to OPT_Legacy/Parts/Engines/VTOL/EnginesWrapperWJ.cfg/PART[opt_vtol_wrapj2] [LOG 10:51:33.015] Applying update OPT_Reconfig/CRP/OPT_IntakeAtm/@PART[opt_sage|opt_vtol_wrap?2|opt_vtol_jump?2]:NEEDS[CommunityResourcePack]:AFTER[OPT_Legacy] to OPT_Legacy/Parts/Engines/VTOL/EnginesWrapperWJ.cfg/PART[opt_vtol_wrapl2] [LOG 10:51:33.015] Applying update OPT_Reconfig/CRP/OPT_IntakeAtm/@PART[opt_sage|opt_vtol_wrap?2|opt_vtol_jump?2]:NEEDS[CommunityResourcePack]:AFTER[OPT_Legacy] to OPT_Legacy/Parts/Engines/VTOL/EnginesWrapperWJ.cfg/PART[opt_vtol_wrapk2] [LOG 10:51:33.053] Applying update OPT_Reconfig/OPT_00Clean/@PART:HAS[#manufacturer[OPT*Division]]:FOR[OPT_Reconfig] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:33.093] Applying update OPT_Reconfig/OPT_B9PS_TAC/@PART:HAS[#manufacturer[OPT*Division],@MODULE[ModuleB9PartSwitch]]:FOR[OPT_Reconfig]:NEEDS[TacLifeSupport,!ModularFuelTanks,!RealFuels] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:36.260] Applying update WarpPlugin/Patches/AtmosphericIntake/@PART[*]:HAS[!MODULE[AtmosphericIntake],@MODULE[ModuleResourceIntake]:HAS[#resourceName[IntakeAir]]]:FOR[WarpPlugin] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:36.364] Applying update WarpPlugin/Patches/AtmosphericIntake/@PART[*]:HAS[@MODULE[ModuleResourceIntake]:HAS[#resourceName[IntakeAir],#area]]:FOR[WarpPlugin] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:36.435] Applying update WarpPlugin/Patches/AtmosphericIntake/@PART[*]:HAS[@MODULE[ModuleResourceIntake]:HAS[#resourceName[IntakeAir],#intakeTransformName]]:FOR[WarpPlugin] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:36.529] Applying update WarpPlugin/Patches/AtmosphericIntake/@PART[*]:HAS[@MODULE[ModuleResourceIntake]:HAS[#resourceName[IntakeAir],#intakeSpeed]]:FOR[WarpPlugin] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:39.870] Applying update B9PartSwitch/PartInfo/@PART[*]:HAS[@MODULE[ModuleB9PartSwitch]]:FOR[zzzzzz-B9PartSwitch] to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:40.167] Applying update InterstellarFuelSwitch/PatchManager/ActiveMMPatches/IntegratedDecoupler/@PART[*]:FINAL to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:42.297] Applying update PartInfo/PartInfo/@PART[*]:Final to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] [LOG 10:51:43.173] Applying update WarpPlugin/Patches/OreTanksFix/@PART[*]:FINAL to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] This is the exact patching log I have on my rig except by one extra patch: [LOG 10:51:42.297] Applying update PartInfo/PartInfo/@PART[*]:Final to OPT_Legacy/Parts/Engines/SAGE/OPT_SAGE.cfg/PART[opt_sage] That it's part info that I didn't installed. But this is harmless for sure. Now the interesting part: my ConfigCache is also double patched for opt_sage, but my rig don't suffer of the NREs reported by @pmborg. Or this is something related to something else I didn't installed, or by some twist of fate the MacOS port of KSP is immune to this (the MacOS version is more resilient on some borderline situations related to multithreading).[nah, I managed to reproduce it. I was clicking on the right "wrong" button, instead of the wrong "right" button"] So, this is not about finding who is borking anymore - given the rogue duplicated situation, I take for granted that sooner or later someone will try to fetch some data from the rogue and bork. The task is to search and destroy the rogue patch that it's shoving the duplicate, and this patch is on one of the patches I listed above. Hello @Lisias Thank you so much you got it right! Your proposed/fix solved all problems, no more huge logs that will crash KSP! No more B9 errors and so on... It looks more a kind of magic but hey am I am truly happy!! Edited July 31, 2020 by pmborg Link to comment Share on other sites More sharing options...
JadeOfMaar Posted July 31, 2020 Share Posted July 31, 2020 @Lisias @pmborg The second engine module is not rogue. It's supposed to be there. That's the vac optimized engine mode that the B9 switch targets. All the OPT WarpJet engines except SURGE have that second engine mode and the B9 Isp config...but I don't think they have the duplicate "Activate Engine" PAW button problem. Link to comment Share on other sites More sharing options...
pmborg Posted July 31, 2020 Share Posted July 31, 2020 11 minutes ago, JadeOfMaar said: @Lisias @pmborg The second engine module is not rogue. It's supposed to be there. That's the vac optimized engine mode that the B9 switch targets. All the OPT WarpJet engines except SURGE have that second engine mode and the B9 Isp config...but I don't think they have the duplicate "Activate Engine" PAW button problem. Hello @JadeOfMaar What @Lisias wanted to say about that duplicated button, is that once it was applied the Bad Bug appeared like here on this video: The duplcated that @Lisias mentioned is these ones (WJClosed ): MODULE { name = MultiModeEngine primaryEngineID = WJOpen secondaryEngineID = WJClosed } and MODULE { name = ModuleEnginesFX engineID = WJClosed But with the proposed fix: PART { // --- general parameters --- name = opt_sage module = Part author = K.Yeon, JadeOfMaar tags = opt mk2 deep sky magnet magneto surge plasma jet // --- asset parameters --- scale = 1 rescaleFactor = 1 MODEL { model = OPT_Legacy/Parts/Engines/SAGE/OPT_J61 } // --- node definitions --- node_stack_top = 0.0, 0.17904, 0.0, 0.0, 1.0, 0.0, 3 //node_attach = 1.25, 0.0, 0.0, 0.0, 1.0, 0.0, 4 // --- editor parameters --- TechRequired = experimentalScience entryCost = 980000 cost = 34000 category = Engine subcategory = 0 title = OPT-E WarpJet "S.A.G.E." manufacturer = OPT Propulsion Science Division description = With the positive reception from the creation of S.U.R.G.E., demand was quickly raised for a compact and economical version for smaller spaceplanes. The wildly popular J-61 engine frame was chosen but some design considerations have made it inadequate in thick atmosphere. As a result, this was named the S.A.G.E (Stratosphere Accentuated (Undulating) Gauss Engine). // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision attachRules = 1,1,1,1,0 // --- standard part parameters --- mass = 2.7 dragModelType = default maximum_drag = 0.2 minimum_drag = 0.2 angularDrag = 2 crashTolerance = 12 breakingForce = 400 breakingTorque = 600 maxTemp = 2700 emissiveConstant = 0.8 // engine nozzles are good at radiating. bulkheadProfiles = mk2, srf MODULE { name = MultiModeEngine primaryEngineID = WJOpen secondaryEngineID = WJClosed } MODULE { name = ModuleEnginesFX engineID = WJOpen thrustVectorTransformName = thrustTransform exhaustDamage = True ignitionThreshold = 0.03 minThrust = 0 maxThrust = 250 heatProduction = 160 useEngineResponseTime = True engineAccelerationSpeed = 0.7 //0.1 engineDecelerationSpeed = 0.35 //0.25 useVelocityCurve = False flameoutEffectName = flameout powerEffectName = running_open engageEffectName = engage disengageEffectName = disengage spoolEffectName = running_turbine engineSpoolIdle = 0.05 engineSpoolTime = 1.0 EngineType = LiquidFuel exhaustDamageMultiplier = 200 exhaustDamageMaxRange = 10 PROPELLANT { name = ElectricCharge ratio = 3.1 DrawGauge = True } PROPELLANT { name = IntakeAir ratio = 1 DrawGauge = True } atmosphereCurve { // Isp key = 0 300 key = 1 240 -22.22222 -12.72055 key = 10 190 -1.065011 0 } // Jet params atmChangeFlow = True useVelCurve = False useAtmCurve = True atmCurve { //Atm pressure vs thrust mult key = 0 1.5 0 0 key = 0.01 2 0 0 key = 0.1 2 0 -2.810402 key = 0.4 1.079561 -0.4394221 -0.4630589 key = 1 1 8.414095E-07 -0.2883541 key = 9 0 -0.1323353 0 } } MODULE { name = ModuleEnginesFX engineID = WJClosed enabled = false thrustVectorTransformName = thrustTransform exhaustDamage = True ignitionThreshold = 0.01 minThrust = 0 maxThrust = 375 heatProduction = 190 useVelocityCurve = False flameoutEffectName = flameout powerEffectName = running_closed engageEffectName = engage disengageEffectName = disengage engineSpoolIdle = 0.05 engineSpoolTime = 1.0 EngineType = Electric exhaustDamageMultiplier = 200 exhaustDamageMaxRange = 20 PROPELLANT { name = ElectricCharge ratio = 101.927 DrawGauge = True } PROPELLANT { name = IntakeAir ratio = 1 DrawGauge = True } atmosphereCurve { // Isp key = 0.001 3000 key = 1 30 key = 1.05 0.001 0 0 } // Jet params // atmChangeFlow = True } MODULE { name = ModuleSurfaceFX thrustProviderModuleIndex = 0 fxMax = 0.6 maxDistance = 25 falloff = 2 thrustTransformName = thrustTransform } MODULE { name = ModuleGimbal gimbalTransformName = thrustTransform gimbalResponseSpeed = 8 useGimbalResponseSpeed = true gimbalRangeXP = 10 gimbalRangeXN = 10 gimbalRangeYP = 0 gimbalRangeYN = 0 gimbalRangeZP = 0 gimbalRangeZN = 0 } EFFECTS { running_open { PREFAB_PARTICLE { prefabName = fx_smokeTrail_light 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.25 speed = 1.0 1.0 localOffset = 0, 0, 1 localRotation = 1, 0, 0, -90 } MODEL_MULTI_PARTICLE { name = Blaze modelName = OPT_Reconfig/FX2/SAGEBlaze transformName = thrustTransform emission = 0.05 0 emission = 0.1 1 speed = 0 0.1 speed = 1 0.2 0.312365 0.312365 speed = 2 1 energy = 1.5 1 0 0 energy = 2 1.5 } MODEL_MULTI_PARTICLE { name = Stream1 modelName = OPT_Reconfig/FX2/SAGEStream transformName = thrustTransform emission = 0.05 0 emission = 0.5 1 energy = 0 0.2 energy = 1 1 0 0 energy = 1.5 1 0 0 energy = 2 1.5 localPosition = 0.3, 0, 0 } MODEL_MULTI_PARTICLE { name = Stream2 modelName = OPT_Reconfig/FX2/SAGEStream transformName = thrustTransform emission = 0.05 0 emission = 0.5 1 energy = 0 0.2 energy = 1 1 0 0 energy = 1.5 1 0 0 energy = 2 1.5 localPosition = -0.3, 0, 0 } MODEL_MULTI_PARTICLE { name = ShockPulse modelName = OPT_Reconfig/FX2/s2ShockPulse transformName = thrustTransform emission = 1.1 0 emission = 1.2 1 energy = 1.2 0.2 energy = 2 2 localPosition = 0, 0, 1 localScale = 0.75, 0.75, 0.75 } AUDIO { name = ramp channel = Ship clip = OPT_Legacy/Sounds/engine_1 volume = 0.5 0 volume = 1.5 1.5 pitch = 0.0 0.8 pitch = 0.5 1 pitch = 1.0 2.4 loop = true speed = 0.0 1 0 0 speed = 2.0 2 1.2 0 } AUDIO { name = scream channel = Ship clip = OPT_Legacy/Sounds/engine_2 volume = 1.2 0 0 0 volume = 2 0.5 0 0 pitch = 0.5 1.5 pitch = 1.5 1.7 pitch = 2 2.5 loop = true speed = 1.5 1 speed = 2 2 } } running_closed { MODEL_MULTI_PARTICLE { name = Blaze modelName = OPT_Reconfig/FX2/SAGEBlaze transformName = thrustTransform emission = 0.05 0 emission = 0.1 1 speed = 0 0.1 speed = 1 0.2 } MODEL_MULTI_PARTICLE { name = Stream1 modelName = OPT_Reconfig/FX2/SAGEStream transformName = thrustTransform emission = 0.05 0 emission = 0.5 1 energy = 0 0.2 energy = 1 0.75 0 0 speed = 0 1.5 speed = 1 2 localPosition = 0.3, 0, 0 } MODEL_MULTI_PARTICLE { name = Stream2 modelName = OPT_Reconfig/FX2/SAGEStream transformName = thrustTransform emission = 0.05 0 emission = 0.5 1 energy = 0 0.2 energy = 1 0.75 0 0 speed = 0 1.5 speed = 1 2 localPosition = -0.3, 0, 0 } AUDIO { name = ramp channel = Ship clip = OPT_Legacy/Sounds/engine_1 volume = 0.5 0 volume = 1.5 1.5 pitch = 0.0 0.8 pitch = 0.5 1 pitch = 1.0 2.4 loop = true speed = 0.0 1 0 0 speed = 2.0 2 1.2 0 } AUDIO { name = scream channel = Ship clip = OPT_Legacy/Sounds/engine_2 volume = 1.2 0 0 0 volume = 2 0.5 0 0 pitch = 0.5 1.5 pitch = 1.5 1.7 pitch = 2 2.5 loop = true speed = 1.5 1 speed = 2 2 } } running_turbine { AUDIO { channel = Ship clip = OPT_Legacy/Sounds/engine_1 volume = 0.0 0.0 volume = 0.05 0.4 volume = 1.0 0.7 volume = 1.2 1.0 pitch = 0.0 0.5 pitch = 0.05 0.5 pitch = 0.5 2 pitch = 1.0 1 loop = true } } engage { AUDIO { channel = Ship clip = OPT_Legacy/Sounds/seismiccharge volume = 0.5 pitch = 1.0 loop = false } } disengage { AUDIO { channel = Ship clip = OPT_Legacy/Sounds/seismiccharge volume = 0.35 pitch = 1.0 loop = false } } flameout { PREFAB_PARTICLE { prefabName = fx_exhaustSparks_flameout_2 transformName = thrustTransform oneShot = true } AUDIO { channel = Ship clip = sound_explosion_low volume = 1.0 pitch = 2.0 loop = false } } } MODULE { name = FXModuleAnimateThrottle animationName = engine_light responseSpeed = 0.01 dependOnEngineState = True dependOnThrottle = True preferMultiMode = True // bind to the parent multimode module, not the actual engines. } MODULE { name = ModuleResourceIntake resourceName = IntakeAir checkForOxygen = True area = 0.002 intakeSpeed = 30 intakeTransformName = intake_transform machCurve { key = 3 1 0 0 key = 6 3 0 0 } } RESOURCE { name = IntakeAir amount = 10 maxAmount = 10 } MODULE { name = ModuleLiftingSurface useInternalDragModel = False deflectionLiftCoeff = 0.35 dragAtMaxAoA = 0.3 dragAtMinAoA = 2 } } All problems were solved. Link to comment Share on other sites More sharing options...
Xithyl515 Posted July 31, 2020 Share Posted July 31, 2020 (edited) Hi, I was hoping that I could use TweakScale on OPT parts to make bigger jets. Is it possible by chance? When I rightclick on various OPT parts, it won't let me change their size like other modded objects I have (KSPI) Specifically I was hoping to resize the main jet hulls and cockpits Here's my gamedata folder: Edited August 1, 2020 by Xithyl515 Link to comment Share on other sites More sharing options...
Lisias Posted August 1, 2020 Share Posted August 1, 2020 (edited) 10 hours ago, JadeOfMaar said: @Lisias @pmborg The second engine module is not rogue. It's supposed to be there. I know. I was trying to zero in on the problem - i was kinda tired too, and probably didn't expressed myself the best way. (More than one ModuleEngineFX is used for MultiModeEngine support. It's legit, indeed) But somehow opt_sage is behaving as TweaskScale when rogue patched. Now we will work on detecting why this is happing. The Rapier engine also uses this same stunt, and at least me didn't noticed this behaviour on it (I will check on a few hours) [ a few hors later: NOPE. Rapier works as intended.] 10 hours ago, pmborg said: But with the proposed fix: All problems were solved. What does not means that opt_sage is at faulty neither. Rapier engine also uses the same stunt, the second module does not have enabled = false, and yet it works fine, no duplicated buttons on PAW. We have a toe stomping fest here. Something is overruling MultiModeEngine and re-enabling the second engine [or forgetting to disable it] - as a matter of curiosity, there's something disabling TweakScale on [some parts from] that craft on @pmborg instalment, so perhaps this problem is related. 9 hours ago, Xithyl515 said: Hi, I was hoping that I could use TweakScale on OPT parts to make bigger jets. Is it possible by chance? When I rightclick on various OPT parts, it won't let me change their size like other modded objects I have (KSPI) It's your lucky day, there's a TweakScale Companion for OPT on the works on this exact moment. Give a look on the TweakScale Companion Program Thread now and then, I'm publishing what's being released there. Spoiler: Spoiler I will tacked it down once I finish the HabTech2 support. Edited August 1, 2020 by Lisias brute force post merge and additional fixes (on brackets and italics) Link to comment Share on other sites More sharing options...
pmborg Posted August 1, 2020 Share Posted August 1, 2020 "there's something disabling TweakScale on that craft on @pmborg instalment, so perhaps this problem is related. " Hello @Lisias, This engines have a kinda dual behavior because above 8.000m +-, they become a super charged ones... Here on this image we can see tweakscale working well: the small engine and big engine: Link to comment Share on other sites More sharing options...
Lisias Posted August 1, 2020 Share Posted August 1, 2020 (edited) 2 hours ago, pmborg said: "there's something disabling TweakScale on that craft on @pmborg instalment, so perhaps this problem is related. " <cut by me> Here on this image we can see tweakscale working well: the small engine and big engine: I need to refrain myself from posting here before taking my coffee. Some parts are getting TS disabled on your craft, not all. I will fix the original post too. -- POST EDIT -- I found a new workaround that doesn't involves editing the OPT_SAGE.cfg to something non-conformal: on launch, and before hitting the STAGE the first time for the launch, click on the "Toggle Mode" button of the SAGE at least one time (two, to get it reset to the initial configuration). I'm convinced this is something on B9PS. Edited August 1, 2020 by Lisias post edit Link to comment Share on other sites More sharing options...
JadeOfMaar Posted August 7, 2020 Share Posted August 7, 2020 On 7/31/2020 at 7:54 PM, Xithyl515 said: Specifically I was hoping to resize the main jet hulls and cockpits There are no Tweakscale configs for those. Why? I really don't like the idea of scaling crewed parts (especially, making them smaller). Fuselage parts receive WBI tank modules (for WBI users) which are incompatible with Tweakscale. Link to comment Share on other sites More sharing options...
Lisias Posted August 8, 2020 Share Posted August 8, 2020 17 hours ago, JadeOfMaar said: Fuselage parts receive WBI tank modules (for WBI users) which are incompatible with Tweakscale. Has not support (yet) is a better way of saying it. Link to comment Share on other sites More sharing options...
JadeOfMaar Posted August 8, 2020 Share Posted August 8, 2020 19 hours ago, JadeOfMaar said: OPT Spaceplane Continued 2.1 Now available for KSP 1.9.1 and later with CKAN. No longer contains old plugin bundles. Now requires OPT Reconfig. DOWNLOAD OPT CONTINUED :: SPACEDOCK DOWNLOAD RECONFIG :: SPACEDOCK :: GITHUB - snippety snips- Attention, everyone! This is finally a thing. Especially the CKAN part. Have a nice day. Please take any further discussion or support requests to the new thread for this: Link to comment Share on other sites More sharing options...
Soyuzturtle Posted November 16, 2020 Share Posted November 16, 2020 Ive got this mod working before but for some reason now when i've re-installed it , i always get this. Does anyone know how i can fix it? Link to comment Share on other sites More sharing options...
JadeOfMaar Posted November 17, 2020 Share Posted November 17, 2020 Please take support requests here. Link to comment Share on other sites More sharing options...
Recommended Posts