let's dev 6/17/17

updated invincible ganon check to allow requiring all dungeons
added extra guard to rain sequence to block misuse of link's house glove upgrade
fixed stat tracking for swordless boss victories
This commit is contained in:
Karkat
2017-06-17 21:18:58 -04:00
parent 97c262eaaa
commit 22bf43e81f
7 changed files with 50 additions and 22 deletions

View File

@@ -26,7 +26,7 @@ org $3FFFFF ; <- 1FFFFF
db #$00 ; expand file to 2mb db #$00 ; expand file to 2mb
org $1FFFF8 ; timestamp rom org $1FFFF8 ; timestamp rom
dl #$20170614 dl #$20170617
;================================================================================ ;================================================================================

View File

@@ -6,11 +6,11 @@
; GanonWarpRNG ; GanonWarpRNG
; out: Accumulator - #$00 or #01 randomly, with no repeated #$01s ; out: Accumulator - #$00 or #01 randomly, with no repeated #$01s
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
GanonWarpRNG: ;GanonWarpRNG:
JSL GetRandomInt : AND.b #$01 : BEQ .zero ; JSL GetRandomInt : AND.b #$01 : BEQ .zero
LDA !GANON_WARP_CHAIN : EOR #$01 : STA !GANON_WARP_CHAIN ; LDA !GANON_WARP_CHAIN : EOR #$01 : STA !GANON_WARP_CHAIN
RTL ;RTL
.zero ; .zero
STA !GANON_WARP_CHAIN ; STA !GANON_WARP_CHAIN
RTL ;RTL
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------

View File

@@ -26,9 +26,23 @@ DrawGoalIndicator:
RTL RTL
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
GoalItemGanonCheck: GoalItemGanonCheck:
LDA $0E20, X : CMP.b #$D6 : BNE .normal ; skip if not ganon LDA $0E20, X : CMP.b #$D6 : BNE .success ; skip if not ganon
LDA InvincibleGanon : CMP #$01 : BNE + : RTL : + LDA InvincibleGanon : BNE +
.normal ;#$00 = Off
LDA $44 : CMP.b #$80 ; thing we wrote over 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 RTL
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------

View File

@@ -63,7 +63,7 @@ JSL.l GoalItemGanonCheck
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
;Hammerable Ganon ;Hammerable Ganon
org $06F2EA ; <- 372EA - Bank06.asm : 5791 (LDA $0E20, X : CMP.b #$D6 : BCS .no_collision) 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 ;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 ; Sprite_DrawMultiple
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------

View File

@@ -630,12 +630,15 @@ RTL
.incrementBossSword .incrementBossSword
LDA $7EF359 LDA $7EF359
CMP #$01 : BNE + BNE + : -
%TopHalf($7EF425) %TopHalf($7EF452) : RTS
+ CMP #$FF : BEQ -
+ CMP #$01 : BNE +
%TopHalf($7EF425) : RTS
+ CMP #$02 : BNE + + CMP #$02 : BNE +
%BottomHalf($7EF425) %BottomHalf($7EF425) : RTS
+ CMP #$03 : BNE + + CMP #$03 : BNE +
%TopHalf($7EF426) %TopHalf($7EF426) : RTS
+ CMP #$04 : BNE + + CMP #$04 : BNE +
%BottomHalf($7EF426) %BottomHalf($7EF426)
+ +

View File

@@ -112,7 +112,8 @@
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
; $7EF44Fl[3] - RTA-Timestamp (End) ; $7EF44Fl[3] - RTA-Timestamp (End)
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
; $7EF452 - ----cccc ; $7EF452 - sssscccc
; s - swordless bosses
; c - capacity upgrades ; c - capacity upgrades
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
; $7EF452 - unused ; $7EF452 - unused

View File

@@ -139,7 +139,7 @@ db #$00 ; #$00 = Off (default) - #$01 = On
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
org $30803E ; PC 0x18003E org $30803E ; PC 0x18003E
InvincibleGanon: InvincibleGanon:
db #$00 ; #$00 = Off (default) - #$01 = On db #$00 ; #$00 = Off (default) - #$01 = On - #$02 = Require All Dungeons
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
org $30803F ; PC 0x18003F org $30803F ; PC 0x18003F
HammerableGanon: HammerableGanon:
@@ -672,7 +672,7 @@ dw #$B9B0, #$FFFF ; $FFFFB9B0 = -5 minutes
GreenClockAmount: GreenClockAmount:
dw #$0000, #$0000 dw #$0000, #$0000
StartingTime: StartingTime:
dw #$4650, #$0000 ; #$A5E0, #$0001 = 30 minutes dw #$0000, #$0000 ; #$A5E0, #$0001 = 30 minutes
;================================================================================ ;================================================================================
org $09E3BB ; PC 0x4E3BB org $09E3BB ; PC 0x4E3BB
db $EB ; Hera Big Key (Set to programmable HP $EB) (set to $E4 for original hookable/boomable key behavior) 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 ; SahasrahlaNoPendantText
org $308A00 ; PC 0x180A00 org $308A00 ; PC 0x180A00
SahasrahlaNoPendantText: 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 $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 db $7f, $7f
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
@@ -786,7 +786,7 @@ db $7f, $7f
; AlcoholicText ; AlcoholicText
org $308C00 ; PC 0x180C00 org $308C00 ; PC 0x180C00
AlcoholicText: 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 $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 db $7f, $7f
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------