pokeheartgold/include/map_header.h
2021-12-23 18:30:27 -05:00

75 lines
2.8 KiB
C

#ifndef POKEHEARTGOLD_MAP_HEADER_H
#define POKEHEARTGOLD_MAP_HEADER_H
typedef struct MapHeader
{
u8 wild_encounter_bank; // fielddata/encountdata/[gs]_enc_data.naix
u8 area_data_bank; // fielddata/areadata/area_data.naix
u16 move_model_bank:4; // fielddata/mm_list/move_model_list.naix
u16 world_map_x:6;
u16 world_map_y:6;
u16 matrix_id; // fielddata/mapmatrix/map_matrix.naix
u16 scripts_bank; // fielddata/script/scr_seq_release.naix
u16 script_header_bank; // fielddata/script/scr_seq_release.naix
u16 msg_bank; // msgdata/msg.naix
u16 day_music_id; // data/sound/gs_sound_data.sdat
u16 night_music_id; // data/sound/gs_sound_data.sdat
u16 events_bank; // fielddata/eventdata/zone_event_release.naix
u16 mapsec:8;
u16 area_icon:4;
u16 unk_12_C:4;
u32 is_kanto:1;
u32 weather:7;
u32 location_type:4;
u32 camera_type:6;
u32 follow_mode:2;
u32 battle_bg:5;
u32 bike_allowed:1;
u32 unk_14_1A:1; // unused running flag?
u32 escape_rope_allowed:1;
u32 fly_allowed:1;
u32 unk_14_1D:1;
u32 unk_14_1E:1;
u32 unk_14_1F:1;
} MAP_HEADER;
u8 MapHeader_GetAreaDataBank(u32 map_no);
u16 MapHeader_GetMoveModelBank(u32 map_no);
u16 MapHeader_GetMatrixId(u32 map_no);
u16 MapHeader_GetMsgBank(u32 map_no);
u16 MapHeader_GetScriptsBank(u32 map_no);
u16 MapHeader_GetScriptHeaderBank(u32 map_no);
u16 MapHeader_GetDayMusicId(u32 map_no);
u16 MapHeader_GetNightMusicId(u32 map_no);
BOOL MapHeader_HasWildEncounters(u32 map_no);
u8 MapHeader_GetWildEncounterBank(u32 map_no);
u16 MapHeader_GetEventsBank(u32 map_no);
u16 MapHeader_GetMapSec(u32 map_no);
u8 MapHeader_GetAreaIcon(u32 map_no);
u8 MapHeader_GetField12_C(u32 map_no);
BOOL MapHeader_IsKanto(u32 map_no);
u32 MapHeader_GetWeatherType(u32 map_no);
u32 MapHeader_GetCameraType(u32 map_no);
u32 MapHeader_GetBattleBg(u32 map_no);
BOOL MapHeader_IsEscapeRopeAllowed(u32 map_no);
BOOL MapHeader_IsFlyAllowed(u32 map_no);
BOOL MapHeader_IsBikeAllowed(u32 map_no);
BOOL MapHeader_GetField14_1D(u32 map_no);
BOOL MapHeader_GetField14_1E(u32 map_no);
BOOL MapHeader_GetField14_1F(u32 map_no);
u32 MapHeader_GetMapType(u32 map_no);
u8 MapHeader_GetFollowMode(u32 map_no);
void MapHeader_GetWorldMapCoords(u32 map_no, u16* x, u16* y);
BOOL MapHeader_IsOutdoors(u32 map_no);
BOOL MapHeader_MapIsOnMainMatrix(u32 map_no);
BOOL MapHeader_IsCave(u32 map_no);
BOOL sub_0203B58C(u32 map_no);
BOOL sub_0203B5AC(u32 map_no);
BOOL MapHeader_MapIsUnionRoom(u32 map_no);
BOOL MapHeader_MapIsAmitySquare(u32 map_no);
BOOL MapHeader_MapIsPokemonCenter(u32 map_no);
BOOL MapHeader_MapIsPokemonLeagueLobby(u32 map_no);
u16 MapHeader_GetMapEvolutionMethod(u32 map_no);
#endif //POKEHEARTGOLD_MAP_HEADER_H