mirror of
https://github.com/mapbase-source/source-sdk-2013.git
synced 2024-12-26 23:05:30 +03:00
Revisited Mapbase's custom shared activities and expanded HL2 weapon activities
This commit is contained in:
parent
b9f3ac03fa
commit
4cfa6dd22c
@ -2180,7 +2180,7 @@ void CAI_BaseNPC::InitDefaultActivitySR(void)
|
||||
ADD_ACTIVITY_TO_SR( ACT_RUN_AIM_AR2 );
|
||||
|
||||
ADD_ACTIVITY_TO_SR( ACT_RELOAD_AR2 );
|
||||
//ADD_ACTIVITY_TO_SR( ACT_RELOAD_AR2_LOW );
|
||||
ADD_ACTIVITY_TO_SR( ACT_RELOAD_AR2_LOW );
|
||||
|
||||
ADD_ACTIVITY_TO_SR( ACT_GESTURE_RELOAD_AR2 );
|
||||
#endif
|
||||
@ -2189,6 +2189,11 @@ void CAI_BaseNPC::InitDefaultActivitySR(void)
|
||||
ADD_ACTIVITY_TO_SR( ACT_COMBINE_THROW_GRENADE );
|
||||
ADD_ACTIVITY_TO_SR( ACT_COMBINE_AR2_ALTFIRE );
|
||||
|
||||
ADD_ACTIVITY_TO_SR( ACT_GESTURE_COMBINE_THROW_GRENADE );
|
||||
ADD_ACTIVITY_TO_SR( ACT_GESTURE_COMBINE_AR2_ALTFIRE );
|
||||
ADD_ACTIVITY_TO_SR( ACT_GESTURE_SPECIAL_ATTACK1 );
|
||||
ADD_ACTIVITY_TO_SR( ACT_GESTURE_SPECIAL_ATTACK2 );
|
||||
|
||||
ADD_ACTIVITY_TO_SR( ACT_GESTURE_SIGNAL_ADVANCE );
|
||||
ADD_ACTIVITY_TO_SR( ACT_GESTURE_SIGNAL_FORWARD );
|
||||
ADD_ACTIVITY_TO_SR( ACT_GESTURE_SIGNAL_GROUP );
|
||||
@ -2198,7 +2203,54 @@ void CAI_BaseNPC::InitDefaultActivitySR(void)
|
||||
ADD_ACTIVITY_TO_SR( ACT_GESTURE_SIGNAL_TAKECOVER );
|
||||
#endif
|
||||
|
||||
#ifdef COMPANION_HOLSTER_WORKAROUND
|
||||
#ifdef EXPANDED_HL2_WEAPON_ACTIVITIES
|
||||
ADD_ACTIVITY_TO_SR( ACT_IDLE_REVOLVER );
|
||||
ADD_ACTIVITY_TO_SR( ACT_IDLE_ANGRY_REVOLVER );
|
||||
ADD_ACTIVITY_TO_SR( ACT_WALK_REVOLVER );
|
||||
ADD_ACTIVITY_TO_SR( ACT_RUN_REVOLVER );
|
||||
ADD_ACTIVITY_TO_SR( ACT_WALK_AIM_REVOLVER );
|
||||
ADD_ACTIVITY_TO_SR( ACT_RUN_AIM_REVOLVER );
|
||||
ADD_ACTIVITY_TO_SR( ACT_RANGE_ATTACK_REVOLVER );
|
||||
ADD_ACTIVITY_TO_SR( ACT_RELOAD_REVOLVER );
|
||||
ADD_ACTIVITY_TO_SR( ACT_RANGE_ATTACK_REVOLVER_LOW );
|
||||
ADD_ACTIVITY_TO_SR( ACT_RELOAD_REVOLVER_LOW );
|
||||
ADD_ACTIVITY_TO_SR( ACT_COVER_REVOLVER_LOW );
|
||||
ADD_ACTIVITY_TO_SR( ACT_RANGE_AIM_REVOLVER_LOW );
|
||||
ADD_ACTIVITY_TO_SR( ACT_GESTURE_RANGE_ATTACK_REVOLVER );
|
||||
ADD_ACTIVITY_TO_SR( ACT_GESTURE_RELOAD_REVOLVER );
|
||||
|
||||
ADD_ACTIVITY_TO_SR( ACT_IDLE_CROSSBOW );
|
||||
ADD_ACTIVITY_TO_SR( ACT_IDLE_ANGRY_CROSSBOW );
|
||||
ADD_ACTIVITY_TO_SR( ACT_WALK_CROSSBOW );
|
||||
ADD_ACTIVITY_TO_SR( ACT_RUN_CROSSBOW );
|
||||
ADD_ACTIVITY_TO_SR( ACT_WALK_AIM_CROSSBOW );
|
||||
ADD_ACTIVITY_TO_SR( ACT_RUN_AIM_CROSSBOW );
|
||||
ADD_ACTIVITY_TO_SR( ACT_RANGE_ATTACK_CROSSBOW );
|
||||
ADD_ACTIVITY_TO_SR( ACT_RELOAD_CROSSBOW );
|
||||
ADD_ACTIVITY_TO_SR( ACT_RANGE_ATTACK_CROSSBOW_LOW );
|
||||
ADD_ACTIVITY_TO_SR( ACT_RELOAD_CROSSBOW_LOW );
|
||||
ADD_ACTIVITY_TO_SR( ACT_COVER_CROSSBOW_LOW );
|
||||
ADD_ACTIVITY_TO_SR( ACT_RANGE_AIM_CROSSBOW_LOW );
|
||||
ADD_ACTIVITY_TO_SR( ACT_GESTURE_RANGE_ATTACK_CROSSBOW );
|
||||
ADD_ACTIVITY_TO_SR( ACT_GESTURE_RELOAD_CROSSBOW );
|
||||
|
||||
ADD_ACTIVITY_TO_SR( ACT_IDLE_PISTOL_RELAXED );
|
||||
ADD_ACTIVITY_TO_SR( ACT_IDLE_PISTOL_STIMULATED );
|
||||
ADD_ACTIVITY_TO_SR( ACT_WALK_PISTOL_RELAXED );
|
||||
ADD_ACTIVITY_TO_SR( ACT_WALK_PISTOL_STIMULATED );
|
||||
ADD_ACTIVITY_TO_SR( ACT_RUN_PISTOL_RELAXED );
|
||||
ADD_ACTIVITY_TO_SR( ACT_RUN_PISTOL_STIMULATED );
|
||||
|
||||
ADD_ACTIVITY_TO_SR( ACT_IDLE_AIM_PISTOL_STIMULATED );
|
||||
ADD_ACTIVITY_TO_SR( ACT_WALK_AIM_PISTOL_STIMULATED );
|
||||
ADD_ACTIVITY_TO_SR( ACT_RUN_AIM_PISTOL_STIMULATED );
|
||||
|
||||
ADD_ACTIVITY_TO_SR( ACT_RANGE_AIM_RPG_LOW );
|
||||
ADD_ACTIVITY_TO_SR( ACT_RANGE_ATTACK_RPG_LOW );
|
||||
|
||||
ADD_ACTIVITY_TO_SR( ACT_RUN_PACKAGE );
|
||||
ADD_ACTIVITY_TO_SR( ACT_RUN_SUITCASE );
|
||||
|
||||
ADD_ACTIVITY_TO_SR( ACT_ARM_RIFLE );
|
||||
ADD_ACTIVITY_TO_SR( ACT_DISARM_RIFLE );
|
||||
#endif
|
||||
|
@ -2296,7 +2296,7 @@ void ActivityList_RegisterSharedActivities( void )
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RUN_AIM_AR2 );
|
||||
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RELOAD_AR2 );
|
||||
//REGISTER_SHARED_ACTIVITY( ACT_RELOAD_AR2_LOW );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RELOAD_AR2_LOW );
|
||||
|
||||
REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RELOAD_AR2 );
|
||||
#endif
|
||||
@ -2305,6 +2305,11 @@ void ActivityList_RegisterSharedActivities( void )
|
||||
REGISTER_SHARED_ACTIVITY( ACT_COMBINE_THROW_GRENADE );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_COMBINE_AR2_ALTFIRE );
|
||||
|
||||
REGISTER_SHARED_ACTIVITY( ACT_GESTURE_COMBINE_THROW_GRENADE );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_GESTURE_COMBINE_AR2_ALTFIRE );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_GESTURE_SPECIAL_ATTACK1 );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_GESTURE_SPECIAL_ATTACK2 );
|
||||
|
||||
REGISTER_SHARED_ACTIVITY( ACT_GESTURE_SIGNAL_ADVANCE );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_GESTURE_SIGNAL_FORWARD );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_GESTURE_SIGNAL_GROUP );
|
||||
@ -2314,7 +2319,54 @@ void ActivityList_RegisterSharedActivities( void )
|
||||
REGISTER_SHARED_ACTIVITY( ACT_GESTURE_SIGNAL_TAKECOVER );
|
||||
#endif
|
||||
|
||||
#ifdef COMPANION_HOLSTER_WORKAROUND
|
||||
#ifdef EXPANDED_HL2_WEAPON_ACTIVITIES
|
||||
REGISTER_SHARED_ACTIVITY( ACT_IDLE_REVOLVER );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_IDLE_ANGRY_REVOLVER );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_WALK_REVOLVER );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RUN_REVOLVER );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_WALK_AIM_REVOLVER );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RUN_AIM_REVOLVER );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_REVOLVER );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RELOAD_REVOLVER );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_REVOLVER_LOW );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RELOAD_REVOLVER_LOW );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_COVER_REVOLVER_LOW );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RANGE_AIM_REVOLVER_LOW );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK_REVOLVER );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RELOAD_REVOLVER );
|
||||
|
||||
REGISTER_SHARED_ACTIVITY( ACT_IDLE_CROSSBOW );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_IDLE_ANGRY_CROSSBOW );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_WALK_CROSSBOW );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RUN_CROSSBOW );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_WALK_AIM_CROSSBOW );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RUN_AIM_CROSSBOW );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_CROSSBOW );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RELOAD_CROSSBOW );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_CROSSBOW_LOW );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RELOAD_CROSSBOW_LOW );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_COVER_CROSSBOW_LOW );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RANGE_AIM_CROSSBOW_LOW );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK_CROSSBOW );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RELOAD_CROSSBOW );
|
||||
|
||||
REGISTER_SHARED_ACTIVITY( ACT_IDLE_PISTOL_RELAXED );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_IDLE_PISTOL_STIMULATED );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_WALK_PISTOL_RELAXED );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_WALK_PISTOL_STIMULATED );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RUN_PISTOL_RELAXED );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RUN_PISTOL_STIMULATED );
|
||||
|
||||
REGISTER_SHARED_ACTIVITY( ACT_IDLE_AIM_PISTOL_STIMULATED );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_WALK_AIM_PISTOL_STIMULATED );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RUN_AIM_PISTOL_STIMULATED );
|
||||
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RANGE_AIM_RPG_LOW );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_RPG_LOW );
|
||||
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RUN_PACKAGE );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_RUN_SUITCASE );
|
||||
|
||||
REGISTER_SHARED_ACTIVITY( ACT_ARM_RIFLE );
|
||||
REGISTER_SHARED_ACTIVITY( ACT_DISARM_RIFLE );
|
||||
#endif
|
||||
|
@ -13,42 +13,34 @@
|
||||
|
||||
#ifdef MAPBASE
|
||||
|
||||
// Mapbase adds a few shared activities.
|
||||
//
|
||||
// These used to be placed in between existing activities, as outside of the code activities are based off of strings.
|
||||
// This seemed like a bad idea, but no problems arose at the time.
|
||||
// I later discovered that apparently some things in MP use the direct integers instead of the enum names.
|
||||
// I retroactively put all custom activities at the bottom of the enum instead.
|
||||
// Their placements in activitylist.cpp and ai_activity.cpp have not been changed.
|
||||
// Mapbase adds many new shared activities, primarily for NPCs.
|
||||
//
|
||||
// These are at the bottom of the enum to prevent disruptions in the order of existing activities.
|
||||
//
|
||||
|
||||
// AR2 ACTIVITY FIX
|
||||
// You know all of those AR2 activities that citizens and combine soldiers have?
|
||||
// Yeah, those are unused. It appears Valve forgot to implement them.
|
||||
// Citizens and Combine soldiers have several activities for the SMG1 and AR2 which differ from each other.
|
||||
// Across both NPCs, there are around 20-40 different AR2 animations. Most of these animations are similar to the
|
||||
// SMG1 animations, except their hand positions are adjusted to use the AR2 instead.
|
||||
//
|
||||
// What could be 20-40 different animations on two different characters are not even defined in code.
|
||||
// I didn't even realize they were unused until I saw ACT_RELOAD_AR2, so I don't blame them for never realizing this.
|
||||
// They work surprisingly well for probably never being tested in-game.
|
||||
// Unfortunately, the vast majority of the AR2 animations in those models are not declared as real activities in
|
||||
// code. The AR2 instead falls back to its SMG1 animation counterparts.
|
||||
// This is thought to be an oversight which dates back to late in Half-Life 2's development.
|
||||
//
|
||||
// 1 = Add activities directly
|
||||
// 2 = Add activities as custom activities (todo)
|
||||
//
|
||||
// 2 should only be preferable if adding them like this breaks something.
|
||||
// This preprocessor declares those activities and implements them on the AR2. In-game, they work surprisingly well
|
||||
// despite presumably never being tested in-game during HL2's development.
|
||||
#define AR2_ACTIVITY_FIX 1
|
||||
|
||||
// COMPANION HOLSTER WORKAROUND
|
||||
// I introduced a separate holster/unholster animation to male_shared
|
||||
// and female_shared and I realized it might conflict with Alyx's animation.
|
||||
//
|
||||
// I came up with a solution--ACT_ARM_RIFLE and its disarm counterpart--to solve it.
|
||||
// I didn't think about the fact I could've named them the same as Alyx's so her animations would overwrite it...
|
||||
// ...so this has been deactivated.
|
||||
//#define COMPANION_HOLSTER_WORKAROUND 1
|
||||
|
||||
// SHARED COMBINE ACTIVITIES
|
||||
// This turns ACT_COMBINE_AR2_ALTFIRE and ACT_COMBINE_THROW_GRENADE into shared activities.
|
||||
// This is necessary so other NPCs to use them without having to rely on a bunch of custom activities.
|
||||
// This turns ACT_COMBINE_AR2_ALTFIRE, ACT_COMBINE_THROW_GRENADE, and their new gesture counterparts into shared activities.
|
||||
// This is necessary for other NPCs to use them without having to rely on private custom activities declared through the AI definition system.
|
||||
#define SHARED_COMBINE_ACTIVITIES 1
|
||||
|
||||
// EXPANDED HL2 WEAPON ACTIVITIES
|
||||
// This enables a bunch of new activities for Half-Life 2 weapons, including new 357 animations and readiness activities for pistols.
|
||||
#define EXPANDED_HL2_WEAPON_ACTIVITIES 1
|
||||
|
||||
#endif
|
||||
|
||||
#define ACTIVITY_NOT_AVAILABLE -1
|
||||
@ -2169,7 +2161,7 @@ typedef enum
|
||||
ACT_RUN_AIM_AR2,
|
||||
|
||||
ACT_RELOAD_AR2,
|
||||
//ACT_RELOAD_AR2_LOW,
|
||||
ACT_RELOAD_AR2_LOW,
|
||||
|
||||
ACT_GESTURE_RELOAD_AR2,
|
||||
#endif
|
||||
@ -2178,7 +2170,12 @@ typedef enum
|
||||
ACT_COMBINE_THROW_GRENADE,
|
||||
ACT_COMBINE_AR2_ALTFIRE,
|
||||
|
||||
// New gesture-based signals as activities for people who want to use them
|
||||
// Gesture versions for existing Combine signal and grenade activities
|
||||
ACT_GESTURE_COMBINE_THROW_GRENADE,
|
||||
ACT_GESTURE_COMBINE_AR2_ALTFIRE,
|
||||
ACT_GESTURE_SPECIAL_ATTACK1,
|
||||
ACT_GESTURE_SPECIAL_ATTACK2,
|
||||
|
||||
ACT_GESTURE_SIGNAL_ADVANCE,
|
||||
ACT_GESTURE_SIGNAL_FORWARD,
|
||||
ACT_GESTURE_SIGNAL_GROUP,
|
||||
@ -2188,7 +2185,60 @@ typedef enum
|
||||
ACT_GESTURE_SIGNAL_TAKECOVER,
|
||||
#endif
|
||||
|
||||
#ifdef COMPANION_HOLSTER_WORKAROUND
|
||||
#ifdef EXPANDED_HL2_WEAPON_ACTIVITIES
|
||||
// Revolver (357)
|
||||
ACT_IDLE_REVOLVER,
|
||||
ACT_IDLE_ANGRY_REVOLVER,
|
||||
ACT_WALK_REVOLVER,
|
||||
ACT_RUN_REVOLVER,
|
||||
ACT_WALK_AIM_REVOLVER,
|
||||
ACT_RUN_AIM_REVOLVER,
|
||||
ACT_RANGE_ATTACK_REVOLVER,
|
||||
ACT_RELOAD_REVOLVER,
|
||||
ACT_RANGE_ATTACK_REVOLVER_LOW,
|
||||
ACT_RELOAD_REVOLVER_LOW,
|
||||
ACT_COVER_REVOLVER_LOW,
|
||||
ACT_RANGE_AIM_REVOLVER_LOW,
|
||||
ACT_GESTURE_RANGE_ATTACK_REVOLVER,
|
||||
ACT_GESTURE_RELOAD_REVOLVER,
|
||||
|
||||
// Crossbow
|
||||
ACT_IDLE_CROSSBOW,
|
||||
ACT_IDLE_ANGRY_CROSSBOW,
|
||||
ACT_WALK_CROSSBOW,
|
||||
ACT_RUN_CROSSBOW,
|
||||
ACT_WALK_AIM_CROSSBOW,
|
||||
ACT_RUN_AIM_CROSSBOW,
|
||||
ACT_RANGE_ATTACK_CROSSBOW,
|
||||
ACT_RELOAD_CROSSBOW,
|
||||
ACT_RANGE_ATTACK_CROSSBOW_LOW,
|
||||
ACT_RELOAD_CROSSBOW_LOW,
|
||||
ACT_COVER_CROSSBOW_LOW,
|
||||
ACT_RANGE_AIM_CROSSBOW_LOW,
|
||||
ACT_GESTURE_RANGE_ATTACK_CROSSBOW,
|
||||
ACT_GESTURE_RELOAD_CROSSBOW,
|
||||
|
||||
// Pistol
|
||||
ACT_IDLE_PISTOL_RELAXED,
|
||||
ACT_IDLE_PISTOL_STIMULATED,
|
||||
ACT_WALK_PISTOL_RELAXED,
|
||||
ACT_WALK_PISTOL_STIMULATED,
|
||||
ACT_RUN_PISTOL_RELAXED,
|
||||
ACT_RUN_PISTOL_STIMULATED,
|
||||
|
||||
ACT_IDLE_AIM_PISTOL_STIMULATED,
|
||||
ACT_WALK_AIM_PISTOL_STIMULATED,
|
||||
ACT_RUN_AIM_PISTOL_STIMULATED,
|
||||
|
||||
// RPG
|
||||
ACT_RANGE_AIM_RPG_LOW,
|
||||
ACT_RANGE_ATTACK_RPG_LOW,
|
||||
|
||||
// Citizen accessories
|
||||
ACT_RUN_PACKAGE,
|
||||
ACT_RUN_SUITCASE,
|
||||
|
||||
// Holster/Unholster
|
||||
ACT_ARM_RIFLE,
|
||||
ACT_DISARM_RIFLE,
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user