Mapping after steampipe (read before conversion)

fubarFX

The "raw" in "nodraw"
aa
Jun 1, 2009
1,720
1,978
It is possible to map for tf2 after steampipe if you're prepared. We don't know when the new tools will be ready but if you want to be mapping in the meantime, this is how.


Here are the files you are required to backup for hammer to work after conversion:
- Steam\SteamApps\userfolder\team fortress 2\tf\gameinfo.txt
- Steam\SteamApps\team fortress 2 client content.gcf
- Steam\SteamApps\team fortress 2 content.gcf
- Steam\SteamApps\team fortress 2 materials.gcf

Here are optional folders related to mapping that you might want to back:
- SteamApps\userfolder\Team Fortress 2\tf\maps
- SteamApps\userfolder\Team Fortress 2\tf\materials
- SteamApps\userfolder\Team Fortress 2\tf\scripts
- SteamApps\userfolder\Team Fortress 2\tf\resource
- SteamApps\userfolder\Team Fortress 2\tf\sound
...
(These folders should not be deleted by steampipe but you're never too safe (only the content of the tf folder, not the gcfs, you have to back those). the content of your tf folder is supposed to be available in the SteamApps\common\Team Fortress 2\tf\download folder after conversion)

you may now convert your game to steampipe!

Now that you've been steampiped, first thing you want to do is put all 3 gcfs back at their original location in Steam\SteamApps. Next you want to take your old gameinfo.txt and place it back where it belongs in Steam\SteamApps\userfolder\team fortress 2\tf.
and that's it. There's nothing else to it. hammer is ready to launch!

Now we need to discuss some of the implications of this.

We've gone dark
You can still map for tf2 because we still have the old GCFs that hammer is able to deal with. however, these gcfs will never be updated by valve ever again. this means that our game content files will be outdated sooner or later. when valve will add assets to the game later in future updates, they will not be available straight away in hammer. this is not a huge problem, we'll figure that out once we get there but from now on, we're on our own when it comes to keeping our tools updated.

Compiling maps
Compiling still works fine but we're going to need to adjust our workflow. Just as before, the compiler will drop your BSPs into steamapps\userfolder\team fortress 2\tf\maps (you will need to rebuild this path before compiling). Unfortunately, the tf2 client cannot load maps in this folder anymore so you need to move your compiled maps to the new maps folder. If I am not mistaken, I think valve advises placing them in SteamApps\common\Team Fortress 2\tf\download\maps. I have not messed around with the expert compiler but with some tinkering you should be able to set the bsp output folder to the new maps directory.

custom content
So since the tf2 client and hammer now use 2 seperate folders to collect assets from, you will need to store custom assets in 2 seperate folders at a time. If we take the models folder for example, for assets to be available in hammer you will need them to be in the good old SteamApps\userfolder\team fortress 2\tf\models folder. For the tf2 client to be able to load the same assets you will need the models to be in SteamApps\common\Team Fortress 2\tf\download\models as well. and paking should still work as it used to so there you go.

that about covers it all. I'll update as I find out more relevant information about steampipe
 
Last edited:

A Boojum Snark

Toraipoddodezain Mazahabado
aa
Nov 2, 2007
4,775
7,669
For the custom content part, you should be able to use a symbolic link so you don't need to maintain two copies of content.

http://www.maximumpc.com/article/howtos/howto_master_your_file_system_mklink

We would want to use the /D flag for this. For example if you did:
Code:
mklink /D "steamapps\userfolder\team fortress 2\tf\materials" "steamapps\common\team fortress 2\tf\custom\materials"
It will create a symlink from the old location (where the SDK would look) to the new location (where the data actually resides). Whenever Hammer tries to find something in the old place, Windows will redirect the request and point it elsewhere. Once the SDK is updated you can just delete the symlink at the old location to clean up.

I love symlinks and use them for a handful of things when a program doesn't let you specify locations.
 

henke37

aa
Sep 23, 2011
2,075
515
Only one tiny problem: the gfc files are freaking huge.

And I don't think that the correct location for your own content is the downloads folder. A more appropriate location would be the customization folders.
 

A Boojum Snark

Toraipoddodezain Mazahabado
aa
Nov 2, 2007
4,775
7,669
It isn't really better or worse. The reason they have two search locations is for making to easier on the user. Stuff that you get yourself is meant to go in custom so that you can easily delete all the junk from servers (which is placed in downloads).
 
Sep 7, 2012
638
500
The symbolic link trick doesn't seem to be working for me. All of my custom textures in-map turn up white, as if they could not be found. Searching in the material browser yields the same results. I may have to copy it back into the original location.
 

henke37

aa
Sep 23, 2011
2,075
515
Actually, it is so that there is a specific search order:
  1. Custom dir subfolders/vpks
  2. Main game vpks
  3. Download subfolder

This based on the assumption that it is (almost) always faster to load things from vpk files than having to check the download subfolder.
 

A Boojum Snark

Toraipoddodezain Mazahabado
aa
Nov 2, 2007
4,775
7,669
The symbolic link trick doesn't seem to be working for me. All of my custom textures in-map turn up white, as if they could not be found. Searching in the material browser yields the same results. I may have to copy it back into the original location.
It works for me when I tested it (though I am still non-VPK). Did you type it in wrong or something? Also note that what I posted is not exactly what you need to type, you need to replace the paths with the correct username and preceding directly structure (C:\whatever).
 
Sep 7, 2012
638
500
It works for me when I tested it (though I am still non-VPK). Did you type it in wrong or something? Also note that what I posted is not exactly what you need to type, you need to replace the paths with the correct username and preceding directly structure (C:\whatever).

It certainly made the link, but it gives me an error when I try to access it and it doesn't show up in hammer. I checked my typing and all that to make sure I had the correct directory and all that, I think it might be a problem with vpk permissions ..
 

A Boojum Snark

Toraipoddodezain Mazahabado
aa
Nov 2, 2007
4,775
7,669
VPK shouldn't even be involved. This is about making loose-file custom content work. A link from the old loose content location to the new loose content location. Nothing related to GCF or VPK.
 
Sep 7, 2012
638
500
I am wondering whether the conversion to steampipe might have messed around with the permissions in general. I know there was a bit of a fuss over at teamfortress.tv about permissions in the tf folder and custom huds, not sure if it might be related.
 

Bloodhound

L6: Sharp Member
Jan 3, 2011
316
489
Code:
MountFilesystem( 441 ) failed:  SteamMountFilesystem(8160,441,0x182ef820=,0x182ef710) failed with error 116: Cache needs repair

I had to repair the cache before every hammer launch the whole year.
But how should I repair the cache of a nonexisting game?!
 

A Boojum Snark

Toraipoddodezain Mazahabado
aa
Nov 2, 2007
4,775
7,669
That's... kinda the entire point of the discussion we've been having the past month. Current SDK tools are looking for the GCF files, they no longer exist, which is why you needed to back them up to band-aid the problem until the SDK is updated.
 

Bloodhound

L6: Sharp Member
Jan 3, 2011
316
489
That's... kinda the entire point of the discussion we've been having the past month. Current SDK tools are looking for the GCF files, they no longer exist, which is why you needed to back them up to band-aid the problem until the SDK is updated.

I backed my gcf files and my whole "username/team fortress 2" folder up.
They are also in the right place.

But I still can't start hammer.
 

fubarFX

The "raw" in "nodraw"
aa
Jun 1, 2009
1,720
1,978
you can probably try to start a source mp mod using the tf2 content. I have no proof that this would work but the process goes more or less as follows:
-start a mod
-edit your mod's gameinfo.txt to match the content loaded in tf2's gameinfo.txt
-have your gcfs in the path specified and you should be able to map with tf2's assets

there might be problems with the bsp versions but you should be okay with a mp mod I think.

I might make a second guide with that eventually if I can get it to work okay
 

Fragancia

L2: Junior Member
Feb 22, 2013
91
33
Are you screwed if you cannot find the .gcf files in Steam\steamapps\common\Team Fortress 2\tf\download ?
 

compfast

L1: Registered
Apr 25, 2013
18
0
The update deleted my gcf files, I was wondering if there was a way to make the sdk work, by putting the new tf2 folders into gcf files. Is there a way to make those files?