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