summaryrefslogtreecommitdiff
path: root/asm/start_menu.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/start_menu.s')
-rw-r--r--asm/start_menu.s454
1 files changed, 37 insertions, 417 deletions
diff --git a/asm/start_menu.s b/asm/start_menu.s
index 713923c79..c96a471fa 100644
--- a/asm/start_menu.s
+++ b/asm/start_menu.s
@@ -5,386 +5,6 @@
.text
- thumb_func_start BuildStartMenuActions
-BuildStartMenuActions: @ 809F440
- push {lr}
- ldr r0, =gUnknown_0203760F
- movs r1, 0
- strb r1, [r0]
- bl is_c1_link_related_active
- cmp r0, 0x1
- bne _0809F45C
- bl BuildStartMenuActions_LinkMode
- b _0809F4AC
- .pool
-_0809F45C:
- bl InUnionRoom
- cmp r0, 0x1
- bne _0809F46A
- bl BuildStartMenuActions_UnionRoom
- b _0809F4AC
-_0809F46A:
- bl GetSafariZoneFlag
- cmp r0, 0x1
- bne _0809F478
- bl BuildStartMenuActions_SafariZone
- b _0809F4AC
-_0809F478:
- bl InBattlePike
- lsls r0, 24
- cmp r0, 0
- beq _0809F488
- bl BuildStartMenuActions_BattlePike
- b _0809F4AC
-_0809F488:
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _0809F498
- bl BuildStartMenuActions_BattlePyramid
- b _0809F4AC
-_0809F498:
- bl in_multi_battle_room_with_var_condition
- lsls r0, 24
- cmp r0, 0
- beq _0809F4A8
- bl BuildStartMenuActions_MultiBattleRoom
- b _0809F4AC
-_0809F4A8:
- bl BuildStartMenuActions_Normal
-_0809F4AC:
- pop {r0}
- bx r0
- thumb_func_end BuildStartMenuActions
-
- thumb_func_start AddStartMenuAction
-@ void AddStartMenuAction(u8 entry)
-AddStartMenuAction: @ 809F4B0
- push {lr}
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_02037610
- ldr r1, =gUnknown_0203760F
- bl append_byte
- pop {r0}
- bx r0
- .pool
- thumb_func_end AddStartMenuAction
-
- thumb_func_start BuildStartMenuActions_Normal
-BuildStartMenuActions_Normal: @ 809F4CC
- push {lr}
- ldr r0, =0x00000861
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809F4E2
- movs r0, 0
- bl AddStartMenuAction
-_0809F4E2:
- movs r0, 0x86
- lsls r0, 4
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809F4F8
- movs r0, 0x1
- bl AddStartMenuAction
-_0809F4F8:
- movs r0, 0x2
- bl AddStartMenuAction
- ldr r0, =0x00000862
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809F512
- movs r0, 0x3
- bl AddStartMenuAction
-_0809F512:
- movs r0, 0x4
- bl AddStartMenuAction
- movs r0, 0x5
- bl AddStartMenuAction
- movs r0, 0x6
- bl AddStartMenuAction
- movs r0, 0x7
- bl AddStartMenuAction
- pop {r0}
- bx r0
- .pool
- thumb_func_end BuildStartMenuActions_Normal
-
- thumb_func_start BuildStartMenuActions_SafariZone
-BuildStartMenuActions_SafariZone: @ 809F538
- push {lr}
- movs r0, 0x8
- bl AddStartMenuAction
- movs r0, 0
- bl AddStartMenuAction
- movs r0, 0x1
- bl AddStartMenuAction
- movs r0, 0x2
- bl AddStartMenuAction
- movs r0, 0x4
- bl AddStartMenuAction
- movs r0, 0x6
- bl AddStartMenuAction
- movs r0, 0x7
- bl AddStartMenuAction
- pop {r0}
- bx r0
- thumb_func_end BuildStartMenuActions_SafariZone
-
- thumb_func_start BuildStartMenuActions_LinkMode
-BuildStartMenuActions_LinkMode: @ 809F568
- push {lr}
- movs r0, 0x1
- bl AddStartMenuAction
- movs r0, 0x2
- bl AddStartMenuAction
- ldr r0, =0x00000862
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809F58A
- movs r0, 0x3
- bl AddStartMenuAction
-_0809F58A:
- movs r0, 0x9
- bl AddStartMenuAction
- movs r0, 0x6
- bl AddStartMenuAction
- movs r0, 0x7
- bl AddStartMenuAction
- pop {r0}
- bx r0
- .pool
- thumb_func_end BuildStartMenuActions_LinkMode
-
- thumb_func_start BuildStartMenuActions_UnionRoom
-BuildStartMenuActions_UnionRoom: @ 809F5A4
- push {lr}
- movs r0, 0x1
- bl AddStartMenuAction
- movs r0, 0x2
- bl AddStartMenuAction
- ldr r0, =0x00000862
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809F5C6
- movs r0, 0x3
- bl AddStartMenuAction
-_0809F5C6:
- movs r0, 0x4
- bl AddStartMenuAction
- movs r0, 0x6
- bl AddStartMenuAction
- movs r0, 0x7
- bl AddStartMenuAction
- pop {r0}
- bx r0
- .pool
- thumb_func_end BuildStartMenuActions_UnionRoom
-
- thumb_func_start BuildStartMenuActions_BattlePike
-BuildStartMenuActions_BattlePike: @ 809F5E0
- push {lr}
- movs r0, 0
- bl AddStartMenuAction
- movs r0, 0x1
- bl AddStartMenuAction
- movs r0, 0x4
- bl AddStartMenuAction
- movs r0, 0x6
- bl AddStartMenuAction
- movs r0, 0x7
- bl AddStartMenuAction
- pop {r0}
- bx r0
- thumb_func_end BuildStartMenuActions_BattlePike
-
- thumb_func_start BuildStartMenuActions_BattlePyramid
-BuildStartMenuActions_BattlePyramid: @ 809F604
- push {lr}
- movs r0, 0x1
- bl AddStartMenuAction
- movs r0, 0xC
- bl AddStartMenuAction
- movs r0, 0x4
- bl AddStartMenuAction
- movs r0, 0xA
- bl AddStartMenuAction
- movs r0, 0xB
- bl AddStartMenuAction
- movs r0, 0x6
- bl AddStartMenuAction
- movs r0, 0x7
- bl AddStartMenuAction
- pop {r0}
- bx r0
- thumb_func_end BuildStartMenuActions_BattlePyramid
-
- thumb_func_start BuildStartMenuActions_MultiBattleRoom
-BuildStartMenuActions_MultiBattleRoom: @ 809F634
- push {lr}
- movs r0, 0x1
- bl AddStartMenuAction
- movs r0, 0x4
- bl AddStartMenuAction
- movs r0, 0x6
- bl AddStartMenuAction
- movs r0, 0x7
- bl AddStartMenuAction
- pop {r0}
- bx r0
- thumb_func_end BuildStartMenuActions_MultiBattleRoom
-
- thumb_func_start sub_809F654
-sub_809F654: @ 809F654
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r4, =gUnknown_0203760C
- ldr r0, =gUnknown_08510508
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- bl PutWindowTilemap
- ldrb r0, [r4]
- movs r1, 0
- bl sub_81973FC
- ldr r0, =gStringVar1
- ldr r1, =gUnknown_0203A04C
- ldrb r1, [r1]
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r5, =gStringVar4
- ldr r1, =gUnknown_085EE6FF
- adds r0, r5, 0
- bl StringExpandPlaceholders
- ldrb r0, [r4]
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0
- bl Print
- ldrb r0, [r4]
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809F654
-
- thumb_func_start sub_809F6C8
-sub_809F6C8: @ 809F6C8
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000cb2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x7
- bne _0809F6F0
- ldr r4, =gUnknown_0203760D
- ldr r0, =gUnknown_08510538
- b _0809F6F4
- .pool
-_0809F6F0:
- ldr r4, =gUnknown_0203760D
- ldr r0, =gUnknown_08510530
-_0809F6F4:
- bl AddWindow
- strb r0, [r4]
- ldr r4, =gUnknown_0203760D
- ldrb r0, [r4]
- bl PutWindowTilemap
- ldrb r0, [r4]
- movs r1, 0
- bl sub_81973FC
- ldr r0, =gStringVar1
- ldr r2, =gUnknown_08510510
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- ldr r3, =0x00000cb2
- adds r1, r3
- ldrh r1, [r1]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- ldr r5, =gStringVar4
- ldr r1, =gUnknown_085EE716
- adds r0, r5, 0
- bl StringExpandPlaceholders
- ldrb r0, [r4]
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0
- bl Print
- ldrb r0, [r4]
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809F6C8
-
- thumb_func_start RemoveExtraStartMenuWindows
-RemoveExtraStartMenuWindows: @ 809F774
- push {r4,lr}
- bl GetSafariZoneFlag
- cmp r0, 0
- beq _0809F796
- ldr r4, =gUnknown_0203760C
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8198070
- ldrb r0, [r4]
- movs r1, 0x2
- bl CopyWindowToVram
- ldrb r0, [r4]
- bl RemoveWindow
-_0809F796:
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _0809F7B0
- ldr r4, =gUnknown_0203760D
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8198070
- ldrb r0, [r4]
- bl RemoveWindow
-_0809F7B0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RemoveExtraStartMenuWindows
thumb_func_start PrintStartMenuActions
PrintStartMenuActions: @ 809F7C0
@@ -397,12 +17,12 @@ PrintStartMenuActions: @ 809F7C0
mov r8, r0
adds r6, r1, 0
ldrb r2, [r0]
- ldr r0, =gUnknown_08510540
+ ldr r0, =sStartMenuItems
mov r9, r0
ldr r1, =gStringVar4
mov r10, r1
_0809F7DA:
- ldr r0, =gUnknown_02037610
+ ldr r0, =sCurrentStartMenuActions
lsls r2, 24
asrs r4, r2, 24
adds r5, r4, r0
@@ -416,7 +36,7 @@ _0809F7DA:
adds r7, r2, 0
cmp r1, r0
bne _0809F828
- bl get_start_menu_window_id_maybe
+ bl GetStartMenuWindowId
lsls r0, 24
lsrs r0, 24
ldrb r1, [r5]
@@ -437,7 +57,7 @@ _0809F828:
ldr r1, [r0]
mov r0, r10
bl StringExpandPlaceholders
- bl get_start_menu_window_id_maybe
+ bl GetStartMenuWindowId
lsls r0, 24
lsrs r0, 24
lsls r1, r4, 4
@@ -452,14 +72,14 @@ _0809F828:
movs r1, 0x1
mov r2, r10
movs r3, 0x8
- bl Print
+ bl PrintTextOnWindow
_0809F858:
movs r0, 0x80
lsls r0, 17
adds r1, r7, r0
lsrs r2, r1, 24
asrs r1, 24
- ldr r0, =gUnknown_0203760F
+ ldr r0, =sNumStartMenuActions
ldrb r0, [r0]
cmp r1, r0
bge _0809F87C
@@ -522,7 +142,7 @@ _0809F8D8:
.pool
_0809F8E4:
bl sub_81973A4
- ldr r0, =gUnknown_0203760F
+ ldr r0, =sNumStartMenuActions
ldrb r0, [r0]
bl sub_81979C4
lsls r0, 24
@@ -538,13 +158,13 @@ _0809F90C:
bl GetSafariZoneFlag
cmp r0, 0
beq _0809F918
- bl sub_809F654
+ bl DisplaySafariBallsWindow
_0809F918:
bl InBattlePyramid
lsls r0, 24
cmp r0, 0
beq _0809F926
- bl sub_809F6C8
+ bl DisplayPyramidFloorWindow
_0809F926:
ldr r1, =gUnknown_02037619
b _0809F940
@@ -564,15 +184,15 @@ _0809F940:
b _0809F98C
.pool
_0809F94C:
- bl get_start_menu_window_id_maybe
+ bl GetStartMenuWindowId
lsls r0, 24
lsrs r0, 24
movs r1, 0x10
str r1, [sp]
- ldr r1, =gUnknown_0203760F
+ ldr r1, =sNumStartMenuActions
ldrb r1, [r1]
str r1, [sp, 0x4]
- ldr r4, =gUnknown_0203760E
+ ldr r4, =sStartMenuCursorPos
ldrb r1, [r4]
str r1, [sp, 0x8]
movs r1, 0x1
@@ -580,7 +200,7 @@ _0809F94C:
movs r3, 0x9
bl sub_81983AC
strb r0, [r4]
- bl get_start_menu_window_id_maybe
+ bl GetStartMenuWindowId
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
@@ -674,7 +294,7 @@ sub_809FA18: @ 809FA18
movs r0, 0
strb r0, [r1]
strb r0, [r1, 0x1]
- ldr r1, =gUnknown_03005DB0
+ ldr r1, =gFieldCallback
ldr r0, =sub_809FA00
str r0, [r1]
bx lr
@@ -762,7 +382,7 @@ HandleStartMenuInput: @ 809FAC4
movs r0, 0x1
negs r0, r0
bl MoveMenuCursor
- ldr r1, =gUnknown_0203760E
+ ldr r1, =sStartMenuCursorPos
strb r0, [r1]
_0809FAE4:
ldrh r1, [r4, 0x2E]
@@ -774,7 +394,7 @@ _0809FAE4:
bl PlaySE
movs r0, 0x1
bl MoveMenuCursor
- ldr r1, =gUnknown_0203760E
+ ldr r1, =sStartMenuCursorPos
strb r0, [r1]
_0809FAFE:
ldrh r1, [r4, 0x2E]
@@ -784,9 +404,9 @@ _0809FAFE:
beq _0809FB98
movs r0, 0x5
bl PlaySE
- ldr r1, =gUnknown_08510540
- ldr r2, =gUnknown_02037610
- ldr r0, =gUnknown_0203760E
+ ldr r1, =sStartMenuItems
+ ldr r2, =sCurrentStartMenuActions
+ ldr r0, =sStartMenuCursorPos
ldrb r0, [r0]
adds r0, r2
ldrb r0, [r0]
@@ -804,9 +424,9 @@ _0809FAFE:
beq _0809FBA0
_0809FB34:
ldr r3, =gUnknown_03005DF4
- ldr r1, =gUnknown_08510540
- ldr r2, =gUnknown_02037610
- ldr r0, =gUnknown_0203760E
+ ldr r1, =sStartMenuItems
+ ldr r2, =sCurrentStartMenuActions
+ ldr r0, =sStartMenuCursorPos
ldrb r0, [r0]
adds r0, r2
ldrb r0, [r0]
@@ -1249,7 +869,7 @@ _0809FF00:
bl sub_80984F4
bl script_env_2_disable
ldr r0, =gUnknown_08252C88
- bl script_env_1_execute_new_script
+ bl ScriptContext1_SetupScript
movs r0, 0x1
b _0809FF22
.pool
@@ -1458,7 +1078,7 @@ _080A009A:
thumb_func_start sub_80A00A0
sub_80A00A0: @ 80A00A0
push {lr}
- bl get_start_menu_window_id_maybe
+ bl GetStartMenuWindowId
lsls r0, 24
lsrs r0, 24
movs r1, 0
@@ -1789,7 +1409,7 @@ sub_80A0340: @ 80A0340
thumb_func_start sub_80A035C
sub_80A035C: @ 80A035C
push {lr}
- bl get_start_menu_window_id_maybe
+ bl GetStartMenuWindowId
lsls r0, 24
lsrs r0, 24
movs r1, 0
@@ -2239,7 +1859,7 @@ _080A0710:
movs r1, 0x1
adds r2, r5, 0
movs r3, 0
- bl Print
+ bl PrintTextOnWindow
movs r4, 0x11
ldrb r0, [r6]
ldr r2, =gUnknown_085EED26
@@ -2249,7 +1869,7 @@ _080A0710:
str r7, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl Print
+ bl PrintTextOnWindow
movs r0, 0
adds r1, r5, 0
mov r2, r9
@@ -2274,7 +1894,7 @@ _080A0710:
str r7, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl Print
+ bl PrintTextOnWindow
movs r0, 0x4
adds r1, r5, 0
mov r2, r9
@@ -2293,7 +1913,7 @@ _080A0710:
str r7, [sp, 0x8]
movs r1, 0x1
adds r2, r5, 0
- bl Print
+ bl PrintTextOnWindow
mov r0, r10
bl FlagGet
lsls r0, 24
@@ -2309,7 +1929,7 @@ _080A0710:
str r7, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl Print
+ bl PrintTextOnWindow
movs r0, 0x1
adds r1, r5, 0
mov r2, r9
@@ -2328,7 +1948,7 @@ _080A0710:
str r7, [sp, 0x8]
movs r1, 0x1
adds r2, r5, 0
- bl Print
+ bl PrintTextOnWindow
_080A0802:
adds r4, 0x10
ldrb r0, [r6]
@@ -2341,7 +1961,7 @@ _080A0802:
str r7, [sp, 0x8]
movs r1, 0x1
movs r3, 0
- bl Print
+ bl PrintTextOnWindow
movs r0, 0x2
adds r1, r5, 0
mov r2, r9
@@ -2360,7 +1980,7 @@ _080A0802:
str r7, [sp, 0x8]
movs r1, 0x1
adds r2, r5, 0
- bl Print
+ bl PrintTextOnWindow
ldrb r0, [r6]
movs r1, 0x2
bl CopyWindowToVram
@@ -2445,7 +2065,7 @@ sub_80A08CC: @ 80A08CC
thumb_func_start sub_80A0914
sub_80A0914: @ 80A0914
push {lr}
- bl get_start_menu_window_id_maybe
+ bl GetStartMenuWindowId
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
@@ -2467,8 +2087,8 @@ sub_80A0934: @ 80A0934
bx r0
thumb_func_end sub_80A0934
- thumb_func_start append_byte
-append_byte: @ 80A0944
+ thumb_func_start AppendToList
+AppendToList: @ 80A0944
ldrb r3, [r1]
adds r0, r3
strb r2, [r0]
@@ -2476,6 +2096,6 @@ append_byte: @ 80A0944
adds r0, 0x1
strb r0, [r1]
bx lr
- thumb_func_end append_byte
+ thumb_func_end AppendToList
.align 2, 0 @ Don't pad with nop.