Mail has been fixed; you should now be able to confirm your e-mail address, watch pages, and the like.
Please report any issues on Discord.

Half-Life 2 (Windows)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Half-Life 2

Developer: Valve
Publishers: Valve, Sierra Entertainment, Vivendi Universal Games
Platforms: Windows, Mac OS X, Linux
Released in US: November 16, 2004, May 26, 2010 (Mac OS X), June 27, 2013 (Linux)
Released in EU: November 16, 2004, May 26, 2010 (Mac OS X)


AnimationsIcon.png This game has unused animations.
AreasIcon.png This game has unused areas.
CodeIcon.png This game has unused code.
SourceIcon.png This game has uncompiled source code.
GraphicsIcon.png This game has unused graphics.
ModelsIcon.png This game has unused models.
MovieIcon.png This game has unused cinematics.
ItemsIcon.png This game has unused items.
Sgf2-unusedicon1.png This game has unused abilities.
SoundIcon.png This game has unused sounds.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.


ProtoIcon.png This game has a prototype article

Hmmm...
To do:
A whole lot:
  • Various models have unused features not seen in gameplay when loaded into an editor/viewer.
  • There are revisional differences on this game which involves graphical update between the original release and the 2010 update.
  • The old HUD design is still in the files as well.
  • The "dev" folder in the textures folder contains a ton of unused textures, including some really old brick, metal, and sign textures.
  • The Missile Defense from the prototype has its entity npc_missiledefense in the game unused.
  • Document proto_sniper.
  • ShaderTest folder is filled with unused testing models.
  • Document weapon_sniperrifle, weapon_flaregun, weapon_irifle, MP3 Player (Disabled features that can be found in SDK)

Half-Life 2 is a game where the right crowbar in the wrong hand will make all the difference in the world.

Sub-Pages

Read about prototype versions of this game that have been released or dumped.
Prototypes

Debugging Features

Debug Menu

HL2-DebugMenu.png
The debug menu can be activated by pressing [Shift+F1], and displays a collection of multiple shortcuts to console commands. You still need sv_cheats 1 for many of these shortcuts to function correctly. The window can be closed by pressing [Shift+F1] again. Closing the window by clicking on the "X" will not disable the overlay, just hide the window.

The debug menu loads its interface from the script file "debugoptions.txt." The file uses the following format:

DebugMenu
{
	"width"	"512"
	"height" "300"

	"<tab>" // a tab on the debug panel
	{
		"<command>" // adds a button that executes a command when clicked
		{
			"command" "<command>" // console command to execute
		}
		"<toggle>" // checkbox that toggles a cvar between 1 and 0
		{
			"togglecvar" "<cvar>" // cvar to toggle
		}
		"<increment>" // button that cycles through options for a cvar
		{
			"incrementcvar" "<cvar> 0 5 10 15" // cvar, followed by the numbers to cycle through
		}
	}
}

The menu also exists in practically all games that use the "Source 1" engine.

Unused Weapons

A number of non-player weapons have varying levels of implementation for player usage.

Alyx's Gun

HL2-weapon alyxgun-ingame.png
The gun used by Alyx (weapon_alyxgun). Can only be obtained by typing give weapon_alyxgun in the console (it must be picked up manually after closing the console, as it spawns on the ground). The viewmodel is glitched due to it using the worldmodel instead, and will block the player's vision frequently. The gun has semi-auto and full-auto modes which can be swapped with "secondary attack" button. Both modes do the same amount of damage (about as much damage as the retail pistol), but neither mode has any recoil, and both modes are about as accurate as the pistol. As noted below, there was also evidently a rifle mode planned at some point.

Picking up the gun will have it show up in 5th pistol category slot for unknown reasons. It has one full clip loaded and none in reserve, and the only known way to get more ammo would be to use the givecurrentammo command, which will max out your ammo to 150 (180 including the loaded clip). This can be increased by using the command sk_max_alyxgun #, # being the amount of ammo you want.

Annabelle

HL2 annabelle unused weapon.png
Father Grigori's rifle (weapon_annabelle). Can only be obtained by typing give weapon_annebelle in the console. It has a two-bullet tube magazine and shares ammo with the revolver. The viewmodel is identical to the retail shotgun. It does the same amount of damage as the revolver, but will only reload a single bullet when emptied. Upon reloading manually, console errors reference an incorrect call to the retail shotgun reload, and the weapon is reloaded instantly at full capacity. Despite sounding and looking like a shotgun, it fires a single bullet like the revolver, and has zero recoil.

It occupies the same slot as the AR2, and if you press 3 to select the AR2, you'll pull out the Annabelle instead. This is the only way to reequip it apart from pressing the "last weapon used" key...if it was your last used weapon.

Food Package

Half-Life 2-weapon citizenpackage-ingame.png
The food package (weapon_citizenpackage). Can only be obtained by typing give weapon_citizenpackage in the console. It has no proper viewmodel, instead using its worldmodel, though it lines up decently with how other weapons are held by the player. Comments in the weapon's coding reveal that it's a weapon because NPCs are able to carry weapons, but can not pick up or wield normal objects, so any objects the devs wanted citizens to hold needed to be coded as a "weapon".

   // Citizen package. Not really a weapon, just needs to be a visible model for citizens to open.

Two things of note are that its pickup icon reuses the shotgun's, and that it occupies the same slot as the SMG, but it doesn't have its own selectable slot, meaning that like Annabelle, you can only reequip it if you press the "last weapon used" key or press 3 on the keyboard and then fire.

Suitcase

HL2-weapon citizensuitcase.png
A suitcase (weapon_citizensuitcase). Can only be obtained by typing give weapon_citizensuitcase in the console. It has no proper viewmodel, instead using its worldmodel which blocks most of the player's vision, as it's placed almost directly in front of Gordon's face. Like the food package, it was coded as a weapon to allow citizens to carry it around, even going as far to have the exact same comment as the food package in its coding. Also like the food package, it's in the same "slot" as the SMG, but doesn't actually show up in your weapons, and can only be reequiped using the same methods as the food package (pressing 3 will not work if you already have the package).

