Merge remote-tracking branch 'baserom/master' into DRMain

# Conflicts:
#	hooks.asm
#	newhud.asm
#	utilities.asm
This commit is contained in:
aerinon
2021-10-21 14:15:54 -06:00
12 changed files with 123 additions and 64 deletions

View File

@@ -127,10 +127,9 @@ RTL
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
;Fix for PoD causing accidental Exploration Glitch ;Fix for SQ jumping causing accidental Exploration Glitch
PodEGFix: SQEGFix:
LDA Bugfix_PodEG : BNE .done LDA Bugfix_PodEG : BNE .done
LDA $040C : CMP.b #$0C : BNE .done ;check if we are in PoD
STZ $047A ;disarm exploration glitch STZ $047A ;disarm exploration glitch
.done .done
RTL RTL
@@ -200,3 +199,18 @@ LDA $1B : BNE +
LDA $8C : CMP.b #$97 LDA $8C : CMP.b #$97
+ +
RTL RTL
;--------------------------------------------------------------------------------
FixJingleGlitch:
LDA.b $11
BEQ .set_doors
LDA.l AllowAccidentalMajorGlitch
BEQ .exit
.set_doors
LDA.b #$05
STA.b $11
.exit
RTL

View File

@@ -53,8 +53,9 @@ DoWorldFix_Inverted:
.aga1Alive .aga1Alive
LDA #$40 : STA $7EF3CA ; set flag to dark world LDA #$40 : STA $7EF3CA ; set flag to dark world
LDA $7EF3CC LDA $7EF3CC
CMP #$07 : BNE .done ; clear frog CMP #$07 : BEQ .clear ; clear frog
CMP #$08 : BNE .done ; clear dwarf - consider flute implications CMP #$08 : BEQ .clear ; clear dwarf - consider flute implications
BRA .done
.clear .clear
LDA.b #$00 : STA $7EF3CC ; clear follower LDA.b #$00 : STA $7EF3CC ; clear follower
.done .done

View File

@@ -24,11 +24,12 @@ LockAgahnimDoors:
LDA $7EF2C3 : AND.w #$0020 : BNE .unlock ; Check if GT overlay is already on or not LDA $7EF2C3 : AND.w #$0020 : BNE .unlock ; Check if GT overlay is already on or not
LDA $0308 : AND.w #$0080 : BEQ ++ ;If we are holding an item LDA $0308 : AND.w #$0080 : BEQ ++ ;If we are holding an item
.locked
LDA #$0001 : RTL ;Keep the door locked LDA #$0001 : RTL ;Keep the door locked
++ ++
SEP #$30 SEP #$30
JSL $099B6F ;Add tower break seal JSL $099B6F ;Add tower break seal
LDA $7EF2C3 : ORA #$20 : STA $7EF2C3 ; activate GT overlay
REP #$30 REP #$30
LDA #$0001 ;Prevent door from opening that frame otherwise it glitchy LDA #$0001 ;Prevent door from opening that frame otherwise it glitchy
RTL RTL
@@ -39,6 +40,17 @@ LockAgahnimDoors:
LDA.w #$0000 ; fallback to never locked LDA.w #$0000 ; fallback to never locked
RTL RTL
;---------------------------------------------------------------------------------
FlagAgahnimDoor:
LDA.l InvertedMode : BEQ .vanilla
LDA $7EF2C3 : ORA #$20 : STA $7EF2C3 ; activate GT overlay
.vanilla
LDA.b #$28 : STA.b $72
RTL
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
LockAgahnimDoorsCore: LockAgahnimDoorsCore:
LDA $22 : CMP.w #1992 : !BLT + ; door too far left, skip LDA $22 : CMP.w #1992 : !BLT + ; door too far left, skip

View File

