pellinor

[1.4.x] TweakScale v2.3.12(Apr-16)

Recommended Posts

Excellent! I have some projects that I need that one specific part scaled for, thanks a bunch.

Share this post


Link to post
Share on other sites
On 30.1.2017 at 7:06 PM, pellinor said:

Hmm, then it looks like the issue fixed itself. If you see no warning or exception, TweakScale should have done its things without running into problems. I just don't see how my code change should have fixed it (if the warning lines never get called).

Never mind I didn't pay attention when reading. Will add a proper try..catch this time.

@pellinor

Ah, got you. I thought you already found the cause, but that only fixed the debug version.
Did another run. Did this helps? Need another thing to test? This is a highly modded install, tho.
It occurs on game load even before the KSP main menu. Or on the main menu.

170213T155240.656 [INFO] [SCANsat.SCANcontroller.getResourceNode] [SCANsat] SCANsat resource [Regolith] cannot be found in master resource storage list
170213T155240.656 [INFO] [SCANsat.SCANcontroller.getResourceNode] [SCANsat] SCANsat resource [Regolith] cannot be found in master resource storage list
170213T155240.657 [INFO] [SCANsat.SCANcontroller.getResourceNode] [SCANsat] SCANsat resource [Regolith] cannot be found in master resource storage list
170213T155240.735 [INFO] [TweakScale.PrefabDryCostWriter.Start] TweakScale::PrefabDryCostWriter: Start
170213T155240.737 [ERROR] [TweakScale.PrefabDryCostWriter.WriteDryCost] [TweakScale] Exception on writeDryCost: System.NullReferenceException: Object reference not set to an instance of an object
  at PartModuleList.Contains (Int32 classID) [0x00000] in <filename unknown>:0 
  at PartModuleList.Contains (System.String className) [0x00000] in <filename unknown>:0 
  at TweakScale.PrefabDryCostWriter.WriteDryCost () [0x00000] in <filename unknown>:0 
170213T155240.738 [INFO] [TweakScale.PrefabDryCostWriter.WriteDryCost] [TweakScale] part=kerbalEVA ()
170213T155240.738 [ERROR] [TweakScale.PrefabDryCostWriter.WriteDryCost] [TweakScale] Exception on writeDryCost: System.NullReferenceException: Object reference not set to an instance of an object
  at PartModuleList.Contains (Int32 classID) [0x00000] in <filename unknown>:0 
  at PartModuleList.Contains (System.String className) [0x00000] in <filename unknown>:0 
  at TweakScale.PrefabDryCostWriter.WriteDryCost () [0x00000] in <filename unknown>:0 
170213T155240.739 [INFO] [TweakScale.PrefabDryCostWriter.WriteDryCost] [TweakScale] part=kerbalEVAfemale ()
170213T155240.742 [ERROR] [TweakScale.PrefabDryCostWriter.WriteDryCost] TweakScale::PrefabDryCostWriter: negative dryCost: part=KspiOreTank, DryCost=-3750
170213T155240.743 [ERROR] [TweakScale.PrefabDryCostWriter.WriteDryCost] TweakScale::PrefabDryCostWriter: negative dryCost: part=HexaboraneTank, DryCost=-0.0003814697
170213T155240.743 [ERROR] [TweakScale.PrefabDryCostWriter.WriteDryCost] TweakScale::PrefabDryCostWriter: negative dryCost: part=HexCanLithium, DryCost=-3.33786E-05
170213T155240.745 [INFO] [ScienceChecklist.Logger.WriteMessage] [2/13/2017 3:52:40 PM [x] Science!]: <Trace> (ScienceChecklistAddon) - Start
170213T155240.764 [INFO] [ScienceChecklist.Logger.WriteMessage] [2/13/2017 3:52:40 PM [x] Science!]: <Trace> (ScienceChecklistAddon) - Done Start

 

I searched for KerbalEVAFemale in the CFGs in my gamedata and it's getting modified by EvaEnhancementsContinued:

Spoiler

