mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 08:01:30 -07:00
grid.c: fix size miscalculation in Floret tiling.
A Floret grid of height h usually alternates columns of h hexagonal florets with columns of h-1. An exception is when h=1, in which case alternating columns of 1 and 0 florets would leave the grid disconnected. So in that situation all columns have 1 floret in them, and the starting y-coordinate oscillates to make the grid tile sensibly. However, that special case wasn't taken account of when calculating the grid height. As a result the anomalous extra florets in the height-1 tiling fell off the bottom of the puzzle window.
This commit is contained in:
2
grid.c
2
grid.c
@ -2378,6 +2378,8 @@ static void grid_size_floret(int width, int height,
|
||||
*tilesize = FLORET_TILESIZE;
|
||||
*xextent = (6*px+3*qx)/2 * (width-1) + 4*qx + 2*px;
|
||||
*yextent = (5*qy-4*py) * (height-1) + 4*qy + 2*ry;
|
||||
if (height == 1)
|
||||
*yextent += (5*qy-4*py)/2;
|
||||
}
|
||||
|
||||
static grid *grid_new_floret(int width, int height, const char *desc)
|
||||
|
Reference in New Issue
Block a user