From e1a7869e0eff2a80f58c3c77c4ab072b0df18118 Mon Sep 17 00:00:00 2001 From: simon Date: Sat, 19 Jan 2013 18:56:06 +0000 Subject: [PATCH] Bring Pearl's game-completion handling in line with my usual practice: the 'completed' flag is not reset if you make a new move transforming a solved game into an unsolved state, so the game won't flash again if you manually erase and redraw a line segment (though it still will if you undo and redo past the first solved state in the undo history). git-svn-id: svn://svn.tartarus.org/sgt/puzzles@9750 cda61777-01e9-0310-a592-d414129be87e --- pearl.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pearl.c b/pearl.c index 9670592..ed1ee16 100644 --- a/pearl.c +++ b/pearl.c @@ -1640,8 +1640,6 @@ static void check_completion(game_state *state, int mark) if (!had_error && loopclass != -1) { state->completed = TRUE; state->loop_length = dsfsize[loopclass]; - } else { - state->completed = FALSE; } sfree(dsf); @@ -2450,8 +2448,8 @@ static float game_anim_length(game_state *oldstate, game_state *newstate, static float game_flash_length(game_state *oldstate, game_state *newstate, int dir, game_ui *ui) { - if (!oldstate->completed && - newstate->completed && !newstate->used_solve) + if (!oldstate->completed && newstate->completed && + !oldstate->used_solve && !newstate->used_solve) return FLASH_TIME; else return 0.0F; -- 2.11.0