-const float AS_STRING = 1;
-const float AS_INT = 2;
-const float AS_FLOAT_TRUNCATED = 2;
-const float AS_FLOAT = 8;
-
-const float TE_CSQC_PICTURE = 100;
-const float TE_CSQC_RACE = 101;
-const float TE_CSQC_VORTEXBEAMPARTICLE = 103;
-const float TE_CSQC_ARC = 104;
-const float TE_CSQC_TEAMNAGGER = 105;
-const float TE_CSQC_PINGPLREPORT = 106;
-const float TE_CSQC_TARGET_MUSIC = 107;
-const float TE_CSQC_WEAPONCOMPLAIN = 108;
-const float TE_CSQC_VORTEX_SCOPE = 109;
-const float TE_CSQC_MINELAYER_MAXMINES = 110;
-const float TE_CSQC_HAGAR_MAXROCKETS = 111;
-const float TE_CSQC_VEHICLESETUP = 112;
-const float TE_CSQC_SVNOTICE = 113;
-const float TE_CSQC_SHOCKWAVEPARTICLE = 114;
-
-const float RACE_NET_CHECKPOINT_HIT_QUALIFYING = 0; // byte checkpoint, short time, short recordtime, string recordholder
-const float RACE_NET_CHECKPOINT_CLEAR = 1;
-const float RACE_NET_CHECKPOINT_NEXT_QUALIFYING = 2; // byte nextcheckpoint, short recordtime, string recordholder
-const float RACE_NET_CHECKPOINT_HIT_RACE = 3; // byte checkpoint, short delta, byte lapsdelta, string opponent
-const float RACE_NET_CHECKPOINT_HIT_RACE_BY_OPPONENT = 4; // byte checkpoint, short delta, byte lapsdelta, string opponent
-const float RACE_NET_CHECKPOINT_NEXT_SPEC_QUALIFYING = 5; // byte nextcheckpoint, float laptime, short recordtime, string recordholder
-const float RACE_NET_PENALTY_RACE = 6; // byte penaltytime, string reason
-const float RACE_NET_PENALTY_QUALIFYING = 7; // byte penaltytime, string reason
-const float RACE_NET_SERVER_RECORD = 8; // server record, sent to client
-const float RACE_NET_SPEED_AWARD = 9; // speed award, sent to client
-const float RACE_NET_SPEED_AWARD_BEST = 10; // all time best speed award, sent to client
-const float RACE_NET_SERVER_RANKINGS = 11;
-const float RACE_NET_SERVER_STATUS = 12;
-const float RANKINGS_CNT = 15;
-
-const float ENT_CLIENT = 0;
-const float ENT_CLIENT_DEAD = 1;
-const float ENT_CLIENT_ENTCS = 2;
-const float ENT_CLIENT_SCORES_INFO = 3;
-const float ENT_CLIENT_SCORES = 4;
-const float ENT_CLIENT_TEAMSCORES = 5;
-const float ENT_CLIENT_POINTPARTICLES = 6;
-const float ENT_CLIENT_RAINSNOW = 7;
-const float ENT_CLIENT_LASER = 8;
-const float ENT_CLIENT_NAGGER = 9; // flags [votecalledvote]
-const float ENT_CLIENT_WAYPOINT = 10; // flags origin [team displayrule] [spritename] [spritename2] [spritename3] [lifetime maxdistance hideable]
-const float ENT_CLIENT_RADARLINK = 11; // flags [startorigin] [endorigin] [startcolor+16*endcolor]
-const float ENT_CLIENT_PROJECTILE = 12;
-const float ENT_CLIENT_GIBSPLASH = 13;
-const float ENT_CLIENT_DAMAGEINFO = 14;
-const float ENT_CLIENT_CASING = 15;
-const float ENT_CLIENT_INIT = 16;
-const float ENT_CLIENT_MAPVOTE = 17;
-const float ENT_CLIENT_CLIENTDATA = 18;
-const float ENT_CLIENT_RANDOMSEED = 19;
-const float ENT_CLIENT_WALL = 20;
-const float ENT_CLIENT_SPIDERBOT = 21;
-const float ENT_CLIENT_MODELEFFECT = 22;
-const float ENT_CLIENT_TUBANOTE = 23;
-const float ENT_CLIENT_WARPZONE = 24;
-const float ENT_CLIENT_WARPZONE_CAMERA = 25;
-const float ENT_CLIENT_TRIGGER_MUSIC = 26;
-const float ENT_CLIENT_HOOK = 27;
-const float ENT_CLIENT_ARC_BEAM = 29; // WEAPONTODO: fix numbers
-const float ENT_CLIENT_ACCURACY = 30;
-const float ENT_CLIENT_SHOWNAMES = 31;
-const float ENT_CLIENT_WARPZONE_TELEPORTED = 32;
-const float ENT_CLIENT_MODEL = 33;
-const float ENT_CLIENT_ITEM = 34;
-const float ENT_CLIENT_BUMBLE_RAYGUN = 35;
-const float ENT_CLIENT_SPAWNPOINT = 36;
-const float ENT_CLIENT_SPAWNEVENT = 37;
-const float ENT_CLIENT_NOTIFICATION = 38;
-const float ENT_CLIENT_ELIMINATEDPLAYERS = 39;
-const float ENT_CLIENT_TURRET = 40;
-const float ENT_CLIENT_AUXILIARYXHAIR = 50;
-const float ENT_CLIENT_VEHICLE = 60;
-
-const float ENT_CLIENT_HEALING_ORB = 80;
-
-const float SPRITERULE_DEFAULT = 0;
-const float SPRITERULE_TEAMPLAY = 1;
-
-const float RADARICON_NONE = 0;
-const float RADARICON_FLAG = 1;
-const float RADARICON_FLAGCARRIER = 1;
-const float RADARICON_HERE = 1; // TODO make these 3 and 4, and make images for them
-const float RADARICON_DANGER = 1;
-const float RADARICON_WAYPOINT = 1;
-const float RADARICON_HELPME = 1;
-const float RADARICON_CONTROLPOINT = 1;
-const float RADARICON_GENERATOR = 1;
-const float RADARICON_OBJECTIVE = 1;
-const float RADARICON_DOMPOINT = 1;
-const float RADARICON_POWERUP = 1;
-const float RADARICON_TAGGED = 1;
+#ifndef CONSTANTS_H
+#define CONSTANTS_H
+
+const int AS_STRING = 1;
+const int AS_INT = 2;
+const int AS_FLOAT_TRUNCATED = 2;
+const int AS_FLOAT = 8;
+
+const int TE_CSQC_PICTURE = 100;
+const int TE_CSQC_RACE = 101;
+const int TE_CSQC_VORTEXBEAMPARTICLE = 103;
+const int TE_CSQC_ARC = 104;
+const int TE_CSQC_TEAMNAGGER = 105;
+const int TE_CSQC_PINGPLREPORT = 106;
+const int TE_CSQC_TARGET_MUSIC = 107;
+const int TE_CSQC_WEAPONCOMPLAIN = 108;
+const int TE_CSQC_VORTEX_SCOPE = 109;
+const int TE_CSQC_MINELAYER_MAXMINES = 110;
+const int TE_CSQC_HAGAR_MAXROCKETS = 111;
+const int TE_CSQC_VEHICLESETUP = 112;
+const int TE_CSQC_SVNOTICE = 113;
+const int TE_CSQC_SHOCKWAVEPARTICLE = 114;
+
+const int RACE_NET_CHECKPOINT_HIT_QUALIFYING = 0; // byte checkpoint, short time, short recordtime, string recordholder
+const int RACE_NET_CHECKPOINT_CLEAR = 1;
+const int RACE_NET_CHECKPOINT_NEXT_QUALIFYING = 2; // byte nextcheckpoint, short recordtime, string recordholder
+const int RACE_NET_CHECKPOINT_HIT_RACE = 3; // byte checkpoint, short delta, byte lapsdelta, string opponent
+const int RACE_NET_CHECKPOINT_HIT_RACE_BY_OPPONENT = 4; // byte checkpoint, short delta, byte lapsdelta, string opponent
+const int RACE_NET_CHECKPOINT_NEXT_SPEC_QUALIFYING = 5; // byte nextcheckpoint, float laptime, short recordtime, string recordholder
+const int RACE_NET_PENALTY_RACE = 6; // byte penaltytime, string reason
+const int RACE_NET_PENALTY_QUALIFYING = 7; // byte penaltytime, string reason
+const int RACE_NET_SERVER_RECORD = 8; // server record, sent to client
+const int RACE_NET_SPEED_AWARD = 9; // speed award, sent to client
+const int RACE_NET_SPEED_AWARD_BEST = 10; // all time best speed award, sent to client
+const int RACE_NET_SERVER_RANKINGS = 11;
+const int RACE_NET_SERVER_STATUS = 12;
+const int RANKINGS_CNT = 15;
+
+const int ENT_CLIENT = 0;
+const int ENT_CLIENT_DEAD = 1;
+const int ENT_CLIENT_ENTCS = 2;
+const int ENT_CLIENT_SCORES_INFO = 3;
+const int ENT_CLIENT_SCORES = 4;
+const int ENT_CLIENT_TEAMSCORES = 5;
+const int ENT_CLIENT_POINTPARTICLES = 6;
+const int ENT_CLIENT_RAINSNOW = 7;
+const int ENT_CLIENT_LASER = 8;
+const int ENT_CLIENT_NAGGER = 9; // flags [votecalledvote]
+const int ENT_CLIENT_WAYPOINT = 10; // flags origin [team displayrule] [spritename] [spritename2] [spritename3] [lifetime maxdistance hideable]
+const int ENT_CLIENT_RADARLINK = 11; // flags [startorigin] [endorigin] [startcolor+16*endcolor]
+const int ENT_CLIENT_PROJECTILE = 12;
+const int ENT_CLIENT_GIBSPLASH = 13;
+const int ENT_CLIENT_DAMAGEINFO = 14;
+const int ENT_CLIENT_CASING = 15;
+const int ENT_CLIENT_INIT = 16;
+const int ENT_CLIENT_MAPVOTE = 17;
+const int ENT_CLIENT_CLIENTDATA = 18;
+const int ENT_CLIENT_RANDOMSEED = 19;
+const int ENT_CLIENT_WALL = 20;
+const int ENT_CLIENT_SPIDERBOT = 21;
+const int ENT_CLIENT_MODELEFFECT = 22;
+const int ENT_CLIENT_TUBANOTE = 23;
+const int ENT_CLIENT_WARPZONE = 24;
+const int ENT_CLIENT_WARPZONE_CAMERA = 25;
+const int ENT_CLIENT_TRIGGER_MUSIC = 26;
+const int ENT_CLIENT_HOOK = 27;
+const int ENT_CLIENT_ARC_BEAM = 29; // WEAPONTODO: fix numbers
+const int ENT_CLIENT_ACCURACY = 30;
+const int ENT_CLIENT_SHOWNAMES = 31;
+const int ENT_CLIENT_WARPZONE_TELEPORTED = 32;
+const int ENT_CLIENT_MODEL = 33;
+const int ENT_CLIENT_ITEM = 34;
+const int ENT_CLIENT_BUMBLE_RAYGUN = 35;
+const int ENT_CLIENT_SPAWNPOINT = 36;
+const int ENT_CLIENT_SPAWNEVENT = 37;
+const int ENT_CLIENT_NOTIFICATION = 38;
+const int ENT_CLIENT_ELIMINATEDPLAYERS = 39;
+const int ENT_CLIENT_TURRET = 40;
+const int ENT_CLIENT_AUXILIARYXHAIR = 50;
+const int ENT_CLIENT_VEHICLE = 60;
+
+const int ENT_CLIENT_HEALING_ORB = 80;
+
+const int SPRITERULE_DEFAULT = 0;
+const int SPRITERULE_TEAMPLAY = 1;
+
+const int RADARICON_NONE = 0;
+const int RADARICON_FLAG = 1;
+const int RADARICON_FLAGCARRIER = 1;
+const int RADARICON_HERE = 1; // TODO make these 3 and 4, and make images for them
+const int RADARICON_DANGER = 1;
+const int RADARICON_WAYPOINT = 1;
+const int RADARICON_HELPME = 1;
+const int RADARICON_CONTROLPOINT = 1;
+const int RADARICON_GENERATOR = 1;
+const int RADARICON_OBJECTIVE = 1;
+const int RADARICON_DOMPOINT = 1;
+const int RADARICON_POWERUP = 1;
+const int RADARICON_TAGGED = 1;