mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-18 09:23:26 -05:00
Batocera 43.1 ships vkQuake, vkQuake2, vkQuake3 and a Supermodel held at 0eef09ba for the Raspberry Pi 4; none had a profile, so a targeted pack dropped them. Each profile is read from the commit Batocera builds. Collected with them: the Quake 1.06 id1/pak0.pak, the same file in the shareware and registered releases, and the Games.xml that Supermodel revision installs.
148 lines
6.0 KiB
YAML
148 lines
6.0 KiB
YAML
emulator: vkQuake3
|
|
type: standalone
|
|
core_classification: game_engine
|
|
source: "https://github.com/suijingfeng/vkQuake3"
|
|
upstream: "https://github.com/ioquake/ioq3"
|
|
profiled_date: "2026-10-17"
|
|
source_commit: "5300b32803c1c61bc3b6bdf86a084c1db1a217ad"
|
|
core_version: "1.36"
|
|
display_name: "Quake III Arena (vkQuake3)"
|
|
cores: ["vkquake3"]
|
|
systems: [quake3, teamarena]
|
|
|
|
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).
|
|
|
|
files:
|
|
- name: "pak0.pk3"
|
|
category: game_data
|
|
system: quake3
|
|
path: "baseq3/pak0.pk3"
|
|
required: true
|
|
source_ref: "code/qcommon/files.c:180 (pak_checksums[0]=1566731103u), 3486 (checksum compare), 3596-3619 (fatal when a baseq3 pak is absent)"
|
|
note: "Retail Quake III Arena pak. A checksum mismatch prints a warning, the file is not refused."
|
|
unsourceable: "retail data the collection does not hold; a same-named file of another game must not stand in"
|
|
|
|
- name: "pak1.pk3"
|
|
category: game_data
|
|
system: quake3
|
|
path: "baseq3/pak1.pk3"
|
|
required: true
|
|
source_ref: "code/qcommon/files.c:181 (pak_checksums[1]=298122907u), 3596-3619 (fatal when a baseq3 pak is absent)"
|
|
|
|
- name: "pak2.pk3"
|
|
category: game_data
|
|
system: quake3
|
|
path: "baseq3/pak2.pk3"
|
|
required: true
|
|
source_ref: "code/qcommon/files.c:182 (pak_checksums[2]=412165236u), 3596-3619 (fatal when a baseq3 pak is absent)"
|
|
|
|
- name: "pak3.pk3"
|
|
category: game_data
|
|
system: quake3
|
|
path: "baseq3/pak3.pk3"
|
|
required: true
|
|
source_ref: "code/qcommon/files.c:183 (pak_checksums[3]=2991495316u), 3596-3619 (fatal when a baseq3 pak is absent)"
|
|
|
|
- name: "pak4.pk3"
|
|
category: game_data
|
|
system: quake3
|
|
path: "baseq3/pak4.pk3"
|
|
required: true
|
|
source_ref: "code/qcommon/files.c:184 (pak_checksums[4]=1197932710u), 3596-3619 (fatal when a baseq3 pak is absent)"
|
|
|
|
- name: "pak5.pk3"
|
|
category: game_data
|
|
system: quake3
|
|
path: "baseq3/pak5.pk3"
|
|
required: true
|
|
source_ref: "code/qcommon/files.c:185 (pak_checksums[5]=4087071573u), 3596-3619 (fatal when a baseq3 pak is absent)"
|
|
|
|
- name: "pak6.pk3"
|
|
category: game_data
|
|
system: quake3
|
|
path: "baseq3/pak6.pk3"
|
|
required: true
|
|
source_ref: "code/qcommon/files.c:186 (pak_checksums[6]=3709064859u), 3596-3619 (fatal when a baseq3 pak is absent)"
|
|
|
|
- name: "pak7.pk3"
|
|
category: game_data
|
|
system: quake3
|
|
path: "baseq3/pak7.pk3"
|
|
required: true
|
|
source_ref: "code/qcommon/files.c:187 (pak_checksums[7]=908855077u), 3596-3619 (fatal when a baseq3 pak is absent)"
|
|
|
|
- name: "pak8.pk3"
|
|
category: game_data
|
|
system: quake3
|
|
path: "baseq3/pak8.pk3"
|
|
required: true
|
|
source_ref: "code/qcommon/files.c:188 (pak_checksums[8]=977125798u), 3596-3619 (fatal when a baseq3 pak is absent)"
|
|
|
|
- name: "pak0.pk3"
|
|
category: game_data
|
|
system: quake3
|
|
path: "demoq3/pak0.pk3"
|
|
required: false
|
|
source_ref: "code/qcommon/files.c:178 (DEMO_PAK0_CHECKSUM=2985612116u), 3475-3479 (demoq3 pak0 checksum compare), 3580-3590 (counted as baseq3/pak0.pk3)"
|
|
note: "Demo pak. Recognised only under demoq3/ with this checksum; the engine then prints a warning and counts baseq3/pak0.pk3 as found."
|
|
|
|
- name: "pak0.pk3"
|
|
category: game_data
|
|
system: teamarena
|
|
path: "missionpack/pak0.pk3"
|
|
required: false
|
|
source_ref: "code/qcommon/files.c:193 (missionpak_checksums[0]=2430342401u), 3622-3640 (fatal when a Team Arena pak is absent)"
|
|
note: "Team Arena pak. Read with `+set fs_game missionpack`."
|
|
unsourceable: "retail data the collection does not hold; a same-named file of another game must not stand in"
|
|
|
|
- name: "pak1.pk3"
|
|
category: game_data
|
|
system: teamarena
|
|
path: "missionpack/pak1.pk3"
|
|
required: false
|
|
source_ref: "code/qcommon/files.c:194 (missionpak_checksums[1]=511014160u), 3622-3640 (fatal when a Team Arena pak is absent)"
|
|
|
|
- name: "pak2.pk3"
|
|
category: game_data
|
|
system: teamarena
|
|
path: "missionpack/pak2.pk3"
|
|
required: false
|
|
source_ref: "code/qcommon/files.c:195 (missionpak_checksums[2]=2662638993u), 3622-3640 (fatal when a Team Arena pak is absent)"
|
|
|
|
- name: "pak3.pk3"
|
|
category: game_data
|
|
system: teamarena
|
|
path: "missionpack/pak3.pk3"
|
|
required: false
|
|
source_ref: "code/qcommon/files.c:196 (missionpak_checksums[3]=1438664554u), 3622-3640 (fatal when a Team Arena pak is absent)"
|