summaryrefslogtreecommitdiff
path: root/asm/battle_controller_safari.s
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2017-09-04 12:22:04 +0200
committerDizzyEggg <jajkodizzy@wp.pl>2017-09-04 12:22:04 +0200
commit75a94ce58eb0b067bcfab9d3084e7d70782f8e90 (patch)
treea69c6bfa460491eafa894834912d3c7131476709 /asm/battle_controller_safari.s
parent7ea0d462c49360351006f246f0a300aaa765a843 (diff)
split and label
Diffstat (limited to 'asm/battle_controller_safari.s')
-rw-r--r--asm/battle_controller_safari.s1412
1 files changed, 1412 insertions, 0 deletions
diff --git a/asm/battle_controller_safari.s b/asm/battle_controller_safari.s
new file mode 100644
index 000000000..dbd0cd1f1
--- /dev/null
+++ b/asm/battle_controller_safari.s
@@ -0,0 +1,1412 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+
+ thumb_func_start nullsub_114
+nullsub_114: @ 8159368
+ bx lr
+ thumb_func_end nullsub_114
+
+ thumb_func_start SetBankFuncToSafariBufferRunCommand
+SetBankFuncToSafariBufferRunCommand: @ 815936C
+ ldr r1, =gBattleBankFunc
+ ldr r0, =gActiveBank
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, =SafariBufferRunCommand
+ str r1, [r0]
+ bx lr
+ .pool
+ thumb_func_end SetBankFuncToSafariBufferRunCommand
+
+ thumb_func_start SafariBufferRunCommand
+SafariBufferRunCommand: @ 8159388
+ push {lr}
+ ldr r2, =gBattleExecBuffer
+ ldr r1, =gBitTable
+ ldr r0, =gActiveBank
+ ldrb r3, [r0]
+ lsls r0, r3, 2
+ adds r0, r1
+ ldr r1, [r2]
+ ldr r0, [r0]
+ ands r1, r0
+ cmp r1, 0
+ beq _081593D4
+ ldr r0, =gBattleBufferA
+ lsls r1, r3, 9
+ adds r1, r0
+ ldrb r0, [r1]
+ cmp r0, 0x38
+ bhi _081593D0
+ ldr r0, =gSafariBufferCommands
+ ldrb r1, [r1]
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, [r1]
+ bl _call_via_r0
+ b _081593D4
+ .pool
+_081593D0:
+ bl SafariBufferExecCompleted
+_081593D4:
+ pop {r0}
+ bx r0
+ thumb_func_end SafariBufferRunCommand
+
+ thumb_func_start bx_battle_menu_t6_2
+bx_battle_menu_t6_2: @ 81593D8
+ push {r4,r5,lr}
+ ldr r0, =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r2, 0x1
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08159446
+ movs r0, 0x5
+ bl PlaySE
+ ldr r1, =gUnknown_020244AC
+ ldr r0, =gActiveBank
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _08159424
+ cmp r0, 0x1
+ bgt _08159414
+ cmp r0, 0
+ beq _0815941E
+ b _08159440
+ .pool
+_08159414:
+ cmp r0, 0x2
+ beq _0815942A
+ cmp r0, 0x3
+ beq _08159436
+ b _08159440
+_0815941E:
+ movs r0, 0x1
+ movs r1, 0x5
+ b _0815942E
+_08159424:
+ movs r0, 0x1
+ movs r1, 0x6
+ b _0815942E
+_0815942A:
+ movs r0, 0x1
+ movs r1, 0x7
+_0815942E:
+ movs r2, 0
+ bl dp01_build_cmdbuf_x21_a_bb
+ b _08159440
+_08159436:
+ movs r0, 0x1
+ movs r1, 0x8
+ movs r2, 0
+ bl dp01_build_cmdbuf_x21_a_bb
+_08159440:
+ bl SafariBufferExecCompleted
+ b _0815954E
+_08159446:
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _08159484
+ ldr r5, =gUnknown_020244AC
+ ldr r4, =gActiveBank
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r1, [r0]
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0815954E
+ movs r0, 0x5
+ bl PlaySE
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r0, [r0]
+ bl sub_8059CF8
+ ldrb r1, [r4]
+ adds r1, r5
+ ldrb r0, [r1]
+ movs r2, 0x1
+ b _081594F2
+ .pool
+_08159484:
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _081594C0
+ ldr r5, =gUnknown_020244AC
+ ldr r4, =gActiveBank
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r1, [r0]
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _0815954E
+ movs r0, 0x5
+ bl PlaySE
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r0, [r0]
+ bl sub_8059CF8
+ ldrb r1, [r4]
+ adds r1, r5
+ ldrb r0, [r1]
+ movs r2, 0x1
+ b _081594F2
+ .pool
+_081594C0:
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _0815950C
+ ldr r5, =gUnknown_020244AC
+ ldr r4, =gActiveBank
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0815954E
+ movs r0, 0x5
+ bl PlaySE
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r0, [r0]
+ bl sub_8059CF8
+ ldrb r1, [r4]
+ adds r1, r5
+ ldrb r0, [r1]
+ movs r2, 0x2
+_081594F2:
+ eors r0, r2
+ strb r0, [r1]
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r0, [r0]
+ movs r1, 0
+ bl sub_8059CB4
+ b _0815954E
+ .pool
+_0815950C:
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _0815954E
+ ldr r5, =gUnknown_020244AC
+ ldr r4, =gActiveBank
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _0815954E
+ movs r0, 0x5
+ bl PlaySE
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r0, [r0]
+ bl sub_8059CF8
+ ldrb r1, [r4]
+ adds r1, r5
+ ldrb r0, [r1]
+ movs r2, 0x2
+ eors r0, r2
+ strb r0, [r1]
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r0, [r0]
+ movs r1, 0
+ bl sub_8059CB4
+_0815954E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end bx_battle_menu_t6_2
+
+ thumb_func_start sub_815955C
+sub_815955C: @ 815955C
+ push {lr}
+ ldr r2, =gSprites
+ ldr r1, =gBankSpriteIds
+ ldr r0, =gActiveBank
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r2, 0x1C
+ adds r0, r2
+ ldr r1, [r0]
+ ldr r0, =SpriteCallbackDummy
+ cmp r1, r0
+ bne _08159580
+ bl SafariBufferExecCompleted
+_08159580:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_815955C
+
+ thumb_func_start bx_t6_button_a
+bx_t6_button_a: @ 8159594
+ push {lr}
+ movs r0, 0
+ bl IsTextPrinterActive
+ lsls r0, 16
+ cmp r0, 0
+ bne _081595A6
+ bl SafariBufferExecCompleted
+_081595A6:
+ pop {r0}
+ bx r0
+ thumb_func_end bx_t6_button_a
+
+ thumb_func_start sub_81595AC
+sub_81595AC: @ 81595AC
+ push {lr}
+ ldr r2, =gSprites
+ ldr r1, =gUnknown_03005D70
+ ldr r0, =gActiveBank
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r2, 0x1C
+ adds r0, r2
+ ldr r1, [r0]
+ ldr r0, =SpriteCallbackDummy
+ cmp r1, r0
+ bne _081595D0
+ bl SafariBufferExecCompleted
+_081595D0:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81595AC
+
+ thumb_func_start sub_81595E4
+sub_81595E4: @ 81595E4
+ push {lr}
+ ldr r0, =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _0815960E
+ ldr r2, =gMain
+ ldr r0, =0x00000439
+ adds r3, r2, r0
+ ldrb r1, [r3]
+ movs r0, 0x3
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r3]
+ ldr r0, =gUnknown_03005D00
+ ldr r0, [r0]
+ str r0, [r2]
+ ldr r0, [r2, 0x8]
+ bl SetMainCallback2
+_0815960E:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81595E4
+
+ thumb_func_start bx_wait_t6
+bx_wait_t6: @ 8159624
+ push {lr}
+ ldr r0, =gDoingBattleAnim
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0815964A
+ ldr r0, =gUnknown_020244D0
+ ldr r2, [r0]
+ ldr r0, =gActiveBank
+ ldrb r1, [r0]
+ ldr r2, [r2, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r1, [r0]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ bne _0815964E
+_0815964A:
+ bl SafariBufferExecCompleted
+_0815964E:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end bx_wait_t6
+
+ thumb_func_start sub_8159660
+sub_8159660: @ 8159660
+ push {lr}
+ ldr r0, =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08159684
+ ldr r1, =gBattleBankFunc
+ ldr r0, =gActiveBank
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, =sub_8159698
+ str r1, [r0]
+ bl FreeAllWindowBuffers
+ bl sub_81358F4
+_08159684:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8159660
+
+ thumb_func_start sub_8159698
+sub_8159698: @ 8159698
+ push {lr}
+ ldr r0, =gMain
+ ldr r1, [r0, 0x4]
+ ldr r0, =sub_8038420
+ cmp r1, r0
+ bne _081596BE
+ ldr r0, =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _081596BE
+ ldr r0, =gUnknown_0203CE7C
+ ldrh r1, [r0]
+ movs r0, 0x1
+ bl dp01_build_cmdbuf_x23_aa_0
+ bl SafariBufferExecCompleted
+_081596BE:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8159698
+
+ thumb_func_start sub_81596D4
+sub_81596D4: @ 81596D4
+ push {lr}
+ ldr r0, =gUnknown_020244D0
+ ldr r2, [r0]
+ ldr r0, =gActiveBank
+ ldrb r1, [r0]
+ ldr r2, [r2, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r1, [r0]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ bne _081596F6
+ bl SafariBufferExecCompleted
+_081596F6:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81596D4
+
+ thumb_func_start SafariBufferExecCompleted
+SafariBufferExecCompleted: @ 8159704
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r1, =gBattleBankFunc
+ ldr r4, =gActiveBank
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, =SafariBufferRunCommand
+ str r1, [r0]
+ ldr r0, =gBattleTypeFlags
+ ldr r0, [r0]
+ movs r1, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08159758
+ bl link_get_multiplayer_id
+ mov r1, sp
+ strb r0, [r1]
+ movs r0, 0x2
+ movs r1, 0x4
+ mov r2, sp
+ bl PrepareBufferDataTransferLink
+ ldr r1, =gBattleBufferA
+ ldrb r0, [r4]
+ lsls r0, 9
+ adds r0, r1
+ movs r1, 0x38
+ strb r1, [r0]
+ b _0815976A
+ .pool
+_08159758:
+ ldr r2, =gBattleExecBuffer
+ ldr r1, =gBitTable
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ ldr r0, [r2]
+ bics r0, r1
+ str r0, [r2]
+_0815976A:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end SafariBufferExecCompleted
+
+ thumb_func_start bx_80364D0
+bx_80364D0: @ 815977C
+ push {lr}
+ ldr r0, =gUnknown_020244D0
+ ldr r2, [r0]
+ ldr r0, =gActiveBank
+ ldrb r1, [r0]
+ ldr r2, [r2, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ bne _0815979E
+ bl SafariBufferExecCompleted
+_0815979E:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end bx_80364D0
+
+ thumb_func_start sub_81597AC
+sub_81597AC: @ 81597AC
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81597AC
+
+ thumb_func_start sub_81597B8
+sub_81597B8: @ 81597B8
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81597B8
+
+ thumb_func_start sub_81597C4
+sub_81597C4: @ 81597C4
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81597C4
+
+ thumb_func_start sub_81597D0
+sub_81597D0: @ 81597D0
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81597D0
+
+ thumb_func_start sub_81597DC
+sub_81597DC: @ 81597DC
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81597DC
+
+ thumb_func_start sub_81597E8
+sub_81597E8: @ 81597E8
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81597E8
+
+ thumb_func_start sub_81597F4
+sub_81597F4: @ 81597F4
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81597F4
+
+ thumb_func_start sub_8159800
+sub_8159800: @ 8159800
+ push {r4-r6,lr}
+ ldr r4, =gSaveBlock2Ptr
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x8]
+ ldr r5, =gActiveBank
+ ldrb r1, [r5]
+ bl sub_805DF84
+ ldr r0, [r4]
+ ldrb r6, [r0, 0x8]
+ ldrb r0, [r5]
+ bl GetBankIdentity
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r6, 0
+ bl template_build_for_pokemon_or_trainer
+ ldr r0, =gUnknown_0202499C
+ ldr r2, =gUnknown_08305D2C
+ ldr r1, [r4]
+ ldrb r1, [r1, 0x8]
+ lsls r1, 2
+ adds r1, r2
+ ldrb r1, [r1]
+ movs r2, 0x8
+ subs r2, r1
+ lsls r2, 18
+ movs r1, 0xA0
+ lsls r1, 15
+ adds r2, r1
+ asrs r2, 16
+ movs r1, 0x50
+ movs r3, 0x1E
+ bl CreateSprite
+ ldr r6, =gBankSpriteIds
+ ldrb r1, [r5]
+ adds r1, r6
+ strb r0, [r1]
+ ldr r4, =gSprites
+ ldrb r3, [r5]
+ adds r0, r3, r6
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ lsls r3, 4
+ ldrb r2, [r1, 0x5]
+ movs r0, 0xF
+ ands r0, r2
+ orrs r0, r3
+ strb r0, [r1, 0x5]
+ ldrb r0, [r5]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ movs r1, 0xF0
+ strh r1, [r0, 0x24]
+ ldrb r0, [r5]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldr r1, =0x0000fffe
+ strh r1, [r0, 0x2E]
+ ldrb r0, [r5]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r4, 0x1C
+ adds r0, r4
+ ldr r1, =sub_805D7AC
+ str r1, [r0]
+ ldr r1, =gBattleBankFunc
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, =sub_815955C
+ str r1, [r0]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8159800
+
+ thumb_func_start sub_81598E0
+sub_81598E0: @ 81598E0
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81598E0
+
+ thumb_func_start sub_81598EC
+sub_81598EC: @ 81598EC
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81598EC
+
+ thumb_func_start sub_81598F8
+sub_81598F8: @ 81598F8
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81598F8
+
+ thumb_func_start sub_8159904
+sub_8159904: @ 8159904
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159904
+
+ thumb_func_start sub_8159910
+sub_8159910: @ 8159910
+ push {r4,r5,lr}
+ ldr r0, =gUnknown_020244D0
+ ldr r0, [r0]
+ ldr r1, [r0, 0x8]
+ movs r0, 0x4
+ strb r0, [r1, 0x8]
+ ldr r1, =gDoingBattleAnim
+ movs r0, 0x1
+ strb r0, [r1]
+ ldr r5, =gActiveBank
+ ldrb r4, [r5]
+ movs r0, 0x1
+ bl GetBankByPlayerAI
+ adds r2, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ adds r0, r4, 0
+ adds r1, r4, 0
+ movs r3, 0x4
+ bl move_anim_start_t4
+ ldr r1, =gBattleBankFunc
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, =bx_wait_t6
+ str r1, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8159910
+
+ thumb_func_start sub_8159964
+sub_8159964: @ 8159964
+ push {r4,r5,lr}
+ ldr r1, =gBattleBufferA
+ ldr r5, =gActiveBank
+ ldrb r0, [r5]
+ lsls r0, 9
+ adds r1, 0x1
+ adds r0, r1
+ ldrb r1, [r0]
+ ldr r0, =gUnknown_020244D0
+ ldr r0, [r0]
+ ldr r0, [r0, 0x8]
+ strb r1, [r0, 0x8]
+ ldr r1, =gDoingBattleAnim
+ movs r0, 0x1
+ strb r0, [r1]
+ ldrb r4, [r5]
+ movs r0, 0x1
+ bl GetBankByPlayerAI
+ adds r2, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ adds r0, r4, 0
+ adds r1, r4, 0
+ movs r3, 0x4
+ bl move_anim_start_t4
+ ldr r1, =gBattleBankFunc
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, =bx_wait_t6
+ str r1, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8159964
+
+ thumb_func_start sub_81599C4
+sub_81599C4: @ 81599C4
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81599C4
+
+ thumb_func_start sub_81599D0
+sub_81599D0: @ 81599D0
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81599D0
+
+ thumb_func_start dp01t_10_6_message
+dp01t_10_6_message: @ 81599DC
+ push {r4,lr}
+ ldr r0, =gUnknown_02022E14
+ movs r1, 0
+ strh r1, [r0]
+ ldr r0, =gUnknown_02022E16
+ strh r1, [r0]
+ ldr r4, =gActiveBank
+ ldrb r0, [r4]
+ lsls r0, 9
+ ldr r1, =gUnknown_02023066
+ adds r0, r1
+ ldrh r0, [r0]
+ bl battle_pick_message
+ ldr r0, =gUnknown_02022E2C
+ movs r1, 0
+ bl battle_show_message_maybe
+ ldr r1, =gBattleBankFunc
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, =bx_t6_button_a
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end dp01t_10_6_message
+
+ thumb_func_start dp01t_11_6_message_for_player_only
+dp01t_11_6_message_for_player_only: @ 8159A30
+ push {lr}
+ ldr r0, =gActiveBank
+ ldrb r0, [r0]
+ bl GetBankSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _08159A4C
+ bl dp01t_10_6_message
+ b _08159A50
+ .pool
+_08159A4C:
+ bl SafariBufferExecCompleted
+_08159A50:
+ pop {r0}
+ bx r0
+ thumb_func_end dp01t_11_6_message_for_player_only
+
+ thumb_func_start sub_8159A54
+sub_8159A54: @ 8159A54
+ push {lr}
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ bne _08159A7A
+ ldr r0, =gUnknown_02022E14
+ strh r1, [r0]
+ ldr r1, =gUnknown_02022E16
+ movs r0, 0xA0
+ strh r0, [r1]
+ ldr r1, =gBattleBankFunc
+ ldr r0, =gActiveBank
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, =bx_battle_menu_t6_2
+ str r1, [r0]
+_08159A7A:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8159A54
+
+ thumb_func_start sub_8159A94
+sub_8159A94: @ 8159A94
+ push {r4,lr}
+ ldr r1, =gBattleBankFunc
+ ldr r0, =gActiveBank
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, =sub_8159A54
+ str r1, [r0]
+ ldr r0, =gUnknown_085CCA54
+ movs r1, 0x2
+ bl battle_show_message_maybe
+ movs r4, 0
+_08159AAE:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8059CF8
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _08159AAE
+ ldr r1, =gUnknown_020244AC
+ ldr r0, =gActiveBank
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r1, 0
+ bl sub_8059CB4
+ ldr r0, =gUnknown_085CCA04
+ bl get_battle_strings_
+ ldr r0, =gUnknown_02022E2C
+ movs r1, 0x1
+ bl battle_show_message_maybe
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8159A94
+
+ thumb_func_start sub_8159AFC
+sub_8159AFC: @ 8159AFC
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159AFC
+
+ thumb_func_start sub_8159B08
+sub_8159B08: @ 8159B08
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159B08
+
+ thumb_func_start sub_8159B14
+sub_8159B14: @ 8159B14
+ 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 r1, =gBattleBankFunc
+ ldr r2, =gActiveBank
+ ldrb r0, [r2]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, =sub_8159660
+ str r1, [r0]
+ ldr r1, =gUnknown_020244B8
+ ldrb r0, [r2]
+ strb r0, [r1]
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8159B14
+
+ thumb_func_start sub_8159B54
+sub_8159B54: @ 8159B54
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159B54
+
+ thumb_func_start sub_8159B60
+sub_8159B60: @ 8159B60
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159B60
+
+ thumb_func_start sub_8159B6C
+sub_8159B6C: @ 8159B6C
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159B6C
+
+ thumb_func_start sub_8159B78
+sub_8159B78: @ 8159B78
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159B78
+
+ thumb_func_start sub_8159B84
+sub_8159B84: @ 8159B84
+ push {lr}
+ ldr r0, =gUnknown_03005D70
+ ldr r1, =gActiveBank
+ ldrb r1, [r1]
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ ldr r2, =gBattlePartyID
+ lsls r1, 1
+ adds r1, r2
+ ldrh r2, [r1]
+ movs r1, 0x64
+ muls r1, r2
+ ldr r2, =gPlayerParty
+ adds r1, r2
+ movs r2, 0xB
+ bl healthbar_draw_field_maybe
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8159B84
+
+ thumb_func_start sub_8159BC0
+sub_8159BC0: @ 8159BC0
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159BC0
+
+ thumb_func_start sub_8159BCC
+sub_8159BCC: @ 8159BCC
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159BCC
+
+ thumb_func_start sub_8159BD8
+sub_8159BD8: @ 8159BD8
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159BD8
+
+ thumb_func_start sub_8159BE4
+sub_8159BE4: @ 8159BE4
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159BE4
+
+ thumb_func_start sub_8159BF0
+sub_8159BF0: @ 8159BF0
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159BF0
+
+ thumb_func_start sub_8159BFC
+sub_8159BFC: @ 8159BFC
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159BFC
+
+ thumb_func_start sub_8159C08
+sub_8159C08: @ 8159C08
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159C08
+
+ thumb_func_start sub_8159C14
+sub_8159C14: @ 8159C14
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159C14
+
+ thumb_func_start sub_8159C20
+sub_8159C20: @ 8159C20
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159C20
+
+ thumb_func_start sub_8159C2C
+sub_8159C2C: @ 8159C2C
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159C2C
+
+ thumb_func_start sub_8159C38
+sub_8159C38: @ 8159C38
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159C38
+
+ thumb_func_start sub_8159C44
+sub_8159C44: @ 8159C44
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159C44
+
+ thumb_func_start sub_8159C50
+sub_8159C50: @ 8159C50
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159C50
+
+ thumb_func_start sub_8159C5C
+sub_8159C5C: @ 8159C5C
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159C5C
+
+ thumb_func_start sub_8159C68
+sub_8159C68: @ 8159C68
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159C68
+
+ thumb_func_start sub_8159C74
+sub_8159C74: @ 8159C74
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159C74
+
+ thumb_func_start sub_8159C80
+sub_8159C80: @ 8159C80
+ push {r4,lr}
+ ldr r4, =gActiveBank
+ ldrb r0, [r4]
+ bl GetBankSide
+ lsls r0, 24
+ movs r3, 0x3F
+ cmp r0, 0
+ bne _08159C94
+ movs r3, 0xC0
+_08159C94:
+ ldr r2, =gBattleBufferA
+ ldrb r1, [r4]
+ lsls r1, 9
+ adds r0, r2, 0x1
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ adds r2, 0x2
+ adds r1, r2
+ ldrb r1, [r1]
+ lsls r1, 8
+ orrs r0, r1
+ lsls r1, r3, 24
+ asrs r1, 24
+ bl PlaySE12WithPanning
+ bl SafariBufferExecCompleted
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8159C80
+
+ thumb_func_start dp01t_34_6_move_anim_start_t3
+dp01t_34_6_move_anim_start_t3: @ 8159CC4
+ push {r4,r5,lr}
+ ldr r4, =gBattleBufferA
+ ldr r5, =gActiveBank
+ ldrb r0, [r5]
+ lsls r3, r0, 9
+ adds r0, r4, 0x3
+ adds r0, r3, r0
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08159D00
+ bl sub_805EA60
+ ldrb r1, [r5]
+ lsls r1, 9
+ adds r0, r4, 0x1
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ adds r2, r4, 0x2
+ adds r1, r2
+ ldrb r1, [r1]
+ lsls r1, 8
+ orrs r0, r1
+ bl PlayBGM
+ b _08159D14
+ .pool
+_08159D00:
+ adds r0, r4, 0x1
+ adds r0, r3, r0
+ ldrb r0, [r0]
+ adds r1, r4, 0x2
+ adds r1, r3, r1
+ ldrb r1, [r1]
+ lsls r1, 8
+ orrs r0, r1
+ bl PlayFanfare
+_08159D14:
+ bl SafariBufferExecCompleted
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end dp01t_34_6_move_anim_start_t3
+
+ thumb_func_start sub_8159D20
+sub_8159D20: @ 8159D20
+ push {lr}
+ ldr r1, =gBattlePartyID
+ ldr r0, =gActiveBank
+ ldrb r0, [r0]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =gPlayerParty
+ adds r0, r1
+ movs r1, 0xB
+ bl GetMonData
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x19
+ bl PlayCry1
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8159D20
+
+ thumb_func_start dp01t_2E_6_battle_intro
+dp01t_2E_6_battle_intro: @ 8159D5C
+ push {lr}
+ ldr r1, =gBattleBufferA
+ ldr r0, =gActiveBank
+ ldrb r0, [r0]
+ lsls r0, 9
+ adds r1, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ bl battle_intro_launch
+ ldr r2, =gUnknown_020243FC
+ ldrh r0, [r2]
+ movs r1, 0x1
+ orrs r0, r1
+ strh r0, [r2]
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end dp01t_2E_6_battle_intro
+
+ thumb_func_start sub_8159D90
+sub_8159D90: @ 8159D90
+ push {r4,r5,lr}
+ ldr r5, =gUnknown_03005D70
+ ldr r4, =gActiveBank
+ ldrb r1, [r4]
+ adds r0, r1, r5
+ ldrb r0, [r0]
+ ldr r2, =gBattlePartyID
+ lsls r1, 1
+ adds r1, r2
+ ldrh r2, [r1]
+ movs r1, 0x64
+ muls r1, r2
+ ldr r2, =gPlayerParty
+ adds r1, r2
+ movs r2, 0xA
+ bl healthbar_draw_field_maybe
+ ldrb r0, [r4]
+ bl sub_8076918
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r0, [r0]
+ bl sub_80729D0
+ ldr r1, =gBattleBankFunc
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, =sub_81595AC
+ str r1, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8159D90
+
+ thumb_func_start sub_8159DEC
+sub_8159DEC: @ 8159DEC
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159DEC
+
+ thumb_func_start sub_8159DF8
+sub_8159DF8: @ 8159DF8
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159DF8
+
+ thumb_func_start sub_8159E04
+sub_8159E04: @ 8159E04
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159E04
+
+ thumb_func_start sub_8159E10
+sub_8159E10: @ 8159E10
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159E10
+
+ thumb_func_start sub_8159E1C
+sub_8159E1C: @ 8159E1C
+ push {r4-r6,lr}
+ sub sp, 0x4
+ ldr r5, =gBattleBufferA
+ ldr r6, =gActiveBank
+ ldrb r2, [r6]
+ lsls r1, r2, 9
+ adds r0, r5, 0x1
+ adds r0, r1, r0
+ ldrb r3, [r0]
+ adds r0, r5, 0x2
+ adds r0, r1, r0
+ ldrb r4, [r0]
+ adds r5, 0x3
+ adds r1, r5
+ ldrb r0, [r1]
+ lsls r0, 8
+ orrs r4, r0
+ str r4, [sp]
+ adds r0, r2, 0
+ adds r1, r2, 0
+ bl move_anim_start_t3
+ lsls r0, 24
+ cmp r0, 0
+ beq _08159E5C
+ bl SafariBufferExecCompleted
+ b _08159E68
+ .pool
+_08159E5C:
+ ldr r0, =gBattleBankFunc
+ ldrb r1, [r6]
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, =sub_81596D4
+ str r0, [r1]
+_08159E68:
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8159E1C
+
+ thumb_func_start sub_8159E78
+sub_8159E78: @ 8159E78
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159E78
+
+ thumb_func_start sub_8159E84
+sub_8159E84: @ 8159E84
+ push {lr}
+ bl SafariBufferExecCompleted
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8159E84
+
+ thumb_func_start sub_8159E90
+sub_8159E90: @ 8159E90
+ push {r4,lr}
+ ldr r2, =gBattleOutcome
+ ldr r1, =gBattleBufferA
+ ldr r4, =gActiveBank
+ ldrb r0, [r4]
+ lsls r0, 9
+ adds r1, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ strb r0, [r2]
+ movs r0, 0x5
+ bl FadeOutMapMusic
+ movs r0, 0x3
+ bl BeginFastPaletteFade
+ bl SafariBufferExecCompleted
+ ldr r0, =gBattleTypeFlags
+ ldr r0, [r0]
+ movs r1, 0x6
+ ands r0, r1
+ cmp r0, 0x2
+ bne _08159ECC
+ ldr r0, =gBattleBankFunc
+ ldrb r1, [r4]
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, =sub_81595E4
+ str r0, [r1]
+_08159ECC:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8159E90
+
+ thumb_func_start nullsub_115
+nullsub_115: @ 8159EEC
+ bx lr
+ thumb_func_end nullsub_115
+
+
+ .align 2, 0 @ Don't pad with nop.