diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index 02f47fc..be04dce 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -26,7 +26,7 @@ org $3FFFFF ; <- 1FFFFF db #$00 ; expand file to 2mb org $1FFFF8 ; timestamp rom -dl #$20170614 +dl #$20170617 ;================================================================================ diff --git a/ganonfixes.asm b/ganonfixes.asm index bff755c..976cbad 100644 --- a/ganonfixes.asm +++ b/ganonfixes.asm @@ -6,11 +6,11 @@ ; GanonWarpRNG ; out: Accumulator - #$00 or #01 randomly, with no repeated #$01s ;-------------------------------------------------------------------------------- -GanonWarpRNG: - JSL GetRandomInt : AND.b #$01 : BEQ .zero - LDA !GANON_WARP_CHAIN : EOR #$01 : STA !GANON_WARP_CHAIN -RTL - .zero - STA !GANON_WARP_CHAIN -RTL +;GanonWarpRNG: +; JSL GetRandomInt : AND.b #$01 : BEQ .zero +; LDA !GANON_WARP_CHAIN : EOR #$01 : STA !GANON_WARP_CHAIN +;RTL +; .zero +; STA !GANON_WARP_CHAIN +;RTL ;-------------------------------------------------------------------------------- \ No newline at end of file diff --git a/goalitem.asm b/goalitem.asm index b0933ee..68193bd 100644 --- a/goalitem.asm +++ b/goalitem.asm @@ -26,9 +26,23 @@ DrawGoalIndicator: RTL ;-------------------------------------------------------------------------------- GoalItemGanonCheck: - LDA $0E20, X : CMP.b #$D6 : BNE .normal ; skip if not ganon - LDA InvincibleGanon : CMP #$01 : BNE + : RTL : + - .normal - LDA $44 : CMP.b #$80 ; thing we wrote over + LDA $0E20, X : CMP.b #$D6 : BNE .success ; skip if not ganon + LDA InvincibleGanon : BNE + + ;#$00 = Off + BRA .success + + : CMP #$01 : BNE + + ;#$01 = On + RTL + + ; CMP #$02 BNE + this is a comment + ;#$02 = Require All Dungeons + LDA $7EF374 : AND.b #$07 : CMP #$07 : BNE .fail ; require all pendants + LDA $7EF37A : AND.b #$7F : CMP #$7F : BNE .fail ; require all crystals + LDA $7EF3C5 : CMP.b #$03 : !BLT .fail ; require post-aga world state + BRA .success + .fail + LDA.b #$00 +RTL + .success + LDA $44 : CMP.b #$80 ; thing we wrote over RTL ;-------------------------------------------------------------------------------- \ No newline at end of file diff --git a/hooks.asm b/hooks.asm index 80a1d88..dfedc96 100644 --- a/hooks.asm +++ b/hooks.asm @@ -63,7 +63,7 @@ JSL.l GoalItemGanonCheck ;-------------------------------------------------------------------------------- ;Hammerable Ganon org $06F2EA ; <- 372EA - Bank06.asm : 5791 (LDA $0E20, X : CMP.b #$D6 : BCS .no_collision) -JSL.l GoalItemGanonCheck : NOP +JSL.l CheckGanonHammerDamage : NOP ;-------------------------------------------------------------------------------- ;================================================================================ @@ -171,6 +171,16 @@ RTS ;NOP #4 ;-------------------------------------------------------------------------------- +;================================================================================ +; Hyrule Castle Rain Sequence Guards (allowing Gloves in Link's house) +;-------------------------------------------------------------------------------- +org $09C8B7 ; <- 4C8B7 +dw #CastleRainSpriteData +org $09F7BD ; <- 4F7BD +CastleRainSpriteData: +db $06, $1F, $40, $12, $01, $3F, $14, $01, $3F, $13, $1F, $42, $1A, $1F, $4B, $1A, $20, $4B, $25, $2D, $3F, $29, $20, $3F, $2A, $3C, $3F, $FF +;-------------------------------------------------------------------------------- + ;================================================================================ ; Sprite_DrawMultiple ;-------------------------------------------------------------------------------- diff --git a/inventory.asm b/inventory.asm index bd17368..a91f050 100644 --- a/inventory.asm +++ b/inventory.asm @@ -630,12 +630,15 @@ RTL .incrementBossSword LDA $7EF359 - CMP #$01 : BNE + - %TopHalf($7EF425) + BNE + : - + %TopHalf($7EF452) : RTS + + CMP #$FF : BEQ - + + CMP #$01 : BNE + + %TopHalf($7EF425) : RTS + CMP #$02 : BNE + - %BottomHalf($7EF425) + %BottomHalf($7EF425) : RTS + CMP #$03 : BNE + - %TopHalf($7EF426) + %TopHalf($7EF426) : RTS + CMP #$04 : BNE + %BottomHalf($7EF426) + diff --git a/stats.asm b/stats.asm index 5ef3a1c..60aeea2 100644 --- a/stats.asm +++ b/stats.asm @@ -112,7 +112,8 @@ ;-------------------------------------------------------------------------------- ; $7EF44Fl[3] - RTA-Timestamp (End) ;-------------------------------------------------------------------------------- -; $7EF452 - ----cccc +; $7EF452 - sssscccc +; s - swordless bosses ; c - capacity upgrades ;-------------------------------------------------------------------------------- ; $7EF452 - unused diff --git a/tables.asm b/tables.asm index d11c054..2192c5b 100644 --- a/tables.asm +++ b/tables.asm @@ -139,7 +139,7 @@ db #$00 ; #$00 = Off (default) - #$01 = On ;-------------------------------------------------------------------------------- org $30803E ; PC 0x18003E InvincibleGanon: -db #$00 ; #$00 = Off (default) - #$01 = On +db #$00 ; #$00 = Off (default) - #$01 = On - #$02 = Require All Dungeons ;-------------------------------------------------------------------------------- org $30803F ; PC 0x18003F HammerableGanon: @@ -672,7 +672,7 @@ dw #$B9B0, #$FFFF ; $FFFFB9B0 = -5 minutes GreenClockAmount: dw #$0000, #$0000 StartingTime: -dw #$4650, #$0000 ; #$A5E0, #$0001 = 30 minutes +dw #$0000, #$0000 ; #$A5E0, #$0001 = 30 minutes ;================================================================================ org $09E3BB ; PC 0x4E3BB db $EB ; Hera Big Key (Set to programmable HP $EB) (set to $E4 for original hookable/boomable key behavior) @@ -770,7 +770,7 @@ db $7f, $7f ; SahasrahlaNoPendantText org $308A00 ; PC 0x180A00 SahasrahlaNoPendantText: -; Want something|for free? Tell|you what…|bring me the|green pendant. +; Want something|for free? Tell|you what|bring me the|green pendant. db $74, $00, $C0, $00, $AA, $00, $B7, $00, $BD, $00, $FF, $00, $BC, $00, $B8, $00, $B6, $00, $AE, $00, $BD, $00, $B1, $00, $B2, $00, $B7, $00, $B0, $75, $00, $AF, $00, $B8, $00, $BB, $00, $FF, $00, $AF, $00, $BB, $00, $AE, $00, $AE, $00, $C6, $00, $FF, $00, $BD, $00, $AE, $00, $B5, $00, $B5, $76, $00, $C2, $00, $B8, $00, $BE, $00, $FF, $00, $C0, $00, $B1, $00, $AA, $00, $BD, $00, $CC, $7E, $73, $76, $00, $AB, $00, $BB, $00, $B2, $00, $B7, $00, $B0, $00, $FF, $00, $B6, $00, $AE, $00, $FF, $00, $BD, $00, $B1, $00, $AE, $73, $76, $00, $B0, $00, $BB, $00, $AE, $00, $AE, $00, $B7, $00, $FF, $00, $B9, $00, $AE, $00, $B7, $00, $AD, $00, $AA, $00, $B7, $00, $BD, $00, $CD db $7f, $7f ;-------------------------------------------------------------------------------- @@ -786,7 +786,7 @@ db $7f, $7f ; AlcoholicText org $308C00 ; PC 0x180C00 AlcoholicText: -; If you haven't|found Quake|yet…|it's not your|fault. +; If you haven't|found Quake|yet|it's not your|fault. db $74, $00, $B2, $00, $AF, $00, $FF, $00, $C2, $00, $B8, $00, $BE, $00, $FF, $00, $B1, $00, $AA, $00, $BF, $00, $AE, $00, $B7, $00, $D8, $00, $BD, $75, $00, $AF, $00, $B8, $00, $BE, $00, $B7, $00, $AD, $00, $FF, $00, $BA, $00, $BE, $00, $AA, $00, $B4, $00, $AE, $76, $00, $C2, $00, $AE, $00, $BD, $00, $CC, $7E, $73, $76, $00, $B2, $00, $BD, $00, $D8, $00, $BC, $00, $FF, $00, $B7, $00, $B8, $00, $BD, $00, $FF, $00, $C2, $00, $B8, $00, $BE, $00, $BB, $73, $76, $00, $AF, $00, $AA, $00, $BE, $00, $B5, $00, $BD, $00, $CD db $7f, $7f ;--------------------------------------------------------------------------------