Underalemodtool
(Wenn Sie ein so erstaunliches Werkzeug sehen, füllt Sie mit Entschlossenheit.)
Heya. Ich habe gehört, dass Sie sich gerne tief in Gamemaker -Spiele wie Undertale/Deltarune eintauchen. Hier ist ein Tool nur für Sie!

Downloads
Sowohl die neueste stabile Version als auch die modernste Version können aus der Tabelle unten heruntergeladen werden! Beachten Sie, dass Sie im Einstellungsmenü von Underalemodtool jederzeit auf die Blearing Edge -Releases aktualisieren können.
| Veröffentlichungen | Status |
|---|
| Stabil | |
| Blutungskante | |
Es ist erwähnenswert, dass der Undertalemodtool unterschiedliche Builds pro Release hat. Die Unterschiede sind wie folgt:
-
.NET bundled - Bündelt die erforderliche .NET -Laufzeitversion, die zum Ausführen des Tools daneben erforderlich ist. Alle stabilen Veröffentlichungen sind .NET gebündelt, sodass Sie sich keine Sorgen machen müssen, die erforderliche Laufzeit zu installieren. -
Single file - Das Tool ist nur eine ausführbare Datei, wobei alle Abhängigkeiten darin eingebettet sind. Dies macht Ihre Ordner sauberer, verursacht jedoch auch einige unerwartete Stabilitätsprobleme. -
Non-single File - Alle Abhängigkeiten sind nicht in die ausführbare Datei eingebettet, sondern befinden sich jetzt direkt daneben. Wählen Sie dies aus, wenn Sie sich nicht darum kümmern, die richtige ausführbare Datei zwischen ~ 300 DLLs zu finden oder wenn sich die Stabilitätsprobleme aus dem Single file Dateiaufbau auf Sie auswirken.
Hauptmerkmale
- Kann jedes einzelne Byte aus der Datendatei für die neueste Version von Undertale, Deltarune und den meisten anderen Gamemaker: Studio Games (GM: S 1.4- und GMS2-Bytecode-Versionen 13 bis 17) für jede Plattform gelesen und dann ein Byte-for-byte-Exped-Kopie aus den dekodierten Daten neu erstellt.
- Gehen Sie alle Zeiger in der Datei ordnungsgemäß ab, sodass das Dateiformat, wenn Sie Dinge hinzufügen/entfernen, die Dinge länger/kürzer machen.
- Ein Editor, mit dem Sie jeden einzelnen Wert ändern können, einschließlich unbekannter Wert.
- Enthält einen einfachen Raum/Level -Editor.
- Ermöglicht Code -Demontage und Bearbeitung. Dies bedeutet, dass Sie dem Spiel einen benutzerdefinierten Code hinzufügen können, entweder mit dem integrierten GML-Compiler oder dem GML-Baugruppe.
- Experimentelle Dekompiler auf hoher Ebene. Die Ausgabe ist genau (mit Ausnahme der neuesten Gamemaker-Versionen), aber es könnte eine weitere Reinigung der hochrangigen Strukturen verwenden.
- Unterstützung für das Ausführen von Skripten, die Ihre Datendatei automatisch ändern (oder andere schändliche Aufgaben ausführen). Dies ist die Möglichkeit, Mods zu verteilen. Das Erstellen ist jedoch ein manueller Job für den Moment. Es dient auch als Ersatz für die Freigabe von Hex-Editor-Offsets. Wenn Sie es stattdessen in ein fileformatbewusstes Skript schaffen, wird nach einem Update viel kleiner geändert.
- Alle Kern -IO -Funktionen, die in eine Bibliothek extrahiert werden, um in externen Tools zu verwenden.
- Kann eine .yydebug -Datei für den Debugger von GM: S generieren, damit Sie Variablen live bearbeiten können! (siehe hier)
- Automatische Datei -Assoziationen für alle von Gamemaker verwandten Dateien. Dies kann durch eine
dna.txt -Datei neben der ausführbaren Datei deaktiviert werden.
Screenshots
Hier sind einige Screenshots dessen, was UTMT tun kann:
Ribbit - der Deltarune -Mod

