int x, y;
if (*desc == 'r') {
+ desc++;
if (!*desc || !isdigit((unsigned char)*desc))
return "No initial mine count in game description";
while (*desc && isdigit((unsigned char)*desc))
sfree(ui);
}
-char *encode_ui(game_ui *ui)
+static char *encode_ui(game_ui *ui)
{
char buf[80];
/*
return dupstr(buf);
}
-void decode_ui(game_ui *ui, char *encoding)
+static void decode_ui(game_ui *ui, char *encoding)
{
sscanf(encoding, "D%d", &ui->deaths);
}
static void game_size(game_params *params, game_drawstate *ds,
int *x, int *y, int expand)
{
- int tsx, tsy, ts;
+ double tsx, tsy, ts;
/*
* Each window dimension equals the tile size times 3 more than
* the grid dimension (the border is 3/2 the width of the
* tiles).
*/
- tsx = *x / (params->w + 3);
- tsy = *y / (params->h + 3);
+ tsx = (double)*x / ((double)params->w + 3.0);
+ tsy = (double)*y / ((double)params->h + 3.0);
ts = min(tsx, tsy);
if (expand)
- ds->tilesize = ts;
+ ds->tilesize = (int)(ts + 0.5);
else
- ds->tilesize = min(ts, PREFERRED_TILE_SIZE);
+ ds->tilesize = min((int)ts, PREFERRED_TILE_SIZE);
*x = BORDER * 2 + TILE_SIZE * params->w;
*y = BORDER * 2 + TILE_SIZE * params->h;
coords[3] = y;
coords[4] = x;
coords[5] = y + TILE_SIZE - 1;
- draw_polygon(fe, coords, 3, TRUE, COL_LOWLIGHT ^ hl);
- draw_polygon(fe, coords, 3, FALSE, COL_LOWLIGHT ^ hl);
+ draw_polygon(fe, coords, 3, COL_LOWLIGHT ^ hl, COL_LOWLIGHT ^ hl);
coords[0] = x;
coords[1] = y;
- draw_polygon(fe, coords, 3, TRUE, COL_HIGHLIGHT ^ hl);
- draw_polygon(fe, coords, 3, FALSE, COL_HIGHLIGHT ^ hl);
+ draw_polygon(fe, coords, 3, COL_HIGHLIGHT ^ hl,
+ COL_HIGHLIGHT ^ hl);
draw_rect(fe, x + HIGHLIGHT_WIDTH, y + HIGHLIGHT_WIDTH,
TILE_SIZE - 2*HIGHLIGHT_WIDTH, TILE_SIZE - 2*HIGHLIGHT_WIDTH,
SETCOORD(3, 0.25, 0.8);
SETCOORD(4, 0.55, 0.7);
SETCOORD(5, 0.55, 0.35);
- draw_polygon(fe, coords, 6, TRUE, COL_FLAGBASE);
- draw_polygon(fe, coords, 6, FALSE, COL_FLAGBASE);
+ draw_polygon(fe, coords, 6, COL_FLAGBASE, COL_FLAGBASE);
SETCOORD(0, 0.6, 0.2);
SETCOORD(1, 0.6, 0.5);
SETCOORD(2, 0.2, 0.35);
- draw_polygon(fe, coords, 3, TRUE, COL_FLAG);
- draw_polygon(fe, coords, 3, FALSE, COL_FLAG);
+ draw_polygon(fe, coords, 3, COL_FLAG, COL_FLAG);
#undef SETCOORD
} else if (v == -3) {
xdy = -tdy;
}
- draw_polygon(fe, coords, 5*4, TRUE, COL_MINE);
- draw_polygon(fe, coords, 5*4, FALSE, COL_MINE);
+ draw_polygon(fe, coords, 5*4, COL_MINE, COL_MINE);
draw_rect(fe, cx-r/3, cy-r/3, r/3, r/4, COL_HIGHLIGHT);
}
coords[9] = COORD(state->h) + OUTER_HIGHLIGHT_WIDTH - 1;
coords[6] = coords[8] + TILE_SIZE;
coords[7] = coords[9] - TILE_SIZE;
- draw_polygon(fe, coords, 5, TRUE, COL_HIGHLIGHT);
- draw_polygon(fe, coords, 5, FALSE, COL_HIGHLIGHT);
+ draw_polygon(fe, coords, 5, COL_HIGHLIGHT, COL_HIGHLIGHT);
coords[1] = COORD(0) - OUTER_HIGHLIGHT_WIDTH;
coords[0] = COORD(0) - OUTER_HIGHLIGHT_WIDTH;
- draw_polygon(fe, coords, 5, TRUE, COL_LOWLIGHT);
- draw_polygon(fe, coords, 5, FALSE, COL_LOWLIGHT);
+ draw_polygon(fe, coords, 5, COL_LOWLIGHT, COL_LOWLIGHT);
ds->started = TRUE;
}
void draw_rect(frontend *fe, int x, int y, int w, int h, int colour) {}
void draw_line(frontend *fe, int x1, int y1, int x2, int y2, int colour) {}
void draw_polygon(frontend *fe, int *coords, int npoints,
- int fill, int colour) {}
+ int fillcolour, int outlinecolour) {}
void clip(frontend *fe, int x, int y, int w, int h) {}
void unclip(frontend *fe) {}
void start_draw(frontend *fe) {}