void CRotatingPickup::Precache() { PrecacheModel( PICKUP_MODEL ); PrecacheScriptSound( "HealthKit.Touch" ); PrecacheScriptSound( "AlyxEmp.Charge" ); PickupDecalIndex = UTIL_PrecacheDecal(PICKUP_DECAL, true ); }
//----------------------------------------------------------------------------- // Purpose: Precache //----------------------------------------------------------------------------- void CNPC_RocketTurret::Precache( void ) { PrecacheModel("effects/bluelaser1.vmt"); m_nSiteHalo = PrecacheModel("sprites/light_glow03.vmt"); PrecacheScriptSound ( ROCKET_TURRET_SOUND_LOCKING ); PrecacheScriptSound ( ROCKET_TURRET_SOUND_LOCKED ); PrecacheScriptSound ( ROCKET_PROJECTILE_FIRE_SOUND ); PrecacheScriptSound ( ROCKET_PROJECTILE_LOOPING_SOUND ); UTIL_PrecacheDecal( ROCKET_TURRET_DECAL_NAME ); PrecacheModel( ROCKET_TURRET_MODEL_NAME ); PrecacheModel ( ROCKET_TURRET_PROJECTILE_NAME ); BaseClass::Precache(); }
bool CProjectedDecal::KeyValue( const char *szKeyName, const char *szValue ) { if (FStrEq(szKeyName, "texture")) { // FIXME: should decals all be preloaded? m_nTexture = UTIL_PrecacheDecal( szValue, true ); // Found if (m_nTexture >= 0 ) return true; Warning( "Can't find decal %s\n", szValue ); } else { return BaseClass::KeyValue( szKeyName, szValue ); } return true; }
//----------------------------------------------------------------------------- // Caches/uncaches resources //----------------------------------------------------------------------------- void CPrecacheHandler::CacheResource( PrecacheResourceType_t nType, const char *pName, bool bPrecache, ResourceList_t hResourceList, int *pIndex ) { if ( bPrecache ) { if ( pIndex ) { *pIndex = 0; } switch( nType ) { case VGUI_RESOURCE: break; case MATERIAL: PrecacheMaterial( pName ); if ( pIndex ) { *pIndex = GetMaterialIndex( pName ); } if ( hResourceList != RESOURCE_LIST_INVALID ) { g_pResourceAccessControl->AddResource( hResourceList, RESOURCE_MATERIAL, pName ); } break; case PARTICLE_MATERIAL: { #ifdef CLIENT_DLL // FIXME: NOTE! This is not 64-bit safe. // Hopefully we can remove PARTICLE_MATERIAL soon though. // It can go away once we retire the old-style particle system int nIndex = (int)( ParticleMgr()->GetPMaterial( pName ) ); #else int nIndex = 0; #endif if ( pIndex ) { *pIndex = nIndex; } } break; case GAME_MATERIAL_DECALS: PrecacheGameMaterialDecals( bPrecache, hResourceList ); break; case PHYSICS_GAMESOUNDS: PrecachePhysicsSounds( pName, bPrecache, hResourceList ); break; case DECAL: { int nIndex = UTIL_PrecacheDecal( pName, true ); if ( pIndex ) { *pIndex = nIndex; } } break; case MODEL: { int nIndex = CBaseEntity::PrecacheModel( pName ); if ( pIndex ) { *pIndex = nIndex; } if ( hResourceList != RESOURCE_LIST_INVALID ) { g_pResourceAccessControl->AddResource( hResourceList, RESOURCE_MODEL, pName ); } } break; case GAMESOUND: { int nIndex = CBaseEntity::PrecacheScriptSound( pName ); if ( pIndex ) { *pIndex = nIndex; } if ( hResourceList != RESOURCE_LIST_INVALID ) { g_pResourceAccessControl->AddResource( hResourceList, RESOURCE_GAMESOUND, pName ); } } break; case PARTICLE_SYSTEM: PrecacheParticleSystem( pName ); if ( pIndex ) { *pIndex = GetParticleSystemIndex( pName ); } if ( hResourceList != RESOURCE_LIST_INVALID ) { g_pResourceAccessControl->AddResource( hResourceList, RESOURCE_PARTICLE_SYSTEM, pName ); } break; case ENTITY: UTIL_PrecacheOther( pName ); break; case SHARED: g_pPrecacheSystem->Cache( this, SHARED_SYSTEM, pName, bPrecache, hResourceList, false ); break; case KV_DEP_FILE: CacheResourceFile( pName, bPrecache, hResourceList ); break; } return; } // Blat out value if ( pIndex ) { *pIndex = 0; } switch( nType ) { case VGUI_RESOURCE: break; case MATERIAL: break; case MODEL: break; case GAMESOUND: break; case PARTICLE_SYSTEM: break; case ENTITY: break; case DECAL: break; case KV_DEP_FILE: break; } }