;===================================================================================================
; Vanilla Labels
;===================================================================================================
; EVERY LABEL SHOULD BE IN A FAST ROM BANK
;===================================================================================================
; Labels for routines in the vanilla portion of the ROM. More or less in sequential
; order. Most of these names came from the MoN US disassembly. But we should
; refer to the JP 1.0 disassembly as that's what the randomizer is based on.
;===================================================================================================
;---------------------------------------------------------------------------------------------------
;===================================================================================================
; Long routines (use JSL)
;===================================================================================================
MainGameLoop                                               = $808034
Module_MainRouting                                         = $8080B5
Interrupt_NMI                                              = $8080C9
Interrupt_IRQ                                              = $8082D8
Vram_EraseTilemaps_triforce                                = $808333
JumpTableLocal                                             = $808781
JumpTableLong                                              = $80879C
Sound_LoadLightWorldSongBank                               = $808913
Sound_LoadLightWorldSongBank_do_load                       = $80891D
EnableForceBlank                                           = $80893D
WaterFlood_BuildOneQuadrantForVRAM                         = $8091C4
DecompSwordGfx                                             = $80D308
DecompShieldGfx                                            = $80D348
Tagalong_LoadGfx                                           = $80D463
GetAnimatedSpriteTile                                      = $80D51B
GetAnimatedSpriteTile_variable                             = $80D52D
ReloadPreviouslyLoadedSheets                               = $80D7C8
Attract_DecompressStoryGfx                                 = $80D84E
InitializeTilesets                                         = $80E1DB
LoadCommonSprites_long                                     = $80E3C4
LoadSelectScreenGfx                                        = $80E529
CopyFontToVRAM                                             = $80E596
LoadCommonSprites_in_file_select                           = $80E784
PaletteFilter_TheEndSprite                                 = $80EC03
PrepDungeonExit                                            = $80F945
Mirror_InitHdmaSettings                                    = $80FDEE
Dungeon_LoadRoom                                           = $81873A
Underworld_HandleRoomTags                                  = $81C2FD
RevealPotItem_found_match                                  = $81E6E2
Module_PreDungeon                                          = $82821E
Module_PreDungeon_setAmbientSfx                            = $828296
Dungeon_SaveRoomData                                       = $82A0A8
Dungeon_SaveRoomData_justKeys                              = $82A0BE
Dungeon_SaveRoomQuadrantData                               = $82B861
CalculateTransitionLanding                                 = $82C11D
OverworldLoadScreensPaletteSet_long                        = $82C3F2
FluteMenu_LoadTransport                                    = $82E99D
FindPartnerWhirlpoolExit                                   = $82EA6C
LoadGearPalettes_link                                      = $82FD6D
LoadGearPalettes_bunny                                     = $82FD8A
LoadGearPalettes_variable                                  = $82FD95
Filter_Majorly_Whiten_Color                                = $82FEAB
Overworld_MemorizeMap16Change                              = $84E780
Sprite_SpawnSparkleGarnish                                 = $858008
MasterSword_InPedestal                                     = $858908
MasterSword_InPedestal_exit                                = $85894C
Ancilla_SpawnFallingPrize                                  = $85A51D
Sprite_DrawMultiple                                        = $85DF6C
Sprite_DrawMultiple_quantity_preset                        = $85DF70
Sprite_DrawMultiple_player_deferred                        = $85DF75
Sprite_ShowSolicitedMessageIfPlayerFacing                  = $85E1A7
Sprite_ShowMessageFromPlayerContact                        = $85E1F0
Sprite_ShowMessageUnconditional                            = $85E219
Sprite_ZeldaLong                                           = $85EC96
Sprite_EA_HeartContainer                                   = $85EF3F
Sprite_EB_HeartPiece_handle_flags                          = $85F0C0
Sprite_16_Elder                                            = $85F0CD
SpritePrep_MagicShopAssistant                              = $85F521
Player_ApplyRumbleToSprites                                = $8680FA
Sprite_Main                                                = $868328
Utility_CheckIfHitBoxesOverlapLong                         = $8683E6
Sprite_TransmuteToBomb                                     = $86AD58
Sprite_PrepAndDrawSingleLargeLong                          = $86DBF8
Sprite_PrepAndDrawSingleSmallLong                          = $86DC00
Sprite_DrawShadowLong                                      = $86DC5C
Sprite_DrawShadowCustomLong                                = $86DC64
DashKey_Draw                                               = $86DD40
Sprite_PrepOAMCoordLong                                    = $86E41C
Sprite_ApplySpeedTowardsPlayerLong                         = $86EA18
Sprite_DirectionToFacePlayerLong                           = $86EAA6
Sprite_CheckDamageToPlayerSameLayerLong                    = $86F12F
Sprite_AttemptDamageToPlayerPlusRecoilLong                 = $86F425
OAM_AllocateDeferToPlayerLong                              = $86F86A
Sprite_DoTheDeath_PikitDrop                                = $86F93C
Sprite_DoTheDeath_NotAPikitDrop                            = $86F95B
PrepareEnemyDrop                                           = $86F9D7
Player_HaltDashAttackLong                                  = $8791B3
Link_ReceiveItem                                           = $87999D
Link_ReceiveItem_cool_pose                                 = $8799EE
Link_ReceiveItem_not_cool_pose                             = $8799F2
Link_HandleMovingAnimation_FullLongEntry                   = $87E68F
Link_CheckForEdgeScreenTransition                          = $87F413
Sprite_CheckIfPlayerPreoccupied                            = $87F4AA
FlashGanonTowerPalette_next_thunder                        = $87FA81
FlashGanonTowerPalette_bright_white                        = $87FAAC
Ancilla_Main                                               = $888242
Ancilla_ReceiveItem                                        = $88C3AE
Ancilla_ReceiveItem_objectFinished                         = $88C505
GTCutscene_AnimateCrystals_NoRotate                        = $88CE2E
Ancilla_BreakTowerSeal_draw_single_crystal                 = $88CE93
GTCutscene_DrawSingleCrystal_SkipCrystal                   = $88CEB6
GTCutscene_DrawSingleCrystal_SkipSparkle                   = $88CEC3
GTCutscene_SparkleALot                                     = $88CF59
Ancilla_SetOam_XY_Long                                     = $88F710
AddReceivedItem                                            = $8985E2
AddReceivedItem_notCrystal                                 = $898605
AddReceivedItem_gfxHandling                                = $898766
AncillaAdd_FallingPrize                                    = $898BAD
AncillaAdd_FallingPrize_not_medallion                      = $898BD6
AddWeathervaneExplosion                                    = $898CFD
AddDashTremor                                              = $8993DF
AncillaAdd_GTCutscene                                      = $899B6F
AddDoorDebris_spawn_failed                                 = $899C39
AddAncillaLong                                             = $899D04
Ancilla_CheckIfAlreadyExistsLong                           = $899D1A
Ancilla_TerminateSelectInteractives                        = $89AC57
GiveRupeeGift                                              = $89AD58
Sprite_SetSpawnedCoords                                    = $89AE64
Sprite_ManuallySetDeathFlagUW                              = $89C2F5
FluteMenu_HandleSelection_NoSelection                      = $8AB7BD
OverworldMap_InitGfx                                       = $8ABA4F
OverworldMap_DarkWorldTilemap                              = $8ABA99
OverworldMap_LoadSprGfx                                    = $8ABAB9
NameFile_MakeScreenVisible                                 = $8CD7D1
InitializeSaveFile                                         = $8CDB3E
InitializeSaveFile_build_checksum                          = $8CDBC0
InitializeSaveFile_checksum_done                           = $8CDBDB
SpritePrep_LoadProperties                                  = $8DB818
GetRandomInt                                               = $8DBA71
OAM_AllocateFromRegionA                                    = $8DBA80
OAM_AllocateFromRegionB                                    = $8DBA84
OAM_AllocateFromRegionC                                    = $8DBA88
OAM_AllocateFromRegionD                                    = $8DBA8C
OAM_AllocateFromRegionE                                    = $8DBA90
OAM_AllocateFromRegionF                                    = $8DBA94
Sound_SetSfxPanWithPlayerCoords                            = $8DBB67
Sound_SetSfx1PanLong                                       = $8DBB6E
Sound_SetSfx2PanLong                                       = $8DBB7C
Sound_SetSfx3PanLong                                       = $8DBB8A
SpriteDraw_Stumpy                                          = $8DD030
HUD_RefreshIconLong                                        = $8DDB7F
Equipment_UpdateEquippedItemLong                           = $8DDD32
BottleMenu_movingOn                                        = $8DE01E
RestoreNormalMenu                                          = $8DE346
Equipment_SearchForEquippedItemLong                        = $8DE395
HUD_RebuildLong                                            = $8DFA78
HUD_RebuildIndoor_Palace                                   = $8DFA88
AfterDeathCounterOutput                                    = $8EE8FD
Messaging_Text                                             = $8EEE10
Underworld_LoadCustomTileAttributes                        = $8FFD65
Overworld_TileAttr                                         = $8FFD94
Overworld_DrawPersistentMap16                              = $9BC97C
Overworld_AlterTileHardcore                                = $9BC9DE
Palette_Sword                                              = $9BED03
Palette_Shield                                             = $9BED29
Palette_ArmorAndGloves                                     = $9BEDF9
Palettes_Load_LinkGloves                                   = $9BEE1B
Palette_Hud                                                = $9BEE52
Palette_SelectScreen                                       = $9BEF96
Sprite_NullifyHookshotDrag                                 = $9CF500
Ancilla_CheckForAvailableSlot                              = $9CF537
ShopKeeper_RapidTerminateReceiveItem                       = $9CFAAA
Zora_RegurgitateFlippers                                   = $9DE1AA
Filter_MajorWhitenMain                                     = $9DE9B6
Sprite_SpawnDynamically                                    = $9DF65D
Sprite_SpawnDynamically_arbitrary                          = $9DF65F
DiggingGameGuy_AttemptPrizeSpawn                           = $9DFD4B
CrystalCutscene_Initialize_skip_palette                    = $9ECD39
Sprite_GetEmptyBottleIndex                                 = $9EDE28
Sprite_PlayerCantPassThrough                               = $9EF4E7
Sprite_DrawRippleIfInWater                                 = $9EFF81

