]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/dpdefs/progsdefs.qh
Use stock dpdefs
[xonotic/xonotic-data.pk3dir.git] / qcsrc / dpdefs / progsdefs.qh
index fe632ce8d97b8be2bc2aed7b87dc9581407f688a..bffacafddc59a928ac76441e89fe284579bb173a 100644 (file)
 #ifndef PROGSDEFS_H
 #define PROGSDEFS_H
 
-/*
-==============================================================================
+#pragma noref 1
 
-                       SOURCE FOR GLOBALVARS_T C STRUCTURE
-                       MUST NOT BE MODIFIED, OR CRC ERRORS WILL APPEAR
+#define true _true
+#define false _false
+#define TRUE _TRUE
+#define FALSE _FALSE
 
-==============================================================================
-*/
+#include "upstream/progsdefs.qc"
 
-//
-// system globals
-//
-entity         self;
-entity         other;
-entity         world;
-float          time;
-float          frametime;
+#undef true
+#undef false
+#undef TRUE
+#undef FALSE
 
-float          force_retouch;          // force all entities to touch triggers
-                                                               // next frame.  this is needed because
-                                                               // non-moving things don't normally scan
-                                                               // for triggers, and when a trigger is
-                                                               // created (like a teleport trigger), it
-                                                               // needs to catch everything.
-                                                               // decremented each frame, so set to 2
-                                                               // to guarantee everything is touched
-string         mapname;
+#pragma noref 0
 
