- 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.
Ini adalah dekompilasi WIP dari The Legend of Zelda: Ocarina of Time . Tujuan dari proyek ini adalah untuk membuat ulang basis kode sumber untuk game tersebut dari awal, menggunakan informasi yang ditemukan di dalam game bersama dengan analisis statis dan/atau dinamis. Itu tidak menghasilkan port PC. Untuk informasi lebih lanjut Anda dapat menghubungi tim di server Discord kami.
Itu membangun versi berikut:
Nama | Buat stempel waktu | Keterangan | Hash MD5 dari ROM input |
---|---|---|---|
ntsc-1.0 | 21-10-98 04:56:31 | NTSC 1.0 (Jepang/AS) | 9f04c8e68534b870f707c247fa4b50fc 5bd1fe107bf8106b2ab6650abecd54d6 |
ntsc-1.1 | 26-10-98 10:58:45 | NTSC 1.1 (Jepang/AS) | 1bf5f42b98c3e97948f01155f12e2d88 721fdcc6f5f34be55c43a807f2a16af4 |
sobat-1.0 | 98-11-10 14:34:22 | PAL 1.0 (Eropa) | e040de91a74b61e3201db0e2323f768a |
ntsc-1.2 | 98-11-12 18:17:03 | NTSC 1.2 (Jepang/AS) | 2258052847bdd056c8406a9ef6427f13 57a9719ad547c516342e1a15d5c28c3d |
sobat-1.1 | 98-11-18 17:36:49 | PAL 1.1 (Eropa) | d714580dd74c2c033f5e1b6dc0aeac77 |
gc-jp | 29-10-02 23:49:53 | GameCube Jepang | 33fb7852c180b18ea0b9620b630f413f |
gc-jp-mq | 30-10-02 00:15:15 | Pencarian Master GameCube Jepang | 69895c5c78442260f6eafb2506dc482a |
gc-kita | 12-02-19 13:28:09 | GameCube AS | cd09029edcfb7c097ac01986a0f83d3f |
gc-us-mq | 12-02-19 14:05:42 | Pencarian Utama GameCube AS | da35577fe54579f6a266931cc75f512d |
gc-eu-mq-dbg | 02-03-21 00:16:31 | Debug Quest Master GameCube Eropa/PAL | 75e344f41c26ec2ec5ad92caa9e25629 8ca71e87de4ce5e9f6ec916202a623e9 f751d1a097764e2337b1ac9ba1e27699 dde376d47187b931820d5b2957cded14 |
gc-eu | 02-03-21 20:12:23 | GameCube Eropa/PAL | 2c27b4e000e85fd78dbca551f1b1c965 |
gc-eu-mq | 02-03-21 20:37:19 | GameCube Eropa/PAL Master Quest | 1618403427e4344a57833043db5ce3c3 |
gc-jp-ce | 08-10-03 21:53:00 | GameCube Jepang (Disk Edisi Kolektor) | 0c13e0449a28ea5b925cdb8af8d29768 |
Versi defaultnya adalah gc-eu-mq-dbg
, yaitu ROM Debug GameCube Europe/PAL Master Quest.
Catatan: Repositori ini tidak menyertakan aset apa pun yang diperlukan untuk membangun ROM. Salinan game sebelumnya diperlukan untuk mengekstrak aset yang dibutuhkan.
Situs web: https://zelda.deco.mp
Perselisihan: https://discord.zelda.deco.mp
Kami merekomendasikan penggunaan WSL di Windows, atau Linux asli, yang dijelaskan dalam readme ini. Saat ini kami memiliki instruksi untuk
(Ini juga tergantung pada instruksi Linux.) Beberapa di antaranya mungkin juga sudah ketinggalan zaman atau tidak dipelihara; biasanya kontributor kami menggunakan WSL, Linux, dan macOS, jadi petunjuk ini harus selalu diperbarui.
Untuk Windows 10 atau 11, instal WSL dan distribusinya dengan mengikuti Panduan Instalasi WSL ini. Kami merekomendasikan penggunaan Ubuntu 20.04 sebagai distribusi Linux.
Untuk versi Windows yang lebih lama, instal VM Linux atau lihat petunjuk Docker.
Proses pembangunan memiliki persyaratan paket berikut:
Di Debian/Ubuntu (yang kami sarankan untuk digunakan), Anda dapat menginstalnya dengan perintah berikut:
sudo apt-get update
sudo apt-get install git build-essential binutils-mips-linux-gnu python3 python3-pip python3-venv libpng-dev libxml2-dev
Jika Anda menggunakan GCC sebagai kompiler untuk Ocarina of Time, Anda juga memerlukan:
NB Jika menggunakan WSL, kami sangat menganjurkan Anda untuk mengkloning ke sistem file Linux WSL menggunakan git
Linux. Mengkloning ke sistem file Windows akan menghasilkan kecepatan baca/tulis yang jauh lebih lambat, dan sering kali menyebabkan masalah ketika Windows menyalin file dengan akhiran baris yang salah, yang tidak dapat ditangani oleh IDO kompiler dengan benar.
Kloning https://github.com/zeldaret/oot.git
di mana Anda ingin memiliki proyek tersebut, dengan perintah seperti:
git clone https://github.com/zeldaret/oot.git
Ini akan menyalin konten repositori GitHub ke folder baru di direktori saat ini bernama oot
. Ubah ke direktori ini sebelum melakukan hal lain:
cd oot
Tempatkan salinan ROM Master Quest (Debug) di dalam folder baseroms/gc-eu-mq-dbg/
. Jika Anda menggunakan WSL, Anda dapat menjalankan perintah explorer.exe .
untuk membuka direktori saat ini di file explorer Windows.
Ganti nama file menjadi baserom.z64
, baserom.n64
atau baserom.v64
, tergantung pada ekstensi aslinya.
Siapkan dan ekstrak semuanya dari ROM Anda dengan perintah berikut:
make setup
Ini mengunduh beberapa dependensi (dari pip), dan mengkompilasi alat untuk proses pembangunan. Kemudian menghasilkan ROM baru baseroms/gc-eu-mq-dbg/baserom-decompressed.z64
yang akan menghapus overdump dan header ditambal. Itu juga akan mengekstrak aset individual dari ROM.
Jalankan make untuk membuat ROM. Pastikan jalur Anda ke proyek tidak terlalu panjang, jika tidak, proses ini mungkin salah.
make
Jika semuanya berjalan dengan baik, ROM baru harus dibuat di build/gc-eu-mq-dbg/oot-gc-eu-mq-dbg.z64
, dan teks berikut dicetak:
build/gc-eu-mq-dbg/oot-gc-eu-mq-dbg.z64: OK
Jika Anda malah melihat yang berikut ini:
build/gc-eu-mq-dbg/oot-gc-eu-mq-dbg.z64: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
Artinya ROM yang dibangun tidak sama dengan ROM dasar, jadi ada yang tidak beres atau ada bagian kode yang tidak cocok.
CATATAN: untuk mempercepat pembangunan, Anda dapat:
-jN
ke make setup
dan make
, dengan N adalah jumlah thread yang akan digunakan dalam build. Kebijaksanaan yang diterima secara umum adalah dengan menggunakan jumlah inti virtual yang dimiliki komputer Anda.-j
untuk make setup
dan make
, untuk menggunakan thread sebanyak mungkin, namun berhati-hatilah karena ini dapat menggunakan terlalu banyak memori pada sistem kelas bawah. Kedua hal ini memiliki kelemahan yaitu urutan keluaran terminal diacak, jadi untuk debugging yang terbaik adalah tetap menggunakan satu thread (yaitu tidak meneruskan -j
atau -jN
).
Proyek Makefile cukup dapat dikonfigurasi dan dapat digunakan untuk membuat versi game lainnya atau menyiapkan repo untuk modding. Lihat opsi yang diuraikan di bagian atas Makefile untuk informasi lebih lanjut.
Semua kontribusi dipersilakan. Ini adalah upaya kelompok, dan kontribusi kecil sekalipun dapat membuat perbedaan. Beberapa tugas juga tidak memerlukan banyak pengetahuan untuk memulai.
Sebagian besar diskusi terjadi di Server Discord kami, di mana Anda dapat bertanya apakah Anda memerlukan bantuan untuk memulai, atau jika Anda memiliki pertanyaan mengenai proyek ini dan proyek dekompilasi lainnya.