docs: read uqm content checks from the engine

The engine checks no hash: only the Windows installer compares the packages.nsh MD5s, so validation and verification go. The content pack stays required from LoadKernel, which exits without a .rmp index at the content root and names the pack.
This commit is contained in:
Abdessamad Derraz committed 2026-11-09 17:19:16 +01:00
1 parent 2377985df7
commit eb75c2d1f5
1 file changed
+16 -21
+16 -21
View File
@@ -14,7 +14,6 @@ version_basis:
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
@@ -26,16 +25,18 @@ notes: |
prepareContentDir() in src/options.c:136 searches for content/
relative to the executable (default locations are CONTENTDIR, "",
"content", "../../content", while macOS also probes the app bundle). A
sentinel file content/version must exist (lines 138-150) or the game
sentinel file content/version must exist (lines 138-182) 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.
mountContentDir() (src/options.c:330-361) mounts content/ at the uio
root and then mounts every .zip or .uqm file under content/packages/
below it (line 357, mountDirZips at 463-489). The archive name is not
read. LoadKernel then needs at least one .rmp index at the content
root (src/uqm/setup.c:113-115), and without one the game logs "Could
not load basic content", names uqm-0.8.0-content.uqm and exits
(src/uqm/starcon.c:194-204). The content pack carries uqm.rmp and
base/. A content/ tree that already holds them unpacked passes the
same check, as the tree at this pin does.
3DO music (uqm-0.8.0-3domusic.uqm) and voice overs
(uqm-0.8.0-voice.uqm) are optional sections (installer lines 315,
@@ -50,9 +51,10 @@ notes: |
(uqm.key, menu.key) are shipped verbatim in the source repository
and are not external data, so 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.
The engine checks no hash. The MD5 values come from
build/win32_install/packages.nsh, autogenerated by procpkgs.sh at
release time, and only the Windows installer compares them, offering
a fresh download on a mismatch (uqm-installer.nsi:132-190).
files:
- name: uqm-0.8.0-content.uqm
@@ -62,10 +64,9 @@ files:
required: true
installed_on: [retropie]
md5: "6cbc9d51fa63e07c0f4d1d061136d816"
validation: [md5]
description: "UQM core game data archive"
note: "Published apart from the source release. The RetroPie scriptmodule downloads it into content/packages."
source_ref: "sc2/build/win32_install/packages.nsh:3-5; sc2/build/win32_install/uqm-installer.nsi:289-306"
note: "Published apart from the source release. Carries uqm.rmp and base/: without a .rmp index at the content root the game exits with \"Could not load basic content\". Any .zip or .uqm in content/packages is mounted, the name is not read. The RetroPie scriptmodule downloads it into content/packages."
source_ref: "sc2/src/uqm/starcon.c:194-204, sc2/src/uqm/setup.c:113-115, sc2/src/options.c:354-359, sc2/src/options.c:463-489, sc2/src/options.c:491-515, sc2/build/win32_install/packages.nsh:3-5"
- name: uqm-0.8.0-3domusic.uqm
path: uqm/content/addons/uqm-0.8.0-3domusic.uqm
@@ -74,7 +75,6 @@ files:
required: false
installed_on: [retropie]
md5: "9e5801d45ca12028b486cdeb83568c02"
validation: [md5]
description: "UQM 3DO music track pack"
note: "The RetroPie scriptmodule downloads it into content/addons."
source_ref: "sc2/build/win32_install/packages.nsh:6-8; sc2/build/win32_install/uqm-installer.nsi:315-327, sc2/src/options.c:393-402, 518-551, sc2/src/uqm/setup.c:118-132"
@@ -86,7 +86,6 @@ files:
required: false
installed_on: [retropie]
md5: "fc89f77d7b66c2669abca6c157f5259a"
validation: [md5]
description: "UQM alien-race voice-over pack"
note: "The RetroPie scriptmodule downloads it into content/addons."
source_ref: "sc2/build/win32_install/packages.nsh:9-11; sc2/build/win32_install/uqm-installer.nsi:329-341, sc2/src/options.c:393-402, 518-551, sc2/src/uqm/setup.c:118-132"
@@ -97,7 +96,6 @@ files:
category: game_data
required: false
md5: "09f242d8d72166d1d5ccbd3d99c93e7d"
validation: [md5]
description: "Precursor Remix disc 1 (modern remixes)"
source_ref: "sc2/build/win32_install/packages.nsh:12-14; sc2/build/win32_install/uqm-installer.nsi:345-358, sc2/src/options.c:393-402, 518-551, sc2/src/uqm/setup.c:118-132"
@@ -107,7 +105,6 @@ files:
category: game_data
required: false
md5: "fbc8bdcb709939d559d8c7216ad15cc2"
validation: [md5]
description: "Precursor Remix disc 2"
source_ref: "sc2/build/win32_install/packages.nsh:15-17, sc2/src/options.c:393-402, 518-551, sc2/src/uqm/setup.c:118-132"
@@ -117,7 +114,6 @@ files:
category: game_data
required: false
md5: "5ccc6d4ac301ae98e172ac6835dcdead"
validation: [md5]
description: "Precursor Remix disc 3"
source_ref: "sc2/build/win32_install/packages.nsh:18-20, sc2/src/options.c:393-402, 518-551, sc2/src/uqm/setup.c:118-132"
@@ -127,6 +123,5 @@ files:
category: game_data
required: false
md5: "3fb63f4ac514343ed4b4b5b194c413fb"
validation: [md5]
description: "Precursor Remix disc 4-1"
source_ref: "sc2/build/win32_install/packages.nsh:21-23, sc2/src/options.c:393-402, 518-551, sc2/src/uqm/setup.c:118-132"