# UndertaleModTool-ZH **Repository Path**: zyklone4096/undertale-mod-tool-ZH ## Basic Information - **Project Name**: UndertaleModTool-ZH - **Description**: 正在制作。。。 - **Primary Language**: C# - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-11-12 - **Last Updated**: 2021-11-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 声明:此文件中的链接均为被更改 此Readme文件的翻译尚未完成 Translated by MixacPROD(IDLE Studios) # UndertaleModTool *(seeing such an amazing tool...
... fills you with DETERMINATION.)* 你好,我听说你喜欢深入挖掘《Undertale》的数据,所以我为你做了一个工具! **在这里下载** https://github.com/krzys-h/UndertaleModTool/releases **有问题要问?** 加入Discord! https://discord.gg/RxXpdwJ (注意,MixacPROD没有人员加入此Discord,用中文问问题请提issue) ![flowey](flowey.png) ### 主要特性 * 能够从每个平台的最新版本的Undertale, Deltarune和大多数其他GameMaker: Studio游戏(目前支持GM:S 1.4和GMS2字节码版本13到17)的数据文件中读取每个字节,然后从解码的数据中重新创建一个字节为字节的副本。 * 正确处理文件中的所有指针,这样如果你添加/删除东西,使东西变长/变短,移动它们等等,文件格式不会破坏。 * 一个编辑器,可以让你改变(几乎)每一个值,包括未知的值。 * 包含(非常)简单的房间/关卡编辑器。 * 允许代码反汇编和编辑。这意味着您可以使用内置的GML编译器或GML程序集向游戏添加任何自定义代码。 * 实验性的高级反编译器。输出是准确的(最新版GMS除外),但它可能需要对高层结构进行更多的清理。 * 支持运行脚本,自动修改你的数据文件(或执行其他的任务)-这是分发mod的方式,但创建它们是一个手动的工作。它还可以作为共享十六进制编辑器偏移量的替代——如果你把它变成一个文件格式感知的脚本,在更新后它会有更小的变化。 * 所有核心IO功能都被提取到一个库中供外部工具使用。 * 可以为GMS调试器生成.yydebug文件,以便您可以实时编辑变量! ([在这里查看](https://github.com/krzys-h/UndertaleModTool/wiki/Corrections-to-Game-Maker:-Studio-1.4-data.win-format-and-VM-bytecode,-.yydebug-format-and-debugger-instructions#yydebug-file-format)) ### 导入的脚本 包括一些测试脚本。包括但不限于: * 通用: * EnableDebug: 这样做,使全局变量'debug'在游戏开始时被启用。如果你不知道Undertale的调试模式,请查看 https://tcrf.net/Undertale/Debug_Mode * DebugToggler: 类似于EnableDebug,但是使用F1切换调试模式 * GoToRoom: 用对话框代替F3按钮的调试模式功能,让你通过ID跳转到任何房间 * ShowRoomName: 在调试模式下显示当前房间的名称和ID * Search: 简单地搜索反编译代码项中的文本 * 用于批量导入和导出各种类型的资产文件的脚本。 * 仅UNDERTALE: * BorderEnabler: 允许您将PlayStation专用边界导入PC版本,并对所有版本检查进行修补,以便正确显示 * Testing: 没有什么重要的,只是在主菜单上显示随机文本-这是我做的第一个脚本 * TTF Fonts:让游戏以TTF格式从当前目录加载字体,而不是使用精灵表字体。你将需要自己追踪所有的字体文件,我不能在这里托管它们的许可原因:( * RoomOfDetermination: 添加一个新的房间到Undertale 1.08。我想添加一些内容到它,但一直没有时间去做,所以我想我就这么发布了。开始比赛,你就知道了。这可能是你能找到的最完整的添加内容的例子。 * Deltarune only: * DeltaHATE: [HATE](https://www.reddit.com/r/Undertale/comments/41lb16/hate_the_undertale_corruptor/)-破坏Deltarune的灵感脚本 * DeltaMILK: 替换每个非背景精灵与k.r round的治疗牛奶。不要问为什么。 * TheWholeWorldRevolving: 世界在旋转,旋转 此外,还包括一些社区制作的脚本。欲了解更多信息,请查阅[SCRIPTS.md](https://github.com/krzys-h/UndertaleModTool/blob/master/SCRIPTS.md)(此处文件链接未被更改,如需访问翻译版,请访问此储存库中的SCRIPTS.md) ### Bug reports, contributing All contributions are welcome! If you find a bug, a data file that does not load etc. please report it on the [issues page](https://github.com/krzys-h/UndertaleModTool/issues). Pull requests and help with decoding the format is welcome too! Here is a current list of stuff that needs to be worked on: * Work on the profile system * Decompiler improvements * Dark mode / theming support * Add support for latest versions of GameMaker (notably, 2.3) - decompiler cannot function in most cases currently * Eventually, making the tool cross-platform if possible ### Compilation Instructions In order to compile UndertaleModTool yourself, the following dependencies are needed: * Windows (Due to WPF being used currently, this won't work on any other OS) * .NET Core 5 SDK * Any recent version of Visual Studio After that, you can just open the `UndertaleModTool.sln` file in Visual Studio, Select `UndertaleModTool` as the project to build, and then compile. Alternatively, you can also compile via command line, like so: `dotnet publish UndertaleModTool --no-self-contained -p:PublishSingleFile=true -c release -r win-x86` You can adjust win-x86 to other RIDs, such as win-x64 or win-arm. ### data.win file format Interested in the file and instruction format research I've done while working on this? Check out these: * https://github.com/krzys-h/UndertaleModTool/wiki/Corrections-to-GameMaker-Studio-1.4-data.win-format-and-VM-bytecode,-.yydebug-format-and-debugger-instructions * https://github.com/krzys-h/UndertaleModTool/wiki/Changes-in-GameMaker-Studio-2 * https://github.com/krzys-h/UndertaleModTool/wiki/Extensions,-Shaders,-Timelines-format * https://github.com/krzys-h/UndertaleModTool/wiki/Bytecode-version-differences * https://github.com/krzys-h/UndertaleModTool/wiki/YYC-games ### Special thanks Special thanks to everybody who did previous research on unpacking and decompiling Undertale, it was a really huge help: * https://pcy.ulyssis.be/undertale/ * [https://github.com/donkeybonks/acolyte/wiki/Bytecode](https://web.archive.org/web/20191126144953if_/https://github.com/donkeybonks/acolyte/wiki/Bytecode) * https://github.com/PoroCYon/Altar.NET * https://github.com/WarlockD/GMdsam * [@NarryG](https://github.com/NarryG) for [helping me figure out](https://github.com/krzys-h/UndertaleModTool/issues/3) the missing stuff for GMS2 and Nintendo Switch release * [@colinator27](https://github.com/colinator27) for [lots of things, including the gml compiler](https://github.com/krzys-h/UndertaleModTool/issues/4), [Sha](https://github.com/krzys-h/UndertaleModTool/issues/13)[ders](https://github.com/krzys-h/UndertaleModTool/pull/25) and [a bunch of other stuff](https://github.com/krzys-h/UndertaleModTool/pull/30) * [@Kneesnap](https://github.com/Kneesnap) for [improving the decompiler a bunch](https://github.com/krzys-h/UndertaleModTool/pull/162) And of course, special thanks to Toby Fox and the whole Undertale team for making the game(s) ;) How about a random screenshot because I'm bad at writing READMEs? NYEH HEH HEH HEH! ![screenshot](screenshot.png)