MisterSheeple 0db4b04d70 Add Docker support + README overhaul (#136)
* 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
2023-11-07 23:07:21 -05:00
2022-12-17 13:56:20 +01:00
2023-09-09 15:07:18 +02:00
2023-03-13 11:58:42 +00:00
2023-01-22 17:42:30 +01:00
2023-10-11 02:46:01 -04:00
2023-09-20 09:31:47 -04:00
2022-12-17 13:56:20 +01:00

Animal Crossing Decompilation Discord Channel

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. 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.
  5. Download the CodeWarrior 1.3.2r compiler and extract it to tools/1.3.2r/.
  6. Install Docker.
  7. Build the Docker image (docker build -t ac-decomp .).
  8. Run configure.py (docker run -it --rm -v ${PWD}:/ac-decomp ac-decomp python3 configure.py).
  9. 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 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. 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.
  5. Download the CodeWarrior 1.3.2r compiler and extract it to tools/1.3.2r/.
  6. Install Python, pip, and ninja using your package manager of choice.
  7. Install Python modules from requirements.txt (pip install -r requirements.txt).
  8. 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.
  9. 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.
  10. 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.
  11. Run python3 configure.py.
  12. 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.
S
Description
No description provided
Readme CC0-1.0 18 MiB
Languages
C 95.4%
C++ 2.7%
Python 1.7%
Pawn 0.1%