Interestingly, it seems to use the MP5K icon from the prototype as its pickup icon.

Stunstick

The Stunstick from the Half-Life 2 prototype kept its viewmodel, along with the early suit color. However, there is no way to wield it in the retail, as picking one up gives armor instead. Valve updated and completed this weapon for Half-Life 2: Deathmatch.

To remove the armor pickup: open src/hl2/hl2_player.cpp in the Source SDK and comment or remove the following section:

#ifndef HL2MP	
	if ( pWeapon->ClassMatches( "weapon_stunstick" ) )
	{
		if ( ApplyBattery( 0.5 ) )
			UTIL_Remove( pWeapon );
		return false;
	}
#endif

Unused Items

Sniper Rounds

Halflife2 Sniperrounds 2.png

The sniper ammo (item_box_sniper_rounds) from the prototype was kept in the final game. It can be spawned using ent_create item_box_sniper_rounds and picked up, but no weapon in the game uses this type of ammo. It also has no physics, but will still produce bullet holes if shot at. The original box texture has been replaced with a pink texture saying "OBSOL33T" (obsolete in "leet speak") in cyan letters. Why it wasn't just removed outright is unknown.

Flare Rounds

Hl2-boxflares-mdl.pngHl2 flarerounds.png

Flare rounds (item_box_flare_round and item_flare_round) still exist in the final game and can be spawned with ent_create item_box_flare_rounds/item_flare_round, but cannot be picked up due to the ammo coding having been removed. However, the console will give constant errors stating that it's attempting to give the player an unknown "FlareRound" ammo type as long as they player stands over them. Like the sniper rounds, neither of these have physics but will produce bullet holes if shot at.

Unused Animations

Careful, you'll lose an eye.
This page or section needs more images.
There's a whole lotta words here, but not enough pictures. Please fix this.
Specifically: Get animations of these things in action if possible.

Weapon Animations

Alyx's gun has unused animations that show it transforming into a SMG and a rifle. However, no idle animation for these modes exist. In addition, Alyx herself has animations for changing the pistol into an SMG, and the SMG to a rifle, but not back to the pistol or directly to rifle mode.

Used Unused

Firing Animations

  • The Combine soldiers possess an unused firing animation for the HMG1 as well as animations for placing and rolling grenades.
  • The poison headcrab has an unused animation, depicting it spitting something from its mouth, most likely poison. There is no data about the fired projectile or its effect on the player however.

Struggling Animations

Vortigaunts have unused animations for being grabbed by Barnacles, reminiscent of the behaviour of human NPCs in Half-Life. However, these go unused, as they are instantly killed and turned into a ragdoll upon being strangled by one, like all other NPCs. In addition, game files mark such events as "legacy content".

Leftover Citizen Animations

Due to how animation files are shared between models, key NPCs like Breen and Alyx have access to all of the regular animations despite only using a few.

Unused Models/Textures

Half-Life 2 PC Breen fakemonitor 00 00 00.pngHalf-Life 2 PC Breen fakemonitor 01 00 00.pngHalf-Life 2 PC Breen fakemonitor 02 00 00.png

An unused 3-frame placeholder animation for the City 17 screens, named breen_fakemonitor_.vtf.

Half Life 2 Dummy Texture.png

A dummy texture can be found in the engine folder of hl2_textures_dir.vpk.

matsys_regressiontest/background

Hmmm...
To do:
Whose cat is this, though?

HL2-matsys regressiontest-background.png

Inside an inconspicuously named folder is this picture of a cat. This is probably the most well-known unused texture from Half-Life, due to how frequently it crops up in various Garry's Mod miscellany.

This texture was apparently meant for regression testing while they were rewriting the materials system for The Orange Box, and somehow it made it all the way into the final release.

Gordon Silhouette

A weird, chrome-textured "silhouette" model of Half-Life Gordon can be found. It was clearly not meant to ever be seen in gameplay as it is more or less a statue, possibly used for referencing where the player would be standing. Can be seen via thirdperson command.

Early HUD Icons

Weapon icons from the prototype still exist inside the game's files. The final game instead stores them in fonts. There are also graphics for Half-Life weapons scattered around, intended to be used for its Source engine port, Half-Life: Source.

Half-Life 2-w icons1.png Half-Life 2-w icons1b.png

Half-Life 2-w icons2.png Half-Life 2-w icons2b.png

Half-Life 2-w icons3.png Half-Life 2-w icons3b.png

ARR! Camera

TF2 Camera.png

A lightly rebranded Arriflex 435ES movie camera with a highly detailed model. Also exists in Team Fortress 2.

boxrocket_chell_head

Hmmm...
To do:
Texture/texture on model comparison with used version.

Seems to be for an early version of Portal's Chell's facemap. There are no models to this, only textures. "Boxrocket" is the codename used for the Source Filmmaker, which had been released with the TF2 update Meet the Pyro in 2012.

This is not present in the 2004 retail version, but was added when Portal was released.

perftest

The perftest folder contains a few resources, mostly from the original Half-Life, that were used for testing.

HL G-Man. His original animations exist. This model and his animations can be found in Source Filmmaker, in the same directory.

gman.mdl

Some textures inside the gman folder are earlier textures that don't seem to exist in Half-Life.

grass_tuft_001.mdl - grass_tuft_004d.mdl are missing their textures. They're supposed to be grass tufts, hence the name.

grass_tuft_001.mdl - grass_tuft_004d.mdl

The Loader. Original animations also exist.

loader_static.mdl

An unused "null" texture found with the Loader's textures.

A bunch of different rock pile variations also missing textures.

wall_section10k.mdl, wall_section10k_halfsize.mdl, and ground_objects8k.mdl are high-poly test models. These were also used in the map devtest_highpoly.bsp in the Android port of Half-Life 2 released for the Nvidia SHIELD.

wall_section10k.mdl ground_objects8k.mdl

The rest here are world textures.

props_c17

models/props_c17/chair02a.mdl

Half-Life 2-props c17-chair02a.png

Hydra

The IntestineThe Bottom Intestine

The textures for the cut Hydra lies in both the effects and sprites folder.

