shithub: puzzles

Download patch

ref: 2206a1aa25f783759cdf2336310357c33823dc21
parent: a3c5409af26b5596c47a48a4b7e706d30da5da24
author: Simon Tatham <anakin@pobox.com>
date: Sat May 1 03:32:09 EDT 2004

The cube was being drawn slightly differently on the top and left
rows, because the coordinates were crossing one or other axis at
that point and so the lower coordinate was being rounded up while
the upper one was rounded down. Judicious use of floor() fixes it.

[originally from svn r4179]

--- a/cube.c
+++ b/cube.c
@@ -1294,8 +1294,8 @@
         }
 
         for (j = 0; j < poly->order; j++) {
-            coords[j*2] = (int)(points[j*2] * GRID_SCALE) + ds->ox;
-            coords[j*2+1] = (int)(points[j*2+1] * GRID_SCALE) + ds->oy;
+            coords[j*2] = (int)floor(points[j*2] * GRID_SCALE) + ds->ox;
+            coords[j*2+1] = (int)floor(points[j*2+1] * GRID_SCALE) + ds->oy;
         }
 
         /*