summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/event_object_movement.s14
-rw-r--r--asm/naming_screen.s4594
2 files changed, 7 insertions, 4601 deletions
diff --git a/asm/event_object_movement.s b/asm/event_object_movement.s
index e9ddd9ebc..d09ee8e97 100644
--- a/asm/event_object_movement.s
+++ b/asm/event_object_movement.s
@@ -1470,8 +1470,8 @@ _0805E8E0:
bx r1
thumb_func_end TrySpawnObjectEvent
- thumb_func_start sub_805E8E8
-sub_805E8E8: @ 805E8E8
+ thumb_func_start MakeObjectTemplateFromObjectEventGraphicsInfo
+MakeObjectTemplateFromObjectEventGraphicsInfo: @ 805E8E8
push {r4-r7,lr}
adds r6, r1, 0
adds r4, r2, 0
@@ -1515,7 +1515,7 @@ _0805E936:
pop {r4-r7}
pop {r0}
bx r0
- thumb_func_end sub_805E8E8
+ thumb_func_end MakeObjectTemplateFromObjectEventGraphicsInfo
thumb_func_start MakeObjectTemplateFromObjectEventGraphicsInfoWithCallbackIndex
MakeObjectTemplateFromObjectEventGraphicsInfoWithCallbackIndex: @ 805E940
@@ -1527,7 +1527,7 @@ MakeObjectTemplateFromObjectEventGraphicsInfoWithCallbackIndex: @ 805E940
lsrs r1, 14
adds r1, r4
ldr r1, [r1]
- bl sub_805E8E8
+ bl MakeObjectTemplateFromObjectEventGraphicsInfo
pop {r4}
pop {r0}
bx r0
@@ -1565,7 +1565,7 @@ AddPseudoObjectEvent: @ 805E978
lsrs r4, 24
add r3, sp, 0x18
mov r2, sp
- bl sub_805E8E8
+ bl MakeObjectTemplateFromObjectEventGraphicsInfo
mov r0, sp
ldrh r1, [r0, 0x2]
ldr r0, _0805E9F0 @ =0x0000ffff
@@ -1649,7 +1649,7 @@ sprite_new: @ 805E9F8
add r3, sp, 0x1C
adds r0, r5, 0
mov r2, sp
- bl sub_805E8E8
+ bl MakeObjectTemplateFromObjectEventGraphicsInfo
mov r1, sp
ldr r2, _0805EB3C @ =0x0000ffff
adds r0, r2, 0
@@ -1799,7 +1799,7 @@ sub_805EB44: @ 805EB44
add r3, sp, 0x18
adds r0, r6, 0
mov r2, sp
- bl sub_805E8E8
+ bl MakeObjectTemplateFromObjectEventGraphicsInfo
mov r1, sp
ldr r2, _0805EC28 @ =0x0000ffff
adds r0, r2, 0
diff --git a/asm/naming_screen.s b/asm/naming_screen.s
deleted file mode 100644
index 1e0d2ef68..000000000
--- a/asm/naming_screen.s
+++ /dev/null
@@ -1,4594 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start DoNamingScreen
-DoNamingScreen: @ 809D954
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r1
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r2, 16
- lsrs r5, r2, 16
- lsls r3, 16
- lsrs r6, r3, 16
- ldr r4, _0809D980 @ =gUnknown_203998C
- movs r0, 0xF2
- lsls r0, 5
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- bne _0809D984
- ldr r0, [sp, 0x1C]
- bl SetMainCallback2
- b _0809D9BE
- .align 2, 0
-_0809D980: .4byte gUnknown_203998C
-_0809D984:
- ldr r1, _0809D9C8 @ =0x00001e2c
- adds r0, r1
- strb r7, [r0]
- ldr r0, [r4]
- ldr r2, _0809D9CC @ =0x00001e34
- adds r1, r0, r2
- strh r5, [r1]
- adds r2, 0x2
- adds r1, r0, r2
- strh r6, [r1]
- ldr r1, _0809D9D0 @ =0x00001e38
- adds r2, r0, r1
- ldr r1, [sp, 0x18]
- str r1, [r2]
- ldr r2, _0809D9D4 @ =0x00001e30
- adds r1, r0, r2
- mov r2, r8
- str r2, [r1]
- ldr r1, _0809D9D8 @ =0x00001e3c
- adds r0, r1
- ldr r2, [sp, 0x1C]
- str r2, [r0]
- cmp r7, 0
- bne _0809D9B8
- bl StartTimer1
-_0809D9B8:
- ldr r0, _0809D9DC @ =c2_choose_name_or_words_screen
- bl SetMainCallback2
-_0809D9BE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D9C8: .4byte 0x00001e2c
-_0809D9CC: .4byte 0x00001e34
-_0809D9D0: .4byte 0x00001e38
-_0809D9D4: .4byte 0x00001e30
-_0809D9D8: .4byte 0x00001e3c
-_0809D9DC: .4byte c2_choose_name_or_words_screen
- thumb_func_end DoNamingScreen
-
- thumb_func_start c2_choose_name_or_words_screen
-c2_choose_name_or_words_screen: @ 809D9E0
- push {lr}
- ldr r0, _0809D9FC @ =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x7
- bhi _0809DA78
- lsls r0, 2
- ldr r1, _0809DA00 @ =_0809DA04
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809D9FC: .4byte gMain
-_0809DA00: .4byte _0809DA04
- .align 2, 0
-_0809DA04:
- .4byte _0809DA24
- .4byte _0809DA2E
- .4byte _0809DA34
- .4byte _0809DA3A
- .4byte _0809DA44
- .4byte _0809DA4A
- .4byte _0809DA50
- .4byte _0809DA56
-_0809DA24:
- bl sub_809FB88
- bl sub_809DA84
- b _0809DA62
-_0809DA2E:
- bl choose_name_or_words_screen_init_bgs
- b _0809DA62
-_0809DA34:
- bl ResetPaletteFade
- b _0809DA62
-_0809DA3A:
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- b _0809DA62
-_0809DA44:
- bl ResetTasks
- b _0809DA62
-_0809DA4A:
- bl choose_name_or_words_screen_apply_bg_pals
- b _0809DA62
-_0809DA50:
- bl choose_name_or_words_screen_load_bg_tile_patterns
- b _0809DA62
-_0809DA56:
- bl sub_809E898
- bl UpdatePaletteFade
- bl sub_809FC34
-_0809DA62:
- ldr r1, _0809DA74 @ =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0809DA80
- .align 2, 0
-_0809DA74: .4byte gMain
-_0809DA78:
- bl sub_809F8C0
- bl sub_809DD60
-_0809DA80:
- pop {r0}
- bx r0
- thumb_func_end c2_choose_name_or_words_screen
-
- thumb_func_start sub_809DA84
-sub_809DA84: @ 809DA84
- push {r4-r6,lr}
- ldr r4, _0809DB3C @ =gUnknown_203998C
- ldr r0, [r4]
- ldr r1, _0809DB40 @ =0x00001e10
- adds r0, r1
- movs r2, 0
- strb r2, [r0]
- ldr r1, [r4]
- ldr r3, _0809DB44 @ =0x00001e18
- adds r0, r1, r3
- movs r5, 0
- strh r2, [r0]
- ldr r6, _0809DB48 @ =0x00001e1a
- adds r0, r1, r6
- strh r2, [r0]
- ldr r0, _0809DB4C @ =0x00001e1c
- adds r2, r1, r0
- movs r3, 0x1
- movs r0, 0x1
- strh r0, [r2]
- adds r6, 0x4
- adds r2, r1, r6
- movs r0, 0x2
- strh r0, [r2]
- movs r0, 0xF1
- lsls r0, 5
- adds r1, r0
- strb r5, [r1]
- ldr r0, [r4]
- ldr r1, _0809DB50 @ =0x00001e21
- adds r0, r1
- strb r3, [r0]
- ldr r1, [r4]
- ldr r5, _0809DB54 @ =0x00001e28
- adds r3, r1, r5
- ldr r2, _0809DB58 @ =gUnknown_83E248C
- adds r6, 0xE
- adds r0, r1, r6
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- str r0, [r3]
- ldrb r0, [r0, 0x4]
- ldr r2, _0809DB5C @ =0x00001e22
- adds r1, r2
- strb r0, [r1]
- ldr r2, [r4]
- adds r0, r2, r5
- ldr r0, [r0]
- ldrb r1, [r0, 0x1]
- lsls r1, 3
- movs r0, 0xF0
- subs r0, r1
- asrs r0, 1
- adds r0, 0x6
- ldr r3, _0809DB60 @ =0x00001e16
- adds r1, r2, r3
- strh r0, [r1]
- ldr r6, _0809DB64 @ =gKeyRepeatStartDelay
- ldrh r0, [r6]
- ldr r1, _0809DB68 @ =0x00001e25
- adds r2, r1
- strb r0, [r2]
- ldr r0, [r4]
- movs r2, 0xC0
- lsls r2, 5
- adds r0, r2
- movs r1, 0xFF
- movs r2, 0x10
- bl memset
- ldr r1, [r4]
- adds r5, r1, r5
- ldr r0, [r5]
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809DB30
- movs r3, 0xC0
- lsls r3, 5
- adds r0, r1, r3
- ldr r2, _0809DB6C @ =0x00001e30
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
-_0809DB30:
- movs r0, 0x10
- strh r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809DB3C: .4byte gUnknown_203998C
-_0809DB40: .4byte 0x00001e10
-_0809DB44: .4byte 0x00001e18
-_0809DB48: .4byte 0x00001e1a
-_0809DB4C: .4byte 0x00001e1c
-_0809DB50: .4byte 0x00001e21
-_0809DB54: .4byte 0x00001e28
-_0809DB58: .4byte gUnknown_83E248C
-_0809DB5C: .4byte 0x00001e22
-_0809DB60: .4byte 0x00001e16
-_0809DB64: .4byte gKeyRepeatStartDelay
-_0809DB68: .4byte 0x00001e25
-_0809DB6C: .4byte 0x00001e30
- thumb_func_end sub_809DA84
-
- thumb_func_start sub_809DB70
-sub_809DB70: @ 809DB70
- push {r4,r5,lr}
- movs r3, 0
- ldr r4, _0809DBAC @ =gSprites
- movs r5, 0x5
- negs r5, r5
-_0809DB7A:
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- adds r0, r4
- adds r2, r0, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- lsls r0, r1, 31
- cmp r0, 0
- beq _0809DB94
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2]
-_0809DB94:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3F
- bls _0809DB7A
- movs r0, 0
- bl sub_809EA0C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809DBAC: .4byte gSprites
- thumb_func_end sub_809DB70
-
- thumb_func_start choose_name_or_words_screen_init_bgs
-choose_name_or_words_screen_init_bgs: @ 809DBB0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r0, sp, 0xC
- mov r8, r0
- add r2, sp, 0x8
- movs r6, 0
- ldr r1, _0809DD44 @ =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _0809DD48 @ =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_0809DBD6:
- strh r6, [r2]
- add r0, sp, 0x8
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _0809DBD6
- strh r6, [r2]
- add r2, sp, 0x8
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0xC]
- ldr r2, _0809DD44 @ =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- add r0, sp, 0x8
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, _0809DD4C @ =gUnknown_83E2290
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- bl InitStandardTextBoxWindows
- bl ResetBg0
-_0809DCA4:
- lsls r0, r4, 3
- ldr r1, _0809DD50 @ =gUnknown_83E22A0
- adds r0, r1
- bl AddWindow
- ldr r5, _0809DD54 @ =gUnknown_203998C
- ldr r1, [r5]
- ldr r2, _0809DD58 @ =0x00001e11
- adds r1, r2
- adds r1, r4
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _0809DCA4
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r1, 0xC8
- lsls r1, 3
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, _0809DD5C @ =0x0000080c
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, [r5]
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r5]
- movs r0, 0x80
- lsls r0, 4
- adds r1, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- ldr r1, [r5]
- movs r2, 0x80
- lsls r2, 5
- adds r1, r2
- movs r0, 0x3
- bl SetBgTilemapBuffer
- movs r4, 0x20
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809DD44: .4byte 0x040000d4
-_0809DD48: .4byte 0x81000800
-_0809DD4C: .4byte gUnknown_83E2290
-_0809DD50: .4byte gUnknown_83E22A0
-_0809DD54: .4byte gUnknown_203998C
-_0809DD58: .4byte 0x00001e11
-_0809DD5C: .4byte 0x0000080c
- thumb_func_end choose_name_or_words_screen_init_bgs
-
- thumb_func_start sub_809DD60
-sub_809DD60: @ 809DD60
- push {lr}
- ldr r0, _0809DD80 @ =sub_809DD88
- movs r1, 0x2
- bl CreateTask
- ldr r0, _0809DD84 @ =sub_809FB70
- bl SetMainCallback2
- bl BackupHelpContext
- movs r0, 0x3 @ HELPCONTEXT_NAMING_SCREEN
- bl SetHelpContext
- pop {r0}
- bx r0
- .align 2, 0
-_0809DD80: .4byte sub_809DD88
-_0809DD84: .4byte sub_809FB70
- thumb_func_end sub_809DD60
-
- thumb_func_start sub_809DD88
-sub_809DD88: @ 809DD88
- push {lr}
- ldr r0, _0809DDA4 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809DDA8 @ =0x00001e10
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x9
- bhi _0809DE1A
- lsls r0, 2
- ldr r1, _0809DDAC @ =_0809DDB0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809DDA4: .4byte gUnknown_203998C
-_0809DDA8: .4byte 0x00001e10
-_0809DDAC: .4byte _0809DDB0
- .align 2, 0
-_0809DDB0:
- .4byte _0809DDD8
- .4byte _0809DDE6
- .4byte _0809DDEC
- .4byte _0809DDF2
- .4byte _0809DDF8
- .4byte _0809DDFE
- .4byte _0809DE04
- .4byte _0809DE0A
- .4byte _0809DE10
- .4byte _0809DE16
-_0809DDD8:
- bl sub_809DE70
- bl sub_809DB70
- bl sub_809FB9C
- b _0809DE1A
-_0809DDE6:
- bl sub_809DF28
- b _0809DE1A
-_0809DDEC:
- bl sub_809DF64
- b _0809DE1A
-_0809DDF2:
- bl sub_809DF74
- b _0809DE1A
-_0809DDF8:
- bl sub_809E210
- b _0809DE1A
-_0809DDFE:
- bl sub_809E250
- b _0809DE1A
-_0809DE04:
- bl pokemon_store
- b _0809DE1A
-_0809DE0A:
- bl sub_809E1D4
- b _0809DE1A
-_0809DE10:
- bl sub_809E014
- b _0809DE1A
-_0809DE16:
- bl sub_809E048
-_0809DE1A:
- pop {r0}
- bx r0
- thumb_func_end sub_809DD88
-
- thumb_func_start sub_809DE20
-sub_809DE20: @ 809DE20
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0809DE2C @ =gUnknown_83E234B
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0809DE2C: .4byte gUnknown_83E234B
- thumb_func_end sub_809DE20
-
- thumb_func_start sub_809DE30
-sub_809DE30: @ 809DE30
- ldr r1, _0809DE44 @ =gUnknown_83E234E
- ldr r0, _0809DE48 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r2, _0809DE4C @ =0x00001e22
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0809DE44: .4byte gUnknown_83E234E
-_0809DE48: .4byte gUnknown_203998C
-_0809DE4C: .4byte 0x00001e22
- thumb_func_end sub_809DE30
-
- thumb_func_start sub_809DE50
-sub_809DE50: @ 809DE50
- ldr r1, _0809DE64 @ =gUnknown_83E2351
- ldr r0, _0809DE68 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r2, _0809DE6C @ =0x00001e22
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0809DE64: .4byte gUnknown_83E2351
-_0809DE68: .4byte gUnknown_203998C
-_0809DE6C: .4byte 0x00001e22
- thumb_func_end sub_809DE50
-
- thumb_func_start sub_809DE70
-sub_809DE70: @ 809DE70
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r1, _0809DF08 @ =gUnknown_8E982BC
- movs r0, 0x3
- bl sub_809F900
- ldr r5, _0809DF0C @ =gUnknown_203998C
- ldr r0, [r5]
- ldr r1, _0809DF10 @ =0x00001e22
- adds r0, r1
- movs r6, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, _0809DF14 @ =gUnknown_8E98458
- movs r0, 0x2
- bl sub_809F900
- ldr r1, _0809DF18 @ =gUnknown_8E98398
- movs r0, 0x1
- bl sub_809F900
- ldr r0, [r5]
- ldr r1, _0809DF1C @ =0x00001e12
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_809F9E8
- ldr r0, [r5]
- ldr r1, _0809DF20 @ =0x00001e11
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x1
- bl sub_809F9E8
- bl sub_809F914
- bl sub_809F56C
- bl sub_809FAE4
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- str r6, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, [r5]
- ldr r0, _0809DF24 @ =0x00001e10
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809DF08: .4byte gUnknown_8E982BC
-_0809DF0C: .4byte gUnknown_203998C
-_0809DF10: .4byte 0x00001e22
-_0809DF14: .4byte gUnknown_8E98458
-_0809DF18: .4byte gUnknown_8E98398
-_0809DF1C: .4byte 0x00001e12
-_0809DF20: .4byte 0x00001e11
-_0809DF24: .4byte 0x00001e10
- thumb_func_end sub_809DE70
-
- thumb_func_start sub_809DF28
-sub_809DF28: @ 809DF28
- push {lr}
- ldr r0, _0809DF58 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0809DF50
- movs r0, 0x1
- bl SetInputState
- movs r0, 0x1
- bl sub_809EA64
- ldr r0, _0809DF5C @ =gUnknown_203998C
- ldr r1, [r0]
- ldr r0, _0809DF60 @ =0x00001e10
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0809DF50:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809DF58: .4byte gPaletteFade
-_0809DF5C: .4byte gUnknown_203998C
-_0809DF60: .4byte 0x00001e10
- thumb_func_end sub_809DF28
-
- thumb_func_start sub_809DF64
-sub_809DF64: @ 809DF64
- push {lr}
- bl sub_809F0CC
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_809DF64
-
- thumb_func_start sub_809DF74
-sub_809DF74: @ 809DF74
- push {lr}
- bl sub_809EAD4
- lsls r0, 24
- cmp r0, 0
- beq _0809DF96
- movs r0, 0x1
- bl SetInputState
- bl sub_809E9F8
- ldr r0, _0809DF9C @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809DFA0 @ =0x00001e10
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
-_0809DF96:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809DF9C: .4byte gUnknown_203998C
-_0809DFA0: .4byte 0x00001e10
- thumb_func_end sub_809DF74
-
- thumb_func_start pokemon_store
-pokemon_store: @ 809DFA4
- push {r4,lr}
- bl sub_809F7EC
- movs r0, 0
- bl SetInputState
- movs r0, 0
- bl sub_809EA64
- movs r0, 0x3
- movs r1, 0
- movs r2, 0x1
- bl sub_809E518
- ldr r4, _0809DFEC @ =gUnknown_203998C
- ldr r0, [r4]
- ldr r1, _0809DFF0 @ =0x00001e2c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0809DFF8
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bls _0809DFF8
- bl pokemon_transfer_to_pc_with_message
- ldr r0, [r4]
- ldr r1, _0809DFF4 @ =0x00001e10
- adds r0, r1
- movs r1, 0x7
- strb r1, [r0]
- movs r0, 0
- b _0809E006
- .align 2, 0
-_0809DFEC: .4byte gUnknown_203998C
-_0809DFF0: .4byte 0x00001e2c
-_0809DFF4: .4byte 0x00001e10
-_0809DFF8:
- ldr r0, _0809E00C @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809E010 @ =0x00001e10
- adds r0, r1
- movs r1, 0x8
- strb r1, [r0]
- movs r0, 0x1
-_0809E006:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809E00C: .4byte gUnknown_203998C
-_0809E010: .4byte 0x00001e10
- thumb_func_end pokemon_store
-
- thumb_func_start sub_809E014
-sub_809E014: @ 809E014
- push {lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0809E040 @ =gUnknown_203998C
- ldr r1, [r0]
- ldr r0, _0809E044 @ =0x00001e10
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
- add sp, 0x4
- pop {r1}
- bx r1
- .align 2, 0
-_0809E040: .4byte gUnknown_203998C
-_0809E044: .4byte 0x00001e10
- thumb_func_end sub_809E014
-
- thumb_func_start sub_809E048
-sub_809E048: @ 809E048
- push {r4,r5,lr}
- ldr r0, _0809E0A0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0809E096
- ldr r4, _0809E0A4 @ =gUnknown_203998C
- ldr r0, [r4]
- ldr r1, _0809E0A8 @ =0x00001e2c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809E06C
- bl SeedRngAndSetTrainerId
-_0809E06C:
- ldr r0, [r4]
- ldr r1, _0809E0AC @ =0x00001e3c
- adds r0, r1
- ldr r0, [r0]
- bl SetMainCallback2
- ldr r0, _0809E0B0 @ =sub_809DD88
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- bl FreeAllWindowBuffers
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- bl RestoreHelpContext
-_0809E096:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809E0A0: .4byte gPaletteFade
-_0809E0A4: .4byte gUnknown_203998C
-_0809E0A8: .4byte 0x00001e2c
-_0809E0AC: .4byte 0x00001e3c
-_0809E0B0: .4byte sub_809DD88
- thumb_func_end sub_809E048
-
- thumb_func_start pokemon_transfer_to_pc_with_message
-pokemon_transfer_to_pc_with_message: @ 809E0B4
- push {r4,r5,lr}
- sub sp, 0x10
- movs r5, 0
- bl IsDestinationBoxFull
- lsls r0, 24
- cmp r0, 0
- bne _0809E104
- ldr r4, _0809E0F0 @ =gStringVar1
- ldr r0, _0809E0F4 @ =0x00004037
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- bl GetBoxNamePtr
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldr r0, _0809E0F8 @ =gStringVar2
- ldr r1, _0809E0FC @ =gUnknown_203998C
- ldr r1, [r1]
- ldr r2, _0809E100 @ =0x00001e30
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- b _0809E144
- .align 2, 0
-_0809E0F0: .4byte gStringVar1
-_0809E0F4: .4byte 0x00004037
-_0809E0F8: .4byte gStringVar2
-_0809E0FC: .4byte gUnknown_203998C
-_0809E100: .4byte 0x00001e30
-_0809E104:
- ldr r4, _0809E1AC @ =gStringVar1
- ldr r0, _0809E1B0 @ =0x00004037
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- bl GetBoxNamePtr
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldr r0, _0809E1B4 @ =gStringVar2
- ldr r1, _0809E1B8 @ =gUnknown_203998C
- ldr r1, [r1]
- ldr r2, _0809E1BC @ =0x00001e30
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- ldr r4, _0809E1C0 @ =gStringVar3
- bl GetPCBoxToSendMon
- lsls r0, 24
- lsrs r0, 24
- bl GetBoxNamePtr
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- movs r5, 0x2
-_0809E144:
- ldr r0, _0809E1C4 @ =0x00000834
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0809E156
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0809E156:
- ldr r4, _0809E1C8 @ =gStringVar4
- ldr r1, _0809E1CC @ =gUnknown_83E2280
- lsls r0, r5, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- movs r1, 0
- bl DrawDialogueFrame
- ldr r2, _0809E1D0 @ =gTextFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- bl GetTextSpeedSetting
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- 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, 0x2
- adds r2, r4, 0
- bl AddTextPrinterParameterized2
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809E1AC: .4byte gStringVar1
-_0809E1B0: .4byte 0x00004037
-_0809E1B4: .4byte gStringVar2
-_0809E1B8: .4byte gUnknown_203998C
-_0809E1BC: .4byte 0x00001e30
-_0809E1C0: .4byte gStringVar3
-_0809E1C4: .4byte 0x00000834
-_0809E1C8: .4byte gStringVar4
-_0809E1CC: .4byte gUnknown_83E2280
-_0809E1D0: .4byte gTextFlags
- thumb_func_end pokemon_transfer_to_pc_with_message
-
- thumb_func_start sub_809E1D4
-sub_809E1D4: @ 809E1D4
- push {lr}
- bl RunTextPrinters
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _0809E1FE
- ldr r0, _0809E204 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809E1FE
- ldr r0, _0809E208 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809E20C @ =0x00001e10
- adds r0, r1
- movs r1, 0x8
- strb r1, [r0]
-_0809E1FE:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809E204: .4byte gMain
-_0809E208: .4byte gUnknown_203998C
-_0809E20C: .4byte 0x00001e10
- thumb_func_end sub_809E1D4
-
- thumb_func_start sub_809E210
-sub_809E210: @ 809E210
- push {lr}
- movs r0, 0
- bl SetInputState
- bl sub_809EC20
- bl sub_809E30C
- movs r0, 0x1
- bl sub_809EA0C
- movs r0, 0
- movs r1, 0
- movs r2, 0x1
- bl sub_809E518
- movs r0, 0x6
- bl PlaySE
- ldr r0, _0809E248 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809E24C @ =0x00001e10
- adds r0, r1
- movs r1, 0x5
- strb r1, [r0]
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809E248: .4byte gUnknown_203998C
-_0809E24C: .4byte 0x00001e10
- thumb_func_end sub_809E210
-
- thumb_func_start sub_809E250
-sub_809E250: @ 809E250
- push {r4-r6,lr}
- sub sp, 0x4
- bl sub_809E364
- lsls r0, 24
- cmp r0, 0
- beq _0809E302
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl sub_809E9CC
- bl sub_809EB40
- movs r5, 0
- mov r1, sp
- movs r2, 0
- ldrsh r1, [r1, r2]
- lsls r0, 24
- lsrs r0, 24
- adds r6, r4, 0
- cmp r1, r0
- bne _0809E282
- movs r5, 0x1
-_0809E282:
- ldr r2, _0809E2B8 @ =gUnknown_203998C
- ldr r0, [r2]
- ldr r1, _0809E2BC @ =0x00001e10
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- ldr r1, [r2]
- ldr r3, _0809E2C0 @ =0x00001e22
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r4, [r2]
- adds r4, r3
- ldrb r0, [r4]
- movs r1, 0x3
- bl __umodsi3
- strb r0, [r4]
- cmp r5, 0
- beq _0809E2C4
- mov r4, sp
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- b _0809E2E2
- .align 2, 0
-_0809E2B8: .4byte gUnknown_203998C
-_0809E2BC: .4byte 0x00001e10
-_0809E2C0: .4byte 0x00001e22
-_0809E2C4:
- mov r0, sp
- movs r2, 0
- ldrsh r4, [r0, r2]
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- blt _0809E2E4
- mov r4, sp
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
-_0809E2E2:
- strh r0, [r4]
-_0809E2E4:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r6, r2]
- bl sub_809E948
- bl sub_809FA60
- movs r0, 0x1
- bl SetInputState
- movs r0, 0
- bl sub_809EA0C
-_0809E302:
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809E250
-
- thumb_func_start sub_809E30C
-sub_809E30C: @ 809E30C
- push {r4,lr}
- ldr r4, _0809E328 @ =sub_809E32C
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809E328: .4byte sub_809E32C
- thumb_func_end sub_809E30C
-
- thumb_func_start sub_809E32C
-sub_809E32C: @ 809E32C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _0809E35C @ =gUnknown_83E2354
- ldr r2, _0809E360 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_0809E33E:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _0809E33E
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809E35C: .4byte gUnknown_83E2354
-_0809E360: .4byte gTasks
- thumb_func_end sub_809E32C
-
- thumb_func_start sub_809E364
-sub_809E364: @ 809E364
- push {lr}
- ldr r0, _0809E378 @ =sub_809E32C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _0809E37C
- movs r0, 0
- b _0809E37E
- .align 2, 0
-_0809E378: .4byte sub_809E32C
-_0809E37C:
- movs r0, 0x1
-_0809E37E:
- pop {r1}
- bx r1
- thumb_func_end sub_809E364
-
- thumb_func_start sub_809E384
-sub_809E384: @ 809E384
- ldr r1, _0809E3A0 @ =gUnknown_203998C
- ldr r1, [r1]
- ldr r3, _0809E3A4 @ =0x00001e18
- adds r2, r1, r3
- movs r3, 0
- strh r3, [r2]
- ldr r2, _0809E3A8 @ =0x00001e1a
- adds r1, r2
- strh r3, [r1]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- movs r0, 0
- bx lr
- .align 2, 0
-_0809E3A0: .4byte gUnknown_203998C
-_0809E3A4: .4byte 0x00001e18
-_0809E3A8: .4byte 0x00001e1a
- thumb_func_end sub_809E384
-
- thumb_func_start sub_809E3AC
-sub_809E3AC: @ 809E3AC
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r5, _0809E42C @ =gUnknown_203998C
- ldr r0, [r5]
- ldr r2, _0809E430 @ =0x00001e1a
- adds r1, r0, r2
- str r1, [sp]
- ldr r1, _0809E434 @ =0x00001e18
- adds r0, r1
- str r0, [sp, 0x4]
- ldrh r0, [r4, 0xA]
- adds r0, 0x4
- strh r0, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- movs r1, 0x28
- bl Sin
- ldr r1, [r5]
- movs r2, 0xF1
- lsls r2, 5
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 2
- add r1, sp
- ldr r1, [r1]
- strh r0, [r1]
- ldrh r0, [r4, 0xA]
- adds r0, 0x80
- movs r1, 0xFF
- ands r0, r1
- movs r1, 0x28
- bl Sin
- ldr r1, [r5]
- ldr r2, _0809E438 @ =0x00001e21
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 2
- add r1, sp
- ldr r1, [r1]
- strh r0, [r1]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x3F
- ble _0809E422
- ldr r0, [r5]
- ldr r1, _0809E43C @ =0x00001e1c
- adds r2, r0, r1
- ldrb r3, [r2]
- adds r1, 0x2
- adds r0, r1
- ldrh r1, [r0]
- strh r1, [r2]
- strh r3, [r0]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0809E422:
- movs r0, 0
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809E42C: .4byte gUnknown_203998C
-_0809E430: .4byte 0x00001e1a
-_0809E434: .4byte 0x00001e18
-_0809E438: .4byte 0x00001e21
-_0809E43C: .4byte 0x00001e1c
- thumb_func_end sub_809E3AC
-
- thumb_func_start sub_809E440
-sub_809E440: @ 809E440
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r5, _0809E4C4 @ =gUnknown_203998C
- ldr r0, [r5]
- ldr r2, _0809E4C8 @ =0x00001e1a
- adds r1, r0, r2
- str r1, [sp]
- ldr r3, _0809E4CC @ =0x00001e18
- adds r0, r3
- str r0, [sp, 0x4]
- ldrh r0, [r4, 0xA]
- adds r0, 0x4
- strh r0, [r4, 0xA]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- movs r1, 0x28
- bl Sin
- ldr r1, [r5]
- movs r2, 0xF1
- lsls r2, 5
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 2
- add r1, sp
- ldr r1, [r1]
- strh r0, [r1]
- ldrh r0, [r4, 0xA]
- adds r0, 0x80
- movs r1, 0xFF
- ands r0, r1
- movs r1, 0x28
- bl Sin
- ldr r1, [r5]
- ldr r3, _0809E4D0 @ =0x00001e21
- adds r1, r3
- ldrb r1, [r1]
- lsls r1, 2
- add r1, sp
- ldr r1, [r1]
- strh r0, [r1]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- ble _0809E4BA
- ldr r0, [r5]
- movs r2, 0xF1
- lsls r2, 5
- adds r1, r0, r2
- ldrb r2, [r1]
- adds r0, r3
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, r3
- strb r2, [r0]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0809E4BA:
- movs r0, 0
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809E4C4: .4byte gUnknown_203998C
-_0809E4C8: .4byte 0x00001e1a
-_0809E4CC: .4byte 0x00001e18
-_0809E4D0: .4byte 0x00001e21
- thumb_func_end sub_809E440
-
- thumb_func_start sub_809E4D4
-sub_809E4D4: @ 809E4D4
- push {lr}
- ldr r0, _0809E4EC @ =sub_809E32C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809E4EC: .4byte sub_809E32C
- thumb_func_end sub_809E4D4
-
- thumb_func_start sub_809E4F0
-sub_809E4F0: @ 809E4F0
- push {lr}
- ldr r0, _0809E510 @ =c3_0809E58C
- movs r1, 0x3
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0809E514 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0x3
- strh r0, [r1, 0x8]
- pop {r0}
- bx r0
- .align 2, 0
-_0809E510: .4byte c3_0809E58C
-_0809E514: .4byte gTasks
- thumb_func_end sub_809E4F0
-
- thumb_func_start sub_809E518
-sub_809E518: @ 809E518
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r0, _0809E550 @ =c3_0809E58C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0809E554 @ =gTasks
- adds r4, r1, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r5, r0
- bne _0809E558
- cmp r6, 0
- bne _0809E558
- strh r7, [r4, 0xA]
- movs r0, 0x1
- strh r0, [r4, 0xC]
- b _0809E584
- .align 2, 0
-_0809E550: .4byte c3_0809E58C
-_0809E554: .4byte gTasks
-_0809E558:
- cmp r5, 0x3
- bne _0809E568
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0809E568
- cmp r6, 0
- beq _0809E584
-_0809E568:
- ldrh r1, [r4, 0x8]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0x3
- beq _0809E57A
- lsls r0, r1, 24
- lsrs r0, 24
- bl sub_809E6B8
-_0809E57A:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r7, 0
- bl sub_809E6E0
-_0809E584:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809E518
-
- thumb_func_start c3_0809E58C
-c3_0809E58C: @ 809E58C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0809E5F4 @ =gTasks
- adds r4, r1, r0
- ldrh r1, [r4, 0x8]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0x3
- beq _0809E63E
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _0809E63E
- lsls r0, r1, 24
- lsrs r0, 24
- bl sub_809E644
- lsls r0, 16
- lsrs r0, 16
- ldrb r3, [r4, 0xE]
- adds r1, r3, 0
- adds r2, r3, 0
- bl MultiplyInvertedPaletteRGBComponents
- ldrh r1, [r4, 0x12]
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0809E5D8
- subs r0, r1, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- cmp r0, 0
- bne _0809E63E
-_0809E5D8:
- movs r0, 0x2
- strh r0, [r4, 0x12]
- ldrh r1, [r4, 0x10]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r0, 0
- blt _0809E602
- ldrh r2, [r4, 0xE]
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- cmp r0, 0xD
- bgt _0809E5F8
- adds r0, r2, r1
- b _0809E606
- .align 2, 0
-_0809E5F4: .4byte gTasks
-_0809E5F8:
- movs r0, 0x10
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0x14]
- adds r0, 0x1
- b _0809E60C
-_0809E602:
- ldrh r3, [r4, 0xE]
- adds r0, r1, r3
-_0809E606:
- strh r0, [r4, 0xE]
- ldrh r2, [r4, 0x14]
- adds r0, r1, r2
-_0809E60C:
- strh r0, [r4, 0x14]
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- ldrh r1, [r4, 0xE]
- cmp r0, 0x10
- bne _0809E62C
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r0, 0x16
- bne _0809E62C
- ldr r0, _0809E628 @ =0x0000fffc
- strh r0, [r4, 0x10]
- b _0809E63E
- .align 2, 0
-_0809E628: .4byte 0x0000fffc
-_0809E62C:
- lsls r0, r1, 16
- asrs r1, r0, 16
- cmp r1, 0
- bne _0809E63E
- ldrh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- movs r0, 0x2
- strh r0, [r4, 0x10]
- strh r1, [r4, 0x14]
-_0809E63E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end c3_0809E58C
-
- thumb_func_start sub_809E644
-sub_809E644: @ 809E644
- push {r4-r6,lr}
- sub sp, 0x10
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x4
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- movs r1, 0x87
- lsls r1, 1
- adds r5, r1, 0
- adds r0, r5
- add r6, sp, 0x8
- strh r0, [r6]
- movs r0, 0x6
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- adds r0, r5
- mov r1, sp
- adds r1, 0xA
- strh r0, [r1]
- movs r0, 0x7
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- adds r0, r5
- add r1, sp, 0xC
- strh r0, [r1]
- movs r0, 0x7
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- ldr r1, _0809E6B4 @ =0x00000101
- adds r0, r1
- mov r1, sp
- adds r1, 0xE
- strh r0, [r1]
- mov r0, sp
- adds r1, r6, 0
- movs r2, 0x8
- bl memcpy
- lsls r4, 1
- mov r1, sp
- adds r0, r1, r4
- ldrh r0, [r0]
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809E6B4: .4byte 0x00000101
- thumb_func_end sub_809E644
-
- thumb_func_start sub_809E6B8
-sub_809E6B8: @ 809E6B8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_809E644
- lsls r0, 16
- ldr r2, _0809E6D8 @ =gPlttBufferFaded
- lsrs r0, 15
- adds r2, r0, r2
- ldr r1, _0809E6DC @ =gPlttBufferUnfaded
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_0809E6D8: .4byte gPlttBufferFaded
-_0809E6DC: .4byte gPlttBufferUnfaded
- thumb_func_end sub_809E6B8
-
- thumb_func_start sub_809E6E0
-sub_809E6E0: @ 809E6E0
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- movs r3, 0
- strh r1, [r0, 0x8]
- strh r2, [r0, 0xA]
- movs r1, 0x1
- strh r1, [r0, 0xC]
- movs r2, 0x4
- strh r2, [r0, 0xE]
- movs r1, 0x2
- strh r1, [r0, 0x10]
- strh r3, [r0, 0x12]
- strh r2, [r0, 0x14]
- bx lr
- thumb_func_end sub_809E6E0
-
- thumb_func_start sub_809E700
-sub_809E700: @ 809E700
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809E718
- adds r0, r5, 0
- movs r1, 0
- bl StartSpriteAnim
-_0809E718:
- ldrh r0, [r5, 0x36]
- movs r1, 0xFF
- ands r1, r0
- adds r6, r5, 0
- adds r6, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r6]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6]
- movs r0, 0x2E
- ldrsh r4, [r5, r0]
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0809E74C
- ldrb r0, [r6]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r6]
-_0809E74C:
- ldrb r1, [r6]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _0809E77C
- movs r1, 0x36
- ldrsh r0, [r5, r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _0809E77C
- movs r2, 0x2E
- ldrsh r1, [r5, r2]
- movs r2, 0x32
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bne _0809E77C
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- movs r2, 0x34
- ldrsh r0, [r5, r2]
- cmp r1, r0
- beq _0809E786
-_0809E77C:
- movs r0, 0
- strh r0, [r5, 0x38]
- movs r0, 0x2
- strh r0, [r5, 0x3A]
- strh r0, [r5, 0x3C]
-_0809E786:
- ldrh r0, [r5, 0x3C]
- subs r0, 0x1
- strh r0, [r5, 0x3C]
- lsls r0, 16
- cmp r0, 0
- bne _0809E7AE
- ldrh r1, [r5, 0x3A]
- ldrh r2, [r5, 0x38]
- adds r0, r1, r2
- strh r0, [r5, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- beq _0809E7A6
- cmp r0, 0
- bne _0809E7AA
-_0809E7A6:
- negs r0, r1
- strh r0, [r5, 0x3A]
-_0809E7AA:
- movs r0, 0x2
- strh r0, [r5, 0x3C]
-_0809E7AE:
- movs r1, 0x36
- ldrsh r0, [r5, r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _0809E7E4
- ldrh r4, [r5, 0x38]
- lsls r5, r4, 24
- lsrs r5, 24
- lsls r4, 16
- asrs r4, 17
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r2, _0809E7EC @ =0x01010000
- adds r0, r2
- lsrs r0, 16
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r5, 0
- bl MultiplyInvertedPaletteRGBComponents
-_0809E7E4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809E7EC: .4byte 0x01010000
- thumb_func_end sub_809E700
-
- thumb_func_start sub_809E7F0
-sub_809E7F0: @ 809E7F0
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, _0809E838 @ =gUnknown_83E2364
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0809E814
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _0809E822
-_0809E814:
- movs r0, 0x8
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- strh r0, [r4, 0x30]
-_0809E822:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x24]
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809E838: .4byte gUnknown_83E2364
- thumb_func_end sub_809E7F0
-
- thumb_func_start sub_809E83C
-sub_809E83C: @ 809E83C
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, _0809E864 @ =gUnknown_83E236C
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- bl sub_809F668
- lsls r0, 24
- ldrh r1, [r4, 0x2E]
- lsls r1, 24
- cmp r0, r1
- beq _0809E868
- movs r0, 0
- strh r0, [r4, 0x26]
- strh r0, [r4, 0x30]
- b _0809E88E
- .align 2, 0
-_0809E864: .4byte gUnknown_83E236C
-_0809E868:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _0809E890
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- strh r0, [r4, 0x30]
- movs r0, 0
-_0809E88E:
- strh r0, [r4, 0x32]
-_0809E890:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_809E83C
-
- thumb_func_start sub_809E898
-sub_809E898: @ 809E898
- push {lr}
- bl sub_809E8B4
- bl sub_809EB5C
- bl sub_809EDE8
- bl sub_809EE60
- bl sub_809EF24
- pop {r0}
- bx r0
- thumb_func_end sub_809E898
-
- thumb_func_start sub_809E8B4
-sub_809E8B4: @ 809E8B4
- push {r4-r6,lr}
- ldr r0, _0809E938 @ =gUnknown_83E25EC
- movs r1, 0x26
- movs r2, 0x58
- movs r3, 0x1
- bl CreateSprite
- ldr r5, _0809E93C @ =gUnknown_203998C
- ldr r1, [r5]
- ldr r4, _0809E940 @ =0x00001e23
- adds r1, r4
- strb r0, [r1]
- movs r0, 0x1
- bl sub_809EA0C
- ldr r6, _0809E944 @ =gSprites
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r3, [r1, 0x5]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldr r0, [r5]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x1]
- ands r2, r1
- orrs r2, r3
- strb r2, [r0, 0x1]
- ldr r2, [r5]
- adds r2, r4
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x1
- strh r1, [r0, 0x3A]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x2
- strh r1, [r0, 0x3A]
- movs r0, 0
- movs r1, 0
- bl sub_809E948
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809E938: .4byte gUnknown_83E25EC
-_0809E93C: .4byte gUnknown_203998C
-_0809E940: .4byte 0x00001e23
-_0809E944: .4byte gSprites
- thumb_func_end sub_809E8B4
-
- thumb_func_start sub_809E948
-sub_809E948: @ 809E948
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsls r1, 16
- lsrs r7, r1, 16
- ldr r1, _0809E994 @ =gUnknown_203998C
- ldr r1, [r1]
- ldr r2, _0809E998 @ =0x00001e23
- adds r1, r2
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r2, _0809E99C @ =gSprites
- adds r5, r1, r2
- lsrs r1, r0, 16
- mov r8, r1
- asrs r6, r0, 16
- ldr r4, _0809E9A0 @ =gUnknown_83E2330
- bl sub_809DE50
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- ldrb r0, [r0]
- cmp r6, r0
- bge _0809E9A8
- bl sub_809DE50
- ldr r1, _0809E9A4 @ =gUnknown_83E2333
- lsls r0, 24
- lsrs r0, 21
- adds r0, r6, r0
- adds r0, r1
- ldrb r0, [r0]
- adds r0, 0x26
- b _0809E9AA
- .align 2, 0
-_0809E994: .4byte gUnknown_203998C
-_0809E998: .4byte 0x00001e23
-_0809E99C: .4byte gSprites
-_0809E9A0: .4byte gUnknown_83E2330
-_0809E9A4: .4byte gUnknown_83E2333
-_0809E9A8:
- movs r0, 0
-_0809E9AA:
- strh r0, [r5, 0x20]
- lsls r0, r7, 16
- asrs r0, 12
- adds r0, 0x58
- strh r0, [r5, 0x22]
- ldrh r0, [r5, 0x2E]
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x30]
- strh r0, [r5, 0x34]
- mov r2, r8
- strh r2, [r5, 0x2E]
- strh r7, [r5, 0x30]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809E948
-
- thumb_func_start sub_809E9CC
-sub_809E9CC: @ 809E9CC
- ldr r2, _0809E9EC @ =gUnknown_203998C
- ldr r2, [r2]
- ldr r3, _0809E9F0 @ =0x00001e23
- adds r2, r3
- ldrb r3, [r2]
- lsls r2, r3, 4
- adds r2, r3
- lsls r2, 2
- ldr r3, _0809E9F4 @ =gSprites
- adds r2, r3
- ldrh r3, [r2, 0x2E]
- strh r3, [r0]
- ldrh r0, [r2, 0x30]
- strh r0, [r1]
- bx lr
- .align 2, 0
-_0809E9EC: .4byte gUnknown_203998C
-_0809E9F0: .4byte 0x00001e23
-_0809E9F4: .4byte gSprites
- thumb_func_end sub_809E9CC
-
- thumb_func_start sub_809E9F8
-sub_809E9F8: @ 809E9F8
- push {lr}
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl sub_809E948
- pop {r0}
- bx r0
- thumb_func_end sub_809E9F8
-
- thumb_func_start sub_809EA0C
-sub_809EA0C: @ 809EA0C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _0809EA54 @ =gSprites
- ldr r1, _0809EA58 @ =gUnknown_203998C
- ldr r4, [r1]
- ldr r1, _0809EA5C @ =0x00001e23
- adds r4, r1
- ldrb r1, [r4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r5
- ldrh r3, [r2, 0x36]
- ldr r1, _0809EA60 @ =0xffffff00
- ands r1, r3
- strh r1, [r2, 0x36]
- ldrb r2, [r4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- ldrh r2, [r1, 0x36]
- orrs r0, r2
- strh r0, [r1, 0x36]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0
- bl StartSpriteAnim
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EA54: .4byte gSprites
-_0809EA58: .4byte gUnknown_203998C
-_0809EA5C: .4byte 0x00001e23
-_0809EA60: .4byte 0xffffff00
- thumb_func_end sub_809EA0C
-
- thumb_func_start sub_809EA64
-sub_809EA64: @ 809EA64
- push {r4,r5,lr}
- lsls r0, 24
- ldr r5, _0809EA9C @ =gSprites
- ldr r1, _0809EAA0 @ =gUnknown_203998C
- ldr r4, [r1]
- ldr r1, _0809EAA4 @ =0x00001e23
- adds r4, r1
- ldrb r1, [r4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r5
- ldrh r3, [r2, 0x36]
- movs r1, 0xFF
- ands r1, r3
- strh r1, [r2, 0x36]
- ldrb r2, [r4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- lsrs r0, 16
- ldrh r2, [r1, 0x36]
- orrs r0, r2
- strh r0, [r1, 0x36]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EA9C: .4byte gSprites
-_0809EAA0: .4byte gUnknown_203998C
-_0809EAA4: .4byte 0x00001e23
- thumb_func_end sub_809EA64
-
- thumb_func_start sub_809EAA8
-sub_809EAA8: @ 809EAA8
- push {lr}
- ldr r0, _0809EAC8 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809EACC @ =0x00001e23
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0809EAD0 @ =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .align 2, 0
-_0809EAC8: .4byte gUnknown_203998C
-_0809EACC: .4byte 0x00001e23
-_0809EAD0: .4byte gSprites
- thumb_func_end sub_809EAA8
-
- thumb_func_start sub_809EAD4
-sub_809EAD4: @ 809EAD4
- ldr r2, _0809EAF4 @ =gSprites
- ldr r0, _0809EAF8 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809EAFC @ =0x00001e23
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r0, 31
- bx lr
- .align 2, 0
-_0809EAF4: .4byte gSprites
-_0809EAF8: .4byte gUnknown_203998C
-_0809EAFC: .4byte 0x00001e23
- thumb_func_end sub_809EAD4
-
- thumb_func_start sub_809EB00
-sub_809EB00: @ 809EB00
- push {r4,r5,lr}
- sub sp, 0x4
- mov r5, sp
- adds r5, 0x2
- mov r0, sp
- adds r1, r5, 0
- bl sub_809E9CC
- mov r0, sp
- movs r1, 0
- ldrsh r4, [r0, r1]
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- blt _0809EB34
- ldr r0, _0809EB30 @ =gUnknown_83E2374
- movs r2, 0
- ldrsh r1, [r5, r2]
- adds r1, r0
- ldrb r0, [r1]
- b _0809EB36
- .align 2, 0
-_0809EB30: .4byte gUnknown_83E2374
-_0809EB34:
- movs r0, 0
-_0809EB36:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809EB00
-
- thumb_func_start sub_809EB40
-sub_809EB40: @ 809EB40
- push {r4,lr}
- ldr r4, _0809EB58 @ =gUnknown_83E2330
- bl sub_809DE50
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- ldrb r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809EB58: .4byte gUnknown_83E2330
- thumb_func_end sub_809EB40
-
- thumb_func_start sub_809EB5C
-sub_809EB5C: @ 809EB5C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, _0809EC00 @ =gUnknown_83E2574
- movs r1, 0xCC
- movs r2, 0x58
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0809EC04 @ =gUnknown_203998C
- ldr r1, [r1]
- ldr r2, _0809EC08 @ =0x00001e24
- adds r1, r2
- strb r0, [r1]
- lsls r5, r0, 4
- adds r5, r0
- lsls r5, 2
- ldr r0, _0809EC0C @ =gSprites
- mov r8, r0
- add r5, r8
- ldr r1, _0809EC10 @ =gUnknown_83E2504
- adds r0, r5, 0
- bl SetSubspriteTables
- adds r1, r5, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r6, 0x4
- orrs r0, r6
- strb r0, [r1]
- ldr r0, _0809EC14 @ =gUnknown_83E25A4
- movs r1, 0xCC
- movs r2, 0x54
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x3A]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- add r4, r8
- ldr r1, _0809EC18 @ =gUnknown_83E250C
- adds r0, r4, 0
- bl SetSubspriteTables
- adds r4, 0x3E
- ldrb r0, [r4]
- orrs r0, r6
- strb r0, [r4]
- ldr r0, _0809EC1C @ =gUnknown_83E258C
- movs r1, 0xCC
- movs r2, 0x53
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- add r2, r8
- ldrb r3, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r6
- strb r1, [r2, 0x5]
- strh r0, [r5, 0x3C]
- adds r2, 0x3E
- ldrb r0, [r2]
- orrs r0, r6
- strb r0, [r2]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EC00: .4byte gUnknown_83E2574
-_0809EC04: .4byte gUnknown_203998C
-_0809EC08: .4byte 0x00001e24
-_0809EC0C: .4byte gSprites
-_0809EC10: .4byte gUnknown_83E2504
-_0809EC14: .4byte gUnknown_83E25A4
-_0809EC18: .4byte gUnknown_83E250C
-_0809EC1C: .4byte gUnknown_83E258C
- thumb_func_end sub_809EB5C
-
- thumb_func_start sub_809EC20
-sub_809EC20: @ 809EC20
- ldr r0, _0809EC44 @ =gUnknown_203998C
- ldr r2, [r0]
- ldr r1, _0809EC48 @ =0x00001e24
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0809EC4C @ =gSprites
- adds r0, r1
- movs r1, 0x2
- strh r1, [r0, 0x2E]
- ldr r1, _0809EC50 @ =0x00001e22
- adds r2, r1
- ldrb r1, [r2]
- strh r1, [r0, 0x30]
- bx lr
- .align 2, 0
-_0809EC44: .4byte gUnknown_203998C
-_0809EC48: .4byte 0x00001e24
-_0809EC4C: .4byte gSprites
-_0809EC50: .4byte 0x00001e22
- thumb_func_end sub_809EC20
-
- thumb_func_start sub_809EC54
-sub_809EC54: @ 809EC54
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _0809EC78 @ =gUnknown_83E2378
-_0809EC5A:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _0809EC5A
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EC78: .4byte gUnknown_83E2378
- thumb_func_end sub_809EC54
-
- thumb_func_start sub_809EC7C
-sub_809EC7C: @ 809EC7C
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- lsls r5, r0, 4
- adds r5, r0
- lsls r5, 2
- ldr r1, _0809ECC4 @ =gSprites
- adds r5, r1
- movs r2, 0x3C
- ldrsh r0, [r6, r2]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r4, r1
- ldr r0, _0809ECC8 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809ECCC @ =0x00001e22
- adds r0, r1
- ldrb r0, [r0]
- bl sub_809DE20
- lsls r0, 24
- lsrs r0, 24
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_809ED88
- ldrh r0, [r6, 0x2E]
- adds r0, 0x1
- strh r0, [r6, 0x2E]
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809ECC4: .4byte gSprites
-_0809ECC8: .4byte gUnknown_203998C
-_0809ECCC: .4byte 0x00001e22
- thumb_func_end sub_809EC7C
-
- thumb_func_start sub_809ECD0
-sub_809ECD0: @ 809ECD0
- movs r0, 0
- bx lr
- thumb_func_end sub_809ECD0
-
- thumb_func_start sub_809ECD4
-sub_809ECD4: @ 809ECD4
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r0, 0x3A
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r2, _0809ED40 @ =gSprites
- adds r4, r0, r2
- movs r0, 0x3C
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r5, r0, r2
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _0809ED38
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- ldr r0, _0809ED44 @ =0x0000fffc
- strh r0, [r4, 0x26]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r3, 0x30]
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- movs r1, 0x3
- bl __modsi3
- lsls r0, 24
- lsrs r0, 24
- bl sub_809DE20
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_809ED88
-_0809ED38:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809ED40: .4byte gSprites
-_0809ED44: .4byte 0x0000fffc
- thumb_func_end sub_809ECD4
-
- thumb_func_start sub_809ED48
-sub_809ED48: @ 809ED48
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x3A
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0809ED84 @ =gSprites
- adds r2, r0, r1
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- ldrh r0, [r2, 0x26]
- adds r0, 0x1
- strh r0, [r2, 0x26]
- lsls r0, 16
- cmp r0, 0
- blt _0809ED7C
- movs r0, 0
- strh r0, [r2, 0x26]
- movs r0, 0x1
- strh r0, [r4, 0x2E]
-_0809ED7C:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809ED84: .4byte gSprites
- thumb_func_end sub_809ED48
-
- thumb_func_start sub_809ED88
-sub_809ED88: @ 809ED88
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _0809EDE0 @ =gUnknown_83E2388
- lsls r4, r5, 1
- adds r0, r4, r0
- ldrh r0, [r0]
- bl IndexOfSpritePaletteTag
- lsls r0, 4
- mov r1, r8
- ldrb r2, [r1, 0x5]
- movs r1, 0xF
- ands r1, r2
- orrs r1, r0
- mov r0, r8
- strb r1, [r0, 0x5]
- ldr r0, _0809EDE4 @ =gUnknown_83E238E
- adds r4, r0
- ldrh r0, [r4]
- bl GetSpriteTileStartByTag
- adds r1, r6, 0
- adds r1, 0x40
- strh r0, [r1]
- adds r6, 0x42
- movs r1, 0x3F
- ands r1, r5
- ldrb r2, [r6]
- movs r0, 0x40
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EDE0: .4byte gUnknown_83E2388
-_0809EDE4: .4byte gUnknown_83E238E
- thumb_func_end sub_809ED88
-
- thumb_func_start sub_809EDE8
-sub_809EDE8: @ 809EDE8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, _0809EE50 @ =gUnknown_83E25BC
- movs r1, 0xCC
- movs r2, 0x74
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r6, _0809EE54 @ =gSprites
- adds r4, r6
- ldr r0, _0809EE58 @ =gUnknown_83E2524
- mov r8, r0
- adds r0, r4, 0
- mov r1, r8
- bl SetSubspriteTables
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r5, 0x4
- orrs r0, r5
- strb r0, [r4]
- ldr r0, _0809EE5C @ =gUnknown_83E25D4
- movs r1, 0xCC
- movs r2, 0x8C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r4, r6
- adds r0, r4, 0
- mov r1, r8
- bl SetSubspriteTables
- adds r4, 0x3E
- ldrb r0, [r4]
- orrs r0, r5
- strb r0, [r4]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EE50: .4byte gUnknown_83E25BC
-_0809EE54: .4byte gSprites
-_0809EE58: .4byte gUnknown_83E2524
-_0809EE5C: .4byte gUnknown_83E25D4
- thumb_func_end sub_809EDE8
-
- thumb_func_start sub_809EE60
-sub_809EE60: @ 809EE60
- push {r4-r6,lr}
- ldr r5, _0809EF0C @ =gUnknown_203998C
- ldr r0, [r5]
- ldr r4, _0809EF10 @ =0x00001e16
- adds r0, r4
- ldrh r1, [r0]
- subs r1, 0x5
- ldr r0, _0809EF14 @ =gUnknown_83E2604
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x38
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, _0809EF18 @ =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r5]
- adds r4, r0, r4
- ldrh r1, [r4]
- movs r5, 0
- ldr r2, _0809EF1C @ =0x00001e28
- adds r0, r2
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r5, r0
- bcs _0809EF04
- adds r6, r3, 0
-_0809EEB2:
- lsls r1, 16
- asrs r4, r1, 16
- movs r0, 0xC0
- lsls r0, 10
- adds r1, r0
- asrs r1, 16
- ldr r0, _0809EF20 @ =gUnknown_83E261C
- movs r2, 0x3C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- strh r5, [r0, 0x2E]
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x8
- lsls r4, 16
- lsrs r1, r4, 16
- ldr r0, _0809EF0C @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r2, _0809EF1C @ =0x00001e28
- adds r0, r2
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r5, r0
- bcc _0809EEB2
-_0809EF04:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EF0C: .4byte gUnknown_203998C
-_0809EF10: .4byte 0x00001e16
-_0809EF14: .4byte gUnknown_83E2604
-_0809EF18: .4byte gSprites
-_0809EF1C: .4byte 0x00001e28
-_0809EF20: .4byte gUnknown_83E261C
- thumb_func_end sub_809EE60
-
- thumb_func_start sub_809EF24
-sub_809EF24: @ 809EF24
- push {lr}
- ldr r1, _0809EF44 @ =gUnknown_83E2394
- ldr r0, _0809EF48 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r2, _0809EF4C @ =0x00001e28
- adds r0, r2
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .align 2, 0
-_0809EF44: .4byte gUnknown_83E2394
-_0809EF48: .4byte gUnknown_203998C
-_0809EF4C: .4byte 0x00001e28
- thumb_func_end sub_809EF24
-
- thumb_func_start nullsub_54
-nullsub_54: @ 809EF50
- bx lr
- thumb_func_end nullsub_54
-
- thumb_func_start sub_809EF54
-sub_809EF54: @ 809EF54
- push {lr}
- sub sp, 0x4
- ldr r0, _0809EFA0 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809EFA4 @ =0x00001e34
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0
- bl sub_805C7C8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0809EFA8 @ =SpriteCallbackDummy
- movs r2, 0
- str r2, [sp]
- movs r2, 0x38
- movs r3, 0x25
- bl AddPseudoObjectEvent
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _0809EFAC @ =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x4
- bl StartSpriteAnim
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0809EFA0: .4byte gUnknown_203998C
-_0809EFA4: .4byte 0x00001e34
-_0809EFA8: .4byte SpriteCallbackDummy
-_0809EFAC: .4byte gSprites
- thumb_func_end sub_809EF54
-
- thumb_func_start sub_809EFB0
-sub_809EFB0: @ 809EFB0
- push {r4,lr}
- ldr r0, _0809EFE4 @ =gUnknown_83E2634
- movs r1, 0x38
- movs r2, 0x29
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _0809EFE8 @ =gSprites
- adds r4, r0
- ldr r1, _0809EFEC @ =gUnknown_83E252C
- adds r0, r4, 0
- bl SetSubspriteTables
- ldrb r0, [r4, 0x5]
- movs r1, 0xC
- orrs r0, r1
- strb r0, [r4, 0x5]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EFE4: .4byte gUnknown_83E2634
-_0809EFE8: .4byte gSprites
-_0809EFEC: .4byte gUnknown_83E252C
- thumb_func_end sub_809EFB0
-
- thumb_func_start sub_809EFF0
-sub_809EFF0: @ 809EFF0
- push {lr}
- sub sp, 0xC
- bl LoadMonIconPalettes
- ldr r0, _0809F038 @ =gUnknown_203998C
- ldr r3, [r0]
- ldr r1, _0809F03C @ =0x00001e34
- adds r0, r3, r1
- ldrh r0, [r0]
- ldr r1, _0809F040 @ =SpriteCallbackDummy
- movs r2, 0
- str r2, [sp]
- ldr r2, _0809F044 @ =0x00001e38
- adds r3, r2
- ldr r2, [r3]
- str r2, [sp, 0x4]
- movs r2, 0x1
- str r2, [sp, 0x8]
- movs r2, 0x38
- movs r3, 0x28
- bl CreateMonIcon
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0809F048 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x5]
- movs r2, 0xC
- orrs r0, r2
- strb r0, [r1, 0x5]
- add sp, 0xC
- pop {r0}
- bx r0
- .align 2, 0
-_0809F038: .4byte gUnknown_203998C
-_0809F03C: .4byte 0x00001e34
-_0809F040: .4byte SpriteCallbackDummy
-_0809F044: .4byte 0x00001e38
-_0809F048: .4byte gSprites
- thumb_func_end sub_809EFF0
-
- thumb_func_start sub_809F04C
-sub_809F04C: @ 809F04C
- push {r4,lr}
- sub sp, 0x2C
- ldr r0, _0809F0B8 @ =gUnknown_83E23C0
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x1C]
- str r1, [sp, 0x20]
- ldr r0, _0809F0BC @ =gUnknown_83E23C8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x24]
- str r1, [sp, 0x28]
- ldr r1, _0809F0C0 @ =SpriteCallbackDummy
- add r3, sp, 0x18
- movs r0, 0
- mov r2, sp
- bl sub_805E8E8
- mov r2, sp
- add r0, sp, 0x1C
- ldrh r1, [r0, 0x6]
- strh r1, [r2]
- add r4, sp, 0x24
- ldrh r1, [r4, 0x4]
- strh r1, [r2, 0x2]
- ldr r1, _0809F0C4 @ =gUnknown_83E23BC
- str r1, [sp, 0x8]
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl LoadSpritePalette
- mov r0, sp
- movs r1, 0x38
- movs r2, 0x25
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0809F0C8 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x5]
- movs r2, 0xC
- orrs r0, r2
- strb r0, [r1, 0x5]
- add sp, 0x2C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F0B8: .4byte gUnknown_83E23C0
-_0809F0BC: .4byte gUnknown_83E23C8
-_0809F0C0: .4byte SpriteCallbackDummy
-_0809F0C4: .4byte gUnknown_83E23BC
-_0809F0C8: .4byte gSprites
- thumb_func_end sub_809F04C
-
- thumb_func_start sub_809F0CC
-sub_809F0CC: @ 809F0CC
- push {r4,r5,lr}
- bl GetInputEvent
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_809EB00
- lsls r0, 24
- lsrs r0, 24
- cmp r4, 0x8
- bne _0809F0EA
- bl sub_809F1F0
- b _0809F106
-_0809F0EA:
- cmp r4, 0x6
- bne _0809F0F4
- bl sub_809F700
- b _0809F114
-_0809F0F4:
- cmp r5, 0x9
- beq _0809F110
- ldr r1, _0809F10C @ =gUnknown_83E23D0
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
-_0809F106:
- lsls r0, 24
- lsrs r0, 24
- b _0809F116
- .align 2, 0
-_0809F10C: .4byte gUnknown_83E23D0
-_0809F110:
- bl sub_809E9F8
-_0809F114:
- movs r0, 0
-_0809F116:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809F0CC
-
- thumb_func_start sub_809F11C
-sub_809F11C: @ 809F11C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl sub_809E518
- cmp r4, 0x5
- bne _0809F156
- bl sub_809F75C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_809EAA8
- cmp r4, 0
- beq _0809F156
- movs r0, 0
- bl SetInputState
- ldr r0, _0809F160 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809F164 @ =0x00001e10
- adds r0, r1
- movs r1, 0x3
- strb r1, [r0]
-_0809F156:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809F160: .4byte gUnknown_203998C
-_0809F164: .4byte 0x00001e10
- thumb_func_end sub_809F11C
-
- thumb_func_start KeyboardKeyHandler_Page
-KeyboardKeyHandler_Page: @ 809F168
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_809E518
- cmp r4, 0x5
- beq _0809F182
- movs r0, 0
- b _0809F18A
-_0809F182:
- bl sub_809F1F0
- lsls r0, 24
- lsrs r0, 24
-_0809F18A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end KeyboardKeyHandler_Page
-
- thumb_func_start KeyboardKeyHandler_Backspace
-KeyboardKeyHandler_Backspace: @ 809F190
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl sub_809E518
- cmp r4, 0x5
- bne _0809F1AA
- bl sub_809F700
-_0809F1AA:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end KeyboardKeyHandler_Backspace
-
- thumb_func_start KeyboardKeyHandler_OK
-KeyboardKeyHandler_OK: @ 809F1B4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl sub_809E518
- cmp r4, 0x5
- beq _0809F1CE
- movs r0, 0
- b _0809F1E2
-_0809F1CE:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0809F1E8 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809F1EC @ =0x00001e10
- adds r0, r1
- movs r1, 0x6
- strb r1, [r0]
- movs r0, 0x1
-_0809F1E2:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809F1E8: .4byte gUnknown_203998C
-_0809F1EC: .4byte 0x00001e10
- thumb_func_end KeyboardKeyHandler_OK
-
- thumb_func_start sub_809F1F0
-sub_809F1F0: @ 809F1F0
- ldr r0, _0809F200 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809F204 @ =0x00001e10
- adds r0, r1
- movs r1, 0x4
- strb r1, [r0]
- movs r0, 0x1
- bx lr
- .align 2, 0
-_0809F200: .4byte gUnknown_203998C
-_0809F204: .4byte 0x00001e10
- thumb_func_end sub_809F1F0
-
- thumb_func_start InputInit
-InputInit: @ 809F208
- push {lr}
- ldr r0, _0809F218 @ =sub_809F26C
- movs r1, 0x1
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_0809F218: .4byte sub_809F26C
- thumb_func_end InputInit
-
- thumb_func_start GetInputEvent
-GetInputEvent: @ 809F21C
- push {lr}
- ldr r0, _0809F238 @ =sub_809F26C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0809F23C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0xA]
- pop {r1}
- bx r1
- .align 2, 0
-_0809F238: .4byte sub_809F26C
-_0809F23C: .4byte gTasks
- thumb_func_end GetInputEvent
-
- thumb_func_start SetInputState
-SetInputState: @ 809F240
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0809F264 @ =sub_809F26C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0809F268 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F264: .4byte sub_809F26C
-_0809F268: .4byte gTasks
- thumb_func_end SetInputState
-
- thumb_func_start sub_809F26C
-sub_809F26C: @ 809F26C
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _0809F294 @ =gUnknown_83E23E0
- ldr r2, _0809F298 @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_0809F294: .4byte gUnknown_83E23E0
-_0809F298: .4byte gTasks
- thumb_func_end sub_809F26C
-
- thumb_func_start InputState_Disabled
-InputState_Disabled: @ 809F29C
- movs r1, 0
- strh r1, [r0, 0xA]
- bx lr
- thumb_func_end InputState_Disabled
-
- thumb_func_start InputState_Enabled
-InputState_Enabled: @ 809F2A4
- push {lr}
- adds r2, r0, 0
- movs r0, 0
- strh r0, [r2, 0xA]
- ldr r0, _0809F2C0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809F2C4
- movs r0, 0x5
- strh r0, [r2, 0xA]
- b _0809F2F4
- .align 2, 0
-_0809F2C0: .4byte gMain
-_0809F2C4:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809F2D2
- movs r0, 0x6
- strh r0, [r2, 0xA]
- b _0809F2F4
-_0809F2D2:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0809F2E0
- movs r0, 0x8
- strh r0, [r2, 0xA]
- b _0809F2F4
-_0809F2E0:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0809F2EE
- movs r0, 0x9
- strh r0, [r2, 0xA]
- b _0809F2F4
-_0809F2EE:
- adds r0, r2, 0
- bl sub_809F2F8
-_0809F2F4:
- pop {r0}
- bx r0
- thumb_func_end InputState_Enabled
-
- thumb_func_start sub_809F2F8
-sub_809F2F8: @ 809F2F8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- mov r9, r0
- ldr r1, _0809F3E4 @ =gUnknown_83E23E8
- mov r0, sp
- movs r2, 0xA
- bl memcpy
- add r0, sp, 0xC
- mov r10, r0
- ldr r1, _0809F3E8 @ =gUnknown_83E23F2
- movs r2, 0xA
- bl memcpy
- mov r1, sp
- adds r1, 0x18
- str r1, [sp, 0x2C]
- ldr r1, _0809F3EC @ =gUnknown_83E23FC
- ldr r0, [sp, 0x2C]
- movs r2, 0x8
- bl memcpy
- mov r2, sp
- adds r2, 0x20
- str r2, [sp, 0x30]
- ldr r1, _0809F3F0 @ =gUnknown_83E2404
- adds r0, r2, 0
- movs r2, 0x6
- bl memcpy
- add r4, sp, 0x28
- mov r5, sp
- adds r5, 0x2A
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809E9CC
- ldr r0, _0809F3F4 @ =gMain
- ldrh r2, [r0, 0x30]
- movs r0, 0x40
- ands r0, r2
- lsls r0, 16
- lsrs r0, 16
- negs r0, r0
- lsrs r1, r0, 31
- movs r0, 0x80
- ands r0, r2
- adds r6, r4, 0
- cmp r0, 0
- beq _0809F366
- movs r1, 0x2
-_0809F366:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _0809F370
- movs r1, 0x3
-_0809F370:
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _0809F37A
- movs r1, 0x4
-_0809F37A:
- ldrh r0, [r6]
- mov r8, r0
- lsls r1, 1
- mov r2, sp
- adds r7, r2, r1
- ldrh r0, [r7]
- add r0, r8
- strh r0, [r6]
- add r1, r10
- ldrh r0, [r1]
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- movs r2, 0
- ldrsh r0, [r6, r2]
- cmp r0, 0
- bge _0809F3A6
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6]
-_0809F3A6:
- movs r0, 0
- ldrsh r4, [r6, r0]
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- ble _0809F3BA
- movs r0, 0
- strh r0, [r6]
-_0809F3BA:
- movs r1, 0
- ldrsh r0, [r7, r1]
- cmp r0, 0
- beq _0809F426
- movs r2, 0
- ldrsh r4, [r6, r2]
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0809F3F8
- ldrh r0, [r5]
- mov r1, r9
- strh r0, [r1, 0xC]
- movs r2, 0
- ldrsh r0, [r5, r2]
- lsls r0, 1
- ldr r1, [sp, 0x2C]
- adds r0, r1, r0
- b _0809F422
- .align 2, 0
-_0809F3E4: .4byte gUnknown_83E23E8
-_0809F3E8: .4byte gUnknown_83E23F2
-_0809F3EC: .4byte gUnknown_83E23FC
-_0809F3F0: .4byte gUnknown_83E2404
-_0809F3F4: .4byte gMain
-_0809F3F8:
- mov r2, r8
- lsls r4, r2, 16
- asrs r4, 16
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0809F426
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _0809F418
- mov r2, r9
- ldrh r0, [r2, 0xC]
- b _0809F424
-_0809F418:
- movs r1, 0
- ldrsh r0, [r5, r1]
- lsls r0, 1
- ldr r2, [sp, 0x30]
- adds r0, r2, r0
-_0809F422:
- ldrh r0, [r0]
-_0809F424:
- strh r0, [r5]
-_0809F426:
- movs r0, 0
- ldrsh r4, [r6, r0]
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0809F468
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bge _0809F442
- movs r0, 0x2
- strh r0, [r5]
-_0809F442:
- movs r2, 0
- ldrsh r0, [r5, r2]
- cmp r0, 0x2
- ble _0809F44E
- movs r0, 0
- strh r0, [r5]
-_0809F44E:
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0809F45E
- movs r0, 0x1
- mov r2, r9
- strh r0, [r2, 0xC]
- b _0809F480
-_0809F45E:
- cmp r0, 0x2
- bne _0809F480
- mov r1, r9
- strh r0, [r1, 0xC]
- b _0809F480
-_0809F468:
- movs r2, 0
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bge _0809F474
- movs r0, 0x3
- strh r0, [r5]
-_0809F474:
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x3
- ble _0809F480
- movs r0, 0
- strh r0, [r5]
-_0809F480:
- movs r2, 0
- ldrsh r0, [r6, r2]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl sub_809E948
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809F2F8
-
- thumb_func_start sub_809F49C
-sub_809F49C: @ 809F49C
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r5, _0809F4E4 @ =gUnknown_203998C
- ldr r0, [r5]
- ldr r4, _0809F4E8 @ =0x00001e14
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r1, [r5]
- adds r0, r1, r4
- ldrb r0, [r0]
- ldr r2, _0809F4EC @ =0x00001e28
- adds r1, r2
- ldr r1, [r1]
- ldr r2, [r1, 0x8]
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x1
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl PutWindowTilemap
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F4E4: .4byte gUnknown_203998C
-_0809F4E8: .4byte 0x00001e14
-_0809F4EC: .4byte 0x00001e28
- thumb_func_end sub_809F49C
-
- thumb_func_start sub_809F4F0
-sub_809F4F0: @ 809F4F0
- push {r4,r5,lr}
- sub sp, 0x2C
- ldr r5, _0809F558 @ =gUnknown_203998C
- ldr r0, [r5]
- ldr r1, _0809F55C @ =0x00001e34
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0xB
- muls r1, r0
- ldr r0, _0809F560 @ =gSpeciesNames
- adds r1, r0
- add r0, sp, 0xC
- bl StringCopy
- ldr r0, [r5]
- ldr r1, _0809F564 @ =0x00001e28
- adds r0, r1
- ldr r0, [r0]
- ldr r1, [r0, 0x8]
- add r0, sp, 0xC
- movs r2, 0xF
- bl StringAppendN
- ldr r0, [r5]
- ldr r4, _0809F568 @ =0x00001e14
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- add r2, sp, 0xC
- movs r3, 0x1
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl PutWindowTilemap
- add sp, 0x2C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F558: .4byte gUnknown_203998C
-_0809F55C: .4byte 0x00001e34
-_0809F560: .4byte gSpeciesNames
-_0809F564: .4byte 0x00001e28
-_0809F568: .4byte 0x00001e14
- thumb_func_end sub_809F4F0
-
- thumb_func_start sub_809F56C
-sub_809F56C: @ 809F56C
- push {lr}
- ldr r1, _0809F588 @ =gUnknown_83E240C
- ldr r0, _0809F58C @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r2, _0809F590 @ =0x00001e2c
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .align 2, 0
-_0809F588: .4byte gUnknown_83E240C
-_0809F58C: .4byte gUnknown_203998C
-_0809F590: .4byte 0x00001e2c
- thumb_func_end sub_809F56C
-
- thumb_func_start sub_809F594
-sub_809F594: @ 809F594
- push {lr}
- ldr r1, _0809F5B4 @ =gUnknown_83E2420
- ldr r0, _0809F5B8 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r2, _0809F5BC @ =0x00001e28
- adds r0, r2
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .align 2, 0
-_0809F5B4: .4byte gUnknown_83E2420
-_0809F5B8: .4byte gUnknown_203998C
-_0809F5BC: .4byte 0x00001e28
- thumb_func_end sub_809F594
-
- thumb_func_start nullsub_55
-nullsub_55: @ 809F5C0
- bx lr
- thumb_func_end nullsub_55
-
- thumb_func_start sub_809F5C4
-sub_809F5C4: @ 809F5C4
- push {r4,r5,lr}
- sub sp, 0x10
- movs r4, 0
- ldr r1, _0809F61C @ =gText_MaleSymbol
- add r0, sp, 0xC
- bl StringCopy
- ldr r5, _0809F620 @ =gUnknown_203998C
- ldr r0, [r5]
- ldr r1, _0809F624 @ =0x00001e36
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0xFF
- beq _0809F614
- cmp r0, 0xFE
- bne _0809F5EE
- ldr r1, _0809F628 @ =gText_FemaleSymbol
- add r0, sp, 0xC
- bl StringCopy
- movs r4, 0x1
-_0809F5EE:
- ldr r0, [r5]
- ldr r1, _0809F62C @ =0x00001e13
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r4, 1
- adds r1, r4
- ldr r2, _0809F630 @ =gUnknown_83E2428
- adds r1, r2
- str r1, [sp]
- movs r1, 0x1
- negs r1, r1
- str r1, [sp, 0x4]
- add r1, sp, 0xC
- str r1, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0x68
- movs r3, 0x1
- bl AddTextPrinterParameterized3
-_0809F614:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F61C: .4byte gText_MaleSymbol
-_0809F620: .4byte gUnknown_203998C
-_0809F624: .4byte 0x00001e36
-_0809F628: .4byte gText_FemaleSymbol
-_0809F62C: .4byte 0x00001e13
-_0809F630: .4byte gUnknown_83E2428
- thumb_func_end sub_809F5C4
-
- thumb_func_start sub_809F634
-sub_809F634: @ 809F634
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r6, _0809F664 @ =gUnknown_83E22D0
- bl sub_809DE50
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 13
- adds r4, r5
- lsls r0, 24
- lsrs r0, 19
- adds r4, r0
- adds r4, r6
- ldrb r0, [r4]
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809F664: .4byte gUnknown_83E22D0
- thumb_func_end sub_809F634
-
- thumb_func_start sub_809F668
-sub_809F668: @ 809F668
- push {r4,r5,lr}
- movs r2, 0
- ldr r0, _0809F690 @ =gUnknown_203998C
- ldr r4, [r0]
- ldr r3, _0809F694 @ =0x00001e28
- adds r1, r4, r3
- ldr r1, [r1]
- ldrb r3, [r1, 0x1]
- adds r5, r0, 0
- cmp r2, r3
- bcs _0809F6A2
- movs r0, 0xC0
- lsls r0, 5
- adds r1, r4, r0
-_0809F684:
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _0809F698
- adds r0, r2, 0
- b _0809F6B2
- .align 2, 0
-_0809F690: .4byte gUnknown_203998C
-_0809F694: .4byte 0x00001e28
-_0809F698:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r3
- bcc _0809F684
-_0809F6A2:
- ldr r0, [r5]
- ldr r1, _0809F6B8 @ =0x00001e28
- adds r0, r1
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
-_0809F6B2:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809F6B8: .4byte 0x00001e28
- thumb_func_end sub_809F668
-
- thumb_func_start sub_809F6BC
-sub_809F6BC: @ 809F6BC
- push {lr}
- ldr r0, _0809F6E8 @ =gUnknown_203998C
- ldr r2, [r0]
- ldr r1, _0809F6EC @ =0x00001e28
- adds r0, r2, r1
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- subs r0, 0x1
- lsls r1, r0, 24
- cmp r1, 0
- ble _0809F6F8
- movs r0, 0xC0
- lsls r0, 5
- adds r3, r2, r0
-_0809F6D8:
- asrs r2, r1, 24
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _0809F6F0
- lsrs r0, r1, 24
- b _0809F6FA
- .align 2, 0
-_0809F6E8: .4byte gUnknown_203998C
-_0809F6EC: .4byte 0x00001e28
-_0809F6F0:
- subs r0, r2, 0x1
- lsls r1, r0, 24
- cmp r1, 0
- bgt _0809F6D8
-_0809F6F8:
- movs r0, 0
-_0809F6FA:
- pop {r1}
- bx r1
- thumb_func_end sub_809F6BC
-
- thumb_func_start sub_809F700
-sub_809F700: @ 809F700
- push {r4-r6,lr}
- bl sub_809F6BC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r6, _0809F758 @ =gUnknown_203998C
- ldr r0, [r6]
- movs r5, 0xC0
- lsls r5, 5
- adds r0, r5
- adds r0, r4
- movs r1, 0
- strb r1, [r0]
- bl sub_809F914
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- ldr r0, [r6]
- adds r0, r5
- adds r0, r4
- movs r1, 0xFF
- strb r1, [r0]
- bl sub_809EB00
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0809F740
- cmp r0, 0x2
- bne _0809F74A
-_0809F740:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x1
- bl sub_809E518
-_0809F74A:
- movs r0, 0x17
- bl PlaySE
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F758: .4byte gUnknown_203998C
- thumb_func_end sub_809F700
-
- thumb_func_start sub_809F75C
-sub_809F75C: @ 809F75C
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl sub_809E9CC
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl sub_809F634
- lsls r0, 24
- lsrs r0, 24
- bl sub_809F7C4
- bl sub_809F914
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x5
- bl PlaySE
- bl sub_809F6BC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0809F7B0 @ =gUnknown_203998C
- ldr r1, [r1]
- ldr r2, _0809F7B4 @ =0x00001e28
- adds r1, r2
- ldr r1, [r1]
- ldrb r1, [r1, 0x1]
- subs r1, 0x1
- cmp r0, r1
- bne _0809F7B8
- movs r0, 0x1
- b _0809F7BA
- .align 2, 0
-_0809F7B0: .4byte gUnknown_203998C
-_0809F7B4: .4byte 0x00001e28
-_0809F7B8:
- movs r0, 0
-_0809F7BA:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809F75C
-
- thumb_func_start sub_809F7C4
-sub_809F7C4: @ 809F7C4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_809F668
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0809F7E8 @ =gUnknown_203998C
- ldr r1, [r1]
- movs r2, 0xC0
- lsls r2, 5
- adds r1, r2
- adds r1, r0
- strb r4, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F7E8: .4byte gUnknown_203998C
- thumb_func_end sub_809F7C4
-
- thumb_func_start sub_809F7EC
-sub_809F7EC: @ 809F7EC
- push {r4,r5,lr}
- movs r2, 0
- ldr r1, _0809F800 @ =gUnknown_203998C
- ldr r0, [r1]
- ldr r4, _0809F804 @ =0x00001e28
- adds r0, r4
- ldr r0, [r0]
- adds r5, r1, 0
- b _0809F84C
- .align 2, 0
-_0809F800: .4byte gUnknown_203998C
-_0809F804: .4byte 0x00001e28
-_0809F808:
- ldr r1, [r1]
- movs r0, 0xC0
- lsls r0, 5
- adds r3, r1, r0
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809F83C
- cmp r0, 0xFF
- beq _0809F83C
- ldr r2, _0809F838 @ =0x00001e30
- adds r0, r1, r2
- ldr r0, [r0]
- adds r1, r4
- ldr r1, [r1]
- ldrb r2, [r1, 0x1]
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r1, r3, 0
- bl StringCopyN
- b _0809F852
- .align 2, 0
-_0809F838: .4byte 0x00001e30
-_0809F83C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r1, r5, 0
- ldr r0, [r1]
- ldr r4, _0809F858 @ =0x00001e28
- adds r0, r4
- ldr r0, [r0]
-_0809F84C:
- ldrb r0, [r0, 0x1]
- cmp r2, r0
- bcc _0809F808
-_0809F852:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F858: .4byte 0x00001e28
- thumb_func_end sub_809F7EC
-
- thumb_func_start choose_name_or_words_screen_load_bg_tile_patterns
-choose_name_or_words_screen_load_bg_tile_patterns: @ 809F85C
- push {r4-r6,lr}
- ldr r0, _0809F8AC @ =gUnknown_8E980E4
- ldr r6, _0809F8B0 @ =gUnknown_203998C
- ldr r1, [r6]
- ldr r4, _0809F8B4 @ =0x00001810
- adds r1, r4
- bl LZ77UnCompWram
- ldr r1, [r6]
- adds r1, r4
- movs r5, 0xC0
- lsls r5, 3
- movs r0, 0x1
- adds r2, r5, 0
- movs r3, 0
- bl LoadBgTiles
- ldr r1, [r6]
- adds r1, r4
- movs r0, 0x2
- adds r2, r5, 0
- movs r3, 0
- bl LoadBgTiles
- ldr r1, [r6]
- adds r1, r4
- movs r0, 0x3
- adds r2, r5, 0
- movs r3, 0
- bl LoadBgTiles
- ldr r0, _0809F8B8 @ =gUnknown_83E267C
- bl LoadSpriteSheets
- ldr r0, _0809F8BC @ =gUnknown_83E26E4
- bl LoadSpritePalettes
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F8AC: .4byte gUnknown_8E980E4
-_0809F8B0: .4byte gUnknown_203998C
-_0809F8B4: .4byte 0x00001810
-_0809F8B8: .4byte gUnknown_83E267C
-_0809F8BC: .4byte gUnknown_83E26E4
- thumb_func_end choose_name_or_words_screen_load_bg_tile_patterns
-
- thumb_func_start sub_809F8C0
-sub_809F8C0: @ 809F8C0
- push {lr}
- bl InputInit
- bl sub_809E4F0
- pop {r0}
- bx r0
- thumb_func_end sub_809F8C0
-
- thumb_func_start choose_name_or_words_screen_apply_bg_pals
-choose_name_or_words_screen_apply_bg_pals: @ 809F8D0
- push {lr}
- ldr r0, _0809F8F8 @ =gUnknown_8E98024
- movs r1, 0
- movs r2, 0xC0
- bl LoadPalette
- ldr r0, _0809F8FC @ =gUnknown_8E97FE4
- movs r1, 0xA0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0x2
- bl stdpal_get
- movs r1, 0xB0
- movs r2, 0x20
- bl LoadPalette
- pop {r0}
- bx r0
- .align 2, 0
-_0809F8F8: .4byte gUnknown_8E98024
-_0809F8FC: .4byte gUnknown_8E97FE4
- thumb_func_end choose_name_or_words_screen_apply_bg_pals
-
- thumb_func_start sub_809F900
-sub_809F900: @ 809F900
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_809F900
-
- thumb_func_start sub_809F914
-sub_809F914: @ 809F914
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r7, _0809F9D8 @ =gUnknown_203998C
- ldr r1, [r7]
- ldr r2, _0809F9DC @ =0x00001e28
- adds r0, r1, r2
- ldr r0, [r0]
- ldrb r6, [r0, 0x1]
- subs r2, 0x12
- adds r0, r1, r2
- ldrh r0, [r0]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- ldr r0, _0809F9E0 @ =0x00001e13
- adds r1, r0
- ldrb r0, [r1]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r4, 0
- cmp r4, r6
- bcs _0809F9AA
- add r5, sp, 0xC
- mov r10, r4
- ldr r0, _0809F9E4 @ =gExpandedPlaceholder_Empty
- ldrb r0, [r0]
- mov r8, r0
-_0809F956:
- ldr r0, [r7]
- movs r1, 0xC0
- lsls r1, 5
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- strb r0, [r5]
- mov r2, r8
- strb r2, [r5, 0x1]
- ldrb r0, [r5]
- bl sub_809FC54
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- cmp r0, 0x1
- bne _0809F97A
- movs r1, 0x2
-_0809F97A:
- ldr r0, [r7]
- ldr r2, _0809F9E0 @ =0x00001e13
- adds r0, r2
- ldrb r0, [r0]
- lsls r3, r4, 3
- add r3, r9
- adds r3, r1
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- movs r1, 0x2
- add r2, sp, 0xC
- bl AddTextPrinterParameterized
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _0809F956
-_0809F9AA:
- bl sub_809F594
- ldr r5, _0809F9D8 @ =gUnknown_203998C
- ldr r0, [r5]
- ldr r4, _0809F9E0 @ =0x00001e13
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl PutWindowTilemap
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F9D8: .4byte gUnknown_203998C
-_0809F9DC: .4byte 0x00001e28
-_0809F9E0: .4byte 0x00001e13
-_0809F9E4: .4byte gExpandedPlaceholder_Empty
- thumb_func_end sub_809F914
-
- thumb_func_start sub_809F9E8
-sub_809F9E8: @ 809F9E8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, _0809FA54 @ =gUnknown_83E243C
- adds r0, r5, r0
- ldrb r1, [r0]
- adds r0, r6, 0
- bl FillWindowPixelBuffer
- movs r4, 0
- ldr r1, _0809FA58 @ =gUnknown_83E2440
- lsls r0, r5, 2
- adds r0, r1
- ldr r7, [r0]
- ldr r0, _0809FA5C @ =gUnknown_83E264C
- mov r8, r0
-_0809FA12:
- lsls r3, r4, 4
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- str r7, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- lsls r0, r4, 2
- lsls r1, r5, 4
- adds r0, r1
- add r0, r8
- ldr r0, [r0]
- str r0, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- movs r2, 0
- bl AddTextPrinterParameterized3
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0809FA12
- adds r0, r6, 0
- bl PutWindowTilemap
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809FA54: .4byte gUnknown_83E243C
-_0809FA58: .4byte gUnknown_83E2440
-_0809FA5C: .4byte gUnknown_83E264C
- thumb_func_end sub_809F9E8
-
- thumb_func_start sub_809FA60
-sub_809FA60: @ 809FA60
- push {r4,r5,lr}
- movs r0, 0xA
- bl GetGpuReg
- adds r4, r0, 0
- movs r5, 0x3
- ands r4, r5
- movs r0, 0xC
- bl GetGpuReg
- ands r0, r5
- cmp r4, r0
- bls _0809FA90
- movs r2, 0x1
- movs r5, 0x1
- ldr r1, _0809FA88 @ =gUnknown_203998C
- ldr r0, [r1]
- ldr r3, _0809FA8C @ =0x00001e11
- b _0809FA9A
- .align 2, 0
-_0809FA88: .4byte gUnknown_203998C
-_0809FA8C: .4byte 0x00001e11
-_0809FA90:
- movs r2, 0x2
- movs r5, 0x2
- ldr r1, _0809FAD4 @ =gUnknown_203998C
- ldr r0, [r1]
- ldr r3, _0809FAD8 @ =0x00001e12
-_0809FA9A:
- adds r0, r3
- ldrb r4, [r0]
- adds r0, r1, 0
- ldr r1, _0809FADC @ =gUnknown_83E244C
- ldr r0, [r0]
- ldr r3, _0809FAE0 @ =0x00001e22
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r2, 0
- bl sub_809F900
- bl sub_809DE30
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_809F9E8
- adds r0, r5, 0
- bl CopyBgTilemapBufferToVram
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809FAD4: .4byte gUnknown_203998C
-_0809FAD8: .4byte 0x00001e12
-_0809FADC: .4byte gUnknown_83E244C
-_0809FAE0: .4byte 0x00001e22
- thumb_func_end sub_809FA60
-
- thumb_func_start sub_809FAE4
-sub_809FAE4: @ 809FAE4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x10
- ldr r1, _0809FB60 @ =gUnknown_83E2458
- add r0, sp, 0xC
- movs r2, 0x3
- bl memcpy
- ldr r0, _0809FB64 @ =gUnknown_8418E77
- mov r8, r0
- movs r0, 0
- mov r1, r8
- movs r2, 0
- bl GetStringWidth
- adds r6, r0, 0
- ldr r5, _0809FB68 @ =gUnknown_203998C
- ldr r0, [r5]
- ldr r4, _0809FB6C @ =0x00001e15
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x14
- negs r1, r1
- adds r2, r1, 0
- subs r2, r6
- lsls r2, 24
- lsrs r2, 24
- add r1, sp, 0xC
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- movs r1, 0
- movs r3, 0
- bl AddTextPrinterParameterized3
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809FB60: .4byte gUnknown_83E2458
-_0809FB64: .4byte gUnknown_8418E77
-_0809FB68: .4byte gUnknown_203998C
-_0809FB6C: .4byte 0x00001e15
- thumb_func_end sub_809FAE4
-
- thumb_func_start sub_809FB70
-sub_809FB70: @ 809FB70
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_809FB70
-
- thumb_func_start sub_809FB88
-sub_809FB88: @ 809FB88
- push {lr}
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl SetHBlankCallback
- pop {r0}
- bx r0
- thumb_func_end sub_809FB88
-
- thumb_func_start sub_809FB9C
-sub_809FB9C: @ 809FB9C
- push {lr}
- ldr r0, _0809FBA8 @ =sub_809FBAC
- bl SetVBlankCallback
- pop {r0}
- bx r0
- .align 2, 0
-_0809FBA8: .4byte sub_809FBAC
- thumb_func_end sub_809FB9C
-
- thumb_func_start sub_809FBAC
-sub_809FBAC: @ 809FBAC
- push {r4,r5,lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- ldr r5, _0809FC1C @ =gUnknown_203998C
- ldr r0, [r5]
- ldr r1, _0809FC20 @ =0x00001e18
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x16
- bl SetGpuReg
- ldr r0, [r5]
- ldr r1, _0809FC24 @ =0x00001e1a
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x1A
- bl SetGpuReg
- movs r0, 0xA
- bl GetGpuReg
- ldr r4, _0809FC28 @ =0x0000fffc
- adds r1, r4, 0
- ands r1, r0
- movs r0, 0xA
- bl SetGpuReg
- ldr r0, [r5]
- ldr r1, _0809FC2C @ =0x00001e1c
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0xA
- bl SetGpuRegBits
- movs r0, 0xC
- bl GetGpuReg
- ands r4, r0
- movs r0, 0xC
- adds r1, r4, 0
- bl SetGpuReg
- ldr r0, [r5]
- ldr r1, _0809FC30 @ =0x00001e1e
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0xC
- bl SetGpuRegBits
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809FC1C: .4byte gUnknown_203998C
-_0809FC20: .4byte 0x00001e18
-_0809FC24: .4byte 0x00001e1a
-_0809FC28: .4byte 0x0000fffc
-_0809FC2C: .4byte 0x00001e1c
-_0809FC30: .4byte 0x00001e1e
- thumb_func_end sub_809FBAC
-
- thumb_func_start sub_809FC34
-sub_809FC34: @ 809FC34
- push {lr}
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- pop {r0}
- bx r0
- thumb_func_end sub_809FC34
-
- thumb_func_start sub_809FC54
-sub_809FC54: @ 809FC54
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r2, 0
- ldr r0, _0809FC74 @ =gUnknown_8418E8A
- ldrb r1, [r0]
- adds r3, r0, 0
- cmp r1, 0xFF
- beq _0809FC86
- adds r1, r3, 0
-_0809FC68:
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r4, r0
- bne _0809FC78
- movs r0, 0x1
- b _0809FC88
- .align 2, 0
-_0809FC74: .4byte gUnknown_8418E8A
-_0809FC78:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _0809FC68
-_0809FC86:
- movs r0, 0
-_0809FC88:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809FC54
-
- thumb_func_start sub_809FC90
-sub_809FC90: @ 809FC90
- push {lr}
- sub sp, 0x8
- ldr r0, _0809FCB0 @ =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r2, [r1, 0x8]
- movs r0, 0
- str r0, [sp]
- ldr r0, _0809FCB4 @ =CB2_ReturnToFieldWithOpenMenu
- str r0, [sp, 0x4]
- movs r0, 0
- movs r3, 0
- bl DoNamingScreen
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0809FCB0: .4byte gSaveBlock2Ptr
-_0809FCB4: .4byte CB2_ReturnToFieldWithOpenMenu
- thumb_func_end sub_809FC90
-
- thumb_func_start sub_809FCB8
-sub_809FCB8: @ 809FCB8
- push {lr}
- sub sp, 0x8
- ldr r0, _0809FCD8 @ =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r2, [r1, 0x8]
- movs r0, 0
- str r0, [sp]
- ldr r0, _0809FCDC @ =CB2_ReturnToFieldWithOpenMenu
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r3, 0
- bl DoNamingScreen
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0809FCD8: .4byte gSaveBlock2Ptr
-_0809FCDC: .4byte CB2_ReturnToFieldWithOpenMenu
- thumb_func_end sub_809FCB8
-
- thumb_func_start sub_809FCE0
-sub_809FCE0: @ 809FCE0
- push {lr}
- sub sp, 0x8
- ldr r0, _0809FD00 @ =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r2, [r1, 0x8]
- movs r0, 0
- str r0, [sp]
- ldr r0, _0809FD04 @ =CB2_ReturnToFieldWithOpenMenu
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r3, 0
- bl DoNamingScreen
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0809FD00: .4byte gSaveBlock2Ptr
-_0809FD04: .4byte CB2_ReturnToFieldWithOpenMenu
- thumb_func_end sub_809FCE0
-
- thumb_func_start sub_809FD08
-sub_809FD08: @ 809FD08
- push {lr}
- sub sp, 0x8
- ldr r0, _0809FD28 @ =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r2, [r1, 0x8]
- movs r0, 0
- str r0, [sp]
- ldr r0, _0809FD2C @ =CB2_ReturnToFieldWithOpenMenu
- str r0, [sp, 0x4]
- movs r0, 0x3
- movs r3, 0
- bl DoNamingScreen
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0809FD28: .4byte gSaveBlock2Ptr
-_0809FD2C: .4byte CB2_ReturnToFieldWithOpenMenu
- thumb_func_end sub_809FD08
-
- thumb_func_start sub_809FD30
-sub_809FD30: @ 809FD30
- push {lr}
- sub sp, 0x8
- ldr r0, _0809FD50 @ =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r2, [r1, 0x8]
- movs r0, 0
- str r0, [sp]
- ldr r0, _0809FD54 @ =CB2_ReturnToFieldWithOpenMenu
- str r0, [sp, 0x4]
- movs r0, 0x4
- movs r3, 0
- bl DoNamingScreen
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0809FD50: .4byte gSaveBlock2Ptr
-_0809FD54: .4byte CB2_ReturnToFieldWithOpenMenu
- thumb_func_end sub_809FD30
-
- .align 2, 0 @ Don't pad with nop.