pokeplatinum/include/overlay005/map_prop_material_shape.h
Kuruyia be823a26bb Document area data
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>
2025-02-22 13:38:54 +01:00

29 lines
1.1 KiB
C

#ifndef POKEPLATINUM_OV5_MAP_PROP_MATERIAL_SHAPE_H
#define POKEPLATINUM_OV5_MAP_PROP_MATERIAL_SHAPE_H
#include <nitro/types.h>
typedef struct MapPropMaterialShapeIDsLocator {
u16 idsCount;
u16 idsIndex;
} MapPropMaterialShapeIDsLocator;
typedef struct MapPropMaterialShapeIDs {
u16 materialID;
u16 shapeID;
} MapPropMaterialShapeIDs;
typedef struct MapPropMaterialShape {
MapPropMaterialShapeIDsLocator *idsLocators;
MapPropMaterialShapeIDs *ids;
} MapPropMaterialShape;
MapPropMaterialShape *MapPropMaterialShape_Alloc(void);
void MapPropMaterialShape_Load(const char *path, MapPropMaterialShape *propMatShp);
void MapPropMaterialShape_Free(MapPropMaterialShape *propMatShp);
void MapProp_GetMaterialShapeIDsCount(const int mapPropModelID, const MapPropMaterialShape *propMatShp, u16 *idsCount);
void MapProp_GetMaterialShapeIDsLocator(const int mapPropModelID, const MapPropMaterialShape *propMatShp, u16 *idsCount, u16 *idsIndex);
MapPropMaterialShapeIDs const *MapPropMaterialShape_GetMaterialShapeIDsAt(const u16 index, const MapPropMaterialShape *propMatShp);
#endif // POKEPLATINUM_OV5_MAP_PROP_MATERIAL_SHAPE_H