shithub: puzzles

Download patch

ref: 2d9e414ee316b37143954150016e8f4f18358497
parent: 67496e74f68db900d8117be6de3c75285c29c489
author: Ben Harris <bjh21@bjh21.me.uk>
date: Sun Sep 17 19:22:32 EDT 2023

Distinguish MOVE_UNUSED from MOVE_NO_EFFECT in Inertia

--- a/inertia.c
+++ b/inertia.c
@@ -1635,7 +1635,7 @@
 	dir = state->soln->list[state->solnpos];
 
     if (dir < 0)
-	return NULL;
+	return MOVE_UNUSED;
 
     /*
      * Reject the move if we can't make it at all due to a wall
@@ -1642,13 +1642,13 @@
      * being in the way.
      */
     if (AT(w, h, state->grid, state->px+DX(dir), state->py+DY(dir)) == WALL)
-	return NULL;
+	return MOVE_NO_EFFECT;
 
     /*
      * Reject the move if we're dead!
      */
     if (state->dead)
-	return NULL;
+	return MOVE_NO_EFFECT;
 
     /*
      * Otherwise, we can make the move. All we need to specify is