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
org $1FFFF8 ; timestamp rom
dl #$20170614
dl #$20170617
;================================================================================

View File

@@ -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
;--------------------------------------------------------------------------------

View File

@@ -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 $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
;--------------------------------------------------------------------------------

View File

@@ -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
;--------------------------------------------------------------------------------

View File

@@ -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)
+

View File

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

View File

@@ -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
;--------------------------------------------------------------------------------