a08ea51cda39fbb482fbf1458ae00b9d9993a0f2
[eradicate] / src / game.h
1 #ifndef GAME_H_
2 #define GAME_H_
3
4 #include "inttypes.h"
5
6 #define FB_BPP  16
7
8 extern int fb_width;
9 extern int fb_height;
10 extern long fb_size;
11 extern uint16_t *fb_pixels, *vmem;
12
13 extern long time_msec;
14
15 extern void (*swap_buffers)(void*);
16
17 /* special keys */
18 enum {
19         KB_ESC = 27,
20         KB_BACKSP = 127,
21
22         KB_NUM_0, KB_NUM_1, KB_NUM_2, KB_NUM_3, KB_NUM_4,
23         KB_NUM_5, KB_NUM_6, KB_NUM_7, KB_NUM_8, KB_NUM_9,
24         KB_NUM_DOT, KB_NUM_DIV, KB_NUM_MUL, KB_NUM_MINUS, KB_NUM_PLUS, KB_NUM_ENTER, KB_NUM_EQUALS,
25         KB_UP, KB_DOWN, KB_RIGHT, KB_LEFT,
26         KB_INSERT, KB_DEL, KB_HOME, KB_END, KB_PGUP, KB_PGDN,
27         KB_F1, KB_F2, KB_F3, KB_F4, KB_F5, KB_F6,
28         KB_F7, KB_F8, KB_F9, KB_F10, KB_F11, KB_F12,
29         KB_F13, KB_F14, KB_F15,
30         KB_NUMLK, KB_CAPSLK, KB_SCRLK,
31         KB_RSHIFT, KB_LSHIFT, KB_RCTRL, KB_LCTRL, KB_RALT, KB_LALT,
32         KB_RMETA, KB_LMETA, KB_LSUPER, KB_RSUPER, KB_MODE, KB_COMPOSE,
33         KB_HELP, KB_PRINT, KB_SYSRQ, KB_BREAK
34 };
35
36 int init(int argc, char **argv);
37 void cleanup(void);
38
39 extern void (*draw)(void);
40 extern void (*key_event)(int key, int pressed);
41
42 void game_quit(void);
43
44 void dbg_print(void *fb, int x, int y, const char *str);
45 void dbg_printf(void *fb, int x, int y, const char *fmt, ...);
46 void dbg_fps(void *fb);
47
48 #endif  /* GAME_H_ */