Spinal Cord

Snow & Ice

A set of snow and ice textures that don't seem to be used anywhere. They do end up appearing in Mossman's transmission in Half-Life 2: Episode One.

Unused Model Features

SMG Magazine Bone

The model for the SMG contains a magazine bone (ValveBiped.clip) that as expected, moves the magazine. Despite this, the magazine is never animated during the reload animation, and instead has the player smacking it. Based on the fact this section of the model has been weight painted, it's likely this was meant to be animated at some point.

Unused Sounds

Hmmm...
To do:
Check for more unused sounds.
Sound File Filename Notes
ambient/atmosphere/
city_beacon_loop1.wav
ambient/machines/
city_ventpump_loop1.wav
hl1/ambience/
computalk2.wav Half-Life leftovers.
port_suckout1.wav
test/temp/soundscape_test/
cabin_ambience.wav Rather odd soundfiles for testing soundscapes.
cabin_wall.wav
outdoor.wav
tv_music.wav

Missing Sound Files

Within the text files for each and every sound category, there are entries for files that no longer exist.

Missing File Notes
game_sounds_ambient_generic.txt
weapons/extinguisher/fire1.wav
weapons/extinguisher/release1.wav
physics/nearmiss/whoosh_huge3.wav
physics/nearmiss/whoosh_huge4.wav
physics/nearmiss/whoosh_huge5.wav
physics/nearmiss/whoosh_large2.wav
physics/nearmiss/whoosh_large3.wav
physics/nearmiss/whoosh_medium1.wav
physics/nearmiss/whoosh_medium2.wav
physics/nearmiss/whoosh_medium3.wav
physics/nearmiss/whoosh_medium4.wav
physics/nearmiss/whoosh_medium5.wav
physics/nearmiss/whoosh_medium6.wav
game_sounds_items.txt
weapons/flaregun/impact.wav
game_sounds_ui.txt
common/talk.wav
common/wpn_hudon.wav
game_sounds_vehicles.txt
vehicles/atv_idle_loop1.wav
vehicles/atv_start_loop1.wav
vehicles/v8/v8_rev_short_loop6.wav
vehicles/atv_secondgear_to_fullthrottle_loop1.wav
vehicles/v8/v8_secondgear_loop1.wav
vehicles/atv_thirdgear_to_fullthrottle_loop1.wav
vehicles/atv_downshift_to_2nd_loop1.wav
vehicles/v8/downshift.wav
vehicles/atv_downshift_to_1st_loop1.wav
vehicles/atv_throttleoff_loop1.wav
vehicles/atv_skid_lowfriction.wav
vehicles/atv_skid_normalfriction.wav
vehicles/atv_skid_highfriction.wav
vehicles/vehicle_turbo_loop3.wav
vehicles/vehicle_turbo_off1.wav
vehicles/airboat/pontoon_impact_soft1.wav
weapons/airboat/chargeloop.wav
weapons/airboat/shoot.wav
game_sounds_world.txt
doors/door_elevator1.wav
doors/door_elevator_loop1.wav
level_sounds_e3_lab.txt
weapons/ar1/ar1_1.wav
weapons/ar1/ar1_2.wav
weapons/binoculars/binoculars_zoomin.wav
weapons/binoculars/binoculars_zoomout.wav
weapons/binoculars/binoculars_zoommax.wav
weapons/flaregun/reload.wav
weapons/physgun_on.wav
weapons/physgun_loop1.wav
weapons/physgun_loop2.wav
weapons/physgun_loop3.wav
weapons/physgun_loop4.wav
weapons/shotgun/shotgun_fire2.wav
weapons/sniper/sniper_reload.wav
weapons/sniper/sniper_fire.wav
weapons/357/reload1.wav
weapons/slam/bounce1.wav
weapons/fx/rics/laser_ric1.wav
weapons/fx/rics/laser_ric2.wav
weapons/fx/rics/laser_ric3.wav
weapons/stunstick/alyx_stunner_charge2.wav
level_sounds_eli_lab.txt
plats/hall_elev_door_move.wav
plats/hall_elev_door_stop.wav
level_sounds_e3_lab.txt
*vo/e3_lab/alyx_snapout.wav E3 Leftovers.
*vo/e3_lab/alyx_staringagain.wav
*vo/e3_lab/kleiner_warming.wav
*vo/e3_lab/alyx_areyousure.wav
*vo/e3_lab/kleiner_moduli.wav
*vo/e3_lab/alyx_hopeso1.wav
*vo/e3_lab/alyx_hopeso2.wav
*vo/e3_lab/alyx_imsorrygordon1.wav
*vo/e3_lab/alyx_imsorrygordon2.wav
*vo/e3_lab/alyx_imsorrygordon3.wav
*vo/e3_lab/alyx_imsorrygordon4.wav
*vo/e3_lab/alyx_imsorrygordon5.wav
*vo/e3_lab/alyx_imsorrygordon6.wav
*vo/e3_lab/alyx_cmondoc.wav
*vo/e3_lab/kleiner_massless.wav
*vo/e3_lab/kleiner_careful.wav
*vo/e3_lab/alyx_scanners1.wav
*vo/e3_lab/alyx_scanners2.wav
*vo/e3_lab/alyx_scanners3.wav
*vo/e3_lab/kleiner_fie.wav
*vo/e3_lab/alyx_thatsit.wav
*vo/e3_lab/alyx_takethis.wav
*vo/e3_lab/alyx_getout.wav
*vo/e3_lab/kleiner_onlymoment.wav
*vo/e3_lab/alyx_toolate.wav
level_sounds_music.txt
*#music/HL2_song22_CombineTheme3.mp3
#music/HL2_song8.wav
npc_sounds_citizen.txt
closecaption/testcommands_$gender.wav
*vo/npc/$gender01/cantbeseen02.wav
npc_sounds_gunship.txt
npc/combine_gunship/wind_blast_loop1.wav
npc/combine_gunship/wind_blow_loop1.wav
npc_sounds_scanner.txt
npc/scanner/combat_scan_loop5.wav
npc/scanner/scanner_engine_loop4.wav
npc_sounds_vortigaunt.txt
*vo/npc/vortigaunt/vmono_01.wav
*vo/npc/vortigaunt/vmono_02.wav
*vo/npc/vortigaunt/vmono_03.wav
*vo/npc/vortigaunt/vortigese01.wav
*vo/npc/vortigaunt/vortigese06.wav
*vo/npc/vortigaunt/vortigese10.wav
*vo/npc/vortigaunt/vortigese13.wav
soundscapes.txt
test/temp/soundscape_test/music_snippet4.wav
test/temp/soundscape_test/music_snippet5.wav
test/temp/soundscape_test/music_snippet6.wav
test/temp/soundscape_test/music_snippet7.wav
test/temp/soundscape_test/music_snippet8.wav
test/temp/soundscape_test/wall1.wav
test/temp/soundscape_test/wall2.wav
test/temp/soundscape_test/wall3.wav
test/temp/soundscape_test/wall4.wav
soundscapes_canals.txt
ambient/levels/canals/windchime3.wav
ambient/levels/canals/windchime6.wav
ambient/levels/canals/windchime7.wav
ambient/levels/canals/windchime8.wav
soundscapes_streetwar.txt
ambient/atmosphere/air_suck4.wav
soundscapes_trainyard.txt
buttons/combine_terminal_loop1.wav
buttons/combine_terminal_loop2.wav

