Decompilation of Paper Mario (2000)
Go to file
2021-01-14 11:57:39 +00:00
.github/workflows fix doxygen 2020-10-20 21:40:49 +01:00
.vscode Merge branch 'master' into misc-decomp 2021-01-01 10:20:39 +09:00
asm OK 2021-01-13 03:07:28 +09:00
docs merge 2020-11-07 12:33:18 +00:00
include ninja src/**/*.c 2021-01-14 03:56:02 +00:00
src remove commented INCLUDE_ASM 2021-01-14 03:55:20 +00:00
tools ninja include/sprite/**/*.h 2021-01-14 11:57:39 +00:00
.clang-tidy Merge branch 'mac-support' into audio 2020-12-05 19:57:10 -05:00
.editorconfig new makefile 2020-10-23 01:28:24 +01:00
.gitattributes tell github *.h files are written in C 2020-08-17 13:45:46 +01:00
.gitignore rm build.ninja; oops 2021-01-14 04:05:52 +00:00
.gitmodules add sprite editor gui 2020-12-22 00:09:55 +00:00
checksum.sha1 Refactoring stuff 2020-08-12 21:56:23 -04:00
configure.py ninja include/sprite/**/*.h 2021-01-14 11:57:39 +00:00
CONTRIBUTING.md Create CONTRIBUTING.md 2020-12-24 03:38:37 -05:00
coverage.py hotfix coverage.py bytes listing 2020-10-20 20:47:29 +01:00
create_renames.py not working - jtbl wip 2021-01-13 00:42:27 +09:00
diff_settings.py watch includes 2020-10-28 21:34:04 +00:00
diff.py saving for later 2020-10-02 02:07:54 -04:00
docker-compose.yml gud changes 2020-04-24 00:26:17 -04:00
Dockerfile Dockerfile with install.sh script 2020-12-28 12:41:26 +00:00
Doxyfile implement SCRIPT(...) dsl 2020-10-22 05:54:03 +01:00
format.sh 4 more and format 2020-12-12 17:55:21 +09:00
install.sh add ninja dependency 2021-01-14 00:56:33 +00:00
Jenkinsfile Progress reporting on master 2021-01-04 22:50:33 +09:00
Makefile ninja include/sprite/**/*.h 2021-01-14 11:57:39 +00:00
progress.py Fix progress.py 2021-01-06 02:04:30 +09:00
README.md Dockerfile with install.sh script 2020-12-28 12:41:26 +00:00
requirements_extra.txt tidy up splat 2020-12-02 22:26:08 +00:00
requirements.txt ninja src/**/*.c 2021-01-14 03:56:02 +00:00
sources.mk get objects from splat.yaml instead of build ld script 2021-01-09 16:32:44 +00:00
undefined_funcs_auto.txt Remaining segments 2021-01-11 18:34:10 +09:00
undefined_funcs.txt blah 2021-01-09 16:55:31 +09:00
undefined_syms_auto.txt not working - jtbl wip 2021-01-13 00:42:27 +09:00
undefined_syms.txt some data 2021-01-12 13:42:16 +09:00

Paper Mario

This is a WIP decompilation of Paper Mario (USA). It builds the following ROM:

  • papermario.z64 md5: a722f8161ff489943191330bf8416496

Discord: Paper Mario Modding

Setup

You'll need Linux, a Linux VM, or Windows 10 (WSL2) to work on this project.

Clone the repository

$ git clone https://github.com/ethteck/papermario.git
$ cd papermario

Install build dependencies

$ ./install.sh

Our install script does not yet support distros other than Ubuntu, Arch, and their derivatives. Please consider contributing to the script if you use another distro!

Docker

A Docker image containing all dependencies can be built and ran as follows:

# build image
$ docker build . -t pm
# spin up container, mounting current directory inside
$ docker run --rm -ti -v $(pwd):/papermario pm

Base ROM

You'll need a Paper Mario (USA) ROM to work on this project. Copy it into the root directory of the repository with the name baserom.z64.

Install tools and extract ROM

$ make setup

Compile the game

$ make

If you get OK, you're all set! Otherwise, please feel free to reach out to us in our Discord channel.

Star Rod GUI

You can open our modified version of Star Rod with make editor.

Contributing

Please see CONTRIBUTING.md for information on how to contribute to the project. Any and all help is welcome!

Troubleshooting

  • If you are using Windows, you may encounter the following when you run 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

Run git checkout checksum.sha1 and retry building. Windows has different line endings than Linux, causing some of our tools to break.