Merge pull request #456 from Henny022p/transitions

Transition Data
This commit is contained in:
notyourav 2022-03-23 19:34:52 -07:00 committed by GitHub
commit 65d6fbb5f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 8135 additions and 8226 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -265,10 +265,10 @@ gAreaMetatiles_RoyalCrypt:: @ 08102E74
metatile_types_top offset_gAreaMetatiles_RoyalCrypt_3, 0xD84, 1, 1
gAreaMetatiles_PalaceOfWinds:: @ 08102EA4
metatiles_bottom offset_gAreaMetatiles_PalaceOfWinds_0, 0x3620, 1
metatiles_top offset_gAreaMetatiles_PalaceOfWinds_1, 0x3620, 1
metatile_types_bottom offset_gAreaMetatiles_PalaceOfWinds_2, 0xD88, 1
metatile_types_top offset_gAreaMetatiles_PalaceOfWinds_3, 0xD88, 1, 1
metatiles_bottom offset_gAreaMetatiles_PalaceOfWinds_GyorgTornado, 0x3620, 1
metatiles_top offset_gAreaMetatiles_PalaceOfWinds_BossKey, 0x3620, 1
metatile_types_bottom offset_gAreaMetatiles_PalaceOfWinds_BeforeBallAndChainSoldiers, 0xD88, 1
metatile_types_top offset_gAreaMetatiles_PalaceOfWinds_GyorgBossDoor, 0xD88, 1, 1
gAreaMetatiles_PalaceOfWindsBoss:: @ 08102ED4
metatiles_top offset_gAreaMetatiles_PalaceOfWindsBoss_0, 0x108, 1
@ -293,10 +293,10 @@ gAreaMetatiles_SanctuaryEntrance:: @ 08102F4C
metatile_types_top offset_gAreaMetatiles_SanctuaryEntrance_3, 0x3FC, 1, 1
gAreaMetatiles_DarkHyruleCastle:: @ 08102F7C
metatiles_bottom offset_gAreaMetatiles_DarkHyruleCastle_0, 0x3FD8, 1
metatiles_top offset_gAreaMetatiles_DarkHyruleCastle_1, 0x37C0, 1
metatile_types_bottom offset_gAreaMetatiles_DarkHyruleCastle_2, 0xFF6, 1
metatile_types_top offset_gAreaMetatiles_DarkHyruleCastle_3, 0xDF0, 1, 1
metatiles_bottom offset_gAreaMetatiles_DarkHyruleCastle_1FEntrance, 0x3FD8, 1
metatiles_top offset_gAreaMetatiles_DarkHyruleCastle_3FTopLeftTower, 0x37C0, 1
metatile_types_bottom offset_gAreaMetatiles_DarkHyruleCastle_3FTopRightTower, 0xFF6, 1
metatile_types_top offset_gAreaMetatiles_DarkHyruleCastle_3FBottomLeftTower, 0xDF0, 1, 1
gAreaMetatiles_DarkHyruleCastleOutside:: @ 08102FAC
metatiles_bottom offset_gAreaMetatiles_DarkHyruleCastleOutside_0, 0x3340, 1

View File

@ -119,7 +119,7 @@ gAreaRoomHeaders_MelarisMine:: @ 0811C6F6
room_header 0x00, 0x00, 0x2d0, 0x270, 0
.2byte 0xFFFF
gAreaRoomHeaders_MinishPaths1:: @ 0811C702
gAreaRoomHeaders_MinishPaths:: @ 0811C702
room_header 0x02, 0x04, 0xf0, 0x320, 0
room_header 0x16, 0x04, 0xf0, 0x320, 1
room_header 0x2a, 0x04, 0xf0, 0x320, 2
@ -1040,7 +1040,7 @@ gAreaRoomHeaders:: @ 0811E214
.4byte gAreaRoomHeaders_Empty @ 0xE
.4byte gAreaRoomHeaders_HyruleDigCaves @ 0xF
.4byte gAreaRoomHeaders_MelarisMine @ 0x10
.4byte gAreaRoomHeaders_MinishPaths1 @ 0x11
.4byte gAreaRoomHeaders_MinishPaths @ 0x11
.4byte gAreaRoomHeaders_CrenelMinishPaths @ 0x12
.4byte gAreaRoomHeaders_DigCaves1 @ 0x13
.4byte gAreaRoomHeaders_CrenelDigCave @ 0x14

