2017-09-16 15:13:06 -04:00
|
|
|
#ifndef GUARD_FIELDMAP_H
|
|
|
|
#define GUARD_FIELDMAP_H
|
2017-09-16 13:54:33 -04:00
|
|
|
|
2018-09-18 10:03:24 -05:00
|
|
|
#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 13
|
2018-12-28 11:18:23 -06:00
|
|
|
#define MAX_MAP_DATA_SIZE 0x2800
|
2018-09-18 10:03:24 -05:00
|
|
|
|
2019-03-02 02:44:02 -05:00
|
|
|
#include "main.h"
|
|
|
|
|
2018-12-28 11:18:23 -06:00
|
|
|
extern struct BackupMapLayout gBackupMapLayout;
|
2017-09-16 13:54:33 -04:00
|
|
|
|
2017-10-22 18:55:07 -04:00
|
|
|
u32 MapGridGetMetatileIdAt(int, int);
|
2017-10-13 11:09:36 -04:00
|
|
|
u32 MapGridGetMetatileBehaviorAt(int, int);
|
2017-10-12 02:06:19 -05:00
|
|
|
void MapGridSetMetatileIdAt(int, int, u16);
|
2017-10-22 18:55:07 -04:00
|
|
|
void MapGridSetMetatileEntryAt(int, int, u16);
|
2017-09-13 11:16:26 +02:00
|
|
|
void GetCameraCoords(u16*, u16*);
|
2018-05-09 05:07:56 -05:00
|
|
|
bool8 MapGridIsImpassableAt(int, int);
|
|
|
|
int GetMapBorderIdAt(int x, int y);
|
|
|
|
int CanCameraMoveInDirection(int direction);
|
2017-10-22 18:55:07 -04:00
|
|
|
u16 GetBehaviorByMetatileId(u16 metatileId);
|
2018-12-28 11:18:23 -06:00
|
|
|
void GetCameraFocusCoords(u16 *x, u16 *y);
|
2018-04-18 17:42:41 +05:30
|
|
|
u8 MapGridGetMetatileLayerTypeAt(s32 x, s32 y);
|
2018-06-11 10:23:14 -05:00
|
|
|
u8 MapGridGetZCoordAt(int x, int y);
|
2018-04-18 17:42:41 +05:30
|
|
|
u8 CameraMove(s32 deltaX, s32 deltaY);
|
2018-05-09 05:07:56 -05:00
|
|
|
struct MapConnection *sub_8088950(u8 direction, int x, int y);
|
|
|
|
bool8 sub_80889A8(u8 direction, int x, int y, struct MapConnection *connection);
|
|
|
|
bool8 sub_8088A0C(int x, int src_width, int dest_width, int offset);
|
2018-11-12 00:46:02 +01:00
|
|
|
void save_serialize_map(void);
|
2018-12-28 11:18:23 -06:00
|
|
|
void sub_8088B3C(u16 x, u16 y);
|
|
|
|
void InitMap(void);
|
|
|
|
void InitMapFromSavedGame(void);
|
|
|
|
void InitTrainerHillMap(void);
|
2019-02-06 20:01:29 -06:00
|
|
|
void InitBattlePyramidMap(bool8 setPlayerPosition);
|
2019-02-08 11:48:51 -06:00
|
|
|
void copy_map_tileset1_tileset2_to_vram(struct MapLayout const *mapLayout);
|
|
|
|
void apply_map_tileset1_tileset2_palette(struct MapLayout const *mapLayout);
|
|
|
|
void apply_map_tileset2_palette(struct MapLayout const *mapLayout);
|
|
|
|
void copy_map_tileset2_to_vram_2(struct MapLayout const *mapLayout);
|
2019-03-01 22:32:50 -05:00
|
|
|
void copy_map_tileset1_to_vram(const struct MapLayout *);
|
|
|
|
void copy_map_tileset2_to_vram(const struct MapLayout *);
|
2019-03-02 02:44:02 -05:00
|
|
|
struct MapHeader const *const mapconnection_get_mapheader(struct MapConnection *connection);
|
|
|
|
struct MapConnection *sub_8088A8C(s16 x, s16 y);
|
2017-09-16 13:54:33 -04:00
|
|
|
|
2018-05-10 18:36:57 -05:00
|
|
|
void SpriteCB_PokeballGlow(struct Sprite *);
|
|
|
|
void SpriteCB_PokecenterMonitor(struct Sprite *);
|
|
|
|
void SpriteCB_HallOfFameMonitor(struct Sprite *);
|
|
|
|
|
2019-03-02 02:44:02 -05:00
|
|
|
// field_region_map.c
|
|
|
|
void FieldInitRegionMap(MainCallback callback);
|
2019-04-01 12:05:58 -04:00
|
|
|
void sub_8088B94(int x, int y, int a2);
|
2019-03-02 02:44:02 -05:00
|
|
|
|
2017-09-16 15:13:06 -04:00
|
|
|
#endif //GUARD_FIELDMAP_H
|