Applied labels and byte designators
This commit is contained in:
@@ -11,7 +11,7 @@ LDX.b #$FF
|
||||
|
||||
TXA : ASL A : TAX
|
||||
LDA.l MapCompassFlag
|
||||
AND #$01 : BNE +
|
||||
AND.b #$01 : BNE +
|
||||
LDA.l WorldMapIcon_posx_vanilla+1, X : STA.l $7EC10B
|
||||
LDA.l WorldMapIcon_posx_vanilla, X : STA.l $7EC10A
|
||||
LDA.l WorldMapIcon_posy_vanilla+1, X : STA.l $7EC109
|
||||
@@ -22,32 +22,32 @@ LDX.b #$FF
|
||||
LDA.l WorldMapIcon_posy_located+1, X : STA.l $7EC109
|
||||
LDA.l WorldMapIcon_posy_located, X : STA.l $7EC108
|
||||
.adjustment
|
||||
LDA.l WorldMapIcon_tile, X : CMP #$FF : BEQ .skip_draw
|
||||
LDA.l WorldMapIcon_tile, X : CMP.b #$FF : BEQ .skip_draw
|
||||
LDA.l WorldMapIcon_tile+1, X : BEQ .dont_adjust
|
||||
CMP.b #$64 : BEQ .is_crystal
|
||||
LDA.b $1A : AND.b #$10 : BNE .skip_draw
|
||||
LDA.b FrameCounter : AND.b #$10 : BNE .skip_draw
|
||||
.is_crystal
|
||||
JSR.w WorldMapIcon_AdjustCoordinate
|
||||
JSR WorldMapIcon_AdjustCoordinate
|
||||
.dont_adjust
|
||||
JSR.w WorldMap_CalculateOAMCoordinates
|
||||
JSR WorldMap_CalculateOAMCoordinates
|
||||
BCC .skip_draw
|
||||
PLX : PHX : TXA : ASL A : TAX
|
||||
LDA.l WorldMapIcon_tile+1, X : BEQ .is_red_x
|
||||
LDA.l MapCompassFlag : CMP.b #$01 : BEQ .is_red_x
|
||||
LDA.l WorldMapIcon_tile+1, X : STA.b $0D
|
||||
LDA.l WorldMapIcon_tile, X : STA.b $0C
|
||||
LDA.l WorldMapIcon_tile+1, X : STA.b Scrap0D
|
||||
LDA.l WorldMapIcon_tile, X : STA.b Scrap0C
|
||||
LDA.b #$02 : BRA .continue
|
||||
.is_red_x
|
||||
LDA.b $1A : LSR #3 : AND.b #$03 : TAX
|
||||
LDA.l WorldMap_RedXChars,X : STA.b $0D
|
||||
LDA.b #$32 : STA.b $0C : LDA.b #$00
|
||||
LDA.b FrameCounter : LSR #3 : AND.b #$03 : TAX
|
||||
LDA.l WorldMap_RedXChars,X : STA.b Scrap0D
|
||||
LDA.b #$32 : STA.b Scrap0C : LDA.b #$00
|
||||
.continue
|
||||
STA.b $0B
|
||||
STA.b Scrap0B
|
||||
PLX : PHX
|
||||
INX : JSR.w WorldMap_HandleSpriteBlink
|
||||
INX : JSR WorldMap_HandleSpriteBlink
|
||||
.skip_draw
|
||||
; end of loop
|
||||
PLX : CPX #12 : BCS + : JMP .loopStart : +
|
||||
PLX : CPX.b #12 : BCS + : JMP .loopStart : +
|
||||
|
||||
PLA : STA.l $7EC10B
|
||||
PLA : STA.l $7EC10A
|
||||
@@ -59,23 +59,23 @@ LDX.b #$FF
|
||||
; X - the index of the prize marker
|
||||
OverworldMap_CheckForPrize:
|
||||
PHX
|
||||
LDA #$00 : STA.l MapCompassFlag
|
||||
LDA.b #$00 : STA.l MapCompassFlag
|
||||
JSR OverworldMap_CheckForCompass
|
||||
BCC +
|
||||
LDA.l MapCompassFlag : ORA #$01 : STA.l MapCompassFlag
|
||||
LDA CurrentWorld : AND #$40 : BNE ++ ; is the compass position on LW or DW?
|
||||
LDA.l MapCompassFlag : ORA.b #$01 : STA.l MapCompassFlag
|
||||
LDA.l CurrentWorld : AND.b #$40 : BNE ++ ; is the compass position on LW or DW?
|
||||
LDA.l WorldCompassMask, X : BEQ + : JMP .fail
|
||||
++ LDA.l WorldCompassMask, X : BNE + : JMP .fail
|
||||
+ JSR OverworldMap_CheckForMap
|
||||
BCC +
|
||||
LDA.l MapCompassFlag : ORA #$02 : STA.l MapCompassFlag
|
||||
LDA.l MapCompassFlag : ORA.b #$02 : STA.l MapCompassFlag
|
||||
+
|
||||
LDA.l MapCompassFlag : BEQ .fail
|
||||
CMP #$02 : BNE .checkIfObtained
|
||||
LDA CurrentWorld : AND #$40 : BNE +
|
||||
CPX #3 : BCS .fail : BRA .checkIfObtained
|
||||
+ CPX #10 : BCS .fail
|
||||
CPX #3 : BCC .fail
|
||||
CMP.b #$02 : BNE .checkIfObtained
|
||||
LDA.l CurrentWorld : AND.b #$40 : BNE +
|
||||
CPX.b #3 : BCS .fail : BRA .checkIfObtained
|
||||
+ CPX.b #10 : BCS .fail
|
||||
CPX.b #3 : BCC .fail
|
||||
|
||||
.checkIfObtained
|
||||
LDA.l MC_DungeonIdsForPrize, X
|
||||
@@ -105,14 +105,14 @@ RTS
|
||||
; CLC - should not move indicator
|
||||
; SEC - yep indicator can move
|
||||
OverworldMap_CheckForCompass:
|
||||
LDA.l CompassMode : AND #$80 : BEQ .unset ; should I check for compass logic
|
||||
LDA.l CompassMode : AND #$40 : BEQ .set ; compasses/maps aren't shuffled
|
||||
LDA.l CompassMode : AND #$20 : BNE +
|
||||
LDA.l CompassMode : AND.b #$80 : BEQ .unset ; should I check for compass logic
|
||||
LDA.l CompassMode : AND.b #$40 : BEQ .set ; compasses/maps aren't shuffled
|
||||
LDA.l CompassMode : AND.b #$20 : BNE +
|
||||
JSR OverworldMap_CheckForMap : BCC .unset : BRA .set
|
||||
+ LDA.l CompassExists, X : BEQ .set ; compass doesn't exist
|
||||
PHX
|
||||
LDA.l MC_SRAM_Offsets, X : TAX ; put compass offset into X
|
||||
LDA CompassField, X : ORA MapOverlay, X
|
||||
LDA.l CompassField, X : ORA.l MapOverlay, X
|
||||
PLX
|
||||
AND.l MC_Masks, X : BNE .set ; is the compass obtained
|
||||
.unset
|
||||
@@ -127,13 +127,13 @@ RTS
|
||||
; SEC - yep should show exact prize
|
||||
OverworldMap_CheckForMap:
|
||||
LDA.l MapMode : BEQ .set ; obtaining map doesn't change anything
|
||||
LDA CurrentWorld : AND #$40 : BNE + ; not really sure on this check
|
||||
LDA MapField : ORA MapOverlay : AND.b #$01 : BNE .set : BRA .continue
|
||||
+ LDA MapField : ORA MapOverlay : AND.b #$02 : BNE .set
|
||||
LDA.l CurrentWorld : AND.b #$40 : BNE + ; not really sure on this check
|
||||
LDA.l MapField : ORA.l MapOverlay : AND.b #$01 : BNE .set : BRA .continue
|
||||
+ LDA.l MapField : ORA.l MapOverlay : AND.b #$02 : BNE .set
|
||||
.continue
|
||||
PHX
|
||||
LDA.l MC_SRAM_Offsets, X : TAX ; put map offset into X
|
||||
LDA MapField, X : ORA MapOverlay, X
|
||||
LDA.l MapField, X : ORA.l MapOverlay, X
|
||||
PLX
|
||||
AND.l MC_Masks, X : BNE .set ; is the map obtained?
|
||||
.unset
|
||||
|
||||
Reference in New Issue
Block a user