From 5b5c6b1255fb259a0aa0c33ad9ae46c46b86bc61 Mon Sep 17 00:00:00 2001 From: simon Date: Tue, 17 Aug 2004 19:59:14 +0000 Subject: [PATCH] Now we have the `dir' parameter, we should use it where it makes sense to do so. git-svn-id: svn://svn.tartarus.org/sgt/puzzles@4477 cda61777-01e9-0310-a592-d414129be87e --- cube.c | 4 +++- sixteen.c | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/cube.c b/cube.c index 45b38bc..d5221e6 100644 --- a/cube.c +++ b/cube.c @@ -1366,13 +1366,15 @@ void game_redraw(frontend *fe, game_drawstate *ds, game_state *oldstate, draw_rect(fe, 0, 0, (int)((bb.r-bb.l+2.0F) * GRID_SCALE), (int)((bb.d-bb.u+2.0F) * GRID_SCALE), COL_BACKGROUND); - if (oldstate && oldstate->movecount > state->movecount) { + if (dir < 0) { game_state *t; /* * This is an Undo. So reverse the order of the states, and * run the roll timer backwards. */ + assert(oldstate); + t = oldstate; oldstate = state; state = t; diff --git a/sixteen.c b/sixteen.c index 1e1f8b8..f6215bd 100644 --- a/sixteen.c +++ b/sixteen.c @@ -664,10 +664,12 @@ void game_redraw(frontend *fe, game_drawstate *ds, game_state *oldstate, float c; int sense; - if (oldstate && state->movecount < oldstate->movecount) + if (dir < 0) { + assert(oldstate); sense = -oldstate->last_movement_sense; - else + } else { sense = state->last_movement_sense; + } t = state->tiles[i]; -- 2.11.0