Полная декомпиляция Retro Engine v4 и меню из Sonic 1 и 2 (2013).
Без ресурсов из официальных выпусков эта декомпиляция не запустится.
Вы можете получить официальные релизы Sonic 1 и Sonic 2 по адресу:
Даже если ваша платформа не поддерживается официальными выпусками, вы должны купить или официально загрузить ее ради ресурсов (вам не нужно запускать официальную версию, вам нужны только игровые ресурсы).
Если вы хотите перенести сохранения из официальной мобильной версии, путь к файлу Android pre-forever — Android/data/com.sega.sonic1 or 2/SGame.bin
(в других версиях пути к файлам могут отличаться). ). Скопируйте этот файл в папку декомпиляции с именем SData.bin
.
settings.ini
, который игра использует для загрузки всех настроек, как в Sonic Mania.ESC
, если она включена в конфигурации.F12
, шага F11
и быстрой перемотки вперед из Sonic Mania были портированы и включены, если в конфигурации включено 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
, добавьте к команде -DRETRO_DISABLE_PLUS=on
.RETRO_REVISION
: какую ревизию компилировать. Принимает целое число, по умолчанию равно 3
(Происхождение).RETRO_DISABLE_PLUS
: следует ли отключить Plus DLC. Принимает логическое значение (вкл./выкл.): on
сборки при компиляции для распространения. По умолчанию off
.RETRO_FORCE_CASE_INSENSITIVE
: обеспечивает нечувствительность к регистру при загрузке файлов. Принимает логическое значение, по умолчанию off
.RETRO_MOD_LOADER
: включает или отключает загрузчик модов. Принимает логическое значение, по умолчанию on
.RETRO_NETWORKING
: включает или отключает сетевые функции, используемые для режима 2P VS в Sonic 2. Принимает логическое значение, по умолчанию on
.RETRO_USE_HW_RENDER
: включает аппаратный рендерер, используемый в главном меню и пользовательском интерфейсе сенсорного управления. Принимает логическое значение, по умолчанию on
.RETRO_ORIGINAL_CODE
: удаляет любой пользовательский код. При этом играбельная игра не будет создана. Принимает логическое значение, по умолчанию off
.RETRO_SDL_VERSION
: меняйте это значение только в том случае, если вы знаете, что делаете. Переключает использование SDL1 или SDL2. Принимает целое число 1
или 2
, по умолчанию — 2
. Следуйте инструкциям по установке в readme каждой ветки.
Поскольку эти ветки являются неофициальными, мы не можем обеспечить им поддержку, и они могут быть устаревшими.
В настоящее время поддерживаются только те платформы, которые перечислены выше, однако серверная часть использует libogg, libvorbis и SDL2 для его работы (а также tinyxml2 для API модов и asio для работы в сети), поэтому база кода очень многоплатформенная. Если у вас есть возможность, вы можете клонировать этот репозиторий и перенести его на платформу, которой нет в списке.
Для многопользовательского сервера требуется Python 3.8 или новее. Вы можете скачать Python здесь. Чтобы использовать сервер, откройте командную строку в папке, в которой находится Server.py, затем выполните команду py -3 Server.py [local IPv4 address] [port] debug
. Вы можете найти свой локальный IPv4-адрес с помощью команды ipconfig
. Обратите внимание, что сервер C++, найденный в папке Server
устарел и больше не работает. Он был сохранен в репозитории для справочных целей.
Вы можете найти FAQ здесь.
Присоединяйтесь к Discord-серверу моддинга Retro Engine, чтобы получить ответы на любые дополнительные вопросы о декомпиляции или моддинге, которые могут вам понадобиться.