#include "puzzles.h"
const char *const game_name = "Null Game";
+const int game_can_configure = FALSE;
enum {
COL_BACKGROUND,
return ret;
}
-char *new_game_seed(game_params *params)
+config_item *game_configure(game_params *params)
+{
+ return NULL;
+}
+
+game_params *custom_params(config_item *cfg)
+{
+ return NULL;
+}
+
+char *validate_params(game_params *params)
+{
+ return NULL;
+}
+
+char *new_game_seed(game_params *params, random_state *rs)
{
return dupstr("FIXME");
}
+char *validate_seed(game_params *params, char *seed)
+{
+ return NULL;
+}
+
game_state *new_game(game_params *params, char *seed)
{
game_state *state = snew(game_state);
sfree(state);
}
-game_state *make_move(game_state *from, int x, int y, int button)
+game_ui *new_ui(game_state *state)
+{
+ return NULL;
+}
+
+void free_ui(game_ui *ui)
+{
+}
+
+game_state *make_move(game_state *from, game_ui *ui, int x, int y, int button)
{
return NULL;
}
}
void game_redraw(frontend *fe, game_drawstate *ds, game_state *oldstate,
- game_state *state, float animtime, float flashtime)
+ game_state *state, game_ui *ui,
+ float animtime, float flashtime)
{
+ /*
+ * The initial contents of the window are not guaranteed and
+ * can vary with front ends. To be on the safe side, all games
+ * should start by drawing a big background-colour rectangle
+ * covering the whole window.
+ */
+ draw_rect(fe, 0, 0, 200, 200, COL_BACKGROUND);
}
float game_anim_length(game_state *oldstate, game_state *newstate)
{
return 0.0F;
}
+
+int game_wants_statusbar(void)
+{
+ return FALSE;
+}