+#ifndef MAIN_H
+#define MAIN_H
+
+#if defined(CSQC)
+ #include "../common/util-pre.qh"
+ #include "sys-pre.qh"
+ #include "../dpdefs/csprogsdefs.qh"
+ #include "sys-post.qh"
+ #include "defs.qh"
+ #include "../dpdefs/keycodes.qh"
+ #include "../common/constants.qh"
+ #include "../common/stats.qh"
+ #include "../warpzonelib/anglestransform.qh"
+ #include "../warpzonelib/mathlib.qh"
+ #include "../warpzonelib/common.qh"
+ #include "../warpzonelib/client.qh"
+ #include "../common/playerstats.qh"
+ #include "../common/teams.qh"
+ #include "../common/util.qh"
+ #include "../common/nades.qh"
+ #include "../common/buffs.qh"
+ #include "../common/test.qh"
+ #include "../common/counting.qh"
+ #include "../common/weapons/weapons.qh"
+ #include "../common/mapinfo.qh"
+ #include "../common/command/markup.qh"
+ #include "../common/command/rpn.qh"
+ #include "../common/command/generic.qh"
+ #include "../common/command/shared_defs.qh"
+ #include "../common/urllib.qh"
+ #include "../common/animdecide.qh"
+ #include "command/cl_cmd.qh"
+ #include "../common/monsters/monsters.qh"
+ #include "autocvars.qh"
+ #include "../common/notifications.qh"
+ #include "../common/deathtypes.qh"
+ #include "damage.qh"
+ #include "../csqcmodellib/interpolate.qh"
+ #include "teamradar.qh"
+ #include "hud.qh"
+ #include "scoreboard.qh"
+ #include "waypointsprites.qh"
+ #include "movetypes.qh"
+ #include "prandom.qh"
+ #include "bgmscript.qh"
+ #include "noise.qh"
+ #include "tturrets.qh"
+ #include "../server/tturrets/include/turrets_early.qh"
+#elif defined(MENUQC)
+#elif defined(SVQC)
+#endif
+
// --------------------------------------------------------------------------
// MENU Functionality
-#define DATABUF_PING 0
+const float DATABUF_PING = 0;
#define DATABUF_CAPTURES (1*maxclients)
#define DATABUF_DEATHS (2*maxclients)
#define DATABUF_RETURNS (3*maxclients)
// --------------------------------------------------------------------------
// General stuff
-float drawfont;
float postinit;
float gametype;
//.float ctf_state;
//.float health;
-#define FONT_DEFAULT 0
-#define FONT_USER 8
+float FONT_USER = 8;
// --------------------------------------------------------------------------
// Scoreboard stuff
-#define MAX_HUD_FIELDS 16
+const int MAX_HUD_FIELDS = 16;
-#define SP_END -1
+const int SP_END = -1;
-#define SP_PING -2
-#define SP_NAME -3
-#define SP_KDRATIO -4
-#define SP_CLRATIO -5
-#define SP_PL -6
-#define SP_FRAGS -7
-#define 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;
-#define 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 )
.void(void) draw2d;
.void(void) 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 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;
void centerprint_hud(string strMessage);
void centerprint_generic(float new_id, string strMessage, float duration, float countdown_num);
-#define ALPHA_MIN_VISIBLE 0.003
+const float ALPHA_MIN_VISIBLE = 0.003;
float armorblockpercent;
//hooks
-float calledhooks;
-#define HOOK_START 1
-#define HOOK_END 2
+int calledhooks;
+const int HOOK_START = 1;
+const int HOOK_END = 2;
.float ping, ping_packetloss, ping_movementloss;
-float g_balance_grenadelauncher_bouncefactor;
-float g_balance_grenadelauncher_bouncestop;
+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;
float hud;
float view_quality;
-float framecount;
+int framecount;
+#endif
\ No newline at end of file