deactivate_timer(me->frontend);
}
+void midend_force_redraw(midend_data *me)
+{
+ if (me->drawstate)
+ me->ourgame->free_drawstate(me->drawstate);
+ me->drawstate = me->ourgame->new_drawstate(me->states[0].state);
+ midend_redraw(me);
+}
+
void midend_new_game(midend_data *me)
{
while (me->nstates > 0)
me->aux_info = NULL;
rs = random_init(me->seedstr, strlen(me->seedstr));
- me->desc = me->ourgame->new_desc(me->curparams, rs, &me->aux_info);
+ me->desc = me->ourgame->new_desc(me->curparams, rs,
+ &me->aux_info, TRUE);
random_free(rs);
}
} else {
game_state *s =
me->ourgame->make_move(me->states[me->statepos-1].state,
- me->ui, x, y, button);
+ me->ui, me->drawstate, x, y, button);
if (s == me->states[me->statepos-1].state) {
/*
if (me->nstates == 0) {
game_aux_info *aux = NULL;
- char *desc = me->ourgame->new_desc(me->params, me->random, &aux);
+ char *desc = me->ourgame->new_desc(me->params, me->random,
+ &aux, TRUE);
state = me->ourgame->new_game(me, me->params, desc);
sfree(desc);
if (aux)