diff options
| author | theo3 <arisstephenson2@gmail.com> | 2022-03-27 00:19:10 -0700 |
|---|---|---|
| committer | theo3 <arisstephenson2@gmail.com> | 2022-03-27 00:19:10 -0700 |
| commit | ca139bf5584ceaada7fbd19291a91559851918ce (patch) | |
| tree | 16581618ed2c11480402867f0b4d31fb0c035d5f /include | |
| parent | 5208bfd1aa3d0103fb8e57ba08a99511e1b524b7 (diff) | |
| parent | 74f88fe5eeaf14ed3f6e8d6344aca88a36d7a697 (diff) | |
merge
Diffstat (limited to 'include')
| -rw-r--r-- | include/area.h | 16 | ||||
| -rw-r--r-- | include/collision.h | 33 | ||||
| -rw-r--r-- | include/fileselect.h | 36 | ||||
| -rw-r--r-- | include/functions.h | 17 | ||||
| -rw-r--r-- | include/manager.h | 2 | ||||
| -rw-r--r-- | include/message.h | 9 | ||||
| -rw-r--r-- | include/object.h | 4 | ||||
| -rw-r--r-- | include/projectile/winder.h | 12 | ||||
| -rw-r--r-- | include/room.h | 16 | ||||
| -rw-r--r-- | include/roomid.h | 993 | ||||
| -rw-r--r-- | include/structures.h | 28 | ||||
| -rw-r--r-- | include/transitions.h | 54 |
12 files changed, 1177 insertions, 43 deletions
diff --git a/include/area.h b/include/area.h index 90f7dcc3..e1648f8c 100644 --- a/include/area.h +++ b/include/area.h @@ -2,6 +2,7 @@ #define AREA_H #include "global.h" +#include "transitions.h" #define MAX_ROOMS 64 @@ -14,7 +15,7 @@ typedef struct { void* map; void* metatiles; void* bg_anim; - void* exits; + const Transition* exits; void** properties; } RoomResInfo; static_assert(sizeof(RoomResInfo) == 0x20); @@ -93,9 +94,9 @@ typedef enum { AREA_EMPTY, AREA_HYRULE_DIG_CAVES, AREA_MELARIS_MINE, - AREA_MINISH_PATHS_1, + AREA_MINISH_PATHS, AREA_CRENEL_MINISH_PATHS, - AREA_DIG_CAVES_1, + AREA_DIG_CAVES, AREA_CRENEL_DIG_CAVE, AREA_FESTIVAL_TOWN, AREA_VEIL_FALLS_DIG_CAVE, @@ -220,6 +221,15 @@ typedef enum { AREA_DARK_HYRULE_CASTLE_BRIDGE, AREA_NULL_8E, AREA_8F, + AREA_90, + AREA_91, + AREA_92, + AREA_93, + AREA_94, + AREA_95, + AREA_96, + AREA_97, + AREA_98, } AreaID; #endif diff --git a/include/collision.h b/include/collision.h new file mode 100644 index 00000000..d57258a6 --- /dev/null +++ b/include/collision.h @@ -0,0 +1,33 @@ + +#ifndef COLLISION_H +#define COLLISION_H + +#include "global.h" +#include "entity.h" + +/** Collisions. */ +typedef enum { + COL_NONE = 0x0, + COL_NORTH_WEST = 0x2, + COL_NORTH_EAST = 0x4, + COL_NORTH_FULL = 0x6, + COL_NORTH_ANY = 0xe, + COL_SOUTH_WEST = 0x20, + COL_SOUTH_EAST = 0x40, + COL_SOUTH_FULL = 0x60, + COL_SOUTH_ANY = 0xe0, + COL_WEST_SOUTH = 0x200, + COL_WEST_NORTH = 0x400, + COL_WEST_FULL = 0x600, + COL_WEST_ANY = 0xe00, + COL_EAST_SOUTH = 0x2000, + COL_EAST_NORTH = 0x4000, + COL_EAST_FULL = 0x6000, + COL_EAST_ANY = 0xe000, +} Collisions; + +bool32 IsTileCollision(const u8*, s32, s32, u32); +void CalculateEntityTileCollisions(Entity*, u32, u32); +bool32 ProcessMovementInternal(Entity*, s32, s32, u32); + +#endif diff --git a/include/fileselect.h b/include/fileselect.h index 31d75ea5..066e3e88 100644 --- a/include/fileselect.h +++ b/include/fileselect.h @@ -23,21 +23,16 @@ static_assert(sizeof(ChooseFileState) == 0x30); // TODO: This occupies the same memory region as gMenu extern ChooseFileState gChooseFileState; -typedef struct { - u8 filler0[0x1]; - u8 unk1; - u8 charColor; - u8 bgColor; - u16 unk4; - u16 unk6; - u8* unk8; -} struct_02036540; - -typedef struct { - u8 filler0[0x10]; - u16 unk10; - u8 filler12[0x6]; -} struct_080FC844; +// typedef struct { +// u8 unk00 : 4; +// u8 unk04 : 4; +// u8 unk1; +// u8 charColor; +// u8 bgColor; +// u16 unk4; +// u16 unk6; +// u8* unk8; +// } struct_02036540; extern struct_020227E8 gUnk_020227E8[]; @@ -57,18 +52,19 @@ extern struct_02019EE0 gMapDataBottomSpecial; // TODO size: 0x8000 from ClearTilemaps? extern void sub_08056FEC(u32, struct_020227E8*); -extern void sub_0805F46C(u32, void*); +extern u32 sub_0805F46C(u32, Font*); extern void RecoverUI(u32 bottomPt, u32 topPt); extern void ClearTilemaps(void); extern void sub_0805194C(u32); -extern struct_02036540* sub_0805F2C8(void); -extern void sub_0805F7DC(u32, struct_02036540*); -extern void sub_0805F300(struct_02036540*); +extern WStruct* sub_0805F2C8(void); +extern u32 sub_0805F7DC(u32, WStruct*); +extern void sub_0805F300(WStruct*); extern void sub_08050A64(u32); extern void sub_08050AFC(u32); extern void sub_08050384(); +extern void CreateDialogBox(u32, u32); -extern const struct_080FC844 gUnk_080FC844; +extern const Font gUnk_080FC844; extern const u16 gUnk_080FC85C[][3]; extern void (*const gUnk_080FC908[])(void); extern const u8 gGlobalGfxAndPalettes[]; diff --git a/include/functions.h b/include/functions.h index 75ffb477..64e15113 100644 --- a/include/functions.h +++ b/include/functions.h @@ -52,7 +52,7 @@ extern void LoadResources(void); extern bool32 LoadSwapGFX(Entity*, u16, u32); extern void MenuFadeIn(u32, u32); extern void ModBombs(s32); -extern u32 PlayerInRange(Entity*, u32, u32); +extern bool32 PlayerInRange(Entity*, u32, s32); extern bool32 ProcessMovement1(Entity*); extern bool32 ProcessMovement12(Entity*); extern bool32 ProcessMovement2(Entity*); @@ -130,15 +130,16 @@ extern void sub_0803C0AC(Entity*); extern void sub_08049CF4(Entity*); extern Entity* sub_08049DF4(u32); extern u32 sub_08049EE4(Entity*); -extern u32 sub_08049F1C(Entity*, Entity*, u32); -extern u32 sub_08049F84(Entity*, u32); -extern u32 sub_08049FA0(Entity*); -extern u32 sub_08049FDC(Entity*, u32); +extern bool32 sub_08049F1C(Entity*, Entity*, s32); +extern bool32 sub_08049F84(Entity*, s32); +extern bool32 sub_08049FA0(Entity*); +extern bool32 sub_08049FDC(Entity*, u32); extern u32 sub_0804A024(Entity*, u32, u32); extern u32 sub_0804A044(Entity*, Entity*, u32); +extern void sub_0804A4E4(Entity*, Entity*); extern void sub_0804A720(Entity*); extern void sub_0804AA1C(Entity*); -extern void sub_0804C128(); +extern void sub_0804C128(void); extern u32 sub_080542AC(u32); extern void sub_08054564(); extern void sub_08054570(void); @@ -163,7 +164,7 @@ extern void sub_08060158(Entity*); extern void sub_0806D02C(Entity*); extern void sub_0806D0B0(Entity*); extern void sub_0806F4E8(Entity*); -extern u32 sub_0806F520(); +extern bool32 sub_0806F520(Entity*); extern u32 sub_0806F5B0(u32); extern u32 sub_0806F824(Entity*, Entity*, s32, s32); extern u32 sub_0806F948(Entity*); @@ -214,7 +215,7 @@ extern u32 sub_08079B24(void); extern void sub_08079BD8(Entity*); extern u32 sub_08079D48(); extern void sub_08079D84(void); -extern u32 sub_08079F8C(void); +extern bool32 sub_08079F8C(void); extern u32 sub_08079FC4(u32); extern void sub_0807A050(void); extern void sub_0807A5B8(u32); diff --git a/include/manager.h b/include/manager.h index 4835a712..131e9967 100644 --- a/include/manager.h +++ b/include/manager.h @@ -141,7 +141,7 @@ typedef struct { DiggingCaveEntrance* unk_00; u16 unk_04; u16 unk_06; - u8 unk_08; + u8 isDiggingCave; u8 unk_09; u8 unk_0a; u8 unk_0b; diff --git a/include/message.h b/include/message.h index c0164810..4a450767 100644 --- a/include/message.h +++ b/include/message.h @@ -17,7 +17,7 @@ typedef struct { u16 textIndex; u16 unk2; // HI? u32 field_0xc; - u32 field_0x10; + u32 rupees; u32 field_0x14; u32 field_0x18; u32 field_0x1c; @@ -25,14 +25,17 @@ typedef struct { extern Message gMessage; typedef struct { - u8 flags; + u8 unk00 : 1; + u8 unk01 : 4; + u8 unk05 : 2; + u8 unk06 : 1; u8 code; // first byte read u16 param; // second byte read u16 extended; // ascii adjusted for jp chars u16 _6; u16 textIndex; void* _c; - u8 buf[32]; + const u8* buf[8]; } Token; typedef struct { diff --git a/include/object.h b/include/object.h index 5d6cb713..7164e413 100644 --- a/include/object.h +++ b/include/object.h @@ -20,7 +20,7 @@ extern void sub_080787B4(Entity*); extern void sub_0808C650(Entity*, u32); extern u32 sub_0808C67C(void); extern void sub_0808C688(void); -extern void sub_080A2BE4(Entity*, u32); +extern void sub_080A2BE4(Entity*, bool32); void CreateDust(Entity* parent); void CreateDustAt(s32, s32, u32); @@ -215,7 +215,7 @@ typedef enum { OBJECT_B6, WELL, WIND_TRIBE_TELEPORTER, - OBJECT_B9, + CUCCO_MINIGAME, GYORG_BOSS_OBJECT, WINDCREST, LIT_AREA, diff --git a/include/projectile/winder.h b/include/projectile/winder.h new file mode 100644 index 00000000..1fe479ff --- /dev/null +++ b/include/projectile/winder.h @@ -0,0 +1,12 @@ +#ifndef PROJECTILE_WINDER_H +#define PROJECTILE_WINDER_H +#include "enemy.h" + +#define WINDER_NUM_SEGMENTS 8 + +typedef struct { + Entity base; + s16 positions[2 * WINDER_NUM_SEGMENTS]; +} WinderEntity; + +#endif diff --git a/include/room.h b/include/room.h index 5f71a07d..3ab02772 100644 --- a/include/room.h +++ b/include/room.h @@ -83,6 +83,16 @@ typedef struct { static_assert(sizeof(RoomVars) == 0xCC); extern RoomVars gRoomVars; +typedef struct { + u8 area; + u8 room; + u16 unk_02; + u32 unk_04; +} RoomMemory; + +extern RoomMemory* gUnk_020354B0; +extern RoomMemory gRoomMemory[]; + // Packets used to store which entities to load in a room typedef struct { u8 kind; @@ -96,10 +106,10 @@ typedef struct { } EntityData; typedef struct { - u16 field_0x0; + u16 tilePos; u16 field_0x2; - u8 field_0x4; - u8 field_0x5; + u8 room; + u8 animationState; u8 field_0x6; u8 field_0x7; } struct_030010EC; diff --git a/include/roomid.h b/include/roomid.h new file mode 100644 index 00000000..db520bdd --- /dev/null +++ b/include/roomid.h @@ -0,0 +1,993 @@ +#ifndef TMC_ROOMID_H +#define TMC_ROOMID_H + +typedef enum { + // AREA_MINISH_WOODS + ROOM_MINISH_WOODS_MAIN = 0, + // AREA_MINISH_VILLAGE + ROOM_MINISH_VILLAGE_MAIN = 0, + ROOM_MINISH_VILLAGE_SIDE_HOUSE_AREA, + ROOM_MINISH_VILLAGE_2, + ROOM_MINISH_VILLAGE_3, + // AREA_HYRULE_TOWN + ROOM_HYRULE_TOWN_MAIN = 0, + // AREA_HYRULE_FIELD + ROOM_HYRULE_FIELD_WESTERN_WOODS_SOUTH = 0, + ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + ROOM_HYRULE_FIELD_EASTERN_HILLLS_SOUTH, + ROOM_HYRULE_FIELD_EASTERN_HILLLS_CENTER, + ROOM_HYRULE_FIELD_EASTERN_HILLLS_NORTH, + ROOM_HYRULE_FIELD_LON_LON_RANCH, + ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + ROOM_HYRULE_FIELD_WESTERN_WOODS_NORTH, + ROOM_HYRULE_FIELD_WESTERN_WOODS_CENTER, + // AREA_CASTOR_WILDS + ROOM_CASTOR_WILDS_MAIN = 0, + // AREA_RUINS + ROOM_RUINS_ENTRANCE = 0, + ROOM_RUINS_BEANSTALK, + ROOM_RUINS_TEKTITES, + ROOM_RUINS_LADDER_TO_TEKTITES, + ROOM_RUINS_FORTRESS_ENTRANCE, + ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, + // AREA_MT_CRENEL + ROOM_MT_CRENEL_TOP = 0, + ROOM_MT_CRENEL_WALL_CLIMB, + ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + ROOM_MT_CRENEL_CENTER, + ROOM_MT_CRENEL_ENTRANCE, + // AREA_CASTLE_GARDEN + ROOM_CASTLE_GARDEN_MAIN = 0, + // AREA_CLOUD_TOPS + ROOM_CLOUD_TOPS_CLOUD_TOPS = 0, + ROOM_CLOUD_TOPS_CLOUD_MIDDLES, + ROOM_CLOUD_TOPS_CLOUD_BOTTOMS, + // AREA_ROYAL_VALLEY + ROOM_ROYAL_VALLEY_MAIN = 0, + ROOM_ROYAL_VALLEY_FOREST_MAZE, + // AREA_VEIL_FALLS + ROOM_VEIL_FALLS_MAIN = 0, + // AREA_LAKE_HYLIA + ROOM_LAKE_HYLIA_MAIN = 0, + ROOM_LAKE_HYLIA_BEANSTALK, + // AREA_LAKE_WOODS_CAVE + ROOM_LAKE_WOODS_CAVE_MAIN = 0, + // AREA_BEANSTALKS + ROOM_BEANSTALKS_CRENEL = 0, + ROOM_BEANSTALKS_LAKE_HYLIA, + ROOM_BEANSTALKS_RUINS, + ROOM_BEANSTALKS_EASTERN_HILLS, + ROOM_BEANSTALKS_WESTERN_WOODS, + ROOM_BEANSTALKS_5, + ROOM_BEANSTALKS_6, + ROOM_BEANSTALKS_7, + ROOM_BEANSTALKS_8, + ROOM_BEANSTALKS_9, + ROOM_BEANSTALKS_a, + ROOM_BEANSTALKS_b, + ROOM_BEANSTALKS_c, + ROOM_BEANSTALKS_d, + ROOM_BEANSTALKS_e, + ROOM_BEANSTALKS_f, + ROOM_BEANSTALKS_CRENEL_CLIMB, + ROOM_BEANSTALKS_LAKE_HYLIA_CLIMB, + ROOM_BEANSTALKS_RUINS_CLIMB, + ROOM_BEANSTALKS_EASTERN_HILLS_CLIMB, + ROOM_BEANSTALKS_WESTERN_WOODS_CLIMB, + // AREA_EMPTY + ROOM_EMPTY_0 = 0, + // AREA_HYRULE_DIG_CAVES + ROOM_HYRULE_DIG_CAVES_TOWN = 0, + // AREA_MELARIS_MINE + ROOM_MELARIS_MINE_MAIN = 0, + // AREA_MINISH_PATHS + ROOM_MINISH_PATHS_MINISH_VILLAGE = 0, + ROOM_MINISH_PATHS_BOW, + ROOM_MINISH_PATHS_SCHOOLYARD, + ROOM_MINISH_PATHS_LON_LON_RANCH, + ROOM_MINISH_PATHS_LAKE_HYLIA, + // AREA_CRENEL_MINISH_PATHS + ROOM_CRENEL_MINISH_PATHS_BEAN = 0, + ROOM_CRENEL_MINISH_PATHS_SPRING_WATER, + ROOM_CRENEL_MINISH_PATHS_RAIN, + ROOM_CRENEL_MINISH_PATHS_MELARI, + // AREA_DIG_CAVES + ROOM_DIG_CAVES_EASTERN_HILLS = 0, + ROOM_DIG_CAVES_1, + ROOM_DIG_CAVES_2, + ROOM_DIG_CAVES_TRILBY_HIGHLANDS, + // AREA_CRENEL_DIG_CAVE + ROOM_CRENEL_DIG_CAVE_0 = 0, + // AREA_FESTIVAL_TOWN + ROOM_FESTIVAL_TOWN_MAIN = 0, + // AREA_VEIL_FALLS_DIG_CAVE + ROOM_VEIL_FALLS_DIG_CAVE_0 = 0, + // AREA_CASTOR_WILDS_DIG_CAVE + ROOM_CASTOR_WILDS_DIG_CAVE_0 = 0, + // AREA_OUTER_FORTRESS_OF_WINDS + ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL = 0, + ROOM_OUTER_FORTRESS_OF_WINDS_2F, + ROOM_OUTER_FORTRESS_OF_WINDS_3F, + ROOM_OUTER_FORTRESS_OF_WINDS_MOLE_MITTS, + ROOM_OUTER_FORTRESS_OF_WINDS_SMALL_KEY, + // AREA_HYLIA_DIG_CAVES + ROOM_HYLIA_DIG_CAVES_0 = 0, + ROOM_HYLIA_DIG_CAVES_1, + // AREA_VEIL_FALLS_TOP + ROOM_VEIL_FALLS_TOP_0 = 0, + // AREA_NULL_1B + ROOM_NULL_1B_0 = 0, + // AREA_NULL_1C + ROOM_NULL_1C_0 = 0, + // AREA_NULL_1D + ROOM_NULL_1D_0 = 0, + // AREA_NULL_1E + ROOM_NULL_1E_0 = 0, + // AREA_NULL_1F + ROOM_NULL_1F_0 = 0, + // AREA_MINISH_HOUSE_INTERIORS + ROOM_MINISH_HOUSE_INTERIORS_GENTARI_MAIN = 0, + ROOM_MINISH_HOUSE_INTERIORS_GENTARI_EXIT, + ROOM_MINISH_HOUSE_INTERIORS_FESTARI, + ROOM_MINISH_HOUSE_INTERIORS_RED, + ROOM_MINISH_HOUSE_INTERIORS_GREEN, + ROOM_MINISH_HOUSE_INTERIORS_BLUE, + ROOM_MINISH_HOUSE_INTERIORS_SIDE_AREA, + ROOM_MINISH_HOUSE_INTERIORS_SHOE_MINISH, + ROOM_MINISH_HOUSE_INTERIORS_POT_MINISH, + ROOM_MINISH_HOUSE_INTERIORS_BARREL_MINISH, + ROOM_MINISH_HOUSE_INTERIORS_NULL1, + ROOM_MINISH_HOUSE_INTERIORS_NULL2, + ROOM_MINISH_HOUSE_INTERIORS_c, + ROOM_MINISH_HOUSE_INTERIORS_d, + ROOM_MINISH_HOUSE_INTERIORS_e, + ROOM_MINISH_HOUSE_INTERIORS_f, + ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_SOUTHWEST, + ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_SOUTHEAST, + ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_EAST, + ROOM_MINISH_HOUSE_INTERIORS_13, + ROOM_MINISH_HOUSE_INTERIORS_14, + ROOM_MINISH_HOUSE_INTERIORS_15, + ROOM_MINISH_HOUSE_INTERIORS_16, + ROOM_MINISH_HOUSE_INTERIORS_17, + ROOM_MINISH_HOUSE_INTERIORS_18, + ROOM_MINISH_HOUSE_INTERIORS_19, + ROOM_MINISH_HOUSE_INTERIORS_1a, + ROOM_MINISH_HOUSE_INTERIORS_1b, + ROOM_MINISH_HOUSE_INTERIORS_1c, + ROOM_MINISH_HOUSE_INTERIORS_1d, + ROOM_MINISH_HOUSE_INTERIORS_1e, + ROOM_MINISH_HOUSE_INTERIORS_1f, + ROOM_MINISH_HOUSE_INTERIORS_HYRULE_FIELD_SOUTHWEST, + ROOM_MINISH_HOUSE_INTERIORS_SOUTH_HYRULE_FIELD, + ROOM_MINISH_HOUSE_INTERIORS_NEXT_TO_KNUCKLE, + ROOM_MINISH_HOUSE_INTERIORS_LIBRARI, + ROOM_MINISH_HOUSE_INTERIORS_HYRULE_FIELD_EXIT, + ROOM_MINISH_HOUSE_INTERIORS_HYRULE_TOWN, + ROOM_MINISH_HOUSE_INTERIORS_MINISH_WOODS_BOMB, + ROOM_MINISH_HOUSE_INTERIORS_LAKE_HYLIA_OCARINA, + // AREA_HOUSE_INTERIORS_1 + ROOM_HOUSE_INTERIORS_1_MAYOR = 0, + ROOM_HOUSE_INTERIORS_1_POST_OFFICE, + ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, + ROOM_HOUSE_INTERIORS_1_LIBRARY_1F, + ROOM_HOUSE_INTERIORS_1_INN_1F, + ROOM_HOUSE_INTERIORS_1_INN_WEST_ROOM, + ROOM_HOUSE_INTERIORS_1_INN_MIDDLE_ROOM, + ROOM_HOUSE_INTERIORS_1_INN_EAST_ROOM, + ROOM_HOUSE_INTERIORS_1_INN_WEST_2F, + ROOM_HOUSE_INTERIORS_1_INN_EAST_2F, + ROOM_HOUSE_INTERIORS_1_INN_MINISH_HEART_PIECE, + ROOM_HOUSE_INTERIORS_1_SCHOOL_WEST, + ROOM_HOUSE_INTERIORS_1_SCHOOL_EAST, + ROOM_HOUSE_INTERIORS_1_d, + ROOM_HOUSE_INTERIORS_1_e, + ROOM_HOUSE_INTERIORS_1_f, + ROOM_HOUSE_INTERIORS_1_10, + ROOM_HOUSE_INTERIORS_1_11, + ROOM_HOUSE_INTERIORS_1_12, + ROOM_HOUSE_INTERIORS_1_13, + ROOM_HOUSE_INTERIORS_1_14, + ROOM_HOUSE_INTERIORS_1_15, + ROOM_HOUSE_INTERIORS_1_16, + ROOM_HOUSE_INTERIORS_1_17, + ROOM_HOUSE_INTERIORS_1_18, + ROOM_HOUSE_INTERIORS_1_19, + ROOM_HOUSE_INTERIORS_1_1a, + ROOM_HOUSE_INTERIORS_1_1b, + ROOM_HOUSE_INTERIORS_1_1c, + ROOM_HOUSE_INTERIORS_1_1d, + ROOM_HOUSE_INTERIORS_1_1e, + ROOM_HOUSE_INTERIORS_1_1f, + // AREA_HOUSE_INTERIORS_2 + ROOM_HOUSE_INTERIORS_2_STRANGER = 0, + ROOM_HOUSE_INTERIORS_2_WEST_ORACLE, + ROOM_HOUSE_INTERIORS_2_2, + ROOM_HOUSE_INTERIORS_2_3, + ROOM_HOUSE_INTERIORS_2_DR_LEFT, + ROOM_HOUSE_INTERIORS_2_5, + ROOM_HOUSE_INTERIORS_2_ROMIO, + ROOM_HOUSE_INTERIORS_2_JULIETTA, + ROOM_HOUSE_INTERIORS_2_PERCY, + ROOM_HOUSE_INTERIORS_2_EAST_ORACLE, + ROOM_HOUSE_INTERIORS_2_a, + ROOM_HOUSE_INTERIORS_2_b, + ROOM_HOUSE_INTERIORS_2_CUCCO, + ROOM_HOUSE_INTERIORS_2_d, + ROOM_HOUSE_INTERIORS_2_e, + ROOM_HOUSE_INTERIORS_2_f, + ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_ENTRANCE, + ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_SMITH, + ROOM_HOUSE_INTERIORS_2_DAMPE, + ROOM_HOUSE_INTERIORS_2_13, + ROOM_HOUSE_INTERIORS_2_STOCKWELL_LAKE_HOUSE, + ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_BEDROOM, + ROOM_HOUSE_INTERIORS_2_16, + ROOM_HOUSE_INTERIORS_2_17, + ROOM_HOUSE_INTERIORS_2_18, + ROOM_HOUSE_INTERIORS_2_19, + ROOM_HOUSE_INTERIORS_2_1a, + ROOM_HOUSE_INTERIORS_2_1b, + ROOM_HOUSE_INTERIORS_2_1c, + ROOM_HOUSE_INTERIORS_2_1d, + ROOM_HOUSE_INTERIORS_2_1e, + ROOM_HOUSE_INTERIORS_2_1f, + ROOM_HOUSE_INTERIORS_2_20, + ROOM_HOUSE_INTERIORS_2_21, + ROOM_HOUSE_INTERIORS_2_22, + ROOM_HOUSE_INTERIORS_2_23, + ROOM_HOUSE_INTERIORS_2_24, + ROOM_HOUSE_INTERIORS_2_25, + ROOM_HOUSE_INTERIORS_2_26, + ROOM_HOUSE_INTERIORS_2_27, + ROOM_HOUSE_INTERIORS_2_28, + ROOM_HOUSE_INTERIORS_2_29, + ROOM_HOUSE_INTERIORS_2_2a, + ROOM_HOUSE_INTERIORS_2_2b, + ROOM_HOUSE_INTERIORS_2_2c, + ROOM_HOUSE_INTERIORS_2_2d, + ROOM_HOUSE_INTERIORS_2_2e, + ROOM_HOUSE_INTERIORS_2_2f, + // AREA_HOUSE_INTERIORS_3 + ROOM_HOUSE_INTERIORS_3_STOCKWELL_SHOP = 0, + ROOM_HOUSE_INTERIORS_3_CAFE, + ROOM_HOUSE_INTERIORS_3_REM_SHOE_SHOP, + ROOM_HOUSE_INTERIORS_3_BAKERY, + ROOM_HOUSE_INTERIORS_3_SIMON, + ROOM_HOUSE_INTERIORS_3_FIGURINE_HOUSE, + ROOM_HOUSE_INTERIORS_3_BORLOV_ENTRANCE, + ROOM_HOUSE_INTERIORS_3_CARLOV, + ROOM_HOUSE_INTERIORS_3_BORLOV, + ROOM_HOUSE_INTERIORS_3_9, + ROOM_HOUSE_INTERIORS_3_a, + ROOM_HOUSE_INTERIORS_3_b, + ROOM_HOUSE_INTERIORS_3_c, + ROOM_HOUSE_INTERIORS_3_d, + ROOM_HOUSE_INTERIORS_3_e, + ROOM_HOUSE_INTERIORS_3_f, + // AREA_TREE_INTERIORS + ROOM_TREE_INTERIORS_WITCH_HUT = 0, + ROOM_TREE_INTERIORS_1, + ROOM_TREE_INTERIORS_2, + ROOM_TREE_INTERIORS_3, + ROOM_TREE_INTERIORS_4, + ROOM_TREE_INTERIORS_5, + ROOM_TREE_INTERIORS_6, + ROOM_TREE_INTERIORS_7, + ROOM_TREE_INTERIORS_8, + ROOM_TREE_INTERIORS_9, + ROOM_TREE_INTERIORS_a, + ROOM_TREE_INTERIORS_b, + ROOM_TREE_INTERIORS_c, + ROOM_TREE_INTERIORS_d, + ROOM_TREE_INTERIORS_e, + ROOM_TREE_INTERIORS_f, + ROOM_TREE_INTERIORS_STAIRS_TO_CARLOV, + ROOM_TREE_INTERIORS_PERCYS_TREEHOUSE, + ROOM_TREE_INTERIORS_SOUTH_HYRULE_FIELD_HEART_PIECE, + ROOM_TREE_INTERIORS_WAVEBLADE, + ROOM_TREE_INTERIORS_14, + ROOM_TREE_INTERIORS_BOOMERANG_NORTHWEST, + ROOM_TREE_INTERIORS_BOOMERANG_NORTHEAST, + ROOM_TREE_INTERIORS_BOOMERANG_SOUTHWEST, + ROOM_TREE_INTERIORS_BOOMERANG_SOUTHEAST, + ROOM_TREE_INTERIORS_WESTERN_WOODS_HEART_PIECE, + ROOM_TREE_INTERIORS_NORTH_HYRULE_FIELD_FAIRY_FOUNTAIN, + ROOM_TREE_INTERIORS_MINISH_WOODS_GREAT_FAIRY, + ROOM_TREE_INTERIORS_1c, + ROOM_TREE_INTERIORS_MINISH_WOODS_BUSINESS_SCRUB, + ROOM_TREE_INTERIORS_1e, + ROOM_TREE_INTERIORS_UNUSED_HEART_CONTAINER, + // AREA_DOJOS + ROOM_DOJOS_GRAYBLADE = 0, + ROOM_DOJOS_SPLITBLADE, + ROOM_DOJOS_GREATBLADE, + ROOM_DOJOS_SCARBLADE, + ROOM_DOJOS_SWIFTBLADE_I, + ROOM_DOJOS_GRIMBLADE, + ROOM_DOJOS_WAVEBLADE, + ROOM_DOJOS_7, + ROOM_DOJOS_8, + ROOM_DOJOS_9, + ROOM_DOJOS_TO_GRIMBLADE, + ROOM_DOJOS_TO_SPLITBLADE, + ROOM_DOJOS_TO_GREATBLADE, + ROOM_DOJOS_TO_SCARBLADE, + ROOM_DOJOS_e, + ROOM_DOJOS_f, + // AREA_CRENEL_CAVES + ROOM_CRENEL_CAVES_BLOCK_PUSHING = 0, + ROOM_CRENEL_CAVES_PILLAR_CAVE, + ROOM_CRENEL_CAVES_BRIDGE_SWITCH, + ROOM_CRENEL_CAVES_EXIT_TO_MINES, + ROOM_CRENEL_CAVES_GRIP_RING, + ROOM_CRENEL_CAVES_FAIRY_FOUNTAIN, + ROOM_CRENEL_CAVES_SPINY_CHU_PUZZLE, + ROOM_CRENEL_CAVES_CHUCHU_POT_CHEST, + ROOM_CRENEL_CAVES_WATER_HEART_PIECE, + ROOM_CRENEL_CAVES_RUPEE_FAIRY_FOUINTAIN, + ROOM_CRENEL_CAVES_HELMASAUR_HALLWAY, + ROOM_CRENEL_CAVES_MUSHROOM_KEESE, + ROOM_CRENEL_CAVES_LADDER_TO_SPRING_WATER, + ROOM_CRENEL_CAVES_BOMB_BUSINESS_SCRUB, + ROOM_CRENEL_CAVES_HERMIT, + ROOM_CRENEL_CAVES_HINT_SCRUB, + ROOM_CRENEL_CAVES_TO_GRAYBLADE, + // AREA_MINISH_CRACKS + ROOM_MINISH_CRACKS_LON_LON_RANCH_NORTH = 0, + ROOM_MINISH_CRACKS_LAKE_HYLIA_EAST, + ROOM_MINISH_CRACKS_HYRULE_CASTLE_GARDEN, + ROOM_MINISH_CRACKS_MT_CRENEL, + ROOM_MINISH_CRACKS_EAST_HYRULE_CASTLE, + ROOM_MINISH_CRACKS_5, + ROOM_MINISH_CRACKS_CASTOR_WILDS_BOW, + ROOM_MINISH_CRACKS_RUINS_ENTRANCE, + ROOM_MINISH_CRACKS_MINISH_WOODS_SOUTH, + ROOM_MINISH_CRACKS_CASTOR_WILDS_NORTH, + ROOM_MINISH_CRACKS_CASTOR_WILDS_WEST, + ROOM_MINISH_CRACKS_CASTOR_WILDS_MIDDLE, + ROOM_MINISH_CRACKS_RUINS_TEKTITE, + ROOM_MINISH_CRACKS_CASTOR_WILDS_NEXT_TO_BOW, + ROOM_MINISH_CRACKS_e, + ROOM_MINISH_CRACKS_f, + ROOM_MINISH_CRACKS_10, + ROOM_MINISH_CRACKS_11, + ROOM_MINISH_CRACKS_12, + ROOM_MINISH_CRACKS_13, + ROOM_MINISH_CRACKS_14, + ROOM_MINISH_CRACKS_15, + ROOM_MINISH_CRACKS_16, + ROOM_MINISH_CRACKS_17, + // AREA_HOUSE_INTERIORS_4 + ROOM_HOUSE_INTERIORS_4_CARPENTER = 0, + ROOM_HOUSE_INTERIORS_4_SWIFTBLADE, + ROOM_HOUSE_INTERIORS_4_RANCH_HOUSE_WEST, + ROOM_HOUSE_INTERIORS_4_RANCH_HOUSE_EAST, + ROOM_HOUSE_INTERIORS_4_FARM_HOUSE, + ROOM_HOUSE_INTERIORS_4_MAYOR_LAKE_CABIN, + ROOM_HOUSE_INTERIORS_4_6, + ROOM_HOUSE_INTERIORS_4_7, + ROOM_HOUSE_INTERIORS_4_8, + ROOM_HOUSE_INTERIORS_4_9, + ROOM_HOUSE_INTERIORS_4_a, + ROOM_HOUSE_INTERIORS_4_b, + ROOM_HOUSE_INTERIORS_4_c, + ROOM_HOUSE_INTERIORS_4_d, + ROOM_HOUSE_INTERIORS_4_e, + ROOM_HOUSE_INTERIORS_4_f, + // AREA_GREAT_FAIRIES + ROOM_GREAT_FAIRIES_GRAVEYARD = 0, + ROOM_GREAT_FAIRIES_MINISH_WOODS, + ROOM_GREAT_FAIRIES_CRENEL, + ROOM_GREAT_FAIRIES_NOT_IMPLEMENTED, + // AREA_CASTOR_CAVES + ROOM_CASTOR_CAVES_SOUTH = 0, + ROOM_CASTOR_CAVES_NORTH, + ROOM_CASTOR_CAVES_WIND_RUINS, + ROOM_CASTOR_CAVES_DARKNUT, + ROOM_CASTOR_CAVES_HEART_PIECE, + ROOM_CASTOR_CAVES_5, + ROOM_CASTOR_CAVES_6, + ROOM_CASTOR_CAVES_7, + // AREA_CASTOR_DARKNUT + ROOM_CASTOR_DARKNUT_MAIN = 0, + ROOM_CASTOR_DARKNUT_HALL, + // AREA_ARMOS_INTERIORS + ROOM_ARMOS_INTERIORS_RUINS_ENTRANCE_NORTH = 0, + ROOM_ARMOS_INTERIORS_RUINS_ENTRANCE_SOUTH, + ROOM_ARMOS_INTERIORS_RUINS_LEFT, + ROOM_ARMOS_INTERIORS_RUINS_MIDDLE_LEFT, + ROOM_ARMOS_INTERIORS_RUINS_MIDDLE_RIGHT, + ROOM_ARMOS_INTERIORS_RUINS_RIGHT, + ROOM_ARMOS_INTERIORS_6, + ROOM_ARMOS_INTERIORS_RUINS_GRASS_PATH, + ROOM_ARMOS_INTERIORS_8, + ROOM_ARMOS_INTERIORS_FORTRESS_LEFT, + ROOM_ARMOS_INTERIORS_FORTRESS_RIGHT, + // AREA_TOWN_MINISH_HOLES + ROOM_TOWN_MINISH_HOLES_MAYORS_HOUSE = 0, + ROOM_TOWN_MINISH_HOLES_WEST_ORACLE, + ROOM_TOWN_MINISH_HOLES_DR_LEFT, + ROOM_TOWN_MINISH_HOLES_CARPENTER, + ROOM_TOWN_MINISH_HOLES_CAFE, + ROOM_TOWN_MINISH_HOLES_5, + ROOM_TOWN_MINISH_HOLES_6, + ROOM_TOWN_MINISH_HOLES_7, + ROOM_TOWN_MINISH_HOLES_8, + ROOM_TOWN_MINISH_HOLES_9, + ROOM_TOWN_MINISH_HOLES_a, + ROOM_TOWN_MINISH_HOLES_b, + ROOM_TOWN_MINISH_HOLES_c, + ROOM_TOWN_MINISH_HOLES_d, + ROOM_TOWN_MINISH_HOLES_e, + ROOM_TOWN_MINISH_HOLES_f, + ROOM_TOWN_MINISH_HOLES_LIBRARY_BOOKSHELF, + ROOM_TOWN_MINISH_HOLES_LIBRARY_BOOKS_HOUSE, + ROOM_TOWN_MINISH_HOLES_REM_SHOE_SHOP, + ROOM_TOWN_MINISH_HOLES_13, + // AREA_MINISH_RAFTERS + ROOM_MINISH_RAFTERS_CAFE = 0, + ROOM_MINISH_RAFTERS_STOCKWELL, + ROOM_MINISH_RAFTERS_DR_LEFT, + ROOM_MINISH_RAFTERS_BAKERY, + // AREA_GORON_CAVE + ROOM_GORON_CAVE_STAIRS = 0, + ROOM_GORON_CAVE_MAIN, + // AREA_WIND_TRIBE_TOWER + ROOM_WIND_TRIBE_TOWER_ENTRANCE = 0, + ROOM_WIND_TRIBE_TOWER_FLOOR_1, + ROOM_WIND_TRIBE_TOWER_FLOOR_2, + ROOM_WIND_TRIBE_TOWER_FLOOR_3, + // AREA_WIND_TRIBE_TOWER_ROOF + ROOM_WIND_TRIBE_TOWER_ROOF_0 = 0, + // AREA_CAVES + ROOM_CAVES_BOOMERANG = 0, + ROOM_CAVES_TO_GRAVEYARD, + ROOM_CAVES_2, + ROOM_CAVES_3, + ROOM_CAVES_4, + ROOM_CAVES_5, + ROOM_CAVES_6, + ROOM_CAVES_TRILBY_KEESE_CHEST, + ROOM_CAVES_TRILBY_FAIRY_FOUNTAIN, + ROOM_CAVES_SOUTH_HYRULE_FIELD_FAIRY_FOUNTAIN, + ROOM_CAVES_a, + ROOM_CAVES_HYRULE_TOWN_WATERFALL, + ROOM_CAVES_LON_LON_RANCH, + ROOM_CAVES_LON_LON_RANCH_SECRET, + ROOM_CAVES_TRILBY_HIGHLANDS, + ROOM_CAVES_LON_LON_RANCH_WALLET, + ROOM_CAVES_SOUTH_HYRULE_FIELD_RUPEE, + ROOM_CAVES_TRILBY_RUPEE, + ROOM_CAVES_TRILBY_MITTS_FAIRY_FOUNTAIN, + ROOM_CAVES_HILLS_KEESE_CHEST, + ROOM_CAVES_BOTTLE_BUSINESS_SCRUB, + ROOM_CAVES_HEART_PIECE_HALLWAY, + ROOM_CAVES_NORTH_HYRULE_FIELD_FAIRY_FOUNTAIN, + ROOM_CAVES_KINSTONE_BUSINESS_SCRUB, + // AREA_VEIL_FALLS_CAVES + ROOM_VEIL_FALLS_CAVES_HALLWAY_2F = 0, + ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, + ROOM_VEIL_FALLS_CAVES_HALLWAY_SECRET_ROOM, + ROOM_VEIL_FALLS_CAVES_ENTRANCE, + ROOM_VEIL_FALLS_CAVES_EXIT, + ROOM_VEIL_FALLS_CAVES_SECRET_CHEST, + ROOM_VEIL_FALLS_CAVES_HALLWAY_SECRET_STAIRCASE, + ROOM_VEIL_FALLS_CAVES_HALLWAY_BLOCK_PUZZLE, + ROOM_VEIL_FALLS_CAVES_HALLWAY_RUPEE_PATH, + ROOM_VEIL_FALLS_CAVES_HALLWAY_HEART_PIECE, + ROOM_VEIL_FALLS_CAVES_a, + ROOM_VEIL_FALLS_CAVES_b, + ROOM_VEIL_FALLS_CAVES_c, + ROOM_VEIL_FALLS_CAVES_d, + ROOM_VEIL_FALLS_CAVES_e, + ROOM_VEIL_FALLS_CAVES_f, + // AREA_ROYAL_VALLEY_GRAVES + ROOM_ROYAL_VALLEY_GRAVES_HEART_PIECE = 0, + ROOM_ROYAL_VALLEY_GRAVES_GINA, + // AREA_MINISH_CAVES + ROOM_MINISH_CAVES_BEAN_PESTO = 0, + ROOM_MINISH_CAVES_SOUTHEAST_WATER_1, + ROOM_MINISH_CAVES_2, + ROOM_MINISH_CAVES_RUINS, + ROOM_MINISH_CAVES_OUTSIDE_LINKS_HOUSE, + ROOM_MINISH_CAVES_MINISH_WOODS_NORTH_1, + ROOM_MINISH_CAVES_6, + ROOM_MINISH_CAVES_LAKE_HYLIA_NORTH, + ROOM_MINISH_CAVES_LAKE_HYLIA_LIBRARI, + ROOM_MINISH_CAVES_MINISH_WOODS_SOUTHWEST, + // AREA_CASTLE_GARDEN_MINISH_HOLES + ROOM_CASTLE_GARDEN_MINISH_HOLES_0 = 0, + ROOM_CASTLE_GARDEN_MINISH_HOLES_1, + // AREA_37 + ROOM_37_0 = 0, + ROOM_37_1, + // AREA_EZLO_CUTSCENE + ROOM_EZLO_CUTSCENE_0 = 0, + // AREA_NULL_39 + ROOM_NULL_39_0 = 0, + // AREA_NULL_3A + ROOM_NULL_3A_0 = 0, + // AREA_NULL_3B + ROOM_NULL_3B_0 = 0, + // AREA_NULL_3C + ROOM_NULL_3C_0 = 0, + // AREA_NULL_3D + ROOM_NULL_3D_0 = 0, + // AREA_NULL_3E + ROOM_NULL_3E_0 = 0, + // AREA_NULL_3F + ROOM_NULL_3F_0 = 0, + // AREA_40 + ROOM_40_0 = 0, + // AREA_HYRULE_TOWN_UNDERGROUND + ROOM_HYRULE_TOWN_UNDERGROUND_0 = 0, + ROOM_HYRULE_TOWN_UNDERGROUND_1, + // AREA_GARDEN_FOUNTAINS + ROOM_GARDEN_FOUNTAINS_EAST = 0, + ROOM_GARDEN_FOUNTAINS_WEST, + // AREA_HYRULE_CASTLE_CELLAR + ROOM_HYRULE_CASTLE_CELLAR_0 = 0, + ROOM_HYRULE_CASTLE_CELLAR_1, + // AREA_SIMONS_SIMULATION + ROOM_SIMONS_SIMULATION_0 = 0, + // AREA_45 + ROOM_45_0 = 0, + // AREA_NULL_46 + ROOM_NULL_46_0 = 0, + // AREA_47 + ROOM_47_0 = 0, + // AREA_DEEPWOOD_SHRINE + ROOM_DEEPWOOD_SHRINE_MADDERPILLAR = 0, + ROOM_DEEPWOOD_SHRINE_BLUE_PORTAL, + ROOM_DEEPWOOD_SHRINE_STAIRS_TO_B1, + ROOM_DEEPWOOD_SHRINE_POT_BRIDGE, + ROOM_DEEPWOOD_SHRINE_DOUBLE_STATUE, + ROOM_DEEPWOOD_SHRINE_MAP, + ROOM_DEEPWOOD_SHRINE_BARREL, + ROOM_DEEPWOOD_SHRINE_BUTTON, + ROOM_DEEPWOOD_SHRINE_MULLDOZER, + ROOM_DEEPWOOD_SHRINE_PILLARS, + ROOM_DEEPWOOD_SHRINE_LEVER, + ROOM_DEEPWOOD_SHRINE_ENTRANCE, + ROOM_DEEPWOOD_SHRINE_c, + ROOM_DEEPWOOD_SHRINE_d, + ROOM_DEEPWOOD_SHRINE_e, + ROOM_DEEPWOOD_SHRINE_f, + ROOM_DEEPWOOD_SHRINE_TORCHES, + ROOM_DEEPWOOD_SHRINE_BOSS_KEY, + ROOM_DEEPWOOD_SHRINE_COMPASS, + ROOM_DEEPWOOD_SHRINE_13, + ROOM_DEEPWOOD_SHRINE_LILY_PAD_WEST, + ROOM_DEEPWOOD_SHRINE_LILY_PAD_EAST, + ROOM_DEEPWOOD_SHRINE_16, + ROOM_DEEPWOOD_SHRINE_BOSS_DOOR, + ROOM_DEEPWOOD_SHRINE_18, + ROOM_DEEPWOOD_SHRINE_19, + ROOM_DEEPWOOD_SHRINE_1a, + ROOM_DEEPWOOD_SHRINE_1b, + ROOM_DEEPWOOD_SHRINE_1c, + ROOM_DEEPWOOD_SHRINE_1d, + ROOM_DEEPWOOD_SHRINE_1e, + ROOM_DEEPWOOD_SHRINE_1f, + ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, + // AREA_DEEPWOOD_SHRINE_BOSS + ROOM_DEEPWOOD_SHRINE_BOSS_MAIN = 0, + // AREA_DEEPWOOD_SHRINE_ENTRY + ROOM_DEEPWOOD_SHRINE_ENTRY_MAIN = 0, + // AREA_NULL_4B + ROOM_NULL_4B_0 = 0, + // AREA_NULL_4C + ROOM_NULL_4C_0 = 0, + // AREA_4D + ROOM_4D_0 = 0, + // AREA_NULL_4E + ROOM_NULL_4E_0 = 0, + // AREA_NULL_4F + ROOM_NULL_4F_0 = 0, + // AREA_CAVE_OF_FLAMES + ROOM_CAVE_OF_FLAMES_AFTER_CANE = 0, + ROOM_CAVE_OF_FLAMES_SPINY_CHU, + ROOM_CAVE_OF_FLAMES_CART_TO_SPINY_CHU, + ROOM_CAVE_OF_FLAMES_ENTRANCE, + ROOM_CAVE_OF_FLAMES_MAIN_CART, + ROOM_CAVE_OF_FLAMES_NORTH_ENTRANCE, + ROOM_CAVE_OF_FLAMES_CART_WEST, + ROOM_CAVE_OF_FLAMES_HELMASAUR_FIGHT, + ROOM_CAVE_OF_FLAMES_ROLLOBITE_LAVA_ROOM, + ROOM_CAVE_OF_FLAMES_MINISH_LAVA_ROOM, + ROOM_CAVE_OF_FLAMES_a, + ROOM_CAVE_OF_FLAMES_b, + ROOM_CAVE_OF_FLAMES_c, + ROOM_CAVE_OF_FLAMES_d, + ROOM_CAVE_OF_FLAMES_e, + ROOM_CAVE_OF_FLAMES_f, + ROOM_CAVE_OF_FLAMES_MINISH_SPIKES, + ROOM_CAVE_OF_FLAMES_TOMPAS_DOOM, + ROOM_CAVE_OF_FLAMES_BEFORE_GLEEROK, + ROOM_CAVE_OF_FLAMES_BOSSKEY_PATH1, + ROOM_CAVE_OF_FLAMES_BOSSKEY_PATH2, + ROOM_CAVE_OF_FLAMES_COMPASS, + ROOM_CAVE_OF_FLAMES_BOB_OMB_WALL, + ROOM_CAVE_OF_FLAMES_BOSS_DOOR, + ROOM_CAVE_OF_FLAMES_18, + ROOM_CAVE_OF_FLAMES_19, + ROOM_CAVE_OF_FLAMES_1a, + ROOM_CAVE_OF_FLAMES_1b, + ROOM_CAVE_OF_FLAMES_1c, + ROOM_CAVE_OF_FLAMES_1d, + ROOM_CAVE_OF_FLAMES_1e, + ROOM_CAVE_OF_FLAMES_1f, + ROOM_CAVE_OF_FLAMES_20, + // AREA_CAVE_OF_FLAMES_BOSS + ROOM_CAVE_OF_FLAMES_BOSS_0 = 0, + // AREA_NULL_52 + ROOM_NULL_52_0 = 0, + // AREA_NULL_53 + ROOM_NULL_53_0 = 0, + // AREA_NULL_54 + ROOM_NULL_54_0 = 0, + // AREA_NULL_55 + ROOM_NULL_55_0 = 0, + // AREA_NULL_56 + ROOM_NULL_56_0 = 0, + // AREA_57 + ROOM_57_0 = 0, + // AREA_FORTRESS_OF_WINDS + ROOM_FORTRESS_OF_WINDS_DOUBLE_EYEGORE = 0, + ROOM_FORTRESS_OF_WINDS_BEFORE_MAZAAL, + ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, + ROOM_FORTRESS_OF_WINDS_PIT_PLATFORMS, + ROOM_FORTRESS_OF_WINDS_WEST_KEY_LEVER, + ROOM_FORTRESS_OF_WINDS_5, + ROOM_FORTRESS_OF_WINDS_6, + ROOM_FORTRESS_OF_WINDS_7, + ROOM_FORTRESS_OF_WINDS_8, + ROOM_FORTRESS_OF_WINDS_9, + ROOM_FORTRESS_OF_WINDS_a, + ROOM_FORTRESS_OF_WINDS_b, + ROOM_FORTRESS_OF_WINDS_c, + ROOM_FORTRESS_OF_WINDS_d, + ROOM_FORTRESS_OF_WINDS_e, + ROOM_FORTRESS_OF_WINDS_f, + ROOM_FORTRESS_OF_WINDS_DARKNUT_ROOM, + ROOM_FORTRESS_OF_WINDS_ARROW_EYE_BRIDGE, + ROOM_FORTRESS_OF_WINDS_NORTH_SPLIT_PATH_PIT, + ROOM_FORTRESS_OF_WINDS_WALLMASTER_MINISH_PORTAL, + ROOM_FORTRESS_OF_WINDS_PILLAR_CLONE_BUTTONS, + ROOM_FORTRESS_OF_WINDS_ROTATING_SPIKE_TRAPS, + ROOM_FORTRESS_OF_WINDS_MAZAAL, + ROOM_FORTRESS_OF_WINDS_STALFOS, + ROOM_FORTRESS_OF_WINDS_ENTRANCE_MOLE_MITTS, + ROOM_FORTRESS_OF_WINDS_MAIN_2F, + ROOM_FORTRESS_OF_WINDS_MINISH_HOLE, + ROOM_FORTRESS_OF_WINDS_BOSS_KEY, + ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_2F, + ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_2F, + ROOM_FORTRESS_OF_WINDS_1e, + ROOM_FORTRESS_OF_WINDS_1f, + ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_1F, + ROOM_FORTRESS_OF_WINDS_CENTER_STAIRS_1F, + ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_1F, + ROOM_FORTRESS_OF_WINDS_WIZZROBE, + ROOM_FORTRESS_OF_WINDS_HEART_PIECE, + ROOM_FORTRESS_OF_WINDS_25, + ROOM_FORTRESS_OF_WINDS_26, + ROOM_FORTRESS_OF_WINDS_27, + // AREA_FORTRESS_OF_WINDS_TOP + ROOM_FORTRESS_OF_WINDS_TOP_MAIN = 0, + // AREA_INNER_MAZAAL + ROOM_INNER_MAZAAL_MAIN = 0, + ROOM_INNER_MAZAAL_PHASE_1, + // AREA_NULL_5B + ROOM_NULL_5B_0 = 0, + // AREA_NULL_5C + ROOM_NULL_5C_0 = 0, + // AREA_NULL_5D + ROOM_NULL_5D_0 = 0, + // AREA_NULL_5E + ROOM_NULL_5E_0 = 0, + // AREA_5F + ROOM_5F_0 = 0, + // AREA_TEMPLE_OF_DROPLETS + ROOM_TEMPLE_OF_DROPLETS_WEST_HOLE = 0, + ROOM_TEMPLE_OF_DROPLETS_NORTH_SPLIT_ROOM, + ROOM_TEMPLE_OF_DROPLETS_EAST_HOLE, + ROOM_TEMPLE_OF_DROPLETS_ENTRANCE, + ROOM_TEMPLE_OF_DROPLETS_NORTHWEST_STAIRS, + ROOM_TEMPLE_OF_DROPLETS_SCISSORS_MINIBOSS, + ROOM_TEMPLE_OF_DROPLETS_WATERFALL_NORTHWEST, + ROOM_TEMPLE_OF_DROPLETS_WATERFALL_NORTHEAST, + ROOM_TEMPLE_OF_DROPLETS_ELEMENT, + ROOM_TEMPLE_OF_DROPLETS_ICE_CORNER, + ROOM_TEMPLE_OF_DROPLETS_ICE_PIT_MAZE, + ROOM_TEMPLE_OF_DROPLETS_HOLE_TO_BLUE_CHU_KEY, + ROOM_TEMPLE_OF_DROPLETS_WEST_WATERFALL_SOUTHEAST, + ROOM_TEMPLE_OF_DROPLETS_WEST_WATERFALL_SOUTHWEST, + ROOM_TEMPLE_OF_DROPLETS_BIG_OCTO, + ROOM_TEMPLE_OF_DROPLETS_TO_BLUE_CHU, + ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU, + ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU_KEY, + ROOM_TEMPLE_OF_DROPLETS_12, + ROOM_TEMPLE_OF_DROPLETS_13, + ROOM_TEMPLE_OF_DROPLETS_14, + ROOM_TEMPLE_OF_DROPLETS_15, + ROOM_TEMPLE_OF_DROPLETS_16, + ROOM_TEMPLE_OF_DROPLETS_17, + ROOM_TEMPLE_OF_DROPLETS_18, + ROOM_TEMPLE_OF_DROPLETS_19, + ROOM_TEMPLE_OF_DROPLETS_1a, + ROOM_TEMPLE_OF_DROPLETS_1b, + ROOM_TEMPLE_OF_DROPLETS_1c, + ROOM_TEMPLE_OF_DROPLETS_1d, + ROOM_TEMPLE_OF_DROPLETS_1e, + ROOM_TEMPLE_OF_DROPLETS_1f, + ROOM_TEMPLE_OF_DROPLETS_BOSS_KEY, + ROOM_TEMPLE_OF_DROPLETS_NORTH_SMALL_KEY, + ROOM_TEMPLE_OF_DROPLETS_BLOCK_CLONE_BUTTON_PUZZLE, + ROOM_TEMPLE_OF_DROPLETS_BLOCK_CLONE_PUZZLE, + ROOM_TEMPLE_OF_DROPLETS_BLOCK_CLONE_ICE_BRIDGE, + ROOM_TEMPLE_OF_DROPLETS_STAIRS_TO_SCISSORS_MINIBOSS, + ROOM_TEMPLE_OF_DROPLETS_SPIKE_BAR_FLIPPER_ROOM, + ROOM_TEMPLE_OF_DROPLETS_9_LANTERNS, + ROOM_TEMPLE_OF_DROPLETS_LILYPAD_ICE_BLOCKS, + ROOM_TEMPLE_OF_DROPLETS_29, + ROOM_TEMPLE_OF_DROPLETS_MULLDOZERS_FIRE_BARS, + ROOM_TEMPLE_OF_DROPLETS_DARK_MAZE, + ROOM_TEMPLE_OF_DROPLETS_TWIN_MADDERPILLARS, + ROOM_TEMPLE_OF_DROPLETS_AFTER_TWIN_MADDERPILLARS, + ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU_KEY_LEVER, + ROOM_TEMPLE_OF_DROPLETS_MULLDOZER_KEY, + ROOM_TEMPLE_OF_DROPLETS_BEFORE_TWIN_MADDERPILLARS, + ROOM_TEMPLE_OF_DROPLETS_LILYPAD_B2_WEST, + ROOM_TEMPLE_OF_DROPLETS_COMPASS, + ROOM_TEMPLE_OF_DROPLETS_DARK_SCISSOR_BEETLES, + ROOM_TEMPLE_OF_DROPLETS_LILYPAD_B2_MIDDLE, + ROOM_TEMPLE_OF_DROPLETS_ICE_MADDERPILLAR, + ROOM_TEMPLE_OF_DROPLETS_FLAMEBAR_BLOCK_PUZZLE, + ROOM_TEMPLE_OF_DROPLETS_37, + ROOM_TEMPLE_OF_DROPLETS_38, + ROOM_TEMPLE_OF_DROPLETS_39, + ROOM_TEMPLE_OF_DROPLETS_3a, + ROOM_TEMPLE_OF_DROPLETS_3b, + ROOM_TEMPLE_OF_DROPLETS_3c, + ROOM_TEMPLE_OF_DROPLETS_3d, + ROOM_TEMPLE_OF_DROPLETS_3e, + ROOM_TEMPLE_OF_DROPLETS_3f, + // AREA_NULL_61 + ROOM_NULL_61_0 = 0, + // AREA_HYRULE_TOWN_MINISH_CAVES + ROOM_HYRULE_TOWN_MINISH_CAVES_0 = 0, + // AREA_NULL_63 + ROOM_NULL_63_0 = 0, + // AREA_NULL_64 + ROOM_NULL_64_0 = 0, + // AREA_NULL_65 + ROOM_NULL_65_0 = 0, + // AREA_NULL_66 + ROOM_NULL_66_0 = 0, + // AREA_67 + ROOM_67_0 = 0, + // AREA_ROYAL_CRYPT + ROOM_ROYAL_CRYPT_0 = 0, + ROOM_ROYAL_CRYPT_WATER_ROPE, + ROOM_ROYAL_CRYPT_GIBDO, + ROOM_ROYAL_CRYPT_3, + ROOM_ROYAL_CRYPT_KEY_BLOCK, + ROOM_ROYAL_CRYPT_5, + ROOM_ROYAL_CRYPT_6, + ROOM_ROYAL_CRYPT_MUSHROOM_PIT, + ROOM_ROYAL_CRYPT_ENTRANCE, + // AREA_NULL_69 + ROOM_NULL_69_0 = 0, + // AREA_NULL_6A + ROOM_NULL_6A_0 = 0, + // AREA_NULL_6B + ROOM_NULL_6B_0 = 0, + // AREA_NULL_6C + ROOM_NULL_6C_0 = 0, + // AREA_NULL_6D + ROOM_NULL_6D_0 = 0, + // AREA_NULL_6E + ROOM_NULL_6E_0 = 0, + // AREA_6F + ROOM_6F_0 = 0, + // AREA_PALACE_OF_WINDS + ROOM_PALACE_OF_WINDS_GYORG_TORNADO = 0, + ROOM_PALACE_OF_WINDS_BOSS_KEY, + ROOM_PALACE_OF_WINDS_BEFORE_BALL_AND_CHAIN_SOLDIERS, + ROOM_PALACE_OF_WINDS_GYORG_BOSS_DOOR, + ROOM_PALACE_OF_WINDS_EAST_CHEST_FROM_GYORG_BOSS_DOOR, + ROOM_PALACE_OF_WINDS_MOBLIN_AND_WIZZROBE_FIGHT, + ROOM_PALACE_OF_WINDS_FOUR_BUTTON_STALFOS, + ROOM_PALACE_OF_WINDS_FAN_AND_KEY_TO_BOSS_KEY, + ROOM_PALACE_OF_WINDS_BALL_AND_CHAIN_SOLDIERS, + ROOM_PALACE_OF_WINDS_BOMBAROSSA_PATH, + ROOM_PALACE_OF_WINDS_HOLE_TO_DARKNUT, + ROOM_PALACE_OF_WINDS_TO_BOMBAROSSA_PATH, + ROOM_PALACE_OF_WINDS_DARKNUT_MINIBOSS, + ROOM_PALACE_OF_WINDS_BOMB_WALL_INSIDE, + ROOM_PALACE_OF_WINDS_BOMB_WALL_OUTSIDE, + ROOM_PALACE_OF_WINDS_CLOUD_JUMPS, + ROOM_PALACE_OF_WINDS_BLOCK_MAZE_TO_BOSS_DOOR, + ROOM_PALACE_OF_WINDS_CRACKED_FLOOR_LAKITU, + ROOM_PALACE_OF_WINDS_HEART_PIECE_BRIDGE, + ROOM_PALACE_OF_WINDS_FAN_BRIDGE, + ROOM_PALACE_OF_WINDS_TO_FAN_BRIDGE, + ROOM_PALACE_OF_WINDS_RED_WARP_HALL, + ROOM_PALACE_OF_WINDS_PLATFORM_CLONE_RIDE, + ROOM_PALACE_OF_WINDS_PIT_CORNER_AFTER_KEY, + ROOM_PALACE_OF_WINDS_PLATFORM_CROW_RIDE, + ROOM_PALACE_OF_WINDS_GRATE_PLATFORM_RIDE, + ROOM_PALACE_OF_WINDS_POT_PUSH, + ROOM_PALACE_OF_WINDS_FLOORMASTER_LEVER, + ROOM_PALACE_OF_WINDS_MAP, + ROOM_PALACE_OF_WINDS_CORNER_TO_MAP, + ROOM_PALACE_OF_WINDS_STAIRS_AFTER_FLOORMASTER, + ROOM_PALACE_OF_WINDS_HOLE_TO_KINSTONE_WIZZROBE, + ROOM_PALACE_OF_WINDS_KEY_ARROW_BUTTON, + ROOM_PALACE_OF_WINDS_GRATES_TO_3F, + ROOM_PALACE_OF_WINDS_SPINY_FIGHT, + ROOM_PALACE_OF_WINDS_PEAHAT_SWITCH, + ROOM_PALACE_OF_WINDS_WHIRLWIND_BOMBAROSSA, + ROOM_PALACE_OF_WINDS_DOOR_TO_STALFOS_FIREBAR, + ROOM_PALACE_OF_WINDS_STALFOS_FIREBAR_HOLE, + ROOM_PALACE_OF_WINDS_SHORTCUT_DOOR_BUTTONS, + ROOM_PALACE_OF_WINDS_TO_PEAHAT_SWITCH, + ROOM_PALACE_OF_WINDS_KINSTONE_WIZZROBE_FIGHT, + ROOM_PALACE_OF_WINDS_GIBDO_STAIRS, + ROOM_PALACE_OF_WINDS_SPIKE_BAR_SMALL_KEY, + ROOM_PALACE_OF_WINDS_ROC_CAPE, + ROOM_PALACE_OF_WINDS_FIRE_BAR_GRATES, + ROOM_PALACE_OF_WINDS_PLATFORM_RIDE_BOMBAROSSAS, + ROOM_PALACE_OF_WINDS_BRIDGE_AFTER_DARKNUT, + ROOM_PALACE_OF_WINDS_BRIDGE_SWITCHES_CLONE_BLOCK, + ROOM_PALACE_OF_WINDS_ENTRANCE_ROOM, + ROOM_PALACE_OF_WINDS_DARK_COMPASS_HALL, + ROOM_PALACE_OF_WINDS_33, + // AREA_PALACE_OF_WINDS_BOSS + ROOM_PALACE_OF_WINDS_BOSS_0 = 0, + // AREA_NULL_72 + ROOM_NULL_72_0 = 0, + // AREA_NULL_73 + ROOM_NULL_73_0 = 0, + // AREA_NULL_74 + ROOM_NULL_74_0 = 0, + // AREA_NULL_75 + ROOM_NULL_75_0 = 0, + // AREA_NULL_76 + ROOM_NULL_76_0 = 0, + // AREA_77 + ROOM_77_0 = 0, + // AREA_SANCTUARY + ROOM_SANCTUARY_HALL = 0, + ROOM_SANCTUARY_MAIN, + ROOM_SANCTUARY_STAINED_GLASS, + // AREA_NULL_79 + ROOM_NULL_79_0 = 0, + // AREA_NULL_7A + ROOM_NULL_7A_0 = 0, + // AREA_NULL_7B + ROOM_NULL_7B_0 = 0, + // AREA_NULL_7C + ROOM_NULL_7C_0 = 0, + // AREA_NULL_7D + ROOM_NULL_7D_0 = 0, + // AREA_NULL_7E + ROOM_NULL_7E_0 = 0, + // AREA_7F + ROOM_7F_0 = 0, + // AREA_HYRULE_CASTLE + ROOM_HYRULE_CASTLE_0 = 0, + ROOM_HYRULE_CASTLE_1, + ROOM_HYRULE_CASTLE_2, + ROOM_HYRULE_CASTLE_3, + ROOM_HYRULE_CASTLE_4, + ROOM_HYRULE_CASTLE_5, + ROOM_HYRULE_CASTLE_6, + ROOM_HYRULE_CASTLE_7, + // AREA_SANCTUARY_ENTRANCE + ROOM_SANCTUARY_ENTRANCE_MAIN = 0, + // AREA_NULL_82 + ROOM_NULL_82_0 = 0, + // AREA_NULL_83 + ROOM_NULL_83_0 = 0, + // AREA_NULL_84 + ROOM_NULL_84_0 = 0, + // AREA_NULL_85 + ROOM_NULL_85_0 = 0, + // AREA_NULL_86 + ROOM_NULL_86_0 = 0, + // AREA_87 + ROOM_87_0 = 0, + // AREA_DARK_HYRULE_CASTLE + ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE = 0, + ROOM_DARK_HYRULE_CASTLE_3F_TOP_LEFT_TOWER, + ROOM_DARK_HYRULE_CASTLE_3F_TOP_RIGHT_TOWER, + ROOM_DARK_HYRULE_CASTLE_3F_BOTTOM_LEFT_TOWER, + ROOM_DARK_HYRULE_CASTLE_3F_BOTTOM_RIGHT_TOWER, + ROOM_DARK_HYRULE_CASTLE_3F_KEATON_HALL_TO_VAATI, + ROOM_DARK_HYRULE_CASTLE_3F_TRIPLE_DARKNUT, + ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_TOWER, + ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_CORNER, + ROOM_DARK_HYRULE_CASTLE_2F_BOSS_KEY, + ROOM_DARK_HYRULE_CASTLE_2F_BLUE_WARP, + ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_CORNER_GHINI, + ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_CORNER_TORCHES, + ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_TOWER, + ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_DARKNUT, + ROOM_DARK_HYRULE_CASTLE_2F_SPARKS, + ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_DARKNUTS, + ROOM_DARK_HYRULE_CASTLE_2F_LEFT, + ROOM_DARK_HYRULE_CASTLE_2F_RIGHT, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_DARKNUTS, + ROOM_DARK_HYRULE_CASTLE_2F_BOSS_DOOR, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_DARKNUT, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_CORNER_PUZZLE, + ROOM_DARK_HYRULE_CASTLE_2F_ENTRANCE, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_CORNER, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_TOWER, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_GHINI, + ROOM_DARK_HYRULE_CASTLE_1b, + ROOM_DARK_HYRULE_CASTLE_B1_ENTRANCE, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_TOWER, + ROOM_DARK_HYRULE_CASTLE_1F_TOP_LEFT_TOWER, + ROOM_DARK_HYRULE_CASTLE_1F_THRONE_ROOM, + ROOM_DARK_HYRULE_CASTLE_1F_COMPASS, + ROOM_DARK_HYRULE_CASTLE_1F_TOP_RIGHT_TOWER, + ROOM_DARK_HYRULE_CASTLE_1F_BEFORE_THRONE, + ROOM_DARK_HYRULE_CASTLE_1F_LOOP_TOP_LEFT, + ROOM_DARK_HYRULE_CASTLE_1F_LOOP_TOP, + ROOM_DARK_HYRULE_CASTLE_1F_LOOP_TOP_RIGHT, + ROOM_DARK_HYRULE_CASTLE_1F_LOOP_LEFT, + ROOM_DARK_HYRULE_CASTLE_1F_LOOP_RIGHT, + ROOM_DARK_HYRULE_CASTLE_1F_LOOP_BOTTOM_LEFT, + ROOM_DARK_HYRULE_CASTLE_1F_LOOP_BOTTOM, + ROOM_DARK_HYRULE_CASTLE_1F_LOOP_BOTTOM_RIGHT, + ROOM_DARK_HYRULE_CASTLE_1F_BOTTOM_LEFT_TOWER, + ROOM_DARK_HYRULE_CASTLE_1F_BOTTOM_RIGHT_TOWER, + ROOM_DARK_HYRULE_CASTLE_B1_BELOW_THRONE, + ROOM_DARK_HYRULE_CASTLE_B1_BELOW_COMPASS, + ROOM_DARK_HYRULE_CASTLE_B1_BEFORE_THRONE, + ROOM_DARK_HYRULE_CASTLE_B1_TO_PRISON, + ROOM_DARK_HYRULE_CASTLE_B1_BOMB_WALL, + ROOM_DARK_HYRULE_CASTLE_B1_KEATONS, + ROOM_DARK_HYRULE_CASTLE_B1_TO_PRISON_FIREBAR, + ROOM_DARK_HYRULE_CASTLE_B1_CANNONS, + ROOM_DARK_HYRULE_CASTLE_B1_LEFT, + ROOM_DARK_HYRULE_CASTLE_B1_RIGHT, + ROOM_DARK_HYRULE_CASTLE_B1_MAP, + ROOM_DARK_HYRULE_CASTLE_B2_TO_PRISON, + ROOM_DARK_HYRULE_CASTLE_B2_PRISON, + ROOM_DARK_HYRULE_CASTLE_B2_DROPDOWN, + ROOM_DARK_HYRULE_CASTLE_3b, + ROOM_DARK_HYRULE_CASTLE_3c, + ROOM_DARK_HYRULE_CASTLE_3d, + ROOM_DARK_HYRULE_CASTLE_3e, + ROOM_DARK_HYRULE_CASTLE_3f, + // AREA_DARK_HYRULE_CASTLE_OUTSIDE + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_ZELDA_STATUE_PLATFORM = 0, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_GARDEN, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_NORTHWEST, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_NORTHEAST, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_EAST, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTHWEST, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTH, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTHEAST, + // AREA_VAATIS_ARMS + ROOM_VAATIS_ARMS_FIRST = 0, + ROOM_VAATIS_ARMS_SECOND, + // AREA_VAATI_3 + ROOM_VAATI_3_0 = 0, + // AREA_VAATI_2 + ROOM_VAATI_2_0 = 0, + // AREA_DARK_HYRULE_CASTLE_BRIDGE + ROOM_DARK_HYRULE_CASTLE_BRIDGE_MAIN = 0, + // AREA_NULL_8E + ROOM_NULL_8E_0 = 0, + // AREA_8F + ROOM_8F_0 = 0, +} RoomID; + +#endif // TMC_ROOMID_H diff --git a/include/structures.h b/include/structures.h index 12d15690..00e83b72 100644 --- a/include/structures.h +++ b/include/structures.h @@ -222,15 +222,19 @@ extern struct { static_assert(sizeof(gUnk_02034490) == 0x18); typedef struct { - u8 unk0; + u8 unk00 : 1; + u8 unk01 : 3; + u8 unk04 : 4; u8 unk1; - u8 unk2; - u8 unk3; + u8 charColor; + u8 bgColor; u16 unk4; u16 unk6; void* unk8; } WStruct; +static_assert(sizeof(WStruct) == 12); + typedef struct { u8 unk0; u8 unk1; @@ -296,4 +300,22 @@ typedef struct { extern SpritePtr gSpritePtrs[]; +typedef struct { + u16* dest; + void* gfx_dest; + void* buffer_loc; + u32 _c; + u16 gfx_src; + u8 width; + u8 right_align : 1; + u8 sm_border : 1; + u8 unused : 1; + u8 draw_border : 1; + u8 border_type : 4; + u8 fill_type; + u8 _15; + u8 _16; + u8 stylized; +} Font; + #endif diff --git a/include/transitions.h b/include/transitions.h new file mode 100644 index 00000000..0d536e5a --- /dev/null +++ b/include/transitions.h @@ -0,0 +1,54 @@ +#ifndef TMC_TRANSITIONS_H +#define TMC_TRANSITIONS_H +#include "global.h" +#include "roomid.h" + +typedef enum { + WARP_TYPE_BORDER, + WARP_TYPE_AREA, + WARP_TYPE_END_OF_LIST = -1, +} WarpType; + +typedef enum { + TRANSITION_TYPE_NORMAL, + TRANSITION_TYPE_INSTANT_MINISH, + TRANSITION_TYPE_DROP_IN, + TRANSITION_TYPE_INSTANT, + TRANSITION_TYPE_STEP_FORWARD, + TRANSITION_TYPE_5, + TRANSITION_TYPE_DROP_IN_MINISH, + TRANSITION_TYPE_STAIR_EXIT, + TRANSITION_TYPE_8, + TRANSITION_TYPE_9, + TRANSITION_TYPE_HOP_IN_FORWARD, + TRANSITION_TYPE_HOP_IN, + TRANSITION_TYPE_FLY_IN, +} TransitionType; + +typedef struct Transition { + WarpType warp_type : 8; + u8 subtype; + u16 startX; + u16 startY; + u16 endX; + u16 endY; + u8 shape; + u8 area; + RoomID room : 8; + u8 height; + TransitionType transition_type : 8; + u8 facing_direction; // 0-4 + u8 unk0; + u8 unk1; + u8 unk2; + u8 unk3; +} Transition; + +extern const Transition gExitList_RoyalValley_ForestMaze[]; +extern const Transition gUnk_08134FBC[]; +extern const Transition gUnk_08135048[]; +extern const Transition gUnk_08135190[]; +extern const Transition gUnk_0813A76C[]; +extern const Transition* const* const gExitLists[]; + +#endif // TMC_TRANSITIONS_H |
