mirror of
https://github.com/pmret/papermario.git
synced 2024-11-13 22:43:00 +01:00
62 lines
2.3 KiB
Markdown
62 lines
2.3 KiB
Markdown
# Paper Mario Decompilation
|
|
|
|
## Setup
|
|
### Requirements
|
|
You'll need Linux or Windows 10 (WSL) to work on this project.
|
|
|
|
### Dependencies
|
|
* *mips-linux-gnu binutils: You may be able to just download this via your package manager (`sudo apt install binutils-mips-linux-gnu`), or you'll have to build it yourself. (guide todo)
|
|
|
|
|
|
#### Ubuntu and co (easy mode):
|
|
For a quick and easy way to install all relevant decomp-related tools on Ubuntu and other similar distros,
|
|
```
|
|
sudo apt install -y binutils-mips-linux-gnu build-essential pkg-config python3 python3-pip wget git clang-tidy clang-format nano vbindiff zlib1g-dev libyaml-dev libcapstone-dev
|
|
```
|
|
|
|
#### Building mips-linux-gnu
|
|
todo
|
|
|
|
### Fork and clone the repo
|
|
Click the "fork" button in the top right corner of the main repo's webpage (https://github.com/ethteck/papermario) to fork this repo to your own GitHub account. After this, clone the repo to your computer via the command below:
|
|
|
|
`git clone https://github.com/YOUR_GITHUB_USERNAME/papermario.git`
|
|
|
|
### The Rom
|
|
You'll need a US Paper Mario rom to work on this project. Copy it into the root directory of the repository with the name `baserom.z64`.
|
|
|
|
### Make setup
|
|
run `make setup` to set up tools and extract the rom
|
|
|
|
### Make
|
|
run `make` to rebuild the rom. Get `OK`? If so, you're all set! Otherwise, please feel free to reach out to us in the discord.
|
|
Use `PM_HEADER_REBUILD=1 make` to rebuild C sources when any header files change.
|
|
|
|
## FAQ
|
|
* If you received the following error when running `make setup`:
|
|
```
|
|
/bin/bash: mips-linux-gnu-as: command not found
|
|
Makefile:92: recipe for target 'build/asm/boot.o' failed
|
|
make: *** [build/asm/boot.o] Error 127
|
|
```
|
|
> 💡 Solution
|
|
>
|
|
> One of the packages from the _Ubuntu and co (easy mode)_ script did not install correctly. Elevate your user permissions using `sudo su`, run the script again and append `--fix-missing` to it.
|
|
>
|
|
|
|
<br />
|
|
<br />
|
|
|
|
* If you received the following error when running `make`:
|
|
```
|
|
sha1sum -c checksum.sha1
|
|
sha1sum: 'papermario.z64'$'\r': No such file or directory
|
|
: FAILED open or read
|
|
sha1sum: WARNING: 1 listed file could not be read
|
|
Makefile:118: recipe for target 'verify' failed
|
|
make: *** [verify] Error 1
|
|
```
|
|
> 💡 Solution
|
|
>
|
|
> This is a Windows line ending issue run `git checkout checksum.sha1` to fix it.
|