;===================================================================================================
; Local routines (use JSR)
;===================================================================================================
LoadBackgroundGraphics                                     = $80E649
LoadBackgroundGraphics_arbitrary                           = $80E64D
RoomTag_GetHeartForPrize                                   = $81C709
RoomTag_GetHeartForPrize_spawn_prize                       = $81C731
RoomTag_GetHeartForPrize_delete_tag                        = $81C749
Underworld_SetBossOrSancMusicUponEntry                     = $828AD9
ResetThenCacheRoomEntryProperties                          = $828C73
RecoverPositionAfterDrowning                               = $829485
OverworldHandleTransitions_change_palettes                 = $82A9F3
Palette_RestoreFixedColor                                  = $82FF58
Sprite_EA_HeartContainer_main                              = $85EF47
MagicShopAssistant_SpawnPowder                             = $85F539
MagicShopAssistant_SpawnObject                             = $85F61D
Sprite_BagOfPowder                                         = $85F644
MagicShopAssistant_Main                                    = $85F893
Sprite_SpawnSecret_SetCoords                               = $8682A5
Chicken_SpawnAvengerChicken                                = $86A7DB
Sprite_ScheduleForBreakage_exit                            = $86E273
Link_PerformRead                                           = $87B4DB
Link_PerformOpenChest_no_replacement                       = $87B59F
Link_CheckNewAPress                                        = $87B5A9
Link_HandleLiftables                                       = $87D36C
Ancilla_SFX2_Near                                          = $888007
Ancilla_SFX3_Near                                          = $88800E
Ancilla_ExecuteAll                                         = $88832B
Ancilla_ExecuteOne                                         = $88833C
Ancilla22_ItemReceipt_is_pendant                           = $88C421
Ancilla22_ItemReceipt_wait_for_music                       = $88C42B
ItemReceipt_Animate_continue                               = $88C637
AncillaDraw_ItemReceipt                                    = $88C6B4
Ancilla29_MilestoneItemReceipt                             = $88CAB0
Ancilla29_MilestoneItemReceipt_skip_crystal_sfx            = $88CAE5
Ancilla29_MilestoneItemReceipt_no_sparkle                  = $88CB2E
Ancilla_SetOAM_XY                                          = $88F6F3
Ancilla_AddAncilla                                         = $899CCE
UpdateHUD                                                  = $8DDFA9
UpdateEquippedItem                                         = $8DDFAF
DrawProgressIcons                                          = $8DE9C8
ItemMenu_DrawEquippedYItem                                 = $8DEB3A
ItemMenu_DrawEquippedYItem_exit                            = $8DECE6
ItemMenu_DrawEquipment_dungeonitems                        = $8DEDCC
DrawEquipment                                              = $8DED29
DrawEquipment_in_a_dungeon                                 = $8DEDFE
RebuildHUD                                                 = $8DFA90
RebuildHUD_update                                          = $8DFAA5
UpdateHUDBuffer_update_item_check_arrows                   = $8DFB41
Credits_ScrollScene_Overworld_no_scroll                    = $8EC3C7
RenderText_DecompressAndDrawSingle                         = $8EF4FB
DecompressFontGFX                                          = $8EF572
CopyDecompressedCharToTransferBuffer                       = $8EF5BC
CopyDecompressedToFullBuffer                               = $8EF6A8
Trinexx_FinalPhase                                         = $9DADB5
Trinexx_PreFinalPhase                                      = $9DB0D2
CrystalMaiden_KickOutOfDungeon                             = $9ECF35
GoldBee_Dormant_exit                                       = $9EDE89
GoldBee_SpawnSelf                                          = $9EDE8A

