summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlibjet <libj3t@gmail.com>2020-02-19 19:02:31 +0000
committerlibjet <libj3t@gmail.com>2020-02-19 19:02:31 +0000
commita973f27b371058fb98841a00d890e6978bbfcdb7 (patch)
tree0212a3046f2c6623e1461f8ee18951b321ab97fa
parentd89f593d0cd6aef4c37c400bf4c66435d7b308fb (diff)
Add home/scrolling_menu.asm
-rw-r--r--home.asm57
-rwxr-xr-xhome/scrolling_menu.asm61
-rw-r--r--main.asm4
3 files changed, 64 insertions, 58 deletions
diff --git a/home.asm b/home.asm
index b7b2bc65..aa272e23 100644
--- a/home.asm
+++ b/home.asm
@@ -257,62 +257,7 @@ GetWeekday::
INCLUDE "home/pokedex_flags.asm"
INCLUDE "home/names.asm"
-
-ScrollingMenu::
- call CopyMenuData
- ldh a, [hROMBank]
- push af
- ld a, BANK(ScrollingMenu_)
- rst Bankswitch
- call InitScrollingMenu
- call ScrollingMenuUpdatePalettes
- call ScrollingMenu_
- pop af
- rst Bankswitch
- ld a, [wMenuJoypad]
- ret
-
-ScrollingMenuUpdatePalettes:: ; 3769 (0:3769)
- ld hl, wVramState
- bit 0, [hl]
- jp nz, UpdateTimePals
- jp SetPalettes
-
-DrawScrollingMenu::
- 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
-
-ScrollingMenuJoyTextDelay::
- call DelayFrame
- ldh a, [hInMenu]
- push af
- ld a, $1
- ldh [hInMenu], a
- call JoyTextDelay
- pop af
- ldh [hInMenu], a
- ldh a, [hJoyLast]
- and $f0
- ld c, a
- ldh a, [hJoyPressed]
- and $f
- or c
- ld c, a
- ret
+INCLUDE "home/scrolling_menu.asm"
HandleStoneQueue::
ldh a, [hROMBank]
diff --git a/home/scrolling_menu.asm b/home/scrolling_menu.asm
new file mode 100755
index 00000000..6b8c1595
--- /dev/null
+++ b/home/scrolling_menu.asm
@@ -0,0 +1,61 @@
+ScrollingMenu::
+ call CopyMenuData
+ ldh a, [hROMBank]
+ push af
+
+ ld a, BANK(_ScrollingMenu) ; aka BANK(_InitScrollingMenu)
+ rst Bankswitch
+
+ call _InitScrollingMenu
+ call .UpdatePalettes
+ call _ScrollingMenu
+
+ pop af
+ rst Bankswitch
+
+ ld a, [wMenuJoypad]
+ ret
+
+.UpdatePalettes:
+ ld hl, wVramState
+ bit 0, [hl]
+ jp nz, UpdateTimePals
+ jp SetPalettes
+
+InitScrollingMenu::
+ 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
+
+JoyTextDelay_ForcehJoyDown::
+ call DelayFrame
+
+ ldh a, [hInMenu]
+ push af
+ ld a, $1
+ ldh [hInMenu], a
+ call JoyTextDelay
+ pop af
+ ldh [hInMenu], a
+
+ ldh a, [hJoyLast]
+ and D_RIGHT + D_LEFT + D_UP + D_DOWN
+ ld c, a
+ ldh a, [hJoyPressed]
+ and A_BUTTON + B_BUTTON + SELECT + START
+ or c
+ ld c, a
+ ret \ No newline at end of file
diff --git a/main.asm b/main.asm
index 629115f5..0a7fed3b 100644
--- a/main.asm
+++ b/main.asm
@@ -741,9 +741,9 @@ _InitVerticalMenuCursor::
dr $24395, $243eb
UpdateItemDescription:
dr $243eb, $244d7
-InitScrollingMenu::
+_InitScrollingMenu::
dr $244d7, $244f3
-ScrollingMenu_::
+_ScrollingMenu::
dr $244f3, $24834
SwitchItemsInBag:
dr $24834, $249dc