summaryrefslogtreecommitdiff
path: root/asm/rom3.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/rom3.s')
-rw-r--r--asm/rom3.s2850
1 files changed, 0 insertions, 2850 deletions
diff --git a/asm/rom3.s b/asm/rom3.s
index 94b6d2b21..9fe90ef87 100644
--- a/asm/rom3.s
+++ b/asm/rom3.s
@@ -6,2856 +6,6 @@
.text
- thumb_func_start Task_Birch1
-Task_Birch1: @ 800A1F4
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0800A2B0
- bl SetUpWindowConfig
- ldr r0, _0800A2B4
- bl sub_8071C4C
- ldr r0, _0800A2B8
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r0, _0800A2BC
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, _0800A2C0
- ldr r1, _0800A2C4
- bl LZ77UnCompVram
- ldr r0, _0800A2C8
- movs r1, 0
- movs r2, 0x40
- bl LoadPalette
- ldr r0, _0800A2CC
- movs r1, 0x1
- movs r2, 0x10
- bl LoadPalette
- bl remove_some_task
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- adds r0, r4, 0
- bl AddBirchSpeechObjects
- movs r0, 0x1
- negs r0, r0
- movs r5, 0
- str r5, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, _0800A2D0
- ldr r2, _0800A2D4
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xA
- movs r2, 0x9A
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _0800A2D8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x10]
- ldr r1, _0800A2DC
- str r1, [r0]
- movs r1, 0xFF
- strh r1, [r0, 0xC]
- strh r1, [r0, 0xE]
- movs r1, 0xD8
- strh r1, [r0, 0x16]
- movs r0, 0xBB
- lsls r0, 1
- bl sub_8075474
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800A2B0: .4byte gWindowConfig_81E6C3C
-_0800A2B4: .4byte gWindowConfig_81E6CE4
-_0800A2B8: .4byte REG_WIN0H
-_0800A2BC: .4byte gUnknown_081E768C
-_0800A2C0: .4byte gUnknown_081E7834
-_0800A2C4: .4byte 0x06003800
-_0800A2C8: .4byte gUnknown_081E764C
-_0800A2CC: .4byte gUnknown_081E796C
-_0800A2D0: .4byte REG_BG1CNT
-_0800A2D4: .4byte 0x00000703
-_0800A2D8: .4byte 0x03004b20
-_0800A2DC: .4byte task_new_game_prof_birch_speech_2
- thumb_func_end Task_Birch1
-
- thumb_func_start task_new_game_prof_birch_speech_2
-task_new_game_prof_birch_speech_2: @ 800A2E0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _0800A300
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r1, [r4, 0x16]
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0800A304
- subs r0, r1, 0x1
- strh r0, [r4, 0x16]
- b _0800A34A
- .align 2, 0
-_0800A300: .4byte 0x03004b20
-_0800A304:
- ldrb r0, [r4, 0x18]
- ldr r2, _0800A350
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x88
- strh r0, [r1, 0x20]
- movs r0, 0x3C
- strh r0, [r1, 0x22]
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- subs r0, 0x41
- ands r0, r2
- strb r0, [r3]
- ldrb r2, [r1, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1, 0x1]
- adds r0, r5, 0
- movs r1, 0xA
- bl sub_800B534
- adds r0, r5, 0
- movs r1, 0x14
- bl sub_800B6C0
- movs r0, 0x50
- strh r0, [r4, 0x16]
- ldr r0, _0800A354
- str r0, [r4]
-_0800A34A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800A350: .4byte 0x02020004
-_0800A354: .4byte task_new_game_prof_birch_speech_3
- thumb_func_end task_new_game_prof_birch_speech_2
-
- thumb_func_start task_new_game_prof_birch_speech_3
-task_new_game_prof_birch_speech_3: @ 800A358
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0800A398
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0800A3BA
- ldr r2, _0800A39C
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldrh r1, [r4, 0x16]
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0800A3A0
- subs r0, r1, 0x1
- strh r0, [r4, 0x16]
- b _0800A3BA
- .align 2, 0
-_0800A398: .4byte 0x03004b20
-_0800A39C: .4byte 0x02020004
-_0800A3A0:
- movs r0, 0x2
- movs r1, 0xD
- movs r2, 0x1B
- movs r3, 0x12
- bl DrawDefaultWindow
- ldr r0, _0800A3C0
- movs r1, 0x3
- movs r2, 0xE
- bl AddTextPrinterWithCallbackForMessage
- ldr r0, _0800A3C4
- str r0, [r4]
-_0800A3BA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800A3C0: .4byte gUnknown_081C6D78
-_0800A3C4: .4byte task_new_game_prof_birch_speech_4
- thumb_func_end task_new_game_prof_birch_speech_3
-
- thumb_func_start task_new_game_prof_birch_speech_4
-task_new_game_prof_birch_speech_4: @ 800A3C8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0800A404
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0800A3FE
- movs r0, 0x18
- bl sub_8072CF4
- lsls r0, 24
- cmp r0, 0
- beq _0800A3FE
- ldr r1, _0800A408
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0800A40C
- str r1, [r0]
- ldr r0, _0800A410
- movs r1, 0x3
- movs r2, 0xE
- bl AddTextPrinterWithCallbackForMessage
-_0800A3FE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800A404: .4byte 0x0202f388
-_0800A408: .4byte 0x03004b20
-_0800A40C: .4byte task_new_game_prof_birch_speech_5
-_0800A410: .4byte gUnknown_081C6DF8
- thumb_func_end task_new_game_prof_birch_speech_4
-
- thumb_func_start task_new_game_prof_birch_speech_5
-task_new_game_prof_birch_speech_5: @ 800A414
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x18
- bl sub_8072CF4
- lsls r0, 24
- cmp r0, 0
- beq _0800A434
- ldr r0, _0800A43C
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0800A440
- str r0, [r1]
-_0800A434:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800A43C: .4byte 0x03004b20
-_0800A440: .4byte task_new_game_prof_birch_speech_6
- thumb_func_end task_new_game_prof_birch_speech_5
-
- thumb_func_start task_new_game_prof_birch_speech_6
-task_new_game_prof_birch_speech_6: @ 800A444
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800A4A8
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldrb r0, [r4, 0x1A]
- ldr r1, _0800A4AC
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- movs r5, 0
- movs r1, 0x68
- strh r1, [r2, 0x20]
- movs r1, 0x48
- strh r1, [r2, 0x22]
- movs r1, 0x3E
- adds r1, r2
- mov r12, r1
- ldrb r3, [r1]
- movs r1, 0x5
- negs r1, r1
- ands r1, r3
- mov r3, r12
- strb r1, [r3]
- strh r5, [r2, 0x2E]
- ldrb r1, [r2, 0x5]
- lsrs r1, 4
- str r5, [sp]
- str r5, [sp, 0x4]
- movs r2, 0x20
- str r2, [sp, 0x8]
- ldr r2, _0800A4B0
- str r2, [sp, 0xC]
- movs r2, 0x70
- movs r3, 0x3A
- bl AddTextPrinterForMessage
- ldr r0, _0800A4B4
- str r0, [r4]
- strh r5, [r4, 0x16]
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800A4A8: .4byte 0x03004b20
-_0800A4AC: .4byte 0x02020004
-_0800A4B0: .4byte 0x0000ffff
-_0800A4B4: .4byte task_new_game_prof_birch_speech_7
- thumb_func_end task_new_game_prof_birch_speech_6
-
- thumb_func_start task_new_game_prof_birch_speech_7
-task_new_game_prof_birch_speech_7: @ 800A4B8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8075374
- lsls r0, 24
- cmp r0, 0
- beq _0800A4E4
- ldr r0, _0800A518
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r5, r1, r0
- movs r1, 0x16
- ldrsh r0, [r5, r1]
- cmp r0, 0x5F
- ble _0800A4E4
- ldr r0, _0800A51C
- bl sub_807206C
- ldr r0, _0800A520
- str r0, [r5]
-_0800A4E4:
- ldr r1, _0800A518
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- ldrh r3, [r2, 0x16]
- movs r0, 0x16
- ldrsh r1, [r2, r0]
- ldr r0, _0800A524
- cmp r1, r0
- bgt _0800A510
- adds r0, r3, 0x1
- strh r0, [r2, 0x16]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x20
- bne _0800A510
- movs r0, 0xAF
- lsls r0, 1
- movs r1, 0
- bl cry_related
-_0800A510:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800A518: .4byte 0x03004b20
-_0800A51C: .4byte gUnknown_0840DFF7
-_0800A520: .4byte task_new_game_prof_birch_speech_8
-_0800A524: .4byte 0x00003fff
- thumb_func_end task_new_game_prof_birch_speech_7
-
- thumb_func_start task_new_game_prof_birch_speech_8
-task_new_game_prof_birch_speech_8: @ 800A528
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x18
- bl sub_8072CF4
- lsls r0, 24
- cmp r0, 0
- beq _0800A552
- ldr r0, _0800A558
- movs r1, 0x3
- movs r2, 0xE
- bl AddTextPrinterWithCallbackForMessage
- ldr r1, _0800A55C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0800A560
- str r1, [r0]
-_0800A552:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800A558: .4byte gUnknown_081C6E1A
-_0800A55C: .4byte 0x03004b20
-_0800A560: .4byte task_new_game_prof_birch_speech_9
- thumb_func_end task_new_game_prof_birch_speech_8
-
- thumb_func_start task_new_game_prof_birch_speech_9
-task_new_game_prof_birch_speech_9: @ 800A564
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x18
- bl sub_8072CF4
- lsls r0, 24
- cmp r0, 0
- beq _0800A59A
- movs r0, 0x2
- movs r1, 0xD
- movs r2, 0x1B
- movs r3, 0x12
- bl DrawDefaultWindow
- ldr r0, _0800A5A0
- movs r1, 0x3
- movs r2, 0xE
- bl AddTextPrinterWithCallbackForMessage
- ldr r1, _0800A5A4
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0800A5A8
- str r1, [r0]
-_0800A59A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800A5A0: .4byte gUnknown_081C6FCB
-_0800A5A4: .4byte 0x03004b20
-_0800A5A8: .4byte task_new_game_prof_birch_speech_10
- thumb_func_end task_new_game_prof_birch_speech_9
-
- thumb_func_start task_new_game_prof_birch_speech_10
-task_new_game_prof_birch_speech_10: @ 800A5AC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0x18
- bl sub_8072CF4
- lsls r0, 24
- cmp r0, 0
- beq _0800A612
- ldr r5, _0800A618
- ldr r0, _0800A61C
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- adds r4, r0
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r3, [r1, 0x1]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r1, 0x1]
- movs r0, 0x1A
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r0, 0x1]
- ands r2, r1
- orrs r2, r3
- strb r2, [r0, 0x1]
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_800B458
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_800B614
- movs r0, 0x40
- strh r0, [r4, 0x16]
- ldr r0, _0800A620
- str r0, [r4]
-_0800A612:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0800A618: .4byte 0x02020004
-_0800A61C: .4byte 0x03004b20
-_0800A620: .4byte task_new_game_prof_birch_speech_11
- thumb_func_end task_new_game_prof_birch_speech_10
-
- thumb_func_start task_new_game_prof_birch_speech_11
-task_new_game_prof_birch_speech_11: @ 800A624
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0800A64C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r2, r1, r2
- ldrh r3, [r2, 0x10]
- movs r0, 0x10
- ldrsh r1, [r2, r0]
- movs r0, 0x3C
- negs r0, r0
- cmp r1, r0
- beq _0800A654
- subs r1, r3, 0x2
- strh r1, [r2, 0x10]
- ldr r0, _0800A650
- strh r1, [r0]
- b _0800A65C
- .align 2, 0
-_0800A64C: .4byte 0x03004b20
-_0800A650: .4byte REG_BG1HOFS
-_0800A654:
- ldr r0, _0800A660
- strh r0, [r2, 0x10]
- ldr r0, _0800A664
- str r0, [r2]
-_0800A65C:
- pop {r0}
- bx r0
- .align 2, 0
-_0800A660: .4byte 0x0000ffc4
-_0800A664: .4byte task_new_game_prof_birch_speech_12
- thumb_func_end task_new_game_prof_birch_speech_11
-
- thumb_func_start task_new_game_prof_birch_speech_12
-task_new_game_prof_birch_speech_12: @ 800A668
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, _0800A6C0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0800A70E
- ldr r2, _0800A6C4
- movs r0, 0x18
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r7, 0x4
- orrs r1, r7
- strb r1, [r0]
- movs r0, 0x1A
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r7
- strb r1, [r0]
- ldrh r0, [r4, 0x16]
- movs r1, 0x16
- ldrsh r6, [r4, r1]
- cmp r6, 0
- beq _0800A6C8
- subs r0, 0x1
- strh r0, [r4, 0x16]
- b _0800A70E
- .align 2, 0
-_0800A6C0: .4byte 0x03004b20
-_0800A6C4: .4byte 0x02020004
-_0800A6C8:
- ldrb r3, [r4, 0x1C]
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- adds r1, r2
- movs r0, 0xB4
- strh r0, [r1, 0x20]
- movs r0, 0x3C
- strh r0, [r1, 0x22]
- movs r2, 0x3E
- adds r2, r1
- mov r12, r2
- ldrb r2, [r2]
- subs r0, 0x41
- ands r0, r2
- mov r2, r12
- strb r0, [r2]
- ldrb r2, [r1, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r7
- strb r0, [r1, 0x1]
- strh r3, [r4, 0xC]
- strh r6, [r4, 0x14]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_800B534
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_800B6C0
- ldr r0, _0800A714
- str r0, [r4]
-_0800A70E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800A714: .4byte task_new_game_prof_birch_speech_13
- thumb_func_end task_new_game_prof_birch_speech_12
-
- thumb_func_start task_new_game_prof_birch_speech_13
-task_new_game_prof_birch_speech_13: @ 800A718
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0800A750
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r3, r1, r2
- movs r1, 0x12
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _0800A74C
- ldr r2, _0800A754
- movs r1, 0xC
- ldrsh r0, [r3, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldr r0, _0800A758
- str r0, [r3]
-_0800A74C:
- pop {r0}
- bx r0
- .align 2, 0
-_0800A750: .4byte 0x03004b20
-_0800A754: .4byte 0x02020004
-_0800A758: .4byte task_new_game_prof_birch_speech_14
- thumb_func_end task_new_game_prof_birch_speech_13
-
- thumb_func_start task_new_game_prof_birch_speech_14
-task_new_game_prof_birch_speech_14: @ 800A75C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x2
- movs r1, 0xD
- movs r2, 0x1B
- movs r3, 0x12
- bl DrawDefaultWindow
- ldr r0, _0800A790
- movs r1, 0x3
- movs r2, 0xE
- bl AddTextPrinterWithCallbackForMessage
- ldr r1, _0800A794
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0800A798
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800A790: .4byte gUnknown_081C6FD8
-_0800A794: .4byte 0x03004b20
-_0800A798: .4byte task_new_game_prof_birch_speech_15
- thumb_func_end task_new_game_prof_birch_speech_14
-
- thumb_func_start task_new_game_prof_birch_speech_15
-task_new_game_prof_birch_speech_15: @ 800A79C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x18
- bl sub_8072CF4
- lsls r0, 24
- cmp r0, 0
- beq _0800A7C4
- movs r0, 0x2
- movs r1, 0x4
- bl CreateGenderMenu
- ldr r0, _0800A7CC
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0800A7D0
- str r0, [r1]
-_0800A7C4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800A7CC: .4byte 0x03004b20
-_0800A7D0: .4byte task_new_game_prof_birch_speech_16
- thumb_func_end task_new_game_prof_birch_speech_15
-
- thumb_func_start task_new_game_prof_birch_speech_16
-task_new_game_prof_birch_speech_16: @ 800A7D4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl GenderMenuProcessInput
- lsls r0, 24
- asrs r4, r0, 24
- cmp r4, 0
- beq _0800A7EE
- cmp r4, 0x1
- beq _0800A7EE
- lsls r4, r5, 2
- b _0800A818
-_0800A7EE:
- bl sub_8072DEC
- movs r0, 0x5
- bl audio_play
- ldr r0, _0800A860
- strb r4, [r0, 0x8]
- movs r0, 0x2
- movs r1, 0x4
- movs r2, 0x8
- movs r3, 0x9
- bl Reset
- ldr r1, _0800A864
- lsls r2, r5, 2
- adds r0, r2, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _0800A868
- str r1, [r0]
- adds r4, r2, 0
-_0800A818:
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, _0800A864
- adds r0, r4, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r3, r0
- beq _0800A85A
- strh r3, [r4, 0x14]
- ldr r2, _0800A86C
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x1]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x1]
- adds r0, r5, 0
- movs r1, 0
- bl sub_800B458
- ldr r0, _0800A870
- str r0, [r4]
-_0800A85A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800A860: .4byte gSaveBlock2
-_0800A864: .4byte 0x03004b20
-_0800A868: .4byte sub_800A974
-_0800A86C: .4byte 0x02020004
-_0800A870: .4byte task_new_game_prof_birch_speech_17
- thumb_func_end task_new_game_prof_birch_speech_16
-
- thumb_func_start task_new_game_prof_birch_speech_17
-task_new_game_prof_birch_speech_17: @ 800A874
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _0800A8A4
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- ldrb r5, [r4, 0xC]
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- adds r7, r1, 0
- cmp r0, 0
- bne _0800A8AC
- ldr r0, _0800A8A8
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x20]
- adds r0, 0x4
- strh r0, [r1, 0x20]
- b _0800A912
- .align 2, 0
-_0800A8A4: .4byte 0x03004b20
-_0800A8A8: .4byte 0x02020004
-_0800A8AC:
- ldr r3, _0800A8CC
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0800A8D0
- ldrb r5, [r4, 0x1E]
- b _0800A8D2
- .align 2, 0
-_0800A8CC: .4byte 0x02020004
-_0800A8D0:
- ldrb r5, [r4, 0x1C]
-_0800A8D2:
- lsls r2, r5, 4
- adds r2, r5
- lsls r2, 2
- adds r2, r3
- movs r0, 0xF0
- strh r0, [r2, 0x20]
- movs r0, 0x3C
- strh r0, [r2, 0x22]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- subs r0, 0x41
- ands r0, r1
- strb r0, [r3]
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- adds r4, r7
- strh r5, [r4, 0xC]
- ldrb r1, [r2, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x1]
- adds r0, r6, 0
- movs r1, 0
- bl sub_800B534
- ldr r0, _0800A918
- str r0, [r4]
-_0800A912:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800A918: .4byte task_new_game_prof_birch_speech_18
- thumb_func_end task_new_game_prof_birch_speech_17
-
- thumb_func_start task_new_game_prof_birch_speech_18
-task_new_game_prof_birch_speech_18: @ 800A91C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0800A948
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r3, r1, r2
- ldrb r1, [r3, 0xC]
- ldr r2, _0800A94C
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r2
- ldrh r1, [r2, 0x20]
- movs r4, 0x20
- ldrsh r0, [r2, r4]
- cmp r0, 0xB4
- ble _0800A950
- subs r0, r1, 0x4
- strh r0, [r2, 0x20]
- b _0800A96A
- .align 2, 0
-_0800A948: .4byte 0x03004b20
-_0800A94C: .4byte 0x02020004
-_0800A950:
- movs r0, 0xB4
- strh r0, [r2, 0x20]
- movs r1, 0x12
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _0800A96A
- ldrb r0, [r2, 0x1]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- strb r1, [r2, 0x1]
- ldr r0, _0800A970
- str r0, [r3]
-_0800A96A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800A970: .4byte task_new_game_prof_birch_speech_16
- thumb_func_end task_new_game_prof_birch_speech_18
-
- thumb_func_start sub_800A974
-sub_800A974: @ 800A974
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x2
- movs r1, 0xD
- movs r2, 0x1B
- movs r3, 0x12
- bl DrawDefaultWindow
- ldr r0, _0800A9A8
- movs r1, 0x3
- movs r2, 0xE
- bl AddTextPrinterWithCallbackForMessage
- ldr r1, _0800A9AC
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0800A9B0
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800A9A8: .4byte gUnknown_081C6FFA
-_0800A9AC: .4byte 0x03004b20
-_0800A9B0: .4byte Task_800A9B4
- thumb_func_end sub_800A974
-
- thumb_func_start Task_800A9B4
-Task_800A9B4: @ 800A9B4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x18
- bl sub_8072CF4
- lsls r0, 24
- cmp r0, 0
- beq _0800A9DC
- movs r0, 0x2
- movs r1, 0x1
- bl CreateNameMenu
- ldr r0, _0800A9E4
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0800A9E8
- str r0, [r1]
-_0800A9DC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800A9E4: .4byte 0x03004b20
-_0800A9E8: .4byte sub_800A9EC
- thumb_func_end Task_800A9B4
-
- thumb_func_start sub_800A9EC
-sub_800A9EC: @ 800A9EC
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- bl NameMenuProcessInput
- lsls r6, r0, 24
- asrs r4, r6, 24
- cmp r4, 0
- beq _0800AA48
- cmp r4, 0
- bgt _0800AA0E
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _0800AA78
- b _0800AA9C
-_0800AA0E:
- cmp r4, 0x4
- bgt _0800AA9C
- bl sub_8072DEC
- movs r0, 0x5
- bl audio_play
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0x16
- movs r3, 0xC
- bl Reset
- lsrs r0, r6, 24
- bl set_default_player_name
- ldr r1, _0800AA40
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _0800AA44
- str r1, [r0]
- b _0800AA9C
- .align 2, 0
-_0800AA40: .4byte 0x03004b20
-_0800AA44: .4byte task_new_game_prof_birch_speech_part2_1
-_0800AA48:
- movs r0, 0x5
- bl audio_play
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0800AA70
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _0800AA74
- str r1, [r0]
- b _0800AA9C
- .align 2, 0
-_0800AA70: .4byte 0x03004b20
-_0800AA74: .4byte sub_800AAAC
-_0800AA78:
- bl sub_8072DEC
- movs r0, 0x5
- bl audio_play
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0x16
- movs r3, 0xC
- bl Reset
- ldr r0, _0800AAA4
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _0800AAA8
- str r0, [r1]
-_0800AA9C:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0800AAA4: .4byte 0x03004b20
-_0800AAA8: .4byte task_new_game_prof_birch_speech_14
- thumb_func_end sub_800A9EC
-
- thumb_func_start sub_800AAAC
-sub_800AAAC: @ 800AAAC
- push {r4,lr}
- sub sp, 0x8
- ldr r0, _0800AAE0
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0800AAD8
- movs r0, 0x1
- bl set_default_player_name
- ldr r1, _0800AAE4
- ldrb r2, [r1, 0x8]
- str r4, [sp]
- ldr r0, _0800AAE8
- str r0, [sp, 0x4]
- movs r0, 0
- movs r3, 0
- bl DoNamingScreen
-_0800AAD8:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800AAE0: .4byte 0x0202f388
-_0800AAE4: .4byte gSaveBlock2
-_0800AAE8: .4byte new_game_prof_birch_speech_part2_start
- thumb_func_end sub_800AAAC
-
- thumb_func_start task_new_game_prof_birch_speech_part2_1
-task_new_game_prof_birch_speech_part2_1: @ 800AAEC
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x2
- movs r1, 0xD
- movs r2, 0x1B
- movs r3, 0x12
- bl DrawDefaultWindow
- ldr r5, _0800AB28
- ldr r1, _0800AB2C
- adds r0, r5, 0
- bl StringExpandPlaceholders
- adds r0, r5, 0
- movs r1, 0x3
- movs r2, 0xE
- bl AddTextPrinterWithCallbackForMessage
- ldr r1, _0800AB30
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0800AB34
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800AB28: .4byte 0x020234cc
-_0800AB2C: .4byte gUnknown_081C7017
-_0800AB30: .4byte 0x03004b20
-_0800AB34: .4byte sub_800AB38
- thumb_func_end task_new_game_prof_birch_speech_part2_1
-
- thumb_func_start sub_800AB38
-sub_800AB38: @ 800AB38
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x18
- bl sub_8072CF4
- lsls r0, 24
- cmp r0, 0
- beq _0800AB62
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0x1
- bl sub_8072974
- ldr r0, _0800AB68
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0800AB6C
- str r0, [r1]
-_0800AB62:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800AB68: .4byte 0x03004b20
-_0800AB6C: .4byte task_new_game_prof_birch_speech_part2_4
- thumb_func_end sub_800AB38
-
- thumb_func_start task_new_game_prof_birch_speech_part2_4
-task_new_game_prof_birch_speech_part2_4: @ 800AB70
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl FillWindowPixelBuffer
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0800AB96
- cmp r1, 0
- bgt _0800AB90
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0800ABF0
- b _0800AC10
-_0800AB90:
- cmp r1, 0x1
- beq _0800ABF0
- b _0800AC10
-_0800AB96:
- movs r0, 0x5
- bl audio_play
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0x8
- movs r3, 0x7
- bl Reset
- ldr r2, _0800ABE4
- ldr r0, _0800ABE8
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x1]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x1]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_800B458
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_800B614
- ldr r0, _0800ABEC
- str r0, [r4]
- b _0800AC10
- .align 2, 0
-_0800ABE4: .4byte 0x02020004
-_0800ABE8: .4byte 0x03004b20
-_0800ABEC: .4byte sub_800AC20
-_0800ABF0:
- movs r0, 0x5
- bl audio_play
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0x8
- movs r3, 0x7
- bl Reset
- ldr r0, _0800AC18
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _0800AC1C
- str r0, [r1]
-_0800AC10:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800AC18: .4byte 0x03004b20
-_0800AC1C: .4byte task_new_game_prof_birch_speech_14
- thumb_func_end task_new_game_prof_birch_speech_part2_4
-
- thumb_func_start sub_800AC20
-sub_800AC20: @ 800AC20
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0800AC44
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r2, r1, r2
- ldrh r1, [r2, 0x10]
- movs r3, 0x10
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _0800AC4C
- adds r1, 0x2
- strh r1, [r2, 0x10]
- ldr r0, _0800AC48
- strh r1, [r0]
- b _0800AC50
- .align 2, 0
-_0800AC44: .4byte 0x03004b20
-_0800AC48: .4byte REG_BG1HOFS
-_0800AC4C:
- ldr r0, _0800AC54
- str r0, [r2]
-_0800AC50:
- pop {r0}
- bx r0
- .align 2, 0
-_0800AC54: .4byte task_new_game_prof_birch_speech_part2_6
- thumb_func_end sub_800AC20
-
- thumb_func_start task_new_game_prof_birch_speech_part2_6
-task_new_game_prof_birch_speech_part2_6: @ 800AC58
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _0800AD34
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r7, r0, r1
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- cmp r0, 0
- beq _0800AD2C
- ldr r5, _0800AD38
- movs r2, 0x1C
- ldrsh r1, [r7, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r3, 0x4
- mov r12, r3
- mov r2, r12
- orrs r1, r2
- strb r1, [r0]
- movs r3, 0x1E
- ldrsh r1, [r7, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- ldrb r0, [r7, 0x18]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- movs r0, 0x88
- strh r0, [r1, 0x20]
- movs r0, 0x40
- strh r0, [r1, 0x22]
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- movs r4, 0x5
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- strb r0, [r3]
- ldrb r3, [r1, 0x1]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- mov r3, r12
- orrs r0, r3
- strb r0, [r1, 0x1]
- ldrb r1, [r7, 0x1A]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x68
- strh r1, [r0, 0x20]
- movs r1, 0x48
- strh r1, [r0, 0x22]
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- ands r4, r1
- strb r4, [r3]
- ldrb r1, [r0, 0x1]
- ands r2, r1
- mov r1, r12
- orrs r2, r1
- strb r2, [r0, 0x1]
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_800B534
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_800B6C0
- movs r0, 0x2
- movs r1, 0xD
- movs r2, 0x1B
- movs r3, 0x12
- bl DrawDefaultWindow
- ldr r4, _0800AD3C
- ldr r1, _0800AD40
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x3
- movs r2, 0xE
- bl AddTextPrinterWithCallbackForMessage
- ldr r0, _0800AD44
- str r0, [r7]
-_0800AD2C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800AD34: .4byte 0x03004b20
-_0800AD38: .4byte 0x02020004
-_0800AD3C: .4byte 0x020234cc
-_0800AD40: .4byte gUnknown_081C7025
-_0800AD44: .4byte task_new_game_prof_birch_speech_part2_7
- thumb_func_end task_new_game_prof_birch_speech_part2_6
-
- thumb_func_start task_new_game_prof_birch_speech_part2_7
-task_new_game_prof_birch_speech_part2_7: @ 800AD48
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _0800ADE8
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0800ADE0
- ldr r7, _0800ADEC
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r1, 0x1]
- movs r6, 0xD
- negs r6, r6
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1, 0x1]
- movs r1, 0x1A
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r1, 0x1]
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1, 0x1]
- movs r0, 0x18
- bl sub_8072CF4
- lsls r0, 24
- cmp r0, 0
- beq _0800ADE0
- movs r0, 0x18
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrb r2, [r0, 0x1]
- adds r1, r6, 0
- ands r1, r2
- movs r3, 0x4
- orrs r1, r3
- strb r1, [r0, 0x1]
- movs r1, 0x1A
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r1, 0x1]
- adds r0, r6, 0
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x1]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_800B458
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_800B614
- movs r0, 0x40
- strh r0, [r4, 0x16]
- ldr r0, _0800ADF0
- str r0, [r4]
-_0800ADE0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800ADE8: .4byte 0x03004b20
-_0800ADEC: .4byte 0x02020004
-_0800ADF0: .4byte task_new_game_prof_birch_speech_part2_8
- thumb_func_end task_new_game_prof_birch_speech_part2_7
-
- thumb_func_start task_new_game_prof_birch_speech_part2_8
-task_new_game_prof_birch_speech_part2_8: @ 800ADF4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _0800AE4C
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- adds r7, r1, 0
- cmp r0, 0
- beq _0800AEC4
- ldr r2, _0800AE50
- movs r3, 0x18
- ldrsh r1, [r4, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r3, 0x4
- orrs r1, r3
- strb r1, [r0]
- movs r0, 0x1A
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- ldrh r1, [r4, 0x16]
- movs r3, 0x16
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _0800AE54
- subs r0, r1, 0x1
- strh r0, [r4, 0x16]
- b _0800AEC4
- .align 2, 0
-_0800AE4C: .4byte 0x03004b20
-_0800AE50: .4byte 0x02020004
-_0800AE54:
- ldr r0, _0800AE60
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- beq _0800AE64
- ldrb r5, [r4, 0x1E]
- b _0800AE66
- .align 2, 0
-_0800AE60: .4byte gSaveBlock2
-_0800AE64:
- ldrb r5, [r4, 0x1C]
-_0800AE66:
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r1, r2
- movs r0, 0x78
- strh r0, [r1, 0x20]
- movs r0, 0x3C
- strh r0, [r1, 0x22]
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- subs r0, 0x41
- ands r0, r2
- strb r0, [r3]
- ldrb r2, [r1, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1, 0x1]
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- adds r4, r7
- strh r5, [r4, 0xC]
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_800B534
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_800B6C0
- movs r0, 0x2
- movs r1, 0xD
- movs r2, 0x1B
- movs r3, 0x12
- bl DrawDefaultWindow
- ldr r0, _0800AECC
- movs r1, 0x3
- movs r2, 0xE
- bl AddTextPrinterWithCallbackForMessage
- ldr r0, _0800AED0
- str r0, [r4]
-_0800AEC4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800AECC: .4byte gUnknown_081C7074
-_0800AED0: .4byte task_new_game_prof_birch_speech_part2_9
- thumb_func_end task_new_game_prof_birch_speech_part2_8
-
- thumb_func_start task_new_game_prof_birch_speech_part2_9
-task_new_game_prof_birch_speech_part2_9: @ 800AED4
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0800AF6C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r6, r1, r2
- movs r1, 0x12
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _0800AF64
- ldr r7, _0800AF70
- movs r1, 0xC
- ldrsh r0, [r6, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r1, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- movs r0, 0x18
- bl sub_8072CF4
- lsls r0, 24
- cmp r0, 0
- beq _0800AF64
- ldrb r0, [r6, 0xC]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r5, r4, r7
- ldrb r1, [r5, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r5, 0x1]
- adds r0, r7, 0
- adds r0, 0x10
- adds r0, r4, r0
- ldr r1, _0800AF74
- str r1, [r0]
- adds r0, r5, 0
- bl InitSpriteAffineAnim
- adds r0, r5, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- adds r0, r7, 0
- adds r0, 0x1C
- adds r4, r0
- ldr r0, _0800AF78
- str r0, [r4]
- ldr r0, _0800AF7C
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0x4
- bl play_sound_effect
- ldr r0, _0800AF80
- str r0, [r6]
-_0800AF64:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800AF6C: .4byte 0x03004b20
-_0800AF70: .4byte 0x02020004
-_0800AF74: .4byte gSpriteAffineAnimTable_81E79AC
-_0800AF78: .4byte sub_800B240
-_0800AF7C: .4byte 0x0000ffff
-_0800AF80: .4byte task_new_game_prof_birch_speech_part2_10
- thumb_func_end task_new_game_prof_birch_speech_part2_9
-
- thumb_func_start task_new_game_prof_birch_speech_part2_10
-task_new_game_prof_birch_speech_part2_10: @ 800AF84
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0800AFB4
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r3, r1, r2
- ldrb r1, [r3, 0xC]
- ldr r2, _0800AFB8
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _0800AFAE
- ldr r0, _0800AFBC
- str r0, [r3]
-_0800AFAE:
- pop {r0}
- bx r0
- .align 2, 0
-_0800AFB4: .4byte 0x03004b20
-_0800AFB8: .4byte 0x02020004
-_0800AFBC: .4byte sub_800AFC0
- thumb_func_end task_new_game_prof_birch_speech_part2_10
-
- thumb_func_start sub_800AFC0
-sub_800AFC0: @ 800AFC0
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0800B018
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0800B010
- ldr r0, _0800B01C
- lsls r4, r2, 2
- adds r4, r2
- lsls r4, 3
- adds r4, r0
- ldrb r2, [r4, 0xC]
- ldr r1, _0800B020
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _0800B024
- str r1, [r0]
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0x82
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0800B028
- ldr r1, _0800B02C
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0800B030
- str r0, [r4]
-_0800B010:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800B018: .4byte 0x0202f388
-_0800B01C: .4byte 0x03004b20
-_0800B020: .4byte 0x02020004
-_0800B024: .4byte nullsub_34
-_0800B028: .4byte 0xffff0000
-_0800B02C: .4byte 0x0000ffff
-_0800B030: .4byte sub_800B034
- thumb_func_end sub_800AFC0
-
- thumb_func_start sub_800B034
-sub_800B034: @ 800B034
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0800B058
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0800B052
- ldr r0, _0800B05C
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_0800B052:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800B058: .4byte 0x0202f388
-_0800B05C: .4byte c2_load_new_map_2
- thumb_func_end sub_800B034
-
- thumb_func_start new_game_prof_birch_speech_part2_start
-new_game_prof_birch_speech_part2_start: @ 800B060
- push {r4,r5,lr}
- sub sp, 0xC
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 19
- movs r4, 0
- strh r4, [r0]
- adds r0, 0xC
- strh r4, [r0]
- subs r0, 0x2
- strh r4, [r0]
- subs r0, 0x2
- strh r4, [r0]
- adds r0, 0x10
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- subs r0, 0x6
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- subs r0, 0x6
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- add r0, sp, 0x4
- strh r4, [r0]
- ldr r1, _0800B13C
- str r0, [r1]
- movs r4, 0xC0
- lsls r4, 19
- str r4, [r1, 0x4]
- ldr r0, _0800B140
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r2, 0
- str r2, [sp, 0x8]
- add r0, sp, 0x8
- str r0, [r1]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _0800B144
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add r0, sp, 0x4
- strh r2, [r0]
- str r0, [r1]
- movs r0, 0xA0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _0800B148
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- bl ResetPaletteFade
- ldr r0, _0800B14C
- adds r1, r4, 0
- bl LZ77UnCompVram
- ldr r0, _0800B150
- ldr r1, _0800B154
- bl LZ77UnCompVram
- ldr r0, _0800B158
- movs r1, 0
- movs r2, 0x40
- bl LoadPalette
- bl ResetTasks
- ldr r0, _0800B15C
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _0800B160
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldr r0, _0800B164
- strh r0, [r4, 0x10]
- bl remove_some_task
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- adds r0, r5, 0
- bl AddBirchSpeechObjects
- ldr r0, _0800B168
- bl SetUpWindowConfig
- ldr r0, _0800B16C
- bl sub_8071C4C
- ldr r0, _0800B170
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- beq _0800B174
- movs r0, 0x1
- strh r0, [r4, 0x14]
- ldrb r3, [r4, 0x1E]
- b _0800B178
- .align 2, 0
-_0800B13C: .4byte 0x040000d4
-_0800B140: .4byte 0x8100c000
-_0800B144: .4byte 0x85000100
-_0800B148: .4byte 0x81000200
-_0800B14C: .4byte gUnknown_081E768C
-_0800B150: .4byte gUnknown_081E7834
-_0800B154: .4byte 0x06003800
-_0800B158: .4byte gUnknown_081E764C
-_0800B15C: .4byte task_new_game_prof_birch_speech_part2_1
-_0800B160: .4byte 0x03004b20
-_0800B164: .4byte 0x0000ffc4
-_0800B168: .4byte gWindowConfig_81E6C3C
-_0800B16C: .4byte gWindowConfig_81E6CE4
-_0800B170: .4byte gSaveBlock2
-_0800B174:
- strh r0, [r4, 0x14]
- ldrb r3, [r4, 0x1C]
-_0800B178:
- ldr r0, _0800B210
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- adds r1, r0
- movs r4, 0
- movs r0, 0xB4
- strh r0, [r1, 0x20]
- movs r0, 0x3C
- strh r0, [r1, 0x22]
- adds r1, 0x3E
- ldrb r2, [r1]
- subs r0, 0x41
- ands r0, r2
- strb r0, [r1]
- ldr r1, _0800B214
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r3, [r0, 0xC]
- ldr r1, _0800B218
- ldr r2, _0800B21C
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _0800B220
- strh r4, [r0]
- adds r0, 0x4
- strh r4, [r0]
- adds r0, 0x4
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- adds r0, 0x6
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- ldr r3, _0800B224
- ldrh r2, [r3]
- strh r4, [r3]
- ldr r4, _0800B228
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r0, _0800B22C
- bl SetVBlankCallback
- ldr r0, _0800B230
- bl SetMainCallback2
- ldr r1, _0800B234
- ldr r2, _0800B238
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xA
- movs r2, 0x9A
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800B210: .4byte 0x02020004
-_0800B214: .4byte 0x03004b20
-_0800B218: .4byte REG_BG1HOFS
-_0800B21C: .4byte 0x0000ffc4
-_0800B220: .4byte REG_WIN0H
-_0800B224: .4byte 0x04000208
-_0800B228: .4byte 0x04000200
-_0800B22C: .4byte VBlankCB_MainMenu
-_0800B230: .4byte CB2_MainMenu
-_0800B234: .4byte REG_BG1CNT
-_0800B238: .4byte 0x00000703
- thumb_func_end new_game_prof_birch_speech_part2_start
-
- thumb_func_start nullsub_34
-nullsub_34: @ 800B23C
- bx lr
- thumb_func_end nullsub_34
-
- thumb_func_start sub_800B240
-sub_800B240: @ 800B240
- movs r2, 0x22
- ldrsh r1, [r0, r2]
- lsls r1, 16
- movs r3, 0x2E
- ldrsh r2, [r0, r3]
- adds r1, r2
- movs r2, 0xC0
- lsls r2, 8
- adds r1, r2
- lsrs r2, r1, 16
- strh r2, [r0, 0x22]
- strh r1, [r0, 0x2E]
- bx lr
- thumb_func_end sub_800B240
-
- thumb_func_start sub_800B25C
-sub_800B25C: @ 800B25C
- push {r4-r6,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r6, r1, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- ldr r0, _0800B2B8
- ldr r2, _0800B2BC
- movs r3, 0xAF
- lsls r3, 3
- adds r1, r2, r3
- ldrb r1, [r1]
- adds r3, 0x1
- adds r2, r3
- ldrb r2, [r2]
- ldr r4, _0800B2C0
- ldr r3, [r4]
- ldr r4, [r4, 0x4]
- str r4, [sp]
- movs r4, 0xAF
- lsls r4, 1
- str r4, [sp, 0x4]
- bl DecompressPicFromTable_2
- ldr r0, _0800B2C4
- bl LoadCompressedObjectPalette
- adds r0, r4, 0
- movs r1, 0x1
- bl gpu_pal_obj_decompress_and_apply
- ldr r0, _0800B2C8
- adds r1, r5, 0
- adds r2, r6, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0800B2B8: .4byte gMonFrontPicTable + 0xAF0
-_0800B2BC: .4byte gMonFrontPicCoords
-_0800B2C0: .4byte gUnknown_081FAF4C
-_0800B2C4: .4byte gMonPaletteTable + 0xAF0
-_0800B2C8: .4byte 0x02024e8c
- thumb_func_end sub_800B25C
-
- thumb_func_start AddBirchSpeechObjects
-AddBirchSpeechObjects: @ 800B2CC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x88
- movs r1, 0x3C
- movs r2, 0x1
- bl AddNewGameBirchObject
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800B3DC
- mov r9, r1
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- movs r3, 0x1C
- add r3, r9
- mov r8, r3
- adds r1, r2, r3
- ldr r7, _0800B3E0
- str r7, [r1]
- add r2, r9
- ldrb r3, [r2, 0x5]
- movs r6, 0xD
- negs r6, r6
- adds r1, r6, 0
- ands r1, r3
- strb r1, [r2, 0x5]
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r3, 0x4
- mov r10, r3
- mov r3, r10
- orrs r1, r3
- strb r1, [r2]
- ldr r1, _0800B3E4
- lsls r5, r4, 2
- adds r5, r4
- lsls r5, 3
- adds r5, r1
- strh r0, [r5, 0x18]
- movs r0, 0x68
- movs r1, 0x48
- bl sub_800B25C
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- mov r4, r8
- adds r1, r2, r4
- str r7, [r1]
- add r2, r9
- ldrb r3, [r2, 0x5]
- adds r1, r6, 0
- ands r1, r3
- strb r1, [r2, 0x5]
- adds r2, 0x3E
- ldrb r1, [r2]
- mov r3, r10
- orrs r1, r3
- strb r1, [r2]
- strh r0, [r5, 0x1A]
- ldr r4, _0800B3E8
- str r4, [sp]
- movs r0, 0
- movs r1, 0x78
- movs r2, 0x3C
- movs r3, 0
- bl sub_80859BC
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- mov r3, r8
- adds r1, r2, r3
- str r7, [r1]
- add r2, r9
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- mov r4, r10
- orrs r1, r4
- strb r1, [r3]
- ldrb r3, [r2, 0x5]
- adds r1, r6, 0
- ands r1, r3
- strb r1, [r2, 0x5]
- strh r0, [r5, 0x1C]
- ldr r0, _0800B3E8
- movs r1, 0x80
- lsls r1, 4
- adds r4, r0, r1
- str r4, [sp]
- movs r0, 0x1
- movs r1, 0x78
- movs r2, 0x3C
- movs r3, 0
- bl sub_80859BC
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- add r8, r2
- mov r3, r8
- str r7, [r3]
- add r2, r9
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- mov r4, r10
- orrs r1, r4
- strb r1, [r3]
- ldrb r1, [r2, 0x5]
- ands r6, r1
- strb r6, [r2, 0x5]
- strh r0, [r5, 0x1E]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800B3DC: .4byte 0x02020004
-_0800B3E0: .4byte nullsub_34
-_0800B3E4: .4byte 0x03004b20
-_0800B3E8: .4byte 0x02000000
- thumb_func_end AddBirchSpeechObjects
-
- thumb_func_start sub_800B3EC
-sub_800B3EC: @ 800B3EC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r4, _0800B420
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r3, r0, r4
- ldrh r1, [r3, 0xA]
- movs r5, 0xA
- ldrsh r0, [r3, r5]
- cmp r0, 0
- bne _0800B424
- movs r1, 0x8
- ldrsh r0, [r3, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- movs r0, 0x1
- strh r0, [r1, 0x12]
- adds r0, r2, 0
- bl DestroyTask
- b _0800B44E
- .align 2, 0
-_0800B420: .4byte 0x03004b20
-_0800B424:
- ldrh r2, [r3, 0x10]
- movs r4, 0x10
- ldrsh r0, [r3, r4]
- cmp r0, 0
- beq _0800B434
- subs r0, r2, 0x1
- strh r0, [r3, 0x10]
- b _0800B44E
-_0800B434:
- ldrh r0, [r3, 0xE]
- strh r0, [r3, 0x10]
- subs r1, 0x1
- strh r1, [r3, 0xA]
- ldrh r0, [r3, 0xC]
- adds r0, 0x1
- strh r0, [r3, 0xC]
- ldr r2, _0800B454
- movs r5, 0xC
- ldrsh r0, [r3, r5]
- lsls r0, 8
- adds r1, r0
- strh r1, [r2]
-_0800B44E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800B454: .4byte REG_BLDALPHA
- thumb_func_end sub_800B3EC
-
- thumb_func_start sub_800B458
-sub_800B458: @ 800B458
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r1, _0800B4BC
- movs r2, 0x94
- lsls r2, 2
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x10
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0
- strh r0, [r1]
- ldr r0, _0800B4C0
- mov r8, r0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- add r0, r8
- movs r6, 0
- strh r6, [r0, 0x12]
- ldr r0, _0800B4C4
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- add r1, r8
- strh r4, [r1, 0x8]
- movs r0, 0x10
- strh r0, [r1, 0xA]
- strh r6, [r1, 0xC]
- strh r5, [r1, 0xE]
- strh r5, [r1, 0x10]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0800B4BC: .4byte REG_BLDCNT
-_0800B4C0: .4byte 0x03004b20
-_0800B4C4: .4byte sub_800B3EC
- thumb_func_end sub_800B458
-
- thumb_func_start sub_800B4C8
-sub_800B4C8: @ 800B4C8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r4, _0800B4FC
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r3, r0, r4
- ldrh r1, [r3, 0xA]
- movs r5, 0xA
- ldrsh r0, [r3, r5]
- cmp r0, 0x10
- bne _0800B500
- movs r1, 0x8
- ldrsh r0, [r3, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- movs r0, 0x1
- strh r0, [r1, 0x12]
- adds r0, r2, 0
- bl DestroyTask
- b _0800B52A
- .align 2, 0
-_0800B4FC: .4byte 0x03004b20
-_0800B500:
- ldrh r2, [r3, 0x10]
- movs r4, 0x10
- ldrsh r0, [r3, r4]
- cmp r0, 0
- beq _0800B510
- subs r0, r2, 0x1
- strh r0, [r3, 0x10]
- b _0800B52A
-_0800B510:
- ldrh r0, [r3, 0xE]
- strh r0, [r3, 0x10]
- adds r1, 0x1
- strh r1, [r3, 0xA]
- ldrh r0, [r3, 0xC]
- subs r0, 0x1
- strh r0, [r3, 0xC]
- ldr r2, _0800B530
- movs r5, 0xC
- ldrsh r0, [r3, r5]
- lsls r0, 8
- adds r1, r0
- strh r1, [r2]
-_0800B52A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800B530: .4byte REG_BLDALPHA
- thumb_func_end sub_800B4C8
-
- thumb_func_start sub_800B534
-sub_800B534: @ 800B534
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r1, _0800B59C
- movs r2, 0x94
- lsls r2, 2
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r2, 0x80
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0
- strh r0, [r1]
- ldr r0, _0800B5A0
- mov r8, r0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- add r0, r8
- movs r6, 0
- strh r6, [r0, 0x12]
- ldr r0, _0800B5A4
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- add r1, r8
- strh r4, [r1, 0x8]
- strh r6, [r1, 0xA]
- movs r0, 0x10
- strh r0, [r1, 0xC]
- strh r5, [r1, 0xE]
- strh r5, [r1, 0x10]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0800B59C: .4byte REG_BLDCNT
-_0800B5A0: .4byte 0x03004b20
-_0800B5A4: .4byte sub_800B4C8
- thumb_func_end sub_800B534
-
- thumb_func_start sub_800B5A8
-sub_800B5A8: @ 800B5A8
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _0800B5C8
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0, r1
- ldrh r3, [r1, 0xC]
- movs r4, 0xC
- ldrsh r0, [r1, r4]
- cmp r0, 0
- beq _0800B5CC
- subs r0, r3, 0x1
- strh r0, [r1, 0xC]
- b _0800B608
- .align 2, 0
-_0800B5C8: .4byte 0x03004b20
-_0800B5CC:
- ldrh r3, [r1, 0xA]
- movs r4, 0xA
- ldrsh r0, [r1, r4]
- cmp r0, 0x8
- bne _0800B5DE
- adds r0, r2, 0
- bl DestroyTask
- b _0800B608
-_0800B5DE:
- ldrh r2, [r1, 0x10]
- movs r4, 0x10
- ldrsh r0, [r1, r4]
- cmp r0, 0
- beq _0800B5EE
- subs r0, r2, 0x1
- strh r0, [r1, 0x10]
- b _0800B608
-_0800B5EE:
- ldrh r0, [r1, 0xE]
- strh r0, [r1, 0x10]
- adds r0, r3, 0x1
- strh r0, [r1, 0xA]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- lsls r0, 1
- ldr r1, _0800B610
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x10
- bl LoadPalette
-_0800B608:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800B610: .4byte gUnknown_081E795C
- thumb_func_end sub_800B5A8
-
- thumb_func_start sub_800B614
-sub_800B614: @ 800B614
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _0800B64C
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0800B650
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r4, [r1, 0x8]
- strh r0, [r1, 0xA]
- movs r0, 0x8
- strh r0, [r1, 0xC]
- strh r5, [r1, 0xE]
- strh r5, [r1, 0x10]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800B64C: .4byte sub_800B5A8
-_0800B650: .4byte 0x03004b20
- thumb_func_end sub_800B614
-
- thumb_func_start sub_800B654
-sub_800B654: @ 800B654
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _0800B674
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0, r1
- ldrh r3, [r1, 0xC]
- movs r4, 0xC
- ldrsh r0, [r1, r4]
- cmp r0, 0
- beq _0800B678
- subs r0, r3, 0x1
- strh r0, [r1, 0xC]
- b _0800B6B4
- .align 2, 0
-_0800B674: .4byte 0x03004b20
-_0800B678:
- ldrh r3, [r1, 0xA]
- movs r4, 0xA
- ldrsh r0, [r1, r4]
- cmp r0, 0
- bne _0800B68A
- adds r0, r2, 0
- bl DestroyTask
- b _0800B6B4
-_0800B68A:
- ldrh r2, [r1, 0x10]
- movs r4, 0x10
- ldrsh r0, [r1, r4]
- cmp r0, 0
- beq _0800B69A
- subs r0, r2, 0x1
- strh r0, [r1, 0x10]
- b _0800B6B4
-_0800B69A:
- ldrh r0, [r1, 0xE]
- strh r0, [r1, 0x10]
- subs r0, r3, 0x1
- strh r0, [r1, 0xA]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- lsls r0, 1
- ldr r1, _0800B6BC
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x10
- bl LoadPalette
-_0800B6B4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800B6BC: .4byte gUnknown_081E795C
- thumb_func_end sub_800B654
-
- thumb_func_start sub_800B6C0
-sub_800B6C0: @ 800B6C0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _0800B6F8
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0800B6FC
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- movs r0, 0x8
- strh r0, [r1, 0xA]
- strh r0, [r1, 0xC]
- strh r5, [r1, 0xE]
- strh r5, [r1, 0x10]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800B6F8: .4byte sub_800B654
-_0800B6FC: .4byte 0x03004b20
- thumb_func_end sub_800B6C0
-
- thumb_func_start CreateGenderMenu
-CreateGenderMenu: @ 800B700
- push {r4,r5,lr}
- sub sp, 0x8
- adds r2, r0, 0
- adds r3, r1, 0
- lsls r2, 24
- lsls r3, 24
- lsrs r5, r2, 24
- movs r0, 0xC0
- lsls r0, 19
- adds r2, r0
- lsrs r2, 24
- lsrs r4, r3, 24
- movs r0, 0xA0
- lsls r0, 19
- adds r3, r0
- lsrs r3, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl DrawDefaultWindow
- adds r5, 0x1
- lsls r5, 24
- lsrs r5, 24
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- ldr r3, _0800B75C
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x2
- bl PrintStringArray
- movs r0, 0
- str r0, [sp]
- movs r0, 0x5
- str r0, [sp, 0x4]
- movs r0, 0
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0x2
- bl InitMenu
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800B75C: .4byte gUnknown_081E79B0
- thumb_func_end CreateGenderMenu
-
- thumb_func_start GenderMenuProcessInput
-GenderMenuProcessInput: @ 800B760
- push {lr}
- bl ProcessMenuInputNoWrap
- lsls r0, 24
- asrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end GenderMenuProcessInput
-
- thumb_func_start CreateNameMenu
-CreateNameMenu: @ 800B770
- push {r4,r5,lr}
- sub sp, 0x8
- adds r2, r0, 0
- adds r3, r1, 0
- lsls r2, 24
- lsls r3, 24
- lsrs r5, r2, 24
- movs r0, 0xA0
- lsls r0, 20
- adds r2, r0
- lsrs r2, 24
- lsrs r4, r3, 24
- movs r0, 0xB0
- lsls r0, 20
- adds r3, r0
- lsrs r3, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl DrawDefaultWindow
- ldr r0, _0800B7B8
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _0800B7C0
- adds r5, 0x1
- lsls r0, r5, 24
- lsrs r0, 24
- adds r4, 0x1
- lsls r1, r4, 24
- lsrs r1, 24
- ldr r3, _0800B7BC
- movs r2, 0x5
- bl PrintStringArray
- b _0800B7D4
- .align 2, 0
-_0800B7B8: .4byte gSaveBlock2
-_0800B7BC: .4byte gUnknown_081E79C0
-_0800B7C0:
- adds r5, 0x1
- lsls r0, r5, 24
- lsrs r0, 24
- adds r4, 0x1
- lsls r1, r4, 24
- lsrs r1, 24
- ldr r3, _0800B7F4
- movs r2, 0x5
- bl PrintStringArray
-_0800B7D4:
- lsls r1, r5, 24
- lsrs r1, 24
- lsls r2, r4, 24
- lsrs r2, 24
- movs r0, 0
- str r0, [sp]
- movs r0, 0x9
- str r0, [sp, 0x4]
- movs r0, 0
- movs r3, 0x5
- bl InitMenu
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800B7F4: .4byte gUnknown_081E79E8
- thumb_func_end CreateNameMenu
-
- thumb_func_start NameMenuProcessInput
-NameMenuProcessInput: @ 800B7F8
- push {lr}
- bl ProcessMenuInput
- lsls r0, 24
- asrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end NameMenuProcessInput
-
- thumb_func_start set_default_player_name
-set_default_player_name: @ 800B808
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0800B81C
- ldrb r1, [r0, 0x8]
- adds r5, r0, 0
- cmp r1, 0
- bne _0800B824
- ldr r1, _0800B820
- b _0800B826
- .align 2, 0
-_0800B81C: .4byte gSaveBlock2
-_0800B820: .4byte gUnknown_081E79C0
-_0800B824:
- ldr r1, _0800B850
-_0800B826:
- lsls r0, r2, 3
- adds r0, r1
- ldr r3, [r0]
- movs r2, 0
- ldr r4, _0800B854
-_0800B830:
- adds r1, r2, r4
- adds r0, r3, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x6
- bls _0800B830
- adds r1, r2, r5
- movs r0, 0xFF
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800B850: .4byte gUnknown_081E79E8
-_0800B854: .4byte gSaveBlock2
- thumb_func_end set_default_player_name
-
thumb_func_start sub_800B858
sub_800B858: @ 800B858
push {lr}