shithub: puzzles

Download patch

ref: 295fb9fd83512432404cd701c8b09bae4e627e20
parent: 7f8919952ff61e69f264082f06d4b2698cc1dedd
author: Simon Tatham <anakin@pobox.com>
date: Sun Sep 18 03:43:18 EDT 2011

When we run out of background colours for chains and wrap back to the
beginning, we should wrap back to COL_B0+1 rather than COL_B0 itself,
so as not to reuse white. White should be special, and always indicate
a properly numbered square.

[originally from svn r9305]

--- a/signpost.c
+++ b/signpost.c
@@ -1812,8 +1812,8 @@
 {
     int set = num / (ds->n+1);
 
-    if (num <= 0) return COL_B0;
-    return COL_B0 + (set % 16);
+    if (num <= 0 || set == 0) return COL_B0;
+    return COL_B0 + 1 + ((set-1) % 15);
 }
 
 #define ARROW_HALFSZ (7 * TILE_SIZE / 32)