mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2026-01-30 09:54:10 +03:00
Refactor colors in internal commands
Originally this started as a "deduplicate a bunch of duplicated code in script commands" PR, but as I was working on that, I discovered there's a lot more that needs to be done than just deduplication. Anything which needs a crewmate entity now calls `getcrewmanfromname(name)`, and anything which just needs the crewmate's color calls `getcolorfromname(name)`. This was done to make sure that everything works consistently and no copy/pasting is required. Next is the fallback; instead of giving up and doing various things when it can't find a specific color, it now attempts to treat the color name as an ID, and if it can't then it returns -1, where each individual command handles that return value. This means we can keep around AEM -- a bug used in custom levels -- by not doing anything with the return value if it's -1. Also, for some reason, there were two `crewcolour` functions, so I stripped out the one in entityclass and left (and modified) the one in the graphics class, since the graphics class also has the `crewcolourreal` function.
This commit is contained in:
@@ -3176,12 +3176,12 @@ void Graphics::textboxcentery(void)
|
||||
int Graphics::crewcolour(const int t)
|
||||
{
|
||||
//given crewmate t, return colour in setcol
|
||||
if (t == 0) return 0;
|
||||
if (t == 1) return 20;
|
||||
if (t == 2) return 14;
|
||||
if (t == 3) return 15;
|
||||
if (t == 4) return 13;
|
||||
if (t == 5) return 16;
|
||||
if (t == 0) return CYAN;
|
||||
if (t == 1) return PURPLE;
|
||||
if (t == 2) return YELLOW;
|
||||
if (t == 3) return RED;
|
||||
if (t == 4) return GREEN;
|
||||
if (t == 5) return BLUE;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user