Unused Dialogue

Father Grigori

Father Grigori has lines for giving the player ammo and health.

Sound Filename Dialogue
monk_giveammo01.wav Here, brother! Ammunition!
monk_givehealth01.wav Heal thyself, brother!

Vortigaunts

Vortigaunts have a ton of unused dialogue for fighting alongside the player in a squad. They cannot join player squads in the final game, even when spawned by the player or placed in custom maps. Some of these lines were reused in Episode Two, albeit mostly being re-recorded with the new Vortigaunt voice actor, Tony Todd.

First meeting the player

Sound Filename Dialogue Notes
wellmet.wav Well met, Freeman.
isitthefm.wav Is it the Freeman?
itisthefm.wav It is the Freeman!
thefreeman.wav The Freeman.
beofservice.wav Can we be of service?
neuroprints.wav So the neuroprints are true.
salute.wav If you are trulry the Freeman, we salute you.
trulyitis.wav Truly it is the Freeman.
takeus.wav Freeman, take us with you.
webeofuse.wav Freeman, we could be of use to you.
corporeal.wav We never dreamed to meet you in corporeal form.
seebeforeoureye.wav Is this the Freeman we see before our eyes?
morethanmeets.wav There is more to the Freeman than meets the eye.
weknowyou.wav We know you.
putaside.wav We will put aside Black Mesa for now.

Squad comment

Sound Filename Dialogue Notes
vques01.wav We have lost all dear to us. This is a different recording of a used line.
vques02.wav The Combine will pay in kind for their depravity.
vques03.wav Hope is in sight.
vques04.wav This marks a turning point.
vques05.wav Such pessimism will doom us all.
vques06.wav We have survived darker times.
vques07.wav We are mindful of the words of our greatest philosopher: companum gannennen vorgenot!
vques08.wav You humans, always in the qualidity.
vques09.wav We deem this company inviolable.
vques10.wav Your companionship is greatly belabored.

Replying to a squadmate's comment

Sound Filename Dialogue Notes
vanswer01.wav We remain unconvinced The full stop is missing from the captions.
vanswer02.wav You're not the first to harbor such illusions Ditto.
vanswer03.wav We believe the opposite Ditto.
vanswer04.wav It is just as well Ditto.
vanswer05.wav We expected as much Ditto.
vanswer06.wav Idle speculation Ditto.
vanswer07.wav Your concern is touching Ditto.
vanswer08.wav Don't rely on it.
vanswer09.wav Assume nothing The full stop is missing from the captions.
vanswer10.wav Nothing of the sort Ditto.
vanswer11.wav You are deluded Ditto.
vanswer12.wav We wish you were right Ditto.
vanswer13.wav Excuse our gauche vicissitudes Ditto.
vanswer14.wav We beg your awareness Ditto.
vanswer15.wav Likewise, we are sure.
vanswer16.wav The feeling is mutual The full stop is missing from the captions.
vanswer17.wav This is unaccustomed Ditto.
vanswer18.wav It is all one in the plenitude Ditto.

About to charge the player's HEV suit

Sound Filename Dialogue Notes
acceptcharge.wav Accept a charge.
acceptenergy.wav Accept energy.
allowrecharge.wav Allow us to recharge your cells.
wewillcharge.wav We will charge you.
fmcanuse.wav The Freeman can make use of this.
here.wav Here.
holdstill.wav Hold still.
weshare.wav We shall share the vortessence.
prepare.wav Prepare to receive energy.

HEV suit charge interrupted

Sound Filename Dialogue Notes
holdorcantcharge.wav Hold still, we cannot charge you. Present in the captions as "Hold still or we cannot charge you."
halt.wav Halt.
fmstandstill.wav The Freeman must stand still.
ifyoumove.wav If you move we cannot help you.
movingtarget.wav We cannot heal a moving target.

Noticing an enemy

Sound Filename Dialogue Notes
tothevoid.wav To the void with you.
allinoneinall.wav All in one and one in all.
giveover.wav Give over your essence.
weclaimyou.wav We claim you.
undeserving.wav Undeserving of consciousness.
satisfaction.wav Satisfaction.
regrettable.wav This is regrettable.
allowme.wav Allow me.
livetoserve.wav We live to serve.
returnvoid.wav Return to the void.

Killing an enemy

Sound Filename Dialogue Notes
forthefm.wav For the Freeman!
forfreedom.wav For Freedom!
tethercut.wav The tether is cut.
troubleus.wav That one shall trouble us no more.
dreamed.wav We have dreamed of this moment.
energyempower.wav Its energy empowers us.
empowerus.wav Empower us!
surge.wav We surge.
yes.wav Yes!
passon.wav Pass on!
nodenexus.wav Node and nexus, feed upon this life!
returntoall.wav Return to the all in one.

