Files
alttpr-baserom/vanillalabels.asm
2025-12-03 09:37:31 -06:00

303 lines
20 KiB
NASM

;===================================================================================================
; 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
Graphics_LoadChrHalfSlot = $80E43A
LoadSelectScreenGfx = $80E529
CopyFontToVRAM = $80E596
LoadCommonSprites_in_file_select = $80E784
PaletteFilter_TheEndSprite = $80EC03
PrepDungeonExit = $80F945
SaveDeathCount = $80F9DD
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_Get16BitCoords_long = $8684BD
Sprite_TransmuteToBomb = $86AD58
Sprite_PrepAndDrawSingleLargeLong = $86DBF8
Sprite_PrepAndDrawSingleSmallLong = $86DC00
Sprite_DrawShadowLong = $86DC5C
Sprite_DrawShadowCustomLong = $86DC64
DashKey_Draw = $86DD40
Sprite_PrepOAMCoordLong = $86E41C
Sprite_CheckTileCollisionLong = $86E49C
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
HandleFollowersAfterMirroring = $87AA8B
LinkHop_FindArbitraryLandingSpot = $87E359
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
Follower_Initialize = $899EE8
Sprite_BecomeFollower = $899F25
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_Maiden = $8DCE4F
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
CrystalCutscene_SpawnMaiden_PostFollowerGfx = $9ECDA7
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
Sprite_ReducedTileInteractionTable = $9DF6CF
RoomData_ObjectDataPointers = $9F8000