305 lines
20 KiB
NASM
305 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
|
|
ResetSpriteProperties = $8DB871
|
|
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
|
|
FluteMenuNumbers_bits = $8AB7A3
|
|
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
|