diff options
Diffstat (limited to 'src/game/server')
| -rw-r--r-- | src/game/server/entities/character.cpp | 5 | ||||
| -rw-r--r-- | src/game/server/entities/character.h | 2 | ||||
| -rw-r--r-- | src/game/server/player.cpp | 11 | ||||
| -rw-r--r-- | src/game/server/player.h | 6 |
4 files changed, 16 insertions, 8 deletions
diff --git a/src/game/server/entities/character.cpp b/src/game/server/entities/character.cpp index 1221d438..ddd416d1 100644 --- a/src/game/server/entities/character.cpp +++ b/src/game/server/entities/character.cpp @@ -54,7 +54,6 @@ void CCharacter::Reset() bool CCharacter::Spawn(CPlayer *pPlayer, vec2 Pos) { - m_PlayerState = PLAYERSTATE_UNKNOWN; m_EmoteStop = -1; m_LastAction = -1; m_ActiveWeapon = WEAPON_GUN; @@ -559,8 +558,6 @@ void CCharacter::Tick() // handle Weapons HandleWeapons(); - m_PlayerState = m_Input.m_PlayerState; - // Previnput m_PrevInput = m_Input; return; @@ -839,5 +836,5 @@ void CCharacter::Snap(int SnappingClient) pCharacter->m_Emote = EMOTE_BLINK; } - pCharacter->m_PlayerState = m_PlayerState; + pCharacter->m_PlayerFlags = GetPlayer()->m_PlayerFlags; } diff --git a/src/game/server/entities/character.h b/src/game/server/entities/character.h index 6346570f..b874fd0c 100644 --- a/src/game/server/entities/character.h +++ b/src/game/server/entities/character.h @@ -120,8 +120,6 @@ private: } m_Ninja; - int m_PlayerState;// if the client is chatting, accessing a menu or so - // the player core for the physics CCharacterCore m_Core; diff --git a/src/game/server/player.cpp b/src/game/server/player.cpp index 32eec986..573d996d 100644 --- a/src/game/server/player.cpp +++ b/src/game/server/player.cpp @@ -99,8 +99,13 @@ void CPlayer::Snap(int SnappingClient) if(!pPlayerInfo) return; - pPlayerInfo->m_Latency = m_Latency.m_Min; - pPlayerInfo->m_LatencyFlux = m_Latency.m_Max-m_Latency.m_Min; + // update latency value + if(SnappingClient != -1 && m_Team != -1 && GameServer()->m_apPlayers[SnappingClient]->m_PlayerFlags&PLAYERFLAG_SCOREBOARD) + { + GameServer()->m_apPlayers[SnappingClient]->m_aActLatency[m_ClientID] = m_Latency.m_Min; + } + + pPlayerInfo->m_Latency = SnappingClient == -1 ? m_Latency.m_Min : GameServer()->m_apPlayers[SnappingClient]->m_aActLatency[m_ClientID]; pPlayerInfo->m_Local = 0; pPlayerInfo->m_ClientID = m_ClientID; pPlayerInfo->m_Score = m_Score; @@ -133,6 +138,8 @@ void CPlayer::OnPredictedInput(CNetObj_PlayerInput *NewInput) void CPlayer::OnDirectInput(CNetObj_PlayerInput *NewInput) { + m_PlayerFlags = NewInput->m_PlayerFlags; + if(Character) Character->OnDirectInput(NewInput); diff --git a/src/game/server/player.h b/src/game/server/player.h index fbbf5567..f4d82d24 100644 --- a/src/game/server/player.h +++ b/src/game/server/player.h @@ -37,6 +37,12 @@ public: //--------------------------------------------------------- // this is used for snapping so we know how we can clip the view for the player vec2 m_ViewPos; + + // states if the client is chatting, accessing a menu etc. + int m_PlayerFlags; + + // used for snapping to just update latency if the scoreboard is active + int m_aActLatency[MAX_CLIENTS]; // int m_Vote; |