feat: profile crpg and adventure game engines

This commit is contained in:
Abdessamad Derraz committed 2026-10-04 15:07:54 +02:00
1 parent 81c46d107a
commit ae0909d2f1
7 files changed
+730

No files matched your search

+86
View File
@@ -0,0 +1,86 @@
emulator: corsixth
type: standalone
core_classification: game_engine
source: "https://github.com/CorsixTH/CorsixTH"
upstream: ~
profiled_date: "2026-10-04"
source_commit: "2d4671e267cae25847432a2e7d4f814b44f91e35"
core_version: "0.70.1"
display_name: "Theme Hospital (CorsixTH)"
cores: [corsixth]
systems: [theme-hospital]
verification: existence
notes: |
CorsixTH is a Lua + C++ reimplementation of Bullfrog's Theme Hospital
engine. It reads graphics, sprites, levels and sounds from an
untouched Theme Hospital install (full retail/GOG or the shareware
demo).
App:checkInstallFolder() in CorsixTH/Lua/app.lua:1450 drives the
install discovery:
1. config.theme_hospital_install (user override) is tried first
(:1453). If unset or wrong, the loader scans a list of common
paths (:1471-1489) looking for a folder that passes
App:isThemeHospitalPath, which demands three subdirectories
named data, levels and qdata (:1435-1447).
2. Once a candidate is accepted, three sentinel files MUST exist
(:1521-1523):
DATA/VBlk-0.tab
LEVELS/Level.L1
QDATA/SPointer.dat
Any missing file aborts init with "Invalid Theme Hospital
folder specified in config file..." (:1526).
3. DataM/Demo.dat (:1535) marks the shareware demo install; its
presence switches a different corruption-size check on
ANIMS/WINLEVEL.SMK (243188), LEVELS/LEVEL.L1 (163948) and
DATA/BUTTON01.DAT (252811) at :1559-1561. Full installs instead
get soft size checks on ANIMS/AREA01V.SMK, WINGAME.SMK,
WINLEVEL.SMK, LOSE1.SMK and INTRO/INTRO.SM4 (:1563-1567).
4. QData/Font00V.dat is read unconditionally (:1576) and its CRC32
picks the charset (mik vs cp437).
Only the four files the loader *reads unconditionally* are tracked
below. The sound/music path uses the game's XMI tracks when a
SoundFont is available (App:findSoundFont at :1589 probes
GeneralUser-GS.sf2, FluidR3_GM.sf2, FluidR3.sf3 and three Linux
system paths); the SoundFont is a user preference, not game data.
Everything else (hundreds of SPR/TAB/DAT files, SMK movies, ADL /
XMI music) is loaded on demand from the install directory and is
not individually verified by the engine; a user who sets up the
Theme Hospital folder once has them all.
exclusion_note: "Theme Hospital install is scanned folder-wide; the engine only hard-checks a handful of sentinel files"
files:
- name: VBlk-0.tab
path: corsixth/Data/VBlk-0.tab
system: theme-hospital
category: game_data
required: true
description: "Theme Hospital core sprite index; sentinel checked at startup"
source_ref: "CorsixTH/Lua/app.lua:1521"
- name: Level.L1
path: corsixth/Levels/Level.L1
system: theme-hospital
category: game_data
required: true
description: "First Theme Hospital level file; sentinel checked at startup"
source_ref: "CorsixTH/Lua/app.lua:1522"
- name: SPointer.dat
path: corsixth/QData/SPointer.dat
system: theme-hospital
category: game_data
required: true
description: "Sprite pointer table; sentinel checked at startup"
source_ref: "CorsixTH/Lua/app.lua:1523"
- name: Font00V.dat
path: corsixth/QData/Font00V.dat
system: theme-hospital
category: game_data
required: true
description: "Theme Hospital font; CRC32 selects charset (mik vs cp437)"
source_ref: "CorsixTH/Lua/app.lua:1576-1584"
+123
View File
@@ -0,0 +1,123 @@
emulator: devilutionx
type: standalone
core_classification: game_engine
source: "https://github.com/diasurgical/DevilutionX"
upstream: ~
profiled_date: "2026-10-04"
source_commit: "dac104babfb6187415432f428ac2516747ffc154"
core_version: "1.6.0-dev"
display_name: "Diablo (DevilutionX)"
cores: [devilutionx]
systems: [diablo]
verification: md5
notes: |
DevilutionX is a reimplementation of the Diablo 1 engine built from
the leaked Diablo source. It plays the original retail Diablo and the
Hellfire expansion from their shipped MPQ archives, or the shareware
Spawn edition. The code loads MPQs from the game folder (next to the
executable) and from a few platform-specific locations (XDG data home,
macOS Application Support, etc.) via GetMPQSearchPaths().
Load order is defined in Source/engine/assets.cpp:
LoadCoreArchives() (:505) - devilutionx.mpq, fonts.mpq (optional)
LoadGameArchives() (:530) - diabdat.mpq or spawn.mpq (required)
hfbard.mpq, hfbarb.mpq (always probed)
LoadHellfireArchives() (:570) - hellfire.mpq + hfmonk/hfmusic/hfvoice
diabdat.mpq is matched uppercase first ("DIABDAT.MPQ", GOG/retail CD
convention, line 538), then lowercase (line 542); if neither is found
the loader falls back to spawn.mpq (line 544). Missing BOTH triggers
the "diabdat.mpq or spawn.mpq" InsertCDDlg dialog and the game cannot
start.
Hellfire is optional: the engine advertises Diablo even when hellfire
files are absent. If hellfire.mpq is loaded, hfmonk.mpq + hfmusic.mpq
+ hfvoice.mpq must also be present (line 588) or the game aborts.
devilutionx.mpq is a build artefact packed from the repo's assets/
directory with the smpq tool (CMake option BUILD_ASSETS_MPQ,
CMakeLists.txt:192-204). The compiled binary expects it next to the
executable on every platform except Android, Apple and 3DS/Switch
(:509-516), where its contents are shipped loose. retrobios ships
the game engine's own MPQ as a release asset so a vanilla install
does not need the devilutionx-assets release.
fonts.mpq is the CJK + language assets add-on from the
devilutionx-assets release; English installs do not need it.
files:
- name: diabdat.mpq
path: devilutionx/diabdat.mpq
system: diablo
category: game_data
required: true
description: "Diablo retail or GOG MPQ (contains all game data)"
aliases: [DIABDAT.MPQ]
note: "primary game archive; GOG CD convention uses uppercase"
source_ref: "Source/engine/assets.cpp:537-542"
- name: spawn.mpq
path: devilutionx/spawn.mpq
system: diablo
category: game_data
required: false
description: "Diablo shareware archive, used when diabdat.mpq is absent"
note: "freely redistributable shareware; triggers gbIsSpawn mode"
source_ref: "Source/engine/assets.cpp:544"
- name: hellfire.mpq
path: devilutionx/hellfire.mpq
system: diablo
category: game_data
required: false
description: "Hellfire expansion main archive"
source_ref: "Source/engine/assets.cpp:573"
- name: hfmonk.mpq
path: devilutionx/hfmonk.mpq
system: diablo
category: game_data
required: false
description: "Hellfire monk class assets; mandatory when hellfire.mpq is present"
source_ref: "Source/engine/assets.cpp:583"
- name: hfmusic.mpq
path: devilutionx/hfmusic.mpq
system: diablo
category: game_data
required: false
description: "Hellfire music; mandatory when hellfire.mpq is present"
source_ref: "Source/engine/assets.cpp:584"
- name: hfvoice.mpq
path: devilutionx/hfvoice.mpq
system: diablo
category: game_data
required: false
description: "Hellfire voices; mandatory when hellfire.mpq is present"
source_ref: "Source/engine/assets.cpp:585"
- name: hfbard.mpq
path: devilutionx/hfbard.mpq
system: diablo
category: game_data
required: false
description: "Hellfire bard class assets (community add-on)"
source_ref: "Source/engine/assets.cpp:565"
- name: hfbarb.mpq
path: devilutionx/hfbarb.mpq
system: diablo
category: game_data
required: false
description: "Hellfire barbarian class assets (community add-on)"
source_ref: "Source/engine/assets.cpp:566"
- name: fonts.mpq
path: devilutionx/fonts.mpq
system: diablo
category: game_data
required: false
description: "CJK and extended-language font pack from devilutionx-assets release"
source_ref: "Source/engine/assets.cpp:517"
+239
View File
@@ -0,0 +1,239 @@
emulator: dxx-rebirth
type: standalone
core_classification: game_engine
source: "https://github.com/dxx-rebirth/dxx-rebirth"
upstream: ~
profiled_date: "2026-10-04"
source_commit: "db1996a7fd18c7bf11c9b18b881aa4f11a84f017"
core_version: "git"
display_name: "Descent 1 & 2 (DXX-Rebirth)"
cores: [dxx-rebirth, d1x-rebirth, d2x-rebirth]
systems: [descent, descent2]
verification: existence
notes: |
DXX-Rebirth is a dual-engine source port of Descent 1 and Descent 2
built from the Parallax-released sources. The repository builds two
executables, d1x-rebirth and d2x-rebirth, sharing the similar/ tree
guarded by DXX_BUILD_DESCENT = 1 or 2.
Each build mounts its data via PhysFS. The game folder (defaulted to
the executable directory on Windows/macOS, DXX_SHAREPATH or
~/.d1x-rebirth / ~/.d2x-rebirth on Unix) is searched for the HOG and
PIG files; -hogdir on the command line adds another search path. On
startup similar/main/inferno.cpp mounts descent.hog (D1) or
descent2.hog / d2demo.hog (D2) via make_PHYSFSX_ComputedPathMount at
lines 472-479. If neither hog is found the engine aborts with
UserError "Could not find a valid hog file".
The size of the HOG picks the data edition (common/main/mission.h:58):
6856701 / 6856183 / 7261423 bytes = PC Descent 1 retail v1.4-v1.5 / v1.0
4492107 / 4494862 bytes = PC Descent 1 OEM v1.4a / v1.0
2339773 / 2365676 bytes = PC Descent 1 shareware v1.4 / v1.0
7456179 / 3370339 bytes = Mac Descent 1 retail / shareware
2292566 bytes = d2demo.hog v1.0 (D2 PC shareware)
4292746 bytes = D2 Mac shareware
6132957 bytes = D2 PC OEM v1.1
7595079 / 7107354 bytes = D2 PC full v1.1-1.2 / v1.0
7110007 bytes = D2 Mac full v1.1-1.2
For Descent 2 the engine also expects descent2.ham (binary tables) and
one of the PIG graphics families (groupa.pig / alien1.pig / alien2.pig
/ fire.pig / ice.pig / water.pig for retail, d2demo.pig for shareware)
plus the sampled sound bank (descent2.s11 for 11 kHz or descent2.s22
for 22 kHz; piggy.cpp:79). Mac shareware additionally bundles exit.ham.
d2x.hog is the Descent 2: Vertigo expansion mission, probed in the
MISSION_DIR by inferno.cpp:542 to toggle the "Vertigo Enhanced" title.
Movies (intro-h.mvl, robots-h.mvl, other-h.mvl or their -l low-res
counterparts) are optional; the game plays without them.
Only the free PC shareware pair (desc14sw.tar.gz = descent.hog +
descent.pig; d2shar10.tar.gz = d2demo.hog/pig/ham) is redistributable;
the retail archives listed below are commercial GOG files.
files:
# ------ Descent 1 shareware (free) ------
- name: descent.hog
path: dxx-rebirth/d1/shareware/descent.hog
system: descent
category: game_data
required: false
size: 2339773
validation: [size]
description: "Descent 1 PC shareware v1.4 HOG"
variant_group: d1-hog
note: "freely redistributable (icculus.org/d2x/data/desc14sw.tar.gz)"
source_ref: "similar/main/mission.cpp:80; common/main/mission.h:67"
- name: descent.pig
path: dxx-rebirth/d1/shareware/descent.pig
system: descent
category: game_data
required: false
description: "Descent 1 PC shareware PIG (ships with desc14sw.tar.gz)"
source_ref: "common/main/fwd-piggy.h:55"
# ------ Descent 1 retail ------
- name: descent.hog
path: dxx-rebirth/d1/retail/descent.hog
system: descent
category: game_data
required: false
size: 6856701
validation: [size]
description: "Descent 1 PC retail v1.5 HOG (GOG)"
variant_group: d1-hog
note: "commercial; alternative sizes 6856183 (v1.5 alt), 7261423 (v1.0), 7456179 (Mac retail)"
source_ref: "common/main/mission.h:61-64"
- name: descent.pig
path: dxx-rebirth/d1/retail/descent.pig
system: descent
category: game_data
required: false
description: "Descent 1 PC retail PIG"
source_ref: "similar/main/piggy.cpp:69"
# ------ Descent 2 shareware (free) ------
- name: d2demo.hog
path: dxx-rebirth/d2/shareware/d2demo.hog
system: descent2
category: game_data
required: false
size: 2292566
validation: [size]
description: "Descent 2 PC shareware HOG"
variant_group: d2-hog
note: "freely redistributable (icculus.org/d2x/data/d2shar10.tar.gz)"
source_ref: "similar/main/mission.cpp:107-108; common/main/mission.h:71"
- name: d2demo.pig
path: dxx-rebirth/d2/shareware/d2demo.pig
system: descent2
category: game_data
required: false
description: "Descent 2 shareware PIG"
source_ref: "similar/main/piggy.cpp:73"
- name: d2demo.ham
path: dxx-rebirth/d2/shareware/d2demo.ham
system: descent2
category: game_data
required: false
description: "Descent 2 shareware HAM"
source_ref: "similar/main/piggy.cpp:75"
# ------ Descent 2 retail ------
- name: descent2.hog
path: dxx-rebirth/d2/retail/descent2.hog
system: descent2
category: game_data
required: false
size: 7595079
validation: [size]
description: "Descent 2 PC full v1.1-1.2 HOG (GOG)"
variant_group: d2-hog
note: "commercial; alternative sizes 7107354 (v1.0), 7110007 (Mac full), 6132957 (OEM v1.1), 4292746 (Mac shareware)"
source_ref: "common/main/mission.h:73-76"
- name: descent2.ham
path: dxx-rebirth/d2/retail/descent2.ham
system: descent2
category: game_data
required: false
description: "Descent 2 retail HAM (tables)"
source_ref: "similar/main/piggy.cpp:74"
- name: groupa.pig
path: dxx-rebirth/d2/retail/groupa.pig
system: descent2
category: game_data
required: false
description: "Descent 2 retail default PIG (loaded by piggy_init_pigfile)"
source_ref: "similar/main/piggy.cpp:72; similar/main/inferno.cpp:689"
- name: alien1.pig
path: dxx-rebirth/d2/retail/alien1.pig
system: descent2
category: game_data
required: false
description: "Descent 2 Alien-1 textures PIG"
source_ref: "similar/main/piggy.cpp:87"
- name: alien2.pig
path: dxx-rebirth/d2/retail/alien2.pig
system: descent2
category: game_data
required: false
description: "Descent 2 Alien-2 textures PIG"
source_ref: "similar/main/piggy.cpp:88"
- name: fire.pig
path: dxx-rebirth/d2/retail/fire.pig
system: descent2
category: game_data
required: false
description: "Descent 2 Fire textures PIG"
source_ref: "similar/main/piggy.cpp:89"
- name: ice.pig
path: dxx-rebirth/d2/retail/ice.pig
system: descent2
category: game_data
required: false
description: "Descent 2 Ice textures PIG"
source_ref: "similar/main/piggy.cpp:91"
- name: water.pig
path: dxx-rebirth/d2/retail/water.pig
system: descent2
category: game_data
required: false
description: "Descent 2 Water textures PIG"
source_ref: "similar/main/piggy.cpp:92"
- name: descent2.s22
path: dxx-rebirth/d2/retail/descent2.s22
system: descent2
category: game_data
required: false
description: "Descent 2 22 kHz digital sound bank (default for retail)"
source_ref: "similar/main/piggy.cpp:79"
- name: descent2.s11
path: dxx-rebirth/d2/retail/descent2.s11
system: descent2
category: game_data
required: false
description: "Descent 2 11 kHz digital sound bank (shareware/Mac default)"
source_ref: "similar/main/piggy.cpp:79"
- name: d2x.hog
path: dxx-rebirth/d2/retail/missions/d2x.hog
system: descent2
category: game_data
required: false
description: "Descent 2: Vertigo expansion mission HOG"
source_ref: "similar/main/inferno.cpp:542"
- name: intro-h.mvl
path: dxx-rebirth/d2/retail/intro-h.mvl
system: descent2
category: game_data
required: false
description: "Descent 2 intro cinematic (high-res)"
source_ref: "similar/main/titles.cpp:292"
- name: robots-h.mvl
path: dxx-rebirth/d2/retail/robots-h.mvl
system: descent2
category: game_data
required: false
description: "Descent 2 robot briefings (high-res); recommended for single-player"
- name: other-h.mvl
path: dxx-rebirth/d2/retail/other-h.mvl
system: descent2
category: game_data
required: false
description: "Descent 2 misc cinematics (high-res)"
+53
View File
@@ -0,0 +1,53 @@
emulator: fallout1-ce
type: standalone
core_classification: game_engine
source: "https://github.com/alexbatalov/fallout1-ce"
upstream: ~
profiled_date: "2026-10-04"
source_commit: "0609bcfd0ec40ff0571d0f57fab2821eb461dc8b"
core_version: "1.1"
display_name: "Fallout (Community Edition)"
cores: [fallout1-ce]
systems: [fallout]
verification: existence
notes: |
Fallout 1 Community Edition is Alex Batalov's cross-platform rebuild of
the original Fallout engine. It reads the same data files the retail
installer dropped: master.dat holds the game resources, critter.dat the
animation frames, and the data/ directory holds loose patch overrides.
The main executable loads config fallout.cfg from its own directory
(src/game/gconfig.cc:122-137). Keys master_dat / critter_dat /
master_patches / critter_patches default to "master.dat", "critter.dat",
"data" and "data" when the file is missing (gconfig.cc:58-61). On
startup, game_init_databases() in src/game/game.cc:1223 opens both
DAT files with db_init(); either missing raises GNWSystemError
"Could not find the master/critter datafile" (lines 1249, 1266) and the
game exits.
The data/ directory is a user-writable patch overlay; it is empty on a
clean retail install, so retrobios does not ship an empty tree. Music
(ACM files under data/sound/music/) and movies (sound/MOVIES/) are
loaded on demand and the engine runs without them, so they are marked
optional. Font and resolution tweaks live in f1_res.ini and are a user
preference, not game data.
exclusion_note: "data/, sound/ and movies/ load from the retail install folder, not from a shared BIOS tree"
files:
- name: master.dat
path: fallout1-ce/master.dat
system: fallout
category: game_data
required: true
description: "Fallout 1 master game resource archive (retail/GOG)"
note: "db_init call fails with GNWSystemError if missing"
source_ref: "src/game/game.cc:1237-1251"
- name: critter.dat
path: fallout1-ce/critter.dat
system: fallout
category: game_data
required: true
description: "Fallout 1 critter animations archive (retail/GOG)"
source_ref: "src/game/game.cc:1253-1267"
+63
View File
@@ -0,0 +1,63 @@
emulator: fallout2-ce
type: standalone
core_classification: game_engine
source: "https://github.com/alexbatalov/fallout2-ce"
upstream: ~
profiled_date: "2026-10-04"
source_commit: "e97087b9582f37075db347a89898887320753f8b"
core_version: "1.2"
display_name: "Fallout 2 (Community Edition)"
cores: [fallout2-ce]
systems: [fallout2]
verification: existence
notes: |
Fallout 2 Community Edition is Alex Batalov's cross-platform rebuild of
the Fallout 2 engine. Like Fallout 1 CE it reads master.dat (resources)
and critter.dat (animations), plus optional patch000.dat..patch999.dat
overlays and the high-resolution patch's f2_res.dat.
The engine resolves master_dat / critter_dat paths from fallout2.cfg
via Settings (src/settings.h:12-14, src/game_config.cc:61-63). On
startup, gameDbInit() in src/game.cc:1322 opens the master database
(dbOpen call line 1343) and the critter database (line 1359). Either
missing raises the "Could not find the master/critter datafile"
message box (lines 1345, 1361) and the game exits.
patch%03d.dat (patch000.dat..patch999.dat) are opportunistic: the loop
at src/game.cc:1372-1378 opens them with dbOpen if compat_access
succeeds and silently continues otherwise. Sfall's patch_file setting
can override the "patch%03d.dat" template (line 1367).
f2_res.dat is the High Resolution Patch data file. Loaded only if
present (src/game.cc:1380-1382). Not required for the base game.
Music (ACM), movies (MVE) and sound effects live in sound/, movies/,
and data/ overlays; the engine runs without them, so they are not
tracked here.
exclusion_note: "data/, sound/ and movies/ load from the retail install folder, not from a shared BIOS tree"
files:
- name: master.dat
path: fallout2-ce/master.dat
system: fallout2
category: game_data
required: true
description: "Fallout 2 master game resource archive (retail/GOG)"
source_ref: "src/game.cc:1333-1347"
- name: critter.dat
path: fallout2-ce/critter.dat
system: fallout2
category: game_data
required: true
description: "Fallout 2 critter animations archive (retail/GOG)"
source_ref: "src/game.cc:1349-1363"
- name: f2_res.dat
path: fallout2-ce/f2_res.dat
system: fallout2
category: game_data
required: false
description: "High Resolution Patch resource archive, loaded when present"
source_ref: "src/game.cc:1380-1382"
+49
View File
@@ -0,0 +1,49 @@
emulator: sdlpop
type: standalone
core_classification: game_engine
source: "https://github.com/NagyD/SDLPoP"
upstream: ~
profiled_date: "2026-10-04"
source_commit: "3c5add5fb7f83d4ceb542823ab66d00146c4271b"
core_version: "1.24 RC"
display_name: "Prince of Persia (SDLPoP)"
cores: [sdlpop]
systems: [prince-of-persia]
verification: existence
notes: |
SDLPoP is NagyD's open-source port of the DOS Prince of Persia (1989),
rebuilt from the leaked Jordan Mechner source and refined through
years of community reverse engineering. Unlike the other engines in
this directory, SDLPoP ships with ALL game data in-tree; no retail
data file is required or useful.
open_dat() (src/seg009.c:438) reads an archive named FOO.DAT if
present, otherwise falls back to a loose folder data/FOO/ containing
the extracted resources (lines 440-456 and 488-500). The repository
ships both forms:
data/*.DAT files committed:
DIGISND1.DAT, DIGISND2.DAT, DIGISND3.DAT (digitized SFX)
MIDISND1.DAT, MIDISND2.DAT (MIDI SFX)
GUARD.DAT, GUARD1.DAT, GUARD2.DAT (guard graphics variants)
data/<name>/ folders committed (extracted resources):
PRINCE, KID, SHADOW, SKEL, GUARD, GUARD1, GUARD2,
VIZIER, VPALACE, VDUNGEON, PV, FAT, TITLE,
IBM_SND1, IBM_SND2, LEVELS, font, music
The named folders are the fall-back for the DAT files the loader
actually requests: PRINCE.DAT (seg000.c:123, 1030-1037, 1067-1072),
LEVELS.DAT (seg000.c:1153), TITLE.DAT (seg000.c:2298), KID / GUARD /
SHADOW / SKEL / FAT / VPALACE / VDUNGEON / VIZIER / PV at level
switch (seg000.c:1656, 1690). The data/music folder holds the
OGG/MP3 soundtrack files added by the port.
Consequence: retrobios does not supply any file to run the base game.
Users can drop MOD folders under mods/<MODNAME>/ to layer custom
level packs on top (open_dat lines 448-452); those are user content,
not shared BIOS data, and are not tracked here.
exclusion_note: "all required game data ships inside the source repository (data/ and data/<folder>/ trees)"
files: []
+117
View File
@@ -0,0 +1,117 @@
emulator: uqm
type: standalone
core_classification: game_engine
source: "https://github.com/juj/sc2-uqm"
upstream: "https://sourceforge.net/projects/sc2/"
profiled_date: "2026-10-04"
source_commit: "ff2444088d42e80612fd28f79d368783e244a606"
core_version: "0.8.0"
display_name: "The Ur-Quan Masters"
cores: [uqm]
systems: [ur-quan-masters, star-control-2]
verification: md5
notes: |
The Ur-Quan Masters (UQM) is the open-source port of Toys for Bob's
Star Control II, built from the sources Toys for Bob released in 2002.
The engine runs on top of its own virtual filesystem (uio) and expects
a content/ tree with a packages/ subdirectory holding zip archives
renamed with the .uqm suffix.
prepareContentDir() in src/options.c:136 searches for content/
relative to the executable (default locations are CONTENTDIR, "",
"content", "../../content"; macOS also probes the app bundle). A
sentinel file content/version must exist (lines 138-150) or the game
logs "Could not find content" and exits.
mountContentDir() (src/options.c:329) mounts content/ at the uio root
and then auto-mounts every .uqm file found under content/packages/ as
an overlay archive (lines 354-359). The engine itself does not treat
individual .uqm packages as mandatory; the fatal check is the
content/ tree. In practice content/packages/uqm-0.8.0-content.uqm is
"Core Data" in the Windows installer (uqm-installer.nsi:289-306,
SectionIn 1 2 3 4 6) and the game is unplayable without it.
3DO music (uqm-0.8.0-3domusic.uqm) and voice overs
(uqm-0.8.0-voice.uqm) are optional sections (installer lines 315,
329 - SectionIn 1 4 6). The four remix packs (uqm-remix-disc1.uqm
through uqm-remix-disc4-1.uqm) are only in SectionIn 6 ("Full").
content/base, content/addons and the two .key sentinel files
(uqm.key, menu.key) are shipped verbatim in the source repository
and are not external data; they are not listed here.
MD5 and size values come from build/win32_install/packages.nsh,
autogenerated by procpkgs.sh at release time; sizes are the KiB
values the NSIS installer uses with AddSize.
files:
- name: uqm-0.8.0-content.uqm
path: uqm/content/packages/uqm-0.8.0-content.uqm
system: ur-quan-masters
category: game_data
required: true
md5: "6cbc9d51fa63e07c0f4d1d061136d816"
validation: [md5]
description: "UQM core game data archive"
source_ref: "build/win32_install/packages.nsh:3-5; sc2/build/win32_install/uqm-installer.nsi:289-306"
- name: uqm-0.8.0-3domusic.uqm
path: uqm/content/packages/uqm-0.8.0-3domusic.uqm
system: ur-quan-masters
category: game_data
required: false
md5: "9e5801d45ca12028b486cdeb83568c02"
validation: [md5]
description: "UQM 3DO music track pack"
source_ref: "build/win32_install/packages.nsh:6-8; sc2/build/win32_install/uqm-installer.nsi:315-327"
- name: uqm-0.8.0-voice.uqm
path: uqm/content/packages/uqm-0.8.0-voice.uqm
system: ur-quan-masters
category: game_data
required: false
md5: "fc89f77d7b66c2669abca6c157f5259a"
validation: [md5]
description: "UQM alien-race voice-over pack"
source_ref: "build/win32_install/packages.nsh:9-11; sc2/build/win32_install/uqm-installer.nsi:329-341"
- name: uqm-remix-disc1.uqm
path: uqm/content/packages/uqm-remix-disc1.uqm
system: ur-quan-masters
category: game_data
required: false
md5: "09f242d8d72166d1d5ccbd3d99c93e7d"
validation: [md5]
description: "Precursor Remix disc 1 (modern remixes)"
source_ref: "build/win32_install/packages.nsh:12-14; sc2/build/win32_install/uqm-installer.nsi:345-358"
- name: uqm-remix-disc2.uqm
path: uqm/content/packages/uqm-remix-disc2.uqm
system: ur-quan-masters
category: game_data
required: false
md5: "fbc8bdcb709939d559d8c7216ad15cc2"
validation: [md5]
description: "Precursor Remix disc 2"
source_ref: "build/win32_install/packages.nsh:15-17"
- name: uqm-remix-disc3.uqm
path: uqm/content/packages/uqm-remix-disc3.uqm
system: ur-quan-masters
category: game_data
required: false
md5: "5ccc6d4ac301ae98e172ac6835dcdead"
validation: [md5]
description: "Precursor Remix disc 3"
source_ref: "build/win32_install/packages.nsh:18-20"
- name: uqm-remix-disc4-1.uqm
path: uqm/content/packages/uqm-remix-disc4-1.uqm
system: ur-quan-masters
category: game_data
required: false
md5: "3fb63f4ac514343ed4b4b5b194c413fb"
validation: [md5]
description: "Precursor Remix disc 4-1"
source_ref: "build/win32_install/packages.nsh:21-23"