Configuring Hammer for Day of Defeat

From Valve Developer Community
Jump to navigation Jump to search
Wikipedia - Letter.png
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
Broom icon.png
This article or section needs to be updated to include current information regarding the subject because:
Fix bad advice:
  • Use J.A.C.K. J.A.C.K., not Hammer. Also, the "Half-Life SDK" on Steam comes with Hammer 3.4 instead of Hammer 3.5, so it won't show models.
  • Use VHLT, not the original HL1 compile tools. The official maps were compiled with ZHLT.
  • Don't use the FGD in for SDK; it's from Beta 2.0; use Day of Defeat.fgd instead. That also removes the dependency upon the HL1 FGD.

Also, Hammer 4.x isn't "current" anymore.

Remember to check for any notes left by the tagger at this article's talk page.
Hammer Editor 3.4 Splash Screen.png

Day of Defeat Day of Defeat maps are designed using Hammer Editors 3.3 through 3.5, and are powered by the GoldSource Engine, the predecessor to the current Hammer 4.X series, AKA the Source SDK. If you don't already have Half-Life 1's editor, click here to download. In order for the Hammer Editor to make maps for Half-Life, it needs access to certain files and programs, such as compile tools, game data, and so-on. This page will give you a quick run through on how to set everything up, and get on your way to map making.

Note.pngNote:Once you have successfully configured the Hammer Editor to your liking, click Apply, OK, and restart Hammer for your changes to take full effect.
Note.pngNote:This guide assumes you have a regular Steam installation of everything. You may have to follow alternate or additional steps if you:
  • Have Steam, Half-Life, or SDK files installed on a drive that is not C:\
  • Have Half-Life/SDK files NOT under your Steam folder.
  • Obtained your copy of Half-Life through any non-Steam distributor, or CD-ROM.

Game Configurations

Hammer 3.4 Edit Game Configuration Screen.png

Launch Hammer from Steam. (Steam will call it "Half-Life SDK".) Click on Tools, Options... to open the configuration window. Go to the tab labeled Game Configurations.

Configuration

Hammer allows you to setup multiple configurations, so if you want to make maps for more than one GoldSource game, you can make maps for each on the same editor. This section allows you to add, remove, or edit different configurations.

Click Edit (the wide one at the top, not the smaller one below), Add, and name your configuration whatever you want. Click OK, Close.

Game Data Files

Click Add. Select the file at common\Half-Life SDK\Hammer Editor\fgd\day of defeat\halflife-DOD2-expert.fgd. This file should exist there. If it doesn't, you can make it yourself by copying all the information on this page. You can select and use extra FGDs, but anything in them not coded to work in the Half-Life engine will not work. For example: the CS hostage entity.

Warning.pngWarning:Use Day of Defeats FGD in pair with Half-Life FGD, or you won't see most entities!
Note.pngNote:ALL filepaths you enter for configurations need to be absolute, meaning they start with C:\ and include the full path to the folder or file.

The Texture Format option should now say WAD3 (Half-Life / TFC) and the Map Type option should now say HalfLife / TFC. These should be the only options listed for either.

Default PointEntity class

The FGD tells Hammer to automatically select aiscripted_sequence from the entity list when using the Entity Tool. You can change the default to any valid point entity you want.

Default SolidEntity class

The FGD tells Hammer to automatically select button_target from the entity list when you tie a brush to an entity. You can change the default to any valid brush entity you want.

Game Executable Directory

This is the folder containing hl.exe. Select the folder common\Half-Life.

Mod Directory

Set this to the folder containing everything specific to your mod/game, such as common\Half-Life\dod. If you're not mapping for a mod, you can set it to the valve folder, but it shouldn't make a difference.[confirm]

Game Directory

This is the folder holding game-specific files, such as models, animations, textures, etc. For Day of Defeat, this is at common\Half-Life\dod.

RMF Directory

This is where Hammer will save all files related to your map every time you compile. The engine looks in common\Half-Life\dod\maps for maps, however, Hammer will generate quite a few files related to your map when saving or compiling, so you may find it preferable to have a separate folder to contain them all (usually named bspsrc). Compiled map files can be stored in another folder, which we will get to configuring near the end.

Build Programs

Now go to the tab labeled Build Programs. These are the programs that process your level geometry, determine where to optimize for visibility, and add lighting to your map. Many mappers use Zoner's Half-Life Tools (ZHLT), a fan made modification of the original tools developed for Half-Life containing many fixes and improvements. If you use those tools, you will have to give filepaths for those instead of the ones talked about below.

Icon-Bug.pngBug:Valve Hammer Editor does not support space in the executable Paths. For a lack-free compile please move the executables to new Path structures without blank spaces.  [todo tested in?]

Game Executable

A .exe file to open when the map finishes compiling. Unless you have some non-gaming purpose for Hammer, this should probably be common\Half-Life\hl.exe.

CSG executable

CSG takes your brush geometry and turns it into something readable by the engine. It also adds entities, like info_player_start to your map. This is at common\Half-Life SDK\Hammer Editor\tools\qcsg.exe.

BSP executable

BSP generates visleafs, based off the geometry made by CSG. This is at common\Half-Life SDK\Hammer Editor\tools\qbsp2.exe.

VIS executable

VIS determines what is visible from within each visleaf, which is used to save RAM for computers. This is at common\Half-Life SDK\Hammer Editor\tools\vis.exe.

RAD executable

RAD adds unchanging and toggleable lighting into your map, so it won't look so flat and boring. Dynamic lighting, like the HEV flashlight, is done directly in the game. This is at common\Half-Life SDK\Hammer Editor\tools\qrad.exe.

Compiled Map Directory

This is where the game usually looks for maps. This should be common\Half-Life\dod\maps.

Textures

Go to the tab labeled Textures. Textures are the images used to make your cubes and cylinders look like crates and barrels. GoldSource textures are stored inside of large image library files known as WAD3 files. You can insert any WAD files you wish, whether they come from other GoldSource games, the internet, or if you make them yourself. It's highly recommended however that you do not edit any of the default WAD files that come with your game, especially if your game is not a Steam purchased copy.

If using Valve's default compilation tools, it is recommended you only add the WADs you need for the map you are editing to prevent unnecessary asset loading in-game. Most newer, community-made compilation tools automatically exclude WADs that are not being used by the map.

Look in common\Half-Life SDK\Texture Wad Files\ for WADs.

Saving and Compiling

When you've successfully configured your Hammer Editor to your liking, click OK, restart Hammer, and test to make sure you've configured Hammer correctly. If you've created more than one configuration, you can choose which to use on startup.

Running your Map without Hammer

It shouldn't happen, but if you're unable to run your map directly from Hammer, keep the game open while you edit your map. When compiling finishes, open the console by pressing `, and type restart, or if the map's not already open, map mapname to load/reload the map with your changes added.

Note.pngNote:Not being able to run your map directly from Hammer is a warning sign that something is wrong with your compile. If your map isn't changing in-game even when you change it in Hammer and recompile, something is wrong.