diff options
author | Akira Akashi <rubenru09@aol.com> | 2021-07-05 17:58:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-05 17:58:13 +0100 |
commit | 53664729466e97abbe10c14fe735083b2d604add (patch) | |
tree | da0ed2401917713c766ff90c21884907685e1d5c /include | |
parent | 561173058a8891c93a2c19fcead26fdcef95f2e5 (diff) | |
parent | 7a2362a15aade4fde583b6612cff3d6613a5eaa4 (diff) |
Merge branch 'master' into master
Diffstat (limited to 'include')
-rw-r--r-- | include/map_header.h | 26 | ||||
-rw-r--r-- | include/map_matrix.h | 54 |
2 files changed, 67 insertions, 13 deletions
diff --git a/include/map_header.h b/include/map_header.h index 20677025..60c8baaf 100644 --- a/include/map_header.h +++ b/include/map_header.h @@ -17,10 +17,10 @@ struct MapHeader u8 weather_type; u8 camera_type; u8 unk16; - u8 unk17_0:4; + u8 battle_bg:4; u8 is_bike_allowed:1; - u8 unk17_5:1; - u8 unk17_6:1; + u8 is_running_allowed:1; // unused + u8 is_escape_rope_allowed:1; u8 is_fly_allowed:1; }; @@ -38,24 +38,24 @@ u16 MapHeader_GetEventsBank(u32 mapno); u16 MapHeader_GetMapSec(u32 mapno); u8 MapHeader_GetWeatherType(u32 mapno); u8 MapHeader_GetCameraType(u32 mapno); -u8 MapHeader_GetField17_0(u32 mapno); -u8 MapHeader_GetField17_6(u32 mapno); +u8 MapHeader_GetBattleBg(u32 mapno); +u8 MapHeader_IsEscapeRopeAllowed(u32 mapno); u8 MapHeader_IsFlyAllowed(u32 mapno); u8 MapHeader_IsBikeAllowed(u32 mapno); u8 MapHeader_GetField16(u32 mapno); BOOL FUN_020348E4(u32 mapno); -BOOL MapHeader_MapIsOnOverworldMatrix(u32 mapno); +BOOL MapHeader_MapIsOnMainMatrix(u32 mapno); BOOL FUN_0203491C(u32 mapno); BOOL FUN_02034930(u32 mapno); BOOL FUN_02034944(u32 mapno); BOOL FUN_02034964(u32 mapno); BOOL FUN_02034984(u32 mapno); -BOOL FUN_02034998(u32 mapno); -BOOL FUN_020349AC(u32 mapno); -BOOL FUN_020349B8(u32 mapno); -BOOL FUN_020349CC(u32 mapno); -BOOL FUN_020349D8(u32 mapno); -BOOL FUN_020349E4(u16 a0); -u16 FUN_02034A04(u16 a0); +BOOL MapHeader_MapIsUnionRoom(u32 mapno); +BOOL MapHeader_MapIsMtCoronetFeebasRoom(u32 mapno); +BOOL MapHeader_MapIsTrophyGarden(u32 mapno); +BOOL MapHeader_MapIsAmitySquare(u32 mapno); +BOOL MapHeader_MapIsSpearPillar(u32 mapno); +BOOL MapHeader_MapIsPokemonCenterSecondFloor(u32 mapno); +u16 MapHeader_GetMapEvolutionMethod(u32 mapno); #endif //POKEDIAMOND_MAP_HEADER_H 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 |