Skip to content

Decompilation in progress of Animal Crossing for the Nintendo GameCube.

Notifications You must be signed in to change notification settings

kalomaze/ac-decomp

 
 

Repository files navigation

Animal Crossing Decompilation Discord Channel rel progress dol progress

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

  1. Dump a copy of the game and extract main.dol and foresta.rel.szs.
  2. Decompress foresta.rel.szs with yaz0 found in tools/ (yaz0 -d foresta.rel.szs foresta.rel).
  3. Place main.dol and foresta.rel in dump/.
  4. Place forest_1st.arc and forest_2nd.arc in dump/.
  5. 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.
  6. Download the CodeWarrior 1.3.2r compiler and extract it to tools/1.3.2r/.
  7. Install Docker.
  8. Build the Docker image (docker build -t ac-decomp .).
  9. Run configure.py (docker run --rm -v ${PWD}:/ac-decomp ac-decomp python3 configure.py).
  10. Run build.py (docker run --rm -v ${PWD}:/ac-decomp ac-decomp python3 build.py).

Build manually

ℹ️ When building manually from a work directory originally used for Docker, you will need to run sudo ninja -t clean for the build to execute properly.

  1. Dump a copy of the game and extract main.dol and foresta.rel.szs.
  2. Decompress foresta.rel.szs with yaz0 found in tools/ (yaz0 -d foresta.rel.szs foresta.rel).
  3. Place main.dol and foresta.rel in dump/.
  4. Place forest_1st.arc and forest_2nd.arc in dump/.
  5. 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.
  6. Download the CodeWarrior 1.3.2r compiler and extract it to tools/1.3.2r/.
  7. Install Python, pip, and ninja using your package manager of choice.
  8. Install Python modules from requirements.txt (pip install -r requirements.txt).
  9. 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/bin to install it to your system.
  10. Install devkitPPC.
    • To get devkitPPC, you'll need devkitPro Pacman.
      • Run dkp-pacman -S devkitPPC once dkp-pacman is installed to install devkitPPC.
      • Set the DEVKITPPC environment variable to /opt/devkitpro/devkitPPC.
  11. Set the N64_SDK environment 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's param member to be unsigned int in gbi.h.
  12. Run python3 configure.py.
  13. Run python3 build.py.

Quick Guides

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.

About

Decompilation in progress of Animal Crossing for the Nintendo GameCube.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 87.8%
  • C++ 7.9%
  • Python 3.4%
  • Other 0.9%