Browse Source

Merge pull request #202 from AruMoon/fix-spec_goto-crash

Fix spec_goto old crash
pull/209/head
nillerusr 1 year ago committed by GitHub
parent
commit
d06435a8bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 20
      game/server/player.cpp

20
game/server/player.cpp

@ -2607,10 +2607,22 @@ void CBasePlayer::ObserverUse( bool bIsPressed ) @@ -2607,10 +2607,22 @@ void CBasePlayer::ObserverUse( bool bIsPressed )
void CBasePlayer::JumptoPosition(const Vector &origin, const QAngle &angles)
{
SetAbsOrigin( origin );
SetAbsVelocity( vec3_origin ); // stop movement
SetLocalAngles( angles );
SnapEyeAngles( angles );
Vector neworigin;
QAngle newangles;
// Clamp the position and angles to prevent crashes
neworigin.x = clamp( origin.x, MIN_COORD_FLOAT, MAX_COORD_FLOAT );
neworigin.y = clamp( origin.y, MIN_COORD_FLOAT, MAX_COORD_FLOAT );
neworigin.z = clamp( origin.z, MIN_COORD_FLOAT, MAX_COORD_FLOAT );
newangles.x = clamp( newangles.x, MIN_COORD_FLOAT, MAX_COORD_FLOAT );
newangles.y = clamp( newangles.y, MIN_COORD_FLOAT, MAX_COORD_FLOAT );
newangles.z = clamp( newangles.z, MIN_COORD_FLOAT, MAX_COORD_FLOAT ); // not clamped in original valve's code, idk why
SetAbsOrigin( neworigin );
SetAbsVelocity( vec3_origin ); // stop movement
SetLocalAngles( newangles );
SnapEyeAngles( newangles );
}
bool CBasePlayer::SetObserverTarget(CBaseEntity *target)

Loading…
Cancel
Save