diff --git a/fuzzpuzz.c b/fuzzpuzz.c index 0d6cc7a..978c90e 100644 --- a/fuzzpuzz.c +++ b/fuzzpuzz.c @@ -39,6 +39,8 @@ static void savefile_write(void *wctx, const void *buf, int len) fwrite(buf, 1, len, fp); } +static drawing_api drapi = { NULL }; + int main(int argc, char **argv) { const char *err; @@ -47,6 +49,7 @@ int main(int argc, char **argv) const game *ourgame = NULL; midend *me; FILE *in = NULL; + int w, h; if (argc != 1) { fprintf(stderr, "usage: %s\n", argv[0]); @@ -93,7 +96,7 @@ int main(int argc, char **argv) continue; } - me = midend_new(NULL, ourgame, NULL, NULL); + me = midend_new(NULL, ourgame, &drapi, NULL); rewind(in); err = midend_deserialise(me, savefile_read, in); @@ -103,6 +106,9 @@ int main(int argc, char **argv) midend_free(me); continue; } + w = h = INT_MAX; + midend_size(me, &w, &h, false, 1); + midend_redraw(me); midend_serialise(me, savefile_write, stdout); midend_free(me); ret = 0; diff --git a/nullfe.c b/nullfe.c index d1e5605..971250e 100644 --- a/nullfe.c +++ b/nullfe.c @@ -13,9 +13,10 @@ void get_random_seed(void **randseed, int *randseedsize) { char *c = snewn(1, char); *c = 0; *randseed = c; *randseedsize = 1; } void deactivate_timer(frontend *fe) {} void activate_timer(frontend *fe) {} +struct drawing { char dummy; }; drawing *drawing_new(const drawing_api *api, midend *me, void *handle) -{ return NULL; } -void drawing_free(drawing *dr) {} +{ return snew(drawing); } +void drawing_free(drawing *dr) { sfree(dr); } void draw_text(drawing *dr, int x, int y, int fonttype, int fontsize, int align, int colour, const char *text) {} void draw_rect(drawing *dr, int x, int y, int w, int h, int colour) {} @@ -33,8 +34,9 @@ void unclip(drawing *dr) {} void start_draw(drawing *dr) {} void draw_update(drawing *dr, int x, int y, int w, int h) {} void end_draw(drawing *dr) {} -blitter *blitter_new(drawing *dr, int w, int h) {return NULL;} -void blitter_free(drawing *dr, blitter *bl) {} +struct blitter { char dummy; }; +blitter *blitter_new(drawing *dr, int w, int h) { return snew(blitter); } +void blitter_free(drawing *dr, blitter *bl) { sfree(bl); } void blitter_save(drawing *dr, blitter *bl, int x, int y) {} void blitter_load(drawing *dr, blitter *bl, int x, int y) {} int print_mono_colour(drawing *dr, int grey) { return 0; }