diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index 06eb199..0b5b92b 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -486,6 +486,9 @@ AddReceivedItem: org $098BAD AddPendantOrCrystal: +org $098CFD +AddWeathervaneExplosion: + org $0993DF AddDashTremor: diff --git a/flute.asm b/flute.asm index 5db0be3..58bdad3 100644 --- a/flute.asm +++ b/flute.asm @@ -59,3 +59,39 @@ FluteBoy: LDA $0D80, X : CMP.b #$03 ; thing we wrote over JML.l FluteBoy_Continue ;-------------------------------------------------------------------------------- +FreeDuckCheck: + LDA.l InvertedMode : BEQ .done + + ; check the area, is it #$18 = 30? + LDA $8A : CMP.b #$18 : BNE .done + + REP #$20 + + ; Y coordinate boundaries for setting it off. + LDA $20 + + CMP.w #$0760 : BCC .done + CMP.w #$07E0 : BCS .done + + ; do if( (Ycoord >= 0x0760) && (Ycoord < 0x07e0 + LDA $22 + + CMP.w #$01CF : BCC .done + CMP.w #$0230 : BCS .done + + ; do if( (Xcoord >= 0x1cf) && (Xcoord < 0x0230) + SEP #$20 + + ; Apparently a special Overworld mode for doing this? + LDA.b #$2D : STA $11 + + ; Trigger the sequence to start the weathervane explosion. + LDY.b #$00 + LDA.b #$37 + + JSL AddWeathervaneExplosion + .done + SEP #$20 + LDA.b #$80 : STA $03F0 ; thing we wrote over, load flute timer +RTL +;-------------------------------------------------------------------------------- diff --git a/hooks.asm b/hooks.asm index 2723cfe..71fc86a 100755 --- a/hooks.asm +++ b/hooks.asm @@ -1951,6 +1951,9 @@ org $02EC2E ;<- 016C2E JSL.l Overworld_LoadNewTiles NOP #$02 ;================================================================================ +org $07A3E2 ;<- 3A3E2 Bank07.asm:5764 (LDA.b #$80 : STA $03F0) +JSL.l FreeDuckCheck : NOP +;================================================================================ ;THOSE MIGHT NEED TO BE ON OR OFF WHEN INVERTED MODE IS ON OR OFF :D ;Note it doesn't really matter since if warps are not under rocks they can't appear ;Inverted mode Items HOOKS