ref: 066cc91b136b7266288b832bfa212123400ed758
parent: f27f79488a460f0a89670f3611e1e9e175baf5d6
author: mid-kid <esteve.varela@gmail.com>
date: Sat Dec 30 07:23:20 EST 2017
Fix some MenuData2 labels Gave them better names, moved the flags out of the union, and documented the w2DMenuFlags1.
--- a/engine/menu.asm
+++ b/engine/menu.asm
@@ -110,14 +110,14 @@
ret
; 240cd
-GetMenuNumberOfColumns: ; 240cd
- ld a, [wMenuData2Items]
+Get2DMenuNumberOfColumns: ; 240cd
+ ld a, [wMenuData2_2DMenuDimensions]
and $f
ret
; 240d3
-GetMenuNumberOfRows: ; 240d3
- ld a, [wMenuData2Items]
+Get2DMenuNumberOfRows: ; 240d3
+ ld a, [wMenuData2_2DMenuDimensions]
swap a
and $f
ret
@@ -130,12 +130,12 @@
ld d, [hl]
call GetMenuTextStartCoord
call Coord2Tile
- call GetMenuNumberOfRows
+ call Get2DMenuNumberOfRows
ld b, a
.row
push bc
push hl
- call GetMenuNumberOfColumns
+ call Get2DMenuNumberOfColumns
ld c, a
.col
push bc
@@ -142,7 +142,7 @@
ld a, [wMenuData2_2DMenuItemStringsBank]
call Place2DMenuItemName
inc de
- ld a, [wMenuData2Spacing]
+ ld a, [wMenuData2_2DMenuSpacing]
ld c, a
ld b, 0
add hl, bc
@@ -174,9 +174,9 @@
dec c
ld a, c
ld [w2DMenuCursorInitX], a
- call GetMenuNumberOfRows
+ call Get2DMenuNumberOfRows
ld [w2DMenuNumRows], a
- call GetMenuNumberOfColumns
+ call Get2DMenuNumberOfColumns
ld [w2DMenuNumCols], a
call .InitFlags_a
call .InitFlags_b
@@ -238,7 +238,7 @@
; 2418a
.InitFlags_b: ; 2418a
- ld a, [wMenuData2Spacing]
+ ld a, [wMenuData2_2DMenuSpacing]
or $20
ld [w2DMenuCursorOffsets], a
ret
--- a/wram.asm
+++ b/wram.asm
@@ -1361,37 +1361,28 @@
wMenuDataHeaderEnd::
wMenuData2::
-UNION ; cf91
; MenuData2
-wMenuData2Flags:: ; cf91
-; bit 7: When set, start printing text one tile to the right of the border
-; In scrolling menus, SELECT is functional
-; bit 6: When set, start printing text one tile below the border
-; In scrolling menus, START is functional
-; bit 5: ????
-; bit 4: ????
-; bit 3: ????
-; bit 2: ????
-; bit 1: Enable Select button
-; bit 0: Disable B button
- db
+
+wMenuData2Flags:: db ; cf91
+
+UNION ; cf92
+; Vertical Menu/DoNthMenu/SetUpMenu
wMenuData2Items:: db ; cf92
wMenuData2IndicesPointer:: dw ; cf94
wMenuData2DisplayFunctionPointer:: dw ; cf96
wMenuData2PointerTableAddr:: dw ; cf97
-NEXTU ; cf91
-; 2D menu
- ds 2 ; cf91
-wMenuData2Spacing:: db ; cf93
+NEXTU ; cf92
+; 2D Menu
+wMenuData2_2DMenuDimensions:: db ; cf92
+wMenuData2_2DMenuSpacing:: db ; cf93
wMenuData2_2DMenuItemStringsBank:: db ; cf94
wMenuData2_2DMenuItemStringsAddr:: dw ; cf96
wMenuData2_2DMenuFunctionBank:: db ; cf97
wMenuData2_2DMenuFunctionAddr:: dw ; cf98
-NEXTU ; cf91
-; scrolling menu
- ds 1 ; cf91
+NEXTU ; cf92
+; Scrolling Menu
wMenuData2_ScrollingMenuHeight:: db ; cf92
wMenuData2_ScrollingMenuWidth:: db ; cf93
wMenuData2_ScrollingMenuSpacing:: db ; cf94
@@ -1408,7 +1399,16 @@
w2DMenuCursorInitX:: db ; cfa2
w2DMenuNumRows:: db ; cfa3
w2DMenuNumCols:: db ; cfa4
-w2DMenuFlags1:: db ; cfa5
+w2DMenuFlags1:: ; cfa5
+; bit 7: Disable checking of wMenuJoypadFilter
+; bit 6: Enable sprite animations
+; bit 5: Wrap around vertically
+; bit 4: Wrap around horizontally
+; bit 3: Set bit 7 in w2DMenuFlags2 and exit the loop if bit 5 is disabled and we tried to go too far down
+; bit 2: Set bit 7 in w2DMenuFlags2 and exit the loop if bit 5 is disabled and we tried to go too far up
+; bit 1: Set bit 7 in w2DMenuFlags2 and exit the loop if bit 4 is disabled and we tried to go too far left
+; bit 0: Set bit 7 in w2DMenuFlags2 and exit the loop if bit 4 is disabled and we tried to go too far right
+ db
w2DMenuFlags2:: db ; cfa6
w2DMenuCursorOffsets:: db ; cfa7
wMenuJoypadFilter:: db ; cfa8