Left 4 Dead

Left 4 Dead

Not enough ratings
Setting up Hammer++ for the original game.
By Ceno
This guide covers how to set up Hammer++ for Left 4 Dead 1, using the Left 4 Dead 2 build.
   
Award
Favorite
Favorited
Unfavorite
Basic installation
  1. First off, you'll need to install the Left 4 Dead Authoring Tools, as you'll need it to copy over some information.

  2. Go to the Hammer++ website via the link below, and click on the Left 4 Dead 2 logo. This will start downloading the zip file.
    Official Hammer++ Download Page[ficool2.github.io]


  3. Next, open the zip file. Inside you will see the contents, then open another tab in file explorer, and go to where your Left 4 Dead 2's bin folder is located.





  4. Extract the files from the Hammer++ folder into your Left 4 Dead 2/bin folder. Then you can make a shortcut to the exe, pin it to your task bar, etc.







  5. Lastly, you'll need to modfiy the hammerplusplus_settings.ini in notepad and change IOParamNewDelimiter to 0. (Thanks to Ficool for telling me this originally, and for Vizzys for reminding me. As I'm a dementia patient)






Post-installation setup
  1. Open up your freshly installed Hammer++ exe, you will see this screen when you load it.


  2. At the top you will see a tab named "Tools", when you hover over it and click, it will open up a selection of two options. You click the button labeled "options"


  3. Then there's quite a bit to modify. First off we'll start in the "Game Configurations" tab, this is where you'll copy over every setting except the "Game Directory" section from the original Hammer in the Left 4 Dead Authoring Tools. An example of what mine looks like is down below.


  4. After copying over everything from the second step, you'll need to create a new folder in your Left 4 Dead 2 directory where the DLCs and update folders are. Inside you will copy your gameinfo.txt from "Steam\steamapps\common\Left 4 Dead 2\left4dead2", then you will paste it inside your new folder.


  5. Down below is an example of what your gameinfo.txt should look like, you will copy the file search paths from each Left 4 Dead 1 folder. Or alternatively you can download this base:
    Template Gameinfo [drive.google.com]


  6. You will then copy the file path, and paste it into the "Game Directory" section in the "Game Configurations" tab


  7. In the same menu seen in the second step, you will select the "Build Programs" tab, repeat copying the settings from the original Hammer editor the game uses

  8. Not a necessary step, but, I'd advise anyone reading this guide to make sure they know where their autosaves are placed in, how much storage is allocated for saves, and how often Hammer++ saves.


  9. Down below are some compiler bat files, you'll need to change how they're setup, you can open these files via Notepad or Notepad++. Whatever text editor you use, it should work. You'll need to change the file paths to match where your game files are. To use the files after setup, you simply drag your VMF onto the bat file, and it'll pop up a command prompt window, much like normal compiling in Hammer++. Your BSP will be compiled where your VMF is located, and you'll need to manually place the new BSP into your maps folder.
    Compiler Bat Files [drive.google.com]


  10. When packing your assets into a VPK, you will need a Left 4 Dead 1 version of the mount folder that is in your Left 4 Dead 1 gameinfo.txt, this folder will be used to store the assets that will load in game. Whilst the one in the previous gameinfo.txt will be the one used to load the Hammer++ assets. It is confusing, however. With models and materials, you don't need to change anything. They will work fine in the editor. The only reason you need to do this, is this version of Hammer++ was only made to read L4D2's VPKs, and whilst you might be thinking "But aren't all VPKs, VPKs?" There are technical differences behind the scenes I'm sure. If you use a L4D1 VPK in L4D2, it will fail to read. And vice versa.
