diff --git a/enemizer/hooks.asm b/enemizer/hooks.asm index 189b01e..6899310 100644 --- a/enemizer/hooks.asm +++ b/enemizer/hooks.asm @@ -14,4 +14,13 @@ incsrc hooks/damage_hooks.asm incsrc hooks/overworld_sprite_hooks.asm -incsrc hooks/underworld_sprite_hooks.asm \ No newline at end of file +incsrc hooks/underworld_sprite_hooks.asm + +org $85B8BA +JSL GeldmanDrawOverride + +org $9EAAAC +JSL StalfosKnightDrawOverride + +org $9EB209 +JSL BlobDrawOverride \ No newline at end of file diff --git a/enemizer/underworld_sprites.asm b/enemizer/underworld_sprites.asm index 237137a..7d900b4 100644 --- a/enemizer/underworld_sprites.asm +++ b/enemizer/underworld_sprites.asm @@ -8,4 +8,40 @@ GetSpriteSlot16Bit: LDA.b Scrap03 : AND.w #$00FF ASL A TAY -RTL \ No newline at end of file +RTL + +GeldmanDrawOverride: + PLA : PLA : PLA ; fix the call stack + LDA.l DRFlags+1 : AND.b #$08 : BEQ .vanilla + + LDA.b #$01 + STA.w $0DC0,X + JML Sprite_4C_Geldman_do_indeed_draw + +.vanilla + JSL Sprite_PrepOAMCoordLong + JML Sprite_4C_Geldman_continue + +StalfosKnightDrawOverride: + LDA.l DRFlags+1 : AND.b #$08 : BEQ .vanilla + + JSL Sprite_PrepOAMCoordLong + LDA.b #$12 + JML Sprite_DrawShadowLong + +.vanilla + JSL Sprite_PrepOAMCoordLong + JML Sprite_91_StalfosKnight_continue + +BlobDrawOverride: + PLA : PLA : PLA ; fix the call stack + LDA.l DRFlags+1 : AND.b #$08 : BEQ .vanilla + + LDA.b #$05 + STA.w $0DC0,X + + JML SpriteDraw_Blob_head_popping_out + +.vanilla + JSL Sprite_PrepOAMCoordLong + JML SpriteDraw_Blob_bad_gfx \ No newline at end of file diff --git a/vanillalabels.asm b/vanillalabels.asm index b2ee2a2..e88190d 100644 --- a/vanillalabels.asm +++ b/vanillalabels.asm @@ -76,6 +76,7 @@ Sprite_TransmuteToBomb = $86AD58 Sprite_PrepAndDrawSingleLargeLong = $86DBF8 Sprite_PrepAndDrawSingleSmallLong = $86DC00 Sprite_DrawShadowLong = $86DC5C +Sprite_DrawShadowCustomLong = $86DC64 DashKey_Draw = $86DD40 Sprite_PrepOAMCoordLong = $86E41C Sprite_ApplySpeedTowardsPlayerLong = $86EA18 @@ -232,6 +233,16 @@ 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 ;===================================================================================================