refactor comment max line width to 80 and moved select item code into its own file
This commit is contained in:
192
Menu/menu.asm
192
Menu/menu.asm
@@ -1,16 +1,16 @@
|
||||
;===========================================================
|
||||
; The Legend of Zelda: Oracle of Secrets
|
||||
; ------------NEW Custom Menu ------------
|
||||
; =============================================================================
|
||||
; The Legend of Zelda: Oracle of Secrets
|
||||
; ------------NEW Custom Menu ------------
|
||||
;
|
||||
; Details: Complete overhaul of original LTTP menu
|
||||
; Two Pane Oot/MM inspired design
|
||||
; Original item layout and designs
|
||||
; Detailed Quest Status screen
|
||||
; Player name, location name, and death count
|
||||
; Details: Complete overhaul of original LTTP menu
|
||||
; Two Pane Oot/MM inspired design
|
||||
; Original item layout and designs
|
||||
; Detailed Quest Status screen
|
||||
; Player name, location name, and death count
|
||||
;
|
||||
; Significant thanks to Kan for helping me craft this menu!
|
||||
; Significant thanks to Kan for helping me craft this menu!
|
||||
;
|
||||
;===========================================================
|
||||
; =============================================================================
|
||||
|
||||
pushpc
|
||||
org $1BD662 ; update in game hud colors
|
||||
@@ -25,7 +25,7 @@ org $1DB682
|
||||
dw hexto555($7b7b83), hexto555($bbbbbb)
|
||||
org $1DB68A
|
||||
dw hexto555($a58100), hexto555($dfb93f)
|
||||
org $0098AB ; menu override
|
||||
org $0098AB ; hook vanilla menu routine
|
||||
db $D8>>1
|
||||
org $00F877
|
||||
db Menu_Entry>>0
|
||||
@@ -39,6 +39,7 @@ org $8DDFB2
|
||||
LDA.l Menu_ItemIndex, X
|
||||
pullpc
|
||||
|
||||
; upload tilemaps containing frame of menu and icons
|
||||
org $248000
|
||||
Menu_Tilemap:
|
||||
incbin "tilemaps/menu_frame.tilemap"
|
||||
@@ -50,6 +51,7 @@ incsrc "menu_draw_items.asm"
|
||||
incsrc "menu_text.asm"
|
||||
incsrc "menu_palette.asm"
|
||||
|
||||
; Traverse jump table containing routines for Oracle of Secrets menu
|
||||
Menu_Entry:
|
||||
PHB : PHK : PLB
|
||||
LDA.w $0200
|
||||
@@ -61,7 +63,7 @@ Menu_Entry:
|
||||
RTL
|
||||
incsrc "menu_vectors.asm"
|
||||
|
||||
; ===================================================================================
|
||||
; =============================================================================
|
||||
; 00 MENU INIT GRAPHICS
|
||||
|
||||
Menu_InitGraphics:
|
||||
@@ -70,7 +72,7 @@ Menu_InitGraphics:
|
||||
INC $0200
|
||||
}
|
||||
|
||||
; ===================================================================================
|
||||
; =============================================================================
|
||||
; 01 MENU UPLOAD RIGHT
|
||||
|
||||
Menu_UploadRight:
|
||||
@@ -104,7 +106,7 @@ Menu_UploadRight:
|
||||
RTS
|
||||
}
|
||||
|
||||
; ===================================================================================
|
||||
; =============================================================================
|
||||
; 02 MENU UPLOAD LEFT
|
||||
|
||||
Menu_UploadLeft:
|
||||
@@ -130,7 +132,7 @@ Menu_UploadLeft:
|
||||
RTS
|
||||
}
|
||||
|
||||
; ===================================================================================
|
||||
; =============================================================================
|
||||
; 03 MENU SCROLL DOWN
|
||||
|
||||
Menu_Scroll:
|
||||
@@ -155,148 +157,10 @@ Menu_ScrollDown:
|
||||
RTS
|
||||
}
|
||||
|
||||
; ===================================================================================
|
||||
; =============================================================================
|
||||
; 04 MENU ITEM SCREEN
|
||||
incsrc "menu_select_item.asm"
|
||||
|
||||
Menu_ItemIndex:
|
||||
db $03 ; slingshot
|
||||
db $02 ; boomerang
|
||||
db $0E ; hookshot
|
||||
db $01 ; bombs
|
||||
db $11 ; deku mask
|
||||
db $0B ; bottle1
|
||||
db $05 ; firerod (nimbus)
|
||||
db $06 ; icerod
|
||||
db $09 ; lamp
|
||||
db $04 ; hammer
|
||||
db $0F ; bombos / goron
|
||||
db $4B ; bottle2
|
||||
db $12 ; somaria
|
||||
db $0D ; byrna
|
||||
db $0C ; book
|
||||
db $07 ; feather
|
||||
db $10 ; bunny hood
|
||||
db $8B ; bottle3
|
||||
db $08 ; ocarina
|
||||
db $14 ; mirror
|
||||
db $0B ; shovel
|
||||
db $0A ; powder
|
||||
db $13 ; stone mask
|
||||
db $CB ; bottle4
|
||||
|
||||
Menu_AddressIndex:
|
||||
db $7EF340 ; bow
|
||||
db $7EF341 ; boom
|
||||
db $7EF342 ; hookshot
|
||||
db $7EF343 ; bombs
|
||||
db $7EF348 ; deku mask
|
||||
db $7EF35C ; bottle1
|
||||
db $7EF345 ; firerod (nimbus)
|
||||
db $7EF346 ; icerod
|
||||
db $7EF34A ; lamp
|
||||
db $7EF34B ; hammer
|
||||
db $7EF347 ; bombos / goron
|
||||
db $7EF35D ; bottle2
|
||||
db $7EF350 ; somaria
|
||||
db $7EF351 ; byrna
|
||||
db $7EF34E ; book
|
||||
db $7EF34D ; feather
|
||||
db $7EF349 ; bunny hood
|
||||
db $7EF35E ; bottle3
|
||||
db $7EF34C ; ocarina
|
||||
db $7EF353 ; mirror
|
||||
db $7EF34F ; shovel
|
||||
db $7EF344 ; powder
|
||||
db $7EF352 ; stone mask
|
||||
db $7EF35F ; bottle4
|
||||
|
||||
Menu_ItemCursorPositions:
|
||||
dw menu_offset(6,1) ; bow
|
||||
dw menu_offset(6,4) ; boom
|
||||
dw menu_offset(6,7) ; hookshot
|
||||
dw menu_offset(6,10) ; bombs
|
||||
dw menu_offset(6,13) ; deku mask
|
||||
dw menu_offset(6,16) ; bottle1
|
||||
dw menu_offset(9,1) ; firerod
|
||||
dw menu_offset(9,4) ; icerod
|
||||
dw menu_offset(9,7) ; lamp
|
||||
dw menu_offset(9,10) ; hammer
|
||||
dw menu_offset(9,13) ; goron
|
||||
dw menu_offset(9,16) ; bottle2
|
||||
dw menu_offset(12,1) ; somaria
|
||||
dw menu_offset(12,4) ; byrna
|
||||
dw menu_offset(12,7) ; book
|
||||
dw menu_offset(12,10) ; feather
|
||||
dw menu_offset(12,13) ; bunny hood
|
||||
dw menu_offset(12,16) ; bottle3
|
||||
dw menu_offset(15,1) ; flute
|
||||
dw menu_offset(15,4) ; mirror
|
||||
dw menu_offset(15,7) ; shovel
|
||||
dw menu_offset(15,10) ; powder
|
||||
dw menu_offset(15,13) ; stone mask
|
||||
dw menu_offset(15,16) ; bottle
|
||||
|
||||
; ----------------------
|
||||
Menu_FindNextItem:
|
||||
LDY.w $0202 : INY
|
||||
CPY.b #$19 : BCC .no_reset
|
||||
LDY.b #$01
|
||||
.no_reset
|
||||
STY.w $0202
|
||||
LDX.w Menu_AddressIndex-1, Y
|
||||
LDA.l $7EF300, X
|
||||
BEQ Menu_FindNextItem
|
||||
RTS
|
||||
; ----------------------
|
||||
Menu_FindPrevItem:
|
||||
LDY.w $0202 : DEY : BNE .no_reset
|
||||
LDY.b #$18
|
||||
.no_reset
|
||||
STY.w $0202
|
||||
LDX.w Menu_AddressIndex-1, Y
|
||||
LDA.l $7EF300, X
|
||||
BEQ Menu_FindPrevItem
|
||||
RTS
|
||||
; ----------------------
|
||||
Menu_FindNextDownItem:
|
||||
LDA.w $0202 : CLC : ADC.b #$06
|
||||
CMP.b #$19 : BCC .no_reset
|
||||
SBC.b #$18
|
||||
.no_reset
|
||||
TAY : STY.w $0202
|
||||
LDX.w Menu_AddressIndex-1, Y
|
||||
LDA.l $7EF300, X
|
||||
BEQ Menu_FindNextUpItem
|
||||
RTS
|
||||
; ----------------------
|
||||
Menu_FindNextUpItem:
|
||||
LDA.w $0202 : SEC : SBC.b #$06
|
||||
BPL .no_reset : BNE .no_reset
|
||||
CLC : ADC.b #$18
|
||||
.no_reset
|
||||
TAY : STY.w $0202
|
||||
LDX.w Menu_AddressIndex-1, Y
|
||||
LDA.l $7EF300, X
|
||||
BEQ Menu_FindNextDownItem
|
||||
RTS
|
||||
; ----------------------
|
||||
Menu_DeleteCursor:
|
||||
REP #$30
|
||||
LDX.w Menu_ItemCursorPositions-2, Y
|
||||
|
||||
LDA.w #$20F5
|
||||
STA.w $1108, X
|
||||
STA.w $1148, X
|
||||
STA.w $114E, X
|
||||
STA.w $110E, X
|
||||
STA.w $11C8, X
|
||||
STA.w $1188, X
|
||||
STA.w $118E, X
|
||||
STA.w $11CE, X
|
||||
SEP #$30
|
||||
STZ $0207
|
||||
RTS
|
||||
; ----------------------
|
||||
Menu_InitItemScreen:
|
||||
{
|
||||
SEP #$30
|
||||
@@ -407,7 +271,7 @@ Menu_ItemScreen:
|
||||
RTS
|
||||
}
|
||||
|
||||
; ===================================================================================
|
||||
; =============================================================================
|
||||
; 05 MENU SCROLL TO
|
||||
|
||||
Menu_ScrollTo:
|
||||
@@ -422,7 +286,7 @@ Menu_ScrollTo:
|
||||
RTS
|
||||
}
|
||||
|
||||
; ===================================================================================
|
||||
; =============================================================================
|
||||
; 06 MENU STATS SCREEN
|
||||
|
||||
Menu_StatsScreen:
|
||||
@@ -487,7 +351,7 @@ Menu_ScrollHorizontal:
|
||||
RTS
|
||||
}
|
||||
|
||||
; ===================================================================================
|
||||
; =============================================================================
|
||||
; 07 MENU SCROLL FROM
|
||||
|
||||
Menu_ScrollFrom:
|
||||
@@ -501,7 +365,7 @@ Menu_ScrollFrom:
|
||||
RTS
|
||||
}
|
||||
|
||||
; ===================================================================================
|
||||
; =============================================================================
|
||||
; 08 MENU SCROLL UP
|
||||
|
||||
Menu_ScrollUp:
|
||||
@@ -526,7 +390,7 @@ Menu_ScrollUp:
|
||||
RTS
|
||||
}
|
||||
|
||||
; ===================================================================================
|
||||
; =============================================================================
|
||||
; incomplete :(
|
||||
Menu_CheckBottle:
|
||||
{
|
||||
@@ -545,7 +409,7 @@ Menu_CheckBottle:
|
||||
RTS
|
||||
}
|
||||
|
||||
; ===================================================================================
|
||||
; =============================================================================
|
||||
; 09 MENU EXIT
|
||||
|
||||
Menu_Exit:
|
||||
@@ -576,7 +440,7 @@ Menu_Exit:
|
||||
|
||||
RTS
|
||||
}
|
||||
; ===================================================================================
|
||||
; =============================================================================
|
||||
; XX MENU HIJACK HUD
|
||||
|
||||
HudItems:
|
||||
@@ -648,7 +512,7 @@ Menu_UpdateHudItem:
|
||||
RTL
|
||||
}
|
||||
|
||||
; ===================================================================================
|
||||
; =============================================================================
|
||||
|
||||
Menu_DrawBackground:
|
||||
{
|
||||
@@ -679,6 +543,6 @@ Menu_DrawBackground:
|
||||
RTS
|
||||
}
|
||||
|
||||
;===============================================================================
|
||||
; =============================================================================
|
||||
|
||||
incsrc "lw_map_names.asm"
|
||||
156
Menu/menu_select_item.asm
Normal file
156
Menu/menu_select_item.asm
Normal file
@@ -0,0 +1,156 @@
|
||||
; =============================================================================
|
||||
; Item Selection Code
|
||||
; =============================================================================
|
||||
|
||||
Menu_ItemIndex:
|
||||
db $03 ; slingshot
|
||||
db $02 ; boomerang
|
||||
db $0E ; hookshot
|
||||
db $01 ; bombs
|
||||
db $11 ; deku mask
|
||||
db $0B ; bottle1
|
||||
db $05 ; firerod (nimbus)
|
||||
db $06 ; icerod
|
||||
db $09 ; lamp
|
||||
db $04 ; hammer
|
||||
db $0F ; bombos / goron
|
||||
db $4B ; bottle2
|
||||
db $12 ; somaria
|
||||
db $0D ; byrna
|
||||
db $0C ; book
|
||||
db $07 ; feather
|
||||
db $10 ; bunny hood
|
||||
db $8B ; bottle3
|
||||
db $08 ; ocarina
|
||||
db $14 ; mirror
|
||||
db $0B ; shovel
|
||||
db $0A ; powder
|
||||
db $13 ; stone mask
|
||||
db $CB ; bottle4
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
Menu_AddressIndex:
|
||||
db $7EF340 ; bow
|
||||
db $7EF341 ; boom
|
||||
db $7EF342 ; hookshot
|
||||
db $7EF343 ; bombs
|
||||
db $7EF348 ; deku mask
|
||||
db $7EF35C ; bottle1
|
||||
db $7EF345 ; firerod (nimbus)
|
||||
db $7EF346 ; icerod
|
||||
db $7EF34A ; lamp
|
||||
db $7EF34B ; hammer
|
||||
db $7EF347 ; bombos / goron
|
||||
db $7EF35D ; bottle2
|
||||
db $7EF350 ; somaria
|
||||
db $7EF351 ; byrna
|
||||
db $7EF34E ; book
|
||||
db $7EF34D ; feather
|
||||
db $7EF349 ; bunny hood
|
||||
db $7EF35E ; bottle3
|
||||
db $7EF34C ; ocarina
|
||||
db $7EF353 ; mirror
|
||||
db $7EF34F ; shovel
|
||||
db $7EF344 ; powder
|
||||
db $7EF352 ; stone mask
|
||||
db $7EF35F ; bottle4
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
Menu_ItemCursorPositions:
|
||||
dw menu_offset(6,1) ; bow
|
||||
dw menu_offset(6,4) ; boom
|
||||
dw menu_offset(6,7) ; hookshot
|
||||
dw menu_offset(6,10) ; bombs
|
||||
dw menu_offset(6,13) ; deku mask
|
||||
dw menu_offset(6,16) ; bottle1
|
||||
dw menu_offset(9,1) ; firerod
|
||||
dw menu_offset(9,4) ; icerod
|
||||
dw menu_offset(9,7) ; lamp
|
||||
dw menu_offset(9,10) ; hammer
|
||||
dw menu_offset(9,13) ; goron
|
||||
dw menu_offset(9,16) ; bottle2
|
||||
dw menu_offset(12,1) ; somaria
|
||||
dw menu_offset(12,4) ; byrna
|
||||
dw menu_offset(12,7) ; book
|
||||
dw menu_offset(12,10) ; feather
|
||||
dw menu_offset(12,13) ; bunny hood
|
||||
dw menu_offset(12,16) ; bottle3
|
||||
dw menu_offset(15,1) ; flute
|
||||
dw menu_offset(15,4) ; mirror
|
||||
dw menu_offset(15,7) ; shovel
|
||||
dw menu_offset(15,10) ; powder
|
||||
dw menu_offset(15,13) ; stone mask
|
||||
dw menu_offset(15,16) ; bottle
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
Menu_FindNextItem:
|
||||
LDY.w $0202 : INY
|
||||
CPY.b #$19 : BCC .no_reset
|
||||
LDY.b #$01
|
||||
.no_reset
|
||||
STY.w $0202
|
||||
LDX.w Menu_AddressIndex-1, Y
|
||||
LDA.l $7EF300, X
|
||||
BEQ Menu_FindNextItem
|
||||
RTS
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
Menu_FindPrevItem:
|
||||
LDY.w $0202 : DEY : BNE .no_reset
|
||||
LDY.b #$18
|
||||
.no_reset
|
||||
STY.w $0202
|
||||
LDX.w Menu_AddressIndex-1, Y
|
||||
LDA.l $7EF300, X
|
||||
BEQ Menu_FindPrevItem
|
||||
RTS
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
Menu_FindNextDownItem:
|
||||
LDA.w $0202 : CLC : ADC.b #$06
|
||||
CMP.b #$19 : BCC .no_reset
|
||||
SBC.b #$18
|
||||
.no_reset
|
||||
TAY : STY.w $0202
|
||||
LDX.w Menu_AddressIndex-1, Y
|
||||
LDA.l $7EF300, X
|
||||
BEQ Menu_FindNextUpItem
|
||||
RTS
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
Menu_FindNextUpItem:
|
||||
LDA.w $0202 : SEC : SBC.b #$06
|
||||
BPL .no_reset : BNE .no_reset
|
||||
CLC : ADC.b #$18
|
||||
.no_reset
|
||||
TAY : STY.w $0202
|
||||
LDX.w Menu_AddressIndex-1, Y
|
||||
LDA.l $7EF300, X
|
||||
BEQ Menu_FindNextDownItem
|
||||
RTS
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
Menu_DeleteCursor:
|
||||
REP #$30
|
||||
LDX.w Menu_ItemCursorPositions-2, Y
|
||||
|
||||
LDA.w #$20F5
|
||||
STA.w $1108, X
|
||||
STA.w $1148, X
|
||||
STA.w $114E, X
|
||||
STA.w $110E, X
|
||||
STA.w $11C8, X
|
||||
STA.w $1188, X
|
||||
STA.w $118E, X
|
||||
STA.w $11CE, X
|
||||
SEP #$30
|
||||
STZ $0207
|
||||
RTS
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
Reference in New Issue
Block a user