[+][SUG][PL] Clear Physics: Abolish color cycling, pick good non-clashing colors

Started by Simon, July 06, 2025, 05:40:35 PM

Previous topic - Next topic

0 Members and 4 Guests are viewing this topic.

Simon

I would like to learn Proxima's reason for why he prefers darker lemmings. I know that lemmings at (0x80, 0x80, 0xFF) become similarly light as the earth (some light grey). Is the lemming-to-earth contrast your reason?

When I know more, I can start recommending better defaults for the CPM color config file.

The meaning of the bool option is: Ignore what's configured in the dedicated CPM options file, and use this prefixed configuration that you can't choose by editing that file. That leads to the idea: Ditch the option and instead make "cycling" a keyword that can appear directly in the CPM color config file. After all, the behavior is either-or, and now the way to configure it will be clearly either-or, too, not a product of 1. bool, 2. color. You can print comments into the file to explain "cycling".

If you keep the bool option nonetheless, consider to default it to no color-cycling. Reason: That's most helpful for new users who won't look into the options. WillLem can then activate the option for his cycling.

I still think that the CPM color config file should go into user/.

Should I make 3 fresh topics for these 3 sub-issues (default colors, how to choose cycling, location of the config file)?

-- Simon

WillLem

Quote from: Simon on June 28, 2026, 12:07:01 AMDitch the option and instead make "cycling" a keyword that can appear directly in the CPM color config file ... You can print comments into the file to explain "cycling".

This is a good idea. The bool option does seem a bit wonky as it's unclear exactly what will cycle when the option is on.

Should all elements be allowed to cycle (Gadgets, Lemmings, Triggers, etc)?

Quote from: Simon on June 28, 2026, 12:07:01 AMIf you keep the bool option nonetheless, consider to default it to no color-cycling.

OK, if we keep the option let's toggle it off by default. I probably prefer your idea of keeping all CPM color concerns to the .nxmi though; let's focus on that going forward.

Quote from: Simon on June 28, 2026, 12:07:01 AMI still think that the CPM color config file should go into user/.

Agreed, this does make the most sense.

Quote from: Simon on June 28, 2026, 12:07:01 AMShould I make 3 fresh topics for these 3 sub-issues (default colors, how to choose cycling, location of the config file)?

No need, this topic is sufficient for all concerns. I've downgraded the status of this topic from [✓] (resolved) to [+] (in progress).

Simon

Quote from: WillLem on June 28, 2026, 08:24:02 PMShould all elements be allowed to cycle (Gadgets, Lemmings, Triggers, etc)?

I wager that this cycling is mainly for yourself.

If I were to implement it, I might allow it purely because the alternative would be to special-case something (gadgets would be special). I like to avoid that. Implementing it saves a user-visible explanation, even if it's only "for gadgets, you can also put" instead of "you can also put" in the comment in the config file. If we don't make it clear, we'll eventually get a bug report.

On the other hand, I don't need it, and if you don't need it, chances are that nobody needs it. Do what makes yourself feel best. I don't know how it looks in the code. If it's nasty in the code ...

-- Simon

WillLem

Quote from: Simon on June 29, 2026, 10:45:35 PMI wager that this cycling is mainly for yourself.

Fair shout, but chances are that there are others who also like the effect, otherwise it would never have been implemented this way in the first place. It's possible that a colour couldn't be decided upon, so it was a case of 'let's just use all colours and cycle them!' - namida will probably know more about how the effect first made it into the game.

Quote from: Simon on June 29, 2026, 10:45:35 PMIf I were to implement it, I might allow it purely because the alternative would be to special-case something (gadgets would be special).

Agreed, it should probably just be allowed for everything. If we make it so that users must configure it themselves via the .nxmi, chances are that they'll choose to use it for only one (and not all) of the elements, if at all. And, if they do wish for CPM to be a psychedelic mess, they are free to make it so!

Quote from: Simon on June 29, 2026, 10:45:35 PMI don't know how it looks in the code. If it's nasty in the code ...

It's actually very neat in the code! I refactored the few lines into its own method, so that it can easily be used for anything we wish. Even before that though, it wasn't messy or bothersome at all.