-
Notifications
You must be signed in to change notification settings - Fork 0
/
p_menu.h
51 lines (42 loc) · 1.15 KB
/
p_menu.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <allegro5/allegro.h>
#include <allegro5/allegro_audio.h>
#include <allegro5/allegro_acodec.h>
#include <allegro5/allegro_image.h>
#include <allegro5/allegro_font.h>
#include <allegro5/allegro_ttf.h>
#include <allegro5/allegro_primitives.h>
#include <allegro5/allegro_video.h>
#include <stdbool.h>
typedef struct menu_s menu_t;
typedef struct proc_s proc_t;
typedef struct engine_s engine_t;
typedef struct sched_s sched_t;
typedef struct pm_s pm_t;
typedef struct button_s
{
struct button_s * next;
void (*event)( struct button_s * self, struct menu_s * menu );
char text[32];
int value;
bool enabled;
} button_t;
typedef struct menu_s
{
button_t * buttons;
button_t * swap;
engine_t * engine;
sched_t * sched;
ALLEGRO_FONT * font;
ALLEGRO_VIDEO * video;
pm_t * pm;
bool during_game;
bool ghosting;
int lmx, lmy; // remember mouse
// so player doesn't get roteted
} menu_t;
button_t * page_save_or_load (bool is_saving);
button_t * page_options (menu_t * menu);
void p_menu_init (proc_t * self);
void p_menu_update (proc_t * self);
void p_menu_dtor (proc_t * self);
void page_opt_back (button_t * self, menu_t * menu);