Change metatile behaviors to enum (#2027)

This commit is contained in:
psf
2024-08-27 21:45:09 -07:00
committed by GitHub
parent bc7c46ffe2
commit 113226b03a
+244 -243
View File
@@ -1,249 +1,250 @@
#ifndef GUARD_METATILE_BEHAVIORS_H #ifndef GUARD_METATILE_BEHAVIORS_H
#define GUARD_METATILE_BEHAVIORS_H #define GUARD_METATILE_BEHAVIORS_H
#define MB_NORMAL 0x00 enum {
#define MB_SECRET_BASE_WALL 0x01 MB_NORMAL,
#define MB_TALL_GRASS 0x02 MB_SECRET_BASE_WALL,
#define MB_LONG_GRASS 0x03 MB_TALL_GRASS,
#define MB_UNUSED_04 0x04 MB_LONG_GRASS,
#define MB_UNUSED_05 0x05 MB_UNUSED_04,
#define MB_DEEP_SAND 0x06 MB_UNUSED_05,
#define MB_SHORT_GRASS 0x07 MB_DEEP_SAND,
#define MB_CAVE 0x08 MB_SHORT_GRASS,
#define MB_LONG_GRASS_SOUTH_EDGE 0x09 MB_CAVE,
#define MB_NO_RUNNING 0x0A MB_LONG_GRASS_SOUTH_EDGE,
#define MB_INDOOR_ENCOUNTER 0x0B MB_NO_RUNNING,
#define MB_MOUNTAIN_TOP 0x0C MB_INDOOR_ENCOUNTER,
#define MB_BATTLE_PYRAMID_WARP 0x0D MB_MOUNTAIN_TOP,
#define MB_MOSSDEEP_GYM_WARP 0x0E MB_BATTLE_PYRAMID_WARP,
#define MB_MT_PYRE_HOLE 0x0F MB_MOSSDEEP_GYM_WARP,
#define MB_POND_WATER 0x10 MB_MT_PYRE_HOLE,
#define MB_INTERIOR_DEEP_WATER 0x11 // Used by interior maps; functionally the same as MB_DEEP_WATER MB_POND_WATER,
#define MB_DEEP_WATER 0x12 MB_INTERIOR_DEEP_WATER, // Used by interior maps; functionally the same as MB_DEEP_WATER
#define MB_WATERFALL 0x13 MB_DEEP_WATER,
#define MB_SOOTOPOLIS_DEEP_WATER 0x14 MB_WATERFALL,
#define MB_OCEAN_WATER 0x15 MB_SOOTOPOLIS_DEEP_WATER,
#define MB_PUDDLE 0x16 MB_OCEAN_WATER,
#define MB_SHALLOW_WATER 0x17 MB_PUDDLE,
#define MB_UNUSED_SOOTOPOLIS_DEEP_WATER 0x18 MB_SHALLOW_WATER,
#define MB_NO_SURFACING 0x19 MB_UNUSED_SOOTOPOLIS_DEEP_WATER,
#define MB_UNUSED_SOOTOPOLIS_DEEP_WATER_2 0x1A MB_NO_SURFACING,
#define MB_STAIRS_OUTSIDE_ABANDONED_SHIP 0x1B MB_UNUSED_SOOTOPOLIS_DEEP_WATER_2,
#define MB_SHOAL_CAVE_ENTRANCE 0x1C MB_STAIRS_OUTSIDE_ABANDONED_SHIP,
#define MB_UNUSED_1D 0x1D MB_SHOAL_CAVE_ENTRANCE,
#define MB_UNUSED_1E 0x1E MB_UNUSED_1D,
#define MB_UNUSED_1F 0x1F MB_UNUSED_1E,
#define MB_ICE 0x20 MB_UNUSED_1F,
#define MB_SAND 0x21 MB_ICE,
#define MB_SEAWEED 0x22 MB_SAND,
#define MB_UNUSED_23 0x23 MB_SEAWEED,
#define MB_ASHGRASS 0x24 MB_UNUSED_23,
#define MB_FOOTPRINTS 0x25 MB_ASHGRASS,
#define MB_THIN_ICE 0x26 MB_FOOTPRINTS,
#define MB_CRACKED_ICE 0x27 MB_THIN_ICE,
#define MB_HOT_SPRINGS 0x28 MB_CRACKED_ICE,
#define MB_LAVARIDGE_GYM_B1F_WARP 0x29 MB_HOT_SPRINGS,
#define MB_SEAWEED_NO_SURFACING 0x2A MB_LAVARIDGE_GYM_B1F_WARP,
#define MB_REFLECTION_UNDER_BRIDGE 0x2B MB_SEAWEED_NO_SURFACING,
#define MB_UNUSED_2C 0x2C MB_REFLECTION_UNDER_BRIDGE,
#define MB_UNUSED_2D 0x2D MB_UNUSED_2C,
#define MB_UNUSED_2E 0x2E MB_UNUSED_2D,
#define MB_UNUSED_2F 0x2F MB_UNUSED_2E,
#define MB_IMPASSABLE_EAST 0x30 MB_UNUSED_2F,
#define MB_IMPASSABLE_WEST 0x31 MB_IMPASSABLE_EAST,
#define MB_IMPASSABLE_NORTH 0x32 MB_IMPASSABLE_WEST,
#define MB_IMPASSABLE_SOUTH 0x33 MB_IMPASSABLE_NORTH,
#define MB_IMPASSABLE_NORTHEAST 0x34 MB_IMPASSABLE_SOUTH,
#define MB_IMPASSABLE_NORTHWEST 0x35 MB_IMPASSABLE_NORTHEAST,
#define MB_IMPASSABLE_SOUTHEAST 0x36 MB_IMPASSABLE_NORTHWEST,
#define MB_IMPASSABLE_SOUTHWEST 0x37 MB_IMPASSABLE_SOUTHEAST,
#define MB_JUMP_EAST 0x38 MB_IMPASSABLE_SOUTHWEST,
#define MB_JUMP_WEST 0x39 MB_JUMP_EAST,
#define MB_JUMP_NORTH 0x3A MB_JUMP_WEST,
#define MB_JUMP_SOUTH 0x3B MB_JUMP_NORTH,
#define MB_JUMP_NORTHEAST 0x3C MB_JUMP_SOUTH,
#define MB_JUMP_NORTHWEST 0x3D MB_JUMP_NORTHEAST,
#define MB_JUMP_SOUTHEAST 0x3E MB_JUMP_NORTHWEST,
#define MB_JUMP_SOUTHWEST 0x3F MB_JUMP_SOUTHEAST,
#define MB_WALK_EAST 0x40 MB_JUMP_SOUTHWEST,
#define MB_WALK_WEST 0x41 MB_WALK_EAST,
#define MB_WALK_NORTH 0x42 MB_WALK_WEST,
#define MB_WALK_SOUTH 0x43 MB_WALK_NORTH,
#define MB_SLIDE_EAST 0x44 MB_WALK_SOUTH,
#define MB_SLIDE_WEST 0x45 MB_SLIDE_EAST,
#define MB_SLIDE_NORTH 0x46 MB_SLIDE_WEST,
#define MB_SLIDE_SOUTH 0x47 MB_SLIDE_NORTH,
#define MB_TRICK_HOUSE_PUZZLE_8_FLOOR 0x48 MB_SLIDE_SOUTH,
#define MB_UNUSED_49 0x49 MB_TRICK_HOUSE_PUZZLE_8_FLOOR,
#define MB_UNUSED_4A 0x4A MB_UNUSED_49,
#define MB_UNUSED_4B 0x4B MB_UNUSED_4A,
#define MB_UNUSED_4C 0x4C MB_UNUSED_4B,
#define MB_UNUSED_4D 0x4D MB_UNUSED_4C,
#define MB_UNUSED_4E 0x4E MB_UNUSED_4D,
#define MB_UNUSED_4F 0x4F MB_UNUSED_4E,
#define MB_EASTWARD_CURRENT 0x50 MB_UNUSED_4F,
#define MB_WESTWARD_CURRENT 0x51 MB_EASTWARD_CURRENT,
#define MB_NORTHWARD_CURRENT 0x52 MB_WESTWARD_CURRENT,
#define MB_SOUTHWARD_CURRENT 0x53 MB_NORTHWARD_CURRENT,
#define MB_UNUSED_54 0x54 MB_SOUTHWARD_CURRENT,
#define MB_UNUSED_55 0x55 MB_UNUSED_54,
#define MB_UNUSED_56 0x56 MB_UNUSED_55,
#define MB_UNUSED_57 0x57 MB_UNUSED_56,
#define MB_UNUSED_58 0x58 MB_UNUSED_57,
#define MB_UNUSED_59 0x59 MB_UNUSED_58,
#define MB_UNUSED_5A 0x5A MB_UNUSED_59,
#define MB_UNUSED_5B 0x5B MB_UNUSED_5A,
#define MB_UNUSED_5C 0x5C MB_UNUSED_5B,
#define MB_UNUSED_5D 0x5D MB_UNUSED_5C,
#define MB_UNUSED_5E 0x5E MB_UNUSED_5D,
#define MB_UNUSED_5F 0x5F MB_UNUSED_5E,
#define MB_NON_ANIMATED_DOOR 0x60 MB_UNUSED_5F,
#define MB_LADDER 0x61 MB_NON_ANIMATED_DOOR,
#define MB_EAST_ARROW_WARP 0x62 MB_LADDER,
#define MB_WEST_ARROW_WARP 0x63 MB_EAST_ARROW_WARP,
#define MB_NORTH_ARROW_WARP 0x64 MB_WEST_ARROW_WARP,
#define MB_SOUTH_ARROW_WARP 0x65 MB_NORTH_ARROW_WARP,
#define MB_CRACKED_FLOOR_HOLE 0x66 MB_SOUTH_ARROW_WARP,
#define MB_AQUA_HIDEOUT_WARP 0x67 MB_CRACKED_FLOOR_HOLE,
#define MB_LAVARIDGE_GYM_1F_WARP 0x68 MB_AQUA_HIDEOUT_WARP,
#define MB_ANIMATED_DOOR 0x69 MB_LAVARIDGE_GYM_1F_WARP,
#define MB_UP_ESCALATOR 0x6A MB_ANIMATED_DOOR,
#define MB_DOWN_ESCALATOR 0x6B MB_UP_ESCALATOR,
#define MB_WATER_DOOR 0x6C MB_DOWN_ESCALATOR,
#define MB_WATER_SOUTH_ARROW_WARP 0x6D MB_WATER_DOOR,
#define MB_DEEP_SOUTH_WARP 0x6E MB_WATER_SOUTH_ARROW_WARP,
#define MB_UNUSED_6F 0x6F MB_DEEP_SOUTH_WARP,
#define MB_BRIDGE_OVER_OCEAN 0x70 MB_UNUSED_6F,
#define MB_BRIDGE_OVER_POND_LOW 0x71 MB_BRIDGE_OVER_OCEAN,
#define MB_BRIDGE_OVER_POND_MED 0x72 MB_BRIDGE_OVER_POND_LOW,
#define MB_BRIDGE_OVER_POND_HIGH 0x73 MB_BRIDGE_OVER_POND_MED,
#define MB_PACIFIDLOG_VERTICAL_LOG_TOP 0x74 MB_BRIDGE_OVER_POND_HIGH,
#define MB_PACIFIDLOG_VERTICAL_LOG_BOTTOM 0x75 MB_PACIFIDLOG_VERTICAL_LOG_TOP,
#define MB_PACIFIDLOG_HORIZONTAL_LOG_LEFT 0x76 MB_PACIFIDLOG_VERTICAL_LOG_BOTTOM,
#define MB_PACIFIDLOG_HORIZONTAL_LOG_RIGHT 0x77 MB_PACIFIDLOG_HORIZONTAL_LOG_LEFT,
#define MB_FORTREE_BRIDGE 0x78 MB_PACIFIDLOG_HORIZONTAL_LOG_RIGHT,
#define MB_UNUSED_79 0x79 MB_FORTREE_BRIDGE,
#define MB_BRIDGE_OVER_POND_MED_EDGE_1 0x7A MB_UNUSED_79,
#define MB_BRIDGE_OVER_POND_MED_EDGE_2 0x7B MB_BRIDGE_OVER_POND_MED_EDGE_1,
#define MB_BRIDGE_OVER_POND_HIGH_EDGE_1 0x7C MB_BRIDGE_OVER_POND_MED_EDGE_2,
#define MB_BRIDGE_OVER_POND_HIGH_EDGE_2 0x7D MB_BRIDGE_OVER_POND_HIGH_EDGE_1,
#define MB_UNUSED_BRIDGE 0x7E MB_BRIDGE_OVER_POND_HIGH_EDGE_2,
#define MB_BIKE_BRIDGE_OVER_BARRIER 0x7F MB_UNUSED_BRIDGE,
#define MB_COUNTER 0x80 MB_BIKE_BRIDGE_OVER_BARRIER,
#define MB_UNUSED_81 0x81 MB_COUNTER,
#define MB_UNUSED_82 0x82 MB_UNUSED_81,
#define MB_PC 0x83 MB_UNUSED_82,
#define MB_CABLE_BOX_RESULTS_1 0x84 MB_PC,
#define MB_REGION_MAP 0x85 MB_CABLE_BOX_RESULTS_1,
#define MB_TELEVISION 0x86 MB_REGION_MAP,
#define MB_POKEBLOCK_FEEDER 0x87 MB_TELEVISION,
#define MB_UNUSED_88 0x88 MB_POKEBLOCK_FEEDER,
#define MB_SLOT_MACHINE 0x89 MB_UNUSED_88,
#define MB_ROULETTE 0x8A MB_SLOT_MACHINE,
#define MB_CLOSED_SOOTOPOLIS_DOOR 0x8B MB_ROULETTE,
#define MB_TRICK_HOUSE_PUZZLE_DOOR 0x8C MB_CLOSED_SOOTOPOLIS_DOOR,
#define MB_PETALBURG_GYM_DOOR 0x8D MB_TRICK_HOUSE_PUZZLE_DOOR,
#define MB_RUNNING_SHOES_INSTRUCTION 0x8E MB_PETALBURG_GYM_DOOR,
#define MB_QUESTIONNAIRE 0x8F MB_RUNNING_SHOES_INSTRUCTION,
#define MB_SECRET_BASE_SPOT_RED_CAVE 0x90 MB_QUESTIONNAIRE,
#define MB_SECRET_BASE_SPOT_RED_CAVE_OPEN 0x91 MB_SECRET_BASE_SPOT_RED_CAVE,
#define MB_SECRET_BASE_SPOT_BROWN_CAVE 0x92 MB_SECRET_BASE_SPOT_RED_CAVE_OPEN,
#define MB_SECRET_BASE_SPOT_BROWN_CAVE_OPEN 0x93 MB_SECRET_BASE_SPOT_BROWN_CAVE,
#define MB_SECRET_BASE_SPOT_YELLOW_CAVE 0x94 MB_SECRET_BASE_SPOT_BROWN_CAVE_OPEN,
#define MB_SECRET_BASE_SPOT_YELLOW_CAVE_OPEN 0x95 MB_SECRET_BASE_SPOT_YELLOW_CAVE,
#define MB_SECRET_BASE_SPOT_TREE_LEFT 0x96 MB_SECRET_BASE_SPOT_YELLOW_CAVE_OPEN,
#define MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN 0x97 MB_SECRET_BASE_SPOT_TREE_LEFT,
#define MB_SECRET_BASE_SPOT_SHRUB 0x98 MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN,
#define MB_SECRET_BASE_SPOT_SHRUB_OPEN 0x99 MB_SECRET_BASE_SPOT_SHRUB,
#define MB_SECRET_BASE_SPOT_BLUE_CAVE 0x9A MB_SECRET_BASE_SPOT_SHRUB_OPEN,
#define MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN 0x9B MB_SECRET_BASE_SPOT_BLUE_CAVE,
#define MB_SECRET_BASE_SPOT_TREE_RIGHT 0x9C MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN,
#define MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN 0x9D MB_SECRET_BASE_SPOT_TREE_RIGHT,
#define MB_UNUSED_9E 0x9E MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN,
#define MB_UNUSED_9F 0x9F MB_UNUSED_9E,
#define MB_BERRY_TREE_SOIL 0xA0 MB_UNUSED_9F,
#define MB_UNUSED_A1 0xA1 MB_BERRY_TREE_SOIL,
#define MB_UNUSED_A2 0xA2 MB_UNUSED_A1,
#define MB_UNUSED_A3 0xA3 MB_UNUSED_A2,
#define MB_UNUSED_A4 0xA4 MB_UNUSED_A3,
#define MB_UNUSED_A5 0xA5 MB_UNUSED_A4,
#define MB_UNUSED_A6 0xA6 MB_UNUSED_A5,
#define MB_UNUSED_A7 0xA7 MB_UNUSED_A6,
#define MB_UNUSED_A8 0xA8 MB_UNUSED_A7,
#define MB_UNUSED_A9 0xA9 MB_UNUSED_A8,
#define MB_UNUSED_AA 0xAA MB_UNUSED_A9,
#define MB_UNUSED_AB 0xAB MB_UNUSED_AA,
#define MB_UNUSED_AC 0xAC MB_UNUSED_AB,
#define MB_UNUSED_AD 0xAD MB_UNUSED_AC,
#define MB_UNUSED_AE 0xAE MB_UNUSED_AD,
#define MB_UNUSED_AF 0xAF MB_UNUSED_AE,
#define MB_SECRET_BASE_PC 0xB0 MB_UNUSED_AF,
#define MB_SECRET_BASE_REGISTER_PC 0xB1 MB_SECRET_BASE_PC,
#define MB_SECRET_BASE_SCENERY 0xB2 MB_SECRET_BASE_REGISTER_PC,
#define MB_SECRET_BASE_TRAINER_SPOT 0xB3 MB_SECRET_BASE_SCENERY,
#define MB_SECRET_BASE_DECORATION 0xB4 MB_SECRET_BASE_TRAINER_SPOT,
#define MB_HOLDS_SMALL_DECORATION 0xB5 MB_SECRET_BASE_DECORATION,
#define MB_UNUSED_B6 0xB6 MB_HOLDS_SMALL_DECORATION,
#define MB_SECRET_BASE_NORTH_WALL 0xB7 MB_UNUSED_B6,
#define MB_SECRET_BASE_BALLOON 0xB8 MB_SECRET_BASE_NORTH_WALL,
#define MB_SECRET_BASE_IMPASSABLE 0xB9 MB_SECRET_BASE_BALLOON,
#define MB_SECRET_BASE_GLITTER_MAT 0xBA MB_SECRET_BASE_IMPASSABLE,
#define MB_SECRET_BASE_JUMP_MAT 0xBB MB_SECRET_BASE_GLITTER_MAT,
#define MB_SECRET_BASE_SPIN_MAT 0xBC MB_SECRET_BASE_JUMP_MAT,
#define MB_SECRET_BASE_SOUND_MAT 0xBD MB_SECRET_BASE_SPIN_MAT,
#define MB_SECRET_BASE_BREAKABLE_DOOR 0xBE MB_SECRET_BASE_SOUND_MAT,
#define MB_SECRET_BASE_SAND_ORNAMENT 0xBF MB_SECRET_BASE_BREAKABLE_DOOR,
#define MB_IMPASSABLE_SOUTH_AND_NORTH 0xC0 MB_SECRET_BASE_SAND_ORNAMENT,
#define MB_IMPASSABLE_WEST_AND_EAST 0xC1 MB_IMPASSABLE_SOUTH_AND_NORTH,
#define MB_SECRET_BASE_HOLE 0xC2 MB_IMPASSABLE_WEST_AND_EAST,
#define MB_HOLDS_LARGE_DECORATION 0xC3 MB_SECRET_BASE_HOLE,
#define MB_SECRET_BASE_TV_SHIELD 0xC4 MB_HOLDS_LARGE_DECORATION,
#define MB_PLAYER_ROOM_PC_ON 0xC5 MB_SECRET_BASE_TV_SHIELD,
#define MB_SECRET_BASE_DECORATION_BASE 0xC6 MB_PLAYER_ROOM_PC_ON,
#define MB_SECRET_BASE_POSTER 0xC7 MB_SECRET_BASE_DECORATION_BASE,
#define MB_UNUSED_C8 0xC8 MB_SECRET_BASE_POSTER,
#define MB_UNUSED_C9 0xC9 MB_UNUSED_C8,
#define MB_UNUSED_CA 0xCA MB_UNUSED_C9,
#define MB_UNUSED_CB 0xCB MB_UNUSED_CA,
#define MB_UNUSED_CC 0xCC MB_UNUSED_CB,
#define MB_UNUSED_CD 0xCD MB_UNUSED_CC,
#define MB_UNUSED_CE 0xCE MB_UNUSED_CD,
#define MB_UNUSED_CF 0xCF MB_UNUSED_CE,
#define MB_MUDDY_SLOPE 0xD0 MB_UNUSED_CF,
#define MB_BUMPY_SLOPE 0xD1 MB_MUDDY_SLOPE,
#define MB_CRACKED_FLOOR 0xD2 MB_BUMPY_SLOPE,
#define MB_ISOLATED_VERTICAL_RAIL 0xD3 MB_CRACKED_FLOOR,
#define MB_ISOLATED_HORIZONTAL_RAIL 0xD4 MB_ISOLATED_VERTICAL_RAIL,
#define MB_VERTICAL_RAIL 0xD5 MB_ISOLATED_HORIZONTAL_RAIL,
#define MB_HORIZONTAL_RAIL 0xD6 MB_VERTICAL_RAIL,
#define MB_UNUSED_D7 0xD7 MB_HORIZONTAL_RAIL,
#define MB_UNUSED_D8 0xD8 MB_UNUSED_D7,
#define MB_UNUSED_D9 0xD9 MB_UNUSED_D8,
#define MB_UNUSED_DA 0xDA MB_UNUSED_D9,
#define MB_UNUSED_DB 0xDB MB_UNUSED_DA,
#define MB_UNUSED_DC 0xDC MB_UNUSED_DB,
#define MB_UNUSED_DD 0xDD MB_UNUSED_DC,
#define MB_UNUSED_DE 0xDE MB_UNUSED_DD,
#define MB_UNUSED_DF 0xDF MB_UNUSED_DE,
#define MB_PICTURE_BOOK_SHELF 0xE0 MB_UNUSED_DF,
#define MB_BOOKSHELF 0xE1 MB_PICTURE_BOOK_SHELF,
#define MB_POKEMON_CENTER_BOOKSHELF 0xE2 MB_BOOKSHELF,
#define MB_VASE 0xE3 MB_POKEMON_CENTER_BOOKSHELF,
#define MB_TRASH_CAN 0xE4 MB_VASE,
#define MB_SHOP_SHELF 0xE5 MB_TRASH_CAN,
#define MB_BLUEPRINT 0xE6 MB_SHOP_SHELF,
#define MB_CABLE_BOX_RESULTS_2 0xE7 MB_BLUEPRINT,
#define MB_WIRELESS_BOX_RESULTS 0xE8 MB_CABLE_BOX_RESULTS_2,
#define MB_TRAINER_HILL_TIMER 0xE9 MB_WIRELESS_BOX_RESULTS,
#define MB_SKY_PILLAR_CLOSED_DOOR 0xEA MB_TRAINER_HILL_TIMER,
#define MB_UNUSED_EB 0xEB MB_SKY_PILLAR_CLOSED_DOOR,
#define MB_UNUSED_EC 0xEC MB_UP_RIGHT_STAIR_WARP,
#define MB_UNUSED_ED 0xED MB_UP_LEFT_STAIR_WARP,
#define MB_UNUSED_EE 0xEE MB_DOWN_RIGHT_STAIR_WARP,
#define MB_UNUSED_EF 0xEF MB_DOWN_LEFT_STAIR_WARP,
MB_UNUSED_EF,
NUM_METATILE_BEHAVIORS
};
#define NUM_METATILE_BEHAVIORS 0xF0 #define MB_INVALID UCHAR_MAX
#define MB_INVALID 0xFF
#endif // GUARD_METATILE_BEHAVIORS_H #endif // GUARD_METATILE_BEHAVIORS_H