mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 08:01:30 -07:00
Forbid moves that fill with the current colour in Flood
This avoids an assertion failure, "oldcolour != newcolour" in fill(), by catching it it execute_move(). As far as I know this couldn't be triggered from the UI, but it could be demonstrated with this save file: SAVEFILE:41:Simon Tatham's Portable Puzzle Collection VERSION :1:1 GAME :5:Flood PARAMS :1:3 CPARAMS :1:3 DESC :12:231353400,11 NSTATES :1:3 STATEPOS:1:3 MOVE :2:M3 MOVE :2:M3
This commit is contained in:
1
flood.c
1
flood.c
@ -887,6 +887,7 @@ static game_state *execute_move(const game_state *state, const char *move)
|
||||
if (move[0] == 'M' &&
|
||||
sscanf(move+1, "%d", &c) == 1 &&
|
||||
c >= 0 &&
|
||||
c != state->grid[FILLY * state->w + FILLX] &&
|
||||
!state->complete) {
|
||||
int *queue = snewn(state->w * state->h, int);
|
||||
ret = dup_game(state);
|
||||
|
Reference in New Issue
Block a user