X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=progs.h;h=0eda5274f8c01998d9b7b90942b7e60e8ed1eb2e;hb=576e1d2e13944284115a0dc64f97590818507a22;hp=c4bd745a45da36e88914ccdfc31465e563e6b428;hpb=0960c1f25d397c09f680454759f4ea747975c8c9;p=xonotic%2Fdarkplaces.git diff --git a/progs.h b/progs.h index c4bd745a..0eda5274 100644 --- a/progs.h +++ b/progs.h @@ -18,7 +18,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#ifndef PROGS_H +#ifndef PROGS_H #define PROGS_H #include "pr_comp.h" // defs shared with qcc @@ -29,6 +29,7 @@ typedef struct link_s } link_t; #define ENTITYGRIDAREAS 16 +#define MAX_ENTITYCLUSTERS 16 typedef struct edict_engineprivate_s { @@ -37,6 +38,14 @@ typedef struct edict_engineprivate_s // sv.time when the object was freed (to prevent early reuse which could // mess up client interpolation or obscure severe QuakeC bugs) float freetime; + // initially false to prevent projectiles from moving on their first frame + // (even if they were spawned by an synchronous client think) + qboolean move; + + // cached cluster links for quick stationary object visibility checking + vec3_t cullmins, cullmaxs; + int pvs_numclusters; + int pvs_clusterlist[MAX_ENTITYCLUSTERS]; // physics grid areas this edict is linked into link_t areagrid[ENTITYGRIDAREAS]; @@ -44,7 +53,7 @@ typedef struct edict_engineprivate_s // we should avoid extensive checking on entities already encountered int areagridmarknumber; - // PROTOCOL_QUAKE, PROTOCOL_QUAKEDP, PROTOCOL_NEHAHRAMOVIE + // PROTOCOL_QUAKE, PROTOCOL_QUAKEDP, PROTOCOL_NEHAHRAMOVIE, PROTOCOL_QUAKEWORLD // baseline values entity_state_t baseline; @@ -65,6 +74,14 @@ extern int eval_button5; extern int eval_button6; extern int eval_button7; extern int eval_button8; +extern int eval_button9; +extern int eval_button10; +extern int eval_button11; +extern int eval_button12; +extern int eval_button13; +extern int eval_button14; +extern int eval_button15; +extern int eval_button16; extern int eval_buttonuse; extern int eval_buttonchat; extern int eval_glow_size; @@ -109,6 +126,17 @@ extern int eval_cursor_trace_ent; extern int eval_colormod; extern int eval_playermodel; extern int eval_playerskin; +extern int eval_SendEntity; +extern int eval_Version; +extern int eval_customizeentityforclient; +extern int eval_dphitcontentsmask; + +extern int gval_trace_dpstartcontents; +extern int gval_trace_dphitcontents; +extern int gval_trace_dphitq3surfaceflags; +extern int gval_trace_dphittexturename; + + extern mfunction_t *SV_PlayerPhysicsQC; extern mfunction_t *EndFrameQC; @@ -155,13 +183,18 @@ typedef struct edict_engineprivate_s // mess up client interpolation or obscure severe QuakeC bugs) float freetime; + // cached cluster links for quick stationary object visibility checking + vec3_t cullmins, cullmaxs; + int pvs_numclusters; + int pvs_clusterlist[MAX_ENTITYCLUSTERS]; + // physics grid areas this edict is linked into link_t areagrid[ENTITYGRIDAREAS]; // since the areagrid can have multiple references to one entity, // we should avoid extensive checking on entities already encountered int areagridmarknumber; - // PROTOCOL_QUAKE, PROTOCOL_QUAKEDP, PROTOCOL_NEHAHRAMOVIE + // PROTOCOL_QUAKE, PROTOCOL_QUAKEDP, PROTOCOL_NEHAHRAMOVIE, PROTOCOL_QUAKEWORLD // baseline values entity_state_t baseline; @@ -238,8 +271,7 @@ extern int eval_colormod; extern int eval_playermodel; extern int eval_playerskin; -#define PRVM_GETEDICTFIELDVALUE(ed, fieldoffset) (fieldoffset ? (prvm_eval_t *)((qbyte *)ed->v + fieldoffset) : NULL) - +#define PRVM_GETEDICTFIELDVALUE(ed, fieldoffset) (fieldoffset ? (prvm_eval_t *)((unsigned char *)ed->v + fieldoffset) : NULL) extern mfunction_t *SV_PlayerPhysicsQC; extern mfunction_t *EndFrameQC;