shithub: puzzles

Download patch

ref: 2b392a9d5a0e269e1a8ef2281882f55facdee60f
parent: daac529a9eded98181fdf2b0d79e7138195614ec
author: Jacob Nevins <jacobn@chiark.greenend.org.uk>
date: Mon Aug 16 12:51:18 EDT 2004

Net's redraw function now uses the `dir' argument to determine whether it's
redrawing an undo. Seems to work.

[originally from svn r4470]

--- a/net.c
+++ b/net.c
@@ -1323,11 +1323,9 @@
         break_label:
 
         if (tx >= 0) {
-            if (tile(state, tx, ty) == ROT(tile(oldstate, tx, ty),
-                                           state->last_rotate_dir))
-                angle = state->last_rotate_dir * 90.0F * (t / ROTATE_TIME);
-            else
-                angle = state->last_rotate_dir * -90.0F * (t / ROTATE_TIME);
+            int last_rotate_dir = dir==-1 ? oldstate->last_rotate_dir :
+                                            state->last_rotate_dir;
+            angle = last_rotate_dir * dir * 90.0F * (t / ROTATE_TIME);
             state = oldstate;
         }
     }