@@ -37,7 +37,7 @@ RTL
OnDungeonExit: OnDungeonExit:
PHA : PHP PHA : PHP
SEP #$20 ; set 8-bit accumulator SEP #$20 ; set 8-bit accumulator
JSL.l PodEGFix JSL.l SQEGFix
PLP : PLA PLP : PLA
STA $040C : STZ $04AC ; thing we wrote over STA $040C : STZ $04AC ; thing we wrote over
@@ -50,8 +50,8 @@ OnDungeonExit:
RTL RTL
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
OnQuit: OnQuit:
JSL.l PodEGFix JSL.l SQEGFix
LDA.b #$00 : STA $7F5035 ; bandaid patch bug with mirroring away from text
LDA.b #$10 : STA $1C ; thing we wrote over LDA.b #$10 : STA $1C ; thing we wrote over
RTL RTL
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
@@ -184,6 +184,7 @@ OnInitFileSelect:
RTL RTL
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
OnLinkDamaged: OnLinkDamaged:
JSL.l IncrementDamageTakenCounter_Arb
JSL.l FlipperKill JSL.l FlipperKill
JML.l OHKOTimer JML.l OHKOTimer

View File

@@ -1079,6 +1079,9 @@ JSL.l InitializeBottles
;================================================================================ ;================================================================================
; Agahnim Doors Fix ; Agahnim Doors Fix
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
org $099BBA
JSL FlagAgahnimDoor
org $1BBC94 ; <- DBC94 - Bank1B.asm : 201 (LDA $7EF3C5 : AND.w #$000F : CMP.w #$0003 : BCS BRANCH_EPSILON) org $1BBC94 ; <- DBC94 - Bank1B.asm : 201 (LDA $7EF3C5 : AND.w #$000F : CMP.w #$0003 : BCS BRANCH_EPSILON)
JSL.l LockAgahnimDoors : BNE Overworld_Entrance_BRANCH_EPSILON : NOP #6 JSL.l LockAgahnimDoors : BNE Overworld_Entrance_BRANCH_EPSILON : NOP #6
@@ -1526,6 +1529,9 @@ org $1DBAB1 ; <- EBAB1 - sprite_sidenexx.asm : 314 (JSL GetRandomInt : AND.b #$0
JSL.l RNG_Trinexx JSL.l RNG_Trinexx
org $1DBAC3 ; <- EBAC3 - sprite_sidenexx.asm : 323 (JSL GetRandomInt : AND.b #$0F : ADD.b #$0C : STA $02 : STZ $03) org $1DBAC3 ; <- EBAC3 - sprite_sidenexx.asm : 323 (JSL GetRandomInt : AND.b #$0F : ADD.b #$0C : STA $02 : STZ $03)
JSL.l RNG_Trinexx JSL.l RNG_Trinexx
;--------------------------------------------------------------------------------
org $6F9B8 ; <- 379B8 - bank06.asm : 6693 (JSL GetRandomInt : PLY : AND $FA5C, Y : BNE BRANCH_MU)
JSL.l RNG_Enemy_Drops
;================================================================================ ;================================================================================
; HUD Changes ; HUD Changes
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
@@ -2766,8 +2772,6 @@ JSL FastTextScroll : NOP
org $01FFEE : JSL IncrementDamageTakenCounter_Eight ; overworld pit org $01FFEE : JSL IncrementDamageTakenCounter_Eight ; overworld pit
org $079506 : JSL IncrementDamageTakenCounter_Eight ; underworld pit org $079506 : JSL IncrementDamageTakenCounter_Eight ; underworld pit
org $0780C6 : JSL IncrementDamageTakenCounter_Arb
org $07B0B1 : JSL IncrementMagicUseCounter org $07B0B1 : JSL IncrementMagicUseCounter
;================================================================================ ;================================================================================
@@ -2786,6 +2790,26 @@ org $0AEEF2
org $008BE5 ; hijack stripes for boss GFX transfer org $008BE5 ; hijack stripes for boss GFX transfer
JSL DoDungeonMapBossIcon JSL DoDungeonMapBossIcon
;================================================================================
; Fix quadrant glitch
org $07A879
JSR SwordSpinQuadrantFix
org $07F877 ; free rom
SwordSpinQuadrantFix:
LDA.l AllowAccidentalMajorGlitch
BEQ ++
JMP.w $07E8D9 ; HandleIndoorCameraAndDoors
++ RTS
;================================================================================
org $01C4B8 : JSL FixJingleGlitch
org $01C536 : JSL FixJingleGlitch
org $01C592 : JSL FixJingleGlitch
org $01C65F : JSL FixJingleGlitch
;================================================================================ ;================================================================================
; Terrorpin AI fix ; Terrorpin AI fix
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------

View File

@@ -323,10 +323,8 @@ CheckMusicLoadRequest:
.load .load
REP #$10 REP #$10
STZ $4200 STZ $4200
STA !REG_SPC_CONTROL - : STA !REG_SPC_CONTROL : CMP !REG_SPC_CONTROL : BNE - ; Wait until mute/unmute command is ACK'ed
- : CMP !REG_SPC_CONTROL : BNE - ; Wait until mute/unmute command is ACK'ed - : STZ !REG_SPC_CONTROL : LDA !REG_SPC_CONTROL : BNE - ; Wait until mute/unmute command is completed
STZ !REG_SPC_CONTROL
- : LDA !REG_SPC_CONTROL : BNE - ; Wait until mute/unmute command is completed
LDA.b #$81 : STA $4200 LDA.b #$81 : STA $4200
LDA !REG_MUSIC_CONTROL_REQUEST : CMP.b #08 : BEQ .done+3 ; No SFX during warp track LDA !REG_MUSIC_CONTROL_REQUEST : CMP.b #08 : BEQ .done+3 ; No SFX during warp track

View File

@@ -4,8 +4,7 @@
RigDigRNG: RigDigRNG:
LDA $7FFE01 : CMP.l DiggingGameRNG : !BGE .forceHeart LDA $7FFE01 : CMP.l DiggingGameRNG : !BGE .forceHeart
.normalItem .normalItem
JSL $0DBA71 ; GetRandomInt JML GetRandomInt
RTL
.forceHeart .forceHeart
LDA $7FFE00 : BNE .normalItem LDA $7FFE00 : BNE .normalItem
LDA #$04 LDA #$04
@@ -15,7 +14,7 @@ RigChestRNG:
JSL.l DecrementChestCounter JSL.l DecrementChestCounter
LDA $04C4 : CMP.l ChestGameRNG : BEQ .forceHeart LDA $04C4 : CMP.l ChestGameRNG : BEQ .forceHeart
.normalItem .normalItem
JSL $0DBA71 ; GetRandomInt JSL GetRandomInt
AND.b #$07 ; restrict values to 0-7 AND.b #$07 ; restrict values to 0-7
CMP #$07 : BEQ .notHeart CMP #$07 : BEQ .notHeart
JSL.l DecrementItemCounter JSL.l DecrementItemCounter
@@ -30,7 +29,7 @@ RTL
JSL.l DecrementItemCounter JSL.l DecrementItemCounter
;LDA #$00 ; bullshit rupee farming in chest game ;LDA #$00 ; bullshit rupee farming in chest game
JSL $0DBA71 ; GetRandomInt ; spam RNG until we stop getting the prize item JSL GetRandomInt ; spam RNG until we stop getting the prize item
AND.b #$07 ; restrict values to 0-7 AND.b #$07 ; restrict values to 0-7
CMP #$07 : BNE + ; player got prize item AGAIN CMP #$07 : BNE + ; player got prize item AGAIN
LDA.b #$00 ; give them money instead LDA.b #$00 ; give them money instead
@@ -98,6 +97,11 @@ RNG_Ganon_Extra_Warp:
+ +
PLA PLA
RTL RTL
RNG_Enemy_Drops:
LDA.l $7EF3C5 : CMP #$01 : BEQ + ; drops are static after uncle pickup & before rescuing zelda
JML GetRandomInt
+
LDA.b #$0F
_rng_done: _rng_done:
JSL.l GetStaticRNG JSL.l GetStaticRNG
RTL RTL
@@ -143,5 +147,5 @@ dw #$02C0 ; 11 = Agahnim 2
dw #$0300 ; 12 = Agahnim 2 Phantoms dw #$0300 ; 12 = Agahnim 2 Phantoms
dw #$0340 ; 13 = Ganon dw #$0340 ; 13 = Ganon
dw #$0380 ; 14 = Ganon Extra Warp dw #$0380 ; 14 = Ganon Extra Warp
dw #$03C0 ; 15 = Unused dw #$03C0 ; 15 = Standard Escape Enemy Drops
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------

View File

@@ -447,6 +447,7 @@ JMP StatTransitionCounter
!UW_MIRROR_COUNTER = "$7EF43B" !UW_MIRROR_COUNTER = "$7EF43B"
IncrementUWMirror: IncrementUWMirror:
PHA PHA
LDA.b #$00 : STA $7F5035 ; bandaid patch bug with mirroring away from text
LDA !LOCK_STATS : BNE + LDA !LOCK_STATS : BNE +
LDA $040C : CMP #$FF : BEQ + ; skip if we're in a cave or house LDA $040C : CMP #$FF : BEQ + ; skip if we're in a cave or house
LDA !UW_MIRROR_COUNTER : INC : STA !UW_MIRROR_COUNTER LDA !UW_MIRROR_COUNTER : INC : STA !UW_MIRROR_COUNTER

View File

@@ -1,11 +1,13 @@
;=================================================================================================== ;===================================================================================================
; LEAVE THIS HERE FOR PHP WRITES ; LEAVE THIS HERE FOR PHP WRITES
;=================================================================================================== ;===================================================================================================
table "creditscharmapbighi.txt"
YourSpriteCreditsHi: YourSpriteCreditsHi:
db 2 db 2
db 55 db 55
db " " ; $238002 db " " ; $238002
table "creditscharmapbiglo.txt"
YourSpriteCreditsLo: YourSpriteCreditsLo:
db 2 db 2
db 55 db 55
@@ -501,6 +503,15 @@ CreditsLineBlank:
%blankline() %blankline()
%blankline() %blankline()
%smallcredits("WEBSITE LOGO", "green")
%blankline()
%bigcredits("PLEASURE")
%blankline()
%blankline()
%smallcredits("SPECIAL THANKS", "red") %smallcredits("SPECIAL THANKS", "red")
%blankline() %blankline()
@@ -568,12 +579,6 @@ CreditsLineBlank:
%emptyline() %emptyline()
%emptyline() %emptyline()
%emptyline() %emptyline()
%emptyline()
%emptyline()
%emptyline()
%emptyline()
%emptyline()
%emptyline()
;=================================================================================================== ;===================================================================================================

View File

@@ -218,7 +218,7 @@ endmacro
!ColonOffset = $83 !ColonOffset = $83
!PeriodOffset = $80 !PeriodOffset = $80
!BlankTile = $883D !BlankTile = #$883D
RenderCreditsStatCounter: RenderCreditsStatCounter:
PHB PHB

View File

@@ -1082,8 +1082,15 @@ db $00, $00, $00, $00, $00, $00, $00, $00
org $308350 ; PC 0x180350 org $308350 ; PC 0x180350
ShouldStartatExit: ShouldStartatExit:
db $00, $00, $00 db $00, $00, $00
;--------------------------------------------------------------------------------
; $308358 (0x180358) fixes major glitches
; 0x00 - fix
; otherwise dont fix various major glitches
org $308358
AllowAccidentalMajorGlitch:
db $00
;================================================================================ ;================================================================================
; 0x180350 - 0x1814FF (unused) ; 0x180359 - 0x1814FF (unused)
;================================================================================ ;================================================================================
; $309500 (0x181500) - $309FFF (0x181FFF) original 0x39C bytes ; $309500 (0x181500) - $309FFF (0x181FFF) original 0x39C bytes
; Replacement Ending Sequence Text Data ; Replacement Ending Sequence Text Data

View File

@@ -24,8 +24,7 @@ GetSpriteID:
PHA : JSR.w CountBottles : CMP.l BottleLimit : !BLT + PHA : JSR.w CountBottles : CMP.l BottleLimit : !BLT +
LDA !MULTIWORLD_SPRITEITEM_PLAYER_ID : BNE + LDA !MULTIWORLD_SPRITEITEM_PLAYER_ID : BNE +
PLA : LDA.l BottleLimitReplacement PLA : LDA.l BottleLimitReplacement
JSL.l GetSpriteID JMP GetSpriteID
RTL
+ +
PLA : BRA .normal PLA : BRA .normal
.server_F0 .server_F0
@@ -59,8 +58,7 @@ RTL
LDA !MULTIWORLD_SPRITEITEM_PLAYER_ID : BNE + LDA !MULTIWORLD_SPRITEITEM_PLAYER_ID : BNE +
LDA $7EF35B : CMP.l ProgressiveArmorLimit : !BLT + ; Progressive Armor Limit LDA $7EF35B : CMP.l ProgressiveArmorLimit : !BLT + ; Progressive Armor Limit
LDA.l ProgressiveArmorReplacement LDA.l ProgressiveArmorReplacement
JSL.l GetSpriteID JMP GetSpriteID
RTL
+ +
LDA.b #$04 : RTL LDA.b #$04 : RTL
++ CMP.b #$FE : BNE ++ ; Progressive Sword ++ CMP.b #$FE : BNE ++ ; Progressive Sword
@@ -68,8 +66,7 @@ RTL
LDA $7EF359 LDA $7EF359
CMP.l ProgressiveSwordLimit : !BLT + ; Progressive Sword Limit CMP.l ProgressiveSwordLimit : !BLT + ; Progressive Sword Limit
LDA.l ProgressiveSwordReplacement LDA.l ProgressiveSwordReplacement
JSL.l GetSpriteID JMP GetSpriteID
RTL
.skipswordlimit : LDA $7EF359 .skipswordlimit : LDA $7EF359
+ : CMP.b #$FF : BNE + ; Swordless + : CMP.b #$FF : BNE + ; Swordless
LDA.b #$43 : RTL LDA.b #$43 : RTL
@@ -87,8 +84,7 @@ RTL
LDA !PROGRESSIVE_SHIELD : AND #$C0 : LSR #6 LDA !PROGRESSIVE_SHIELD : AND #$C0 : LSR #6
CMP.l ProgressiveShieldLimit : !BLT + ; Progressive Shield Limit CMP.l ProgressiveShieldLimit : !BLT + ; Progressive Shield Limit
LDA.l ProgressiveShieldReplacement LDA.l ProgressiveShieldReplacement
JSL.l GetSpriteID JMP GetSpriteID
RTL
.skipshieldlimit : LDA !PROGRESSIVE_SHIELD : AND #$C0 : LSR #6 .skipshieldlimit : LDA !PROGRESSIVE_SHIELD : AND #$C0 : LSR #6
+ : CMP.b #$00 : BNE + ; No Shield + : CMP.b #$00 : BNE + ; No Shield
LDA.b #$2D : RTL LDA.b #$2D : RTL
@@ -101,8 +97,7 @@ RTL
LDA $7EF340 : INC : LSR LDA $7EF340 : INC : LSR
CMP.l ProgressiveBowLimit : !BLT + CMP.l ProgressiveBowLimit : !BLT +
LDA.l ProgressiveBowReplacement LDA.l ProgressiveBowReplacement
JSL.l GetSpriteID JMP GetSpriteID
RTL
.skipbowlimit : LDA $7EF340 : INC : LSR .skipbowlimit : LDA $7EF340 : INC : LSR
+ : CMP.b #$00 : BNE + ; No Bow + : CMP.b #$00 : BNE + ; No Bow
LDA.b #$29 : RTL LDA.b #$29 : RTL
@@ -187,8 +182,7 @@ GetSpritePalette:
.bottle .bottle
PHA : JSR.w CountBottles : CMP.l BottleLimit : !BLT + PHA : JSR.w CountBottles : CMP.l BottleLimit : !BLT +
PLA : LDA.l BottleLimitReplacement PLA : LDA.l BottleLimitReplacement
JSL.l GetSpritePalette JMP GetSpritePalette
RTL
+ +
PLA : .notBottle PLA : .notBottle
PHX PHX
@@ -203,8 +197,7 @@ RTL
LDA $7EF359 LDA $7EF359
CMP.l ProgressiveSwordLimit : !BLT + ; Progressive Sword Limit CMP.l ProgressiveSwordLimit : !BLT + ; Progressive Sword Limit
LDA.l ProgressiveSwordReplacement LDA.l ProgressiveSwordReplacement
JSL.l GetSpritePalette JMP GetSpritePalette
RTL
+ : CMP.b #$00 : BNE + ; No Sword + : 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
@@ -217,8 +210,7 @@ RTL
LDA !PROGRESSIVE_SHIELD : AND #$C0 : LSR #6 LDA !PROGRESSIVE_SHIELD : AND #$C0 : LSR #6
CMP.l ProgressiveShieldLimit : !BLT + ; Progressive Shield Limit CMP.l ProgressiveShieldLimit : !BLT + ; Progressive Shield Limit
LDA.l ProgressiveShieldReplacement LDA.l ProgressiveShieldReplacement
JSL.l GetSpritePalette JMP GetSpritePalette
RTL
+ : CMP.b #$00 : BNE + ; No Shield + : 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
@@ -228,8 +220,7 @@ RTL
++ : CMP.b #$FF : BNE ++ ; Progressive Armor ++ : CMP.b #$FF : BNE ++ ; Progressive Armor
LDA $7EF35B : CMP.l ProgressiveArmorLimit : !BLT + ; Progressive Armor Limit LDA $7EF35B : CMP.l ProgressiveArmorLimit : !BLT + ; Progressive Armor Limit
LDA.l ProgressiveArmorReplacement LDA.l ProgressiveArmorReplacement
JSL.l GetSpritePalette JMP GetSpritePalette
RTL
+ : CMP.b #$00 : BNE + ; Green Tunic + : CMP.b #$00 : BNE + ; Green Tunic
LDA.b #$04 : RTL LDA.b #$04 : RTL
+ ; Everything Else + ; Everything Else
@@ -243,8 +234,7 @@ RTL
LDA $7EF340 : INC : LSR LDA $7EF340 : INC : LSR
CMP.l ProgressiveBowLimit : !BLT + CMP.l ProgressiveBowLimit : !BLT +
LDA.l ProgressiveBowReplacement LDA.l ProgressiveBowReplacement
JSL.l GetSpritePalette JMP GetSpritePalette
RTL
+ : CMP.b #$00 : BNE + ; No Bow + : CMP.b #$00 : BNE + ; No Bow
LDA.b #$08 : RTL LDA.b #$08 : RTL
+ ; Any Bow + ; Any Bow
@@ -326,35 +316,37 @@ IsNarrowSprite:
LDA.l BottleLimitReplacement LDA.l BottleLimitReplacement
JSL.l IsNarrowSprite JSL.l IsNarrowSprite
JMP .done JMP .done
+ : BRA .continue + : JMP .continue
.notBottle .notBottle
CMP.b #$5E : BNE ++ ; Progressive Sword 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 JMP .done
+ : BRA .continue + : JMP .continue
++ : CMP.b #$5F : BNE ++ ; 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 : JMP .done ; No Shield
LSR #6 : CMP.l ProgressiveShieldLimit : !BLT + ; Progressive Shield Limit + : LSR #6 : CMP.l ProgressiveShieldLimit : !BLT .continue
LDA.l ProgressiveShieldReplacement LDA.l ProgressiveShieldReplacement
JSL.l IsNarrowSprite JSL.l IsNarrowSprite
BRA .done JMP .done
+
;LDA $7EF35A : BNE + : SEC : BRA .done : +; No Shield
BRA .false ; Everything Else
++ CMP.b #$60 : BNE ++ ; Progressive Armor ++ CMP.b #$60 : BNE ++ ; Progressive Armor
LDA $7EF35B : CMP.l ProgressiveArmorLimit : !BLT + ; Progressive Armor Limit LDA $7EF35B : CMP.l ProgressiveArmorLimit : !BLT .continue
LDA.l ProgressiveArmorReplacement LDA.l ProgressiveArmorReplacement
JSL.l IsNarrowSprite JSL.l IsNarrowSprite
BRA .done JMP .done
+ +
++ CMP.b #$62 : BNE ++ ; RNG Item (Single) ++ CMP.b #$62 : BNE ++ ; RNG Item (Single)
JSL.l GetRNGItemSingle : BRA .continue JSL.l GetRNGItemSingle : JMP .continue
++ CMP.b #$63 : BNE ++ ; RNG Item (Multi) ++ CMP.b #$63 : BNE ++ ; RNG Item (Multi)
JSL.l GetRNGItemMulti JSL.l GetRNGItemMulti
++ ++ CMP.b #$64 : BEQ + ; Progressive Bow
CMP.b #$65 : BNE .continue ; Progressive Bow (alt)
+ : LDA $7EF340 : INC : LSR
CMP.l ProgressiveBowLimit : !BLT +
LDA.l ProgressiveBowReplacement
JSL.l IsNarrowSprite
JMP .done
.continue .continue
;-------- ;--------