Player in line of fire

Sound Filename Dialogue Notes
cautionfm.wav Caution, Freeman!
caution.wav Caution!
fmbeware.wav Freeman, beware!
ware.wav Ware!
fmmustbeware.wav The Freeman must beware!
warefm.wav Ware, Freeman!
fminway.wav The Freeman is in our way.
standclear.wav Stand clear.
warningfm.wav Warning to the Freeman.
cannotfire.wav We cannot fire without harm to the Freeman.

Stared by the player

Sound Filename Dialogue Notes
optical.wav We cannot read the Freeman's optical buds.
opaque.wav Your mind is opaque.
rememberus.wav You must remember us from Black Mesa.
stillhere.wav We are still here.
calm.wav Calm yourself.

Asked to follow

Sound Filename Dialogue Notes
itishonor.wav It is an honor.
wehonored.wav We are honored.
ourhonor.wav By our honor.
honorfollow.wav To our honor we follow you.
accompany.wav Gladly we accompany.
gladly.wav Gladly.
pleasure.wav With pleasure.
wefollowfm.wav We follow the Freeman.
honorours.wav The honor is ours.
gloriousend.wav To our glorious end.
bodyyours.wav This body is yours to command. Reused in Episode Two.
allwehave.wav All we have is yours.
weareyours.wav We are yours.
dedicate.wav We dedicate ourselves to your purpose.
mutual.wav Our purpose is mutual.
leadus.wav Lead us. Reused in Episode Two.
onward.wav Onward!
forward.wav Forward!
propitious.wav Propitious alliance.
leadon.wav Lead on.
fmhonorsus.wav The Freeman honors us.
fmdoesushonor.wav The Freeman does us honor.
wewillhelp.wav We will help you.
assent.wav Assent.

Asked to stay

Sound Filename Dialogue Notes
canconvince.wav Can we not convince you otherwise?
fmknowsbest.wav The Freeman knows best.
willremain.wav We will remain if you so instruct.
fearfailed.wav We fear we have failed you.
servebetterhere.wav Perhaps we will serve you better here.
certainly.wav Certainly.
herewestay.wav Here we stay.
asyouwish.wav As you wish.
ourplacehere.wav Our place is here.
affirmed.wav Affirmed.

"Drivable" APC

Halflife2 apc.png

At one point, APCs were intended to be controllable by the player, but playtesters ultimately felt it was too slow compared to the buggy, and this function was cut. But there are remnants of this left in the game, as it's actually possible to enter an APC pretty early in the game. In d1_trainstation_03 (the level where Gordon meets Alyx for the first time), two APCs can be seen driving around on the street, eventually veering off into an alley (there's another APC near the opposite end of the map that can't be interacted with). Using god mode, the player can jump down to the APCs and can enter them like any normal vehicle...but the camera will be completely screwed up and the player can neither drive nor exit the vehicle, requiring them to reload a save to get out. The APCs can not be entered before they stop moving, likely due to the quirk of Source requiring a seperate NPC (npc_apcdriver) to actually make them move and shoot, so when the APCs are in the alley, this effectively means the NPC has exited the vehicle.

Also of note is that the controls for the buggy will show up upon entering it.

Alternate Intro

E3 2004 (intro.bsp) Final (d1_trainstation_01.bsp)

Loading the map intro.bsp via the console will bring you to a slightly different version of the game's intro. The main differences between the two intros is that there is no title card at the beginning, missing textures around the Spectrometer that they were replaced and removed during development, and a view of the railway which was seen during E3 2004 as opposed to the prison near the end of the game. G-Man is also slightly off center during his final line.

intro.bsp doesn't end due to the respective level change trigger not existing. This ultimately suggests that the intro was originally going to be its own separate map rather than being a part of d1_trainstation_01. This was probably removed to avoid creating another loading screen between the intro and gameplay. A similar approach was attempted and scrapped during Episode One and Two's developments.

Unused Text

E3 Leftovers

E3 config leftover files found in 2 folders, cfg and scripts.

Many of these are from the canceled E3 2002 demonstration.

e3_depot.cfg (E3 2002)

r_anamorphic 0
record e3_depot
developer 0
r_shadowdir -1 0 -0.8
cl_drawhud 0
god

sk_antlion_swipe_damage		"10"
sk_npc_dmg_buckshot		"20"
sk_antlion_health		"40"

bind 0 "give item_box_mrounds; give item_box_buckshot"
bind 9 "give weapon_ar2; give weapon_shotgun"

e3_lab.cfg (E3 2002)

r_anamorphic 0
record e3_lab
developer 0
cl_drawhud 0
god
rope_subdiv 6

e3_ship.cfg (E3 2002)

r_anamorphic 0
record e3_ship
developer 0
cl_drawhud 0
god
impulse 101

e3_strider.cfg (E3 2002)

r_anamorphic 0
record e3_strider
developer 0
cl_drawhud 0
god
impulse 101

e3_terminal.cfg (E3 2002)

r_anamorphic 0
record e3_terminal
developer 0
cl_drawhud 0
god
notarget

e3_town.cfg (E3 2002)

r_anamorphic 0
record e3_town
developer 0
cl_drawhud 0
god
impulse 101

e3demo.cfg

developer 0
disp_modlimit_up 512

r_anamorphic 1
snd_surround 1

cl_hudenable 0

disconnect

bind pgdn "nextdemo"

alias delay "wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;"

alias fademusic "soundfade 100 10 2 1"

alias loadlogo "binddemo"

alias bindlogo "bind space loadlogo"

alias binddemo "bind space e3demostart"

alias e3demostart "bindlogo;fademusic;delay;delay;delay;disconnect;delay;startdemos e3_canals e3_eli e3_ravenholm e3_seafloor_crane e3_seafloor_rollermines e3_striders e3_trainstation_alyx e3_trainstation_intro_set1 e3_trainstation_plaza_set1 "
binddemo

loadlogo

Soundscripts

game_sounds_physics.txt
Curiously, some "test" sounds exist inside this soundscript file. Only the music file (hl2_song1.mp3, Particle Ghost in the soundtrack) is present and can be used, since the sines aren't included in the sound files, but they do exist in the prototype.

