Installing Hammer++ for Other Games

From Valve Developer Community
< Hammer++‎ | Docs
Jump to: navigation, search
English (en)українська (uk)
Edit

Hammer++ Hammer++ is a powerful mapping tool that solves many issues that the Valve Hammer Editor introduces, and adds some much needed features that useful to every mapper. However the only official versions of Hammer++ available are for Counter-Strike: Source, Source 2013 Singleplayer, Source 2013 Multiplayer, Team Fortress 2 and Counter-Strike: Global Offensive. Thankfully, it is possible to configure Hammer++ to use assets and compilers for other games that they were not originally intended for, including Portal 2, Left 4 Dead 2, Black Mesa, and more! Almost every source game can run using some version of Hammer++. The games in the list below have been proven to work using the method below:

Icon-Important.pngImportant:In order to use CS:GO Hammer++, you must have the csgo_legacy beta branch installed for Counter-Strike 2 Counter-Strike 2.
Game Hammer++ Version Notes ViewDiscussEdit templatePurge
Portal 2 Portal 2 CS:GO
Portal 2: Community Edition Portal 2: Community Edition CS:GO Unsupported by devs; They will not help if any issues are found
Icon-Important.pngImportant:BETA TESTERS: Remember, your job is to test P2CE and its tools. Please refrain from using Hammer++ with P2CE.
Alien Swarm Alien Swarm CS:GO
Left 4 Dead 2 Left 4 Dead 2 CS:GO Some models may appear as errors
Left 4 Dead Left 4 Dead CS:GO Some models may appear as errors
Momentum Mod Momentum Mod CS:GO [confirm]
Tf-16px.png Titanfall engine branch games CS:GO [confirm]
Garry's Mod Garry's Mod Source 2013 Multiplayer Similar to standard method, but make sure to view this file as well for additional steps
Day of Defeat: Source Day of Defeat: Source Source 2013 Multiplayer
Black Mesa Black Mesa (Steam) Source 2013 Multiplayer New lighting entities may not show in lighting preview; use old entities during light test and swap to final for full compile
Black Mesa Black Mesa (Mod) Source 2013 Singleplayer Make sure to point towards the Source 2007 compilers!
Mapbase Mapbase Source 2013 Singleplayer
Postal III Postal III Source 2013 Singleplayer Requires modification to Postal 3's FGD file(s); Recommended to use Postal 3's compilers instead; Some Hammer features from Postal 3's are missing like 'prefabs';

Requires Source SDK Base 2013 MP/SP to be installed; Requires folder linking inside SDK Base's 'sourcetest' folder to load assets; Hammer++ will crash if placed inside Postal 3's bin folder

This method and accompanying pictures were taken from this steam guide by the user RosemaryWebs.

Installing Hammer++

The popup you will see when first starting Hammer++
Note.pngNote:For the sake of this tutorial, Portal 2 will be used as an example. Make sure to replace the appropriate files and downloads with the corresponding version stated above.


According to Erin-Rose-Webs' original guide, Ficool2 has announced the possible release of a dedicated Portal 2 version of Hammer++. If this does come to fruition, this tutorial will persist but will have the examples changed to instead use a different supported game (Editor's note: Will likely be installation for Garry's Mod, L4D2, or Black Mesa when it happens, because that is the next biggest use case that I see-Equalizer5118, an idiot who cant spel (talk) 11:02, 15 October 2023 (PDT))

Discuss this here!

Warning.pngWarning:Make sure you have opened the expert compile dialogue in stock Hammer at least once before this process, as doing so creates an important file that must exist before any map can be compiled in Hammer++.

Download List

In order to proceed, you will have to download the following programs:

  1. Supported Hammer++ version for your game (See Above, Portal 2 uses Counter-Strike: Global Offensive CS:GO)
  2. Link Shell Extension (This is not required, but will make a further step much easier)
  3. Game with supported Hammer++ version (See Above, Portal 2 uses CS:GO)

Installing Hammer++ on supported game

The next step is actually installing Hammer++ into the files. Extract the bin folder in the archive into the Counter Strike: Global Offensive folder in your steamapps/common folder. Now, go into the bin folder and launch Hammer++. Now, we will create a new configuration pointed at the Portal 2 assets. Now, this is where things can get complicated. You will now launch the hammerplusplus.exe executable. You will get a popup that says that there are no configurations. Make sure to click no, otherwise you will get redirected to another article on this wiki. After clicking no, you will see a screen that is similar to the one seen below, but just completely blank:
P2hammerppSetup1.png

Then, copy the information that is seen above into the respective boxes. If your game is in a separate folder than your normal steam directory, you will have to replace $SteamUserDir with the full file directory. Now click "Ok" to close and save this information. You will get two popups that say how this information will not update until Hammer++ restarts, but they are not important so just click "Ok" on both. With this completed, you are halfway done with configuring Hammer++. Now, for compiling the map, we need to define the build programs. Go to Tools>Options>Build programs and copy the information below:
P2hammerppSetup2.png

