diff --git a/openmode.asm b/openmode.asm index 53ff4cb..4bf907c 100644 --- a/openmode.asm +++ b/openmode.asm @@ -12,11 +12,18 @@ RTL InitOpenMode: LDA.l OpenMode : BEQ + ; Skip if not open mode LDA $7EF3C5 : CMP #$02 : !BGE + ; Skip if already past escape - LDA.b #02 : STA $7EF3C5 ; Go to post-escape phase (pre aga1) + LDA.b #$02 : STA $7EF3C5 ; Go to post-escape phase (pre aga1) LDA $7EF3C6 : ORA #$14 : STA $7EF3C6 ; remove uncle LDA $7EF3C8 : CMP #$05 : BEQ ++ : LDA.b #$01 : ++ : STA $7EF3C8 ; set spawn points to house+sanc unless already house+sanc+mountain LDA $7EF29B : ORA.b #$20 : STA $7EF29B ; open castle gate - RTL + JSL MaybeSetPostAgaWorldState + + +RTL +;-------------------------------------------------------------------------------- +MaybeSetPostAgaWorldState: + LDA.l InstantPostAgaWorldState : BEQ + ; Skip if not enabled + LDA.b #$03 : STA $7EF3C5 ; Go to post-aga phase + LDA $7EF282 : ORA.b #$20 : STA $7EF282 ; make lumberjack tree accessible + RTL ;-------------------------------------------------------------------------------- \ No newline at end of file diff --git a/tables.asm b/tables.asm index 81b26cc..6d4712b 100644 --- a/tables.asm +++ b/tables.asm @@ -381,7 +381,11 @@ org $30808C ; PC 0x18008C PreopenGanonsTower: db $00 ; #$00 = Off (default) - #$01 = On ;-------------------------------------------------------------------------------- -; 0x18008D - 0x18008F (unused) +org $30808D ; PC 0x18008D +InstantPostAgaWorldState: +db $00 ; #$00 = Off (default) - #$01 = On +;-------------------------------------------------------------------------------- +; 0x18008E - 0x18008F (unused) ;-------------------------------------------------------------------------------- org $308090 ; PC 0x180090 - 0x180097 ProgressiveSwordLimit: diff --git a/zelda.asm b/zelda.asm index f03a4ba..6b17d1d 100644 --- a/zelda.asm +++ b/zelda.asm @@ -14,6 +14,7 @@ EndRainState: LDA $7EF3C5 : CMP.b #$02 : !BGE + ; skip if past escape already LDA.b #$00 : STA !INFINITE_ARROWS : STA !INFINITE_BOMBS : STA !INFINITE_MAGIC LDA.b #$02 : STA $7EF3C5 ; end rain state + JSL MaybeSetPostAgaWorldState + RTL ;--------------------------------------------------------------------------------