From d271907f8c5d84308a3cf9323ac692199b8685a6 Mon Sep 17 00:00:00 2001 From: Misa Date: Sat, 14 Nov 2020 15:43:22 -0800 Subject: [PATCH] Fix Secret Lab Time Trial trophies having wrong colors Ever since 2.0, the colors of some of the Time Trial trophies in the Secret Lab don't correspond to the crewmate of the given level. The trophy for the Tower uses Victoria's color, and the Lab trophy uses Vermilion's color. The Space Station 2 trophy uses Viridian's color, and the Final Level trophy uses Vitellary's color. This doesn't appear to be intentional, and it would be odd if it was, since this game matches the colors everywhere else (each zone on the map is colored with their respective crewmate in mind, for instance). Also, the Lab trophy has the sad expression, which is Victoria's trait - it would be weird if this was intended for Vermilion instead. But the biggest piece of evidence that this was unintentional is the corresponding comment for each color in Graphics::setcol(). It mislabels yellow as cyan, cyan as yellow, blue as red, and red as blue. To fix this, I simply have to set the correct color for each trophy in case 25 of entityclass::createentity(). I could fix it in Graphics::setcol() itself, but custom levels might depend on those certain colors being the way they are, so it's a safer bet to just fix it in the trophy creation case itself. The diff of this might look weird. Even though all I'm doing is changing some value assignments around, it looks like the "patience" algorithm thinks I'm moving a whole case of the trophy switch-case around. --- desktop_version/src/Entity.cpp | 8 ++++---- desktop_version/src/Graphics.cpp | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/desktop_version/src/Entity.cpp b/desktop_version/src/Entity.cpp index 9cec4ee9..d81a396c 100644 --- a/desktop_version/src/Entity.cpp +++ b/desktop_version/src/Entity.cpp @@ -1745,21 +1745,21 @@ void entityclass::createentity( float xp, float yp, int t, float vx /*= 0*/, flo if(game.bestrank[1]>=3) { entity.tile = 186 + vx; - entity.colour = 35; + entity.colour = 33; } break; case 3: if(game.bestrank[2]>=3) { entity.tile = 184 + vx; - entity.colour = 33; + entity.colour = 35; } break; case 4: if(game.bestrank[3]>=3) { entity.tile = 184 + vx; - entity.colour = 32; + entity.colour = 30; } break; case 5: @@ -1773,7 +1773,7 @@ void entityclass::createentity( float xp, float yp, int t, float vx /*= 0*/, flo if(game.bestrank[5]>=3) { entity.tile = 184 + vx; - entity.colour = 30; + entity.colour = 32; } break; diff --git a/desktop_version/src/Graphics.cpp b/desktop_version/src/Graphics.cpp index 7e7cd1e6..5728737a 100644 --- a/desktop_version/src/Graphics.cpp +++ b/desktop_version/src/Graphics.cpp @@ -2618,7 +2618,7 @@ void Graphics::setcol( int t ) break; //Trophies - //cyan + //Yellow case 30: ct.colour = RGBf(160, 200, 220); break; @@ -2626,11 +2626,11 @@ void Graphics::setcol( int t ) case 31: ct.colour = RGBf(220, 120, 210); break; - //Yellow + //cyan case 32: ct.colour = RGBf(220, 210, 120); break; - //red + //Blue case 33: ct.colour = RGBf(255, 70, 70); break; @@ -2638,7 +2638,7 @@ void Graphics::setcol( int t ) case 34: ct.colour = RGBf(120, 220, 120); break; - //Blue + //red case 35: ct.colour = RGBf(75, 75, 255); break;