From a37292d809fd46030448b5a54038323198955b07 Mon Sep 17 00:00:00 2001 From: copperpixel <48454166+copperpixel@users.noreply.github.com> Date: Fri, 28 Nov 2025 19:06:14 +0100 Subject: [PATCH 1/2] bone_setup: set default poseparams to 0.f if default state doesnt exist --- src/public/bone_setup.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/public/bone_setup.cpp b/src/public/bone_setup.cpp index dac6699f71a..45ba2acba0e 100644 --- a/src/public/bone_setup.cpp +++ b/src/public/bone_setup.cpp @@ -5074,13 +5074,13 @@ void Studio_CalcDefaultPoseParameters( const CStudioHdr *pStudioHdr, float flPos for ( int i = 0; i < nNumParams; ++i ) { - // Default to middle of the pose parameter range - flPoseParameter[ i ] = 0.5f; + // Default to start of the pose parameter range + flPoseParameter[ i ] = 0.f; if ( i < nPoseCount ) { const mstudioposeparamdesc_t &Pose = ((CStudioHdr *)pStudioHdr)->pPoseParameter( i ); - // Want to try for a zero state. If one doesn't exist set it to .5 by default. + // Want to try for a zero state. If one doesn't exist set it to 0.f by default. if ( Pose.start < 0.0f && Pose.end > 0.0f ) { float flPoseDelta = Pose.end - Pose.start; From 0ae8f67c438df34c193ea9a5649fe4d94e9ec633 Mon Sep 17 00:00:00 2001 From: copperpixel <48454166+copperpixel@users.noreply.github.com> Date: Fri, 28 Nov 2025 19:35:44 +0100 Subject: [PATCH 2/2] tf: fix only r_hand_grip resetting when setting poseparams from econ item schema --- src/game/client/tf/vgui/tf_playermodelpanel.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/game/client/tf/vgui/tf_playermodelpanel.cpp b/src/game/client/tf/vgui/tf_playermodelpanel.cpp index 29e2d018fed..88568fc9967 100644 --- a/src/game/client/tf/vgui/tf_playermodelpanel.cpp +++ b/src/game/client/tf/vgui/tf_playermodelpanel.cpp @@ -715,6 +715,7 @@ void CTFPlayerModelPanel::SwitchHeldItemTo( CEconItemView *pItem ) } // update poseparam + SetPoseParameters( NULL, 0 ); if ( pItem->GetStaticData()->GetNumPlayerPoseParameters( m_iTeam ) > 0 ) { for ( int iPlayerPoseParam=0; iPlayerPoseParam < pItem->GetStaticData()->GetNumPlayerPoseParameters( m_iTeam ); ++iPlayerPoseParam ) @@ -723,10 +724,6 @@ void CTFPlayerModelPanel::SwitchHeldItemTo( CEconItemView *pItem ) SetPoseParameterByName( pPoseParam->strName, pPoseParam->flValue ); } } - else - { - SetPoseParameterByName( "r_hand_grip", 0.f ); - } // Clear out taunt particles if ( bRemoveTauntParticles && m_aParticleSystems[SYSTEM_TAUNT] )