mirror of
https://github.com/celisej567/source-sdk-2013.git
synced 2026-09-23 20:09:45 +03:00
Added optional new activities for unused HL2 weapons included in the Source SDK (deactivated by default)
This commit is contained in:
@@ -37,6 +37,10 @@ float Damage[ MAX_SETTINGS ] =
|
||||
20,
|
||||
};
|
||||
|
||||
#ifdef MAPBASE
|
||||
extern acttable_t *GetAR2Acttable();
|
||||
extern int GetAR2ActtableCount();
|
||||
#endif
|
||||
|
||||
//=========================================================
|
||||
//=========================================================
|
||||
@@ -93,6 +97,12 @@ public:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef MAPBSAE
|
||||
virtual acttable_t *GetBackupActivityList() { return GetAR2Acttable(); }
|
||||
virtual int GetBackupActivityListCount() { return GetAR2ActtableCount(); }
|
||||
#endif
|
||||
|
||||
DECLARE_ACTTABLE();
|
||||
};
|
||||
|
||||
@@ -105,6 +115,77 @@ PRECACHE_WEAPON_REGISTER(weapon_ar1);
|
||||
acttable_t CWeaponAR1::m_acttable[] =
|
||||
{
|
||||
{ ACT_RANGE_ATTACK1, ACT_RANGE_ATTACK_AR1, 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_AR1, true },
|
||||
{ ACT_IDLE, ACT_IDLE_AR1, true },
|
||||
{ ACT_IDLE_ANGRY, ACT_IDLE_ANGRY_AR1, true },
|
||||
|
||||
// Readiness activities (not aiming)
|
||||
{ ACT_IDLE_RELAXED, ACT_IDLE_AR1_RELAXED, false },//never aims
|
||||
{ ACT_IDLE_STIMULATED, ACT_IDLE_AR1_STIMULATED, false },
|
||||
{ ACT_IDLE_AGITATED, ACT_IDLE_ANGRY_AR1, false },//always aims
|
||||
|
||||
{ ACT_WALK_RELAXED, ACT_WALK_AR1_RELAXED, false },//never aims
|
||||
{ ACT_WALK_STIMULATED, ACT_WALK_AR1_STIMULATED, false },
|
||||
{ ACT_WALK_AGITATED, ACT_WALK_AIM_AR1, false },//always aims
|
||||
|
||||
{ ACT_RUN_RELAXED, ACT_RUN_AR1_RELAXED, false },//never aims
|
||||
{ ACT_RUN_STIMULATED, ACT_RUN_AR1_STIMULATED, false },
|
||||
{ ACT_RUN_AGITATED, ACT_RUN_AIM_AR1, false },//always aims
|
||||
|
||||
// Readiness activities (aiming)
|
||||
{ ACT_IDLE_AIM_RELAXED, ACT_IDLE_AR1_RELAXED, false },//never aims
|
||||
{ ACT_IDLE_AIM_STIMULATED, ACT_IDLE_AIM_AR1_STIMULATED, false },
|
||||
{ ACT_IDLE_AIM_AGITATED, ACT_IDLE_ANGRY_AR1, false },//always aims
|
||||
|
||||
{ ACT_WALK_AIM_RELAXED, ACT_WALK_AR1_RELAXED, false },//never aims
|
||||
{ ACT_WALK_AIM_STIMULATED, ACT_WALK_AIM_AR1_STIMULATED, false },
|
||||
{ ACT_WALK_AIM_AGITATED, ACT_WALK_AIM_AR1, false },//always aims
|
||||
|
||||
{ ACT_RUN_AIM_RELAXED, ACT_RUN_AR1_RELAXED, false },//never aims
|
||||
{ ACT_RUN_AIM_STIMULATED, ACT_RUN_AIM_AR1_STIMULATED, false },
|
||||
{ ACT_RUN_AIM_AGITATED, ACT_RUN_AIM_AR1, false },//always aims
|
||||
//End readiness activities
|
||||
|
||||
{ ACT_WALK, ACT_WALK_AR1, true },
|
||||
{ ACT_WALK_AIM, ACT_WALK_AIM_AR1, true },
|
||||
{ ACT_WALK_CROUCH, ACT_WALK_CROUCH_RIFLE, true },
|
||||
{ ACT_WALK_CROUCH_AIM, ACT_WALK_CROUCH_AIM_RIFLE, true },
|
||||
{ ACT_RUN, ACT_RUN_AR1, true },
|
||||
{ ACT_RUN_AIM, ACT_RUN_AIM_AR1, 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_AR1, true },
|
||||
{ ACT_RANGE_ATTACK1_LOW, ACT_RANGE_ATTACK_AR1_LOW, true },
|
||||
{ ACT_COVER_LOW, ACT_COVER_AR1_LOW, false },
|
||||
{ ACT_RANGE_AIM_LOW, ACT_RANGE_AIM_AR1_LOW, false },
|
||||
{ ACT_RELOAD_LOW, ACT_RELOAD_AR1_LOW, false },
|
||||
{ ACT_GESTURE_RELOAD, ACT_GESTURE_RELOAD_AR1, 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_AR1_MED, false },
|
||||
{ ACT_RANGE_ATTACK1_MED, ACT_RANGE_ATTACK_AR1_MED, false },
|
||||
#endif
|
||||
|
||||
#if EXPANDED_HL2DM_ACTIVITIES
|
||||
// HL2:DM activities (for third-person animations in SP)
|
||||
{ ACT_HL2MP_IDLE, ACT_HL2MP_IDLE_AR1, false },
|
||||
{ ACT_HL2MP_RUN, ACT_HL2MP_RUN_AR1, false },
|
||||
{ ACT_HL2MP_IDLE_CROUCH, ACT_HL2MP_IDLE_CROUCH_AR1, false },
|
||||
{ ACT_HL2MP_WALK_CROUCH, ACT_HL2MP_WALK_CROUCH_AR1, false },
|
||||
{ ACT_HL2MP_GESTURE_RANGE_ATTACK, ACT_HL2MP_GESTURE_RANGE_ATTACK_AR1, false },
|
||||
{ ACT_HL2MP_GESTURE_RELOAD, ACT_HL2MP_GESTURE_RELOAD_AR1, false },
|
||||
{ ACT_HL2MP_JUMP, ACT_HL2MP_JUMP_AR1, false },
|
||||
{ ACT_HL2MP_WALK, ACT_HL2MP_WALK_AR1, false },
|
||||
{ ACT_HL2MP_GESTURE_RANGE_ATTACK2, ACT_HL2MP_GESTURE_RANGE_ATTACK2_AR1, false },
|
||||
#endif
|
||||
#endif
|
||||
};
|
||||
|
||||
IMPLEMENT_ACTTABLE(CWeaponAR1);
|
||||
|
||||
@@ -190,6 +190,19 @@ acttable_t CWeaponAR2::m_acttable[] =
|
||||
|
||||
IMPLEMENT_ACTTABLE(CWeaponAR2);
|
||||
|
||||
#ifdef MAPBASE
|
||||
// Allows Weapon_BackupActivity() to access the AR2's activity table.
|
||||
acttable_t *GetAR2Acttable()
|
||||
{
|
||||
return CWeaponAR2::m_acttable;
|
||||
}
|
||||
|
||||
int GetSAR2ActtableCount()
|
||||
{
|
||||
return ARRAYSIZE(CWeaponAR2::m_acttable);
|
||||
}
|
||||
#endif
|
||||
|
||||
CWeaponAR2::CWeaponAR2( )
|
||||
{
|
||||
m_fMinRange1 = 65;
|
||||
|
||||
@@ -71,6 +71,9 @@ protected:
|
||||
bool m_bShotDelayed;
|
||||
int m_nVentPose;
|
||||
|
||||
#ifdef MAPBASE // Make act table accessible outside class
|
||||
public:
|
||||
#endif
|
||||
DECLARE_ACTTABLE();
|
||||
DECLARE_DATADESC();
|
||||
};
|
||||
|
||||
@@ -46,6 +46,77 @@ PRECACHE_WEAPON_REGISTER(weapon_smg2);
|
||||
acttable_t CWeaponSMG2::m_acttable[] =
|
||||
{
|
||||
{ ACT_RANGE_ATTACK1, ACT_RANGE_ATTACK_SMG2, true },
|
||||
|
||||
#if EXPANDED_HL2_UNUSED_WEAPON_ACTIVITIES
|
||||
// Optional new NPC activities
|
||||
// (these should fall back to SMG animations when they don't exist on an NPC)
|
||||
{ ACT_RELOAD, ACT_RELOAD_SMG2, true },
|
||||
{ ACT_IDLE, ACT_IDLE_SMG2, true },
|
||||
{ ACT_IDLE_ANGRY, ACT_IDLE_ANGRY_SMG2, true },
|
||||
|
||||
// Readiness activities (not aiming)
|
||||
{ ACT_IDLE_RELAXED, ACT_IDLE_SMG2_RELAXED, false },//never aims
|
||||
{ ACT_IDLE_STIMULATED, ACT_IDLE_SMG2_STIMULATED, false },
|
||||
{ ACT_IDLE_AGITATED, ACT_IDLE_ANGRY_SMG2, false },//always aims
|
||||
|
||||
{ ACT_WALK_RELAXED, ACT_WALK_SMG2_RELAXED, false },//never aims
|
||||
{ ACT_WALK_STIMULATED, ACT_WALK_SMG2_STIMULATED, false },
|
||||
{ ACT_WALK_AGITATED, ACT_WALK_AIM_SMG2, false },//always aims
|
||||
|
||||
{ ACT_RUN_RELAXED, ACT_RUN_SMG2_RELAXED, false },//never aims
|
||||
{ ACT_RUN_STIMULATED, ACT_RUN_SMG2_STIMULATED, false },
|
||||
{ ACT_RUN_AGITATED, ACT_RUN_AIM_SMG2, false },//always aims
|
||||
|
||||
// Readiness activities (aiming)
|
||||
{ ACT_IDLE_AIM_RELAXED, ACT_IDLE_SMG2_RELAXED, false },//never aims
|
||||
{ ACT_IDLE_AIM_STIMULATED, ACT_IDLE_AIM_SMG2_STIMULATED, false },
|
||||
{ ACT_IDLE_AIM_AGITATED, ACT_IDLE_ANGRY_SMG2, false },//always aims
|
||||
|
||||
{ ACT_WALK_AIM_RELAXED, ACT_WALK_SMG2_RELAXED, false },//never aims
|
||||
{ ACT_WALK_AIM_STIMULATED, ACT_WALK_AIM_SMG2_STIMULATED, false },
|
||||
{ ACT_WALK_AIM_AGITATED, ACT_WALK_AIM_SMG2, false },//always aims
|
||||
|
||||
{ ACT_RUN_AIM_RELAXED, ACT_RUN_SMG2_RELAXED, false },//never aims
|
||||
{ ACT_RUN_AIM_STIMULATED, ACT_RUN_AIM_SMG2_STIMULATED, false },
|
||||
{ ACT_RUN_AIM_AGITATED, ACT_RUN_AIM_SMG2, false },//always aims
|
||||
//End readiness activities
|
||||
|
||||
{ ACT_WALK, ACT_WALK_SMG2, true },
|
||||
{ ACT_WALK_AIM, ACT_WALK_AIM_SMG2, true },
|
||||
{ ACT_WALK_CROUCH, ACT_WALK_CROUCH_RIFLE, true },
|
||||
{ ACT_WALK_CROUCH_AIM, ACT_WALK_CROUCH_AIM_RIFLE, true },
|
||||
{ ACT_RUN, ACT_RUN_SMG2, true },
|
||||
{ ACT_RUN_AIM, ACT_RUN_AIM_SMG2, 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_SMG2, true },
|
||||
{ ACT_RANGE_ATTACK1_LOW, ACT_RANGE_ATTACK_SMG2_LOW, true },
|
||||
{ ACT_COVER_LOW, ACT_COVER_SMG2_LOW, false },
|
||||
{ ACT_RANGE_AIM_LOW, ACT_RANGE_AIM_SMG2_LOW, false },
|
||||
{ ACT_RELOAD_LOW, ACT_RELOAD_SMG2_LOW, false },
|
||||
{ ACT_GESTURE_RELOAD, ACT_GESTURE_RELOAD_SMG2, 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_SMG2_MED, false },
|
||||
{ ACT_RANGE_ATTACK1_MED, ACT_RANGE_ATTACK_SMG2_MED, false },
|
||||
#endif
|
||||
|
||||
#if EXPANDED_HL2DM_ACTIVITIES
|
||||
// HL2:DM activities (for third-person animations in SP)
|
||||
{ ACT_HL2MP_IDLE, ACT_HL2MP_IDLE_SMG2, false },
|
||||
{ ACT_HL2MP_RUN, ACT_HL2MP_RUN_SMG2, false },
|
||||
{ ACT_HL2MP_IDLE_CROUCH, ACT_HL2MP_IDLE_CROUCH_SMG2, false },
|
||||
{ ACT_HL2MP_WALK_CROUCH, ACT_HL2MP_WALK_CROUCH_SMG2, false },
|
||||
{ ACT_HL2MP_GESTURE_RANGE_ATTACK, ACT_HL2MP_GESTURE_RANGE_ATTACK_SMG2, false },
|
||||
{ ACT_HL2MP_GESTURE_RELOAD, ACT_HL2MP_GESTURE_RELOAD_SMG2, false },
|
||||
{ ACT_HL2MP_JUMP, ACT_HL2MP_JUMP_SMG2, false },
|
||||
{ ACT_HL2MP_WALK, ACT_HL2MP_WALK_SMG2, false },
|
||||
{ ACT_HL2MP_GESTURE_RANGE_ATTACK2, ACT_HL2MP_GESTURE_RANGE_ATTACK2_SMG2, false },
|
||||
#endif
|
||||
#endif
|
||||
};
|
||||
|
||||
IMPLEMENT_ACTTABLE(CWeaponSMG2);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user