Closed keilladraconis closed 2 years ago
Well, I managed to figure out how ModSettings are intended to work despite the incomplete documentation. Now I just have to generate all the settings and text and oh I should actually test this in a script.
I realize I didn't really write down the proper design of this, so here goes.
settings.ini
file.Done! basically, skipped presets and infinte mode.
Make it possible for players to configure the assorted sliders.
So I can basically see two ways to do this...
Create a massive long list of sliders/dropdowns. Like:
Pros: Goes nicely into ini file so it's shareable Cons: So long... So very long... Maybe it can be submenued?
Use a single list, with an option to load settings from INI, but then have some steppers that let you step through the slots.
Pros: Less menu space taken up Cons: Much harder to share preset. You have to make your preset, save to INI, paste it to someone else, load the preset into your INI, press the button to load from INI...
No matter what, the number of controls in MCM is fixed and cannot be altered at runtime. It can be sorta faked by using groupid, but that probably sucks...
It is a hell of a lot easier to understand if it's a simple list.
Then again... all of this fine-tuning of sliders is really tedious. We could instead give players some options for each stage, and then based on those do a somewhat randomized approach.
What does that mean? Is it a good idea to read/write sliders?
I'm not sure. What's the simplest way to get out of this?
What do we want? To get Thicc along a track that doesn't end up looking mutant crazy (for someone's definition thereof).
Some players are going to want a relatively constrained THICC configuration that doesn't go very far. Others are going to want hyper.
Some players might have particular things that they want to hyper.
How many players want to fine-tune every aspect of thicc, or would be happy with something that's Good Enough?
So... you can get/set ModSettings.
What if we allow 32 sliders per stage... but you're allowed to leave them blank and the stages cascade over one another in a highest-wins fashion. So we have our MCM config say...
This all gets generated so users can go and write all this in, but when it comes to what's being loaded into the slider preset, users are presented with an interface listing the four stages and each is a switcher going between some simple builtins using the sliders built into the TWB body. There's a custom option which uses the value of the INI and the following section, 'custom'.
Finally there's a compile button you use to write the config to the player (or a list of NPCs i suppose).
Alright. I think that's got to be how it is. So we have 32 sliders per stage, slidername and value, and four stages. Stage 4 might have an 'unlimited' option.