Undertalemodtool
(Видя такой удивительный инструмент, наполняет вас решимостью.)
Привет. Я слышал, что вам нравится глубоко копаться в играх Gamemaker, таких как Undertale/Deltarune, так что вот вам только инструмент!

Загрузки
Как последний стабильный выпуск, так и самая передовая версия можно загрузить из таблицы ниже! Обратите внимание, что вы можете обновиться до выпусков кровотечения в любое время из меню «Настройки» OnctaleModtool.
| Выпуски | Статус |
|---|
| Стабильный | |
| Кровоточащий край | |
Стоит отметить, что indertalemodtool имеет разные сборки на релиз. Различия следующие:
-
.NET bundled - объединяет необходимую версию времени выполнения .NET, необходимая для запуска инструмента вместе с ним. Все стабильные выпуски связаны .NET, поэтому вам не нужно беспокоиться об установке необходимой среды выполнения. -
Single file - инструмент только один исполняемый файл, со всеми зависимостями встроены в него. Это делает ваши папки чище, однако это также вызывает некоторые неожиданные проблемы стабильности. -
Non-single File - Все зависимости не встроены в исполняемый файл, но теперь расположены рядом с ним. Выберите это, если вы не заботитесь о том, чтобы найти правильный исполняемый файл между ~ 300 DLL, или если проблемы стабильности от Single file влияют на вас.
Основные особенности
- Может прочитать каждый байт из файла данных для последней версии Undertale, Deltarune и большинства других игровых игроков: студийные игры (GM: S 1.4 и GMS2 Bytecode Versions 13-17 в настоящее время поддерживаются) для каждой платформы, а затем воссоздайте точную копию байта-байта из декодированных данных.
- Правильно обрабатывает все указатели в файле, чтобы, если вы добавляете/удаляете вещи, делали вещи длиннее/короче, переместите их и т. Д. Формат файла не сломается.
- Редактор, который позволяет вам изменить (почти) каждое отдельное значение, включая неизвестные.
- Включает в себя простой редактор комнаты/уровня.
- Позволяет разобрать и редактировать код. Это означает, что вы можете добавить любой пользовательский код в игру, используя встроенный компилятор GML или сборку GML.
- Экспериментальный декомпиланчик высокого уровня. Вывод точен (за исключением последних версий игровых игроков), но он может использовать более большую очистку конструкций высокого уровня.
- Поддержка запуска сценариев, которые автоматически изменяют ваш файл данных (или выполняют другие гнусные задачи) - это способ распределения модов, но создание их на данный момент является ручной задачей. Он также служит заменой для обмена смещениями редактора Hex-если вы превратите его в сценарий с учетом файлов, а после обновления наблюдается гораздо меньшее изменение.
- Вся основная функциональность ввода -вывода, извлеченные в библиотеку для использования во внешних инструментах.
- Можно сгенерировать файл .yydebug для отладчика GM: S, чтобы вы могли редактировать переменные в прямом эфире! (См. Здесь)
- Автоматические файловые ассоциации для всех файлов, связанных с игроком. Это может быть отключено, имея файл
dna.txt рядом с исполняемым файлом.
Скриншоты
Вот несколько скриншотов того, что может сделать UTMT:
Ribbit - мод Deltarune

Включены сценарии
Включены некоторые тестовые сценарии. Они, но не ограничиваются:
- Универсальный:
- Поиск: простой поиск текста в декомпилированных записях кода
- Скрипты в импорт и экспорт различных типов файлов активов.
- Только Undertale:
- Enabledebug: делает именно это, делает глобальную переменную «отладку» быть включенной в начале игры. Если вы не знаете о режиме отладки Undertale, ознакомьтесь с этим режимом отладки Undertale
- Debugtoggler: аналогично вышеупомянутому, но вместо этого включает режим отладки с F1
- BorderNabler: позволяет импортировать эксклюзивные границы PlayStation в версию ПК и исправляет все проверки версий, чтобы они были правильно отображаются
- TTFFONTS: делает шрифты загрузки игры в формате TTF из текущего каталога вместо использования шрифтов SpriteSheet. Вам нужно будет отслеживать все файлы шрифтов самостоятельно, я не могу разместить их здесь по причинам лицензирования :(
- Комнатафонтор: добавляет новую комнату в Undertale 1.08. Я хотел добавить что -то большее, но никогда не добрался до этого, так что я думаю, что выпускаю это как есть. Просто начните игру, и вы увидите. Наверное, самый полный образец добавления вещей, которые вы найдете.
- Только Deltarune:
- Deltahate: сценарий вдохновленного ненавистью для повреждения Deltarune
- DELTAMILK: заменяет каждый несущий спрайт на велосипедной спрайт на заживляющем молоке K.ROUND. Не спрашивайте, почему.
- TheWholeWorldRoglving: мир вращается, вращается
- Только Undertale и Deltarune:
- Gotoroom: заменяет функциональность режима отладки кнопки F3 диалогом, который позволяет вам прыгать в любую комнату от ID
- ShowroomName: отображает текущее название номера и идентификатор на экране в режиме отладки
Кроме того, включены некоторые сценарии сообщества. Для получения дополнительной информации обратитесь к файлу scripts.md.
Внося
Все взносы приветствуются! Если вы найдете ошибку, файл данных, который не загружается и т. Д., Сообщите об этом на странице проблем. Получите запросы и помощь в декодировании формата тоже приветствуется! Вот текущий список вещей, над которыми нужно обработать:
- Работать над системой профилей
- Улучшения декомпилятора
- Добавьте поддержку последних версий Gamemaker (Примечательно, 2.3) - Декомпилятор не может функционировать в большинстве случаев в настоящее время
- В конце концов, сделав графический интерфейс, если это возможно, если возможно
Инструкции по компиляции
Чтобы скомпилировать репо, требуется .NET Core 6 SDK или более поздней версии.
Следующие проекты могут быть составлены:
-
UndertaleModLib : основная библиотека, используемая всеми другими проектами. -
UndertaleModCli : интерфейс командной строки для взаимодействия с файлами данных Gamemaker и применения сценариев. В настоящее время очень примитивен в том, что он может сделать. -
UndertaleModTool : основной графический пользовательский интерфейс для взаимодействия с файлами данных GameMaker. Окна требуются для того, чтобы скомпилировать это .
Компиляция через IDE
- Откройте
UndertaleModTool.sln на вашем выборе (Visual Studio, JetBrains, код Visual Studio и т. Д.) - Выберите проект, который вы хотите собрать
- Компиляция
Компиляция через командную строку
- Откройте терминал и перейдите к каталогу
UndertaleModTool.sln - Execute
dotnet publish <Project> , где <Project> является одним из перечисленных выше проектов. Вы также можете предоставить аргументы для компиляции, такие как --no-self-contained или -c release . Чтобы получить полный список аргументов, обратитесь к документации Microsoft.
Формат файлов данных Gamemaker
Заинтересованы в исследовании файла и формата инструкций, которые я проводил во время работы над этим? Проверьте вики для получения полной информации и документации.
Особая благодарность
Особая благодарность всем, кто проводил предыдущие исследования по распаковке и декомпиляции Undertale, это была действительно огромная помощь:
- Исследование декомпиляции Ulyssis
- Donkeybonks's Gamemaker Data.win Bytecode Research
- Алтарь Пороциона.net
- Гмдсэм Черлкоса
а также все остальные участники:
И, конечно же, особая благодарность Тоби Фоксу и всей команде Undertale за создание игры (ы););