From 4817fa201343de8ab486584bd6baf55d99749443 Mon Sep 17 00:00:00 2001 From: Kara Alexandra Date: Sun, 18 Sep 2022 18:11:21 -0700 Subject: [PATCH] Fix up labels still WIP still do not use --- darkworldspawn.asm | 19 ++++++++----------- dialog.asm | 18 +++++++++--------- events.asm | 6 +++--- itemdowngrade.asm | 12 ++++++------ newhud.asm | 15 ++++++--------- newitems.asm | 31 ++++++++++++++++++++++++------- retro.asm | 14 ++++++-------- special_weapons.asm | 20 ++++++++++---------- sram.asm | 27 +++++++++++++++++++++++++-- stats.asm | 2 +- stats/statConfig.asm | 2 +- swordswap.asm | 2 +- timer.asm | 3 +-- utilities.asm | 2 +- 14 files changed, 102 insertions(+), 71 deletions(-) diff --git a/darkworldspawn.asm b/darkworldspawn.asm index 8a10890..ba1b31a 100644 --- a/darkworldspawn.asm +++ b/darkworldspawn.asm @@ -144,27 +144,24 @@ RefreshRainAmmo: .done RTL ;-------------------------------------------------------------------------------- -!INFINITE_ARROWS = "$7F50C8" -!INFINITE_BOMBS = "$7F50C9" -!INFINITE_MAGIC = "$7F50CA" SetEscapeAssist: LDA ProgressIndicator : CMP.b #$01 : BNE .no_train ; check if we're in rain state .rain LDA.l EscapeAssist - BIT.b #$04 : BEQ + : STA !INFINITE_MAGIC : + - BIT.b #$02 : BEQ + : STA !INFINITE_BOMBS : + - BIT.b #$01 : BEQ + : STA !INFINITE_ARROWS : + + BIT.b #$04 : BEQ + : STA InfiniteMagicModifier : + + BIT.b #$02 : BEQ + : STA InfiniteBombsModifier : + + BIT.b #$01 : BEQ + : STA InfiniteArrowsModifier : + BRA ++ .no_train ; choo choo LDA.l EscapeAssist - BIT.b #$40 : BEQ + : STA !INFINITE_MAGIC : + - BIT.b #$20 : BEQ + : STA !INFINITE_BOMBS : + - BIT.b #$10 : BEQ + : STA !INFINITE_ARROWS : + + BIT.b #$40 : BEQ + : STA InfiniteMagicModifier : + + BIT.b #$20 : BEQ + : STA InfiniteBombsModifier : + + BIT.b #$10 : BEQ + : STA InfiniteArrowsModifier : + ++ LDA.l SpecialWeapons : CMP #$01 : BNE + - LDA.l !WEAPON_LEVEL : BEQ + - LDA #$01 : STA !INFINITE_BOMBS + LDA.l SpecialWeaponLevel : BEQ + + LDA #$01 : STA InfiniteBombsModifier + RTL ;-------------------------------------------------------------------------------- diff --git a/dialog.asm b/dialog.asm index ea1d3ba..73abf86 100644 --- a/dialog.asm +++ b/dialog.asm @@ -309,7 +309,7 @@ DialogGanon2: LDA.l SpecialWeapons : AND.w #$00FF CMP.w #$0001 : BEQ .bombs ; bombs if special bomb mode .silver_arrows - LDA.l $BowTracking + LDA.l BowTracking BIT.w #$0080 : BNE + ; branch if bow LDA.w #$0192 : JMP .done @@ -330,26 +330,26 @@ DialogGanon2: CMP.w #$0005 : BEQ .powder CMP.w #$0010 : BEQ .bee PHX : TAX - LDA.l $7EF33F, X : PLX : AND #$00FF : BNE + + LDA.l EquipmentWRAM-1, X : PLX : AND #$00FF : BNE + LDA.w #$0192 : JMP .done + LDA.w #$0195 : BRA .done .bombs - LDA.l $7EF343 : AND #$00FF : BNE + - LDA.l $7F50C9 : AND #$00FF : BNE + ; check for infinite bombs + LDA.l BombsEquipment : AND #$00FF : BNE + + LDA.l InfiniteBombsModifier : AND #$00FF : BNE + ; check for infinite bombs LDA.w #$0192 : BRA .done + LDA.w #$0195 : BRA .done .powder - LDA.l $7EF38C : AND #$0010 : BNE + + LDA.l InventoryTracking : AND #$0010 : BNE + ; check for powder LDA.w #$0192 : BRA .done + LDA.w #$0195 : BRA .done .bee - LDA.l $7EF35C : AND #$00FF : CMP.w #$0007 : BEQ + : CMP.w #$0008 : BEQ + - LDA.l $7EF35D : AND #$00FF : CMP.w #$0007 : BEQ + : CMP.w #$0008 : BEQ + - LDA.l $7EF35E : AND #$00FF : CMP.w #$0007 : BEQ + : CMP.w #$0008 : BEQ + - LDA.l $7EF35F : AND #$00FF : CMP.w #$0007 : BEQ + : CMP.w #$0008 : BEQ + + LDA.l BottleContentsOne : AND #$00FF : CMP.w #$0007 : BEQ + : CMP.w #$0008 : BEQ + + LDA.l BottleContentsTwo : AND #$00FF : CMP.w #$0007 : BEQ + : CMP.w #$0008 : BEQ + + LDA.l BottleContentsThree : AND #$00FF : CMP.w #$0007 : BEQ + : CMP.w #$0008 : BEQ + + LDA.l BottleContentsFour : AND #$00FF : CMP.w #$0007 : BEQ + : CMP.w #$0008 : BEQ + LDA.w #$0192 : BRA .done + LDA.w #$0195 : BRA .done diff --git a/events.asm b/events.asm index a52a8bd..765d78f 100644 --- a/events.asm +++ b/events.asm @@ -59,9 +59,9 @@ RTL OnUncleItemGet: PHA LDA.l EscapeAssist - BIT.b #$04 : BEQ + : STA !INFINITE_MAGIC : + - BIT.b #$02 : BEQ + : STA !INFINITE_BOMBS : + - BIT.b #$01 : BEQ + : STA !INFINITE_ARROWS : + + BIT.b #$04 : BEQ + : STA InfiniteMagicModifier : + + BIT.b #$02 : BEQ + : STA InfiniteBombsModifier : + + BIT.b #$01 : BEQ + : STA InfiniteArrowsModifier : + LDA UncleItem_Player : STA !MULTIWORLD_ITEM_PLAYER_ID PLA diff --git a/itemdowngrade.asm b/itemdowngrade.asm index eaebdb8..a31f7da 100644 --- a/itemdowngrade.asm +++ b/itemdowngrade.asm @@ -78,9 +78,9 @@ JMP .done PHA TYA ; load bomb upgrade item !SUB #$B0 ; convert to bomb level - CMP.l !WEAPON_LEVEL : !BGE + ; skip if highest is lower (this is an upgrade) - LDA.l !WEAPON_LEVEL : !ADD #$B0 ; convert to item id - TAY : PLA : LDA.l !WEAPON_LEVEL ; put bomb level into the thing to write + 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 @@ -89,9 +89,9 @@ JMP .done PHA TYA ; load cane upgrade item !SUB #$B6 ; convert to cane level - CMP.l !WEAPON_LEVEL : !BGE + ; skip if highest is lower (this is an upgrade) - LDA.l !WEAPON_LEVEL : !ADD #$B6 ; convert to item id - TAY : PLA : LDA.l !WEAPON_LEVEL ; put cane level into the thing to write + 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 diff --git a/newhud.asm b/newhud.asm index a053792..affb90a 100644 --- a/newhud.asm +++ b/newhud.asm @@ -3,15 +3,14 @@ NewDrawHud: ;================================================================================ ; Draw bomb count !BOMBCOUNT_DRAW_ADDRESS = "$7EC75A" -!INFINITE_BOMBS = "$7F50C9" ;================================================================================ - LDA !INFINITE_BOMBS : BNE .infinite_bombs + LDA InfiniteBombsModifier : BNE .infinite_bombs .finite_bombs LDA.l SpecialWeapons : CMP #$01 : BNE .normal - LDA.l !WEAPON_LEVEL : BEQ .no_bombs + LDA.l SpecialWeaponLevel : BEQ .no_bombs .normal - LDA.l $7EF343 ; bombs + LDA.l BombsEquipment ; bombs JSR HudHexToDec2Digit ;requires 8 bit registers! REP #$20 LDX.b $06 : TXA : ORA.w #$2400 : STA !BOMBCOUNT_DRAW_ADDRESS ; Draw bombs 10 digit @@ -43,14 +42,13 @@ NewDrawHud: ;================================================================================ ; Draw arrow count !ARROWCOUNT_DRAW_ADDRESS = "$7EC760" -!INFINITE_ARROWS = "$7F50C8" ;================================================================================ SEP #$20 LDA.l ArrowMode : BNE + - LDA !INFINITE_ARROWS : BNE .infinite_arrows + LDA InfiniteArrowsModifier : BNE .infinite_arrows .finite_arrows - LDA.l $7EF377 ; arrows + LDA.l CurrentArrows ; arrows JSR HudHexToDec2Digit REP #$20 LDX.b $06 : TXA : ORA.w #$2400 : STA !ARROWCOUNT_DRAW_ADDRESS ; Draw arrows 10 digit @@ -175,7 +173,6 @@ NewDrawHud: ;-------------------------------------------------------------------------------- ; Draw Magic Meter -!INFINITE_MAGIC = "$7F50CA" !DrawMagicMeter_mp_tilemap = "$0DFE0F" ;-------------------------------------------------------------------------------- LDA CurrentMagic : AND #$00FF ; crap we wrote over when placing the hook for OnDrawHud @@ -183,7 +180,7 @@ NewDrawHud: AND #$FFF8 TAX ; end of crap - LDA !INFINITE_MAGIC : AND.w #$00FF : BNE + : JMP .green : + + LDA InfiniteMagicModifier : AND.w #$00FF : BNE + : JMP .green : + SEP #$20 : LDA.b #$80 : STA CurrentMagic : REP #$30 ; set magic to max LDX.w #$0080 ; load full magic meter graphics LDA $1A : AND.w #$000C : LSR #2 diff --git a/newitems.asm b/newitems.asm index f9e3db1..09449b9 100755 --- a/newitems.asm +++ b/newitems.asm @@ -418,14 +418,14 @@ AddReceivedItemExpandedGetItem: LDA.b #$FF : STA.w $0B58,Y ; allows them to expire ++ JMP .done + CMP.b #$B2 : BNE + ; Fairy - LDA.b #$E3 : JSL Sprite_SpawnDynamically : BMI .done + LDA.b #$E3 : JSL Sprite_SpawnDynamically : BMI ++ LDA $22 : CLC : ADC.b #$03 : AND.b #$F8 : STA $0D10,Y LDA $23 : ADC.b #$00 : STA $0D30,Y ; round X to nearest 8 LDA.b $20 : SEC : SBC.b #$10 : STA.w $0D00,Y LDA.b $21 : SBC.b #$00 : STA.w $0D20,Y ; move up 16 pixels LDA.b $EE : STA.w $0F20,Y ; spawns on same layer as link LDA.b #$FF : STA.w $0B58,Y ; allows them to expire - BRA .done + ++ JMP .done + CMP.b #$B3 : BNE + ; Chicken LDA.b #$0B : JSL Sprite_SpawnDynamically : BMI .done LDA $22 : CLC : ADC.b #$03 : AND.b #$F8 : STA $0D10,Y @@ -442,17 +442,17 @@ AddReceivedItemExpandedGetItem: BRA .done + CMP.b #$B6 : BNE + ; Bomb Upgrade LDA.l SpecialWeapons : CMP #$01 : BNE .done - LDA #$01 : STA $7F50C9 ; infinite bombs + LDA #$01 : STA InfiniteBombsModifier ; infinite bombs JMP .done + : CMP.b #$B7 : BNE + ; Cane Upgrade LDA.l SpecialWeapons : CMP #$03 : BEQ .blue_cane CMP #$04 : BEQ .red_cane BRA .done .blue_cane - LDA #$01 : STA $7EF351 + LDA #$01 : STA ByrnaEquipment BRA .done .red_cane - LDA #$01 : STA $7EF350 + LDA #$01 : STA SomariaEquipment BRA .done + .done @@ -600,7 +600,7 @@ AddReceivedItemExpanded: LDA.b #$0E : STA $02D8 : JMP .done ; Bee in a bottle +++ ++ : CMP.b #$B6 : BNE ++ ; Progressive Bombs - LDA !WEAPON_LEVEL + LDA SpecialWeaponLevel CMP.b #$00 : BNE + ; have no Bombs LDA.b #$B1 : STA $02D8 : JMP .done + : CMP.b #$01 : BNE + ; have L-1 Bombs @@ -612,7 +612,7 @@ AddReceivedItemExpanded: + ; Everything Else LDA.b #$B5 : STA $02D8 : JMP .done ++ : CMP.b #$BC : BNE ++ ; Progressive Cane - LDA !WEAPON_LEVEL + LDA SpecialWeaponLevel CMP.b #$00 : BNE + ; have no Cane LDA.b #$B7 : STA $02D8 : JMP .done + : CMP.b #$01 : BNE + ; have L-1 Cane @@ -1300,6 +1300,23 @@ ChestPrep: SEC RTL ;-------------------------------------------------------------------------------- +UpdateInventoryLocationExpanded: +{ + REP #$30 + TYA : AND #$00FF : ASL A : TAX + + ; Tells what inventory location to write to. + LDA.w AddReceivedItemExpanded_item_target_addr, X : STA $00 + + SEP #$30 + + LDA.b #$7E : STA $02 + + LDA.w AddReceivedItemExpanded_item_values, Y + JSL ItemDowngradeFix + RTL +} +;-------------------------------------------------------------------------------- ; Set a flag in SRAM if we pick up a compass in its own dungeon with HUD compass ; counts on MaybeFlagCompassTotalPickup: diff --git a/retro.asm b/retro.asm index 4193a43..62ed683 100644 --- a/retro.asm +++ b/retro.asm @@ -1,6 +1,5 @@ -!INFINITE_BOMBS = "$7F50C9" IsItemAvailable: - LDA !INFINITE_BOMBS : BEQ .finite + LDA InfiniteBombsModifier : BEQ .finite .infinite CPX.b #$04 : BNE .finite LDA.b #$01 : RTL @@ -8,35 +7,34 @@ IsItemAvailable: LDA EquipmentWRAM-1, X RTL LoadBombCount: - LDA !INFINITE_BOMBS : BNE .infinite + LDA InfiniteBombsModifier : BNE .infinite .finite LDA BombsEquipment .infinite RTL LoadBombCount16: - LDA !INFINITE_BOMBS : AND.w #$00FF : BNE .infinite + LDA InfiniteBombsModifier : AND.w #$00FF : BNE .infinite .finite LDA BombsEquipment .infinite RTL StoreBombCount: JSL IncrementBombsPlacedCounter - PHA : LDA !INFINITE_BOMBS : BEQ .finite + PHA : LDA InfiniteBombsModifier : BEQ .finite .infinite PLA : LDA.b #$01 : RTL .finite PLA : STA BombsEquipment RTL SearchForEquippedItem: - LDA !INFINITE_BOMBS : BEQ + + LDA InfiniteBombsModifier : BEQ + LDA.b #$01 : LDX.b #$00 : RTL + LDA BowEquipment ; thing we wrote over RTL -!INFINITE_ARROWS = "$7F50C8" DecrementArrows: - LDA !INFINITE_ARROWS : BNE .infinite + LDA InfiniteArrowsModifier : BNE .infinite LDA.l ArrowMode : BNE .rupees : BRA .normal .infinite LDA.b #$01 : RTL diff --git a/special_weapons.asm b/special_weapons.asm index a067500..35b595c 100644 --- a/special_weapons.asm +++ b/special_weapons.asm @@ -53,17 +53,17 @@ DamageClassCalc: .not_cane_or_beam CMP #$07 : BNE .no_change LDA SpecialWeapons : CMP #$01 : BNE .normal_bombs - LDA !WEAPON_LEVEL : BEQ .normal_bombs + LDA SpecialWeaponLevel : BEQ .normal_bombs LDA $0E20, X : CMP.b #$D6 : BEQ .unstunned_ganon CMP.b #$D7 : BEQ .stunned_ganon CMP.b #$88 : BEQ .mothula CMP.b #$91 : BEQ .stalfos_knight CMP.b #$92 : BEQ .helmasaur_king .special_level - LDA !WEAPON_LEVEL + LDA SpecialWeaponLevel BRA .done .mothula - LDA !WEAPON_LEVEL + LDA SpecialWeaponLevel CMP #$04 : !BGE .fix_mothula BRA .done .fix_mothula @@ -95,7 +95,7 @@ DamageClassCalc: LDA.l !ANCILLA_DAMAGE, X PLX CMP.b #$06 : BNE .done ; not arrows - LDA $7EF340 : CMP.b #$03 : !BGE .actual_silver_arrows + LDA BowEquipment : CMP.b #$03 : !BGE .actual_silver_arrows .normal_arrows LDA #$06 .done @@ -352,7 +352,7 @@ AllowBombingBarrier: DrawBombInMenu: JSL LoadBombCount16 : AND.w #$00FF : BEQ .noBombs LDA SpecialWeapons : AND.w #$00FF : CMP.w #$0001 : BNE .vanillaBombs - LDA.l !WEAPON_LEVEL : AND.w #$00FF : BEQ .noBombs : STA $02 + LDA.l SpecialWeaponLevel : AND.w #$00FF : BEQ .noBombs : STA $02 LDA.w #$FC81 : STA $04 BRA .done .vanillaBombs @@ -370,7 +370,7 @@ DrawSwordInMenu: CMP.w #$0003 : BEQ .specialSword CMP.w #$0004 : BEQ .specialSword CMP.w #$0005 : BEQ .specialSword - LDA $7EF359 : AND.w #$00FF : CMP.w #$00FF : BEQ .noSword + LDA SwordEquipment : AND.w #$00FF : CMP.w #$00FF : BEQ .noSword .hasSword STA $02 LDA.w #$F859 : STA $04 @@ -380,14 +380,14 @@ DrawSwordInMenu: LDA.w #$F859 : STA $04 RTL .specialSword - LDA !WEAPON_LEVEL : AND.w #$00FF : STA $02 + LDA SpecialWeaponLevel : AND.w #$00FF : STA $02 LDA.w #$FC51 : STA $04 RTL ;-------------------------------------------------------------------------------- DrawBombInYBox: CPX.w #$0004 : BNE .done LDA SpecialWeapons : AND.w #$00FF : CMP.w #$0001 : BNE .vanilla - LDA !WEAPON_LEVEL : AND.w #$00FF : CLC : ADC.w #$00BD : BRA .done + LDA SpecialWeaponLevel : AND.w #$00FF : CLC : ADC.w #$00BD : BRA .done .vanilla LDA.w #$0001 .done @@ -404,7 +404,7 @@ DrawBombOnHud: PLB LDA.l SpecialWeapons : AND.w #$00FF : CMP.w #$0001 : BNE .regularBombs - LDA.l !WEAPON_LEVEL : AND.w #$00FF : ASL #2 : TAX + LDA.l SpecialWeaponLevel : AND.w #$00FF : ASL #2 : TAX LDA.l BombIcon, X : STA.l $7EC71A LDA.l BombIcon+2, X : STA.l $7EC71C .regularBombs @@ -415,7 +415,7 @@ BombSpriteColor: SetBombSpriteColor: LDA.l SpecialWeapons : CMP.b #$01 : BNE .normal PHX - LDA.l !WEAPON_LEVEL + LDA.l SpecialWeaponLevel TAX LDA.l BombSpriteColor, X STA $0B diff --git a/sram.asm b/sram.asm index c593fb8..e7cf692 100644 --- a/sram.asm +++ b/sram.asm @@ -173,11 +173,12 @@ InventoryTracking: skip 2 ; b r m p n s k f - - - - - - o q (bitfield) ; p = Magic Powder | n = Mushroom Past | s = Shovel ; k = Inactive Flute | f = Active Flute | o = Any bomb acquired ; q = Quickswap locked -BowTracking: skip 2 ; b s p - - - - - - - - - - - - - (bitfield) +BowTracking: skip 1 ; b s p - - - - - (bitfield) ; b = Bow | s = Silver Arrows Upgrade | p = Second Progressive Bow ; The front end writes two distinct progressive bow items. p ; indicates whether the "second" has been found independent of ; the first +SpecialWeaponLevel: skip 1 ; Keeps track of level of weapon in bomb-only and cane-only modes ItemLimitCounts: skip 16 ; Keeps track of limited non-progressive items such as lamp. ; See: ItemSubstitutionRules in tables.asm ; Right now this is only used for three items but extra space is @@ -313,7 +314,8 @@ HeartPieceCounter: skip 1 ; Total Number of heartpieces collected (integer CrystalCounter: skip 1 ; Total Number of crystals collected (integer) DungeonsCompleted: skip 2 ; Bitfield indicating whether a dungeon's prize has been collected. ; This has the same shape as the dungeon item bitfields. -skip 44 ; Unused +BombsPlaced: skip 2 ; Total Number of bombs placed (16-bit integer) +skip 42 ; Unused ServiceSequenceRx: ; Service sequence receive ServiceSequenceTx: ; Service sequence transmit ServiceSequence: skip 8 ; Service request block. See servicerequest.asm @@ -371,6 +373,26 @@ FileMarker: skip 1 ; $FF = Active save file | $00 = Inactive save f skip 13 ; Unused InverseChecksum: skip 2 ; Vanilla Inverse Checksum. Don't write unless computing checksum. +;================================================================================ +; Temporary Effects ($7F50C0 - $7F50CF) +;-------------------------------------------------------------------------------- +base $7F50C0 +SwordModifier: skip 1 +ShieldModifier: skip 1 ; (not implemented) +ArmorModifier: skip 1 +MagicModifier: skip 1 +LightConeModifier: skip 1 +CuccoStormModifier: skip 1 +OldManDashModifier: skip 1 +IcePhysicsModifier: skip 1 +InfiniteArrowsModifier: skip 1 +InfiniteBombsModifier: skip 1 +InfiniteMagicModifier: skip 1 +InvertDPadModifier: skip 1 +TemporaryOHKO: skip 1 +SpriteSwapper: skip 1 +BootsModifier: skip 1 ; (0=Off, 1=Always, 2=Never) + ;================================================================================ ; Expanded SRAM ($7F6000 - $7F6FFF) ;-------------------------------------------------------------------------------- @@ -527,6 +549,7 @@ endmacro ;-------------------------------------------------------------------------------- %assertSRAM(InventoryTracking, $7EF38C) %assertSRAM(BowTracking, $7EF38E) +%assertSRAM(SpecialWeaponLevel, $7EF38F) %assertSRAM(ItemLimitCounts, $7EF390) ;-------------------------------------------------------------------------------- %assertSRAM(GameCounter, $7EF3FF) diff --git a/stats.asm b/stats.asm index 40d0912..e2031f7 100644 --- a/stats.asm +++ b/stats.asm @@ -189,7 +189,7 @@ IncrementBombsPlacedCounter: PHA LDA StatsLocked : BNE + PHP : REP #$20 - LDA !BOMBS_PLACED_COUNTER : INC : STA !BOMBS_PLACED_COUNTER + LDA BombsPlaced : INC : STA BombsPlaced PLP + PLA diff --git a/stats/statConfig.asm b/stats/statConfig.asm index 1a18f4e..5cde873 100755 --- a/stats/statConfig.asm +++ b/stats/statConfig.asm @@ -12,7 +12,7 @@ %AddStat(DamageCounter, 0, 0, 16, 5, !DAMAGETAKEN_X, !DAMAGETAKEN_Y) %AddStat(MagicCounter, 0, 0, 16, 5, !MAGICUSED_X, !MAGICUSED_Y) %AddStat(BonkCounter, 0, 0, 08, 3, !BONKS_X, !BONKS_Y) -%AddStat($7EF46E, 0, 0, 16, 4, !BOMBS_X, !BOMBS_Y) +%AddStat(BombsPlaced, 0, 0, 16, 4, !BOMBS_X, !BOMBS_Y) %AddStat(SaveQuitCounter, 0, 0, 08, 2, !SAVE_AND_QUITS_X, !SAVE_AND_QUITS_Y) %AddStat(DeathCounter, 0, 0, 08, 2, !DEATHS_X, !DEATHS_Y) %AddStat(FaerieRevivalCounter, 0, 0, 08, 3, !FAERIE_REVIVALS_X, !FAERIE_REVIVALS_Y) diff --git a/swordswap.asm b/swordswap.asm index c16167a..b99838f 100644 --- a/swordswap.asm +++ b/swordswap.asm @@ -137,7 +137,7 @@ CheckTabletSword: CMP #$05 : BEQ .check_special BRA .normal .check_special - LDA !WEAPON_LEVEL : CMP #$02 : !BLT + ; check for master bombs + LDA SpecialWeaponLevel : CMP #$02 : !BLT + ; check for master bombs LDA.b #$02 : RTL .normal LDA SwordEquipment ; get actual sword value diff --git a/timer.asm b/timer.asm index 1623831..5353697 100644 --- a/timer.asm +++ b/timer.asm @@ -2,7 +2,6 @@ ; Challenge Timer ;================================================================================ !Temp = "$7F5020" -!TemporaryOHKO = "$7F50CC" ;-------------------------------------------------------------------------------- !CLOCK_HOURS = "$7F5080" ; $7F5080 - $7F5083 - Clock Hours !CLOCK_MINUTES = "$7F5084" ; $7F5084 - $7F5087 - Clock Minutes @@ -176,7 +175,7 @@ DrawChallengeTimer: RTL ;-------------------------------------------------------------------------------- OHKOTimer: - LDA !TemporaryOHKO : BNE .kill + LDA TemporaryOHKO : BNE .kill LDA.l TimeoutBehavior : CMP #$02 : BNE + LDA !Status : AND.b #$02 : BEQ + .kill diff --git a/utilities.asm b/utilities.asm index 994be97..d0e6d5f 100644 --- a/utilities.asm +++ b/utilities.asm @@ -247,7 +247,7 @@ RTL + ; Any Bow LDA.b #$02 : RTL ++ : CMP.b #$F7 : BNE ++ ; Progressive Bombs - LDA !WEAPON_LEVEL + LDA SpecialWeaponLevel CMP.b #$00 : BNE + ; No Bombs LDA.b #$08 : RTL + : CMP.b #$01 : BNE + ; L1 Bombs