#ifndef GUARD_FIELDMAP2_H #define GUARD_FIELDMAP2_H #include "event_object_movement.h" #define NUM_TILES_IN_PRIMARY 512 #define NUM_TILES_TOTAL 1024 #define NUM_METATILES_IN_PRIMARY 512 #define NUM_METATILES_TOTAL 1024 #define NUM_PALS_IN_PRIMARY 6 #define NUM_PALS_TOTAL 12 #define MAX_MAP_DATA_SIZE 0x2800 extern struct BackupMapLayout gBackupMapLayout; struct MapHeader *mapconnection_get_mapheader(struct MapConnection *connection); int GetMapBorderIdAt(int x, int y); int CanCameraMoveInDirection(int direction); u16 GetBehaviorByMetatileId(u16 metatile); void MapGridSetMetatileEntryAt(int, int, u16); void not_trainer_hill_battle_pyramid(void); void sub_8055FC0(void); void mapheader_copy_mapdata_with_padding(struct MapHeader *mapHeader); void map_copy_with_padding(u16 *map, u16 width, u16 height); void sub_80560AC(struct MapHeader *); void fillSouthConnection(struct MapHeader *, struct MapHeader *, s32); void fillNorthConnection(struct MapHeader *, struct MapHeader *, s32); void fillWestConnection(struct MapHeader *, struct MapHeader *, s32); void fillEastConnection(struct MapHeader *, struct MapHeader *, s32); u8 MapGridGetZCoordAt(int s, int y); u8 MapGridIsImpassableAt(int, int); u32 MapGridGetMetatileIdAt(int, int); u32 MapGridGetMetatileBehaviorAt(int x, int y); // return: (u8|u16|int) args: (int|s16|s32) u8 MapGridGetMetatileLayerTypeAt(int, int); void MapGridSetMetatileIdAt(int, int, u16); u16 GetBehaviorByMetatileId(u16 metatile); void save_serialize_map(void); void sub_8056670(); bool8 CameraMove(int, int); struct MapConnection *sub_8056A64(u8 direction, int x, int y); bool8 sub_8056ABC(u8 direction, int x, int y, struct MapConnection *connection); bool8 sub_8056B20(int x, int src_width, int dest_width, int offset); struct MapConnection *sub_8056BA0(s16 x, s16 y); // fieldmap.c void sub_8056C50(u16, u16); void sav1_camera_get_focus_coords(u16 *x, u16 *y); void GetCameraCoords(u16*, u16*); void sub_8056D28(struct MapLayout *pData); void sub_8056D38(struct MapLayout *pData); void apply_map_tileset2_palette(struct MapLayout *pData); void copy_map_tileset1_tileset2_to_vram(/*TODO: arg types*/); void apply_map_tileset1_tileset2_palette(/*TODO: arg types*/); #endif