From ab1f7d6f95346c7bf86dfbdfa015c7e850097918 Mon Sep 17 00:00:00 2001 From: oy Date: Tue, 5 Jul 2011 22:58:54 +0200 Subject: clamped information flow when moving as spectator in free-view. Closes #551 --- src/game/server/player.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/game/server/player.cpp') diff --git a/src/game/server/player.cpp b/src/game/server/player.cpp index 1f822524..3e4d7be5 100644 --- a/src/game/server/player.cpp +++ b/src/game/server/player.cpp @@ -60,6 +60,9 @@ void CPlayer::Tick() } } + if(!m_pCharacter && m_Team == TEAM_SPECTATORS && m_SpectatorID == SPEC_FREEVIEW) + m_ViewPos -= vec2(clamp(m_ViewPos.x-m_LatestActivity.m_TargetX, -5000.0f, 500.0f), clamp(m_ViewPos.y-m_LatestActivity.m_TargetY, -400.0f, 400.0f)); + if(!m_pCharacter && m_DieTick+Server()->TickSpeed()*3 <= Server()->Tick()) m_Spawning = true; @@ -193,9 +196,6 @@ void CPlayer::OnDirectInput(CNetObj_PlayerInput *NewInput) if(!m_pCharacter && m_Team != TEAM_SPECTATORS && (NewInput->m_Fire&1)) m_Spawning = true; - if(!m_pCharacter && m_Team == TEAM_SPECTATORS && m_SpectatorID == SPEC_FREEVIEW) - m_ViewPos = vec2(NewInput->m_TargetX, NewInput->m_TargetY); - // check for activity if(NewInput->m_Direction || m_LatestActivity.m_TargetX != NewInput->m_TargetX || m_LatestActivity.m_TargetY != NewInput->m_TargetY || NewInput->m_Jump || -- cgit 1.4.1 From b7aa8af7aada959f3cb1d57df4a7d8d83965c4ad Mon Sep 17 00:00:00 2001 From: Choupom Date: Sat, 23 Jul 2011 12:03:15 +0200 Subject: thats why magic values sux --- src/game/server/player.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/game/server/player.cpp') diff --git a/src/game/server/player.cpp b/src/game/server/player.cpp index 3e4d7be5..38baad75 100644 --- a/src/game/server/player.cpp +++ b/src/game/server/player.cpp @@ -61,7 +61,7 @@ void CPlayer::Tick() } if(!m_pCharacter && m_Team == TEAM_SPECTATORS && m_SpectatorID == SPEC_FREEVIEW) - m_ViewPos -= vec2(clamp(m_ViewPos.x-m_LatestActivity.m_TargetX, -5000.0f, 500.0f), clamp(m_ViewPos.y-m_LatestActivity.m_TargetY, -400.0f, 400.0f)); + m_ViewPos -= vec2(clamp(m_ViewPos.x-m_LatestActivity.m_TargetX, -500.0f, 500.0f), clamp(m_ViewPos.y-m_LatestActivity.m_TargetY, -400.0f, 400.0f)); if(!m_pCharacter && m_DieTick+Server()->TickSpeed()*3 <= Server()->Tick()) m_Spawning = true; -- cgit 1.4.1