Adding spawn points guide

Post Reply
User avatar
[ZG] abracadabra
Admin 8
Admin 8
Posts: 180
Joined: Thu Mar 07, 2019 6:59 pm
Contact:

Adding spawn points guide

Post by [ZG] abracadabra »

WIP


This is a guide on how to install and use mapping software for the purpose of updating maps to have more spawn points.

Don't be intimidated by the length. Some of the steps only have to be taken once and many of the remaining steps don't take much time once you get used to them.

I will be using default paths. Yours might differ.



Installing and setting up Hammer++

1) Go here: https://ficool2.github.io/HammerPlusPlu ... nload.html
2) Click Team Fortress 2, save the file, and extract it.
3) Go to C:\Program Files (x86)\Steam\steamapps\common and drop the extracted bin folder on top of ...\common\Half-Life 2 Deathmatch so that the directories merge.
4) Go to C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2 Deathmatch\bin\x64 and make a shortcut of hammerplusplus.exe. Place the shortcut anywhere for easy access.
5) Start Hammer++. A pop-up will appear. Click Yes.

Under the Game Configurations tab, fill out the fields with the following:

Configuration:
Half-Life 2: Deathmatch

Game Data files:
C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2 Deathmatch\bin\hl2mp.fgd

Default PointEntity class:
info_player_deathmatch

Default Solid Entity class:
func_detail

Default texture scale: 0.25

Default lightmap scale: 16

Condon texture: tools\toolsskybox

Game Executable Directory (ex: c:\Half-Life):
C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2 Deathmatch

Game Directory (where GameInfo.txt is, ex: c:\Half-Life\cstrike):
C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2 Deathmatch\hl2mp

Prefab Directory (ex: C:\Half-Life\maps\prefabs):
Leave this as default (C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2 Deathmatch\bin\x64\Prefabs)

5) Change tab to Build Programs and fill out the fields with the following:

Configuration:
Half-Life 2: Deathmatch

Game executable:
C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2 Deathmatch\hl2mp_win64.exe

BSP executable:
C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2 Deathmatch\bin\x64\vbsp.exe

VIS executable:
C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2 Deathmatch\bin\x64\vvis.exe

RAD executable:
C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2 Deathmatch\bin\x64\vvis.exe

VBSP, VVIS, and VRAD are the default compilers. It is recommended, but not strictly necessary, to use the improved compilers VBSP++, VVIS++, and VRAD++: https://ficool2.github.io/HammerPlusPlu ... tools.html

Place maps in this directory before running the game:
Leave this as default (C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2 Deathmatch\hl2mp\maps)

MDL executable:
Leave blank

6) Click OK.



Installing and using BSPSource

7) Open this link, save the file, and extract it: https://github.com/ata4/bspsrc/releases ... indows.zip
8) Open bspsrc.bat, click Add and select a .bsp (BSPs are playable map files - they can be found in C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2 Deathmatch\hl2mp\download\maps)
9) Go to the Other tab, tick Extract embedded files, and then click Decompile.
10) Save the .vmf anywhere you wish.
11) Wait for the decompilation and extraction processes to finish, then click Close - close BSPSource, too.



Installing and using Double Commander

Skip this part if the map doesn't have custom assets.

12) Open this link, save the file, and extract the folder: https://mega.nz/file/IlByhQZL#30fal8ZG3 ... 0NCp7OzS-E
13) Go here then download and install the software: https://sourceforge.net/projects/doublecmd/
14) Start Double Commander, click Commands > Synchronize dirs... - a new window will pop up.
15) On the left, enter the path of the folder from MEGA - example: C:\Users\abracadabra\Desktop\mapping\misc\hl2 assets for dupe checking
16) On the right, enter the path of the folder from the BSPSource extraction - example: C:\Users\abracadabra\Desktop\mapping\dm_killbox_d
17) Tick all 4 boxes: asymmetric, Subdirs, by content, ignore date
18) Tick all 5 symbol boxes: > = != ? <
19) Tick duplicates, untick singles.
20) Click Compare.
20.a) If nothing shows up, close Double Commander.
20.b) If something does show up, select all the elements (ctrl+A), right-click, and then click -> Delete right. Wait for the deletion processes to finish, then close Double Commander.



Correcting case folding issues of the assets

Skip this part if the map doesn't have custom assets.

21) Open the folder with extracted assets (dm_killbox_d in the example above) and look for subfolders and file names with uppercase letters.
21.a) If you find any, rename them by replacing the uppercase letters with lowercase ones.
21.b) If you don't find any, move on.



Moving assets to root

Skip this part if the map doesn't have custom assets.

22) Move the all the folders (materials, models, etc.) from the extracted folder into the root folder of the game: C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2 Deathmatch\hl2mp

You're going to need the files lights.rad and detail.vbsp. They can be downloaded from here::
https://mega.nz/file/lxZkBZJS#ZHZwbw6jd ... DGGs2R55OA
https://mega.nz/file/cpxkEI4D#uURrVLxj2 ... cCCriK3LoQ

