Skip to content

vkQuake

Type standalone
Classification Game engines
Source https://github.com/Novum/vkQuake
Upstream https://sourceforge.net/projects/quakespasm/
Version 1.33.0
Revision Novum/vkQuake@6f9c012a9176
Profiled 2026-10-17
Profile YAML, JSON
Cores vkquake
Systems quake
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 #

pak1.pak optional unsourceable game_data #

pak0.pak optional unsourceable game_data #

pak0.pak optional unsourceable game_data #

Generated on 2026-10-20T03:49:43Z