mirror of
https://github.com/mapbase-source/source-sdk-2013.git
synced 2025-01-26 13:47:56 +03:00
Added various misc. stubs and utility code from the Alien Swarm SDK
This commit is contained in:
parent
051a217670
commit
6392d9ab7c
@ -4808,12 +4808,18 @@ void C_BaseAnimating::GetRagdollInitBoneArrays( matrix3x4_t *pDeltaBones0, matri
|
||||
}
|
||||
}
|
||||
|
||||
C_ClientRagdoll *C_BaseAnimating::CreateClientRagdoll( bool bRestoring )
|
||||
{
|
||||
//DevMsg( "Creating ragdoll at tick %d\n", gpGlobals->tickcount );
|
||||
return new C_ClientRagdoll( bRestoring );
|
||||
}
|
||||
|
||||
C_BaseAnimating *C_BaseAnimating::CreateRagdollCopy()
|
||||
{
|
||||
//Adrian: We now create a separate entity that becomes this entity's ragdoll.
|
||||
//That way the server side version of this entity can go away.
|
||||
//Plus we can hook save/restore code to these ragdolls so they don't fall on restore anymore.
|
||||
C_ClientRagdoll *pRagdoll = new C_ClientRagdoll( false );
|
||||
C_ClientRagdoll *pRagdoll = CreateClientRagdoll( false );
|
||||
if ( pRagdoll == NULL )
|
||||
return NULL;
|
||||
|
||||
@ -5366,6 +5372,11 @@ void C_BaseAnimating::StudioFrameAdvance()
|
||||
|
||||
if ( flNewCycle < 0.0f || flNewCycle >= 1.0f )
|
||||
{
|
||||
if (flNewCycle >= 1.0f)
|
||||
{
|
||||
ReachedEndOfSequence();
|
||||
}
|
||||
|
||||
if ( IsSequenceLooping( hdr, GetSequence() ) )
|
||||
{
|
||||
flNewCycle -= (int)(flNewCycle);
|
||||
|
@ -38,6 +38,7 @@ class C_BaseClientShader
|
||||
*/
|
||||
|
||||
class IRagdoll;
|
||||
class C_ClientRagdoll;
|
||||
class CIKContext;
|
||||
class CIKState;
|
||||
class ConVar;
|
||||
@ -301,6 +302,7 @@ public:
|
||||
bool IsRagdoll() const;
|
||||
bool IsAboutToRagdoll() const;
|
||||
virtual C_BaseAnimating *BecomeRagdollOnClient();
|
||||
virtual C_ClientRagdoll *CreateClientRagdoll( bool bRestoring = false );
|
||||
C_BaseAnimating *CreateRagdollCopy();
|
||||
bool InitAsClientRagdoll( const matrix3x4_t *pDeltaBones0, const matrix3x4_t *pDeltaBones1, const matrix3x4_t *pCurrentBonePosition, float boneDt, bool bFixedConstraints=false );
|
||||
void IgniteRagdoll( C_BaseAnimating *pSource );
|
||||
@ -354,6 +356,8 @@ public:
|
||||
void ClientSideAnimationChanged();
|
||||
virtual unsigned int ComputeClientSideAnimationFlags();
|
||||
|
||||
virtual void ReachedEndOfSequence() { return; }
|
||||
|
||||
virtual void ResetClientsideFrame( void ) { SetCycle( 0 ); }
|
||||
|
||||
void SetCycle( float flCycle );
|
||||
|
@ -667,6 +667,7 @@ public:
|
||||
|
||||
virtual bool ShouldAlwaysThink();
|
||||
void ForceGatherConditions() { m_bForceConditionsGather = true; SetEfficiency( AIE_NORMAL ); } // Force an NPC out of PVS to call GatherConditions on next think
|
||||
bool IsForceGatherConditionsSet() { return m_bForceConditionsGather; }
|
||||
|
||||
virtual float LineOfSightDist( const Vector &vecDir = vec3_invalid, float zEye = FLT_MAX );
|
||||
|
||||
@ -960,7 +961,7 @@ public:
|
||||
void RemoveSleepFlags( int flags ) { m_SleepFlags &= ~flags; }
|
||||
bool HasSleepFlags( int flags ) { return (m_SleepFlags & flags) == flags; }
|
||||
|
||||
void UpdateSleepState( bool bInPVS );
|
||||
virtual void UpdateSleepState( bool bInPVS );
|
||||
virtual void Wake( bool bFireOutput = true );
|
||||
#ifdef MAPBASE
|
||||
// A version of Wake() that takes an activator
|
||||
|
@ -506,6 +506,11 @@ void CBaseAnimating::StudioFrameAdvanceInternal( CStudioHdr *pStudioHdr, float f
|
||||
float flNewCycle = GetCycle() + flCycleDelta;
|
||||
if (flNewCycle < 0.0 || flNewCycle >= 1.0)
|
||||
{
|
||||
if (flNewCycle >= 1.0f)
|
||||
{
|
||||
ReachedEndOfSequence();
|
||||
}
|
||||
|
||||
if (m_bSequenceLoops)
|
||||
{
|
||||
flNewCycle -= (int)(flNewCycle);
|
||||
|
@ -84,6 +84,7 @@ public:
|
||||
virtual void StudioFrameAdvance(); // advance animation frame to some time in the future
|
||||
void StudioFrameAdvanceManual( float flInterval );
|
||||
bool IsValidSequence( int iSequence );
|
||||
virtual void ReachedEndOfSequence() { return; }
|
||||
|
||||
inline float GetPlaybackRate();
|
||||
inline void SetPlaybackRate( float rate );
|
||||
|
Loading…
x
Reference in New Issue
Block a user