emulator: DarkPlaces
type: standalone
core_classification: game_engine
source: "https://github.com/xonotic/darkplaces"
upstream: "https://github.com/xonotic/darkplaces"
source_branch: div0-stable
profiled_date: "2026-10-20"
source_commit: "ddabe55ae766087df0b82d214ca4b6d79a443345"
core_version: "div0-stable"
display_name: "Quake (DarkPlaces)"
cores:
- darkplaces-quake
systems: [quake]
mode: standalone
notes: |
Quake engine by LadyHavoc, maintained by the Xonotic project. RetroPie
builds the div0-stable branch with two patches touching gl_textures.c
and makefile.inc only (scriptmodules/ports/darkplaces-quake.sh). It runs
`darkplaces-sdl -basedir $romdir/ports/quake -game
`, where is
the folder of the pak0.pak picked in the ports menu (runcommand.sh
%QUAKEDIR%). The menu lists id1, hipnotic, rogue and dopa when their
pak0.pak exists, and the install drops the shareware id1/pak0.pak of
quake106.zip (scriptmodules/libretrocores/lr-tyrquake.sh,
game_data_lr-tyrquake, _add_games_lr-tyrquake).
The default game mode reads id1 under the base directory
(common.c:1450). -game hipnotic and -game rogue switch to the mission
pack modes, which add their own folder after id1 (common.c:1451-1452,
1515-1540, fs.c:1433-1446). Any other -game folder is added on top as a
mod (fs.c:1448-1462, 2154-2168). FS_AddGameDirectory mounts every .pak
in a folder in sorted order, then every .pk3, so names past pak9.pak are
accepted (fs.c:1266-1308). gfx/pop.lmp, present only in the registered
id1/pak1.pak, sets the registered cvar (fs.c:1484-1505). No pak is
hashed or checked against a file count.
gfx.wad is read from the mounted paks (wad.c:125-131), and a missing
gfx/palette.lmp falls back to the internal palette (palette.c:301-306).
quake.rc, default.cfg and progs.dat also come from the paks, so a base
folder without them leaves the engine at its console.
files:
- name: "pak0.pak"
category: game_data
system: quake
path: "id1/pak0.pak"
installed_on: [retropie]
required: true
source_ref: "fs.c:1266-1308, 1433-1434; common.c:1450"
note: "Shareware and registered Quake data, one file in both releases. RetroPie's install unpacks the shareware copy from quake106.zip into id1 under the base directory."
- name: "pak1.pak"
category: game_data
system: quake
path: "id1/pak1.pak"
required: false
source_ref: "fs.c:1266-1308, 1484-1505"
note: "Registered episodes 2 to 4."
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"
- name: "pak0.pak"
category: game_data
system: quake
path: "hipnotic/pak0.pak"
required: false
source_ref: "common.c:1451, 1515-1540; fs.c:1440-1446"
note: "Scourge of Armagon data. Loaded with -game hipnotic."
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"
- name: "pak0.pak"
category: game_data
system: quake
path: "rogue/pak0.pak"
required: false
source_ref: "common.c:1452, 1515-1540; fs.c:1440-1446"
note: "Dissolution of Eternity data. Loaded with -game rogue."
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"
- name: "pak0.pak"
category: game_data
system: quake
path: "dopa/pak0.pak"
required: false
source_ref: "fs.c:1448-1462, 2154-2168"
note: "Dimension of the Past data, added on top of id1 with -game dopa."
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"