Merge branch 'master' into Mario/qc_updates
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / menu.qh
1 #ifndef MENU_H
2 #define MENU_H
3
4 #include "draw.qh"
5 #include "skin.qh"
6
7 #include "oo/base.qh"
8
9 #include "xonotic/util.qh"
10
11 #include "../common/constants.qh"
12 #include "../common/test.qh"
13 #include "../common/util.qh"
14
15 #define localcmd cmd
16
17 #define NULL (null_entity)
18 #define world NULL
19
20 // constants
21
22 const int GAME_ISSERVER         = 1;
23 const int GAME_CONNECTED        = 2;
24 const int GAME_DEVELOPER        = 4;
25
26 // prototypes
27
28 float Menu_Active;
29 int gamestatus;
30
31 const int S_SHIFT = 1;
32 const int S_CTRL = 2;
33 const int S_ALT = 4;
34
35 float frametime;
36 float time;
37
38 entity anim;
39 entity main;
40 void m_hide();
41 void m_display();
42 void m_goto(string name);
43 .string name;
44
45 entity keyGrabber;
46 .void(entity me, float key, float ascii) keyGrabbed;
47
48 float conwidth, conheight; // "virtual" conwidth/height values for other stuff to assume for scaling
49
50 float preMenuInit(); // you have to define this for pre-menu initialization. Return 0 if initialization needs to be retried a frame later, 1 if it succeeded.
51 void preMenuDraw(); // this is run before the menu is drawn. You may put some stuff there that has to be done every frame.
52 void postMenuDraw(); // this is run just after the menu is drawn (or not). Useful to draw something over everything else.
53
54 void m_sync();
55
56 // sounds
57
58 const string MENU_SOUND_CLEAR   = "sound/menu/clear.wav";
59 const string MENU_SOUND_CLOSE   = "sound/menu/close.wav";
60 const string MENU_SOUND_EXECUTE = "sound/menu/execute.wav";
61 const string MENU_SOUND_FOCUS   = "sound/menu/focus.wav";
62 const string MENU_SOUND_OPEN    = "sound/menu/open.wav";
63 const string MENU_SOUND_SELECT  = "sound/menu/select.wav";
64 const string MENU_SOUND_SLIDE   = "sound/menu/slide.wav";
65 const string MENU_SOUND_WINNER  = "sound/menu/winner.wav";
66
67 void m_play_focus_sound();
68 void m_play_click_sound(string soundfile);
69 #endif