From 136a93f6281b6add88ccb85c05685a8e4f29e65a Mon Sep 17 00:00:00 2001 From: lhofhansl Date: Fri, 7 Jul 2023 22:00:15 -0700 Subject: [PATCH] Reverse eye-offset Z-coordinate in 3rd person front view (#13369) --- src/client/camera.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/client/camera.cpp b/src/client/camera.cpp index 0871f30d5..e8517dd9c 100644 --- a/src/client/camera.cpp +++ b/src/client/camera.cpp @@ -374,10 +374,19 @@ void Camera::update(LocalPlayer* player, f32 frametime, f32 tool_reload_ratio) // Calculate and translate the head SceneNode offsets { v3f eye_offset = player->getEyeOffset(); - if (m_camera_mode == CAMERA_MODE_FIRST) + switch(m_camera_mode) { + case CAMERA_MODE_FIRST: eye_offset += player->eye_offset_first; - else + break; + case CAMERA_MODE_THIRD: eye_offset += player->eye_offset_third; + break; + case CAMERA_MODE_THIRD_FRONT: + eye_offset.X += player->eye_offset_third.X; + eye_offset.Y += player->eye_offset_third.Y; + eye_offset.Z -= player->eye_offset_third.Z; + break; + } // Set head node transformation eye_offset.Y += cameratilt * -player->hurt_tilt_strength + fall_bobbing;