refactor comment max line width to 80 and moved select item code into its own file

This commit is contained in:
Justin Scofield
2022-06-18 11:56:54 -04:00
parent 935ac54130
commit c7fd68efa5
2 changed files with 184 additions and 164 deletions

View File

@@ -1,4 +1,4 @@
;===========================================================
; =============================================================================
; The Legend of Zelda: Oracle of Secrets
; ------------NEW Custom Menu ------------
;
@@ -10,7 +10,7 @@
;
; 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
View 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
; -----------------------------------------------------------------------------