First pass-through adding labels

Added items, equipment, and tracking/indicators
Added playername changes
Removed some defines
This commit is contained in:
cassidy
2021-12-01 23:06:28 -05:00
parent d47dea6123
commit e4d917c47c
48 changed files with 453 additions and 485 deletions

View File

@@ -8,13 +8,13 @@
FlipLWDWFlag:
PHP
SEP #$20 ; set 8-bit accumulator
LDA $7EF3CA : EOR.b #$40 : STA $7EF3CA
LDA CurrentWorld : EOR.b #$40 : STA CurrentWorld
BEQ +
LDA.b #07 : BRA ++ ; dark world - crystals
+
LDA.b #03 ; light world - pendants
++
STA $7EF3C7
STA MapIcons
PLP
RTL
;================================================================================
@@ -23,7 +23,7 @@ HUDRebuildIndoorHole:
LDA.l GenericKeys : BEQ .normal
.generic
PLA
LDA $7EF38B ; generic key count
LDA CurrentGenericKeys ; generic key count
JSL.l HUD_RebuildIndoor_Palace
RTL
.normal
@@ -35,7 +35,7 @@ HUDRebuildIndoor:
LDA.l GenericKeys : BEQ .normal
.generic
LDA.b #$00 : STA $7EC017
LDA $7EF38B ; generic key count
LDA CurrentGenericKeys ; generic key count
RTL
.normal
LDA.b #$00 : STA $7EC017
@@ -45,25 +45,24 @@ RTL
GetCrystalNumber:
PHX
TXA : ASL : TAX
LDA $7EF3CA : EOR.b #$40 : BNE +
LDA CurrentWorld : EOR.b #$40 : BNE +
INX
+
LDA.l CrystalNumberTable-16, X
PLX
RTL
;================================================================================
!INVENTORY_MAP = "$7EF368"
!MAP_OVERLAY = "$7EF414" ; [2]
OverworldMap_CheckObject:
PHX
;CPX.b #$01 : BNE + : JMP ++ : + : JMP .fail
LDA $7EF3CA : AND.b #$40 : BNE +
LDA CurrentWorld : AND.b #$40 : BNE +
;LW Map
LDA.l MapMode : BEQ +++
LDA !INVENTORY_MAP : ORA !MAP_OVERLAY : AND.b #$01 : BNE +++
LDA MapField : ORA !MAP_OVERLAY : AND.b #$01 : BNE +++
PHX
LDA.l .lw_map_offsets, X : TAX ; put map offset into X
LDA !INVENTORY_MAP, X : ORA !MAP_OVERLAY, X
LDA MapField, X : ORA !MAP_OVERLAY, X
PLX
AND.l .lw_map_masks, X : BNE +++
JMP .fail
@@ -74,10 +73,10 @@ OverworldMap_CheckObject:
+
;DW Map
LDA.l MapMode : BEQ +++
LDA !INVENTORY_MAP : ORA !MAP_OVERLAY : AND.b #$02 : BNE +++
LDA MapField : ORA !MAP_OVERLAY : AND.b #$02 : BNE +++
PHX
LDA.l .dw_map_offsets, X : TAX ; put map offset into X
LDA.l !INVENTORY_MAP, X : ORA !MAP_OVERLAY, X
LDA.l MapField, X : ORA !MAP_OVERLAY, X
PLX
AND.l .dw_map_masks, X : BNE +++
JMP .fail
@@ -92,11 +91,11 @@ RTL
AND.b #$40 : BNE .checkCrystal
.checkPendant
LDA $7EF374 : AND.l CrystalPendantFlags, X : BNE .fail
LDA PendantsField : AND.l CrystalPendantFlags, X : BNE .fail
CLC : BRA .done
.checkCrystal
LDA $7EF37A : AND.l CrystalPendantFlags, X : BNE .fail
LDA CrystalsField : AND.l CrystalPendantFlags, X : BNE .fail
CLC : BRA .done
.fail
@@ -121,18 +120,18 @@ db $02, $80, $08, $10, $01, $40, $04
SetLWDWMap:
PHP
SEP #$20 ; set 8-bit accumulator
LDA $7EF3CA : EOR.b #$40
LDA CurrentWorld : EOR.b #$40
BNE +
LDA.b #07 : BRA ++ ; dark world - crystals
+
LDA.b #03 ; light world - pendants
++
STA $7EF3C7
STA MapIcons
PLP
RTL
;================================================================================
GetMapMode:
LDA $7EF3CA : AND.b #$40 : BEQ +
LDA CurrentWorld : AND.b #$40 : BEQ +
LDA.b #07 ; dark world - crystals
RTL
+
@@ -205,13 +204,13 @@ UpdateKeys:
LSR : TAX ; get dungeon index and store to X
LDA $7EF36F ; load current key count
STA $7EF37C, X ; save to main counts
LDA CurrentSmallKeys ; load current key count
STA SewerKeys, X ; save to main counts
CPX.b #$00 : BNE +
STA $7EF37D ; copy HC to sewers
STA HyruleCastleKeys ; copy HC to sewers
+ : CPX.b #$01 : BNE +
STA $7EF37C ; copy sewers to HC
STA SewerKeys ; copy sewers to HC
+
.skip
JSL.l PostItemGet
@@ -285,19 +284,19 @@ DrawHUDDungeonItems:
dw 30 ; Ganon's Tower
.small_key_x_offset
dw $7EF37D-$7EF37D ; Hyrule Castle
dw $7EF37E-$7EF37D ; Eastern
dw $7EF37F-$7EF37D ; Desert
dw $7EF386-$7EF37D ; Hera
dw $7EF380-$7EF37D ; Agahnims Tower
dw $7EF382-$7EF37D ; PoD
dw $7EF381-$7EF37D ; Swamp
dw $7EF384-$7EF37D ; Skull Woods
dw $7EF387-$7EF37D ; Thieves Town
dw $7EF385-$7EF37D ; Ice
dw $7EF383-$7EF37D ; Mire
dw $7EF388-$7EF37D ; Turtle Rock
dw $7EF389-$7EF37D ; Ganon's Tower
dw HyruleCastleKeys-DungeonKeys ; Hyrule Castle
dw EasternKeys-DungeonKeys ; Eastern
dw DesertKeys-DungeonKeys ; Desert
dw HeraKeys-DungeonKeys ; Hera
dw CastleTowerKeys-DungeonKeys ; Agahnims Tower
dw PalaceOfDarknessKeys-DungeonKeys ; PoD
dw SwampKeys-DungeonKeys ; Swamp
dw SkullWoodsKeys-DungeonKeys ; Skull Woods
dw ThievesTownKeys-DungeonKeys ; Thieves Town
dw IcePalaceKeys-DungeonKeys ; Ice
dw MireKeys-DungeonKeys ; Mire
dw TurtleRockKeys-DungeonKeys ; Turtle Rock
dw GanonsTowerKeys-DungeonKeys ; Ganon's Tower
.dungeon_bitmasks
@@ -386,7 +385,7 @@ DrawHUDDungeonItems:
.next_small_key
LDX.w .small_key_x_offset,Y
LDA.l $7EF37D,X
LDA.l DungeonKeys,X
AND.w #$00FF
LDX.w .dungeon_positions,Y
@@ -410,7 +409,7 @@ DrawHUDDungeonItems:
LDX.w #0
; load once and test multiple times
LDA.l $7EF366
LDA.l BigKeyField
.next_big_key
BIT.w .dungeon_bitmasks,X
@@ -421,7 +420,7 @@ DrawHUDDungeonItems:
STA.w $16C6,Y
; reload
LDA.l $7EF366
LDA.l BigKeyField
..skip_key
INX : INX
@@ -469,7 +468,7 @@ DrawHUDDungeonItems:
LDX.w #0
; load once and test multiple times
LDA.l $7EF368
LDA.l MapField
.next_map
BIT.w .dungeon_bitmasks,X
@@ -480,7 +479,7 @@ DrawHUDDungeonItems:
STA.w $1686,Y
; reload
LDA.l $7EF368
LDA.l MapField
..skip_map
INX : INX
@@ -498,7 +497,7 @@ DrawHUDDungeonItems:
LDX.w #0
; load once and test multiple times
LDA.l $7EF364
LDA.l CompassField
.next_compass
BIT.w .dungeon_bitmasks,X
@@ -509,7 +508,7 @@ DrawHUDDungeonItems:
STA.w $16C6,Y
; reload
LDA.l $7EF364
LDA.l CompassField
..skip_compass
INX : INX
@@ -542,7 +541,7 @@ DrawPendantCrystalDiagram:
INX #2 : CPX.w #$0014 : BCC -
; pendants
LDA $7EF374
LDA PendantsField
LSR : BCC + ; pendant of wisdom (red)
LDX.w #$252B
@@ -569,7 +568,7 @@ DrawPendantCrystalDiagram:
; crystals
LDA $7EF37A
LDA CrystalsField
LDX.w #$2D44
LDY.w #$2D45
@@ -675,4 +674,4 @@ dw $A8FB, $A8F9, $A8F9, $A8F9, $A8F9, $A8F9, $A8F9, $A8F9, $A8F9, $E8FB
;0x1A - Ganon's Tower
;0x1C - ??? possibly unused. (Were they planning two extra dungeons perhaps?)
;0x1E - ??? possibly unused.
;================================================================================
;================================================================================