HANDHELD: fix defs

This commit is contained in:
Steam Deck User 2023-01-19 01:48:49 -05:00
parent 42c7edc89c
commit ec268bebb2

View file

@ -16,451 +16,527 @@
#define HANDHELD #define HANDHELD
// These lines CANNOT be altered/moved // These lines CANNOT be altered/moved
entity self; entity self;
entity other; entity other;
entity world; entity world;
float time; float time;
float frametime; float frametime;
float force_retouch; // force all entities to touch triggers float force_retouch; // force all entities to touch triggers
string mapname; string mapname;
float deathmatch; float deathmatch;
float coop; float coop;
float teamplay; float teamplay;
float serverflags; // propagated from level to level, used to float serverflags; // propagated from level to level, used to
float rounds; float rounds;
float rounds_change; float rounds_change;
float parm1, parm2, parm3, parm4, parm5, parm6, parm7, parm8, parm9, parm10, parm11, parm12, parm13, parm14, parm15, parm16; float parm1, parm2, parm3, parm4, parm5, parm6, parm7, parm8, parm9, parm10, parm11, parm12, parm13, parm14, parm15, parm16;
vector v_forward, v_up, v_right; // set by makevectors() vector v_forward, v_up, v_right; // set by makevectors()
float trace_allsolid; float trace_allsolid;
float trace_startsolid; float trace_startsolid;
float trace_fraction; float trace_fraction;
vector trace_endpos; vector trace_endpos;
vector trace_plane_normal; vector trace_plane_normal;
float trace_plane_dist; float trace_plane_dist;
entity trace_ent; entity trace_ent;
float trace_inopen; float trace_inopen;
float trace_inwater; float trace_inwater;
entity msg_entity; // destination of single entity writes
void() main; // only for testing
void() StartFrame;
void() EndFrame;
void() PlayerPreThink;
void() PlayerPostThink;
void() ClientKill;
void() ClientConnect;
void() PutClientInServer; // call after setting the parm1... parms
void() ClientDisconnect;
void() SetNewParms; // called when a client first connects to
void() SetChangeParms; // call to set parms for self so they can
void() ParseClientCommand; // special command calls
string CMD_STRING;
void() Soft_Restart;
void end_sys_globals; // flag for structure dumping
.float modelindex; // *** model index in the precached list entity msg_entity; // destination of single entity writes
.vector absmin, absmax; // *** origin + mins / maxs void() main; // only for testing
.float ltime; // local time for entity void() StartFrame;
.float movetype; void() EndFrame;
.float solid; void() PlayerPreThink;
.vector origin; // *** void() PlayerPostThink;
.vector oldorigin; // *** void() ClientKill;
.vector velocity; void() ClientConnect;
.vector angles; void() PutClientInServer; // call after setting the parm1... parms
.vector avelocity; void() ClientDisconnect;
.vector punchangle; // temp angle adjust from damage or recoil void() SetNewParms; // called when a client first connects to
.string classname; // spawn function void() SetChangeParms; // call to set parms for self so they can
.string model; void() ParseClientCommand; // special command calls
.float frame; string CMD_STRING;
.float skin; void() Soft_Restart;
.float iframetime; void end_sys_globals; // flag for structure dumping
.float effects;
.vector mins, maxs; // bounding box extents reletive to origin .float modelindex; // *** model index in the precached list
.vector size; // maxs - mins .vector absmin, absmax; // *** origin + mins / maxs
.void() touch; .float ltime; // local time for entity
.void() use; .float movetype;
.void() think; .float solid;
.void() blocked; // for doors or plats, called when can't push other .vector origin; // ***
.float nextthink; .vector oldorigin; // ***
.entity groundentity; .vector velocity;
.float health; .vector angles;
.float points; .vector avelocity;
.float kills; .vector punchangle; // temp angle adjust from damage or recoil
.float weapon; // one of the W_COLT, etc flags .string classname; // spawn function
.string weaponmodel; .string model;
.string weapon2model; .float frame;
.float weaponframe; .float skin;
.float weapon2frame; .float iframetime;
.float currentammo; .float effects;
.float currentmag; .vector mins, maxs; // bounding box extents reletive to origin
.float zoom; .vector size; // maxs - mins
.float weaponskin; .void() touch;
.float weapon2skin; .void() use;
.float primary_grenades; .void() think;
.float secondary_grenades; .void() blocked; // for doors or plats, called when can't push other
.float grenades; .float nextthink;
.float perks; // bit flags .entity groundentity;
.float takedamage; .float health;
.entity chain; .float points;
.float deadflag; .float kills;
.vector view_ofs; // add to origin to get eye point .float weapon; // one of the W_COLT, etc flags
.float button0; // .string weaponmodel;
.float button1; // .string weapon2model;
.float button2; // .float weaponframe;
.float button3; // .float weapon2frame;
.float button4; // .float currentammo;
.float button5; // .float currentmag;
.float button6; // .float zoom;
.float button7; // .float weaponskin;
.float button8; // .float weapon2skin;
.float impulse; // weapon changes .float primary_grenades;
.float fixangle; .float secondary_grenades;
.vector v_angle; // view / targeting angle for players .float grenades;
.float idealpitch; // calculated pitch angle for lookup up slopes .float perks; // bit flags
.string netname; .float takedamage;
.entity enemy; .entity chain;
.float flags; .float deadflag;
.float colormap; .vector view_ofs; // add to origin to get eye point
.float team; .float button0; //
.float max_health; // players maximum health is stored here .float button1; //
.float teleport_time; // don't back up .float button2; //
.float waterlevel; // 0 = not in, 1 = feet, 2 = wast, 3 = eyes .float button3; //
.float watertype; // a contents value .float button4; //
.float ideal_yaw; .float button5; //
.float yaw_speed; .float button6; //
.entity aiment; .float button7; //
.entity head; .float button8; //
.entity larm; .float impulse; // weapon changes
.entity rarm; .float fixangle;
.entity goalentity; // a movetarget or an enemy .vector v_angle; // view / targeting angle for players
//.entity goalorigin; // a movetarget location .float idealpitch; // calculated pitch angle for lookup up slopes
.float spawnflags; .string netname;
.string target; .entity enemy;
.string targetname; .float flags;
.float bleed_out; .float colormap;
.float progress_bar; .float team;
.entity dmg_inflictor; .float max_health; // players maximum health is stored here
.entity owner; // who launched a missile .float teleport_time; // don't back up
.vector movedir; // mostly for doors, but also used for waterjump .float waterlevel; // 0 = not in, 1 = feet, 2 = wast, 3 = eyes
.string message; // trigger messages .float watertype; // a contents value
.float sounds; // either a cd track number or sound number .float ideal_yaw;
.string noise, noise1, noise2, noise3; // contains names of wavs to play .float yaw_speed;
.float x2_icon; // double points icon .entity aiment;
.float insta_icon; .entity head;
.vector ADS_Offset; .entity larm;
.vector Flash_Offset; .entity rarm;
.float Flash_Size; .entity goalentity; // a movetarget or an enemy
.string Weapon_Name; //.entity goalorigin; // a movetarget location
.string Weapon_Name_Touch; .float spawnflags;
.float currentmag2; .string target;
.float maxspeed; .string targetname;
.float facingenemy; .float bleed_out;
//.float scale; .float progress_bar;
void end_sys_fields; // flag for structure dumping .entity dmg_inflictor;
.entity owner; // who launched a missile
.vector movedir; // mostly for doors, but also used for waterjump
.string message; // trigger messages
.float sounds; // either a cd track number or sound number
.string noise, noise1, noise2, noise3; // contains names of wavs to play
.float x2_icon; // double points icon
.float insta_icon;
.vector ADS_Offset;
.vector Flash_Offset;
.float Flash_Size;
.string Weapon_Name;
.string Weapon_Name_Touch;
.float currentmag2;
.float maxspeed;
.float facingenemy;
//.float scale;
void end_sys_fields; // flag for structure dumping
// End. Lines below this MAY be altered, to some extent // End. Lines below this MAY be altered, to some extent
// Built In functions // Built In functions
void (vector ang) makevectors = #1; // sets v_forward, etc globals void(vector ang) makevectors = #1; // sets v_forward, etc globals
void (entity e, vector o) setorigin = #2; void(entity e, vector o) setorigin = #2;
void (entity e, string m) setmodel = #3; // set movetype and solid first void(entity e, string m) setmodel = #3; // set movetype and solid first
void (entity e, vector min, vector max) setsize = #4; void(entity e, vector min, vector max) setsize = #4;
void () break = #6; void() break = #6;
float () random = #7; // returns 0 - 1 float() random = #7; // returns 0 - 1
void (entity e, float chan, string samp, float vol, float atten) sound = #8; void(entity e, float chan, string samp, float vol, float atten) sound = #8;
vector (vector v) normalize = #9; vector(vector v) normalize = #9;
void (string e) error = #10; void(string e) error = #10;
void (string e) objerror = #11; void(string e) objerror = #11;
float (vector v) vlen = #12; float(vector v) vlen = #12;
float (vector v) vectoyaw = #13; float(vector v) vectoyaw = #13;
entity () spawn = #14; entity() spawn = #14;
void (entity e) remove = #15; void(entity e) remove = #15;
void (vector v1, vector v2, float nomonsters, entity forent) traceline = #16; void(vector v1, vector v2, float nomonsters, entity forent) traceline = #16;
entity () checkclient = #17; // returns a client to look for entity() checkclient = #17; // returns a client to look for
entity (entity start, .string fld, string match) find = #18; entity(entity start, .string fld, string match) find = #18;
string (string s) precache_sound = #19; string(string s) precache_sound = #19;
string (string s) precache_model = #20; string(string s) precache_model = #20;
void (entity client, string s) stuffcmd = #21; void(entity client, string s)stuffcmd = #21;
entity (vector org, float rad) findradius = #22; entity(vector org, float rad) findradius = #22;
void (string s) bprint_psp = #23; void(string s) dprint = #25;
void (entity client, string s) sprint_psp = #24; string(float f) ftos = #26;
void (string s) dprint = #25; string(vector v) vtos = #27;
string (float f) ftos = #26; void() coredump = #28; // prints all edicts
string (vector v) vtos = #27; void() traceon = #29; // turns statment trace on
void () coredump = #28; // prints all edicts void() traceoff = #30;
void () traceon = #29; // turns statment trace on void(entity e) eprint = #31; // prints an entire edict
void () traceoff = #30; float(float yaw, float dist) walkmove = #32; // returns TRUE or FALSE
void (entity e) eprint = #31; // prints an entire edict float(entity zombie, float which, entity limb) updateLimb = #33;
float (float yaw, float dist) walkmove = #32; // returns TRUE or FALSE float(float yaw, float dist) droptofloor = #34; // TRUE if landed on floor
float (entity zombie, float which, entity limb) updateLimb = #33; void(float style, string value) lightstyle = #35;
float (float yaw, float dist) droptofloor = #34; // TRUE if landed on floor float(float v) rint = #36; // round to nearest int
void (float style, string value) lightstyle = #35; float(float v) floor = #37; // largest integer <= v
float (float v) rint = #36; // round to nearest int float(float v) ceil = #38; // smallest integer >= v
float (float v) floor = #37; // largest integer <= v float(entity e) checkbottom = #40; // true if self is on ground
float (float v) ceil = #38; // smallest integer >= v float(vector v) pointcontents = #41; // returns a CONTENT_*
float (entity e) checkbottom = #40; // true if self is on ground float(float f) fabs = #43;
float (vector v) pointcontents = #41; // returns a CONTENT_* vector(entity e, float speed) aim = #44; // returns the shooting vector
float (float f) fabs = #43; float(string s) cvar = #45; // return cvar.value
vector (entity e, float speed) aim = #44; // returns the shooting vector void(string s) localcmd = #46; // put string into local que
float (string s) cvar = #45; // return cvar.value entity(entity e) nextent = #47; // for looping through all ents
void (string s) localcmd = #46; // put string into local que void() ChangeYaw = #49; // turn towards self.ideal_yaw
entity (entity e) nextent = #47; // for looping through all ents float(string name) getSoundLen = #50;
void (vector o, vector d, float color, float count) particle = #48; // start a particle effect vector(vector v) vectoangles = #51;
void () ChangeYaw = #49; // turn towards self.ideal_yaw void(float to, float f) WriteByte = #52;
float (string name) getSoundLen = #50; void(float to, float f) WriteChar = #53;
vector (vector v) vectoangles = #51; void(float to, float f) WriteShort = #54;
void (float to, float f) WriteByte = #52; void(float to, float f) WriteLong = #55;
void (float to, float f) WriteChar = #53; void(float to, float f) WriteCoord = #56;
void (float to, float f) WriteShort = #54; void(float to, float f) WriteAngle = #57;
void (float to, float f) WriteLong = #55; void(float to, string s) WriteString = #58;
void (float to, float f) WriteCoord = #56; void(float to, entity s) WriteEntity = #59;
void (float to, float f) WriteAngle = #57; string(entity s) etos = #65;
void (float to, string s) WriteString = #58; void(float step) movetogoal = #67;
void (float to, entity s) WriteEntity = #59; string(string s) precache_file = #68; // no effect except for -copy
string (entity s) etos = #65; void(entity e) makestatic = #69;
void (float step) movetogoal = #67; void(string s) changelevel = #70;
string (string s) precache_file = #68; // no effect except for -copy void(float step, vector origin) movetoorigin = #71;
void (entity e) makestatic = #69; void(string var, string val) cvar_set = #72; // sets cvar.value
void (string s) changelevel = #70; void(entity client, string s) centerprint = #73; // sprint, but in middle
void (float step, vector origin) movetoorigin = #71; void(entity client, string s, string s) centerprint2 = #73;
void (string var, string val) cvar_set = #72; // sets cvar.value void(entity client, string s, string s, string s) centerprint3 = #73;
void (entity client, string s) centerprint = #73; // sprint, but in middle void(entity client, string s, string s, string s, string s) centerprint4 = #73;
void (entity client, string s, string s) centerprint2 = #73; void(entity client, string s, string s, string s, string s, string s) centerprint5 = #73;
void (entity client, string s, string s, string s) centerprint3 = #73; void(entity client, string s, string s, string s, string s, string s, string s) centerprint6 = #73;
void (entity client, string s, string s, string s, string s) centerprint4 = #73; void(entity client, string s, string s, string s, string s, string s, string s, string s) centerprint7 = #73;
void (entity client, string s, string s, string s, string s, string s) centerprint5 = #73; void(vector pos, string samp, float vol, float atten) ambientsound = #74;
void (entity client, string s, string s, string s, string s, string s, string s) centerprint6 = #73; string(string s) precache_model2 = #75; // registered version only
void (entity client, string s, string s, string s, string s, string s, string s, string s) centerprint7 = #73; string(string s) precache_sound2 = #76; // registered version only
void (vector pos, string samp, float vol, float atten) ambientsound = #74; string(string s) precache_file2 = #77; // registered version only
string (string s) precache_model2 = #75; // registered version only void(entity e) setspawnparms = #78; // set parm1... to the
string (string s) precache_sound2 = #76; // registered version only void(vector start, vector min, vector max, vector end, float nomonsters, entity forent) tracebox = #90;
string (string s) precache_file2 = #77; // registered version only float(vector start, vector min, vector max, vector end, float nomonsters, entity forent) tracemove = #99;
void (entity e) setspawnparms = #78; // set parm1... to the entity (entity start, .float field, float match) findfloat = #98;
void (entity plr, float achievement) achievement = #79; float(string s) stof = #81; // 2001-09-20 QuakeC string manipulation by FrikaC
float (string s) stof = #81; // 2001-09-20 QuakeC string manipulation by FrikaC vector(entity what) Get_Waypoint_Near = #83;
vector (entity what) Get_Waypoint_Near = #83; float(entity zombie, entity target) Do_Pathfind_psp = #84;
float (entity zombie, entity target) Do_Pathfind_psp = #84; void(string s) Open_Waypoint = #85;
void (string s) Open_Waypoint = #85; vector(entity zombie,vector start,vector min, vector max) Get_Next_Waypoint = #86;
vector (entity zombie,vector start,vector min, vector max) Get_Next_Waypoint = #86; void(entity client, float type, float cost, float weapon) useprint = #87;
void (entity client, float type, float cost, float weapon) useprint = #87; vector(entity zombie,vector start,vector min, vector max) Get_First_Waypoint = #88;
vector (entity zombie,vector start,vector min, vector max) Get_First_Waypoint = #88; void(string s) Close_Waypoint = #89;
void (string s) Close_Waypoint = #89;
void (vector start, vector min, vector max, vector end, float nomonsters, entity forent) tracebox = #90; void(entity plr, float achievement) achievement = #79;
entity (entity start, .float field, float match) findfloat = #98;
float (vector start, vector min, vector max, vector end, float nomonsters, entity forent) tracemove = #99; void(string trackname) songegg = #500;
void() nzp_maxammo = #501;
/*
type 0 = clear
type 1 = buy door
type 2 = buy debris
type 3 = Buy ammo
type 4 = buy weapon
type 5 = repair window
type 6 = use box
type 7 = use trap
type 8 = require power
*/
// 2001-09-20 QuakeC file access by FrikaC start // 2001-09-20 QuakeC file access by FrikaC start
float (string filename, float mode) fopen = #110; float(string filename, float mode) fopen = #110;
void (float fhandle) fclose = #111; void(float fhandle) fclose = #111;
string (float fhandle) fgets = #112; string(float fhandle) fgets = #112;
void (float fhandle, string s) fputs = #113; void(float fhandle, string s) fputs = #113;
float (string s) strlen = #114;
string (string s1, string s2) strcat = #115;
string (string s, float start, float length) substring = #116;
vector (string s) stov = #117;
string (string s) strzone = #118;
string (string s) strunzone = #119;
string (string s) strtrim = #120;
// 2001-09-20 QuakeC file access by FrikaC end // 2001-09-20 QuakeC file access by FrikaC end
// 2001-09-20 QuakeC string manipulation by FrikaC start
float(string s) strlen = #114;
string(string s1, string s2) strcat = #115;
string(string s, float start, float length) substring = #116;
vector(string s) stov = #117;
string(string s) strzone = #118;
string(string s) strunzone = #119;
string(string s) strtrim = #120;
// 2001-09-20 QuakeC string manipulation by FrikaC end
// 2001-11-15 DarkPlaces general builtin functions by Lord Havoc start // 2001-11-15 DarkPlaces general builtin functions by Lord Havoc start
float(string s) tokenize = #441; float(string s) tokenize = #441;
string(float num) argv = #442; string(float num) argv = #442;
// 2001-11-15 DarkPlaces general builtin functions by Lord Havoc end // 2001-11-15 DarkPlaces general builtin functions by Lord Havoc end
void (string trackname) songegg = #500;
void () nzp_maxammo = #501;
// //
// constants // constants
// //
#define FALSE 0 #define FALSE 0
#define TRUE 1 #define TRUE 1
// edict.flags // edict.flags
#define FL_FLY 1 #define FL_FLY 1
#define FL_SWIM 2 #define FL_SWIM 2
#define FL_CLIENT 8 // set for all client edicts #define FL_CLIENT 8 // set for all client edicts
#define FL_INWATER 16 // for enter / leave water splash #define FL_INWATER 16 // for enter / leave water splash
#define FL_MONSTER 32 #define FL_MONSTER 32
#define FL_GODMODE 64 // player cheat #define FL_GODMODE 64 // player cheat
#define FL_NOTARGET 128 // player cheat #define FL_NOTARGET 128 // player cheat
#define FL_ITEM 256 // extra wide size for bonus items #define FL_ITEM 256 // extra wide size for bonus items
#define FL_ONGROUND 512 // standing on something #define FL_ONGROUND 512 // standing on something
#define FL_PARTIALGROUND 1024 // not all corners are valid #define FL_PARTIALGROUND 1024 // not all corners are valid
#define FL_WATERJUMP 2048 // player jumping out of water #define FL_WATERJUMP 2048 // player jumping out of water
//#define FL_JUMPRELEASED 4096 // for jump debouncing
// edict.movetype values // edict.movetype values
#define MOVETYPE_NONE 0 // never moves #define MOVETYPE_NONE 0 // never moves
#define MOVETYPE_ANGLENOCLIP 1 #define MOVETYPE_ANGLENOCLIP 1
#define MOVETYPE_ANGLECLIP 2 #define MOVETYPE_ANGLECLIP 2
#define MOVETYPE_WALK 3 // players only #define MOVETYPE_WALK 3 // players only
#define MOVETYPE_STEP 4 // discrete, not real time unless fall #define MOVETYPE_STEP 4 // discrete, not real time unless fall
#define MOVETYPE_FLY 5 #define MOVETYPE_FLY 5
#define MOVETYPE_TOSS 6 // gravity #define MOVETYPE_TOSS 6 // gravity
#define MOVETYPE_PUSH 7 // no clip to world, push and crush #define MOVETYPE_PUSH 7 // no clip to world, push and crush
#define MOVETYPE_NOCLIP 8 #define MOVETYPE_NOCLIP 8
#define MOVETYPE_FLYMISSILE 9 // fly with extra size against monsters #define MOVETYPE_FLYMISSILE 9 // fly with extra size against monsters
#define MOVETYPE_BOUNCE 10 #define MOVETYPE_BOUNCE 10
#define MOVETYPE_BOUNCEMISSILE 11 // bounce with extra size #define MOVETYPE_BOUNCEMISSILE 11 // bounce with extra size
#define MOVETYPE_FOLLOW 12 #define MOVETYPE_FOLLOW 12
#define MOVE_HITMODEL 0
// edict.solid values // edict.solid values
#define SOLID_NOT 0 // no interaction with other objects #define SOLID_NOT 0 // no interaction with other objects
#define SOLID_TRIGGER 1 // touch on edge, but not blocking #define SOLID_TRIGGER 1 // touch on edge, but not blocking
#define SOLID_BBOX 2 // touch on edge, block #define SOLID_BBOX 2 // touch on edge, block
#define SOLID_SLIDEBOX 3 // touch on edge, but not an onground #define SOLID_SLIDEBOX 3 // touch on edge, but not an onground
#define SOLID_BSP 4 // bsp clip, touch on edge, block #define SOLID_BSP 4 // bsp clip, touch on edge, block
#define SOLID_CORPSE 5 // bsp clip, touch on edge, block #define SOLID_CORPSE 5 // bsp clip, touch on edge, block
// range values // range values
#define RANGE_MELEE 0 #define RANGE_MELEE 0
#define RANGE_NEAR 1 #define RANGE_NEAR 1
#define RANGE_MID 2 #define RANGE_MID 2
#define RANGE_FAR 3 #define RANGE_FAR 3
// deadflag values // deadflag values
#define DEAD_NO 0
#define DEAD_DYING 1 #define DEAD_NO 0
#define DEAD_DEAD 2 #define DEAD_DYING 1
#define DEAD_RESPAWNABLE 3 #define DEAD_DEAD 2
#define DEAD_RESPAWNABLE 3
// takedamage values // takedamage values
#define DAMAGE_NO 0
#define DAMAGE_YES 1 #define DAMAGE_NO 0
#define DAMAGE_AIM 2 #define DAMAGE_YES 1
#define DAMAGE_NOMARKER 3 #define DAMAGE_AIM 2
#define DAMAGE_NOMARKER 3
/*.void() th_stand;
.void() th_walk;
.void() th_run;
.void(entity attacker, float damage) th_pain;*/
.void() th_die;
//.void() th_missile;
.void() th_melee;
// point content values // point content values
#define CONTENT_EMPTY -1
#define CONTENT_SOLID -2
#define CONTENT_WATER -3
#define CONTENT_SLIME -4
#define CONTENT_LAVA -5
#define CONTENT_SKY -6
//doors #define CONTENT_EMPTY -1
#define STATE_TOP 0 #define CONTENT_SOLID -2
#define STATE_BOTTOM 1 #define CONTENT_WATER -3
#define STATE_UP 2 #define CONTENT_SLIME -4
#define STATE_DOWN 3 #define CONTENT_LAVA -5
#define CONTENT_SKY -6
#define VEC_ORIGIN '0 0 0'
#define VEC_ORIGIN '0 0 0'
//Standard Quake View Offset
//vector VEC_VIEW_OFS = '0 0 22';
//Half Life View Offset is 64
//64 units above ground, for our purposes it's, 64 - (how low bounding box goes)
//vector VEC_VIEW_OFS = '0 0 32';
//Standard Quake Hull
//vector VEC_HULL_MIN = '-16 -16 -24';
//vector VEC_HULL_MAX = '16 16 32';
//Half Life 1 Hull Sizes ADDED BY BLUBS, COMMENTED ORIGINAL QUAKE BBOX SIZS OUT //Half Life 1 Hull Sizes ADDED BY BLUBS, COMMENTED ORIGINAL QUAKE BBOX SIZS OUT
#define VEC_HULL_MIN '-16 -16 -32' #define VEC_HULL_MIN '-16 -16 -32'
#define VEC_HULL_MAX '16 16 40' #define VEC_HULL_MAX '16 16 40'
#define VEC_HULL2_MIN '-32 -32 -24'
#define VEC_HULL2_MAX '32 32 64' #define VEC_HULL2_MIN '-32 -32 -24'
#define VEC_HULL2_MAX '32 32 64'
// protocol bytes // protocol bytes
#define SVC_BAD 0 #define SVC_BAD 0
#define SVC_NOP 1 #define SVC_NOP 1
#define SVC_DISCONNECT 2 #define SVC_DISCONNECT 2
#define SVC_UPDATESTAT 3 #define SVC_UPDATESTAT 3
#define SVC_VERSION 4 #define SVC_VERSION 4
#define SVC_SETVIEW 5 #define SVC_SETVIEW 5
#define SVC_SOUND 6 #define SVC_SOUND 6
#define SVC_TIME 7 #define SVC_TIME 7
#define SVC_PRINT 8 #define SVC_PRINT 8
#define SVC_STUFFTEXT 9 #define SVC_STUFFTEXT 9
#define SVC_SETANGLE 10 #define SVC_SETANGLE 10
#define SVC_SERVERINFO 11 #define SVC_SERVERINFO 11
#define SVC_LIGHTSTYLE 12 #define SVC_LIGHTSTYLE 12
#define SVC_UPDATENAME 13 #define SVC_UPDATENAME 13
#define SVC_UPDATEPOINTS 14 #define SVC_UPDATEPOINTS 14
#define SVC_CLIENTDATA 15 #define SVC_CLIENTDATA 15
#define SVC_STOPSOUND 16 #define SVC_STOPSOUND 16
#define SVC_PARTICLE 18 #define SVC_PARTICLE 18
#define SVC_DAMAGE 19 #define SVC_DAMAGE 19
#define SVC_SPAWNSTATIC 20 #define SVC_SPAWNSTATIC 20
#define SVC_SPAWNBINARY 21 #define SVC_SPAWNBINARY 21
#define SVC_SPAWNBASELINE 22 #define SVC_SPAWNBASELINE 22
#define SVC_TEMPENTITY 23 #define SVC_TEMPENTITY 23
#define SVC_SETPAUSE 24 #define SVC_SETPAUSE 24
#define SVC_SIGNONNUM 25 #define SVC_SIGNONNUM 25
#define SVC_CENTERPRINT 26 #define SVC_CENTERPRINT 26
#define SVC_SPAWNSTATICSOUND 29 // 1998-08-08 Complete SVC list by Zhenga #define SVC_SPAWNSTATICSOUND 29 // 1998-08-08 Complete SVC list by Zhenga
#define SVC_INTERMISSION 30 #define SVC_INTERMISSION 30
#define SVC_FINALE 31 #define SVC_FINALE 31
#define SVC_CDTRACK 32 #define SVC_CDTRACK 32
#define SVC_SELLSCREEN 33 #define SVC_SELLSCREEN 33
#define SVC_CUTSCENE 34 // 1998-08-08 Complete SVC list by Zhenga #define SVC_CUTSCENE 34 // 1998-08-08 Complete SVC list by Zhenga
#define SVC_WEAPONFIRE 35 #define SVC_WEAPONFIRE 35
#define SVC_HITMARK 36 #define SVC_HITMARK 36
#define SVC_USEPRINT 38 #define SVC_USEPRINT 38
#define TE_SPIKE 0 #define TE_SPIKE 0
#define TE_SUPERSPIKE 1 #define TE_SUPERSPIKE 1
#define TE_GUNSHOT 2 #define TE_GUNSHOT 2
#define TE_EXPLOSION 3 #define TE_EXPLOSION 3
#define TE_TAREXPLOSION 4 #define TE_TAREXPLOSION 4
#define TE_LIGHTNING1 5 #define TE_LIGHTNING1 5
#define TE_LIGHTNING2 6 #define TE_LIGHTNING2 6
#define TE_WIZSPIKE 7 #define TE_WIZSPIKE 7
#define TE_KNIGHTSPIKE 8 #define TE_KNIGHTSPIKE 8
#define TE_LIGHTNING3 9 #define TE_LIGHTNING3 9
#define TE_LAVASPLASH 10 #define TE_LAVASPLASH 10
#define TE_TELEPORT 11 #define TE_TELEPORT 11
#define TE_RAYSPLASHGREEN 14 #define TE_RAYSPLASHGREEN 14
#define TE_RAYSPLASHRED 15 #define TE_RAYSPLASHRED 15
// sound channels // sound channels
// channel 0 never willingly overrides // channel 0 never willingly overrides
// other channels (1-7) allways override a playing sound on that channel // other channels (1-7) allways override a playing sound on that channel
// Player uses channel 5 for all weapon reload sfx #define CHAN_AUTO 0
#define CHAN_AUTO 0 #define CHAN_WEAPON 1
#define CHAN_WEAPON 1 #define CHAN_VOICE 2
#define CHAN_VOICE 2 #define CHAN_ITEM 3
#define CHAN_ITEM 3 #define CHAN_BODY 4
#define CHAN_BODY 4 //Player uses channel 5 for all weapon reload sfx
#define ATTN_NONE 0 #define ATTN_NONE 0
#define ATTN_NORM 1 #define ATTN_NORM 1
#define ATTN_IDLE 2 #define ATTN_IDLE 2
#define ATTN_STATIC 3 #define ATTN_STATIC 3
// update types // update types
#define UPDATE_GENERAL 0
#define UPDATE_STATIC 1 #define UPDATE_GENERAL 0
#define UPDATE_BINARY 2 #define UPDATE_STATIC 1
#define UPDATE_TEMP 3 #define UPDATE_BINARY 2
#define UPDATE_TEMP 3
// entity effects // entity effects
#define EF_BLUE 1
#define EF_MUZZLEFLASH 2 #define EF_BLUE 1
#define EF_BRIGHTLIGHT 4 #define EF_MUZZLEFLASH 2
#define EF_RED 8 #define EF_BRIGHTLIGHT 4
#define EF_ORANGELIGHT 16 #define EF_RED 8
#define EF_GREEN 32 #define EF_ORANGELIGHT 16
#define EF_LIGHT 64 #define EF_GREEN 32
#define EF_NODRAW 128 #define EF_LIGHT 64
#define EF_BRIGHTFIELD 256 #define EF_NODRAW 128
#define EF_FULLBRIGHT 512 #define EF_BRIGHTFIELD 256
#define EF_DARKLIGHT 1024 #define EF_FULLBRIGHT 512
#define EF_DARKFIELD 2048 #define EF_DARKLIGHT 1024
#define EF_PURPLELIGHT 4096 #define EF_DARKFIELD 2048
#define EF_RAYRED 8196 #define EF_PURPLELIGHT 4096
#define EF_RAYGREEN 16384 #define EF_RAYRED 8196
#define EF_RAYGREEN 16384
// messages // messages
#define MSG_BROADCAST 0 // unreliable to all #define MSG_BROADCAST 0 // unreliable to all
#define MSG_ONE 1 // reliable to one (msg_entity) #define MSG_ONE 1 // reliable to one (msg_entity)
#define MSG_ALL 2 // reliable to all #define MSG_ALL 2 // reliable to all
#define MSG_INIT 3 // write to the init string #define MSG_INIT 3 // write to the init string
// message levels #define AS_STRAIGHT 1
#define PRINT_HIGH 0 #define AS_SLIDING 2
#define AS_MELEE 3
#define AS_MISSILE 4
#define AS_STRAIGHT 1 // Quake assumes these are defined.
#define AS_SLIDING 2
#define AS_MELEE 3
#define AS_MISSILE 4
// file operations //.string wad, map;
#define FILE_READ 0 .float /*worldtype,*/ delay, wait, lip, /*light_lev,*/ speed, style/*, skill*/;
#define FILE_APPEND 1 .string killtarget;
#define FILE_WRITE 2 .void() think1;
.vector finaldest;
.vector pos1, pos2/*, mangle*/;
void(vector o, vector d, float color, float count) particle = #48;// start a particle effect
void(string s) bprint_psp = #23;
void(entity client, string s) sprint_psp = #24;
// End
void(string s) println = {bprint_psp(s);} //just when brain decided to think this is c void(string s) println = {bprint_psp(s);} //just when brain decided to think this is c
void(float ignore, string s) bprint = {bprint_psp(s);}; void(float ignore, string s) bprint = {bprint_psp(s);};
void(entity client, float type, string s) sprint = {sprint_psp(client, s);}; void(entity client, float type, string s) sprint = {sprint_psp(client, s);};
void(string s) print = {bprint_psp(s);}; void(string s) print = {bprint_psp(s);};
//doors
.float state;
#define STATE_TOP 0
#define STATE_BOTTOM 1
#define STATE_UP 2
#define STATE_DOWN 3
string mappath;
#define PRINT_HIGH 0
.float isspec;
#define FILE_READ 0
#define FILE_APPEND 1
#define FILE_WRITE 2
#define MOVE_HITMODEL 0 // must be different for this engine!
.float recoil_delay;
.float gravity;
.float renderamt;
.float rendermode;
.vector rendercolor;
.string mapversion;
.float ammo;
void(string com) SV_ParseClientCommand;
.float currentHitBoxSetup;
.vector bbmins, bbmaxs; // Used for zombie hitboxes
.float achievements;