From 3d435c6dec59e1860edf2efd101b2116b4b4ca62 Mon Sep 17 00:00:00 2001 From: "ALLEN-PC\\acj30" Date: Sun, 25 May 2025 23:00:26 -0500 Subject: [PATCH] Improved custom model support on most NPCs Co-authored-by: Maestra Fenix --- sp/src/game/server/hl2/npc_PoisonZombie.cpp | 4 ++-- sp/src/game/server/hl2/npc_antlion.cpp | 8 ++++---- sp/src/game/server/hl2/npc_combinecamera.cpp | 5 ++--- sp/src/game/server/hl2/npc_combinedropship.cpp | 4 ++-- sp/src/game/server/hl2/npc_combinegunship.cpp | 10 +++++----- sp/src/game/server/hl2/npc_dog.cpp | 4 ++-- sp/src/game/server/hl2/npc_fastzombie.cpp | 4 ++-- sp/src/game/server/hl2/npc_fisherman.cpp | 2 +- sp/src/game/server/hl2/npc_gman.cpp | 4 ++-- sp/src/game/server/hl2/npc_monk.cpp | 4 ++-- sp/src/game/server/hl2/npc_mossman.cpp | 4 ++-- sp/src/game/server/hl2/npc_zombie.cpp | 4 ++-- sp/src/game/server/hl2/npc_zombine.cpp | 4 ++-- 13 files changed, 30 insertions(+), 31 deletions(-) diff --git a/sp/src/game/server/hl2/npc_PoisonZombie.cpp b/sp/src/game/server/hl2/npc_PoisonZombie.cpp index 1611e15b..4618e5c9 100644 --- a/sp/src/game/server/hl2/npc_PoisonZombie.cpp +++ b/sp/src/game/server/hl2/npc_PoisonZombie.cpp @@ -256,7 +256,7 @@ END_DATADESC() //----------------------------------------------------------------------------- void CNPC_PoisonZombie::Precache( void ) { - PrecacheModel("models/zombie/poison.mdl"); + PrecacheModel( DefaultOrCustomModel( "models/zombie/poison.mdl" ) ); PrecacheScriptSound( "NPC_PoisonZombie.Die" ); PrecacheScriptSound( "NPC_PoisonZombie.ThrowWarn" ); @@ -509,7 +509,7 @@ void CNPC_PoisonZombie::SetZombieModel( void ) } else { - SetModel( "models/zombie/poison.mdl" ); + SetModel( DefaultOrCustomModel( "models/zombie/poison.mdl" ) ); SetHullType(HULL_HUMAN); } diff --git a/sp/src/game/server/hl2/npc_antlion.cpp b/sp/src/game/server/hl2/npc_antlion.cpp index bda685ea..d7bc9080 100644 --- a/sp/src/game/server/hl2/npc_antlion.cpp +++ b/sp/src/game/server/hl2/npc_antlion.cpp @@ -472,8 +472,8 @@ void CNPC_Antlion::Precache( void ) #ifdef HL2_EPISODIC if ( IsWorker() ) { - PrecacheModel( ANTLION_WORKER_MODEL ); - PropBreakablePrecacheAll( MAKE_STRING( ANTLION_WORKER_MODEL ) ); + PrecacheModel( DefaultOrCustomModel( ANTLION_WORKER_MODEL ) ); + PropBreakablePrecacheAll( MAKE_STRING( DefaultOrCustomModel( ANTLION_WORKER_MODEL ) ) ); UTIL_PrecacheOther( "grenade_spit" ); PrecacheParticleSystem( "blood_impact_antlion_worker_01" ); PrecacheParticleSystem( "antlion_gib_02" ); @@ -482,8 +482,8 @@ void CNPC_Antlion::Precache( void ) else #endif // HL2_EPISODIC { - PrecacheModel( ANTLION_MODEL ); - PropBreakablePrecacheAll( MAKE_STRING( ANTLION_MODEL ) ); + PrecacheModel( DefaultOrCustomModel( ANTLION_MODEL ) ); + PropBreakablePrecacheAll( MAKE_STRING( DefaultOrCustomModel( ANTLION_MODEL ) ) ); PrecacheParticleSystem( "blood_impact_antlion_01" ); PrecacheParticleSystem( "AntlionGib" ); } diff --git a/sp/src/game/server/hl2/npc_combinecamera.cpp b/sp/src/game/server/hl2/npc_combinecamera.cpp index 13bbba1b..3d384582 100644 --- a/sp/src/game/server/hl2/npc_combinecamera.cpp +++ b/sp/src/game/server/hl2/npc_combinecamera.cpp @@ -275,7 +275,7 @@ CNPC_CombineCamera::~CNPC_CombineCamera() //----------------------------------------------------------------------------- void CNPC_CombineCamera::Precache() { - PrecacheModel(COMBINE_CAMERA_MODEL); + PrecacheModel( DefaultOrCustomModel( COMBINE_CAMERA_MODEL ) ); PrecacheModel(COMBINE_CAMERA_GLOW_SPRITE); PrecacheModel(COMBINE_CAMERA_FLASH_SPRITE); @@ -304,8 +304,7 @@ void CNPC_CombineCamera::Precache() void CNPC_CombineCamera::Spawn() { Precache(); - - SetModel(COMBINE_CAMERA_MODEL); + SetModel( DefaultOrCustomModel( COMBINE_CAMERA_MODEL ) ); m_pEyeFlash = CSprite::SpriteCreate(COMBINE_CAMERA_FLASH_SPRITE, GetLocalOrigin(), FALSE); m_pEyeFlash->SetTransparency(kRenderGlow, 255, 255, 255, 0, kRenderFxNoDissipation); diff --git a/sp/src/game/server/hl2/npc_combinedropship.cpp b/sp/src/game/server/hl2/npc_combinedropship.cpp index 557756e7..b6a7c85c 100644 --- a/sp/src/game/server/hl2/npc_combinedropship.cpp +++ b/sp/src/game/server/hl2/npc_combinedropship.cpp @@ -921,7 +921,7 @@ CNPC_CombineDropship::~CNPC_CombineDropship(void) void CNPC_CombineDropship::Spawn( void ) { Precache( ); - SetModel( "models/combine_dropship.mdl" ); + SetModel( DefaultOrCustomModel( "models/combine_dropship.mdl" ) ); #ifdef _XBOX AddEffects( EF_NOSHADOW ); @@ -1188,7 +1188,7 @@ void CNPC_CombineDropship::Activate( void ) void CNPC_CombineDropship::Precache( void ) { // Models - PrecacheModel("models/combine_dropship.mdl"); + PrecacheModel( DefaultOrCustomModel( "models/combine_dropship.mdl" ) ); switch ( m_iCrateType ) { case CRATE_SOLDIER: diff --git a/sp/src/game/server/hl2/npc_combinegunship.cpp b/sp/src/game/server/hl2/npc_combinegunship.cpp index 49e7183c..15a99167 100644 --- a/sp/src/game/server/hl2/npc_combinegunship.cpp +++ b/sp/src/game/server/hl2/npc_combinegunship.cpp @@ -564,11 +564,11 @@ void CNPC_CombineGunship::Spawn( void ) if ( HasSpawnFlags( SF_GUNSHIP_USE_CHOPPER_MODEL ) ) { - SetModel( "models/combine_helicopter.mdl" ); + SetModel( DefaultOrCustomModel( "models/combine_helicopter.mdl" ) ); } else { - SetModel( "models/gunship.mdl" ); + SetModel( DefaultOrCustomModel( "models/gunship.mdl" ) ); } ExtractBbox( SelectHeaviestSequence( ACT_GUNSHIP_PATROL ), m_cullBoxMins, m_cullBoxMaxs ); @@ -690,12 +690,12 @@ void CNPC_CombineGunship::Precache( void ) { if ( HasSpawnFlags( SF_GUNSHIP_USE_CHOPPER_MODEL ) ) { - PrecacheModel( "models/combine_helicopter.mdl" ); + PrecacheModel( DefaultOrCustomModel( "models/combine_helicopter.mdl" ) ); Chopper_PrecacheChunks( this ); } else { - PrecacheModel("models/gunship.mdl"); + PrecacheModel( DefaultOrCustomModel( "models/gunship.mdl" ) ); } PrecacheModel("sprites/lgtning.vmt"); @@ -725,7 +725,7 @@ void CNPC_CombineGunship::Precache( void ) g_iGunshipEffectIndex = PrecacheModel( "sprites/physbeam.vmt" ); } - PropBreakablePrecacheAll( MAKE_STRING("models/gunship.mdl") ); + PropBreakablePrecacheAll( MAKE_STRING( DefaultOrCustomModel( "models/gunship.mdl" ) ) ); BaseClass::Precache(); } diff --git a/sp/src/game/server/hl2/npc_dog.cpp b/sp/src/game/server/hl2/npc_dog.cpp index 6e05cf4d..09c1837f 100644 --- a/sp/src/game/server/hl2/npc_dog.cpp +++ b/sp/src/game/server/hl2/npc_dog.cpp @@ -455,7 +455,7 @@ void CNPC_Dog::Spawn( void ) BaseClass::Spawn(); - SetModel( "models/dog.mdl" ); + SetModel( DefaultOrCustomModel( "models/dog.mdl" ) ); SetHullType( HULL_WIDE_HUMAN ); SetHullSizeNormal(); @@ -638,7 +638,7 @@ void CNPC_Dog::PullObject( bool bMantain ) //----------------------------------------------------------------------------- void CNPC_Dog::Precache( void ) { - PrecacheModel( "models/dog.mdl" ); + PrecacheModel( DefaultOrCustomModel( "models/dog.mdl" ) ); PrecacheScriptSound( "Weapon_PhysCannon.Launch" ); diff --git a/sp/src/game/server/hl2/npc_fastzombie.cpp b/sp/src/game/server/hl2/npc_fastzombie.cpp index 6e5ec136..a533cb18 100644 --- a/sp/src/game/server/hl2/npc_fastzombie.cpp +++ b/sp/src/game/server/hl2/npc_fastzombie.cpp @@ -396,7 +396,7 @@ static const char *s_pLegsModel = "models/gibs/fast_zombie_legs.mdl"; //----------------------------------------------------------------------------- void CFastZombie::Precache( void ) { - PrecacheModel("models/zombie/fast.mdl"); + PrecacheModel( DefaultOrCustomModel( "models/zombie/fast.mdl" ) ); #ifdef HL2_EPISODIC PrecacheModel("models/zombie/Fast_torso.mdl"); PrecacheScriptSound( "NPC_FastZombie.CarEnter1" ); @@ -773,7 +773,7 @@ void CFastZombie::SetZombieModel( void ) } else { - SetModel( "models/zombie/fast.mdl" ); + SetModel( DefaultOrCustomModel( "models/zombie/fast.mdl" ) ); SetHullType(HULL_HUMAN); } diff --git a/sp/src/game/server/hl2/npc_fisherman.cpp b/sp/src/game/server/hl2/npc_fisherman.cpp index 967c5795..c98ce6c5 100644 --- a/sp/src/game/server/hl2/npc_fisherman.cpp +++ b/sp/src/game/server/hl2/npc_fisherman.cpp @@ -133,7 +133,7 @@ END_DATADESC() //----------------------------------------------------------------------------- void CNPC_Fisherman::SelectModel() { - SetModelName( AllocPooledString( FISHERMAN_MODEL ) ); + SetModelName( AllocPooledString( DefaultOrCustomModel( FISHERMAN_MODEL ) ) ); } //----------------------------------------------------------------------------- diff --git a/sp/src/game/server/hl2/npc_gman.cpp b/sp/src/game/server/hl2/npc_gman.cpp index a13fd083..48f95fb3 100644 --- a/sp/src/game/server/hl2/npc_gman.cpp +++ b/sp/src/game/server/hl2/npc_gman.cpp @@ -97,7 +97,7 @@ void CNPC_GMan::Spawn() BaseClass::Spawn(); - SetModel( "models/gman.mdl" ); + SetModel( DefaultOrCustomModel( "models/gman.mdl" ) ); SetHullType(HULL_HUMAN); SetHullSizeNormal(); @@ -123,7 +123,7 @@ void CNPC_GMan::Spawn() //----------------------------------------------------------------------------- void CNPC_GMan::Precache() { - PrecacheModel( "models/gman.mdl" ); + PrecacheModel( DefaultOrCustomModel( "models/gman.mdl" ) ); BaseClass::Precache(); } diff --git a/sp/src/game/server/hl2/npc_monk.cpp b/sp/src/game/server/hl2/npc_monk.cpp index e517a6fe..7f840771 100644 --- a/sp/src/game/server/hl2/npc_monk.cpp +++ b/sp/src/game/server/hl2/npc_monk.cpp @@ -299,7 +299,7 @@ Activity CNPC_Monk::NPC_TranslateActivity( Activity eNewActivity ) //----------------------------------------------------------------------------- void CNPC_Monk::Precache() { - PrecacheModel( "models/Monk.mdl" ); + PrecacheModel( DefaultOrCustomModel( "models/Monk.mdl" ) ); PrecacheScriptSound( "NPC_Citizen.FootstepLeft" ); PrecacheScriptSound( "NPC_Citizen.FootstepRight" ); @@ -317,7 +317,7 @@ void CNPC_Monk::Spawn() BaseClass::Spawn(); - SetModel( "models/Monk.mdl" ); + SetModel( DefaultOrCustomModel( "models/Monk.mdl" ) ); SetHullType(HULL_HUMAN); SetHullSizeNormal(); diff --git a/sp/src/game/server/hl2/npc_mossman.cpp b/sp/src/game/server/hl2/npc_mossman.cpp index f92a8f51..2d160680 100644 --- a/sp/src/game/server/hl2/npc_mossman.cpp +++ b/sp/src/game/server/hl2/npc_mossman.cpp @@ -99,7 +99,7 @@ void CNPC_Mossman::Spawn() BaseClass::Spawn(); - SetModel( "models/mossman.mdl" ); + SetModel( DefaultOrCustomModel( "models/mossman.mdl" ) ); SetHullType(HULL_HUMAN); SetHullSizeNormal(); @@ -124,7 +124,7 @@ void CNPC_Mossman::Spawn() //----------------------------------------------------------------------------- void CNPC_Mossman::Precache() { - PrecacheModel( "models/mossman.mdl" ); + PrecacheModel( DefaultOrCustomModel( "models/mossman.mdl" ) ); BaseClass::Precache(); } diff --git a/sp/src/game/server/hl2/npc_zombie.cpp b/sp/src/game/server/hl2/npc_zombie.cpp index 83a6ed9e..4699271b 100644 --- a/sp/src/game/server/hl2/npc_zombie.cpp +++ b/sp/src/game/server/hl2/npc_zombie.cpp @@ -250,7 +250,7 @@ void CZombie::Precache( void ) { BaseClass::Precache(); - PrecacheModel( "models/zombie/classic.mdl" ); + PrecacheModel( DefaultOrCustomModel( "models/zombie/classic.mdl" ) ); PrecacheModel( "models/zombie/classic_torso.mdl" ); PrecacheModel( "models/zombie/classic_legs.mdl" ); @@ -515,7 +515,7 @@ void CZombie::SetZombieModel( void ) } else { - SetModel( "models/zombie/classic.mdl" ); + SetModel( DefaultOrCustomModel( "models/zombie/classic.mdl" ) ); SetHullType( HULL_HUMAN ); } diff --git a/sp/src/game/server/hl2/npc_zombine.cpp b/sp/src/game/server/hl2/npc_zombine.cpp index c25104d2..9c9c506f 100644 --- a/sp/src/game/server/hl2/npc_zombine.cpp +++ b/sp/src/game/server/hl2/npc_zombine.cpp @@ -249,7 +249,7 @@ void CNPC_Zombine::Precache( void ) { BaseClass::Precache(); - PrecacheModel( "models/zombie/zombie_soldier.mdl" ); + PrecacheModel( DefaultOrCustomModel( "models/zombie/zombie_soldier.mdl" ) ); PrecacheScriptSound( "Zombie.FootstepRight" ); PrecacheScriptSound( "Zombie.FootstepLeft" ); @@ -270,7 +270,7 @@ void CNPC_Zombine::Precache( void ) void CNPC_Zombine::SetZombieModel( void ) { - SetModel( "models/zombie/zombie_soldier.mdl" ); + SetModel( DefaultOrCustomModel( "models/zombie/zombie_soldier.mdl" ) ); SetHullType( HULL_HUMAN ); SetBodygroup( ZOMBIE_BODYGROUP_HEADCRAB, !m_fIsHeadless );