Remove non-progressive bomb/cane upgrades

This commit is contained in:
2022-09-18 15:02:37 -07:00
parent f7070dd30f
commit bfc361ad3e
6 changed files with 140 additions and 180 deletions

View File

@@ -1,13 +1,13 @@
CheckReceivedItemPropertiesBeforeLoad: CheckReceivedItemPropertiesBeforeLoad:
LDA $A0 : BEQ .normalCode LDA $A0 : BEQ .normalCode
LDA $7EC005 : BNE .lightOff LDA $7EC005 : BNE .lightOff
.normalCode .normalCode
LDA.l AddReceivedItemExpanded_properties, X ;Restore Rando Code JSL LoadReceivedItemExpandedProperties ; get palette
RTL RTL
.lightOff .lightOff
PHX : PHY : PHB PHX : PHY : PHB
LDA.l AddReceivedItemExpanded_properties, X ; get palette JSL LoadReceivedItemExpandedProperties ; get palette
REP #$30 REP #$30
AND #$0007 ; mask out palette AND #$0007 ; mask out palette

View File

@@ -288,17 +288,17 @@ AddInventory:
SEP #$20 ; Set 8-bit Accumulator SEP #$20 ; Set 8-bit Accumulator
LDA $040C ; get dungeon id LDA $040C ; get dungeon id
CMP.b #$FF : BEQ .fullItemCounts CMP.b #$FF : BEQ .fullItemCounts
CMP.l BallNChainDungeon : BNE + CMP.l BallNChainDungeon : BNE +
CPY.b #$32 : BNE + CPY.b #$32 : BNE +
JMP .done JMP .done
+ +
CMP.b #$04 : BCS + CMP.b #$04 : BCS +
LDA SewersLocations : INC : STA SewersLocations LDA SewersLocations : INC : STA SewersLocations
LDA HCLocations : INC : STA HCLocations LDA HCLocations : INC : STA HCLocations
BRA .fullItemCounts BRA .fullItemCounts
+ LSR : TAX : LDA DungeonLocationsChecked, X : INC : STA DungeonLocationsChecked, X + LSR : TAX : LDA DungeonLocationsChecked, X : INC : STA DungeonLocationsChecked, X
++ CPX.b #$0D : BNE + ++ CPX.b #$0D : BNE +
LDA BigKeyField : AND #$04 : BNE ++ LDA BigKeyField : AND #$04 : BNE ++
JSR .incrementGTowerPreBigKey JSR .incrementGTowerPreBigKey
@@ -319,39 +319,39 @@ AddInventory:
LDA PreFluteLocations : INC : STA PreFluteLocations ; Increment Pre Mirror Counter LDA PreFluteLocations : INC : STA PreFluteLocations ; Increment Pre Mirror Counter
+ +
REP #$20 REP #$20
LDA TotalItemCounter : INC : STA TotalItemCounter ; Increment Item Total LDA TotalItemCounter : INC : STA TotalItemCounter ; Increment Item Total
SEP #$20 SEP #$20
.itemCounts .itemCounts
CPY.b #$00 : BNE + ; Fighter's Sword & Fighter's Shield CPY.b #$00 : BNE + ; Fighter's Sword & Fighter's Shield
LDX #$01 LDX #$01
JSR .incrementSword JSR .incrementSword
JSR .incrementShield JSR .incrementShield
JMP .done JMP .done
+ CPY.b #$01 : BNE + ; Master Sword + CPY.b #$01 : BNE + ; Master Sword
LDX #$02 LDX #$02
JSR .incrementSword JSR .incrementSword
JMP .done JMP .done
+ CPY.b #$02 : BNE + ; Tempered Sword + CPY.b #$02 : BNE + ; Tempered Sword
LDX #$03 LDX #$03
JSR .incrementSword JSR .incrementSword
JMP .done JMP .done
+ CPY.b #$03 : BNE + ; Golden Sword + CPY.b #$03 : BNE + ; Golden Sword
LDX #$04 LDX #$04
JSR .incrementSword JSR .incrementSword
JMP .done JMP .done
+ CPY.b #$04 : BNE + ; Fighter's Shield + CPY.b #$04 : BNE + ; Fighter's Shield
LDX #$01 LDX #$01
JSR .incrementShield JSR .incrementShield
JMP .done JMP .done
+ CPY.b #$05 : BNE + ; Red Shield + CPY.b #$05 : BNE + ; Red Shield
LDX #$02 LDX #$02
JSR .incrementShield JSR .incrementShield
JMP .done JMP .done
+ CPY.b #$06 : BNE + ; Mirror Shield + CPY.b #$06 : BNE + ; Mirror Shield
LDX #$03 LDX #$03
JSR .incrementShield JSR .incrementShield
JMP .done JMP .done
+ CPY.b #$07 : !BLT + ; Items $07 - $0D + CPY.b #$07 : !BLT + ; Items $07 - $0D
@@ -386,22 +386,22 @@ AddInventory:
JMP .done JMP .done
+ CPY.b #$20 : BNE + ; Crystal + CPY.b #$20 : BNE + ; Crystal
JSR .incrementCrystal JSR .incrementCrystal
JSR .setDungeonCompletion JSR .setDungeonCompletion
JMP .done JMP .done
+ CPY.b #$21 : BNE + ; Bug Net + CPY.b #$21 : BNE + ; Bug Net
JSR .incrementY JSR .incrementY
JMP .done JMP .done
+ CPY.b #$22 : BNE + ; Blue Mail + CPY.b #$22 : BNE + ; Blue Mail
LDX #$01 LDX #$01
JSR .incrementMail JSR .incrementMail
+ CPY.b #$23 : BNE + ; Red Mail + CPY.b #$23 : BNE + ; Red Mail
LDX #$02 LDX #$02
JSR .incrementMail JSR .incrementMail
+ CPY.b #$24 : BNE + ; Small Key + CPY.b #$24 : BNE + ; Small Key
JSR .incrementKey JSR .incrementKey
JMP .done JMP .done
+ CPY.b #$25 : BNE + ; Compass + CPY.b #$25 : BNE + ; Compass
JSL MaybeFlagCompassTotalPickup JSL MaybeFlagCompassTotalPickup
JSR .incrementCompass JSR .incrementCompass
JMP .done JMP .done
+ CPY.b #$26 : BNE + ; Liar Heart (Container) + CPY.b #$26 : BNE + ; Liar Heart (Container)
@@ -432,7 +432,7 @@ AddInventory:
+ CPY.b #$37 : !BLT + ; Items $37 - $39 - Pendants + CPY.b #$37 : !BLT + ; Items $37 - $39 - Pendants
CPY.b #$3A : !BGE + CPY.b #$3A : !BGE +
JSR .incrementPendant JSR .incrementPendant
JSR .setDungeonCompletion JSR .setDungeonCompletion
JMP .done JMP .done
+ CPY.b #$3A : !BLT + ; Items $3A - $3B - Bow & Silver Arrows + CPY.b #$3A : !BLT + ; Items $3A - $3B - Bow & Silver Arrows
CPY.b #$3C : !BGE + CPY.b #$3C : !BGE +
@@ -452,7 +452,7 @@ AddInventory:
JSR .incrementY JSR .incrementY
JMP .done JMP .done
+ CPY.b #$49 : BNE + ; Fighter's Sword + CPY.b #$49 : BNE + ; Fighter's Sword
LDX #$01 LDX #$01
JSR .incrementSword JSR .incrementSword
JMP .done JMP .done
+ CPY.b #$4A : BNE + ; Flute (Active) + CPY.b #$4A : BNE + ; Flute (Active)
@@ -472,15 +472,15 @@ AddInventory:
JSR .incrementCapacity JSR .incrementCapacity
JMP .done JMP .done
+ CPY.b #$50 : BNE + ; Master Sword (Safe) + CPY.b #$50 : BNE + ; Master Sword (Safe)
LDX #$02 LDX #$02
JSR .incrementSword JSR .incrementSword
JMP .done JMP .done
+ CPY.b #$51 : BNE + ; 5 Bomb Capacity Upgrade + CPY.b #$51 : BNE + ; 5 Bomb Capacity Upgrade
LDX #$02 LDX #$02
JSR .maybeIncrementBombs JSR .maybeIncrementBombs
JMP .done JMP .done
+ CPY.b #$52 : BNE + ; 10 Bomb Capacity Upgrade + CPY.b #$52 : BNE + ; 10 Bomb Capacity Upgrade
LDX #$02 LDX #$02
JSR .maybeIncrementBombs JSR .maybeIncrementBombs
JMP .done JMP .done
+ CPY.b #$51 : !BLT + ; Items $51 - $54 - Capacity Upgrades + CPY.b #$51 : !BLT + ; Items $51 - $54 - Capacity Upgrades
@@ -491,15 +491,15 @@ AddInventory:
JSR .incrementBow JSR .incrementBow
JMP .done JMP .done
+ CPY.b #$5E : BNE + ; Progressive Sword + CPY.b #$5E : BNE + ; Progressive Sword
LDA SwordEquipment : INC : TAX LDA SwordEquipment : INC : TAX
JSR .incrementSword JSR .incrementSword
JMP .done JMP .done
+ CPY.b #$5F : BNE + ; Progressive Shield + CPY.b #$5F : BNE + ; Progressive Shield
LDA ShieldEquipment : INC : TAX LDA ShieldEquipment : INC : TAX
JSR .incrementShield JSR .incrementShield
JMP .done JMP .done
+ CPY.b #$60 : BNE + ; Progressive Armor + CPY.b #$60 : BNE + ; Progressive Armor
LDA ArmorEquipment : INC : TAX LDA ArmorEquipment : INC : TAX
JSR .incrementMail JSR .incrementMail
JMP .done JMP .done
+ CPY.b #$61 : BNE + ; Progressive Lifting Glove + CPY.b #$61 : BNE + ; Progressive Lifting Glove
@@ -515,7 +515,7 @@ AddInventory:
JMP .done JMP .done
+ CPY.b #$80 : !BLT + ; Items $80 - $8F - Free Compasses + CPY.b #$80 : !BLT + ; Items $80 - $8F - Free Compasses
CPY.b #$90 : !BGE + CPY.b #$90 : !BGE +
JSL MaybeFlagCompassTotalPickup JSL MaybeFlagCompassTotalPickup
JSR .incrementCompass JSR .incrementCompass
JMP .done JMP .done
+ CPY.b #$90 : !BLT + ; Items $90 - $9F - Free Big Keys + CPY.b #$90 : !BLT + ; Items $90 - $9F - Free Big Keys
@@ -526,14 +526,18 @@ AddInventory:
CPY.b #$B0 : !BGE + CPY.b #$B0 : !BGE +
JSR .incrementKey JSR .incrementKey
JMP .done JMP .done
+ CPY.b #$B1 : !BLT + ; Items $B1 - $B6 - Bomb Upgrades + CPY.b #$B6 : BNE + ; Item $B6 - Bomb Upgrade
CPY.b #$B7 : !BGE + JSR .stampSword ; update "first bomb" timestamp
JSR .incrementBombLevel LDA.l SpecialWeaponLevel ; get current bomb level
JMP .done CMP #$05 : !BGE ++ ; check if already maxed
+ CPY.b #$B7 : !BLT + ; Items $B7 - $BC - Cane Upgrades INC : STA.l SpecialWeaponLevel
CPY.b #$BD : !BGE + ++ JMP .done
JSR .incrementCaneLevel + CPY.b #$B7 : BNE + ; Item $B7 - Cane Upgrade
JMP .done JSR .stampSword ; update "first cane" timestamp
LDA.l SpecialWeaponLevel ; get current cane level
CMP #$05 : !BGE ++ ; check if already maxed
INC : STA.l SpecialWeaponLevel
++ JMP .done
+ +
.done .done
PLP : PLX : PLA PLP : PLX : PLA
@@ -583,29 +587,21 @@ RTS
.incrementSword .incrementSword
JSR .stampSword JSR .stampSword
LDA HighestSword LDA HighestSword
INC : STA $04 : CPX $04 : !BLT + ; don't increment unless we're getting a better sword INC : STA $04 : CPX $04 : !BLT + ; don't increment unless we're getting a better sword
TXA : STA HighestSword TXA : STA HighestSword
+ +
RTS
.incrementBombLevel
JSR .stampSword ; update "first bomb" timestamp
RTS
.incrementCaneLevel
JSR .stampSword ; update "first cane" timestamp
RTS RTS
.incrementShield .incrementShield
LDA HighestShield LDA HighestShield
INC : STA $04 : CPX $04 : !BLT + ; don't increment unless we're getting a better shield INC : STA $04 : CPX $04 : !BLT + ; don't increment unless we're getting a better shield
TXA : STA HighestShield TXA : STA HighestShield
+ +
RTS RTS
.incrementBow .incrementBow
LDA BowEquipment : BNE .dontCount ; Don't increment Y item count for extra bows LDA BowEquipment : BNE .dontCount ; Don't increment Y item count for extra bows
.incrementY .incrementY
LDA YAItemCounter : !ADD #$08 : STA YAItemCounter LDA YAItemCounter : !ADD #$08 : STA YAItemCounter
.dontCount .dontCount
@@ -638,10 +634,10 @@ RTS
RTS RTS
.incrementMail .incrementMail
LDA HighestMail LDA HighestMail
INC : STA $04 : CPX $04 : !BLT + ; don't increment unless we're getting a better mail INC : STA $04 : CPX $04 : !BLT + ; don't increment unless we're getting a better mail
TXA : STA HighestMail TXA : STA HighestMail
+ +
RTS RTS
.incrementKeyLong .incrementKeyLong
@@ -649,7 +645,7 @@ RTS
RTL RTL
.incrementKey .incrementKey
LDA SmallKeyCounter : INC : STA SmallKeyCounter LDA SmallKeyCounter : INC : STA SmallKeyCounter
RTS RTS
.incrementCompass .incrementCompass
@@ -661,7 +657,7 @@ RTS
RTS RTS
.incrementGTowerPreBigKey .incrementGTowerPreBigKey
LDA PreGTBKLocations : INC : STA PreGTBKLocations LDA PreGTBKLocations : INC : STA PreGTBKLocations
RTS RTS
.maybeIncrementBombs .maybeIncrementBombs
@@ -688,8 +684,8 @@ RTL
+ : LDA SpecialWeaponLevel + : LDA SpecialWeaponLevel
++ ++
BNE + : - BNE + : -
LDA SwordlessBossKills : INC : STA SwordlessBossKills LDA SwordlessBossKills : INC : STA SwordlessBossKills
RTS RTS
+ CMP #$FF : BEQ - + CMP #$FF : BEQ -
+ CMP #$01 : BNE + + CMP #$01 : BNE +
%TopHalf(SwordBossKills) : RTS %TopHalf(SwordBossKills) : RTS
@@ -1093,8 +1089,8 @@ RTL
SpawnShovelItem: SpawnShovelItem:
LDA.b #$01 : STA !REDRAW LDA.b #$01 : STA !REDRAW
LDA $03FC : BEQ + LDA $03FC : BEQ +
JSL DiggingGameGuy_AttemptPrizeSpawn JSL DiggingGameGuy_AttemptPrizeSpawn
JMP .skip JMP .skip
+ +

