let's dev aug 9 2017

fixed tablet text not displaying in swordless
fixed goal item transition to triforce scene bugs
fixed map carryover for hyrule castle and sewers
fixed item graphics for bottle overflow
fixed item graphics for armor overflow
This commit is contained in:
Karkat
2017-08-09 23:13:28 -04:00
parent 4a17e97a2e
commit c631415465
5 changed files with 85 additions and 11 deletions

View File

@@ -26,7 +26,7 @@ org $3FFFFF ; <- 1FFFFF
db #$00 ; expand file to 2mb db #$00 ; expand file to 2mb
org $1FFFF8 ; <- FFFF8 timestamp rom org $1FFFF8 ; <- FFFF8 timestamp rom
db #$20, #$17, #$08, #$08 ; year/month/day db #$20, #$17, #$08, #$09 ; year/month/day
;================================================================================ ;================================================================================

View File

@@ -260,7 +260,8 @@ DialogEtherTablet:
RTL RTL
+ +
BIT $F4 : BVC - ; Show normal text if Y is not pressed BIT $F4 : BVC - ; Show normal text if Y is not pressed
LDA $7EF359 : CMP.b #$02 : !BGE .noText LDA $7EF359 : CMP.b #$FF : BEQ .yesText : CMP.b #$02 : !BGE .noText
.yesText
%LoadDialogAddress(EtherTabletText) %LoadDialogAddress(EtherTabletText)
PLA : JSL Sprite_ShowMessageUnconditional ; Text From MSPedestalText (tables.asm) PLA : JSL Sprite_ShowMessageUnconditional ; Text From MSPedestalText (tables.asm)
RTL RTL
@@ -276,7 +277,8 @@ DialogBombosTablet:
RTL RTL
+ +
BIT $F4 : BVC - ; Show normal text if Y is not pressed BIT $F4 : BVC - ; Show normal text if Y is not pressed
LDA $7EF359 : CMP.b #$02 : !BGE .noText LDA $7EF359 : CMP.b #$FF : BEQ .yesText : CMP.b #$02 : !BGE .noText
.yesText
%LoadDialogAddress(BombosTabletText) %LoadDialogAddress(BombosTabletText)
PLA : JSL Sprite_ShowMessageUnconditional ; Text From MSPedestalText (tables.asm) PLA : JSL Sprite_ShowMessageUnconditional ; Text From MSPedestalText (tables.asm)
RTL RTL

View File

@@ -220,7 +220,7 @@ AddReceivedItemExpandedGetItem:
+ CMP.b #$63 : BNE + ; RNG Pool Item (Multi) + CMP.b #$63 : BNE + ; RNG Pool Item (Multi)
BRL .done BRL .done
+ CMP.b #$6A : BNE + ; Goal Collectable (Single/Triforce) + CMP.b #$6A : BNE + ; Goal Collectable (Single/Triforce)
JSL.l StatsFinalPrep JSL.l ActivateGoal
BRL .done BRL .done
+ CMP.b #$6B : BNE + ; Goal Collectable (Multi/Power Star) + CMP.b #$6B : BNE + ; Goal Collectable (Multi/Power Star)
BRA .multi_collect BRA .multi_collect
@@ -228,7 +228,7 @@ AddReceivedItemExpandedGetItem:
.multi_collect .multi_collect
LDA GoalItemRequirement : BEQ ++ LDA GoalItemRequirement : BEQ ++
LDA !GOAL_COUNTER : INC : STA !GOAL_COUNTER LDA !GOAL_COUNTER : INC : STA !GOAL_COUNTER
CMP GoalItemRequirement : !BLT ++ : JSL.l StatsFinalPrep : ++ CMP GoalItemRequirement : !BLT ++ : JSL.l ActivateGoal : ++
BRL .done BRL .done
+ CMP.b #$70 : !BLT + : CMP.b #$80 : !BGE + ; Free Map + CMP.b #$70 : !BLT + : CMP.b #$80 : !BGE + ; Free Map
AND #$0F : CMP #$08 : !BGE ++ AND #$0F : CMP #$08 : !BGE ++
@@ -237,6 +237,7 @@ AddReceivedItemExpandedGetItem:
++ ++
!SUB #$08 !SUB #$08
%ValueShift() %ValueShift()
BIT.b #$C0 : BEQ +++ : LDA.b #$C0 : +++ ; Make Hyrule Castle / Sewers Count for Both
ORA $7EF369 : STA $7EF369 ; Map 2 ORA $7EF369 : STA $7EF369 ; Map 2
BRL .done BRL .done
+ CMP.b #$80 : !BLT + : CMP.b #$90 : !BGE + ; Free Compass + CMP.b #$80 : !BLT + : CMP.b #$90 : !BGE + ; Free Compass
@@ -246,6 +247,7 @@ AddReceivedItemExpandedGetItem:
++ ++
!SUB #$08 !SUB #$08
%ValueShift() %ValueShift()
BIT.b #$C0 : BEQ +++ : LDA.b #$C0 : +++ ; Make Hyrule Castle / Sewers Count for Both
ORA $7EF365 : STA $7EF365 ; Compass 2 ORA $7EF365 : STA $7EF365 ; Compass 2
BRL .done BRL .done
+ CMP.b #$90 : !BLT + : CMP.b #$A0 : !BGE + ; Free Big Key + CMP.b #$90 : !BLT + : CMP.b #$A0 : !BGE + ; Free Big Key
@@ -255,6 +257,7 @@ AddReceivedItemExpandedGetItem:
++ ++
!SUB #$08 !SUB #$08
%ValueShift() %ValueShift()
BIT.b #$C0 : BEQ +++ : LDA.b #$C0 : +++ ; Make Hyrule Castle / Sewers Count for Both
ORA $7EF367 : STA $7EF367 ; Big Key 2 ORA $7EF367 : STA $7EF367 ; Big Key 2
BRL .done BRL .done
+ CMP.b #$A0 : !BLT + : CMP.b #$B0 : !BGE + ; Free Small Key + CMP.b #$A0 : !BLT + : CMP.b #$B0 : !BGE + ; Free Small Key
@@ -802,3 +805,8 @@ CountBottles:
TXA TXA
RTS RTS
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
ActivateGoal:
STZ $11
STZ $B0
JMP.l StatsFinalPrep
;--------------------------------------------------------------------------------