Folder structures should look like this:
C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2 Deathmatch\hl2mp\materials\examples\example_texture.vtf
C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2 Deathmatch\hl2mp\lights.rad



Adding spawn points and compiling using Hammer++

23) Start Hammer++, click File > Open... and select the decompiled map (e.g. dm_killbox_d.vmf).
24) Press F9 and make sure the following boxes are ticked:
Run BSP: Normal
Run VIS: Normal
Run RAD: Normal
Don't run the game after compiling
Wait for keypress when done compiling
25) Click OK and wait for the compilation to finish.
25.a) If it takes longer than 2 minutes to compile the map, STOP WHAT YOU ARE DOING AND SEEK HELP.
25.b) If the compile log has any red letters in it, STOP WHAT YOU ARE DOING AND SEEK HELP.
25.c) If the compilation finishes quickly and without major errors, boot up the game and load the map (the map will have the same name as the .vmf and be located in C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2 Deathmatch\hl2mp\maps).
25.c.i) If something looks wrong, STOP WHAT YOU ARE DOING AND SEEK HELP.
25.c.ii) If everything looks ok, close the game and go back to h++.
26) Familiarize yourself with the controls:
In the camera view (top-left quadrant), press shift+C to select the Camera, then hold down left-click and move around with WASD.
In the grid views (remaining 3 quadrants), use the scroll wheel to zoom in and out.
Back in the camera view, switch to the selection tool (shift+S) and click an object. Find the selected object in the grid views and move it around by dragging it with the mouse and pressing the arrow keys.
Click the object repeatedly in the grid view until the corners have small circles next to them. Rotate the object by dragging one of the circles with the mouse.
Change the size of the grid by clicking the grid symbols below Edit.
27) Close the .vmf without saving, then open it up again.
28) Go to Map > Entity report...
29) Scroll down to info_player_deathmatch (these are spawn points) and count how many there are.
A map should have at least 1 spawn point for each player (e.g. a map for up to 24 players should have a minimum of 24 spawn points). No map should have fewer than 10.
30) Press shift+E and click anywhere in the camera view to place a spawn point.
31) Press shift+S to select the spawn point, move it around, and rotate it (only the yaw can be rotated).

Spawn point need to be distanced from geometry. By default, they are raised 1 unit from the ground if it's made of a brush. If placed on top of a displacement, there might be an overlap, so the spawn point should be raised. It is the bounding box and not the green guy that determines the collision. Spawn points should not be raised more than 20 units unless there's a good reason for doing so.
The sides, front, back, and top of spawn points also need to be distanced from geometry by at least 1 unit. Players should be able to move left and right upon spawning, so the distances from geometry in those directions need to be greater. Placing a spawn point with a wall 1 unit behind it is fine, but if the map has a lot of physics props, the distance should be greater. A spawn point should not be placed facing a nearby wall.
Don't place spawn points too close together.
Don't place spawn points in areas that are exposed (typically where megachargers are placed) or hard to reach (typically where RPGs are placed).
Most importantly, don't overthink the instructions above; use common sense.

32) Once you've placed a sufficient number of spawn points, compile the map and test out the new spawn points in-game by repeatedly killing yourself with the kill console command or by blowing yourself up with grenades.
32.a) If some of them need to be adjusted, go ahead and do it.
33) When everything is good, change the name of the .vmf to what you want the map to be called (e.g. dm_killbox_r1).
34) Compile the map (F9) with normal BSP, VIS, and RAD.



Packing the map

Skip this part if the map doesn't have custom assets.

35) Open this link, save the file, and extract it: https://github.com/ruarai/CompilePal/re ... al.028.zip
36) Run CompilePalX.exe
37) Click the line with Half-life 2: Deathmatch, then click Launch.
38) Click ADD MAP in the top right and add your map (the .bsp, not .vmf).
39) Under Preset, click Pack.
40) Under Process, make sure PACK is ticked.
41) Click COMPILE in the bottom right.

Be careful not to tick any boxes that shouldn't be ticked. CompilePal should only be used for packing unless you know what you're doing.



Building cubemaps

42) Open up the map in h++ again.
43) Open up the entity report and look for an entity named env_cubemap.
43.a) If the map has none of these, move on to the next part.
43.b) If there is one or more env_cubemaps, close hammer and open hl2dm.
44) Type the following into console and hit enter after each command:
mat_specular 0 (disables reflections)
map [your mapname here] (loads the map)
buildcubemaps (builds cubemaps)
disconnect (disconnects you from the map)
mat_specular 1 (enables reflections)
quit (closes the game)



Testing the finished map

45) If the map has custom assets, go to root (C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2 Deathmatch\hl2mp) and remove them.
46) Boot up the game, load your map, and make sure everything (materials, models, sounds, reflections) still works as it should.
46.a.) If something is wrong, STOP WHAT YOU ARE DOING AND SEEK HELP.
47.b.) If everything looks good, the map can be uploaded to the server.
Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests