Files
libretro/emulators/uqm.yml
T
Abdessamad Derraz 3199bc2a55 fix: state standalone versions from their code
Each standalone profile records where its version is read: the source
at its pin (clk 2026-07-23-136-g9020107, shadps4 0.20.1 WIP, eden
v0.2.0-401-g26a03d2), the APK, binary or archive read (kind package),
or, where no reading can be made, kind unverified with the reason: a
host the tools cannot read, a forge gone or not answering, no build
recorded as read, a pin on another branch. Those keep their value,
unconfirmed.
2026-10-27 19:21:40 +01:00

129 lines
5.6 KiB
YAML

emulator: "The Ur-Quan Masters"
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"
version_basis:
kind: file
path: "sc2/src/uqmversion.h"
pattern: '#define UQM_MAJOR_VERSION_S\s+"(\d+)"[\s\S]*?#define UQM_MINOR_VERSION_S\s+"(\d+)"[\s\S]*?#define UQM_PATCH_VERSION_S\s+"(\d+)"[\s\S]*?#define UQM_EXTRA_VERSION\s+"([^"]*)"'
format: "{1}.{2}.{3}{4}"
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", while 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). They go in content/addons/, not packages/:
a .uqm there is mounted at "addons" (src/options.c:393-402) and
loadAddon opens addons/3domusic, addons/3dovoice and addons/remix
(options.c:518-551, uqm/setup.c:118-132). Placed in packages/ their
files would sit at the root and the addon would not load. 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, 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.
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
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"
- name: uqm-0.8.0-3domusic.uqm
path: uqm/content/addons/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: "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"
- name: uqm-0.8.0-voice.uqm
path: uqm/content/addons/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: "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"
- name: uqm-remix-disc1.uqm
path: uqm/content/addons/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: "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"
- name: uqm-remix-disc2.uqm
path: uqm/content/addons/uqm-remix-disc2.uqm
system: ur-quan-masters
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"
- name: uqm-remix-disc3.uqm
path: uqm/content/addons/uqm-remix-disc3.uqm
system: ur-quan-masters
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"
- name: uqm-remix-disc4-1.uqm
path: uqm/content/addons/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: "sc2/build/win32_install/packages.nsh:21-23, sc2/src/options.c:393-402, 518-551, sc2/src/uqm/setup.c:118-132"