for(int bump = 0; bump < 6; bump++)
{
int coord = 2 - (bump >> 1);
- bool dir = (bump & 1);
+ int dir = (bump & 1);
for(int subbump = 0; ; ++subbump)
{
tracebox(stuckorigin, goodmins, goodmaxs, testorigin, MOVE_NOMONSTERS, this);
if(trace_startsolid && trace_ent.solid == SOLID_BSP) // NOTE: this checks for bmodelstartsolid in the engine
{
-
// BAD BAD, can't fix that
return false;
}
// we hit something... let's move out of it
vector move = trace_endpos - testorigin;
- float nudge = (trace_plane_normal * move) + 0.03125f; // FIXME cvar this constant
+ float nudge = (trace_plane_normal * move) + 0.03125; // FIXME cvar this constant
stuckorigin = stuckorigin + nudge * trace_plane_normal;
}
this.angles = this.angles + movedt * this.avelocity;
break;
case MOVETYPE_STEP:
+ if (GAMEPLAYFIX_UNSTICKPLAYERS(this) == 2)
+ _Movetype_CheckStuck(this);
_Movetype_Physics_Step(this, movedt);
break;
case MOVETYPE_WALK:
case MOVETYPE_FLY:
case MOVETYPE_FLY_WORLDONLY:
+ if (movedt > 0 && GAMEPLAYFIX_UNSTICKPLAYERS(this) == 2)
+ _Movetype_CheckStuck(this);
_Movetype_Physics_Walk(this, movedt);
break;
case MOVETYPE_TOSS:
case MOVETYPE_BOUNCE:
case MOVETYPE_BOUNCEMISSILE:
case MOVETYPE_FLYMISSILE:
+ if (GAMEPLAYFIX_UNSTICKPLAYERS(this) == 2)
+ _Movetype_CheckStuck(this);
_Movetype_Physics_Toss(this, movedt);
break;
case MOVETYPE_PHYSICS: