Update progress flags and world map icon conditions
This commit is contained in:
@@ -44,17 +44,8 @@ SaveRam:
|
|||||||
; 0x03 - Agahnim defeated
|
; 0x03 - Agahnim defeated
|
||||||
GAMESTATE = $7EF3C5
|
GAMESTATE = $7EF3C5
|
||||||
|
|
||||||
; Map icon
|
; Red X on Hall of Secrets
|
||||||
; 0x00 - Red X on Maku Tree/Maku Warp
|
; Red X on Kalyxo Pyramid
|
||||||
; 0x01 - Red X on Hall of Secrets
|
|
||||||
; 0x02 - Red X on Kalyxo Pyramid
|
|
||||||
; 0x03 - Toadstool Woods Crystal
|
|
||||||
; 0x04 - Kalyxo Crystals All
|
|
||||||
; 0x05 -
|
|
||||||
; 0x06 -
|
|
||||||
; 0x07 -
|
|
||||||
; 0x08 - Skull on GT | Climb Ganon's Tower
|
|
||||||
MAPICON = $7EF3C7
|
|
||||||
|
|
||||||
; .fmp h.i.
|
; .fmp h.i.
|
||||||
; f - fortress of secrets
|
; f - fortress of secrets
|
||||||
@@ -76,7 +67,19 @@ OOSPROG2 = $7EF3C6
|
|||||||
|
|
||||||
; .... ...m
|
; .... ...m
|
||||||
; m - maku tree has met link (0: no | 1: yes)
|
; m - maku tree has met link (0: no | 1: yes)
|
||||||
OOSPROG3 = $7EF3D4
|
MakuTreeQuest = $7EF3D4
|
||||||
|
|
||||||
|
; Map icon
|
||||||
|
; 0x00 - Red X on Maku Tree/Maku Warp
|
||||||
|
; 0x01 - Toadstool Woods Crystal
|
||||||
|
; 0x02 - Kalyxo All Crystals
|
||||||
|
; 0x03 -
|
||||||
|
; 0x04 -
|
||||||
|
; 0x05 -
|
||||||
|
; 0x06 -
|
||||||
|
; 0x07 -
|
||||||
|
; 0x08 - Skull on GT | Climb Ganon's Tower
|
||||||
|
MapIcon = $7EF3C7
|
||||||
|
|
||||||
; Dungeon ID Legend
|
; Dungeon ID Legend
|
||||||
; Mushroom Grotto ID 0x0C (Palace of Darkness)
|
; Mushroom Grotto ID 0x0C (Palace of Darkness)
|
||||||
@@ -95,11 +98,11 @@ OOSPROG3 = $7EF3D4
|
|||||||
; i - Ice Palace
|
; i - Ice Palace
|
||||||
; m - Misery Mire
|
; m - Misery Mire
|
||||||
; t - Turtle Rock
|
; t - Turtle Rock
|
||||||
CRYSTALS = $7EF37A
|
CRYSTALS = $7EF37A
|
||||||
|
|
||||||
; 01 - Fishing Rod
|
; 01 - Fishing Rod
|
||||||
; 02 - Portal Rod
|
; 02 - Portal Rod
|
||||||
CUSTOMRODS = $7EF351
|
CustomRods = $7EF351
|
||||||
|
|
||||||
; Free SRAM Block 38A-3C4
|
; Free SRAM Block 38A-3C4
|
||||||
FishingRod = $7EF38A
|
FishingRod = $7EF38A
|
||||||
|
|||||||
@@ -121,18 +121,18 @@ LoadDarkWorldIntro:
|
|||||||
LDA.b #$40 : STA.l $7EF3CA
|
LDA.b #$40 : STA.l $7EF3CA
|
||||||
RTL
|
RTL
|
||||||
.not_dw_spawn
|
.not_dw_spawn
|
||||||
LDA.l $7EF3C5 : CMP.b #$02 : BNE .continue
|
LDA.l GAMESTATE : CMP.b #$02 : BNE .intro_sequence
|
||||||
; Check for maku tree progress flag
|
; Check for maku tree progress flag
|
||||||
LDA.l $7EF3D6 : CMP.b #$02 : BCS .has_pearl
|
LDA.l OOSPROG : CMP.b #$02 : BCS .has_pearl
|
||||||
STZ.w $1B
|
STZ.w $1B
|
||||||
LDA.b #$40 : STA.l $7EF3CA
|
LDA.b #$40 : STA.l $7EF3CA
|
||||||
RTL
|
RTL
|
||||||
.continue
|
.has_pearl
|
||||||
.has_pearl
|
.intro_sequence
|
||||||
; Check if the player was in a dungeon when they saved
|
; Check if the player was in a dungeon when they saved
|
||||||
LDA.b $1B : BNE .indoors
|
LDA.b $1B : BNE .indoors
|
||||||
LDA.l $7EF3CA
|
LDA.l $7EF3CA
|
||||||
.indoors
|
.indoors
|
||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
pushpc
|
pushpc
|
||||||
@@ -171,7 +171,7 @@ org $0794D9
|
|||||||
JSL LoadOverworldPitAreas : BCC .overworld_pit_transition
|
JSL LoadOverworldPitAreas : BCC .overworld_pit_transition
|
||||||
JSL $01FFD9 ; TakeDamageFromPit
|
JSL $01FFD9 ; TakeDamageFromPit
|
||||||
RTS
|
RTS
|
||||||
.overworld_pit_transition
|
.overworld_pit_transition
|
||||||
|
|
||||||
org $1AF5C3 : CMP.b #$5E
|
org $1AF5C3 : CMP.b #$5E
|
||||||
|
|
||||||
@@ -210,8 +210,6 @@ SpawnPointData:
|
|||||||
#_02DB78: dw $00D0 ; 0x05 - Old man cave - ROOM 00D0
|
#_02DB78: dw $00D0 ; 0x05 - Old man cave - ROOM 00D0
|
||||||
#_02DB7A: dw $00E4 ; 0x06 - Old man home - ROOM 00E4
|
#_02DB7A: dw $00E4 ; 0x06 - Old man home - ROOM 00E4
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
|
||||||
|
|
||||||
.camera_scroll_boundaries
|
.camera_scroll_boundaries
|
||||||
#_02DB7C: db $21, $20, $21, $21, $09, $09, $09, $0A ; 0x00 - Link's house
|
#_02DB7C: db $21, $20, $21, $21, $09, $09, $09, $0A ; 0x00 - Link's house
|
||||||
#_02DB84: db $02, $02, $02, $03, $04, $04, $04, $05 ; 0x01 - Sanctuary
|
#_02DB84: db $02, $02, $02, $03, $04, $04, $04, $05 ; 0x01 - Sanctuary
|
||||||
@@ -221,8 +219,6 @@ SpawnPointData:
|
|||||||
#_02DBA4: db $1E, $1E, $1E, $1F, $01, $00, $01, $01 ; 0x05 - Old man cave
|
#_02DBA4: db $1E, $1E, $1E, $1F, $01, $00, $01, $01 ; 0x05 - Old man cave
|
||||||
#_02DBAC: db $1D, $1C, $1D, $1D, $08, $08, $08, $09 ; 0x06 - Old man home
|
#_02DBAC: db $1D, $1C, $1D, $1D, $08, $08, $08, $09 ; 0x06 - Old man home
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
|
||||||
|
|
||||||
.horizontal_scroll
|
.horizontal_scroll
|
||||||
#_02DBB4: dw $0900 ; 0x00 - Link's house
|
#_02DBB4: dw $0900 ; 0x00 - Link's house
|
||||||
#_02DBB6: dw $0480 ; 0x01 - Sanctuary
|
#_02DBB6: dw $0480 ; 0x01 - Sanctuary
|
||||||
@@ -232,8 +228,6 @@ SpawnPointData:
|
|||||||
#_02DBBE: dw $0100 ; 0x05 - Old man cave
|
#_02DBBE: dw $0100 ; 0x05 - Old man cave
|
||||||
#_02DBC0: dw $0800 ; 0x06 - Old man home
|
#_02DBC0: dw $0800 ; 0x06 - Old man home
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
|
||||||
|
|
||||||
.vertical_scroll
|
.vertical_scroll
|
||||||
#_02DBC2: dw $2110 ; 0x00 - Link's house
|
#_02DBC2: dw $2110 ; 0x00 - Link's house
|
||||||
#_02DBC4: dw $0231 ; 0x01 - Sanctuary
|
#_02DBC4: dw $0231 ; 0x01 - Sanctuary
|
||||||
@@ -243,8 +237,6 @@ SpawnPointData:
|
|||||||
#_02DBCC: dw $1E8C ; 0x05 - Old man cave
|
#_02DBCC: dw $1E8C ; 0x05 - Old man cave
|
||||||
#_02DBCE: dw $1D10 ; 0x06 - Old man home
|
#_02DBCE: dw $1D10 ; 0x06 - Old man home
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
|
||||||
|
|
||||||
.y_coordinate
|
.y_coordinate
|
||||||
#_02DBD0: dw $2178 ; 0x00 - Link's house
|
#_02DBD0: dw $2178 ; 0x00 - Link's house
|
||||||
#_02DBD2: dw $029C ; 0x01 - Sanctuary
|
#_02DBD2: dw $029C ; 0x01 - Sanctuary
|
||||||
@@ -254,8 +246,6 @@ SpawnPointData:
|
|||||||
#_02DBDA: dw $1EF8 ; 0x05 - Old man cave
|
#_02DBDA: dw $1EF8 ; 0x05 - Old man cave
|
||||||
#_02DBDC: dw $1D98 ; 0x06 - Old man home
|
#_02DBDC: dw $1D98 ; 0x06 - Old man home
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
|
||||||
|
|
||||||
.x_coordinate
|
.x_coordinate
|
||||||
#_02DBDE: dw $0978 ; 0x00 - Link's house
|
#_02DBDE: dw $0978 ; 0x00 - Link's house
|
||||||
#_02DBE0: dw $04F8 ; 0x01 - Sanctuary
|
#_02DBE0: dw $04F8 ; 0x01 - Sanctuary
|
||||||
@@ -265,19 +255,15 @@ SpawnPointData:
|
|||||||
#_02DBE8: dw $01A8 ; 0x05 - Old man cave
|
#_02DBE8: dw $01A8 ; 0x05 - Old man cave
|
||||||
#_02DBEA: dw $0878 ; 0x06 - Old man home
|
#_02DBEA: dw $0878 ; 0x06 - Old man home
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
|
||||||
|
|
||||||
.camera_trigger_y
|
.camera_trigger_y
|
||||||
#_02DBEC: dw $017F ; 0x00 - Link's house
|
#_02DBEC: dw $017F ; 0x00 - Link's house
|
||||||
#_02DBEE: dw $00A7 ; 0x01 - Sanctuary
|
#_02DBEE: dw $00A7 ; 0x01 - Sanctuary
|
||||||
#_02DBF0: dw $0083 ; 0x02 - Prison
|
#_02DBF0: dw $0083 ; 0x02 - Prison
|
||||||
#_02DBF2: dw $007B ; 0x03 - Uncle
|
#_02DBF2: dw $007B ; 0x03 - Uncle
|
||||||
#_02DBF4: dw $009A ; 0x04 - Throne
|
#_02DBF4: dw $009A ; 0x04 - Throne
|
||||||
#_02DBF6: DW $0103 ; 0x05 - Old man cave
|
#_02DBF6: dw $0103 ; 0x05 - Old man cave
|
||||||
#_02DBF8: dw $0187 ; 0x06 - Old man home
|
#_02DBF8: dw $0187 ; 0x06 - Old man home
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
|
||||||
|
|
||||||
.camera_trigger_x
|
.camera_trigger_x
|
||||||
#_02DBFA: dw $017F ; 0x00 - Link's house
|
#_02DBFA: dw $017F ; 0x00 - Link's house
|
||||||
#_02DBFC: dw $00FF ; 0x01 - Sanctuary
|
#_02DBFC: dw $00FF ; 0x01 - Sanctuary
|
||||||
@@ -287,8 +273,6 @@ SpawnPointData:
|
|||||||
#_02DC04: dw $017F ; 0x05 - Old man cave
|
#_02DC04: dw $017F ; 0x05 - Old man cave
|
||||||
#_02DC06: dw $007F ; 0x06 - Old man home
|
#_02DC06: dw $007F ; 0x06 - Old man home
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
|
||||||
|
|
||||||
.main_GFX
|
.main_GFX
|
||||||
#_02DC08: db $03 ; 0x00 - Link's house
|
#_02DC08: db $03 ; 0x00 - Link's house
|
||||||
#_02DC09: db $03 ; 0x01 - Sanctuary
|
#_02DC09: db $03 ; 0x01 - Sanctuary
|
||||||
@@ -298,8 +282,6 @@ SpawnPointData:
|
|||||||
#_02DC0D: db $06 ; 0x05 - Old man cave
|
#_02DC0D: db $06 ; 0x05 - Old man cave
|
||||||
#_02DC0E: db $14 ; 0x06 - Old man home
|
#_02DC0E: db $14 ; 0x06 - Old man home
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
|
||||||
|
|
||||||
.floor
|
.floor
|
||||||
#_02DC0F: db $00 ; 0x00 - Link's house
|
#_02DC0F: db $00 ; 0x00 - Link's house
|
||||||
#_02DC10: db $00 ; 0x01 - Sanctuary
|
#_02DC10: db $00 ; 0x01 - Sanctuary
|
||||||
@@ -309,8 +291,6 @@ SpawnPointData:
|
|||||||
#_02DC14: db $00 ; 0x05 - Old man cave
|
#_02DC14: db $00 ; 0x05 - Old man cave
|
||||||
#_02DC15: db $00 ; 0x06 - Old man home
|
#_02DC15: db $00 ; 0x06 - Old man home
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
|
||||||
|
|
||||||
.dungeon_id
|
.dungeon_id
|
||||||
#_02DC16: db $FF ; 0x00 - Link's house
|
#_02DC16: db $FF ; 0x00 - Link's house
|
||||||
#_02DC17: db $00 ; 0x01 - Sanctuary
|
#_02DC17: db $00 ; 0x01 - Sanctuary
|
||||||
@@ -320,8 +300,6 @@ SpawnPointData:
|
|||||||
#_02DC1B: db $FF ; 0x05 - Old man cave
|
#_02DC1B: db $FF ; 0x05 - Old man cave
|
||||||
#_02DC1C: db $FF ; 0x06 - Old man home
|
#_02DC1C: db $FF ; 0x06 - Old man home
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
|
||||||
|
|
||||||
.layer
|
.layer
|
||||||
#_02DC1D: db $00 ; 0x00 - Link's house
|
#_02DC1D: db $00 ; 0x00 - Link's house
|
||||||
#_02DC1E: db $00 ; 0x01 - Sanctuary
|
#_02DC1E: db $00 ; 0x01 - Sanctuary
|
||||||
@@ -331,8 +309,6 @@ SpawnPointData:
|
|||||||
#_02DC22: db $00 ; 0x05 - Old man cave
|
#_02DC22: db $00 ; 0x05 - Old man cave
|
||||||
#_02DC23: db $01 ; 0x06 - Old man home
|
#_02DC23: db $01 ; 0x06 - Old man home
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
|
||||||
|
|
||||||
.camera_scroll_controller
|
.camera_scroll_controller
|
||||||
#_02DC24: db $00 ; 0x00 - Link's house
|
#_02DC24: db $00 ; 0x00 - Link's house
|
||||||
#_02DC25: db $22 ; 0x01 - Sanctuary
|
#_02DC25: db $22 ; 0x01 - Sanctuary
|
||||||
@@ -342,8 +318,6 @@ SpawnPointData:
|
|||||||
#_02DC29: db $02 ; 0x05 - Old man cave
|
#_02DC29: db $02 ; 0x05 - Old man cave
|
||||||
#_02DC2A: db $02 ; 0x06 - Old man home
|
#_02DC2A: db $02 ; 0x06 - Old man home
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
|
||||||
|
|
||||||
.quadrant
|
.quadrant
|
||||||
#_02DC2B: db $02 ; 0x00 - Link's house
|
#_02DC2B: db $02 ; 0x00 - Link's house
|
||||||
#_02DC2C: db $00 ; 0x01 - Sanctuary
|
#_02DC2C: db $00 ; 0x01 - Sanctuary
|
||||||
@@ -353,8 +327,6 @@ SpawnPointData:
|
|||||||
#_02DC30: db $10 ; 0x05 - Old man cave
|
#_02DC30: db $10 ; 0x05 - Old man cave
|
||||||
#_02DC31: db $02 ; 0x06 - Old man home
|
#_02DC31: db $02 ; 0x06 - Old man home
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
|
||||||
|
|
||||||
.overworld_door_tilemap
|
.overworld_door_tilemap
|
||||||
#_02DC32: dw $0816 ; 0x00 - Link's house
|
#_02DC32: dw $0816 ; 0x00 - Link's house
|
||||||
#_02DC34: dw $0000 ; 0x01 - Sanctuary
|
#_02DC34: dw $0000 ; 0x01 - Sanctuary
|
||||||
@@ -364,8 +336,6 @@ SpawnPointData:
|
|||||||
#_02DC3C: dw $0000 ; 0x05 - Old man cave
|
#_02DC3C: dw $0000 ; 0x05 - Old man cave
|
||||||
#_02DC3E: dw $0000 ; 0x06 - Old man home
|
#_02DC3E: dw $0000 ; 0x06 - Old man home
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
|
||||||
|
|
||||||
.entrance_id
|
.entrance_id
|
||||||
#_02DC40: dw $0000 ; 0x00 - Link's house
|
#_02DC40: dw $0000 ; 0x00 - Link's house
|
||||||
#_02DC42: dw $0002 ; 0x01 - Sanctuary
|
#_02DC42: dw $0002 ; 0x01 - Sanctuary
|
||||||
@@ -375,8 +345,6 @@ SpawnPointData:
|
|||||||
#_02DC4A: dw $004F ; 0x05 - Old man cave
|
#_02DC4A: dw $004F ; 0x05 - Old man cave
|
||||||
#_02DC4C: dw $0030 ; 0x06 - Old man home
|
#_02DC4C: dw $0030 ; 0x06 - Old man home
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
|
||||||
|
|
||||||
.song
|
.song
|
||||||
#_02DC4E: db $07 ; 0x00 - Link's house - SONG 07
|
#_02DC4E: db $07 ; 0x00 - Link's house - SONG 07
|
||||||
#_02DC4F: db $14 ; 0x01 - Sanctuary - SONG 14
|
#_02DC4F: db $14 ; 0x01 - Sanctuary - SONG 14
|
||||||
|
|||||||
@@ -172,8 +172,6 @@ MapIconDraw:
|
|||||||
LDA.l $7EC10A : PHA
|
LDA.l $7EC10A : PHA
|
||||||
LDA.l $7EC10B : PHA
|
LDA.l $7EC10B : PHA
|
||||||
|
|
||||||
;-----------------------------------
|
|
||||||
|
|
||||||
.draw_prizes
|
.draw_prizes
|
||||||
LDA.b $8A : AND.b #$40 : BEQ .lwprizes
|
LDA.b $8A : AND.b #$40 : BEQ .lwprizes
|
||||||
LDA.l OOSPROG : AND.b #$02 : BNE .check_pendants
|
LDA.l OOSPROG : AND.b #$02 : BNE .check_pendants
|
||||||
@@ -208,156 +206,152 @@ MapIconDraw:
|
|||||||
JMP restore_coords_and_exit
|
JMP restore_coords_and_exit
|
||||||
.lwprizes
|
.lwprizes
|
||||||
|
|
||||||
;-----------------------------------
|
LDA.l OOSPROG : CMP.b #$02 : BNE +
|
||||||
|
|
||||||
LDA.l $7EF3C7 : CMP.b #$01 : BEQ .hall_of_secrets
|
|
||||||
CMP.b #$02 : BEQ .draw_secret
|
|
||||||
CMP.b #$03 : BEQ .draw_crystal_1
|
|
||||||
CMP.b #$04 : BCS .draw_crystals
|
|
||||||
JSL DrawEonEscapeIcon
|
|
||||||
JSR HandleMapDrawIcon
|
|
||||||
JMP restore_coords_and_exit
|
|
||||||
|
|
||||||
.hall_of_secrets
|
|
||||||
JSL DrawHallOfSecretsIcon
|
JSL DrawHallOfSecretsIcon
|
||||||
JSR HandleMapDrawIcon
|
JSR HandleMapDrawIcon
|
||||||
JMP restore_coords_and_exit
|
JMP .main_quest
|
||||||
|
+
|
||||||
.draw_secret ; Pyramid of Power
|
LDA.l OOSPROG : AND.b #$10 : BEQ .main_quest
|
||||||
|
; Pyramid of Power
|
||||||
JSL DrawPyramidIcon
|
JSL DrawPyramidIcon
|
||||||
JSR HandleMapDrawIcon_noflash
|
JSR HandleMapDrawIcon_noflash
|
||||||
JMP .skip_draw_6
|
.main_quest
|
||||||
|
|
||||||
|
LDA.l MapIcon : CMP.b #$01 : BEQ .draw_crystal_1
|
||||||
|
CMP.b #$02 : BEQ .draw_crystals
|
||||||
|
JSL DrawEonEscapeIcon
|
||||||
|
JSR HandleMapDrawIcon
|
||||||
|
JMP restore_coords_and_exit
|
||||||
|
|
||||||
.draw_crystal_1
|
.draw_crystal_1
|
||||||
; Draw Crystal 1
|
; Draw Crystal 1
|
||||||
LDA.l $7EF37A : AND #$02 : BNE .skip_draw_0
|
LDA.l $7EF37A : AND #$02 : BNE .skip_draw_0
|
||||||
; X position
|
; X position
|
||||||
LDA.b #$00 : STA.l $7EC10B
|
LDA.b #$00 : STA.l $7EC10B
|
||||||
LDA.b #$87 : STA.l $7EC10A
|
LDA.b #$87 : STA.l $7EC10A
|
||||||
; Y position
|
; Y position
|
||||||
LDA.b #$04 : STA.l $7EC109
|
LDA.b #$04 : STA.l $7EC109
|
||||||
LDA.b #$01 : STA.l $7EC108
|
LDA.b #$01 : STA.l $7EC108
|
||||||
; Tile GFX
|
; Tile GFX
|
||||||
LDA.b #$64 : STA.b $0D
|
LDA.b #$64 : STA.b $0D
|
||||||
LDA.b #$38 : STA.b $0C
|
LDA.b #$38 : STA.b $0C
|
||||||
; Tile Size
|
; Tile Size
|
||||||
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$0E : STA.l $7EC025 ; OAM Slot used
|
LDA.b #$0E : STA.l $7EC025 ; OAM Slot used
|
||||||
JSR HandleMapDrawIcon
|
JSR HandleMapDrawIcon
|
||||||
.skip_draw_0
|
.skip_draw_0
|
||||||
JMP restore_coords_and_exit
|
JMP restore_coords_and_exit
|
||||||
|
|
||||||
.draw_crystals
|
.draw_crystals
|
||||||
; Draw Crystal 2
|
; Draw Crystal 2
|
||||||
LDA.l $7EF37A : AND #$10 : BNE .skip_draw_1
|
LDA.l $7EF37A : AND #$10 : BNE .skip_draw_1
|
||||||
; X position (2)
|
; X position (2)
|
||||||
LDA.b #$1E : STA.l $7EC10B
|
LDA.b #$1E : STA.l $7EC10B
|
||||||
LDA.b #$A0 : STA.l $7EC10A
|
LDA.b #$A0 : STA.l $7EC10A
|
||||||
; Y position (2)
|
; Y position (2)
|
||||||
LDA.b #$09 : STA.l $7EC109
|
LDA.b #$09 : STA.l $7EC109
|
||||||
LDA.b #$74 : STA.l $7EC108
|
LDA.b #$74 : STA.l $7EC108
|
||||||
|
|
||||||
LDA.b #$64 : STA.b $0D
|
LDA.b #$64 : STA.b $0D
|
||||||
LDA.b #$34 : STA.b $0C ; Tile GFX
|
LDA.b #$34 : STA.b $0C ; Tile GFX
|
||||||
|
|
||||||
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$08 : STA.l $7EC025
|
LDA.b #$08 : STA.l $7EC025
|
||||||
|
|
||||||
JSR HandleMapDrawIcon
|
JSR HandleMapDrawIcon
|
||||||
.skip_draw_1
|
.skip_draw_1
|
||||||
|
|
||||||
; Draw Crystal 3
|
; Draw Crystal 3
|
||||||
LDA.l $7EF37A : AND #$40 : BNE .skip_draw_2
|
LDA.l $7EF37A : AND #$40 : BNE .skip_draw_2
|
||||||
; X position
|
; X position
|
||||||
LDA.b #$08 : STA.l $7EC10B
|
LDA.b #$08 : STA.l $7EC10B
|
||||||
LDA.b #$10 : STA.l $7EC10A
|
LDA.b #$10 : STA.l $7EC10A
|
||||||
; Y position
|
; Y position
|
||||||
LDA.b #$04 : STA.l $7EC109
|
LDA.b #$04 : STA.l $7EC109
|
||||||
LDA.b #$0E : STA.l $7EC108
|
LDA.b #$0E : STA.l $7EC108
|
||||||
|
|
||||||
LDA.b #$64 : STA.b $0D
|
LDA.b #$64 : STA.b $0D
|
||||||
LDA.b #$34 : STA.b $0C ; Tile GFX
|
LDA.b #$34 : STA.b $0C ; Tile GFX
|
||||||
|
|
||||||
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$0D : STA.l $7EC025
|
LDA.b #$0D : STA.l $7EC025
|
||||||
|
|
||||||
JSR HandleMapDrawIcon
|
JSR HandleMapDrawIcon
|
||||||
.skip_draw_2
|
.skip_draw_2
|
||||||
|
|
||||||
|
; Draw Crystal 4
|
||||||
|
LDA.l $7EF37A : AND #$20 : BNE .skip_draw_3
|
||||||
|
; X position
|
||||||
|
LDA.b #$0E : STA.l $7EC10B
|
||||||
|
LDA.b #$5E : STA.l $7EC10A
|
||||||
|
; Y position
|
||||||
|
LDA.b #$06 : STA.l $7EC109
|
||||||
|
LDA.b #$68 : STA.l $7EC108
|
||||||
|
|
||||||
; Draw Crystal 4
|
LDA.b #$64 : STA.b $0D
|
||||||
LDA.l $7EF37A : AND #$20 : BNE .skip_draw_3
|
LDA.b #$3C : STA.b $0C ; Tile GFX
|
||||||
; X position
|
|
||||||
LDA.b #$0E : STA.l $7EC10B
|
|
||||||
LDA.b #$5E : STA.l $7EC10A
|
|
||||||
; Y position
|
|
||||||
LDA.b #$06 : STA.l $7EC109
|
|
||||||
LDA.b #$68 : STA.l $7EC108
|
|
||||||
|
|
||||||
LDA.b #$64 : STA.b $0D
|
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$3C : STA.b $0C ; Tile GFX
|
LDA.b #$0B : STA.l $7EC025
|
||||||
|
|
||||||
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
JSR HandleMapDrawIcon
|
||||||
LDA.b #$0B : STA.l $7EC025
|
.skip_draw_3
|
||||||
|
|
||||||
JSR HandleMapDrawIcon
|
; Draw Crystal 5
|
||||||
.skip_draw_3
|
LDA.l $7EF37A : AND #$04 : BNE .skip_draw_4
|
||||||
|
; X position
|
||||||
|
LDA.b #$0C : STA.l $7EC10B
|
||||||
|
LDA.b #$34 : STA.l $7EC10A
|
||||||
|
; Y position
|
||||||
|
LDA.b #$00 : STA.l $7EC109
|
||||||
|
LDA.b #$0E : STA.l $7EC108
|
||||||
|
|
||||||
; Draw Crystal 5
|
LDA.b #$64 : STA.b $0D
|
||||||
LDA.l $7EF37A : AND #$04 : BNE .skip_draw_4
|
LDA.b #$34 : STA.b $0C ; Tile GFX
|
||||||
; X position
|
|
||||||
LDA.b #$0C : STA.l $7EC10B
|
|
||||||
LDA.b #$34 : STA.l $7EC10A
|
|
||||||
; Y position
|
|
||||||
LDA.b #$00 : STA.l $7EC109
|
|
||||||
LDA.b #$0E : STA.l $7EC108
|
|
||||||
|
|
||||||
LDA.b #$64 : STA.b $0D
|
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$34 : STA.b $0C ; Tile GFX
|
LDA.b #$09 : STA.l $7EC025
|
||||||
|
|
||||||
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
JSR HandleMapDrawIcon
|
||||||
LDA.b #$09 : STA.l $7EC025
|
.skip_draw_4
|
||||||
|
|
||||||
JSR HandleMapDrawIcon
|
; Draw Crystal 6
|
||||||
.skip_draw_4
|
LDA.l $7EF37A : AND #$01 : BNE .skip_draw_5
|
||||||
|
; X position (6)
|
||||||
|
LDA.b #$0D : STA.l $7EC10B
|
||||||
|
LDA.b #$05 : STA.l $7EC10A
|
||||||
|
; Y position (6)
|
||||||
|
LDA.b #$0D : STA.l $7EC109
|
||||||
|
LDA.b #$09 : STA.l $7EC108
|
||||||
|
|
||||||
; Draw Crystal 6
|
LDA.b #$64 : STA.b $0D
|
||||||
LDA.l $7EF37A : AND #$01 : BNE .skip_draw_5
|
LDA.b #$32 : STA.b $0C ; Tile GFX
|
||||||
; X position (6)
|
|
||||||
LDA.b #$0D : STA.l $7EC10B
|
|
||||||
LDA.b #$05 : STA.l $7EC10A
|
|
||||||
; Y position (6)
|
|
||||||
LDA.b #$0D : STA.l $7EC109
|
|
||||||
LDA.b #$09 : STA.l $7EC108
|
|
||||||
|
|
||||||
LDA.b #$64 : STA.b $0D
|
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$32 : STA.b $0C ; Tile GFX
|
LDA.b #$0A : STA.l $7EC025
|
||||||
|
|
||||||
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
JSR HandleMapDrawIcon
|
||||||
LDA.b #$0A : STA.l $7EC025
|
.skip_draw_5
|
||||||
|
|
||||||
JSR HandleMapDrawIcon
|
; Draw Crystal 7
|
||||||
.skip_draw_5
|
LDA.l $7EF37A : AND #$08 : BNE .skip_draw_6
|
||||||
|
; X position
|
||||||
|
LDA.b #$00 : STA.l $7EC10B
|
||||||
|
LDA.b #$F4 : STA.l $7EC10A
|
||||||
|
; Y position
|
||||||
|
LDA.b #$0D : STA.l $7EC109
|
||||||
|
LDA.b #$0E : STA.l $7EC108
|
||||||
|
|
||||||
; Draw Crystal 7
|
LDA.b #$64 : STA.b $0D
|
||||||
LDA.l $7EF37A : AND #$08 : BNE .skip_draw_6
|
LDA.b #$32 : STA.b $0C ; Tile GFX
|
||||||
; X position
|
|
||||||
LDA.b #$00 : STA.l $7EC10B
|
|
||||||
LDA.b #$F4 : STA.l $7EC10A
|
|
||||||
; Y position
|
|
||||||
LDA.b #$0D : STA.l $7EC109
|
|
||||||
LDA.b #$0E : STA.l $7EC108
|
|
||||||
|
|
||||||
LDA.b #$64 : STA.b $0D
|
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$32 : STA.b $0C ; Tile GFX
|
LDA.b #$0C : STA.l $7EC025
|
||||||
|
|
||||||
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
JSR HandleMapDrawIcon
|
||||||
LDA.b #$0C : STA.l $7EC025
|
.skip_draw_6
|
||||||
|
|
||||||
JSR HandleMapDrawIcon
|
JMP restore_coords_and_exit
|
||||||
.skip_draw_6
|
|
||||||
|
|
||||||
JMP restore_coords_and_exit
|
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleMapDrawIcon:
|
HandleMapDrawIcon:
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ Sprite_MakuTree_Main:
|
|||||||
MakuTree_Handler:
|
MakuTree_Handler:
|
||||||
{
|
{
|
||||||
; Check the progress flags
|
; Check the progress flags
|
||||||
LDA.l $7EF3D4 : CMP.b #$01 : BEQ .has_met_link
|
LDA.l MakuTreeQuest : AND.b #$01 : BNE .has_met_link
|
||||||
%GotoAction(1)
|
%GotoAction(1)
|
||||||
RTS
|
RTS
|
||||||
.has_met_link
|
.has_met_link
|
||||||
@@ -92,8 +92,8 @@ Sprite_MakuTree_Main:
|
|||||||
LDA.w SprY, X : STA $05
|
LDA.w SprY, X : STA $05
|
||||||
JSL GetDistance8bit_Long : CMP #$28 : BCS .not_too_close
|
JSL GetDistance8bit_Long : CMP #$28 : BCS .not_too_close
|
||||||
%ShowUnconditionalMessage($20)
|
%ShowUnconditionalMessage($20)
|
||||||
LDA.b #$01 : STA.l $7EF3D4
|
LDA.b #$01 : STA.l MakuTreeQuest
|
||||||
LDA.b #$01 : STA.l $7EF3C7 ; Mark the Hall of Secrets
|
LDA.b #$01 : STA.l MapIcon ; Mushroom Grotto
|
||||||
LDA.l $7EF3D6 : ORA.b #$02 : STA.l $7EF3D6
|
LDA.l $7EF3D6 : ORA.b #$02 : STA.l $7EF3D6
|
||||||
%GotoAction(2)
|
%GotoAction(2)
|
||||||
.not_too_close
|
.not_too_close
|
||||||
|
|||||||
@@ -179,7 +179,7 @@ endif
|
|||||||
STA.l $7EF280,X
|
STA.l $7EF280,X
|
||||||
|
|
||||||
LDA.b #$02 : STA $7EF3C5
|
LDA.b #$02 : STA $7EF3C5
|
||||||
LDA.b #$01 : STA OOSPROG3
|
LDA.b #$01 : STA MakuTreeQuest
|
||||||
LDA.b #%00001010 : STA OOSPROG
|
LDA.b #%00001010 : STA OOSPROG
|
||||||
|
|
||||||
END:
|
END:
|
||||||
|
|||||||
Reference in New Issue
Block a user