}
}
+static void menu_solve_event(GtkMenuItem *menuitem, gpointer data)
+{
+ frontend *fe = (frontend *)data;
+ char *msg;
+
+ msg = midend_solve(fe->me);
+
+ if (msg)
+ error_box(fe->window, msg);
+}
+
static void menu_config_event(GtkMenuItem *menuitem, gpointer data)
{
frontend *fe = (frontend *)data;
GTK_SIGNAL_FUNC(menu_copy_event), fe);
gtk_widget_show(menuitem);
}
+ if (thegame.can_solve) {
+ add_menu_separator(GTK_CONTAINER(menu));
+ menuitem = gtk_menu_item_new_with_label("Solve");
+ gtk_container_add(GTK_CONTAINER(menu), menuitem);
+ gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
+ GTK_SIGNAL_FUNC(menu_solve_event), fe);
+ gtk_widget_show(menuitem);
+ }
add_menu_separator(GTK_CONTAINER(menu));
add_menu_item_with_key(fe, GTK_CONTAINER(menu), "Exit", 'q');
parstr = thegame.encode_params(par);
while (n-- > 0) {
- char *seed = thegame.new_seed(par, rs);
+ game_aux_info *aux = NULL;
+ char *seed = thegame.new_seed(par, rs, &aux);
printf("%s:%s\n", parstr, seed);
sfree(seed);
+ if (aux)
+ thegame.free_aux_info(aux);
}
return 0;