Enthalten Skripte
Enthalten einige Testskripte. Sie sind, aber nicht beschränkt auf:
- Universal:
- Suche: Einfache Suche nach Text in dekompilierten Codeeinträgen
- Skripte zum Importieren und Exportieren verschiedener Arten von Asset -Dateien.
- Nur Undertale:
- EnableDebug: Tut genau das, lässt die globale Variable 'Debug' zu Beginn des Spiels aktiviert. Wenn Sie nicht über den Debug -Modus von Underal wissen
- Debugtoggler: Ähnlich dem oben genannten, aber stattdessen den Debug -Modus mit F1 ein- und ausschaltet
- BorderEnabler: Mit den exklusiven PlayStation -Grenzen in die PC -Version importieren und alle Versionsüberprüfungen so Patches, damit sie ordnungsgemäß angezeigt werden
- TTFFONTS: Erstellt die Spiele im TTF -Format aus dem aktuellen Verzeichnis, anstatt die Spritesheet -Schriftarten zu verwenden. Sie müssen alle Schriftdateien selbst aufspüren. Ich kann sie nicht hier aus Lizenzgründen hosten :(
- RoomofDedermination: Fügt Undertale 1.08 ein neues Zimmer hinzu. Ich wollte etwas mehr dazu hinzufügen, bin aber nie dazu gekommen, also habe ich es wohl so veröffentlichen, wie es ist. Starten Sie einfach das Spiel und Sie werden sehen. Wahrscheinlich das vollständigste Beispiel für das Hinzufügen von Sachen, die Sie finden werden.
- Nur Deltarune:
- Deltahate: Hass inspiriertes Skript zum Verfällen von Deltarune
- Deltamilk: Ersetzt jedes Nicht-Rückgang-Sprit durch die K.Round Healing Milk. Fragen Sie nicht warum.
- TheWholeworldRevolving: Die Welt dreht sich, dreht sich
- Nur Undertale und Deltarune:
- Gotoroom: Ersetzt die Funktionalität des Debug -Modus der F3 -Taste durch einen Dialogfeld, mit dem Sie mit ID in einen beliebigen Raum springen können
- ShowroomName: Zeigt den aktuellen Raumnamen und den aktuellen ID auf dem Bildschirm im Debug -Modus an
Darüber hinaus sind einige von Community hergestellte Skripte enthalten. Weitere Informationen erhalten Sie in der Datei scripts.md.
Beitragen
Alle Beiträge sind willkommen! Wenn Sie einen Fehler finden, eine Datendatei, die nicht geladen wird usw., melden Sie sie bitte auf der Seite "Ausgaben". Anfragen ziehen und bei der Dekodierung des Formats auch willkommen sind! Hier ist eine aktuelle Liste von Dingen, an denen gearbeitet werden muss:
- Arbeiten Sie am Profilsystem
- Dekompilierverbesserungen
- Fügen Sie Unterstützung für die neuesten Versionen von Gamemaker hinzu (insbesondere 2.3) - Dekompiler kann derzeit in den meisten Fällen derzeit nicht funktionieren
- Schließlich, wenn möglich die GUI über plattformübergreifend zu machen
Kompilierungsanweisungen
Um das Repo selbst zu kompilieren, ist der .NET Core 6 SDK oder später erforderlich.
Die folgenden Projekte können zusammengestellt werden:
-
UndertaleModLib : Die Kernbibliothek, die von allen anderen Projekten verwendet wird. -
UndertaleModCli : Eine Befehlszeilenschnittstelle zur Interaktion mit Gamemaker -Datendateien und zum Anwenden von Skripten. Derzeit ist es sehr primitiv in dem, was es tun kann. -
UndertaleModTool : Die wichtigste grafische Benutzeroberfläche für die Interaktion mit Gamemaker -Datendateien. Es ist Windows erforderlich, um dies zu kompilieren .
Kompilien über IDE
- Öffnen Sie den
UndertaleModTool.sln in der ide Ihrer Wahl (Visual Studio, Jetbrains Rider, Visual Studio Code usw.) - Wählen Sie das Projekt aus, das Sie kompilieren möchten
- Kompilieren
Kompilieren über die Befehlszeile kompilieren
- Öffnen Sie ein Terminal und navigieren Sie zum Verzeichnis von
UndertaleModTool.sln - Execute
dotnet publish <Project> wobei <Project> eines der oben aufgeführten Projekte ist. Sie können auch Argumente für das Kompilieren vorlegen, -c release --no-self-contained Eine vollständige Liste von Argumenten finden Sie in der Microsoft -Dokumentation.
Gamemaker -Datendateiformat
Interessiert an der Forschung für Datei- und Anweisungsformat, die ich bei der Arbeit an diesem gearbeitet habe? Weitere Informationen und Dokumentationen finden Sie im Wiki.
Besonderer Dank
Besonderer Dank geht an alle, die frühere Nachforschungen über das Auspacken und die Zerlegung von Undertale durchgeführt haben. Es war eine wirklich große Hilfe:
- Ulyssis 'Undertale Decompilation Research
- Gamemaker -Daten von Donkeybonks.win Bytecode Forschung
- Porocyons altar.net
- Warlockds GMDSAM
sowie alle anderen Mitwirkenden:
Und natürlich besonders danke Toby Fox und dem gesamten Underbirnenteam, dass sie die Spiele (en) gemacht haben;)