View File

@ -311,25 +311,25 @@ gAreaTileset_MelarisMine_0:: @ 08101430
gAreaTilesets_MelarisMine:: @ 08101460
.4byte gAreaTileset_MelarisMine_0
gAreaTileset_MinishPaths1_0:: @ 08101464
tileset_tiles offset_gAreaTileset_MinishPaths1_2_0, 0x6000000, 0x4000, 1
tileset_tiles offset_gAreaTileset_MinishPaths1_2_1, 0x6004000, 0x4000, 1
gAreaTileset_MinishPaths_0:: @ 08101464
tileset_tiles offset_gAreaTileset_MinishPaths_2_0, 0x6000000, 0x4000, 1
tileset_tiles offset_gAreaTileset_MinishPaths_2_1, 0x6004000, 0x4000, 1
tileset_palette_set 18, 1
gAreaTileset_MinishPaths1_1:: @ 08101488
tileset_tiles offset_gAreaTileset_MinishPaths1_2_0, 0x6000000, 0x4000, 1
tileset_tiles offset_gAreaTileset_MinishPaths1_2_1, 0x6004000, 0x4000, 1
gAreaTileset_MinishPaths_1:: @ 08101488
tileset_tiles offset_gAreaTileset_MinishPaths_2_0, 0x6000000, 0x4000, 1
tileset_tiles offset_gAreaTileset_MinishPaths_2_1, 0x6004000, 0x4000, 1
tileset_palette_set 63, 1
gAreaTileset_MinishPaths1_2:: @ 081014AC
tileset_tiles offset_gAreaTileset_MinishPaths1_2_0, 0x6000000, 0x4000, 1
tileset_tiles offset_gAreaTileset_MinishPaths1_2_1, 0x6004000, 0x4000, 1
gAreaTileset_MinishPaths_2:: @ 081014AC
tileset_tiles offset_gAreaTileset_MinishPaths_2_0, 0x6000000, 0x4000, 1
tileset_tiles offset_gAreaTileset_MinishPaths_2_1, 0x6004000, 0x4000, 1
tileset_palette_set 64, 1
gAreaTilesets_MinishPaths1:: @ 081014D0
.4byte gAreaTileset_MinishPaths1_0
.4byte gAreaTileset_MinishPaths1_1
.4byte gAreaTileset_MinishPaths1_2
gAreaTilesets_MinishPaths:: @ 081014D0
.4byte gAreaTileset_MinishPaths_0
.4byte gAreaTileset_MinishPaths_1
.4byte gAreaTileset_MinishPaths_2
gAreaTileset_CrenelMinishPaths_0:: @ 081014DC
tileset_tiles offset_gAreaTileset_CrenelMinishPaths_0_0, 0x6000000, 0x4000, 1
@ -857,15 +857,15 @@ gAreaTileset_RoyalCrypt_0:: @ 081020E0
gAreaTilesets_RoyalCrypt:: @ 08102110
.4byte gAreaTileset_RoyalCrypt_0
gAreaTileset_PalaceOfWinds_0:: @ 08102114
tileset_tiles offset_gAreaTileset_PalaceOfWinds_0_0, 0x6000000, 0x4000, 1
tileset_tiles offset_gAreaTileset_PalaceOfWinds_0_1, 0x6004000, 0x4000, 1
tileset_tiles offset_gAreaTileset_PalaceOfWinds_0_2, 0x6008000, 0x4000, 1
tileset_tiles offset_gAreaTileset_PalaceOfWinds_0_3, 0x600F000, 0x800, 1
gAreaTileset_PalaceOfWinds_GyorgTornado:: @ 08102114
tileset_tiles offset_gAreaTileset_PalaceOfWinds_GyorgTornado_0, 0x6000000, 0x4000, 1
tileset_tiles offset_gAreaTileset_PalaceOfWinds_GyorgTornado_1, 0x6004000, 0x4000, 1
tileset_tiles offset_gAreaTileset_PalaceOfWinds_GyorgTornado_2, 0x6008000, 0x4000, 1
tileset_tiles offset_gAreaTileset_PalaceOfWinds_GyorgTornado_3, 0x600F000, 0x800, 1
tileset_palette_set 56, 1
gAreaTilesets_PalaceOfWinds:: @ 08102150
.4byte gAreaTileset_PalaceOfWinds_0
.4byte gAreaTileset_PalaceOfWinds_GyorgTornado
gAreaTileset_PalaceOfWindsBoss_0:: @ 08102154
tileset_tiles offset_gAreaTileset_PalaceOfWindsBoss_0_0, 0x6000000, 0x4000, 1
@ -903,14 +903,14 @@ gAreaTileset_SanctuaryEntrance_0:: @ 081021F0
gAreaTilesets_SanctuaryEntrance:: @ 08102220
.4byte gAreaTileset_SanctuaryEntrance_0
gAreaTileset_DarkHyruleCastle_0:: @ 08102224
tileset_tiles offset_gAreaTileset_DarkHyruleCastle_0_0, 0x6000000, 0x4000, 1
tileset_tiles offset_gAreaTileset_DarkHyruleCastle_0_1, 0x6004000, 0x4000, 1
tileset_tiles offset_gAreaTileset_DarkHyruleCastle_0_2, 0x6008000, 0x4000, 1
gAreaTileset_DarkHyruleCastle_1FEntrance:: @ 08102224
tileset_tiles offset_gAreaTileset_DarkHyruleCastle_1FEntrance_0, 0x6000000, 0x4000, 1
tileset_tiles offset_gAreaTileset_DarkHyruleCastle_1FEntrance_1, 0x6004000, 0x4000, 1
tileset_tiles offset_gAreaTileset_DarkHyruleCastle_1FEntrance_2, 0x6008000, 0x4000, 1
tileset_palette_set 59, 1
gAreaTilesets_DarkHyruleCastle:: @ 08102254
.4byte gAreaTileset_DarkHyruleCastle_0
.4byte gAreaTileset_DarkHyruleCastle_1FEntrance
gAreaTileset_DarkHyruleCastleOutside_0:: @ 08102258
tileset_tiles offset_gAreaTileset_DarkHyruleCastleOutside_0_0, 0x6000000, 0x4000, 1
@ -1021,7 +1021,7 @@ gAreaTilesets:: @ 0810246C
.4byte gAreaTilesets_MinishWoods @ 0xE
.4byte gAreaTilesets_HyruleDigCaves @ 0xF
.4byte gAreaTilesets_MelarisMine @ 0x10
.4byte gAreaTilesets_MinishPaths1 @ 0x11
.4byte gAreaTilesets_MinishPaths @ 0x11
.4byte gAreaTilesets_CrenelMinishPaths @ 0x12
.4byte gAreaTilesets_DigCaves1 @ 0x13
.4byte gAreaTilesets_CrenelDigCave @ 0x14

