aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/client/c_baseanimating.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/game/client/c_baseanimating.cpp')
-rw-r--r--mp/src/game/client/c_baseanimating.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/mp/src/game/client/c_baseanimating.cpp b/mp/src/game/client/c_baseanimating.cpp
index c71d2682..c7cc08b4 100644
--- a/mp/src/game/client/c_baseanimating.cpp
+++ b/mp/src/game/client/c_baseanimating.cpp
@@ -1013,7 +1013,9 @@ CStudioHdr *C_BaseAnimating::OnNewModel()
{
// XXX what's authoritative? the model pointer or the model index? what a mess.
nNewIndex = modelinfo->GetModelIndex( modelinfo->GetModelName( GetModel() ) );
- Assert( modelinfo->GetModel( nNewIndex ) == GetModel() );
+ Assert( nNewIndex < 0 || modelinfo->GetModel( nNewIndex ) == GetModel() );
+ if ( nNewIndex < 0 )
+ nNewIndex = m_nModelIndex;
}
m_AutoRefModelIndex = nNewIndex;
@@ -5099,7 +5101,7 @@ void C_BaseAnimating::StudioFrameAdvance()
SetCycle( flNewCycle );
- m_flGroundSpeed = GetSequenceGroundSpeed( hdr, GetSequence() );
+ m_flGroundSpeed = GetSequenceGroundSpeed( hdr, GetSequence() ) * GetModelScale();
#if 0
// I didn't have a test case for this, but it seems like the right thing to do. Check multi-player!
@@ -5289,7 +5291,7 @@ void C_BaseAnimating::ResetSequenceInfo( void )
}
CStudioHdr *pStudioHdr = GetModelPtr();
- m_flGroundSpeed = GetSequenceGroundSpeed( pStudioHdr, GetSequence() );
+ m_flGroundSpeed = GetSequenceGroundSpeed( pStudioHdr, GetSequence() ) * GetModelScale();
m_bSequenceLoops = ((GetSequenceFlags( pStudioHdr, GetSequence() ) & STUDIO_LOOPING) != 0);
// m_flAnimTime = gpGlobals->time;
m_flPlaybackRate = 1.0;