View File

@@ -29,9 +29,6 @@ ItemDowngradeFixMain:
CPY.b #$13 : BEQ .isShovel ; Shovel CPY.b #$13 : BEQ .isShovel ; Shovel
CPY.b #$29 : BEQ .isMushroom ; Mushroom CPY.b #$29 : BEQ .isMushroom ; Mushroom
CPY.b #$B1 : !BLT + : CPY.b #$B6 : !BLT .isBombUpgrade : +
CPY.b #$B7 : !BLT + : CPY.b #$BC : !BLT .isCaneUpgrade : +
CPY.b #$00 : BEQ .isUncleSwordShield ; Fighter's Sword & Shield CPY.b #$00 : BEQ .isUncleSwordShield ; Fighter's Sword & Shield
.done .done
@@ -63,7 +60,7 @@ RTS
RTS RTS
.isSword .isSword
PHA PHA
LDA HighestSword : STA $04 LDA HighestSword : STA $04
TYA ; load sword item TYA ; load sword item
CMP.b #$49 : BNE + : LDA.b #$00 : + ; convert extra fighter's sword to normal one CMP.b #$49 : BNE + : LDA.b #$00 : + ; convert extra fighter's sword to normal one
CMP.b #$50 : BNE + : LDA.b #$01 : + ; convert extra master sword to normal one CMP.b #$50 : BNE + : LDA.b #$01 : + ; convert extra master sword to normal one
@@ -73,28 +70,6 @@ RTS
JMP .done JMP .done
+ +
PLA PLA
JMP .done
.isBombUpgrade
PHA
TYA ; load bomb upgrade item
!SUB #$B0 ; convert to bomb level
CMP.l SpecialWeaponLevel : !BGE + ; skip if highest is lower (this is an upgrade)
LDA.l SpecialWeaponLevel : !ADD #$B0 ; convert to item id
TAY : PLA : LDA.l SpecialWeaponLevel ; put bomb level into the thing to write
JMP .done
+
PLA
JMP .done
.isCaneUpgrade
PHA
TYA ; load cane upgrade item
!SUB #$B6 ; convert to cane level
CMP.l SpecialWeaponLevel : !BGE + ; skip if highest is lower (this is an upgrade)
LDA.l SpecialWeaponLevel : !ADD #$B6 ; convert to item id
TAY : PLA : LDA.l SpecialWeaponLevel ; put cane level into the thing to write
JMP .done
+
PLA
JMP .done JMP .done
.isUncleSwordShield .isUncleSwordShield
PHA PHA

