the cutting room mirror

June 25th, 2007

This article has a talk page!
view on tcrf.net

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

Sounds#

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!". The definition for this sound is still in live TF2 to this day.

engineer_battlecry02.wav

Cut Engineer Taunt Line#

While the sound file was missing in this early build, an unused Engineer taunt line is captioned in closecaption_english.txt.

"engineer.taunts07"   "Get ready to meet Mr. Bad Wrench"

Along with this, it is also mentioned in the "game_sounds_vo" included with the leak.

"Engineer.Taunts07"
{
    "channel"       "CHAN_VOICE"
    "volume"        "0.620"
    "pitch"            "PITCH_NORM"

    "soundlevel"    "SNDLVL_95dB"

    "wave"          "vo/taunts/engineer_Taunts07.wav"
}

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 TF2 wiki as being heavy_thanks04.wav. The heavy_thanks03.wav sound in the final build became a generic, low-sounding "Thank you".

heavy_thanks03.wav

Early Spy "Thanks!" Line#

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

spy_thanks01.wav

Early Pyro "Incoming!" Line#

Found in to the Postal 3 leak, Pyro had an unused incoming voice line referring to a group. The Pyro says a muffled version of what sounds like, "We have company!". The file name potentially alludes to the distinction of Incoming lines when facing a group of people. This line was later re-used as 'Cm_pyro_pregamewonlast_01' starting in Meet Your Match.

pyro_groupincoming01.wav

Cut Pyro "Activate Charge!" and Battle Cry Line#

In the Postal 3 leak, Pyro used a different mumble for these 2 lines. The mumble itself still remains unused in modern day TF2. Funnily enough, these 2 lines are replaced by the the same used voice line in modern day TF2.

pyro_activatecharge01.wav

pyro_battlecry02.wav

Different Metal Door Opening Sound#

The standard metal door opening sound used when various doors open is different from the day 1 build. The sound is about a fourth of the final length and at half of the sample rate.

door_metal_rusty_move1.wav

Different Sapper Plant Sound#

The sound for when a Sapper is attached to a building lacks one of its elements (sawblade_stick3.wav from Half-Life 2).

sapper_plant.wav

TFC Teleport Sounds#

In the "misc" section, there are three sounds that start with the "teleport" prefix. These are placeholders from Team Fortress Classic, likely used until the proper sounds were finished.

teleport_in.wav

teleport_out.wav

teleport_ready.wav

Different Hologram Malfunction Sound#

The leak included a different version of the sound used for when the enemy blocks your team from capping a point in TF2. This version prominently uses the Doom door opening sound (or at least, the same stock sound effect). While this can be heard in Day 1 and live TF2, it is nearly inaudible.

hologram_malfunction.wav

Extended FlameThrower Pilot Sound#

The sound for the flamethrower's pilot flame is about 7 seconds longer from what we got on release. Both versions appear to use the same sound, with the one use in Day 1 fading out about 7 seconds earlier compared to the one from the leak.

flame_thrower_pilot.wav

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.

Grenades#

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 1.0.0.0") 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.

Weapons#

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.

v_pda#

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.

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

   // Cloaking
   "$cloakPassEnabled" "1"
   "Proxies"
   {
       "vm_invis"
       {
       }
   }
}

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.

 "VertexLitGeneric"
 {
    "$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"
 
    "Proxies"
    {
        "AnimatedWeaponSheen"
        {
            "animatedtexturevar"        "$sheenmapmask"
            "animatedtextureframenumvar"    "$sheenmapmaskframe"
            "animatedtextureframerate"      "40"
        }
        "invis"
        {
        }
        "ModelGlowColor"
        {
            "resultVar" "$glowcolor"
        }
        "Equals"
        {
            "srcVar1"  "$glowcolor"
            "resultVar" "$selfillumtint"
        }
        "Equals"
        {
            "srcVar1"  "$glowcolor"
            "resultVar" "$color2"
        }
        "YellowLevel"
        {
            "resultVar" "$yellow"
        }
        "Multiply"
        {
            "srcVar1" "$color2"
            "srcVar2" "$yellow"
            "resultVar" "$color2"
        }
    }
 }

Removed Skybox texture#

Completely absent from the initial release of TF2, an unused sky texture labeled "sky_tf2_06" was included in the leak. This is not used in any of the maps included from the leak. While it is split up into 6 textures in the files, an example of what it would look if it was put back together is shown below.

Removed Model Textures#

In the leak, there are two unfinished AO bakes for models that have no associated model left in the leak's files. These both are for a pickup truck model. Notably, they both have different UV layouts from each other, implying that two models are missing and not just one with two skins.

