mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-14 13:30:47 +00:00
Add multiversion instructions to README (#2247)
* Add multiversion instructions to README * Direct users toward Makefile * Modify options "below" instead of "in the Makefile" * Reword
This commit is contained in:
parent
2f54db142e
commit
4f6e33e302
2 changed files with 38 additions and 15 deletions
30
Makefile
30
Makefile
|
@ -4,20 +4,25 @@ MAKEFLAGS += --no-builtin-rules
|
|||
SHELL = /bin/bash
|
||||
.SHELLFLAGS = -o pipefail -c
|
||||
|
||||
# Build options can either be changed by modifying the makefile, or by building with 'make SETTING=value'
|
||||
# It is also possible to override default settings in a file called .make_options.mk with 'SETTING=value'.
|
||||
#### Build options ####
|
||||
|
||||
# Build options can be changed by modifying them below, or by appending 'SETTING=value' to all 'make' commands
|
||||
# (e.g. 'make setup VERSION=ntsc-1.0' and 'make VERSION=ntsc-1.0' to build the NTSC 1.0 version).
|
||||
# Alternatively, you can create a file called .make_options.mk (gitignored by default) and add 'SETTING=value'
|
||||
# there to avoid modifying the Makefile directly.
|
||||
|
||||
-include .make_options.mk
|
||||
|
||||
# If COMPARE is 1, check the output md5sum after building
|
||||
# If COMPARE is 1, check the output md5sum after building. Set to 0 when modding.
|
||||
COMPARE ?= 1
|
||||
# If NON_MATCHING is 1, define the NON_MATCHING C flag when building
|
||||
# If NON_MATCHING is 1, define the NON_MATCHING C flag when building. Set to 1 when modding.
|
||||
NON_MATCHING ?= 0
|
||||
# If ORIG_COMPILER is 1, compile with QEMU_IRIX and the original compiler
|
||||
# If ORIG_COMPILER is 1, compile with QEMU_IRIX and the original compiler.
|
||||
ORIG_COMPILER ?= 0
|
||||
# If COMPILER is "gcc", compile with GCC instead of IDO.
|
||||
COMPILER ?= ido
|
||||
# Target game version. Currently the following versions are supported:
|
||||
# Target game version. Ensure the corresponding input ROM is placed in baseroms/$(VERSION)/baserom.z64.
|
||||
# Currently the following versions are supported:
|
||||
# pal-1.0 N64 PAL 1.0 (Europe)
|
||||
# ntsc-1.2 N64 NTSC 1.2 (Japan/US depending on REGION)
|
||||
# pal-1.1 N64 PAL 1.1 (Europe)
|
||||
|
@ -33,24 +38,25 @@ COMPILER ?= ido
|
|||
# ntsc-1.0 N64 NTSC 1.0 (Japan/US depending on REGION)
|
||||
# ntsc-1.1 N64 NTSC 1.1 (Japan/US depending on REGION)
|
||||
VERSION ?= gc-eu-mq-dbg
|
||||
# Number of threads to extract and compress with
|
||||
# Number of threads to extract and compress with.
|
||||
N_THREADS ?= $(shell nproc)
|
||||
# Check code syntax with host compiler
|
||||
# Check code syntax with host compiler.
|
||||
RUN_CC_CHECK ?= 1
|
||||
# Set prefix to mips binutils binaries (mips-linux-gnu-ld => 'mips-linux-gnu-') - Change at your own risk!
|
||||
# In nearly all cases, not having 'mips-linux-gnu-*' binaries on the PATH is indicative of missing dependencies
|
||||
# In nearly all cases, not having 'mips-linux-gnu-*' binaries on the PATH indicates missing dependencies.
|
||||
MIPS_BINUTILS_PREFIX ?= mips-linux-gnu-
|
||||
# Emulator w/ flags
|
||||
# Emulator w/ flags for 'make run'.
|
||||
N64_EMULATOR ?=
|
||||
# Set to override game region in the ROM header. Options: JP, US, EU
|
||||
# Set to override game region in the ROM header (options: JP, US, EU). This can be used to build a fake US version
|
||||
# of the debug ROM for better emulator compatibility, or to build US versions of NTSC N64 ROMs.
|
||||
# REGION ?= US
|
||||
|
||||
CFLAGS ?=
|
||||
CPPFLAGS ?=
|
||||
CPP_DEFINES ?=
|
||||
|
||||
REGIONAL_CHECKSUM := 0
|
||||
# Version-specific settings
|
||||
REGIONAL_CHECKSUM := 0
|
||||
ifeq ($(VERSION),ntsc-1.0)
|
||||
REGIONAL_CHECKSUM := 1
|
||||
REGION ?= JP
|
||||
|
|
23
README.md
23
README.md
|
@ -25,11 +25,23 @@ the codebase can drastically change at any time. Also note that some parts of th
|
|||
|
||||
This is a WIP **decompilation** of ***The Legend of Zelda: Ocarina of Time***. The purpose of the project is to recreate a source code base for the game from scratch, using information found inside the game along with static and/or dynamic analysis. **It is not producing a PC port.** For more information you can get in touch with the team on our [Discord server][discord].
|
||||
|
||||
The only build currently supported is Master Quest (Debug), but other versions are planned to be supported.
|
||||
It builds the following versions:
|
||||
|
||||
It builds the following ROM:
|
||||
| Name | Build timestamp | Description | MD5 hash of input ROM(s) |
|
||||
|--------------|-------------------|-------------------------------------------|--------------------------|
|
||||
| pal-1.0 | 98-11-10 14:34:22 | PAL 1.0 (Europe) | `e040de91a74b61e3201db0e2323f768a` |
|
||||
| ntsc-1.2 | 98-11-12 18:17:03 | NTSC 1.2 (Japan/US) | `2258052847bdd056c8406a9ef6427f13`<br>`57a9719ad547c516342e1a15d5c28c3d` |
|
||||
| pal-1.1 | 98-11-18 17:36:49 | PAL 1.1 (Europe) | `d714580dd74c2c033f5e1b6dc0aeac77` |
|
||||
| gc-jp | 02-10-29 23:49:53 | GameCube Japan | `33fb7852c180b18ea0b9620b630f413f` |
|
||||
| gc-jp-mq | 02-10-30 00:15:15 | GameCube Japan Master Quest | `69895c5c78442260f6eafb2506dc482a` |
|
||||
| gc-us | 02-12-19 13:28:09 | GameCube US | `cd09029edcfb7c097ac01986a0f83d3f` |
|
||||
| gc-us-mq | 02-12-19 14:05:42 | GameCube US Master Quest | `da35577fe54579f6a266931cc75f512d` |
|
||||
| gc-eu-mq-dbg | 03-02-21 00:16:31 | GameCube Europe/PAL Master Quest Debug | `75e344f41c26ec2ec5ad92caa9e25629`<br>`8ca71e87de4ce5e9f6ec916202a623e9`<br>`f751d1a097764e2337b1ac9ba1e27699`<br>`dde376d47187b931820d5b2957cded14` |
|
||||
| gc-eu | 03-02-21 20:12:23 | GameCube Europe/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 (Collector's Edition Disc) | `0c13e0449a28ea5b925cdb8af8d29768` |
|
||||
|
||||
* oot-gc-eu-mq-dbg.z64 `md5: 75e344f41c26ec2ec5ad92caa9e25629`
|
||||
The default version is `gc-eu-mq-dbg`, i.e. the GameCube Europe/PAL Master Quest Debug ROM.
|
||||
|
||||
**Note: This repository does not include any of the assets necessary to build the ROM. A prior copy of the game is required to extract the needed assets.**
|
||||
|
||||
|
@ -151,6 +163,11 @@ This means that the built ROM isn't the same as the base one, so something went
|
|||
|
||||
Both of these have the disadvantage that the ordering of the terminal output is scrambled, so for debugging it is best to stick to one thread (i.e. not pass `-j` or `-jN`).
|
||||
|
||||
## Changing build options
|
||||
|
||||
The project Makefile is fairly configurable and can be used to build other versions of the game or prepare the repo for modding.
|
||||
See the options outlined at the top of the Makefile for more information.
|
||||
|
||||
## Contributing
|
||||
|
||||
All contributions are welcome. This is a group effort, and even small contributions can make a difference.
|
||||
|
|
Loading…
Reference in a new issue