If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Proto:Team Fortress 2/June 25th, 2007

From The Cutting Room Floor
Jump to navigation Jump to search

This is a sub-page of Proto:Team Fortress 2.

How about a nice leek in this trying time?
This page or section details content from the June 11th, 2020 Postal III Beta Leak.
Check the June 11th, 2020 Postal III Beta Leak category for more pages also sourced from this material.
This article is a work in progress.
...Well, all the articles here are, in a way. But this one moreso, and the article may contain incomplete information and editor's notes.
To do:
  • .pdb files exist and need to be looked into.
  • References to a scrapped secondary CTF mode called Invade exist.
  • All grenade-related particle effects are in this build as well. GIFs or a YouTube video needed.
  • Sounds need to be gone through and compared.
  • Images of testbox.bsp.
  • Add the final couple of model difference renders for some map props that I keep forgetting to add.
    • There's a conduit model that was rearranged and it's a really tall model so I've been struggling with getting a proper render of it.
    • There's also a building model whose textures got changed in release.
  • Comparison verifications mentioned on this article's Talk page.

On June 11th, 2020, an archive of Postal III's Perforce was leaked. Contained within is both the source code and a beta build of Postal III, unfinished beta builds of Team Fortress 2 and Half-Life 2: Episode Two, and various Source Engine development tools. The TF2 prototype is generally similar to the launch version, but it does contain various pieces of early content, several of which are clearly based on assets from the 2006 teaser trailer. There are also a few pieces of early content that had not been seen before this leak.


TF2Proto ClassScoutBlue.png
Asset Differences
Comparisons of assets between this early build and the current-day build.


Sounds! There's a few sounds in the files that were changed on release, some of which ended up getting cut altogether. All sounds in this build are in the .wav format, which was the default for many years until this was changed and all sounds were converted to .mp3 format.

Cut Engineer Battlecry

The file sound/vo/engineer_battlecry02.wav was present in this early build, but was found to have been removed from the September 2007 closed beta from 3 months later, indicating this was cut very early. The voice line has the Engineer exclaiming "Remember the Alamo!".


Early Heavy "Thanks!" Line

An old well-known chestnut, this early version of sound/vo/heavy_thanks03.wav has the Heavy saying "Dasvidaniya!". What is strange is that this "Dasvidaniya" line was referred to in release build sound scripts as heavy_thanks04.wav. This file is even listed on the Unused Sounds subpage as being heavy_thanks04.wav. The heavy_thanks03.wav sound in the final build became a generic, low-sounding "Thank you".


Early Spy "Thanks!" Line

Another old well-known chestnut, this early version of sound/vo/spy_thanks01.wav has the Spy saying "Prego!".


Unused Weapon Textures

Textures for several unused and cut weapons, as well as all the grenades, were found in the proto files. The models are also all present in this build, just as they have been present in the game to this very day.


Early Napalm Grenade

The most interesting find in this build, is that the Napalm Grenade model is an entirely different, older model. The later canister model is not present in this build (although a render of it is present in the gallery above for the sake of completeness) as the model in this build was instead this early round bomb model. The existence of the round bomb Napalm Grenade was somewhat known about through the existence of a filename for a particle effect that was initially found in the reslists/all.lst file from the September 17th, 2007 ("PatchVersion") build. The particle effect particles/fuse_napalmspark.pcf was not present in the September build and thus led to some confusion as to why there was even a wick effect when the existing Napalm Grenade canister model did not have any sort of "wick" to attach a fuse spark effect to. fuse_napalmspark.pcf was eventually found within this build when it leaked, alongside the much older bomb-shaped Napalm Grenade model, finally explaining the existence of the particle effect.


As well, the texture and normal map for the viewmodel of a weapon known only as the Trigger were found in the proto files in the tf\materials\models\weapons\v_trigger directory. While it cannot be confirmed, it is assumed that this was a weapon for the Demoman, and would have been used to detonate either;

  • The MIRV Grenade (Dynamite Pack) when it was a secondary weapon.
  • The Detpack, a weapon/buildable meant for the Demoman.
  • The Pipebomb Launcher, when it used to be remotely detonated before the creation of the Stickybomb Launcher.


The texture for a cut PDA, tf\materials\models\weapons\v_pda\v_pda.vtf can be found in the files. This file is still present in the game files. There is no associated model in the files for this texture. Based on the contents of its .vmt file, it appears to have been intended for the Spy as it has the parameter that is used to make things cloak when the Spy cloaks.

	"$baseTexture" "models\weapons\v_pda/v_pda"

	// Cloaking
	"$cloakPassEnabled" "1"

