Setting up Hammer: Difference between revisions

From TF2 Classic Wiki
Jump to navigation Jump to search
(Add example GIF for the VRAD differences)
(update link)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This page will walk you through setting up Hammer++ with Slammin' tools for TF2Classic map development.
This page will walk you through setting up Hammer++ with our custom tools for TF2Classic map development.
__TOC__
__TOC__
== Setting up Hammer ==
== Setting up Hammer ==
Hammer++ is highly recommended. Valve's Hammer will not display materials correctly without using the [https://www.moddb.com/mods/mapbase/downloads/mapbase-multi-tool 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 [https://ficool2.github.io/HammerPlusPlus-Website/download.html download page for Hammer++], scroll down until you find the "Source SDK 2013 Multiplayer" option and click it. This will download a ZIP file.
Go to the [https://ficool2.github.io/HammerPlusPlus-Website/download.html download page for Hammer++], scroll down until you find the "Source SDK 2013 Multiplayer" option and click it. This will download a ZIP file.


Line 13: Line 15:


== Setting up your compilation tools ==
== Setting up your compilation tools ==
A set of default compilation tools (vbsp, vvis, and vrad) will come with Source SDK Base 2013 Multiplayer, however these are ancient and unmaintained. They have a limited featureset, old defaults, bugs that can cause strange lighting bugs or performance issues, and much slower compiles. Every mapper is recommended to use the Slammin' Source Mapping Tools, which introduce modern features and fixes.
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.
 
[https://tf2classic.com/downloads/compilers.zip 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.


At time of writing, you can find the latest version of these tools for TF2C at: https://drive.google.com/file/d/1gqmMkHTadUmWBMOqSPSlKRLL1zYvoRsS/view?usp=sharing
=== 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.


Like with Hammer++, this is an archive you'll need to open and extract. The entire contents of the 7z file you download should be extracted into your bin folder. This will '''overwrite''' your existing set of compilation tools, including Valve's Hammer (Hammer++ will be untouched).
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


After extraction, these tools should be used by Hammer++ without further configuration. Refer to the thread for more information on which options you can use with these tools: https://knockout.chat/thread/992
Meanwhile, for fast compiles when prototyping your map, you can simply use:
-fast -hdr -game $gamedir $path\$file


=== VRAD options ===
== Troubleshooting ==
This is a recommended set of flags for VRAD which will compile LDR and HDR, and enable all optional graphical features. This is also horribly slow, and you shouldn't use this except for your ''final'' map compile, when you're ready to distribute it to others:
=== "Cannot load the static props... encountered a stale map version. Re-vbsp the map." ===
-final -both -ambientocclusion -LargeDispSampleRadius -softencosine -worldtextureshadows -translucentshadows
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.
[[File:Vrad.gif|frame|center|The SDK2013 VRAD compared to the Slammin' VRAD on ctf_2fort]]


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 [https://drive.google.com/drive/folders/17pQY8wDkednZi0kMZOSpAtNBNmFWm6GJ 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.
[[Category:Guides]]
[[Category:Guides]]

Latest revision as of 09:38, 26 February 2024

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.