diff options
author | Gogume1er <gogume1er@gmail.com> | 2021-07-02 18:22:29 +0200 |
---|---|---|
committer | Gogume1er <gogume1er@gmail.com> | 2021-07-02 18:22:29 +0200 |
commit | 50d1f49f2b2b73663c447ae09e0fb3c602a1a973 (patch) | |
tree | 87acbfe23fbe56bee4efe47a1cb5a303342fbf20 /include/map_matrix.h | |
parent | 8f7c115c0e110aa50a5c81b9a8f7dec31760fa67 (diff) |
decompile unk_020343A8 to map_matrix
Diffstat (limited to 'include/map_matrix.h')
-rw-r--r-- | include/map_matrix.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/include/map_matrix.h b/include/map_matrix.h new file mode 100644 index 00000000..87e732dc --- /dev/null +++ b/include/map_matrix.h @@ -0,0 +1,54 @@ +#ifndef POKEDIAMOND_MAP_MATRIX_H +#define POKEDIAMOND_MAP_MATRIX_H + +#define MAP_MATRIX_MAX_WIDTH 30 +#define MAP_MATRIX_MAX_HEIGHT 30 +#define MAP_MATRIX_MAX_SIZE (MAP_MATRIX_MAX_WIDTH * MAP_MATRIX_MAX_HEIGHT) + +#define MAP_MATRIX_MAX_NAME_LENGTH 16 + +struct MapData +{ + u16 data[MAP_MATRIX_MAX_SIZE]; +}; + +struct MapMatrixData +{ + u8 height; + u8 width; + u16 headers[MAP_MATRIX_MAX_SIZE]; + u8 altitudes[MAP_MATRIX_MAX_SIZE]; + struct MapData maps; + u8 name[MAP_MATRIX_MAX_NAME_LENGTH]; +}; + +struct MapMatrix +{ + u8 width; + u8 height; + u8 matrix_id; + struct MapMatrixData data; +}; + +struct MapMatrix *MapMatrix_New(void); +void MapMatrix_Load(u16 map_id, struct MapMatrix *map_matrix); +void MapMatrix_Free(struct MapMatrix *map_matrix); +u16 MapMatrix_GetMapData(s32 map_id, struct MapMatrix *map_matrix); +u8 MapMatrix_GetWidth(struct MapMatrix *map_matrix); +u8 MapMatrix_GetHeight(struct MapMatrix *map_matrix); +u16 MapMatrix_GetMapHeader(struct MapMatrix *map_matrix, s32 x, s32 y); +u16 MapMatrix_GetMapHeaderFromID(struct MapMatrix *map_matrix, s32 map_id); +u8 MapMatrix_GetMatrixID(struct MapMatrix *map_matrix); +u32 MapMatrix_GetMapAltitude( + struct MapMatrix *map_matrix, u8 param1, s16 x, s16 y, int matrix_width); + +struct MapData *MapMatrix_MapData_New(u32 heap_id); +void MapMatrix_MapData_Free(struct MapData *map_data); +u16 MapMatrix_MapData_GetData(struct MapData *map_data, s32 x, s32 y); + +u16 GetMapHeader(u32 file_id, u16 x, u16 y); +u16 GetMapData(s32 map_id, struct MapMatrix *map_matrix); +void FUN_02034678(struct MapMatrix *map_matrix); +void FUN_020346CC(struct MapMatrix *map_matrix); + +#endif // POKEDIAMOND_MAP_MATRIX_H |