- 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.
Это незавершенная декомпиляция The Legend of Zelda: Ocarina of Time . Цель проекта — воссоздать базу исходного кода игры с нуля, используя информацию, найденную внутри игры, а также статический и/или динамический анализ. Он не создает порт для ПК. Для получения дополнительной информации вы можете связаться с командой на нашем сервере Discord.
Он собирает следующие версии:
Имя | Временная метка сборки | Описание | 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 | GameCube Япония | 33fb7852c180b18ea0b9620b630f413f |
gc-jp-mq | 02-10-30 00:15:15 | GameCube Japan Master Quest | 69895c5c78442260f6eafb2506dc482a |
GC-США | 02-12-19 13:28:09 | GameCube США | cd09029edcfb7c097ac01986a0f83d3f |
gc-us-mq | 02-12-19 14:05:42 | GameCube Мастер-квест США | da35577fe54579f6a266931cc75f512d |
gc-eu-mq-dbg | 03-02-21 00:16:31 | Отладка мастер-квеста GameCube Europe/PAL | 75e344f41c26ec2ec5ad92caa9e25629 8ca71e87de4ce5e9f6ec916202a623e9 f751d1a097764e2337b1ac9ba1e27699 dde376d47187b931820d5b2957cded14 |
gc-eu | 03-02-21 20:12:23 | GameCube Европа/PAL | 2c27b4e000e85fd78dbca551f1b1c965 |
gc-eu-mq | 03-02-21 20:37:19 | GameCube Europe/PAL Master Quest | 1618403427e4344a57833043db5ce3c3 |
gc-jp-ce | 03-10-08 21:53:00 | GameCube Japan (Диск коллекционного издания) | 0c13e0449a28ea5b925cdb8af8d29768 |
Версия по умолчанию — gc-eu-mq-dbg
, то есть ПЗУ отладки GameCube Europe/PAL Master Quest.
Примечание. Этот репозиторий не включает в себя какие-либо ресурсы, необходимые для сборки ПЗУ. Для извлечения необходимых ресурсов требуется предыдущая копия игры.
Сайт: https://zelda.deco.mp.
Дискорд: https://discord.zelda.deco.mp
Мы рекомендуем использовать WSL в Windows или собственный Linux, который описан в остальной части этого файла ознакомительных сведений. В настоящее время у нас есть инструкции для
(Это также будет зависеть от инструкций Linux.) Некоторые из них также могут быть устаревшими или не поддерживаться; обычно наши участники используют WSL, Linux и macOS, поэтому эти инструкции должны быть актуальными.
Для Windows 10 или 11 установите WSL и дистрибутив, следуя этому руководству по установке WSL. Мы рекомендуем использовать Ubuntu 20.04 в качестве дистрибутива Linux.
Для более старых версий Windows установите виртуальную машину Linux или обратитесь к инструкциям 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 в качестве компилятора Ocarina of Time, вам также понадобится:
NB. Если вы используете WSL, мы настоятельно рекомендуем вам клонировать его в файловую систему Linux WSL с помощью git
Linux. Клонирование в файловую систему Windows приведет к значительному снижению скорости чтения/записи и часто вызывает проблемы, когда Windows копирует файлы с неправильными окончаниями строк, с которыми компилятор IDO не может правильно справиться.
Клонируйте https://github.com/zeldaret/oot.git
где вы хотите разместить проект, с помощью такой команды:
git clone https://github.com/zeldaret/oot.git
Содержимое репозитория GitHub будет скопировано в новую папку в текущем каталоге с именем oot
. Прежде чем делать что-либо еще, перейдите в этот каталог:
cd oot
Поместите копию ПЗУ Master Quest (Debug) в папку baseroms/gc-eu-mq-dbg/
. Если вы используете WSL, вы можете запустить команду explorer.exe .
чтобы открыть текущий каталог в проводнике Windows.
Переименуйте файл в baserom.z64
, baserom.n64
или baserom.v64
, в зависимости от исходного расширения.
Установите и извлеките все из вашего ПЗУ с помощью следующей команды:
make setup
При этом загружаются некоторые зависимости (из pip) и компилируются инструменты для процесса сборки. Затем он генерирует новое ПЗУ baseroms/gc-eu-mq-dbg/baserom-decompressed.z64
, в котором будет удален избыточный дамп и исправлен заголовок. Он также извлечет отдельные активы из ПЗУ.
Запустите make для сборки ПЗУ. Убедитесь, что ваш путь к проекту не слишком длинный, иначе этот процесс может привести к ошибке.
make
Если все пойдет хорошо, новый ПЗУ должен быть собран по адресу build/gc-eu-mq-dbg/oot-gc-eu-mq-dbg.z64
и напечатан следующий текст:
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
Это означает, что встроенный ПЗУ не совпадает с базовым, значит что-то пошло не так или какая-то часть кода не совпадает.
ПРИМЕЧАНИЕ. Чтобы ускорить сборку, вы можете:
-jN
, чтобы make setup
, и make
, где N — количество потоков, используемых при сборке. Общепринятая мудрость заключается в том, чтобы использовать количество виртуальных ядер, имеющихся на вашем компьютере.-j
, чтобы make setup
, и make
, чтобы использовать как можно больше потоков, но помните, что это может использовать слишком много памяти в системах более низкого уровня. Оба из них имеют тот недостаток, что порядок вывода терминала зашифрован, поэтому для отладки лучше придерживаться одного потока (т. е. не передавать -j
или -jN
).
Makefile проекта достаточно настраиваем и может использоваться для сборки других версий игры или подготовки репозитория для моддинга. Для получения дополнительной информации см. параметры, указанные в верхней части Makefile.
Все вклады приветствуются. Это коллективная работа, и даже небольшой вклад может изменить ситуацию. Некоторые задачи также не требуют особых знаний для начала.
Большинство обсуждений происходит на нашем сервере Discord, где вы можете спросить, нужна ли вам помощь в начале работы или есть ли у вас какие-либо вопросы относительно этого проекта и других проектов декомпиляции.