vkQuake2¶
Technical notes
Quake II 3.21 with a Vulkan renderer. VERSION 3.21, VKQUAKE2_VERSION "1.5.10", BASEDIRNAME = "baseq2" (qcommon/qcommon.h:26-30).
FS_InitFilesystem reads the basedir cvar, default ".", and mounts <basedir>/baseq2 (qcommon/files.c:858, 872). A non-empty game cvar adds <basedir>/<game> on top (qcommon/files.c:878-880, 640). FS_AddGameDirectory tries pak0.pak through pak9.pak in each directory and skips an index that does not open (qcommon/files.c:537-542).
FS_LoadPackFile computes a checksum of the pak directory, but the comparison against PAK0_CHECKSUM only runs with NO_ADDONS, which is commented out (qcommon/files.c:24, 28, 484-489). No pak is rejected for its contents. The Vulkan renderer, vid_ref default "vk" (linux/vid_so.c:448), stops with ERR_FATAL when pics/colormap.pcx is missing (ref_vk/vk_image.c:1640-1642). That file is in baseq2/pak0.pak.
Batocera 43.1 copies /usr/bin/vkquake2 (binary, ref_*.so and the game
libraries of baseq2, ctf, rogue, smd, xatrix, zaero) into
/userdata/roms/quake2, changes to that directory and runs ./quake2, with
+set game rogue|xatrix|zaero|smd chosen from the ROM name (configgen
generators/vkquake2/vkquake2Generator.py). The basedir is therefore
/userdata/roms/quake2.
Music is read from <gamedir>/music/trackNN.ogg, .flac, .mp3 or .wav, then from baseq2/music/ (client/snd_miniaudio.c:215-220, 241-246).
8 files | 1 required, 7 optional | 4 in repo, 0 missing, 4 unsourceable Categories: 8 game data
pak0.pak required in repo game_data #
- Path:
baseq2/pak0.pak - System: quake2
- Source:
qcommon/files.c:872,qcommon/files.c:537-542,ref_vk/vk_image.c:1640-1642 - Collection copy:
bios/Id Software/Quake II/baseq2/pak0.pak - Retail Quake II data. Not hash-checked.
pak1.pak optional in repo game_data #
- Path:
baseq2/pak1.pak - System: quake2
- Source:
qcommon/files.c:537-542 - Collection copy:
bios/Id Software/Quake II/baseq2/pak1.pak - Shipped by the 3.20 point release.
pak2.pak optional in repo game_data #
- Path:
baseq2/pak2.pak - System: quake2
- Source:
qcommon/files.c:537-542 - Collection copy:
bios/Id Software/Quake II/baseq2/pak2.pak - Shipped by the 3.20 point release.
pak0.pak optional unsourceable game_data #
- Path:
xatrix/pak0.pak - System: xatrix
- Source:
qcommon/files.c:878-880,qcommon/files.c:640,qcommon/files.c:537-542 - The Reckoning data. Loaded with
+set game xatrix. - 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: rogue
- Source:
qcommon/files.c:878-880,qcommon/files.c:640,qcommon/files.c:537-542 - Ground Zero data. Loaded with
+set game rogue. - 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 in repo game_data #
- Path:
ctf/pak0.pak - System: ctf
- Source:
qcommon/files.c:878-880,qcommon/files.c:640,qcommon/files.c:537-542 - Collection copy:
bios/Id Software/Quake II/ctf/pak0.pak - Three Wave CTF data from the 3.20 point release. Loaded with
+set game ctf.
pak0.pak optional unsourceable game_data #
- Path:
zaero/pak0.pak - System: quake2
- Source:
qcommon/files.c:878-880,qcommon/files.c:640,qcommon/files.c:537-542 - Zaero data. Loaded with
+set game zaero. - Not collectable: 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:
smd/pak0.pak - System: quake2
- Source:
qcommon/files.c:878-880,qcommon/files.c:640,qcommon/files.c:537-542 - Slight Mechanical Destruction data. Loaded with
+set game smd. - Not collectable: 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