Inverted fix - no longer a bunny in DW sanc
Standard fix - can't kill Aga1 before rescuing Zelda Total locations to check set on file load, and displayed in HUD
This commit is contained in:
@@ -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 ++
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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!
|
||||
|
||||
|
||||
Reference in New Issue
Block a user