let's dev 7/14/17

ganon alternate invincible dialog
added all crystals ganon condition
changed "SEED" on title screen to "HASH"
fixed bug in progressive armor limit code
This commit is contained in:
Karkat
2017-07-14 23:32:19 -04:00
parent 54ab41b68f
commit d1d847e9ef
6 changed files with 77 additions and 28 deletions

View File

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

View File

@@ -221,12 +221,22 @@ DialogTriforce:
RTL
;--------------------------------------------------------------------------------
DialogGanon1:
%LoadDialogAddress(GanonText1)
JSL.l CheckGanonVulnerability : BCS +
%LoadDialogAddress(GanonText1Alternate)
BRA ++
+
%LoadDialogAddress(GanonText1)
++
JSL.l Sprite_ShowMessageMinimal
RTL
;--------------------------------------------------------------------------------
DialogGanon2:
%LoadDialogAddress(GanonText2)
JSL.l CheckGanonVulnerability : BCS +
%LoadDialogAddress(GanonText2Alternate)
BRA ++
+
%LoadDialogAddress(GanonText2)
++
JSL.l Sprite_ShowMessageMinimal
RTL
;--------------------------------------------------------------------------------

View File

@@ -27,22 +27,35 @@ RTL
;--------------------------------------------------------------------------------
GoalItemGanonCheck:
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
JSL.l CheckGanonVulnerability
BCS .success
.fail
LDA $0D80, X : CMP.b #17 : !BLT .success ; decmial 17 because Acmlm's chart is decimal
LDA.b #$00
RTL
.success
LDA $44 : CMP.b #$80 ; thing we wrote over
RTL
;--------------------------------------------------------------------------------
;Carry clear = ganon invincible
;Carry set = ganon vulnerable
CheckGanonVulnerability:
LDA InvincibleGanon : BEQ .success
;#$00 = Off
+ : CMP #$01 : BEQ .fail
;#$01 = On
+ : CMP #$02 : BNE +
;#$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
+ ; CMP #$03 : BNE + this is a comment
;#$03 = Require All Crystals
LDA $7EF37A : AND.b #$7F : CMP #$7F : BNE .fail ; require all crystals
BRA .success
+
.fail : CLC : RTL
.success : SEC : RTL
;--------------------------------------------------------------------------------

View File

@@ -250,15 +250,24 @@ RTS
!FSTILE_BRACKET_CLOSE_TOP = "$1D8B"
!FSTILE_BRACKET_CLOSE_BOTTOM = "$1D9B"
!FSTILE_A_TOP = "$1D4A"
!FSTILE_A_BOTTOM = "$1D5A"
!FSTILE_H_TOP = "$1D61"
!FSTILE_H_BOTTOM = "$1D71"
!FSTILE_S_TOP = "$1D6C"
!FSTILE_S_BOTTOM = "$1D7C"
;--------------------------------------------------------------------------------
FileSelect_PlayerSelectText_Top:
;db $60, $62, $00, $37
dw !FSTILE_SPACE, !FSTILE_SPACE
dw !FSTILE_BRACKET_OPEN_TOP
dw !FSTILE_SPACE, $1D6C
dw !FSTILE_SPACE, $1D4E
dw !FSTILE_SPACE, $1D4E
dw !FSTILE_SPACE, $1D4D
dw !FSTILE_SPACE, !FSTILE_H_TOP
dw !FSTILE_SPACE, !FSTILE_A_TOP
dw !FSTILE_SPACE, !FSTILE_S_TOP
dw !FSTILE_SPACE, !FSTILE_H_TOP
dw !FSTILE_SPACE, !FSTILE_SPACE
dw !FSTILE_SPACE, $05A0, $05A1
dw !FSTILE_SPACE, $05A4, $05A5
@@ -273,10 +282,10 @@ FileSelect_PlayerSelectText_Bottom:
;db $60, $82, $00, $37
dw !FSTILE_SPACE, !FSTILE_SPACE
dw !FSTILE_BRACKET_OPEN_BOTTOM
dw !FSTILE_SPACE, $1D7C
dw !FSTILE_SPACE, $1D5E
dw !FSTILE_SPACE, $1D5E
dw !FSTILE_SPACE, $1D5D
dw !FSTILE_SPACE, !FSTILE_H_BOTTOM
dw !FSTILE_SPACE, !FSTILE_A_BOTTOM
dw !FSTILE_SPACE, !FSTILE_S_BOTTOM
dw !FSTILE_SPACE, !FSTILE_H_BOTTOM
dw !FSTILE_SPACE, !FSTILE_SPACE
dw !FSTILE_SPACE, $05A2, $05A3
dw !FSTILE_SPACE, $05A6, $05A7