Interestingly, in the current game files, the .vmt file for the PDA was updated and modified to update the "vm_invis" proxy to the current "invis" proxy, as well as adding in Killstreak Sheen parameters of all things, despite being entirely unused in the game and having no model in the files.

 	"$baseTexture" "models\weapons\v_pda/v_pda"
 	"$glowcolor" "1"
 	// Cloaking
 	"$cloakPassEnabled" "1"
 	"$sheenPassEnabled" "1"
 	"$sheenmap" 		"cubemaps\cubemap_sheen001"
 	"$sheenmapmask" 		"Effects\AnimatedSheen\animatedsheen0"
 	"$sheenmaptint" 		"[ 1 1 1 ]"
 	"$sheenmapmaskframe" 	"0"
 	"$sheenindex" 		"0"
 	"$yellow" "0"
 			"animatedtexturevar" 		"$sheenmapmask"
 			"animatedtextureframenumvar" 	"$sheenmapmaskframe"
 			"animatedtextureframerate" 		"40"
 			"resultVar" "$glowcolor"
 			"srcVar1"  "$glowcolor"
 			"resultVar" "$selfillumtint"
 			"srcVar1"  "$glowcolor"
 			"resultVar" "$color2"
 			"resultVar" "$yellow"
 			"srcVar1" "$color2"
 			"srcVar2" "$yellow"
 			"resultVar" "$color2"

Resource List Finds

Within the reslists folder are several .lst files that contain the names of every file in the game build that the .lst file was generated in. Examining these files, one can find filenames of files that don't appear in this specific build or any other build. What is interesting about these files is that some files like all.lst have the filenames of things grouped together based on what the files are for. For example, the scripts\tf_weapon_grenadelauncher.txt filename appears directly above the models and materials for the Grenade Launcher in the list of files. With the .lst file(s) being sorted this way, it can help determine what certain files could have been for or what other things they were related to.

Building Object Sprites

One such find is these building object sprite filenames. The filenames feature the standard Engineer buildings; the Sentry Gun, Dispenser, Teleporter Entrance and Teleporter Exit. There is a fifth sprite, one for a "Detpack". This is assumed to have been a building for the Demoman that would have functioned similarly to the Detpack from Team Fortress Classic. What these sprites were, and what they were meant for, is unknown.


Cut Weapon Viewmodels

Filenames for a few viewmodels of cut weapons were found listed in reslists/all.lst. If you vaguely know how files are usually named in Team Fortress 2, then these filenames won't really surprise you. There's no evidence of these files in this build sadly.

Gas Grenade

To do:
I forgot why .jpg and .ani files are listed in some .lst files, or rather, why specifically they were generated. Could have been something related to the particular software Valve used when creating the models, but I can't remember.

First up, the Gas Grenade. As well as the viewmodel filename, a script for the Smoke Bomb weapon was found directly above v_grenade_gas.mdl in several .lst files. It is highly possible, especially given the placement of the Smoke Bomb .txt file right before the Gas Grenade viewmodel, that the Gas Grenade may have been changed from a poison gas-emitting grenade to a generic smoke bomb at some point in development.



Next we have filenames for the viewmodel of the Crowbar, as well as its uncompiled CTX weapon script were also found listed. Whether or not this was just a port of the Crowbar viewmodel from Half-Life 1 is unknown.



The Nailgun viewmodel makes an appearance as does its uncompiled CTX weapon script.


Tranquilizer Gun

The Tranquilizer Gun viewmodel makes an appearance as does its uncompiled CTX weapon script.



The cut Flag weapon has files listed in cp_granary.lst, perhaps indicating that the weapon was playtested on the map at some point during development. Included are the uncompiled CTX weapon script, the view and world models, but seemingly no textures. Purely speculation, but perhaps these utilized the model and textures of models/flag/flag.mdl?



The texture for the Trigger viewmodel wasn't the only find related to the Trigger, as filenames for the viewmodel were found in several .lst files.


Invulnerability Model

Here's a weird one. A model for invulnerability. How would this have worked?



Some sounds are referenced in the .lst files by their filenames, but don't actually exist in the build.

First, the Concussion Grenade "blast" sounds.


The firing sounds for the Nail Gun are also listed;


Removed Disguise Kit Textures

To do:
I think the blue disguise kit texture is in one of the SFM leaks.

Some texture filenames for the Disguise Kit were also found listed in all.lst but the files cannot be found in the game files. Files include the normal map and a blue texture for the world model, and a normal map for the viewmodel


Early CTF HUD Files

Some filenames for HUD-related files were found in reslists/cp_granary.lst, cp_dustbowl.lst and all.lst that aren't present in the files. A few filenames hint toward the majority of these files all being for the early Capture the Flag HUD seen in Valve's presentation on Improved Alpha-Tested Magnification for Vector Textures and Special Effects.

