Eine vollständige Dekompilierung der Retro Engine v4 und der Menüs von Sonic 1 und 2 (2013).
Ohne Assets aus den offiziellen Veröffentlichungen kann diese Dekompilierung nicht ausgeführt werden.
Offizielle Veröffentlichungen von Sonic 1 und Sonic 2 erhalten Sie bei:
Auch wenn Ihre Plattform nicht von den offiziellen Veröffentlichungen unterstützt wird, müssen Sie sie für die Assets kaufen oder offiziell herunterladen (Sie müssen die offizielle Veröffentlichung nicht ausführen, Sie benötigen nur die Spiel-Assets).
Wenn Sie Ihre Spielstände von der/den offiziellen Mobilversion(en) übertragen möchten, lautet der Android-Pre-Forever- Dateipfad Android/data/com.sega.sonic1 or 2/SGame.bin
(andere Versionen haben möglicherweise andere Dateipfade). ). Kopieren Sie diese Datei mit dem Namen SData.bin
in den Ordner der Dekompilierung.
settings.ini
Datei, die das Spiel zum Laden aller Einstellungen verwendet, ähnlich wie bei Sonic Mania.ESC
Taste drücken, sofern dies in der Konfiguration aktiviert ist.F12
Pause-, F11
-Schritt-Over- und Schnellvorlauf-Debugfunktionen von Sonic Mania wurden alle portiert und sind aktiviert, wenn devMenu
in der Konfiguration aktiviert ist.F1
lädt die erste Szene in der Liste der Präsentationsphasen (normalerweise den Titelbildschirm).F2
und F3
laden die vorherige und nächste Szene in der aktuellen Bühnenliste.F5
lädt die aktuelle Szene sowie alle Assets und Skripte neu.F8
und F9
visualisieren Touchscreen- und Objekt-Hitboxen.F10
aktiviert ein Paletten-Overlay, das die 8 internen Paletten des Spiels in Echtzeit anzeigt.Dieses Projekt verwendet CMake, ein vielseitiges Build-System, das viele verschiedene Compiler und Plattformen unterstützt. Sie können CMake hier herunterladen. (Achten Sie darauf, die Funktion zum Hinzufügen von CMake zum Systempfad während der Installation zu aktivieren!)
Um das Repository zu klonen, müssen Sie Git installieren, das Sie hier erhalten können.
Klonen Sie das Repo rekursiv mit: git clone --recursive https://github.com/RSDKModding/RSDKv4-Decompilation
Wenn Sie das Repo bereits geklont haben, führen Sie diesen Befehl im Repository aus: git submodule update --init --recursive
Um Abhängigkeiten zu handhaben, müssen Sie Visual Studio Community (stellen Sie sicher, dass Sie während der Installation das Paket Desktop development with C++
installieren) und vcpkg installieren (Sie müssen nur 1 - Set up vcpkg
) befolgen.
Führen Sie nach der Installation Folgendes in der Eingabeaufforderung aus (stellen Sie sicher, dass Sie [vcpkg root]
durch den Pfad zur vcpkg-Installation ersetzen!):
[vcpkg root]vcpkg.exe install glew sdl2 libogg libvorbis --triplet=x64-windows-static
(Wenn Sie einen 32-Bit-Build kompilieren, ersetzen Sie x64-windows-static
durch x86-windows-static
.) Befolgen Sie abschließend die folgenden Kompilierungsschritte und verwenden Sie -DCMAKE_TOOLCHAIN_FILE=[vcpkg root]/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DCMAKE_PREFIX_PATH=[vcpkg root]/installed/x64-windows-static/
als Argumente für cmake -B build
.
[vcpkg root]
durch den Pfad zur vcpkg-Installation ersetzen!x64-windows-static
durch x86-windows-static
.Installieren Sie die folgenden Abhängigkeiten: Befolgen Sie dann die folgenden Kompilierungsschritte:
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
Befolgen Sie hier die Android-Build-Anweisungen.
Zum Kompilieren müssen Sie nur Folgendes in das Stammverzeichnis des Repositorys eingeben:
cmake -B build
cmake --build build --config release
Der resultierende Build befindet sich je nach System irgendwo in build/
.
Beim Kompilieren stehen die folgenden cmake-Argumente zur Verfügung:
-D[flag-name]=[value]
am Ende des cmake -B build
hinzufügen. Um beispielsweise zu erstellen, während RETRO_DISABLE_PLUS
auf „on“ gesetzt ist, fügen Sie -DRETRO_DISABLE_PLUS=on
zum Befehl hinzu.RETRO_REVISION
: Welche Revision kompiliert werden soll. Akzeptiert eine Ganzzahl, der Standardwert ist 3
(Ursprünge).RETRO_DISABLE_PLUS
: Ob der Plus-DLC deaktiviert werden soll oder nicht. Akzeptiert einen booleschen Wert (on/off): Build mit on
beim Kompilieren für die Verteilung. Die Standardeinstellung ist off
.RETRO_FORCE_CASE_INSENSITIVE
: Erzwingt die Berücksichtigung der Groß- und Kleinschreibung beim Laden von Dateien. Akzeptiert einen booleschen Wert, der Standardwert ist off
.RETRO_MOD_LOADER
: Aktiviert oder deaktiviert den Mod Loader. Akzeptiert einen booleschen Wert und ist standardmäßig on
.RETRO_NETWORKING
: Aktiviert oder deaktiviert Netzwerkfunktionen, die für den 2P VS-Modus von Sonic 2 verwendet werden. Akzeptiert einen booleschen Wert und ist standardmäßig on
.RETRO_USE_HW_RENDER
: Aktiviert den Hardware-Renderer, der vom Hauptmenü und der Benutzeroberfläche der Touch-Steuerung verwendet wird. Akzeptiert einen booleschen Wert und ist standardmäßig on
.RETRO_ORIGINAL_CODE
: Entfernt jeglichen benutzerdefinierten Code. Wenn diese Option aktiviert ist, kann kein spielbares Spiel erstellt werden. Akzeptiert einen booleschen Wert, der Standardwert ist off
.RETRO_SDL_VERSION
: Ändern Sie dies nur, wenn Sie wissen, was Sie tun. Wechselt zwischen der Verwendung von SDL1 oder SDL2. Akzeptiert eine ganze Zahl von 1
oder 2
, der Standardwert ist 2
. Befolgen Sie die Installationsanweisungen in der Readme-Datei jedes Zweigs.
Da diese Zweige inoffiziell sind, können wir keinen Support für sie anbieten und sie sind möglicherweise nicht auf dem neuesten Stand.
Derzeit sind die einzigen unterstützten Plattformen die oben aufgeführten. Das Backend verwendet jedoch libogg, libvorbis und SDL2 zur Stromversorgung (sowie tinyxml2 für die Mod-API und asio für die Vernetzung), sodass die Codebasis sehr plattformübergreifend ist. Wenn Sie dazu in der Lage sind, können Sie dieses Repo klonen und auf eine Plattform portieren, die nicht in der Liste aufgeführt ist.
Der Multiplayer-Server erfordert Python 3.8 oder höher. Sie können Python hier herunterladen. Um den Server zu verwenden, öffnen Sie die Eingabeaufforderung im Ordner, in dem sich Server.py befindet, und führen Sie dann den Befehl py -3 Server.py [local IPv4 address] [port] debug
aus. Sie können Ihre lokale IPv4-Adresse mit dem Befehl ipconfig
ermitteln. Beachten Sie, dass der im Ordner Server
gefundene C++-Server veraltet ist und nicht mehr funktioniert. Es wurde zu Referenzzwecken im Repo aufbewahrt.
Die FAQ finden Sie hier.
Treten Sie dem Retro Engine Modding Discord Server bei, wenn Sie weitere Fragen zur Dekompilierung oder zum Modifizieren haben.