Porting IdTech 3 maps to Source

From Valve Developer Community
< User:SirYodaJedi
Revision as of 13:37, 18 August 2023 by Pee (talk | contribs) (I don't usually like editing other people's pages, but since i'm nominating the page this links to for deletion, i'm removing the link)
Jump to navigation Jump to search
English (en)

This page attempts to document the fiddly process of converting a map from a id Tech 3 id Tech 3 game (such as Wikipedia icon Wolfenstein: Enemy Territory to Source Source game (such as Day of Defeat: Source Day of Defeat: Source).

Required tools:

  • J.A.C.K. J.A.C.K. - Can convert the Id Tech 3 map files to GoldSrc GoldSrc format, as well as export as VMF
  • TrenchBroom TrenchBroom - Can export the unconvertible patch meshes to OBJ, which can be used as a prop_static.
  • GtkRadiant GtkRadiant - GTKRadiant specifically has a lot of models and material information that aren't present in the games' files, due to being baked into the BSP. It also includes Q3MAP2, which can decompile maps you don't have the source .map files for.
    • NetRadiant-Custom's Q3MAP2 may be preferred for decompiling maps, as it supports Valve220, allowing for more accurate texture mapping.
Confirm:Does the Q3MAP2 included with J.A.C.K. J.A.C.K. have Valve220 support as well? Jack was the one to add Valve220 support to Quake II, after all.
  • Noesis - Can convert id Tech 3 id Tech 3 model files, such as MD3 files, into SMD or FBX files for use in Sorse.
  • Blender Blender - Can do additional necessary fine-tuning to the converted models, such as un-flipping UVs and fixing vertex animations. The following plugins are used:
  • GIMP GIMP - Assorted texture manipulation. Adobe Photoshop Photoshop can also be used, but this guide focuses on the free option.


Decompiling maps

It is preferable to work from source map files, when available. Compiled id Tech 3 maps don't have lighting entities, and lightmapped models are embedded into the map's mesh data. When a map is decompiled, the embedded models are removed, and no lighting data is available.

Note.pngNote:While the lighting entities can't be used in Source 1, and should be recreated anyway, their placement can be handy when determining where to place the Source 1 lighting entities.

Nonetheless, map sources are frequently not available, leaving no other option. Fortunately, Q3MAP2, the same compiler used to compile id Tech 3 BSPs, can also decompile them! The following command will decompile the map into a format that can be properly edited:

q3map2 -game xxxx -convert -format map mapname.bsp
Note.pngNote:xxxx is the game name, as used by GtKRadiant.

As this doesn't include embedded models, a Quake III BSP importer for Blender should be used to recreate the models.

Todo: Provide such an importer.
Tip.pngTip:This can also be used to bake the vertex coloring and texture blending into megatextures for terrain models, as id Tech 3 id Tech 3 uses a much different method for blended textures compared to the displacements used by Source Source.
Keep static prop lighting limitations in mind if doing this; consider prebaking lightmaps into the $basetexture or a Modulate overlay if not using Source 2013 Multiplayer.

Converting uncompiled map files

Converting materials

Tip.pngTip:Having the Quake III Shader Manual at one's fingertips is essential to ensuring the converted VMTs are as accurate to the original Quake III "shaders" as possible.

Converting models

  • Use Noesis to convert the MD3 and ASE models to FBX.
    • Noesis can export directly to SMD, but the UV map will be flipped.
Confirm:Do animated props need to be converted via a different method?
  • Import to and export from Blender. Editing can be done, if necessary.
    • For static props in Source 2013 Multiplayer Source 2013 Multiplayer, it may be desireable to redo the model's UVs so that everything is on one texture, and no UVs are overlapping or tiled. This allows model lightmapping to be properly used, as model lightmaps use the same UVs as the $basetexture.
  • Write QC files.
  • Compile.
    • Crowbar Crowbar can be used as a handy frontend for compiling.

Converting sounds

For the most part, sounds from id Tech 3 games can be used in Source without much hassle as long as they are converted to a compatible format (if they aren't already). The exception, of course, is looped sounds. Unlike id Tech 2 and Valve's engines, id Tech 3 does not require WAV cue points for looped sounds. This means that cue points must be added, and non-WAV sounds that are looped must be converted to WAV, which greatly increases file size.

Converting map content

Entities

Terrain

Todo: patches to displacements…

External links