for (box = 0; box < ctx->nboxes; box++) {
int *sq = ctx->boxlist + ctx->boxes[box];
int n = ctx->boxes[box+1] - ctx->boxes[box];
- int value = ctx->clues[box] & ~CMASK;
- int op = ctx->clues[box] & CMASK;
+ long value = ctx->clues[box] & ~CMASK;
+ long op = ctx->clues[box] & CMASK;
if (diff == DIFF_HARD) {
for (i = 0; i < n; i++)
/* Count the pencil marks required. */
for (i = 1, npencil = 0; i <= w; i++)
- if (tile & (1 << (i + DF_PENCIL_SHIFT)))
+ if (tile & (1L << (i + DF_PENCIL_SHIFT)))
npencil++;
if (npencil) {
pr = pl + TILESIZE - GRIDEXTRA;
pt = ty + GRIDEXTRA;
pb = pt + TILESIZE - GRIDEXTRA;
+ if (dsf_canonify(clues->dsf, y*w+x) == y*w+x) {
+ /*
+ * Make space for the clue text.
+ */
+ pt += TILESIZE/4;
+ /* minph--; */
+ }
/*
* We arrange our pencil marks in a grid layout, with
* Now actually draw the pencil marks.
*/
for (i = 1, j = 0; i <= w; i++)
- if (tile & (1 << (i + DF_PENCIL_SHIFT))) {
+ if (tile & (1L << (i + DF_PENCIL_SHIFT))) {
int dx = j % pw, dy = j / pw;
str[1] = '\0';
FONT_VARIABLE, TILESIZE/2,
ALIGN_VCENTRE | ALIGN_HCENTRE, ink, str);
}
+
+ sfree(minus_sign);
+ sfree(times_sign);
+ sfree(divide_sign);
}
#ifdef COMBINED