kuchenmitsahne a4d5910cdb m_random_field OK (#241)
* 25 functions OK

* 10 functions OK

* Add block type and block kind enums/defines

* Formatting/style pass

* Move `FieldMakeBlockType` to `m_field_make`

* Remove unused/duplicate defines

* Split data out for `m_quest` and `m_random_field`; rename data symbols

* Generate `m_random_field.c` and rename function symbols.

* mRF_BlockTypeDirect2GateType, mRF_BlockTypeDirect2GateData OK

* mRF_Type2BlockInfo, mRF_Info2BlockType, mRF_GateType2GateCount, mRF_SearchPond, mRF_Attr2BeastRoadAttr, mRF_CheckBeastRoad OK

* mFI_GetUnitCol OK; mRF_PrintDebug and mRF_BlockInf2CheckBeastRoad OK (pending data import).

* Fix `m_random_field` code split; all newly included functions OK

* Fix mRF_Malloc return type; formatting pass

* Name m_random_field_ovl

* Rename data symbols (m_random_field_ovl).

* Rename symbols (all functions named)

* Import data

* Declare overlay segment; rename symbols

* mRF_MakeRandomField OK (all functions matching).

* Extract asset `data_combi_table`

* Clean up mRF_MakeRandomField; document m_field_make.h

* Rename mCoBG_unkStruct->unk6 as unitAttribute

* Misc cleanup and formatting.

* Rename additional data symbols (m_random_field_ovl).

* Formatting pass

* Improve documentation of BackgroundAttribute enum.

* Formatting pass; add omitted attribute.
2025-06-04 16:38:23 -07:00
2024-05-30 14:00:57 -07:00
2024-02-23 15:35:09 -07:00
2024-02-23 15:35:09 -07:00
2025-06-04 16:38:23 -07:00
2025-02-21 17:03:51 -07:00
2025-06-04 16:38:23 -07:00
2024-05-17 18:28:20 -07:00
2025-06-04 16:38:23 -07:00
2025-06-04 16:38:23 -07:00
2025-06-04 16:38:23 -07:00
2023-03-29 03:42:56 +01:00
2024-02-23 15:35:09 -07:00
2024-08-17 19:09:55 -07:00
2024-02-23 15:35:09 -07:00
2023-03-29 03:42:56 +01:00
2024-05-16 22:42:31 -07:00
2023-03-22 01:22:47 +09:00
2025-02-21 17:03:51 -07:00
2024-08-17 19:09:55 -07:00
2024-04-24 12:42:34 -07:00

Animal Forest Build Status Code jp Progress Discord Channel

This is a work-in-progress decompilation project for the Nintendo 64 game Animal Forest, also known as どうぶつの森 (Doubutsu no Mori). There is a decompilation project for the GameCube versions (Animal Crossing, etc.) here.

- WARNING! -

This repository is a work in progress, and while it can be used to make certain changes, it's 
still constantly evolving. If you wish to use it for modding purposes in its current state,
please be aware that the codebase could drastically change at any time. Also note that some
parts of the ROM may not be 'shiftable' yet, so modifying them could currently be difficult.

Note: this project is not a port, to PC or any other platform. It takes a Nintendo 64 rom, extracts assets from it, and combines them with C code we reverse-engineered from the rom, to produce an identical rom. It is explicitly a non-goal for this project to be used as basis for a port, or to be used for any commercial purpose.

Setup

Linux

1. Install build dependencies

The build process has the following package requirements:

  • make
  • git
  • build-essential
  • clang
  • binutils-mips-linux-gnu
  • python3
  • python3-pip
  • python3-venv

Under Debian / Ubuntu (which we recommend using), you can install them with the following commands:

sudo apt update
sudo apt install make git build-essential clang binutils-mips-linux-gnu python3 python3-pip python3-venv

2. Install python dependencies

The build process has a few python packages required that are located in requirements.txt.

To install them simply run in a terminal:

make venv

3. Prepare a base ROM

Copy your ROM to inside baseroms/ in the version folder corresponding to your ROM's version, and rename the file of the baserom to baserom.z64. ex: baseroms/jp/baserom.z64

4. Make and Build the ROM

To start the extraction/build process, run the following command:

make setup
make extract
make
make compress

Note about licensing

The contents of the src and include folders are, as far as possible, licensed under CC0.

Other folders and files in the repository are CC0 unless they specify another license.

The licensing of this repository does not cover subrepos, namely:

  • tools/asm-differ
  • tools/asm-processor
  • tools/fado
  • lib/ultralib
  • tools/z64compress
S
Description
Decompilation of Animal Forest
Readme CC0-1.0 8.6 MiB
Languages
C 84%
Python 10.3%
Assembly 1.7%
Linker Script 1.6%
Rust 1.6%
Other 0.7%