Beispiel #1
0
void C_ServerRagdoll::PostDataUpdate( DataUpdateType_t updateType )
{
	BaseClass::PostDataUpdate( updateType );

	m_iv_ragPos.NoteChanged( gpGlobals->curtime );
	m_iv_ragAngles.NoteChanged( gpGlobals->curtime );
}
Beispiel #2
0
void C_ServerRagdoll::PostDataUpdate( DataUpdateType_t updateType )
{
    BaseClass::PostDataUpdate( updateType );

    m_iv_ragPos.NoteChanged( gpGlobals->curtime, true );
    m_iv_ragAngles.NoteChanged( gpGlobals->curtime, true );
    // this is the local client time at which this update becomes stale
    m_flLastBoneChangeTime = gpGlobals->curtime + GetInterpolationAmount(m_iv_ragPos.GetType());
}
Beispiel #3
0
CStudioHdr *C_ServerRagdoll::OnNewModel( void )
{
	CStudioHdr *hdr = BaseClass::OnNewModel();

	if ( !m_elementCount )
	{
		vcollide_t *pCollide = modelinfo->GetVCollide( GetModelIndex() );
		if ( !pCollide )
		{
			const char *pszName = modelinfo->GetModelName( modelinfo->GetModel( GetModelIndex() ) );
			Msg( "*** ERROR: C_ServerRagdoll::InitModel: %s missing vcollide data ***\n", (pszName) ? pszName : "<null>" );
			m_elementCount = 0;
		}
		else
			m_elementCount = RagdollExtractBoneIndices( m_boneIndex, hdr, pCollide );
		m_iv_ragPos.SetMaxCount( m_elementCount );
		m_iv_ragAngles.SetMaxCount( m_elementCount );
	}

	return hdr;
}