# RSDKv4 Decompilation：Retro Engine v4 与《索尼克》1、2（2013）菜单的反编译

> 反编译 Retro Engine（RSDK）v4——《索尼克》与《索尼克 2》（2013）所用的引擎——以及两款游戏中以原生代码实现的菜单，可构建 Windows、Linux 与 Android 版本。引擎运行官方发行版数据文件中的游戏脚本，这些文件需由使用者自备。项目增加了脚本编译器、模组加载器，以及《索尼克 2》双人对战的实验性联网模式；它是同一团队 RSDKv5 反编译项目的前身。

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

## 使用条件与局限

- **前提条件：**没有《索尼克》或《索尼克 2》官方发行版的素材就无法运行：README 列出了 Steam、Epic Games Store 和 Switch 上的 Sonic Origins，以及现已下架的 iOS 与 Android 版本。FAQ 指出 Origins 的数据文件以 RSDKv5 数据包格式打包，且不含游戏的音乐和音效；正式发行版和自动构建会禁用 DLC，并阻止使用 Origins 中的 Amy。仓库不附带任何游戏数据。
- **前提条件：**需递归克隆，因为 GitHub 的源码 ZIP 不包含 stb、tinyxml2、asio 和 Flatpak 子模块。CMake 3.10+ 构建在 Windows 上使用 Visual Studio 与 vcpkg（GLEW、SDL2、libogg、libvorbis），在 Linux 上使用所列的 GLEW、SDL2 与 Ogg/Vorbis 软件包，Android 另有单独指南；仓库还包含 Xcode、UWP 和 Flatpak 工程，而 Vita、Switch、3DS 与 WebAssembly 移植均为非官方分支。《索尼克 2》的联网双人对战需要 Python 3.8+ 服务器，README 称其只是非常不稳定的概念验证。
- **范围：**审阅对象为 2026-09-06 的 main 分支最新提交，比 1.3.3 发行版（2025-11-02）晚 13 个提交。README 称其为 Retro Engine v4 及 Sonic 1、2（2013）菜单的完整反编译；许可证说明大部分代码旨在与所指定 RSDK 版本功能一致。RETRO_REVISION 默认为 3（Origins）；RETRO_ORIGINAL_CODE 会移除项目自身的改动，但按 CMake 说明，这样无法构建出可玩的游戏。
- **测试证据：**CI 在禁用 Plus DLC 的情况下构建 Windows x86 与 x64、Android 和 Linux 二进制；不运行测试，项目也未公布与原版引擎二进制的对比。FAQ 表示官方版本中已有的漏洞大多不会修复。
- **许可：**自定义的 RSDKv3/v4 Decompilation Source Code License v2 要求分发的预构建可执行文件默认关闭 DLC，禁止商业使用，禁止分发除独有模组素材以外的游戏素材，要求注明原 RSDK 作者 Christian “Taxman” Whitehead 以及反编译作者 Rubberduckycooly 和 st×tic，并要求分支遵守同样条款。

## 一手来源

1. <https://github.com/RSDKModding/RSDKv4-Decompilation/blob/a7f5195e21fdad7b75e4587e249013feeea9e6f3/README.md>
2. <https://github.com/RSDKModding/RSDKv4-Decompilation/blob/a7f5195e21fdad7b75e4587e249013feeea9e6f3/FAQ.md>
3. <https://github.com/RSDKModding/RSDKv4-Decompilation/blob/a7f5195e21fdad7b75e4587e249013feeea9e6f3/LICENSE.md>
4. <https://github.com/RSDKModding/RSDKv4-Decompilation/blob/a7f5195e21fdad7b75e4587e249013feeea9e6f3/CMakeLists.txt>
5. <https://github.com/RSDKModding/RSDKv4-Decompilation/blob/a7f5195e21fdad7b75e4587e249013feeea9e6f3/.gitmodules>
6. <https://github.com/RSDKModding/RSDKv4-Decompilation/tree/a7f5195e21fdad7b75e4587e249013feeea9e6f3/RSDKv4/NativeObjects>
7. <https://github.com/RSDKModding/RSDKv4-Decompilation/blob/a7f5195e21fdad7b75e4587e249013feeea9e6f3/.github/workflows/build.yml>
8. <https://github.com/RSDKModding/RSDKv4-Decompilation/releases/tag/1.3.3>

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

- [RSDKv5 Decompilation：重建 Retro Engine v5 与 v5U](https://awesomerea.org/zh/resources/rsdkv5-engine-decomp-case/index.md) · 案例
- [Sonic Mania：面向 RSDKv5 引擎的游戏代码反编译重建](https://awesomerea.org/zh/resources/sonic-mania-decomp-case/index.md) · 案例
- [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) · 案例

## 关于此条目

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