Go to the documentation of this file.
102 if (thinktime >
level.time+0.001)
143 #define STOP_EPSILON 0.1
157 backoff =
DotProduct (in, normal) * overbounce;
159 for (
i=0 ;
i<3 ;
i++)
161 change = normal[
i]*backoff;
162 out[
i] = in[
i] - change;
182 #define MAX_CLIP_PLANES 5
186 int bumpcount, numbumps;
191 vec3_t primal_velocity, original_velocity, new_velocity;
208 for (bumpcount=0 ; bumpcount<numbumps ; bumpcount++)
210 for (
i=0 ;
i<3 ;
i++)
255 time_left -= time_left * trace.
fraction;
272 ClipVelocity (original_velocity, planes[
i], new_velocity, 1);
413 for (
i=0 ;
i<3 ;
i++)
421 move[
i] = 0.125 * (
int)temp;
425 for (
i=0 ;
i<3 ;
i++)
467 if ( check->
absmin[0] >= maxs[0]
468 || check->
absmin[1] >= maxs[1]
469 || check->
absmin[2] >= maxs[2]
470 || check->
absmax[0] <= mins[0]
471 || check->
absmax[1] <= mins[1]
472 || check->
absmax[2] <= mins[2] )
576 for (part = ent ; part ; part=part->
teamchain)
585 if (!
SV_Push (part, move, amove))
614 for (part = ent ; part ; part=part->
teamchain)
752 if (!wasinwater && isinwater)
754 else if (wasinwater && !isinwater)
787 #define sv_stopspeed 100
788 #define sv_friction 6
789 #define sv_waterfriction 1
798 for (n = 0; n < 3; n++)
820 float speed, newspeed, control;
860 newspeed = speed - (
FRAMETIME * control * friction);
887 speed =
sqrt(vel[0]*vel[0] +vel[1]*vel[1]);
893 newspeed = speed -
FRAMETIME*control*friction;
#define MASK_MONSTERSOLID
trace_t(* trace)(vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end, edict_t *passent, int contentmask)
CONST PIXELFORMATDESCRIPTOR int
#define VectorSubtract(a, b, c)
void SV_CheckVelocity(edict_t *ent)
void VectorScale(vec3_t in, vec_t scale, vec3_t out)
void SV_Physics_Noclip(edict_t *ent)
void G_TouchTriggers(edict_t *ent)
void SV_Impact(edict_t *e1, trace_t *trace)
struct gclient_s * client
void(* sound)(edict_t *ent, int channel, int soundindex, float volume, float attenuation, float timeofs)
void(* blocked)(edict_t *self, edict_t *other)
void SV_Physics_Pusher(edict_t *ent)
void(* prethink)(edict_t *ent)
void SV_AddGravity(edict_t *ent)
int groundentity_linkcount
void AngleVectors(vec3_t angles, vec3_t forward, vec3_t right, vec3_t up)
int ClipVelocity(vec3_t in, vec3_t normal, vec3_t out, float overbounce)
void CrossProduct(vec3_t v1, vec3_t v2, vec3_t cross)
void SV_AddRotationalFriction(edict_t *ent)
void SV_Physics_None(edict_t *ent)
int(* soundindex)(char *name)
int(* pointcontents)(vec3_t point)
void(* positioned_sound)(vec3_t origin, edict_t *ent, int channel, int soundinedex, float volume, float attenuation, float timeofs)
void(* think)(edict_t *self)
qboolean M_CheckBottom(edict_t *ent)
trace_t SV_PushEntity(edict_t *ent, vec3_t push)
#define VectorAdd(a, b, c)
void M_CheckGround(edict_t *ent)
int SV_FlyMove(edict_t *ent, float time, int mask)
void(* error)(char *fmt,...)
qboolean SV_Push(edict_t *pusher, vec3_t move, vec3_t amove)
void VectorMA(vec3_t veca, float scale, vec3_t vecb, vec3_t vecc)
void G_RunEntity(edict_t *ent)
void(* touch)(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
edict_t * SV_TestEntityPosition(edict_t *ent)
void SV_Physics_Toss(edict_t *ent)
pushed_t pushed[MAX_EDICTS]
int VectorCompare(vec3_t v1, vec3_t v2)
void(* linkentity)(edict_t *ent)
void SV_Physics_Step(edict_t *ent)
qboolean SV_RunThink(edict_t *ent)