X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/3ff276f2cd88e6f3a6fe08f95f6147abbe3fcfd4..ebf54ec914da3b5569fbd041c2af06321ab87d88:/puzzles.h diff --git a/puzzles.h b/puzzles.h index 57b5c33..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; @@ -218,6 +222,17 @@ void obfuscate_bitmap(unsigned char *bmp, int bits, int decode); 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); + +/* 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 @@ -301,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; };