Porting maps from one mod to another
You can help by adding links to this article from other relevant articles.
January 2024
It contains the advice or opinions of one or more of the Valve Developer Community's contributors.
This page is not an encyclopedia article, nor is it one of the Valve Developer Community's policies or guidelines, as it has not been thoroughly vetted by the community.
Some essays represent widespread norms; others only represent minority viewpoints.
Remember to check for any notes left by the tagger at this article's talk page.
If you're interested in porting a map from one Half Life mod to another, this tutorial will show you how to do it. EG if you want to port a Condition Zero map to Half Life, this will show you how to do it.
Required tools:
- BSPEdit - Can edit entities in bsp
- Hammer - Can edit geometry etc
- Notepad - Can edit lines
- Resgen - Creates a res file that specifies the assets used on the map
- HUSKMD - Can decompile map files (WinBSPC, BSP2MAP, MBSPC, 005 are not recommended)
Collecting assets
Extract Resgen to the source directory of the maps which you want to copy. Click and drag the maps you want to copy onto resgen.exe. Resgen will dump some *.res files, open these up. The *.res files will tell you which WAV, TGA, MDL, SPR and WAD files you will need to copy over. Make sure when you copy these files that you retain file directory structures! Once you have copied these files, copy over your maps. You should now be able to load up the maps, but many of the entities probably won't display properly (or at all).
Fixing entities
Run BSPedit, and direct it to your mod's map directory. It should show up the maps which you have copied over. Load up one of these maps, and start looking at the entities. Typically you will need to change MONSTER_ WEAPON_ or AMMO_ entities. A simple way of doing this is to copy all the text you see into notepad, and using the "replace" tool.
Some maps may have props in. If they do, you will need to convert the props from something like env model/item generic to a cycler sprite (buggy) or env sprite. Paste this text back into BSPedit, and save the map. Load the map up in game, and with any luck it should run more or less perfectly! You may that find some games with unusual entities don't work quite properly. These maps will require further editing.
Further editing
If Step 2 isn't enough, you will need to do some further editing. A typical problem encountered may be that some doors may not open in your map. If this happens you will need to decompile the map, and load it up in Hammer. Look for the problematic door, and note down the entity name. Load up BSPedit again, and search for that entity name. This should bring up the problematic door in question. Rename this door to func_derp or some other useless name - this will result in the door not appearing in game. Afterpoint: adding more detail to a map If you want to add in more detail/entities to your map, you can do so with Hammer and BSPedit. Load up a decompiled map in Hammer, and start adding entities as you please. As you add the entities, note down the entity name, X Y Z coordinates, targetname, and angles.
Once you have all the entities you want added, close down Hammer and load up BSPedit. We now need to copy the entity names, X Y Z coordinates, targetname and angle data of the new entities into the original compiled map. There you have it! This is a complicated process to go through, but once you get the hang of it becomes easy.
External links