-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmenu.h
More file actions
112 lines (102 loc) · 3.03 KB
/
menu.h
File metadata and controls
112 lines (102 loc) · 3.03 KB
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#pragma once
#define HUD_LAYER_START (0)
#define HUD_LAYER_DEBUG (1)
#define HUD_LAYER_LEVEL (2)
#define HUD_LAYER_OPTION_1 (3)
#define HUD_LAYER_OPTION_2 (4)
#define HUD_LAYER_TEXVIEWER (5)
#define HUD_LAYER_CONTROLS (6)
#define HUD_EVENT_TYPES (64)
#define HUD_EVENT_START (1)
#define HUD_EVENT_RUN (2)
#define HUD_EVENT_DONE (3)
#define HUD_EVENT_CLOSE (0)
#define EVENT_NO_STROBE (0)
#define EVENT_STROBE_MESH ('M')
#define EVENT_STROBE_FLASH ('F')
#define EVENT_STROBE_BLINK ('O')
#define EVENT_NO_SOUND (63)
#define EVENT_SHOW_TEXT (0)
#define RING1_EVENT (1)
#define RING2_EVENT (2)
#define RING3_EVENT (3)
#define RING4_EVENT (4)
#define RING5_EVENT (5)
#define RING6_EVENT (6)
#define RING7_EVENT (7)
#define RINGS_ALL_EVENT (0)
#define GATE_DISCOVERY_EVENT (8)
#define TRACK_DISCOVERED_EVENT (9)
#define GATE_PASSED_EVENT (10)
#define TRACK_START_EVENT (11)
#define TRACK_FAILED_EVENT (12)
#define TRACK_GOLD_EVENT (13)
#define TRACK_PAR_EVENT (14)
#define TRACK_SLOW_EVENT (15)
#define RESET_TIMERS_EVENT (41)
#define FLAG_TAKEN_EVENT (16)
#define FLAG_SLOW_EVENT (17)
#define FLAG_PAR_EVENT (18)
#define FLAG_GOLD_EVENT (19)
#define FLAG_RETURNED_EVENT (20)
#define FLAG_OPEN_EVENT (21)
#define SIGN_0 (22)
#define SIGN_1 (23)
#define SIGN_2 (24)
#define SIGN_3 (25)
#define SIGN_4 (26)
#define SIGN_5 (27)
#define SIGN_6 (28)
#define SIGN_7 (29)
#define SIGN_8 (30)
#define SIGN_9 (31)
#define SIGN_10 (32)
#define SIGN_11 (33)
#define SIGN_12 (34)
#define SIGN_13 (35)
#define SIGN_14 (36)
#define SIGN_15 (37)
#define SIGN_16 (38)
#define SIGN_17 (39)
#define SIGN_18 (40)
#define SIGN_19 (42)
#define EVENT_RESET_SET (43)
//More events for track win, track fail, flag taken, flag return, flag cap, etc
// HUD Event
// What do I need it to do?
// 1. Spawn sprite
// 2. Move sprite from (start pos) to (end pos)
// 3. Possibly strobe the sprite (mesh on/off or sprite on/off)
// 4. Play sound at (time) or (end) -------- (i need a way to arbitrate this to either ADX Stream or from-ram)
// 5. Possibly do other things after that??? but not needed right now.
typedef struct {
int startPos[3];
int endPos[3];
int eventTime;
int spriteTime;
int screenStep;
short status;
short soundType;
short soundNum;
short volume;
short strobe_type;
unsigned short strobe_interval; //Note: Being a short, it rolls over before 1 second (65535). Use ~62,000 as 1s.
short texno;
short colorBank;
short text_lines; //# of lines printed in case of text
short text_width; //Used as text position offset (if desired), can typically be calculated with strlen for one-liners.
int * printedData;
char * text;
_sprite * spr;
} _hudEvent;
extern int viewInfoTxt;
extern int baseRingMenuTexno;
extern int controlImgTexno;
extern int slowImgTexno;
extern int parImgTexno;
extern int goldImgTexno;
extern _hudEvent hudEvents[HUD_EVENT_TYPES];
void start_menu(void);
void init_hud_events(void);
void start_hud_event(short eventNum);
void hud_menu(void);