View File

@@ -40,18 +40,13 @@
; #$90 - Big Keys ; #$90 - Big Keys
; #$A0 - Small Keys ; #$A0 - Small Keys
; #$B0 - reserved for bee traps ; #$B0 - reserved for bee traps
; #$B1 - L-1 Bombs ; #$B1 - reserved for bonk shuffle
; #$B2 - L-2 Bombs ; #$B2 - reserved for bonk shuffle
; #$B3 - L-3 Bombs ; #$B3 - reserved for bonk shuffle
; #$B4 - L-4 Bombs ; #$B4 - reserved for bonk shuffle
; #$B5 - L-5 Bombs ; #$B5 - reserved for bonk shuffle
; #$B6 - Progressive Bombs ; #$B6 - Progressive Bomb
; #$B7 - L-1 Cane ; #$B7 - Progressive Cane
; #$B8 - L-2 Cane
; #$B9 - L-3 Cane
; #$BA - L-4 Cane
; #$BB - L-5 Cane
; #$BC - Progressive Cane
; #$FE - Server Request (Asychronous Chest) ; #$FE - Server Request (Asychronous Chest)
; #$FF - Null Chest ; #$FF - Null Chest
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
@@ -398,11 +393,10 @@ AddReceivedItemExpandedGetItem:
LDA CurrentSmallKeys : INC : STA CurrentSmallKeys LDA CurrentSmallKeys : INC : STA CurrentSmallKeys
++ ++
JMP .done JMP .done
+ CMP.b #$B1 : !BLT + : CMP.b #$B7 : !BGE + ; Bomb Upgrades + CMP.b #$B6 : BNE + ; Bomb Upgrade
LDA.l SpecialWeapons : CMP #$01 : BNE .done LDA #$01 : STA InfiniteBombsModifier
LDA #$01 : STA InfiniteBombsModifier JMP .done
JMP .done + : CMP.b #$B7 : BNE + ; Cane Upgrade
+ : CMP.b #$B7 : !BLT + : CMP.b #$BD : !BGE + ; Cane Upgrades
LDA.l SpecialWeapons : CMP #$03 : BEQ .blue_cane LDA.l SpecialWeapons : CMP #$03 : BEQ .blue_cane
CMP #$04 : BEQ .red_cane CMP #$04 : BEQ .red_cane
BRA .done BRA .done
@@ -533,30 +527,6 @@ AddReceivedItemExpanded:
JSL.l GetRNGItemMulti : STA $02D8 JSL.l GetRNGItemMulti : STA $02D8
LDA #$FF : STA !LOCK_IN ; clear lock-in LDA #$FF : STA !LOCK_IN ; clear lock-in
JMP .done JMP .done
++ : CMP.b #$B6 : BNE ++ ; Progressive Bombs
LDA SpecialWeaponLevel
CMP.b #$00 : BNE + ; have no Bombs
LDA.b #$B1 : STA $02D8 : JMP .done
+ : CMP.b #$01 : BNE + ; have L-1 Bombs
LDA.b #$B2 : STA $02D8 : JMP .done
+ : CMP.b #$02 : BNE + ; have L-2 Bombs
LDA.b #$B3 : STA $02D8 : JMP .done
+ : CMP.b #$03 : BNE + ; have L-3 Bombs
LDA.b #$B4 : STA $02D8 : JMP .done
+ ; Everything Else
LDA.b #$B5 : STA $02D8 : JMP .done
++ : CMP.b #$BC : BNE ++ ; Progressive Cane
LDA SpecialWeaponLevel
CMP.b #$00 : BNE + ; have no Cane
LDA.b #$B7 : STA $02D8 : JMP .done
+ : CMP.b #$01 : BNE + ; have L-1 Cane
LDA.b #$B8 : STA $02D8 : JMP .done
+ : CMP.b #$02 : BNE + ; have L-2 Cane
LDA.b #$B9 : STA $02D8 : JMP .done
+ : CMP.b #$03 : BNE + ; have L-3 Cane
LDA.b #$BA : STA $02D8 : JMP .done
+ ; Everything Else
LDA.b #$BB : STA $02D8 : JMP .done
++ ++
.done .done
PLX : PLA PLX : PLA
@@ -602,9 +572,10 @@ AddReceivedItemExpanded:
db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Free Big Key db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Free Big Key
db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Free Small Key db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Free Small Key
db -4 ; reserved for bee traps db -4 ; reserved for bee traps
db -4, -4, -4, -4, -4, -4 ; Bomb Upgrades db -4, -4, -4, -4, -4 ; reserved for bonk shuffle
db -4, -4, -4, -4, -4, -4 ; Cane Upgrades db -4 ; Bomb Upgrade
db -4, -4, -4 ; Unused db -4 ; Cane Upgrade
db -4, -4, -4, -4, -4, -4, -4, -4 ; Unused
db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused
db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused
db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused
@@ -645,9 +616,10 @@ AddReceivedItemExpanded:
;db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; *EVENT* ;db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; *EVENT*
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Free Small Key db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Free Small Key
db 0 ; reserved for bee traps db 0 ; reserved for bee traps
db 0, 0, 0, 0, 0, 0 ; Bomb Upgrades db 0, 0, 0, 0, 0 ; reserved for bonk shuffle
db 4, 4, 4, 4, 4, 4 ; Cane Upgrades db 0 ; Bomb Upgrade
db 0, 0, 0 ; Unused db 4 ; Cane Upgrade
db 0, 0, 0, 0, 0, 0, 0, 0 ; Unused
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused
@@ -692,9 +664,10 @@ AddReceivedItemExpanded:
;db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; *EVENT* ;db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; *EVENT*
;db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; *EVENT* ;db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; *EVENT*
db $49 ; reserved for bee traps db $49 ; reserved for bee traps
db $13, $13, $13, $13, $13, $13 ; Bomb Upgrades db $49, $49, $49, $49, $49 ; reserved for bonk shuffle
db $07, $07, $07, $07, $07, $07 ; Cane Upgrades db $13 ; Bomb Upgrade
db $49, $49, $49 ; Unused db $07 ; Cane Upgrade
db $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
@@ -734,9 +707,10 @@ AddReceivedItemExpanded:
db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Free Big Key db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Free Big Key
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; Free Small Key db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; Free Small Key
db $02 ; reserved for bee traps db $02 ; reserved for bee traps
db $02, $02, $02, $02, $02, $02 ; Bomb Upgrades db $02, $02, $02, $02, $02 ; reserved for bonk shuffle
db $00, $00, $00, $00, $00, $00 ; Cane Upgrades db $02 ; Bomb Upgrade
db $02, $02, $02 ; Unused db $00 ; Cane Upgrade
db $02, $02, $02, $02, $02, $02, $02, $02 ; Unused
db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused
db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused
db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused
@@ -777,9 +751,10 @@ AddReceivedItemExpanded:
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Free Big Key db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Free Big Key
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Free Small Key db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Free Small Key
db 4 ; reserved for bee traps db 4 ; reserved for bee traps
db 4, 2, 1, 5, 5, 5 ; Bomb Upgrades db 4, 4, 4, 4, 4 ; reserved for bonk shuffle
db 5, 5, 5, 5, 5, 5 ; Cane Upgrades db 5 ; Bomb Upgrade
db 4, 4, 4 ; Unused db 5 ; Cane Upgrade
db 4, 4, 4, 4, 4, 4, 4, 4 ; Unused
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused
@@ -821,9 +796,10 @@ AddReceivedItemExpanded:
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Free Big Key dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Free Big Key
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Free Small Key dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Free Small Key
dw $F36A ; reserved for bee traps dw $F36A ; reserved for bee traps
dw $F38F, $F38F, $F38F, $F38F, $F38F, $F38F ; Bomb Upgrades dw $F36A, $F36A, $F36A, $F36A, $F36A ; reserved for bonk shuffle
dw $F38F, $F38F, $F38F, $F38F, $F38F, $F38F ; Cane Upgrades dw $F38F ; Bomb Upgrade
dw $F36A, $F36A, $F36A ; Unused dw $F38F ; Cane Upgrade
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused
@@ -867,9 +843,10 @@ AddReceivedItemExpanded:
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Free Big Key db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Free Big Key
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Free Small Key db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Free Small Key
db $FF ; reserved for bee traps db $FF ; reserved for bee traps
db $01, $02, $03, $04, $05, $FF ; Bomb Upgrades db $FF, $FF, $FF, $FF, $FF ; reserved for bonk shuffle
db $01, $02, $03, $04, $05, $FF ; Cane Upgrades db $FF ; Bomb Upgrade
db $FF, $FF, $FF ; Unused db $FF ; Cane Upgrade
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused
@@ -955,9 +932,10 @@ Link_ReceiveItemAlternatesExpanded:
db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Free Big Key db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Free Big Key
db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Free Small Key db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Free Small Key
db -1 ; reserved for bee traps db -1 ; reserved for bee traps
db -1, -1, -1, -1, -1, -1 ; Bomb Upgrades db -1, -1, -1, -1, -1 ; reserved for bonk shuffle
db -1, -1, -1, -1, -1, -1 ; Cane Upgrades db -1 ; Bomb Upgrade
db -1, -1, -1 ; Unused db -1 ; Cane Upgrade
db -1, -1, -1, -1, -1, -1, -1, -1 ; Unused
db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused
db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused
db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused
@@ -1249,3 +1227,17 @@ MaybeFlagCompassTotalEntrance:
.done .done
RTL RTL
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
LoadReceivedItemExpandedProperties:
CPX.b #$B6 : BEQ .bomb_upgrade
LDA.l AddReceivedItemExpanded_properties, X ; load from table
RTL
.bomb_upgrade
LDA SpecialWeaponLevel
CMP.b #$01 : BNE + ; L1 Bombs
LDA.b #4 : RTL
+ : CMP.b #$02 : BNE + ; L2 Bombs
LDA.b #2 : RTL
+ : CMP.b #$03 : BNE + ; L3 Bombs
LDA.b #1 : RTL
+ ; Everything Else
LDA.b #5 : RTL

