Undertalemodtool
(看到这样一个惊人的工具可以使您确定。)
嘿。我听说您喜欢深入研究Undertale/Deltarune等游戏机游戏,所以这是一个适合您的工具!

下载
最新的稳定版本和最前沿的版本都可以从下表下载!请注意,您可以随时从forteralemodtool的设置菜单中更新到出血边缘发行。
值得注意的是,每个版本的UndertaleModtool具有不同的构建。差异如下:
-
.NET bundled - 捆绑所需的.NET运行时版本才能在其旁边运行该工具。所有稳定的版本均为.NET捆绑,因此您不必担心安装必要的运行时。 -
Single file - 该工具只有一个可执行文件,其中所有依赖项都嵌入其中。这确实使您的文件夹更清洁,但是也会引起一些意外的稳定性问题。 -
Non-single File - 所有依赖项未嵌入可执行文件中,而是位于其旁边。如果您不想在〜300 dll之间找到正确的可执行文件,或者Single file构建中的稳定性问题会影响您,请选择此问题。
主要功能
- 可以为每个平台读取来自数据文件的每一个字节,以获取“ Undertale”,“ Deltarune”,“ Deltarune”,Deltarune和大多数其他游戏机:studio Games(GM:S 1.4和GMS2字节码版本13至17),然后为每个平台重新创建一个字节从解码数据中重新创建字节的精确副本。
- 正确处理文件中的所有指针,以便如果您添加/删除内容,请更长的时间/短,移动它们。文件格式不会破坏。
- 一个编辑器,可让您更改(几乎)每个值,包括未知值。
- 包括一个简单的房间/电平编辑器。
- 允许拆卸代码和编辑。这意味着您可以使用内置GML编译器或GML组件添加任何自定义代码。
- 实验性高级分解器。输出是准确的(除了最新的Gamemaker版本外),但它可以使用更多的高级结构进行清洁。
- 支持运行自动修改数据文件(或执行其他邪恶任务)的脚本 - 这是分发mod的方法,但是创建它们是目前的手动工作。它也可以作为共享十六进制编辑器偏移的替代方法 - 如果将其纳入文件形式贴上的脚本,则更改后它会破裂的变化要小得多。
- 所有核心IO功能都提取到库中以用于外部工具。
- 可以为GM:S调试器生成.yydebug文件,以便您可以实时编辑变量! (请参阅此处)
- 所有相关文件的自动文件关联。可以通过在可执行文件旁边的
dna.txt文件来禁用这一点。
屏幕截图
以下是UTMT可以做什么的一些屏幕截图:
Ribbit -Deltarune mod

包括脚本
包括一些测试脚本。它们是但不限于:
- 普遍的:
- 搜索:简单的搜索文本中的代码条目中的文本
- 脚本以批量导入和导出各种类型的资产文件。
- 仅限公共:
- EnableDebug:这样做,使游戏开始时启用了全局变量“调试”。如果您不知道Undertale的调试模式,请查看本文的调试模式的文章
- debugtoggler:类似于上述,但使用F1打开调试模式
- BorderAnabler:让您将PlayStation独家边界导入PC版本并修补所有版本以使其正确显示
- ttffonts:从当前目录中以TTF格式制作游戏加载字体,而不是使用SpriteshEet字体。您将需要自己跟踪所有字体文件,出于许可原因,我不能在这里托管它们:(
- 确定性:增加了一个新房间的Undertale 1.08。我想为它添加更多东西,但从来没有添加到它上,所以我想我会按原样发布它。只需开始游戏,您就会看到。可能是最完整的添加内容样本。
- 仅限三角星:
- 三角洲:仇恨启发的脚本,用于破坏Deltarune
- Deltamilk:用K. Round Healing Milk代替了每个非背景雪橇。不要问为什么。
- Wholeworldrevolving:世界在旋转,旋转
- 仅限公司和三角白:
- gotoroom:用对话框替换F3按钮的调试模式功能,该对话框使您可以通过ID跳到任何房间
- showroomname:在调试模式下在屏幕上显示当前房间名称和ID
此外,其中包括一些社区制造的脚本。有关更多信息,请咨询脚本文件。
贡献
欢迎所有贡献!如果找到一个错误,则不加载等的数据文件,请在“问题”页面上报告。也欢迎拉动请求并帮助解码格式!这是需要处理的当前内容列表:
- 在个人资料系统上工作
- 分解器的改进
- 添加对最新版本的GameMaker(尤其是2.3) - 分解器在当前大多数情况下无法运行
- 最终,如果可能的话,使GUI跨平台
汇编说明
为了自己编译存储库,需要.NET Core 6 SDK或更高版本。
可以编译以下项目:
-
UndertaleModLib :所有其他项目使用的核心库。 -
UndertaleModCli :用于与游戏机数据文件交互和应用脚本的命令行接口。目前在可以做的事情上非常原始。 -
UndertaleModTool :用于与GameMaker数据文件进行交互的主要图形用户界面。为了编译此内容,需要窗口。
通过IDE编译
- 在您选择的IDE(视觉工作室,Jetbrains Rider,Visual Studio Code等)中打开
UndertaleModTool.sln - 选择要编译的项目
- 编译
通过命令行编译
- 打开终端并导航到
UndertaleModTool.sln的目录 - 执行
dotnet publish <Project>其中<Project>是上面列出的项目之一。您还可以提供用于编译的参数,例如--no-self-contained或-c release 。有关参数的完整列表,请咨询Microsoft文档。
Gamemaker数据文件格式
对我在研究此工作时所做的文件和指令格式的研究感兴趣吗?查看Wiki以获取完整的详细信息和文档。
特别感谢
特别感谢所有关于解开和拆卸式底漆的研究的人,这是一个非常巨大的帮助:
- 尤利西斯的意识式化学研究
- Donkeybonks的GameMaker Data.win字节码研究
- porocyon的祭坛
- Warlockd的GMDSAM
以及所有其他贡献者:
当然,特别感谢托比·福克斯(Toby Fox)和整个Undertale团队制作比赛;)