+#ifndef CLIENT_MAIN_H
+#define CLIENT_MAIN_H
+
+#include <common/constants.qh>
+#include <common/weapons/all.qh>
+
// --------------------------------------------------------------------------
// MENU Functionality
#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
// --------------------------------------------------------------------------
// General stuff
-float drawfont;
float postinit;
float gametype;
//.float ctf_state;
//.float health;
-float FONT_DEFAULT = 0;
float FONT_USER = 8;
// --------------------------------------------------------------------------
.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;
.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;
int framecount;
+.float health;
+
+#endif