- 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.
Esta es una descompilación WIP de The Legend of Zelda: Ocarina of Time . El propósito del proyecto es recrear una base de código fuente para el juego desde cero, utilizando información que se encuentra dentro del juego junto con análisis estáticos y/o dinámicos. No está produciendo un puerto para PC. Para obtener más información, puede ponerse en contacto con el equipo en nuestro servidor de Discord.
Construye las siguientes versiones:
Nombre | Crear marca de tiempo | Descripción | Hash MD5 de las ROM de entrada |
---|---|---|---|
ntsc-1.0 | 98-10-21 04:56:31 | NTSC 1.0 (Japón/EE. UU.) | 9f04c8e68534b870f707c247fa4b50fc 5bd1fe107bf8106b2ab6650abecd54d6 |
ntsc-1.1 | 98-10-26 10:58:45 | NTSC 1.1 (Japón/EE.UU.) | 1bf5f42b98c3e97948f01155f12e2d88 721fdcc6f5f34be55c43a807f2a16af4 |
amigo-1.0 | 98-11-10 14:34:22 | PAL 1.0 (Europa) | e040de91a74b61e3201db0e2323f768a |
ntsc-1.2 | 98-11-12 18:17:03 | NTSC 1.2 (Japón/EE.UU.) | 2258052847bdd056c8406a9ef6427f13 57a9719ad547c516342e1a15d5c28c3d |
amigo-1.1 | 98-11-18 17:36:49 | PAL 1.1 (Europa) | d714580dd74c2c033f5e1b6dc0aeac77 |
gc-jp | 02-10-29 23:49:53 | GameCube Japón | 33fb7852c180b18ea0b9620b630f413f |
gc-jp-mq | 02-10-30 00:15:15 | Misión maestra de GameCube Japón | 69895c5c78442260f6eafb2506dc482a |
gc-nosotros | 02-12-19 13:28:09 | GameCube EE. UU. | cd09029edcfb7c097ac01986a0f83d3f |
gc-us-mq | 02-12-19 14:05:42 | GameCube EE. UU. Master Quest | da35577fe54579f6a266931cc75f512d |
gc-eu-mq-dbg | 03-02-21 00:16:31 | Depuración de GameCube Europa/PAL Master Quest | 75e344f41c26ec2ec5ad92caa9e25629 8ca71e87de4ce5e9f6ec916202a623e9 f751d1a097764e2337b1ac9ba1e27699 dde376d47187b931820d5b2957cded14 |
gc-ue | 03-02-21 20:12:23 | GameCube Europa/PAL | 2c27b4e000e85fd78dbca551f1b1c965 |
gc-eu-mq | 03-02-21 20:37:19 | GameCube Europa/PAL Master Quest | 1618403427e4344a57833043db5ce3c3 |
gc-jp-ce | 03-10-08 21:53:00 | GameCube Japón (Disco de edición de coleccionista) | 0c13e0449a28ea5b925cdb8af8d29768 |
La versión predeterminada es gc-eu-mq-dbg
, es decir, la ROM de depuración Master Quest de GameCube Europe/PAL.
Nota: Este repositorio no incluye ninguno de los activos necesarios para construir la ROM. Se requiere una copia previa del juego para extraer los activos necesarios.
Sitio web: https://zelda.deco.mp
Discordia: https://discord.zelda.deco.mp
Recomendamos usar WSL en Windows o Linux nativo, como se describe en el resto de este archivo Léame. Actualmente tenemos instrucciones para
(Estos también dependerán de las instrucciones de Linux). Algunos de estos también pueden estar desactualizados o no recibir mantenimiento; Normalmente nuestros colaboradores usan WSL, Linux y macOS, por lo que estas instrucciones deben estar actualizadas.
Para Windows 10 u 11, instale WSL y una distribución siguiendo esta Guía de instalación de WSL. Recomendamos utilizar Ubuntu 20.04 como distribución de Linux.
Para versiones anteriores de Windows, instale una máquina virtual Linux o consulte las instrucciones de Docker.
El proceso de compilación tiene los siguientes requisitos de paquete:
En Debian/Ubuntu (que recomendamos usar), puedes instalarlos con los siguientes comandos:
sudo apt-get update
sudo apt-get install git build-essential binutils-mips-linux-gnu python3 python3-pip python3-venv libpng-dev libxml2-dev
Si estás utilizando GCC como compilador de Ocarina of Time, también necesitarás:
NB: si utiliza WSL, le recomendamos encarecidamente que clone el sistema de archivos Linux de WSL utilizando git
de Linux. La clonación en el sistema de archivos de Windows dará como resultado velocidades de lectura/escritura mucho más lentas y, a menudo, causa problemas cuando Windows copia los archivos con finales de línea incorrectos, que el compilador IDO no puede manejar correctamente.
Clona https://github.com/zeldaret/oot.git
donde deseas tener el proyecto, con un comando como:
git clone https://github.com/zeldaret/oot.git
Esto copiará el contenido del repositorio de GitHub en una nueva carpeta en el directorio actual llamada oot
. Cambie a este directorio antes de hacer cualquier otra cosa:
cd oot
Coloque una copia de la ROM Master Quest (Debug) dentro de la carpeta baseroms/gc-eu-mq-dbg/
. Si está bajo WSL, puede ejecutar el comando explorer.exe .
para abrir el directorio actual en el explorador de archivos de Windows.
Cambie el nombre del archivo a baserom.z64
, baserom.n64
o baserom.v64
, según la extensión original.
Configura y extrae todo de tu ROM con el siguiente comando:
make setup
Esto descarga algunas dependencias (de pip) y compila herramientas para el proceso de compilación. Luego genera una nueva ROM baseroms/gc-eu-mq-dbg/baserom-decompressed.z64
a la que se le eliminará el volcado y se parcheará el encabezado. También extraerá los activos individuales de la ROM.
Ejecute make para construir la ROM. Asegúrese de que su ruta al proyecto no sea demasiado larga; de lo contrario, este proceso puede generar errores.
make
Si todo va bien, se debe crear una nueva ROM en build/gc-eu-mq-dbg/oot-gc-eu-mq-dbg.z64
e imprimir el siguiente texto:
build/gc-eu-mq-dbg/oot-gc-eu-mq-dbg.z64: OK
Si en cambio ve lo siguiente:
build/gc-eu-mq-dbg/oot-gc-eu-mq-dbg.z64: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
Esto significa que la ROM construida no es la misma que la base, por lo que algo salió mal o alguna parte del código no coincide.
NOTA: para acelerar la compilación, puede:
-jN
para make setup
y make
, donde N es el número de subprocesos que se utilizarán en la compilación. La sabiduría generalmente aceptada es utilizar la cantidad de núcleos virtuales que tiene su computadora.-j
para make setup
y make
para usar tantos subprocesos como sea posible, pero tenga en cuenta que esto puede usar demasiada memoria en sistemas de gama baja. Ambos tienen la desventaja de que el orden de la salida del terminal está codificado, por lo que para la depuración es mejor ceñirse a un hilo (es decir, no pasar -j
o -jN
).
El proyecto Makefile es bastante configurable y se puede utilizar para crear otras versiones del juego o preparar el repositorio para modificarlo. Consulte las opciones descritas en la parte superior del Makefile para obtener más información.
Todas las contribuciones son bienvenidas. Este es un esfuerzo de grupo e incluso las pequeñas contribuciones pueden marcar la diferencia. Algunas tareas tampoco requieren muchos conocimientos para comenzar.
La mayoría de las discusiones ocurren en nuestro servidor Discord, donde puede preguntar si necesita ayuda para comenzar o si tiene alguna pregunta sobre este proyecto y otros proyectos de descompilación.