#ifndef POKEPLATINUM_CONSTANTS_MAP_OBJECT_H
#define POKEPLATINUM_CONSTANTS_MAP_OBJECT_H

// Facing Direction
#define DIR_NORTH 0
#define DIR_SOUTH 1
#define DIR_WEST  2
#define DIR_EAST  3
#define MAX_DIR   4
#define DIR_NONE  -1

// Status Flags
#define MAP_OBJ_STATUS_0                           (1 << 0)
#define MAP_OBJ_STATUS_1                           (1 << 1)
#define MAP_OBJ_STATUS_START_MOVEMENT              (1 << 2)
#define MAP_OBJ_STATUS_END_MOVEMENT                (1 << 3)
#define MAP_OBJ_STATUS_4                           (1 << 4)
#define MAP_OBJ_STATUS_5                           (1 << 5)
#define MAP_OBJ_STATUS_PAUSE_MOVEMENT              (1 << 6)
#define MAP_OBJ_STATUS_LOCK_DIR                    (1 << 7)
#define MAP_OBJ_STATUS_PAUSE_ANIMATION             (1 << 8)
#define MAP_OBJ_STATUS_HIDE                        (1 << 9)
#define MAP_OBJ_STATUS_10                          (1 << 10)
#define MAP_OBJ_STATUS_11                          (1 << 11)
#define MAP_OBJ_STATUS_12                          (1 << 12)
#define MAP_OBJ_STATUS_13                          (1 << 13)
#define MAP_OBJ_STATUS_14                          (1 << 14)
#define MAP_OBJ_STATUS_SHOW_SHADOW                 (1 << 15)
#define MAP_OBJ_STATUS_START_JUMP                  (1 << 16)
#define MAP_OBJ_STATUS_END_JUMP                    (1 << 17)
#define MAP_OBJ_STATUS_18                          (1 << 18)
#define MAP_OBJ_STATUS_19                          (1 << 19)
#define MAP_OBJ_STATUS_HIDE_SHADOW                 (1 << 20)
#define MAP_OBJ_STATUS_21                          (1 << 21)
#define MAP_OBJ_STATUS_22                          (1 << 22)
#define MAP_OBJ_HEIGHT_CALCULATION_DISABLED        (1 << 23)
#define MAP_OBJ_STATUS_24                          (1 << 24)
#define MAP_OBJ_STATUS_25                          (1 << 25)
#define MAP_OBJ_STATUS_26                          (1 << 26)
#define MAP_OBJ_STATUS_27                          (1 << 27)
#define MAP_OBJ_STATUS_28                          (1 << 28)
#define MAP_OBJ_DYNAMIC_HEIGHT_CALCULATION_ENABLED (1 << 29)

#define MAP_OBJ_UNK_A0_00 0
#define MAP_OBJ_UNK_A0_01 1
#define MAP_OBJ_UNK_A0_02 2
#define MAP_OBJ_UNK_A0_03 3
#define MAP_OBJ_UNK_A0_04 4
#define MAP_OBJ_UNK_A0_05 5
#define MAP_OBJ_UNK_A0_06 6
#define MAP_OBJ_UNK_A0_07 7
#define MAP_OBJ_UNK_A0_08 8
#define MAP_OBJ_UNK_A0_09 9
#define MAP_OBJ_UNK_A0_10 10

#endif
