]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/client/main.qh
Merge branch 'Mario/minor_fixes' into 'master'
[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 bool autocvar_cl_db_saveasdump;
7 bool autocvar_cl_spawn_event_particles;
8 bool autocvar_cl_spawn_event_sound = 1;
9 // float autocvar_cl_spawn_point_model;
10 bool autocvar_cl_spawn_point_particles;
11 float autocvar_cl_spawn_point_dist_max = 1200;
12 bool autocvar_cl_unpress_zoom_on_spawn = true;
13 bool autocvar_cl_unpress_zoom_on_death = true;
14 bool autocvar_cl_unpress_zoom_on_weapon_switch = true;
15 bool autocvar_cl_unpress_attack_on_weapon_switch = false;
16 bool autocvar_hud_showbinds;
17 bool autocvar_hud_showbinds_limit;
18 bool autocvar__hud_showbinds_reload;
19 bool autocvar_developer_csqcentities;
20 bool autocvar_cl_race_cptimes_onlyself; // TODO: move to race gamemode
21 bool autocvar_cl_race_cptimes_showself = false;
22 bool autocvar_cl_welcome = true;
23
24 // Map coordinate base calculations need these
25 vector mi_center;
26 vector mi_scale;
27 // Minimap
28 string minimapname;
29
30 bool postinit;
31 entity gametype;
32 // temporary hack
33 #define ISGAMETYPE(NAME) (gametype == MAPINFO_TYPE_##NAME)
34
35 float FONT_USER = 8;
36
37
38 void PostInit();
39
40 void Ent_Remove(entity this);
41
42 void Gamemode_Init();
43
44 entity players;
45 entity teams;
46 float team_count; // real teams
47
48 void AuditLists();
49
50 float RegisterPlayer(entity player);
51
52 void RemovePlayer(entity player);
53
54 void MoveToLast(entity e);
55
56 float RegisterTeam(entity Team);
57
58 void RemoveTeam(entity Team);
59
60 entity GetTeam(int Team, bool add);
61
62 bool SetTeam(entity pl, int Team);
63
64 vector hud_fontsize;
65
66 float RANKINGS_RECEIVED_CNT;
67 float RANKINGS_DISPLAY_CNT;
68 string grecordholder[RANKINGS_CNT];
69 float grecordtime[RANKINGS_CNT];
70
71 entity playerslots[255]; // 255 is engine limit on maxclients
72 entity teamslots[17];    // 17 teams (including "spectator team")
73 .bool gotscores;
74 .entity owner;
75 .bool ready;
76 .bool eliminated;
77
78 IntrusiveList g_drawables;
79 IntrusiveList g_drawables_2d;
80 IntrusiveList g_radarlinks;
81 IntrusiveList g_radaricons;
82 STATIC_INIT(main)
83 {
84         g_drawables = IL_NEW();
85         g_drawables_2d = IL_NEW();
86         g_radarlinks = IL_NEW();
87         g_radaricons = IL_NEW();
88 }
89
90 .void(entity) draw;
91 .void(entity) draw2d;
92 .void(entity) entremove;
93 float drawframetime;
94 vector view_origin, view_forward, view_right, view_up;
95
96 .float renderflags; // engine field
97
98 bool button_zoom;
99 bool spectatorbutton_zoom;
100 bool observe_blocked;
101 bool button_attack2;
102
103 float current_viewzoom;
104 float zoomin_effect;
105 bool warmup_stage;
106
107 string hostname;
108 string welcome_msg;
109 int srv_minplayers;
110 int srv_maxplayers;
111 float welcome_msg_menu_check_maxtime;
112 void Welcome_Message_Show_Try();
113
114 void Fog_Force();
115
116 string _getcommandkey(string text, string command, bool forcename);
117 #define getcommandkey(cmd_name, command) _getcommandkey(cmd_name, command, false)
118 #define getcommandkey_forcename(cmd_name, command) _getcommandkey(cmd_name, command, true)
119
120 void Release_Common_Keys();
121
122 string vote_called_vote;
123 bool ready_waiting;
124 bool ready_waiting_for_me;
125 bool vote_waiting;
126 bool vote_waiting_for_me;
127
128 float current_zoomfraction;
129
130 int vid_width, vid_height;
131 float vid_pixelheight;
132
133 float camera_active;            // Demo camera is active if set to true
134 float chase_active_backup;
135 float camera_roll;
136 vector camera_direction;
137
138 const float ALPHA_MIN_VISIBLE = 0.003;
139
140 float armorblockpercent;
141 float damagepush_speedfactor;
142
143 //hooks
144 int calledhooks;
145 const int HOOK_START =    1;
146 const int HOOK_END =      2;
147
148 .float ping, ping_packetloss, ping_movementloss;
149
150 float g_trueaim_minrange;
151
152 int hud;
153 float view_quality;
154
155 int num_spectators;
156 const int MAX_SPECTATORS = 7;
157 int spectatorlist[MAX_SPECTATORS];
158
159 int framecount;
160
161 float GetSpeedUnitFactor(int speed_unit);
162 string GetSpeedUnit(int speed_unit);
163
164 .int enttype; // entity type sent from server
165 .int sv_entnum; // entity number sent from server
166
167 .int team;
168 .int team_size;
169
170 int binddb;
171
172 // Spectating
173 // -1 - observing
174 // 0 - playing
175 // >0 - id of spectated player
176 float spectatee_status;
177 float spectatee_status_changed_time;
178
179 #define player_currententnum (spectatee_status > 0 ? spectatee_status : player_localnum + 1)
180
181 // database for misc stuff
182 int tempdb;
183 int ClientProgsDB;
184 vector hook_shotorigin[4]; // WEAPONTODO
185 vector lightning_shotorigin[4]; // TODO: unused
186
187 float serverprevtime, serverdeltatime;
188
189 float ticrate;
190
191 int serverflags;