char *bin2hex(const unsigned char *in, int inlen);
unsigned char *hex2bin(const char *in, int outlen);
+/* Sets (and possibly dims) background from frontend default colour,
+ * and auto-generates highlight and lowlight colours too. */
+void game_mkhighlight(frontend *fe, float *ret,
+ int background, int highlight, int lowlight);
+
+/* Randomly shuffles an array of items. */
+void shuffle(void *array, int nelts, int eltsize, random_state *rs);
/*
* version.c
int can_configure;
config_item *(*configure)(game_params *params);
game_params *(*custom_params)(config_item *cfg);
- char *(*validate_params)(game_params *params);
+ char *(*validate_params)(game_params *params, int full);
char *(*new_desc)(game_params *params, random_state *rs,
char **aux, int interactive);
char *(*validate_desc)(game_params *params, char *desc);
char *(*interpret_move)(game_state *state, game_ui *ui, game_drawstate *ds,
int x, int y, int button);
game_state *(*execute_move)(game_state *state, char *move);
- void (*size)(game_params *params, game_drawstate *ds, int *x, int *y,
- int expand);
+ int preferred_tilesize;
+ void (*compute_size)(game_params *params, int tilesize, int *x, int *y);
+ void (*set_size)(game_drawstate *ds, game_params *params, int tilesize);
float *(*colours)(frontend *fe, game_state *state, int *ncolours);
game_drawstate *(*new_drawstate)(game_state *state);
void (*free_drawstate)(game_drawstate *ds);
game_ui *ui);
int (*wants_statusbar)(void);
int is_timed;
- int (*timing_state)(game_state *state);
+ int (*timing_state)(game_state *state, game_ui *ui);
int mouse_priorities;
};