Added player +USE animations

This commit is contained in:
Blixibon 2021-11-20 01:01:52 -06:00
parent 1d768e4816
commit fecddb3ecc
5 changed files with 93 additions and 0 deletions

View File

@ -2386,6 +2386,20 @@ void CAI_BaseNPC::InitDefaultActivitySR(void)
ADD_ACTIVITY_TO_SR( ACT_HL2MP_GESTURE_RANGE_ATTACK2_REVOLVER );
ADD_ACTIVITY_TO_SR( ACT_HL2MP_GESTURE_RELOAD_REVOLVER );
ADD_ACTIVITY_TO_SR( ACT_HL2MP_JUMP_REVOLVER );
ADD_ACTIVITY_TO_SR( ACT_HL2MP_IDLE_USE );
ADD_ACTIVITY_TO_SR( ACT_HL2MP_RUN_USE );
ADD_ACTIVITY_TO_SR( ACT_HL2MP_WALK_USE );
ADD_ACTIVITY_TO_SR( ACT_HL2MP_IDLE_CROUCH_USE );
ADD_ACTIVITY_TO_SR( ACT_HL2MP_WALK_CROUCH_USE );
ADD_ACTIVITY_TO_SR( ACT_HL2MP_JUMP_USE );
ADD_ACTIVITY_TO_SR( ACT_HL2MP_IDLE_USE_HEAVY );
ADD_ACTIVITY_TO_SR( ACT_HL2MP_RUN_USE_HEAVY );
ADD_ACTIVITY_TO_SR( ACT_HL2MP_WALK_USE_HEAVY );
ADD_ACTIVITY_TO_SR( ACT_HL2MP_IDLE_CROUCH_USE_HEAVY );
ADD_ACTIVITY_TO_SR( ACT_HL2MP_WALK_CROUCH_USE_HEAVY );
ADD_ACTIVITY_TO_SR( ACT_HL2MP_JUMP_USE_HEAVY );
#endif
}

View File

@ -1375,6 +1375,55 @@ void CHL2_Player::SpawnedAtPoint( CBaseEntity *pSpawnPoint )
//-----------------------------------------------------------------------------
ConVar player_use_anim_enabled( "player_carry_anim_enabled", "1" );
ConVar player_use_anim_heavy_mass( "player_carry_anim_heavy_mass", "20.0" );
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
Activity CHL2_Player::Weapon_TranslateActivity( Activity baseAct, bool *pRequired )
{
Activity weaponTranslation = BaseClass::Weapon_TranslateActivity( baseAct, pRequired );
#ifdef EXPANDED_HL2DM_ACTIVITIES
// +USE activities
if ( m_hUseEntity && player_use_anim_enabled.GetBool() )
{
CBaseEntity* pHeldEnt = GetPlayerHeldEntity( this );
float flMass = pHeldEnt ?
PlayerPickupGetHeldObjectMass( m_hUseEntity, pHeldEnt->VPhysicsGetObject() ) :
(m_hUseEntity->VPhysicsGetObject() ? m_hUseEntity->GetMass() : player_use_anim_heavy_mass.GetFloat());
if ( flMass >= player_use_anim_heavy_mass.GetFloat() )
{
// Heavy versions
switch (baseAct)
{
case ACT_HL2MP_IDLE: weaponTranslation = ACT_HL2MP_IDLE_USE_HEAVY; break;
case ACT_HL2MP_RUN: weaponTranslation = ACT_HL2MP_RUN_USE_HEAVY; break;
case ACT_HL2MP_WALK: weaponTranslation = ACT_HL2MP_WALK_USE_HEAVY; break;
case ACT_HL2MP_IDLE_CROUCH: weaponTranslation = ACT_HL2MP_IDLE_CROUCH_USE_HEAVY; break;
case ACT_HL2MP_WALK_CROUCH: weaponTranslation = ACT_HL2MP_WALK_CROUCH_USE_HEAVY; break;
case ACT_HL2MP_JUMP: weaponTranslation = ACT_HL2MP_JUMP_USE_HEAVY; break;
}
}
else
{
switch (baseAct)
{
case ACT_HL2MP_IDLE: weaponTranslation = ACT_HL2MP_IDLE_USE; break;
case ACT_HL2MP_RUN: weaponTranslation = ACT_HL2MP_RUN_USE; break;
case ACT_HL2MP_WALK: weaponTranslation = ACT_HL2MP_WALK_USE; break;
case ACT_HL2MP_IDLE_CROUCH: weaponTranslation = ACT_HL2MP_IDLE_CROUCH_USE; break;
case ACT_HL2MP_WALK_CROUCH: weaponTranslation = ACT_HL2MP_WALK_CROUCH_USE; break;
case ACT_HL2MP_JUMP: weaponTranslation = ACT_HL2MP_JUMP_USE; break;
}
}
}
#endif
return weaponTranslation;
}
#ifdef SP_ANIM_STATE
// Set the activity based on an event or current state
void CHL2_Player::SetAnimation( PLAYER_ANIM playerAnim )

