Added optional new activities for unused HL2 weapons included in the Source SDK (deactivated by default)

This commit is contained in:
Blixibon
2021-11-20 20:49:24 -06:00
parent d2fdfd3fe1
commit 4e3287842e
8 changed files with 647 additions and 3 deletions

View File

@@ -46,6 +46,10 @@ static int g_nZoomFOV[] =
5
};
#ifdef MAPBASE
extern acttable_t *GetAR2Acttable();
extern int GetAR2ActtableCount();
#endif
class CWeaponSniperRifle : public CBaseHLCombatWeapon
{
@@ -72,6 +76,11 @@ public:
void Operator_HandleAnimEvent( animevent_t *pEvent, CBaseCombatCharacter *pOperator );
#ifdef MAPBSAE
virtual acttable_t *GetBackupActivityList() { return GetAR2Acttable(); }
virtual int GetBackupActivityListCount() { return GetAR2ActtableCount(); }
#endif
DECLARE_ACTTABLE();
protected:
@@ -99,6 +108,77 @@ END_DATADESC()
acttable_t CWeaponSniperRifle::m_acttable[] =
{
{ ACT_RANGE_ATTACK1, ACT_RANGE_ATTACK_SNIPER_RIFLE, true }
#if EXPANDED_HL2_UNUSED_WEAPON_ACTIVITIES
// Optional new NPC activities
// (these should fall back to AR2 animations when they don't exist on an NPC)
{ ACT_RELOAD, ACT_RELOAD_SNIPER_RIFLE, true },
{ ACT_IDLE, ACT_IDLE_SNIPER_RIFLE, true },
{ ACT_IDLE_ANGRY, ACT_IDLE_ANGRY_SNIPER_RIFLE, true },
// Readiness activities (not aiming)
{ ACT_IDLE_RELAXED, ACT_IDLE_SNIPER_RIFLE_RELAXED, false },//never aims
{ ACT_IDLE_STIMULATED, ACT_IDLE_SNIPER_RIFLE_STIMULATED, false },
{ ACT_IDLE_AGITATED, ACT_IDLE_ANGRY_SNIPER_RIFLE, false },//always aims
{ ACT_WALK_RELAXED, ACT_WALK_SNIPER_RIFLE_RELAXED, false },//never aims
{ ACT_WALK_STIMULATED, ACT_WALK_SNIPER_RIFLE_STIMULATED, false },
{ ACT_WALK_AGITATED, ACT_WALK_AIM_SNIPER_RIFLE, false },//always aims
{ ACT_RUN_RELAXED, ACT_RUN_SNIPER_RIFLE_RELAXED, false },//never aims
{ ACT_RUN_STIMULATED, ACT_RUN_SNIPER_RIFLE_STIMULATED, false },
{ ACT_RUN_AGITATED, ACT_RUN_AIM_SNIPER_RIFLE, false },//always aims
// Readiness activities (aiming)
{ ACT_IDLE_AIM_RELAXED, ACT_IDLE_SNIPER_RIFLE_RELAXED, false },//never aims
{ ACT_IDLE_AIM_STIMULATED, ACT_IDLE_AIM_SNIPER_RIFLE_STIMULATED, false },
{ ACT_IDLE_AIM_AGITATED, ACT_IDLE_ANGRY_SNIPER_RIFLE, false },//always aims
{ ACT_WALK_AIM_RELAXED, ACT_WALK_SNIPER_RIFLE_RELAXED, false },//never aims
{ ACT_WALK_AIM_STIMULATED, ACT_WALK_AIM_SNIPER_RIFLE_STIMULATED, false },
{ ACT_WALK_AIM_AGITATED, ACT_WALK_AIM_SNIPER_RIFLE, false },//always aims
{ ACT_RUN_AIM_RELAXED, ACT_RUN_SNIPER_RIFLE_RELAXED, false },//never aims
{ ACT_RUN_AIM_STIMULATED, ACT_RUN_AIM_SNIPER_RIFLE_STIMULATED, false },
{ ACT_RUN_AIM_AGITATED, ACT_RUN_AIM_SNIPER_RIFLE, false },//always aims
//End readiness activities
{ ACT_WALK, ACT_WALK_SNIPER_RIFLE, true },
{ ACT_WALK_AIM, ACT_WALK_AIM_SNIPER_RIFLE, true },
{ ACT_WALK_CROUCH, ACT_WALK_CROUCH_RIFLE, true },
{ ACT_WALK_CROUCH_AIM, ACT_WALK_CROUCH_AIM_RIFLE, true },
{ ACT_RUN, ACT_RUN_SNIPER_RIFLE, true },
{ ACT_RUN_AIM, ACT_RUN_AIM_SNIPER_RIFLE, true },
{ ACT_RUN_CROUCH, ACT_RUN_CROUCH_RIFLE, true },
{ ACT_RUN_CROUCH_AIM, ACT_RUN_CROUCH_AIM_RIFLE, true },
{ ACT_GESTURE_RANGE_ATTACK1, ACT_GESTURE_RANGE_ATTACK_SNIPER_RIFLE, true },
{ ACT_RANGE_ATTACK1_LOW, ACT_RANGE_ATTACK_SNIPER_RIFLE_LOW, true },
{ ACT_COVER_LOW, ACT_COVER_SNIPER_RIFLE_LOW, false },
{ ACT_RANGE_AIM_LOW, ACT_RANGE_AIM_SNIPER_RIFLE_LOW, false },
{ ACT_RELOAD_LOW, ACT_RELOAD_SNIPER_RIFLE_LOW, false },
{ ACT_GESTURE_RELOAD, ACT_GESTURE_RELOAD_SNIPER_RIFLE, true },
{ ACT_ARM, ACT_ARM_RIFLE, false },
{ ACT_DISARM, ACT_DISARM_RIFLE, false },
#if EXPANDED_HL2_COVER_ACTIVITIES
{ ACT_RANGE_AIM_MED, ACT_RANGE_AIM_SNIPER_RIFLE_MED, false },
{ ACT_RANGE_ATTACK1_MED, ACT_RANGE_ATTACK_SNIPER_RIFLE_MED, false },
#endif
#if EXPANDED_HL2DM_ACTIVITIES
// HL2:DM activities (for third-person animations in SP)
{ ACT_HL2MP_IDLE, ACT_HL2MP_IDLE_SNIPER_RIFLE, false },
{ ACT_HL2MP_RUN, ACT_HL2MP_RUN_SNIPER_RIFLE, false },
{ ACT_HL2MP_IDLE_CROUCH, ACT_HL2MP_IDLE_CROUCH_SNIPER_RIFLE, false },
{ ACT_HL2MP_WALK_CROUCH, ACT_HL2MP_WALK_CROUCH_SNIPER_RIFLE, false },
{ ACT_HL2MP_GESTURE_RANGE_ATTACK, ACT_HL2MP_GESTURE_RANGE_ATTACK_SNIPER_RIFLE, false },
{ ACT_HL2MP_GESTURE_RELOAD, ACT_HL2MP_GESTURE_RELOAD_SNIPER_RIFLE, false },
{ ACT_HL2MP_JUMP, ACT_HL2MP_JUMP_SNIPER_RIFLE, false },
{ ACT_HL2MP_WALK, ACT_HL2MP_WALK_SNIPER_RIFLE, false },
{ ACT_HL2MP_GESTURE_RANGE_ATTACK2, ACT_HL2MP_GESTURE_RANGE_ATTACK2_SNIPER_RIFLE, false },
#endif
#endif
};
IMPLEMENT_ACTTABLE(CWeaponSniperRifle);