ref: 3fc5a644a72e747b1f88125b38b2f178a9bc7ed3
parent: 52d4dae0a9a997b01d6410b42d1e1c503f039bc1
author: Simon Tatham <anakin@pobox.com>
date: Sun Mar 31 14:25:25 EDT 2013
Undead was not ever actually draw_update()ing to the edges of its rectangle, which showed up on the Javascript front end since the JS canvas doesn't start out defaulting to COL_BACKGROUND. Fixed it to draw_update to the edge of its area, and while I'm at it, narrowed the border (since this proves we didn't really need that much space anyway). [originally from svn r9795]
--- a/undead.c
+++ b/undead.c
@@ -1644,7 +1644,7 @@
};
#define TILESIZE (ds->tilesize)
-#define BORDER (TILESIZE/2)
+#define BORDER (TILESIZE/4)
static char *interpret_move(game_state *state, game_ui *ui,
const game_drawstate *ds, int x, int y, int button)
@@ -1974,8 +1974,12 @@
static void game_compute_size(game_params *params, int tilesize,
int *x, int *y) {
- *x = tilesize + (2 + params->w) * tilesize;
- *y = tilesize + (3 + params->h) * tilesize;
+ /* Ick: fake up `ds->tilesize' for macro expansion purposes */
+ struct { int tilesize; } ads, *ds = &ads;
+ ads.tilesize = tilesize;
+
+ *x = 2*BORDER+(params->w+2)*TILESIZE;
+ *y = 2*BORDER+(params->h+3)*TILESIZE;
return;
}
@@ -2410,8 +2414,8 @@
draw_rect(dr, BORDER+(ds->tilesize*(i+1))+1,
BORDER+(ds->tilesize*(j+2))+1, ds->tilesize-1,
ds->tilesize-1, COL_BACKGROUND);
- draw_update(dr,BORDER+TILESIZE-1,BORDER+2*TILESIZE-1,
- (ds->w)*TILESIZE+3, (ds->h)*TILESIZE+3);
+ draw_update(dr, 0, 0, 2*BORDER+(ds->w+2)*TILESIZE,
+ 2*BORDER+(ds->h+3)*TILESIZE);
}
hchanged = FALSE;