Improved custom model support on most NPCs

Co-authored-by: Maestra Fenix <fenixmaestro@gmail.com>
This commit is contained in:
ALLEN-PC\acj30 2025-05-25 23:00:26 -05:00 committed by Blixibon
parent ec55c3011d
commit 3d435c6dec
13 changed files with 30 additions and 31 deletions

View File

@ -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);
}

View File

@ -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" );
}

View File

@ -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);

View File

@ -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:

View File

@ -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();
}

View File

@ -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" );

View File

@ -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);
}

View File

@ -133,7 +133,7 @@ END_DATADESC()
//-----------------------------------------------------------------------------
void CNPC_Fisherman::SelectModel()
{
SetModelName( AllocPooledString( FISHERMAN_MODEL ) );
SetModelName( AllocPooledString( DefaultOrCustomModel( FISHERMAN_MODEL ) ) );
}
//-----------------------------------------------------------------------------

View File

@ -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();
}

View File

@ -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();

View File

@ -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();
}

View File

@ -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 );
}

View File

@ -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 );