emulator: dhewm3 type: standalone core_classification: community_fork source: "https://github.com/dhewm/dhewm3" upstream: "https://github.com/dhewm/dhewm3" profiled_date: "2026-10-04" source_commit: "455b88e8dff2be822f08eb498f51b383e851fa38" core_version: "1.5.5" display_name: "dhewm3" cores: [] systems: [doom3] notes: | Doom 3 source port based on the id Software GPL release of the Doom 3 engine (idTech 4). Carries the original Doom 3 1.3.1 game code plus bug fixes, SDL abstraction and 64-bit cleanup. Game data is read from the pak files of `base/`, or from `demo/` when base/ yields no default.cfg. Resurrection of Evil goes in `d3xp/`. ref: neo/framework/FileSystem.cpp:88-112 ("either base or demo"), neo/framework/FileSystem.cpp:2089 AddGameDirectory, neo/framework/FileSystem.cpp:2235 SetupGameDirectories(BASE_GAMEDIR) BASE_GAMEDIR is defined as "base" (neo/framework/Common.cpp:2724). Pak loading scans the gamedir for *.pk4 and loads them in descending order so a later pak overrides earlier ones. ref: neo/framework/FileSystem.cpp:2125-2143 (ListOSFiles ".pk4"). When default.cfg cannot be read and fs_game is unset or "base", the engine sets fs_game and fs_game_base to "demo" and restarts the file system on the demo data. With any other fs_game it stops with "Couldn't load default.cfg". ref: neo/framework/FileSystem.cpp:2703-2716 files: # ================================================================ # base/ - Doom 3 retail paks # README.md:136 names "pak000.pk4 to pak008.pk4"; the engine itself # loads every .pk4 found in the gamedir, so the exact set depends on # which patch level the user owns (1.3.1 ships 008). # ================================================================ - name: "pak000.pk4" category: game_data system: doom3 path: "base/pak000.pk4" required: true source_ref: "neo/framework/FileSystem.cpp:2125 (ListOSFiles pakfile .pk4)" - name: "pak001.pk4" category: game_data system: doom3 path: "base/pak001.pk4" required: true source_ref: "neo/framework/FileSystem.cpp:2125" unsourceable: "retail data the collection does not hold; a same-named file of another game must not stand in" - name: "pak002.pk4" category: game_data system: doom3 path: "base/pak002.pk4" required: true source_ref: "neo/framework/FileSystem.cpp:2125" - name: "pak003.pk4" category: game_data system: doom3 path: "base/pak003.pk4" required: true source_ref: "neo/framework/FileSystem.cpp:2125" - name: "pak004.pk4" category: game_data system: doom3 path: "base/pak004.pk4" required: true source_ref: "neo/framework/FileSystem.cpp:2125" - name: "pak005.pk4" category: game_data system: doom3 path: "base/pak005.pk4" required: false source_ref: "neo/framework/FileSystem.cpp:2125" note: "Shipped with 1.1 patch; absent on 1.0 install." - name: "pak006.pk4" category: game_data system: doom3 path: "base/pak006.pk4" required: false source_ref: "neo/framework/FileSystem.cpp:2125" note: "Shipped with 1.2 patch." - name: "pak007.pk4" category: game_data system: doom3 path: "base/pak007.pk4" required: false source_ref: "neo/framework/FileSystem.cpp:2125" note: "Shipped with 1.3 patch." - name: "pak008.pk4" category: game_data system: doom3 path: "base/pak008.pk4" required: false source_ref: "neo/framework/FileSystem.cpp:2125, neo/framework/FileSystem.cpp:893-897" note: "Shipped with 1.3.1 patch; path handling explicitly names it." - name: "zpak001.pk4" category: game_data system: doom3 path: "base/zpak001.pk4" required: false source_ref: "neo/framework/FileSystem.cpp:232 (\"russian zpak001.pk4\")" note: "Russian localization pak." # ================================================================ # d3xp/ - Resurrection of Evil expansion (optional) # ================================================================ - name: "pak000.pk4" category: game_data system: doom3 path: "d3xp/pak000.pk4" required: false source_ref: "neo/framework/FileSystem.cpp:3744-3754 (explicit d3xp/pak000.pk4 probe)" note: "Resurrection of Evil main pak." - name: "pak001.pk4" category: game_data system: doom3 path: "d3xp/pak001.pk4" required: false source_ref: "neo/framework/FileSystem.cpp:2125" note: "Resurrection of Evil patch pak, shipped by the 1.3.1 patch." # ================================================================ # demo/ - Doom 3 demo, read when base/ holds no default.cfg # ================================================================ - name: "demo00.pk4" category: game_data system: doom3 path: "demo/demo00.pk4" required: false source_ref: "neo/framework/FileSystem.cpp:2703-2709 (demo/ fallback), 2125" note: "Doom 3 demo data. Every .pk4 of demo/ is loaded once the fallback sets fs_game to demo."