25 this.angles_x -= 360.0 *
floor(this.angles_x * (1.0 / 360.0));
26 this.angles_y -= 360.0 *
floor(this.angles_y * (1.0 / 360.0));
27 this.angles_z -= 360.0 *
floor(this.angles_z * (1.0 / 360.0));
34 LOG_INFOF(
"_Movetype_Physics_Push: entity #%d, unrecognized solid type %d",
etof(
this), this.
solid);
46 vector move1 = this.velocity * dt;
47 vector moveangle = this.avelocity * dt;
51 MAKE_VECTORS(a, forward, left, up);
67 this.angles_x -= 360.0 *
floor(this.angles_x * (1.0 / 360.0));
68 this.angles_y -= 360.0 *
floor(this.angles_y * (1.0 / 360.0));
69 this.angles_z -= 360.0 *
floor(this.angles_z * (1.0 / 360.0));
77 switch(check.move_movetype)
89 if(check.owner ==
this ||
this.owner == check)
95 if (!
IS_ONGROUND(check) || check.groundentity !=
this)
97 tracebox(check.origin, check.mins, check.maxs, check.origin,
MOVE_NOMONSTERS, check);
101 vector pivot = check.mins + 0.5 * (check.maxs - check.mins);
110 org2.x = (org * forward);
111 org2.y = (org * left);
119 check.moved_from = check.origin;
120 check.moved_fromangles = check.angles;
126 check.origin = check.origin + move;
132 int savesolid = this.
solid;
138 this.
solid = savesolid;
143 this.
solid = savesolid;
152 tracebox(check.origin, check.mins, check.maxs, check.origin,
MOVE_NOMONSTERS, check);
166 if(check.mins_x == check.maxs_x)
171 check.mins_x = check.mins_y = 0;
172 check.maxs = check.mins;
184 check.origin = check.moved_from;
185 check.angles = check.moved_fromangles;
191 getblocked(
this)(
this, check);
195 this.angles_x -= 360.0 *
floor(this.angles_x * (1.0 / 360.0));
196 this.angles_y -= 360.0 *
floor(this.angles_y * (1.0 / 360.0));
197 this.angles_z -= 360.0 *
floor(this.angles_z * (1.0 / 360.0));
#define IL_EACH(this, cond, body)
const float SOLID_SLIDEBOX
#define IL_CLEAR(this)
Remove all elements.
const float MOVETYPE_PHYSICS
#define UNSET_ONGROUND(s)
bool _Movetype_NudgeOutOfSolid_PivotIsKnownGood(entity this, vector pivot)
const int MOVETYPE_FAKEPUSH
IntrusiveList g_pushmove_moved
const float MOVE_NOMONSTERS
ERASEABLE entity IL_PUSH(IntrusiveList this, entity it)
Push to tail.
float MOVETYPE_FLY_WORLDONLY
void _Movetype_LinkEdict(entity this, bool touch_triggers)
vector(float skel, float bonenum) _skel_get_boneabs_hidden
const float SOLID_TRIGGER
bool _Movetype_PushEntity(entity this, vector push, bool failonstartsolid, bool dolink)