// constants
//
-float FALSE = 0;
-float TRUE = 1;
-
// edict.flags
-float FL_FLY = 1;
-float FL_SWIM = 2;
-float FL_CLIENT = 8; // set for all client edicts
-float FL_INWATER = 16; // for enter / leave water splash
-float FL_MONSTER = 32;
-float FL_GODMODE = 64; // player cheat
-float FL_NOTARGET = 128; // player cheat
-float FL_ITEM = 256; // extra wide size for bonus items
-float FL_ONGROUND = 512; // standing on something
-float FL_PARTIALGROUND = 1024; // not all corners are valid
-float FL_WATERJUMP = 2048; // player jumping out of water
-float FL_JUMPRELEASED = 4096; // for jump debouncing
+const int FL_FLY = 1;
+const int FL_SWIM = 2;
+const int FL_CLIENT = 8; // set for all client edicts
+const int FL_INWATER = 16; // for enter / leave water splash
+const int FL_MONSTER = 32;
+const int FL_GODMODE = 64; // player cheat
+const int FL_NOTARGET = 128; // player cheat
+const int FL_ITEM = 256; // extra wide size for bonus items
+const int FL_ONGROUND = 512; // standing on something
+const int FL_PARTIALGROUND = 1024; // not all corners are valid
+const int FL_WATERJUMP = 2048; // player jumping out of water
+const int FL_JUMPRELEASED = 4096; // for jump debouncing
// edict.movetype values
-float MOVETYPE_NONE = 0; // never moves
-//float MOVETYPE_ANGLENOCLIP = 1;
-//float MOVETYPE_ANGLECLIP = 2;
-float MOVETYPE_WALK = 3; // players only
-float MOVETYPE_STEP = 4; // discrete, not real time unless fall
-float MOVETYPE_FLY = 5;
-float MOVETYPE_TOSS = 6; // gravity
-float MOVETYPE_PUSH = 7; // no clip to world, push and crush
-float MOVETYPE_NOCLIP = 8;
-float MOVETYPE_FLYMISSILE = 9; // fly with extra size against monsters
-float MOVETYPE_BOUNCE = 10;
-float MOVETYPE_BOUNCEMISSILE = 11; // bounce with extra size
+const int MOVETYPE_NONE = 0; // never moves
+//const int MOVETYPE_ANGLENOCLIP= 1;
+//const int MOVETYPE_ANGLECLIP = 2;
+const int MOVETYPE_WALK = 3; // players only
+const int MOVETYPE_STEP = 4; // discrete, not real time unless fall
+const int MOVETYPE_FLY = 5;
+const int MOVETYPE_TOSS = 6; // gravity
+const int MOVETYPE_PUSH = 7; // no clip to world, push and crush
+const int MOVETYPE_NOCLIP = 8;
+const int MOVETYPE_FLYMISSILE = 9; // fly with extra size against monsters
+const int MOVETYPE_BOUNCE = 10;
+const int MOVETYPE_BOUNCEMISSILE= 11; // bounce with extra size
// edict.solid values
-float SOLID_NOT = 0; // no interaction with other objects
-float SOLID_TRIGGER = 1; // touch on edge, but not blocking
-float SOLID_BBOX = 2; // touch on edge, block
-float SOLID_SLIDEBOX = 3; // touch on edge, but not an onground
-float SOLID_BSP = 4; // bsp clip, touch on edge, block
+const int SOLID_NOT = 0; // no interaction with other objects
+const int SOLID_TRIGGER = 1; // touch on edge, but not blocking
+const int SOLID_BBOX = 2; // touch on edge, block
+const int SOLID_SLIDEBOX = 3; // touch on edge, but not an onground
+const int SOLID_BSP = 4; // bsp clip, touch on edge, block
// range values
-float RANGE_MELEE = 0;
-float RANGE_NEAR = 1;
-float RANGE_MID = 2;
-float RANGE_FAR = 3;
+const int RANGE_MELEE = 0;
+const int RANGE_NEAR = 1;
+const int RANGE_MID = 2;
+const int RANGE_FAR = 3;
// deadflag values
-float DEAD_NO = 0;
-float DEAD_DYING = 1;
-float DEAD_DEAD = 2;
-float DEAD_RESPAWNABLE = 3;
-float DEAD_RESPAWNING = 4; // dead, waiting for buttons to be released
+const int DEAD_NO = 0;
+const int DEAD_DYING = 1;
+const int DEAD_DEAD = 2;
+const int DEAD_RESPAWNABLE = 3;
+const int DEAD_RESPAWNING = 4; // dead, waiting for buttons to be released
// takedamage values
-float DAMAGE_NO = 0;
-float DAMAGE_YES = 1;
-float DAMAGE_AIM = 2;
+const int DAMAGE_NO = 0;
+const int DAMAGE_YES = 1;
+const int DAMAGE_AIM = 2;
// items
-float IT_AXE = 4096;
-float IT_SHOTGUN = 1;
-float IT_SUPER_SHOTGUN = 2;
-float IT_NAILGUN = 4;
-float IT_SUPER_NAILGUN = 8;
-float IT_GRENADE_LAUNCHER = 16;
-float IT_ROCKET_LAUNCHER = 32;
-float IT_LIGHTNING = 64;
-float IT_EXTRA_WEAPON = 128;
-
-float IT_SHELLS = 256;
-float IT_NAILS = 512;
-float IT_ROCKETS = 1024;
-float IT_CELLS = 2048;
-
-float IT_ARMOR1 = 8192;
-float IT_ARMOR2 = 16384;
-float IT_ARMOR3 = 32768;
-float IT_SUPERHEALTH = 65536;
-
-float IT_KEY1 = 131072;
-float IT_KEY2 = 262144;
-
-float IT_INVISIBILITY = 524288;
-float IT_INVULNERABILITY = 1048576;
-float IT_SUIT = 2097152;
-float IT_QUAD = 4194304;
+const int IT_AXE = 4096;
+const int IT_SHOTGUN = 1;
+const int IT_SUPER_SHOTGUN = 2;
+const int IT_NAILGUN = 4;
+const int IT_SUPER_NAILGUN = 8;
+const int IT_GRENADE_LAUNCHER = 16;
+const int IT_ROCKET_LAUNCHER = 32;
+const int IT_LIGHTNING = 64;
+const int IT_EXTRA_WEAPON = 128;
+
+const int IT_SHELLS = 256;
+const int IT_NAILS = 512;
+const int IT_ROCKETS = 1024;
+const int IT_CELLS = 2048;
+
+const int IT_ARMOR1 = 8192;
+const int IT_ARMOR2 = 16384;
+const int IT_ARMOR3 = 32768;
+const int IT_SUPERHEALTH = 65536;
+
+const int IT_KEY1 = 131072;
+const int IT_KEY2 = 262144;
+
+const int IT_INVISIBILITY = 524288;
+const int IT_INVULNERABILITY = 1048576;
+const int IT_SUIT = 2097152;
+const int IT_QUAD = 4194304;
// point content values
-float CONTENT_EMPTY = -1;
-float CONTENT_SOLID = -2;
-float CONTENT_WATER = -3;
-float CONTENT_SLIME = -4;
-float CONTENT_LAVA = -5;
-float CONTENT_SKY = -6;
+const int CONTENT_EMPTY = -1;
+const int CONTENT_SOLID = -2;
+const int CONTENT_WATER = -3;
+const int CONTENT_SLIME = -4;
+const int CONTENT_LAVA = -5;
+const int CONTENT_SKY = -6;
-float STATE_TOP = 0;
-float STATE_BOTTOM = 1;
-float STATE_UP = 2;
-float STATE_DOWN = 3;
+const int STATE_TOP = 0;
+const int STATE_BOTTOM = 1;
+const int STATE_UP = 2;
+const int STATE_DOWN = 3;
-vector VEC_ORIGIN = '0 0 0';
-vector VEC_HULL_MIN = '-16 -16 -24';
-vector VEC_HULL_MAX = '16 16 32';
+const vector VEC_ORIGIN = '0 0 0';
+const vector VEC_HULL_MIN = '-16 -16 -24';
+const vector VEC_HULL_MAX = '16 16 32';
-vector VEC_HULL2_MIN = '-32 -32 -24';
-vector VEC_HULL2_MAX = '32 32 64';
+const vector VEC_HULL2_MIN = '-32 -32 -24';
+const vector VEC_HULL2_MAX = '32 32 64';
// protocol bytes
-float SVC_TEMPENTITY = 23;
-float SVC_KILLEDMONSTER = 27;
-float SVC_FOUNDSECRET = 28;
-float SVC_INTERMISSION = 30;
-float SVC_FINALE = 31;
-float SVC_CDTRACK = 32;
-float SVC_SELLSCREEN = 33;
-
-
-float TE_SPIKE = 0;
-float TE_SUPERSPIKE = 1;
-float TE_GUNSHOT = 2;
-float TE_EXPLOSION = 3;
-float TE_TAREXPLOSION = 4;
-float TE_LIGHTNING1 = 5;
-float TE_LIGHTNING2 = 6;
-float TE_WIZSPIKE = 7;
-float TE_KNIGHTSPIKE = 8;
-float TE_LIGHTNING3 = 9;
-float TE_LAVASPLASH = 10;
-float TE_TELEPORT = 11;
+const int SVC_TEMPENTITY = 23;
+const int SVC_KILLEDMONSTER = 27;
+const int SVC_FOUNDSECRET = 28;
+const int SVC_INTERMISSION = 30;
+const int SVC_FINALE = 31;
+const int SVC_CDTRACK = 32;
+const int SVC_SELLSCREEN = 33;
+
+
+const int TE_SPIKE = 0;
+const int TE_SUPERSPIKE = 1;
+const int TE_GUNSHOT = 2;
+const int TE_EXPLOSION = 3;
+const int TE_TAREXPLOSION = 4;
+const int TE_LIGHTNING1 = 5;
+const int TE_LIGHTNING2 = 6;
+const int TE_WIZSPIKE = 7;
+const int TE_KNIGHTSPIKE = 8;
+const int TE_LIGHTNING3 = 9;
+const int TE_LAVASPLASH = 10;
+const int TE_TELEPORT = 11;
// sound channels
// channel 0 never willingly overrides
// other channels (1-7) allways override a playing sound on that channel
-float CHAN_AUTO = 0;
-float CHAN_WEAPON = 1;
-float CHAN_VOICE = 2;
-float CHAN_ITEM = 3;
-float CHAN_BODY = 4;
+const int CHAN_AUTO = 0;
+const int CHAN_WEAPON = 1;
+const int CHAN_VOICE = 2;
+const int CHAN_ITEM = 3;
+const int CHAN_BODY = 4;
-float ATTN_NONE = 0;
-float ATTN_NORM = 1;
-float ATTN_IDLE = 2;
-float ATTN_STATIC = 3;
+const int ATTN_NONE = 0;
+const int ATTN_NORM = 1;
+const int ATTN_IDLE = 2;
+const int ATTN_STATIC = 3;
// update types
-float UPDATE_GENERAL = 0;
-float UPDATE_STATIC = 1;
-float UPDATE_BINARY = 2;
-float UPDATE_TEMP = 3;
+const int UPDATE_GENERAL = 0;
+const int UPDATE_STATIC = 1;
+const int UPDATE_BINARY = 2;
+const int UPDATE_TEMP = 3;
// entity effects
-float EF_BRIGHTFIELD = 1;
-float EF_MUZZLEFLASH = 2;
-float EF_BRIGHTLIGHT = 4;
-float EF_DIMLIGHT = 8;
+const int EF_BRIGHTFIELD = 1;
+const int EF_MUZZLEFLASH = 2;
+const int EF_BRIGHTLIGHT = 4;
+const int EF_DIMLIGHT = 8;
// messages
-float MSG_BROADCAST = 0; // unreliable to all
-float MSG_ONE = 1; // reliable to one (msg_entity)
-float MSG_ALL = 2; // reliable to all
-float MSG_INIT = 3; // write to the init string
+const int MSG_BROADCAST = 0; // unreliable to all
+const int MSG_ONE = 1; // reliable to one (msg_entity)
+const int MSG_ALL = 2; // reliable to all
+const int MSG_INIT = 3; // write to the init string
//===========================================================================
void(entity e, string m) setmodel = #3; // set movetype and solid first
void(entity e, vector min, vector max) setsize = #4;
// #5 was removed
-void() break_builtin = #6;
+void() break_to_debugger = #6;
float() random = #7; // returns 0 - 1
void(entity e, float chan, string samp, float vol, float atten) sound = #8;
vector(vector v) normalize = #9;
void() traceon = #29; // turns statment trace on
void() traceoff = #30;
void(entity e) eprint = #31; // prints an entire edict
-float(float yaw, float dist) walkmove = #32; // returns TRUE or FALSE
+float(float yaw, float dist) walkmove = #32; // returns true or false
// #33 was removed
-float() droptofloor= #34; // TRUE if landed on floor
+float() droptofloor= #34; // true if landed on floor
void(float style, string value) lightstyle = #35;
float(float v) rint = #36; // round to nearest int
float(float v) floor = #37; // largest integer <= v
//#71 was removed
-void(string var, string val) cvar_set = #72; // sets cvar.value
+void(string name, string value) cvar_set = #72; // sets cvar.value
void(entity client, string s, ...) centerprint = #73; // sprint, but in middle