// Sets the initial propellant amount to zero, will be managed by this mod instead
@PART[kerbalEVA|kerbalEVAfemale]
{
    @MODULE[KerbalEVA]
    {
        %propellantResourceDefaultAmount = 0
    }

And TweakableEverything:

Spoiler

@PART[kerbalEVA||kerbalEVAfemale]:NEEDS[!EVAEnhancements]
{
    MODULE
    {
        name = ModuleTweakableEVA
    }
}

If this helps.

Edited by Jebs_SY

Share this post


Link to post
Share on other sites
5 hours ago, Jebs_SY said:

I searched for KerbalEVAFemale in the CFGs in my gamedata and it's getting modified by EvaEnhancementsContinued:

If this helps.

Yes, this helps. It tells that you have a TweakScale module on KerbalEva and KerbalEvaFemale. Which is not a good idea. Maybe you have some blanket patch active that tries to make everything scaleable?

Share this post


Link to post
Share on other sites
18 minutes ago, linuxgurugamer said:

@Jebs_SY

Maybe check EVAFuel, if you have that ?

Unfortunately, not. Didn't used that, yet.

 

27 minutes ago, pellinor said:

Yes, this helps. It tells that you have a TweakScale module on KerbalEva and KerbalEvaFemale. Which is not a good idea. Maybe you have some blanket patch active that tries to make everything scaleable?

"Have" or "Tries to add" the module?

According to the MM confic cache they don't have a "TweakScale" module:

Spoiler

UrlConfig
{
    name = kerbalEVAfemale
    type = PART
    parentUrl = Squad/Parts/Prebuilt/kerbalEVAfemale
    url = Squad/Parts/Prebuilt/kerbalEVAfemale/kerbalEVAfemale
    PART
    {
        name = kerbalEVAfemale
        crashTolerance = 50
        maxTemp = 800
        skinMaxTemp = 800
        boundsCentroidOffset = 0.0, 0.25, 0.2
        CenterOfDisplacement = 0.0, 0.1, 0.0
        CenterOfBuoyancy = 0.0, 0.1, 0.0
        dragModelType = default
        MODULE
        {
            name = KerbalEVA
            __OVERLOAD = True
            isCfg = True
            walkSpeed = 0.8
            strafeSpeed = 0.5
            runSpeed = 2.2
            turnRate = 4
            maxJumpForce = 10
            boundForce = 1
            boundSpeed = 0.8
            boundThreshold = 0.04
            swimSpeed = 0.8
            waterAngularDragMultiplier = 0.01
            ladderClimbSpeed = 0.60
            ladderPushoffForce = 3
            minWalkingGee = 0.17
            minRunningGee = 0.6
            initialMass = 3.125
            massMultiplier = 0.03
            onFallHeightFromTerrain = 0.3
            clamberMaxAlt = 100
            splatEnabled = True
            splatSpeed = 50
            propellantResourceName = EVA Propellant
            boundFrequency = 0.15
            boundSharpness = 0.3
            boundAttack = 0.4
            boundRelease = 2
            boundFallThreshold = 1.5
            _flags = 1
            flagReach = 0.3
            Kp = 0.7
            Ki = 0.25
            Kd = 0.300000012
            iC = 0.005
            rotPower = 1
            linPower = 10
            PropellantConsumption = 0.025
            stumbleThreshold = 3.5
            hopThreshold = 2
            recoverThreshold = 0.6
            recoverTime = 3
            splatThreshold = 150
            clamberReach = 0.9
            clamberStandoff = 0.45
            propellantResourceDefaultAmount = 0
        }
        MODULE
        {
            name = ModuleScienceExperiment
            experimentID = surfaceSample
            experimentActionName = Take Surface Sample
            resetActionName = Discard Sample
            reviewActionName = Review Sample
            hideUIwhenUnavailable = True
            rerunnable = True
            resettable = True
            resettableOnEVA = False
            hideFxModuleUI = True
            resourceToReset = Supplies
            resourceResetCost = 5
            xmitDataScalar = 0.25
            dataIsCollectable = True
            deployableSeated = False
        }
        MODULE
        {
            name = ModuleScienceExperiment
            experimentID = evaReport
            experimentActionName = EVA Report
            resetActionName = Discard Report
            reviewActionName = Review Report
            hideUIwhenUnavailable = True
            rerunnable = True
            resettable = True
            resettableOnEVA = False
            hideFxModuleUI = True
            resourceToReset = Supplies
            resourceResetCost = 5
            xmitDataScalar = 1
            dataIsCollectable = True
        }
        MODULE
        {
            name = ModuleScienceContainer
            allowRepeatedSubjects = True
        }
        MODULE
        {
            name = FlagDecal
            textureQuadName = kbEVA_flagDecals
        }
        MODULE
        {
            name = ModuleTripLogger
        }
        RESOURCE
        {
            name = EVA Propellant
            amount = 5
            maxAmount = 5
            isTweakable = False
        }
        MODULE
        {
            name = ModuleAGX
        }
        MODULE
        {
            name = ModuleKISInventory
        }
        MODULE
        {
            name = ModuleKISPickup
        }
        MODULE
        {
            name = ModuleTweakableEVA
        }
    }
}
 

I am searching the configs, what could try to add a "TweakScale" module via a wildcard that would match to "kerbalEVAfemale", but no luck yet.
I have ~190 mods, tho. But I am not aware of something, that adds a tweakscale module to everything. Also I don't have tweakscale functionality on everything. Hmm.
Continue searching for a wildcard that could match.

Share this post


Link to post
Share on other sites
8 minutes ago, Jebs_SY said:

Unfortunately, not. Didn't used that, yet.

"Have" or "Tries to add" the module?

According to the MM confic cache they don't have a "TweakScale" module:

I am searching the configs, what could try to add a "TweakScale" module via a wildcard that would match to "kerbalEVAfemale", but no luck yet.
I have ~190 mods, tho. But I am not aware of something, that adds a tweakscale module to everything. Also I don't have tweakscale functionality on everything. Hmm.
Continue searching for a wildcard that could match.

Hmm, then I have no idea what happened there. The code should only treat parts with a TweakScale module, and it does not trip over KerbalEva in my install. In any case the exceptions are properly catched now (otherwise you would not see the second one) and dryCost should be written properly for all other parts.

Share this post


Link to post
Share on other sites
23 minutes ago, Jebs_SY said:

Unfortunately, not. Didn't used that, yet.

 

"Have" or "Tries to add" the module?

According to the MM confic cache they don't have a "TweakScale" module:

  Reveal hidden contents

UrlConfig
{
    name = kerbalEVAfemale
    type = PART
    parentUrl = Squad/Parts/Prebuilt/kerbalEVAfemale
    url = Squad/Parts/Prebuilt/kerbalEVAfemale/kerbalEVAfemale
    PART
    {
        name = kerbalEVAfemale
        crashTolerance = 50
        maxTemp = 800
        skinMaxTemp = 800
        boundsCentroidOffset = 0.0, 0.25, 0.2
        CenterOfDisplacement = 0.0, 0.1, 0.0
        CenterOfBuoyancy = 0.0, 0.1, 0.0
        dragModelType = default
        MODULE
        {
            name = KerbalEVA
            __OVERLOAD = True
            isCfg = True
            walkSpeed = 0.8
            strafeSpeed = 0.5
            runSpeed = 2.2
            turnRate = 4
            maxJumpForce = 10
            boundForce = 1
            boundSpeed = 0.8
            boundThreshold = 0.04
            swimSpeed = 0.8
            waterAngularDragMultiplier = 0.01
            ladderClimbSpeed = 0.60
            ladderPushoffForce = 3
            minWalkingGee = 0.17
            minRunningGee = 0.6
            initialMass = 3.125
            massMultiplier = 0.03
            onFallHeightFromTerrain = 0.3
            clamberMaxAlt = 100
            splatEnabled = True
            splatSpeed = 50
            propellantResourceName = EVA Propellant
            boundFrequency = 0.15
            boundSharpness = 0.3
            boundAttack = 0.4
            boundRelease = 2
            boundFallThreshold = 1.5
            _flags = 1
            flagReach = 0.3
            Kp = 0.7
            Ki = 0.25
            Kd = 0.300000012
            iC = 0.005
            rotPower = 1
            linPower = 10
            PropellantConsumption = 0.025
            stumbleThreshold = 3.5
            hopThreshold = 2
            recoverThreshold = 0.6
            recoverTime = 3
            splatThreshold = 150
            clamberReach = 0.9
            clamberStandoff = 0.45
            propellantResourceDefaultAmount = 0
        }
        MODULE
        {
            name = ModuleScienceExperiment
            experimentID = surfaceSample
            experimentActionName = Take Surface Sample
            resetActionName = Discard Sample
            reviewActionName = Review Sample
            hideUIwhenUnavailable = True
            rerunnable = True
            resettable = True
            resettableOnEVA = False
            hideFxModuleUI = True
            resourceToReset = Supplies
            resourceResetCost = 5
            xmitDataScalar = 0.25
            dataIsCollectable = True
            deployableSeated = False
        }
        MODULE
        {
            name = ModuleScienceExperiment
            experimentID = evaReport
            experimentActionName = EVA Report
            resetActionName = Discard Report
            reviewActionName = Review Report
            hideUIwhenUnavailable = True
            rerunnable = True
            resettable = True
            resettableOnEVA = False
            hideFxModuleUI = True
            resourceToReset = Supplies
            resourceResetCost = 5
            xmitDataScalar = 1
            dataIsCollectable = True
        }
        MODULE
        {
            name = ModuleScienceContainer
            allowRepeatedSubjects = True
        }
        MODULE
        {
            name = FlagDecal
            textureQuadName = kbEVA_flagDecals
        }
        MODULE
        {
            name = ModuleTripLogger
        }
        RESOURCE
        {
            name = EVA Propellant
            amount = 5
            maxAmount = 5
            isTweakable = False
        }
        MODULE
        {
            name = ModuleAGX
        }
        MODULE
        {
            name = ModuleKISInventory
        }
        MODULE
        {
            name = ModuleKISPickup
        }
        MODULE
        {
            name = ModuleTweakableEVA
        }
    }
}
 

I am searching the configs, what could try to add a "TweakScale" module via a wildcard that would match to "kerbalEVAfemale", but no luck yet.
I have ~190 mods, tho. But I am not aware of something, that adds a tweakscale module to everything. Also I don't have tweakscale functionality on everything. Hmm.
Continue searching for a wildcard that could match.

Oh, so a mod is adding it on the fly.  

Look at TweakableEverything, it might be in there

Share this post


Link to post
Share on other sites
9 minutes ago, pellinor said:

Hmm, then I have no idea what happened there. The code should only treat parts with a TweakScale module, and it does not trip over KerbalEva in my install. In any case the exceptions are properly catched now (otherwise you would not see the second one) and dryCost should be written properly for all other parts.

So this is catched in the next version?

I removed all the EVA-stuff mods and all the mods that added modules to kerbalEVAfemale. In the MM cache, kerbalEVAfemalelooks relative stock now. Launched, still get the error.

Spoiler

UrlConfig
{
    name = kerbalEVAfemale
    type = PART
    parentUrl = Squad/Parts/Prebuilt/kerbalEVAfemale
    url = Squad/Parts/Prebuilt/kerbalEVAfemale/kerbalEVAfemale
    PART
    {
        name = kerbalEVAfemale
        crashTolerance = 50
        maxTemp = 800
        skinMaxTemp = 800
        boundsCentroidOffset = 0.0, 0.25, 0.2
        CenterOfDisplacement = 0.0, 0.1, 0.0
        CenterOfBuoyancy = 0.0, 0.1, 0.0
        dragModelType = default
        MODULE
        {
            name = KerbalEVA
            __OVERLOAD = True
            isCfg = True
            walkSpeed = 0.8
            strafeSpeed = 0.5
            runSpeed = 2.2
            turnRate = 4
            maxJumpForce = 10
            boundForce = 1
            boundSpeed = 0.8
            boundThreshold = 0.04
            swimSpeed = 0.8
            waterAngularDragMultiplier = 0.01
            ladderClimbSpeed = 0.60
            ladderPushoffForce = 3
            minWalkingGee = 0.17
            minRunningGee = 0.6
            initialMass = 3.125
            massMultiplier = 0.03
            onFallHeightFromTerrain = 0.3
            clamberMaxAlt = 100
            splatEnabled = True
            splatSpeed = 50
            propellantResourceName = EVA Propellant
            boundFrequency = 0.15
            boundSharpness = 0.3
            boundAttack = 0.4
            boundRelease = 2
            boundFallThreshold = 1.5
            _flags = 1
            flagReach = 0.3
            Kp = 0.7
            Ki = 0.25
            Kd = 0.300000012
            iC = 0.005
            rotPower = 1
            linPower = 10
            PropellantConsumption = 0.025
            stumbleThreshold = 3.5
            hopThreshold = 2
            recoverThreshold = 0.6
            recoverTime = 3
            splatThreshold = 150
            clamberReach = 0.9
            clamberStandoff = 0.45
        }
        MODULE
        {
            name = ModuleScienceExperiment
            experimentID = surfaceSample
            experimentActionName = Take Surface Sample
            resetActionName = Discard Sample
            reviewActionName = Review Sample
            hideUIwhenUnavailable = True
            rerunnable = True
            resettable = True
            resettableOnEVA = False
            hideFxModuleUI = True
            resourceToReset = Supplies
            resourceResetCost = 5
            xmitDataScalar = 0.25
            dataIsCollectable = True
            deployableSeated = False
        }
        MODULE
        {
            name = ModuleScienceExperiment
            experimentID = evaReport
            experimentActionName = EVA Report
            resetActionName = Discard Report
            reviewActionName = Review Report
            hideUIwhenUnavailable = True
            rerunnable = True
            resettable = True
            resettableOnEVA = False
            hideFxModuleUI = True
            resourceToReset = Supplies
            resourceResetCost = 5
            xmitDataScalar = 1
            dataIsCollectable = True
        }
        MODULE
        {
            name = ModuleScienceContainer
            allowRepeatedSubjects = True
        }
        MODULE
        {
            name = FlagDecal
            textureQuadName = kbEVA_flagDecals
        }
        MODULE
        {
            name = ModuleTripLogger
        }
        RESOURCE
        {
            name = EVA Propellant
            amount = 5
            maxAmount = 5
            isTweakable = False
        }
    }
}
 

 

3 minutes ago, linuxgurugamer said:

Oh, so a mod is adding it on the fly.  

Look at TweakableEverything, it might be in there

Thx. But already removed. :D:wink: Still there. I wonder if I should track this further. Is this worth anything to track this?

Share this post


Link to post
Share on other sites

@pellinor @linuxgurugamer

OK, I played the "remove the mods and test again" game and lifted the secret. It's HullcamVDS Continued. For whatever reason.

-removed HullCam => NRE gone
-added Hullcam => NRE back
-removed Modulemanager (to have NO CFG patches) => NRE still there
-removed Hullcam.dll => NRE gone.

I searched the Hullcam code for "tweakscale", didn't found any references at all => out of ideas.

However, I can live with it and when the log entry is catched with the next tweakscale version it's even better.
But maybe linuxgurugamer want's to know.

Edited by Jebs_SY

Share this post


Link to post
Share on other sites
8 minutes ago, Jebs_SY said:

@pellinor @linuxgurugamer

OK, I played the "remove the mods and test again" game and lifted the secret. It's HullcamVDS Continued. For whatever reason.

-removed HullCam => NRE gone
-added Hullcam => NRE back
-removed Modulemanager (to have NO CFG patches) => NRE still there
-removed Hullcam.dll => NRE gone.

I searched the Hullcam code for "tweakscale", didn't found any references at all => out of ideas.

However, I can live with it and when the log entry is catched with the next tweakscale version it's even better.
But maybe linuxgurugamer want's to know.

HullcamVDS adds a module at runtime in the Awake code, but it's adding a module for a camera, nothing to do with Tweakscale:

 public void Awake() {

                ConfigNode EVA = new ConfigNode("MODULE");
                EVA.AddValue("name", "EVACamera");
                EVA.AddValue("cameraName", "EVACam");

                try {

                        PartLoader.getPartInfoByName("kerbalEVA").partPrefab.AddModule(EVA);
                }
                catch{}
                try { PartLoader.getPartInfoByName("kerbalEVAfemale").partPrefab.AddModule(EVA);
                }
                catch {}
        }

@pellinor I don't really know what Tweakscale is doing interally, would this new module added at runtime cause an issue?

@Jebs_SY How are you getting this error?  Can you give me a specific case I can try to replicate?

@pellinor I looked at the code on Github and didn't see anything which jumped out at me.  Can I assume the master branch is current?

Share this post


Link to post
Share on other sites
4 minutes ago, linuxgurugamer said:

How are you getting this error?  Can you give me a specific case I can try to replicate?

Well, at least that's easy this time. Load the game until main menu. Should be in log then.

Share this post


Link to post
Share on other sites

@pellinor

The error appears to be on this line:

 if (!prefab.Modules.Contains("TweakScale"))
                    continue;

which doesn't make sense, unless the added module is messing up the prefab.Modules list somehow.  What jumped out at me was the following:

  at PartModuleList.Contains (Int32 classID) [0x00000] in <filename unknown>:0 
  at PartModuleList.Contains (System.String className) [0x00000] in <filename unknown>:0 
  at TweakScale.PrefabDryCostWriter.WriteDryCost () [0x00000] in <filename unknown>:0

 

Installed both Tweakscale & Hullcam, started game, got to MainMenu, no errors related to Tweakscale

Entered a game, got the errors

 

Share this post


Link to post
Share on other sites

@pellinor

I found the problem, and made a small PR for you to fix it.

There is something wrong/missing in the way HullcamVDS is adding a module, so the prefab.Module.Contains is getting an error.  I'm going to try to figure it out there, but I did this for you since if one mod can make the mistake (if it is a mistake), others can.

 

Share this post


Link to post
Share on other sites

Actually, it looks like it's a quirk of the AddModule code, in that the module is being added before a game is started(????), and the part isn't fully setup yet(????).

I've found at least three mods which do the same thing, all related to an eva'd kerbal part.  And this was from a 2 minute search on my system of mods I've downloaded.

 

Share this post


Link to post
Share on other sites
3 hours ago, linuxgurugamer said:

I've found at least three mods which do the same thing, all related to an eva'd kerbal part.  And this was from a 2 minute search on my system of mods I've downloaded.

Please name names - it'd be handy to know what to avoid until it's fixed.

Share this post


Link to post
Share on other sites
8 hours ago, damerell said:

Please name names - it'd be handy to know what to avoid until it's fixed.

The ones I found are:

  • EVA Enhancements Continued
  • EVA Parachutes and Ejection Seats
  • Hullcam VDS Continued
  • Kerbal Animation Suite

Keep in mind, I found these mainly because these are mods I've adopted, and therefore have the source code on my system.  I'm sure that if I did some searching in other mods, other instances would be found

Share this post


Link to post
Share on other sites
17 hours ago, linuxgurugamer said:

@pellinor

I found the problem, and made a small PR for you to fix it.

There is something wrong/missing in the way HullcamVDS is adding a module, so the prefab.Module.Contains is getting an error.  I'm going to try to figure it out there, but I did this for you since if one mod can make the mistake (if it is a mistake), others can.

Wow, that was fast, thanks. I already made a similar change in the dev branch (which lead to the KerbalEva parts) but had no clue what the actual problem was.

Share this post


Link to post
Share on other sites
19 hours ago, Jebs_SY said:

However, I can live with it and when the log entry is catched with the next tweakscale version it's even better.

You don't catch log entries, you catch exceptions. An exception is an 'emergency' where something is obviously wrong and it is not clear if the program can safely continue. So the program is skipping code until it reaches a "catch" block, which contains code to handle the situation. This means the exception is handled, but it is still wise to log the incident.

Share this post


Link to post
Share on other sites

Hey @pellinor i tried to have you look at my log a while back and see as to why some parts cause negative mass (tanks)

https://dl.dropboxusercontent.com/u/5191989/KSP.log

Any input would be much appreciated!

EDIT: Made a video too from VAB and launch. - https://youtu.be/R_3zAvel9-M

EDIT 2: The problem lies with Real Fuels, ill post this in that thread as well.

Edited by Cratzz

Share this post


Link to post
Share on other sites

I would like to make a change to TweakScale to let it affect derived classes of a configured PartModule. So if there is a scaling config for ModuleRCS, it now looks for modules with that name. In my prototype it looks for any module that "is a ModuleRCS", i.e. it also scales ModuleRCSFX.

Here is my prototype (including a recompiled dll):
https://github.com/pellinor0/TweakScale/commit/4329244702b7fa60b06744a5830bbf137f26883c

Now the question is: will this break anything? In other words, are there derived Modules that should not inherit the config of their base class? At the moment the only one I am aware of is ModuleEnginesSolver, which derives from ModuleEnginesFX and is used as a base class in realFuels and AJE. How do they currently interact with TweakScale? Not sure whom to ask, maybe @blowfish or @Starwaster?

I also noticed a blacklist entry for "ModuleEngineConfigs" in the TweakScale configs, it probably came from realFuels/RO long ago. Is this obsolete? I could not find any reference to such a module.

Another area might be KSPI. @FreeThinker do you see any trouble with such a change?

Share this post


Link to post
Share on other sites
20 minutes ago, pellinor said:

Another area might be KSPI. @FreeThinker do you see any trouble with such a change?

 

Well that depends. I currently have separate tweakscale component defined for my module that derives from ModuleRCS. The Class does nothing fancy

TWEAKSCALEEXPONENTS
{
	name = ElectricRCSController
	baseThrust = 2.5
	partMass = 3
}

Does that mean I have to delete them?

Edited by FreeThinker

Share this post


Link to post
Share on other sites
On 26.1.2017 at 2:34 AM, anxcon said:

such code belongs on tweakscale side, though i am not familiar enough with tweakscale yet
if you have a single place to call an update method when any setting changes, great :) and i can help with the rest
though given how TS can change many or only a few values per part, it would be wiser to add 1 key per value, dynamically per part

Could you have a look at the dev version? I'd be happy about some feedback before releasing this. And the value I report should probably be a lot more coarse grainded (you can also judge that better than I can).

Share this post


Link to post
Share on other sites

@pellinor Hey miniature builder. I often have the problem that scaling break down at the extreme ends of the scale, either very large or small.

I guess you have already investigated but what about floatcurve scaling support? (as an alternative to standard exponent scaling). That way we can make scaling work correctly when either miniaturizing or scaling up to gargantuan scale.

Edited by FreeThinker

Share this post


Link to post
Share on other sites
24 minutes ago, FreeThinker said:

Well that depends. I currently have separate tweakscale component defined for my module that derives from ModuleRCS. The Class does nothing fancy

Does that mean I have to delete them?

 

It would mean that in addition to your patch, TweakScale would find the exponents for ModuleRCS and apply them to your module, so it would read maxFuelFlow and thrusterPower from the prefabPart, scale them and write them in the members your module inherits from the base class.

TWEAKSCALEEXPONENTS
{
    name = ModuleRCSFX
    maxFuelFlow = 2.5
    thrusterPower = 2.5
    -ignore = ModuleEngineConfigs
}
Edited by pellinor

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.