;===================================================================================================
; Spliced routines (use JML directly since the hook left these methods)
;===================================================================================================

Sprite_4C_Geldman_do_indeed_draw                           = $85B8C0
Sprite_4C_Geldman_continue                                 = $85B8C3
Sprite_91_StalfosKnight_continue                           = $9EAAB5
SpriteDraw_Blob_bad_gfx                                    = $9EB20D
SpriteDraw_Blob_head_popping_out                           = $9EB24E

;===================================================================================================
; Palettes
;===================================================================================================
PalettesVanillaBank                                        = $9B0000
PalettesVanilla_none                                       = $9B0000
PalettesVanilla_red_melon                                  = $9BD218
PalettesVanilla_blue_ice                                   = $9BD236
PalettesVanilla_green_blue_guard                           = $9BD272
PalettesVanilla_dark_world_melon                           = $9BD290
PalettesVanilla_blue_dark_ice                              = $9BD2BC
PalettesVanilla_spraux09                                   = $9BD47E

;===================================================================================================
; Misc. Data
;===================================================================================================
DungeonMask                                                = $8098C0
GFXSheetPointers_background_bank                           = $80CFC0
GFXSheetPointers_background_high                           = $80D09F
GFXSheetPointers_background_low                            = $80D17E
LayerOfDestination                                         = $81C31F
AnimatedTileSheets                                         = $82802E
Module1B_SpawnSelect_spawns                                = $828481
Overworld_ActualScreenID                                   = $82A4E3
UnderworldTransitionLandingCoordinate                      = $82C034
Overworld_FinalizeEntryOntoScreen_Data                     = $82C176
EntranceData_song                                          = $82D592
SpawnPointData_room_id                                     = $82D8D2
Overworld_CheckForSpecialOverworldTrigger_Direction        = $84E879
Sprite_ShowSolicitedMessage_Direction                      = $85E1A3
WorldMap_RedXChars                                         = $8ABF70
WorldMap_CalculateOAMCoordinates                           = $8AC3B1
WorldMap_HandleSpriteBlink                                 = $8AC52E
WorldMapIcon_AdjustCoordinate                              = $8AC59B
WorldMap_DarkWorldTilemap                                  = $8AD739
DungeonMapBossRooms                                        = $8AE817
DamageSubclassValue                                        = $8DB8F1
TextCharMasks                                              = $8EB844
Credits_ScrollScene_target_y                               = $8EC308
Credits_ScrollScene_movement_y                             = $8EC348
Overworld_GetPitDestination_map16                          = $9BB800
Overworld_GetPitDestination_screen                         = $9BB826
Overworld_Entrance_ID                                      = $9BBB73
SwordPaletteOffsets                                        = $9BEBB4
ShieldPaletteOffsets                                       = $9BEBC1
LinkMailPalettesOffsets                                    = $9BEC06
RoomData_ObjectDataPointers                                = $9F8000
