# Sonic Mania：面向 RSDKv5 引擎的游戏代码反编译重建

> 以 C 重建《索尼克狂欢》的游戏代码，并与另行反编译的 RSDKv5 或 RSDKv5U 引擎一起构建，支持 Windows、Linux、Switch 和 Android。素材必须来自官方发行的 Sonic Mania (Plus)；项目加入了模组加载器，并可构建多个零售版本。其许可证称代码大多在功能上与原作相同，而不是逐字节一致。

- 类型：案例
- 目标：游戏
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-10-18
- 收录于：2026-10-18
- 原始资源：<https://github.com/RSDKModding/Sonic-Mania-Decompilation>
- 一手来源：<https://github.com/RSDKModding/Sonic-Mania-Decompilation/blob/9dc699428420d752af9767bdb13f585ee0881bc0/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/sonic-mania-decomp-case/>
- 记录 JSON：<https://awesomerea.org/resources/sonic-mania-decomp-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/sonic-mania-decomp-case/index.md)

## 使用条件与局限

- **前提条件：**缺少官方发行版 Sonic Mania (Plus) 的素材便无法运行，素材可来自 Windows（Steam 或 Epic Games Store）、Switch、PS4 或 Xbox One 版本；不支持 Netflix Games 版本。默认会连同内置的 RSDKv5 引擎子模块一起构建，引擎修订版为 3（RSDKv5U），游戏版本为 6，即最后一个 Steam 版本；关闭 WITH_RSDK 时只构建游戏代码，用于分发的构建应开启 RETRO_DISABLE_PLUS。
- **前提条件：**须递归克隆仓库，因为 GitHub 的源码 ZIP 不含所需子模块。CMake 构建在 Windows 上使用 Visual Studio 与 vcpkg（libtheora、libogg、GLEW、GLFW3、SDL2），在 Linux 上使用构建工具及 GLEW、GLFW、libtheora 开发包，Switch 使用 devkitPro 软件包，Android 则按引擎仓库的说明构建。GL 构建需要使用者自建着色器模组，才能正常显示视频和滤镜。
- **范围：**仓库自述为《索尼克狂欢》（2017）的完整反编译；其许可证说明仓库中也有原创代码，且大部分代码预期在功能上与原作相同。项目加入了内置模组加载器与 API，并可构建 1.00（主机首发）、1.03（PC 首发）和 1.06（Plus 更新）版本。所审阅提交位于 v1.1.1 版（2025-11-01）之后 15 个提交。
- **测试证据：**CI 针对 RSDKv5 和 RSDKv5U 两种配置构建 Windows x86、x64 及 Linux 版本。项目未公开与原版二进制文件的对照结果，其常见问题还说明官方版本中已有的缺陷大多不会修复。
- **许可：**自定义的《Sonic Mania 反编译源码许可证 v1》仅允许非商业用途的复制、修改和分发，要求声明代码并非分发者所有，禁止分发独特模组素材以外的游戏素材，并要求所有派生版本遵守同一许可。Sega 的游戏和素材保留各自权利。

## 一手来源

1. <https://github.com/RSDKModding/Sonic-Mania-Decompilation/blob/9dc699428420d752af9767bdb13f585ee0881bc0/README.md>
2. <https://github.com/RSDKModding/Sonic-Mania-Decompilation/blob/9dc699428420d752af9767bdb13f585ee0881bc0/LICENSE.md>
3. <https://github.com/RSDKModding/Sonic-Mania-Decompilation/blob/9dc699428420d752af9767bdb13f585ee0881bc0/.gitmodules>
4. <https://github.com/RSDKModding/Sonic-Mania-Decompilation/blob/9dc699428420d752af9767bdb13f585ee0881bc0/.github/workflows/build.yml>
5. <https://github.com/RSDKModding/Sonic-Mania-Decompilation/releases/tag/v1.1.1>

## 同分区更多条目：游戏

- [SpaceCadetPinball：将反编译游戏逻辑适配到 SDL2](https://awesomerea.org/zh/resources/space-cadet-pinball-case/index.md) · 案例
- [TicTacToe-AI：REA 分叉对单个游戏方法的有限重建](https://awesomerea.org/zh/resources/rea-engine-tictactoe-case/index.md) · 案例
- [UltraSunnyMoon：以 REA 主导的部分《宝可梦 究极之日》重建](https://awesomerea.org/zh/resources/ultrasunnymoon-rea-case/index.md) · 案例
- [vf2-decomp：经差分验证的 Virtua Fighter 2 代码恢复](https://awesomerea.org/zh/resources/vf2-decomp-differential-recovery-case/index.md) · 案例
- [《风之杖 HD》反编译：与重编译的 Wii U 版逐函数比对验证](https://awesomerea.org/zh/resources/wind-waker-hd-decomp-case/index.md) · 案例
- [Banjo: Recompiled：基于 N64Recomp 的《Banjo-Kazooie》原生移植](https://awesomerea.org/zh/resources/banjo-recompiled-case/index.md) · 案例

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
