Merge branch 'master' into martin-t/globals
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / main.qh
1 #pragma once
2
3 #include <common/constants.qh>
4 #include <common/weapons/_all.qh>
5
6 // Map coordinate base calculations need these
7 vector mi_center;
8 vector mi_scale;
9 // Minimap
10 string minimapname;
11
12 bool postinit;
13 entity gametype;
14 // temporary hack
15 #define ISGAMETYPE(NAME) (gametype == MAPINFO_TYPE_##NAME)
16
17 float FONT_USER = 8;
18
19
20 vector OFFSET_CURSOR = '0 0 0';
21 vector SIZE_CURSOR = '32 32 0';
22 void draw_cursor(vector pos, vector ofs, string img, vector col, float a);
23 void draw_cursor_normal(vector pos, vector col, float a);
24 void LoadMenuSkinValues();
25
26 void PostInit();
27
28 void Ent_Remove(entity this);
29
30 void Gamemode_Init();
31
32 bool SetTeam(entity pl, int Team);
33
34 vector hud_fontsize;
35
36 float RANKINGS_RECEIVED_CNT;
37 float RANKINGS_DISPLAY_CNT;
38 string grecordholder[RANKINGS_CNT];
39 float grecordtime[RANKINGS_CNT];
40
41 entity playerslots[255]; // 255 is engine limit on maxclients
42 entity teamslots[17];    // 17 teams (including "spectator team")
43 .bool gotscores;
44 .entity owner;
45 .bool ready;
46 .bool eliminated;
47
48 .void(entity) draw;
49 IntrusiveList g_drawables;
50 STATIC_INIT(g_drawables) { g_drawables = IL_NEW(); }
51 .void(entity) draw2d;
52 IntrusiveList g_drawables_2d;
53 STATIC_INIT(g_drawables_2d) { g_drawables_2d = IL_NEW(); }
54 .void(entity) entremove;
55 float drawframetime;
56 vector view_origin, view_forward, view_right, view_up;
57
58 IntrusiveList g_radarlinks;
59 STATIC_INIT(g_radarlinks) { g_radarlinks = IL_NEW(); }
60 IntrusiveList g_radaricons;
61 STATIC_INIT(g_radaricons) { g_radaricons = IL_NEW(); }
62
63 bool button_zoom;
64 bool spectatorbutton_zoom;
65 bool button_attack2;
66
67 float current_viewzoom;
68 float zoomin_effect;
69 bool warmup_stage;
70
71 void Fog_Force();
72
73 string _getcommandkey(string text, string command, bool forcename);
74 #define getcommandkey(cmd_name, command) _getcommandkey(cmd_name, command, false)
75 #define getcommandkey_forcename(cmd_name, command) _getcommandkey(cmd_name, command, true)
76
77 string vote_called_vote;
78 bool ready_waiting;
79 bool ready_waiting_for_me;
80 bool vote_waiting;
81 bool vote_waiting_for_me;
82
83 float current_zoomfraction;
84
85 int cs_project_is_b0rked;
86 int vid_width, vid_height;
87 float vid_pixelheight;
88
89 float camera_active;            // Demo camera is active if set to true
90 float chase_active_backup;
91 float camera_roll;
92 vector camera_direction;
93
94 void centerprint_hud(string strMessage);
95 void centerprint_kill(float id);
96 void centerprint_generic(float new_id, string strMessage, float duration, float countdown_num);
97
98 const float ALPHA_MIN_VISIBLE = 0.003;
99
100 float armorblockpercent;
101 float damagepush_speedfactor;
102
103 //hooks
104 int calledhooks;
105 const int HOOK_START =    1;
106 const int HOOK_END =      2;
107
108 .float ping, ping_packetloss, ping_movementloss;
109
110 float g_trueaim_minrange;
111
112 int hud;
113 float view_quality;
114
115 int num_spectators;
116 const int MAX_SPECTATORS = 7;
117 int spectatorlist[MAX_SPECTATORS];
118
119 int framecount;
120
121 float GetSpeedUnitFactor(int speed_unit);
122 string GetSpeedUnit(int speed_unit);