X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=server.h;h=6eb60579bb3b591f01d2e1719bc7a8df5facf55a;hb=85bcf1b0c54087b658f33995b2e5461ccf2a6998;hp=d64db17b65eedeb994209e548d1985bedd6964dc;hpb=0e4dabb236935123d0f2ea510e9d6357a8dafca0;p=xonotic%2Fdarkplaces.git diff --git a/server.h b/server.h index d64db17b..6eb60579 100644 --- a/server.h +++ b/server.h @@ -317,6 +317,7 @@ typedef struct client_s #define MOVETYPE_FOLLOW 12 ///< track movement of aiment #define MOVETYPE_FAKEPUSH 13 ///< tenebrae's push that doesn't push #define MOVETYPE_PHYSICS 32 ///< indicates this object is physics controlled +#define MOVETYPE_FLY_WORLDONLY 33 ///< like MOVETYPE_FLY, but uses MOVE_WORLDONLY for all its traces; objects of this movetype better be SOLID_NOT or SOLID_TRIGGER please, or else... // edict->solid values #define SOLID_NOT 0 ///< no interaction with other objects @@ -330,6 +331,8 @@ typedef struct client_s #define SOLID_PHYSICS_BOX 32 ///< physics object (mins, maxs, mass, origin, axis_forward, axis_left, axis_up, velocity, spinvelocity) #define SOLID_PHYSICS_SPHERE 33 ///< physics object (mins, maxs, mass, origin, axis_forward, axis_left, axis_up, velocity, spinvelocity) #define SOLID_PHYSICS_CAPSULE 34 ///< physics object (mins, maxs, mass, origin, axis_forward, axis_left, axis_up, velocity, spinvelocity) +#define SOLID_PHYSICS_TRIMESH 35 ///< physics object (mins, maxs, mass, origin, axis_forward, axis_left, axis_up, velocity, spinvelocity) +#define SOLID_PHYSICS_CYLINDER 36 ///< physics object (mins, maxs, mass, origin, axis_forward, axis_left, axis_up, velocity, spinvelocity) // edict->deadflag values #define DEAD_NO 0 @@ -449,6 +452,9 @@ extern cvar_t sv_gameplayfix_swiminbmodels; extern cvar_t sv_gameplayfix_upwardvelocityclearsongroundflag; extern cvar_t sv_gameplayfix_downtracesupportsongroundflag; extern cvar_t sv_gameplayfix_q1bsptracelinereportstexture; +extern cvar_t sv_gameplayfix_unstickplayers; +extern cvar_t sv_gameplayfix_unstickentities; +extern cvar_t sv_gameplayfix_fixedcheckwatertransition; extern cvar_t sv_gravity; extern cvar_t sv_idealpitchscale; extern cvar_t sv_jumpstep; @@ -470,6 +476,7 @@ extern cvar_t sv_stopspeed; extern cvar_t sv_wallfriction; extern cvar_t sv_wateraccelerate; extern cvar_t sv_waterfriction; +extern cvar_t sv_areadebug; extern cvar_t sys_ticrate; extern cvar_t teamplay; extern cvar_t temp1; @@ -490,8 +497,8 @@ void SV_Init (void); void SV_StartParticle (vec3_t org, vec3_t dir, int color, int count); void SV_StartEffect (vec3_t org, int modelindex, int startframe, int framecount, int framerate); -void SV_StartSound (prvm_edict_t *entity, int channel, const char *sample, int volume, float attenuation); -void SV_StartPointSound (vec3_t origin, const char *sample, int volume, float attenuation); +void SV_StartSound (prvm_edict_t *entity, int channel, const char *sample, int volume, float attenuation, qboolean reliable, float speed); +void SV_StartPointSound (vec3_t origin, const char *sample, int volume, float attenuation, float speed); void SV_ConnectClient (int clientnum, netconn_t *netconnection); void SV_DropClient (qboolean crash); @@ -550,6 +557,7 @@ int SV_GenericHitSuperContentsMask(const prvm_edict_t *edict); trace_t SV_TraceBox(const vec3_t start, const vec3_t mins, const vec3_t maxs, const vec3_t end, int type, prvm_edict_t *passedict, int hitsupercontentsmask); trace_t SV_TraceLine(const vec3_t start, const vec3_t end, int type, prvm_edict_t *passedict, int hitsupercontentsmask); trace_t SV_TracePoint(const vec3_t start, int type, prvm_edict_t *passedict, int hitsupercontentsmask); +int SV_EntitiesInBox(const vec3_t mins, const vec3_t maxs, int maxedicts, prvm_edict_t **resultedicts); qboolean SV_CanSeeBox(int numsamples, vec_t enlarge, vec3_t eye, vec3_t entboxmins, vec3_t entboxmaxs);