mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-28 07:54:55 -04:00
80ef14e4801738e65e497010635a311123d64a9d
* match and link JKRAram.cpp * match and link JKRExpHeap * match and link JKRAramStream.cpp * match and link JKRFileLoader.cpp * match and link JKRFileFinder.cpp * JKernel Dump * match and link JKRAramArchive.cpp * match and link JKRDvdArchive.cpp * match and link JKRCompArchive.cpp * match but not link JKRDvdAramRipper * small refactors * match and link JKRThread.cpp * fix and link JKRDvdAramStream.cpp * Formatting fixes --------- Co-authored-by: SwareJonge <olaf23okken@gmail.com>
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%