* WIP work on sprites (sprite_stuff.py) * cleanup of various stuff * separate compiler installation into separate script * wipz * more * renames, bugfixes * more * very grood * cleanin * goods and services * oopth * oopth2 * Parse palette data from xml * more work * more wipperz * more * it working * git subrepo pull --force tools/splat subrepo: subdir: "tools/splat" merged: "e72a868f9f" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "e72a868f9f" git-subrepo: version: "0.4.5" origin: "https://github.com/ingydotnet/git-subrepo" commit: "aa416e4" * fix symbol_addrs for new splat * upd8s * Use generated header, other versions, fixes * fixes & formatting * wip fusing npc + player extraction & cleanup * remove npc_files * buildin * fix some bugs * Cleanup, yay0s separately * cleen * cleanup * Respect stack during build * jp spritz * dun * fix c files --------- Co-authored-by: pixel-stuck <mathmcclintic@gmail.com>
2.6 KiB
Setup
This repository supports:
- Linux
- macOS
- Windows Subsystem for Linux 2
- Docker (any host OS)
- Nix
If you encounter any issues setting up the repo, please feel free to reach out to us on Discord.
Common
Clone the repository:
git clone https://github.com/pmret/papermario
cd papermario
Unix
Install build dependencies:
./install_deps.sh
NOTE: On Mac, if you get an error that looks like
Error: Cannot install md5sha1sum because conflicting formulae are installed. coreutils: because both install `md5sum` and `sha1sum` binaries Please `brew unlink coreutils` before continuing.
it's fine to just open
install_deps.sh
in a text editor, delete themd5sha1sum
from thebrew install
line, and rerun it (put it back after so you don't accidentally commit it!)
Continue onto building
WSL 2
- Install or upgrade to WSL 2 following these instructions (Ubuntu is recommended)
- Open a WSL terminal
- Run the following command:
sudo apt update && sudo apt upgrade && cd ~
- Continue with building
If you have Visual Studio Code, you can type code .
to open the repo within it.
Ctrl + J
opens up a Linux terminal within VS Code.
Docker
A Docker image containing all dependencies can be built and ran as follows:
docker build . -t pm
docker run --rm -ti -v $(pwd):/papermario pm
Then continue with building
Nix
Install Nix and run nix-shell
. You will need to set the NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM
environment variable to 1
(required for cross compiling).
export NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1
nix-shell
Like the instructions for Docker, continue with building
Building
Copy baseroms into the following places (at least 1 is required):
ver/us/baserom.z64
(sha1:3837f44cda784b466c9a2d99df70d77c322b97a0
)ver/jp/baserom.z64
(sha1:b9cca3ff260b9ff427d981626b82f96de73586d3
)ver/pal/baserom.z64
(sha1:2111d39265a317414d359e35a7d971c4dfa5f9e1
)ver/ique/baserom.z64
(sha1:5c724685085eba796537573dd6f84aaddedc8582
)
(If you're using WSL, you can enter the Linux filesystem by opening \\wsl$
in File Explorer; e.g. \\wsl$\Ubuntu\home\<your username>\papermario
.)
Configure the build and extract assets from the base ROM:
./configure
Compile the game:
ninja
If you get papermario.z64: OK
at the end, the build succeeded and the built rom matches the input rom!