Cleanup menu_draw, fix bombs drawing incorrectly
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
; =============================================================================
|
; =========================================================
|
||||||
; Tilemap Menu background
|
; Tilemap Menu background
|
||||||
|
|
||||||
Menu_DrawBackground:
|
Menu_DrawBackground:
|
||||||
@@ -30,44 +30,44 @@ Menu_DrawBackground:
|
|||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
; =============================================================================
|
; =========================================================
|
||||||
; Menu Item Draw Routine
|
; Menu Item Draw Routine
|
||||||
; Credit to Kan
|
; Credit to Kan
|
||||||
|
|
||||||
DrawMenuItem:
|
DrawMenuItem:
|
||||||
{
|
{
|
||||||
STA.b $08
|
STA.b $08
|
||||||
STY.b $00
|
STY.b $00
|
||||||
|
|
||||||
LDA.b [$08]
|
LDA.b [$08]
|
||||||
AND.w #$00FF
|
AND.w #$00FF
|
||||||
|
|
||||||
BNE .not_zero
|
BNE .not_zero
|
||||||
|
|
||||||
LDY.w #NothingGFX
|
LDY.w #NothingGFX
|
||||||
BRA .draw
|
BRA .draw
|
||||||
|
|
||||||
.not_zero
|
.not_zero
|
||||||
DEC
|
DEC
|
||||||
|
|
||||||
ASL : ASL : ASL
|
ASL : ASL : ASL
|
||||||
ADC.b $00
|
ADC.b $00
|
||||||
TAY
|
TAY
|
||||||
|
|
||||||
.draw
|
.draw
|
||||||
LDA.w $0000,Y : STA.w $1108,X
|
LDA.w $0000,Y : STA.w $1108,X
|
||||||
LDA.w $0002,Y : STA.w $110A,X
|
LDA.w $0002,Y : STA.w $110A,X
|
||||||
LDA.w $0004,Y : STA.w $1148,X
|
LDA.w $0004,Y : STA.w $1148,X
|
||||||
LDA.w $0006,Y : STA.w $114A,X
|
LDA.w $0006,Y : STA.w $114A,X
|
||||||
|
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
; =============================================================================
|
; =========================================================
|
||||||
; Quest Icons Tilemap Draw Routine
|
; Quest Icons Tilemap Draw Routine
|
||||||
|
|
||||||
DrawQuestIcons:
|
Menu_DrawQuestIcons:
|
||||||
{
|
{
|
||||||
LDX.w #$10
|
LDX.w #$10
|
||||||
|
|
||||||
@@ -94,9 +94,9 @@ DrawQuestIcons:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
; =============================================================================
|
; =========================================================
|
||||||
|
|
||||||
DrawTriforceIcon:
|
Menu_DrawTriforceIcons:
|
||||||
{
|
{
|
||||||
LDA.l $7EF37A
|
LDA.l $7EF37A
|
||||||
LDX.w #$3534
|
LDX.w #$3534
|
||||||
@@ -135,9 +135,9 @@ DrawTriforceIcon:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
;===============================================================================
|
; =========================================================
|
||||||
|
|
||||||
DrawPendantIcons:
|
Menu_DrawPendantIcons:
|
||||||
{
|
{
|
||||||
LDA.l $7EF374
|
LDA.l $7EF374
|
||||||
LSR : BCC +
|
LSR : BCC +
|
||||||
@@ -156,7 +156,7 @@ DrawPendantIcons:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
;===============================================================================
|
; =========================================================
|
||||||
|
|
||||||
; V H O P P P T T T T T T T T T T <- tile format
|
; V H O P P P T T T T T T T T T T <- tile format
|
||||||
; V = Vertical Flip
|
; V = Vertical Flip
|
||||||
@@ -169,6 +169,12 @@ DrawPendantIcons:
|
|||||||
|
|
||||||
DrawHeartPieces:
|
DrawHeartPieces:
|
||||||
{
|
{
|
||||||
|
; Empty heart containter
|
||||||
|
LDX.w #$2484 : STX.w $149E ; top left
|
||||||
|
LDX.w #$6484 : STX.w $14A0 ; top right
|
||||||
|
LDX.w #$2485 : STX.w $14DE ; bottom left
|
||||||
|
LDX.w #$6485 : STX.w $14E0 ; bottom right
|
||||||
|
|
||||||
LDA.l $7EF36B
|
LDA.l $7EF36B
|
||||||
AND.w #$00FF
|
AND.w #$00FF
|
||||||
CMP.w #3 : BEQ .top_right
|
CMP.w #3 : BEQ .top_right
|
||||||
@@ -186,111 +192,113 @@ DrawHeartPieces:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
;===============================================================================
|
; =========================================================
|
||||||
|
|
||||||
DrawMusicNotes:
|
DrawMusicNotes:
|
||||||
|
{
|
||||||
LDA.w #$02
|
LDA.w #$02
|
||||||
STA.w MusicNoteValue
|
STA.w MusicNoteValue
|
||||||
LDA.w #MusicNoteValue
|
LDA.w #MusicNoteValue
|
||||||
LDX.w #menu_offset(17,14)
|
LDX.w #menu_offset(17,14)
|
||||||
LDY.w #QuarterNoteGFX
|
LDY.w #QuarterNoteGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
LDA.w #$03
|
LDA.w #$03
|
||||||
STA.w MusicNoteValue
|
STA.w MusicNoteValue
|
||||||
LDA.w #MusicNoteValue
|
LDA.w #MusicNoteValue
|
||||||
LDX.w #menu_offset(17,17)
|
LDX.w #menu_offset(17,17)
|
||||||
LDY.w #QuarterNoteGFX
|
LDY.w #QuarterNoteGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
LDA.w #$04
|
LDA.w #$04
|
||||||
STA.w MusicNoteValue
|
STA.w MusicNoteValue
|
||||||
LDA.w #MusicNoteValue
|
LDA.w #MusicNoteValue
|
||||||
LDX.w #menu_offset(17,20)
|
LDX.w #menu_offset(17,20)
|
||||||
LDY.w #QuarterNoteGFX
|
LDY.w #QuarterNoteGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
RTS
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
;===============================================================================
|
; =========================================================
|
||||||
|
|
||||||
DrawYItems:
|
DrawYItems:
|
||||||
{
|
{
|
||||||
SEP #$30
|
SEP #$30
|
||||||
LDA.b #$7E : STA.b $0A ; Set up the bank of our indirect address
|
LDA.b #$7E : STA.b $0A ; Set up the bank of our indirect address
|
||||||
REP #$30
|
REP #$30
|
||||||
|
|
||||||
LDA.w #$7EF340
|
LDA.w #$7EF340
|
||||||
LDX.w #menu_offset(7,3)
|
LDX.w #menu_offset(7,3)
|
||||||
LDY.w #BowsGFX
|
LDY.w #BowsGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
LDA.w #$7EF341
|
LDA.w #$7EF341
|
||||||
LDX.w #menu_offset(7,6)
|
LDX.w #menu_offset(7,6)
|
||||||
LDY.w #BoomsGFX
|
LDY.w #BoomsGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
LDA.l $7EF342 : CMP.w #$0000 : BEQ .no_hookshot
|
LDA.l $7EF342 : AND.w #$00FF : CMP.w #$0000 : BEQ .no_hookshot
|
||||||
LDA.w GoldstarOrHookshot : BNE .spoof_hookshot
|
LDA.w GoldstarOrHookshot : BNE .spoof_hookshot
|
||||||
LDA #$0001 ; No goldstar, but hookshot
|
LDA #$0001 ; No goldstar, but hookshot
|
||||||
.spoof_hookshot
|
.spoof_hookshot
|
||||||
STA.w MenuItemValueSpoof : LDA.w #MenuItemValueSpoof
|
STA.w MenuItemValueSpoof : LDA.w #MenuItemValueSpoof
|
||||||
LDX.w #menu_offset(7,9)
|
LDX.w #menu_offset(7,9)
|
||||||
LDY.w #HookGFX
|
LDY.w #HookGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
.no_hookshot
|
.no_hookshot
|
||||||
|
|
||||||
LDA.l $7EF343
|
LDA.l $7EF343
|
||||||
CMP.w #$00 : BEQ .no_bomb
|
AND.w #$00FF : CMP.w #$00 : BEQ .no_bomb
|
||||||
LDA.w #$0001
|
LDA.w #$0001
|
||||||
STA.w MenuItemValueSpoof
|
STA.w MenuItemValueSpoof
|
||||||
LDA.w #MenuItemValueSpoof
|
LDA.w #MenuItemValueSpoof
|
||||||
LDX.w #menu_offset(7,13)
|
LDX.w #menu_offset(7,13)
|
||||||
LDY.w #BombsGFX
|
LDY.w #BombsGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
.no_bomb
|
.no_bomb
|
||||||
|
|
||||||
LDA.w #$7EF344
|
LDA.w #$7EF344
|
||||||
LDX.w #menu_offset(7,16)
|
LDX.w #menu_offset(7,16)
|
||||||
LDY.w #PowderGFX
|
LDY.w #PowderGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
LDA.w #$7EF35C
|
LDA.w #$7EF35C
|
||||||
LDX.w #menu_offset(7,19)
|
LDX.w #menu_offset(7,19)
|
||||||
LDY.w #BottlesGFX
|
LDY.w #BottlesGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
;; next row
|
;; next row
|
||||||
|
|
||||||
LDA.w #$7EF34B
|
LDA.w #$7EF34B
|
||||||
LDX.w #menu_offset(10,3)
|
LDX.w #menu_offset(10,3)
|
||||||
LDY.w #HammerGFX
|
LDY.w #HammerGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
LDA.w #$7EF34A
|
LDA.w #$7EF34A
|
||||||
LDX.w #menu_offset(10,6)
|
LDX.w #menu_offset(10,6)
|
||||||
LDY.w #LampGFX
|
LDY.w #LampGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
LDA.w #$7EF345
|
LDA.w #$7EF345
|
||||||
LDX.w #menu_offset(10,9)
|
LDX.w #menu_offset(10,9)
|
||||||
LDY.w #Fire_rodGFX
|
LDY.w #Fire_rodGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
LDA.w #$7EF346
|
LDA.w #$7EF346
|
||||||
LDX.w #menu_offset(10,13)
|
LDX.w #menu_offset(10,13)
|
||||||
LDY.w #Ice_rodGFX
|
LDY.w #Ice_rodGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
LDA.w #$7EF353
|
LDA.w #$7EF353
|
||||||
LDX.w #menu_offset(10,16)
|
LDX.w #menu_offset(10,16)
|
||||||
LDY.w #MirrorGFX
|
LDY.w #MirrorGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
LDA.w #$7EF35D
|
LDA.w #$7EF35D
|
||||||
LDX.w #menu_offset(10,19)
|
LDX.w #menu_offset(10,19)
|
||||||
LDY.w #BottlesGFX
|
LDY.w #BottlesGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
;; next row
|
;; next row
|
||||||
LDA.l $7EF34C : CMP.w #$0000 : BEQ .no_ocarina
|
LDA.l $7EF34C : CMP.w #$0000 : BEQ .no_ocarina
|
||||||
@@ -298,79 +306,87 @@ DrawYItems:
|
|||||||
LDA #$0001 ; Multi-songs not unlocked yet
|
LDA #$0001 ; Multi-songs not unlocked yet
|
||||||
.spoof_ocarina
|
.spoof_ocarina
|
||||||
STA.w ShortSpoof : LDA.w #ShortSpoof
|
STA.w ShortSpoof : LDA.w #ShortSpoof
|
||||||
LDX.w #menu_offset(13,3)
|
LDX.w #menu_offset(13,3)
|
||||||
LDY.w #OcarinaGFX
|
LDY.w #OcarinaGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
.no_ocarina
|
.no_ocarina
|
||||||
|
|
||||||
LDA.l $7EF34E : CMP.w #$00 : BEQ .no_book
|
LDA.l $7EF34E : CMP.w #$00 : BEQ .no_book
|
||||||
LDA.w #$01 : STA.w ShortSpoof : LDA.w #ShortSpoof
|
LDA.w #$01 : STA.w ShortSpoof : LDA.w #ShortSpoof
|
||||||
LDX.w #menu_offset(13,6)
|
LDX.w #menu_offset(13,6)
|
||||||
LDY.w #BookGFX
|
LDY.w #BookGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
.no_book
|
.no_book
|
||||||
|
|
||||||
LDA.w #$7EF350
|
; LDA.l $7EF350 : CMP.w #$00 : BEQ .no_somaria
|
||||||
LDX.w #menu_offset(13,9)
|
; LDA.w SomariaOrByrna : BNE .spoof_somaria
|
||||||
LDY.w #SomariaGFX
|
; .spoof_somaria
|
||||||
JSR DrawMenuItem
|
; LDA.w #$01 : STA.w ShortSpoof : LDA.w #ShortSpoof
|
||||||
|
LDA.w #$7EF350
|
||||||
|
LDX.w #menu_offset(13,9)
|
||||||
|
LDY.w #SomariaGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
.no_somaria
|
||||||
|
|
||||||
LDA.w #$7EF351
|
|
||||||
LDX.w #menu_offset(13,13)
|
LDA.w #$7EF351
|
||||||
LDY.w #ByrnaGFX
|
LDX.w #menu_offset(13,13)
|
||||||
JSR DrawMenuItem
|
;LDY.w #ByrnaGFX
|
||||||
|
LDY.w #FishingRodGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
LDA.w #$7EF34D
|
LDA.w #$7EF34D
|
||||||
LDX.w #menu_offset(13,16)
|
LDX.w #menu_offset(13,16)
|
||||||
LDY.w #JumpFeatherGFX
|
LDY.w #JumpFeatherGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
LDA.w #$7EF35E
|
LDA.w #$7EF35E
|
||||||
LDX.w #menu_offset(13,19)
|
LDX.w #menu_offset(13,19)
|
||||||
LDY.w #BottlesGFX
|
LDY.w #BottlesGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
;; next row
|
;; next row
|
||||||
|
|
||||||
LDA.w #$7EF349
|
LDA.w #$7EF349
|
||||||
LDX.w #menu_offset(16,3)
|
LDX.w #menu_offset(16,3)
|
||||||
LDY.w #DekuMaskGFX
|
LDY.w #DekuMaskGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
LDA.w #$7EF347
|
LDA.w #$7EF347
|
||||||
LDX.w #menu_offset(16,6)
|
LDX.w #menu_offset(16,6)
|
||||||
LDY.w #ZoraMaskGFX
|
LDY.w #ZoraMaskGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
LDA.w #$7EF358
|
LDA.w #$7EF358
|
||||||
LDX.w #menu_offset(16,9)
|
LDX.w #menu_offset(16,9)
|
||||||
LDY.w #WolfMaskGFX
|
LDY.w #WolfMaskGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
LDA.w #$7EF348
|
LDA.w #$7EF348
|
||||||
LDX.w #menu_offset(16,13)
|
LDX.w #menu_offset(16,13)
|
||||||
LDY.w #BunnyHoodGFX
|
LDY.w #BunnyHoodGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
LDA.w #$7EF352
|
LDA.w #$7EF352
|
||||||
LDX.w #menu_offset(16,16)
|
LDX.w #menu_offset(16,16)
|
||||||
LDY.w #StoneMaskGFX
|
LDY.w #StoneMaskGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
LDA.w #$7EF35F
|
LDA.w #$7EF35F
|
||||||
LDX.w #menu_offset(16,19)
|
LDX.w #menu_offset(16,19)
|
||||||
LDY.w #BottlesGFX
|
LDY.w #BottlesGFX
|
||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
; =============================================================================
|
; =========================================================
|
||||||
|
|
||||||
Menu_DrawQuestItems:
|
Menu_DrawQuestItems:
|
||||||
SEP #$30
|
{
|
||||||
LDA.b #$7E : STA.b $0A
|
SEP #$30
|
||||||
REP #$30
|
LDA.b #$7E : STA.b $0A
|
||||||
|
REP #$30
|
||||||
|
|
||||||
LDA.w #$7EF359
|
LDA.w #$7EF359
|
||||||
LDX.w #menu_offset(14,2)
|
LDX.w #menu_offset(14,2)
|
||||||
@@ -411,8 +427,9 @@ Menu_DrawQuestItems:
|
|||||||
JSR DrawMenuItem
|
JSR DrawMenuItem
|
||||||
|
|
||||||
RTS
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
; =============================================================================
|
; =========================================================
|
||||||
|
|
||||||
Menu_DrawBigKey:
|
Menu_DrawBigKey:
|
||||||
{
|
{
|
||||||
@@ -430,8 +447,8 @@ Menu_DrawBigKey:
|
|||||||
JSR CheckPalaceItemPossession : LDA $02 : BEQ .noTreasureYet
|
JSR CheckPalaceItemPossession : LDA $02 : BEQ .noTreasureYet
|
||||||
|
|
||||||
SEP #$30
|
SEP #$30
|
||||||
LDA.b #$7E : STA.b $0A
|
LDA.b #$7E : STA.b $0A
|
||||||
REP #$30
|
REP #$30
|
||||||
|
|
||||||
LDA.w #$01
|
LDA.w #$01
|
||||||
STA.w ShortSpoof
|
STA.w ShortSpoof
|
||||||
@@ -443,8 +460,8 @@ Menu_DrawBigKey:
|
|||||||
.noTreasureYet
|
.noTreasureYet
|
||||||
|
|
||||||
SEP #$30
|
SEP #$30
|
||||||
LDA.b #$7E : STA.b $0A
|
LDA.b #$7E : STA.b $0A
|
||||||
REP #$30
|
REP #$30
|
||||||
|
|
||||||
LDA.w #$01
|
LDA.w #$01
|
||||||
STA.w ShortSpoof
|
STA.w ShortSpoof
|
||||||
@@ -482,7 +499,7 @@ Menu_DrawBigKey:
|
|||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
; =============================================================================
|
; =========================================================
|
||||||
|
|
||||||
; *$6EEB6-$6EEDB LOCAL
|
; *$6EEB6-$6EEDB LOCAL
|
||||||
CheckPalaceItemPossession:
|
CheckPalaceItemPossession:
|
||||||
@@ -509,7 +526,7 @@ CheckPalaceItemPossession:
|
|||||||
dw .red_mail
|
dw .red_mail
|
||||||
}
|
}
|
||||||
|
|
||||||
; ==============================================================================
|
; ==========================================================
|
||||||
|
|
||||||
; *$6EEDC-$6EEE0 JUMP LOCATION
|
; *$6EEDC-$6EEE0 JUMP LOCATION
|
||||||
.pool_CheckPalaceItemPossession:
|
.pool_CheckPalaceItemPossession:
|
||||||
@@ -604,8 +621,8 @@ Menu_DrawBigChestKey:
|
|||||||
BCC .dontHaveCompass
|
BCC .dontHaveCompass
|
||||||
|
|
||||||
SEP #$30
|
SEP #$30
|
||||||
LDA.b #$7E : STA.b $0A
|
LDA.b #$7E : STA.b $0A
|
||||||
REP #$30
|
REP #$30
|
||||||
|
|
||||||
LDA.w #$01
|
LDA.w #$01
|
||||||
STA.w ShortSpoof
|
STA.w ShortSpoof
|
||||||
|
|||||||
Reference in New Issue
Block a user