From bc7127ef7dfa21bcf36048c533365f7919946f33 Mon Sep 17 00:00:00 2001 From: MarcEricMartel Date: Fri, 24 Nov 2023 12:41:20 -0500 Subject: [PATCH] Eh baswell --- SQCSim-common/player.cpp | 2 + SQCSim-common/player.h | 1 + SQCSim2021/engine.cpp | 2 +- SQCSim2021/remoteplayer.cpp | 77 +++++++++++++++++++------------------ 4 files changed, 44 insertions(+), 38 deletions(-) diff --git a/SQCSim-common/player.cpp b/SQCSim-common/player.cpp index b88ba18..a2121b2 100644 --- a/SQCSim-common/player.cpp +++ b/SQCSim-common/player.cpp @@ -248,6 +248,8 @@ void Player::SetDirection(Vector3f dir) { m_direction = dir; } Vector3f Player::GetPosition() const { return Vector3f(m_position.x + CHUNK_SIZE_X * WORLD_SIZE_X / 2, m_position.y, m_position.z + CHUNK_SIZE_Z * WORLD_SIZE_Y / 2); } +Vector3f Player::GetPositionAbs() const { return m_position; } + Vector3f Player::GetVelocity() const { return m_velocity; } Vector3f Player::GetPOV() const { return Vector3f(GetPosition().x, m_POV, GetPosition().z); } diff --git a/SQCSim-common/player.h b/SQCSim-common/player.h index 4792d4a..fef47e0 100644 --- a/SQCSim-common/player.h +++ b/SQCSim-common/player.h @@ -26,6 +26,7 @@ public: void SetDirection(Vector3f dir); Vector3f GetPosition() const; + Vector3f GetPositionAbs() const; Vector3f GetDirection() const; Vector3f GetVelocity() const; Vector3f GetPOV() const; diff --git a/SQCSim2021/engine.cpp b/SQCSim2021/engine.cpp index eb08db0..0bdc84a 100644 --- a/SQCSim2021/engine.cpp +++ b/SQCSim2021/engine.cpp @@ -1248,7 +1248,7 @@ void Engine::Render(float elapsedTime) { sync_acc -= 1000; sync.sid = id; sync.timestamp = tstamp; - sync.position = m_player.GetPosition(); + sync.position = m_player.GetPositionAbs(); sync.hp = m_player.GetHP(); // TODO: Garrocher ca quelque-part. diff --git a/SQCSim2021/remoteplayer.cpp b/SQCSim2021/remoteplayer.cpp index c2247ba..149d74e 100644 --- a/SQCSim2021/remoteplayer.cpp +++ b/SQCSim2021/remoteplayer.cpp @@ -33,48 +33,51 @@ void RemotePlayer::Init() void RemotePlayer::Feed(const netprot::Output out) { - //current.position = out.position; - //current.direction = out.direction; - //current.states = out.states; - //current.id = out.id; + current.position = out.position; + current.direction = out.direction; + current.states = out.states; + current.id = out.id; - //if (current.position != previous.position) - //{ - // Vector3f positionDelta = current.position - previous.position; - // m_position = current.position + positionDelta; - // m_direction = current.direction; + if (current.position != previous.position) + { + Vector3f positionDelta = current.position - previous.position; + m_position = current.position + positionDelta; + m_direction = current.direction; - //} + } - //if(current.direction != previous.direction) - //{ - // m_direction = current.direction; - // current.direction = current.direction; - //} + if(current.direction != previous.direction) + { + m_direction = current.direction; + current.direction = current.direction; + } - //if (current.states.shooting) { - // m_animstate = Anim::SHOOTING; - //} - //else if (current.states.jumping) { - // m_animstate = Anim::JUMPING; - //} - //else if (current.states.dead) { - // m_animstate = Anim::DEAD; - //} - //else if(current.states.powerup){ - // m_animstate = Anim::POWERUP; - //} - //else if (current.states.still) { - // m_animstate = Anim::STILL; - //} - //else if (current.states.running) { - // m_animstate = Anim::RUNNING; - //} + if (current.states.shooting) { + m_animstate = Anim::SHOOTING; + } + else if (current.states.jumping) { + m_animstate = Anim::JUMPING; + } + else if (current.states.dead) { + m_animstate = Anim::DEAD; + } + else if(current.states.powerup){ + m_animstate = Anim::POWERUP; + } + else if (current.states.still) { + m_animstate = Anim::STILL; + } + else if (current.states.running) { + m_animstate = Anim::RUNNING; + } - //previous.direction = current.direction; - //previous.position = current.position; - //previous.states = current.states; - //previous.id = current.id; + previous.direction = current.direction; + previous.position = current.position; + previous.states = current.states; + previous.id = current.id; + + m_direction = current.direction; + m_position = current.position; } void RemotePlayer::Render(TextureAtlas& atlas, Shader& shader, Transformation tran, float elapsedTime)