mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-30 16:35:29 -04:00
079f8dce91b1f3927c3b4cbee3676793c79c4b57
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, the build is known to run disproportionately slow when ran natively, so we recommend using WSL.
Docker
- Dump a copy of the game and extract all files.
- Place main.dol, foresta.rel.szs, forest_1st.arc, and forest_2nd.arc in dump/.
- Install Docker.
- Build the Docker image. If using MacOS or Linux (including WSL), run
chmod +x build-docker.sh && ./build-docker.sh. If using Windows, run thebuild-docker.batfile. - Run configure.py (
docker run --rm -v ${PWD}:/ac-decomp ac-decomp python3 configure.py). - Run build.py (
docker run --rm -v ${PWD}:/ac-decomp ac-decomp python3 build.py).
Build manually
ℹ️ When building manually from a work directory previously 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 all files.
- Place main.dol, foresta.rel.szs, forest_1st.arc, and forest_2nd.arc in dump/.
- Download the CodeWarrior 1.3.2, 1.3.2r, and 1.2.5n compilers and extract them to tools/1.3.2/, tools/1.3.2r/, and tools/1.2.5n/, respectively.
- Install Python, pip, and ninja using your package manager of choice.
- Install Python modules from requirements.txt (
pip install -r requirements.txt). - Install version 0.6.13 of 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 version 0.6.13 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 must modify
Gpopmtx'sparammember to beunsigned intin gbi.h.
- Headers should be located at
- Run
python3 configure.py. - Run
python3 build.py.
Quick Guides
- Dumping Game Files
- Ghidra Setup
- Generating Decomp Context
- decomp.me Basics
- Ghidra Basics
- m2c Basics
- Decomp Basics
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%