This documents the `ov5_021E779C.c` file, which is in charge of loading
map data from the `land_data.narc` archive, dynamically load and unload
maps as the player moves, and render the map base models and their
props.
Also, for the viewer's pleasure, it includes a ton of Distortion
World-specific functions.
This also documents the `ov5_021EEAC8.c` file, which is in charge of
managing buffer allocation for the map base model and BDHC data.
Signed-off-by: Kuruyia <github@kuruyia.net>
This documents the `ov5_021D5878.c` file, which manages a data structure
containing various attributes used when rendering 3D models.
Those attributes directly map to polygon attributes/parameters that are
exposed by the NDS 3D hardware.
Signed-off-by: Kuruyia <github@kuruyia.net>
Documents honey_tree. Mostly. There are some functions related to the overworld tree shaking animation that I didn't document, but it's at least contextually obvious what the end result is.
Also might have a bit of roamer stuff, idk, this commit was sitting for 2 weeks
Document OV6_02247660, which handles Feebas tile fishing. Could probably be merged into another file but I leave decisions like that to the smart people.
This new code is responsible for packing the following archives:
- `pl_personal` -> basic information for each species: stats, types, etc.
- `evo` -> evolution lines for each species
- `wotbl` -> by-level learnsets for each species
- `ppark` -> catching show data for each species
- `height` -> y-offsets for front and back sprites for each species
- `pl_poke_data` -> sprite-rendering data for each species: animation
ID, frame data, shadow size and offsets, etc.
Additionally, the following headers are generated:
- `res/pokemon/tutorable_moves.h` -> A listing of moves taught by each
tutor and how much each move costs to be tutored
- `res/pokemon/species_learnsets_by_tutor.h` -> An array of bitmasks for
each species designating which moves can be tutored to that species