]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/main.qh
Add a hack to fix the use of self in .predraw functions
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / main.qh
index 87163482b2b6ebe24edf66b3615942f89bd3e164..31db3f86e7217733a044b282caaa8dabe7d31ec3 100644 (file)
@@ -1,3 +1,9 @@
+#ifndef CLIENT_MAIN_H
+#define CLIENT_MAIN_H
+
+#include <common/constants.qh>
+#include <common/weapons/all.qh>
+
 // --------------------------------------------------------------------------
 // MENU Functionality
 
@@ -8,12 +14,7 @@ const float DATABUF_PING = 0;
 
 #define DATABUF_NEXT (5*maxclients)
 
-void() menu_show_error;
-void() menu_sub_null;
-
-float menu_visible;
-var void() menu_show;
-var float(float bInputType, float nPrimary, float nSecondary) menu_action;
+void setpredraw(entity this, void(entity) pdfunc);
 
 // --------------------------------------------------------------------------
 // Onslaught
@@ -27,7 +28,6 @@ string minimapname;
 // --------------------------------------------------------------------------
 // General stuff
 
-float drawfont;
 float postinit;
 float gametype;
 
@@ -38,36 +38,35 @@ float gametype;
 //.float ctf_state;
 //.float health;
 
-float FONT_DEFAULT = 0;
 float FONT_USER = 8;
 
 // --------------------------------------------------------------------------
 // Scoreboard stuff
 
-const float MAX_HUD_FIELDS = 16;
+const int MAX_HUD_FIELDS = 16;
 
-const float SP_END = -1;
+const int SP_END = -1;
 
-const float SP_PING = -2;
-const float SP_NAME = -3;
-const float SP_KDRATIO = -4;
-const float SP_CLRATIO = -5;
-const float SP_PL = -6;
-const float SP_FRAGS = -7;
-const float SP_SUM = -8;
+const int SP_PING = -2;
+const int SP_NAME = -3;
+const int SP_KDRATIO = -4;
+const int SP_CLRATIO = -5;
+const int SP_PL = -6;
+const int SP_FRAGS = -7;
+const int SP_SUM = -8;
 
-const float SP_SEPARATOR = -100;
+const int SP_SEPARATOR = -100;
 
 float hud_field[MAX_HUD_FIELDS + 1];
 float hud_size[MAX_HUD_FIELDS + 1];
 string hud_title[MAX_HUD_FIELDS + 1];
-float hud_num_fields;
+int hud_num_fields;
 
 string scores_label[MAX_SCORE];
-float scores_flags[MAX_SCORE];
+int scores_flags[MAX_SCORE];
 string teamscores_label[MAX_SCORE];
-float teamscores_flags[MAX_SCORE];
-.float scores[MAX_SCORE];
+int teamscores_flags[MAX_SCORE];
+.int scores[MAX_SCORE];
 .float teamscores[MAX_TEAMSCORE];
 
 #define IS_INCREASING(x) ( (x)&SFL_LOWER_IS_BETTER )
@@ -88,23 +87,25 @@ entity teamslots[17];    // 17 teams (including "spectator team")
 .float ready;
 .float eliminated;
 
-.void(void) draw;
-.void(void) draw2d;
-.void(void) entremove;
+.void(entity) draw;
+.void(entity) draw2d;
+.void(entity) entremove;
 float drawframetime;
-vector view_origin, view_angles, view_forward, view_right, view_up;
+vector view_origin, view_forward, view_right, view_up;
 
-float button_zoom;
-float spectatorbutton_zoom;
-float button_attack2;
+bool button_zoom;
+bool spectatorbutton_zoom;
+bool button_attack2;
 
-float activeweapon;
-float switchingweapon;
-float switchweapon;
+Weapon activeweapon;
+Weapon switchingweapon;
+Weapon switchweapon;
 float current_viewzoom;
 float zoomin_effect;
 float warmup_stage;
 
+void Fog_Force();
+
 string getcommandkey(string text, string command);
 
 string vote_called_vote;
@@ -118,7 +119,7 @@ float current_zoomfraction;
 float cs_project_is_b0rked;
 float vid_width, vid_height, vid_pixelheight;
 
-float camera_active;           // Demo camera is active if set to TRUE
+float camera_active;           // Demo camera is active if set to true
 float chase_active_backup;
 float camera_roll;
 vector camera_direction;
@@ -131,20 +132,17 @@ const float ALPHA_MIN_VISIBLE = 0.003;
 float armorblockpercent;
 
 //hooks
-float calledhooks;
-const float HOOK_START =    1;
-const float HOOK_END =      2;
+int calledhooks;
+const int HOOK_START =    1;
+const int HOOK_END =      2;
 
 .float ping, ping_packetloss, ping_movementloss;
 
-float g_balance_mortar_bouncefactor;
-float g_balance_mortar_bouncestop;
-float g_balance_electro_secondary_bouncefactor;
-float g_balance_electro_secondary_bouncestop;
 float g_trueaim_minrange;
 
-entity entcs_receiver[255]; // 255 is the engine limit on maxclients
-
 float hud;
 float view_quality;
-float framecount;
+int framecount;
+.float health;
+
+#endif