- WARNING! -
This repository is a work in progress, and while it can be used to make certain changes, it's still
constantly evolving. If you use it for modding purposes in its current state, please be aware that
the codebase can drastically change at any time. Also note that some parts of the ROM may not be
'shiftable' yet, so modifying them could be difficult at this point.
這是《薩爾達傳說:時之笛》的 WIP反編譯。該專案的目的是使用遊戲內發現的資訊以及靜態和/或動態分析從頭開始重新創建遊戲的原始程式碼庫。它不生產 PC 連接埠。欲了解更多信息,您可以聯繫我們的 Discord 伺服器上的團隊。
它構建了以下版本:
姓名 | 建構時間戳 | 描述 | 輸入 ROM 的 MD5 雜湊值 |
---|---|---|---|
NTSC-1.0 | 98-10-21 04:56:31 | NTSC 1.0(日本/美國) | 9f04c8e68534b870f707c247fa4b50fc 5bd1fe107bf8106b2ab6650abecd54d6 |
NTSC-1.1 | 98-10-26 10:58:45 | NTSC 1.1(日本/美國) | 1bf5f42b98c3e97948f01155f12e2d88 721fdcc6f5f34be55c43a807f2a16af4 |
朋友-1.0 | 98-11-10 14:34:22 | PAL 1.0(歐洲) | e040de91a74b61e3201db0e2323f768a |
NTSC-1.2 | 98-11-12 18:17:03 | NTSC 1.2(日本/美國) | 2258052847bdd056c8406a9ef6427f13 57a9719ad547c516342e1a15d5c28c3d |
朋友-1.1 | 98-11-18 17:36:49 | PAL 1.1(歐洲) | d714580dd74c2c033f5e1b6dc0aeac77 |
GC-JP | 02-10-29 23:49:53 | 日本遊戲立方 | 33fb7852c180b18ea0b9620b630f413f |
gc-jp-mq | 02-10-30 00:15:15 | GameCube 日本大師任務 | 69895c5c78442260f6eafb2506dc482a |
美國GC | 02-12-19 13:28:09 | 遊戲立方美國 | cd09029edcfb7c097ac01986a0f83d3f |
GC-US-MQ | 02-12-19 14:05:42 | GameCube US 大師任務 | da35577fe54579f6a266931cc75f512d |
gc-eu-mq-dbg | 03-02-21 00:16:31 | GameCube Europe/PAL Master Quest 調試 | 75e344f41c26ec2ec5ad92caa9e25629 8ca71e87de4ce5e9f6ec916202a623e9 f751d1a097764e2337b1ac9ba1e27699 dde376d47187b931820d5b2957cded14 |
gc-歐盟 | 03-02-21 20:12:23 | GameCube 歐洲/PAL | 2c27b4e000e85fd78dbca551f1b1c965 |
GC-EU-MQ | 03-02-21 20:37:19 | GameCube Europe/PAL 大師任務 | 1618403427e4344a57833043db5ce3c3 |
GC-JP-CE | 03-10-08 21:53:00 | GameCube Japan(典藏版光碟) | 0c13e0449a28ea5b925cdb8af8d29768 |
預設版本是gc-eu-mq-dbg
,即 GameCube Europe/PAL Master Quest 偵錯 ROM。
注意:此儲存庫不包含建置 ROM 所需的任何資產。需要遊戲的先前副本才能提取所需的資產。
網址: https://zelda.deco.mp
不和諧: https://discord.zelda.deco.mp
我們建議在 Windows 或本機 Linux 上使用 WSL,本自述文件的其餘部分對此進行了描述。我們目前有以下說明
(這些也取決於 Linux 指令。)其中一些也可能已過時或未維護;通常我們的貢獻者使用 WSL、Linux 和 macOS,因此這些說明應該是最新的。
對於 Windows 10 或 11,請依照本 WSL 安裝指南安裝 WSL 和發行版。我們建議使用 Ubuntu 20.04 作為 Linux 發行版。
對於舊版的 Windows,請安裝 Linux VM 或參閱 Docker 說明。
建置過程有以下套件要求:
在Debian / Ubuntu(我們建議使用)下,您可以使用以下命令安裝它們:
sudo apt-get update
sudo apt-get install git build-essential binutils-mips-linux-gnu python3 python3-pip python3-venv libpng-dev libxml2-dev
如果您使用 GCC 作為時之笛的編譯器,您還需要:
注意:如果使用 WSL,我們強烈建議您使用 Linux 的git
克隆到 WSL 的 Linux 檔案系統。複製到 Windows 檔案系統會導致讀取/寫入速度變慢,並且當 Windows 複製行結尾錯誤的檔案時通常會導致問題,編譯器 IDO 無法正確處理。
使用以下命令克隆https://github.com/zeldaret/oot.git
到您希望擁有該專案的位置:
git clone https://github.com/zeldaret/oot.git
這會將 GitHub 儲存庫內容複製到目前目錄中名為oot
的新資料夾中。在執行其他操作之前更改到此目錄:
cd oot
將 Master Quest(偵錯)ROM 的副本放入baseroms/gc-eu-mq-dbg/
資料夾中。如果您在 WSL 下,則可以執行命令explorer.exe .
在 Windows 檔案總管中開啟目前目錄。
根據原始副檔名,將檔案重新命名為baserom.z64
、 baserom.n64
或baserom.v64
。
使用以下命令設定並從 ROM 中提取所有內容:
make setup
這會下載一些依賴項(從 pip),並編譯用於建置過程的工具。然後它會產生一個新的 ROM baseroms/gc-eu-mq-dbg/baserom-decompressed.z64
,該檔案將刪除過度轉儲並修補標頭。它還將從 ROM 中提取各個資產。
運行 make 來建置 ROM。確保您的專案路徑不要太長,否則此過程可能會出錯。
make
如果一切順利,應該在build/gc-eu-mq-dbg/oot-gc-eu-mq-dbg.z64
建立一個新的 ROM,並列印以下文字:
build/gc-eu-mq-dbg/oot-gc-eu-mq-dbg.z64: OK
如果您看到以下內容:
build/gc-eu-mq-dbg/oot-gc-eu-mq-dbg.z64: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
這意味著建置的 ROM 與基礎 ROM 不同,因此出現了問題或程式碼的某些部分不符。
注意:要加快建置速度,您可以:
-jN
make setup
和make
,其中 N 是建置中使用的執行緒數。普遍接受的智慧是使用電腦擁有的虛擬核心數量。-j
make setup
和make
,以使用盡可能多的線程,但請注意,這可能會在低端系統上使用太多內存。這兩種方法都有一個缺點,即終端輸出的順序被打亂,因此為了調試,最好堅持一個線程(即不傳遞-j
或-jN
)。
專案 Makefile 是相當可配置的,可用於建立遊戲的其他版本或準備用於修改的儲存庫。有關詳細信息,請參閱 Makefile 頂部概述的選項。
歡迎所有貢獻。這是團隊的努力,即使是很小的貢獻也能產生影響力。有些任務也不需要太多知識即可開始。
大多數討論都發生在我們的 Discord 伺服器上,歡迎您詢問是否需要入門協助,或者您是否對此專案和其他反編譯專案有任何疑問。