diff --git a/Overworld/world_map.asm b/Overworld/world_map.asm index 4221986..3f4f175 100644 --- a/Overworld/world_map.asm +++ b/Overworld/world_map.asm @@ -258,124 +258,178 @@ MapIconDraw: ;Removed pyramid open code? -;--------------------------------------------------------------------------------------------------- +;----------------------------------- .draw_prizes LDA.b $8A : AND.b #$40 : BEQ .lwprizes - ; X position - LDA.b #$00 : STA.l $7EC10B - LDA.b #$89 : STA.l $7EC10A ; Upper nybble control Zoomed low X pos - ; Y position - LDA.b #$00 : STA.l $7EC109 - LDA.b #$E4 : STA.l $7EC108 ; Upper nybble control Zoomed low Y pos - ; Tile GFX - LDA.b #$66 : STA.b $0D - LDA.b #$34 : STA.b $0C - ; Tile Size - LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8 - LDA.b #$0E : STA.l $7EC025 ; OAM Slot used + ; X position + LDA.b #$00 : STA.l $7EC10B + LDA.b #$89 : STA.l $7EC10A ; Upper nybble control Zoomed low X pos + ; Y position + LDA.b #$00 : STA.l $7EC109 + LDA.b #$E4 : STA.l $7EC108 ; Upper nybble control Zoomed low Y pos + ; Tile GFX + LDA.b #$66 : STA.b $0D + LDA.b #$34 : STA.b $0C + ; Tile Size + LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8 + LDA.b #$0E : STA.l $7EC025 ; OAM Slot used - JSR HandleMapDrawIcon + JSR HandleMapDrawIcon - JMP restore_coords_and_exit + JMP restore_coords_and_exit .lwprizes - ; Draw Amulet 1 - LDA.l $7EF374 : AND #$04 : BNE .skip_draw_0 - ; X position - LDA.b #$0E : STA.l $7EC10B - LDA.b #$3E : STA.l $7EC10A - ; Y position - LDA.b #$04 : STA.l $7EC109 - LDA.b #$68 : STA.l $7EC108 - ; Tile GFX - LDA.b #$60 : STA.b $0D - LDA.b #$38 : STA.b $0C - ; Tile Size - LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8 - LDA.b #$0E : STA.l $7EC025 ; OAM Slot used - JSR HandleMapDrawIcon + ; Draw Crystal 1 + LDA.l $7EF37A : AND #$02 : BNE .skip_draw_0 + ; X position + LDA.b #$00 : STA.l $7EC10B + LDA.b #$87 : STA.l $7EC10A + ; Y position + LDA.b #$06 : STA.l $7EC109 + LDA.b #$01 : STA.l $7EC108 + ; Tile GFX + LDA.b #$64 : STA.b $0D + LDA.b #$38 : STA.b $0C + ; Tile Size + LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8 + LDA.b #$0E : STA.l $7EC025 ; OAM Slot used + JSR HandleMapDrawIcon .skip_draw_0 - ; Draw Amulet 2 - LDA.l $7EF374 : AND #$02 : BNE .skip_draw_1 - ; X position - LDA.b #$0D : STA.l $7EC10B - LDA.b #$05 : STA.l $7EC10A - ; Y position - LDA.b #$0D : STA.l $7EC109 - LDA.b #$09 : STA.l $7EC108 + ; Draw Crystal 3 + LDA.l $7EF37A : AND #$10 : BNE .skip_draw_1 + ; X position (2) + LDA.b #$1E : STA.l $7EC10B + LDA.b #$3E : STA.l $7EC10A + ; Y position (2) + LDA.b #$09 : STA.l $7EC109 + LDA.b #$74 : STA.l $7EC108 - LDA.b #$60 : STA.b $0D - LDA.b #$34 : STA.b $0C ; Tile GFX + ; Icon 3 + LDA.b #$64 : STA.b $0D + LDA.b #$34 : STA.b $0C ; Tile GFX - LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8 - LDA.b #$0D : STA.l $7EC025 + LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8 + LDA.b #$0D : STA.l $7EC025 - JSR HandleMapDrawIcon + JSR HandleMapDrawIcon .skip_draw_1 - ; Draw Amulet 3 - LDA.l $7EF374 : AND #$01 : BNE .skip_draw_2 - ; X position - LDA.b #$09 : 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 3 + LDA.l $7EF37A : AND #$40 : BNE .skip_draw_2 + ; X position + LDA.b #$09 : STA.l $7EC10B + LDA.b #$34 : STA.l $7EC10A + ; Y position + LDA.b #$00 : STA.l $7EC109 + LDA.b #$0E : STA.l $7EC108 + ; Icon 7 + LDA.b #$64 : STA.b $0D + LDA.b #$32 : STA.b $0C ; Tile GFX - LDA.b #$60 : STA.b $0D - LDA.b #$32 : STA.b $0C ; Tile GFX + LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8 + LDA.b #$0C : STA.l $7EC025 - LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8 - LDA.b #$0C : STA.l $7EC025 - - JSR HandleMapDrawIcon + JSR HandleMapDrawIcon .skip_draw_2 - ; Draw Amulet 4 - ; LDA.l $7EF37A : AND #$01 : BNE .skip_draw_3 - ; ; X position - ; LDA.b #$00 : STA.l $7EC10B - ; LDA.b #$87 : STA.l $7EC10A - ; ; Y position - ; LDA.b #$06 : STA.l $7EC109 - ; LDA.b #$01 : STA.l $7EC108 + ; Draw Crystal 4 + LDA.l $7EF37A : AND #$01 : BNE .skip_draw_3 + ; X position + LDA.b #$0E : STA.l $7EC10B + LDA.b #$3E : STA.l $7EC10A + ; Y position + LDA.b #$04 : STA.l $7EC109 + LDA.b #$68 : STA.l $7EC108 - ; LDA.b #$60 : STA.b $0D - ; LDA.b #$3C : STA.b $0C ; Tile GFX + LDA.b #$64 : STA.b $0D + LDA.b #$3C : STA.b $0C ; Tile GFX - ; LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8 - ; LDA.b #$0B : STA.l $7EC025 + LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8 + LDA.b #$0B : STA.l $7EC025 - ; JSR HandleMapDrawIcon + JSR HandleMapDrawIcon - ; .skip_draw_3 + .skip_draw_3 - ; ; Draw Flute X - ; LDA.l $7EF34C : CMP #$01 : BNE .skip_draw_flute - ; ; X position - ; LDA.b #$09 : STA.l $7EC10B - ; LDA.b #$00 : STA.l $7EC10A - ; ; Y position - ; LDA.b #$02 : STA.l $7EC109 - ; LDA.b #$74 : STA.l $7EC108 + ; Draw Crystal 5 + LDA.l $7EF37A : AND #$20 : BNE .skip_draw_4 + ; X position + LDA.b #$09 : STA.l $7EC10B + LDA.b #$00 : STA.l $7EC10A + ; Y position + LDA.b #$02 : STA.l $7EC109 + LDA.b #$74 : STA.l $7EC108 - ; LDA.b #$68 : STA.b $0D - ; LDA.b #$3C : STA.b $0C ; Tile GFX + LDA.b #$64 : STA.b $0D + LDA.b #$3C : STA.b $0C ; Tile GFX - ; LDA.b #$00 : STA.b $0B ; 02 = 16x16, 00 = 8x8 - ; LDA.b #$0A : STA.l $7EC025 + LDA.b #$00 : STA.b $0B ; 02 = 16x16, 00 = 8x8 + LDA.b #$0A : STA.l $7EC025 - ; JSR HandleMapDrawIcon_noflash + JSR HandleMapDrawIcon_noflash - ; .skip_draw_flute + .skip_draw_4 + + ; Draw Crystal 6 + LDA.l $7EF37A : AND #$04 : 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 + + LDA.b #$64 : STA.b $0D + LDA.b #$32 : STA.b $0C ; Tile GFX + + LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8 + LDA.b #$09 : STA.l $7EC025 + + JSR HandleMapDrawIcon + .skip_draw_5 + + ; Draw Crystal 7 + LDA.l $7EF37A : AND #$08 : BNE .skip_draw_6 + ; X position + LDA.b #$00 : STA.l $7EC10B + LDA.b #$87 : STA.l $7EC10A + ; Y position + LDA.b #$04 : STA.l $7EC109 + LDA.b #$68 : STA.l $7EC108 + + LDA.b #$64 : STA.b $0D + LDA.b #$34 : STA.b $0C ; Tile GFX + + LDA.b #$00 : STA.b $0B ; 02 = 16x16, 00 = 8x8 + LDA.b #$08 : STA.l $7EC025 + + JSR HandleMapDrawIcon_noflash + .skip_draw_6 + + LDA.l $7EF37A : AND #$20 : BNE .skip_draw_x + ; X position + LDA.b #$0A : STA.l $7EC10B + LDA.b #$00 : STA.l $7EC10A + ; Y position + LDA.b #$04 : STA.l $7EC109 + LDA.b #$74 : STA.l $7EC108 + + LDA.b #$68 : STA.b $0D + LDA.b #$34 : STA.b $0C ; Tile GFX + + LDA.b #$00 : STA.b $0B ; 02 = 16x16, 00 = 8x8 + LDA.b #$07 : STA.l $7EC025 + + JSR HandleMapDrawIcon_noflash + .skip_draw_x JMP restore_coords_and_exit }