Files
libretro/emulators/gzdoom.yml
T
Abdessamad Derraz 9f674dd849 docs: cite the IWADINFO reader in Doom profiles
Each IWAD entry named only its iwadinfo.txt lines. It now also cites the add_pk3 rule that packs the file into game_support.pk3, the FIWadManager constructor that reads the IWADINFO lump, the Names parser and the directory scan. Load files cite the Load parser and the loader beside the IWAD, and square.pk3 the -iwad branch.
2026-11-10 13:20:42 +01:00

490 lines
19 KiB
YAML

emulator: GZDoom
type: standalone
core_classification: game_engine
source: "https://github.com/ZDoom/gzdoom"
upstream: "https://github.com/ZDoom/gzdoom"
profiled_date: "2026-10-04"
source_commit: "c26ce2e6ca2a0c770f140cb25dde0d30073ca8f7"
core_version: "4.15pre"
version_basis:
kind: file
path: "src/version.h"
pattern: '#define\s+VERSIONSTR\s+"([^"]+)'
display_name: "GZDoom"
cores: ["GZDoom", "gzdoom-sa"]
systems: [doom, heretic, hexen, strife, chex]
standalone_pools:
"[IWADSearch.Directories] Path": ""
"[IWADSearch.Directories] RecursivePath": ""
notes: |
Doom-engine source port by Christoph Oelckers. Supports Doom, Heretic,
Hexen, Strife, Chex Quest and derived games through a unified IWAD
identification pass.
Engine resources (built from wadsrc*/static/ via add_pk3):
gzdoom.pk3 BASEWAD, searched by BaseFileSearch
ref: src/version.h:90, src/d_main.cpp:3757-3761
game_support.pk3 OPTIONALWAD, filter/game assets per IWAD
ref: src/version.h:92, src/d_main.cpp:3794
lights.pk3 dynamic light definitions
brightmaps.pk3 brightmap textures
game_widescreen_gfx.pk3 widescreen HUD/menu replacements
The last three are skipped for shareware IWADs and with -noextras.
ref: src/d_main.cpp:2050-2071
BaseFileSearch tries the program directory first for these resources, then
the name as given, then each FileSearch.Directories path. The same search
serves -file, -deh and -bex arguments and zvox.wad. IWADs are not looked up
there: candidates come from the IWADSearch.Directories paths, and the Load
files of an IWAD block from the IWAD's own directory.
ref: src/common/utility/findfile.cpp:106-115, 224-296,
src/d_main.cpp:1802-1803, 2083, src/d_iwad.cpp:456-476, 613-624, 877-901
Game data is a user-supplied IWAD. iwadinfo.txt declares each known
IWAD with its IWADName, MustContain lumps and support files. The
search directories are scanned for the file names of its Names block
and for any .iwad, .ipk3 or .ipk7 file. Each candidate is then
identified by its lumps, not by its name. The Names block also lists
doomu.wad, doom1.wad, bfgdoom.wad, bfgdoom2.wad, freedoomu.wad,
freedoom.wad, hereticsr.wad, heretic1.wad, hexendemo.wad, hexdemo.wad,
strife0.wad and strife.wad.
ref: wadsrc_extra/static/iwadinfo.txt:650-703, src/d_iwad.cpp:502-530
Startup refuses to run if BASEWAD (gzdoom.pk3) is absent, and stops
with "Cannot find a game IWAD" when no candidate is identified.
ref: src/d_main.cpp:3757-3761, src/d_iwad.cpp:789-798
files:
# ================================================================
# Engine resources (shipped with the port, add_pk3 in CMakeLists)
# ================================================================
- name: "gzdoom.pk3"
category: game_data
required: true
bundled: true
size: 3132275
sha1: "5eca7aae47b5851de06303c48165f9d75145da4c"
md5: "5772f907fdee4284f6332d89c0c5609c"
crc32: "3c4dfe79"
source_ref: "src/version.h:90, src/d_main.cpp:3757-3761, wadsrc/CMakeLists.txt:1"
note: "Fonts, menus, zscript, textures. Fatal if absent. Built from the tree at each release. The hash is the copy in the 4.14.2 Windows zip."
- name: "game_support.pk3"
category: game_data
required: false
bundled: true
size: 2379443
sha1: "fe656e64f872450e5d691f0c19a174a4aea5050d"
md5: "c679df011fca562cfb20f9a3a4b0d80f"
crc32: "56e96007"
source_ref: "src/version.h:92, src/d_main.cpp:3794-3796, wadsrc_extra/CMakeLists.txt:1"
note: "Per-game filters under static/filter/ (doom.id, strife, hexen, heretic, chex...). The hash is the copy in the 4.14.2 Windows zip."
- name: "lights.pk3"
category: game_data
required: false
bundled: true
size: 24030
sha1: "c7f7cc23d223938700ad38ee2888062f35f97dbb"
md5: "0b9deffc98788ee19c7da017c1ad4680"
crc32: "089159b5"
source_ref: "src/d_main.cpp:2053-2058, wadsrc_lights/CMakeLists.txt:1"
note: "The hash is the copy in the 4.14.2 Windows zip."
- name: "brightmaps.pk3"
category: game_data
required: false
bundled: true
size: 246181
sha1: "a0854eeea281741a9f2491f9f04ba5c7cfc0a3a7"
md5: "448d065ef519e5763a6598329ea875da"
crc32: "40da9ce8"
source_ref: "src/d_main.cpp:2059-2064, wadsrc_bm/CMakeLists.txt:1"
note: "The hash is the copy in the 4.14.2 Windows zip."
- name: "game_widescreen_gfx.pk3"
category: game_data
required: false
bundled: true
size: 5565936
sha1: "218e77f4850cf596e1cdf3abb80d2720dc16c5e4"
md5: "2530586849630cd131da80a9112af2a2"
crc32: "b06e58e3"
source_ref: "src/d_main.cpp:2065-2070, wadsrc_widepix/CMakeLists.txt:1"
note: "The hash is the copy in the 4.14.2 Windows zip."
- name: "gzdoom.sf2"
aliases: ["uzdoom.sf2"]
category: game_data
path: "soundfonts/gzdoom.sf2"
required: false
bundled: true
size: 3299098
sha1: "4394193fb95c1e59916efe9ac3a47952ab5002f5"
md5: "f306ebc541a428d296cd3b7ee996d872"
crc32: "408ab422"
source_ref: "src/common/audio/music/i_soundfont.cpp:334-352, 427-430, 439-459, src/CMakeLists.txt:1429"
note: "Default soundfont, used when the soundfont directories hold none. Every file of those directories is taken by its content. When no soundfont is named gzdoom the first SF2 found is used. Shipped in the 4.14.2 Windows zip."
- name: "GENMIDI.GS.wopl"
category: game_data
path: "fm_banks/GENMIDI.GS.wopl"
required: false
bundled: true
not_bundled_on: [retropie]
size: 118767
sha1: "538d220d87b86b997f539265eb12a6c319e17a1c"
md5: "29570afc6ccea3d9ef7d2734f02e6cab"
crc32: "d18f9d56"
source_ref: "src/CMakeLists.txt:1431, src/gameconfigfile.cpp:165-195, src/common/audio/music/i_soundfont.cpp:355-359"
note: "OPL3 bank copied next to the executable. fm_banks is one of the scanned soundfont directories. The RetroPie package leaves it out."
- name: "gs-by-papiezak-and-sneakernets.wopn"
category: game_data
path: "fm_banks/gs-by-papiezak-and-sneakernets.wopn"
required: false
bundled: true
not_bundled_on: [retropie]
size: 274864
sha1: "eaca5d7a9fe1db6094990be0d8916b7f97920db1"
md5: "4978fd39a6d78de1cf1021e24424f822"
crc32: "887a8ba3"
source_ref: "src/CMakeLists.txt:1433, src/gameconfigfile.cpp:165-195, src/common/audio/music/i_soundfont.cpp:360-364"
note: "OPN2 bank copied next to the executable. The RetroPie package leaves it out."
# ================================================================
# IWADs (user-supplied). At least one is needed to launch a game.
# Each ref gives the iwadinfo.txt entry, then the code that reads it.
# ================================================================
# ---- Doom ----
- name: "doom.wad"
category: game_data
system: doom
path: "doom.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:420, 437, 659, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
note: "The Ultimate DOOM and DOOM Registered both use this name and are told apart by their lumps."
- name: "doom2.wad"
category: game_data
system: doom
path: "doom2.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:640, 653, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "doom2f.wad"
category: game_data
system: doom
path: "doom2f.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:625, 657, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "doombfg.wad"
category: game_data
system: doom
path: "doombfg.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:332, 666, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "doom2bfg.wad"
category: game_data
system: doom
path: "doom2bfg.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:560, 667, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "doomunity.wad"
category: game_data
system: doom
path: "doomunity.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:369, 661, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "doom2unity.wad"
category: game_data
system: doom
path: "doom2unity.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:592, 655, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "doomkex.wad"
category: game_data
system: doom
path: "doomkex.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:350, 662, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "doom2kex.wad"
category: game_data
system: doom
path: "doom2kex.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:576, 656, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "doomxbox.wad"
category: game_data
system: doom
path: "doomxbox.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:403, 660, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "doom2xbox.wad"
category: game_data
system: doom
path: "doom2xbox.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:608, 654, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "doom_complete.pk3"
category: game_data
system: doom
path: "doom_complete.pk3"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:389, 652, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "plutonia.wad"
category: game_data
system: doom
path: "plutonia.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:545, 670, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "plutoniaunity.wad"
category: game_data
system: doom
path: "plutoniaunity.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:514, 671, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "plutoniakex.wad"
category: game_data
system: doom
path: "plutoniakex.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:529, 672, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "tnt.wad"
category: game_data
system: doom
path: "tnt.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:499, 673, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "tntunity.wad"
category: game_data
system: doom
path: "tntunity.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:468, 674, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "tntkex.wad"
category: game_data
system: doom
path: "tntkex.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:483, 675, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "nerve.wad"
category: game_data
system: doom
path: "nerve.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:565, 614, src/d_iwad.cpp:877-895"
note: "No Rest for the Living. Autoloaded by Doom 2 BFG and Xbox editions."
- name: "nerveunity.wad"
category: game_data
system: doom
path: "nerveunity.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:598, src/d_iwad.cpp:877-895"
note: "Loaded from the IWAD directory by DOOM 2: Unity Edition."
- name: "extras.wad"
category: game_data
system: doom
path: "extras.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:357, 376, 488, 534, 582, 598, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:208-215, 320-341, 877-901"
note: "Loaded from the IWAD directory by the KEX and Unity editions."
- name: "soundtrack"
category: game_data
system: doom
path: "soundtrack"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:376, 598, src/d_iwad.cpp:877-895"
note: "Loaded from the IWAD directory by the DOOM and DOOM 2 Unity editions."
- name: "id24res.wad"
category: game_data
system: doom
path: "id24res.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:341, 360, 379, src/d_iwad.cpp:862-875"
note: "id24 resource WAD. SupportWAD of every id IWAD block, loaded when found and i_loadsupportwad is set."
# ---- Freedoom (free) ----
- name: "freedoom1.wad"
category: game_data
system: doom
path: "freedoom1.wad"
required: false
installed_on: [retropie]
source_ref: "wadsrc_extra/static/iwadinfo.txt:307, 676, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "freedoom2.wad"
category: game_data
system: doom
path: "freedoom2.wad"
required: false
installed_on: [retropie]
source_ref: "wadsrc_extra/static/iwadinfo.txt:294, 677, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "freedm.wad"
category: game_data
system: doom
path: "freedm.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:281, 680, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
# ---- Heretic ----
- name: "heretic.wad"
category: game_data
system: heretic
path: "heretic.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:241, 244, 254, 257, 681, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
note: "Both Heretic and Shadow of the Serpent Riders use this name and are told apart by the EXTENDED lump."
- name: "blasphem.wad"
aliases: ["blasphemer.wad"]
category: game_data
system: heretic
path: "blasphem.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:228, 692-693, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
# ---- Hexen ----
- name: "hexen.wad"
category: game_data
system: hexen
path: "hexen.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:188, 684, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "hexdd.wad"
category: game_data
system: hexen
path: "hexdd.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:196-207, 685, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
note: "Deathkings expansion. Requires hexen.wad (Required = Hexen: Beyond Heretic)."
# ---- Strife ----
- name: "strife1.wad"
category: game_data
system: strife
path: "strife1.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:151, 688, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "sve.wad"
category: game_data
system: strife
path: "sve.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:136, 140, 689, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
note: "Veteran Edition. Required = Strife: Quest for the Sigil (loads voices.wad)."
- name: "voices.wad"
category: game_data
system: strife
path: "voices.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:142, 155, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:208-215, 320-341, 877-901"
# ---- Chex Quest ----
- name: "chex.wad"
category: game_data
system: chex
path: "chex.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:123, 694, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "chex3.wad"
category: game_data
system: chex
path: "chex3.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:109, 695, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
# ---- Standalone commercial / community IWADs ----
- name: "hacx.wad"
category: game_data
system: doom
path: "hacx.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:83, 698, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "hacx2.wad"
category: game_data
system: doom
path: "hacx2.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:65-75, 699, src/d_iwad.cpp:351-394, src/common/filesystem/source/resourcefile.cpp:156-174"
note: "Identified by the MAP01 map and the HACX-E lump, whatever the container: every candidate is opened by its magic, so a zip under this name is read as a pk3. The Hacx 2.0 repository builds that zip from src/, where hacx-e.txt is the HACX-E lump and maps/MAP01.wad the first map."
- name: "action2.wad"
category: game_data
system: doom
path: "action2.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:97, 696, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "harm1.wad"
category: game_data
system: doom
path: "harm1.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:57, 697, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "square.pk3"
category: game_data
system: doom
path: "square.pk3"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:33, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:320-341, 351-396, 626-670"
note: "Absent from the Names block: picked up only when named with -iwad."
- name: "square1.pk3"
category: game_data
system: doom
path: "square1.pk3"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:45, 700, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "delaweare.wad"
category: game_data
system: doom
path: "delaweare.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:22, 701, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "rotwb.wad"
category: game_data
system: doom
path: "rotwb.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:9, 702, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"