Files
libretro/emulators/sonic-mania.yml
T
Abdessamad Derraz b3b3880c19 chore: say which repository each source_ref cites
Profiles that read two repositories, a libretro port and its upstream,
now prefix each citation with source or upstream, decided by which tree
carries the cited value at its pin. The emulator pages use the word to
tell libretro glue, emulator code as the port carries it, and the
upstream emulator apart.
2026-10-20 09:23:41 +02:00

46 lines
2.0 KiB
YAML

emulator: Sonic Mania Decompilation
type: standalone
core_classification: game_engine
source: "https://github.com/RSDKModding/Sonic-Mania-Decompilation"
upstream: "https://github.com/RSDKModding/RSDKv5-Decompilation"
source_commit: "9dc699428420d752af9767bdb13f585ee0881bc0"
upstream_commit: "191d7aea6c262d891244172a8609ac69fbfd7571"
profiled_date: "2026-10-04"
display_name: "Sonic Mania (RSDKv5 Decomp)"
cores: [sonicmania]
systems: [sonic-mania]
notes: |
Full RSDKv5 decompilation of Sonic Mania (Christian Whitehead / Headcannon,
2017). Links against the shared RSDKv5-Decompilation engine. Game code
lives in SonicMania/ and the engine in the dependencies/RSDKv5
submodule, the upstream repository. The paths below are relative to
that repository.
LoadDataPack reads an RSDK v5 container: a 4-byte "RSDK" signature,
the letter v and a version byte, a 16-bit file count, then an MD5 name
hash, offset and size per entry. The signature is the only validation.
The engine never hashes the full pack.
ref: RSDKv5/RSDK/Core/Reader.cpp:107-164 (LoadDataPack)
Settings.ini key Game:dataFile overrides the default "Data.rsdk". If
the ini is absent the engine still calls LoadDataPack("Data.rsdk").
ref: RSDKv5/RSDK/User/Core/UserCore.cpp:313,557
When no pack opens, LoadFile reads the same paths as loose files under
Data/ and the dev menu is turned on.
ref: RSDKv5/RSDK/Core/Reader.cpp:303-309,
RSDKv5/RSDK/User/Core/UserCore.cpp:312-314
files:
- name: "Data.rsdk"
category: game_data
system: sonic-mania
required: true
source_ref: "upstream RSDKv5/RSDK/User/Core/UserCore.cpp:313 (Game:dataFile default), upstream RSDKv5/RSDK/User/Core/UserCore.cpp:557 (no Settings.ini), upstream RSDKv5/RSDK/Core/Reader.cpp:107-121 (LoadDataPack signature check)"
note: |
Sonic Mania game assets (RSDK v5 container, "RSDK" signature). Shipped
inside the official Sonic Mania release (Steam, Epic, consoles).
Without the pack the engine only finds the game if the same files
sit extracted under Data/.