This documents the `ov5_021D37AC.c` file, which is in charge of managing
the animations on map props.
The map prop animation code is actually split into two separate
managers:
* The `MapPropAnimationManager`, which is in charge of loading animation
data from the two related NARC files, and managing long-running
animations (e.g. Valley Windworks windmills, Fuego Ironworks furnace,
Veilstone Game Corner lights...)
* The `MapPropOneShotAnimationManager`, which is in charge of loading
and playing "one shot" animations (e.g. any door opening/closing, the
Pokémon Center stairs...)
Signed-off-by: Kuruyia <github@kuruyia.net>
This documents the `ov5_021EF75C.c` file, which is in charge of loading
various "area data" NARCs that, in the end, contain the textures of
maps, the textures and models of map props, and lighting information.
Also, renamed `MapProp.id` to `MapProp.modelID` for more clarity
(especially when interacting with the new area data functions).
Signed-off-by: Kuruyia <github@kuruyia.net>
This mainly documents the `ov5_021E15F4.c` file, which is in charge of
reading map props from the land data NARC, managing them, and rendering
them.
A "map prop" is defined here as a 3D model that is separate from the map
3D model, and that can be positioned, rotated, and scaled independently.
For instance, they are usually used to place buildings on the various
maps.
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