summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi42@gmail.com>2021-03-08 09:41:55 -0500
committerRangi <remy.oukaour+rangi42@gmail.com>2021-03-08 09:41:55 -0500
commitc1c609ec4a4bab7fef0e744cd631567b57c794fa (patch)
tree0cb20238976b10490e5b6ef9bbf92067dce454db
parent9c17fb14c8068d6662b9ca1cb048ed206b6770ee (diff)
Identify scrolling menu lists in WRAM
Fixes #809
-rw-r--r--engine/events/elevator.asm5
-rw-r--r--engine/items/mart.asm17
-rw-r--r--engine/link/init_list.asm4
-rw-r--r--engine/overworld/decorations.asm2
-rw-r--r--engine/pokemon/mail.asm2
-rw-r--r--wram.asm8
6 files changed, 20 insertions, 18 deletions
diff --git a/engine/events/elevator.asm b/engine/events/elevator.asm
index e51b6be15..001122fb9 100644
--- a/engine/events/elevator.asm
+++ b/engine/events/elevator.asm
@@ -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
diff --git a/engine/items/mart.asm b/engine/items/mart.asm
index 6234cafbe..d7523cab6 100644
--- a/engine/items/mart.asm
+++ b/engine/items/mart.asm
@@ -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
diff --git a/engine/link/init_list.asm b/engine/link/init_list.asm
index 8f578476b..4d76ebdc8 100644
--- a/engine/link/init_list.asm
+++ b/engine/link/init_list.asm
@@ -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
diff --git a/engine/overworld/decorations.asm b/engine/overworld/decorations.asm
index 288e60d4e..18a4fa5c1 100644
--- a/engine/overworld/decorations.asm
+++ b/engine/overworld/decorations.asm
@@ -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
diff --git a/engine/pokemon/mail.asm b/engine/pokemon/mail.asm
index 4ad133004..e9cc15517 100644
--- a/engine/pokemon/mail.asm
+++ b/engine/pokemon/mail.asm
@@ -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
diff --git a/wram.asm b/wram.asm
index 3f04a81a2..21a5d10f1 100644
--- a/wram.asm
+++ b/wram.asm
@@ -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