This moves the files holding constants for the BDHC, map matrix and map
prop subsystems to the `include/constants/field` directory.
Signed-off-by: Kuruyia <github@kuruyia.net>
* Footstep house types and script commands
* Generated ribbons + messages
* Get Friendship + Get/Set Ribbon map scripts
* First non egg in party
* Standarized "ribbonID" as "monDataParam" and "ribbonNum" as "ribbonID"
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_021D521C.c` file, which is in charge of managing
lighting according to the currently loaded map area and the current
wall-clock time.
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>
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