From 4fa6b0afa5601e245376623edc2d6a3b13eb5de3 Mon Sep 17 00:00:00 2001 From: Sara Date: Wed, 8 Jul 2026 22:17:11 +0200 Subject: [PATCH] feat: implemented weapon lead recentering --- modules/wave_survival/player_camera.cpp | 6 ++++++ modules/wave_survival/player_camera.h | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/wave_survival/player_camera.cpp b/modules/wave_survival/player_camera.cpp index 9c09fc88..232a98c1 100644 --- a/modules/wave_survival/player_camera.cpp +++ b/modules/wave_survival/player_camera.cpp @@ -73,6 +73,12 @@ void PlayerCamera::process(double delta) { update_offset(); this->fov_factor = 1.0; update_fov(); + this->weapon_lead_rotation = this->weapon_lead_rotation.move_toward(Vector3(), delta * this->weapon_lead_recenter_speed); + for (Variant child : get_children()) { + if (Node3D * child3d{ cast_to(child) }) { + child3d->set_rotation(this->weapon_lead_rotation); + } + } } void PlayerCamera::_notification(int what) { diff --git a/modules/wave_survival/player_camera.h b/modules/wave_survival/player_camera.h index 05e2fc37..5c7b42c1 100644 --- a/modules/wave_survival/player_camera.h +++ b/modules/wave_survival/player_camera.h @@ -34,8 +34,9 @@ private: double run_bob_amplitude_camera{ 0.045 }; double run_bob_frequency{ 12.0 }; double run_bob_blend_out{ 0.2 }; - double weapon_lead_limit{ Math::PI * 0.012 }; + double weapon_lead_limit{ Math::PI * 0.017 }; double weapon_lead_speed{ 0.12 }; + double weapon_lead_recenter_speed{ 0.0 }; Vector3 weapon_lead_rotation{ 0, 0, 0 }; };