diff --git a/dr_lobby.asm b/dr_lobby.asm index c2f08fa..cf3ed69 100644 --- a/dr_lobby.asm +++ b/dr_lobby.asm @@ -1,5 +1,6 @@ CheckDarkWorldSanc: STA $A0 : STA $048E ; what we wrote over + LDA.l InvertedMode : BNE + LDA.l SancDarkWorldFlag : BEQ + SEP #$30 LDA $A0 : CMP #$12 : BNE ++ diff --git a/drhooks.asm b/drhooks.asm index 1aa62dd..c4939e9 100644 --- a/drhooks.asm +++ b/drhooks.asm @@ -170,6 +170,9 @@ JSL CheckDarkWorldSanc : NOP org $01891e ; <- Bank 01.asm : 991 Dungeon_LoadType2Object (LDA $00 : XBA : AND.w #$00FF) JSL RainPrevention : NOP #2 +org $1edabf ; <- sprite_energy_ball.asm : 86-7 Sprite_EnergyBall (LDA.b #$10 : LDX.b #$00) +JSL StandardAgaDmg + ; These two, if enabled together, have implications for vanilla BK doors in IP/Hera/Mire ; IPBJ is common enough to consider not doing this. Mire is not a concern for vanilla - maybe glitched modes ; Hera BK door back can be seen with Pot clipping - likely useful for no logic seeds diff --git a/events.asm b/events.asm index dbdafb7..c9ffa67 100644 --- a/events.asm +++ b/events.asm @@ -88,6 +88,7 @@ RTL OnFileLoad: REP #$10 ; set 16 bit index registers JSL.l EnableForceBlank ; what we wrote over + REP #$20 : LDA.l $30F010 : STA.l $7EF33E : SEP #$20 LDA.b #$07 : STA $210c ; Restore screen 3 to normal tile area diff --git a/hudadditions.asm b/hudadditions.asm index 94edd3d..4568b12 100644 --- a/hudadditions.asm +++ b/hudadditions.asm @@ -8,11 +8,21 @@ DrHudOverride: HudAdditions: { lda.l DRFlags : and #$0008 : beq ++ - lda $7EF423 + LDA.w #$28A4 : STA !GOAL_DRAW_ADDRESS + lda $7EF423 jsr HudHexToDec4DigitCopy - LDX.b $05 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+10 ; draw 100's digit - LDX.b $06 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+12 ; draw 10's digit - LDX.b $07 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+14 ; draw 1's digit + LDX.b $05 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+2 ; draw 100's digit + LDX.b $06 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+4 ; draw 10's digit + LDX.b $07 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+6 ; draw 1's digit + LDA.w #$2830 : STA !GOAL_DRAW_ADDRESS+8 ; draw slash + LDA.l DRFlags : AND #$0100 : BNE + + lda $7EF33E + jsr HudHexToDec4DigitCopy + LDX.b $05 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+10 ; draw 100's digit + LDX.b $06 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+12 ; draw 10's digit + LDX.b $07 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+14 ; draw 1's digit + BRA ++ + + LDA.w #$2405 : STA !GOAL_DRAW_ADDRESS+10 : STA !GOAL_DRAW_ADDRESS+12 : STA !GOAL_DRAW_ADDRESS+14 ++ LDX $1B : BNE + : RTS : + ; Skip if outdoors diff --git a/overrides.asm b/overrides.asm index d47d565..28eb7f9 100644 --- a/overrides.asm +++ b/overrides.asm @@ -142,3 +142,10 @@ RainPrevention: PLA : LDA #$0008 : RTL .done PLA : RTL +; A should be how much dmg to do to Aga when leaving this function +StandardAgaDmg: + LDX.b #$00 ; part of what we wrote over + LDA.l $7EF3C6 : AND #$04 : BEQ + ; zelda's not been rescued + LDA.b #$10 ; hurt him! + + RTL ; A is zero if the AND results in zero and then Agahnim's invincible! +