Label field door metatiles

This commit is contained in:
GriffinR 2020-03-05 17:19:39 -05:00
parent c493213db3
commit 1bb4b48024
2 changed files with 358 additions and 357 deletions

View File

@ -11,6 +11,9 @@
#define METATILE_General_WideTreeTopRight_Mowed 0x00F
#define METATILE_General_ThinTreeTop_Mowed 0x013
#define METATILE_General_CalmWater 0x12B
#define METATILE_General_Door 0x03D
#define METATILE_General_SlidingSingleDoor 0x062
#define METATILE_General_SlidingDoubleDoor 0x15B
// gTileset_Building
#define METATILE_Building_PCOff 0x062
@ -52,6 +55,45 @@
#define METATILE_PokemonCenter_Escalator_BottomNextRail_Normal 0x2D0
#define METATILE_PokemonCenter_Escalator_BottomNextRail_Transition1 0x30A
#define METATILE_PokemonCenter_Escalator_BottomNextRail_Transition2 0x308
#define METATILE_PokemonCenter_CableClubDoor 0x2DE
// gTileset_Cave
#define METATILE_Cave_Floor_Ledge_Top 0x2D1
#define METATILE_Cave_Floor_Ledge_Bottom 0x2E1
#define METATILE_Cave_RockBarrier_Top 0x307
#define METATILE_Cave_RockBarrier_Bottom 0x317
// gTileset_PalletTown
#define METATILE_PalletTown_Door 0x2A3
#define METATILE_PalletTown_OaksLabDoor 0x2AC
// gTileset_ViridianCity
#define METATILE_ViridianCity_Door 0x299
// gTileset_ViridianForest
#define METATILE_ViridianForest_HugeTreeTopMiddle_Grass 0x284
#define METATILE_ViridianForest_HugeTreeTopMiddle_Mowed 0x281
// gTileset_PewterCity
#define METATILE_PewterCity_Door 0x2CE
// gTileset_CeruleanCity
#define METATILE_CeruleanCity_Door 0x298
// gTileset_SeaCottage
#define METATILE_SeaCottage_Teleporter_Light_Green 0x28A
#define METATILE_SeaCottage_Teleporter_Light_Yellow 0x2B5
#define METATILE_SeaCottage_Teleporter_Light_Red 0x2B6
#define METATILE_SeaCottage_Teleporter_Cable_Top 0x285
#define METATILE_SeaCottage_Teleporter_Cable_Bottom 0x2B4
#define METATILE_SeaCottage_Teleporter_CableBall_Top 0x2B9
#define METATILE_SeaCottage_Teleporter_CableBall_Bottom 0x2BA
#define METATILE_SeaCottage_Teleporter_Door 0x296
#define METATILE_SeaCottage_Teleporter_Door_HalfGlowing 0x2B7
#define METATILE_SeaCottage_Teleporter_Door_FullGlowing 0x2B8
// gTileset_VermilionCity
#define METATILE_VermilionCity_Door 0x29E
// gTileset_VermilionGym
#define METATILE_VermilionGym_Floor 0x281
@ -84,17 +126,19 @@
#define METATILE_VermilionGym_Beam_Node_BottomRight_Edge_HalfOn 0x2C6
#define METATILE_VermilionGym_Beam_Node_BottomRight_HalfOn 0x2C7
// gTileset_SeaCottage
#define METATILE_SeaCottage_Teleporter_Light_Green 0x28A
#define METATILE_SeaCottage_Teleporter_Light_Yellow 0x2B5
#define METATILE_SeaCottage_Teleporter_Light_Red 0x2B6
#define METATILE_SeaCottage_Teleporter_Cable_Top 0x285
#define METATILE_SeaCottage_Teleporter_Cable_Bottom 0x2B4
#define METATILE_SeaCottage_Teleporter_CableBall_Top 0x2B9
#define METATILE_SeaCottage_Teleporter_CableBall_Bottom 0x2BA
#define METATILE_SeaCottage_Teleporter_Door 0x296
#define METATILE_SeaCottage_Teleporter_Door_HalfGlowing 0x2B7
#define METATILE_SeaCottage_Teleporter_Door_FullGlowing 0x2B8
// gTileset_SSAnne
#define METATILE_SSAnne_Door 0x281
// gTileset_LavenderTown
#define METATILE_LavenderTown_Door 0x2A2
// gTilset_CeladonCity
#define METATILE_CeladonCity_DeptStoreDoor 0x294
#define METATILE_CeladonCity_CyclingRoad_Grass 0x352
#define METATILE_CeladonCity_CyclingRoad_Mowed 0x33E
// gTileset_DepartmentStore
#define METATILE_DepartmentStore_ElevatorDoor 0x28D
// gTileset_GameCorner
#define METATILE_GameCorner_Floor_ShadeFull 0x292
@ -107,6 +151,74 @@
#define METATILE_GameCorner_CheckeredFloor_ShadeLeft 0x2E1
#define METATILE_GameCorner_CounterBarrier 0x2F7
// gTileset_SaffronCity
#define METATILE_SaffronCity_Door 0x284
#define METATILE_SaffronCity_SilphCoDoor 0x2BC
// gTileset_SilphCo Includes Silph Co, Rocket Hideout/Warehouse, and all Elevators
#define METATILE_SilphCo_HideoutFloor 0x281
#define METATILE_SilphCo_HideoutFloor_ShadeFull 0x282
#define METATILE_SilphCo_Arrow_Up 0x2A0
#define METATILE_SilphCo_Arrow_Left 0x2A1
#define METATILE_SilphCo_Arrow_Down 0x2A8
#define METATILE_SilphCo_Arrow_Right 0x2A9
#define METATILE_SilphCo_HideoutBarrier_TopLeft_Wall 0x2C6
#define METATILE_SilphCo_HideoutBarrier_TopRight_Wall 0x2C7
#define METATILE_SilphCo_HideoutBarrier_TopLeft_Floor 0x2CE
#define METATILE_SilphCo_HideoutBarrier_TopRight_Floor 0x2CF
#define METATILE_SilphCo_HideoutBarrier_BottomLeft 0x2D6
#define METATILE_SilphCo_HideoutBarrier_BottomRight 0x2D7
#define METATILE_SilphCo_HideoutElevatorDoor 0x2AB
#define METATILE_SilphCo_ElevatorDoor 0x2E2
#define METATILE_SilphCo_ElevatorWindow_Top0 0x2E8
#define METATILE_SilphCo_ElevatorWindow_Top1 0x2E9
#define METATILE_SilphCo_ElevatorWindow_Top2 0x2EA
#define METATILE_SilphCo_ElevatorWindow_Mid0 0x2F0
#define METATILE_SilphCo_ElevatorWindow_Mid1 0x2F1
#define METATILE_SilphCo_ElevatorWindow_Mid2 0x2F2
#define METATILE_SilphCo_ElevatorWindow_Bottom0 0x2F8
#define METATILE_SilphCo_ElevatorWindow_Bottom1 0x2F9
#define METATILE_SilphCo_ElevatorWindow_Bottom2 0x2FA
#define METATILE_SilphCo_Floor 0x334
#define METATILE_SilphCo_Floor_ShadeFull 0x335
#define METATILE_SilphCo_Floor_WallLeftCorner 0x339
#define METATILE_SilphCo_Floor_WallRightCorner 0x33A
#define METATILE_SilphCo_Wall_RightEdge 0x346
#define METATILE_SilphCo_Wall_LeftEdge 0x347
#define METATILE_SilphCo_HorizontalBarrier_TopLeft 0x3B0
#define METATILE_SilphCo_HorizontalBarrier_TopRight 0x3B1
#define METATILE_SilphCo_HorizontalBarrier_BottomLeft 0x3B8
#define METATILE_SilphCo_HorizontalBarrier_BottomRight 0x3B9
#define METATILE_SilphCo_VerticalBarrier_TopLeft 0x3C0
#define METATILE_SilphCo_VerticalBarrier_TopRight 0x3C1
#define METATILE_SilphCo_VerticalBarrier_MidLeft 0x3C2
#define METATILE_SilphCo_VerticalBarrier_MidRight 0x3C3
#define METATILE_SilphCo_VerticalBarrier_BottomLeft 0x3C4
#define METATILE_SilphCo_VerticalBarrier_BottomRight 0x3C5
// gTileset_FuchsiaCity
#define METATILE_FuchsiaCity_Door 0x2BF
#define METATILE_FuchsiaCity_SafariZoneDoor 0x2D2
#define METATILE_FuchsiaCity_SafariZoneTreeTopLeft_Grass 0x300
#define METATILE_FuchsiaCity_SafariZoneTreeTopMiddle_Grass 0x301
#define METATILE_FuchsiaCity_SafariZoneTreeTopRight_Grass 0x302
#define METATILE_FuchsiaCity_SafariZoneTreeTopLeft_Mowed 0x310
#define METATILE_FuchsiaCity_SafariZoneTreeTopMiddle_Mowed 0x311
#define METATILE_FuchsiaCity_SafariZoneTreeTopRight_Mowed 0x312
// gTileset_CinnabarIsland
#define METATILE_CinnabarIsland_LabDoor 0x2AD
// gTileset_CinnabarGym
#define METATILE_CinnabarGym_Floor 0x281
#define METATILE_CinnabarGym_Floor_ShadeDiagonal 0x282
#define METATILE_CinnabarGym_Floor_ShadeFull 0x289
#define METATILE_CinnabarGym_Floor_WallRightCorner 0x2C6
#define METATILE_CinnabarGym_Floor_WallLeftCorner 0x2C7
#define METATILE_CinnabarGym_Floor_WallRightEdge 0x2CE
#define METATILE_CinnabarGym_Floor_WallLeftEdge 0x2CF
#define METATILE_CinnabarGym_Wall_RetractedBarrier 0x2D1
// gTileset_PokemonMansion
#define METATILE_PokemonMansion_Floor 0x284
#define METATILE_PokemonMansion_Floor_ShadeFull 0x285
@ -140,55 +252,6 @@
#define METATILE_PokemonMansion_Statue_RedEyes_Shade 0x34E
#define METATILE_PokemonMansion_Statue_RedEyes_Basement 0x34F
// gTileset_SilphCo Includes Silph Co, Rocket Hideout/Warehouse, and all Elevators
#define METATILE_SilphCo_HideoutFloor 0x281
#define METATILE_SilphCo_HideoutFloor_ShadeFull 0x282
#define METATILE_SilphCo_Arrow_Up 0x2A0
#define METATILE_SilphCo_Arrow_Left 0x2A1
#define METATILE_SilphCo_Arrow_Down 0x2A8
#define METATILE_SilphCo_Arrow_Right 0x2A9
#define METATILE_SilphCo_HideoutBarrier_TopLeft_Wall 0x2C6
#define METATILE_SilphCo_HideoutBarrier_TopRight_Wall 0x2C7
#define METATILE_SilphCo_HideoutBarrier_TopLeft_Floor 0x2CE
#define METATILE_SilphCo_HideoutBarrier_TopRight_Floor 0x2CF
#define METATILE_SilphCo_HideoutBarrier_BottomLeft 0x2D6
#define METATILE_SilphCo_HideoutBarrier_BottomRight 0x2D7
#define METATILE_SilphCo_ElevatorWindow_Top0 0x2E8
#define METATILE_SilphCo_ElevatorWindow_Top1 0x2E9
#define METATILE_SilphCo_ElevatorWindow_Top2 0x2EA
#define METATILE_SilphCo_ElevatorWindow_Mid0 0x2F0
#define METATILE_SilphCo_ElevatorWindow_Mid1 0x2F1
#define METATILE_SilphCo_ElevatorWindow_Mid2 0x2F2
#define METATILE_SilphCo_ElevatorWindow_Bottom0 0x2F8
#define METATILE_SilphCo_ElevatorWindow_Bottom1 0x2F9
#define METATILE_SilphCo_ElevatorWindow_Bottom2 0x2FA
#define METATILE_SilphCo_Floor 0x334
#define METATILE_SilphCo_Floor_ShadeFull 0x335
#define METATILE_SilphCo_Floor_WallLeftCorner 0x339
#define METATILE_SilphCo_Floor_WallRightCorner 0x33A
#define METATILE_SilphCo_Wall_RightEdge 0x346
#define METATILE_SilphCo_Wall_LeftEdge 0x347
#define METATILE_SilphCo_HorizontalBarrier_TopLeft 0x3B0
#define METATILE_SilphCo_HorizontalBarrier_TopRight 0x3B1
#define METATILE_SilphCo_HorizontalBarrier_BottomLeft 0x3B8
#define METATILE_SilphCo_HorizontalBarrier_BottomRight 0x3B9
#define METATILE_SilphCo_VerticalBarrier_TopLeft 0x3C0
#define METATILE_SilphCo_VerticalBarrier_TopRight 0x3C1
#define METATILE_SilphCo_VerticalBarrier_MidLeft 0x3C2
#define METATILE_SilphCo_VerticalBarrier_MidRight 0x3C3
#define METATILE_SilphCo_VerticalBarrier_BottomLeft 0x3C4
#define METATILE_SilphCo_VerticalBarrier_BottomRight 0x3C5
// gTileset_CinnabarGym
#define METATILE_CinnabarGym_Floor 0x281
#define METATILE_CinnabarGym_Floor_ShadeDiagonal 0x282
#define METATILE_CinnabarGym_Floor_ShadeFull 0x289
#define METATILE_CinnabarGym_Floor_WallRightCorner 0x2C6
#define METATILE_CinnabarGym_Floor_WallLeftCorner 0x2C7
#define METATILE_CinnabarGym_Floor_WallRightEdge 0x2CE
#define METATILE_CinnabarGym_Floor_WallLeftEdge 0x2CF
#define METATILE_CinnabarGym_Wall_RetractedBarrier 0x2D1
// gTileset_PokemonLeague
#define METATILE_PokemonLeague_Door_Top_Open 0x28E
#define METATILE_PokemonLeague_Door_Mid_Open 0x296
@ -203,12 +266,6 @@
// gTileset_MtEmber
#define METATILE_MtEmber_CaveEntrance 0x346
// gTileset_Cave
#define METATILE_Cave_Floor_Ledge_Top 0x2D1
#define METATILE_Cave_Floor_Ledge_Bottom 0x2E1
#define METATILE_Cave_RockBarrier_Top 0x307
#define METATILE_Cave_RockBarrier_Bottom 0x317
// gTileset_SeafoamIslands
#define METATILE_SeafoamIslands_SlidingIce 0x34B
#define METATILE_SeafoamIslands_UncrackedIce 0x359
@ -218,29 +275,23 @@
// gTileset_TrainerTower
#define METATILE_TrainerTower_Floor_ShadeBottomLeft 0x287
#define METATILE_TrainerTower_CounterBarrier 0x2B4
#define METATILE_TrainerTower_LobbyElevatorDoor 0x2C3
#define METATILE_TrainerTower_RoofElevatorDoor 0x356
// gTileset_ViridianForest
#define METATILE_ViridianForest_HugeTreeTopMiddle_Grass 0x284
#define METATILE_ViridianForest_HugeTreeTopMiddle_Mowed 0x281
// gTileset_CeladonCity
#define METATILE_CeladonCity_CyclingRoad_Grass 0x352
#define METATILE_CeladonCity_CyclingRoad_Mowed 0x33E
// gTileset_FuchsiaCity
#define METATILE_FuchsiaCity_SafariZoneTreeTopLeft_Grass 0x300
#define METATILE_FuchsiaCity_SafariZoneTreeTopMiddle_Grass 0x301
#define METATILE_FuchsiaCity_SafariZoneTreeTopRight_Grass 0x302
#define METATILE_FuchsiaCity_SafariZoneTreeTopLeft_Mowed 0x310
#define METATILE_FuchsiaCity_SafariZoneTreeTopMiddle_Mowed 0x311
#define METATILE_FuchsiaCity_SafariZoneTreeTopRight_Mowed 0x312
// gTileset_SeviiIslands123
#define METATILE_SeviiIslands123_Door 0x297
#define METATILE_SeviiIslands123_GameCornerDoor 0x29B
#define METATILE_SeviiIslands123_PokeCenterDoor 0x2EB
// gTileset_SeviiIslands45
#define METATILE_SeviiIslands45_RocketWarehouseDoor_Locked 0x30B
#define METATILE_SeviiIslands45_RocketWarehouseDoor_Unlocked 0x2AF
#define METATILE_SeviiIslands45_Door 0x29A
#define METATILE_SeviiIslands45_DayCareDoor 0x2B9
#define METATILE_SeviiIslands45_RocketWarehouseDoor_Locked 0x30B
#define METATILE_SeviiIslands45_RocketWarehouseDoor_Unlocked 0x2AF
// gTileset_SeviiIslands67
#define METATILE_SeviiIslands67_DottedHoleDoor_Closed 0x357
#define METATILE_SeviiIslands67_DottedHoleDoor_Open 0x358
#define METATILE_SeviiIslands67_Door 0x30C
#define METATILE_SeviiIslands67_DottedHoleDoor_Closed 0x357
#define METATILE_SeviiIslands67_DottedHoleDoor_Open 0x358
#endif // GUARD_METATILE_LABELS_H

