Setting up Hammer

From TF2 Classic Wiki
Jump to navigation Jump to search

This page will walk you through setting up Hammer++ with our custom tools for TF2Classic map development.

Setting up Hammer

Hammer++ is highly recommended. Valve's Hammer will not display materials correctly without using the Mapbase Multi-Tool to create a shortcut. This section will guide you through installing Hammer++ instead, which does not require using the Multi-Tool.

Go to the download page for Hammer++, scroll down until you find the "Source SDK 2013 Multiplayer" option and click it. This will download a ZIP file.

If you open the ZIP file, you'll find a hammerplusplus_2013mpbuildXXXX folder, which itself contains a bin folder. You should merge the bin folder inside of the ZIP with the bin folder in your Source SDK Base 2013 Multiplayer directory that contains hammer.exe. After that's finished, hammerplusplus.exe and hammer.exe should be in the same folder.

Open up Hammer++ by double-clicking "hammerplusplus.exe". After it's started, in the main interface, go to Tools -> Options -> "Game Configurations" tab -> Click "Edit" next to the "Configurations" drop-down. Add a new one, titled however you like.

Edit this new configuration to point to the TF2C gamedata (the FGD files in the tf2classic folder), the game executable directory (your Source SDK Base 2013 Multiplayer folder), and the game directory (your tf2classic folder, containing GameInfo.txt)

Example image showcasing what your configuration should look like

Setting up your compilation tools

A custom set of compile tools is required in order to have proper lighting on your maps, due to the default compilers not supporting custom shaders, and relying on DX8 models. We use the Mapbase VBSP and Slammin' VRAD which fix both of these problems, along with many other bugs.

Download TF2C's custom map compile tools.

Like with Hammer++, this is an archive you'll need to open and extract. The entire contents of the ZIP file you download should be extracted into your bin folder. This will add vbsp_tf2c and vrad_tf2c executable files, alongside the regular vbsp and vrad files.

After extraction, you will need to configure Hammer++ to use these tools. In the menu bar, click on "Tools" -> "Options..." -> "Build Programs", and adjust the BSP and RAD executable names to add the _tf2c suffix to the binary names. In the end, the paths should end with vbsp_tf2c.exe and vrad_tf2c.exe.

Configuring VRAD

When you're ready to compile your map, you need to make sure that the parameters you're passing to VRAD are supported by our custom build. Some, such as -staticproplighting, are now enabled by default and will produce a RAD error if you include them, causing your map to appear fullbright in-game.

In the "Run Map..."/F9 dialog, you should click the "Expert..." button in the bottom-left corner of the panel to view your configurations, and adjust the parameters for the $light_exe command in the configuration you use for your final compile to be:

-final -hdr -ambientocclusion -aoscale 0.5 -LargeDispSampleRadius -softencosine -worldtextureshadows -game $gamedir $path\$file

Meanwhile, for fast compiles when prototyping your map, you can simply use:

-fast -hdr -game $gamedir $path\$file

Troubleshooting

"Cannot load the static props... encountered a stale map version. Re-vbsp the map."

This can happen after upgrading to the newer set of compile tools released in 2.1.2 after previously using the older set. The exact cause hasn't been discovered yet, but it seems to be caching related. Our developers initially had this issue, and then it would randomly fix itself while they were trying to figure it out, and then it would never happen again.

We recommend deleting output files related to your map or tweaking $light_exe parameters. Specifically, this has sometimes been caused by using '-both' in your VRAD flags, which is now obsolete and recommended against. If you're completely unable to solve it, you can also use the Slammin' Source Map Tools to compile your map. These should be equal, with the exception of lacking support for parallax-corrected cubemaps. These will overwrite the tools provided by the SDK, so you'll need to modify your Hammer++ configuration again to point to vbsp.exe and vrad.exe. You'll also need to delete the "vrad.redirect" file inside the folder.