summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authortheo3 <arisstephenson2@gmail.com>2022-03-27 00:19:10 -0700
committertheo3 <arisstephenson2@gmail.com>2022-03-27 00:19:10 -0700
commitca139bf5584ceaada7fbd19291a91559851918ce (patch)
tree16581618ed2c11480402867f0b4d31fb0c035d5f /include
parent5208bfd1aa3d0103fb8e57ba08a99511e1b524b7 (diff)
parent74f88fe5eeaf14ed3f6e8d6344aca88a36d7a697 (diff)
merge
Diffstat (limited to 'include')
-rw-r--r--include/area.h16
-rw-r--r--include/collision.h33
-rw-r--r--include/fileselect.h36
-rw-r--r--include/functions.h17
-rw-r--r--include/manager.h2
-rw-r--r--include/message.h9
-rw-r--r--include/object.h4
-rw-r--r--include/projectile/winder.h12
-rw-r--r--include/room.h16
-rw-r--r--include/roomid.h993
-rw-r--r--include/structures.h28
-rw-r--r--include/transitions.h54
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