aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/player.cpp
diff options
context:
space:
mode:
authorJohn Schoenick <[email protected]>2015-09-09 18:35:41 -0700
committerJohn Schoenick <[email protected]>2015-09-09 18:35:41 -0700
commit0d8dceea4310fde5706b3ce1c70609d72a38efdf (patch)
treec831ef32c2c801a5c5a80401736b52c7b5a528ec /mp/src/game/server/player.cpp
parentUpdated the SDK with the latest code from the TF and HL2 branches. (diff)
downloadsource-sdk-2013-master.tar.xz
source-sdk-2013-master.zip
Updated the SDK with the latest code from the TF and HL2 branches.HEADmaster
Diffstat (limited to 'mp/src/game/server/player.cpp')
-rw-r--r--mp/src/game/server/player.cpp35
1 files changed, 25 insertions, 10 deletions
diff --git a/mp/src/game/server/player.cpp b/mp/src/game/server/player.cpp
index a44ee551..e0e7ccd2 100644
--- a/mp/src/game/server/player.cpp
+++ b/mp/src/game/server/player.cpp
@@ -585,7 +585,9 @@ CBasePlayer::CBasePlayer( )
m_bForceOrigin = false;
m_hVehicle = NULL;
m_pCurrentCommand = NULL;
-
+ m_iLockViewanglesTickNumber = 0;
+ m_qangLockViewangles.Init();
+
// Setup our default FOV
m_iDefaultFOV = g_pGameRules->DefaultFOV();
@@ -976,7 +978,7 @@ void CBasePlayer::DamageEffect(float flDamage, int fDamageType)
}
else if (fDamageType & DMG_DROWN)
{
- //Red damage indicator
+ //Blue damage indicator
color32 blue = {0,0,128,128};
UTIL_ScreenFade( this, blue, 1.0f, 0.1f, FFADE_IN );
}
@@ -2325,6 +2327,7 @@ bool CBasePlayer::SetObserverMode(int mode )
break;
case OBS_MODE_CHASE :
+ case OBS_MODE_POI: // PASSTIME
case OBS_MODE_IN_EYE :
// udpate FOV and viewmodels
SetObserverTarget( m_hObserverTarget );
@@ -2420,8 +2423,7 @@ void CBasePlayer::CheckObserverSettings()
}
// check if our spectating target is still a valid one
-
- if ( m_iObserverMode == OBS_MODE_IN_EYE || m_iObserverMode == OBS_MODE_CHASE || m_iObserverMode == OBS_MODE_FIXED )
+ if ( m_iObserverMode == OBS_MODE_IN_EYE || m_iObserverMode == OBS_MODE_CHASE || m_iObserverMode == OBS_MODE_FIXED || m_iObserverMode == OBS_MODE_POI )
{
ValidateCurrentObserverTarget();
@@ -2633,7 +2635,10 @@ bool CBasePlayer::SetObserverTarget(CBaseEntity *target)
Vector dir, end;
Vector start = target->EyePosition();
- AngleVectors( target->EyeAngles(), &dir );
+ QAngle ang = target->EyeAngles();
+ ang.z = 0; // PASSTIME no view roll when spectating ball
+
+ AngleVectors( ang, &dir );
VectorNormalize( dir );
VectorMA( start, -64.0f, dir, end );
@@ -2643,7 +2648,7 @@ bool CBasePlayer::SetObserverTarget(CBaseEntity *target)
trace_t tr;
UTIL_TraceRay( ray, MASK_PLAYERSOLID, target, COLLISION_GROUP_PLAYER_MOVEMENT, &tr );
- JumptoPosition( tr.endpos, target->EyeAngles() );
+ JumptoPosition( tr.endpos, ang );
}
return true;
@@ -3411,6 +3416,8 @@ void CBasePlayer::ForceSimulation()
m_nSimulationTick = -1;
}
+ConVar sv_usercmd_custom_random_seed( "sv_usercmd_custom_random_seed", "1", FCVAR_CHEAT, "When enabled server will populate an additional random seed independent of the client" );
+
//-----------------------------------------------------------------------------
// Purpose:
// Input : *buf -
@@ -3437,6 +3444,16 @@ void CBasePlayer::ProcessUsercmds( CUserCmd *cmds, int numcmds, int totalcmds,
pCmd->MakeInert();
}
+ if ( sv_usercmd_custom_random_seed.GetBool() )
+ {
+ float fltTimeNow = float( Plat_FloatTime() * 1000.0 );
+ pCmd->server_random_seed = *reinterpret_cast<int*>( (char*)&fltTimeNow );
+ }
+ else
+ {
+ pCmd->server_random_seed = pCmd->random_seed;
+ }
+
ctx->cmds.AddToTail( *pCmd );
}
ctx->numcmds = numcmds;
@@ -7875,7 +7892,7 @@ void CMovementSpeedMod::InputSpeedMod(inputdata_t &data)
// Bring the weapon back
if ( HasSpawnFlags( SF_SPEED_MOD_SUPPRESS_WEAPONS ) && pPlayer->GetActiveWeapon() == NULL )
{
- pPlayer->SetActiveWeapon( pPlayer->Weapon_GetLast() );
+ pPlayer->SetActiveWeapon( pPlayer->GetLastWeapon() );
if ( pPlayer->GetActiveWeapon() )
{
pPlayer->GetActiveWeapon()->Deploy();
@@ -8857,8 +8874,6 @@ void CBasePlayer::SetPlayerName( const char *name )
Assert( strlen(name) > 0 );
Q_strncpy( m_szNetname, name, sizeof(m_szNetname) );
- // Be extra thorough
- Q_RemoveAllEvilCharacters( m_szNetname );
}
}
@@ -9386,4 +9401,4 @@ uint64 CBasePlayer::GetSteamIDAsUInt64( void )
return steamIDForPlayer.ConvertToUint64();
return 0;
}
-#endif // NO_STEAM \ No newline at end of file
+#endif // NO_STEAM