moving on
[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 extern int show_fps;
15
16 extern void (*swap_buffers)(void*);
17
18 /* special keys */
19 enum {
20         KB_ESC = 27,
21         KB_BACKSP = 127,
22
23         KB_NUM_0, KB_NUM_1, KB_NUM_2, KB_NUM_3, KB_NUM_4,
24         KB_NUM_5, KB_NUM_6, KB_NUM_7, KB_NUM_8, KB_NUM_9,
25         KB_NUM_DOT, KB_NUM_DIV, KB_NUM_MUL, KB_NUM_MINUS, KB_NUM_PLUS, KB_NUM_ENTER, KB_NUM_EQUALS,
26         KB_UP, KB_DOWN, KB_RIGHT, KB_LEFT,
27         KB_INSERT, KB_DEL, KB_HOME, KB_END, KB_PGUP, KB_PGDN,
28         KB_F1, KB_F2, KB_F3, KB_F4, KB_F5, KB_F6,
29         KB_F7, KB_F8, KB_F9, KB_F10, KB_F11, KB_F12,
30         KB_F13, KB_F14, KB_F15,
31         KB_NUMLK, KB_CAPSLK, KB_SCRLK,
32         KB_RSHIFT, KB_LSHIFT, KB_RCTRL, KB_LCTRL, KB_RALT, KB_LALT,
33         KB_RMETA, KB_LMETA, KB_LSUPER, KB_RSUPER, KB_MODE, KB_COMPOSE,
34         KB_HELP, KB_PRINT, KB_SYSRQ, KB_BREAK
35 };
36
37 int init(int argc, char **argv);
38 void cleanup(void);
39
40 extern void (*draw)(void);
41 extern void (*key_event)(int key, int pressed);
42
43 void game_quit(void);
44
45 void dbg_print(void *fb, int x, int y, const char *str);
46 void dbg_printf(void *fb, int x, int y, const char *fmt, ...);
47 void dbg_fps(void *fb);
48
49 #endif  /* GAME_H_ */