mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-06-01 01:08:51 -04:00
0db4b04d7051e48478567d07b6fe26f93aabd48c
* Initial Dockerfile implementation * Add wibo installation to dockerfile and also: - Organize dockerfile a little bit more - Add bash command for testing purposes, will probably be removed later * Fix missing python packages in dockerfile, oops * Add devkitPPC env var * Switch to ultralib instead thanos_oopsie_daisy.png * Dockerfile: fix many things * Add Docker build instructions also: - Fleshed out the existing build instructions a little bit * Dockerfile: don't hardcode installation of deps that are in requirements.txt also: - Updated dockerfile usage message * Made readme a little more clear also: - Fix some grammatical errors * Fix missing newline * Add missing comment * Remove extra sed parameter that I left in by accident * Simplify example commands in readme * Simplify example command in dockerfile * Fix devkitPPC installation not working on Docker for Windows * Make previous commit not break Linux building * README: Suggest against cmd prompt for Windows also: - Use platform-agnostic PWD variable in the command examples that'll work on both Windows and Linux. * Dockerfile: update example command to use platform-agnostic PWD * Fix borked symbol in readme * Move wibo notice to manual as docker always uses wibo * Fix readme link in Dockerfile 404ing * Dockerfile: remove holdover packages we don't need anymore * Dockerfile: handle cleanup better specifically: - delete duplicate wibo executable once installed - delete dkp-pacman install script when done - delete the parts of ultralib that aren't needed for this project * Add links to the other two compilers in readme * Add yaz0 tool for win32 * Add yaz0 command to readme * Improve build instructions * Make build instructions a little more clear * Make formatting more consistent * wait why am I adding windows instructions when it probably doesn't even build that way * Remove part that will probably cause confusion * fix an instance where I used the wrong word * denote that docker is the recommended build method * Add wibo instructions to manual section * Fix redundant phrasing * Re-arrange manual steps to match the order they occur in for docker * Finish what the previous commit set out to do * Remove more phrasing that could be considered redundant * Make a few things clearer * Dockerfile: switch ninja to apt per the advice of cuyler * README: for ninja installation send user to package manager page * Add diff.py dependencies to requirements.txt * Dockerfile: remove extra pip command because now everything is in requirements * Merge a few steps together * Fix missing word * Update inconsistent formatting * Sort requirements alphabetically * Remove recommended/not recommended labels * Change windows information bit to not be personified * Change wibo installation part to not be personified * Finish what previous commit aimed to do * Sort apt packages alphabetically * Add notice about a weird docker thing we encountered
Animal Crossing Decompilation 
Decompilation in progress of Animal Crossing (GAFE01)
A decompilation of the original N64 version of the game is being worked on here.
Cloning
Use --recursive when cloning to have ppcdis in the repository.
Building
ℹ️ When using Windows, it's recommended to use WSL.
Docker
- Dump a copy of the game and extract main.dol and foresta.rel.szs.
- Decompress foresta.rel.szs with yaz0 found in tools/ (
yaz0 -d foresta.rel.szs foresta.rel). - Place main.dol and foresta.rel in dump/.
- Download the CodeWarrior 1.3.2 and 1.2.5n compilers and extract them to tools/1.3.2/ and tools/1.2.5n/, respectively.
- Download the CodeWarrior 1.3.2r compiler and extract it to tools/1.3.2r/.
- Install Docker.
- Build the Docker image (
docker build -t ac-decomp .). - Run configure.py (
docker run -it --rm -v ${PWD}:/ac-decomp ac-decomp python3 configure.py). - Run ninja (
docker run -it --rm -v ${PWD}:/ac-decomp ac-decomp ninja).
Build manually
ℹ️ When building manually from a work directory originally used for Docker, you will need to run
sudo ninja -t cleanfor the build to execute properly.
- Dump a copy of the game and extract main.dol and foresta.rel.szs.
- Decompress foresta.rel.szs with yaz0 found in tools/ (
yaz0 -d foresta.rel.szs foresta.rel). - Place main.dol and foresta.rel in dump/.
- Download the CodeWarrior 1.3.2 and 1.2.5n compilers and extract them to tools/1.3.2/ and tools/1.2.5n/, respectively.
- Download the CodeWarrior 1.3.2r compiler and extract it to tools/1.3.2r/.
- Install Python, pip, and ninja using your package manager of choice.
- Install Python modules from requirements.txt (
pip install -r requirements.txt). - Install wibo
- Wibo is a lightweight Wine replacement that's tailor-made for use with decomp projects. Regular Wine can be used if preferred, but for the purposes of this guide, these instructions will use wibo.
- Download the latest GitHub release and run
install ./wibo /usr/binto install it to your system.
- Install devkitPPC.
- To get devkitPPC, you'll need devkitPro Pacman.
- Run
dkp-pacman -S devkitPPConce dkp-pacman is installed to install devkitPPC. - Set the
DEVKITPPCenvironment variable to /opt/devkitpro/devkitPPC.
- Run
- To get devkitPPC, you'll need devkitPro Pacman.
- Set the
N64_SDKenvironment variable to the path of your libultra or equivalent headers. If you need headers, you can use the ones from ultralib.- Headers should be located at
$N64_SDK/ultra/usr/include. - You may need to modify
Gpopmtx'sparammember to beunsigned intin gbi.h.
- Headers should be located at
- Run
python3 configure.py. - Run
ninja.
Credits
- jamchamb, Cuyler36, NWPlayer123 and fraser125 for past documentation of Animal Crossing.
- SeekyCt for ppcdis and helping setting up the project.
- msg for helping with tools/map.py.
Languages
C
95.4%
C++
2.7%
Python
1.7%
Pawn
0.1%