(Source: Improved Alpha-Tested Magnification for Vector Textures and Special Effects)

UI Resource Files

As well, four UI-related resource files were found listed, but not found in the game files. The first three may be related to the above early Capture the Flag HUD.


Script Differences

Class Script Differences

A total of two differences can be found by examining the files in scripts/playerclasses. In the proto, these files are in their decompiled .txt forms and can easily be read. In the release however, they are in the compiled .ctx format but can still be read by decompiling them with the Vice CTX decompiler.


The amount of ammunition for the Grenade Launcher and Sticky Bomb Launcher were 24 and 40 respectively in the proto's scripts/playerclasses/demoman.txt. This was lowered to 16 and 24 respectively in the final's scripts/playerclasses/demoman.ctx.

Prototype Final
	"tf_ammo_primary"	"24"
	"tf_ammo_secondary"	"40"
	"tf_ammo_metal"		"100"
	"tf_ammo_grenades1"	"0"
	"tf_ammo_grenades2"	"0"
	"tf_ammo_primary"	"16"
	"tf_ammo_secondary"	"24"
	"tf_ammo_metal"		"100"
	"tf_ammo_grenades1"	"0"
	"tf_ammo_grenades2"	"0"


The amount of ammunition for the Rocket Launcher in the proto's scripts/playerclasses/soldier.txt was 36, and was even like this in retail TF2's scripts/playerclasses/soldier.ctx, but was lowered to 16 in a February 2008 update for the final game, which was buffed to 20 rockets a year later.

Prototype Final
	"tf_ammo_primary"	"36"
	"tf_ammo_secondary"	"32"
	"tf_ammo_metal"		"100"
	"tf_ammo_grenades1"	"0"
	"tf_ammo_grenades2"	"0"
	"tf_ammo_primary"	"16"
	"tf_ammo_secondary"	"32"
	"tf_ammo_metal"		"100"
	"tf_ammo_grenades1"	"0"
	"tf_ammo_grenades2"	"0"

Response Rules

To do:
404UNF: Verify that the response rules weren't added in the next available proto, "PatchVersion" dated September 2007. They probably weren't, but I want to confirm this myself.

To quote the Valve Developer Wiki's article on the Response System; The Response System is used to decide what line of speech (and/or animation) should be used by a NPC (or player) when they want to say something, or whether to say anything at all. The proto's scripts/talker/response_rules.txt lacked a few response rules that were added in the final(see todo). Missing from the proto, but found in the final are the following lines:

First we have the "Thanks!" response. Seemingly not hooked up in the proto.

criterion "ConceptPlayerThanks" "Concept" "TLK_PLAYER_THANKS" "required"

Next, the response rule for when you're dead, I guess to make your character do a death scream, isn't set in the proto.

criterion "ConceptPlayerDead" "Concept" "TLK_DEAD" required

Moving on, some criteria for detecting specifically a Soldier, Heavy or Pyro with a Shotgun were not in the proto, but were added in the final.

criterion "WeaponIsShotgunSoldier" "playerweapon" "tf_weapon_shotgun_soldier" "required"
criterion "WeaponIsShotgunHwg" "playerweapon" "tf_weapon_shotgun_hwg" "required"
criterion "WeaponIsShotgunPyro" "playerweapon" "tf_weapon_shotgun_pyro" "required"

However, both the proto and the final have this default secondary slot Shotgun criterion in place, most likely as a catch-all in the proto.

criterion "WeaponIsShotgun" "playerweapon" "tf_weapon_shotgun_secondary" "required"

On a sad note for Heavy mains, the proto lacked the response rule for making the Heavy say things or laugh maniacally when firing his Minigun. These lines were added in the final, thankfully.

criterion "IsFiringMinigun" "minigunfiretime" ">0.0" required
criterion "TimeFiringMinigunShort" "minigunfiretime" ">4.0,<=8.0" required
criterion "TimeFiringMinigunLong" "minigunfiretime" ">8.0,<=15.0" required
criterion "TimeFiringMinigunReallyLong" "minigunfiretime" ">15.0" required
criterion "ConceptFireMinigunTalk" "Concept" "TLK_MINIGUN_FIREWEAPON" "required"

The kicker though, right at the very bottom of response_rules.txt, it seems that all the individual class-specific .txt files in scripts/talker aren't even hooked up, so perhaps none of the class's response rules worked in the proto? These lines were added in the final though.

