Black Mesa

Black Mesa

Not enough ratings
Installing Hammer++ for Black Mesa in 2025
By tpd1864blake
An up-to-date, concise guide on installing Hammer++ for Black Mesa.
   
Award
Favorite
Favorited
Unfavorite
Forward
Tired of your maps looking like this?

Do you want to edit the maps in Xen but find that you can't because EVERYTHING relies on Lightmapped_4WayBlend shaders? I can help you solve that.


Prerequisites:
  1. Legitimate copy of Garry's Mod
  2. VPKEdit for extracting shaders
  3. OPTIONAL: Batch script[copyparty.blake-server.com] to automate the process of opening Hammer++ correctly and conveniently
Advanced installation
For this guide, you will need to have purchased and installed Garry's Mod. The Garry's Mod branch of Hammer++ is the only version (aside from the deprecated CSGO branch) that supports 4 way blends. You will also need VPKEdit (or the older GCFScape, but I highly recommend using the newer program).

Installing Hammer++ for Garry's Mod
  1. Visit the official website[ficool2.github.io] and download the Garry's Mod branch.
  2. Follow the instructions in the README file for installing

It's that simple!


Configuring Hammer++ to work with Black Mesa
  1. Open Hammer++ and go to Tools>Options...>Game Configurations
  2. Click on "Edit" next to Garry's Mod and add "Black Mesa" as a game. Then, feed it the hammer++ fgd from /bin/win64/hammerplusplus. Next, add all 3 of Black Mesa's fgd's from its bin folder.
  3. Below that, edit all the settings accordingly. Default PointEntity is what is placed when you use the Entity creator (in BMS, this is info_player_start). Default SolidEntity is what is created when you use Ctrl+T on a brush to convert it into an entity brush. Use func_brush or func_detail. Set Cordon Texture to "dev/dev_blendmeasure". The other settings here are self explanatory, set them to your game's directories as explained (for example, "(steam directory)/steamapps/common/Black Mesa"). My configuration is listed below as an example (ignore the glitchy text, backslashes get replaced with Yen symbol for me)
  4. Open "Build Programs" and point to each of Black Mesa's executables. Game Executable is bms.exe, BSP is vbsp.exe, VIS is vvis.exe, RAD is vrad.exe, and MDL is studiomdl.exe (all except for bms.exe is in the Bin folder). Maps folder should point to bms\maps\
  5. IMPORTANT: Open the file GarrysMod\bin\win64\hammerplusplus\hammerplusplus_settings.ini and change the line Enable4WayBlends=0 to Enable4WayBlends=1. Otherwise, 4-way blends will not load, and any maps that rely on it will be permanently disfigured if you save them in Hammer++

Game Configuration settings:


Essential fixes to ensure everything works

Please follow all of these sections to ensure that your copy runs as smoothly as possible. Some of these are required to use Hammer++ at all.

I'm stuck in hyperbolic subspace / Everything looks weird


You must copy Garry's Mod shaders into Black Mesa's folder or else Hammer++ will either completely fail to render anything or will be unable to render most shaders properly.

  1. Using VPKEdit, open the following file: steamapps\common\GarrysMod\garrysmod\garrysmod_dir.vpk
  2. Right click on the folder "Shaders" inside the VPK and extract it
  3. Move this Shaders folder to Black Mesa\bms\ to port Garry's Mod shaders into Black Mesa. It should be in the same location as materials, models, etc. folders.

NOTE: Porting Garry’s Mod shaders to Black Mesa will break the default Hammer editor. If you wish to use the default Hammer editor, then remove the shaders folder beforehand. Alternatively, you can create a Batch script to symbolically link the folder into Black Mesa\bms\ and unlink it when Hammer++ closes. If you want to automate the process of creating a symbolic link and then deleting it after Hammer++ is closed, then use my Batch script[copyparty.blake-server.com] for your convenience. It should work mostly out of the box, just edit the file to change the value for "shaderfolder" to point to your shaders folder; it can be stored anywhere that is convenient.
Side note: If you need to troubleshoot an issue with the script, then right click it and hit "Run as Administrator", this will skip the UAC escalation prompt and will keep a window open that logs verbose output. Otherwise, the script will prompt you for admin permissions and will continue to run silently in the background until Hammer++ is closed.

Everything is missing textures and models

Even if you point Garry's Mod to bms files, the Hammer++ will not search them automatically. Garry's Mod, and by extension Hammer++, requires a special config file to mount content.

You can either copy mount.cfg from garrysmod\cfg\ or create your own. This file goes in Black Mesa\bms\cfg\

"mountcfg" { "bms" "(steam library location)\steamapps\common\Black Mesa\bms" }

NOTE: The contents of the custom folder in bms\custom\ are not loaded automatically. You must add these to mount.cfg manually. An example is given below. When writing this list, keep in mind that content listed FIRST will override all other files if there are conflicts. Therefore, mods should be listed before the game content.

