sm64

A Super Mario 64 decompilation
Log | Files | Refs | README | LICENSE

commit a48d6b03d6e1c370bd61ac8aa70c3235ee51c626
parent 06ec56df7f951f88da05f468cdcacecba496145a
Author: Andrew Houts <ahouts4@gmail.com>
Date:   Tue, 31 Mar 2020 20:11:21 -0700

add docker config

Diffstat:
ADockerfile | 13+++++++++++++
MREADME.md | 27+++++++++++++++++++++++++++
2 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/Dockerfile b/Dockerfile @@ -0,0 +1,13 @@ +FROM ubuntu:latest + +RUN apt update +RUN apt install -y wget build-essential pkg-config git binutils-mips-linux-gnu python3 zlib1g-dev libaudiofile-dev bsdmainutils + +RUN wget https://github.com/n64decomp/qemu-irix/releases/download/v2.11-deb/qemu-irix-2.11.0-2169-g32ab296eef_amd64.deb +RUN dpkg -i qemu-irix-2.11.0-2169-g32ab296eef_amd64.deb + +RUN mkdir /sm64 +WORKDIR /sm64 +ENV PATH="/sm64/tools:${PATH}" + +CMD echo 'usage: docker run --rm --mount type=bind,source="$(pwd)",destination=/sm64 sm64 make VERSION=<version> -j4' diff --git a/README.md b/README.md @@ -16,6 +16,33 @@ A prior copy of the game is required to extract the required assets. ## Installation +### Docker + +#### 1. Copy baserom(s) for asset extraction + +For each version (jp/us/eu) that you want to build a ROM for, put an existing ROM at +`./baserom.<version>.z64` for asset extraction. + +#### 2. Create docker image + +```bash +docker build -t sm64 . +``` + +#### 3. Build + +To build we simply have to mount our local filesystem into the docker container and build. + +```bash +# for example if you have baserom.us.z64 in the project root +docker run --rm --mount type=bind,source="$(pwd)",destination=/sm64 sm64 make VERSION=us -j4 + +# if your host system is linux you need to tell docker what user should own the output files +docker run --rm --mount type=bind,source="$(pwd)",destination=/sm64 --user "$(id -u):$(id -g)" sm64 make VERSION=us -j4 +``` + +Resulting artifacts can be found in the `build` directory. + ### Linux #### 1. Copy baserom(s) for asset extraction