papermario/SETUP.md
Ethan Roseman 8837fbdf65
Player sprites & more (#1055)
* 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>
2023-06-26 19:27:37 +09:00

2.6 KiB

Setup

This repository supports:

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 the md5sha1sum from the brew install line, and rerun it (put it back after so you don't accidentally commit it!)

Continue onto building

WSL 2

  1. Install or upgrade to WSL 2 following these instructions (Ubuntu is recommended)
  2. Open a WSL terminal
  3. Run the following command: sudo apt update && sudo apt upgrade && cd ~
  4. 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!