From: Simon Tatham Date: Fri, 29 Jul 2005 16:45:52 +0000 (+0000) Subject: One more fix from Ben H. Also switched round the arena colour X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=e37c2c0ad2811eadbf8e6f470cd719c5c21142fa;p=sgt-puzzles.git One more fix from Ben H. Also switched round the arena colour selection in the redraw function, so that locked squares are no longer displayed once the game is at an end. (It looked untidy and disorienting for lighter-coloured locked squares to suddenly become darker when the box was opened. You can still flip back and forth to your previous game state using undo/redo if you want to compare the results against your lock pattern.) [originally from svn r6150] --- diff --git a/blackbox.c b/blackbox.c index 17ce1b4..709e32a 100644 --- a/blackbox.c +++ b/blackbox.c @@ -273,7 +273,7 @@ static char *validate_desc(game_params *params, char *desc) /* check each ball will fit on that grid */ for (i = 0; i < nballs; i++) { int x = bmp[(i+1)*2 + 0], y = bmp[(i+1)*2 + 1]; - if (x < 0 || y < 0 || x > params->w || y > params->h) + if (x < 0 || y < 0 || x >= params->w || y >= params->h) goto done; } ret = NULL; @@ -994,8 +994,8 @@ static void draw_arena_tile(frontend *fe, game_state *gs, game_drawstate *ds, if (gs_tile != ds_tile || gs->reveal != ds->reveal || force) { int bcol, bg; - bg = (gs_tile & BALL_LOCK) ? COL_LOCK : - gs->reveal ? COL_BACKGROUND : COL_COVER; + bg = (gs->reveal ? COL_BACKGROUND : + (gs_tile & BALL_LOCK) ? COL_LOCK : COL_COVER); draw_rect(fe, dx, dy, TILE_SIZE, TILE_SIZE, bg); draw_rect_outline(fe, dx, dy, TILE_SIZE, TILE_SIZE, COL_GRID);