View File

@ -132,6 +132,8 @@ public:
// For the logic_playerproxy output
void SpawnedAtPoint( CBaseEntity *pSpawnPoint );
Activity Weapon_TranslateActivity( Activity baseAct, bool *pRequired = NULL );
#ifdef SP_ANIM_STATE
void SetAnimation( PLAYER_ANIM playerAnim );

View File

@ -2502,6 +2502,20 @@ void ActivityList_RegisterSharedActivities( void )
REGISTER_SHARED_ACTIVITY( ACT_HL2MP_GESTURE_RANGE_ATTACK2_REVOLVER );
REGISTER_SHARED_ACTIVITY( ACT_HL2MP_GESTURE_RELOAD_REVOLVER );
REGISTER_SHARED_ACTIVITY( ACT_HL2MP_JUMP_REVOLVER );
REGISTER_SHARED_ACTIVITY( ACT_HL2MP_IDLE_USE );
REGISTER_SHARED_ACTIVITY( ACT_HL2MP_RUN_USE );
REGISTER_SHARED_ACTIVITY( ACT_HL2MP_WALK_USE );
REGISTER_SHARED_ACTIVITY( ACT_HL2MP_IDLE_CROUCH_USE );
REGISTER_SHARED_ACTIVITY( ACT_HL2MP_WALK_CROUCH_USE );
REGISTER_SHARED_ACTIVITY( ACT_HL2MP_JUMP_USE );
REGISTER_SHARED_ACTIVITY( ACT_HL2MP_IDLE_USE_HEAVY );
REGISTER_SHARED_ACTIVITY( ACT_HL2MP_RUN_USE_HEAVY );
REGISTER_SHARED_ACTIVITY( ACT_HL2MP_WALK_USE_HEAVY );
REGISTER_SHARED_ACTIVITY( ACT_HL2MP_IDLE_CROUCH_USE_HEAVY );
REGISTER_SHARED_ACTIVITY( ACT_HL2MP_WALK_CROUCH_USE_HEAVY );
REGISTER_SHARED_ACTIVITY( ACT_HL2MP_JUMP_USE_HEAVY );
#endif
AssertMsg( g_HighestActivity == LAST_SHARED_ACTIVITY - 1, "Not all activities from ai_activity.h registered in activitylist.cpp" );

View File

@ -2391,6 +2391,20 @@ typedef enum
ACT_HL2MP_GESTURE_RANGE_ATTACK2_REVOLVER,
ACT_HL2MP_GESTURE_RELOAD_REVOLVER,
ACT_HL2MP_JUMP_REVOLVER,
ACT_HL2MP_IDLE_USE,
ACT_HL2MP_RUN_USE,
ACT_HL2MP_WALK_USE,
ACT_HL2MP_IDLE_CROUCH_USE,
ACT_HL2MP_WALK_CROUCH_USE,
ACT_HL2MP_JUMP_USE,
ACT_HL2MP_IDLE_USE_HEAVY,
ACT_HL2MP_RUN_USE_HEAVY,
ACT_HL2MP_WALK_USE_HEAVY,
ACT_HL2MP_IDLE_CROUCH_USE_HEAVY,
ACT_HL2MP_WALK_CROUCH_USE_HEAVY,
ACT_HL2MP_JUMP_USE_HEAVY,
#endif
// this is the end of the global activities, private per-monster activities start here.