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團隊製作比賽;)