If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
This article has a talk page!
This page is a good article.

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 (retail distribution)
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.

DevelopmentIcon.png This game has a development article
ProtoIcon.png This game has a prototype article
PrereleaseIcon.png This game has a prerelease article

To do:
  • There are revisional differences on this game which involves graphical update between the original release and the 2010 update
  • Document weapon_sniperrifle, weapon_flaregun, weapon_irifle, MP3 Player (Disabled features that can be found in SDK)
  • Find out if we can add images of any undocumented models from the 2016 repo leak
  • There is a script file for the Physics Gun, a cut weapon.
  • Compare the Stunstick viewmodel in this game to HL2 Deathmatch's stunstick view model.
  • Cover Xbox version more thoroughly (are there any hidden cheat codes? is it identical content wise to the PC version? etc)
    • If there isn't any content unique to the Xbox version add a notice about parity of content.
  • We might want to remove that "Windows" tag from the article title, considering this page covers multiple versions.

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


Read about development information and materials for this game.
Development Info
Read about prototype versions of this game that have been released or dumped.
Prototype Info
Read about prerelease information and/or media for this game.
Prerelease Info
Hl2 sounds.png
Unused Sounds and Dialogue
Unused Textures
LOTS of unused textures, varying from snowy environments to Xbox 360 leftovers.
Half-Life 2-perftest-gman.png
Unused Models
The wrong men in the right place.
Unused Text
At least seven minutes worth of text that goes unread.

Debugging Features

Debug Menu

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:

	"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 pistol 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 worldmodel is used for its viewmodel, and will block the player's vision frequently. The gun can fire in semi 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 9mm 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 the 5th pistol category slot. 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.


HL2 annabelle unused weapon.png
Father Grigori's rifle (weapon_annabelle). Can only be obtained by typing give weapon_annabelle in the console. It has a two-bullet tube magazine and shares the .357 Magnum's ammunition. The viewmodel is identical to the retail Shotgun. It does the same amount of damage as the Magnum, 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 select the AR2 (with the 3 key by default), you'll pull out the Annabelle instead. Apart from the console command use weapon_ar2, 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 the Annabelle, you can only reequip it if you press the "last weapon used" key or press 3 on the keyboard and then fire.


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.


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;


A test "weapon" that can be used to test cubemap reflections in maps. This "weapon" consists of 6 spheres, all using different types of reflective materials. It can be spawned via the developer console using impulse 81 or give weapon_cubemap.

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_rounds 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 FlareRound ammo type having been removed. Like the sniper rounds, neither of these have physics but will produce bullet holes if shot at.

Unused Animations

Alyx's Gun

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 a SMG, and the SMG to a rifle, but not back to the pistol or directly to rifle mode.

Used Unused

Combine Soldiers

  • The Combine soldiers possess an unused firing animation for the HMG1 as well as animations for placing and rolling grenades.

Poison Headcrab

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.


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". They also have animations for using the Tau Cannon. At one point, they were going to dismount it from the Scout Car in Lighthouse Point.

Metrocops/Civil Protection

Metrocops also have an unused animation for being grabbed by barnacles.

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.


Click on GIFs to see them animated

Unused Model Features

Elementary, my dear Cactus.
This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically: Look at other weapons/models in the Model Viewer and see if they have unused/unseen features or elements.

SMG Magazine Bone

Unused model bone selected in a model editor.
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 in-game, with Gordon instead just smacking the bottom of the clip. 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, likely being scrapped since you never see that far down when reloading anyway.

"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 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 separate 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.

Portal RTX

To do:
Need to research why exactly the APC is more finished in this version.

Strangely, the APC can actually be accessed in a slightly more complete state if d1_trainstation_03 is loaded in the 2022 RTX remaster of Portal. You can also boost by holding SHIFT, albeit it is very buggy. This is presumably due to the fact that the version of Portal used in the remaster is based on a different build of the Source engine, where the necessary scripting or required NPC as mentioned above exists, although more research is required to determine the exact reason.

(Source: ansonx10)

Unused Maps


Unused (intro.bsp) Final (d1_trainstation_01.bsp)
HL2-intro background.png

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, the Anti-Mass Spectrometer uses a design more faithful to the original Half-Life (also utilising several missing textures), and a view of the railway which was seen during E3 2004 as opposed to the prison near the end of the game. The G-Man also uses his regular model instead of the higher-quality gman_high. Unlike the E3 2004 video however, the G-Man says his "right man in the wrong place" line.

intro.bsp doesn't end due to the respective level change trigger not existing (Unless using cl_view 1 in the console, you can explore them). 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.

Due to hardware limitations, the original Xbox release does use intro.bsp, but it plays the final version's intro used in d1_trainstation_01.bsp.

When this map is loaded as a menu background through the map_background command, it will instead show a rooftop view of City 17, while the music from the start of the Ravenholm chapter plays. There are also blurred preview images intended for this map like other menu backgrounds, which go unused.


A slightly different version of d3_c17_02, the starting map of Anticitizen One. The only difference is that the player isn't given the HEV Suit nor weapons in this version.


HL2-sdk shader examples-1.png

A small rectangular room which houses a cube with a weird effect on it. When this map is loaded in Source SDK Base 2013, particles of the missing texture checkerboard appear to the right of the cube, which is also now missing textures.

Platform Differences

  • In PC releases, you can use ladders by just walking into them. The orignal Xbox version requires pressing a button however, since it uses a different brush entity ("func_ladder") due to hardware limitations.
  • In d2_prison_08, when you fight the Combine with Alyx, the power will eventually be cut off in most versions. This doesn't happen on the original Xbox version.
Original Xbox Other Versions
Hl2orignalxbox.png Hl2xbox.png
  • Some Lambda Locator areas are missing in the original Xbox version.
  • Some items such as weapons and ammo crates are highlighted on the original Xbox version.
  • All corpses will disappear on the PlayStation 3 version.
  • The console releases use proprietary file formats for their files. For example, VTFs/texture files use the .vtfx format in the Xbox 360 version and .xtf in the original Xbox version.
  • The console releases run on older versions of Source (Source 2004 for the Xbox and Source 2007 for the Xbox 360 and PlayStation 3).

Revisional Differences


With the release of the Orange Box, Valve updated the model and textures for the Vortigaunts.

A low-quality cactus is a sad cactus.
This image needs to be replaced.
Please read the image guidelines for more information.
Reason: Replace with PNGs please, and maybe with better poses as well.
2004/Release 2007/The Orange Box
Hl2-2004vort.jpeg Hl2-2007vort.jpeg


Unseen stuff in d1_trainstation_01 and d1_trainstation_06

Through the use of noclip, you can find unseen and unexplorable stuff such as a hidden room and a metrocop in the "A Red Letter Day" chapter, likely a leftover detail from the prototype map.

Rare G-man Easter Egg