summaryrefslogtreecommitdiff
path: root/home/scrolling_menu.asm
diff options
context:
space:
mode:
Diffstat (limited to 'home/scrolling_menu.asm')
-rw-r--r--home/scrolling_menu.asm65
1 files changed, 65 insertions, 0 deletions
diff --git a/home/scrolling_menu.asm b/home/scrolling_menu.asm
new file mode 100644
index 000000000..cb7d7b1c5
--- /dev/null
+++ b/home/scrolling_menu.asm
@@ -0,0 +1,65 @@
+ScrollingMenu:: ; 350c
+ call CopyMenuData
+ ld a, [hROMBank]
+ push af
+
+ ld a, BANK(_ScrollingMenu)
+ rst Bankswitch
+
+ call _InitScrollingMenu
+ call .UpdatePalettes
+ call _ScrollingMenu
+
+ pop af
+ rst Bankswitch
+
+ ld a, [wMenuJoypad]
+ ret
+; 3524
+
+.UpdatePalettes: ; 3524
+ ld hl, wVramState
+ bit 0, [hl]
+ jp nz, UpdateTimePals
+ jp SetPalettes
+; 352f
+
+InitScrollingMenu:: ; 352f
+ ld a, [wMenuBorderTopCoord]
+ dec a
+ ld b, a
+ ld a, [wMenuBorderBottomCoord]
+ sub b
+ ld d, a
+ ld a, [wMenuBorderLeftCoord]
+ dec a
+ ld c, a
+ ld a, [wMenuBorderRightCoord]
+ sub c
+ ld e, a
+ push de
+ call Coord2Tile
+ pop bc
+ jp TextBox
+; 354b
+
+JoyTextDelay_ForcehJoyDown:: ; 354b joypad
+ call DelayFrame
+
+ ld a, [hInMenu]
+ push af
+ ld a, $1
+ ld [hInMenu], a
+ call JoyTextDelay
+ pop af
+ ld [hInMenu], a
+
+ ld a, [hJoyLast]
+ and D_RIGHT + D_LEFT + D_UP + D_DOWN
+ ld c, a
+ ld a, [hJoyPressed]
+ and A_BUTTON + B_BUTTON + SELECT + START
+ or c
+ ld c, a
+ ret
+; 3567