View File

@@ -314,7 +314,7 @@ AddReceivedItemExpanded:
++ : CMP.b #$60 : BNE ++ ; Progressive Armor
LDA $7EF35B : CMP.l ProgressiveArmorLimit : !BLT +
LDA.l ProgressiveArmorReplacement : STA $02D8 : BRL .done
+ : BNE + ; No Shield
+ : CMP.b #$00 : BNE + ; No Shield
LDA.b #$22 : STA $02D8 : BRA .done
+ ; Everything Else
LDA.b #$23 : STA $02D8 : BRA .done

View File

@@ -187,15 +187,15 @@ db #$00 ; $00 = static rng, $01 = no extra blue balls/warps
;--------------------------------------------------------------------------------
org $308090 ; PC 0x180090
ProgressiveSwordLimit:
db #$04 ; #$04 (default)
db #$04 ; #$04 - 4 Swords (default)
ProgressiveSwordReplacement:
db #$47 ; #$47 - 20 Rupees (default)
ProgressiveShieldLimit:
db #$03 ; #$03 (default)
db #$03 ; #$03 - 3 Shields (default)
ProgressiveShieldReplacement:
db #$47 ; #$47 - 20 Rupees (default)
ProgressiveArmorLimit:
db #$02 ; #$02 (default)
db #$02 ; #$02 - 2 Armors (default)
ProgressiveArmorReplacement:
db #$47 ; #$47 - 20 Rupees (default)
;--------------------------------------------------------------------------------
@@ -832,13 +832,30 @@ EtherTabletText:
db $74, $00, $AB, $00, $BB, $00, $B2, $00, $B7, $00, $B0, $00, $FF, $00, $B6, $00, $AE, $00, $FF, $00, $BD, $00, $B1, $00, $AE, $75, $00, $A5, $00, $BD, $00, $B1, $00, $FF, $00, $AA, $00, $B7, $00, $AD, $00, $FF, $00, $A6, $00, $BD, $00, $B1, $76, $00, $AC, $00, $BB, $00, $C2, $00, $BC, $00, $BD, $00, $AA, $00, $B5, $00, $BC, $00, $FF, $00, $BC, $00, $B8, $00, $FF, $00, $B2, $7E, $73, $76, $00, $AC, $00, $AA, $00, $B7, $00, $FF, $00, $B6, $00, $AA, $00, $B4, $00, $AE, $00, $FF, $00, $AA, $00, $FF, $00, $AB, $00, $B2, $00, $B0, $73, $76, $00, $AB, $00, $B8, $00, $B6, $00, $AB, $00, $C7
db $7f, $7f
;--------------------------------------------------------------------------------
; $308E00 (0x180E00) - $308EFF (0x180EFF)
; $309000 (0x181000) - $3090FF (0x1810FF)
; BombosTabletText
org $309000 ; PC 0x181000
BombosTabletText:
; please deliver|this big bomb|to my fairy|friend in the|pyramid?
db $74, $00, $B9, $00, $B5, $00, $AE, $00, $AA, $00, $BC, $00, $AE, $00, $FF, $00, $AD, $00, $AE, $00, $B5, $00, $B2, $00, $BF, $00, $AE, $00, $BB, $75, $00, $BD, $00, $B1, $00, $B2, $00, $BC, $00, $FF, $00, $AB, $00, $B2, $00, $B0, $00, $FF, $00, $AB, $00, $B8, $00, $B6, $00, $AB, $76, $00, $BD, $00, $B8, $00, $FF, $00, $B6, $00, $C2, $00, $FF, $00, $AF, $00, $AA, $00, $B2, $00, $BB, $00, $C2, $7E, $73, $76, $00, $AF, $00, $BB, $00, $B2, $00, $AE, $00, $B7, $00, $AD, $00, $FF, $00, $B2, $00, $B7, $00, $FF, $00, $BD, $00, $B1, $00, $AE, $73, $76, $00, $B9, $00, $C2, $00, $BB, $00, $AA, $00, $B6, $00, $B2, $00, $AD, $00, $C6
db $7f, $7f
;--------------------------------------------------------------------------------
; $309100 (0x181100) - $3091FF (0x1811FF)
; Ganon Text 1 - Invincible Alternate (ALTTP JP Text Format)
org $309100 ; PC 0x181100
GanonText1Alternate:
; bring me the|5th and 6th|crystals so I|can make a big|bomb!
db $74, $00, $AB, $00, $BB, $00, $B2, $00, $B7, $00, $B0, $00, $FF, $00, $B6, $00, $AE, $00, $FF, $00, $BD, $00, $B1, $00, $AE, $75, $00, $A5, $00, $BD, $00, $B1, $00, $FF, $00, $AA, $00, $B7, $00, $AD, $00, $FF, $00, $A6, $00, $BD, $00, $B1, $76, $00, $AC, $00, $BB, $00, $C2, $00, $BC, $00, $BD, $00, $AA, $00, $B5, $00, $BC, $00, $FF, $00, $BC, $00, $B8, $00, $FF, $00, $B2, $7E, $73, $76, $00, $AC, $00, $AA, $00, $B7, $00, $FF, $00, $B6, $00, $AA, $00, $B4, $00, $AE, $00, $FF, $00, $AA, $00, $FF, $00, $AB, $00, $B2, $00, $B0, $73, $76, $00, $AB, $00, $B8, $00, $B6, $00, $AB, $00, $C7
db $7f, $7f
;--------------------------------------------------------------------------------
; $309200 (0x180700) - $3092FF (0x1812FF)
; Ganon Text 2 - Invincible Alternate (ALTTP JP Text Format)
org $309200 ; PC 0x181200
GanonText2Alternate:
; please deliver|this big bomb|to my fairy|friend in the|pyramid?
db $74, $00, $B9, $00, $B5, $00, $AE, $00, $AA, $00, $BC, $00, $AE, $00, $FF, $00, $AD, $00, $AE, $00, $B5, $00, $B2, $00, $BF, $00, $AE, $00, $BB, $75, $00, $BD, $00, $B1, $00, $B2, $00, $BC, $00, $FF, $00, $AB, $00, $B2, $00, $B0, $00, $FF, $00, $AB, $00, $B8, $00, $B6, $00, $AB, $76, $00, $BD, $00, $B8, $00, $FF, $00, $B6, $00, $C2, $00, $FF, $00, $AF, $00, $AA, $00, $B2, $00, $BB, $00, $C2, $7E, $73, $76, $00, $AF, $00, $BB, $00, $B2, $00, $AE, $00, $B7, $00, $AD, $00, $FF, $00, $B2, $00, $B7, $00, $FF, $00, $BD, $00, $B1, $00, $AE, $73, $76, $00, $B9, $00, $C2, $00, $BB, $00, $AA, $00, $B6, $00, $B2, $00, $AD, $00, $C6
db $7f, $7f
;--------------------------------------------------------------------------------
;================================================================================
org $30A000 ; $30A000 (0x182000) - $30A07F (0x18007F)
RNGSingleItemTable: