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>
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>
- `resultVar` -> `destVarID`
- Clean up member names for `HiddenLocation` and `DistributionEvent`
- `Set/Clear` -> `Enable/Disable` for HiddenLocation script macros
- `ScrCmd_SetOrClearHiddenLocation` -> `ScrCmd_SetHiddenLocation`
- `SYSTEM_VARS_BLOCK_SIZE` -> `NUM_SYSTEM_VARS`
- Identify `scripts_unk_0412` -> `scripts_init_new_game`
- Add `SCRIPT_ID_OFFSET_INIT_NEW_GAME` constant definition
- Add `SCRIPT_ID` functional macro
- Use `SCRIPT_ID(INIT_NEW_GAME, 0)` in `FieldSystem_InitNewGameState`
- Promote `LCRNG_MULTIPLIER` in `math.c` from private to public
- Use private `LCRNG_INCREMENT` in `system_vars.c` for lottery sync
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>