summaryrefslogtreecommitdiff
path: root/home/scrolling_menu.asm
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi42@gmail.com>2018-04-05 00:35:14 -0400
committerRangi <remy.oukaour+rangi42@gmail.com>2018-04-05 00:35:14 -0400
commit99df17d57173cb82abc668714727c5dada6aac73 (patch)
treea3361adbf67e878d15c08a813aadcfc51b396c2c /home/scrolling_menu.asm
parent1e1bbbbf8c82364dcfb8e64ad22c4ce3e9988c75 (diff)
Move more code from home.asm into home/
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