void CBaseButton::Precache( void ) { char *pszSound; if ( FBitSet ( pev->spawnflags, SF_BUTTON_SPARK_IF_OFF ) )// this button should spark in OFF state { PRECACHE_SOUND ("buttons/spark1.wav"); PRECACHE_SOUND ("buttons/spark2.wav"); PRECACHE_SOUND ("buttons/spark3.wav"); PRECACHE_SOUND ("buttons/spark4.wav"); PRECACHE_SOUND ("buttons/spark5.wav"); PRECACHE_SOUND ("buttons/spark6.wav"); } // get door button sounds, for doors which require buttons to open if (m_bLockedSound) { pszSound = ButtonSound( (int)m_bLockedSound ); PRECACHE_SOUND(pszSound); m_ls.sLockedSound = ALLOC_STRING(pszSound); } if (m_bUnlockedSound) { pszSound = ButtonSound( (int)m_bUnlockedSound ); PRECACHE_SOUND(pszSound); m_ls.sUnlockedSound = ALLOC_STRING(pszSound); } // get sentence group names, for doors which are directly 'touched' to open switch (m_bLockedSentence) { case 1: m_ls.sLockedSentence = MAKE_STRING("NA"); break; // access denied case 2: m_ls.sLockedSentence = MAKE_STRING("ND"); break; // security lockout case 3: m_ls.sLockedSentence = MAKE_STRING("NF"); break; // blast door case 4: m_ls.sLockedSentence = MAKE_STRING("NFIRE"); break; // fire door case 5: m_ls.sLockedSentence = MAKE_STRING("NCHEM"); break; // chemical door case 6: m_ls.sLockedSentence = MAKE_STRING("NRAD"); break; // radiation door case 7: m_ls.sLockedSentence = MAKE_STRING("NCON"); break; // gen containment case 8: m_ls.sLockedSentence = MAKE_STRING("NH"); break; // maintenance door case 9: m_ls.sLockedSentence = MAKE_STRING("NG"); break; // broken door default: m_ls.sLockedSentence = 0; break; } switch (m_bUnlockedSentence) { case 1: m_ls.sUnlockedSentence = MAKE_STRING("EA"); break; // access granted case 2: m_ls.sUnlockedSentence = MAKE_STRING("ED"); break; // security door case 3: m_ls.sUnlockedSentence = MAKE_STRING("EF"); break; // blast door case 4: m_ls.sUnlockedSentence = MAKE_STRING("EFIRE"); break; // fire door case 5: m_ls.sUnlockedSentence = MAKE_STRING("ECHEM"); break; // chemical door case 6: m_ls.sUnlockedSentence = MAKE_STRING("ERAD"); break; // radiation door case 7: m_ls.sUnlockedSentence = MAKE_STRING("ECON"); break; // gen containment case 8: m_ls.sUnlockedSentence = MAKE_STRING("EH"); break; // maintenance door default: m_ls.sUnlockedSentence = 0; break; } }
void Precache( void ) { PRECACHE_MODEL ("models/w_ARgrenade.mdl"); PRECACHE_SOUND("items/9mmclip1.wav"); }
void CBreakable::Precache() { const char *pGibName = NULL; switch (m_Material) { case matWood: pGibName = "models/woodgibs.mdl"; PRECACHE_SOUND("debris/bustcrate1.wav"); PRECACHE_SOUND("debris/bustcrate2.wav"); break; case matFlesh: pGibName = "models/fleshgibs.mdl"; PRECACHE_SOUND("debris/bustflesh1.wav"); PRECACHE_SOUND("debris/bustflesh2.wav"); break; case matComputer: PRECACHE_SOUND("buttons/spark5.wav"); PRECACHE_SOUND("buttons/spark6.wav"); pGibName = "models/computergibs.mdl"; PRECACHE_SOUND("debris/bustmetal1.wav"); PRECACHE_SOUND("debris/bustmetal2.wav"); break; case matGlass: case matUnbreakableGlass: pGibName = "models/glassgibs.mdl"; PRECACHE_SOUND("debris/bustglass1.wav"); PRECACHE_SOUND("debris/bustglass2.wav"); break; case matMetal: pGibName = "models/metalplategibs.mdl"; PRECACHE_SOUND("debris/bustmetal1.wav"); PRECACHE_SOUND("debris/bustmetal2.wav"); break; case matCinderBlock: pGibName = "models/cindergibs.mdl"; PRECACHE_SOUND("debris/bustconcrete1.wav"); PRECACHE_SOUND("debris/bustconcrete2.wav"); break; case matRocks: pGibName = "models/rockgibs.mdl"; PRECACHE_SOUND("debris/bustconcrete1.wav"); PRECACHE_SOUND("debris/bustconcrete2.wav"); break; case matCeilingTile: pGibName = "models/ceilinggibs.mdl"; PRECACHE_SOUND("debris/bustceiling.wav"); break; default: break; } MaterialSoundPrecache(m_Material); if (m_iszGibModel) { pGibName = STRING(m_iszGibModel); } if (pGibName != NULL) { m_idShard = PRECACHE_MODEL((char *)pGibName); } // Precache the spawn item's data if (m_iszSpawnObject) { UTIL_PrecacheOther((char *)STRING(m_iszSpawnObject)); } }
void CWallHealth::Precache(void) { PRECACHE_SOUND("items/medshot4.wav"); PRECACHE_SOUND("items/medshotno1.wav"); PRECACHE_SOUND("items/medcharge4.wav"); }
void Precache( void ) { PRECACHE_MODEL ("models/w_9mmARclip.mdl"); PRECACHE_SOUND("items/9mmclip1.wav"); }
// Precache void CItemArmorRed::Precache( void ) { PRECACHE_MODEL( "models/armour_r.mdl" ); PRECACHE_SOUND( "items/armor1.wav" ); }
void CTentacle :: Precache( ) { PRECACHE_MODEL("models/tentacle2.mdl"); PRECACHE_SOUND("ambience/flies.wav"); PRECACHE_SOUND("ambience/squirm2.wav"); PRECACHE_SOUND("tentacle/te_alert1.wav"); PRECACHE_SOUND("tentacle/te_alert2.wav"); PRECACHE_SOUND("tentacle/te_flies1.wav"); PRECACHE_SOUND("tentacle/te_move1.wav"); PRECACHE_SOUND("tentacle/te_move2.wav"); PRECACHE_SOUND("tentacle/te_roar1.wav"); PRECACHE_SOUND("tentacle/te_roar2.wav"); PRECACHE_SOUND("tentacle/te_search1.wav"); PRECACHE_SOUND("tentacle/te_search2.wav"); PRECACHE_SOUND("tentacle/te_sing1.wav"); PRECACHE_SOUND("tentacle/te_sing2.wav"); PRECACHE_SOUND("tentacle/te_squirm2.wav"); PRECACHE_SOUND("tentacle/te_strike1.wav"); PRECACHE_SOUND("tentacle/te_strike2.wav"); PRECACHE_SOUND("tentacle/te_swing1.wav"); PRECACHE_SOUND("tentacle/te_swing2.wav"); PRECACHE_SOUND_ARRAY( pHitSilo ); PRECACHE_SOUND_ARRAY( pHitDirt ); PRECACHE_SOUND_ARRAY( pHitWater ); }
void CBaseTurret::Precache() { PRECACHE_SOUND("turret/tu_fire1.wav"); PRECACHE_SOUND("turret/tu_ping.wav"); PRECACHE_SOUND("turret/tu_active2.wav"); PRECACHE_SOUND("turret/tu_die.wav"); PRECACHE_SOUND("turret/tu_die2.wav"); PRECACHE_SOUND("turret/tu_die3.wav"); PRECACHE_SOUND("turret/tu_deploy.wav"); PRECACHE_SOUND("turret/tu_spinup.wav"); PRECACHE_SOUND("turret/tu_spindown.wav"); PRECACHE_SOUND("turret/tu_search.wav"); PRECACHE_SOUND("turret/tu_alert.wav"); }
//========================================================= //========================================================= void CRpgRocket :: Precache( void ) { PRECACHE_MODEL("models/rpgrocket.mdl"); m_iTrail = PRECACHE_MODEL("sprites/smoke.spr"); PRECACHE_SOUND ("weapons/rocket1.wav"); }
void CBreakable::PrecacheAll() { PRECACHE_SOUND("debris/bustcrate1.wav"); PRECACHE_SOUND("debris/bustcrate2.wav"); PRECACHE_MODEL("models/fleshgibs.mdl"); PRECACHE_SOUND("debris/bustflesh1.wav"); PRECACHE_SOUND("debris/bustflesh2.wav"); PRECACHE_SOUND("buttons/spark5.wav"); PRECACHE_SOUND("buttons/spark6.wav"); PRECACHE_MODEL("models/computergibs.mdl"); PRECACHE_SOUND("debris/bustmetal1.wav"); PRECACHE_SOUND("debris/bustmetal2.wav"); PRECACHE_MODEL("models/glassgibs.mdl"); PRECACHE_SOUND("debris/bustglass1.wav"); PRECACHE_SOUND("debris/bustglass2.wav"); PRECACHE_MODEL("models/metalplategibs.mdl"); PRECACHE_SOUND("debris/bustmetal1.wav"); PRECACHE_SOUND("debris/bustmetal2.wav"); PRECACHE_MODEL("models/cindergibs.mdl"); PRECACHE_SOUND("debris/bustconcrete1.wav"); PRECACHE_SOUND("debris/bustconcrete2.wav"); PRECACHE_MODEL("models/rockgibs.mdl"); PRECACHE_SOUND("debris/bustconcrete1.wav"); PRECACHE_SOUND("debris/bustconcrete2.wav"); PRECACHE_MODEL("models/ceilinggibs.mdl"); PRECACHE_SOUND("debris/bustceiling.wav"); PRECACHE_SOUND("debris/wood1.wav"); PRECACHE_SOUND("debris/wood2.wav"); PRECACHE_SOUND("debris/wood3.wav"); PRECACHE_MODEL("models/woodgibs.mdl"); for(int i = matGlass; i < matNone; i++) { Materials theMaterial = (Materials)(i); MaterialSoundPrecache(theMaterial); } }
void CFuncMortarField :: Precache( void ) { PRECACHE_SOUND ("weapons/mortar.wav"); PRECACHE_SOUND ("weapons/mortarhit.wav"); PRECACHE_MODEL( "sprites/lgtning.spr" ); }
void CEnvBeverage :: Precache ( void ) { PRECACHE_MODEL( "models/can.mdl" ); PRECACHE_SOUND( "weapons/g_bounce3.wav" ); }
void CMessage::Precache( void ) { if ( pev->noise ) PRECACHE_SOUND( (char *)STRING(pev->noise) ); }
void CRecharge::Precache() { PRECACHE_SOUND("items/suitcharge1.wav"); PRECACHE_SOUND("items/suitchargeno1.wav"); PRECACHE_SOUND("items/suitchargeok1.wav"); }
void ClientPrecache( void ) { // setup precaches always needed PRECACHE_SOUND("player/sprayer.wav"); // spray paint sound for PreAlpha // PRECACHE_SOUND("player/pl_jumpland2.wav"); // UNDONE: play 2x step sound PRECACHE_SOUND("player/pl_fallpain2.wav"); PRECACHE_SOUND("player/pl_fallpain3.wav"); PRECACHE_SOUND("player/pl_step1.wav"); // walk on concrete PRECACHE_SOUND("player/pl_step2.wav"); PRECACHE_SOUND("player/pl_step3.wav"); PRECACHE_SOUND("player/pl_step4.wav"); PRECACHE_SOUND("common/npc_step1.wav"); // NPC walk on concrete PRECACHE_SOUND("common/npc_step2.wav"); PRECACHE_SOUND("common/npc_step3.wav"); PRECACHE_SOUND("common/npc_step4.wav"); PRECACHE_SOUND("player/pl_metal1.wav"); // walk on metal PRECACHE_SOUND("player/pl_metal2.wav"); PRECACHE_SOUND("player/pl_metal3.wav"); PRECACHE_SOUND("player/pl_metal4.wav"); PRECACHE_SOUND("player/pl_dirt1.wav"); // walk on dirt PRECACHE_SOUND("player/pl_dirt2.wav"); PRECACHE_SOUND("player/pl_dirt3.wav"); PRECACHE_SOUND("player/pl_dirt4.wav"); PRECACHE_SOUND("player/pl_duct1.wav"); // walk in duct PRECACHE_SOUND("player/pl_duct2.wav"); PRECACHE_SOUND("player/pl_duct3.wav"); PRECACHE_SOUND("player/pl_duct4.wav"); PRECACHE_SOUND("player/pl_grate1.wav"); // walk on grate PRECACHE_SOUND("player/pl_grate2.wav"); PRECACHE_SOUND("player/pl_grate3.wav"); PRECACHE_SOUND("player/pl_grate4.wav"); PRECACHE_SOUND("player/pl_slosh1.wav"); // walk in shallow water PRECACHE_SOUND("player/pl_slosh2.wav"); PRECACHE_SOUND("player/pl_slosh3.wav"); PRECACHE_SOUND("player/pl_slosh4.wav"); PRECACHE_SOUND("player/pl_tile1.wav"); // walk on tile PRECACHE_SOUND("player/pl_tile2.wav"); PRECACHE_SOUND("player/pl_tile3.wav"); PRECACHE_SOUND("player/pl_tile4.wav"); PRECACHE_SOUND("player/pl_tile5.wav"); PRECACHE_SOUND("player/pl_swim1.wav"); // breathe bubbles PRECACHE_SOUND("player/pl_swim2.wav"); PRECACHE_SOUND("player/pl_swim3.wav"); PRECACHE_SOUND("player/pl_swim4.wav"); PRECACHE_SOUND("player/pl_ladder1.wav"); // climb ladder rung PRECACHE_SOUND("player/pl_ladder2.wav"); PRECACHE_SOUND("player/pl_ladder3.wav"); PRECACHE_SOUND("player/pl_ladder4.wav"); PRECACHE_SOUND("player/pl_wade1.wav"); // wade in water PRECACHE_SOUND("player/pl_wade2.wav"); PRECACHE_SOUND("player/pl_wade3.wav"); PRECACHE_SOUND("player/pl_wade4.wav"); PRECACHE_SOUND("debris/wood1.wav"); // hit wood texture PRECACHE_SOUND("debris/wood2.wav"); PRECACHE_SOUND("debris/wood3.wav"); PRECACHE_SOUND("plats/train_use1.wav"); // use a train PRECACHE_SOUND("buttons/spark5.wav"); // hit computer texture PRECACHE_SOUND("buttons/spark6.wav"); PRECACHE_SOUND("debris/glass1.wav"); PRECACHE_SOUND("debris/glass2.wav"); PRECACHE_SOUND("debris/glass3.wav"); PRECACHE_SOUND( SOUND_FLASHLIGHT_ON ); PRECACHE_SOUND( SOUND_FLASHLIGHT_OFF ); // player gib sounds PRECACHE_SOUND("common/bodysplat.wav"); // player pain sounds PRECACHE_SOUND("player/pl_pain2.wav"); PRECACHE_SOUND("player/pl_pain4.wav"); PRECACHE_SOUND("player/pl_pain5.wav"); PRECACHE_SOUND("player/pl_pain6.wav"); PRECACHE_SOUND("player/pl_pain7.wav"); PRECACHE_MODEL("models/player.mdl"); // hud sounds PRECACHE_SOUND("common/wpn_hudoff.wav"); PRECACHE_SOUND("common/wpn_hudon.wav"); PRECACHE_SOUND("common/wpn_moveselect.wav"); PRECACHE_SOUND("common/wpn_select.wav"); PRECACHE_SOUND("common/wpn_denyselect.wav"); // geiger sounds PRECACHE_SOUND("player/geiger6.wav"); PRECACHE_SOUND("player/geiger5.wav"); PRECACHE_SOUND("player/geiger4.wav"); PRECACHE_SOUND("player/geiger3.wav"); PRECACHE_SOUND("player/geiger2.wav"); PRECACHE_SOUND("player/geiger1.wav"); if (giPrecacheGrunt) UTIL_PrecacheOther("monster_human_grunt"); }
void CGrappleHook :: Precache( void ) { PRECACHE_MODEL( "sprites/_tongue.spr" ); PRECACHE_MODEL( "models/v_bgrap_tonguetip.mdl" ); PRECACHE_SOUND("weapons/bgrapple_impact.wav"); }
// Precache void CItemPowerupRadsuit::Precache( void ) { PRECACHE_MODEL("models/suit.mdl"); PRECACHE_SOUND("items/suit.wav"); PRECACHE_SOUND("items/suit2.wav"); }
//========================================================= // Precache - precaches all resources this monster needs //========================================================= void CShambler :: Precache() { PRECACHE_MODEL( "models/shambler.mdl" ); PRECACHE_MODEL( "models/h_shams.mdl" ); PRECACHE_MODEL( "models/s_light.mdl" ); PRECACHE_MODEL( "models/bolt.mdl" ); PRECACHE_SOUND ("shambler/sattck1.wav"); PRECACHE_SOUND ("shambler/sboom.wav"); PRECACHE_SOUND ("shambler/sdeath.wav"); PRECACHE_SOUND ("shambler/shurt2.wav"); PRECACHE_SOUND ("shambler/sidle.wav"); PRECACHE_SOUND ("shambler/ssight.wav"); PRECACHE_SOUND ("shambler/melee1.wav"); PRECACHE_SOUND ("shambler/melee2.wav"); PRECACHE_SOUND ("shambler/smack.wav"); PRECACHE_SOUND ("shambler/step1.wav"); PRECACHE_SOUND ("shambler/step2.wav"); }
void CWorld :: Precache( void ) { g_pLastSpawn = NULL; #if 1 CVAR_SET_STRING("sv_gravity", "800"); // 67ft/sec CVAR_SET_STRING("sv_stepsize", "18"); #else CVAR_SET_STRING("sv_gravity", "384"); // 32ft/sec CVAR_SET_STRING("sv_stepsize", "24"); #endif CVAR_SET_STRING("room_type", "0");// clear DSP // Set up game rules if (g_pGameRules) { delete g_pGameRules; } g_pGameRules = ( CHalfLifeMultiplay* )InstallGameRules(); //!!!UNDONE why is there so much Spawn code in the Precache function? I'll just keep it here ///!!!LATER - do we want a sound ent in deathmatch? (sjb) //pSoundEnt = CBaseEntity::Create( "soundent", g_vecZero, g_vecZero, edict() ); pSoundEnt = GetClassPtr( ( CSoundEnt *)NULL ); pSoundEnt->Spawn(); if ( !pSoundEnt ) { ALERT ( at_console, "**COULD NOT CREATE SOUNDENT**\n" ); } InitBodyQue(); // init sentence group playback stuff from sentences.txt. // ok to call this multiple times, calls after first are ignored. SENTENCEG_Init(); // init texture type array from materials.txt TEXTURETYPE_Init(); // the area based ambient sounds MUST be the first precache_sounds // player precaches W_Precache (); // get weapon precaches ClientPrecache(); // sounds used from C physics code PRECACHE_SOUND("common/null.wav"); // clears sound channels PRECACHE_SOUND( "items/suitchargeok1.wav" );//!!! temporary sound for respawning weapons. PRECACHE_SOUND( "items/gunpickup2.wav" );// player picks up a gun. PRECACHE_SOUND( "common/bodydrop3.wav" );// dead bodies hitting the ground (animation events) PRECACHE_SOUND( "common/bodydrop4.wav" ); g_Language = (int)CVAR_GET_FLOAT( "sv_language" ); if ( g_Language == LANGUAGE_GERMAN ) { PRECACHE_MODEL( "models/germangibs.mdl" ); } else { PRECACHE_MODEL( "models/hgibs.mdl" ); PRECACHE_MODEL( "models/agibs.mdl" ); } PRECACHE_SOUND ("weapons/ric1.wav"); PRECACHE_SOUND ("weapons/ric2.wav"); PRECACHE_SOUND ("weapons/ric3.wav"); PRECACHE_SOUND ("weapons/ric4.wav"); PRECACHE_SOUND ("weapons/ric5.wav"); // // Setup light animation tables. 'a' is total darkness, 'z' is maxbright. // // 0 normal LIGHT_STYLE(0, "m"); // 1 FLICKER (first variety) LIGHT_STYLE(1, "mmnmmommommnonmmonqnmmo"); // 2 SLOW STRONG PULSE LIGHT_STYLE(2, "abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba"); // 3 CANDLE (first variety) LIGHT_STYLE(3, "mmmmmaaaaammmmmaaaaaabcdefgabcdefg"); // 4 FAST STROBE LIGHT_STYLE(4, "mamamamamama"); // 5 GENTLE PULSE 1 LIGHT_STYLE(5,"jklmnopqrstuvwxyzyxwvutsrqponmlkj"); // 6 FLICKER (second variety) LIGHT_STYLE(6, "nmonqnmomnmomomno"); // 7 CANDLE (second variety) LIGHT_STYLE(7, "mmmaaaabcdefgmmmmaaaammmaamm"); // 8 CANDLE (third variety) LIGHT_STYLE(8, "mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa"); // 9 SLOW STROBE (fourth variety) LIGHT_STYLE(9, "aaaaaaaazzzzzzzz"); // 10 FLUORESCENT FLICKER LIGHT_STYLE(10, "mmamammmmammamamaaamammma"); // 11 SLOW PULSE NOT FADE TO BLACK LIGHT_STYLE(11, "abcdefghijklmnopqrrqponmlkjihgfedcba"); // 12 UNDERWATER LIGHT MUTATION // this light only distorts the lightmap - no contribution // is made to the brightness of affected surfaces LIGHT_STYLE(12, "mmnnmmnnnmmnn"); // styles 32-62 are assigned by the light program for switchable lights // 63 testing LIGHT_STYLE(63, "a"); for ( int i = 0; i < ARRAYSIZE(gDecals); i++ ) gDecals[i].index = DECAL_INDEX( gDecals[i].name ); // init the WorldGraph. WorldGraph.InitGraph(); // make sure the .NOD file is newer than the .BSP file. if ( !WorldGraph.CheckNODFile ( ( char * )STRING( gpGlobals->mapname ) ) ) {// NOD file is not present, or is older than the BSP file. WorldGraph.AllocNodes (); } else {// Load the node graph for this level if ( !WorldGraph.FLoadGraph ( (char *)STRING( gpGlobals->mapname ) ) ) {// couldn't load, so alloc and prepare to build a graph. ALERT ( at_console, "*Error opening .NOD file\n" ); WorldGraph.AllocNodes (); } else { ALERT ( at_console, "\n*Graph Loaded!\n" ); } } if ( pev->speed > 0 ) CVAR_SET_FLOAT( "sv_zmax", pev->speed ); else CVAR_SET_FLOAT( "sv_zmax", 4096 ); if ( pev->netname ) { ALERT( at_aiconsole, "Chapter title: %s\n", STRING(pev->netname) ); CBaseEntity *pEntity = CBaseEntity::Create( "env_message", g_vecZero, g_vecZero, NULL ); if ( pEntity ) { pEntity->SetThink( &CBaseEntity::SUB_CallUseToggle ); pEntity->pev->message = pev->netname; pev->netname = 0; pEntity->pev->nextthink = gpGlobals->time + 0.3; pEntity->pev->spawnflags = SF_MESSAGE_ONCE; } } if ( pev->spawnflags & SF_WORLD_DARK ) CVAR_SET_FLOAT( "v_dark", 1.0 ); else CVAR_SET_FLOAT( "v_dark", 0.0 ); if ( pev->spawnflags & SF_WORLD_TITLE ) gDisplayTitle = TRUE; // display the game title if this key is set else gDisplayTitle = FALSE; if ( pev->spawnflags & SF_WORLD_FORCETEAM ) { CVAR_SET_FLOAT( "mp_defaultteam", 1 ); } else { CVAR_SET_FLOAT( "mp_defaultteam", 0 ); } }
// called by worldspawn void W_Precache(void) { memset( CBasePlayerItem::ItemInfoArray, 0, sizeof(CBasePlayerItem::ItemInfoArray) ); memset( CBasePlayerItem::AmmoInfoArray, 0, sizeof(CBasePlayerItem::AmmoInfoArray) ); giAmmoIndex = 0; // custom items... // common world objects UTIL_PrecacheOther( "item_suit" ); UTIL_PrecacheOther( "item_battery" ); UTIL_PrecacheOther( "item_antidote" ); UTIL_PrecacheOther( "item_security" ); UTIL_PrecacheOther( "item_longjump" ); // shotgun UTIL_PrecacheOtherWeapon( "weapon_shotgun" ); UTIL_PrecacheOther( "ammo_buckshot" ); // crowbar UTIL_PrecacheOtherWeapon( "weapon_crowbar" ); // glock UTIL_PrecacheOtherWeapon( "weapon_9mmhandgun" ); UTIL_PrecacheOther( "ammo_9mmclip" ); // mp5 UTIL_PrecacheOtherWeapon( "weapon_9mmAR" ); UTIL_PrecacheOther( "ammo_9mmAR" ); UTIL_PrecacheOther( "ammo_ARgrenades" ); #if !defined( OEM_BUILD ) && !defined( HLDEMO_BUILD ) // python UTIL_PrecacheOtherWeapon( "weapon_357" ); UTIL_PrecacheOther( "ammo_357" ); #endif #if !defined( OEM_BUILD ) && !defined( HLDEMO_BUILD ) // gauss UTIL_PrecacheOtherWeapon( "weapon_gauss" ); UTIL_PrecacheOther( "ammo_gaussclip" ); #endif #if !defined( OEM_BUILD ) && !defined( HLDEMO_BUILD ) // rpg UTIL_PrecacheOtherWeapon( "weapon_rpg" ); UTIL_PrecacheOther( "ammo_rpgclip" ); #endif #if !defined( OEM_BUILD ) && !defined( HLDEMO_BUILD ) // crossbow UTIL_PrecacheOtherWeapon( "weapon_crossbow" ); UTIL_PrecacheOther( "ammo_crossbow" ); #endif #if !defined( OEM_BUILD ) && !defined( HLDEMO_BUILD ) // egon UTIL_PrecacheOtherWeapon( "weapon_egon" ); #endif // tripmine UTIL_PrecacheOtherWeapon( "weapon_tripmine" ); #if !defined( OEM_BUILD ) && !defined( HLDEMO_BUILD ) // satchel charge UTIL_PrecacheOtherWeapon( "weapon_satchel" ); #endif // hand grenade UTIL_PrecacheOtherWeapon("weapon_handgrenade"); #if !defined( OEM_BUILD ) && !defined( HLDEMO_BUILD ) // squeak grenade UTIL_PrecacheOtherWeapon( "weapon_snark" ); #endif #if !defined( OEM_BUILD ) && !defined( HLDEMO_BUILD ) // hornetgun UTIL_PrecacheOtherWeapon( "weapon_hornetgun" ); #endif #if !defined( OEM_BUILD ) && !defined( HLDEMO_BUILD ) if ( g_pGameRules->IsDeathmatch() ) { UTIL_PrecacheOther( "weaponbox" );// container for dropped deathmatch weapons } #endif g_sModelIndexFireball = PRECACHE_MODEL ("sprites/zerogxplode.spr");// fireball g_sModelIndexWExplosion = PRECACHE_MODEL ("sprites/WXplo1.spr");// underwater fireball g_sModelIndexSmoke = PRECACHE_MODEL ("sprites/steam1.spr");// smoke g_sModelIndexBubbles = PRECACHE_MODEL ("sprites/bubble.spr");//bubbles g_sModelIndexBloodSpray = PRECACHE_MODEL ("sprites/bloodspray.spr"); // initial blood g_sModelIndexBloodDrop = PRECACHE_MODEL ("sprites/blood.spr"); // splattered blood g_sModelIndexLaser = PRECACHE_MODEL( (char *)g_pModelNameLaser ); g_sModelIndexLaserDot = PRECACHE_MODEL("sprites/laserdot.spr"); // used by explosions PRECACHE_MODEL ("models/grenade.mdl"); PRECACHE_MODEL ("sprites/explode1.spr"); PRECACHE_SOUND ("weapons/debris1.wav");// explosion aftermaths PRECACHE_SOUND ("weapons/debris2.wav");// explosion aftermaths PRECACHE_SOUND ("weapons/debris3.wav");// explosion aftermaths PRECACHE_SOUND ("weapons/grenade_hit1.wav");//grenade PRECACHE_SOUND ("weapons/grenade_hit2.wav");//grenade PRECACHE_SOUND ("weapons/grenade_hit3.wav");//grenade PRECACHE_SOUND ("weapons/bullet_hit1.wav"); // hit by bullet PRECACHE_SOUND ("weapons/bullet_hit2.wav"); // hit by bullet PRECACHE_SOUND ("items/weapondrop1.wav");// weapon falls to the ground }
/* <6924c> ../cstrike/dlls/doors.cpp:359 */ void CBaseDoor::__MAKE_VHOOK(Precache)(void) { char *pszSound; // set the door's "in-motion" sound switch (m_bMoveSnd) { case 0: pev->noiseMoving = ALLOC_STRING("common/null.wav"); break; case 1: PRECACHE_SOUND("doors/doormove1.wav"); pev->noiseMoving = ALLOC_STRING("doors/doormove1.wav"); break; case 2: PRECACHE_SOUND("doors/doormove2.wav"); pev->noiseMoving = ALLOC_STRING("doors/doormove2.wav"); break; case 3: PRECACHE_SOUND("doors/doormove3.wav"); pev->noiseMoving = ALLOC_STRING("doors/doormove3.wav"); break; case 4: PRECACHE_SOUND("doors/doormove4.wav"); pev->noiseMoving = ALLOC_STRING("doors/doormove4.wav"); break; case 5: PRECACHE_SOUND("doors/doormove5.wav"); pev->noiseMoving = ALLOC_STRING("doors/doormove5.wav"); break; case 6: PRECACHE_SOUND("doors/doormove6.wav"); pev->noiseMoving = ALLOC_STRING("doors/doormove6.wav"); break; case 7: PRECACHE_SOUND("doors/doormove7.wav"); pev->noiseMoving = ALLOC_STRING("doors/doormove7.wav"); break; case 8: PRECACHE_SOUND("doors/doormove8.wav"); pev->noiseMoving = ALLOC_STRING("doors/doormove8.wav"); break; case 9: PRECACHE_SOUND("doors/doormove9.wav"); pev->noiseMoving = ALLOC_STRING("doors/doormove9.wav"); break; case 10: PRECACHE_SOUND("doors/doormove10.wav"); pev->noiseMoving = ALLOC_STRING("doors/doormove10.wav"); break; default: pev->noiseMoving = ALLOC_STRING("common/null.wav"); break; } // set the door's 'reached destination' stop sound switch (m_bStopSnd) { case 0: pev->noiseArrived = ALLOC_STRING("common/null.wav"); break; case 1: PRECACHE_SOUND("doors/doorstop1.wav"); pev->noiseArrived = ALLOC_STRING("doors/doorstop1.wav"); break; case 2: PRECACHE_SOUND("doors/doorstop2.wav"); pev->noiseArrived = ALLOC_STRING("doors/doorstop2.wav"); break; case 3: PRECACHE_SOUND("doors/doorstop3.wav"); pev->noiseArrived = ALLOC_STRING("doors/doorstop3.wav"); break; case 4: PRECACHE_SOUND("doors/doorstop4.wav"); pev->noiseArrived = ALLOC_STRING("doors/doorstop4.wav"); break; case 5: PRECACHE_SOUND("doors/doorstop5.wav"); pev->noiseArrived = ALLOC_STRING("doors/doorstop5.wav"); break; case 6: PRECACHE_SOUND("doors/doorstop6.wav"); pev->noiseArrived = ALLOC_STRING("doors/doorstop6.wav"); break; case 7: PRECACHE_SOUND("doors/doorstop7.wav"); pev->noiseArrived = ALLOC_STRING("doors/doorstop7.wav"); break; case 8: PRECACHE_SOUND("doors/doorstop8.wav"); pev->noiseArrived = ALLOC_STRING("doors/doorstop8.wav"); break; default: pev->noiseArrived = ALLOC_STRING("common/null.wav"); break; } // get door button sounds, for doors which are directly 'touched' to open if (m_bLockedSound) { pszSound = ButtonSound((int)m_bLockedSound); PRECACHE_SOUND(pszSound); m_ls.sLockedSound = ALLOC_STRING(pszSound); } if (m_bUnlockedSound) { pszSound = ButtonSound((int)m_bUnlockedSound); PRECACHE_SOUND(pszSound); m_ls.sUnlockedSound = ALLOC_STRING(pszSound); } // get sentence group names, for doors which are directly 'touched' to open switch (m_bLockedSentence) { case 1: m_ls.sLockedSentence = ALLOC_STRING("NA"); break; // access denied case 2: m_ls.sLockedSentence = ALLOC_STRING("ND"); break; // security lockout case 3: m_ls.sLockedSentence = ALLOC_STRING("NF"); break; // blast door case 4: m_ls.sLockedSentence = ALLOC_STRING("NFIRE"); break; // fire door case 5: m_ls.sLockedSentence = ALLOC_STRING("NCHEM"); break; // chemical door case 6: m_ls.sLockedSentence = ALLOC_STRING("NRAD"); break; // radiation door case 7: m_ls.sLockedSentence = ALLOC_STRING("NCON"); break; // gen containment case 8: m_ls.sLockedSentence = ALLOC_STRING("NH"); break; // maintenance door case 9: m_ls.sLockedSentence = ALLOC_STRING("NG"); break; // broken door default: m_ls.sLockedSentence = 0; break; } switch (m_bUnlockedSentence) { case 1: m_ls.sUnlockedSentence = ALLOC_STRING("EA"); break; // access granted case 2: m_ls.sUnlockedSentence = ALLOC_STRING("ED"); break; // security door case 3: m_ls.sUnlockedSentence = ALLOC_STRING("EF"); break; // blast door case 4: m_ls.sUnlockedSentence = ALLOC_STRING("EFIRE"); break; // fire door case 5: m_ls.sUnlockedSentence = ALLOC_STRING("ECHEM"); break; // chemical door case 6: m_ls.sUnlockedSentence = ALLOC_STRING("ERAD"); break; // radiation door case 7: m_ls.sUnlockedSentence = ALLOC_STRING("ECON"); break; // gen containment case 8: m_ls.sUnlockedSentence = ALLOC_STRING("EH"); break; // maintenance door default: m_ls.sUnlockedSentence = 0; break; } }
void CItemSuit::__MAKE_VHOOK(Precache)() { PRECACHE_MODEL("models/w_kevlar.mdl"); PRECACHE_SOUND("items/tr_kevlar.wav"); }
void CHealthKit::Precache(void) { PRECACHE_MODEL("models/w_medkit.mdl"); PRECACHE_SOUND("items/smallmedkit1.wav"); }
void CItemBattery::__MAKE_VHOOK(Precache)() { PRECACHE_MODEL("models/w_battery.mdl"); PRECACHE_SOUND("items/gunpickup2.wav"); }
void Precache( void ) { PRECACHE_MODEL ("models/w_chainammo.mdl"); PRECACHE_SOUND("items/9mmclip1.wav"); }
void CBaseTurret::Precache( ) { PRECACHE_SOUND ("turret/tu_fire1.wav"); PRECACHE_SOUND (this->GetPingSound()); PRECACHE_SOUND (this->GetActiveSound()); PRECACHE_SOUND ("turret/tu_die.wav"); PRECACHE_SOUND ("turret/tu_die2.wav"); PRECACHE_SOUND ("turret/tu_die3.wav"); PRECACHE_SOUND ("turret/tu_active2.wav"); // PRECACHE_SOUND ("turret/tu_retract.wav"); // just use deploy sound to save memory PRECACHE_SOUND (this->GetDeploySound()); PRECACHE_SOUND ("turret/tu_spinup.wav"); PRECACHE_SOUND ("turret/tu_spindown.wav"); PRECACHE_SOUND (this->GetAlertSound()); }
void CControllerHeadBall :: Precache( void ) { PRECACHE_MODEL("sprites/xspark1.spr"); PRECACHE_SOUND("debris/zap4.wav"); PRECACHE_SOUND("weapons/electro4.wav"); }
//========================================================= // Precache - precaches all resources this monster needs //========================================================= void CISlave :: Precache() { int i; PRECACHE_MODEL("models/islave.mdl"); PRECACHE_MODEL("sprites/lgtning.spr"); PRECACHE_SOUND("debris/zap1.wav"); PRECACHE_SOUND("debris/zap4.wav"); PRECACHE_SOUND("weapons/electro4.wav"); PRECACHE_SOUND("hassault/hw_shoot1.wav"); PRECACHE_SOUND("zombie/zo_pain2.wav"); PRECACHE_SOUND("headcrab/hc_headbite.wav"); PRECACHE_SOUND("weapons/cbar_miss1.wav"); for ( i = 0; i < ARRAYSIZE( pAttackHitSounds ); i++ ) PRECACHE_SOUND((char *)pAttackHitSounds[i]); for ( i = 0; i < ARRAYSIZE( pAttackMissSounds ); i++ ) PRECACHE_SOUND((char *)pAttackMissSounds[i]); for ( i = 0; i < ARRAYSIZE( pPainSounds ); i++ ) PRECACHE_SOUND((char *)pPainSounds[i]); for ( i = 0; i < ARRAYSIZE( pDeathSounds ); i++ ) PRECACHE_SOUND((char *)pDeathSounds[i]); UTIL_PrecacheOther( "test_effect" ); }
/* <25c2c> ../cstrike/dlls/buttons.cpp:442 */ void CBaseButton::__MAKE_VHOOK(Spawn)() { char *pszSound; //---------------------------------------------------- //determine sounds for buttons //a sound of 0 should not make a sound //---------------------------------------------------- pszSound = ButtonSound(m_sounds); PRECACHE_SOUND(pszSound); pev->noise = ALLOC_STRING(pszSound); Precache(); // this button should spark in OFF state if (pev->spawnflags & SF_BUTTON_SPARK_IF_OFF) { SetThink(&CBaseButton::ButtonSpark); // no hurry, make sure everything else spawns pev->nextthink = gpGlobals->time + 0.5; } SetMovedir(pev); pev->movetype = MOVETYPE_PUSH; pev->solid = SOLID_BSP; SET_MODEL(ENT(pev), STRING(pev->model)); if (pev->speed == 0) pev->speed = 40; if (pev->health > 0) { pev->takedamage = DAMAGE_YES; } if (m_flWait == 0) { m_flWait = 1; } if (m_flLip == 0) { m_flLip = 4; } m_toggle_state = TS_AT_BOTTOM; m_vecPosition1 = pev->origin; // Subtract 2 from size because the engine expands bboxes by 1 in all directions making the size too big m_vecPosition2 = m_vecPosition1 + (pev->movedir * (fabs((float_precision)(pev->movedir.x * (pev->size.x - 2))) + fabs((float_precision)(pev->movedir.y * (pev->size.y - 2))) + fabs((float_precision)(pev->movedir.z * (pev->size.z - 2))) - m_flLip)); // Is this a non-moving button? if (((m_vecPosition2 - m_vecPosition1).Length() < 1) || (pev->spawnflags & SF_BUTTON_DONTMOVE)) { m_vecPosition2 = m_vecPosition1; } m_fStayPushed = (m_flWait == -1 ? TRUE : FALSE); m_fRotating = FALSE; // if the button is flagged for USE button activation only, take away it's touch function and add a use function // touchable button if (pev->spawnflags & SF_BUTTON_TOUCH_ONLY) { SetTouch(&CBaseButton::ButtonTouch); } else { SetTouch(NULL); SetUse(&CBaseButton::ButtonUse); } }
void CWorld :: Precache( void ) { //LRC - set up the world lists g_pWorld = this; m_pAssistLink = NULL; m_pFirstAlias = NULL; // ALERT(at_console, "Clearing AssistList\n"); g_pLastSpawn = NULL; #if 1 CVAR_SET_STRING("sv_gravity", "800"); // 67ft/sec CVAR_SET_STRING("sv_stepsize", "18"); #else CVAR_SET_STRING("sv_gravity", "384"); // 32ft/sec CVAR_SET_STRING("sv_stepsize", "24"); #endif CVAR_SET_STRING("room_type", "0");// clear DSP // Set up game rules if (g_pGameRules) { delete g_pGameRules; } g_pGameRules = InstallGameRules( ); //!!!UNDONE why is there so much Spawn code in the Precache function? I'll just keep it here ///!!!LATER - do we want a sound ent in deathmatch? (sjb) //pSoundEnt = CBaseEntity::Create( "soundent", g_vecZero, g_vecZero, edict() ); pSoundEnt = GetClassPtr( ( CSoundEnt *)NULL ); pSoundEnt->Spawn(); if ( !pSoundEnt ) { ALERT ( at_debug, "**COULD NOT CREATE SOUNDENT**\n" ); } InitBodyQue(); // init sentence group playback stuff from sentences.txt. // ok to call this multiple times, calls after first are ignored. SENTENCEG_Init(); // init texture type array from materials.txt TEXTURETYPE_Init(); // the area based ambient sounds MUST be the first precache_sounds // player precaches W_Precache (); // get weapon precaches ClientPrecache(); // sounds used from C physics code PRECACHE_SOUND("common/null.wav"); // clears sound channels PRECACHE_SOUND( "items/suitchargeok1.wav" );//!!! temporary sound for respawning weapons. PRECACHE_SOUND( "items/gunpickup2.wav" );// player picks up a gun. PRECACHE_SOUND( "common/bodydrop3.wav" );// dead bodies hitting the ground (animation events) PRECACHE_SOUND( "common/bodydrop4.wav" ); g_Language = (int)CVAR_GET_FLOAT( "sv_language" ); if ( g_Language == LANGUAGE_GERMAN ) { PRECACHE_MODEL( "models/germangibs.mdl" ); } else { PRECACHE_MODEL( "models/hgibs.mdl" ); PRECACHE_MODEL( "models/agibs.mdl" ); } PRECACHE_SOUND ("weapons/ric1.wav"); PRECACHE_SOUND ("weapons/ric2.wav"); PRECACHE_SOUND ("weapons/ric3.wav"); PRECACHE_SOUND ("weapons/ric4.wav"); PRECACHE_SOUND ("weapons/ric5.wav"); PRECACHE_MODEL( "sprites/null.spr" ); //LRC // // Setup light animation tables. 'a' is total darkness, 'z' is maxbright. // int i; // 0 normal for (i = 0; i <= 13; i++) { LIGHT_STYLE(i, (char*)STRING(GetStdLightStyle(i))); } // styles 32-62 are assigned by the light program for switchable lights // 63 testing LIGHT_STYLE(63, "a"); for (i = 0; i < ARRAYSIZE(gDecals); i++ ) gDecals[i].index = DECAL_INDEX( gDecals[i].name ); // init the WorldGraph. WorldGraph.InitGraph(); // make sure the .NOD file is newer than the .BSP file. if ( !WorldGraph.CheckNODFile ( ( char * )STRING( gpGlobals->mapname ) ) ) {// NOD file is not present, or is older than the BSP file. WorldGraph.AllocNodes (); } else {// Load the node graph for this level if ( !WorldGraph.FLoadGraph ( (char *)STRING( gpGlobals->mapname ) ) ) {// couldn't load, so alloc and prepare to build a graph. ALERT ( at_debug, "*Error opening .NOD file\n" ); WorldGraph.AllocNodes (); } else { ALERT ( at_debug, "\n*Graph Loaded!\n" ); } } if ( pev->speed > 0 ) CVAR_SET_FLOAT( "sv_zmax", pev->speed ); else CVAR_SET_FLOAT( "sv_zmax", 4096 ); if ( pev->netname ) { ALERT( at_aiconsole, "Chapter title: %s\n", STRING(pev->netname) ); CBaseEntity *pEntity = CBaseEntity::Create( "env_message", g_vecZero, g_vecZero, NULL ); if ( pEntity ) { pEntity->SetThink(&CWorld::SUB_CallUseToggle ); pEntity->pev->message = pev->netname; pev->netname = 0; pEntity->SetNextThink( 0.3 ); pEntity->pev->spawnflags = SF_MESSAGE_ONCE; } } if ( pev->spawnflags & SF_WORLD_DARK ) CVAR_SET_FLOAT( "v_dark", 1.0 ); else CVAR_SET_FLOAT( "v_dark", 0.0 ); if ( pev->spawnflags & SF_WORLD_TITLE ) gDisplayTitle = TRUE; // display the game title if this key is set else gDisplayTitle = FALSE; if ( pev->spawnflags & SF_WORLD_FORCETEAM ) { CVAR_SET_FLOAT( "mp_defaultteam", 1 ); } else { CVAR_SET_FLOAT( "mp_defaultteam", 0 ); } }