vkQuake¶
Technical notes
Vulkan Quake engine derived from QuakeSpasm. VKQUAKE_VERSION 1.33, VKQUAKE_VER_PATCH 0 (Quake/quakever.h:37-41). GAMENAME = "id1" (Quake/quakedef.h:37).
COM_InitFilesystem takes the base directory from -basedir, otherwise host_parms->basedir (Quake/common.c:2463-2467). COM_AddGameDirectory opens <basedir>/<dir>/pak0.pak, pak1.pak, ... and stops at the first index that does not open (Quake/common.c:2241-2245). Right after id1/pak0.pak it mounts vkquake.pak, built from Misc/vq_pak and embedded in the binary (Quake/common.c:2257-2282). It carries default.cfg, three menu pictures and entity fixes, no gfx.wad and no palette.
gfx.wad and gfx/colormap.lmp come from id1/pak0.pak, and without either the engine stops with Sys_Error (Quake/wad.c:80-87, Quake/host.c:1093-1095). gfx/pop.lmp, present only in the registered id1/pak1.pak, sets the registered cvar (Quake/common.c:1458-1484).
COM_LoadPackFile compares the file count (339) and the CRC of the pak directory against id1/pak0.pak v1.00, v1.01 and v1.06 (Quake/common.c:56-59, 2105-2118). A mismatch only sets com_modified; the file is still mounted. With com_modified set and no gfx/pop.lmp the engine stops (Quake/common.c:1464-1470), so -game, -hipnotic and -rogue, whose paks differ from id1/pak0.pak, need the registered id1/pak1.pak.
-rogue and -hipnotic add rogue/ and hipnotic/ after id1/
(Quake/common.c:2507-2510). Batocera 43.1 runs
vkquake -basedir /userdata/roms/quake and adds -hipnotic or -rogue
from the ROM name (configgen generators/vkquake/vkquakeGenerator.py).
Background music is streamed from <game>/music/trackNN.<ext>, ogg, opus, flac, mp3 and wav, when present (Quake/bgmusic.c:29, 321).
4 files | 1 required, 3 optional | 1 in repo, 0 missing, 3 unsourceable Categories: 4 game data
pak0.pak required in repo game_data #
- Path:
id1/pak0.pak - System: quake
- Source:
Quake/common.c:2241-2245,Quake/common.c:2496,Quake/wad.c:80-87 - Collection copy:
bios/Id Software/Quake/id1/pak0.pak - Shareware and registered Quake data, one file in both releases. Directory CRC compared to v1.00, v1.01, v1.06, but a mismatch does not refuse the file.
pak1.pak optional unsourceable game_data #
- Path:
id1/pak1.pak - System: quake
- Source:
Quake/common.c:2241-2245,Quake/common.c:1458-1470 - Registered episodes 2 to 4. Read only after pak0.pak opens. Needed by -hipnotic, -rogue and -game.
- Not collectable: retail data the collection does not hold, and a same-named file of another game must not stand in (acknowledged gaps)
pak0.pak optional unsourceable game_data #
- Path:
hipnotic/pak0.pak - System: quake
- Source:
Quake/common.c:2509-2510,Quake/common.c:2241-2245 - Scourge of Armagon data. Loaded with -hipnotic.
- Not collectable: retail data the collection does not hold, and a same-named file of another game must not stand in (acknowledged gaps)
pak0.pak optional unsourceable game_data #
- Path:
rogue/pak0.pak - System: quake
- Source:
Quake/common.c:2507-2508,Quake/common.c:2241-2245 - Dissolution of Eternity data. Loaded with -rogue.
- Not collectable: retail data the collection does not hold, and a same-named file of another game must not stand in (acknowledged gaps)
Generated on 2026-10-20T03:49:43Z