Further tips
  1. (Optional) Max out the clipping planes, and render distance settings in the "3D Views" tab.


  2. Helpful sites will be listed below.
    https://developer.valvesoftware.com/wiki/Main_Page
    https://developer.valvesoftware.com/wiki/Hammer_Hotkey_Reference
    https://developer.valvesoftware.com/wiki/L4D_Level_Design/Nav_Meshes
    https://developer.valvesoftware.com/wiki/List_of_L4D_Series_Nav_Mesh_Attributes
    https://developer.valvesoftware.com/wiki/Left_4_Dead_Infected_Populations (Some of this only applies to the second game)

  3. If you can't find something on Valve Developer Community, YouTube genuinely is a helpful place. There are times where the tutorial you're watching may not apply to Left 4 Dead, but the engines share a lot of common features.

  4. Down below are links to very helpful Discord servers.
    https://discord.gg/hammer (Hammer Editor Discord Group)
    https://discord.gg/87Zh9rVb4n (Valve Modding Community)

  5. If you're having issues finding your Left 4 Dead directory, you can try right clicking on Left 4 Dead in Steam, going to "Properties", then "Installed Files", and clicking "Browse"

  6. If you face an issue where your map IO logic isn't working properly, it might be a result of a difference between L4D1 and 2's engines. To fix it, you simply open the VMF up in Notepad++, hit Ctrl + F, replace all instances of "" with a comma. (Or what  shows up for you as. Depending on how your PC is setup, the unicode might show up differently it seems)








  7. In order to override the base game assets, you will need to put your assets in a folder named "pak01_dir", then you will need to drag and drop the folder onto the Left 4 Dead 2 .vpk file located in the Left 4 Dead 2 bin folder. This will open up a command prompt window, which will prompt it to start packing the VPK. You cannot use the Left 4 Dead 1 .vpk for the Hammer++ asset folder, as it cannot read Left 4 Dead 1's VPKs. Again you will have to have two separate folders, one for the assets the game loads when you launch the map, and another for Hammer++'s assets. It should be noted that if you already have a folder/vpk named "pak01_dir" then you should name your additional folder "pak02_dir" and so on, increasing the number.

Besides all that, all I can say is you're not going to be a perfect mapper in a day. I'm still not, I've been learning for three years. The best advice I can say, is to stick to creating content by yourself, unless you truly trust the people close to you.

If there's any clarification that is needed, I will add it to the guide. Thanks for reading, and I hope you enjoy Hammer++
16 Comments
челобитчик 25 Jun @ 1:21am 
ah sorry, i just downloaded older version hammer++ cuz new version only on x64 platform, l4d2 not on x64
Ceno  [author] 23 Jun @ 9:13am 
Uh, yes? You just use the files as is that you've downloaded from Hammer++'s website lol.
челобитчик 23 Jun @ 5:31am 
Hello, can i do that but for L4D2 ?
Ceno  [author] 21 Mar @ 12:17am 
When it comes to VPKs, you have to make sure to use the L4D2 VPK.exe to pack them so that the assets can be read by Hammer++, so you'll have to have two folders. One for the in-game assets (using L4D1's VPK.exe) and the other for Hammer )using L4D2's VPK.exe)
Mori 20 Mar @ 11:35pm 
A question, I have vpk in l4d1, meaning textures, models and such... should I put that back in l4d2?
Ceno  [author] 26 Nov, 2024 @ 1:41pm 
Added a new step to post-installation setup, you can download the compiler bat files I use.
мяFunreal 25 Nov, 2024 @ 7:48am 
This is big sexy.
Ceno  [author] 9 Sep, 2024 @ 5:20am 
Added a seventh tip for those who have assets that override the base game assets.
Ceno  [author] 8 Sep, 2024 @ 2:24pm 
Also, depending on what your PC is, the unicode might show up differently it seems.
Ceno  [author] 8 Sep, 2024 @ 1:59pm 
I made a quick addition to the guide that you'll want to change @Voersie ツ, I had forgotten to add it. If you don't change it then your maps IO will break, as the commas separating them become symbols that only L4D2's engine can read. If you've already saved a VMF with Hammer++ before doing this, then you can fix it by opening the VMF up in Hammer++, and replacing the "" with ","

I'll add an example to the guide on what that looks like.