aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Kölker <jonaskoelker@yahoo.com>2015-10-08 11:00:29 +0200
committerSimon Tatham <anakin@pobox.com>2015-10-14 20:29:32 +0100
commit988b16a3191282a5407f6cee88d62aaae853be3d (patch)
tree5f417276cbd89238485db5f5aec5fe605a0942de
parentbf81e9c1fac2dc891d15d107a56db0c9b7482c20 (diff)
downloadpuzzles-988b16a3191282a5407f6cee88d62aaae853be3d.zip
puzzles-988b16a3191282a5407f6cee88d62aaae853be3d.tar.gz
puzzles-988b16a3191282a5407f6cee88d62aaae853be3d.tar.bz2
puzzles-988b16a3191282a5407f6cee88d62aaae853be3d.tar.xz
End victory flash on new game and restart game.
Net provides the best demonstration of why. Complete a game of net, then press N while the victory flash is playing: then the victory flash keeps playing on the new game board. (Tip: save a game which but for a redo is completed, then you can reproduce this repeatedly without having to complete a new game each time.) The flash timer reset code is placed together with the animation timer reset code, because the two are conceptually related. Note that midend_restart_game resets animations via midend_finish_move.
-rw-r--r--midend.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/midend.c b/midend.c
index c8ab76c..190840a 100644
--- a/midend.c
+++ b/midend.c
@@ -454,6 +454,7 @@ void midend_new_game(midend *me)
me->states[0].state);
midend_size_new_drawstate(me);
me->elapsed = 0.0F;
+ me->flash_pos = me->flash_time = 0.0F;
me->anim_pos = me->anim_time = 0.0F;
if (me->ui)
me->ourgame->free_ui(me->ui);
@@ -575,6 +576,7 @@ void midend_restart_game(midend *me)
me->ourgame->changed_state(me->ui,
me->states[me->statepos-2].state,
me->states[me->statepos-1].state);
+ me->flash_pos = me->flash_time = 0.0F;
midend_finish_move(me);
midend_redraw(me);
midend_set_timer(me);