mirror of
https://github.com/mapbase-source/source-sdk-2013.git
synced 2025-01-26 13:47:56 +03:00
Exposed CBaseAnimatingOverlay to VScript
This commit is contained in:
parent
138d6c52aa
commit
046296569d
@ -57,6 +57,45 @@ BEGIN_DATADESC( CBaseAnimatingOverlay )
|
||||
|
||||
END_DATADESC()
|
||||
|
||||
#ifdef MAPBASE_VSCRIPT
|
||||
BEGIN_ENT_SCRIPTDESC( CBaseAnimatingOverlay, CBaseAnimating, "Animating models which support dynamic animation layers/overlays." )
|
||||
|
||||
DEFINE_SCRIPTFUNC( GetNumAnimOverlays, "Gets the current number of animation layers." )
|
||||
DEFINE_SCRIPTFUNC( RemoveAllGestures, "Removes all animation layers." )
|
||||
|
||||
DEFINE_SCRIPTFUNC( IsValidLayer, "Returns true if the specified layer index is valid." )
|
||||
DEFINE_SCRIPTFUNC( HasActiveLayer, "Returns true if there is currently an active layer." )
|
||||
DEFINE_SCRIPTFUNC( RemoveLayer, "Removes the specified layer index with the specified kill rate and delay." )
|
||||
DEFINE_SCRIPTFUNC( FastRemoveLayer, "Removes the specified layer index immediately." )
|
||||
|
||||
DEFINE_SCRIPTFUNC_NAMED( ScriptAddGesture, "AddGesture", "Adds a new animation layer using the specified activity name." )
|
||||
DEFINE_SCRIPTFUNC_NAMED( ScriptAddGestureID, "AddGestureID", "Adds a new animation layer using the specified activity index." )
|
||||
DEFINE_SCRIPTFUNC_NAMED( ScriptAddGestureSequence, "AddGestureSequence", "Adds a new animation layer using the specified activity name." )
|
||||
DEFINE_SCRIPTFUNC_NAMED( ScriptAddGestureSequenceID, "AddGestureSequenceID", "Adds a new animation layer using the specified sequence index." )
|
||||
|
||||
DEFINE_SCRIPTFUNC_NAMED( ScriptFindGestureLayer, "FindGestureLayer", "Finds and returns the first active animation layer which uses the specified activity name." )
|
||||
DEFINE_SCRIPTFUNC_NAMED( ScriptFindGestureLayerByID, "FindGestureLayerByID", "Finds and returns the first active animation layer which uses the specified activity index." )
|
||||
|
||||
DEFINE_SCRIPTFUNC_NAMED( ScriptGetLayerActivity, "GetLayerActivity", "Gets the activity name of the specified layer index." )
|
||||
DEFINE_SCRIPTFUNC_NAMED( ScriptGetLayerActivityID, "GetLayerActivityID", "Gets the activity index of the specified layer index." )
|
||||
DEFINE_SCRIPTFUNC( GetLayerSequence, "Gets the sequence index of the specified layer index." )
|
||||
DEFINE_SCRIPTFUNC( SetLayerDuration, "Sets the duration of the specified layer index." )
|
||||
DEFINE_SCRIPTFUNC( GetLayerDuration, "Gets the duration of the specified layer index." )
|
||||
DEFINE_SCRIPTFUNC_NAMED( ScriptSetLayerCycle, "SetLayerCycle", "Sets the cycle of the specified layer index." )
|
||||
DEFINE_SCRIPTFUNC( GetLayerCycle, "Gets the cycle of the specified layer index." )
|
||||
DEFINE_SCRIPTFUNC( SetLayerPlaybackRate, "Sets the playback rate of the specified layer index." )
|
||||
DEFINE_SCRIPTFUNC( SetLayerWeight, "Sets the weight of the specified layer index." )
|
||||
DEFINE_SCRIPTFUNC( GetLayerWeight, "Gets the weight of the specified layer index." )
|
||||
DEFINE_SCRIPTFUNC( SetLayerBlendIn, "Sets the fade-in of the specified layer index, with the fade being a 0-1 fraction of the cycle." )
|
||||
DEFINE_SCRIPTFUNC( SetLayerBlendOut, "Sets the fade-out of the specified layer index, with the fade being a 0-1 fraction of the cycle." )
|
||||
DEFINE_SCRIPTFUNC( SetLayerAutokill, "Sets whether or not the specified layer index should remove itself when it's finished playing." )
|
||||
DEFINE_SCRIPTFUNC( SetLayerLooping, "Sets whether or not the specified layer index should loop." )
|
||||
DEFINE_SCRIPTFUNC( SetLayerNoRestore, "Sets whether or not the specified layer index should restore after a save is loaded." )
|
||||
DEFINE_SCRIPTFUNC( SetLayerNoEvents, "Sets whether or not the specified layer index should fire animation events." )
|
||||
|
||||
END_SCRIPTDESC();
|
||||
#endif
|
||||
|
||||
|
||||
#define ORDER_BITS 4
|
||||
#define WEIGHT_BITS 8
|
||||
@ -354,7 +393,11 @@ void CBaseAnimatingOverlay::DispatchAnimEvents ( CBaseAnimating *eventHandler )
|
||||
|
||||
for ( int i = 0; i < m_AnimOverlay.Count(); i++ )
|
||||
{
|
||||
#ifdef MAPBASE // From Alien Swarm SDK
|
||||
if (m_AnimOverlay[ i ].IsActive() && !m_AnimOverlay[ i ].NoEvents())
|
||||
#else
|
||||
if (m_AnimOverlay[ i ].IsActive())
|
||||
#endif
|
||||
{
|
||||
m_AnimOverlay[ i ].DispatchAnimEvents( eventHandler, this );
|
||||
}
|
||||
@ -1052,6 +1095,27 @@ void CBaseAnimatingOverlay::SetLayerNoRestore( int iLayer, bool bNoRestore )
|
||||
}
|
||||
|
||||
|
||||
#ifdef MAPBASE // From Alien Swarm SDK
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
void CBaseAnimatingOverlay::SetLayerNoEvents( int iLayer, bool bNoEvents )
|
||||
{
|
||||
if (!IsValidLayer( iLayer ))
|
||||
return;
|
||||
|
||||
if (bNoEvents)
|
||||
{
|
||||
m_AnimOverlay[iLayer].m_fFlags |= ANIM_LAYER_NOEVENTS;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_AnimOverlay[iLayer].m_fFlags &= ~ANIM_LAYER_NOEVENTS;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
@ -1149,4 +1213,36 @@ bool CBaseAnimatingOverlay::HasActiveLayer( void )
|
||||
return false;
|
||||
}
|
||||
|
||||
#ifdef MAPBASE_VSCRIPT
|
||||
int CBaseAnimatingOverlay::ScriptAddGesture( const char *pszActivity, bool autokill )
|
||||
{
|
||||
return AddGesture( (Activity)CAI_BaseNPC::GetActivityID( pszActivity ), autokill );
|
||||
}
|
||||
|
||||
int CBaseAnimatingOverlay::ScriptAddGestureID( int iActivity, bool autokill )
|
||||
{
|
||||
return AddGesture( (Activity)iActivity, autokill );
|
||||
}
|
||||
|
||||
int CBaseAnimatingOverlay::ScriptFindGestureLayer( const char *pszActivity )
|
||||
{
|
||||
return FindGestureLayer( (Activity)CAI_BaseNPC::GetActivityID( pszActivity ) );
|
||||
}
|
||||
|
||||
int CBaseAnimatingOverlay::ScriptFindGestureLayerByID( int iActivity )
|
||||
{
|
||||
return FindGestureLayer( (Activity)iActivity );
|
||||
}
|
||||
|
||||
const char *CBaseAnimatingOverlay::ScriptGetLayerActivity( int iLayer )
|
||||
{
|
||||
return CAI_BaseNPC::GetActivityName( GetLayerActivity( iLayer ) );
|
||||
}
|
||||
|
||||
int CBaseAnimatingOverlay::ScriptGetLayerActivityID( int iLayer )
|
||||
{
|
||||
return GetLayerActivity( iLayer );
|
||||
}
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
@ -43,6 +43,9 @@ public:
|
||||
#define ANIM_LAYER_DONTRESTORE 0x0008
|
||||
#define ANIM_LAYER_CHECKACCESS 0x0010
|
||||
#define ANIM_LAYER_DYING 0x0020
|
||||
#ifdef MAPBASE // From Alien Swarm SDK
|
||||
#define ANIM_LAYER_NOEVENTS 0x0040
|
||||
#endif
|
||||
|
||||
int m_fFlags;
|
||||
|
||||
@ -80,6 +83,9 @@ public:
|
||||
void Dying( void ) { m_fFlags |= ANIM_LAYER_DYING; }
|
||||
bool IsDying( void ) { return ((m_fFlags & ANIM_LAYER_DYING) != 0); }
|
||||
void Dead( void ) { m_fFlags &= ~ANIM_LAYER_DYING; }
|
||||
#ifdef MAPBASE // From Alien Swarm SDK
|
||||
bool NoEvents( void ) { return ((m_fFlags & ANIM_LAYER_NOEVENTS) != 0); }
|
||||
#endif
|
||||
|
||||
bool IsAbandoned( void );
|
||||
void MarkActive( void );
|
||||
@ -175,6 +181,9 @@ public:
|
||||
void SetLayerAutokill( int iLayer, bool bAutokill );
|
||||
void SetLayerLooping( int iLayer, bool bLooping );
|
||||
void SetLayerNoRestore( int iLayer, bool bNoRestore );
|
||||
#ifdef MAPBASE // From Alien Swarm SDK
|
||||
void SetLayerNoEvents( int iLayer, bool bNoEvents );
|
||||
#endif
|
||||
|
||||
Activity GetLayerActivity( int iLayer );
|
||||
int GetLayerSequence( int iLayer );
|
||||
@ -195,9 +204,26 @@ public:
|
||||
private:
|
||||
int AllocateLayer( int iPriority = 0 ); // lower priorities are processed first
|
||||
|
||||
#ifdef MAPBASE_VSCRIPT
|
||||
int ScriptAddGesture( const char *pszActivity, bool autokill );
|
||||
int ScriptAddGestureID( int iActivity, bool autokill );
|
||||
int ScriptAddGestureSequence( const char *pszSequence, bool autokill ) { return AddGestureSequence( LookupSequence( pszSequence ), autokill ); }
|
||||
int ScriptAddGestureSequenceID( int iSequence, bool autokill ) { return AddGestureSequence( iSequence, autokill ); }
|
||||
|
||||
int ScriptFindGestureLayer( const char *pszActivity );
|
||||
int ScriptFindGestureLayerByID( int iActivity );
|
||||
const char *ScriptGetLayerActivity( int iLayer );
|
||||
int ScriptGetLayerActivityID( int iLayer );
|
||||
|
||||
void ScriptSetLayerCycle( int iLayer, float flCycle ) { SetLayerCycle( iLayer, flCycle ); }
|
||||
#endif
|
||||
|
||||
DECLARE_SERVERCLASS();
|
||||
DECLARE_DATADESC();
|
||||
DECLARE_PREDICTABLE();
|
||||
#ifdef MAPBASE_VSCRIPT
|
||||
DECLARE_ENT_SCRIPTDESC();
|
||||
#endif
|
||||
};
|
||||
|
||||
EXTERN_SEND_TABLE(DT_BaseAnimatingOverlay);
|
||||
|
@ -101,8 +101,8 @@ END_DATADESC()
|
||||
#ifdef MAPBASE_VSCRIPT
|
||||
BEGIN_ENT_SCRIPTDESC( CAI_BaseActor, CAI_BaseNPC, "The base class for NPCs which act in complex choreo scenes." )
|
||||
|
||||
DEFINE_SCRIPTFUNC_NAMED( ScriptAddLookTarget, "AddLookTarget", "Add a potential look target for this actor." )
|
||||
DEFINE_SCRIPTFUNC_NAMED( ScriptAddLookTargetPos, "AddLookTargetPos", "Add a potential look target position for this actor." )
|
||||
DEFINE_SCRIPTFUNC_NAMED( ScriptAddLookTarget, "AddLookTarget", "Add a potential look target for this actor with the specified importance, duration, and ramp." )
|
||||
DEFINE_SCRIPTFUNC_NAMED( ScriptAddLookTargetPos, "AddLookTargetPos", "Add a potential look target position for this actor with the specified importance, duration, and ramp." )
|
||||
|
||||
END_SCRIPTDESC();
|
||||
#endif
|
||||
|
@ -95,7 +95,11 @@ BEGIN_DATADESC( CBaseFlex )
|
||||
|
||||
END_DATADESC()
|
||||
|
||||
#ifdef MAPBASE_VSCRIPT
|
||||
BEGIN_ENT_SCRIPTDESC( CBaseFlex, CBaseAnimatingOverlay, "Animated characters who have vertex flex capability." )
|
||||
#else
|
||||
BEGIN_ENT_SCRIPTDESC( CBaseFlex, CBaseAnimating, "Animated characters who have vertex flex capability." )
|
||||
#endif
|
||||
DEFINE_SCRIPTFUNC_NAMED( ScriptGetOldestScene, "GetCurrentScene", "Returns the instance of the oldest active scene entity (if any)." )
|
||||
DEFINE_SCRIPTFUNC_NAMED( ScriptGetSceneByIndex, "GetSceneByIndex", "Returns the instance of the scene entity at the specified index." )
|
||||
END_SCRIPTDESC();
|
||||
|
Loading…
x
Reference in New Issue
Block a user