Files
2019-12-30 17:23:05 +01:00

471 lines
12 KiB
Plaintext

/*========================================
defs.qc
========================================*/
/*==========
System Globals
==========*/
entity self, other, world;
float time, frametime, force_retouch;
string mapname;
float deathmatch, coop, teamplay, serverflags;
float total_secrets, total_monsters, found_secrets, killed_monsters;
float parm1, parm2, parm3, parm4, parm5, parm6, parm7, parm8,
parm9, parm10, parm11, parm12, parm13, parm14, parm15, parm16;
vector v_forward, v_up, v_right;
float trace_allsolid, trace_startsolid, trace_fraction;
vector trace_endpos, trace_plane_normal;
float trace_plane_dist;
entity trace_ent;
float trace_inopen, trace_inwater;
entity msg_entity;
void() main, StartFrame, PlayerPreThink, PlayerPostThink, ClientKill, ClientConnect,
PutClientInServer, ClientDisconnect, SetNewParms, SetChangeParms;
void end_sys_globals;
/*==========
System Fields
==========*/
.float modelindex;
.vector absmin, absmax;
.float ltime;
.float movetype;
.float solid;
.vector origin;
.vector oldorigin;
.vector velocity;
.vector angles;
.vector avelocity;
.vector punchangle;
.string classname;
.string model;
.float frame;
.float skin;
.float effects;
.vector mins, maxs;
.vector size;
.void() touch;
.void() use;
.void() think;
.void() blocked;
.float nextthink;
.entity groundentity;
.float health;
.float frags;
.float weapon;
.string weaponmodel;
.float weaponframe;
.float currentammo;
.float ammo_shells, ammo_nails, ammo_rockets, ammo_cells;
.float items;
.float takedamage;
.entity chain;
.float deadflag;
.vector view_ofs;
.float button0;
.float button1;
.float button2;
.float impulse;
.float fixangle;
.vector v_angle;
.float idealpitch;
.string netname;
.entity enemy;
.float flags;
.float colormap;
.float team;
.float max_health;
.float teleport_time;
.float armortype;
.float armorvalue;
.float waterlevel;
.float watertype;
.float ideal_yaw;
.float yaw_speed;
.entity aiment;
.entity goalentity;
.float spawnflags;
.string target;
.string targetname;
.float dmg_take;
.float dmg_save;
.entity dmg_inflictor;
.entity owner;
.vector movedir;
.string message;
.float sounds;
.string noise, noise1, noise2, noise3;
void end_sys_fields;
/*==========
Builtins
==========*/
__used void(vector ang) makevectors = #1;
__used void(entity e, vector o) setorigin = #2;
__used void(entity e, string m) setmodel = #3;
__used void(entity e, vector min, vector max) setsize = #4;
__used void() break = #6;
__used float() random = #7;
__used void(entity e, float chan, string samp, float vol, float atten) sound = #8;
__used vector(vector v) normalize = #9;
__used void(string e) error = #10;
__used void(string e) objerror = #11;
__used float(vector v) vlen = #12;
__used float(vector v) vectoyaw = #13;
__used entity() spawn = #14;
__used void(entity e) remove = #15;
__used void(vector v1, vector v2, float nomonsters, entity forent) traceline = #16;
__used entity() checkclient = #17;
__used entity(entity start, .string fld, string match) find = #18;
__used string(string s) precache_sound = #19;
__used string(string s) precache_model = #20;
__used void(entity client, string s) stuffcmd = #21;
__used entity(vector org, float rad) findradius = #22;
__used void(string s) bprint = #23;
__used void(entity client, string s, optional string s2) sprint = #24;
__used void(string s) dprint = #25;
__used string(float f) ftos = #26;
__used string(vector v) vtos = #27;
__used void() coredump = #28;
__used void() traceon = #29;
__used void() traceoff = #30;
__used void(entity e) eprint = #31;
__used float(float yaw, float dist) walkmove = #32;
__used float() droptofloor= #34;
__used void(float style, string value) lightstyle = #35;
__used float(float v) rint = #36;
__used float(float v) floor = #37;
__used float(float v) ceil = #38;
__used float(entity e) checkbottom = #40;
__used float(vector v) pointcontents = #41;
__used float(float f) fabs = #43;
__used vector(entity e, float speed) aim = #44;
__used float(string s) cvar = #45;
__used void(string s) localcmd = #46;
__used entity(entity e) nextent = #47;
__used void particle(vector o, vector d, float color, float count) = #48;
__used void() changeyaw = #49;
__used vector(vector v) vectoangles = #51;
__used void(float to, float f) WriteByte = #52;
__used void(float to, float f) WriteChar = #53;
__used void(float to, float f) WriteShort = #54;
__used void(float to, float f) WriteLong = #55;
__used void(float to, float f) WriteCoord = #56;
__used void(float to, float f) WriteAngle = #57;
__used void(float to, string s) WriteString = #58;
__used void(float to, entity s) WriteEntity = #59;
__used void(float step) movetogoal = #67;
__used string(string s) precache_file = #68;
__used void(entity e) makestatic = #69;
__used void(string s) changelevel = #70;
__used void(string var, string val) cvar_set = #72;
__used void(entity client, string s1, optional string s2, optional string s3,
optional string s4, optional string s5, optional string s6, optional string s7) centerprint = #73;
__used void(vector pos, string samp, float vol, float atten) ambientsound = #74;
__used string(string s) precache_model2 = #75;
__used string(string s) precache_sound2 = #76;
__used string(string s) precache_file2 = #77;
__used void(entity e) setspawnparms = #78;
/*==========
Constants
==========*/
// booleans
const float FALSE = 0;
const float TRUE = 1;
// flags
float FL_FLY = 1;
float FL_SWIM = 2;
// 4 is unused
float FL_CLIENT = 8;
float FL_INWATER = 16;
float FL_MONSTER = 32;
float FL_GODMODE = 64;
float FL_NOTARGET = 128;
float FL_ITEM = 256;
float FL_ONGROUND = 512;
float FL_PARTIALGROUND = 1024;
float FL_WATERJUMP = 2048;
float FL_JUMPRELEASED = 4096;
// movetype
float MOVETYPE_NONE = 0;
float MOVETYPE_WALK = 3;
float MOVETYPE_STEP = 4;
float MOVETYPE_FLY = 5;
float MOVETYPE_TOSS = 6;
float MOVETYPE_PUSH = 7;
float MOVETYPE_NOCLIP = 8;
float MOVETYPE_FLYMISSILE = 9;
float MOVETYPE_BOUNCE = 10;
// solid
float SOLID_NOT = 0;
float SOLID_TRIGGER = 1;
float SOLID_BBOX = 2;
float SOLID_SLIDEBOX = 3;
float SOLID_BSP = 4;
// range
float RANGE_MELEE = 0;
float RANGE_NEAR = 1;
float RANGE_MID = 2;
float RANGE_FAR = 3;
// deadflag
float DEAD_NO = 0;
float DEAD_DYING = 1;
float DEAD_DEAD = 2;
float DEAD_RESPAWNABLE = 4;
// takedamage
float DAMAGE_NO = 0;
float DAMAGE_YES = 1;
float DAMAGE_AIM = 2;
// items
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_AXE = 4096;
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;
// content
float CONTENT_EMPTY = -1;
float CONTENT_SOLID = -2;
float CONTENT_WATER = -3;
float CONTENT_SLIME = -4;
float CONTENT_LAVA = -5;
float CONTENT_SKY = -6;
// state
float STATE_TOP = 0;
float STATE_BOTTOM = 1;
float STATE_UP = 2;
float STATE_DOWN = 3;
// hull sizes
vector VEC_ORIGIN = '0 0 0';
vector VEC_HULL_MIN = '-16 -16 -24';
vector VEC_HULL_MAX = '16 16 32';
vector VEC_HULL2_MIN = '-32 -32 -24';
vector VEC_HULL2_MAX = '32 32 64';
// protocol bytes
float SVC_BAD = 0;
float SVC_NOP = 1;
float SVC_DISCONNECT = 2;
float SVC_UPDATESTAT = 3;
float SVC_VERSION = 4;
float SVC_SETVIEW = 5;
float SVC_SOUND = 6;
float SVC_TIME = 7;
float SVC_PRINT = 8;
float SVC_STUFFTEXT = 9;
float SVC_SETANGLE = 10;
float SVC_SERVERINFO = 11;
float SVC_LIGHTSTYLE = 12;
float SVC_UPDATENAME = 13;
float SVC_UPDATEFRAGS = 14;
float SVC_CLIENTDATA = 15;
float SVC_STOPSOUND = 16;
float SVC_UPDATECOLORS = 17;
float SVC_PARTICLE = 18;
float SVC_DAMAGE = 19;
float SVC_SPAWNSTATIC = 20;
float SVC_SPAWNBINARY = 21;
float SVC_SPAWNBASELINE = 22;
float SVC_TEMPENTITY = 23;
float SVC_SETPAUSE = 24;
float SVC_SIGNONNUM = 25;
float SVC_CENTERPRINT = 26;
float SVC_KILLEDMONSTER = 27;
float SVC_FOUNDSECRET = 28;
float SVC_SPAWNSTATICSOUND= 29;
float SVC_INTERMISSION = 30;
float SVC_FINALE = 31;
float SVC_CDTRACK = 32;
float SVC_SELLSCREEN = 33;
float SVC_CUTSCENE = 34;
// stats
float STAT_HEALTH = 0;
float STAT_FRAGS = 1;
float STAT_WEAPON = 2;
float STAT_AMMO = 3;
float STAT_ARMOR = 4;
float STAT_WEAPONFRAME = 5;
float STAT_SHELLS = 6;
float STAT_NAILS = 7;
float STAT_ROCKETS = 8;
float STAT_CELLS = 9;
float STAT_ACTIVEWEAPON = 10;
float STAT_TOTALSECRETS = 11;
float STAT_TOTALMONSTERS = 12;
float STAT_SECRETS = 13;
float STAT_MONSTERS = 14;
// temp ents
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;
float TE_EXPLOSION2 = 12;
float TE_BEAM = 13;
// sound channels
float CHAN_AUTO = 0;
float CHAN_WEAPON = 1;
float CHAN_VOICE = 2;
float CHAN_ITEM = 3;
float CHAN_BODY = 4;
// sound attenuation
float ATTN_NONE = 0;
float ATTN_NORM = 1;
float ATTN_IDLE = 2;
float ATTN_STATIC = 3;
// update types
float UPDATE_GENERAL = 0;
float UPDATE_STATIC = 1;
float UPDATE_BINARY = 2;
float UPDATE_TEMP = 3;
// effects
float EF_BRIGHTFIELD = 1;
float EF_MUZZLEFLASH = 2;
float EF_BRIGHTLIGHT = 4;
float EF_DIMLIGHT = 8;
// messages
float MSG_BROADCAST = 0;
float MSG_ONE = 1;
float MSG_ALL = 2;
float MSG_INIT = 3;
// attack styles
float AS_STRAIGHT = 1;
float AS_SLIDING = 2;
float AS_MELEE = 3;
float AS_MISSILE = 4;
float AS_SPAM = 5;
// traceline flags
float MOVE_NORMAL = 0;
float MOVE_NOMONSTERS = 1;
float MOVE_MISSILE = 2;
// flags2
float FL2_ONLADDER = 1;
float FL2_PROJECTILE = 2;
/*==========
Globals
==========*/
string string_null;
entity newmis;
entity activator;
float framecount;
float skill;
entity lastspawn;
float developer;
float sv_gravity;
float gameover, intermission_running, intermission_exittime;
string nextmap;
/*==========
Fields
==========*/
// not used by gamecode, but used by map compiling utilities, so included to stop console warnings
__used .float light_lev;
__used .string wad;
// pain and death
.void(entity inflictor, entity attacker) th_die;
.void(entity attacker, float damage) th_pain;
// monster AI
.void() th_stand;
.void() th_walk;
.void() th_run;
.void() th_missile;
.void() th_melee;
.void() th_spam;
.float alpha;
.vector finaldest;
.float gravity;
.string killtarget;
.string map;
.float style;
.float style2;
.float switchshadstyle;
.void() think1;
.float worldtype;
.entity trigger_field;
.float cnt, colour, count, delay, distance, dmg, height, lip, pausetime, speed, state, volume, wait;
.float t_length, t_width;
.string mdl, mdl1, mdl2, mdl3, headmodel;
.string noise4;
.vector dest1, dest2;
.vector pos1, pos2;
.vector mangle, oldorigin;
.float attack_finished, pain_finished;
.float attack_state;
.entity movetarget, oldenemy;
.float lefty;
.float search_time;
.float show_hostile;
.float air_finished, fly_sound, health_rot_time, hurt_time, jump_flag, swim_flag, walkframe;
.string deathtype;
.float flags2;
// powerups
.float invincible_finished, invincible_time, invincible_sound;
.float invisible_finished, invisible_time, invisible_sound;
.float super_damage_finished, super_time, super_sound;
.float radsuit_finished, rad_time;
/*==========
Prototypes
==========*/
void() monster_death_use;
void() FoundTarget;
void(vector org, entity who) spawn_tdeath;
void(vector org) spawn_tfog;