"mountcfg" { // You can use this structuring to accurately replicate which assets will take priority. This only affects Hammer++ mod loading. // Loosely-structured mods in the custom folder take the highest priority (exceptions apply), loaded in alphabetical order "Mod1" "(steam library location)\steamapps\common\Black Mesa\bms\custom\0_ModFolder" "Mod2" "(steam library location)\steamapps\common\Black Mesa\bms\custom\1_ModName" // VPK files in the custom folder directly take next priority, loaded in alphabetical order "custom" "(steam library location)\steamapps\common\Black Mesa\bms\custom" // Subscribed workshop addons have low priority, loaded in the order you subscribed to them from newest to oldest "1234567890" "(steam library location)\steamapps\workshop\362890\1234567890" // Core game content has the lowest priority and is loaded last "bms" "(steam library location)\steamapps\common\Black Mesa\bms" "hl2" "(steam library location)\steamapps\common\Black Mesa\hl2" }

HL2 textures are overriding BMS textures

This is because Hammer++ is hard coded to pull from Garry's Mod engine files. To prevent this from happening, you can make the engine files inaccessible by renaming them.

  1. Go to steamapps\common\GarrysMod\sourceengine\
  2. Rename all files from "hl2_(name)_dir.vpk" to "hl2_(name)_dir.vpk-DISABLE" for example. You only need to do this for _dir.vpk files, and you can rename them to whatever. Or you can move them to another folder

NOTE: This will cause default assets in Garry's Mod to be missing textures, models, etc. if you play Garry's Mod after making this change. Remember to change the files back before loading the game. If you use my Batch script[copyparty.blake-server.com], then it automatically handles disabling and re-enabling the gmod engine VPK files.

NOTE: If you do this, be sure to mount Black Mesa\hl2\ content in mount.cfg so that maps with HL2 assets do not have missing textures or models in the editor.

Ragdolls aren't simulated with the physics tool

This is because Hammer++ doesn't support Black Mesa's new ragdoll entities by default (it only recognizes prop_ragdoll). You must manually edit the fgd file to ensure that Hammer++ recognizes them as ragdolls.

  1. Go to GarrysMod\bin\win64\hammerplusplus\
  2. Open hammerplusplus_fgd.fgd and add two new ragdoll() entries for the other 2 types of ragdolls. See the image below.
Known Issues
Despite my best efforts, some issues cannot be fixed. They must be manually fixed by the creator of Hammer++. These limitations are listed below.


No surface blend preview
You cannot view or edit surface blends. This applies to both regular displacements and 4-way displacements. Use default Hammer for texture blending.


Nihilanth portals not rendered
This is because its shader is unable to load in Hammer++. I doubt you would need this anyways.


No parallax occlusion preview
Shaders that utilize parallax occlusion mapping are unable to be rendered. This is almost purely cosmetic.
12 Comments
tpd1864blake  [author] 9 Oct @ 11:32am 
@Kud well, in that case. Here: https://copyparty.blake-server.com/Public/
The file is named Open Hammer++.bat
Kud 8 Oct @ 8:54pm 
LMAO. But the current situation is that no one except you can download this bat file.
I don't mind downloading this file from the download server you set up yourself, since it only "looks" suspicious.
tpd1864blake  [author] 8 Oct @ 4:45pm 
Just click "Download infected file" and then look through the script yourself to confirm that it's safe. I hopefully labeled everything correctly such that you can get a good idea of what it does without coding experience
tpd1864blake  [author] 8 Oct @ 4:44pm 
If Google flags it as such, probably not much I can do. The only virus-like thing it does is perform privilege escalation by prompting the user for admin permissions. I could self-host it from my own server, but downloading a random batch file from a random server that's flagged by Google is REALLY sketchy lmao
Kud 8 Oct @ 11:50am 
Hello, sorry to bother you. It seems that the bat file you left has been flagged as a virus by Google. Could you please upload it again?
tpd1864blake  [author] 2 Aug @ 6:31pm 
Oh and also I added the -noaddons argument by default, which was included in yesterday's anniversary update for Hammer++, this stops Hammer++ from loading Garry's Mod addons
tpd1864blake  [author] 2 Aug @ 6:29pm 
I have updated the Batch script in the Google Drive link. Arguments passed to the script will be passed to hammerplusplus.exe. This means you can drag & drop a vmf file onto the script (or a shortcut to the script) to immediately open the map for editing. Note: this does not work if you use the "Open With" right click option. If you do this, the script will fail to pull administrator permissions and will not run.
tpd1864blake  [author] 29 Jul @ 10:03am 
FilmAFrame If you point Hammer++ to use the programs found in Black Mesa\bin\ then you must use the parameters for Black Mesa. Hammer++ doesn't change how maps are compiled, unless you point it to a different exe in the options menu.
FilmAFrame 28 Jul @ 5:37am 
Can I use both Garry’s Mod and Black Mesa game parameters together when using Hammer++ for Black Mesa? (Mainly for VRAD ) Since we are using the hammer++ for Garrys mod can I only use thats game parameters?

The game Black Mesa made these parameters:
-StaticPropLighting3 -choptexlights -extratransfers -ambientocclusion

And Garry’s Mod made these
-aofacesamples 128 -aopropsamples 32 -aoNoSquare


Other games don’t have these, only those specific games made them. So if I’m using this guide, which ones do I use when compiling? Can I mix them?

If you don’t know what VRAD and Additional game parameters are, here are links that explain what it is

Game parameters
https://developer.valvesoftware.com/wiki/Additional_game_parameters

VRAD
https://developer.valvesoftware.com/wiki/VRAD
tpd1864blake  [author] 16 Jun @ 4:24pm 
@MikeTheShyBoy You can use my example config file as a starting point. It's just a list of assets that will be loaded into Hammer++. You need the BMS and HL2 directories to be listed at the end, and everything before that should be stuff in your custom folder if you want addons to appear in the editor