X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/97c44af328d9279dddd513001ff7c7d22c001c3c..511dac16da218ed6716a876847e02e8478b05812:/midend.c diff --git a/midend.c b/midend.c index 070f4f3..e31ce26 100644 --- a/midend.c +++ b/midend.c @@ -165,7 +165,8 @@ void midend_new_game(midend_data *me) } ensure(me); - me->states[me->nstates].state = me->ourgame->new_game(me->params, me->desc); + me->states[me->nstates].state = + me->ourgame->new_game(me, me->params, me->desc); me->states[me->nstates].special = TRUE; me->nstates++; me->statepos = 1; @@ -212,7 +213,8 @@ static void midend_finish_move(midend_data *me) flashtime = me->ourgame->flash_length(me->oldstate ? me->oldstate : me->states[me->statepos-2].state, me->states[me->statepos-1].state, - me->oldstate ? me->dir : +1); + me->oldstate ? me->dir : +1, + me->ui); if (flashtime > 0) { me->flash_pos = 0.0F; me->flash_time = flashtime; @@ -333,7 +335,7 @@ static int midend_really_process_key(midend_data *me, int x, int y, int button) } else { anim_time = me->ourgame->anim_length(oldstate, me->states[me->statepos-1].state, - me->dir); + me->dir, me->ui); } me->oldstate = oldstate; @@ -494,7 +496,7 @@ float *midend_colours(midend_data *me, int *ncolours) if (me->nstates == 0) { game_aux_info *aux = NULL; char *desc = me->ourgame->new_desc(me->params, me->random, &aux); - state = me->ourgame->new_game(me->params, desc); + state = me->ourgame->new_game(me, me->params, desc); sfree(desc); if (aux) me->ourgame->free_aux_info(aux); @@ -625,6 +627,12 @@ int midend_wants_statusbar(midend_data *me) return me->ourgame->wants_statusbar(); } +void midend_supersede_game_desc(midend_data *me, char *desc) +{ + sfree(me->desc); + me->desc = dupstr(desc); +} + config_item *midend_get_config(midend_data *me, int which, char **wintitle) { char *titlebuf, *parstr;