let's dev aug 8 2017
fixed pyramid spawn issue (again) fixed freedstanding display for progressive swords and progressive shields
This commit is contained in:
@@ -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, #$06 ; year/month/day
|
db #$20, #$17, #$08, #$08 ; year/month/day
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ RTL
|
|||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
DarkWorldFlagSet:
|
DarkWorldFlagSet:
|
||||||
PHA
|
PHA
|
||||||
|
STA $FFFFFF
|
||||||
LDA !FORCE_PYRAMID : AND.b #$08 : BNE .pyramid
|
LDA !FORCE_PYRAMID : AND.b #$08 : BNE .pyramid
|
||||||
|
|
||||||
LDA Bugfix_PreAgaDWDungeonDeathToFakeDW : BEQ +
|
LDA Bugfix_PreAgaDWDungeonDeathToFakeDW : BEQ +
|
||||||
@@ -46,13 +46,13 @@ RTL
|
|||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
SetDeathWorldChecked:
|
SetDeathWorldChecked:
|
||||||
PHA
|
PHA : STA $FFFFFF
|
||||||
LDA $1B : BEQ + ; skip this for indoors
|
LDA $1B : BEQ + ; skip this for indoors
|
||||||
LDA $040C : CMP #$FF : BNE .done ; unless it's a cave
|
LDA $040C : CMP #$FF : BNE .done ; unless it's a cave
|
||||||
+
|
+
|
||||||
LDA $7EF3C5 : CMP.b #$03 : !BGE .done; thing we originally did - skip if agahnim 1 is dead
|
LDA $7EF3C5 : CMP.b #$03 : !BGE .done; thing we originally did - skip if agahnim 1 is dead
|
||||||
|
|
||||||
LDA $1B : BNE + : LDA $A0 : BNE + ; check if we died in ganon's room
|
LDA $1B : BEQ + : LDA $A0 : BNE + ; check if we died in ganon's room
|
||||||
LDA !FORCE_PYRAMID : ORA.b #$08 : STA !FORCE_PYRAMID ; set pyramid flag
|
LDA !FORCE_PYRAMID : ORA.b #$08 : STA !FORCE_PYRAMID ; set pyramid flag
|
||||||
BRL DarkWorldFlagSet_pyramid
|
BRL DarkWorldFlagSet_pyramid
|
||||||
+
|
+
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ CalculateCapeUsage:
|
|||||||
+
|
+
|
||||||
SEP #$20 ; set 8-bit accumulator
|
SEP #$20 ; set 8-bit accumulator
|
||||||
PHX : TYX
|
PHX : TYX
|
||||||
LDA.l ByrnaCaveCapeUsage, X : STA $4C
|
LDA.l ByrnaCaveCapeUsage, X : STA $4C ; set cape decrement timer
|
||||||
PLX
|
PLX
|
||||||
++
|
++
|
||||||
LDA $7EF36E ; thing we wrote over
|
LDA $7EF36E ; thing we wrote over
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ HeartPiece_Lumberjack_Tree:
|
|||||||
HeartPiece_Spectacle_Cave:
|
HeartPiece_Spectacle_Cave:
|
||||||
db #$17
|
db #$17
|
||||||
HeartPiece_Circle_Bushes:
|
HeartPiece_Circle_Bushes:
|
||||||
db #$61
|
db #$17
|
||||||
HeartPiece_Graveyard_Warp:
|
HeartPiece_Graveyard_Warp:
|
||||||
db #$17
|
db #$17
|
||||||
HeartPiece_Mire_Warp:
|
HeartPiece_Mire_Warp:
|
||||||
@@ -677,6 +677,7 @@ db #$00 ; #00 = Never Locked - #$01 = Locked During Escape (default)
|
|||||||
org $30816A ; PC 0x18016A
|
org $30816A ; PC 0x18016A
|
||||||
FreeItemText:
|
FreeItemText:
|
||||||
db #$01 ; #00 = Off - #$01 = On (default)
|
db #$01 ; #00 = Off - #$01 = On (default)
|
||||||
|
;================================================================================
|
||||||
org $30816B ; PC 0x18016B
|
org $30816B ; PC 0x18016B
|
||||||
ByrnaCaveCaneOfByrnaUsage:
|
ByrnaCaveCaneOfByrnaUsage:
|
||||||
db #$04, #$02, #$01 ; normal, 1/2, 1/4 magic
|
db #$04, #$02, #$01 ; normal, 1/2, 1/4 magic
|
||||||
|
|||||||
@@ -21,18 +21,29 @@ RTL
|
|||||||
++ 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 #$FE : BNE ++ ; Progressive Sword
|
++ CMP.b #$FE : BNE ++ ; Progressive Sword
|
||||||
LDA $7EF359 : BNE + ; No Sword
|
LDA $7EF359
|
||||||
|
CMP.l ProgressiveSwordLimit : !BLT + ; Progressive Sword Limit
|
||||||
|
LDA.l ProgressiveSwordReplacement
|
||||||
|
JSL.l GetSpriteID
|
||||||
|
RTL
|
||||||
|
+ : CMP.b #$00 : BNE + ; No Sword
|
||||||
LDA.b #$43 : RTL
|
LDA.b #$43 : RTL
|
||||||
+ : CMP.b #$01 : BNE + ; Fighter Sword
|
+ : CMP.b #$01 : BNE + ; Fighter Sword
|
||||||
LDA.b #$44 : RTL
|
LDA.b #$44 : RTL
|
||||||
+ : CMP.b #$02 : BNE + ; Master Sword
|
+ : CMP.b #$02 : BNE + ; Master Sword
|
||||||
LDA.b #$45 : RTL
|
LDA.b #$45 : RTL
|
||||||
+ ; Everything Else
|
+ ; CMP.b #$03 : BNE + ; Tempered Sword
|
||||||
LDA.b #$46 : RTL
|
LDA.b #$46 : RTL
|
||||||
|
+
|
||||||
++ : CMP.b #$FF : BNE ++ ; Progressive Shield
|
++ : CMP.b #$FF : BNE ++ ; Progressive Shield
|
||||||
LDA !PROGRESSIVE_SHIELD : AND #$C0 : BNE + ; No Shield
|
LDA !PROGRESSIVE_SHIELD : AND #$C0 : LSR #6
|
||||||
|
CMP.l ProgressiveShieldLimit : !BLT + ; Progressive Shield Limit
|
||||||
|
LDA.l ProgressiveShieldReplacement
|
||||||
|
JSL.l GetSpriteID
|
||||||
|
RTL
|
||||||
|
+ : CMP.b #$00 : BNE + ; No Shield
|
||||||
LDA.b #$2D : RTL
|
LDA.b #$2D : RTL
|
||||||
+ : CMP.b #$40 : BNE + ; Fighter Shield
|
+ : CMP.b #$01 : BNE + ; Fighter Shield
|
||||||
LDA.b #$20 : RTL
|
LDA.b #$20 : RTL
|
||||||
+ ; Everything Else
|
+ ; Everything Else
|
||||||
LDA.b #$2E : RTL
|
LDA.b #$2E : RTL
|
||||||
@@ -104,7 +115,12 @@ GetSpritePalette:
|
|||||||
RTL
|
RTL
|
||||||
.specialHandling
|
.specialHandling
|
||||||
CMP.b #$FD : BNE ++ ; Progressive Sword
|
CMP.b #$FD : BNE ++ ; Progressive Sword
|
||||||
LDA $7EF359 : BNE + ; No Sword
|
LDA $7EF359
|
||||||
|
CMP.l ProgressiveSwordLimit : !BLT + ; Progressive Sword Limit
|
||||||
|
LDA.l ProgressiveSwordReplacement
|
||||||
|
JSL.l GetSpritePalette
|
||||||
|
RTL
|
||||||
|
+ : CMP.b #$00 : BNE + ; No Sword
|
||||||
LDA.b #$04 : RTL
|
LDA.b #$04 : RTL
|
||||||
+ : CMP.b #$01 : BNE + ; Fighter Sword
|
+ : CMP.b #$01 : BNE + ; Fighter Sword
|
||||||
LDA.b #$04 : RTL
|
LDA.b #$04 : RTL
|
||||||
@@ -113,7 +129,12 @@ RTL
|
|||||||
+ ; Everything Else
|
+ ; Everything Else
|
||||||
LDA.b #$08 : RTL
|
LDA.b #$08 : RTL
|
||||||
++ : CMP.b #$FE : BNE ++ ; Progressive Shield
|
++ : CMP.b #$FE : BNE ++ ; Progressive Shield
|
||||||
LDA $7EF35A : BNE + ; No Shield
|
LDA !PROGRESSIVE_SHIELD : AND #$C0 : LSR #6
|
||||||
|
CMP.l ProgressiveShieldLimit : !BLT + ; Progressive Shield Limit
|
||||||
|
LDA.l ProgressiveShieldReplacement
|
||||||
|
JSL.l GetSpritePalette
|
||||||
|
RTL
|
||||||
|
+ : CMP.b #$00 : BNE + ; No Shield
|
||||||
LDA.b #$04 : RTL
|
LDA.b #$04 : RTL
|
||||||
+ : CMP.b #$01 : BNE + ; Fighter Shield
|
+ : CMP.b #$01 : BNE + ; Fighter Shield
|
||||||
LDA.b #$02 : RTL
|
LDA.b #$02 : RTL
|
||||||
@@ -184,8 +205,20 @@ IsNarrowSprite:
|
|||||||
PHB : PHK : PLB
|
PHB : PHK : PLB
|
||||||
|
|
||||||
;--------
|
;--------
|
||||||
CMP.b #$5F : BNE ++ ; Special Handler for Progressive Shield
|
CMP.b #$5E : BNE ++ ; Special Handler for Progressive Sword
|
||||||
LDA $7EF35A : BNE + : SEC : BRA .done : +; No Shield
|
LDA $7EF359 : CMP.l ProgressiveSwordLimit : !BLT + ; Progressive Sword Limit
|
||||||
|
LDA.l ProgressiveSwordReplacement
|
||||||
|
JSL.l IsNarrowSprite
|
||||||
|
BRA .done
|
||||||
|
+ : BRA .continue
|
||||||
|
++ : CMP.b #$5F : BNE ++ ; Special Handler for Progressive Shield
|
||||||
|
LDA !PROGRESSIVE_SHIELD : AND #$C0 : BNE + : SEC : BRA .done ; No Shield
|
||||||
|
LSR #6 : CMP.l ProgressiveShieldLimit : !BLT + ; Progressive Shield Limit
|
||||||
|
LDA.l ProgressiveShieldReplacement
|
||||||
|
JSL.l IsNarrowSprite
|
||||||
|
BRA .done
|
||||||
|
+
|
||||||
|
;LDA $7EF35A : BNE + : SEC : BRA .done : +; No Shield
|
||||||
BRA .false ; Everything Else
|
BRA .false ; Everything Else
|
||||||
++ CMP.b #$62 : BNE ++ ; RNG Item (Single)
|
++ CMP.b #$62 : BNE ++ ; RNG Item (Single)
|
||||||
JSL.l GetRNGItemSingle : BRA .continue
|
JSL.l GetRNGItemSingle : BRA .continue
|
||||||
|
|||||||
Reference in New Issue
Block a user