mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-17 17:03:27 -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.
81 lines
3.6 KiB
YAML
81 lines
3.6 KiB
YAML
emulator: vkQuake
|
|
type: standalone
|
|
core_classification: game_engine
|
|
source: "https://github.com/Novum/vkQuake"
|
|
upstream: "https://sourceforge.net/projects/quakespasm/"
|
|
profiled_date: "2026-10-17"
|
|
source_commit: "6f9c012a9176ee36663fd7a6d30b6291a0dbbcc1"
|
|
core_version: "1.33.0"
|
|
display_name: "Quake (vkQuake)"
|
|
cores: ["vkquake"]
|
|
systems: [quake]
|
|
|
|
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; 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).
|
|
|
|
files:
|
|
- name: "pak0.pak"
|
|
category: game_data
|
|
system: quake
|
|
path: "id1/pak0.pak"
|
|
required: true
|
|
source_ref: "Quake/common.c:2241-2245 (pak%i.pak loop), 2496 (id1 by default); Quake/wad.c:80-87 (gfx.wad fatal)"
|
|
note: "Shareware and registered Quake data, one file in both releases. Directory CRC compared to v1.00, v1.01, v1.06; a mismatch does not refuse the file."
|
|
|
|
- name: "pak1.pak"
|
|
category: game_data
|
|
system: quake
|
|
path: "id1/pak1.pak"
|
|
required: false
|
|
source_ref: "Quake/common.c:2241-2245 (pak%i.pak loop), 1458-1470 (gfx/pop.lmp, registered check)"
|
|
note: "Registered episodes 2 to 4. Read only after pak0.pak opens. Needed by -hipnotic, -rogue and -game."
|
|
unsourceable: "retail data the collection does not hold; a same-named file of another game must not stand in"
|
|
|
|
- name: "pak0.pak"
|
|
category: game_data
|
|
system: quake
|
|
path: "hipnotic/pak0.pak"
|
|
required: false
|
|
source_ref: "Quake/common.c:2509-2510 (-hipnotic), 2241-2245 (pak%i.pak loop)"
|
|
note: "Scourge of Armagon data. Loaded with -hipnotic."
|
|
unsourceable: "retail data the collection does not hold; a same-named file of another game must not stand in"
|
|
|
|
- name: "pak0.pak"
|
|
category: game_data
|
|
system: quake
|
|
path: "rogue/pak0.pak"
|
|
required: false
|
|
source_ref: "Quake/common.c:2507-2508 (-rogue), 2241-2245 (pak%i.pak loop)"
|
|
note: "Dissolution of Eternity data. Loaded with -rogue."
|
|
unsourceable: "retail data the collection does not hold; a same-named file of another game must not stand in"
|