- 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 服务器上,欢迎您询问是否需要入门帮助,或者您是否对此项目和其他反编译项目有任何疑问。