"Tst11"
{
	"soundlevel"	"SNDLVL_75dB"
	"volume"	"1.0"
	"pitch"	"100"
	"wave"	"test/alltypes/sine1116m.wav"
}

"Tstpitch11"
{
	"soundlevel"	"SNDLVL_75dB"
	"volume"	"1.0"
	"pitch"	"101"
	"wave"	"test/alltypes/sine1116m.wav"
}

"Tst22"
{
	"soundlevel"	"SNDLVL_75dB"
	"volume"	"1.0"
	"pitch"	"100"
	"wave"	"test/alltypes/sine2216m.wav"
}

"Tstpitch22"
{
	"soundlevel"	"SNDLVL_75dB"
	"volume"	"1.0"
	"pitch"	"101"
	"wave"	"test/alltypes/sine2216m.wav"
}

"Tst44"
{
	"soundlevel"	"SNDLVL_75dB"
	"volume"	"1.0"
	"pitch"	"100"
	"wave"	"test/alltypes/sine4416ml.wav"
}

"Tstpitch44"
{
	"soundlevel"	"SNDLVL_75dB"
	"volume"	"1.0"
	"pitch"	"250"

	"wave"	"test/alltypes/sine4416ml.wav"
}

"Tstpitch44l"
{
	"soundlevel"	"SNDLVL_75dB"
	"volume"	"1.0"
	"pitch"	"98"

	"wave"	"test/alltypes/sine448sl.wav"
}

"Tst448"
{
	"soundlevel"	"SNDLVL_75dB"
	"volume"	"1.0"
	"pitch"	"100"
	"wave"	"test/alltypes/sine448m.wav"
}

"Tstpitch448"
{
	"soundlevel"	"SNDLVL_75dB"
	"volume"	"1.0"
	"pitch"	"101"
	"wave"	"test/alltypes/sine448m.wav"
}

"TstMusic"
{
	"soundlevel"	"SNDLVL_75dB"
	"volume"	"1.0"
	"pitch"	"100"
	"wave"	"*#music/hl2_song1.mp3"
}

"TstPitchMusic"
{
	"soundlevel"	"SNDLVL_75dB"
	"volume"	"1.0"
	"pitch"	"120"
	"wave"	"*#music/hl2_song1.mp3"
}

"TstPitchMusicl"
{
	"soundlevel"	"SNDLVL_75dB"
	"volume"	"1.0"
	"pitch"	"98"
	"wave"	"*#music/hl2_song1.mp3"
}

"TstADPCM"
{
	"soundlevel"	"SNDLVL_75dB"
	"volume"	"1.0"
	"pitch"	"100"
	"wave"	"test/alltypes/sine4416sadpcm.wav"
}

"TstPitchADPCM"
{
	"soundlevel"	"SNDLVL_75dB"
	"volume"	"1.0"
	"pitch"	"102"
	"wave"	"test/alltypes/sine2216madpcm.wav"
}

"TstPitchADPCMl"
{
	"soundlevel"	"SNDLVL_75dB"
	"volume"	"1.0"
	"pitch"	"98"
	"wave"	"test/alltypes/sine2216madpcm.wav"
}

game_sounds_weapons.txt
Leftover soundscripts for various weapons cut from Half-Life 2, some of them reused.

// weapon_binoculars.txt
"Weapon_Binoculars.Special1"
{
	"channel"		"CHAN_WEAPON"
	"volume"		"0.7"
	"soundlevel"	"SNDLVL_NORM"

	"wave"				"weapons/binoculars/binoculars_zoomin.wav"
}

"Weapon_Binoculars.Special2"
{
	"channel"		"CHAN_WEAPON"
	"volume"		"0.7"
	"soundlevel"	"SNDLVL_NORM"

	"wave"			"weapons/binoculars/binoculars_zoomout.wav"
}

"Weapon_Binoculars.Reload"
{
	"channel"		"CHAN_ITEM"
	"volume"		"0.7"
	"soundlevel"	"SNDLVL_NORM"

	"wave"			"weapons/binoculars/binoculars_zoommax.wav"
}

// weapon_brickbat.txt
"Weapon_Brickbat.Special1"
{
	"channel"		"CHAN_WEAPON"
	"volume"		"1.0"
	"soundlevel"	"SNDLVL_GUNFIRE"

	"wave"				"physics/wood/wood_box_impact_hard1.wav"
}

// weapon_extinguisher.txt

"Weapon_Extinguisher.Empty"
{
	"channel"		"CHAN_WEAPON"
	"volume"		"0.7"
	"soundlevel"	"SNDLVL_NORM"

	"wave"			"weapons/ar2/ar2_empty.wav"
}

"Weapon_Extinguisher.Reload"
{
	"channel"		"CHAN_ITEM"
	"volume"		"0.7"
	"soundlevel"	"SNDLVL_NORM"

	"wave"			"weapons/ar2/ar2_reload.wav"
}

"Weapon_Extinguisher.Single"
{
	"channel"		"CHAN_WEAPON"
	"volume"		"0.55"
	"soundlevel"	"SNDLVL_105dB"

	"wave"				"weapons/extinguisher/fire1.wav"
}

"Weapon_Extinguisher.Special1"
{
	"channel"		"CHAN_WEAPON"
	"volume"		"0.7"
	"soundlevel"	"SNDLVL_105dB"

	"wave"			"weapons/extinguisher/release1.wav"
}

"Weapon_Extinguisher.Double"
{
	"channel"		"CHAN_WEAPON"
	"volume"		"0.7"
	"soundlevel"	"SNDLVL_105dB"

	"wave"				"weapons/ar2/ar2_altfire.wav"
}

"Weapon_Extinguisher.NPC_Single"
{
	"channel"		"CHAN_WEAPON"
	"volume"		"0.7"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"			"95,105"

	"wave"			"weapons/ar2/npc_ar2_fire1.wav"
}


