vkQuake3¶
Technical notes
ioquake3 fork with a Vulkan renderer. PRODUCT_VERSION "1.36", BASEGAME = "baseq3", BASETA = "missionpack" (code/qcommon/q_shared.h:45, 68, 71). NUM_ID_PAKS 9, NUM_TA_PAKS 4 (code/qcommon/qcommon.h:597-598).
fs_basepath defaults to Sys_DefaultInstallPath, the directory of the binary (code/qcommon/files.c:3323, code/sys/sys_main.c:88-94, 738). FS_Startup mounts baseq3 under fs_basepath and fs_homepath, then fs_game when set (code/qcommon/files.c:3362-3377, 3396-3409). FS_AddGameDirectory mounts every .pk3 of each directory (code/qcommon/files.c:2933).
FS_CheckPak0 compares the pak checksum of baseq3/pak0.pk3 through pak8.pk3 and missionpack/pak0.pk3 through pak3.pk3 to pak_checksums[] and missionpak_checksums[] (code/qcommon/files.c:179-197, 3486, 3516). The value is a block checksum over the CRC32 of every member (code/qcommon/files.c:2111), not a file hash. A mismatch prints a warning and the pak stays mounted. A missing baseq3 pak is fatal unless the engine runs standalone, which needs com_basegame other than baseq3 (code/qcommon/files.c:3570-3572, 3596-3619). Once any Team Arena pak is found the four are required (code/qcommon/files.c:3622-3640). demoq3/pak0.pk3 with DEMO_PAK0_CHECKSUM counts as baseq3/pak0.pk3 (code/qcommon/files.c:178, 3475-3479, 3580-3590).
Batocera 43.1 installs the binary as /usr/bin/ioquake3/ioquake3 and runs it through the ioquake3 generator, which copies /usr/bin/ioquake3 into /userdata/roms/quake3 and starts /userdata/roms/quake3/ioquake3 with the arguments written in the ROM file (configgen generators/ioquake3/ioquake3Generator.py). fs_basepath is therefore /userdata/roms/quake3. Patch 001-config-dir.patch sets HOMEPATH_NAME_UNIX to "/configs/ioquake3", appended to $HOME (code/sys/sys_unix.c:65, 79).
14 files | 9 required, 5 optional | 12 in repo, 0 missing, 2 unsourceable Categories: 14 game data
pak0.pk3 required unsourceable game_data #
- Path:
baseq3/pak0.pk3 - System: quake3
- Source:
code/qcommon/files.c:180,code/qcommon/files.c:3486,code/qcommon/files.c:3596-3619 - Retail Quake III Arena pak. A checksum mismatch prints a warning, the file is not refused.
- Not collectable: retail data the collection does not hold, and a same-named file of another game must not stand in (acknowledged gaps)
pak1.pk3 required in repo game_data #
- Path:
baseq3/pak1.pk3 - System: quake3
- Source:
code/qcommon/files.c:181,code/qcommon/files.c:3596-3619 - Collection copy:
bios/Id Software/Quake III Arena/baseq3/pak1.pk3
pak2.pk3 required in repo game_data #
- Path:
baseq3/pak2.pk3 - System: quake3
- Source:
code/qcommon/files.c:182,code/qcommon/files.c:3596-3619 - Collection copy:
bios/Id Software/Quake III Arena/baseq3/pak2.pk3
pak3.pk3 required in repo game_data #
- Path:
baseq3/pak3.pk3 - System: quake3
- Source:
code/qcommon/files.c:183,code/qcommon/files.c:3596-3619 - Collection copy:
bios/Id Software/Quake III Arena/baseq3/pak3.pk3
pak4.pk3 required in repo game_data #
- Path:
baseq3/pak4.pk3 - System: quake3
- Source:
code/qcommon/files.c:184,code/qcommon/files.c:3596-3619 - Collection copy:
bios/Id Software/Quake III Arena/baseq3/pak4.pk3
pak5.pk3 required in repo game_data #
- Path:
baseq3/pak5.pk3 - System: quake3
- Source:
code/qcommon/files.c:185,code/qcommon/files.c:3596-3619 - Collection copy:
bios/Id Software/Quake III Arena/baseq3/pak5.pk3
pak6.pk3 required in repo game_data #
- Path:
baseq3/pak6.pk3 - System: quake3
- Source:
code/qcommon/files.c:186,code/qcommon/files.c:3596-3619 - Collection copy:
bios/Id Software/Quake III Arena/baseq3/pak6.pk3
pak7.pk3 required in repo game_data #
- Path:
baseq3/pak7.pk3 - System: quake3
- Source:
code/qcommon/files.c:187,code/qcommon/files.c:3596-3619 - Collection copy:
bios/Id Software/Quake III Arena/baseq3/pak7.pk3
pak8.pk3 required in repo game_data #
- Path:
baseq3/pak8.pk3 - System: quake3
- Source:
code/qcommon/files.c:188,code/qcommon/files.c:3596-3619 - Collection copy:
bios/Id Software/Quake III Arena/baseq3/pak8.pk3
pak0.pk3 optional in repo game_data #
- Path:
demoq3/pak0.pk3 - System: quake3
- Source:
code/qcommon/files.c:178,code/qcommon/files.c:3475-3479,code/qcommon/files.c:3580-3590 - Collection copy:
bios/Id Software/Quake III Arena/demoq3/pak0.pk3 - Demo pak. Recognised only under demoq3/ with this checksum, and the engine then prints a warning and counts baseq3/pak0.pk3 as found.
pak0.pk3 optional unsourceable game_data #
- Path:
missionpack/pak0.pk3 - System: teamarena
- Source:
code/qcommon/files.c:193,code/qcommon/files.c:3622-3640 - Team Arena pak. Read with
+set fs_game missionpack. - Not collectable: retail data the collection does not hold, and a same-named file of another game must not stand in (acknowledged gaps)
pak1.pk3 optional in repo game_data #
- Path:
missionpack/pak1.pk3 - System: teamarena
- Source:
code/qcommon/files.c:194,code/qcommon/files.c:3622-3640 - Collection copy:
bios/Id Software/Quake III Arena/missionpack/pak1.pk3
pak2.pk3 optional in repo game_data #
- Path:
missionpack/pak2.pk3 - System: teamarena
- Source:
code/qcommon/files.c:195,code/qcommon/files.c:3622-3640 - Collection copy:
bios/Id Software/Quake III Arena/missionpack/pak2.pk3
pak3.pk3 optional in repo game_data #
- Path:
missionpack/pak3.pk3 - System: teamarena
- Source:
code/qcommon/files.c:196,code/qcommon/files.c:3622-3640 - Collection copy:
bios/Id Software/Quake III Arena/missionpack/pak3.pk3
Generated on 2026-10-20T03:49:43Z