aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2004-08-17 19:59:14 +0000
committerSimon Tatham <anakin@pobox.com>2004-08-17 19:59:14 +0000
commita7b1697b1cd450589141b88862142dafc72e0b74 (patch)
tree48f566bfd758240275cb569f66b89a6037b8acc5
parentae63b8010b2fbac2eb591da888eefa9566da2b5f (diff)
downloadpuzzles-a7b1697b1cd450589141b88862142dafc72e0b74.zip
puzzles-a7b1697b1cd450589141b88862142dafc72e0b74.tar.gz
puzzles-a7b1697b1cd450589141b88862142dafc72e0b74.tar.bz2
puzzles-a7b1697b1cd450589141b88862142dafc72e0b74.tar.xz
Now we have the `dir' parameter, we should use it where it makes
sense to do so. [originally from svn r4477]
-rw-r--r--cube.c4
-rw-r--r--sixteen.c6
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];