The cube was being drawn slightly differently on the top and left
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Sat, 1 May 2004 07:32:09 +0000 (07:32 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Sat, 1 May 2004 07:32:09 +0000 (07:32 +0000)
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.

git-svn-id: svn://svn.tartarus.org/sgt/puzzles@4179 cda61777-01e9-0310-a592-d414129be87e

cube.c

diff --git a/cube.c b/cube.c
index 9cb359e..e779068 100644 (file)
--- a/cube.c
+++ b/cube.c
@@ -1294,8 +1294,8 @@ void game_redraw(frontend *fe, game_drawstate *ds, game_state *oldstate,
         }
 
         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;
         }
 
         /*