From 4868a003de7e8fc9df7f3ede748cd0f9caad904a Mon Sep 17 00:00:00 2001 From: Karkat Date: Fri, 5 Jan 2018 23:15:59 -0500 Subject: [PATCH] let's dev 1/5/18 fixed bug with being able to menu during boss explosions in glitched mode added hotspots for medallions in ice palace --- LTTP_RND_GeneralBugfixes.asm | 2 +- glitched.asm | 5 +++- icepalacegraphics.asm | 3 ++- swordswap.asm | 49 +++++++++++++++++++++++++----------- utilities.asm | 4 +-- 5 files changed, 44 insertions(+), 19 deletions(-) diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index 51c2d61..5e7b076 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 ; <- FFFF8 timestamp rom -db #$20, #$18, #$01, #$02 ; year/month/day +db #$20, #$18, #$01, #$05 ; year/month/day ;================================================================================ diff --git a/glitched.asm b/glitched.asm index a2372ac..b97ac6e 100644 --- a/glitched.asm +++ b/glitched.asm @@ -58,9 +58,12 @@ GetAgahnimLightning: LDA.b #$00 ; Use Agahnim 1 RTL ;-------------------------------------------------------------------------------- +;0 = Allow +;1 = Forbid AllowJoypadInput: LDA PermitSQFromBosses : BEQ .fullCheck - LDA $0112 : ORA $02E4 + LDA $0403 : AND.b #$80 : BEQ .fullCheck + LDA $0112 : ORA $02E4 ; we have heart container, do short check RTL .fullCheck LDA $0112 : ORA $02E4 : ORA $0FFC diff --git a/icepalacegraphics.asm b/icepalacegraphics.asm index aed2502..a91b799 100644 --- a/icepalacegraphics.asm +++ b/icepalacegraphics.asm @@ -69,7 +69,8 @@ ReloadingFloors: LDY.w #$0000 ; Target LDA.w #$0800 ; Length PHB - MVN $7F, IcePalaceFloorGfx>>16 + ;MVN $7F, IcePalaceFloorGfx>>16 + MVN $A07F ; CHANGE THIS IF YOU MOVE THE FILE - kkat PLB ; Pretend that we ran the original routine diff --git a/swordswap.asm b/swordswap.asm index 38c12d1..bfea2da 100644 --- a/swordswap.asm +++ b/swordswap.asm @@ -119,26 +119,47 @@ GetSmithSword: JMP.l Smithy_AlreadyGotSword ;================================================================================ CheckMedallionSword: - ;LDA $FFFFFF PHB : PHX : PHY - LDA.l AllowSwordlessEntranceMedallion : BEQ + - LDA $8A : CMP.b #$70 : BNE ++ - LDA.l MireRequiredMedallion : TAX : LDA.l .medallion_type, X : CMP $0303 : BNE + - LDA $7EF2F0 : AND.b #$20 : BNE + - LDA.b #$08 : PHA : PLB ; set data bank to $08 - LDY.b #$02 : JSL.l Ancilla_CheckIfEntranceTriggered : BCS .permit ; misery mire - BRA + - ++ : CMP.b #$47 : BNE ++ - LDA.l TRockRequiredMedallion : TAX : LDA.l .medallion_type, X : CMP $0303 : BNE + - LDA $7EF2C7 : AND.b #$20 : BNE + - LDA.b #$08 : PHA : PLB ; set data bank to $08 - LDY.b #$03 : JSL.l Ancilla_CheckIfEntranceTriggered : BCS .permit ; turtle rock - ++ + LDA.l AllowSwordlessEntranceMedallion : BNE +++ : BRL + : +++ + LDA $1B : BEQ .outdoors + .indoors + REP #$20 ; set 16-bit accumulator + LDA $A0 ; load room ID + CMP.w #$000E : BNE ++ : .freezor1 + LDA $22 : AND.w #$01FF : CMP #368-8 : !BLT .normal : CMP #368+32-8 : !BGE .normal ; check x-coord + LDA $20 : AND.w #$01FF : CMP #400-22 : !BLT .normal : CMP #400+32-22 : !BGE .normal ; check y-coord + BRL .permit + ++ : CMP.w #$007E : BNE ++ : .freezor2 + LDA $22 : AND.w #$01FF : CMP #112-8 : !BLT .normal : CMP #112+32-8 : !BGE .normal ; check x-coord + LDA $20 : AND.w #$01FF : CMP #400-22 : !BLT .normal : CMP #400+32-22 : !BGE .normal ; check y-coord + BRL .permit + ++ : CMP.w #$00DE : BNE ++ : .kholdstare + LDA $22 : AND.w #$01FF : CMP #368-8 : !BLT .normal : CMP #368+32-8 : !BGE .normal ; check x-coord + LDA $20 : AND.w #$01FF : CMP #144-22 : !BLT .normal : CMP #144+32-22 : !BGE .normal ; check y-coord + BRA .permit + ++ : .normal + SEP #$20 ; set 8-bit accumulator + BRA .done + .outdoors + LDA $8A : CMP.b #$70 : BNE ++ + LDA.l MireRequiredMedallion : TAX : LDA.l .medallion_type, X : CMP $0303 : BNE + + LDA $7EF2F0 : AND.b #$20 : BNE + + LDA.b #$08 : PHA : PLB ; set data bank to $08 + LDY.b #$02 : JSL.l Ancilla_CheckIfEntranceTriggered : BCS .permit ; misery mire + BRA + + ++ : CMP.b #$47 : BNE ++ + LDA.l TRockRequiredMedallion : TAX : LDA.l .medallion_type, X : CMP $0303 : BNE + + LDA $7EF2C7 : AND.b #$20 : BNE + + LDA.b #$08 : PHA : PLB ; set data bank to $08 + LDY.b #$03 : JSL.l Ancilla_CheckIfEntranceTriggered : BCS .permit ; turtle rock + ++ + .done + PLY : PLX : PLB LDA $7EF359 RTL .permit + SEP #$20 ; set 8-bit accumulator PLY : PLX : PLB LDA.b #$02 ; Pretend we have master sword RTL diff --git a/utilities.asm b/utilities.asm index 43e10bc..825f0e3 100644 --- a/utilities.asm +++ b/utilities.asm @@ -100,7 +100,7 @@ RTL ;5x db $44 ; Safe Master Sword db $3D, $3E, $3F, $40 ; Bomb & Arrow +5/+10 - db $00, $00, $00 ; 3x Programmable Item + db $2C, $00, $00 ; 3x Programmable Item db $41 ; Upgrade-Only Silver Arrows db $24 ; 1 Rupoor db $47 ; Null Item @@ -235,7 +235,7 @@ RTL db $04 ; Safe Master Sword db $08, $08, $08, $08 ; Bomb & Arrow +5/+10 - db $00, $00, $00 ; Programmable Items 1-2 + db $04, $00, $00 ; Programmable Items 1-3 db $02 ; Upgrade-Only Silver Arrows db $06 ; 1 Rupoor db $02 ; Null Item