Fix up labels
still WIP still do not use
This commit is contained in:
@@ -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
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
18
dialog.asm
18
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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
15
newhud.asm
15
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
|
||||
|
||||
31
newitems.asm
31
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:
|
||||
|
||||
14
retro.asm
14
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
|
||||
|
||||
@@ -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
|
||||
|
||||
27
sram.asm
27
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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user