X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/937a9efffe3be5ecb6c6b9fb6596644d05aed3d9..aafaa7fbd122f8109c1a7d99faf74d4892bf22de:/puzzles.h diff --git a/puzzles.h b/puzzles.h index e35bece..c5eabc2 100644 --- a/puzzles.h +++ b/puzzles.h @@ -62,6 +62,10 @@ enum { /* Bit flags indicating mouse button priorities */ #define BUTTON_BEATS(x,y) ( 1 << (((x)-LEFT_BUTTON)*3+(y)-LEFT_BUTTON) ) +/* Another random flag that goes in the mouse priorities section for want + * of a better place to put it */ +#define SOLVE_ANIMATES ( 1 << 9 ) + #define IGNOREARG(x) ( (x) = (x) ) typedef struct frontend frontend; @@ -223,6 +227,13 @@ unsigned char *hex2bin(const char *in, int outlen); 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); + +/* Draw a rectangle outline, using the frontend's draw_line. */ +void draw_rect_outline(frontend *fe, int x, int y, int w, int h, + int colour); + /* * version.c */ @@ -305,7 +316,7 @@ struct game { 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; };