View File

@ -4,6 +4,10 @@
#include "fieldmap.h"
#include "metatile_behavior.h"
#include "constants/songs.h"
#include "constants/metatile_labels.h"
#define DOOR_SOUND_NORMAL 0
#define DOOR_SOUND_SLIDING 1
struct DoorAnimFrame
{
@ -14,7 +18,7 @@ struct DoorAnimFrame
struct DoorGraphics
{
u16 metatileId;
s8 sliding;
u8 sound;
u8 size;
const u8 * tiles;
const u8 * palettes;
@ -26,174 +30,116 @@ static void SetDoorFramePalettes(const struct DoorGraphics * gfx, int x, int y,
static void BufferDoorFrameTilesWithPalettes(u16 *a0, u16 a1, const u8 *a2);
static bool32 PlayDoorAnimationFrame(const struct DoorGraphics * gfx, const struct DoorAnimFrame * frames, s16 *data);
static const struct DoorAnimFrame * SeekToEndOfDoorAnim(const struct DoorAnimFrame * frames);
static s8 GetDoorOpenType(const struct DoorGraphics * gfx, int x, int y);
static s8 GetDoorSoundType(const struct DoorGraphics * gfx, int x, int y);
static const u8 gUnknown_8353088[] = INCBIN_U8("graphics/door_anims/frame_8353088_1.4bpp", "graphics/door_anims/frame_8353088_2.4bpp", "graphics/door_anims/frame_8353088_3.4bpp");
static const u8 gUnknown_8353208[32] = {};
static const u8 gUnknown_8353228[] = INCBIN_U8("graphics/door_anims/frame_8353228_1.4bpp", "graphics/door_anims/frame_8353228_2.4bpp", "graphics/door_anims/frame_8353228_3.4bpp");
static const u8 gUnknown_83533A8[32] = {};
static const u8 gUnknown_83533C8[] = INCBIN_U8("graphics/door_anims/frame_83533C8_1.4bpp", "graphics/door_anims/frame_83533C8_2.4bpp", "graphics/door_anims/frame_83533C8_3.4bpp");
static const u8 gUnknown_8353548[32] = {};
static const u8 gUnknown_8353568[] = INCBIN_U8("graphics/door_anims/frame_8353568_1.4bpp", "graphics/door_anims/frame_8353568_2.4bpp", "graphics/door_anims/frame_8353568_3.4bpp");
static const u8 gUnknown_83536E8[32] = {};
static const u8 gUnknown_8353708[] = INCBIN_U8("graphics/door_anims/frame_8353708_1.4bpp", "graphics/door_anims/frame_8353708_2.4bpp", "graphics/door_anims/frame_8353708_3.4bpp");
static const u8 gUnknown_8353888[32] = {};
static const u8 gUnknown_83538A8[] = INCBIN_U8("graphics/door_anims/frame_83538A8_1.4bpp", "graphics/door_anims/frame_83538A8_2.4bpp", "graphics/door_anims/frame_83538A8_3.4bpp");
static const u8 gUnknown_8353A28[32] = {};
static const u8 gUnknown_8353A48[] = INCBIN_U8("graphics/door_anims/frame_8353A48_1.4bpp", "graphics/door_anims/frame_8353A48_2.4bpp", "graphics/door_anims/frame_8353A48_3.4bpp");
static const u8 gUnknown_8353BC8[32] = {};
static const u8 gUnknown_8353BE8[] = INCBIN_U8("graphics/door_anims/frame_8353BE8_1.4bpp", "graphics/door_anims/frame_8353BE8_2.4bpp", "graphics/door_anims/frame_8353BE8_3.4bpp");
static const u8 gUnknown_8353D68[32] = {};
static const u8 gUnknown_8353D88[] = INCBIN_U8("graphics/door_anims/frame_8353D88_1.4bpp", "graphics/door_anims/frame_8353D88_2.4bpp", "graphics/door_anims/frame_8353D88_3.4bpp");
static const u8 gUnknown_8353F08[32] = {};
static const u8 gUnknown_8353F28[] = INCBIN_U8("graphics/door_anims/frame_8353F28_1.4bpp", "graphics/door_anims/frame_8353F28_2.4bpp", "graphics/door_anims/frame_8353F28_3.4bpp");
static const u8 gUnknown_83540A8[32] = {};
static const u8 gUnknown_83540C8[] = INCBIN_U8("graphics/door_anims/frame_83540C8_1.4bpp", "graphics/door_anims/frame_83540C8_2.4bpp", "graphics/door_anims/frame_83540C8_3.4bpp");
static const u8 gUnknown_8354248[32] = {};
static const u8 gUnknown_8354268[] = INCBIN_U8("graphics/door_anims/frame_8354268_1.4bpp", "graphics/door_anims/frame_8354268_2.4bpp", "graphics/door_anims/frame_8354268_3.4bpp");
static const u8 gUnknown_83543E8[32] = {};
static const u8 sDoorAnimTiles_General[] = INCBIN_U8("graphics/door_anims/frame_8353088_1.4bpp", "graphics/door_anims/frame_8353088_2.4bpp", "graphics/door_anims/frame_8353088_3.4bpp");
static const u16 sDoorNullPalette1[16] = {};
static const u8 sDoorAnimTiles_SlidingSingle[] = INCBIN_U8("graphics/door_anims/frame_8353228_1.4bpp", "graphics/door_anims/frame_8353228_2.4bpp", "graphics/door_anims/frame_8353228_3.4bpp");
static const u16 sDoorNullPalette2[16] = {};
static const u8 sDoorAnimTiles_SlidingDouble[] = INCBIN_U8("graphics/door_anims/frame_83533C8_1.4bpp", "graphics/door_anims/frame_83533C8_2.4bpp", "graphics/door_anims/frame_83533C8_3.4bpp");
static const u16 sDoorNullPalette3[16] = {};
static const u8 sDoorAnimTiles_Pallet[] = INCBIN_U8("graphics/door_anims/frame_8353568_1.4bpp", "graphics/door_anims/frame_8353568_2.4bpp", "graphics/door_anims/frame_8353568_3.4bpp");
static const u16 sDoorNullPalette4[16] = {};
static const u8 sDoorAnimTiles_OaksLab[] = INCBIN_U8("graphics/door_anims/frame_8353708_1.4bpp", "graphics/door_anims/frame_8353708_2.4bpp", "graphics/door_anims/frame_8353708_3.4bpp");
static const u16 sDoorNullPalette5[16] = {};
static const u8 sDoorAnimTiles_Viridian[] = INCBIN_U8("graphics/door_anims/frame_83538A8_1.4bpp", "graphics/door_anims/frame_83538A8_2.4bpp", "graphics/door_anims/frame_83538A8_3.4bpp");
static const u16 sDoorNullPalette6[16] = {};
static const u8 sDoorAnimTiles_Pewter[] = INCBIN_U8("graphics/door_anims/frame_8353A48_1.4bpp", "graphics/door_anims/frame_8353A48_2.4bpp", "graphics/door_anims/frame_8353A48_3.4bpp");
static const u16 sDoorNullPalette7[16] = {};
static const u8 sDoorAnimTiles_Saffron[] = INCBIN_U8("graphics/door_anims/frame_8353BE8_1.4bpp", "graphics/door_anims/frame_8353BE8_2.4bpp", "graphics/door_anims/frame_8353BE8_3.4bpp");
static const u16 sDoorNullPalette8[16] = {};
static const u8 sDoorAnimTiles_SilphCo[] = INCBIN_U8("graphics/door_anims/frame_8353D88_1.4bpp", "graphics/door_anims/frame_8353D88_2.4bpp", "graphics/door_anims/frame_8353D88_3.4bpp");
static const u16 sDoorNullPalette9[16] = {};
static const u8 sDoorAnimTiles_Cerulean[] = INCBIN_U8("graphics/door_anims/frame_8353F28_1.4bpp", "graphics/door_anims/frame_8353F28_2.4bpp", "graphics/door_anims/frame_8353F28_3.4bpp");
static const u16 sDoorNullPalette10[16] = {};
static const u8 sDoorAnimTiles_Lavender[] = INCBIN_U8("graphics/door_anims/frame_83540C8_1.4bpp", "graphics/door_anims/frame_83540C8_2.4bpp", "graphics/door_anims/frame_83540C8_3.4bpp");
static const u16 sDoorNullPalette11[16] = {};
static const u8 sDoorAnimTiles_Vermilion[] = INCBIN_U8("graphics/door_anims/frame_8354268_1.4bpp", "graphics/door_anims/frame_8354268_2.4bpp", "graphics/door_anims/frame_8354268_3.4bpp");
static const u16 sDoorNullPalette12[16] = {};
static const u8 gUnknown_8354408[] = INCBIN_U8("graphics/door_anims/frame_8354408_1.4bpp", "graphics/door_anims/frame_8354408_2.4bpp", "graphics/door_anims/frame_8354408_3.4bpp");
static const u8 gUnknown_8354588[32] = {};
static const u8 gUnknown_83545A8[] = INCBIN_U8("graphics/door_anims/frame_83545A8_1.4bpp", "graphics/door_anims/frame_83545A8_2.4bpp", "graphics/door_anims/frame_83545A8_3.4bpp");
static const u8 gUnknown_8354728[32] = {};
static const u8 gUnknown_8354748[] = INCBIN_U8("graphics/door_anims/frame_8354748_1.4bpp", "graphics/door_anims/frame_8354748_2.4bpp", "graphics/door_anims/frame_8354748_3.4bpp");
static const u8 gUnknown_83548C8[32] = {};
static const u8 gUnknown_83548E8[] = INCBIN_U8("graphics/door_anims/frame_83548E8_1.4bpp", "graphics/door_anims/frame_83548E8_2.4bpp", "graphics/door_anims/frame_83548E8_3.4bpp");
static const u8 gUnknown_8354A68[32] = {};
static const u8 gUnknown_8354A88[] = INCBIN_U8("graphics/door_anims/frame_8354A88_1.4bpp", "graphics/door_anims/frame_8354A88_2.4bpp", "graphics/door_anims/frame_8354A88_3.4bpp");
static const u8 gUnknown_8354C08[32] = {};
static const u8 gUnknown_8354C28[] = INCBIN_U8("graphics/door_anims/frame_8354C28_1.4bpp", "graphics/door_anims/frame_8354C28_2.4bpp", "graphics/door_anims/frame_8354C28_3.4bpp");
static const u8 gUnknown_8354F28[32] = {};
static const u8 gUnknown_8354F48[] = INCBIN_U8("graphics/door_anims/frame_8354F48_1.4bpp", "graphics/door_anims/frame_8354F48_2.4bpp", "graphics/door_anims/frame_8354F48_3.4bpp");
static const u8 gUnknown_8355248[32] = {};
static const u8 gUnknown_8355268[] = INCBIN_U8("graphics/door_anims/frame_8355268_1.4bpp", "graphics/door_anims/frame_8355268_2.4bpp", "graphics/door_anims/frame_8355268_3.4bpp");
static const u8 gUnknown_8355568[32] = {};
static const u8 gUnknown_8355588[] = INCBIN_U8("graphics/door_anims/frame_8355588_1.4bpp", "graphics/door_anims/frame_8355588_2.4bpp", "graphics/door_anims/frame_8355588_3.4bpp");
static const u8 gUnknown_8355888[32] = {};
static const u8 gUnknown_83558A8[256] = {};
static const u8 gUnknown_83559A8[256] = {};
static const u8 gUnknown_8355AA8[256] = {};
static const u8 gUnknown_8355BA8[32] = {};
static const u8 gUnknown_8355BC8[256] = {};
static const u8 gUnknown_8355CC8[256] = {};
static const u8 gUnknown_8355DC8[256] = {};
static const u8 gUnknown_8355EC8[32] = {};
static const u8 gUnknown_8355EE8[256] = {};
static const u8 gUnknown_8355FE8[256] = {};
static const u8 gUnknown_83560E8[256] = {};
static const u8 gUnknown_83561E8[32] = {};
static const u8 gUnknown_8356208[256] = {};
static const u8 gUnknown_8356308[256] = {};
static const u8 gUnknown_8356408[256] = {};
static const u8 gUnknown_8356508[32] = {};
static const u8 gUnknown_8356528[256] = {};
static const u8 gUnknown_8356628[256] = {};
static const u8 gUnknown_8356728[256] = {};
static const u8 gUnknown_8356828[32] = {};
static const u8 gUnknown_8356848[256] = {};
static const u8 gUnknown_8356948[256] = {};
static const u8 gUnknown_8356A48[256] = {};
static const u8 gUnknown_8356B48[32] = {};
static const u8 gUnknown_8356B68[256] = {};
static const u8 gUnknown_8356C68[256] = {};
static const u8 gUnknown_8356D68[256] = {};
static const u8 gUnknown_8356E68[32] = {};
static const u8 gUnknown_8356E88[128] = {};
static const u8 gUnknown_8356F08[128] = {};
static const u8 gUnknown_8356F88[128] = {};
static const u8 gUnknown_8357008[32] = {};
static const u8 gUnknown_8357028[128] = {};
static const u8 gUnknown_83570A8[128] = {};
static const u8 gUnknown_8357128[128] = {};
static const u8 gUnknown_83571A8[32] = {};
static const u8 gUnknown_83571C8[128] = {};
static const u8 gUnknown_8357248[128] = {};
static const u8 gUnknown_83572C8[128] = {};
static const u8 gUnknown_8357348[32] = {};
static const u8 gUnknown_8357368[128] = {};
static const u8 gUnknown_83573E8[128] = {};
static const u8 gUnknown_8357468[128] = {};
static const u8 gUnknown_83574E8[32] = {};
static const u8 gUnknown_8357508[128] = {};
static const u8 gUnknown_8357588[128] = {};
static const u8 gUnknown_8357608[128] = {};
static const u8 gUnknown_8357688[32] = {};
static const u8 gUnknown_83576A8[128] = {};
static const u8 gUnknown_8357728[128] = {};
static const u8 gUnknown_83577A8[128] = {};
static const u8 gUnknown_8357828[32] = {};
static const u8 gUnknown_8357848[128] = {};
static const u8 gUnknown_83578C8[128] = {};
static const u8 gUnknown_8357948[128] = {};
static const u8 gUnknown_83579C8[32] = {};
static const u8 gUnknown_83579E8[128] = {};
static const u8 gUnknown_8357A68[128] = {};
static const u8 gUnknown_8357AE8[128] = {};
static const u8 gUnknown_8357B68[32] = {};
static const u8 gUnknown_8357B88[128] = {};
static const u8 gUnknown_8357C08[128] = {};
static const u8 gUnknown_8357C88[128] = {};
static const u8 gUnknown_8357D08[32] = {};
static const u8 gUnknown_8357D28[128] = {};
static const u8 gUnknown_8357DA8[128] = {};
static const u8 gUnknown_8357E28[128] = {};
static const u8 gUnknown_8357EA8[32] = {};
static const u8 gUnknown_8357EC8[128] = {};
static const u8 gUnknown_8357F48[128] = {};
static const u8 gUnknown_8357FC8[128] = {};
static const u8 gUnknown_8358048[32] = {};
static const u8 gUnknown_8358068[128] = {};
static const u8 gUnknown_83580E8[128] = {};
static const u8 gUnknown_8358168[128] = {};
static const u8 gUnknown_83581E8[32] = {};
static const u8 gUnknown_8358208[128] = {};
static const u8 gUnknown_8358288[128] = {};
static const u8 gUnknown_8358308[128] = {};
static const u8 gUnknown_8358388[32] = {};
static const u8 gUnknown_83583A8[128] = {};
static const u8 gUnknown_8358428[128] = {};
static const u8 gUnknown_83584A8[128] = {};
static const u8 gUnknown_8358528[32] = {};
static const u8 gUnknown_8358548[128] = {};
static const u8 gUnknown_83585C8[128] = {};
static const u8 gUnknown_8358648[128] = {};
static const u8 gUnknown_83586C8[32] = {};
static const u8 gUnknown_83586E8[128] = {};
static const u8 gUnknown_8358768[128] = {};
static const u8 gUnknown_83587E8[128] = {};
static const u8 gUnknown_8358868[32] = {};
static const u8 gUnknown_8358888[128] = {};
static const u8 gUnknown_8358908[128] = {};
static const u8 gUnknown_8358988[128] = {};
static const u8 gUnknown_8358A08[32] = {};
static const u8 gUnknown_8358A28[128] = {};
static const u8 gUnknown_8358AA8[128] = {};
static const u8 gUnknown_8358B28[128] = {};
static const u8 gUnknown_8358BA8[32] = {};
static const u8 gUnknown_8358BC8[128] = {};
static const u8 gUnknown_8358C48[128] = {};
static const u8 gUnknown_8358CC8[128] = {};
static const u8 gUnknown_8358D48[32] = {};
static const u8 gUnknown_8358D68[128] = {};
static const u8 gUnknown_8358DE8[128] = {};
static const u8 gUnknown_8358E68[128] = {};
static const u8 gUnknown_8358EE8[32] = {};
static const u8 gUnknown_8358F08[128] = {};
static const u8 gUnknown_8358F88[128] = {};
static const u8 gUnknown_8359008[128] = {};
static const u8 gUnknown_8359088[32] = {};
static const u8 gUnknown_83590A8[128] = {};
static const u8 gUnknown_8359128[128] = {};
static const u8 gUnknown_83591A8[128] = {};
static const u8 gUnknown_8359228[32] = {};
static const u8 gUnknown_8359248[128] = {};
static const u8 gUnknown_83592C8[128] = {};
static const u8 gUnknown_8359348[128] = {};
static const u8 gUnknown_83593C8[32] = {};
static const u8 gUnknown_83593E8[128] = {};
static const u8 gUnknown_8359468[128] = {};
static const u8 gUnknown_83594E8[128] = {};
static const u8 gUnknown_8359568[32] = {};
static const u16 sDoorNullPalette13[16] = {};
static const u8 sDoorAnimTiles_DeptStore[] = INCBIN_U8("graphics/door_anims/frame_83545A8_1.4bpp", "graphics/door_anims/frame_83545A8_2.4bpp", "graphics/door_anims/frame_83545A8_3.4bpp");
static const u16 sDoorNullPalette14[16] = {};
static const u8 sDoorAnimTiles_Fuchsia[] = INCBIN_U8("graphics/door_anims/frame_8354748_1.4bpp", "graphics/door_anims/frame_8354748_2.4bpp", "graphics/door_anims/frame_8354748_3.4bpp");
static const u16 sDoorNullPalette15[16] = {};
static const u8 sDoorAnimTiles_SafariZone[] = INCBIN_U8("graphics/door_anims/frame_83548E8_1.4bpp", "graphics/door_anims/frame_83548E8_2.4bpp", "graphics/door_anims/frame_83548E8_3.4bpp");
static const u16 sDoorNullPalette16[16] = {};
static const u8 sDoorAnimTiles_CinnabarLab[] = INCBIN_U8("graphics/door_anims/frame_8354A88_1.4bpp", "graphics/door_anims/frame_8354A88_2.4bpp", "graphics/door_anims/frame_8354A88_3.4bpp");
static const u16 sDoorNullPalette17[16] = {};
static const u8 sDoorAnimTiles_DeptStoreElevator[] = INCBIN_U8("graphics/door_anims/frame_8354C28_1.4bpp", "graphics/door_anims/frame_8354C28_2.4bpp", "graphics/door_anims/frame_8354C28_3.4bpp");
static const u16 sDoorNullPalette18[16] = {};
static const u8 sDoorAnimTiles_CableClub[] = INCBIN_U8("graphics/door_anims/frame_8354F48_1.4bpp", "graphics/door_anims/frame_8354F48_2.4bpp", "graphics/door_anims/frame_8354F48_3.4bpp");
static const u16 sDoorNullPalette19[16] = {};
static const u8 sDoorAnimTiles_HideoutElevator[] = INCBIN_U8("graphics/door_anims/frame_8355268_1.4bpp", "graphics/door_anims/frame_8355268_2.4bpp", "graphics/door_anims/frame_8355268_3.4bpp");
static const u16 sDoorNullPalette20[16] = {};
static const u8 sDoorAnimTiles_SSAnne[] = INCBIN_U8("graphics/door_anims/frame_8355588_1.4bpp", "graphics/door_anims/frame_8355588_2.4bpp", "graphics/door_anims/frame_8355588_3.4bpp");
static const u16 sDoorNullPalette21[16] = {};
// Doors from R/S dummied below
static const u8 gUnknown_83558A8[256 * 3] = {};
static const u16 sDoorNullPalette22[16] = {};
static const u8 gUnknown_8355BC8[256 * 3] = {};
static const u16 sDoorNullPalette23[16] = {};
static const u8 gUnknown_8355EE8[256 * 3] = {};
static const u16 sDoorNullPalette24[16] = {};
static const u8 gUnknown_8356208[256 * 3] = {};
static const u16 sDoorNullPalette25[16] = {};
static const u8 gUnknown_8356528[256 * 3] = {};
static const u16 sDoorNullPalette26[16] = {};
static const u8 gUnknown_8356848[256 * 3] = {};
static const u16 sDoorNullPalette27[16] = {};
static const u8 gUnknown_8356B68[256 * 3] = {};
static const u16 sDoorNullPalette28[16] = {};
static const u8 gUnknown_8356E88[128 * 3] = {};
static const u16 sDoorNullPalette29[16] = {};
static const u8 gUnknown_8357028[128 * 3] = {};
static const u16 sDoorNullPalette30[16] = {};
static const u8 gUnknown_83571C8[128 * 3] = {};
static const u16 sDoorNullPalette31[16] = {};
static const u8 gUnknown_8357368[128 * 3] = {};
static const u16 sDoorNullPalette32[16] = {};
static const u8 gUnknown_8357508[128 * 3] = {};
static const u16 sDoorNullPalette33[16] = {};
static const u8 gUnknown_83576A8[128 * 3] = {};
static const u16 sDoorNullPalette34[16] = {};
static const u8 gUnknown_8357848[128 * 3] = {};
static const u16 sDoorNullPalette35[16] = {};
static const u8 gUnknown_83579E8[128 * 3] = {};
static const u16 sDoorNullPalette36[16] = {};
static const u8 gUnknown_8357B88[128 * 3] = {};
static const u16 sDoorNullPalette37[16] = {};
static const u8 gUnknown_8357D28[128 * 3] = {};
static const u16 sDoorNullPalette38[16] = {};
static const u8 gUnknown_8357EC8[128 * 3] = {};
static const u16 sDoorNullPalette39[16] = {};
static const u8 gUnknown_8358068[128 * 3] = {};
static const u16 sDoorNullPalette40[16] = {};
static const u8 gUnknown_8358208[128 * 3] = {};
static const u16 sDoorNullPalette41[16] = {};
static const u8 gUnknown_83583A8[128 * 3] = {};
static const u16 sDoorNullPalette42[16] = {};
static const u8 gUnknown_8358548[128 * 3] = {};
static const u16 sDoorNullPalette43[16] = {};
static const u8 gUnknown_83586E8[128 * 3] = {};
static const u16 sDoorNullPalette44[16] = {};
static const u8 gUnknown_8358888[128 * 3] = {};
static const u16 sDoorNullPalette45[16] = {};
static const u8 gUnknown_8358A28[128 * 3] = {};
static const u16 sDoorNullPalette46[16] = {};
static const u8 gUnknown_8358BC8[128 * 3] = {};
static const u16 sDoorNullPalette47[16] = {};
static const u8 gUnknown_8358D68[128 * 3] = {};
static const u16 sDoorNullPalette48[16] = {};
static const u8 gUnknown_8358F08[128 * 3] = {};
static const u16 sDoorNullPalette49[16] = {};
static const u8 gUnknown_83590A8[128 * 3] = {};
static const u16 sDoorNullPalette50[16] = {};
static const u8 gUnknown_8359248[128 * 3] = {};
static const u16 sDoorNullPalette51[16] = {};
static const u8 gUnknown_83593E8[128 * 3] = {};
static const u16 sDoorNullPalette52[16] = {};
// Unused block of door tiles
static const u8 gUnknown_8359588[] = INCBIN_U8("graphics/door_anims/frame_8359588_1.4bpp", "graphics/door_anims/frame_8359588_2.4bpp");
static const u8 gUnknown_8359688[256] = {};
static const u8 gUnknown_8359788[] = INCBIN_U8("graphics/door_anims/frame_8359788_1.4bpp", "graphics/door_anims/frame_8359788_2.4bpp", "graphics/door_anims/frame_8359788_3.4bpp", "graphics/door_anims/frame_8359788_4.4bpp");
@ -201,29 +147,31 @@ static const u8 gUnknown_8359888[256] = {};
static const u8 gUnknown_8359988[] = INCBIN_U8("graphics/door_anims/frame_8359988_1.4bpp", "graphics/door_anims/frame_8359988_2.4bpp", "graphics/door_anims/frame_8359988_3.4bpp", "graphics/door_anims/frame_8359988_4.4bpp");
static const u8 gUnknown_8359A88[256] = {};
static const u8 gUnknown_8359B88[] = INCBIN_U8("graphics/door_anims/frame_8359B88_1.4bpp", "graphics/door_anims/frame_8359B88_2.4bpp", "graphics/door_anims/frame_8359B88_3.4bpp", "graphics/door_anims/frame_8359B88_4.4bpp");
static const u8 gUnknown_8359C88[32] = {};
static const u8 gUnknown_8359CA8[] = INCBIN_U8("graphics/door_anims/frame_8359CA8_1.4bpp", "graphics/door_anims/frame_8359CA8_2.4bpp", "graphics/door_anims/frame_8359CA8_3.4bpp");
static const u8 gUnknown_8359FA8[32] = {};
static const u8 gUnknown_8359FC8[] = INCBIN_U8("graphics/door_anims/frame_8359FC8_1.4bpp", "graphics/door_anims/frame_8359FC8_2.4bpp", "graphics/door_anims/frame_8359FC8_3.4bpp");
static const u8 gUnknown_835A148[32] = {};
static const u8 gUnknown_835A168[] = INCBIN_U8("graphics/door_anims/frame_835A168_1.4bpp", "graphics/door_anims/frame_835A168_2.4bpp", "graphics/door_anims/frame_835A168_3.4bpp");
static const u8 gUnknown_835A2E8[32] = {};
static const u8 gUnknown_835A308[] = INCBIN_U8("graphics/door_anims/frame_835A308_1.4bpp", "graphics/door_anims/frame_835A308_2.4bpp", "graphics/door_anims/frame_835A308_3.4bpp");
static const u8 gUnknown_835A488[32] = {};
static const u8 gUnknown_835A4A8[] = INCBIN_U8("graphics/door_anims/frame_835A4A8_1.4bpp", "graphics/door_anims/frame_835A4A8_2.4bpp", "graphics/door_anims/frame_835A4A8_3.4bpp");
static const u8 gUnknown_835A628[32] = {};
static const u8 gUnknown_835A648[] = INCBIN_U8("graphics/door_anims/frame_835A648_1.4bpp", "graphics/door_anims/frame_835A648_2.4bpp", "graphics/door_anims/frame_835A648_3.4bpp");
static const u8 gUnknown_835A7C8[32] = {};
static const u8 gUnknown_835A7E8[] = INCBIN_U8("graphics/door_anims/frame_835A7E8_1.4bpp", "graphics/door_anims/frame_835A7E8_2.4bpp", "graphics/door_anims/frame_835A7E8_3.4bpp");
static const u8 gUnknown_835A968[32] = {};
static const u8 gUnknown_835A988[] = INCBIN_U8("graphics/door_anims/frame_835A988_1.4bpp", "graphics/door_anims/frame_835A988_2.4bpp", "graphics/door_anims/frame_835A988_3.4bpp");
static const u8 gUnknown_835AB08[32] = {};
static const u8 gUnknown_835AB28[] = INCBIN_U8("graphics/door_anims/frame_835AB28_1.4bpp", "graphics/door_anims/frame_835AB28_2.4bpp", "graphics/door_anims/frame_835AB28_3.4bpp");
static const u8 gUnknown_835AE28[32] = {};
static const u8 gUnknown_835AE48[] = INCBIN_U8("graphics/door_anims/frame_835AE48_1.4bpp", "graphics/door_anims/frame_835AE48_2.4bpp", "graphics/door_anims/frame_835AE48_3.4bpp");
static const u8 gUnknown_835B148[32] = {};
static const u8 gUnknown_835B168[] = INCBIN_U8("graphics/door_anims/frame_835B168_1.4bpp", "graphics/door_anims/frame_835B168_2.4bpp", "graphics/door_anims/frame_835B168_3.4bpp");
static const u8 gUnknown_835B468[32] = {};
static const u16 sDoorNullPalette53[16] = {};
// Used FLRG doors resume
static const u8 sDoorAnimTiles_SilphCoElevator[] = INCBIN_U8("graphics/door_anims/frame_8359CA8_1.4bpp", "graphics/door_anims/frame_8359CA8_2.4bpp", "graphics/door_anims/frame_8359CA8_3.4bpp");
static const u16 sDoorNullPalette54[16] = {};
static const u8 sDoorAnimTiles_Sevii123[] = INCBIN_U8("graphics/door_anims/frame_8359FC8_1.4bpp", "graphics/door_anims/frame_8359FC8_2.4bpp", "graphics/door_anims/frame_8359FC8_3.4bpp");
static const u16 sDoorNullPalette55[16] = {};
static const u8 sDoorAnimTiles_JoyfulGameCorner[] = INCBIN_U8("graphics/door_anims/frame_835A168_1.4bpp", "graphics/door_anims/frame_835A168_2.4bpp", "graphics/door_anims/frame_835A168_3.4bpp");
static const u16 sDoorNullPalette56[16] = {};
static const u8 sDoorAnimTiles_OneIslandPokeCenter[] = INCBIN_U8("graphics/door_anims/frame_835A308_1.4bpp", "graphics/door_anims/frame_835A308_2.4bpp", "graphics/door_anims/frame_835A308_3.4bpp");
static const u16 sDoorNullPalette57[16] = {};
static const u8 sDoorAnimTiles_Sevii45[] = INCBIN_U8("graphics/door_anims/frame_835A4A8_1.4bpp", "graphics/door_anims/frame_835A4A8_2.4bpp", "graphics/door_anims/frame_835A4A8_3.4bpp");
static const u16 sDoorNullPalette58[16] = {};
static const u8 sDoorAnimTiles_FourIslandDayCare[] = INCBIN_U8("graphics/door_anims/frame_835A648_1.4bpp", "graphics/door_anims/frame_835A648_2.4bpp", "graphics/door_anims/frame_835A648_3.4bpp");
static const u16 sDoorNullPalette59[16] = {};
static const u8 sDoorAnimTiles_RocketWarehouse[] = INCBIN_U8("graphics/door_anims/frame_835A7E8_1.4bpp", "graphics/door_anims/frame_835A7E8_2.4bpp", "graphics/door_anims/frame_835A7E8_3.4bpp");
static const u16 sDoorNullPalette60[16] = {};
static const u8 sDoorAnimTiles_Sevii67[] = INCBIN_U8("graphics/door_anims/frame_835A988_1.4bpp", "graphics/door_anims/frame_835A988_2.4bpp", "graphics/door_anims/frame_835A988_3.4bpp");
static const u16 sDoorNullPalette61[16] = {};
static const u8 sDoorAnimTiles_Teleporter[] = INCBIN_U8("graphics/door_anims/frame_835AB28_1.4bpp", "graphics/door_anims/frame_835AB28_2.4bpp", "graphics/door_anims/frame_835AB28_3.4bpp");
static const u16 sDoorNullPalette62[16] = {};
static const u8 sDoorAnimTiles_TrainerTowerLobbyElevator[] = INCBIN_U8("graphics/door_anims/frame_835AE48_1.4bpp", "graphics/door_anims/frame_835AE48_2.4bpp", "graphics/door_anims/frame_835AE48_3.4bpp");
static const u16 sDoorNullPalette63[16] = {};
static const u8 sDoorAnimTiles_TrainerTowerRoofElevator[] = INCBIN_U8("graphics/door_anims/frame_835B168_1.4bpp", "graphics/door_anims/frame_835B168_2.4bpp", "graphics/door_anims/frame_835B168_3.4bpp");
static const u16 sDoorNullPalette64[16] = {};
static const struct DoorAnimFrame sDoorAnimFrames_OpenSmall[] = {
{4, 0xFFFF},
@ -257,72 +205,72 @@ static const struct DoorAnimFrame sDoorAnimFrames_CloseLarge[] = {
{}
};
static const u8 gUnknown_835B4D8[] = {0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2};
static const u8 gUnknown_835B4E0[] = {0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3};
static const u8 gUnknown_835B4E8[] = {0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3};
static const u8 gUnknown_835B4F0[] = {0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8};
static const u8 gUnknown_835B4F8[] = {0xa, 0xa, 0xa, 0xa, 0xa, 0xa, 0xa, 0xa};
static const u8 gUnknown_835B500[] = {0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8};
static const u8 gUnknown_835B508[] = {0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8};
static const u8 gUnknown_835B510[] = {0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8};
static const u8 gUnknown_835B518[] = {0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3};
static const u8 gUnknown_835B520[] = {0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc};
static const u8 gUnknown_835B528[] = {0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9};
static const u8 gUnknown_835B530[] = {0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9};
static const u8 gUnknown_835B538[] = {0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9};
static const u8 gUnknown_835B540[] = {0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3};
static const u8 gUnknown_835B548[] = {0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8};
static const u8 gUnknown_835B550[] = {0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9};
static const u8 gUnknown_835B558[] = {0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3};
static const u8 gUnknown_835B560[] = {0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8};
static const u8 gUnknown_835B568[] = {0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8};
static const u8 gUnknown_835B570[] = {0xc, 0xc, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2};
static const u8 gUnknown_835B578[] = {0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7};
static const u8 gUnknown_835B580[] = {0x8, 0x8, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2};
static const u8 gUnknown_835B588[] = {0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5};
static const u8 gUnknown_835B590[] = {0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3};
static const u8 gUnknown_835B598[] = {0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3};
static const u8 gUnknown_835B5A0[] = {0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5};
static const u8 gUnknown_835B5A8[] = {0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3};
static const u8 gUnknown_835B5B0[] = {0xa, 0xa, 0xa, 0xa, 0xa, 0xa, 0xa, 0xa};
static const u8 gUnknown_835B5B8[] = {0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5};
static const u8 gUnknown_835B5C0[] = {0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8};
static const u8 gUnknown_835B5C8[] = {0x8, 0x8, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2};
static const u8 gUnknown_835B5D0[] = {0xb, 0xb, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2};
static const u8 sDoorAnimPalettes_General[] = {2, 2, 2, 2, 2, 2, 2, 2};
static const u8 sDoorAnimPalettes_SlidingSingle[] = {3, 3, 3, 3, 3, 3, 3, 3};
static const u8 sDoorAnimPalettes_SlidingDouble[] = {3, 3, 3, 3, 3, 3, 3, 3};
static const u8 sDoorAnimPalettes_Pallet[] = {8, 8, 8, 8, 8, 8, 8, 8};
static const u8 sDoorAnimPalettes_OaksLab[] = {10, 10, 10, 10, 10, 10, 10, 10};
static const u8 sDoorAnimPalettes_Viridian[] = {8, 8, 8, 8, 8, 8, 8, 8};
static const u8 sDoorAnimPalettes_Pewter[] = {8, 8, 8, 8, 8, 8, 8, 8};
static const u8 sDoorAnimPalettes_Saffron[] = {8, 8, 8, 8, 8, 8, 8, 8};
static const u8 sDoorAnimPalettes_SilphCo[] = {3, 3, 3, 3, 3, 3, 3, 3};
static const u8 sDoorAnimPalettes_Cerulean[] = {12, 12, 12, 12, 12, 12, 12, 12};
static const u8 sDoorAnimPalettes_Lavender[] = {9, 9, 9, 9, 9, 9, 9, 9};
static const u8 sDoorAnimPalettes_Vermilion[] = {9, 9, 9, 9, 9, 9, 9, 9};
static const u8 gUnknown_835B538[] = {9, 9, 9, 9, 9, 9, 9, 9};
static const u8 sDoorAnimPalettes_DeptStore[] = {3, 3, 3, 3, 3, 3, 3, 3};
static const u8 sDoorAnimPalettes_Fuchsia[] = {8, 8, 8, 8, 8, 8, 8, 8};
static const u8 sDoorAnimPalettes_SafariZone[] = {9, 9, 9, 9, 9, 9, 9, 9};
static const u8 sDoorAnimPalettes_CinnabarLab[] = {3, 3, 3, 3, 3, 3, 3, 3};
static const u8 sDoorAnimPalettes_DeptStoreElevator[] = {8, 8, 8, 8, 8, 8, 8, 8};
static const u8 sDoorAnimPalettes_CableClub[] = {8, 8, 8, 8, 8, 8, 8, 8};
static const u8 sDoorAnimPalettes_HideoutElevator[] = {12, 12, 2, 2, 2, 2, 2, 2};
static const u8 sDoorAnimPalettes_SSAnne[] = {7, 7, 7, 7, 7, 7, 7, 7};
static const u8 sDoorAnimPalettes_SilphCoElevator[] = {8, 8, 2, 2, 2, 2, 2, 2};
static const u8 sDoorAnimPalettes_Sevii123[] = {5, 5, 5, 5, 5, 5, 5, 5};
static const u8 sDoorAnimPalettes_JoyfulGameCorner[] = {3, 3, 3, 3, 3, 3, 3, 3};
static const u8 sDoorAnimPalettes_OneIslandPokeCenter[] = {3, 3, 3, 3, 3, 3, 3, 3};
static const u8 sDoorAnimPalettes_Sevii45[] = {5, 5, 5, 5, 5, 5, 5, 5};
static const u8 sDoorAnimPalettes_FourIslandDayCare[] = {3, 3, 3, 3, 3, 3, 3, 3};
static const u8 sDoorAnimPalettes_RocketWarehouse[] = {10, 10, 10, 10, 10, 10, 10, 10};
static const u8 sDoorAnimPalettes_Sevii67[] = {5, 5, 5, 5, 5, 5, 5, 5};
static const u8 sDoorAnimPalettes_Teleporter[] = {8, 8, 8, 8, 8, 8, 8, 8};
static const u8 sDoorAnimPalettes_TrainerTowerLobbyElevator[] = {8, 8, 2, 2, 2, 2, 2, 2};
static const u8 sDoorAnimPalettes_TrainerTowerRoofElevator[] = {11, 11, 2, 2, 2, 2, 2, 2};
static const struct DoorGraphics sDoorGraphics[] = {
{0x03d, 0, 0, gUnknown_8353088, gUnknown_835B4D8},
{0x062, 1, 0, gUnknown_8353228, gUnknown_835B4E0},
{0x15b, 1, 0, gUnknown_83533C8, gUnknown_835B4E8},
{0x2a3, 0, 0, gUnknown_8353568, gUnknown_835B4F0},
{0x2ac, 0, 0, gUnknown_8353708, gUnknown_835B4F8},
{0x299, 0, 0, gUnknown_83538A8, gUnknown_835B500},
{0x2ce, 0, 0, gUnknown_8353A48, gUnknown_835B508},
{0x284, 0, 0, gUnknown_8353BE8, gUnknown_835B510},
{0x2bc, 1, 0, gUnknown_8353D88, gUnknown_835B518},
{0x298, 0, 0, gUnknown_8353F28, gUnknown_835B520},
{0x2a2, 0, 0, gUnknown_83540C8, gUnknown_835B528},
{0x29e, 0, 0, gUnknown_8354268, gUnknown_835B530},
{0x2e1, 0, 0, gUnknown_8354408, gUnknown_835B538},
{0x294, 1, 0, gUnknown_83545A8, gUnknown_835B540},
{0x2bf, 0, 0, gUnknown_8354748, gUnknown_835B548},
{0x2d2, 1, 0, gUnknown_83548E8, gUnknown_835B550},
{0x2ad, 0, 0, gUnknown_8354A88, gUnknown_835B558},
{0x297, 0, 0, gUnknown_8359FC8, gUnknown_835B588},
{0x29b, 1, 0, gUnknown_835A168, gUnknown_835B590},
{0x2eb, 0, 0, gUnknown_835A308, gUnknown_835B598},
{0x29a, 0, 0, gUnknown_835A4A8, gUnknown_835B5A0},
{0x2b9, 0, 0, gUnknown_835A648, gUnknown_835B5A8},
{0x2af, 0, 0, gUnknown_835A7E8, gUnknown_835B5B0},
{0x30c, 0, 0, gUnknown_835A988, gUnknown_835B5B8},
{0x28d, 1, 1, gUnknown_8354C28, gUnknown_835B560},
{0x2de, 1, 1, gUnknown_8354F48, gUnknown_835B568},
{0x2ab, 1, 1, gUnknown_8355268, gUnknown_835B570},
{0x281, 0, 1, gUnknown_8355588, gUnknown_835B578},
{0x2e2, 1, 1, gUnknown_8359CA8, gUnknown_835B580},
{0x296, 1, 1, gUnknown_835AB28, gUnknown_835B5C0},
{0x2c3, 1, 1, gUnknown_835AE48, gUnknown_835B5C8},
{0x356, 1, 1, gUnknown_835B168, gUnknown_835B5D0},
{METATILE_General_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_General, sDoorAnimPalettes_General},
{METATILE_General_SlidingSingleDoor, DOOR_SOUND_SLIDING, 0, sDoorAnimTiles_SlidingSingle, sDoorAnimPalettes_SlidingSingle},
{METATILE_General_SlidingDoubleDoor, DOOR_SOUND_SLIDING, 0, sDoorAnimTiles_SlidingDouble, sDoorAnimPalettes_SlidingDouble},
{METATILE_PalletTown_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Pallet, sDoorAnimPalettes_Pallet},
{METATILE_PalletTown_OaksLabDoor, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_OaksLab, sDoorAnimPalettes_OaksLab},
{METATILE_ViridianCity_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Viridian, sDoorAnimPalettes_Viridian},
{METATILE_PewterCity_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Pewter, sDoorAnimPalettes_Pewter},
{METATILE_SaffronCity_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Saffron, sDoorAnimPalettes_Saffron},
{METATILE_SaffronCity_SilphCoDoor, DOOR_SOUND_SLIDING, 0, sDoorAnimTiles_SilphCo, sDoorAnimPalettes_SilphCo},
{METATILE_CeruleanCity_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Cerulean, sDoorAnimPalettes_Cerulean},
{METATILE_LavenderTown_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Lavender, sDoorAnimPalettes_Lavender},
{METATILE_VermilionCity_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Vermilion, sDoorAnimPalettes_Vermilion},
{0x2e1, /* Unused Vermilion Fan Club Door? */ DOOR_SOUND_NORMAL, 0, gUnknown_8354408, gUnknown_835B538},
{METATILE_CeladonCity_DeptStoreDoor, DOOR_SOUND_SLIDING, 0, sDoorAnimTiles_DeptStore, sDoorAnimPalettes_DeptStore},
{METATILE_FuchsiaCity_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Fuchsia, sDoorAnimPalettes_Fuchsia},
{METATILE_FuchsiaCity_SafariZoneDoor, DOOR_SOUND_SLIDING, 0, sDoorAnimTiles_SafariZone, sDoorAnimPalettes_SafariZone},
{METATILE_CinnabarIsland_LabDoor, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_CinnabarLab, sDoorAnimPalettes_CinnabarLab},
{METATILE_SeviiIslands123_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Sevii123, sDoorAnimPalettes_Sevii123},
{METATILE_SeviiIslands123_GameCornerDoor, DOOR_SOUND_SLIDING, 0, sDoorAnimTiles_JoyfulGameCorner, sDoorAnimPalettes_JoyfulGameCorner},
{METATILE_SeviiIslands123_PokeCenterDoor, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_OneIslandPokeCenter, sDoorAnimPalettes_OneIslandPokeCenter},
{METATILE_SeviiIslands45_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Sevii45, sDoorAnimPalettes_Sevii45},
{METATILE_SeviiIslands45_DayCareDoor, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_FourIslandDayCare, sDoorAnimPalettes_FourIslandDayCare},
{METATILE_SeviiIslands45_RocketWarehouseDoor_Unlocked, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_RocketWarehouse, sDoorAnimPalettes_RocketWarehouse},
{METATILE_SeviiIslands67_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Sevii67, sDoorAnimPalettes_Sevii67},
{METATILE_DepartmentStore_ElevatorDoor, DOOR_SOUND_SLIDING, 1, sDoorAnimTiles_DeptStoreElevator, sDoorAnimPalettes_DeptStoreElevator},
{METATILE_PokemonCenter_CableClubDoor, DOOR_SOUND_SLIDING, 1, sDoorAnimTiles_CableClub, sDoorAnimPalettes_CableClub},
{METATILE_SilphCo_HideoutElevatorDoor, DOOR_SOUND_SLIDING, 1, sDoorAnimTiles_HideoutElevator, sDoorAnimPalettes_HideoutElevator},
{METATILE_SSAnne_Door, DOOR_SOUND_NORMAL, 1, sDoorAnimTiles_SSAnne, sDoorAnimPalettes_SSAnne},
{METATILE_SilphCo_ElevatorDoor, DOOR_SOUND_SLIDING, 1, sDoorAnimTiles_SilphCoElevator, sDoorAnimPalettes_SilphCoElevator},
{METATILE_SeaCottage_Teleporter_Door, DOOR_SOUND_SLIDING, 1, sDoorAnimTiles_Teleporter, sDoorAnimPalettes_Teleporter},
{METATILE_TrainerTower_LobbyElevatorDoor, DOOR_SOUND_SLIDING, 1, sDoorAnimTiles_TrainerTowerLobbyElevator, sDoorAnimPalettes_TrainerTowerLobbyElevator},
{METATILE_TrainerTower_RoofElevatorDoor, DOOR_SOUND_SLIDING, 1, sDoorAnimTiles_TrainerTowerRoofElevator, sDoorAnimPalettes_TrainerTowerRoofElevator},
{}
};
@ -418,7 +366,7 @@ static bool32 PlayDoorAnimationFrame(const struct DoorGraphics * gfx, const stru
return TRUE;
}
static const struct DoorGraphics * door_find(const struct DoorGraphics * gfx, u16 id)
static const struct DoorGraphics * GetDoorGraphics(const struct DoorGraphics * gfx, u16 id)
{
while (gfx->tiles != NULL)
{
@ -429,16 +377,18 @@ static const struct DoorGraphics * door_find(const struct DoorGraphics * gfx, u1
return NULL;
}
static s8 task_overworld_door_add_if_inactive(const struct DoorGraphics * gfx, const struct DoorAnimFrame * frames, int a2, int a3)
static s8 StartDoorAnimationTask(const struct DoorGraphics * gfx, const struct DoorAnimFrame * frames, int x, int y)
{
u8 taskId;
s16 *data;
if (FuncIsActiveTask(Task_AnimateDoor) == TRUE)
return -1;
taskId = CreateTask(Task_AnimateDoor, 80);
data = gTasks[taskId].data;
data[6] = a2;
data[7] = a3;
data[6] = x;
data[7] = y;
data[1] = (uintptr_t)frames;
data[0] = (uintptr_t)frames >> 16;
data[3] = (uintptr_t)gfx;
@ -446,14 +396,14 @@ static s8 task_overworld_door_add_if_inactive(const struct DoorGraphics * gfx, c
return taskId;
}
static void DrawClosedDoor(const struct DoorGraphics * gfx, int a1, int a2)
static void DrawClosedDoor(const struct DoorGraphics * gfx, int x, int y)
{
DrawDoorDefaultImage(gfx, a1, a2);
DrawDoorDefaultImage(gfx, x, y);
}
static void DrawOpenedDoor(const struct DoorGraphics * gfx, int x, int y)
{
gfx = door_find(gfx, MapGridGetMetatileIdAt(x, y));
gfx = GetDoorGraphics(gfx, MapGridGetMetatileIdAt(x, y));
if (gfx != NULL)
{
UpdateDrawDoorFrame(gfx, SeekToEndOfDoorAnim(gfx->size == 0 ? sDoorAnimFrames_OpenSmall : sDoorAnimFrames_OpenLarge), x, y);
@ -469,24 +419,24 @@ static const struct DoorAnimFrame * SeekToEndOfDoorAnim(const struct DoorAnimFra
static s8 AnimateDoorOpenInternal(const struct DoorGraphics * gfx, int x, int y)
{
gfx = door_find(gfx, MapGridGetMetatileIdAt(x, y));
gfx = GetDoorGraphics(gfx, MapGridGetMetatileIdAt(x, y));
if (gfx == NULL)
return -1;
else if (gfx->size == 0)
return task_overworld_door_add_if_inactive(gfx, sDoorAnimFrames_OpenSmall, x, y);
return StartDoorAnimationTask(gfx, sDoorAnimFrames_OpenSmall, x, y);
else
return task_overworld_door_add_if_inactive(gfx, sDoorAnimFrames_OpenLarge, x, y);
return StartDoorAnimationTask(gfx, sDoorAnimFrames_OpenLarge, x, y);
}
static s8 AnimateDoorCloseInternal(const struct DoorGraphics * gfx, int x, int y)
{
gfx = door_find(gfx, MapGridGetMetatileIdAt(x, y));
gfx = GetDoorGraphics(gfx, MapGridGetMetatileIdAt(x, y));
if (gfx == NULL)
return -1;
else if (gfx->size == 0)
return task_overworld_door_add_if_inactive(gfx, sDoorAnimFrames_CloseSmall, x, y);
return StartDoorAnimationTask(gfx, sDoorAnimFrames_CloseSmall, x, y);
else
return task_overworld_door_add_if_inactive(gfx, sDoorAnimFrames_CloseLarge, x, y);
return StartDoorAnimationTask(gfx, sDoorAnimFrames_CloseLarge, x, y);
}
void FieldSetDoorOpened(int x, int y)
@ -522,16 +472,16 @@ bool8 FieldIsDoorAnimationRunning(void)
u16 GetDoorSoundEffect(x, y)
{
if (!GetDoorOpenType(sDoorGraphics, x, y))
if (GetDoorSoundType(sDoorGraphics, x, y) == DOOR_SOUND_NORMAL)
return MUS_W_DOOR;
else
else // DOOR_SOUND_SLIDING
return SE_JIDO_DOA;
}
static s8 GetDoorOpenType(const struct DoorGraphics * gfx, int x, int y)
static s8 GetDoorSoundType(const struct DoorGraphics * gfx, int x, int y)
{
gfx = door_find(gfx, MapGridGetMetatileIdAt(x, y));
gfx = GetDoorGraphics(gfx, MapGridGetMetatileIdAt(x, y));
if (gfx == NULL)
return -1;
return gfx->sliding;
return gfx->sound;
}