From eb75c2d1f565e2bba0797119a0bff20ac8f3b94c Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Mon, 9 Nov 2026 17:19:16 +0100 Subject: [PATCH] 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. --- emulators/uqm.yml | 37 ++++++++++++++++--------------------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/emulators/uqm.yml b/emulators/uqm.yml index 3fd73e99c..3d351956a 100644 --- a/emulators/uqm.yml +++ b/emulators/uqm.yml @@ -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"