View File

@@ -10,7 +10,7 @@ HeartPiece_Lumberjack_Tree:
HeartPiece_Spectacle_Cave: HeartPiece_Spectacle_Cave:
db #$17 db #$17
HeartPiece_Circle_Bushes: HeartPiece_Circle_Bushes:
db #$17 db #$3D
HeartPiece_Graveyard_Warp: HeartPiece_Graveyard_Warp:
db #$17 db #$17
HeartPiece_Mire_Warp: HeartPiece_Mire_Warp:
@@ -644,7 +644,7 @@ HeartContainer_Mothula:
HeartContainer_Blind: HeartContainer_Blind:
db #$3E db #$3E
HeartContainer_Kholdstare: HeartContainer_Kholdstare:
db #$3E db #$6A
HeartContainer_Vitreous: HeartContainer_Vitreous:
db #$3E db #$3E
HeartContainer_Trinexx: HeartContainer_Trinexx:

View File

@@ -8,6 +8,22 @@
; out: A - Sprite GFX ID ; out: A - Sprite GFX ID
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
GetSpriteID: GetSpriteID:
CMP.b #$16 : BEQ .bottle ; Bottle
CMP.b #$2B : BEQ .bottle ; Red Potion w/bottle
CMP.b #$2C : BEQ .bottle ; Green Potion w/bottle
CMP.b #$2D : BEQ .bottle ; Blue Potion w/bottle
CMP.b #$3C : BEQ .bottle ; Bee w/bottle
CMP.b #$3D : BEQ .bottle ; Fairy w/bottle
CMP.b #$48 : BEQ .bottle ; Gold Bee w/bottle
BRA .notBottle
.bottle
PHA : JSR.w CountBottles : CMP.l BottleLimit : !BLT +
PLA : LDA.l BottleLimitReplacement
JSL.l GetSpriteID
RTL
+
PLA : .notBottle
PHX PHX
PHB : PHK : PLB PHB : PHK : PLB
;-------- ;--------
@@ -20,6 +36,13 @@ RTL
JSL.l GetRNGItemSingle : JMP GetSpriteID JSL.l GetRNGItemSingle : JMP GetSpriteID
++ CMP.b #$FB : BNE ++ ; RNG Item (Multi) ++ CMP.b #$FB : BNE ++ ; RNG Item (Multi)
JSL.l GetRNGItemMulti : JMP GetSpriteID JSL.l GetRNGItemMulti : JMP GetSpriteID
++ CMP.b #$FD : BNE ++ ; Progressive Armor
LDA $7EF35B : CMP.l ProgressiveArmorLimit : !BLT + ; Progressive Armor Limit
LDA.l ProgressiveArmorReplacement
JSL.l GetSpriteID
RTL
+
LDA.b #$04 : RTL
++ CMP.b #$FE : BNE ++ ; Progressive Sword ++ CMP.b #$FE : BNE ++ ; Progressive Sword
LDA $7EF359 LDA $7EF359
CMP.l ProgressiveSwordLimit : !BLT + ; Progressive Sword Limit CMP.l ProgressiveSwordLimit : !BLT + ; Progressive Sword Limit
@@ -80,7 +103,7 @@ RTL
db $FE, $FF ; Progressive Sword & Shield db $FE, $FF ; Progressive Sword & Shield
;6x ;6x
db $04, $0D ; Progressive Armor & Gloves db $FD, $0D ; Progressive Armor & Gloves
db $FA, $FB ; RNG Single & Multi db $FA, $FB ; RNG Single & Multi
db $FF, $FF, $FF, $FF, $FF, $FF ; Unused db $FF, $FF, $FF, $FF, $FF, $FF ; Unused
db $49, $4A, $49 ; Goal Item Single, Multi & Alt Multi db $49, $4A, $49 ; Goal Item Single, Multi & Alt Multi
@@ -106,6 +129,22 @@ RTL
; out: A - Palette ; out: A - Palette
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
GetSpritePalette: GetSpritePalette:
CMP.b #$16 : BEQ .bottle ; Bottle
CMP.b #$2B : BEQ .bottle ; Red Potion w/bottle
CMP.b #$2C : BEQ .bottle ; Green Potion w/bottle
CMP.b #$2D : BEQ .bottle ; Blue Potion w/bottle
CMP.b #$3C : BEQ .bottle ; Bee w/bottle
CMP.b #$3D : BEQ .bottle ; Fairy w/bottle
CMP.b #$48 : BEQ .bottle ; Gold Bee w/bottle
BRA .notBottle
.bottle
PHA : JSR.w CountBottles : CMP.l BottleLimit : !BLT +
PLA : LDA.l BottleLimitReplacement
JSL.l GetSpritePalette
RTL
+
PLA : .notBottle
PHX PHX
PHB : PHK : PLB PHB : PHK : PLB
;-------- ;--------
@@ -141,7 +180,11 @@ RTL
+ ; Everything Else + ; Everything Else
LDA.b #$08 : RTL LDA.b #$08 : RTL
++ : CMP.b #$FF : BNE ++ ; Progressive Armor ++ : CMP.b #$FF : BNE ++ ; Progressive Armor
LDA $7EF35B : BNE + ; Green Tunic LDA $7EF35B : CMP.l ProgressiveArmorLimit : !BLT + ; Progressive Armor Limit
LDA.l ProgressiveArmorReplacement
JSL.l GetSpritePalette
RTL
+ : CMP.b #$00 : BNE + ; Green Tunic
LDA.b #$04 : RTL LDA.b #$04 : RTL
+ ; Everything Else + ; Everything Else
LDA.b #$02 : RTL LDA.b #$02 : RTL
@@ -205,13 +248,28 @@ IsNarrowSprite:
PHB : PHK : PLB PHB : PHK : PLB
;-------- ;--------
CMP.b #$5E : BNE ++ ; Special Handler for Progressive Sword CMP.b #$16 : BEQ .bottle ; Bottle
CMP.b #$2B : BEQ .bottle ; Red Potion w/bottle
CMP.b #$2C : BEQ .bottle ; Green Potion w/bottle
CMP.b #$2D : BEQ .bottle ; Blue Potion w/bottle
CMP.b #$3C : BEQ .bottle ; Bee w/bottle
CMP.b #$3D : BEQ .bottle ; Fairy w/bottle
CMP.b #$48 : BEQ .bottle ; Gold Bee w/bottle
BRA .notBottle
.bottle
JSR.w CountBottles : CMP.l BottleLimit : !BLT +
LDA.l BottleLimitReplacement
JSL.l IsNarrowSprite
BRL .done
+ : BRA .continue
.notBottle
CMP.b #$5E : BNE ++ ; Progressive Sword
LDA $7EF359 : CMP.l ProgressiveSwordLimit : !BLT + ; Progressive Sword Limit LDA $7EF359 : CMP.l ProgressiveSwordLimit : !BLT + ; Progressive Sword Limit
LDA.l ProgressiveSwordReplacement LDA.l ProgressiveSwordReplacement
JSL.l IsNarrowSprite JSL.l IsNarrowSprite
BRA .done BRA .done
+ : BRA .continue + : BRA .continue
++ : CMP.b #$5F : BNE ++ ; Special Handler for Progressive Shield ++ : CMP.b #$5F : BNE ++ ; Progressive Shield
LDA !PROGRESSIVE_SHIELD : AND #$C0 : BNE + : SEC : BRA .done ; No Shield LDA !PROGRESSIVE_SHIELD : AND #$C0 : BNE + : SEC : BRA .done ; No Shield
LSR #6 : CMP.l ProgressiveShieldLimit : !BLT + ; Progressive Shield Limit LSR #6 : CMP.l ProgressiveShieldLimit : !BLT + ; Progressive Shield Limit
LDA.l ProgressiveShieldReplacement LDA.l ProgressiveShieldReplacement
@@ -220,6 +278,12 @@ IsNarrowSprite:
+ +
;LDA $7EF35A : BNE + : SEC : BRA .done : +; No Shield ;LDA $7EF35A : BNE + : SEC : BRA .done : +; No Shield
BRA .false ; Everything Else BRA .false ; Everything Else
++ CMP.b #$60 : BNE ++ ; Progressive Armor
LDA $7EF35B : CMP.l ProgressiveArmorLimit : !BLT + ; Progressive Armor Limit
LDA.l ProgressiveArmorReplacement
JSL.l IsNarrowSprite
BRA .done
+
++ CMP.b #$62 : BNE ++ ; RNG Item (Single) ++ CMP.b #$62 : BNE ++ ; RNG Item (Single)
JSL.l GetRNGItemSingle : BRA .continue JSL.l GetRNGItemSingle : BRA .continue
++ CMP.b #$63 : BNE ++ ; RNG Item (Multi) ++ CMP.b #$63 : BNE ++ ; RNG Item (Multi)