pellinor

Members
  • Content Count

    935
  • Joined

  • Last visited

Everything posted by pellinor

  1. These are the exponents for the stock wing modules: https://github.com/net-lisias-ksp/TweakScale/blob/master/GameData/TweakScale/ScaleExponents.cfg#L169-L186 Mass of wings is scaled with an exponent of 2, so that a large wing should be equivalent to the same area worth of small wings. dragAtMaxAoA does not appear (hopefully that means that it is a coefficient and not a total value).
  2. Just in case you haven't ruled that out already: the two sliders can also come from the same module. Both members "tweakScale" and "tweakName" have a tweakable, and a correctly initialized TweakScale module is supposed to use one of them and hide the other.
  3. I faintly remember that KSP does some automatic conversion that has caused confusion in the past. It was something along the lines of converting every "_" to "." in part names. Might also be config strings in general.
  4. The module disables itself if it is not the first one: https://github.com/net-lisias-ksp/TweakScale/blob/master/Source/Scale/Scale.cs#L750-L757
  5. Yes this will work. Just as :BEFORE[TweakScale] works because the patches that come with TweakScale take effect at an earlier time. So things are not as trivial as they seem. Actually I like the idea of preferring "%type=..." just because it leads to more robust behavior.
  6. My decisions for the exponents mostly came from gameplay considerations. For example stock tanks have a fixed ratio between fuel content and dry mass. If one stock tank is twice as big as another in all directions, it has 8x the fuel and 8x the dry mass. As a rule of thumb, an enlarged part should compare to the same mass, cost and utility as several copies of the original. And most general, an exponent is right when both the enlarged and the shrinked part have some use in the game. A wrong exponent usually leads to one side being overpowered and the other being useless. Example: for a rocket engine, the exponents for mass, cost and thrust are equal. And that number is chosen in a way such that a scaled engine is able to lift a stack of somewhat reasonable and useful height. Edit: since there are many parts whose utility scales with area (instead of volume), there are separate scaletypes for them: "stack_square" and "free_square": https://github.com/pellinor0/TweakScale/blob/master/GameData/TweakScale/DefaultScales.cfg#L21-L62
  7. Actually most non-stock modules work fine with TweakScale's config interface, see all the non-stock entries in https://github.com/pellinor0/TweakScale/blob/master/GameData/TweakScale/ScaleExponents.cfg#L236-L463 If the effect you need can be done by scaling a kspField in the target partModule, TweakScale support can be done with a ModuleManager config. Note that the exponent names refer to variable names in the C#-code (which might or might not correspond to config nodes appearing in some .cfg file). Only if this mechanism does not work do we need C#-code, either in the TweakScale codebase or in the other mod.
  8. TweakScale lets you change the size of a part. Not just that, but it will figure out how much fuel is in the resized part. And if it's an engine, it will become more powerful by scaling it bigger, or weaker by scaling it smaller. Download: SpaceDock / Curse Source: Github A bit of Documentation Latest dev version (WIP stuff, might contain bees) See also the development thread for the latest unreleased tinkering. TweakScale was originally developed by Goodspeed and Biotronic. [original release thread] Source: Github License: WTFPL Known issues * stock upgrade mechanic not supported yet * CrewCapacity: removed seats in the editor sometimes reappear * CrewCapacity: launch dialog of the pad/runway shows unscaled seats [stock limitation] * particle effects are not scaled [stock limitation] * unloaded relay antennas use their unscaled range [stock limitation] * (see also https://github.com/pellinor0/TweakScale/issues) Changelog v2.3.12 * configs for new parts * fix for exceptions * fix for solar panels * recompile for KSP 1.4.2 Please add TweakScale to your mod! Features How to use
  9. My experience is that CKAN hasn't caused trouble for TweakScale yet. It targets inexperienced users and should only see the stable releases. I found it quite useful for the initial installation, but also prefer to update things manually and selectively.
  10. Curiously, I thought on something like that recently. But I consider this to be "tricky" to implement as it would break an (programming) interface that are in use for years. OK, there're techniques to make things coexist, but we need to balance cost and benefits of such a feature. The "easier" changes on the programming interface would render the user interface less intuitive, and vice versa. (quoting this from the old TweakScale thread) The scaling part is quite simple and has been done before (for example the DIY Kits in GC). Some other questions are * Many parts in TweakScale assume the scaling has one degree of freedom, for example the config interface (scaleFactors, exponents, techRequired), the API for other mods. Is it clear how they should behave once a part can be scaled with two or three degrees of freedom? What additional config possibilities does this need? * Will the resulting config interface still be usable for the average modder? * How many parts benefit from non-isotropic scaling? This is the main point why I haven't done this yet. Most models just look bad when stretched. Edit: for simple cases like visually stretching an adapter, it could also be a separate part module that lacks all the interaction with other part modules.
  11. pellinor

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

    Let's move the discussion to the new thread and close this one.
  12. Now I understand. So if no scale is allowed the current behavior is probably to allow the defaultScale. This looks like a workaround because once the partModule comes to life it is too late to hide the part. Instead, some global object could check this condition whenever an editor is opened, and hide all parts that do not have at least one unlocked scale. Yes, I agree that would be useful.
  13. Ok then I was not clear enough. Most TweakScale config values can appear in two places: the scaletype or the part module. The code will first look in the config of the part module, any values found there will win over those in the scaletype (I'm talking about this part of the code). So if you put something like "techRequired = tech1,tech2,tech3" in the TweakScale module of a specific part, the requirements should only apply to the scaleFactors of that specific part. So my statement is that the current interface allows to specify a separate tech for any scale of any part, which is the finest granularity possible. Or maybe the missing piece is that techRequired is not a single value but a list, mapping a tech to every scaleFactor?
  14. This is possible today by putting the "TechRequired" field in the part-specific config, which overrides the one on the scaletype. Yes, doing this for hundreds of parts is probably not the most elegant solution. And there is currently no transparency in-game when things will unlock.
  15. pellinor

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

    Announcement: It is no secret that my more active days in this community are long past, and I am not giving this project the attention it deserves. @Lisias has agreed to take over the development of TweakScale from now on, and I hereby pass the torch to him. Once he has opened his own release thread, this one can be closed.
  16. pellinor

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

    I have to admit I missed the release, just downloading the game now... Considering the scaletypes, I'm not really sold on adding many intermediate values. 1.875 is a stock scale now, so that one will probably get used a lot. Tbh, I never used any exact intermediate scale other than 1.875m myself. For more exotic scales, everyone knows there is a slider for intermediate values right? So basically we are arguing about the ergonomics of some use cases avoiding the slider versus others having to click the arrows an additional one or two times.
  17. pellinor

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

    Yes, I guess that makes sense now that 1.875 has become a stock size. @PART[...] { %MODULE[TweakScale] { type = ... defaultScale = ... TWEAKSCALEEXPONENTS { mass = 0 } } } A patch like this should do the trick. Of course it also means that the mass does not decrease for a smaller part.
  18. pellinor

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

    By setting the type to "free" you tell the module to use these intervals for the scaling slider: SCALETYPE { name = free freeScale = true defaultScale = 100 suffix = % scaleFactors = 10, 50, 100, 200, 400 incrementSlide = 1, 1, 2, 5 } Defaultscale is which number the unscaled part should correspond to. In a %-based type the defaultScale should always stay at 100. (of course you still need to overwrite it if the old config used a different scaletype).
  19. pellinor

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

    Update: TweakScale-v2.3.12 configs for new parts fix for exceptions fix for solar panels recompile for KSP 1.4.2 Thanks for the pull requests!
  20. pellinor

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

    Fixed, thanks. You need patches like the ones in the TweakScale/patches folder. By the way, I haven't bought the expansion, so if someone has working patches for the new parts I'd be happy about a pull request.
  21. pellinor

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

    Update: TweakScale-v2.3.10 don't overwrite stuff if the exponent is zero recompile against KSP 1.4.1 No, this is a stock limitation.
  22. pellinor

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

    Update: TweakScale-v2.3.9 * fix interaction with stock ModulePartVariants
  23. pellinor

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

    Update: TweakScale-v2.3.8 recompile for KSP 1.4 a few patches for new parts Known issues: The new stock texture switch messes up attachment nodes on scaled parts. First switching texture and then scaling seems to work.
  24. See also the release thread! TweakScale was originally developed by Goodspeed and Biotronic. [original release thread] This work started as a fork to make a feature I wanted for a long time, comfortable free scaling for everything. Since Biotronic has no more time to support the mod, this has also grown into a maintainence thread for TweakScale. Source: Github License: WTFPL Download Latest dev version (WIP) Stable Version Change Log ToDo / Ideas see the issues on GitHub Sort out interference with tweakable everything Support for D12Aerospace subassembly-scaling, a config file for setting of hotkeys
  25. pellinor

    [WIP] TweakScale - Development Thread

    Usually dev is newer and will be merged to master every time I do a release. I just noted that the "dev" label currently points to an old commit in the github repo, that's an oversight and I'll clean it up (in the next few days).