Identify scrolling menu lists in WRAM

Fixes #809
This commit is contained in:
Rangi 2021-03-08 09:41:55 -05:00
parent 9c17fb14c8
commit c1c609ec4a
6 changed files with 20 additions and 18 deletions

View File

@ -27,7 +27,7 @@ Elevator::
ret
.LoadFloors:
ld de, wCurElevator
ld de, wCurElevatorCount
ld bc, wElevatorDataEnd - wElevatorData
ld hl, wElevatorPointer
ld a, [hli]
@ -38,6 +38,7 @@ Elevator::
inc hl
ld [de], a
inc de
assert wCurElevatorCount + 1 == wCurElevatorFloors
.loop
ld a, [wElevatorPointerBank]
call GetFarByte
@ -184,7 +185,7 @@ Elevator_MenuData:
db SCROLLINGMENU_DISPLAY_ARROWS ; flags
db 4, 0 ; rows, columns
db SCROLLINGMENU_ITEMS_NORMAL ; item format
dbw 0, wCurElevator
dbw 0, wCurElevatorCount
dba GetElevatorFloorStrings
dba NULL
dba NULL

View File

@ -101,9 +101,10 @@ LoadMartPointer:
ld [wMartPointer], a
ld a, d
ld [wMartPointer + 1], a
ld hl, wCurMart
ld hl, wCurMartCount
assert wCurMartCount + 1 == wCurMartItems
xor a
ld bc, wCurMartEnd - wCurMart
ld bc, 16
call ByteFill
xor a ; STANDARDMART_HOWMAYIHELPYOU
ld [wMartJumptableIndex], a
@ -219,7 +220,7 @@ FarReadMart:
ld a, [hli]
ld h, [hl]
ld l, a
ld de, wCurMart
ld de, wCurMartCount
.CopyMart:
ld a, [wMartPointerBank]
call GetFarByte
@ -229,7 +230,7 @@ FarReadMart:
cp -1
jr nz, .CopyMart
ld hl, wMartItem1BCD
ld de, wCurMart + 1
ld de, wCurMartItems
.ReadMartItem:
ld a, [de]
inc de
@ -297,9 +298,9 @@ ReadMart:
; set hl to the first item
inc hl
ld bc, wMartItem1BCD
ld de, wCurMart + 1
ld de, wCurMartItems
.loop
; copy the item to wCurMart + (ItemIndex)
; copy the items to wCurMartItems
ld a, [hli]
ld [de], a
inc de
@ -328,7 +329,7 @@ ReadMart:
.done
pop hl
ld a, [hl]
ld [wCurMart], a
ld [wCurMartCount], a
ret
INCLUDE "data/items/bargain_shop.asm"
@ -599,7 +600,7 @@ MenuHeader_Buy:
db SCROLLINGMENU_DISPLAY_ARROWS | SCROLLINGMENU_ENABLE_FUNCTION3 ; flags
db 4, 8 ; rows, columns
db SCROLLINGMENU_ITEMS_NORMAL ; item format
dbw 0, wCurMart
dbw 0, wCurMartCount
dba PlaceMenuItemName
dba .PrintBCDPrices
dba UpdateItemDescription

View File

@ -20,7 +20,7 @@ InitList:
.check_mon_name
cp INIT_MON_LIST
jr nz, .check_item_name
ld hl, wCurMart
ld hl, wCurMartCount
ld de, PokemonNames
ld a, MON_NAME
jr .done
@ -34,7 +34,7 @@ InitList:
jr .done
.check_ob_item_name
ld hl, wCurMart
ld hl, wCurMartCount
ld de, ItemNames
ld a, ITEM_NAME
.done

View File

@ -412,7 +412,7 @@ PopulateDecoCategoryMenu:
db SCROLLINGMENU_DISPLAY_ARROWS ; flags
db 8, 0 ; rows, columns
db SCROLLINGMENU_ITEMS_NORMAL ; item format
dbw 0, wDecoNameBuffer ; text pointer
dbw 0, wNumOwnedDecoCategories
dba DecorationMenuFunction
dbw 0, NULL
dbw 0, NULL

View File

@ -547,7 +547,7 @@ MailboxPC:
db SCROLLINGMENU_DISPLAY_ARROWS ; flags
db 4, 0 ; rows, columns
db SCROLLINGMENU_ITEMS_NORMAL ; item format
dbw 0, wMailboxCount ; text pointer
dbw 0, wMailboxCount
dba MailboxPC_PrintMailAuthor
dba NULL
dba NULL

View File

@ -2117,13 +2117,13 @@ wUsingItemWithSelect:: db
UNION
; mart data
wCurMart:: ds 16
wCurMartEnd::
wCurMartCount:: db
wCurMartItems:: ds 15
NEXTU
; elevator data
wCurElevator:: db
wCurElevatorFloors:: db
wCurElevatorCount:: db
wCurElevatorFloors:: ds 15
NEXTU
; mailbox data