TF2_Postal3Leak_Pickup01.png TF2_Postal3leak_Pickup02.png

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.

Demoman#

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

AmmoMax
{
   "tf_ammo_primary"   "24"
   "tf_ammo_secondary" "40"
   "tf_ammo_metal"     "100"
   "tf_ammo_grenades1" "0"
   "tf_ammo_grenades2" "0"
}

AmmoMax
{
   "tf_ammo_primary"   "16"
   "tf_ammo_secondary" "24"
   "tf_ammo_metal"     "100"
   "tf_ammo_grenades1" "0"
   "tf_ammo_grenades2" "0"
}

Soldier#

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

AmmoMax
{
   "tf_ammo_primary"   "36"
   "tf_ammo_secondary" "32"
   "tf_ammo_metal"     "100"
   "tf_ammo_grenades1" "0"
   "tf_ammo_grenades2" "0"
}

AmmoMax
{
   "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 1.0.0.0" 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

Watch on YouTube

Watch on YouTube

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

Watch on YouTube

Watch on YouTube

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.

The inside of testbox.bsp, being a room with a brick texture on every wall and two light sources.

Other Things of Note#

Unused/cut animations for the classes#

Scout#

"Warcrimes" Animations#

In the Postal 3 build, there exists unused animations. Those being "stand_warcrimes" and "run_warcrimes" for Scout.

"stand_warcrimes" has the Scout covering his dog tags while standing in place. He doesn't actually move during the animation, hence why the showcase is only a picture and not a gif.

"run_warcrimes" does not properly load in HLMV, simply showing the standing animation mentioned above. Forcing it to play in-game shows that Scout running with his hands up in the air. It even has animation sets showing that it plays properly running in all directions.

Scout_Warcrimes_Run-around.mp4

With none of the other classes having their "loser" animations and with Scout putting his hands up while running and covering his dog tags while standing still, this could've been an early mockup of the "loser" animations that play when your team loses. This is further backed up by decompiling the model, as it shows that the supposed action state for this is "ACT_MP_RUN_PANIC", which is of a similar format to the action state used in Day 1 and Live TF2 use, simply swapping out "PANIC with "LOSER".

Spy#

Old Reference Pose#

Spy's reference pose is also noticeably different. Instead of being an actual T-pose, he awkwardly has his arms out front and to the side of him.

Evidence of Tranquilizer Animations#

Instead of having a regular "ragdollspawn" animation, it actually plays a different idle animation for Spy holding the Revolver. Clicking on the gif shows the whole animation.

Later in the 2023 giga-leaks, a whole set of animations with this pose, labeled "primary" instead of the Revolver's "secondary", were found, with this animation being an exact match to the "primary_idle" found in it, down to the amount of frames included. Because of this, this animations and the others found outside of the Postal 3 leak, are thought to be the supposed animations for the Tranquilizer Gun. These animations were included within the sdk, but ending getting overlooked.

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 is a feature that is exclusive to this build, which would allow the Grenade Launcher to be shot farther depending on the charge time, similarly to the Sticky Bomb 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, and the Console ports.

Viewmodels#

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.

The following screenshots show the viewmodels with notable changes, courtesy of newguy111 on Gamebanana. While these screenshots are taken in live TF2, the models are un-altered.

Soldier#

With Soldier, the main differences include a less jagged look on his coat and better curvature on his fingers and wrists.

Live TF2

Postal 3 Leak

Demoman#

With Demoman, the most noticeable thing is his sleeves having a slightly different shape to them, being more of a straight line in the leak compared to the curve that appears as you get closer to his elbow. His thumb is modeled slightly different as well, with the middle of it arching downwards a bit instead of being a straight line.

Live TF2

Postal 3 Leak

Heavy#

As mentioned above, Heavy has a fully modeled left arm instead of it being just a forearm. He also has a slightly different forearm shape when connecting with his wrists/gloves, as well as the middle finger on his glove not extending as far up as in live TF2.

Live TF2

Postal 3 Leak

Engineer#

For Engineer, his most notable difference is how his shirt connects with arm, being a lot smoother in the Postal 3 leak.

Live TF2

Postal 3 Leak

Sniper#

On Sniper, retail actually has a smoother arm, with the leak adding more jaggedness near the bottom of his forearm. It's also easier to tell that Sniper's glove is 3D, notice the hole in his gloves to see this most clearly.

Live TF2

Postal 3 Leak

cp_badlands#

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.

cp_bridge#

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#

Watch on YouTube