"Weapon_Extinguisher.NPC_Double"
{
	"channel"		"CHAN_WEAPON"
	"volume"		"0.7"
	"soundlevel"	"SNDLVL_105dB"

	"wave"				"weapons/ar2/npc_ar2_altfire.wav"
}

"Weapon_Extinguisher.NPC_Reload"
{
	"channel"		"CHAN_ITEM"
	"volume"		"0.7"
	"soundlevel"	"SNDLVL_NORM"

	"wave"			"weapons/ar2/npc_ar2_reload.wav"
}

"Weapon_FlareGun.Reload"
{
	"channel"		"CHAN_ITEM"
	"volume"		"0.7"
	"soundlevel"	"SNDLVL_NORM"

	"wave"			"weapons/flaregun/reload.wav"
}

// weapon_physgun.txt
"Weapon_Physgun.On"
{
	"channel"		"CHAN_WEAPON"
	"volume"		"0.22"
	"soundlevel"	"SNDLVL_NORM"

	"wave"		"weapons/physgun_on.wav"
}

"Weapon_Physgun.Off"
{
	"channel"		"CHAN_ITEM"
	"volume"		"0.22"
	"soundlevel"	"SNDLVL_NORM"

	"wave"		"weapons/physgun_off.wav"
}

"Weapon_Physgun.Special1"
{
	"channel"		"CHAN_WEAPON"
	"volume"		"0.42"
	"soundlevel"	"SNDLVL_GUNFIRE"

	"wave"		"weapons/flaregun/impact.wav"
}


"Weapon_Physgun.LockedOn"
{
	"channel"		"CHAN_STATIC"
	"volume"		"0.5"
	"soundlevel"	"SNDLVL_NORM"
	"pitch"			"90"

	"wave"		"weapons/physgun_loop1.wav"
}

"Weapon_Physgun.Scanning"
{
	"channel"		"CHAN_STATIC"
	"volume"		"0.5"
	"soundlevel"	"SNDLVL_NORM"

	"wave"		"weapons/physgun_loop2.wav"
}

"Weapon_Physgun.LightObject"
{
	"channel"		"CHAN_STATIC"
	"volume"		"0.1"
	"soundlevel"	"SNDLVL_NORM"

	"wave"		"weapons/physgun_loop3.wav"
}

"Weapon_Physgun.HeavyObject"
{
	"channel"		"CHAN_STATIC"
	"volume"		"0.1"
	"soundlevel"	"SNDLVL_NORM"

	"wave"		"weapons/physgun_loop4.wav"
}

// weapon_sniperrifle.txt
"Weapon_SniperRifle.Special1"
{
	"channel"		"CHAN_WEAPON"
	"volume"		"0.7"
	"soundlevel"	"SNDLVL_NORM"

	"wave"		"weapons/sniper/sniper_zoomin.wav"
}

"Weapon_SniperRifle.Special2"
{
	"channel"		"CHAN_WEAPON"
	"volume"		"0.7"
	"soundlevel"	"SNDLVL_NORM"

	"wave"		"weapons/sniper/sniper_zoomout.wav"
}

"Weapon_SniperRifle.Reload"
{
	"channel"		"CHAN_ITEM"
	"volume"		"0.7"
	"soundlevel"	"SNDLVL_NORM"

	"wave"			"weapons/sniper/sniper_reload.wav"
}

"Weapon_SniperRifle.NPC_Reload"
{
	"channel"		"CHAN_ITEM"
	"volume"		"0.7"
	"soundlevel"	"SNDLVL_NORM"

	"wave"			"weapons/sniper/sniper_reload.wav"
}

"Weapon_SniperRifle.Single"
{
	"channel"		"CHAN_WEAPON"
	"volume"		"0.7"
	"soundlevel"	"SNDLVL_GUNFIRE"
	"pitch"			"98,102"

	"wave"		"weapons/sniper/sniper_fire.wav"
}

"Weapon_SniperRifle.NPC_Single"
{
	"channel"		"CHAN_WEAPON"
	"volume"		"0.7"
	"soundlevel"	"SNDLVL_GUNFIRE"
	"pitch"			"98,102"

	"wave"		"weapons/sniper/sniper_fire.wav"
}

"Grenade_Molotov.Detonate"
{
	"channel"	"CHAN_VOICE"
	"volume"	"1.0"
	"soundlevel"  "SNDLVL_75dB"

	"rndwave"
	{
		"wave"	"physics/glass/glass_bottle_break2.wav"
	}
}

game_sounds_ui.txt

"MenuMusic.Intro"
{
	"channel"	"CHAN_ITEM"
	"volume"	"0.4"
	"soundlevel"  "SNDLVL_NONE"
	"pitch"	"PITCH_NORM"

	"wave"	"#music\HL2_song7.mp3"
}

level_sounds_e3_bugbait.txt

//*********************************************************
// E3_bugbait

//e3_bugbait.combat_music1
//{
//	// starts as you round corner and first get shot at by soldiers - before sending antlions
//	"channel"	"CHAN_STATIC"
//	"volume"	"0.8"
//	"soundlevel"  "SNDLVL_NONE"
//	"pitch"		"PITCH_NORM"
//
//	"wave"	"#music/HL2_song4.mp3"	
//}

//e3_bugbait.finale_music1
//{
//	// starts at the moment the antlion guard busts through the door
//	"channel"	"CHAN_STATIC"
//	"volume"	"0.3"
//	"soundlevel"  "SNDLVL_NONE"
//	"pitch"		"PITCH_NORM"
//
//	"wave"	"#music/HL2_song8.wav"
//}

"e3_bugbait.alg_crashwall"
{
	"channel"	"CHAN_STATIC"
	"volume"	"1.0"
	"soundlevel"  "SNDLVL_140dB"
	"pitch"		"PITCH_NORM"

	"wave"	"physics/metal/metal_large_debris1.wav"	
}

level_sounds_e3_c17.txt

// SPOKEN AUDIO

"E3_C17_02.GateGrindsDown1"
{
	"channel"	"CHAN_STATIC"
	"volume"	"1.0"
	"soundlevel"	"SNDLVL_130dB"
	"pitch"		"PITCH_NORM"

	"wave"	"ambient/machines/wall_move2.wav"	
}