After you do this, press "Apply" then press "Ok" to save your changes. Then, close Hammer++. Now, we will have to bring over Portal 2's lighting data into CS:GO. Because Portal 2 had different texlights compared to CS:GO, we need to define portal 2's lights in the CS:GO directory l. Open Portal 2's lights.rad located in Portal 2/portal2 with any text editor and copy all of its contents. Then, go to CS:GO's lights file and paste Portal 2's contents at the bottom of the file. It should look similar to this (comments not needed):
P2hammerppSetup5.png

You have now completed the setup of Hammer++! However if you load a new map you will find that many of your custom models and textures are missing. This is because the program is searching through the CS:GO directory for the necessary files and then it doesn't find them it presents you with a missing model/texture. To fix this, we will need to create symbolic links.

Adding custom content

This is where things can get complicating. You can copy-paste all your custom files, but that can bloat your hard drive more than it needs to. Instead, it can be more space effective to create symbolic links. This is where the Link Shell Extension can help, but it is possible to use command prompt. First, navigate to Portal 2\portal2\Gameinfo.txt and add all the Portal_dlcx folders as well as all your custom folders following the format seen below:
P2hammerppSetup3.png
We do this because CS:GO's engine, and in turn Hammer++'s engine, do not search automatically for the dlcs folders, so we have to manually list them.

Link Shell Extension

Go to your base Portal 2 directory and Ctrl+Left click all your custom folders and dlcs folders and right click. Select "Choose link source" to start creating links. Then, go to your CS:GO directory and right click an empty space. Hover over "Drop link as" and select "Symbolic Links".

Command Prompt Method

Press the Windows key on your keyboard and type "cmd". Right click "Command Prompt" and click "Run as Administrator." A User Account Control prompt should pop up, press "Ok".

Note.pngNote:If you are on Windows Windows 11, you do not need to run Command Prompt as administrator to access the mklink command
Warning.pngWarning:Running any program as administrator is incredibly dangerous to your device! We are only running as Administrator to access the mklink command in Windows Windows 10.
Never run random apps as administrator or type strange commands you don't know into Command Prompt! It can cause permanent damage to your device!

We will now use the mklink command to create a symbolic link. The syntax for this command is as follows:

mklink /j "<link>" "<target>"

The first directory is the name of the folder the link will be named. The second directory is the name of the folder you are linking to. To simplify, by running this command you are creating a folder in the first directory that, when you open it, will show all the contents of the linked folder in the second directory. By creating a link from your CS:GO directory to your Portal 2 directory, you are not actually copying the files in those folders, you are essentially tricking Hammer++ into thinking that it is accessing a folder in CS:GO's directory when it is actually seeing files located in Portal 2's directory. This also works across drives, so you can have symbolic links on your D: drive that point to folders in your C: drive. An example of this command is as follows:

mklink /j "C:\Program Files (x86)\Steam\steamapps\common\Counter-Stike Global Offensive\portal2_dlc1" "C:\Program Files (x86)\Steam\steamapps\common\Portal 2\portal2_dlc1"
Tip.pngTip:Make sure to replace the file paths with the file paths that link to your CS:GO and Portal 2 directories.

You will now repeat this process for every custom folder you use, including the dlc folders. This is not needed for the base game (in this example portal2) folder, as hammer automatically mounts this directory.

Final Result

After you make links to all the folders, your CS:GO folder should look similar to this, just with all your custom folders instead:
P2hammerppSetup4.png
Now to fix the Hammer models, open the Counter-Stike Global Offensive\platform folder and delete/rename the materials and Models folder and replace them with Symbolic Links to their respective folders in the Portal 2\platform folder. It should look similar to this:
P2hammerppSetup6.png

Note.pngNote:Even after all these steps, some L4D2 models or textures may appear as missing or as white meshes. This is because L4D2 uses a unique model format and some unique material shaders that are unsupported in CSGO, and by extension Hammer++ for CSGO. Unfortunately, this cannot be fixed. If you need to accurately position these models or textures, use the version of Hammer included in the Left 4 Dead 2 Authoring Tools. Do remember to save frequently; stock Hammer does have some stability issues.

After you do this, open Hammer++ again. Now, you should be set! To get a list of all new features, try checking out the Hammer++ website and its page on this wiki. For general Hammer assistance, check out this article.

Note.pngNote:Some Steam mods use the original game's assets folder for shared content. While this is a bad practice, it must also be taken into account when pointing towards game files. Make sure that if this is the case to also create symbolic links to the original game's vpk folder.

External links

Installing Hammer++ For Portal 2 (original guide)
Hammer++ Website
Link Shell Extension Website