diff --git a/BUILD-SYSTEM.adoc b/BUILD-SYSTEM.adoc index 9ed85ec1..b634eee0 100644 --- a/BUILD-SYSTEM.adoc +++ b/BUILD-SYSTEM.adoc @@ -51,8 +51,8 @@ following diagram illustrates the process: The following are the resulting WAD files generated by the build system: - * +freedoom1.wad+: Phase 1, the _Ultimate Doom_ IWAD file. - * +freedoom2.wad+: Phase 2, the _Doom II_ IWAD file. + * +freedoom1.wad+: Phase 1, the _Ultimate Doom_-compatible IWAD file. + * +freedoom2.wad+: Phase 2, the _Doom II_-compatible IWAD file. * +freedm.wad+: FreeDM IWAD file, containing deathmatch levels == Source configuration files @@ -71,9 +71,8 @@ The +buildcfg.txt+ file is processed using a Python script named tool (C Preprocessor). Variables are defined on the command line, based on the type of output target desired: - * +DOOM2+: Build for a Doom II WAD. - * +DOOM1+: Build for a Doom I WAD. - * +ULTDOOM+: Include episode four levels. + * +PHASE1+: Build for the Phase 1 IWAD. + * +PHASE2+: Build for the Phase 2 IWAD. === Texture configuration file (+lumps/textures/textures.cfg+) @@ -83,20 +82,19 @@ patch names) and +texture2.lmp+ (Doom I only). They are generated by the +build-textures+ script; deutex’s internal texture builder is deliberately not used for compatibility reasons. -Similarly to the build configuration file, different textures are -included depending on the output WAD type. The file is passed through -the +simplecpp+ script to include the appropriate textures. Command -line variables are defined based on the desired build settings: +Unlike id’s Doom games, Freedoom includes nearly every texture +possible in all three of its IWADs. There are a handful of textures +that must differ between Phase 1 and 2 for compatibility with Doom 1 +and 2 mods, since their definitions changed in the Doom games. We +also include logo textures for FreeDM levels. The file is passed +through the +simplecpp+ script to account for the variant textures. +Command line variables are defined based on the desired build +settings: - * +DOOM1+: Include textures that only exist in Doom I. - * +DOOM2+: Include textures that only exist in Doom II. - * +ULTDOOM+: Include textures that only exist in Ultimate Doom. + * +DOOM1_VERSIONS+: Include textures in Phase 1 that would conflict + with Phase 2. * +FREEDM+: Include textures that are needed for FreeDM. -Note that +DOOM1+ and +DOOM2+ are not mutually exclusive, and the -default for a Doom II build is to include all of the textures for -both. - == Generated files The following files are generated automatically by automated scripts @@ -118,8 +116,8 @@ configurations for each IWAD file. [frame="topbot",grid="none",options="header"] |=============================================================== | Subdirectory | WAD File | CPP Variables -| +lumps/textures/phase1/+ | +freedoom1.wad+ | DOOM1, ULTDOOM -| +lumps/textures/phase2/+ | +freedoom2.wad+ | DOOM1, DOOM2 +| +lumps/textures/phase1/+ | +freedoom1.wad+ | PHASE1 +| +lumps/textures/phase2/+ | +freedoom2.wad+ | PHASE2 | +lumps/textures/freedm/+ | +freedm.wad+ | FREEDM |=============================================================== @@ -135,9 +133,8 @@ WAD files that are built: [frame="topbot",grid="none",options="header"] |=============================================================== | Filename | WAD File | CPP Variables -| +wadinfo.txt+ | Resource WAD files | DOOM2 -| +wadinfo_phase1.txt+ | +freedoom1.wad+ | DOOM1, ULTDOOM -| +wadinfo_phase2.txt+ | +freedoom2.wad+ | DOOM2 +| +wadinfo_phase1.txt+ | +freedoom1.wad+ | PHASE1 +| +wadinfo_phase2.txt+ | +freedoom2.wad+ | PHASE2 | +wadinfo_freedm.txt+ | +freedm.wad+ | FREEDM |=============================================================== @@ -180,19 +177,17 @@ It reads level names from the dehacked lumps. === +playpal.py+ -Found in +lumps/cph/misc-lumps+, this script builds the +PLAYPAL+ -lump which contains the 256-color palettes used for special -effects (injured “red” flash, the green “radiation suit” effect, -etc.) +Found in +lumps/playpal+, this script builds the +PLAYPAL+ lump which +contains the 256-color palettes used for special effects (injured +“red” flash, the green “radiation suit” effect, etc.) === +colormap.py+ -Found in +lumps/cph/misc-lumps+, this script builds the +COLORMAP+ -lump that is used for the diminished lighting within the game. -This script is also reused to generate additional colormaps that -can be used for special effects. It has a number of command line -options that allow it to do various different colorizing and -“fog” effects. +Found in +lumps/colormap+, this script builds the +COLORMAP+ lump that +is used for the diminished lighting within the game. This script is +also reused to generate additional colormaps that can be used for +special effects. It has a number of command line options that allow it +to do various different colorizing and “fog” effects. === +mkgenmidi+