#ifndef SEGMENT_SYMBOLS_H
#define SEGMENT_SYMBOLS_H

#include "stddef.h"
#include "stdint.h"
#include "PR/ultratypes.h"

#include "romfile.h"

#define DECLARE_SEGMENT(name)          \
    extern u8 _##name##SegmentStart[]; \
    extern u8 _##name##SegmentEnd[];

#define DECLARE_ROM_SEGMENT(name)         \
    extern u8 _##name##SegmentRomStart[]; \
    extern u8 _##name##SegmentRomEnd[];

#define DECLARE_BSS_SEGMENT(name)         \
    extern u8 _##name##SegmentBssStart[]; \
    extern u8 _##name##SegmentBssEnd[];

#define DECLARE_OVERLAY_SEGMENT(name) \
    DECLARE_SEGMENT(ovl_##name)       \
    DECLARE_ROM_SEGMENT(ovl_##name)

#define SEGMENT_START(segment) (_ ## segment ## SegmentStart)
#define SEGMENT_END(segment) (_ ## segment ## SegmentEnd)
#define SEGMENT_SIZE(segment) ((uintptr_t)SEGMENT_END(segment) - (uintptr_t)SEGMENT_START(segment))

#define SEGMENT_ROM_START(segment) ((uintptr_t) _ ## segment ## SegmentRomStart)
#define SEGMENT_ROM_START_OFFSET(segment, offset) ((uintptr_t) (( _ ## segment ## SegmentRomStart ) + (offset)))
#define SEGMENT_ROM_END(segment) ((uintptr_t) _ ## segment ## SegmentRomEnd)
#define SEGMENT_ROM_SIZE(segment) (SEGMENT_ROM_END(segment) - SEGMENT_ROM_START(segment))
#define SEGMENT_ROM_SIZE_ALT(segment) ((size_t)( _ ## segment ## SegmentRomEnd - _ ## segment ## SegmentRomStart ))

#define SEGMENT_BSS_START(segment) (_ ## segment ## SegmentBssStart)
#define SEGMENT_BSS_END(segment) (_ ## segment ## SegmentBssEnd)
#define SEGMENT_BSS_SIZE(segment) ((uintptr_t)SEGMENT_BSS_END(segment) - (uintptr_t)SEGMENT_BSS_START(segment))

DECLARE_SEGMENT(framebuffer_lo)

DECLARE_SEGMENT(boot)
DECLARE_ROM_SEGMENT(boot)

DECLARE_SEGMENT(dmadata)
DECLARE_ROM_SEGMENT(dmadata)

DECLARE_ROM_SEGMENT(Audiobank)
DECLARE_ROM_SEGMENT(Audioseq)
DECLARE_ROM_SEGMENT(Audiotable)
DECLARE_ROM_SEGMENT(kanji)
DECLARE_ROM_SEGMENT(link_animetion)
DECLARE_ROM_SEGMENT(icon_item_field_static)
DECLARE_ROM_SEGMENT(icon_item_dungeon_static)
DECLARE_ROM_SEGMENT(icon_item_gameover_static)
DECLARE_ROM_SEGMENT(icon_item_jpn_static)
DECLARE_ROM_SEGMENT(icon_item_vtx_static)
DECLARE_ROM_SEGMENT(map_i_static)
DECLARE_ROM_SEGMENT(map_grand_static)
DECLARE_ROM_SEGMENT(item_name_static)
DECLARE_ROM_SEGMENT(map_name_static)
DECLARE_ROM_SEGMENT(icon_item_static_yar)
DECLARE_ROM_SEGMENT(icon_item_static_syms)
DECLARE_ROM_SEGMENT(icon_item_24_static_yar)
DECLARE_ROM_SEGMENT(icon_item_24_static_syms)
DECLARE_ROM_SEGMENT(schedule_dma_static_yar)
DECLARE_ROM_SEGMENT(schedule_dma_static_syms)
DECLARE_ROM_SEGMENT(schedule_static)
DECLARE_ROM_SEGMENT(story_static)
DECLARE_ROM_SEGMENT(do_action_static)
DECLARE_ROM_SEGMENT(message_static)
DECLARE_ROM_SEGMENT(message_texture_static)
DECLARE_ROM_SEGMENT(nes_font_static)
DECLARE_ROM_SEGMENT(message_data_static)
DECLARE_ROM_SEGMENT(staff_message_data_static)

DECLARE_SEGMENT(code)
DECLARE_ROM_SEGMENT(code)
DECLARE_BSS_SEGMENT(code)

DECLARE_SEGMENT(buffers)

DECLARE_OVERLAY_SEGMENT(kaleido_scope)
DECLARE_OVERLAY_SEGMENT(player_actor)

DECLARE_ROM_SEGMENT(scene_texture_01)
DECLARE_ROM_SEGMENT(scene_texture_02)
DECLARE_ROM_SEGMENT(scene_texture_03)
DECLARE_ROM_SEGMENT(scene_texture_04)
DECLARE_ROM_SEGMENT(scene_texture_05)
DECLARE_ROM_SEGMENT(scene_texture_06)
DECLARE_ROM_SEGMENT(scene_texture_07)
DECLARE_ROM_SEGMENT(scene_texture_08)
DECLARE_ROM_SEGMENT(nintendo_rogo_static)
DECLARE_ROM_SEGMENT(title_static)
DECLARE_SEGMENT(memerrmsg)
DECLARE_ROM_SEGMENT(memerrmsg)
DECLARE_SEGMENT(locerrmsg)
DECLARE_ROM_SEGMENT(locerrmsg)
DECLARE_ROM_SEGMENT(parameter_static)
DECLARE_ROM_SEGMENT(week_static)
DECLARE_ROM_SEGMENT(daytelop_static)
DECLARE_ROM_SEGMENT(ger_daytelop_static)
DECLARE_ROM_SEGMENT(fra_daytelop_static)
DECLARE_ROM_SEGMENT(esp_daytelop_static)
DECLARE_ROM_SEGMENT(d2_fine_static)
DECLARE_ROM_SEGMENT(d2_cloud_static)
DECLARE_ROM_SEGMENT(d2_fine_pal_static)
DECLARE_ROM_SEGMENT(elf_message_field)
DECLARE_ROM_SEGMENT(elf_message_ydan)

DECLARE_ROM_SEGMENT(Z2_20SICHITAI2_room_00)
DECLARE_ROM_SEGMENT(Z2_20SICHITAI2_room_01)
DECLARE_ROM_SEGMENT(Z2_20SICHITAI2_room_02)

DECLARE_ROM_SEGMENT(Z2_WITCH_SHOP_room_00)

DECLARE_ROM_SEGMENT(Z2_LAST_BS_room_00)

DECLARE_ROM_SEGMENT(Z2_HAKASHITA_room_00)
DECLARE_ROM_SEGMENT(Z2_HAKASHITA_room_01)
DECLARE_ROM_SEGMENT(Z2_HAKASHITA_room_02)
DECLARE_ROM_SEGMENT(Z2_HAKASHITA_room_03)
DECLARE_ROM_SEGMENT(Z2_HAKASHITA_room_04)

DECLARE_ROM_SEGMENT(Z2_AYASHIISHOP_room_00)
DECLARE_ROM_SEGMENT(Z2_AYASHIISHOP_room_01)

DECLARE_ROM_SEGMENT(Z2_OMOYA_room_00)
DECLARE_ROM_SEGMENT(Z2_OMOYA_room_01)
DECLARE_ROM_SEGMENT(Z2_OMOYA_room_02)

DECLARE_ROM_SEGMENT(Z2_BOWLING_room_00)

DECLARE_ROM_SEGMENT(Z2_SONCHONOIE_room_00)
DECLARE_ROM_SEGMENT(Z2_SONCHONOIE_room_01)
DECLARE_ROM_SEGMENT(Z2_SONCHONOIE_room_02)
DECLARE_ROM_SEGMENT(Z2_SONCHONOIE_room_03)

DECLARE_ROM_SEGMENT(Z2_IKANA_room_00)
DECLARE_ROM_SEGMENT(Z2_IKANA_room_01)
DECLARE_ROM_SEGMENT(Z2_IKANA_room_02)
DECLARE_ROM_SEGMENT(Z2_IKANA_room_03)
DECLARE_ROM_SEGMENT(Z2_IKANA_room_04)

DECLARE_ROM_SEGMENT(Z2_KAIZOKU_room_00)

DECLARE_ROM_SEGMENT(Z2_MILK_BAR_room_00)

DECLARE_ROM_SEGMENT(Z2_INISIE_N_room_00)
DECLARE_ROM_SEGMENT(Z2_INISIE_N_room_01)
DECLARE_ROM_SEGMENT(Z2_INISIE_N_room_02)
DECLARE_ROM_SEGMENT(Z2_INISIE_N_room_03)
DECLARE_ROM_SEGMENT(Z2_INISIE_N_room_04)
DECLARE_ROM_SEGMENT(Z2_INISIE_N_room_05)
DECLARE_ROM_SEGMENT(Z2_INISIE_N_room_06)
DECLARE_ROM_SEGMENT(Z2_INISIE_N_room_07)
DECLARE_ROM_SEGMENT(Z2_INISIE_N_room_08)
DECLARE_ROM_SEGMENT(Z2_INISIE_N_room_09)
DECLARE_ROM_SEGMENT(Z2_INISIE_N_room_10)
DECLARE_ROM_SEGMENT(Z2_INISIE_N_room_11)

DECLARE_ROM_SEGMENT(Z2_TAKARAYA_room_00)

DECLARE_ROM_SEGMENT(Z2_INISIE_R_room_00)
DECLARE_ROM_SEGMENT(Z2_INISIE_R_room_01)
DECLARE_ROM_SEGMENT(Z2_INISIE_R_room_02)
DECLARE_ROM_SEGMENT(Z2_INISIE_R_room_03)
DECLARE_ROM_SEGMENT(Z2_INISIE_R_room_04)
DECLARE_ROM_SEGMENT(Z2_INISIE_R_room_05)
DECLARE_ROM_SEGMENT(Z2_INISIE_R_room_06)
DECLARE_ROM_SEGMENT(Z2_INISIE_R_room_07)
DECLARE_ROM_SEGMENT(Z2_INISIE_R_room_08)
DECLARE_ROM_SEGMENT(Z2_INISIE_R_room_09)
DECLARE_ROM_SEGMENT(Z2_INISIE_R_room_10)
DECLARE_ROM_SEGMENT(Z2_INISIE_R_room_11)

DECLARE_ROM_SEGMENT(Z2_OKUJOU_room_00)

DECLARE_ROM_SEGMENT(Z2_OPENINGDAN_room_00)
DECLARE_ROM_SEGMENT(Z2_OPENINGDAN_room_01)

DECLARE_ROM_SEGMENT(Z2_MITURIN_room_00)
DECLARE_ROM_SEGMENT(Z2_MITURIN_room_01)
DECLARE_ROM_SEGMENT(Z2_MITURIN_room_02)
DECLARE_ROM_SEGMENT(Z2_MITURIN_room_03)
DECLARE_ROM_SEGMENT(Z2_MITURIN_room_04)
DECLARE_ROM_SEGMENT(Z2_MITURIN_room_05)
DECLARE_ROM_SEGMENT(Z2_MITURIN_room_06)
DECLARE_ROM_SEGMENT(Z2_MITURIN_room_07)
DECLARE_ROM_SEGMENT(Z2_MITURIN_room_08)
DECLARE_ROM_SEGMENT(Z2_MITURIN_room_09)
DECLARE_ROM_SEGMENT(Z2_MITURIN_room_10)
DECLARE_ROM_SEGMENT(Z2_MITURIN_room_11)
DECLARE_ROM_SEGMENT(Z2_MITURIN_room_12)

DECLARE_ROM_SEGMENT(Z2_13HUBUKINOMITI_room_00)

DECLARE_ROM_SEGMENT(Z2_CASTLE_room_00)
DECLARE_ROM_SEGMENT(Z2_CASTLE_room_01)
DECLARE_ROM_SEGMENT(Z2_CASTLE_room_02)
DECLARE_ROM_SEGMENT(Z2_CASTLE_room_03)
DECLARE_ROM_SEGMENT(Z2_CASTLE_room_04)
DECLARE_ROM_SEGMENT(Z2_CASTLE_room_05)
DECLARE_ROM_SEGMENT(Z2_CASTLE_room_06)
DECLARE_ROM_SEGMENT(Z2_CASTLE_room_07)
DECLARE_ROM_SEGMENT(Z2_CASTLE_room_08)
DECLARE_ROM_SEGMENT(Z2_CASTLE_room_09)

DECLARE_ROM_SEGMENT(Z2_DEKUTES_room_00)

DECLARE_ROM_SEGMENT(Z2_MITURIN_BS_room_00)

DECLARE_ROM_SEGMENT(Z2_SYATEKI_MIZU_room_00)

DECLARE_ROM_SEGMENT(Z2_HAKUGIN_room_00)
DECLARE_ROM_SEGMENT(Z2_HAKUGIN_room_01)
DECLARE_ROM_SEGMENT(Z2_HAKUGIN_room_02)
DECLARE_ROM_SEGMENT(Z2_HAKUGIN_room_03)
DECLARE_ROM_SEGMENT(Z2_HAKUGIN_room_04)
DECLARE_ROM_SEGMENT(Z2_HAKUGIN_room_05)
DECLARE_ROM_SEGMENT(Z2_HAKUGIN_room_06)
DECLARE_ROM_SEGMENT(Z2_HAKUGIN_room_07)
DECLARE_ROM_SEGMENT(Z2_HAKUGIN_room_08)
DECLARE_ROM_SEGMENT(Z2_HAKUGIN_room_09)
DECLARE_ROM_SEGMENT(Z2_HAKUGIN_room_10)
DECLARE_ROM_SEGMENT(Z2_HAKUGIN_room_11)
DECLARE_ROM_SEGMENT(Z2_HAKUGIN_room_12)
DECLARE_ROM_SEGMENT(Z2_HAKUGIN_room_13)

DECLARE_ROM_SEGMENT(Z2_ROMANYMAE_room_00)

DECLARE_ROM_SEGMENT(Z2_PIRATE_room_00)
DECLARE_ROM_SEGMENT(Z2_PIRATE_room_01)
DECLARE_ROM_SEGMENT(Z2_PIRATE_room_02)
DECLARE_ROM_SEGMENT(Z2_PIRATE_room_03)
DECLARE_ROM_SEGMENT(Z2_PIRATE_room_04)
DECLARE_ROM_SEGMENT(Z2_PIRATE_room_05)
DECLARE_ROM_SEGMENT(Z2_PIRATE_room_06)
DECLARE_ROM_SEGMENT(Z2_PIRATE_room_07)
DECLARE_ROM_SEGMENT(Z2_PIRATE_room_08)
DECLARE_ROM_SEGMENT(Z2_PIRATE_room_09)
DECLARE_ROM_SEGMENT(Z2_PIRATE_room_10)
DECLARE_ROM_SEGMENT(Z2_PIRATE_room_11)
DECLARE_ROM_SEGMENT(Z2_PIRATE_room_12)
DECLARE_ROM_SEGMENT(Z2_PIRATE_room_13)
DECLARE_ROM_SEGMENT(Z2_PIRATE_room_14)

DECLARE_ROM_SEGMENT(Z2_SYATEKI_MORI_room_00)

DECLARE_ROM_SEGMENT(Z2_SINKAI_room_00)

DECLARE_ROM_SEGMENT(Z2_YOUSEI_IZUMI_room_00)
DECLARE_ROM_SEGMENT(Z2_YOUSEI_IZUMI_room_01)
DECLARE_ROM_SEGMENT(Z2_YOUSEI_IZUMI_room_02)
DECLARE_ROM_SEGMENT(Z2_YOUSEI_IZUMI_room_03)
DECLARE_ROM_SEGMENT(Z2_YOUSEI_IZUMI_room_04)

DECLARE_ROM_SEGMENT(Z2_KINSTA1_room_00)
DECLARE_ROM_SEGMENT(Z2_KINSTA1_room_01)
DECLARE_ROM_SEGMENT(Z2_KINSTA1_room_02)
DECLARE_ROM_SEGMENT(Z2_KINSTA1_room_03)
DECLARE_ROM_SEGMENT(Z2_KINSTA1_room_04)
DECLARE_ROM_SEGMENT(Z2_KINSTA1_room_05)

DECLARE_ROM_SEGMENT(Z2_KINDAN2_room_00)
DECLARE_ROM_SEGMENT(Z2_KINDAN2_room_01)
DECLARE_ROM_SEGMENT(Z2_KINDAN2_room_02)
DECLARE_ROM_SEGMENT(Z2_KINDAN2_room_03)
DECLARE_ROM_SEGMENT(Z2_KINDAN2_room_04)
DECLARE_ROM_SEGMENT(Z2_KINDAN2_room_05)

DECLARE_ROM_SEGMENT(Z2_TENMON_DAI_room_00)
DECLARE_ROM_SEGMENT(Z2_TENMON_DAI_room_01)

DECLARE_ROM_SEGMENT(Z2_LAST_DEKU_room_00)
DECLARE_ROM_SEGMENT(Z2_LAST_DEKU_room_01)

DECLARE_ROM_SEGMENT(Z2_22DEKUCITY_room_00)
DECLARE_ROM_SEGMENT(Z2_22DEKUCITY_room_01)
DECLARE_ROM_SEGMENT(Z2_22DEKUCITY_room_02)

DECLARE_ROM_SEGMENT(Z2_KAJIYA_room_00)

DECLARE_ROM_SEGMENT(Z2_00KEIKOKU_room_00)

DECLARE_ROM_SEGMENT(Z2_POSTHOUSE_room_00)

DECLARE_ROM_SEGMENT(Z2_LABO_room_00)

DECLARE_ROM_SEGMENT(Z2_DANPEI2TEST_room_00)
DECLARE_ROM_SEGMENT(Z2_DANPEI2TEST_room_01)

DECLARE_ROM_SEGMENT(Z2_16GORON_HOUSE_room_00)
DECLARE_ROM_SEGMENT(Z2_16GORON_HOUSE_room_01)

DECLARE_ROM_SEGMENT(Z2_33ZORACITY_room_00)

DECLARE_ROM_SEGMENT(Z2_8ITEMSHOP_room_00)

DECLARE_ROM_SEGMENT(Z2_F01_room_00)

DECLARE_ROM_SEGMENT(Z2_INISIE_BS_room_00)

DECLARE_ROM_SEGMENT(Z2_30GYOSON_room_00)

DECLARE_ROM_SEGMENT(Z2_31MISAKI_room_00)

DECLARE_ROM_SEGMENT(Z2_TAKARAKUJI_room_00)

DECLARE_ROM_SEGMENT(Z2_TORIDE_room_00)

DECLARE_ROM_SEGMENT(Z2_FISHERMAN_room_00)

DECLARE_ROM_SEGMENT(Z2_GORONSHOP_room_00)

DECLARE_ROM_SEGMENT(Z2_DEKU_KING_room_00)

DECLARE_ROM_SEGMENT(Z2_LAST_GORON_room_00)
DECLARE_ROM_SEGMENT(Z2_LAST_GORON_room_01)

DECLARE_ROM_SEGMENT(Z2_24KEMONOMITI_room_00)

DECLARE_ROM_SEGMENT(Z2_F01_B_room_00)

DECLARE_ROM_SEGMENT(Z2_F01C_room_00)

DECLARE_ROM_SEGMENT(Z2_BOTI_room_00)
DECLARE_ROM_SEGMENT(Z2_BOTI_room_01)

DECLARE_ROM_SEGMENT(Z2_HAKUGIN_BS_room_00)

DECLARE_ROM_SEGMENT(Z2_20SICHITAI_room_00)
DECLARE_ROM_SEGMENT(Z2_20SICHITAI_room_01)
DECLARE_ROM_SEGMENT(Z2_20SICHITAI_room_02)

DECLARE_ROM_SEGMENT(Z2_21MITURINMAE_room_00)

DECLARE_ROM_SEGMENT(Z2_LAST_ZORA_room_00)

DECLARE_ROM_SEGMENT(Z2_11GORONNOSATO2_room_00)
DECLARE_ROM_SEGMENT(Z2_11GORONNOSATO2_room_01)

DECLARE_ROM_SEGMENT(Z2_SEA_room_00)
DECLARE_ROM_SEGMENT(Z2_SEA_room_01)
DECLARE_ROM_SEGMENT(Z2_SEA_room_02)
DECLARE_ROM_SEGMENT(Z2_SEA_room_03)
DECLARE_ROM_SEGMENT(Z2_SEA_room_04)
DECLARE_ROM_SEGMENT(Z2_SEA_room_05)
DECLARE_ROM_SEGMENT(Z2_SEA_room_06)
DECLARE_ROM_SEGMENT(Z2_SEA_room_07)
DECLARE_ROM_SEGMENT(Z2_SEA_room_08)
DECLARE_ROM_SEGMENT(Z2_SEA_room_09)
DECLARE_ROM_SEGMENT(Z2_SEA_room_10)
DECLARE_ROM_SEGMENT(Z2_SEA_room_11)
DECLARE_ROM_SEGMENT(Z2_SEA_room_12)
DECLARE_ROM_SEGMENT(Z2_SEA_room_13)
DECLARE_ROM_SEGMENT(Z2_SEA_room_14)
DECLARE_ROM_SEGMENT(Z2_SEA_room_15)

DECLARE_ROM_SEGMENT(Z2_35TAKI_room_00)

DECLARE_ROM_SEGMENT(Z2_REDEAD_room_00)
DECLARE_ROM_SEGMENT(Z2_REDEAD_room_01)
DECLARE_ROM_SEGMENT(Z2_REDEAD_room_02)
DECLARE_ROM_SEGMENT(Z2_REDEAD_room_03)
DECLARE_ROM_SEGMENT(Z2_REDEAD_room_04)
DECLARE_ROM_SEGMENT(Z2_REDEAD_room_05)
DECLARE_ROM_SEGMENT(Z2_REDEAD_room_06)
DECLARE_ROM_SEGMENT(Z2_REDEAD_room_07)
DECLARE_ROM_SEGMENT(Z2_REDEAD_room_08)
DECLARE_ROM_SEGMENT(Z2_REDEAD_room_09)
DECLARE_ROM_SEGMENT(Z2_REDEAD_room_10)
DECLARE_ROM_SEGMENT(Z2_REDEAD_room_11)
DECLARE_ROM_SEGMENT(Z2_REDEAD_room_12)
DECLARE_ROM_SEGMENT(Z2_REDEAD_room_13)

DECLARE_ROM_SEGMENT(Z2_BANDROOM_room_00)
DECLARE_ROM_SEGMENT(Z2_BANDROOM_room_01)
DECLARE_ROM_SEGMENT(Z2_BANDROOM_room_02)
DECLARE_ROM_SEGMENT(Z2_BANDROOM_room_03)
DECLARE_ROM_SEGMENT(Z2_BANDROOM_room_04)

DECLARE_ROM_SEGMENT(Z2_11GORONNOSATO_room_00)
DECLARE_ROM_SEGMENT(Z2_11GORONNOSATO_room_01)

DECLARE_ROM_SEGMENT(Z2_GORON_HAKA_room_00)

DECLARE_ROM_SEGMENT(Z2_SECOM_room_00)
DECLARE_ROM_SEGMENT(Z2_SECOM_room_01)

DECLARE_ROM_SEGMENT(Z2_10YUKIYAMANOMURA_room_00)

DECLARE_ROM_SEGMENT(Z2_TOUGITES_room_00)

DECLARE_ROM_SEGMENT(Z2_DANPEI_room_00)
DECLARE_ROM_SEGMENT(Z2_DANPEI_room_01)
DECLARE_ROM_SEGMENT(Z2_DANPEI_room_02)
DECLARE_ROM_SEGMENT(Z2_DANPEI_room_03)
DECLARE_ROM_SEGMENT(Z2_DANPEI_room_04)
DECLARE_ROM_SEGMENT(Z2_DANPEI_room_05)
DECLARE_ROM_SEGMENT(Z2_DANPEI_room_06)
DECLARE_ROM_SEGMENT(Z2_DANPEI_room_07)
DECLARE_ROM_SEGMENT(Z2_DANPEI_room_08)

DECLARE_ROM_SEGMENT(Z2_IKANAMAE_room_00)

DECLARE_ROM_SEGMENT(Z2_DOUJOU_room_00)

DECLARE_ROM_SEGMENT(Z2_MUSICHOUSE_room_00)

DECLARE_ROM_SEGMENT(Z2_IKNINSIDE_room_00)
DECLARE_ROM_SEGMENT(Z2_IKNINSIDE_room_01)

DECLARE_ROM_SEGMENT(Z2_MAP_SHOP_room_00)

DECLARE_ROM_SEGMENT(Z2_F40_room_00)

DECLARE_ROM_SEGMENT(Z2_F41_room_00)

DECLARE_ROM_SEGMENT(Z2_10YUKIYAMANOMURA2_room_00)
DECLARE_ROM_SEGMENT(Z2_10YUKIYAMANOMURA2_room_01)

DECLARE_ROM_SEGMENT(Z2_14YUKIDAMANOMITI_room_00)

DECLARE_ROM_SEGMENT(Z2_12HAKUGINMAE_room_00)

DECLARE_ROM_SEGMENT(Z2_17SETUGEN_room_00)

DECLARE_ROM_SEGMENT(Z2_17SETUGEN2_room_00)

DECLARE_ROM_SEGMENT(Z2_SEA_BS_room_00)

DECLARE_ROM_SEGMENT(Z2_RANDOM_room_00)
DECLARE_ROM_SEGMENT(Z2_RANDOM_room_01)
DECLARE_ROM_SEGMENT(Z2_RANDOM_room_02)
DECLARE_ROM_SEGMENT(Z2_RANDOM_room_03)
DECLARE_ROM_SEGMENT(Z2_RANDOM_room_04)
DECLARE_ROM_SEGMENT(Z2_RANDOM_room_05)

DECLARE_ROM_SEGMENT(Z2_YADOYA_room_00)
DECLARE_ROM_SEGMENT(Z2_YADOYA_room_01)
DECLARE_ROM_SEGMENT(Z2_YADOYA_room_02)
DECLARE_ROM_SEGMENT(Z2_YADOYA_room_03)
DECLARE_ROM_SEGMENT(Z2_YADOYA_room_04)

DECLARE_ROM_SEGMENT(Z2_KONPEKI_ENT_room_00)

DECLARE_ROM_SEGMENT(Z2_INSIDETOWER_room_00)
DECLARE_ROM_SEGMENT(Z2_INSIDETOWER_room_01)

DECLARE_ROM_SEGMENT(Z2_26SARUNOMORI_room_00)
DECLARE_ROM_SEGMENT(Z2_26SARUNOMORI_room_01)
DECLARE_ROM_SEGMENT(Z2_26SARUNOMORI_room_02)
DECLARE_ROM_SEGMENT(Z2_26SARUNOMORI_room_03)
DECLARE_ROM_SEGMENT(Z2_26SARUNOMORI_room_04)
DECLARE_ROM_SEGMENT(Z2_26SARUNOMORI_room_05)
DECLARE_ROM_SEGMENT(Z2_26SARUNOMORI_room_06)
DECLARE_ROM_SEGMENT(Z2_26SARUNOMORI_room_07)
DECLARE_ROM_SEGMENT(Z2_26SARUNOMORI_room_08)

DECLARE_ROM_SEGMENT(Z2_LOST_WOODS_room_00)
DECLARE_ROM_SEGMENT(Z2_LOST_WOODS_room_01)
DECLARE_ROM_SEGMENT(Z2_LOST_WOODS_room_02)

DECLARE_ROM_SEGMENT(Z2_LAST_LINK_room_00)
DECLARE_ROM_SEGMENT(Z2_LAST_LINK_room_01)
DECLARE_ROM_SEGMENT(Z2_LAST_LINK_room_02)
DECLARE_ROM_SEGMENT(Z2_LAST_LINK_room_03)
DECLARE_ROM_SEGMENT(Z2_LAST_LINK_room_04)
DECLARE_ROM_SEGMENT(Z2_LAST_LINK_room_05)
DECLARE_ROM_SEGMENT(Z2_LAST_LINK_room_06)
DECLARE_ROM_SEGMENT(Z2_LAST_LINK_room_07)

DECLARE_ROM_SEGMENT(Z2_SOUGEN_room_00)

DECLARE_ROM_SEGMENT(Z2_BOMYA_room_00)

DECLARE_ROM_SEGMENT(Z2_KYOJINNOMA_room_00)

DECLARE_ROM_SEGMENT(Z2_KOEPONARACE_room_00)

DECLARE_ROM_SEGMENT(Z2_GORONRACE_room_00)

DECLARE_ROM_SEGMENT(Z2_TOWN_room_00)

DECLARE_ROM_SEGMENT(Z2_ICHIBA_room_00)

DECLARE_ROM_SEGMENT(Z2_BACKTOWN_room_00)

DECLARE_ROM_SEGMENT(Z2_CLOCKTOWER_room_00)

DECLARE_ROM_SEGMENT(Z2_ALLEY_room_00)

DECLARE_ROM_SEGMENT(SPOT00_room_00)

DECLARE_ROM_SEGMENT(KAKUSIANA_room_00)
DECLARE_ROM_SEGMENT(KAKUSIANA_room_01)
DECLARE_ROM_SEGMENT(KAKUSIANA_room_02)
DECLARE_ROM_SEGMENT(KAKUSIANA_room_03)
DECLARE_ROM_SEGMENT(KAKUSIANA_room_04)
DECLARE_ROM_SEGMENT(KAKUSIANA_room_05)
DECLARE_ROM_SEGMENT(KAKUSIANA_room_06)
DECLARE_ROM_SEGMENT(KAKUSIANA_room_07)
DECLARE_ROM_SEGMENT(KAKUSIANA_room_08)
DECLARE_ROM_SEGMENT(KAKUSIANA_room_09)
DECLARE_ROM_SEGMENT(KAKUSIANA_room_10)
DECLARE_ROM_SEGMENT(KAKUSIANA_room_11)
DECLARE_ROM_SEGMENT(KAKUSIANA_room_12)
DECLARE_ROM_SEGMENT(KAKUSIANA_room_13)
DECLARE_ROM_SEGMENT(KAKUSIANA_room_14)

DECLARE_ROM_SEGMENT(bump_texture_static)

#endif
