X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/44f0599fe04cb578fb64bf17e54a7c19611f40c4..8bba891059504d0c28eeaaa98af85cf24bc1a750:/midend.c diff --git a/midend.c b/midend.c index 691c643..909368c 100644 --- a/midend.c +++ b/midend.c @@ -237,7 +237,8 @@ void midend_set_params(midend_data *me, game_params *params) static void midend_set_timer(midend_data *me) { me->timing = (me->ourgame->is_timed && - me->ourgame->timing_state(me->states[me->statepos-1].state)); + me->ourgame->timing_state(me->states[me->statepos-1].state, + me->ui)); if (me->timing || me->flash_time || me->anim_time) activate_timer(me->frontend); else @@ -311,10 +312,10 @@ void midend_new_game(midend_data *me) me->drawstate = me->ourgame->new_drawstate(me->states[0].state); midend_size_new_drawstate(me); me->elapsed = 0.0F; - midend_set_timer(me); if (me->ui) me->ourgame->free_ui(me->ui); me->ui = me->ourgame->new_ui(me->states[0].state); + midend_set_timer(me); me->pressed_mouse_button = 0; } @@ -491,6 +492,10 @@ static int midend_really_process_key(midend_data *me, int x, int y, int button) me->states[me->nstates].movetype = MOVE; me->statepos = ++me->nstates; me->dir = +1; + if (me->ui) + me->ourgame->changed_state(me->ui, + me->states[me->statepos-2].state, + me->states[me->statepos-1].state); } else { goto done; }