Files
libretro/emulators/sonic-mania.yml
T

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: []
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: "RSDKv5/RSDK/User/Core/UserCore.cpp:313 (Game:dataFile default), RSDKv5/RSDK/User/Core/UserCore.cpp:557 (no Settings.ini), 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/.