View File

@@ -1417,17 +1417,13 @@ db $04
;AF - Generic Small Key ;AF - Generic Small Key
;B0 - reserved for bee traps ;B0 - reserved for bee traps
;B1 - L-1 Bombs ;B1 - reserved for bonk shuffle
;B2 - L-2 Bombs ;B2 - reserved for bonk shuffle
;B3 - L-3 Bombs ;B3 - reserved for bonk shuffle
;B4 - L-4 Bombs ;B4 - reserved for bonk shuffle
;B5 - L-5 Bombs ;B5 - reserved for bonk shuffle
;B6 - Progressive Bombs ;B6 - Progressive Bomb
;B7 - L-1 Cane ;B7 - Progressive Cane
;B8 - L-2 Cane
;B9 - L-3 Cane
;BA - L-4 Cane
;BB - L-5 Cane
;================================================================================ ;================================================================================
;;Residual Portal ;;Residual Portal
;org $0283E0 ; PC 0x103E0 (Bank02.asm:816) (BNE) ;org $0283E0 ; PC 0x103E0 (Bank02.asm:816) (BNE)

View File

@@ -145,10 +145,10 @@ RTL
;Bx ;Bx
db $49 ; reserved for bee traps db $49 ; reserved for bee traps
db $13, $13, $13, $13, $13, $13 ; Bomb Upgrades db $13, $13, $13, $13, $13 ; reserved for bonk shuffle
db $13 ; Bomb Upgrade
db $07, $07, $07, $07, $07, $07 ; Cane Upgrades db $07 ; Cane Upgrade
db $49, $49, $49 ; Unused db $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
@@ -288,9 +288,10 @@ RTL
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Free Big Key db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Free Big Key
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Free Small Key db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Free Small Key
db $08 ; reserved for bee traps db $08 ; reserved for bee traps
db $08, $04, $02, $0A, $0A, $F7 ; Bomb Upgrades db $08, $08, $08, $08, $08 ; reserved for bonk shuffle
db $0A, $0A, $0A, $0A, $0A, $0A ; Cane Upgrades db $F7 ; Bomb Upgrade
db $08, $08, $08 ; Unused db $0A ; Cane Upgrade
db $08, $08, $08, $08, $08, $08, $08, $08 ; Unused
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused
@@ -381,8 +382,8 @@ RTL
db $15, $18, $24, $2A, $34, $35, $36, $42 db $15, $18, $24, $2A, $34, $35, $36, $42
db $43, $45, $59, $A0, $A1, $A2, $A3, $A4 db $43, $45, $59, $A0, $A1, $A2, $A3, $A4
db $A5, $A6, $A7, $A8, $A9, $AA, $AB, $AC db $A5, $A6, $A7, $A8, $A9, $AA, $AB, $AC
db $AD, $AE, $AF, $B7, $B8, $B9, $BA, $BB db $AD, $AE, $AF, $B7, $FF, $FF, $FF, $FF
db $BC, $FF, $FF, $FF, $FF, $FF, $FF, $FF db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
} }
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------