Don't request a highlight colour in games that don't need one

This means that Range, Singles, and Tracks can now use the default
background colour even if it's close to white.  In the case of Singles
I've left a dummy entry in the colour list so as not to renumber the
rest and break everyone's environment variables.  If Singles ever needs
a new colour it can re-use that slot.
This commit is contained in:
Ben Harris
2022-12-12 21:15:37 +00:00
parent 712abb7719
commit 562b29e102
3 changed files with 6 additions and 7 deletions

View File

@ -1624,7 +1624,6 @@ enum {
COL_USER = COL_GRID, COL_USER = COL_GRID,
COL_ERROR, COL_ERROR,
COL_LOWLIGHT, COL_LOWLIGHT,
COL_HIGHLIGHT = COL_ERROR, /* mkhighlight needs it, I don't */
COL_CURSOR = COL_LOWLIGHT, COL_CURSOR = COL_LOWLIGHT,
NCOLOURS NCOLOURS
}; };
@ -1649,7 +1648,7 @@ static float *game_colours(frontend *fe, int *ncolours)
{ {
float *ret = snewn(3 * NCOLOURS, float); float *ret = snewn(3 * NCOLOURS, float);
game_mkhighlight(fe, ret, COL_BACKGROUND, COL_HIGHLIGHT, COL_LOWLIGHT); game_mkhighlight(fe, ret, COL_BACKGROUND, -1, COL_LOWLIGHT);
COLOUR(ret, COL_GRID, 0.0F, 0.0F, 0.0F); COLOUR(ret, COL_GRID, 0.0F, 0.0F, 0.0F);
COLOUR(ret, COL_ERROR, 1.0F, 0.0F, 0.0F); COLOUR(ret, COL_ERROR, 1.0F, 0.0F, 0.0F);

View File

@ -82,7 +82,7 @@ bool verbose = false;
#define FLASH_TIME 0.7F #define FLASH_TIME 0.7F
enum { enum {
COL_BACKGROUND, COL_HIGHLIGHT, COL_LOWLIGHT, COL_BACKGROUND, COL_UNUSED1, COL_LOWLIGHT,
COL_BLACK, COL_WHITE, COL_BLACKNUM, COL_GRID, COL_BLACK, COL_WHITE, COL_BLACKNUM, COL_GRID,
COL_CURSOR, COL_ERROR, COL_CURSOR, COL_ERROR,
NCOLOURS NCOLOURS
@ -1620,12 +1620,13 @@ static float *game_colours(frontend *fe, int *ncolours)
float *ret = snewn(3 * NCOLOURS, float); float *ret = snewn(3 * NCOLOURS, float);
int i; int i;
game_mkhighlight(fe, ret, COL_BACKGROUND, COL_HIGHLIGHT, COL_LOWLIGHT); game_mkhighlight(fe, ret, COL_BACKGROUND, -1, COL_LOWLIGHT);
for (i = 0; i < 3; i++) { for (i = 0; i < 3; i++) {
ret[COL_BLACK * 3 + i] = 0.0F; ret[COL_BLACK * 3 + i] = 0.0F;
ret[COL_BLACKNUM * 3 + i] = 0.4F; ret[COL_BLACKNUM * 3 + i] = 0.4F;
ret[COL_WHITE * 3 + i] = 1.0F; ret[COL_WHITE * 3 + i] = 1.0F;
ret[COL_GRID * 3 + i] = ret[COL_LOWLIGHT * 3 + i]; ret[COL_GRID * 3 + i] = ret[COL_LOWLIGHT * 3 + i];
ret[COL_UNUSED1 * 3 + i] = 0.0F; /* To placate an assertion. */
} }
ret[COL_CURSOR * 3 + 0] = 0.2F; ret[COL_CURSOR * 3 + 0] = 0.2F;
ret[COL_CURSOR * 3 + 1] = 0.8F; ret[COL_CURSOR * 3 + 1] = 0.8F;

View File

@ -2463,8 +2463,7 @@ static void game_set_size(drawing *dr, game_drawstate *ds,
} }
enum { enum {
COL_BACKGROUND, COL_LOWLIGHT, COL_HIGHLIGHT, COL_BACKGROUND, COL_TRACK_BACKGROUND,
COL_TRACK_BACKGROUND = COL_LOWLIGHT,
COL_GRID, COL_CLUE, COL_CURSOR, COL_GRID, COL_CLUE, COL_CURSOR,
COL_TRACK, COL_TRACK_CLUE, COL_SLEEPER, COL_TRACK, COL_TRACK_CLUE, COL_SLEEPER,
COL_DRAGON, COL_DRAGOFF, COL_DRAGON, COL_DRAGOFF,
@ -2477,7 +2476,7 @@ static float *game_colours(frontend *fe, int *ncolours)
float *ret = snewn(3 * NCOLOURS, float); float *ret = snewn(3 * NCOLOURS, float);
int i; int i;
game_mkhighlight(fe, ret, COL_BACKGROUND, COL_HIGHLIGHT, COL_LOWLIGHT); game_mkhighlight(fe, ret, COL_BACKGROUND, -1, COL_TRACK_BACKGROUND);
for (i = 0; i < 3; i++) { for (i = 0; i < 3; i++) {
ret[COL_TRACK_CLUE * 3 + i] = 0.0F; ret[COL_TRACK_CLUE * 3 + i] = 0.0F;