summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/script_menu.s625
-rw-r--r--data/script_menu.s780
-rw-r--r--include/field_effect.h2
-rw-r--r--include/script_menu.h8
-rw-r--r--include/strings.h254
-rw-r--r--ld_script.txt3
-rw-r--r--src/field_effect.c6
-rw-r--r--src/script_menu.c1326
-rw-r--r--sym_ewram.txt6
9 files changed, 1534 insertions, 1476 deletions
diff --git a/asm/script_menu.s b/asm/script_menu.s
deleted file mode 100644
index 6d8513245..000000000
--- a/asm/script_menu.s
+++ /dev/null
@@ -1,625 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80E2878
-sub_80E2878: @ 80E2878
- push {lr}
- ldr r2, =gSpecialVar_Result
- ldrh r0, [r2]
- cmp r0, 0x7F
- beq _080E288C
- ldr r0, =gUnknown_03001124
- ldrh r1, [r2]
- adds r1, r0
- ldrb r0, [r1]
- strh r0, [r2]
-_080E288C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E2878
-
- thumb_func_start task_picbox
-task_picbox: @ 80E2898
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080E28F8
- cmp r0, 0x1
- bgt _080E28C0
- cmp r0, 0
- beq _080E28DE
- b _080E28F8
- .pool
-_080E28C0:
- cmp r0, 0x2
- beq _080E28CA
- cmp r0, 0x3
- beq _080E28EC
- b _080E28F8
-_080E28CA:
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- ldrb r1, [r4, 0xC]
- bl FreeResourcesAndDestroySprite
-_080E28DE:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080E28F8
- .pool
-_080E28EC:
- ldrb r0, [r4, 0x12]
- bl sub_80E2A78
- adds r0, r5, 0
- bl DestroyTask
-_080E28F8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end task_picbox
-
- thumb_func_start ScriptMenu_ShowPokemonPic
-ScriptMenu_ShowPokemonPic: @ 80E2900
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r4, =task_picbox
- adds r0, r4, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080E29B8
- lsls r1, r7, 19
- movs r0, 0xA0
- lsls r0, 14
- adds r1, r0
- asrs r1, 16
- lsls r2, r6, 19
- adds r2, r0
- asrs r2, 16
- mov r0, r8
- movs r3, 0
- bl CreateMonSprite_PicBox
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x8
- movs r3, 0x8
- bl CreateWindowFromRect
- ldr r1, =gTasks
- lsls r3, r4, 2
- adds r3, r4
- lsls r3, 3
- adds r3, r1
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- strh r0, [r3, 0x12]
- strh r1, [r3, 0x8]
- mov r0, r8
- strh r0, [r3, 0xA]
- strh r5, [r3, 0xC]
- ldr r4, =gSprites
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r0, r4, 0
- adds r0, 0x1C
- adds r0, r1, r0
- ldr r2, =SpriteCallbackDummy
- str r2, [r0]
- adds r1, r4
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- ldrb r0, [r3, 0x12]
- movs r1, 0x1
- bl SetStandardWindowBorderStyle
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x1
- b _080E29BA
- .pool
-_080E29B8:
- movs r0, 0
-_080E29BA:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end ScriptMenu_ShowPokemonPic
-
- thumb_func_start ScriptMenu_GetPicboxWaitFunc
-ScriptMenu_GetPicboxWaitFunc: @ 80E29C4
- push {lr}
- ldr r0, =task_picbox
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _080E29F4
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- ldr r0, =sub_80E29FC
- b _080E29F6
- .pool
-_080E29F4:
- movs r0, 0
-_080E29F6:
- pop {r1}
- bx r1
- thumb_func_end ScriptMenu_GetPicboxWaitFunc
-
- thumb_func_start sub_80E29FC
-sub_80E29FC: @ 80E29FC
- push {lr}
- ldr r0, =task_picbox
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080E2A14
- movs r0, 0
- b _080E2A16
- .pool
-_080E2A14:
- movs r0, 0x1
-_080E2A16:
- pop {r1}
- bx r1
- thumb_func_end sub_80E29FC
-
- thumb_func_start CreateWindowFromRect
-CreateWindowFromRect: @ 80E2A1C
- push {r4,r5,lr}
- sub sp, 0x20
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsls r5, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x80
- lsls r0, 17
- adds r4, r0
- lsrs r4, 24
- adds r5, r0
- lsrs r5, 24
- str r2, [sp]
- str r3, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0x64
- str r0, [sp, 0xC]
- add r0, sp, 0x10
- movs r1, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl CreateWindowTemplate
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- add r0, sp, 0x18
- bl AddWindow
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- add sp, 0x20
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CreateWindowFromRect
-
- thumb_func_start sub_80E2A78
-sub_80E2A78: @ 80E2A78
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8198070
- adds r0, r4, 0
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E2A78
-
- thumb_func_start sub_80E2A94
-sub_80E2A94: @ 80E2A94
- push {r4,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x4A
- cmp r0, 0x5
- bhi _080E2B70
- lsls r0, 2
- ldr r1, =_080E2AB0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080E2AB0:
- .4byte _080E2B40
- .4byte _080E2B08
- .4byte _080E2AD8
- .4byte _080E2AC8
- .4byte _080E2AE8
- .4byte _080E2AF8
-_080E2AC8:
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r4, =gUnknown_0858BBAC
- b _080E2B12
- .pool
-_080E2AD8:
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r4, =gUnknown_0858BB9C
- b _080E2B12
- .pool
-_080E2AE8:
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r4, =gUnknown_0858BBBC
- b _080E2B12
- .pool
-_080E2AF8:
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r4, =gUnknown_0858BBCC
- b _080E2B12
- .pool
-_080E2B08:
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r4, =gUnknown_0858BBEC
-_080E2B12:
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized2
- b _080E2B70
- .pool
-_080E2B40:
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r4, =gUnknown_0858BBE0
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized2
-_080E2B70:
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E2A94
-
- thumb_func_start sp106_CreateStartMenu
-sp106_CreateStartMenu: @ 80E2B7C
- push {lr}
- ldr r0, =Task_HandleMultichoiceInput
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080E2BA4
- ldr r1, =gSpecialVar_Result
- movs r0, 0xFF
- strh r0, [r1]
- bl CreateStartMenu
- movs r0, 0x1
- b _080E2BA6
- .pool
-_080E2BA4:
- movs r0, 0
-_080E2BA6:
- pop {r1}
- bx r1
- thumb_func_end sp106_CreateStartMenu
-
- thumb_func_start CreateStartMenu
-CreateStartMenu: @ 80E2BAC
- push {r4-r6,lr}
- sub sp, 0xC
- movs r0, 0x15
- movs r1, 0
- movs r2, 0x7
- movs r3, 0x12
- bl CreateWindowFromRect
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl SetStandardWindowBorderStyle
- ldr r2, =gText_MenuOptionPokedex
- movs r0, 0x9
- str r0, [sp]
- movs r5, 0xFF
- str r5, [sp, 0x4]
- movs r6, 0
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r2, =gText_MenuOptionPokemon
- movs r0, 0x19
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r2, =gText_MenuOptionBag
- movs r0, 0x29
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r2, =gText_MenuOptionPokenav
- movs r0, 0x39
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- movs r0, 0x49
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r2, =gText_MenuOptionSave
- movs r0, 0x59
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r2, =gText_MenuOptionOption
- movs r0, 0x69
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r2, =gText_MenuOptionExit
- movs r0, 0x79
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- movs r0, 0x10
- str r0, [sp]
- movs r0, 0x8
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x9
- bl sub_81983AC
- movs r0, 0
- movs r1, 0x8
- adds r2, r4, 0
- movs r3, 0x56
- bl sub_80E2CC4
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CreateStartMenu
-
- thumb_func_start sub_80E2CC4
-sub_80E2CC4: @ 80E2CC4
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- ldr r1, =gUnknown_02039F90
- movs r0, 0x2
- strb r0, [r1]
- ldr r0, =Task_HandleMultichoiceInput
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r4, [r1, 0x10]
- strh r0, [r1, 0x12]
- strh r5, [r1, 0x14]
- strh r6, [r1, 0x16]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E2CC4
-
- thumb_func_start display_text_and_get_width_internal
-display_text_and_get_width_internal: @ 80E2D10
- push {lr}
- sub sp, 0x40
- adds r1, r0, 0
- mov r0, sp
- bl StringExpandPlaceholders
- movs r0, 0x1
- mov r1, sp
- movs r2, 0
- bl GetStringWidth
- add sp, 0x40
- pop {r1}
- bx r1
- thumb_func_end display_text_and_get_width_internal
-
- thumb_func_start display_text_and_get_width
-display_text_and_get_width: @ 80E2D2C
- push {r4,lr}
- adds r4, r1, 0
- bl display_text_and_get_width_internal
- cmp r0, r4
- bge _080E2D3A
- adds r0, r4, 0
-_080E2D3A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end display_text_and_get_width
-
- thumb_func_start convert_pixel_width_to_tile_width
-convert_pixel_width_to_tile_width: @ 80E2D40
- push {lr}
- adds r1, r0, 0
- adds r0, 0x9
- cmp r0, 0
- bge _080E2D4C
- adds r0, 0x7
-_080E2D4C:
- asrs r0, 3
- adds r0, 0x1
- cmp r0, 0x1C
- ble _080E2D56
- movs r0, 0x1C
-_080E2D56:
- pop {r1}
- bx r1
- thumb_func_end convert_pixel_width_to_tile_width
-
- thumb_func_start sub_80E2D5C
-sub_80E2D5C: @ 80E2D5C
- push {lr}
- adds r2, r0, 0
- adds r0, r2, r1
- cmp r0, 0x1C
- ble _080E2D70
- movs r0, 0x1C
- subs r2, r0, r1
- cmp r2, 0
- bge _080E2D70
- movs r2, 0
-_080E2D70:
- adds r0, r2, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80E2D5C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/data/script_menu.s b/data/script_menu.s
deleted file mode 100644
index 008d36bf4..000000000
--- a/data/script_menu.s
+++ /dev/null
@@ -1,780 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
-gUnknown_0858ABD8:: @ 858ABD8
- .4byte gUnknown_085EAD37, 0
- .4byte gUnknown_085EAD41, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858ABF0:: @ 58ABF0
- .4byte gUnknown_085EAD67, 0
- .4byte gUnknown_085EAD6D, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AC08:: @ 58AC08
- .4byte gUnknown_085EAD72, 0
- .4byte gUnknown_085EAD84, 0
- .4byte gUnknown_085EAD96, 0
- .4byte gText_Cancel2, 0
-
-gUnknown_0858AC28:: @ 58AC28
- .4byte gUnknown_085EADA4, 0
- .4byte gUnknown_085EADB5, 0
- .4byte gUnknown_085EADC4, 0
- .4byte gUnknown_085EADD5, 0
- .4byte gUnknown_085EADE7, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AC58:: @ 58AC58
- .4byte gUnknown_085EADF9, 0
- .4byte gUnknown_085EAE04, 0
- .4byte gUnknown_085EAE12, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AC78:: @ 58AC78
- .4byte gUnknown_085EADF9, 0
- .4byte gUnknown_085EAE04, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AC90:: @ 58AC90
- .4byte gMenuText_Register, 0
- .4byte gUnknown_085EAE12, 0
- .4byte gUnknown_085EAE1B, 0
- .4byte gText_Cancel2, 0
-
-gUnknown_0858ACB0:: @ 58ACB0
- .4byte gUnknown_085EAE27, 0
- .4byte gUnknown_085EAE2C, 0
-
-gUnknown_0858ACC0:: @ 58ACC0
- .4byte gUnknown_085EAE31, 0
- .4byte gUnknown_085EAE35, 0
- .4byte gUnknown_085EAE39, 0
- .4byte gUnknown_085EAE3D, 0
- .4byte gUnknown_085EAE41, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858ACF0:: @ 58ACF0
- .4byte gUnknown_085EAD5F, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AD00:: @ 58AD00
- .4byte gUnknown_085EAE53, 0
- .4byte gUnknown_085EAE5A, 0
-
-gUnknown_0858AD10:: @ 58AD10
- .4byte gText_Yes, 0
- .4byte gText_No, 0
- .4byte gUnknown_085EAD6D, 0
-
-gUnknown_0858AD28:: @ 58AD28
- .4byte gUnknown_085EAEA2, 0
- .4byte gUnknown_085EAEAC, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AD40:: @ 58AD40
- .4byte gText_Lv50, 0
- .4byte gText_OpenLevel, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AD58:: @ 58AD58
- .4byte gUnknown_0827ECBC, 0
- .4byte gUnknown_0827ECC3, 0
- .4byte gUnknown_0827ECCD, 0
-
-gUnknown_0858AD70:: @ 58AD70
- .4byte gUnknown_0827ECD5, 0
- .4byte gUnknown_0827ECDD, 0
- .4byte gUnknown_0827ECE3, 0
-
-gUnknown_0858AD88:: @ 58AD88
- .4byte gUnknown_0827ECEB, 0
- .4byte gUnknown_0827ECF2, 0
- .4byte gUnknown_0827ECF8, 0
-
-gUnknown_0858ADA0:: @ 58ADA0
- .4byte gUnknown_0827ED00, 0
- .4byte gUnknown_0827ED06, 0
- .4byte gUnknown_0827ED10, 0
-
-gUnknown_0858ADB8:: @ 58ADB8
- .4byte gUnknown_0827ED18, 0
- .4byte gUnknown_0827ED22, 0
- .4byte gUnknown_0827ED2C, 0
-
-gUnknown_0858ADD0:: @ 58ADD0
- .4byte gUnknown_0827ED36, 0
- .4byte gUnknown_0827ED40, 0
- .4byte gUnknown_0827ED46, 0
-
-gUnknown_0858ADE8:: @ 58ADE8
- .4byte gUnknown_0827ED4F, 0
- .4byte gUnknown_0827ED59, 0
- .4byte gUnknown_0827ED65, 0
-
-gUnknown_0858AE00:: @ 58AE00
- .4byte gUnknown_0827ED70, 0
- .4byte gUnknown_0827ED74, 0
- .4byte gUnknown_0827ED78, 0
-
-gUnknown_0858AE18:: @ 58AE18
- .4byte gUnknown_0827ED80, 0
- .4byte gUnknown_0827ED95, 0
- .4byte gUnknown_0827EDAA, 0
-
-gUnknown_0858AE30:: @ 58AE30
- .4byte gUnknown_0827EDB5, 0
- .4byte gUnknown_0827EDBA, 0
- .4byte gUnknown_0827EDC1, 0
-
-gUnknown_0858AE48:: @ 58AE48
- .4byte gUnknown_0827EDC9, 0
- .4byte gUnknown_0827EDD5, 0
- .4byte gUnknown_0827EDE4, 0
-
-gUnknown_0858AE60:: @ 58AE60
- .4byte gUnknown_0827EDF0, 0
- .4byte gUnknown_0827EDF5, 0
- .4byte gUnknown_0827EDF7, 0
-
-gUnknown_0858AE78:: @ 58AE78
- .4byte gUnknown_0827EDF9, 0
- .4byte gUnknown_0827EDFB, 0
- .4byte gUnknown_0827EDFD, 0
-
-gUnknown_0858AE90:: @ 58AE90
- .4byte gUnknown_0827EDFF, 0
- .4byte gUnknown_0827EE01, 0
- .4byte gUnknown_0827EE03, 0
-
-gUnknown_0858AEA8:: @ 58AEA8
- .4byte gUnknown_0827EE05, 0
- .4byte gUnknown_0827EE07, 0
- .4byte gUnknown_0827EE09, 0
-
-gUnknown_0858AEC0:: @ 58AEC0
- .4byte gUnknown_085EAEC3, 0
- .4byte gUnknown_085EAED6, 0
- .4byte gUnknown_085EAEE6, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AEE0:: @ 58AEE0
- .4byte gUnknown_085EAEF6, 0
- .4byte gUnknown_085EAF02, 0
- .4byte gUnknown_085EAF0E, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AF00:: @ 58AF00
- .4byte gUnknown_085EAF1B, 0
- .4byte gUnknown_085EAF24, 0
- .4byte gUnknown_085EAF2F, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AF20:: @ 58AF20
- .4byte gUnknown_085EAF34, 0
- .4byte gUnknown_085EAF3E, 0
-
-gUnknown_0858AF30:: @ 58AF30
- .4byte gUnknown_085EAF4B, 0
- .4byte gUnknown_085EAF58, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AF48:: @ 58AF48
- .4byte gUnknown_085EAF65, 0
- .4byte gUnknown_085EAF70, 0
- .4byte gUnknown_085EAF7D, 0
- .4byte gUnknown_085EAF87, 0
- .4byte gUnknown_085EAF93, 0
- .4byte gUnknown_085EAF9F, 0
- .4byte gUnknown_085EAFAB, 0
- .4byte gText_Cancel2, 0
-
-gUnknown_0858AF88:: @ 58AF88
- .4byte gUnknown_085EAFB6, 0
- .4byte gUnknown_085EAFCF, 0
- .4byte gUnknown_085EAFE8, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AFA8:: @ 58AFA8
- .4byte gUnknown_085EB089, 0
- .4byte gUnknown_085EB09C, 0
- .4byte gUnknown_085EB0AF, 0
- .4byte gUnknown_085EB0C2, 0
- .4byte gUnknown_085EB0D5, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AFD8:: @ 58AFD8
- .4byte gUnknown_085EB002, 0
- .4byte gUnknown_085EB017, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AFF0:: @ 58AFF0
- .4byte gUnknown_085EB02A, 0
- .4byte gUnknown_085EB034, 0
-
-gUnknown_0858B000:: @ 58B000
- .4byte gText_LilycoveCity, 0
- .4byte gText_BattleFrontier, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B018:: @ 58B018
- .4byte gText_SlateportCity, 0
- .4byte gText_LilycoveCity, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B030:: @ 58B030
- .4byte gUnknown_085EB07E, 0
- .4byte gUnknown_085EB084, 0
-
-gUnknown_0858B040:: @ 58B040
- .4byte gText_LilycoveCity, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B050:: @ 58B050
- .4byte gText_5F, 0
- .4byte gText_4F, 0
- .4byte gText_3F, 0
- .4byte gText_2F, 0
- .4byte gText_1F, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B080:: @ 58B080
- .4byte gUnknown_085EB040, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B090:: @ 58B090
- .4byte gUnknown_085EB04A, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B0A0:: @ 58B0A0
- .4byte gUnknown_085EB040, 0
- .4byte gUnknown_085EB04A, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B0B8:: @ 58B0B8
- .4byte gUnknown_085EB057, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B0C8:: @ 58B0C8
- .4byte gUnknown_085EB040, 0
- .4byte gUnknown_085EB057, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B0E0:: @ 58B0E0
- .4byte gUnknown_085EB04A, 0
- .4byte gUnknown_085EB057, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B0F8:: @ 58B0F8
- .4byte gUnknown_085EB040, 0
- .4byte gUnknown_085EB04A, 0
- .4byte gUnknown_085EB057, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B118:: @ 58B118
- .4byte gUnknown_085EB062, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B128:: @ 58B128
- .4byte gUnknown_085EB040, 0
- .4byte gUnknown_085EB062, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B140:: @ 58B140
- .4byte gUnknown_085EB04A, 0
- .4byte gUnknown_085EB062, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B158:: @ 58B158
- .4byte gUnknown_085EB040, 0
- .4byte gUnknown_085EB04A, 0
- .4byte gUnknown_085EB062, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B178:: @ 58B178
- .4byte gUnknown_085EB057, 0
- .4byte gUnknown_085EB062, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B190:: @ 58B190
- .4byte gUnknown_085EB040, 0
- .4byte gUnknown_085EB057, 0
- .4byte gUnknown_085EB062, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B1B0:: @ 58B1B0
- .4byte gUnknown_085EB04A, 0
- .4byte gUnknown_085EB057, 0
- .4byte gUnknown_085EB062, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B1D0:: @ 58B1D0
- .4byte gUnknown_085EB040, 0
- .4byte gUnknown_085EB04A, 0
- .4byte gUnknown_085EB057, 0
- .4byte gUnknown_085EB062, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B1F8:: @ 58B1F8
- .4byte gText_Opponent, 0
- .4byte gText_Tourney_Tree, 0
- .4byte gText_ReadyToStart, 0
- .4byte gUnknown_085EB5BC, 0
- .4byte gUnknown_085EB5C3, 0
- .4byte gUnknown_085EB5C8, 0
-
-gUnknown_0858B228:: @ 58B228
- .4byte gText_Opponent, 0
- .4byte gText_Tourney_Tree, 0
- .4byte gText_ReadyToStart, 0
- .4byte gUnknown_085EB5C3, 0
- .4byte gUnknown_085EB5C8, 0
-
-gUnknown_0858B250:: @ 58B250
- .4byte gUnknown_085EB29A, 0
- .4byte gUnknown_085EB2A3, 0
-
-gUnknown_0858B260:: @ 58B260
- .4byte gUnknown_085EB372, 0
- .4byte gUnknown_085EB37F, 0
- .4byte gUnknown_085EB389, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B280:: @ 58B280
- .4byte gText_Yes, 0
- .4byte gText_No, 0
- .4byte gUnknown_085EAD6D, 0
-
-gUnknown_0858B298:: @ 58B298
- .4byte gUnknown_085EAE6E, 0
- .4byte gUnknown_085EAE7C, 0
- .4byte gUnknown_085EAE8A, 0
- .4byte gUnknown_085EAD6D, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B2C0:: @ 58B2C0
- .4byte gUnknown_085EB372, 0
- .4byte gUnknown_085EB37F, 0
- .4byte gUnknown_085EB397, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B2E0:: @ 58B2E0
- .4byte gUnknown_085EB372, 0
- .4byte gUnknown_085EB37F, 0
- .4byte gUnknown_085EB389, 0
- .4byte gUnknown_085EB397, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B308:: @ 58B308
- .4byte gUnknown_085EB372, 0
- .4byte gUnknown_085EB37F, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B320:: @ 58B320
- .4byte gUnknown_085EB3A4, 0
- .4byte gUnknown_085EB3B1, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B338:: @ 58B338
- .4byte gUnknown_085EB3D4, 0
- .4byte gUnknown_085EB3C6, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B350:: @ 58B350
- .4byte gText_NormalRank, 0
- .4byte gText_SuperRank, 0
- .4byte gText_HyperRank, 0
- .4byte gText_MasterRank, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B378:: @ 58B378
- .4byte gText_BattleBag, 0
- .4byte gText_HeldItem, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B390:: @ 58B390
- .4byte gText_LinkContest, 0
- .4byte gText_AboutE_Mode, 0
- .4byte gText_AboutG_Mode, 0
- .4byte gText_Cancel2, 0
-
-gUnknown_0858B3B0:: @ 58B3B0
- .4byte gText_E_Mode, 0
- .4byte gText_G_Mode, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B3C8:: @ 58B3C8
- .4byte gText_MenuOptionPokedex, 0
- .4byte gText_MenuOptionPokemon, 0
- .4byte gText_MenuOptionBag, 0
- .4byte gText_MenuOptionPokenav, 0
- .4byte gUnknown_085EB278, 0
- .4byte gText_MenuOptionSave, 0
- .4byte gText_MenuOptionOption, 0
- .4byte gText_MenuOptionExit, 0
-
-gUnknown_0858B408:: @ 58B408
- .4byte gUnknown_085EB28A, 0
- .4byte gUnknown_085EB290, 0
- .4byte gUnknown_085EB295, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B428:: @ 58B428
- .4byte gText_SouthernIsland, 0
- .4byte gText_BirthIsland, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B440:: @ 58B440
- .4byte gText_SouthernIsland, 0
- .4byte gText_FarawayIsland, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B458:: @ 58B458
- .4byte gText_BirthIsland, 0
- .4byte gText_FarawayIsland, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B470:: @ 58B470
- .4byte gText_SouthernIsland, 0
- .4byte gText_BirthIsland, 0
- .4byte gText_FarawayIsland, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B490:: @ 58B490
- .4byte gUnknown_085EB2E4, 0
- .4byte gUnknown_085EB2F0, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B4A8:: @ 58B4A8
- .4byte gText_Yes, 0
- .4byte gUnknown_085EB2FC, 0
-
-gUnknown_0858B4B8:: @ 58B4B8
- .4byte gUnknown_085EB3DF, 0
- .4byte gUnknown_085EB3EA, 0
- .4byte gUnknown_085EB3F1, 0
- .4byte gUnknown_085EB3FC, 0
- .4byte gUnknown_085EB40A, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B4E8:: @ 58B4E8
- .4byte gUnknown_085EB415, 0
- .4byte gUnknown_085EB41D, 0
- .4byte gUnknown_085EB424, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B508:: @ 58B508
- .4byte gUnknown_085EB45C, 0
- .4byte gUnknown_085EB469, 0
- .4byte gUnknown_085EB475, 0
- .4byte gUnknown_085EB482, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B530:: @ 58B530
- .4byte gUnknown_085EB42F, 0
- .4byte gUnknown_085EB43A, 0
- .4byte gUnknown_085EB444, 0
- .4byte gUnknown_085EB451, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B558:: @ 58B558
- .4byte gUnknown_085EB48E, 0
- .4byte gUnknown_085EB496, 0
- .4byte gUnknown_085EB4A3, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B578:: @ 58B578
- .4byte gUnknown_085EB4AD, 0
- .4byte gUnknown_085EB4B9, 0
- .4byte gUnknown_085EB4C7, 0
- .4byte gUnknown_085EB4D4, 0
- .4byte gUnknown_085EB4E0, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B5A8:: @ 58B5A8
- .4byte gText_BattleBasics, 0
- .4byte gText_PokemonNature, 0
- .4byte gText_PokemonMoves, 0
- .4byte gText_Underpowered, 0
- .4byte gText_WhenInDanger, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B5D8:: @ 58B5D8
- .4byte gUnknown_085EB532, 0
- .4byte gUnknown_085EB543, 0
- .4byte gUnknown_085EB555, 0
- .4byte gUnknown_085EB563, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B600:: @ 58B600
- .4byte gUnknown_085EB56E, 0
- .4byte gUnknown_085EB57E, 0
- .4byte gUnknown_085EB589, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B620:: @ 58B620
- .4byte gUnknown_085EB5B6, 0
- .4byte gUnknown_085EB5BC, 0
- .4byte gUnknown_085EB5C3, 0
- .4byte gUnknown_085EB5C8, 0
-
-gUnknown_0858B640:: @ 58B640
- .4byte gUnknown_085EB5B6, 0
- .4byte gUnknown_085EB5C3, 0
- .4byte gUnknown_085EB5C8, 0
-
-gUnknown_0858B658:: @ 58B658
- .4byte gUnknown_085EB5B6, 0
- .4byte gUnknown_085EB5BC, 0
- .4byte gUnknown_085EB5C8, 0
-
-gUnknown_0858B670:: @ 58B670
- .4byte gUnknown_085EB5B6, 0
- .4byte gUnknown_085EB5C8, 0
-
-gUnknown_0858B680:: @ 58B680
- .4byte gUnknown_085EE14B, 0
- .4byte gUnknown_085EE14F, 0
-
-gUnknown_0858B690:: @ 58B690
- .4byte gUnknown_085EB2FF, 0
- .4byte gUnknown_085EB310, 0
- .4byte gUnknown_085EB317, 0
- .4byte gUnknown_085EB31F, 0
-
-gUnknown_0858B6B0:: @ 58B6B0
- .4byte gText_CaveOfOrigin, 0
- .4byte gText_MtPyre, 0
- .4byte gText_SkyPillar, 0
- .4byte gText_DontRemember, 0
-
-gUnknown_0858B6D0:: @ 58B6D0
- .4byte gUnknown_085EB4AD, 0
- .4byte gUnknown_085EB4B9, 0
- .4byte gUnknown_085EB4C7, 0
- .4byte gUnknown_085EB4D4, 0
- .4byte gUnknown_085EB597, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B700:: @ 58B700
- .4byte gText_BattleTrainers, 0
- .4byte gUnknown_085EB45C, 0
- .4byte gUnknown_085EB469, 0
- .4byte gUnknown_085EB475, 0
- .4byte gUnknown_085EB482, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B730:: @ 58B730
- .4byte gUnknown_085EB32D, 0
- .4byte gUnknown_085EB33E, 0
- .4byte gUnknown_085EB350, 0
- .4byte gUnknown_085EB361, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B758:: @ 58B758
- .4byte gText_Exit, 0
-
-
-gMultichoiceLists:: @ 858B760
- .4byte gUnknown_0858ABD8, 3
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858ABF0, 3
- .4byte gUnknown_0858AC08, 4
- .4byte gUnknown_0858AC28, 6
- .4byte gUnknown_0858AC78, 3
- .4byte gUnknown_0858AC58, 4
- .4byte gUnknown_0858AC90, 4
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858B4E8, 4
- .4byte gUnknown_0858ACB0, 2
- .4byte gUnknown_0858ACC0, 6
- .4byte gUnknown_0858ACF0, 2
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858AD00, 2
- .4byte gUnknown_0858B280, 3
- .4byte gUnknown_0858B298, 5
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858AD10, 3
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858AD28, 3
- .4byte gUnknown_0858AD40, 3
- .4byte gUnknown_0858AD58, 3
- .4byte gUnknown_0858AD70, 3
- .4byte gUnknown_0858AD88, 3
- .4byte gUnknown_0858ADA0, 3
- .4byte gUnknown_0858ADB8, 3
- .4byte gUnknown_0858ADD0, 3
- .4byte gUnknown_0858ADE8, 3
- .4byte gUnknown_0858AE00, 3
- .4byte gUnknown_0858AE18, 3
- .4byte gUnknown_0858AE30, 3
- .4byte gUnknown_0858AE48, 3
- .4byte gUnknown_0858AE60, 3
- .4byte gUnknown_0858AE78, 3
- .4byte gUnknown_0858AE90, 3
- .4byte gUnknown_0858AEA8, 3
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858AEC0, 4
- .4byte gUnknown_0858AEE0, 4
- .4byte gUnknown_0858AF00, 4
- .4byte gUnknown_0858AF20, 2
- .4byte gUnknown_0858AF30, 3
- .4byte gUnknown_0858AF48, 8
- .4byte gUnknown_0858AF88, 4
- .4byte gUnknown_0858AFD8, 3
- .4byte gUnknown_0858AFF0, 2
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858B000, 3
- .4byte gUnknown_0858B018, 3
- .4byte gUnknown_0858B030, 2
- .4byte gUnknown_0858AFA8, 6
- .4byte gUnknown_0858B040, 2
- .4byte gUnknown_0858B050, 6
- .4byte gUnknown_0858B080, 2
- .4byte gUnknown_0858B090, 2
- .4byte gUnknown_0858B0A0, 3
- .4byte gUnknown_0858B0B8, 2
- .4byte gUnknown_0858B0C8, 3
- .4byte gUnknown_0858B0E0, 3
- .4byte gUnknown_0858B0F8, 4
- .4byte gUnknown_0858B118, 2
- .4byte gUnknown_0858B128, 3
- .4byte gUnknown_0858B140, 3
- .4byte gUnknown_0858B158, 4
- .4byte gUnknown_0858B178, 3
- .4byte gUnknown_0858B190, 4
- .4byte gUnknown_0858B1B0, 4
- .4byte gUnknown_0858B1D0, 5
- .4byte gUnknown_0858B1F8, 6
- .4byte gUnknown_0858B308, 3
- .4byte gUnknown_0858B308, 3
- .4byte gUnknown_0858B260, 4
- .4byte gUnknown_0858B260, 4
- .4byte gUnknown_0858B2C0, 4
- .4byte gUnknown_0858B2E0, 5
- .4byte gUnknown_0858B320, 3
- .4byte gUnknown_0858B338, 3
- .4byte gUnknown_0858B350, 5
- .4byte gUnknown_0858B378, 3
- .4byte gUnknown_0858B390, 4
- .4byte gUnknown_0858B3B0, 3
- .4byte gUnknown_0858B3C8, 8
- .4byte gUnknown_0858B408, 4
- .4byte gUnknown_0858B250, 2
- .4byte gUnknown_0858B428, 3
- .4byte gUnknown_0858B440, 3
- .4byte gUnknown_0858B458, 3
- .4byte gUnknown_0858B470, 4
- .4byte gUnknown_0858B490, 3
- .4byte gUnknown_0858B4A8, 2
- .4byte gUnknown_0858B4B8, 6
- .4byte gUnknown_0858B508, 5
- .4byte gUnknown_0858B530, 5
- .4byte gUnknown_0858B558, 4
- .4byte gUnknown_0858B578, 6
- .4byte gUnknown_0858B5A8, 6
- .4byte gUnknown_0858B5D8, 5
- .4byte gUnknown_0858B600, 4
- .4byte gUnknown_0858B620, 4
- .4byte gUnknown_0858B640, 3
- .4byte gUnknown_0858B658, 3
- .4byte gUnknown_0858B670, 2
- .4byte gUnknown_0858B228, 5
- .4byte gUnknown_0858B680, 2
- .4byte gUnknown_0858B690, 4
- .4byte gUnknown_0858B6B0, 4
- .4byte gUnknown_0858B6D0, 6
- .4byte gUnknown_0858B700, 6
- .4byte gUnknown_0858B730, 5
-
-gUnknown_0858BAF0:: @ 858BAF0
- .4byte gText_Cool
- .4byte gText_Beauty
- .4byte gText_Cute
- .4byte gText_Smart
- .4byte gText_Tough
- .4byte gText_Normal
- .4byte gText_Super
- .4byte gText_Hyper
- .4byte gText_Master
- .4byte gText_Cool2
- .4byte gText_Beauty2
- .4byte gText_Cute2
- .4byte gText_Smart2
- .4byte gText_Tough2
- .4byte gText_Items
- .4byte gText_Key_Items
- .4byte gText_Poke_Balls
- .4byte gText_TMs_Hms
- .4byte gText_Berries2
- .4byte gText_Single2
- .4byte gText_Double2
- .4byte gText_Multi
- .4byte gText_MultiLink
- .4byte gText_BattleTower2
- .4byte gText_BattleDome
- .4byte gText_BattleFactory
- .4byte gText_BattlePalace
- .4byte gText_BattleArena
- .4byte gText_BattlePike
- .4byte gText_BattlePyramid
-
-gUnknown_0858BB68:: @ 858BB68
- .byte 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F
-
- .align 2
-sPCNameStrings:: @ 858BB70
- .4byte gText_SomeonesPC
- .4byte gText_LanettesPC
- .4byte gText_PlayersPC
- .4byte gText_LogOff
-
-gUnknown_0858BB80:: @ 858BB80
- .4byte gText_SlateportCity
- .4byte gText_BattleFrontier
- .4byte gText_SouthernIsland
- .4byte gText_NavelRock
- .4byte gText_BirthIsland
- .4byte gText_FarawayIsland
- .4byte gText_Exit
-
-gUnknown_0858BB9C:: @ 858BB9C
- .4byte OldaleTown_PokemonCenter_2F_Text_277F1B
- .4byte OldaleTown_PokemonCenter_2F_Text_277F5A
- .4byte OldaleTown_PokemonCenter_2F_Text_277F96
- .4byte OldaleTown_PokemonCenter_2F_Text_27889C
-
-gUnknown_0858BBAC:: @ 858BBAC
- .4byte OldaleTown_PokemonCenter_2F_Text_27879F
- .4byte OldaleTown_PokemonCenter_2F_Text_2787D5
- .4byte OldaleTown_PokemonCenter_2F_Text_278831
- .4byte OldaleTown_PokemonCenter_2F_Text_27889C
-
-gUnknown_0858BBBC:: @ 858BBBC
- .4byte OldaleTown_PokemonCenter_2F_Text_27879F
- .4byte OldaleTown_PokemonCenter_2F_Text_2787D5
- .4byte OldaleTown_PokemonCenter_2F_Text_2787FC
- .4byte OldaleTown_PokemonCenter_2F_Text_27889C
-
-gUnknown_0858BBCC:: @ 858BBCC
- .4byte OldaleTown_PokemonCenter_2F_Text_27879F
- .4byte OldaleTown_PokemonCenter_2F_Text_2787D5
- .4byte OldaleTown_PokemonCenter_2F_Text_278831
- .4byte OldaleTown_PokemonCenter_2F_Text_2787FC
- .4byte OldaleTown_PokemonCenter_2F_Text_27889C
-
-gUnknown_0858BBE0:: @ 858BBE0
- .4byte OldaleTown_PokemonCenter_2F_Text_277F1B
- .4byte OldaleTown_PokemonCenter_2F_Text_277F5A
- .4byte OldaleTown_PokemonCenter_2F_Text_27889C
-
-gUnknown_0858BBEC:: @ 858BBEC
- .4byte OldaleTown_PokemonCenter_2F_Text_27879F
- .4byte OldaleTown_PokemonCenter_2F_Text_2787D5
- .4byte OldaleTown_PokemonCenter_2F_Text_27889C
diff --git a/include/field_effect.h b/include/field_effect.h
index e05ded621..3fa39aae0 100644
--- a/include/field_effect.h
+++ b/include/field_effect.h
@@ -237,5 +237,7 @@ void sub_80B7CAC(struct Sprite*);
void sub_80B7A58(struct Sprite*);
void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b);
+void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId);
+u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, u8 subpriority);
#endif //GUARD_FIELD_EFFECTS_H
diff --git a/include/script_menu.h b/include/script_menu.h
index 587e3e08b..a6d52c31e 100644
--- a/include/script_menu.h
+++ b/include/script_menu.h
@@ -1,7 +1,7 @@
#ifndef GUARD_SCRIPT_MENU_H
#define GUARD_SCRIPT_MENU_H
-extern const u8 *const gUnknown_0858BAF0[9];
+extern const u8 *const gUnknown_0858BAF0[];
bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 var3, u8 var4);
bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 var3, u8 var4, u8 var5);
@@ -9,10 +9,10 @@ bool8 ScriptMenu_YesNo(u8 var1, u8 var2);
bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount);
bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3);
bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void);
-s32 convert_pixel_width_to_tile_width(s32);
+int convert_pixel_width_to_tile_width(int);
u8 CreateWindowFromRect(u8, u8, u8, u8);
void sub_80E2A78(u8);
-u32 display_text_and_get_width(const u8*, u32);
-u32 sub_80E2D5C(u8 arg0, u32 tileWidth);
+int display_text_and_get_width(const u8*, int);
+int sub_80E2D5C(int arg0, int tileWidth);
#endif //GUARD_SCRIPT_MENU_H
diff --git a/include/strings.h b/include/strings.h
index 3600dd891..9147f9a8c 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -15,6 +15,28 @@ extern const u8 gText_Cute[];
extern const u8 gText_Smart[];
extern const u8 gText_Tough[];
+extern const u8 gText_Normal[];
+extern const u8 gText_Super[];
+extern const u8 gText_Hyper[];
+extern const u8 gText_Master[];
+
+extern const u8 gText_Cool2[];
+extern const u8 gText_Beauty2[];
+extern const u8 gText_Cute2[];
+extern const u8 gText_Smart2[];
+extern const u8 gText_Tough2[];
+
+extern const u8 gText_Items[];
+extern const u8 gText_Key_Items[];
+extern const u8 gText_Poke_Balls[];
+extern const u8 gText_TMs_Hms[];
+extern const u8 gText_Berries2[];
+
+extern const u8 gText_Single2[];
+extern const u8 gText_Double2[];
+extern const u8 gText_Multi[];
+extern const u8 gText_MultiLink[];
+
extern const u8 gText_Single[];
extern const u8 gText_Double[];
@@ -201,6 +223,14 @@ extern const u8 gText_Peak[];
extern const u8 gText_SafariBallStock[];
extern const u8 gText_BattlePyramidFloor[];
+extern const u8 gText_MenuOptionPokedex[];
+extern const u8 gText_MenuOptionPokemon[];
+extern const u8 gText_MenuOptionBag[];
+extern const u8 gText_MenuOptionPokenav[];
+extern const u8 gText_MenuOptionSave[];
+extern const u8 gText_MenuOptionOption[];
+extern const u8 gText_MenuOptionExit[];
+
// save menu texts
extern const u8 gText_ConfirmSave[];
extern const u8 gText_DifferentSaveFile[];
@@ -884,4 +914,228 @@ extern const u8 gText_SomeonesPC[];
extern const u8 gText_PlayersPC[];
extern const u8 gText_WhichPCShouldBeAccessed[];
+extern const u8 gUnknown_085EAD37[];
+extern const u8 gUnknown_085EAD41[];
+extern const u8 gUnknown_085EAD67[];
+extern const u8 gUnknown_085EAD6D[];
+extern const u8 gUnknown_085EAD72[];
+extern const u8 gUnknown_085EAD84[];
+extern const u8 gUnknown_085EAD96[];
+extern const u8 gUnknown_085EADA4[];
+extern const u8 gUnknown_085EADB5[];
+extern const u8 gUnknown_085EADC4[];
+extern const u8 gUnknown_085EADD5[];
+extern const u8 gUnknown_085EADE7[];
+extern const u8 gUnknown_085EADF9[];
+extern const u8 gUnknown_085EAE04[];
+extern const u8 gUnknown_085EAE12[];
+extern const u8 gUnknown_085EAE1B[];
+extern const u8 gUnknown_085EAE27[];
+extern const u8 gUnknown_085EAE2C[];
+extern const u8 gUnknown_085EAE31[];
+extern const u8 gUnknown_085EAE35[];
+extern const u8 gUnknown_085EAE39[];
+extern const u8 gUnknown_085EAE3D[];
+extern const u8 gUnknown_085EAE41[];
+extern const u8 gUnknown_085EAD5F[];
+extern const u8 gUnknown_085EAE53[];
+extern const u8 gUnknown_085EAE5A[];
+extern const u8 gText_Yes[];
+extern const u8 gText_No[];
+extern const u8 gUnknown_085EAEA2[];
+extern const u8 gUnknown_085EAEAC[];
+extern const u8 gUnknown_0827ECBC[];
+extern const u8 gUnknown_0827ECC3[];
+extern const u8 gUnknown_0827ECCD[];
+extern const u8 gUnknown_0827ECD5[];
+extern const u8 gUnknown_0827ECDD[];
+extern const u8 gUnknown_0827ECE3[];
+extern const u8 gUnknown_0827ECEB[];
+extern const u8 gUnknown_0827ECF2[];
+extern const u8 gUnknown_0827ECF8[];
+extern const u8 gUnknown_0827ED00[];
+extern const u8 gUnknown_0827ED06[];
+extern const u8 gUnknown_0827ED10[];
+extern const u8 gUnknown_0827ED18[];
+extern const u8 gUnknown_0827ED22[];
+extern const u8 gUnknown_0827ED2C[];
+extern const u8 gUnknown_0827ED36[];
+extern const u8 gUnknown_0827ED40[];
+extern const u8 gUnknown_0827ED46[];
+extern const u8 gUnknown_0827ED4F[];
+extern const u8 gUnknown_0827ED59[];
+extern const u8 gUnknown_0827ED65[];
+extern const u8 gUnknown_0827ED70[];
+extern const u8 gUnknown_0827ED74[];
+extern const u8 gUnknown_0827ED78[];
+extern const u8 gUnknown_0827ED80[];
+extern const u8 gUnknown_0827ED95[];
+extern const u8 gUnknown_0827EDAA[];
+extern const u8 gUnknown_0827EDB5[];
+extern const u8 gUnknown_0827EDBA[];
+extern const u8 gUnknown_0827EDC1[];
+extern const u8 gUnknown_0827EDC9[];
+extern const u8 gUnknown_0827EDD5[];
+extern const u8 gUnknown_0827EDE4[];
+extern const u8 gUnknown_0827EDF0[];
+extern const u8 gUnknown_0827EDF5[];
+extern const u8 gUnknown_0827EDF7[];
+extern const u8 gUnknown_0827EDF9[];
+extern const u8 gUnknown_0827EDFB[];
+extern const u8 gUnknown_0827EDFD[];
+extern const u8 gUnknown_0827EDFF[];
+extern const u8 gUnknown_0827EE01[];
+extern const u8 gUnknown_0827EE03[];
+extern const u8 gUnknown_0827EE05[];
+extern const u8 gUnknown_0827EE07[];
+extern const u8 gUnknown_0827EE09[];
+extern const u8 gUnknown_085EAEC3[];
+extern const u8 gUnknown_085EAED6[];
+extern const u8 gUnknown_085EAEE6[];
+extern const u8 gUnknown_085EAEF6[];
+extern const u8 gUnknown_085EAF02[];
+extern const u8 gUnknown_085EAF0E[];
+extern const u8 gUnknown_085EAF1B[];
+extern const u8 gUnknown_085EAF24[];
+extern const u8 gUnknown_085EAF2F[];
+extern const u8 gUnknown_085EAF34[];
+extern const u8 gUnknown_085EAF3E[];
+extern const u8 gUnknown_085EAF4B[];
+extern const u8 gUnknown_085EAF58[];
+extern const u8 gUnknown_085EAF65[];
+extern const u8 gUnknown_085EAF70[];
+extern const u8 gUnknown_085EAF7D[];
+extern const u8 gUnknown_085EAF87[];
+extern const u8 gUnknown_085EAF93[];
+extern const u8 gUnknown_085EAF9F[];
+extern const u8 gUnknown_085EAFAB[];
+extern const u8 gUnknown_085EAFB6[];
+extern const u8 gUnknown_085EAFCF[];
+extern const u8 gUnknown_085EAFE8[];
+extern const u8 gUnknown_085EB089[];
+extern const u8 gUnknown_085EB09C[];
+extern const u8 gUnknown_085EB0AF[];
+extern const u8 gUnknown_085EB0C2[];
+extern const u8 gUnknown_085EB0D5[];
+extern const u8 gUnknown_085EB002[];
+extern const u8 gUnknown_085EB017[];
+extern const u8 gUnknown_085EB02A[];
+extern const u8 gUnknown_085EB034[];
+extern const u8 gText_LilycoveCity[];
+extern const u8 gUnknown_085EB07E[];
+extern const u8 gUnknown_085EB084[];
+extern const u8 gUnknown_085EB040[];
+extern const u8 gUnknown_085EB04A[];
+extern const u8 gUnknown_085EB057[];
+extern const u8 gUnknown_085EB062[];
+extern const u8 gText_Opponent[];
+extern const u8 gText_Tourney_Tree[];
+extern const u8 gText_ReadyToStart[];
+extern const u8 gUnknown_085EB5BC[];
+extern const u8 gUnknown_085EB5C3[];
+extern const u8 gUnknown_085EB5C8[];
+extern const u8 gUnknown_085EB29A[];
+extern const u8 gUnknown_085EB2A3[];
+extern const u8 gUnknown_085EB372[];
+extern const u8 gUnknown_085EB37F[];
+extern const u8 gUnknown_085EB389[];
+extern const u8 gUnknown_085EAE6E[];
+extern const u8 gUnknown_085EAE7C[];
+extern const u8 gUnknown_085EAE8A[];
+extern const u8 gUnknown_085EAD6D[];
+extern const u8 gUnknown_085EB397[];
+extern const u8 gUnknown_085EB3A4[];
+extern const u8 gUnknown_085EB3B1[];
+extern const u8 gUnknown_085EB3D4[];
+extern const u8 gUnknown_085EB3C6[];
+extern const u8 gText_NormalRank[];
+extern const u8 gText_SuperRank[];
+extern const u8 gText_HyperRank[];
+extern const u8 gText_MasterRank[];
+extern const u8 gText_BattleBag[];
+extern const u8 gText_HeldItem[];
+extern const u8 gText_LinkContest[];
+extern const u8 gText_AboutE_Mode[];
+extern const u8 gText_AboutG_Mode[];
+extern const u8 gText_E_Mode[];
+extern const u8 gText_G_Mode[];
+extern const u8 gUnknown_085EB278[];
+extern const u8 gUnknown_085EB28A[];
+extern const u8 gUnknown_085EB290[];
+extern const u8 gUnknown_085EB295[];
+extern const u8 gUnknown_085EB2E4[];
+extern const u8 gUnknown_085EB2F0[];
+extern const u8 gUnknown_085EB2FC[];
+extern const u8 gUnknown_085EB3DF[];
+extern const u8 gUnknown_085EB3EA[];
+extern const u8 gUnknown_085EB3F1[];
+extern const u8 gUnknown_085EB3FC[];
+extern const u8 gUnknown_085EB40A[];
+extern const u8 gUnknown_085EB415[];
+extern const u8 gUnknown_085EB41D[];
+extern const u8 gUnknown_085EB424[];
+extern const u8 gUnknown_085EB45C[];
+extern const u8 gUnknown_085EB469[];
+extern const u8 gUnknown_085EB475[];
+extern const u8 gUnknown_085EB482[];
+extern const u8 gUnknown_085EB42F[];
+extern const u8 gUnknown_085EB43A[];
+extern const u8 gUnknown_085EB444[];
+extern const u8 gUnknown_085EB451[];
+extern const u8 gUnknown_085EB48E[];
+extern const u8 gUnknown_085EB496[];
+extern const u8 gUnknown_085EB4A3[];
+extern const u8 gUnknown_085EB4AD[];
+extern const u8 gUnknown_085EB4B9[];
+extern const u8 gUnknown_085EB4C7[];
+extern const u8 gUnknown_085EB4D4[];
+extern const u8 gUnknown_085EB4E0[];
+extern const u8 gUnknown_085EB532[];
+extern const u8 gUnknown_085EB543[];
+extern const u8 gUnknown_085EB555[];
+extern const u8 gUnknown_085EB563[];
+extern const u8 gUnknown_085EB56E[];
+extern const u8 gUnknown_085EB57E[];
+extern const u8 gUnknown_085EB589[];
+extern const u8 gUnknown_085EB5B6[];
+extern const u8 gUnknown_085EE14B[];
+extern const u8 gUnknown_085EE14F[];
+extern const u8 gUnknown_085EB2FF[];
+extern const u8 gUnknown_085EB310[];
+extern const u8 gUnknown_085EB317[];
+extern const u8 gUnknown_085EB31F[];
+extern const u8 gText_CaveOfOrigin[];
+extern const u8 gText_MtPyre[];
+extern const u8 gText_SkyPillar[];
+extern const u8 gText_DontRemember[];
+extern const u8 gUnknown_085EB597[];
+extern const u8 gUnknown_085EB32D[];
+extern const u8 gUnknown_085EB33E[];
+extern const u8 gUnknown_085EB350[];
+extern const u8 gUnknown_085EB361[];
+
+extern const u8 OldaleTown_PokemonCenter_2F_Text_277F1B[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_277F5A[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_277F96[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_27879F[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_2787D5[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_278831[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_27879F[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_2787D5[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_2787FC[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_27879F[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_2787D5[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_278831[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_2787FC[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_277F1B[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_277F5A[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_27879F[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_2787D5[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[];
+
#endif //GUARD_STRINGS_H
diff --git a/ld_script.txt b/ld_script.txt
index da0113f22..66d10079a 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -140,7 +140,6 @@ SECTIONS {
src/fldeff_escalator.o(.text);
src/berry.o(.text);
src/script_menu.o(.text);
- asm/script_menu.o(.text);
src/naming_screen.o(.text);
src/money.o(.text);
src/contest_effect.o(.text);
@@ -446,7 +445,7 @@ SECTIONS {
src/shop.o(.rodata);
src/fldeff_escalator.o(.rodata);
src/berry.o(.rodata);
- data/script_menu.o(.rodata);
+ src/script_menu.o(.rodata);
src/naming_screen.o(.rodata);
src/money.o(.rodata);
src/contest_effect.o(.rodata);
diff --git a/src/field_effect.c b/src/field_effect.c
index e7ecca183..467acb367 100644
--- a/src/field_effect.c
+++ b/src/field_effect.c
@@ -553,18 +553,18 @@ u8 AddNewGameBirchObject(s16 x, s16 y, u8 subpriority)
}
#ifdef NONMATCHING
-u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y)
+u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, u8 subpriority)
{
u16 spriteId = CreateMonPicSprite_HandleDeoxys(species, 0, 0x8000, 1, x, y, 0, gMonPaletteTable[species].tag);
PreservePaletteInWeather(IndexOfSpritePaletteTag(gMonPaletteTable[species].tag) + 0x10);
if (spriteId == 0xFFFF)
- return 0x40;
+ return MAX_SPRITES;
return spriteId;
}
#else
NAKED
-u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y)
+u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, u8 subpriority)
{
asm_unified("push {r4,r5,lr}\n\
sub sp, 0x10\n\
diff --git a/src/script_menu.c b/src/script_menu.c
index 0a1a019cb..14682af2b 100644
--- a/src/script_menu.c
+++ b/src/script_menu.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "main.h"
#include "event_data.h"
+#include "field_effect.h"
#include "field_specials.h"
#include "item.h"
#include "menu.h"
@@ -15,30 +16,1021 @@
#include "constants/items.h"
#include "constants/songs.h"
+// multichoice lists
+const struct MenuAction MultichoiceList_000[] =
+{
+ {gUnknown_085EAD37, NULL},
+ {gUnknown_085EAD41, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_002[] =
+{
+ {gUnknown_085EAD67, NULL},
+ {gUnknown_085EAD6D, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_003[] =
+{
+ {gUnknown_085EAD72, NULL},
+ {gUnknown_085EAD84, NULL},
+ {gUnknown_085EAD96, NULL},
+ {gText_Cancel2, NULL},
+};
+
+const struct MenuAction MultichoiceList_004[] =
+{
+ {gUnknown_085EADA4, NULL},
+ {gUnknown_085EADB5, NULL},
+ {gUnknown_085EADC4, NULL},
+ {gUnknown_085EADD5, NULL},
+ {gUnknown_085EADE7, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_006[] =
+{
+ {gUnknown_085EADF9, NULL},
+ {gUnknown_085EAE04, NULL},
+ {gUnknown_085EAE12, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_005[] =
+{
+ {gUnknown_085EADF9, NULL},
+ {gUnknown_085EAE04, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_007[] =
+{
+ {gMenuText_Register, NULL},
+ {gUnknown_085EAE12, NULL},
+ {gUnknown_085EAE1B, NULL},
+ {gText_Cancel2, NULL},
+};
+
+const struct MenuAction MultichoiceList_012[] =
+{
+ {gUnknown_085EAE27, NULL},
+ {gUnknown_085EAE2C, NULL},
+};
+
+const struct MenuAction MultichoiceList_013[] =
+{
+ {gUnknown_085EAE31, NULL},
+ {gUnknown_085EAE35, NULL},
+ {gUnknown_085EAE39, NULL},
+ {gUnknown_085EAE3D, NULL},
+ {gUnknown_085EAE41, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_014[] =
+{
+ {gUnknown_085EAD5F, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_016[] =
+{
+ {gUnknown_085EAE53, NULL},
+ {gUnknown_085EAE5A, NULL},
+};
+
+const struct MenuAction MultichoiceList_020[] =
+{
+ {gText_Yes, NULL},
+ {gText_No, NULL},
+ {gUnknown_085EAD6D, NULL},
+};
+
+const struct MenuAction MultichoiceList_023[] =
+{
+ {gUnknown_085EAEA2, NULL},
+ {gUnknown_085EAEAC, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_024[] =
+{
+ {gText_Lv50, NULL},
+ {gText_OpenLevel, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_025[] =
+{
+ {gUnknown_0827ECBC, NULL},
+ {gUnknown_0827ECC3, NULL},
+ {gUnknown_0827ECCD, NULL},
+};
+
+const struct MenuAction MultichoiceList_026[] =
+{
+ {gUnknown_0827ECD5, NULL},
+ {gUnknown_0827ECDD, NULL},
+ {gUnknown_0827ECE3, NULL},
+};
+
+const struct MenuAction MultichoiceList_027[] =
+{
+ {gUnknown_0827ECEB, NULL},
+ {gUnknown_0827ECF2, NULL},
+ {gUnknown_0827ECF8, NULL},
+};
+
+const struct MenuAction MultichoiceList_028[] =
+{
+ {gUnknown_0827ED00, NULL},
+ {gUnknown_0827ED06, NULL},
+ {gUnknown_0827ED10, NULL},
+};
+
+const struct MenuAction MultichoiceList_029[] =
+{
+ {gUnknown_0827ED18, NULL},
+ {gUnknown_0827ED22, NULL},
+ {gUnknown_0827ED2C, NULL},
+};
+
+const struct MenuAction MultichoiceList_030[] =
+{
+ {gUnknown_0827ED36, NULL},
+ {gUnknown_0827ED40, NULL},
+ {gUnknown_0827ED46, NULL},
+};
+
+const struct MenuAction MultichoiceList_031[] =
+{
+ {gUnknown_0827ED4F, NULL},
+ {gUnknown_0827ED59, NULL},
+ {gUnknown_0827ED65, NULL},
+};
+
+const struct MenuAction MultichoiceList_032[] =
+{
+ {gUnknown_0827ED70, NULL},
+ {gUnknown_0827ED74, NULL},
+ {gUnknown_0827ED78, NULL},
+};
+
+const struct MenuAction MultichoiceList_033[] =
+{
+ {gUnknown_0827ED80, NULL},
+ {gUnknown_0827ED95, NULL},
+ {gUnknown_0827EDAA, NULL},
+};
+
+const struct MenuAction MultichoiceList_034[] =
+{
+ {gUnknown_0827EDB5, NULL},
+ {gUnknown_0827EDBA, NULL},
+ {gUnknown_0827EDC1, NULL},
+};
+
+const struct MenuAction MultichoiceList_035[] =
+{
+ {gUnknown_0827EDC9, NULL},
+ {gUnknown_0827EDD5, NULL},
+ {gUnknown_0827EDE4, NULL},
+};
+
+const struct MenuAction MultichoiceList_036[] =
+{
+ {gUnknown_0827EDF0, NULL},
+ {gUnknown_0827EDF5, NULL},
+ {gUnknown_0827EDF7, NULL},
+};
+
+const struct MenuAction MultichoiceList_037[] =
+{
+ {gUnknown_0827EDF9, NULL},
+ {gUnknown_0827EDFB, NULL},
+ {gUnknown_0827EDFD, NULL},
+};
+
+const struct MenuAction MultichoiceList_038[] =
+{
+ {gUnknown_0827EDFF, NULL},
+ {gUnknown_0827EE01, NULL},
+ {gUnknown_0827EE03, NULL},
+};
+
+const struct MenuAction MultichoiceList_039[] =
+{
+ {gUnknown_0827EE05, NULL},
+ {gUnknown_0827EE07, NULL},
+ {gUnknown_0827EE09, NULL},
+};
+
+const struct MenuAction MultichoiceList_042[] =
+{
+ {gUnknown_085EAEC3, NULL},
+ {gUnknown_085EAED6, NULL},
+ {gUnknown_085EAEE6, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_043[] =
+{
+ {gUnknown_085EAEF6, NULL},
+ {gUnknown_085EAF02, NULL},
+ {gUnknown_085EAF0E, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_044[] =
+{
+ {gUnknown_085EAF1B, NULL},
+ {gUnknown_085EAF24, NULL},
+ {gUnknown_085EAF2F, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_045[] =
+{
+ {gUnknown_085EAF34, NULL},
+ {gUnknown_085EAF3E, NULL},
+};
+
+const struct MenuAction MultichoiceList_046[] =
+{
+ {gUnknown_085EAF4B, NULL},
+ {gUnknown_085EAF58, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_047[] =
+{
+ {gUnknown_085EAF65, NULL},
+ {gUnknown_085EAF70, NULL},
+ {gUnknown_085EAF7D, NULL},
+ {gUnknown_085EAF87, NULL},
+ {gUnknown_085EAF93, NULL},
+ {gUnknown_085EAF9F, NULL},
+ {gUnknown_085EAFAB, NULL},
+ {gText_Cancel2, NULL},
+};
+
+const struct MenuAction MultichoiceList_048[] =
+{
+ {gUnknown_085EAFB6, NULL},
+ {gUnknown_085EAFCF, NULL},
+ {gUnknown_085EAFE8, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_055[] =
+{
+ {gUnknown_085EB089, NULL},
+ {gUnknown_085EB09C, NULL},
+ {gUnknown_085EB0AF, NULL},
+ {gUnknown_085EB0C2, NULL},
+ {gUnknown_085EB0D5, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_049[] =
+{
+ {gUnknown_085EB002, NULL},
+ {gUnknown_085EB017, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_050[] =
+{
+ {gUnknown_085EB02A, NULL},
+ {gUnknown_085EB034, NULL},
+};
+
+const struct MenuAction MultichoiceList_052[] =
+{
+ {gText_LilycoveCity, NULL},
+ {gText_BattleFrontier, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_053[] =
+{
+ {gText_SlateportCity, NULL},
+ {gText_LilycoveCity, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_054[] =
+{
+ {gUnknown_085EB07E, NULL},
+ {gUnknown_085EB084, NULL},
+};
+
+const struct MenuAction MultichoiceList_056[] =
+{
+ {gText_LilycoveCity, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_057[] =
+{
+ {gText_5F, NULL},
+ {gText_4F, NULL},
+ {gText_3F, NULL},
+ {gText_2F, NULL},
+ {gText_1F, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_058[] =
+{
+ {gUnknown_085EB040, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_059[] =
+{
+ {gUnknown_085EB04A, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_060[] =
+{
+ {gUnknown_085EB040, NULL},
+ {gUnknown_085EB04A, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_061[] =
+{
+ {gUnknown_085EB057, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_062[] =
+{
+ {gUnknown_085EB040, NULL},
+ {gUnknown_085EB057, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_063[] =
+{
+ {gUnknown_085EB04A, NULL},
+ {gUnknown_085EB057, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_064[] =
+{
+ {gUnknown_085EB040, NULL},
+ {gUnknown_085EB04A, NULL},
+ {gUnknown_085EB057, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_065[] =
+{
+ {gUnknown_085EB062, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_066[] =
+{
+ {gUnknown_085EB040, NULL},
+ {gUnknown_085EB062, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_067[] =
+{
+ {gUnknown_085EB04A, NULL},
+ {gUnknown_085EB062, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_068[] =
+{
+ {gUnknown_085EB040, NULL},
+ {gUnknown_085EB04A, NULL},
+ {gUnknown_085EB062, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_069[] =
+{
+ {gUnknown_085EB057, NULL},
+ {gUnknown_085EB062, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_070[] =
+{
+ {gUnknown_085EB040, NULL},
+ {gUnknown_085EB057, NULL},
+ {gUnknown_085EB062, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_071[] =
+{
+ {gUnknown_085EB04A, NULL},
+ {gUnknown_085EB057, NULL},
+ {gUnknown_085EB062, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_072[] =
+{
+ {gUnknown_085EB040, NULL},
+ {gUnknown_085EB04A, NULL},
+ {gUnknown_085EB057, NULL},
+ {gUnknown_085EB062, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_073[] =
+{
+ {gText_Opponent, NULL},
+ {gText_Tourney_Tree, NULL},
+ {gText_ReadyToStart, NULL},
+ {gUnknown_085EB5BC, NULL},
+ {gUnknown_085EB5C3, NULL},
+ {gUnknown_085EB5C8, NULL},
+};
+
+const struct MenuAction MultichoiceList_107[] =
+{
+ {gText_Opponent, NULL},
+ {gText_Tourney_Tree, NULL},
+ {gText_ReadyToStart, NULL},
+ {gUnknown_085EB5C3, NULL},
+ {gUnknown_085EB5C8, NULL},
+};
+
+const struct MenuAction MultichoiceList_088[] =
+{
+ {gUnknown_085EB29A, NULL},
+ {gUnknown_085EB2A3, NULL},
+};
+
+const struct MenuAction MultichoiceList_076[] =
+{
+ {gUnknown_085EB372, NULL},
+ {gUnknown_085EB37F, NULL},
+ {gUnknown_085EB389, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_017[] =
+{
+ {gText_Yes, NULL},
+ {gText_No, NULL},
+ {gUnknown_085EAD6D, NULL},
+};
+
+const struct MenuAction MultichoiceList_018[] =
+{
+ {gUnknown_085EAE6E, NULL},
+ {gUnknown_085EAE7C, NULL},
+ {gUnknown_085EAE8A, NULL},
+ {gUnknown_085EAD6D, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_078[] =
+{
+ {gUnknown_085EB372, NULL},
+ {gUnknown_085EB37F, NULL},
+ {gUnknown_085EB397, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_079[] =
+{
+ {gUnknown_085EB372, NULL},
+ {gUnknown_085EB37F, NULL},
+ {gUnknown_085EB389, NULL},
+ {gUnknown_085EB397, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_074[] =
+{
+ {gUnknown_085EB372, NULL},
+ {gUnknown_085EB37F, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_080[] =
+{
+ {gUnknown_085EB3A4, NULL},
+ {gUnknown_085EB3B1, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_081[] =
+{
+ {gUnknown_085EB3D4, NULL},
+ {gUnknown_085EB3C6, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_082[] =
+{
+ {gText_NormalRank, NULL},
+ {gText_SuperRank, NULL},
+ {gText_HyperRank, NULL},
+ {gText_MasterRank, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_083[] =
+{
+ {gText_BattleBag, NULL},
+ {gText_HeldItem, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_084[] =
+{
+ {gText_LinkContest, NULL},
+ {gText_AboutE_Mode, NULL},
+ {gText_AboutG_Mode, NULL},
+ {gText_Cancel2, NULL},
+};
+
+const struct MenuAction MultichoiceList_085[] =
+{
+ {gText_E_Mode, NULL},
+ {gText_G_Mode, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_086[] =
+{
+ {gText_MenuOptionPokedex, NULL},
+ {gText_MenuOptionPokemon, NULL},
+ {gText_MenuOptionBag, NULL},
+ {gText_MenuOptionPokenav, NULL},
+ {gUnknown_085EB278, NULL},
+ {gText_MenuOptionSave, NULL},
+ {gText_MenuOptionOption, NULL},
+ {gText_MenuOptionExit, NULL},
+};
+
+const struct MenuAction MultichoiceList_087[] =
+{
+ {gUnknown_085EB28A, NULL},
+ {gUnknown_085EB290, NULL},
+ {gUnknown_085EB295, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_089[] =
+{
+ {gText_SouthernIsland, NULL},
+ {gText_BirthIsland, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_090[] =
+{
+ {gText_SouthernIsland, NULL},
+ {gText_FarawayIsland, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_091[] =
+{
+ {gText_BirthIsland, NULL},
+ {gText_FarawayIsland, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_092[] =
+{
+ {gText_SouthernIsland, NULL},
+ {gText_BirthIsland, NULL},
+ {gText_FarawayIsland, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_093[] =
+{
+ {gUnknown_085EB2E4, NULL},
+ {gUnknown_085EB2F0, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_094[] =
+{
+ {gText_Yes, NULL},
+ {gUnknown_085EB2FC, NULL},
+};
+
+const struct MenuAction MultichoiceList_095[] =
+{
+ {gUnknown_085EB3DF, NULL},
+ {gUnknown_085EB3EA, NULL},
+ {gUnknown_085EB3F1, NULL},
+ {gUnknown_085EB3FC, NULL},
+ {gUnknown_085EB40A, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_011[] =
+{
+ {gUnknown_085EB415, NULL},
+ {gUnknown_085EB41D, NULL},
+ {gUnknown_085EB424, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_096[] =
+{
+ {gUnknown_085EB45C, NULL},
+ {gUnknown_085EB469, NULL},
+ {gUnknown_085EB475, NULL},
+ {gUnknown_085EB482, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_097[] =
+{
+ {gUnknown_085EB42F, NULL},
+ {gUnknown_085EB43A, NULL},
+ {gUnknown_085EB444, NULL},
+ {gUnknown_085EB451, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_098[] =
+{
+ {gUnknown_085EB48E, NULL},
+ {gUnknown_085EB496, NULL},
+ {gUnknown_085EB4A3, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_099[] =
+{
+ {gUnknown_085EB4AD, NULL},
+ {gUnknown_085EB4B9, NULL},
+ {gUnknown_085EB4C7, NULL},
+ {gUnknown_085EB4D4, NULL},
+ {gUnknown_085EB4E0, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_100[] =
+{
+ {gText_BattleBasics, NULL},
+ {gText_PokemonNature, NULL},
+ {gText_PokemonMoves, NULL},
+ {gText_Underpowered, NULL},
+ {gText_WhenInDanger, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_101[] =
+{
+ {gUnknown_085EB532, NULL},
+ {gUnknown_085EB543, NULL},
+ {gUnknown_085EB555, NULL},
+ {gUnknown_085EB563, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_102[] =
+{
+ {gUnknown_085EB56E, NULL},
+ {gUnknown_085EB57E, NULL},
+ {gUnknown_085EB589, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_103[] =
+{
+ {gUnknown_085EB5B6, NULL},
+ {gUnknown_085EB5BC, NULL},
+ {gUnknown_085EB5C3, NULL},
+ {gUnknown_085EB5C8, NULL},
+};
+
+const struct MenuAction MultichoiceList_104[] =
+{
+ {gUnknown_085EB5B6, NULL},
+ {gUnknown_085EB5C3, NULL},
+ {gUnknown_085EB5C8, NULL},
+};
+
+const struct MenuAction MultichoiceList_105[] =
+{
+ {gUnknown_085EB5B6, NULL},
+ {gUnknown_085EB5BC, NULL},
+ {gUnknown_085EB5C8, NULL},
+};
+
+const struct MenuAction MultichoiceList_106[] =
+{
+ {gUnknown_085EB5B6, NULL},
+ {gUnknown_085EB5C8, NULL},
+};
+
+const struct MenuAction MultichoiceList_108[] =
+{
+ {gUnknown_085EE14B, NULL},
+ {gUnknown_085EE14F, NULL},
+};
+
+const struct MenuAction MultichoiceList_109[] =
+{
+ {gUnknown_085EB2FF, NULL},
+ {gUnknown_085EB310, NULL},
+ {gUnknown_085EB317, NULL},
+ {gUnknown_085EB31F, NULL},
+};
+
+const struct MenuAction MultichoiceList_110[] =
+{
+ {gText_CaveOfOrigin, NULL},
+ {gText_MtPyre, NULL},
+ {gText_SkyPillar, NULL},
+ {gText_DontRemember, NULL},
+};
+
+const struct MenuAction MultichoiceList_111[] =
+{
+ {gUnknown_085EB4AD, NULL},
+ {gUnknown_085EB4B9, NULL},
+ {gUnknown_085EB4C7, NULL},
+ {gUnknown_085EB4D4, NULL},
+ {gUnknown_085EB597, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_112[] =
+{
+ {gText_BattleTrainers, NULL},
+ {gUnknown_085EB45C, NULL},
+ {gUnknown_085EB469, NULL},
+ {gUnknown_085EB475, NULL},
+ {gUnknown_085EB482, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_113[] =
+{
+ {gUnknown_085EB32D, NULL},
+ {gUnknown_085EB33E, NULL},
+ {gUnknown_085EB350, NULL},
+ {gUnknown_085EB361, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_001[] =
+{
+ {gText_Exit, NULL},
+};
+
struct MultichoiceListStruct
{
const struct MenuAction *list;
u8 count;
};
-extern const struct MultichoiceListStruct gMultichoiceLists[];
-extern const u8 gUnknown_0858BB68[];
-extern const u8 *sPCNameStrings[4];
-extern const u8 *gUnknown_0858BB80[7];
+const struct MultichoiceListStruct gMultichoiceLists[] =
+{
+ {MultichoiceList_000, ARRAY_COUNT(MultichoiceList_000)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_002, ARRAY_COUNT(MultichoiceList_002)},
+ {MultichoiceList_003, ARRAY_COUNT(MultichoiceList_003)},
+ {MultichoiceList_004, ARRAY_COUNT(MultichoiceList_004)},
+ {MultichoiceList_005, ARRAY_COUNT(MultichoiceList_005)},
+ {MultichoiceList_006, ARRAY_COUNT(MultichoiceList_006)},
+ {MultichoiceList_007, ARRAY_COUNT(MultichoiceList_007)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_011, ARRAY_COUNT(MultichoiceList_011)},
+ {MultichoiceList_012, ARRAY_COUNT(MultichoiceList_012)},
+ {MultichoiceList_013, ARRAY_COUNT(MultichoiceList_013)},
+ {MultichoiceList_014, ARRAY_COUNT(MultichoiceList_014)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_016, ARRAY_COUNT(MultichoiceList_016)},
+ {MultichoiceList_017, ARRAY_COUNT(MultichoiceList_017)},
+ {MultichoiceList_018, ARRAY_COUNT(MultichoiceList_018)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_020, ARRAY_COUNT(MultichoiceList_020)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_023, ARRAY_COUNT(MultichoiceList_023)},
+ {MultichoiceList_024, ARRAY_COUNT(MultichoiceList_024)},
+ {MultichoiceList_025, ARRAY_COUNT(MultichoiceList_025)},
+ {MultichoiceList_026, ARRAY_COUNT(MultichoiceList_026)},
+ {MultichoiceList_027, ARRAY_COUNT(MultichoiceList_027)},
+ {MultichoiceList_028, ARRAY_COUNT(MultichoiceList_028)},
+ {MultichoiceList_029, ARRAY_COUNT(MultichoiceList_029)},
+ {MultichoiceList_030, ARRAY_COUNT(MultichoiceList_030)},
+ {MultichoiceList_031, ARRAY_COUNT(MultichoiceList_031)},
+ {MultichoiceList_032, ARRAY_COUNT(MultichoiceList_032)},
+ {MultichoiceList_033, ARRAY_COUNT(MultichoiceList_033)},
+ {MultichoiceList_034, ARRAY_COUNT(MultichoiceList_034)},
+ {MultichoiceList_035, ARRAY_COUNT(MultichoiceList_035)},
+ {MultichoiceList_036, ARRAY_COUNT(MultichoiceList_036)},
+ {MultichoiceList_037, ARRAY_COUNT(MultichoiceList_037)},
+ {MultichoiceList_038, ARRAY_COUNT(MultichoiceList_038)},
+ {MultichoiceList_039, ARRAY_COUNT(MultichoiceList_039)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_042, ARRAY_COUNT(MultichoiceList_042)},
+ {MultichoiceList_043, ARRAY_COUNT(MultichoiceList_043)},
+ {MultichoiceList_044, ARRAY_COUNT(MultichoiceList_044)},
+ {MultichoiceList_045, ARRAY_COUNT(MultichoiceList_045)},
+ {MultichoiceList_046, ARRAY_COUNT(MultichoiceList_046)},
+ {MultichoiceList_047, ARRAY_COUNT(MultichoiceList_047)},
+ {MultichoiceList_048, ARRAY_COUNT(MultichoiceList_048)},
+ {MultichoiceList_049, ARRAY_COUNT(MultichoiceList_049)},
+ {MultichoiceList_050, ARRAY_COUNT(MultichoiceList_050)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_052, ARRAY_COUNT(MultichoiceList_052)},
+ {MultichoiceList_053, ARRAY_COUNT(MultichoiceList_053)},
+ {MultichoiceList_054, ARRAY_COUNT(MultichoiceList_054)},
+ {MultichoiceList_055, ARRAY_COUNT(MultichoiceList_055)},
+ {MultichoiceList_056, ARRAY_COUNT(MultichoiceList_056)},
+ {MultichoiceList_057, ARRAY_COUNT(MultichoiceList_057)},
+ {MultichoiceList_058, ARRAY_COUNT(MultichoiceList_058)},
+ {MultichoiceList_059, ARRAY_COUNT(MultichoiceList_059)},
+ {MultichoiceList_060, ARRAY_COUNT(MultichoiceList_060)},
+ {MultichoiceList_061, ARRAY_COUNT(MultichoiceList_061)},
+ {MultichoiceList_062, ARRAY_COUNT(MultichoiceList_062)},
+ {MultichoiceList_063, ARRAY_COUNT(MultichoiceList_063)},
+ {MultichoiceList_064, ARRAY_COUNT(MultichoiceList_064)},
+ {MultichoiceList_065, ARRAY_COUNT(MultichoiceList_065)},
+ {MultichoiceList_066, ARRAY_COUNT(MultichoiceList_066)},
+ {MultichoiceList_067, ARRAY_COUNT(MultichoiceList_067)},
+ {MultichoiceList_068, ARRAY_COUNT(MultichoiceList_068)},
+ {MultichoiceList_069, ARRAY_COUNT(MultichoiceList_069)},
+ {MultichoiceList_070, ARRAY_COUNT(MultichoiceList_070)},
+ {MultichoiceList_071, ARRAY_COUNT(MultichoiceList_071)},
+ {MultichoiceList_072, ARRAY_COUNT(MultichoiceList_072)},
+ {MultichoiceList_073, ARRAY_COUNT(MultichoiceList_073)},
+ {MultichoiceList_074, ARRAY_COUNT(MultichoiceList_074)},
+ {MultichoiceList_074, ARRAY_COUNT(MultichoiceList_074)},
+ {MultichoiceList_076, ARRAY_COUNT(MultichoiceList_076)},
+ {MultichoiceList_076, ARRAY_COUNT(MultichoiceList_076)},
+ {MultichoiceList_078, ARRAY_COUNT(MultichoiceList_078)},
+ {MultichoiceList_079, ARRAY_COUNT(MultichoiceList_079)},
+ {MultichoiceList_080, ARRAY_COUNT(MultichoiceList_080)},
+ {MultichoiceList_081, ARRAY_COUNT(MultichoiceList_081)},
+ {MultichoiceList_082, ARRAY_COUNT(MultichoiceList_082)},
+ {MultichoiceList_083, ARRAY_COUNT(MultichoiceList_083)},
+ {MultichoiceList_084, ARRAY_COUNT(MultichoiceList_084)},
+ {MultichoiceList_085, ARRAY_COUNT(MultichoiceList_085)},
+ {MultichoiceList_086, ARRAY_COUNT(MultichoiceList_086)},
+ {MultichoiceList_087, ARRAY_COUNT(MultichoiceList_087)},
+ {MultichoiceList_088, ARRAY_COUNT(MultichoiceList_088)},
+ {MultichoiceList_089, ARRAY_COUNT(MultichoiceList_089)},
+ {MultichoiceList_090, ARRAY_COUNT(MultichoiceList_090)},
+ {MultichoiceList_091, ARRAY_COUNT(MultichoiceList_091)},
+ {MultichoiceList_092, ARRAY_COUNT(MultichoiceList_092)},
+ {MultichoiceList_093, ARRAY_COUNT(MultichoiceList_093)},
+ {MultichoiceList_094, ARRAY_COUNT(MultichoiceList_094)},
+ {MultichoiceList_095, ARRAY_COUNT(MultichoiceList_095)},
+ {MultichoiceList_096, ARRAY_COUNT(MultichoiceList_096)},
+ {MultichoiceList_097, ARRAY_COUNT(MultichoiceList_097)},
+ {MultichoiceList_098, ARRAY_COUNT(MultichoiceList_098)},
+ {MultichoiceList_099, ARRAY_COUNT(MultichoiceList_099)},
+ {MultichoiceList_100, ARRAY_COUNT(MultichoiceList_100)},
+ {MultichoiceList_101, ARRAY_COUNT(MultichoiceList_101)},
+ {MultichoiceList_102, ARRAY_COUNT(MultichoiceList_102)},
+ {MultichoiceList_103, ARRAY_COUNT(MultichoiceList_103)},
+ {MultichoiceList_104, ARRAY_COUNT(MultichoiceList_104)},
+ {MultichoiceList_105, ARRAY_COUNT(MultichoiceList_105)},
+ {MultichoiceList_106, ARRAY_COUNT(MultichoiceList_106)},
+ {MultichoiceList_107, ARRAY_COUNT(MultichoiceList_107)},
+ {MultichoiceList_108, ARRAY_COUNT(MultichoiceList_108)},
+ {MultichoiceList_109, ARRAY_COUNT(MultichoiceList_109)},
+ {MultichoiceList_110, ARRAY_COUNT(MultichoiceList_110)},
+ {MultichoiceList_111, ARRAY_COUNT(MultichoiceList_111)},
+ {MultichoiceList_112, ARRAY_COUNT(MultichoiceList_112)},
+ {MultichoiceList_113, ARRAY_COUNT(MultichoiceList_113)},
+};
+
+const u8 *const gUnknown_0858BAF0[] =
+{
+ gText_Cool,
+ gText_Beauty,
+ gText_Cute,
+ gText_Smart,
+ gText_Tough,
+ gText_Normal,
+ gText_Super,
+ gText_Hyper,
+ gText_Master,
+ gText_Cool2,
+ gText_Beauty2,
+ gText_Cute2,
+ gText_Smart2,
+ gText_Tough2,
+ gText_Items,
+ gText_Key_Items,
+ gText_Poke_Balls,
+ gText_TMs_Hms,
+ gText_Berries2,
+ gText_Single2,
+ gText_Double2,
+ gText_Multi,
+ gText_MultiLink,
+ gText_BattleTower2,
+ gText_BattleDome,
+ gText_BattleFactory,
+ gText_BattlePalace,
+ gText_BattleArena,
+ gText_BattlePike,
+ gText_BattlePyramid,
+};
+
+const u8 gUnknown_0858BB68[] = { 74, 75, 76, 77, 78, 79 };
+
+const u8 *const sPCNameStrings[] =
+{
+ gText_SomeonesPC,
+ gText_LanettesPC,
+ gText_PlayersPC,
+ gText_LogOff,
+};
+
+const u8 *const gUnknown_0858BB80[] =
+{
+ gText_SlateportCity,
+ gText_BattleFrontier,
+ gText_SouthernIsland,
+ gText_NavelRock,
+ gText_BirthIsland,
+ gText_FarawayIsland,
+ gText_Exit,
+};
+
+const u8 *const gUnknown_0858BB9C[] =
+{
+ OldaleTown_PokemonCenter_2F_Text_277F1B,
+ OldaleTown_PokemonCenter_2F_Text_277F5A,
+ OldaleTown_PokemonCenter_2F_Text_277F96,
+ OldaleTown_PokemonCenter_2F_Text_27889C,
+};
+const u8 *const gUnknown_0858BBAC[] =
+{
+ OldaleTown_PokemonCenter_2F_Text_27879F,
+ OldaleTown_PokemonCenter_2F_Text_2787D5,
+ OldaleTown_PokemonCenter_2F_Text_278831,
+ OldaleTown_PokemonCenter_2F_Text_27889C,
+};
+const u8 *const gUnknown_0858BBBC[] =
+{
+ OldaleTown_PokemonCenter_2F_Text_27879F,
+ OldaleTown_PokemonCenter_2F_Text_2787D5,
+ OldaleTown_PokemonCenter_2F_Text_2787FC,
+ OldaleTown_PokemonCenter_2F_Text_27889C,
+};
+const u8 *const gUnknown_0858BBCC[] =
+{
+ OldaleTown_PokemonCenter_2F_Text_27879F,
+ OldaleTown_PokemonCenter_2F_Text_2787D5,
+ OldaleTown_PokemonCenter_2F_Text_278831,
+ OldaleTown_PokemonCenter_2F_Text_2787FC,
+ OldaleTown_PokemonCenter_2F_Text_27889C,
+};
+const u8 *const gUnknown_0858BBE0[] =
+{
+ OldaleTown_PokemonCenter_2F_Text_277F1B,
+ OldaleTown_PokemonCenter_2F_Text_277F5A,
+ OldaleTown_PokemonCenter_2F_Text_27889C,
+};
+const u8 *const gUnknown_0858BBEC[] =
+{
+ OldaleTown_PokemonCenter_2F_Text_27879F,
+ OldaleTown_PokemonCenter_2F_Text_2787D5,
+ OldaleTown_PokemonCenter_2F_Text_27889C,
+};
-extern EWRAM_DATA u8 gUnknown_02039F90;
+EWRAM_DATA u8 gUnknown_02039F90 = 0;
IWRAM_DATA u8 gUnknown_03001124[7];
IWRAM_DATA u32 filler_0300112c;
-/*static*/ void Task_HandleMultichoiceInput(u8);
-/*static*/ void Task_HandleYesNoInput(u8);
-/*static*/ void Task_HandleMultichoiceGridInput(u8);
-/*static*/ void DrawMultichoiceMenu(u8, u8, u8, bool8, u8);
-/*static*/ void sub_80E1FBC(u8, u8, u8, u8);
-/*static*/ void sub_80E2A94(u8);
-/*static*/ void CreatePCMenu(void);
-/*static*/ void sub_80E2578(void);
+static void Task_HandleMultichoiceInput(u8);
+static void Task_HandleYesNoInput(u8);
+static void Task_HandleMultichoiceGridInput(u8);
+static void DrawMultichoiceMenu(u8, u8, u8, bool8, u8);
+static void sub_80E1FBC(u8, u8, u8, u8);
+static void sub_80E2A94(u8);
+static void CreatePCMenu(void);
+static void sub_80E2578(void);
+static bool8 IsPicboxClosed(void);
+static void CreateStartMenu(void);
+static void sub_80E2CC4(u8, u8, u8, u8);
bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress)
{
@@ -68,7 +1060,7 @@ bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 multichoiceId, bool8
}
}
-/*static*/ u16 sub_80E1EB8(const u8 *str)
+static u16 sub_80E1EB8(const u8 *str)
{
u16 length = 0;
@@ -93,7 +1085,7 @@ bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 multichoiceId, bool8
return length;
}
-/*static*/ void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress, u8 cursorPos)
+static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress, u8 cursorPos)
{
int i;
u8 right;
@@ -137,7 +1129,7 @@ bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 multichoiceId, bool8
#define tWindowId data[6]
#define tMultichoiceId data[7]
-/*static*/ void sub_80E1FBC(u8 ignoreBPress, u8 count, u8 windowId, u8 multichoiceId)
+static void sub_80E1FBC(u8 ignoreBPress, u8 count, u8 windowId, u8 multichoiceId)
{
u8 i;
u8 taskId;
@@ -166,7 +1158,7 @@ bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 multichoiceId, bool8
sub_80E2A94(multichoiceId);
}
-/*static*/ void Task_HandleMultichoiceInput(u8 taskId)
+static void Task_HandleMultichoiceInput(u8 taskId)
{
s8 selection;
s16 *data = gTasks[taskId].data;
@@ -236,7 +1228,7 @@ bool8 IsScriptActive(void)
return TRUE;
}
-/*static*/ void Task_HandleYesNoInput(u8 taskId)
+static void Task_HandleYesNoInput(u8 taskId)
{
u8 left, top;
@@ -457,7 +1449,7 @@ _080E22E8:\n\
}
#endif
-/*static*/ void Task_HandleMultichoiceGridInput(u8 taskId)
+static void Task_HandleMultichoiceGridInput(u8 taskId)
{
s16 *data = gTasks[taskId].data;
s8 selection = Menu_ProcessInputGridLayout();
@@ -481,14 +1473,7 @@ _080E22E8:\n\
}
}
-#undef tLeft
-#undef tTop
-#undef tRight
-#undef tBottom
-#undef tIgnoreBPress
-#undef tDoWrap
#undef tWindowId
-#undef tMultichoiceId
bool8 ScrSpecial_CreatePCMenu(void)
{
@@ -504,7 +1489,7 @@ bool8 ScrSpecial_CreatePCMenu(void)
}
}
-/*static*/ void CreatePCMenu(void)
+static void CreatePCMenu(void)
{
u8 y = 8;
u32 pixelWidth = 0;
@@ -573,15 +1558,14 @@ bool8 sub_80E2548(void)
}
}
-/*static*/ void sub_80E2578(void)
+static void sub_80E2578(void)
{
- u8 unk = 0;
+ u8 temp = 0;
u8 count;
u32 pixelWidth;
u8 width;
u8 windowId;
u8 i;
- u8 y;
u32 j;
for (i = 0; i < ARRAY_COUNT(gUnknown_03001124); i++)
@@ -593,12 +1577,12 @@ bool8 sub_80E2548(void)
if (gSpecialVar_0x8004 == 0)
{
- gUnknown_03001124[unk] = 0;
- unk++;
+ gUnknown_03001124[temp] = 0;
+ temp++;
if (FlagGet(FLAG_0x1D0) == TRUE)
{
- gUnknown_03001124[unk] = 1;
- unk++;
+ gUnknown_03001124[temp] = 1;
+ temp++;
}
}
@@ -606,14 +1590,14 @@ bool8 sub_80E2548(void)
{
if (gSpecialVar_0x8004 == 0)
{
- gUnknown_03001124[unk] = 2;
- unk++;
+ gUnknown_03001124[temp] = 2;
+ temp++;
}
if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_0x1AE) == FALSE)
{
- gUnknown_03001124[unk] = 2;
- unk++;
+ gUnknown_03001124[temp] = 2;
+ temp++;
FlagSet(FLAG_0x1AE);
}
}
@@ -622,14 +1606,14 @@ bool8 sub_80E2548(void)
{
if (gSpecialVar_0x8004 == 0)
{
- gUnknown_03001124[unk] = 3;
- unk++;
+ gUnknown_03001124[temp] = 3;
+ temp++;
}
if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_0x1DB) == FALSE)
{
- gUnknown_03001124[unk] = 3;
- unk++;
+ gUnknown_03001124[temp] = 3;
+ temp++;
FlagSet(FLAG_0x1DB);
}
}
@@ -638,14 +1622,14 @@ bool8 sub_80E2548(void)
{
if (gSpecialVar_0x8004 == 0)
{
- gUnknown_03001124[unk] = 4;
- unk++;
+ gUnknown_03001124[temp] = 4;
+ temp++;
}
if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_0x1AF) == FALSE)
{
- gUnknown_03001124[unk] = 4;
- unk++;
+ gUnknown_03001124[temp] = 4;
+ temp++;
FlagSet(FLAG_0x1AF);
}
}
@@ -654,27 +1638,27 @@ bool8 sub_80E2548(void)
{
if (gSpecialVar_0x8004 == 0)
{
- gUnknown_03001124[unk] = 5;
- unk++;
+ gUnknown_03001124[temp] = 5;
+ temp++;
}
if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_0x1B0) == FALSE)
{
- gUnknown_03001124[unk] = 5;
- unk++;
+ gUnknown_03001124[temp] = 5;
+ temp++;
FlagSet(FLAG_0x1B0);
}
}
- gUnknown_03001124[unk] = 6;
- unk++;
+ gUnknown_03001124[temp] = 6;
+ temp++;
if (gSpecialVar_0x8004 == 0 && FlagGet(FLAG_0x1D0) == TRUE)
{
- count = unk;
+ count = temp;
}
- count = unk;
+ count = temp;
if (count == 7)
{
gSpecialVar_0x8004 = 11;
@@ -697,12 +1681,12 @@ bool8 sub_80E2548(void)
windowId = CreateWindowFromRect(28 - width, (6 - count) * 2, width, count * 2);
SetStandardWindowBorderStyle(windowId, 0);
- for (y = 0, i = 0; i < ARRAY_COUNT(gUnknown_0858BB80); i++)
+ for (temp = 0, i = 0; i < ARRAY_COUNT(gUnknown_0858BB80); i++)
{
if (gUnknown_03001124[i] != 0xFF)
{
- AddTextPrinterParameterized(windowId, 1, gUnknown_0858BB80[gUnknown_03001124[i]], 8, y * 16 + 1, TEXT_SPEED_FF, NULL);
- y++;
+ AddTextPrinterParameterized(windowId, 1, gUnknown_0858BB80[gUnknown_03001124[i]], 8, temp * 16 + 1, TEXT_SPEED_FF, NULL);
+ temp++;
}
}
@@ -711,3 +1695,231 @@ bool8 sub_80E2548(void)
sub_80E1FBC(FALSE, count, windowId, 8);
}
}
+
+void sub_80E2878(void)
+{
+ if (gSpecialVar_Result != 0x7F)
+ {
+ gSpecialVar_Result = gUnknown_03001124[gSpecialVar_Result];
+ }
+}
+
+#define tState data[0]
+#define tMonSpecies data[1]
+#define tMonSpriteId data[2]
+#define tWindowX data[3]
+#define tWindowY data[4]
+#define tWindowId data[5]
+
+static void Task_PokemonPicWindow(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->tState)
+ {
+ case 0:
+ task->tState++;
+ break;
+ case 1:
+ break;
+ case 2:
+ FreeResourcesAndDestroySprite(&gSprites[task->tMonSpriteId], task->tMonSpriteId);
+ task->tState++;
+ break;
+ case 3:
+ sub_80E2A78(task->tWindowId);
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+bool8 ScriptMenu_ShowPokemonPic(u16 species, u8 x, u8 y)
+{
+ u8 taskId;
+ u8 spriteId;
+
+ if (FindTaskIdByFunc(Task_PokemonPicWindow) != 0xFF)
+ {
+ return FALSE;
+ }
+ else
+ {
+ spriteId = CreateMonSprite_PicBox(species, x * 8 + 40, y * 8 + 40, 0);
+ taskId = CreateTask(Task_PokemonPicWindow, 0x50);
+ gTasks[taskId].tWindowId = CreateWindowFromRect(x, y, 8, 8);
+ gTasks[taskId].tState = 0;
+ gTasks[taskId].tMonSpecies = species;
+ gTasks[taskId].tMonSpriteId = spriteId;
+ gSprites[spriteId].callback = SpriteCallbackDummy;
+ gSprites[spriteId].oam.priority = 0;
+ SetStandardWindowBorderStyle(gTasks[taskId].tWindowId, 1);
+ schedule_bg_copy_tilemap_to_vram(0);
+ return TRUE;
+ }
+}
+
+bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void)
+{
+ u8 taskId = FindTaskIdByFunc(Task_PokemonPicWindow);
+
+ if (taskId == 0xFF)
+ return NULL;
+ gTasks[taskId].tState++;
+ return IsPicboxClosed;
+}
+
+static bool8 IsPicboxClosed(void)
+{
+ if (FindTaskIdByFunc(Task_PokemonPicWindow) == 0xFF)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+#undef tState
+#undef tMonSpecies
+#undef tMonSpriteId
+#undef tWindowX
+#undef tWindowY
+#undef tWindowId
+
+u8 CreateWindowFromRect(u8 x, u8 y, u8 width, u8 height)
+{
+ struct WindowTemplate template = CreateWindowTemplate(0, x + 1, y + 1, width, height, 15, 100);
+ u8 windowId = AddWindow(&template);
+ PutWindowTilemap(windowId);
+ return windowId;
+}
+
+void sub_80E2A78(u8 windowId)
+{
+ sub_8198070(windowId, TRUE);
+ RemoveWindow(windowId);
+}
+
+static void sub_80E2A94(u8 multichoiceId)
+{
+ switch (multichoiceId)
+ {
+ case 77:
+ FillWindowPixelBuffer(0, 0x11);
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BBAC[GetMenuCursorPos()], 0, NULL, 2, 1, 3);
+ break;
+ case 76:
+ FillWindowPixelBuffer(0, 0x11);
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BB9C[GetMenuCursorPos()], 0, NULL, 2, 1, 3);
+ break;
+ case 78:
+ FillWindowPixelBuffer(0, 0x11);
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BBBC[GetMenuCursorPos()], 0, NULL, 2, 1, 3);
+ break;
+ case 79:
+ FillWindowPixelBuffer(0, 0x11);
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BBCC[GetMenuCursorPos()], 0, NULL, 2, 1, 3);
+ break;
+ case 75:
+ FillWindowPixelBuffer(0, 0x11);
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BBEC[GetMenuCursorPos()], 0, NULL, 2, 1, 3);
+ break;
+ case 74:
+ FillWindowPixelBuffer(0, 0x11);
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BBE0[GetMenuCursorPos()], 0, NULL, 2, 1, 3);
+ break;
+ }
+}
+
+bool16 sp106_CreateStartMenu(void)
+{
+ if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE)
+ {
+ return FALSE;
+ }
+
+ gSpecialVar_Result = 0xFF;
+ CreateStartMenu();
+ return TRUE;
+}
+
+static void CreateStartMenu(void)
+{
+ u8 windowId = CreateWindowFromRect(21, 0, 7, 18);
+ SetStandardWindowBorderStyle(windowId, 0);
+ AddTextPrinterParameterized(windowId, 1, gText_MenuOptionPokedex, 8, 9, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(windowId, 1, gText_MenuOptionPokemon, 8, 25, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(windowId, 1, gText_MenuOptionBag, 8, 41, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(windowId, 1, gText_MenuOptionPokenav, 8, 57, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(windowId, 1, gSaveBlock2Ptr->playerName, 8, 73, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(windowId, 1, gText_MenuOptionSave, 8, 89, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(windowId, 1, gText_MenuOptionOption, 8, 105, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(windowId, 1, gText_MenuOptionExit, 8, 121, TEXT_SPEED_FF, NULL);
+ sub_81983AC(windowId, 1, 0, 9, 16, 8, 0);
+ sub_80E2CC4(0, 8, windowId, 86);
+ CopyWindowToVram(windowId, 3);
+}
+
+#define tWindowId data[6]
+
+static void sub_80E2CC4(bool8 ignoreBPress, u8 unused, u8 windowId, u8 multichoiceId)
+{
+ u8 taskId;
+ gUnknown_02039F90 = 2;
+ taskId = CreateTask(Task_HandleMultichoiceInput, 80);
+ gTasks[taskId].tIgnoreBPress = ignoreBPress;
+ gTasks[taskId].tDoWrap = 0;
+ gTasks[taskId].tWindowId = windowId;
+ gTasks[taskId].tMultichoiceId = multichoiceId;
+}
+
+#undef tLeft
+#undef tTop
+#undef tRight
+#undef tBottom
+#undef tIgnoreBPress
+#undef tDoWrap
+#undef tWindowId
+#undef tMultichoiceId
+
+static int display_text_and_get_width_internal(const u8 *str)
+{
+ u8 temp[64];
+ StringExpandPlaceholders(temp, str);
+ return GetStringWidth(1, temp, 0);
+}
+
+int display_text_and_get_width(const u8 *str, int prevMaxWidth)
+{
+ int len = display_text_and_get_width_internal(str);
+ if (len < prevMaxWidth)
+ {
+ len = prevMaxWidth;
+ }
+ return len;
+}
+
+int convert_pixel_width_to_tile_width(int width)
+{
+ return (((width + 9) / 8) + 1) > 28 ? 28 : (((width + 9) / 8) + 1);
+}
+
+int sub_80E2D5C(int a0, int a1)
+{
+ int ret = a0;
+
+ if (a0 + a1 > 28)
+ {
+ if (28 - a1 < 0)
+ {
+ ret = 0;
+ }
+ else
+ {
+ ret = 28 - a1;
+ }
+ }
+ else
+ {
+ ret = a0;
+ }
+
+ return ret;
+}
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 415d3882f..083d8c41e 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -359,11 +359,7 @@ gUnknown_02039F5D: @ 2039F5D
.include "src/shop.o"
.include "src/fldeff_escalator.o"
-
- .align 2
-gUnknown_02039F90: @ 2039F90
- .space 0x4
-
+ .include "src/script_menu.o"
.include "src/naming_screen.o"
.include "src/money.o"
.include "src/record_mixing.o"