From a6129fffb8501c148aebdb55abf1c495687bf594 Mon Sep 17 00:00:00 2001 From: AdamTadeusz Date: Tue, 7 Apr 2026 11:51:53 +0100 Subject: [PATCH 1/3] init --- src/game/client/hltvcamera.cpp | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/game/client/hltvcamera.cpp b/src/game/client/hltvcamera.cpp index b3b39ba8a..e43acf5f4 100644 --- a/src/game/client/hltvcamera.cpp +++ b/src/game/client/hltvcamera.cpp @@ -313,6 +313,9 @@ C_BaseEntity *C_HLTVCamera::GetCameraMan() return ClientEntityList().GetEnt( m_iCameraMan ); } +#ifdef NEO +extern ConVar cl_neo_lean_viewmodel_only; +#endif // NEO void C_HLTVCamera::CalcInEyeCamView( Vector& eyeOrigin, QAngle& eyeAngles, float& fov ) { #ifdef NEO @@ -331,26 +334,28 @@ void C_HLTVCamera::CalcInEyeCamView( Vector& eyeOrigin, QAngle& eyeAngles, float return; } +#ifdef NEO + m_aCamAngle = pPlayer->EyeAngles(); + if (cl_neo_lean_viewmodel_only.GetBool()) + { + m_aCamAngle.z = 0.f; + } + m_vCamOrigin = pPlayer->EyePosition(); + m_flFOV = pPlayer->GetFOV(); +#else m_aCamAngle = pPlayer->EyeAngles(); m_vCamOrigin = pPlayer->GetAbsOrigin(); m_flFOV = pPlayer->GetFOV(); if ( pPlayer->GetFlags() & FL_DUCKING ) { -#ifdef NEO - m_vCamOrigin += VEC_DUCK_VIEW_NEOSCALE(pPlayer); -#else m_vCamOrigin += VEC_DUCK_VIEW; -#endif // NEO } else { -#ifdef NEO - m_vCamOrigin += VEC_VIEW_NEOSCALE(pPlayer); -#else m_vCamOrigin += VEC_VIEW; -#endif // NEO } +#endif // NEO eyeOrigin = m_vCamOrigin; eyeAngles = m_aCamAngle; From 94115b8299e4030c5b39f707268b2e8c92930377 Mon Sep 17 00:00:00 2001 From: AdamTadeusz Date: Tue, 7 Apr 2026 11:52:44 +0100 Subject: [PATCH 2/3] ragdoll check --- src/game/client/hltvcamera.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/game/client/hltvcamera.cpp b/src/game/client/hltvcamera.cpp index e43acf5f4..a05cabc42 100644 --- a/src/game/client/hltvcamera.cpp +++ b/src/game/client/hltvcamera.cpp @@ -336,7 +336,7 @@ void C_HLTVCamera::CalcInEyeCamView( Vector& eyeOrigin, QAngle& eyeAngles, float #ifdef NEO m_aCamAngle = pPlayer->EyeAngles(); - if (cl_neo_lean_viewmodel_only.GetBool()) + if (cl_neo_lean_viewmodel_only.GetBool() && !pPlayer->IsRagdoll()) { m_aCamAngle.z = 0.f; } From bdd303b0d83651a15ddf109530b52decc34b61f2 Mon Sep 17 00:00:00 2001 From: AdamTadeusz Date: Tue, 7 Apr 2026 11:56:57 +0100 Subject: [PATCH 3/3] comment --- src/game/client/hltvcamera.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/game/client/hltvcamera.cpp b/src/game/client/hltvcamera.cpp index a05cabc42..04109bd84 100644 --- a/src/game/client/hltvcamera.cpp +++ b/src/game/client/hltvcamera.cpp @@ -336,7 +336,7 @@ void C_HLTVCamera::CalcInEyeCamView( Vector& eyeOrigin, QAngle& eyeAngles, float #ifdef NEO m_aCamAngle = pPlayer->EyeAngles(); - if (cl_neo_lean_viewmodel_only.GetBool() && !pPlayer->IsRagdoll()) + if (cl_neo_lean_viewmodel_only.GetBool() && !pPlayer->IsRagdoll()) // we get kicked out of first person view when dying right now but still worth a check in case that changes { m_aCamAngle.z = 0.f; }