"E3_C17_02.GateGrindsDown2"
{
	"channel"	"CHAN_STATIC"
	"volume"	"1.0"
	"soundlevel"	"SNDLVL_130dB"
	"pitch"		"PITCH_NORM"

	"wave"	"ambient/machines/wall_move1.wav"	
}

"E3_C17_02.GateGrindsUp2"
{
	"channel"	"CHAN_STATIC"
	"volume"	"1.0"
	"soundlevel"	"SNDLVL_130dB"
	"pitch"		"PITCH_NORM"

	"wave"	"ambient/machines/wall_move4.wav"	
}


"E3_C17_02.GateHitsGround"
{
	"channel"	"CHAN_STATIC"
	"volume"	"1.0"
	"soundlevel"	"SNDLVL_140dB"
	"pitch"		"PITCH_NORM"

	"wave"	"ambient/machines/wall_crash1.wav"	
}

"E3_C17_02.GateAmbientSound"
{
	"channel"	"CHAN_STATIC"
	"volume"	"1.0"
	"soundlevel"  "SNDLVL_100dB"
	"pitch"		"PITCH_NORM"
	
	"wave"	"ambient/machines/wall_ambient_loop1.wav"
}

//"E3_Under_02.Music"
//{
//	"channel"	"CHAN_STATIC"
//	"volume"	"1.0"
//	"soundlevel"  "SNDLVL_NONE"
//	"pitch"		"PITCH_NORM"
//
//	"wave"	"#music/HL2_song1.mp3"	
//}

level_sounds_e3_lab.txt

//*********************************************************
// E3_lab

e3_lab.ScannerMusicX
{
	// starts when scanners appear in window
	"channel"	"CHAN_STATIC"
	"volume"	"0.5"
	"soundlevel"  "SNDLVL_NONE"
	"pitch"		"PITCH_NORM"

	"wave"	"#music/HL2_song8.wav"	
}

"E3_lab.alyx_snapout"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/alyx_snapout.wav"
}

"E3_lab.alyx_staringagain"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/alyx_staringagain.wav"
}


"E3_lab.kleiner_warming"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/kleiner_warming.wav"
}



"E3_lab.alyx_areyousure"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/alyx_areyousure.wav"
}


"E3_lab.kleiner_moduli"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/kleiner_moduli.wav"
}


"E3_lab.alyx_hopeso1"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/alyx_hopeso1.wav"
}

"E3_lab.alyx_hopeso2"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/alyx_hopeso2.wav"
}


"E3_lab.alyx_imsorry1"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/alyx_imsorrygordon1.wav"
}


"E3_lab.alyx_imsorry2"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/alyx_imsorrygordon2.wav"
}


"E3_lab.alyx_imsorry3"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/alyx_imsorrygordon3.wav"
}


"E3_lab.alyx_imsorry4"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/alyx_imsorrygordon4.wav"
}


"E3_lab.alyx_imsorry5"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/alyx_imsorrygordon5.wav"
}


"E3_lab.alyx_imsorry6"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/alyx_imsorrygordon6.wav"
}



"E3_lab.alyx_cmondoc"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/alyx_cmondoc.wav"
}

"E3_lab.kleiner_massless"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/kleiner_massless.wav"
}


"E3_lab.kleiner_careful"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/kleiner_careful.wav"
}


"E3_lab.alyx_scanners1"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/alyx_scanners1.wav"
}


"E3_lab.alyx_scanners2"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/alyx_scanners2.wav"
}


"E3_lab.alyx_scanners3"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/alyx_scanners3.wav"
}


"E3_lab.kleiner_fie"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/kleiner_fie.wav"
}

"E3_lab.alyx_thatsit"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/alyx_thatsit.wav"
}


"E3_lab.alyx_takethis"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/alyx_takethis.wav"
}


"E3_lab.alyx_getout"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/alyx_getout.wav"
}

"E3_lab.kleiner_onlymoment"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/kleiner_onlymoment.wav"
}


"E3_lab.alyx_toolate"
{
	"channel"	"CHAN_VOICE"
	"volume"	"VOL_NORM"
	"soundlevel"	"SNDLVL_105dB"
	"pitch"		"PITCH_NORM"
	"wave"	"*vo/e3_lab/alyx_toolate.wav"
}

level_sounds_e3_town.txt

// E3_Town
//*********************************************************

"E3_Phystown.Slicer"
{
	"channel"	"CHAN_STATIC"
	"soundlevel"  "SNDLVL_90dB"
	"pitch"		"85,115"
	"volume"	"0.8, 1.0"

	"rndwave"
	{
		"wave"		"ambient/machines/slicer1.wav"
		"wave"		"ambient/machines/slicer2.wav"
		"wave"		"ambient/machines/slicer3.wav"
		"wave"		"ambient/machines/slicer4.wav"
	}
}

level_sounds_music.txt
Speaking of music, three music tracks are never used ingame. Specifically, song22, 24, and 25 (Combine Harvester, Headhumper, and Miscount Detected). The third track can be found in the game files.

"song22"			// -2db
{
	"channel"		"CHAN_STATIC"
	"volume"		"0.950000"
	"pitch"			"100"

	"soundlevel"	"0"

	"wave"			"common/null.wav"
//	"wave"			"*#music/HL2_song22_CombineTheme3.mp3"
}

"song24"			// 0db
{
	"channel"		"CHAN_STATIC"
	"volume"		"0.700000"
	"pitch"			"100"

	"soundlevel"	"0"

	"wave"			"*#music/HL2_song24_Lamar.mp3"
}

"song25"			// 0db
{
	"channel"		"CHAN_STATIC"
	"volume"		"0.700000"
	"pitch"			"100"

	"soundlevel"	"0"

	"wave"			"*#music/HL2_song25_Teleporter.mp3"
}

Caption formatting test

The caption files closecaption_[language].txt include the following unused message that tests colors and formatting in closed captions:

"testcommands"	"<clr:255,0,0>This is red<I> and italics<B> and<cr>bold<B><I><clr:255,255,255> white again."