#include "talker/Heavy.txt"
#include "talker/Scout.txt"
#include "talker/Engineer.txt"
#include "talker/Sniper.txt"
#include "talker/Soldier.txt"
#include "talker/Demoman.txt"
#include "talker/Medic.txt"
#include "talker/Pyro.txt"
#include "talker/Spy.txt"

Placeholder Videos

There are several placeholder videos present for the map intros.

2Fort Intro

  • Several additional scenes are present in the draft, including extra establishing shots of intel rooms and in particular a scene telling the player to "Defend the three entry points" at the end that isn't in the final video at all. One scene that was changed completely is when the Scout captures the intel at the end, as it features graphics for the CTF HUD and has Scout taunt when he delivers it in the final video.
  • This draft seems especially rough, featuring a piece of text in the top right corner letting us know that it's a "DRAFT: NOT DONE!!!", no 2Fort title card, most of the video's captions being a placeholder line, and the captions themselves seemingly using a system font instead of any TF2 fonts.
Prototype Final

Well Intro

  • The scene explaining that you must capture control points is significantly longer in the draft. Oddly, any scenes that would have shown off the Soldier's face have been cut in the final video. The control point hologram is also a different color and is right against the ground, and the graphic showing off the capture progress graphic isn't present.
  • The final scene has several technical issues. The gate the Demoman enters doesn't open properly, and there seems to be both RED and BLU team holograms over the control point. They also seem to have removed a rather large blood splatter in the final video.
Prototype Final

General Intro Differences

Along with the differences already listed, the placeholders share several differences between the final videos.

  • The placeholders start with classic film reel countdowns. It's unclear if these were considered to be put in the finished videos at any point.
  • They have no music or sound effects.
  • Captions are baked into the video.
  • Most of the camera movements and angles are close to the final videos' (if the specific scenes are still present), with minor differences per scene, being generally less refined and in particular featuring very little of the camera shake effect.

Unused Maps

2 unused maps are present in the files:

  • background01.bsp, the map used as the "live" background for the console version of Team Fortress 2.
  • testbox.bsp, just an empty mini box map for testing.

Other Things of Note

Grenade Launcher Viewmodel Charging Animation

Discovered quite recently, the viewmodel for the Demoman's Grenade Launcher, models/weapons/v_models/v_grenadelauncher_demo.mdl, has an unused "charging" animation in it that is identical to the Stickybomb Launcher's charging animation. This could be a remnant of when the Grenade Launcher model was used for when the Grenade Launcher also acted as a Stickybomb Launcher that let you remotely detonate the pipebombs, as seen in early trailers. It could also be an accidental inclusion of a Stickybomb Launcher animation into the Grenade Launcher. Oddly enough, while the animation is labelled as auto_fire for models/weapons/v_models/v_grenadelauncher_demo.mdl, it is labelled as autofire (no underscore) for models/weapons/v_models/v_stickybomb_launcher_demo.mdl.

Higher Poly Models?

As noted in a few places on this article, certain models in this build have a slightly higher polycount than in later builds. This is mainly visible in models like the first person viewmodels and the Engineer buildings, though not all models in the proto build have been compared to their final counterparts yet. It is assumed that these models had their overall polycounts decreased at some point in time, probably for the benefit of players with lower end PCs.


To do:
Would like to confirm that the viewmodels are indeed higher poly but the tri count is higher on the proto models due to the other hand still being in them. Also need to confirm that all the viewmodels (that only require one hand) have both hands.

The v_ weapon models, which act as the first person viewmodels, all have both hands in them although for one-handed weapons, the opposite hand is usually positioned out of the way or horrifically contorted. In later builds, the opposite unused hand was removed from the viewmodels entirely. The proto viewmodel hands also have a higher polygon count, particularly Heavy's, who now has two complete arms, instead of a complete right arm and a left forearm.


There's a bit of a weird situation regarding cp_badlands in this build. The map maps/cp_badlands.bsp is not present in this build. The models/props_badlands folder is also not present in this build. Despite the lack of a models folder, the materials/models/props_badlands folder is present in this build, as are the usual textures you'd expect in that folder. There's also a cp_badlands.lst file present in the reslists folder. The map appears to have been played in this build at some point, but the lack of the actual map and models folder doesn't make sense.


In this particular build, the files for the menu map photos and screens of cp_gravelpit instead use the map's original name, cp_bridge. The files materials/VGUI/maps/map_photos_cp_bridge.vtf and map_screen_cp_bridge.vtf can be found in this build. However, the actual map cp_bridge.bsp is not present in this build, partially because it is in this build as cp_gravelpit.bsp. As well, the .lst file in the reslists folder for the map is named cp_gravelpit.lst. It would appear that Valve just had not changed the filenames of the menu map photos and screen to match the map's new name.

Early SFM Sessions