View File

@ -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

993
include/roomid.h Normal file
View File

@ -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

54
include/transitions.h Normal file
View File

@ -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

View File

@ -1655,7 +1655,7 @@ SECTIONS {
data/gfx/fixed_type_gfx.o(.rodata);
data/const/movement.o(.rodata);
src/movement.o(.rodata);
data/map/exit_lists.o(.rodata);
src/data/transitions.o(.rodata);
data/gfx_0813AA54.o(.rodata);
data/gfx/sprite_gfx.o(.rodata);
data/gfx/frame_obj_lists.o(.rodata);

3958
src/data/transitions.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -30,6 +30,8 @@
#include "subtask.h"
#include "itemMetaData.h"
#include "player.h"
#include "transitions.h"
#include "roomid.h"
// Game task
@ -82,7 +84,6 @@ extern void** gAreaTilesets[];
extern void** gAreaRoomMaps[];
extern void* gAreaMetatiles[];
extern void* gUnk_080B755C[];
extern void** gExitLists[];
extern void** gAreaTable[];
extern void FinalizeSave(void);
@ -176,7 +177,7 @@ typedef struct {
typedef struct {
u8 area;
u8 room;
RoomID room : 8;
u8 _2;
u8 _3;
u16 x;
@ -1419,7 +1420,7 @@ static void InitRoomResInfo(RoomResInfo* info, RoomHeader* r_hdr, u32 area, u32
info->map = *(gAreaRoomMaps[area] + room);
info->metatiles = gAreaMetatiles[area];
info->bg_anim = gUnk_080B755C[area];
info->exits = *(gExitLists[area] + room);
info->exits = gExitLists[area][room];
if (gAreaTable[area] != NULL) {
info->properties = *(gAreaTable[area] + room);
}

View File

@ -6,6 +6,7 @@
#include "asm.h"
#include "item.h"
#include "coord.h"
#include "transitions.h"
#include "functions.h"
/** Collisions. */
@ -29,12 +30,6 @@ typedef enum {
COL_EAST_ANY = 0xe000,
} Collisions;
extern u8 gExitList_RoyalValley_ForestMaze[];
extern u8 gUnk_08135190[];
extern u8 gUnk_08134FBC[];
extern u8 gUnk_08135048[];
extern u8 gUnk_0813A76C[];
bool32 IsTileCollision(const u8*, s32, s32, u32);
void CalculateEntityTileCollisions(Entity*, u32, u32);
bool32 ProcessMovementInternal(Entity*, s32, s32, u32);
@ -2269,28 +2264,27 @@ void ProcessMovementInternal2(Entity* this, u32 direction, u32 speed) {
void sub_080AF250(s32 param_1) {
gArea.pCurrentRoomInfo = GetCurrentRoomInfo();
if (param_1 != 0) {
(gArea.pCurrentRoomInfo)->exits = gUnk_08135190;
gArea.pCurrentRoomInfo->exits = gUnk_08135190;
} else {
(gArea.pCurrentRoomInfo)->exits = gExitList_RoyalValley_ForestMaze;
gArea.pCurrentRoomInfo->exits = gExitList_RoyalValley_ForestMaze;
}
}
void sub_080AF284(void) {
if (CheckPlayerInRegion(0x78, gRoomControls.height - 0x50, 0x78, 0x50)) {
gArea.pCurrentRoomInfo = GetCurrentRoomInfo();
(gArea.pCurrentRoomInfo)->exits = gUnk_08135048;
gArea.pCurrentRoomInfo->exits = gUnk_08135048;
} else {
if (GetInventoryValue(ITEM_FOURSWORD) == 0) {
return;
if (GetInventoryValue(ITEM_FOURSWORD) != 0) {
gArea.pCurrentRoomInfo = GetCurrentRoomInfo();
gArea.pCurrentRoomInfo->exits = gUnk_08134FBC;
}
gArea.pCurrentRoomInfo = GetCurrentRoomInfo();
(gArea.pCurrentRoomInfo)->exits = gUnk_08134FBC;
}
}
void sub_080AF2E4(void) {
if (GetInventoryValue(ITEM_FOURSWORD)) {
gArea.pCurrentRoomInfo = GetCurrentRoomInfo();
(gArea.pCurrentRoomInfo)->exits = gUnk_0813A76C;
gArea.pCurrentRoomInfo->exits = gUnk_0813A76C;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -333,7 +333,7 @@ void UpdateIsDiggingCave(void) {
switch (gRoomControls.area) {
case AREA_LAKE_WOODS_CAVE:
case AREA_HYRULE_DIG_CAVES:
case AREA_DIG_CAVES_1:
case AREA_DIG_CAVES:
case AREA_CRENEL_DIG_CAVE:
case AREA_VEIL_FALLS_DIG_CAVE:
case AREA_CASTOR_WILDS_DIG_CAVE:

View File

@ -79,7 +79,7 @@ static const SaveFile gDemoSave = {
.name = "\x97\x7f\xdd",
.saved_status = {
.area_next = AREA_DEEPWOOD_SHRINE,
.room_next = 0xb,
.room_next = ROOM_DEEPWOOD_SHRINE_ENTRANCE,
.start_pos_x = 0xa8,
.start_pos_y = 0xc8,
.layer = 1,

View File

@ -1,43 +0,0 @@
#include "exitlist.h"
#include "reader.h"
#include <fmt/format.h>
#include <util/file.h>
void ExitListAsset::convertToHumanReadable(const std::vector<char>& baserom) {
Reader reader(baserom, start, size);
auto file = util::open_file(assetPath, "w");
while (reader.cursor < size) {
u16 transition_type = reader.read_u16();
u16 x_pos = reader.read_u16();
u16 y_pos = reader.read_u16();
u16 dest_x = reader.read_u16();
u16 dest_y = reader.read_u16();
u8 screen_edge = reader.read_u8();
u8 dest_area = reader.read_u8();
u8 dest_room = reader.read_u8();
u8 unknown_2 = reader.read_u8();
u8 unknown_3 = reader.read_u8();
u8 unknown_4 = reader.read_u8();
u16 unknown_5 = reader.read_u16();
u16 padding_1 = reader.read_u16();
if (transition_type == 0xffff) {
std::fputs("\texit_list_end\n", file.get());
break;
}
auto line = fmt::format("\texit transition={}", transition_type);
line += opt_param(", x={:#x}", 0, x_pos);
line += opt_param(", y={:#x}", 0, y_pos);
line += opt_param(", destX={:#x}", 0, dest_x);
line += opt_param(", destY={:#x}", 0, dest_y);
line += opt_param(", screenEdge={:#x}", 0, screen_edge);
line += opt_param(", destArea={:#x}", 0, dest_area);
line += opt_param(", destRoom={:#x}", 0, dest_room);
line += opt_param(", unknown={:#x}", 0, unknown_2);
line += opt_param(", unknown2={:#x}", 0, unknown_3);
line += opt_param(", unknown3={:#x}", 0, unknown_4);
line += opt_param(", unknown4={:#x}", 0, unknown_5);
line += opt_param(", padding={:#x}", 0, padding_1);
std::fputs(line.c_str(), file.get());
std::fputc('\n', file.get());
}
}

View File

@ -1,7 +0,0 @@
#include "macroasm.h"
class ExitListAsset : public BaseMacroAsmAsset {
public:
using BaseMacroAsmAsset::BaseMacroAsmAsset;
virtual void convertToHumanReadable(const std::vector<char>& baserom);
};

View File

@ -1,7 +1,6 @@
#include "main.h"
#include "assets/aif.h"
#include "assets/animation.h"
#include "assets/exitlist.h"
#include "assets/frameobjlists.h"
#include "assets/gfx.h"
#include "assets/midi.h"
@ -267,8 +266,6 @@ std::unique_ptr<BaseAsset> getAssetHandlerByType(const std::filesystem::path& pa
assetHandler = std::make_unique<AnimationAsset>(path, start, size, asset);
} else if (type == "sprite_frame") {
assetHandler = std::make_unique<SpriteFrameAsset>(path, start, size, asset);
} else if (type == "exit_list") {
assetHandler = std::make_unique<ExitListAsset>(path, start, size, asset);
} else if (type == "frame_obj_lists") {
assetHandler = std::make_unique<FrameObjListsAsset>(path, start, size, asset);
} else if (type == "midi") {