对 Retro Engine v4 以及 Sonic 1 和 2 (2013) 菜单的完整反编译。
如果没有官方版本的资产,该反编译将无法运行。
您可以从以下位置获取 Sonic 1 和 Sonic 2 的官方版本:
即使您的平台不受官方版本支持,您也必须购买或正式下载该平台的资产(您不需要运行官方版本,您只需要游戏资产)。
如果您想从官方移动版本转移存档, Android 永久文件路径为Android/data/com.sega.sonic1 or 2/SGame.bin
(其他版本可能有不同的文件路径) )。将该文件复制到反编译的文件夹中,名称为SData.bin
。
settings.ini
文件,游戏使用它来加载所有设置,类似于Sonic Mania。ESC
键从任何地方访问开发菜单。F12
暂停、 F11
步过和快进调试功能均已移植,并且如果在配置中启用了devMenu
,则可以启用这些功能。F1
将加载演示阶段列表中的第一个场景(通常是标题屏幕)。F2
和F3
将加载当前舞台列表中的上一个和下一个场景。F5
将重新加载当前场景以及所有资源和脚本。F8
和F9
将使触摸屏和对象碰撞箱可视化。F10
将激活调色板叠加层,实时显示游戏的 8 个内部调色板。该项目使用 CMake,这是一种支持许多不同编译器和平台的多功能构建系统。您可以在此处下载 CMake。 (确保在安装过程中启用将 CMake 添加到系统 PATH 的功能!)
为了克隆存储库,您需要安装 Git,可以在此处获取。
使用以下命令递归克隆存储库: git clone --recursive https://github.com/RSDKModding/RSDKv4-Decompilation
如果您已经克隆了存储库,请在存储库内运行以下命令: git submodule update --init --recursive
为了处理依赖关系,您需要安装 Visual Studio Community(确保在安装过程中安装了Desktop development with C++
包)和 vcpkg(您只需按照1 - Set up vcpkg
)。
安装这些后,在命令提示符中运行以下命令(确保将[vcpkg root]
替换为 vcpkg 安装路径!):
[vcpkg root]vcpkg.exe install glew sdl2 libogg libvorbis --triplet=x64-windows-static
(如果您正在编译 32 位版本,请将x64-windows-static
替换为x86-windows-static
。)最后,按照以下编译步骤使用-DCMAKE_TOOLCHAIN_FILE=[vcpkg root]/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DCMAKE_PREFIX_PATH=[vcpkg root]/installed/x64-windows-static/
作为参数cmake -B build
.
[vcpkg root]
的每个实例替换为 vcpkg 安装路径!x64-windows-static
的每个实例替换为x86-windows-static
。安装以下依赖项:然后按照以下编译步骤进行:
sudo pacman -S base-devel cmake glew sdl2 libogg libvorbis
sudo apt install build-essential cmake libglew-dev libglfw3-dev libsdl2-dev libogg-dev libvorbis-dev
sudo dnf install make gcc cmake glew-devel glfw-devel sdl2-devel libogg-devel libvorbis-devel zlib-devel
sudo apk add build-base cmake glew-dev glfw-dev sdl2-dev libogg-dev libvorbis-dev
请按照此处的 Android 构建说明进行操作。
编译非常简单,只需在根存储库目录中键入以下内容即可:
cmake -B build
cmake --build build --config release
生成的构建将位于build/
中的某个位置,具体取决于您的系统。
编译时可以使用以下 cmake 参数:
-D[flag-name]=[value]
添加到cmake -B build
命令的末尾来使用它们。例如,要在RETRO_DISABLE_PLUS
设置为 on 的情况下进行构建,请将-DRETRO_DISABLE_PLUS=on
添加到命令中。RETRO_REVISION
:要编译的版本。接受一个整数,默认为3
(Origins)。RETRO_DISABLE_PLUS
:是否禁用 Plus DLC。采用布尔值(开/关):编译分发时使用on
进行构建。默认为off
。RETRO_FORCE_CASE_INSENSITIVE
:加载文件时强制不区分大小写。采用布尔值,默认为off
。RETRO_MOD_LOADER
:启用或禁用模组加载器。采用布尔值,默认为on
。RETRO_NETWORKING
:启用或禁用用于 Sonic 2 的 2P VS 模式的网络功能。采用布尔值,默认为on
。RETRO_USE_HW_RENDER
:启用主菜单和触摸控制 UI 使用的硬件渲染器。采用布尔值,默认为on
。RETRO_ORIGINAL_CODE
:删除任何自定义代码。启用此功能后将无法构建可玩的游戏。采用布尔值,默认为off
。RETRO_SDL_VERSION
:仅当您知道自己在做什么时才更改此设置。在使用 SDL1 或 SDL2 之间切换。采用1
或2
的整数,默认为2
。 请按照每个分支的自述文件中的安装说明进行操作。
由于这些分支是非官方的,我们无法为它们提供支持,而且它们可能不是最新的。
目前唯一支持的平台是上面列出的平台,但是后端使用 libogg、libvorbis 和 SDL2 来为其提供支持(以及用于 mod API 的tinyxml2 和用于网络的 asio),因此代码库是非常多平台的。如果可以的话,您可以克隆此存储库并将其移植到不在列表中的平台。
多人游戏服务器需要 Python 3.8 或更高版本。您可以在此处下载 Python。要使用服务器,请在 Server.py 所在的文件夹中打开命令提示符,然后运行命令py -3 Server.py [local IPv4 address] [port] debug
。您可以使用命令ipconfig
找到您的本地 IPv4 地址。请注意,在Server
文件夹中找到的 C++ 服务器已被弃用并且不再工作。它已保存在存储库中以供参考。
您可以在这里找到常见问题解答。
加入 Retro Engine Modding Discord 服务器,了解您可能需要了解的有关反编译或修改的任何其他问题。