- 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 |
pal-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 |
pal-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 | 게임큐브 재팬 마스터 퀘스트 | 69895c5c78442260f6eafb2506dc482a |
gc-us | 02-12-19 13:28:09 | 게임큐브 미국 | cd09029edcfb7c097ac01986a0f83d3f |
gc-us-mq | 02-12-19 14:05:42 | 게임큐브 미국 마스터 퀘스트 | da35577fe54579f6a266931cc75f512d |
gc-eu-mq-dbg | 03-02-21 00:16:31 | 게임큐브 유럽/PAL 마스터 퀘스트 디버그 | 75e344f41c26ec2ec5ad92caa9e25629 8ca71e87de4ce5e9f6ec916202a623e9 f751d1a097764e2337b1ac9ba1e27699 dde376d47187b931820d5b2957cded14 |
gc-eu | 03-02-21 20:12:23 | 게임큐브 유럽/PAL | 2c27b4e000e85fd78dbca551f1b1c965 |
gc-eu-mq | 03-02-21 20:37:19 | 게임큐브 유럽/PAL 마스터 퀘스트 | 1618403427e4344a57833043db5ce3c3 |
gc-jp-ce | 03-10-08 21:53:00 | GameCube Japan(컬렉터스 에디션 디스크) | 0c13e0449a28ea5b925cdb8af8d29768 |
기본 버전은 gc-eu-mq-dbg
, 즉 GameCube Europe/PAL Master Quest Debug ROM입니다.
참고: 이 저장소에는 ROM을 빌드하는 데 필요한 자산이 포함되어 있지 않습니다. 필요한 자산을 추출하려면 게임의 이전 사본이 필요합니다.
홈페이지: https://zelda.deco.mp
디스코드: https://discord.zelda.deco.mp
이 추가 정보의 나머지 부분에서 설명하는 Windows 또는 기본 Linux에서 WSL을 사용하는 것이 좋습니다. 현재 다음 사항에 대한 지침이 있습니다.
(또한 Linux 지침에 따라 달라집니다.) 이들 중 일부는 오래되었거나 유지 관리되지 않을 수도 있습니다. 일반적으로 기여자는 WSL, Linux 및 macOS를 사용하므로 이 지침은 최신 상태여야 합니다.
Windows 10 또는 11의 경우 이 WSL 설치 가이드에 따라 WSL 및 배포판을 설치하세요. Linux 배포판으로는 Ubuntu 20.04를 사용하는 것이 좋습니다.
이전 버전의 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를 사용하는 경우 다음도 필요합니다.
NB 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
baseroms/gc-eu-mq-dbg/
폴더 안에 Master Quest(디버그) ROM의 복사본을 넣습니다. 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 서버에서 이루어지며, 시작하는 데 도움이 필요하거나 이 프로젝트 및 기타 디컴파일 프로젝트에 관해 질문이 있는 경우 언제든지 문의하실 수 있습니다.