summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZumi Daxuya <daxuya.zumi+code@protonmail.com>2021-01-21 16:12:37 +0700
committerZumi Daxuya <daxuya.zumi+code@protonmail.com>2021-01-21 16:22:01 +0700
commit9e07bb0778d7f236518a21cd77b78ed36085c903 (patch)
treea65cca2dcbe900d1068be6db59d3fd1892081888
parent0e25150cab59a8f5822ad7cfad176e3a35b4dc71 (diff)
Disassemble start menu frame type dialog
-rw-r--r--constants/start_menu_constants.asm2
-rw-r--r--engine/menu/frame_type_dialog.asm43
-rw-r--r--engine/menu/start_menu.asm6
-rw-r--r--layout.link2
-rwxr-xr-xshim.sym1
5 files changed, 49 insertions, 5 deletions
diff --git a/constants/start_menu_constants.asm b/constants/start_menu_constants.asm
index 3b8d12a..79a2a57 100644
--- a/constants/start_menu_constants.asm
+++ b/constants/start_menu_constants.asm
@@ -6,5 +6,5 @@
const START_SAVE ; 4
const START_OPTIONS ; 5
const START_EXIT ; 6
- const START_TRAINER_GEAR ; 7
+ const START_SET_FRAME ; 7
const START_RESET ; 8
diff --git a/engine/menu/frame_type_dialog.asm b/engine/menu/frame_type_dialog.asm
new file mode 100644
index 0000000..57bfeed
--- /dev/null
+++ b/engine/menu/frame_type_dialog.asm
@@ -0,0 +1,43 @@
+INCLUDE "constants.asm"
+
+SECTION "engine/menu/frame_type_dialog.asm", ROMX
+
+FrameTypeDialog:
+ ld hl, .MenuHeader
+ call LoadMenuHeader
+ ld a, [wActiveFrame]
+ inc a
+ ld [wMenuCursorBuffer], a
+ call VerticalMenu
+ jr c, .close
+ ld a, [wMenuCursorY]
+ dec a
+ ld [wActiveFrame], a
+ push de
+ ld de, 3 ; SFX_MENU
+ call PlaySFX
+ pop de
+ call LoadFontExtra
+ call WaitBGMap
+
+.close
+ call CloseWindow
+ ret
+
+.MenuHeader:
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, SCREEN_WIDTH / 2, SCREEN_HEIGHT - 1
+ dw .MenuData
+ db 1 ; default option
+
+.MenuData:
+ db STATICMENU_CURSOR ; flags
+ db 8 ; items
+ db "1ばんめ@"
+ db "2ばんめ@"
+ db "3ばんめ@"
+ db "4ばんめ@"
+ db "5ばんめ@"
+ db "6ばんめ@"
+ db "7ばんめ@"
+ db "8ばんめ@"
diff --git a/engine/menu/start_menu.asm b/engine/menu/start_menu.asm
index 2e9981d..e20f53f 100644
--- a/engine/menu/start_menu.asm
+++ b/engine/menu/start_menu.asm
@@ -94,7 +94,7 @@ StartMenuJumpTable:
dw StartMenu_Save
dw StartMenu_Settings
dw StartMenu_Exit
- dw StartMenu_TrainerGear
+ dw StartMenu_SetFrame
dw StartMenu_Reset
StartMenuItems:
@@ -173,8 +173,8 @@ StartMenu_Exit:
ld a, 1
ret
-StartMenu_TrainerGear:
- callab TrainerGear
+StartMenu_SetFrame:
+ callab FrameTypeDialog
ld a, 0
ret
diff --git a/layout.link b/layout.link
index ab1e182..6bca730 100644
--- a/layout.link
+++ b/layout.link
@@ -937,6 +937,8 @@ ROMX $3e
ROMX $3f
org $4000
+ org $4305
+ "engine/menu/frame_type_dialog.asm"
org $4362
"engine/menu/reset_dialog.asm"
org $4a57
diff --git a/shim.sym b/shim.sym
index 5b3b000..e281c84 100755
--- a/shim.sym
+++ b/shim.sym
@@ -155,7 +155,6 @@
3A:52FB CryHeaderPointers
3F:40E9 InGameDebugMenu
-3F:4305 TrainerGear
3F:4C24 Functionfcc24
3F:4E3E Functionfce3e
3F:5B66 Functionfdb66