mirror of
https://github.com/pret/pokeheartgold.git
synced 2026-05-09 20:32:50 -05:00
82 lines
2.9 KiB
C
82 lines
2.9 KiB
C
#ifndef POKEHEARTGOLD_MAP_HEADER_H
|
|
#define POKEHEARTGOLD_MAP_HEADER_H
|
|
|
|
#include "global.h"
|
|
|
|
#include "constants/battle.h"
|
|
|
|
#define MAP_FOLLOWMODE_PREVENT 0
|
|
#define MAP_FOLLOWMODE_HEIGHT_RESTRICT 1
|
|
#define MAP_FOLLOWMODE_ALLOW 2
|
|
|
|
typedef struct MapHeader {
|
|
u8 wildEncounterBank; // fielddata/encountdata/[gs]_enc_data.naix
|
|
u8 areaDataBank; // fielddata/areadata/area_data.naix
|
|
u16 moveModelBank : 4; // fielddata/mm_list/move_model_list.naix
|
|
u16 worldMapX : 6;
|
|
u16 worldMapY : 6;
|
|
u16 matrixId; // fielddata/mapmatrix/map_matrix.naix
|
|
u16 scriptsBank; // fielddata/script/scr_seq_release.naix
|
|
u16 scriptHeaderBank; // fielddata/script/scr_seq_release.naix
|
|
u16 msgBank; // msgdata/msg.naix
|
|
u16 dayMusicId; // data/sound/gs_sound_data.sdat
|
|
u16 nightMusicId; // data/sound/gs_sound_data.sdat
|
|
u16 eventsBank; // fielddata/eventdata/zone_event_release.naix
|
|
u16 mapsec : 8;
|
|
u16 areaIcon : 4;
|
|
u16 unk_12_C : 4;
|
|
u32 isKanto : 1;
|
|
u32 weather : 7;
|
|
u32 mapType : 4;
|
|
u32 cameraType : 6;
|
|
u32 followMode : 2;
|
|
u32 battleBg : 5;
|
|
u32 bikeAllowed : 1;
|
|
u32 unk_14_1A : 1; // unused running flag?
|
|
u32 escapeRopeAllowed : 1;
|
|
u32 flyAllowed : 1;
|
|
u32 unk_14_1D : 1;
|
|
u32 unk_14_1E : 1;
|
|
u32 unk_14_1F : 1;
|
|
} MapHeader;
|
|
|
|
u8 MapHeader_GetAreaDataBank(u32 mapId);
|
|
u16 MapHeader_GetMoveModelBank(u32 mapId);
|
|
u16 MapHeader_GetMatrixId(u32 mapId);
|
|
u16 MapHeader_GetMsgBank(u32 mapId);
|
|
u16 MapHeader_GetScriptsBank(u32 mapId);
|
|
u16 MapHeader_GetScriptHeaderBank(u32 mapId);
|
|
u16 MapHeader_GetDayMusicId(u32 mapId);
|
|
u16 MapHeader_GetNightMusicId(u32 mapId);
|
|
BOOL MapHeader_HasWildEncounters(u32 mapId);
|
|
u8 MapHeader_GetWildEncounterBank(u32 mapId);
|
|
u16 MapHeader_GetEventsBank(u32 mapId);
|
|
u16 MapHeader_GetMapSec(u32 mapId);
|
|
u8 MapHeader_GetAreaIcon(u32 mapId);
|
|
u8 MapHeader_GetMomCallIntroParam(u32 mapId);
|
|
BOOL MapHeader_IsKanto(u32 mapId);
|
|
u32 MapHeader_GetWeatherType(u32 mapId);
|
|
u32 MapHeader_GetCameraType(u32 mapId);
|
|
BattleBg MapHeader_GetBattleBg(u32 mapId);
|
|
BOOL MapHeader_IsEscapeRopeAllowed(u32 mapId);
|
|
BOOL MapHeader_IsFlyAllowed(u32 mapId);
|
|
BOOL MapHeader_IsBikeAllowed(u32 mapId);
|
|
BOOL MapHeader_GetField14_1D(u32 mapId);
|
|
BOOL MapHeader_GetField14_1E(u32 mapId);
|
|
BOOL MapHeader_GetField14_1F(u32 mapId);
|
|
u32 MapHeader_GetMapType(u32 mapId);
|
|
u8 MapHeader_GetFollowMode(u32 mapId);
|
|
void MapHeader_GetWorldMapCoords(u32 mapId, s16 *x, s16 *y);
|
|
BOOL MapHeader_IsOutdoors(u32 mapId);
|
|
BOOL MapHeader_MapIsOnMainMatrix(u32 mapId);
|
|
BOOL MapHeader_IsCave(u32 mapId);
|
|
BOOL sub_0203B58C(u32 mapId);
|
|
BOOL sub_0203B5AC(u32 mapId);
|
|
BOOL MapHeader_MapIsUnionRoom(u32 mapId);
|
|
BOOL MapHeader_MapIsAmitySquare(u32 mapId);
|
|
BOOL MapHeader_MapIsPokemonCenter(u32 mapId);
|
|
BOOL MapHeader_MapIsPokemonLeagueLobby(u32 mapId);
|
|
u16 MapHeader_GetMapEvolutionMethod(u32 mapId);
|
|
|
|
#endif // POKEHEARTGOLD_MAP_HEADER_H
|