mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 16:05:44 -07:00
Patch idea from Debian, but modified considerably in implementation:
introduce a new colour in Slant (COL_FILLEDSQUARE) which is used for the background of any grid square that has a diagonal line in it. This makes it easier to spot the one square on a giant board you forgot to fill in, but on the other hand I found it to look very strange and disconcerting. So I've set the colour to be identical to COL_BACKGROUND by default, and users who like the idea can enable it by environment variable or by local patch. [originally from svn r8930]
This commit is contained in:
2
misc.c
2
misc.c
@ -187,7 +187,9 @@ void game_mkhighlight_specific(frontend *fe, float *ret,
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < 3; i++) {
|
for (i = 0; i < 3; i++) {
|
||||||
|
if (highlight >= 0)
|
||||||
ret[highlight * 3 + i] = ret[background * 3 + i] * 1.2F;
|
ret[highlight * 3 + i] = ret[background * 3 + i] * 1.2F;
|
||||||
|
if (lowlight >= 0)
|
||||||
ret[lowlight * 3 + i] = ret[background * 3 + i] * 0.8F;
|
ret[lowlight * 3 + i] = ret[background * 3 + i] * 0.8F;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
15
slant.c
15
slant.c
@ -39,7 +39,8 @@ enum {
|
|||||||
COL_SLANT1,
|
COL_SLANT1,
|
||||||
COL_SLANT2,
|
COL_SLANT2,
|
||||||
COL_ERROR,
|
COL_ERROR,
|
||||||
COL_CURSOR, COL_LOWLIGHT, /* LOWLIGHT currently not used. */
|
COL_CURSOR,
|
||||||
|
COL_FILLEDSQUARE,
|
||||||
NCOLOURS
|
NCOLOURS
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1809,8 +1810,12 @@ static float *game_colours(frontend *fe, int *ncolours)
|
|||||||
{
|
{
|
||||||
float *ret = snewn(3 * NCOLOURS, float);
|
float *ret = snewn(3 * NCOLOURS, float);
|
||||||
|
|
||||||
/* CURSOR colour is a background highlight. LOWLIGHT is unused. */
|
/* CURSOR colour is a background highlight. */
|
||||||
game_mkhighlight(fe, ret, COL_BACKGROUND, COL_CURSOR, COL_LOWLIGHT);
|
game_mkhighlight(fe, ret, COL_BACKGROUND, COL_CURSOR, -1);
|
||||||
|
|
||||||
|
ret[COL_FILLEDSQUARE * 3 + 0] = ret[COL_BACKGROUND * 3 + 0];
|
||||||
|
ret[COL_FILLEDSQUARE * 3 + 1] = ret[COL_BACKGROUND * 3 + 1];
|
||||||
|
ret[COL_FILLEDSQUARE * 3 + 2] = ret[COL_BACKGROUND * 3 + 2];
|
||||||
|
|
||||||
ret[COL_GRID * 3 + 0] = ret[COL_BACKGROUND * 3 + 0] * 0.7F;
|
ret[COL_GRID * 3 + 0] = ret[COL_BACKGROUND * 3 + 0] * 0.7F;
|
||||||
ret[COL_GRID * 3 + 1] = ret[COL_BACKGROUND * 3 + 1] * 0.7F;
|
ret[COL_GRID * 3 + 1] = ret[COL_BACKGROUND * 3 + 1] * 0.7F;
|
||||||
@ -1889,7 +1894,9 @@ static void draw_tile(drawing *dr, game_drawstate *ds, game_clues *clues,
|
|||||||
|
|
||||||
draw_rect(dr, COORD(x), COORD(y), TILESIZE, TILESIZE,
|
draw_rect(dr, COORD(x), COORD(y), TILESIZE, TILESIZE,
|
||||||
(v & FLASH) ? COL_GRID :
|
(v & FLASH) ? COL_GRID :
|
||||||
(v & CURSOR) ? COL_CURSOR : COL_BACKGROUND);
|
(v & CURSOR) ? COL_CURSOR :
|
||||||
|
(v & (BACKSLASH | FORWSLASH)) ? COL_FILLEDSQUARE :
|
||||||
|
COL_BACKGROUND);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Draw the grid lines.
|
* Draw the grid lines.
|
||||||
|
Reference in New Issue
Block a user