-float          deathmatch;
-float          coop;
-float          teamplay;
-
-int                    serverflags;            // propagated from level to level, used to
-                                                               // keep track of completed episodes
-
-float          total_secrets;
-float          total_monsters;
-
-float          found_secrets;          // number of secrets found
-float          killed_monsters;        // number of monsters killed
-
-
-// spawnparms are used to encode information about clients across server
-// level changes
-float          parm1, parm2, parm3, parm4, parm5, parm6, parm7, parm8, parm9, parm10, parm11, parm12, parm13, parm14, parm15, parm16;
-
-//
-// global variables set by built in functions
-//
-vector         v_forward, v_up, v_right;       // set by makevectors()
-
-// set by traceline / tracebox
-float          trace_allsolid;
-float          trace_startsolid;
-float          trace_fraction;
-vector         trace_endpos;
-vector         trace_plane_normal;
-float          trace_plane_dist;
-entity         trace_ent;
-float          trace_inopen;
-float          trace_inwater;
-
-entity         msg_entity;                             // destination of single entity writes
-
-//
-// required prog functions
-//
-void()                 main;                                           // only for testing
-
-void()         StartFrame;
-
-void()                 PlayerPreThink;
-void()                 PlayerPostThink;
-
-void()         ClientKill;
-#ifdef DP_EXT_PRECONNECT
-void()         ClientPreConnect;
-#endif
-void()         ClientConnect;
-void()                 PutClientInServer;              // call after setting the parm1... parms
-void()         ClientDisconnect;
-
-void()         SetNewParms;                    // called when a client first connects to
-                                                                       // a server. sets parms so they can be
-                                                                       // saved off for restarts
-
-void()         SetChangeParms;                 // call to set parms for self so they can
-                                                                       // be saved for a level transition
-
-
-//================================================
-void           end_sys_globals;                // flag for structure dumping
-//================================================
-
-/*
-==============================================================================
-
-                       SOURCE FOR ENTVARS_T C STRUCTURE
-                       MUST NOT BE MODIFIED, OR CRC ERRORS WILL APPEAR
-
-==============================================================================
-*/
-
-//
-// system fields (*** = do not set in prog code, maintained by C code)
-//
-.int           modelindex;             // *** model index in the precached list
-.vector                absmin, absmax; // *** origin + mins / maxs
-
-.float         ltime;                  // local time for entity
-.float         movetype;
-.float         solid;
-
-.vector                origin;                 // ***
-.vector                oldorigin;              // ***
-.vector                velocity;
-.vector                angles;
-.vector                avelocity;
-
-.vector                punchangle;             // temp angle adjust from damage or recoil
-
-.string                classname;              // spawn function
-.string                model;
-.int           frame;
-.int           skin;
-.int           effects;
-
-.vector                mins, maxs;             // bounding box extents reletive to origin
-.vector                size;                   // maxs - mins
-
-.void()                touch;
-.void()                use;
-.void()                think;
-.void()                blocked;                // for doors or plats, called when can't push other
-
-.float         nextthink;
-.entity                groundentity;
-
-// stats
-.float         health;
-.float         frags;
-.int           weapon;                 // one of the IT_SHOTGUN, etc flags
-.string                weaponmodel;
-.float         weaponframe;
-.float         currentammo;
-.float         ammo_shells, ammo_nails, ammo_rockets, ammo_cells;
-
-.int           items;                  // bit flags
-
-.float         takedamage;
-.entity                chain;
-.float         deadflag;
-
-.vector                view_ofs;                       // add to origin to get eye point
-
-
-.float         button0;                // fire
-.float         button1;                // use
-.float         button2;                // jump
-
-.float         impulse;                // weapon changes
-
-.float         fixangle;
-.vector                v_angle;                // view / targeting angle for players
-.float         idealpitch;             // calculated pitch angle for lookup up slopes
-
-
-.string                netname;
-
-.entity        enemy;
-
-.int           flags;
-
-.int           colormap;
-.float         team;
-
-.float         max_health;             // players maximum health is stored here
-
-.float         teleport_time;  // don't back up
-
-.float         armortype;              // save this fraction of incoming damage
-.float         armorvalue;
-
-.float         waterlevel;             // 0 = not in, 1 = feet, 2 = wast, 3 = eyes
-.float         watertype;              // a contents value
-
-.float         ideal_yaw;
-.float         yaw_speed;
-
-.entity                aiment;
-
-.entity        goalentity;             // a movetarget or an enemy
-
-.int           spawnflags;
-
-.string                target;
-.string                targetname;
-
-// damage is accumulated through a frame. and sent as one single
-// message, so the super shotgun doesn't generate huge messages
-.float         dmg_take;
-.float         dmg_save;
-.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
-
-//================================================
-void           end_sys_fields;                 // flag for structure dumping
-//================================================
-
-/*
-==============================================================================
-
-                               CONSTANT DEFINITIONS
-
-==============================================================================
-*/
-
-
-//
-// constants
-//
-
-// edict.flags
-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
-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
-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
-const int RANGE_MELEE                  = 0;
-const int RANGE_NEAR                   = 1;
-const int RANGE_MID                            = 2;
-const int RANGE_FAR                            = 3;
-
-// deadflag values
-
-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
-
-const int DAMAGE_NO                            = 0;
-const int DAMAGE_YES                   = 1;
-const int DAMAGE_AIM                   = 2;
-
-// items
-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
-
-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;
-
-const int STATE_TOP                            = 0;
-const int STATE_BOTTOM                 = 1;
-const int STATE_UP                             = 2;
-const int STATE_DOWN                   = 3;
-
-const vector VEC_ORIGIN                = '0 0 0';
-const vector VEC_HULL_MIN              = '-16 -16 -24';
-const vector VEC_HULL_MAX              = '16 16 32';
-
-const vector VEC_HULL2_MIN             = '-32 -32 -24';
-const vector VEC_HULL2_MAX             = '32 32 64';
-
-// protocol bytes
-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
-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;
-
-const int ATTN_NONE                            = 0;
-const int ATTN_NORM                            = 1;
-const int ATTN_IDLE                            = 2;
-const int ATTN_STATIC                  = 3;
-
-// update types
-
-const int UPDATE_GENERAL               = 0;
-const int UPDATE_STATIC                        = 1;
-const int UPDATE_BINARY                        = 2;
-const int UPDATE_TEMP                  = 3;
-
-// entity effects
-
-const int EF_BRIGHTFIELD               = 1;
-const int EF_MUZZLEFLASH               = 2;
-const int EF_BRIGHTLIGHT               = 4;
-const int EF_DIMLIGHT                  = 8;
-
-
-// messages
-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
-
-//===========================================================================
-
-//
-// builtin functions
-//
-
-void(vector ang)       makevectors             = #1;           // sets v_forward, etc globals
-void(entity e, vector o) setorigin     = #2;
-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_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(string e, ...) error                              = #10;
-void(string e, ...) objerror                           = #11;
-float(vector v) vlen                           = #12;
-float(vector v) vectoyaw                       = #13;
-entity() spawn                                         = #14;
-void(entity e) remove                          = #15;
-
-// sets trace_* globals
-// nomonsters can be:
-// An entity will also be ignored for testing if forent == test,
-// forent->owner == test, or test->owner == forent
-// a forent of world is ignored
-void(vector v1, vector v2, float nomonsters, entity forent) traceline = #16;
-
-entity() checkclient                           = #17;  // returns a client to look for
-entity(entity start, .string fld, string match) find = #18;
-string(string s) precache_sound                = #19;
-string(string s) precache_model                = #20;
-void(entity client, string s, ...)stuffcmd = #21;
-entity(vector org, float rad) findradius = #22;
-void(string s, ...) bprint                             = #23;
-void(entity client, string s, ...) sprint = #24;
-void(string s, ...) dprint                             = #25;
-string(float f) ftos                           = #26;
-string(vector v) vtos                          = #27;
-void() coredump                                                = #28;          // prints all edicts
-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
-// #33 was removed
-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
-float(float v) ceil                                    = #38;          // smallest integer >= v
-// #39 was removed
-float(entity e) checkbottom                    = #40;          // true if self is on ground
-float(vector v) pointcontents          = #41;          // returns a CONTENT_*
-// #42 was removed
-float(float f) fabs = #43;
-vector(entity e, float speed) aim = #44;               // returns the shooting vector
-float(string s) cvar = #45;                                            // return cvar.value
-void(string s, ...) localcmd = #46;                                    // put string into local que
-entity(entity e) nextent = #47;                                        // for looping through all ents
-void(vector o, vector d, float color, float count) particle = #48;// start a particle effect
-void() ChangeYaw = #49;                                                // turn towards self.ideal_yaw
-                                                                                       // at self.yaw_speed
-// #50 was removed
-vector(vector v) vectoangles                   = #51;
-
-//
-// direct client message generation
-//
-void(float to, float f) WriteByte              = #52;
-void(float to, float f) WriteChar              = #53;
-void(float to, float f) WriteShort             = #54;
-void(float to, float f) WriteLong              = #55;
-void(float to, float f) WriteCoord             = #56;
-void(float to, float f) WriteAngle             = #57;
-void(float to, string s, ...) WriteString      = #58;
-void(float to, entity s) WriteEntity   = #59;
-
-//
-// broadcast client message generation
-//
-
-// void(float f) bWriteByte            = #59;
-// void(float f) bWriteChar            = #60;
-// void(float f) bWriteShort           = #61;
-// void(float f) bWriteLong            = #62;
-// void(float f) bWriteCoord           = #63;
-// void(float f) bWriteAngle           = #64;
-// void(string s) bWriteString = #65;
-// void(entity e) bWriteEntity = #66;
-
-void(float step) movetogoal                            = #67;
-
-string(string s) precache_file         = #68;  // no effect except for -copy
-void(entity e) makestatic              = #69;
-void(string s) changelevel = #70;
-
-//#71 was removed
-
-void(string name, string value) cvar_set = #72;        // sets cvar.value
-
-void(entity client, string s, ...) centerprint = #73;  // sprint, but in middle
-
-void(vector pos, string samp, float vol, float atten) ambientsound = #74;
-
-string(string s) precache_model2       = #75;          // registered version only
-string(string s) precache_sound2       = #76;          // registered version only
-string(string s) precache_file2                = #77;          // registered version only
-
-void(entity e) setspawnparms           = #78;          // set parm1... to the
-                                                                                               // values at level start
-                                                                                               // for coop respawn
-
-//============================================================================
 #endif