summaryrefslogtreecommitdiff
path: root/asm/battle_controller_player.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/battle_controller_player.s')
-rw-r--r--asm/battle_controller_player.s10419
1 files changed, 0 insertions, 10419 deletions
diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s
deleted file mode 100644
index 10b675714..000000000
--- a/asm/battle_controller_player.s
+++ /dev/null
@@ -1,10419 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start nullsub_21
-nullsub_21: @ 8057458
- bx lr
- thumb_func_end nullsub_21
-
- thumb_func_start SetBankFuncToPlayerBufferRunCommand
-SetBankFuncToPlayerBufferRunCommand: @ 805745C
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =PlayerBufferRunCommand
- str r1, [r0]
- ldr r0, =gDoingBattleAnim
- movs r1, 0
- strb r1, [r0]
- ldr r0, =gUnknown_020244CC
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end SetBankFuncToPlayerBufferRunCommand
-
- thumb_func_start PlayerBufferExecCompleted
-PlayerBufferExecCompleted: @ 805748C
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gBattleBankFunc
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =PlayerBufferRunCommand
- str r1, [r0]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080574E0
- bl GetMultiplayerId
- 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 _080574F2
- .pool
-_080574E0:
- 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]
-_080574F2:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end PlayerBufferExecCompleted
-
- thumb_func_start PlayerBufferRunCommand
-PlayerBufferRunCommand: @ 8057504
- 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 _08057550
- ldr r0, =gBattleBufferA
- lsls r1, r3, 9
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x38
- bhi _0805754C
- ldr r0, =gPlayerBufferCommands
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- bl _call_via_r0
- b _08057550
- .pool
-_0805754C:
- bl PlayerBufferExecCompleted
-_08057550:
- pop {r0}
- bx r0
- thumb_func_end PlayerBufferRunCommand
-
- thumb_func_start bx_0802E404
-bx_0802E404: @ 8057554
- 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 r0, r2
- movs r1, 0x24
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08057576
- bl PlayerBufferExecCompleted
-_08057576:
- pop {r0}
- bx r0
- .pool
- thumb_func_end bx_0802E404
-
- thumb_func_start sub_8057588
-sub_8057588: @ 8057588
- push {r4-r7,lr}
- ldr r3, =gBattleBufferA
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- lsls r2, r0, 9
- adds r1, r3, 0x2
- adds r1, r2, r1
- ldrb r5, [r1]
- adds r3, 0x3
- adds r2, r3
- ldrb r1, [r2]
- lsls r1, 8
- orrs r5, r1
- movs r1, 0x1
- movs r2, 0x7
- movs r3, 0x1
- bl dp11b_obj_instanciate
- ldrb r0, [r4]
- movs r1, 0
- movs r2, 0x7
- movs r3, 0x1
- bl dp11b_obj_instanciate
- ldr r0, =gMain
- ldrh r1, [r0, 0x30]
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0
- beq _080575EC
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x2
- bne _080575EC
- ldr r1, =gUnknown_020244CC
- ldrb r0, [r1]
- adds r0, 0x1
- b _080575F0
- .pool
-_080575EC:
- ldr r1, =gUnknown_020244CC
- movs r0, 0
-_080575F0:
- strb r0, [r1]
- ldr r0, =gMain
- ldrh r2, [r0, 0x2E]
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r2
- cmp r0, 0
- beq _08057658
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gActionSelectionCursor
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08057640
- cmp r0, 0x1
- bgt _08057630
- cmp r0, 0
- beq _0805763A
- b _080577C2
- .pool
-_08057630:
- cmp r0, 0x2
- beq _08057646
- cmp r0, 0x3
- beq _0805764C
- b _080577C2
-_0805763A:
- movs r0, 0x1
- movs r1, 0
- b _080577BC
-_08057640:
- movs r0, 0x1
- movs r1, 0x1
- b _080577BC
-_08057646:
- movs r0, 0x1
- movs r1, 0x2
- b _080577BC
-_0805764C:
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- bl EmitCmd33
- b _080577C2
-_08057658:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _08057698
- ldr r5, =gActionSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _08057674
- b _080577E8
-_08057674:
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ActionSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x1
- b _08057732
- .pool
-_08057698:
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _080576D8
- ldr r5, =gActionSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080576B4
- b _080577E8
-_080576B4:
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ActionSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x1
- b _08057732
- .pool
-_080576D8:
- movs r7, 0x40
- adds r0, r7, 0
- ands r0, r2
- cmp r0, 0
- beq _08057700
- ldr r5, =gActionSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080577E8
- b _0805771A
- .pool
-_08057700:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _0805774C
- ldr r5, =gActionSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080577E8
-_0805771A:
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ActionSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x2
-_08057732:
- eors r0, r2
- strb r0, [r1]
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl ActionSelectionCreateCursorAt
- b _080577E8
- .pool
-_0805774C:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- bne _0805775A
- ldrb r0, [r1]
- cmp r0, 0x3B
- bls _080577DC
-_0805775A:
- ldr r4, =gBattleTypeFlags
- ldr r0, [r4]
- ands r0, r3
- cmp r0, 0
- beq _080577E8
- ldr r6, =gActiveBank
- ldrb r0, [r6]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080577E8
- movs r0, 0
- bl GetBankByIdentity
- ldr r1, =gAbsentBankFlags
- ldrb r1, [r1]
- ldr r2, =gBitTable
- lsls r0, 24
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _080577E8
- ldr r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _080577E8
- ldr r0, =gBattleBufferA
- ldrb r1, [r6]
- lsls r1, 9
- adds r0, 0x1
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _080577B2
- cmp r5, 0xC
- bhi _080577E8
- adds r0, r5, 0
- movs r1, 0x1
- bl AddBagItem
-_080577B2:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- movs r1, 0xC
-_080577BC:
- movs r2, 0
- bl EmitCmd33
-_080577C2:
- bl PlayerBufferExecCompleted
- b _080577E8
- .pool
-_080577DC:
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _080577E8
- bl SwapHpBarsWithHpText
-_080577E8:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8057588
-
- thumb_func_start sub_80577F0
-sub_80577F0: @ 80577F0
- push {r4,lr}
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- movs r1, 0x1
- bl dp11b_obj_free
- ldrb r0, [r4]
- movs r1, 0
- bl dp11b_obj_free
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8057824
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80577F0
-
- thumb_func_start sub_8057824
-sub_8057824: @ 8057824
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_0831C5F8
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- ldr r0, =gUnknown_03005D74
- ldrb r0, [r0]
- movs r1, 0x1
- movs r2, 0xF
- movs r3, 0x1
- bl dp11b_obj_instanciate
- movs r4, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r0, 0
- beq _08057866
-_0805784A:
- ldr r0, =gUnknown_03005D74
- ldrb r0, [r0]
- cmp r4, r0
- beq _0805785C
- lsls r0, r4, 24
- lsrs r0, 24
- movs r1, 0x1
- bl dp11b_obj_free
-_0805785C:
- adds r4, 0x1
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r4, r0
- blt _0805784A
-_08057866:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2C]
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0
- beq _0805789C
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x2
- bne _0805789C
- ldr r1, =gUnknown_020244CC
- ldrb r0, [r1]
- adds r0, 0x1
- b _080578A0
- .pool
-_0805789C:
- ldr r1, =gUnknown_020244CC
- movs r0, 0
-_080578A0:
- strb r0, [r1]
- ldrh r2, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08057910
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r4, =gUnknown_03005D74
- ldrb r0, [r4]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_8039B2C
- str r1, [r0]
- ldr r1, =gMoveSelectionCursor
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r2, [r0]
- ldrb r0, [r4]
- lsls r0, 8
- orrs r2, r0
- movs r0, 0x1
- movs r1, 0xA
- bl EmitCmd33
- ldrb r0, [r4]
- movs r1, 0x1
- bl dp11b_obj_free
- bl PlayerBufferExecCompleted
- b _08057BC8
- .pool
-_08057910:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- bne _0805791E
- ldrb r0, [r1]
- cmp r0, 0x3B
- bls _0805798C
-_0805791E:
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r5, =gUnknown_03005D74
- ldrb r0, [r5]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_8039B2C
- str r1, [r0]
- ldr r1, =gBattleBankFunc
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8057BFC
- str r1, [r0]
- ldrb r0, [r4]
- movs r1, 0x1
- movs r2, 0x7
- movs r3, 0x1
- bl dp11b_obj_instanciate
- ldrb r0, [r4]
- movs r1, 0
- movs r2, 0x7
- movs r3, 0x1
- bl dp11b_obj_instanciate
- ldrb r0, [r5]
- movs r1, 0x1
- bl dp11b_obj_free
- b _08057BC8
- .pool
-_0805798C:
- movs r0, 0x60
- ands r0, r2
- cmp r0, 0
- bne _08057996
- b _08057AB0
-_08057996:
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r3, =gUnknown_03005D74
- ldrb r0, [r3]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_8039B2C
- str r1, [r0]
- adds r5, r3, 0
-_080579B8:
- ldrb r0, [r5]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r1, r0, 24
- movs r4, 0
- mov r0, sp
- b _080579E2
- .pool
-_080579D8:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _080579E8
- mov r2, sp
- adds r0, r2, r4
-_080579E2:
- ldrb r0, [r0]
- cmp r1, r0
- bne _080579D8
-_080579E8:
- subs r4, 0x1
- cmp r4, 0
- bge _080579F0
- movs r4, 0x4
-_080579F0:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- bl GetBankByIdentity
- strb r0, [r5]
- ldr r1, =gNoOfAllBanks
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- beq _080579E8
- movs r4, 0
- ldrb r0, [r5]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08057A6E
- cmp r0, 0x1
- bgt _08057A28
- cmp r0, 0
- beq _08057A32
- b _08057A70
- .pool
-_08057A28:
- cmp r0, 0x2
- beq _08057A32
- cmp r0, 0x3
- beq _08057A6E
- b _08057A70
-_08057A32:
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- ldrb r1, [r5]
- cmp r0, r1
- bne _08057A6E
- ldr r1, =gBattlePartyID
- ldrb r2, [r2]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gMoveSelectionCursor
- adds r2, r1
- ldrb r1, [r2]
- adds r1, 0xD
- bl GetMonData
- ldr r2, =gBattleMoves
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x6]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08057A70
-_08057A6E:
- adds r4, 0x1
-_08057A70:
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, =gBitTable
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- ldr r0, =gUnknown_03005D74
- cmp r1, 0
- beq _08057A88
- movs r4, 0
-_08057A88:
- cmp r4, 0
- beq _080579B8
- b _08057BB0
- .pool
-_08057AB0:
- movs r0, 0x90
- ands r0, r2
- cmp r0, 0
- bne _08057ABA
- b _08057BC8
-_08057ABA:
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r3, =gUnknown_03005D74
- ldrb r0, [r3]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_8039B2C
- str r1, [r0]
- adds r5, r3, 0
-_08057ADC:
- ldrb r0, [r5]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r1, r0, 24
- movs r4, 0
- mov r0, sp
- b _08057B06
- .pool
-_08057AFC:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _08057B0C
- mov r2, sp
- adds r0, r2, r4
-_08057B06:
- ldrb r0, [r0]
- cmp r1, r0
- bne _08057AFC
-_08057B0C:
- adds r4, 0x1
- cmp r4, 0x3
- ble _08057B14
- movs r4, 0
-_08057B14:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- bl GetBankByIdentity
- strb r0, [r5]
- ldr r1, =gNoOfAllBanks
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- beq _08057B0C
- movs r4, 0
- ldrb r0, [r5]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08057B92
- cmp r0, 0x1
- bgt _08057B4C
- cmp r0, 0
- beq _08057B56
- b _08057B94
- .pool
-_08057B4C:
- cmp r0, 0x2
- beq _08057B56
- cmp r0, 0x3
- beq _08057B92
- b _08057B94
-_08057B56:
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- ldrb r1, [r5]
- cmp r0, r1
- bne _08057B92
- ldr r1, =gBattlePartyID
- ldrb r2, [r2]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gMoveSelectionCursor
- adds r2, r1
- ldrb r1, [r2]
- adds r1, 0xD
- bl GetMonData
- ldr r2, =gBattleMoves
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x6]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08057B94
-_08057B92:
- adds r4, 0x1
-_08057B94:
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, =gBitTable
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- ldr r0, =gUnknown_03005D74
- cmp r1, 0
- beq _08057BAC
- movs r4, 0
-_08057BAC:
- cmp r4, 0
- beq _08057ADC
-_08057BB0:
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- 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, =sub_8039AD8
- str r1, [r0]
-_08057BC8:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8057824
-
- thumb_func_start sub_8057BFC
-sub_8057BFC: @ 8057BFC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r0, 0
- mov r8, r0
- ldr r3, =gActiveBank
- ldrb r0, [r3]
- lsls r0, 9
- ldr r1, =gBattleBufferA + 4
- adds r6, r0, r1
- ldr r2, =gMain
- ldrh r1, [r2, 0x2C]
- movs r0, 0xF0
- ands r0, r1
- adds r7, r3, 0
- cmp r0, 0
- beq _08057C44
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x2
- bne _08057C44
- ldr r1, =gUnknown_020244CC
- ldrb r0, [r1]
- adds r0, 0x1
- b _08057C48
- .pool
-_08057C44:
- ldr r1, =gUnknown_020244CC
- movs r0, 0
-_08057C48:
- strb r0, [r1]
- ldrh r2, [r2, 0x2E]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- bne _08057C58
- b _08057E04
-_08057C58:
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gMoveSelectionCursor
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 1
- adds r1, r6, r0
- ldrh r0, [r1]
- cmp r0, 0xAE
- bne _08057C98
- ldrb r0, [r6, 0x12]
- movs r4, 0
- cmp r0, 0x7
- beq _08057CA6
- ldrb r1, [r6, 0x13]
- movs r0, 0x7
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- asrs r4, r0, 31
- movs r0, 0x10
- ands r4, r0
- b _08057CA6
- .pool
-_08057C98:
- ldr r2, =gBattleMoves
- ldrh r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r4, [r0, 0x6]
-_08057CA6:
- movs r0, 0x10
- ands r0, r4
- cmp r0, 0
- beq _08057CC4
- ldr r0, =gUnknown_03005D74
- ldr r1, =gActiveBank
- ldrb r1, [r1]
- strb r1, [r0]
- b _08057CDE
- .pool
-_08057CC4:
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl GetBankIdentity
- adds r1, r0, 0
- movs r2, 0x1
- movs r0, 0x1
- ands r0, r1
- eors r0, r2
- bl GetBankByIdentity
- ldr r1, =gUnknown_03005D74
- strb r0, [r1]
-_08057CDE:
- ldr r5, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r3, [r0]
- lsls r2, r3, 9
- adds r1, r5, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r7, r0, 0
- cmp r1, 0
- bne _08057D18
- movs r0, 0x2
- ands r0, r4
- cmp r0, 0
- beq _08057D5A
- adds r0, r5, 0x2
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r0, 0
- bne _08057D5A
- movs r0, 0x1
- add r8, r0
- b _08057D5A
- .pool
-_08057D18:
- movs r0, 0x7D
- ands r0, r4
- cmp r0, 0
- bne _08057D24
- movs r0, 0x1
- add r8, r0
-_08057D24:
- ldr r0, =gMoveSelectionCursor
- adds r0, r3, r0
- adds r1, r6, 0
- adds r1, 0x8
- ldrb r0, [r0]
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _08057D62
- movs r0, 0x12
- ands r0, r4
- cmp r0, 0
- bne _08057D5A
- movs r0, 0
- bl CountAliveMonsInBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08057D5A
- ldrb r0, [r7]
- bl sub_8069F34
- ldr r1, =gUnknown_03005D74
- strb r0, [r1]
- movs r0, 0
- mov r8, r0
-_08057D5A:
- ldr r7, =gActiveBank
- mov r0, r8
- cmp r0, 0
- bne _08057D80
-_08057D62:
- ldr r1, =gMoveSelectionCursor
- ldrb r0, [r7]
- adds r0, r1
- ldrb r2, [r0]
- ldr r0, =gUnknown_03005D74
- ldrb r0, [r0]
- lsls r0, 8
- orrs r2, r0
- b _08057E1C
- .pool
-_08057D80:
- ldr r1, =gBattleBankFunc
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8057824
- str r1, [r0]
- movs r0, 0x12
- ands r4, r0
- cmp r4, 0
- beq _08057DA8
- ldr r1, =gUnknown_03005D74
- ldrb r0, [r7]
- b _08057DD8
- .pool
-_08057DA8:
- movs r0, 0x1
- bl GetBankByIdentity
- ldr r1, =gAbsentBankFlags
- ldrb r1, [r1]
- ldr r2, =gBitTable
- lsls r0, 24
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _08057DD0
- movs r0, 0x3
- b _08057DD2
- .pool
-_08057DD0:
- movs r0, 0x1
-_08057DD2:
- bl GetBankByIdentity
- ldr r1, =gUnknown_03005D74
-_08057DD8:
- strb r0, [r1]
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r0, =gUnknown_03005D74
- 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, =sub_8039AD8
- b _08057F9C
- .pool
-_08057E04:
- movs r6, 0x2
- adds r0, r6, 0
- ands r0, r2
- cmp r0, 0
- bne _08057E14
- ldrb r0, [r1]
- cmp r0, 0x3B
- bls _08057E30
-_08057E14:
- movs r0, 0x5
- bl PlaySE
- ldr r2, =0x0000ffff
-_08057E1C:
- movs r0, 0x1
- movs r1, 0xA
- bl EmitCmd33
- bl PlayerBufferExecCompleted
- b _08057F9E
- .pool
-_08057E30:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _08057E60
- ldr r4, =gMoveSelectionCursor
- ldrb r0, [r7]
- adds r2, r0, r4
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08057E4A
- b _08057F9E
-_08057E4A:
- ldrb r0, [r2]
- bl battle_menu_cursor_related
- ldrb r1, [r7]
- adds r1, r4
- ldrb r0, [r1]
- movs r2, 0x1
- eors r0, r2
- b _08057F08
- .pool
-_08057E60:
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _08057EA4
- ldr r4, =gMoveSelectionCursor
- ldrb r0, [r7]
- adds r3, r0, r4
- ldrb r2, [r3]
- movs r6, 0x1
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _08057E7C
- b _08057F9E
-_08057E7C:
- ldr r1, =gUnknown_03005D78
- adds r0, r6, 0
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08057E8A
- b _08057F9E
-_08057E8A:
- ldrb r0, [r3]
- bl battle_menu_cursor_related
- ldrb r1, [r7]
- adds r1, r4
- ldrb r0, [r1]
- eors r0, r6
- b _08057F08
- .pool
-_08057EA4:
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- beq _08057ED4
- ldr r4, =gMoveSelectionCursor
- ldrb r0, [r7]
- adds r2, r0, r4
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08057F9E
- ldrb r0, [r2]
- bl battle_menu_cursor_related
- ldrb r1, [r7]
- adds r1, r4
- ldrb r0, [r1]
- movs r2, 0x2
- eors r0, r2
- b _08057F08
- .pool
-_08057ED4:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _08057F30
- ldr r4, =gMoveSelectionCursor
- ldrb r0, [r7]
- adds r3, r0, r4
- ldrb r2, [r3]
- movs r5, 0x2
- adds r0, r6, 0
- ands r0, r2
- cmp r0, 0
- bne _08057F9E
- ldr r1, =gUnknown_03005D78
- adds r0, r5, 0
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bcs _08057F9E
- ldrb r0, [r3]
- bl battle_menu_cursor_related
- ldrb r1, [r7]
- adds r1, r4
- ldrb r0, [r1]
- eors r0, r5
-_08057F08:
- strb r0, [r1]
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r7]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0
- bl battle_menu_cursor_related_2
- bl sub_8059B3C
- bl sub_8059BB0
- b _08057F9E
- .pool
-_08057F30:
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- beq _08057F9E
- ldr r0, =gUnknown_03005D78
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _08057F9E
- ldr r0, =gBattleTypeFlags
- ldr r5, [r0]
- ands r5, r6
- cmp r5, 0
- bne _08057F9E
- ldr r4, =gMoveSelectionCursor
- ldrb r0, [r7]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x1D
- bl battle_menu_cursor_related_2
- ldrb r0, [r7]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08057F78
- ldr r0, =gUnknown_03005D74
- strb r5, [r0]
- b _08057F80
- .pool
-_08057F78:
- ldr r1, =gUnknown_03005D74
- adds r0, 0x1
- strb r0, [r1]
- adds r0, r1, 0
-_08057F80:
- ldrb r0, [r0]
- movs r1, 0x1B
- bl battle_menu_cursor_related_2
- ldr r0, =gText_BattleSwitchWhich
- movs r1, 0xB
- bl sub_814F9EC
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8058138
-_08057F9C:
- str r1, [r0]
-_08057F9E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8057BFC
-
- thumb_func_start sub_8057FBC
-sub_8057FBC: @ 8057FBC
- push {r4-r7,lr}
- movs r7, 0
- ldr r4, =gMain
- ldrh r1, [r4, 0x2E]
- movs r6, 0x1
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08057FD6
- movs r0, 0x5
- bl PlaySE
- movs r7, 0x1
-_08057FD6:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08057FF8
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gBattle_BG0_X
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gBattle_BG0_Y
- movs r2, 0xA0
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- movs r7, 0xFF
-_08057FF8:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08058038
- ldr r5, =gMoveSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r2, r0, r5
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08058038
- ldrb r0, [r2]
- bl battle_menu_cursor_related
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x1
- eors r0, r2
- strb r0, [r1]
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl battle_menu_cursor_related_2
-_08058038:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08058086
- ldr r5, =gMoveSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r3, r0, r5
- ldrb r2, [r3]
- movs r6, 0x1
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- bne _08058086
- ldr r1, =gUnknown_03005D78
- adds r0, r6, 0
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bcs _08058086
- ldrb r0, [r3]
- bl battle_menu_cursor_related
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- eors r0, r6
- strb r0, [r1]
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl battle_menu_cursor_related_2
-_08058086:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080580C8
- ldr r5, =gMoveSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r2, r0, r5
- ldrb r1, [r2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080580C8
- ldrb r0, [r2]
- bl battle_menu_cursor_related
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x2
- eors r0, r2
- strb r0, [r1]
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl battle_menu_cursor_related_2
-_080580C8:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08058116
- ldr r5, =gMoveSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r3, r0, r5
- ldrb r2, [r3]
- movs r6, 0x2
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- bne _08058116
- ldr r1, =gUnknown_03005D78
- adds r0, r6, 0
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bcs _08058116
- ldrb r0, [r3]
- bl battle_menu_cursor_related
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- eors r0, r6
- strb r0, [r1]
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl battle_menu_cursor_related_2
-_08058116:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8057FBC
-
- thumb_func_start sub_8058138
-sub_8058138: @ 8058138
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x5
- ands r0, r1
- cmp r0, 0
- bne _08058152
- b _08058500
-_08058152:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gMoveSelectionCursor
- mov r10, r0
- ldr r1, =gActiveBank
- mov r8, r1
- ldrb r1, [r1]
- adds r2, r1, r0
- ldr r5, =gUnknown_03005D74
- ldrb r0, [r2]
- ldrb r3, [r5]
- cmp r0, r3
- bne _08058170
- b _080584A8
-_08058170:
- lsls r1, 9
- ldr r0, =gBattleBufferA + 4
- adds r1, r0
- mov r9, r1
- ldrb r1, [r2]
- lsls r1, 1
- add r1, r9
- ldrh r6, [r1]
- ldrb r0, [r5]
- lsls r0, 1
- add r0, r9
- ldrh r0, [r0]
- strh r0, [r1]
- ldrb r0, [r5]
- lsls r0, 1
- add r0, r9
- strh r6, [r0]
- mov r1, r8
- ldrb r0, [r1]
- add r0, r10
- ldrb r1, [r0]
- mov r7, r9
- adds r7, 0x8
- adds r1, r7, r1
- ldrb r6, [r1]
- ldrb r0, [r5]
- adds r0, r7, r0
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r5]
- adds r0, r7, r0
- strb r6, [r0]
- mov r2, r8
- ldrb r0, [r2]
- add r0, r10
- ldrb r1, [r0]
- mov r2, r9
- adds r2, 0xC
- adds r1, r2, r1
- ldrb r6, [r1]
- ldrb r0, [r5]
- adds r0, r2, r0
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r5]
- adds r2, r0
- strb r6, [r2]
- mov r3, r8
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r2, =gDisableStructs
- adds r6, r0, r2
- ldrb r4, [r6, 0x18]
- lsls r3, r4, 24
- lsrs r2, r3, 28
- ldr r0, =gBitTable
- mov r12, r0
- add r1, r10
- ldrb r0, [r1]
- lsls r0, 2
- add r0, r12
- ldr r0, [r0]
- ands r2, r0
- cmp r2, 0
- beq _0805822A
- lsrs r1, r3, 28
- bics r1, r0
- lsls r1, 4
- movs r2, 0xF
- adds r0, r2, 0
- ands r0, r4
- orrs r0, r1
- strb r0, [r6, 0x18]
- mov r1, r8
- ldrb r0, [r1]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r3, =gDisableStructs
- adds r1, r3
- ldrb r4, [r1, 0x18]
- lsrs r3, r4, 4
- ldrb r0, [r5]
- lsls r0, 2
- add r0, r12
- ldr r0, [r0]
- orrs r0, r3
- lsls r0, 4
- ands r2, r4
- orrs r2, r0
- strb r2, [r1, 0x18]
-_0805822A:
- bl sub_8059AAC
- movs r6, 0
- mov r12, r7
- mov r5, sp
- adds r5, 0x18
- str r5, [sp, 0x1C]
- ldr r2, =gBattleMons
- mov r0, r8
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r4, r0, 0
- adds r4, 0x3B
- mov r7, r8
- mov r10, r2
- movs r5, 0x3
-_0805824E:
- mov r1, sp
- adds r3, r1, r6
- ldrb r1, [r4]
- lsls r2, r6, 1
- adds r0, r5, 0
- lsls r0, r2
- ands r1, r0
- asrs r1, r2
- strb r1, [r3]
- adds r6, 0x1
- cmp r6, 0x3
- ble _0805824E
- ldr r1, =gMoveSelectionCursor
- ldrb r0, [r7]
- adds r0, r1
- ldrb r0, [r0]
- add r0, sp
- ldrb r0, [r0]
- ldr r2, [sp, 0x1C]
- strb r0, [r2]
- ldrb r0, [r7]
- adds r0, r1
- ldrb r0, [r0]
- mov r3, sp
- adds r2, r3, r0
- ldr r1, =gUnknown_03005D74
- ldrb r0, [r1]
- add r0, sp
- ldrb r0, [r0]
- movs r3, 0
- strb r0, [r2]
- ldrb r0, [r1]
- mov r5, sp
- adds r1, r5, r0
- ldr r2, [sp, 0x1C]
- ldrb r0, [r2]
- strb r0, [r1]
- strb r3, [r2]
- movs r6, 0
- ldr r2, [sp, 0x1C]
-_0805829E:
- mov r3, sp
- adds r0, r3, r6
- ldrb r1, [r0]
- lsls r0, r6, 1
- lsls r1, r0
- ldrb r0, [r2]
- orrs r0, r1
- strb r0, [r2]
- adds r6, 0x1
- cmp r6, 0x3
- ble _0805829E
- ldrb r1, [r7]
- movs r0, 0x58
- muls r0, r1
- add r0, r10
- adds r0, 0x3B
- ldr r5, [sp, 0x1C]
- ldrb r1, [r5]
- strb r1, [r0]
- movs r6, 0
- adds r4, r7, 0
- movs r3, 0x58
- movs r0, 0x24
- add r0, r10
- mov r8, r0
- mov r2, r9
- mov r7, r10
- adds r7, 0xC
- mov r5, r12
-_080582D8:
- lsls r1, r6, 1
- ldrb r0, [r4]
- muls r0, r3
- adds r1, r0
- adds r1, r7
- ldrh r0, [r2]
- strh r0, [r1]
- ldrb r0, [r4]
- adds r1, r0, 0
- muls r1, r3
- adds r1, r6, r1
- add r1, r8
- adds r0, r5, r6
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _080582D8
- ldr r2, =gActiveBank
- ldrb r1, [r2]
- movs r0, 0x58
- muls r0, r1
- mov r1, r10
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 14
- ands r0, r1
- cmp r0, 0
- beq _0805831A
- b _080584A8
-_0805831A:
- movs r6, 0
- mov r1, sp
- adds r1, 0x4
- str r1, [sp, 0x20]
- add r3, sp, 0xC
- mov r10, r3
- ldr r5, =gBattlePartyID
- mov r9, r5
- mov r8, r2
- movs r7, 0x64
- ldr r5, =gPlayerParty
- adds r4, r1, 0
-_08058332:
- mov r1, r8
- ldrb r0, [r1]
- lsls r0, 1
- add r0, r9
- ldrh r0, [r0]
- muls r0, r7
- adds r0, r5
- adds r1, r6, 0
- adds r1, 0xD
- bl GetMonData
- strh r0, [r4]
- mov r2, r8
- ldrb r0, [r2]
- lsls r0, 1
- add r0, r9
- ldrh r0, [r0]
- muls r0, r7
- adds r0, r5
- adds r1, r6, 0
- adds r1, 0x11
- bl GetMonData
- mov r3, r10
- adds r1, r3, r6
- strb r0, [r1]
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _08058332
- 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, 0x15
- bl GetMonData
- ldr r5, [sp, 0x1C]
- strb r0, [r5]
- movs r6, 0
- movs r5, 0x3
- ldr r4, [sp, 0x1C]
-_08058392:
- mov r0, sp
- adds r3, r0, r6
- lsls r2, r6, 1
- adds r1, r5, 0
- lsls r1, r2
- ldrb r0, [r4]
- ands r0, r1
- asrs r0, r2
- strb r0, [r3]
- adds r6, 0x1
- cmp r6, 0x3
- ble _08058392
- ldr r4, =gMoveSelectionCursor
- ldr r3, =gActiveBank
- ldrb r0, [r3]
- adds r0, r4
- ldrb r1, [r0]
- lsls r1, 1
- ldr r2, [sp, 0x20]
- adds r1, r2, r1
- ldrh r6, [r1]
- ldr r2, =gUnknown_03005D74
- ldrb r0, [r2]
- lsls r0, 1
- ldr r5, [sp, 0x20]
- adds r0, r5, r0
- ldrh r0, [r0]
- movs r5, 0
- strh r0, [r1]
- ldrb r0, [r2]
- lsls r0, 1
- ldr r1, [sp, 0x20]
- adds r0, r1, r0
- strh r6, [r0]
- ldrb r0, [r3]
- adds r0, r4
- ldrb r1, [r0]
- add r1, r10
- ldrb r6, [r1]
- ldrb r0, [r2]
- add r0, r10
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r2]
- add r0, r10
- strb r6, [r0]
- ldrb r0, [r3]
- adds r0, r4
- ldrb r0, [r0]
- add r0, sp
- ldrb r0, [r0]
- ldr r1, [sp, 0x1C]
- strb r0, [r1]
- ldrb r0, [r3]
- adds r0, r4
- ldrb r0, [r0]
- mov r3, sp
- adds r1, r3, r0
- ldrb r0, [r2]
- add r0, sp
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r2]
- adds r1, r3, r0
- ldr r2, [sp, 0x1C]
- ldrb r0, [r2]
- strb r0, [r1]
- strb r5, [r2]
- movs r6, 0
- ldr r2, [sp, 0x1C]
-_0805841E:
- mov r3, sp
- adds r0, r3, r6
- ldrb r1, [r0]
- lsls r0, r6, 1
- lsls r1, r0
- ldrb r0, [r2]
- orrs r0, r1
- strb r0, [r2]
- adds r6, 0x1
- cmp r6, 0x3
- ble _0805841E
- movs r6, 0
- ldr r5, =gBattlePartyID
- mov r10, r5
- ldr r0, =gActiveBank
- mov r9, r0
- movs r1, 0x64
- mov r8, r1
- ldr r7, =gPlayerParty
- ldr r5, [sp, 0x20]
- adds r5, 0x8
- ldr r4, [sp, 0x20]
-_0805844A:
- mov r2, r9
- ldrb r0, [r2]
- lsls r0, 1
- add r0, r10
- ldrh r0, [r0]
- mov r3, r8
- muls r3, r0
- adds r0, r3, 0
- adds r0, r7
- adds r1, r6, 0
- adds r1, 0xD
- adds r2, r4, 0
- bl SetMonData
- mov r1, r9
- ldrb r0, [r1]
- lsls r0, 1
- add r0, r10
- ldrh r0, [r0]
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- adds r0, r7
- adds r1, r6, 0
- adds r1, 0x11
- adds r2, r5, 0
- bl SetMonData
- adds r5, 0x1
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _0805844A
- 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, 0x15
- ldr r2, [sp, 0x1C]
- bl SetMonData
-_080584A8:
- ldr r1, =gBattleBankFunc
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8057BFC
- str r1, [r0]
- ldr r3, =gMoveSelectionCursor
- ldrb r0, [r2]
- adds r0, r3
- ldr r1, =gUnknown_03005D74
- ldrb r1, [r1]
- strb r1, [r0]
- ldrb r0, [r2]
- adds r0, r3
- ldrb r0, [r0]
- movs r1, 0
- bl battle_menu_cursor_related_2
- b _08058532
- .pool
-_08058500:
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- beq _08058554
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_03005D74
- ldrb r0, [r0]
- bl battle_menu_cursor_related
- ldr r1, =gMoveSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl battle_menu_cursor_related_2
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8057BFC
- str r1, [r0]
-_08058532:
- bl sub_8059B18
- bl sub_8059B3C
- bl sub_8059BB0
- b _080586E8
- .pool
-_08058554:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080585A4
- ldr r3, =gUnknown_03005D74
- ldrb r2, [r3]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- bne _0805856A
- b _080586E8
-_0805856A:
- ldr r0, =gMoveSelectionCursor
- ldr r1, =gActiveBank
- ldrb r1, [r1]
- adds r1, r0
- ldrb r5, [r1]
- cmp r2, r5
- bne _08058590
-_08058578:
- ldrb r0, [r1]
- movs r1, 0x1D
- bl battle_menu_cursor_related_2
- b _08058596
- .pool
-_08058590:
- ldrb r0, [r3]
- bl battle_menu_cursor_related
-_08058596:
- ldr r4, =gUnknown_03005D74
- ldrb r0, [r4]
- movs r1, 0x1
- b _0805862C
- .pool
-_080585A4:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080585E8
- ldr r3, =gUnknown_03005D74
- ldrb r2, [r3]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _080585BA
- b _080586E8
-_080585BA:
- ldr r1, =gUnknown_03005D78
- movs r0, 0x1
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bcc _080585C8
- b _080586E8
-_080585C8:
- ldr r0, =gMoveSelectionCursor
- ldr r1, =gActiveBank
- ldrb r1, [r1]
- adds r1, r0
- ldrb r0, [r1]
- cmp r2, r0
- beq _08058578
- b _08058590
- .pool
-_080585E8:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0805865C
- ldr r3, =gUnknown_03005D74
- ldrb r2, [r3]
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _080586E8
- ldr r0, =gMoveSelectionCursor
- ldr r1, =gActiveBank
- ldrb r1, [r1]
- adds r1, r0
- ldrb r5, [r1]
- cmp r2, r5
- bne _08058620
- ldrb r0, [r1]
- movs r1, 0x1D
- bl battle_menu_cursor_related_2
- b _08058626
- .pool
-_08058620:
- ldrb r0, [r3]
- bl battle_menu_cursor_related
-_08058626:
- ldr r4, =gUnknown_03005D74
- ldrb r0, [r4]
- movs r1, 0x2
-_0805862C:
- eors r0, r1
- strb r0, [r4]
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gMoveSelectionCursor
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r4]
- ldrb r0, [r0]
- cmp r1, r0
- beq _080586CA
- ldrb r0, [r4]
- movs r1, 0x1B
- bl battle_menu_cursor_related_2
- b _080586E8
- .pool
-_0805865C:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080586E8
- ldr r3, =gUnknown_03005D74
- ldrb r2, [r3]
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- bne _080586E8
- ldr r1, =gUnknown_03005D78
- movs r0, 0x2
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bcs _080586E8
- ldr r0, =gMoveSelectionCursor
- ldr r1, =gActiveBank
- ldrb r1, [r1]
- adds r1, r0
- ldrb r0, [r1]
- cmp r2, r0
- bne _080586A4
- ldrb r0, [r1]
- movs r1, 0x1D
- bl battle_menu_cursor_related_2
- b _080586AA
- .pool
-_080586A4:
- ldrb r0, [r3]
- bl battle_menu_cursor_related
-_080586AA:
- ldr r4, =gUnknown_03005D74
- ldrb r0, [r4]
- movs r1, 0x2
- eors r0, r1
- strb r0, [r4]
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gMoveSelectionCursor
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r4]
- ldrb r0, [r0]
- cmp r1, r0
- bne _080586E0
-_080586CA:
- adds r0, r1, 0
- movs r1, 0
- bl battle_menu_cursor_related_2
- b _080586E8
- .pool
-_080586E0:
- ldrb r0, [r4]
- movs r1, 0x1B
- bl battle_menu_cursor_related_2
-_080586E8:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8058138
-
- thumb_func_start sub_80586F8
-sub_80586F8: @ 80586F8
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805875C
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08058798
- movs r0, 0x5A
- bl m4aSongNumStop
- ldr r3, =gMain
- ldr r0, =0x00000439
- adds r2, r3, r0
- ldrb r1, [r2]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, =gPreBattleCallback1
- ldr r0, [r0]
- str r0, [r3]
- ldr r0, =sub_8038D64
- bl SetMainCallback2
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08058738
- bl sub_817E3F4
-_08058738:
- bl FreeAllWindowBuffers
- b _08058798
- .pool
-_0805875C:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _08058798
- movs r0, 0x5A
- bl m4aSongNumStop
- ldr r3, =gMain
- ldr r0, =0x00000439
- adds r2, r3, r0
- ldrb r1, [r2]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, =gPreBattleCallback1
- ldr r0, [r0]
- str r0, [r3]
- ldr r0, =sub_8038D64
- bl SetMainCallback2
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08058794
- bl sub_817E3F4
-_08058794:
- bl FreeAllWindowBuffers
-_08058798:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80586F8
-
- thumb_func_start sub_80587B0
-sub_80587B0: @ 80587B0
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08058832
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08058810
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _08058832
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _080587F0
- bl sub_800AC34
- b _080587F4
- .pool
-_080587F0:
- bl sub_800ADF8
-_080587F4:
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_80586F8
- str r1, [r0]
- b _08058832
- .pool
-_08058810:
- movs r0, 0x5A
- bl m4aSongNumStop
- 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, =gPreBattleCallback1
- ldr r0, [r0]
- str r0, [r2]
- ldr r0, [r2, 0x8]
- bl SetMainCallback2
-_08058832:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80587B0
-
- thumb_func_start sub_8058844
-sub_8058844: @ 8058844
- 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 _08058868
- bl PlayerBufferExecCompleted
-_08058868:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8058844
-
- thumb_func_start sub_805887C
-sub_805887C: @ 805887C
- 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 _080588A0
- bl PlayerBufferExecCompleted
-_080588A0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805887C
-
- thumb_func_start bx_802F7A0
-bx_802F7A0: @ 80588B4
- push {r4-r6,lr}
- ldr r6, =gSprites
- ldr r5, =gBankSpriteIds
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r6, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _08058908
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- bl nullsub_25
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl FreeSpriteOamMatrix
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
- bl PlayerBufferExecCompleted
-_08058908:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bx_802F7A0
-
- thumb_func_start sub_8058924
-sub_8058924: @ 8058924
- push {r4,lr}
- ldr r4, =gBattleSpritesDataPtr
- ldr r1, [r4]
- ldr r3, =gActiveBank
- ldrb r0, [r3]
- ldr r2, [r1, 0x4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x9]
- subs r0, 0x1
- strb r0, [r1, 0x9]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _0805895C
- ldr r0, [r4]
- ldrb r1, [r3]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strb r1, [r0, 0x9]
- bl PlayerBufferExecCompleted
-_0805895C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8058924
-
- thumb_func_start sub_805896C
-sub_805896C: @ 805896C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r7, 0
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08058998
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _080589D0
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080589D0
-_08058998:
- ldr r2, =gSprites
- ldr r1, =gHealthBoxesIds
- ldr r3, =gActiveBank
- ldrb r0, [r3]
- 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
- mov r10, r3
- cmp r1, r0
- bne _08058A0A
- b _08058A0E
- .pool
-_080589D0:
- ldr r3, =gSprites
- ldr r6, =gHealthBoxesIds
- ldr r2, =gActiveBank
- ldrb r4, [r2]
- adds r0, r4, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r5, r3, 0
- adds r5, 0x1C
- adds r0, r5
- ldr r3, [r0]
- ldr r0, =SpriteCallbackDummy
- mov r10, r2
- cmp r3, r0
- bne _08058A0A
- movs r0, 0x2
- eors r4, r0
- adds r0, r4, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r0, [r0]
- cmp r0, r3
- bne _08058A0A
- movs r7, 0x1
-_08058A0A:
- cmp r7, 0
- beq _08058B08
-_08058A0E:
- ldr r0, =gBattleSpritesDataPtr
- mov r9, r0
- ldr r0, [r0]
- mov r6, r10
- ldrb r2, [r6]
- ldr r3, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r4, r0, r3
- ldrb r1, [r4, 0x1]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08058B08
- movs r1, 0x2
- mov r8, r1
- mov r1, r8
- eors r1, r2
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08058B08
- ldrb r1, [r4]
- movs r3, 0x7F
- adds r0, r3, 0
- ands r0, r1
- strb r0, [r4]
- mov r2, r9
- ldr r0, [r2]
- ldrb r2, [r6]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r4, 0x2
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- strb r0, [r1, 0x1]
- mov r0, r9
- ldr r2, [r0]
- ldrb r0, [r6]
- mov r1, r8
- eors r1, r0
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- ands r3, r1
- strb r3, [r0]
- mov r1, r9
- ldr r2, [r1]
- ldrb r0, [r6]
- mov r1, r8
- eors r1, r0
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- ands r4, r1
- strb r4, [r0, 0x1]
- ldr r4, =0x000027f9
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- ldr r7, =gBattlePartyID
- ldrb r1, [r6]
- lsls r0, r1, 1
- adds r0, r7
- ldrh r0, [r0]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- bl sub_805E990
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08058AE4
- ldrb r0, [r6]
- mov r1, r8
- eors r1, r0
- lsls r0, r1, 1
- adds r0, r7
- ldrh r0, [r0]
- muls r0, r5
- adds r0, r4
- bl sub_805E990
-_08058AE4:
- mov r2, r9
- ldr r0, [r2]
- mov r2, r10
- ldrb r1, [r2]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3
- strb r1, [r0, 0x9]
- ldr r1, =gBattleBankFunc
- mov r2, r10
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8058924
- str r1, [r0]
-_08058B08:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805896C
-
- thumb_func_start sub_8058B40
-sub_8058B40: @ 8058B40
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r0, 0
- mov r9, r0
- mov r8, r0
- ldr r4, =gBattleSpritesDataPtr
- ldr r0, [r4]
- ldr r7, =gActiveBank
- ldrb r2, [r7]
- ldr r1, [r0, 0x4]
- lsls r3, r2, 1
- adds r0, r3, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r5, 0x88
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08058B80
- ldr r0, =gBattlePartyID
- adds r0, r3, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r1, r0
- adds r0, r2, 0
- bl sub_8172EF0
-_08058B80:
- ldr r1, [r4]
- ldrb r0, [r7]
- movs r6, 0x2
- adds r2, r6, 0
- eors r2, r0
- ldr r1, [r1, 0x4]
- lsls r3, r2, 1
- adds r0, r3, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08058BB2
- ldr r0, =gBattlePartyID
- adds r0, r3, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r1, r0
- adds r0, r2, 0
- bl sub_8172EF0
-_08058BB2:
- ldr r0, [r4]
- ldrb r2, [r7]
- ldr r3, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r4, r0, r3
- ldrb r1, [r4]
- movs r5, 0x8
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08058C82
- adds r1, r6, 0
- eors r1, r2
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08058C82
- ldrb r1, [r4, 0x1]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08058C68
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08058C38
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08058C38
- ldr r4, =gHealthBoxesIds
- ldrb r0, [r7]
- adds r1, r6, 0
- eors r1, r0
- adds r0, r1, r4
- 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, 0
- bl UpdateHealthboxAttribute
- ldrb r0, [r7]
- eors r0, r6
- bl sub_8076918
- ldrb r0, [r7]
- eors r0, r6
- adds r0, r4
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
-_08058C38:
- ldr r5, =gHealthBoxesIds
- 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, 0
- bl UpdateHealthboxAttribute
- ldrb r0, [r4]
- bl sub_8076918
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
-_08058C68:
- ldr r0, =gBattleSpritesDataPtr
- 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, 0x1]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0, 0x1]
-_08058C82:
- ldr r5, =gBattleSpritesDataPtr
- ldr r0, [r5]
- ldr r4, =gActiveBank
- ldrb r2, [r4]
- ldr r3, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0x80
- bne _08058D32
- movs r1, 0x2
- eors r1, r2
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08058D32
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- bne _08058D32
- ldr r0, [r5]
- ldrb r1, [r4]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08058D14
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x42
- ands r0, r1
- cmp r0, 0x42
- bne _08058D08
- ldr r0, =gMPlay_BGM
- bl m4aMPlayContinue
- b _08058D14
- .pool
-_08058D08:
- ldr r0, =gMPlay_BGM
- ldr r1, =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
-_08058D14:
- ldr r0, =gBattleSpritesDataPtr
- 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, 0x1]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0, 0x1]
- movs r0, 0x1
- mov r9, r0
-_08058D32:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08058D52
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08058DAC
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08058DAC
-_08058D52:
- ldr r2, =gSprites
- ldr r0, =gUnknown_03005D7C
- ldr r1, =gActiveBank
- ldrb r4, [r1]
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r3, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r3, r0
- bne _08058E0A
- ldr r0, =gBankSpriteIds
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- cmp r0, r3
- bne _08058E0A
- b _08058E06
- .pool
-_08058DAC:
- ldr r2, =gSprites
- ldr r7, =gUnknown_03005D7C
- ldr r0, =gActiveBank
- ldrb r3, [r0]
- adds r0, r3, r7
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r4, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r4, r0
- bne _08058E0A
- ldr r6, =gBankSpriteIds
- adds r0, r3, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r5, [r0]
- cmp r5, r4
- bne _08058E0A
- movs r0, 0x2
- eors r3, r0
- adds r0, r3, r7
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r4, [r0]
- cmp r4, r5
- bne _08058E0A
- adds r0, r3, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- cmp r0, r4
- bne _08058E0A
-_08058E06:
- movs r0, 0x1
- mov r8, r0
-_08058E0A:
- mov r0, r9
- cmp r0, 0
- beq _08058EAA
- mov r0, r8
- cmp r0, 0
- beq _08058EAA
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08058E48
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08058E48
- ldr r2, =gUnknown_03005D7C
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- movs r0, 0x2
- eors r0, r1
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
-_08058E48:
- ldr r1, =gUnknown_03005D7C
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- ldr r3, =gBattleSpritesDataPtr
- ldr r0, [r3]
- ldr r2, [r0, 0x8]
- ldrb r1, [r2, 0x9]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x9]
- ldr r0, [r3]
- ldrb r2, [r4]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldr r0, [r3]
- ldrb r2, [r4]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r0, 0x7F
- ands r0, r2
- strb r0, [r1, 0x1]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_805896C
- str r1, [r0]
-_08058EAA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8058B40
-
- thumb_func_start sub_8058EDC
-sub_8058EDC: @ 8058EDC
- push {r4-r6,lr}
- ldr r2, =gSprites
- ldr r0, =gHealthBoxesIds
- ldr r6, =gActiveBank
- ldrb r3, [r6]
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r4, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r4, r0
- bne _08058F94
- ldr r5, =gBattleSpritesDataPtr
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08058F94
- ldr r0, =gBankSpriteIds
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- cmp r0, r4
- bne _08058F94
- adds r0, r3, 0
- bl sub_805E408
- ldr r0, [r5]
- ldrb r2, [r6]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x7F
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r5]
- ldrb r2, [r6]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldr r4, =0x000027f9
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- ldr r0, [r5]
- ldrb r2, [r6]
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08058F88
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x6
- bl move_anim_start_t4
-_08058F88:
- ldr r0, =gBattleBankFunc
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r0
- ldr r0, =sub_8058FC0
- str r0, [r1]
-_08058F94:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8058EDC
-
- thumb_func_start sub_8058FC0
-sub_8058FC0: @ 8058FC0
- push {r4,lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r4, =gActiveBank
- ldrb r1, [r4]
- ldr r2, [r0, 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 _0805900E
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- bne _0805900E
- ldr r0, =gMPlay_BGM
- ldr r1, =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
- ldr r2, =gBattlePartyID
- ldrb r1, [r4]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl sub_805E990
- bl PlayerBufferExecCompleted
-_0805900E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8058FC0
-
- thumb_func_start sub_805902C
-sub_805902C: @ 805902C
- push {r4-r6,lr}
- ldr r6, =gBattleSpritesDataPtr
- ldr r0, [r6]
- ldr r5, =gActiveBank
- ldrb r2, [r5]
- ldr r1, [r0, 0x4]
- lsls r3, r2, 1
- adds r0, r3, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x88
- ands r0, r1
- cmp r0, 0
- bne _0805905E
- ldr r0, =gBattlePartyID
- adds r0, r3, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r1, r0
- adds r0, r2, 0
- bl sub_8172EF0
-_0805905E:
- ldr r4, =gSprites
- ldr r0, =gUnknown_03005D7C
- ldrb r2, [r5]
- adds r0, r2, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r3, r0, 2
- adds r0, r4, 0
- adds r0, 0x1C
- adds r0, r3, r0
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _080590D2
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080590D2
- adds r0, r3, r4
- bl DestroySprite
- ldr r4, =gHealthBoxesIds
- ldrb r1, [r5]
- adds r0, r1, r4
- 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, 0
- bl UpdateHealthboxAttribute
- ldrb r0, [r5]
- bl sub_8076918
- ldrb r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8058EDC
- str r1, [r0]
-_080590D2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805902C
-
- thumb_func_start c3_0802FDF4
-c3_0802FDF4: @ 8059100
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- bne _08059122
- ldr r0, =gMPlay_BGM
- ldr r1, =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
- adds r0, r4, 0
- bl DestroyTask
-_08059122:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c3_0802FDF4
-
- thumb_func_start bx_t1_healthbar_update
-bx_t1_healthbar_update: @ 8059130
- push {r4-r6,lr}
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- ldr r6, =gHealthBoxesIds
- adds r1, r0, r6
- ldrb r1, [r1]
- movs r2, 0
- movs r3, 0
- bl sub_8074AA0
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r5]
- adds r0, r6
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
- lsls r4, 16
- asrs r1, r4, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08059178
- ldrb r0, [r5]
- adds r0, r6
- ldrb r0, [r0]
- movs r2, 0
- bl UpdateHpTextInHealthbox
- b _08059192
- .pool
-_08059178:
- ldr r2, =gBattlePartyID
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl sub_805E990
- bl PlayerBufferExecCompleted
-_08059192:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bx_t1_healthbar_update
-
- thumb_func_start sub_80591A0
-sub_80591A0: @ 80591A0
- push {lr}
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _080591B2
- bl PlayerBufferExecCompleted
-_080591B2:
- pop {r0}
- bx r0
- thumb_func_end sub_80591A0
-
- thumb_func_start sub_80591B8
-sub_80591B8: @ 80591B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r1, =gTasks
- lsls r0, 2
- add r0, r9
- lsls r0, 3
- adds r0, r1
- mov r8, r0
- ldrb r0, [r0, 0x8]
- mov r10, r0
- mov r1, r8
- ldrb r7, [r1, 0xC]
- str r7, [sp, 0x8]
- ldrh r2, [r1, 0xA]
- str r2, [sp, 0xC]
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080591FE
- ldr r1, =gBattlePartyID
- lsls r0, r7, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r10, r0
- bne _080591FE
- b _08059314
-_080591FE:
- movs r0, 0x64
- mov r1, r10
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r6, r1, r0
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r6, 0
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- movs r1, 0x19
- bl GetMonData
- str r0, [sp, 0x4]
- ldr r3, =gExperienceTables
- adds r4, 0x1
- lsls r4, 2
- ldr r2, =gBaseStats
- lsls r1, r5, 3
- subs r1, r5
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x13]
- movs r1, 0xCA
- lsls r1, 1
- muls r1, r2
- adds r4, r1
- adds r4, r3
- ldr r2, [r4]
- str r2, [sp]
- ldr r3, [sp, 0xC]
- lsls r1, r3, 16
- asrs r1, 16
- adds r0, r1
- cmp r0, r2
- bcc _080592EC
- adds r0, r6, 0
- movs r1, 0x19
- mov r2, sp
- bl SetMonData
- adds r0, r6, 0
- bl CalculateMonStats
- ldr r2, [sp]
- add r0, sp, 0x4
- ldrh r0, [r0]
- subs r2, r0
- ldr r0, [sp, 0xC]
- subs r2, r0, r2
- ldr r4, =gActiveBank
- ldrb r5, [r4]
- strb r7, [r4]
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x1
- movs r1, 0xB
- bl EmitCmd33
- strb r5, [r4]
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080592D4
- ldr r2, =gBattlePartyID
- lsls r0, r7, 1
- adds r0, r2
- mov r1, r10
- ldrh r0, [r0]
- cmp r1, r0
- beq _080592B2
- movs r0, 0x2
- eors r7, r0
- lsls r0, r7, 1
- adds r0, r2
- ldrh r0, [r0]
- cmp r1, r0
- bne _080592D4
-_080592B2:
- ldr r0, =sub_8059544
- b _08059316
- .pool
-_080592D4:
- ldr r0, =gTasks
- mov r2, r9
- lsls r1, r2, 2
- add r1, r9
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_805965C
- b _08059318
- .pool
-_080592EC:
- str r0, [sp, 0x4]
- add r2, sp, 0x4
- adds r0, r6, 0
- movs r1, 0x19
- bl SetMonData
- ldr r1, =gBattleBankFunc
- ldr r3, [sp, 0x8]
- lsls r0, r3, 2
- adds r0, r1
- ldr r1, =sub_80591A0
- str r1, [r0]
- mov r0, r9
- bl DestroyTask
- b _0805931A
- .pool
-_08059314:
- ldr r0, =sub_8059330
-_08059316:
- mov r1, r8
-_08059318:
- str r0, [r1]
-_0805931A:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80591B8
-
- thumb_func_start sub_8059330
-sub_8059330: @ 8059330
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r2, r0, 2
- mov r8, r2
- add r8, r0
- mov r0, r8
- lsls r0, 3
- mov r8, r0
- add r8, r1
- mov r2, r8
- ldrb r1, [r2, 0x8]
- movs r0, 0xA
- ldrsh r2, [r2, r0]
- mov r9, r2
- mov r2, r8
- ldrb r2, [r2, 0xC]
- mov r10, r2
- movs r0, 0x64
- adds r6, r1, 0
- muls r6, r0
- ldr r0, =gPlayerParty
- adds r6, r0
- adds r0, r6, 0
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r6, 0
- movs r1, 0x19
- bl GetMonData
- adds r3, r0, 0
- ldr r6, =gExperienceTables
- lsls r1, r4, 2
- ldr r2, =gBaseStats
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x13]
- movs r0, 0xCA
- lsls r0, 1
- muls r0, r2
- adds r1, r0
- adds r1, r6
- ldr r1, [r1]
- subs r3, r1
- adds r4, 0x1
- lsls r4, 2
- adds r4, r0
- adds r4, r6
- ldr r2, [r4]
- subs r2, r1
- ldr r0, =gHealthBoxesIds
- add r0, r10
- ldrb r1, [r0]
- mov r0, r9
- negs r0, r0
- str r0, [sp]
- mov r0, r10
- bl SetBattleBarStruct
- movs r0, 0x21
- bl PlaySE
- ldr r0, =sub_8059400
- mov r1, r8
- str r0, [r1]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059330
-
- thumb_func_start sub_8059400
-sub_8059400: @ 8059400
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r6, r0, r1
- ldrh r1, [r6, 0x1C]
- movs r2, 0x1C
- ldrsh r0, [r6, r2]
- cmp r0, 0xC
- bgt _08059430
- adds r0, r1, 0x1
- strh r0, [r6, 0x1C]
- b _0805952C
- .pool
-_08059430:
- ldrb r0, [r6, 0x8]
- mov r9, r0
- ldrh r2, [r6, 0xA]
- mov r10, r2
- ldrb r7, [r6, 0xC]
- ldr r5, =gHealthBoxesIds
- adds r5, r7, r5
- ldrb r1, [r5]
- adds r0, r7, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8074AA0
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r5]
- bl SetHealthboxSpriteVisible
- lsls r4, 16
- asrs r4, 16
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- bne _0805952C
- movs r0, 0x21
- bl m4aSongNumStop
- movs r0, 0x64
- mov r1, r9
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x19
- bl GetMonData
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r3, =gExperienceTables
- adds r4, 0x1
- lsls r4, 2
- ldr r2, =gBaseStats
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x13]
- movs r0, 0xCA
- lsls r0, 1
- muls r0, r1
- adds r4, r0
- adds r4, r3
- ldr r1, [r4]
- str r1, [sp]
- mov r2, r10
- lsls r0, r2, 16
- asrs r4, r0, 16
- ldr r0, [sp, 0x4]
- adds r0, r4
- cmp r0, r1
- blt _08059510
- adds r0, r5, 0
- movs r1, 0x19
- mov r2, sp
- bl SetMonData
- adds r0, r5, 0
- bl CalculateMonStats
- ldr r2, [sp]
- add r0, sp, 0x4
- ldrh r0, [r0]
- subs r2, r0
- subs r2, r4, r2
- ldr r4, =gActiveBank
- ldrb r5, [r4]
- strb r7, [r4]
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x1
- movs r1, 0xB
- bl EmitCmd33
- strb r5, [r4]
- ldr r0, =sub_8059544
- str r0, [r6]
- b _0805952C
- .pool
-_08059510:
- str r0, [sp, 0x4]
- add r2, sp, 0x4
- adds r0, r5, 0
- movs r1, 0x19
- bl SetMonData
- ldr r1, =gBattleBankFunc
- lsls r0, r7, 2
- adds r0, r1
- ldr r1, =sub_80591A0
- str r1, [r0]
- mov r0, r8
- bl DestroyTask
-_0805952C:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059400
-
- thumb_func_start sub_8059544
-sub_8059544: @ 8059544
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldrb r4, [r0, 0xC]
- ldrb r6, [r0, 0x8]
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08059578
- ldr r1, =gBattlePartyID
- movs r0, 0x2
- adds r2, r4, 0
- eors r2, r0
- lsls r0, r2, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r6, r0
- bne _08059578
- adds r4, r2, 0
-_08059578:
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0
- bl move_anim_start_t4
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80595A4
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059544
-
- thumb_func_start sub_80595A4
-sub_80595A4: @ 80595A4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r2, r0, r1
- ldrb r5, [r2, 0xC]
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08059646
- ldrb r4, [r2, 0x8]
- movs r0, 0x64
- adds r1, r4, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r7, r1, r0
- adds r0, r7, 0
- movs r1, 0x38
- bl GetMonData
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08059624
- ldr r1, =gBattlePartyID
- movs r0, 0x2
- adds r2, r5, 0
- eors r2, r0
- lsls r0, r2, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- bne _08059624
- ldr r0, =gHealthBoxesIds
- adds r0, r2, r0
- ldrb r0, [r0]
- adds r1, r7, 0
- movs r2, 0
- bl UpdateHealthboxAttribute
- b _08059638
- .pool
-_08059624:
- ldr r0, =gHealthBoxesIds
- adds r0, r5, r0
- ldrb r0, [r0]
- movs r1, 0x64
- muls r1, r4
- ldr r2, =gPlayerParty
- adds r1, r2
- movs r2, 0
- bl UpdateHealthboxAttribute
-_08059638:
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_805965C
- str r0, [r1]
-_08059646:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80595A4
-
- thumb_func_start sub_805965C
-sub_805965C: @ 805965C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrb r1, [r4, 0x8]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x38
- bl GetMonData
- ldrb r0, [r4, 0xC]
- ldr r1, =gBattleBankFunc
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_80591A0
- str r1, [r0]
- adds r0, r5, 0
- bl DestroyTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805965C
-
- thumb_func_start sub_80596A8
-sub_80596A8: @ 80596A8
- push {r4-r6,lr}
- ldr r6, =gSprites
- ldr r5, =gBankSpriteIds
- ldr r4, =gActiveBank
- ldrb r2, [r4]
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r3, 0x22
- ldrsh r1, [r0, r3]
- movs r3, 0x26
- ldrsh r0, [r0, r3]
- adds r1, r0
- cmp r1, 0xA0
- ble _08059724
- ldr r1, =gBattlePartyID
- lsls r0, r2, 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
- bl nullsub_24
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
- ldr r1, =gHealthBoxesIds
- ldrb r0, [r4]
- adds r0, r1
- ldrb r0, [r0]
- bl SetHealthboxSpriteInvisible
- bl PlayerBufferExecCompleted
-_08059724:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80596A8
-
- thumb_func_start sub_8059744
-sub_8059744: @ 8059744
- push {r4-r6,lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r6, =gActiveBank
- ldrb r2, [r6]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08059798
- ldr r5, =gBankSpriteIds
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r1, =gHealthBoxesIds
- ldrb r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- bl SetHealthboxSpriteInvisible
- bl PlayerBufferExecCompleted
-_08059798:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059744
-
- thumb_func_start sub_80597B4
-sub_80597B4: @ 80597B4
- push {lr}
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _080597C6
- bl PlayerBufferExecCompleted
-_080597C6:
- pop {r0}
- bx r0
- thumb_func_end sub_80597B4
-
- thumb_func_start sub_80597CC
-sub_80597CC: @ 80597CC
- push {r4,lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0805980A
- ldr r1, =gBattleBankFunc
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8059828
- str r1, [r0]
- ldr r3, =gTasks
- ldr r1, =gUnknown_03005D7C
- ldrb r0, [r2]
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- ldrb r4, [r1, 0x8]
- bl DestroyTask
- bl FreeAllWindowBuffers
- adds r0, r4, 0
- bl sub_81B89AC
-_0805980A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80597CC
-
- thumb_func_start sub_8059828
-sub_8059828: @ 8059828
- push {lr}
- ldr r0, =gMain
- ldr r1, [r0, 0x4]
- ldr r0, =BattleMainCB2
- cmp r1, r0
- bne _08059898
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08059898
- ldr r0, =gUnknown_0203CEE8
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08059870
- ldr r0, =gUnknown_0203CEE9
- ldrb r1, [r0]
- ldr r2, =gUnknown_0203CF00
- movs r0, 0x1
- bl EmitCmd34
- b _0805987A
- .pool
-_08059870:
- movs r0, 0x1
- movs r1, 0x6
- movs r2, 0
- bl EmitCmd34
-_0805987A:
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- bne _08059894
- bl b_link_standby_message
-_08059894:
- bl PlayerBufferExecCompleted
-_08059898:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059828
-
- thumb_func_start sub_80598A4
-sub_80598A4: @ 80598A4
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080598CC
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_80598E0
- str r1, [r0]
- bl nullsub_35
- bl FreeAllWindowBuffers
- bl sub_81AABB0
-_080598CC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80598A4
-
- thumb_func_start sub_80598E0
-sub_80598E0: @ 80598E0
- push {lr}
- ldr r0, =gMain
- ldr r1, [r0, 0x4]
- ldr r0, =BattleMainCB2
- cmp r1, r0
- bne _08059906
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08059906
- ldr r0, =gScriptItemId
- ldrh r1, [r0]
- movs r0, 0x1
- bl EmitCmd35
- bl PlayerBufferExecCompleted
-_08059906:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80598E0
-
- thumb_func_start bx_wait_t1
-bx_wait_t1: @ 805991C
- push {lr}
- ldr r0, =gDoingBattleAnim
- ldrb r0, [r0]
- cmp r0, 0
- beq _08059942
- ldr r0, =gBattleSpritesDataPtr
- 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 _08059946
-_08059942:
- bl PlayerBufferExecCompleted
-_08059946:
- pop {r0}
- bx r0
- .pool
- thumb_func_end bx_wait_t1
-
- thumb_func_start bx_blink_t1
-bx_blink_t1: @ 8059958
- push {r4,lr}
- ldr r1, =gBankSpriteIds
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r0, r2
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x20
- bne _080599A4
- movs r3, 0
- movs r0, 0
- strh r0, [r4, 0x30]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- subs r0, 0x5
- ands r0, r1
- strb r0, [r2]
- ldr r0, =gDoingBattleAnim
- strb r3, [r0]
- bl PlayerBufferExecCompleted
- b _080599CE
- .pool
-_080599A4:
- ldrh r0, [r4, 0x30]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _080599C8
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_080599C8:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
-_080599CE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end bx_blink_t1
-
- thumb_func_start sub_80599D4
-sub_80599D4: @ 80599D4
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08059A02
- ldr r4, =gUnknown_03005D74
- ldrb r0, [r4]
- cmp r0, 0
- beq _08059A02
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- bl BattleDestroyCursorAt
- movs r0, 0
- strb r0, [r4]
- movs r0, 0
- bl BattleCreateCursorAt
-_08059A02:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08059A2C
- ldr r4, =gUnknown_03005D74
- ldrb r0, [r4]
- cmp r0, 0
- bne _08059A2C
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- bl BattleDestroyCursorAt
- movs r0, 0x1
- strb r0, [r4]
- movs r0, 0x1
- bl BattleCreateCursorAt
-_08059A2C:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _08059A7A
- str r2, [sp]
- movs r0, 0x18
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl sub_8056A3C
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_03005D74
- ldrb r0, [r0]
- cmp r0, 0
- beq _08059A6C
- movs r0, 0x1
- movs r1, 0xE
- movs r2, 0
- bl EmitCmd33
- b _08059A76
- .pool
-_08059A6C:
- movs r0, 0x1
- movs r1, 0xD
- movs r2, 0
- bl EmitCmd33
-_08059A76:
- bl PlayerBufferExecCompleted
-_08059A7A:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08059AA0
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x18
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl sub_8056A3C
- movs r0, 0x5
- bl PlaySE
- bl PlayerBufferExecCompleted
-_08059AA0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80599D4
-
- thumb_func_start sub_8059AAC
-sub_8059AAC: @ 8059AAC
- push {r4-r7,lr}
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- lsls r1, 9
- ldr r3, =gBattleBufferA + 4
- ldr r2, =gUnknown_03005D78
- movs r0, 0
- strb r0, [r2]
- movs r5, 0
- ldr r7, =gDisplayedStringBattle
- adds r4, r1, r3
- adds r6, r2, 0
-_08059AC4:
- lsls r0, r5, 24
- lsrs r0, 24
- bl battle_menu_cursor_related
- ldrh r1, [r4]
- movs r0, 0xD
- muls r1, r0
- ldr r0, =gMoveNames
- adds r1, r0
- adds r0, r7, 0
- bl StringCopy
- adds r1, r5, 0x3
- lsls r1, 24
- lsrs r1, 24
- adds r0, r7, 0
- bl sub_814F9EC
- ldrh r0, [r4]
- cmp r0, 0
- beq _08059AF4
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
-_08059AF4:
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _08059AC4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059AAC
-
- thumb_func_start sub_8059B18
-sub_8059B18: @ 8059B18
- push {r4,lr}
- ldr r4, =gDisplayedStringBattle
- ldr r1, =gText_MoveInterfacePP
- adds r0, r4, 0
- bl StringCopy
- adds r0, r4, 0
- movs r1, 0x7
- bl sub_814F9EC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059B18
-
- thumb_func_start sub_8059B3C
-sub_8059B3C: @ 8059B3C
- push {r4-r7,lr}
- ldr r5, =gBattleBufferA
- ldr r7, =gActiveBank
- ldrb r0, [r7]
- lsls r0, 9
- adds r1, r5, 0x2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08059B98
- bl SetPpNumbersPaletteInMoveSelection
- ldrb r1, [r7]
- lsls r4, r1, 9
- adds r0, r5, 0x4
- adds r4, r0
- ldr r6, =gDisplayedStringBattle
- ldr r5, =gMoveSelectionCursor
- adds r1, r5
- adds r0, r4, 0
- adds r0, 0x8
- ldrb r1, [r1]
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r6, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- movs r1, 0xBA
- strb r1, [r0]
- adds r0, 0x1
- ldrb r1, [r7]
- adds r1, r5
- adds r4, 0xC
- ldrb r1, [r1]
- adds r4, r1
- ldrb r1, [r4]
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r0, r6, 0
- movs r1, 0x9
- bl sub_814F9EC
-_08059B98:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059B3C
-
- thumb_func_start sub_8059BB0
-sub_8059BB0: @ 8059BB0
- push {r4-r6,lr}
- ldr r5, =gActiveBank
- ldrb r4, [r5]
- lsls r4, 9
- ldr r0, =gBattleBufferA + 4
- adds r4, r0
- ldr r6, =gDisplayedStringBattle
- ldr r1, =gText_MoveInterfaceType
- adds r0, r6, 0
- bl StringCopy
- movs r1, 0xFC
- strb r1, [r0]
- adds r0, 0x1
- movs r1, 0x6
- strb r1, [r0]
- adds r0, 0x1
- movs r1, 0x1
- strb r1, [r0]
- adds r0, 0x1
- ldr r3, =gBattleMoves
- ldr r2, =gMoveSelectionCursor
- ldrb r1, [r5]
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 1
- adds r4, r1
- ldrh r2, [r4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r1, 0x2]
- lsls r1, r2, 3
- subs r1, r2
- ldr r2, =gTypeNames
- adds r1, r2
- bl StringCopy
- adds r0, r6, 0
- movs r1, 0xA
- bl sub_814F9EC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059BB0
-
- thumb_func_start battle_menu_cursor_related_2
-battle_menu_cursor_related_2: @ 8059C28
- push {lr}
- sub sp, 0x10
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- lsls r1, 24
- lsrs r1, 24
- add r2, sp, 0xC
- adds r0, r1, 0x1
- strh r0, [r2]
- adds r0, r2, 0
- adds r1, 0x2
- strh r1, [r0, 0x2]
- movs r1, 0x1
- adds r0, r3, 0
- ands r0, r1
- lsls r2, r0, 3
- adds r2, r0
- adds r2, 0x1
- movs r0, 0x2
- ands r3, r0
- adds r3, 0x37
- str r1, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- add r1, sp, 0xC
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x10
- pop {r0}
- bx r0
- thumb_func_end battle_menu_cursor_related_2
-
- thumb_func_start battle_menu_cursor_related
-battle_menu_cursor_related: @ 8059C70
- push {lr}
- sub sp, 0x10
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- add r0, sp, 0xC
- ldr r1, =0x00001016
- strh r1, [r0]
- strh r1, [r0, 0x2]
- movs r1, 0x1
- adds r0, r3, 0
- ands r0, r1
- lsls r2, r0, 3
- adds r2, r0
- adds r2, 0x1
- movs r0, 0x2
- ands r3, r0
- adds r3, 0x37
- str r1, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- add r1, sp, 0xC
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x10
- pop {r0}
- bx r0
- .pool
- thumb_func_end battle_menu_cursor_related
-
- thumb_func_start ActionSelectionCreateCursorAt
-ActionSelectionCreateCursorAt: @ 8059CB4
- push {r4,lr}
- sub sp, 0x10
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- add r0, sp, 0xC
- movs r4, 0x1
- strh r4, [r0]
- movs r1, 0x2
- strh r1, [r0, 0x2]
- adds r0, r3, 0
- ands r0, r4
- lsls r2, r0, 3
- subs r2, r0
- adds r2, 0x10
- lsls r2, 24
- lsrs r2, 24
- ands r3, r1
- adds r3, 0x23
- str r4, [sp]
- str r1, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- add r1, sp, 0xC
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ActionSelectionCreateCursorAt
-
- thumb_func_start ActionSelectionDestroyCursorAt
-ActionSelectionDestroyCursorAt: @ 8059CF8
- push {lr}
- sub sp, 0x10
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- add r0, sp, 0xC
- ldr r1, =0x00001016
- strh r1, [r0]
- strh r1, [r0, 0x2]
- movs r1, 0x1
- adds r0, r3, 0
- ands r0, r1
- lsls r2, r0, 3
- subs r2, r0
- adds r2, 0x10
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x2
- ands r3, r0
- adds r3, 0x23
- str r1, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- add r1, sp, 0xC
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x10
- pop {r0}
- bx r0
- .pool
- thumb_func_end ActionSelectionDestroyCursorAt
-
- thumb_func_start sub_8059D40
-sub_8059D40: @ 8059D40
- push {lr}
- ldr r0, =ReshowBattleScreenAfterMenu
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059D40
-
- thumb_func_start sub_8059D50
-sub_8059D50: @ 8059D50
- push {lr}
- ldr r0, =ReshowBattleScreenAfterMenu
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059D50
-
- thumb_func_start sub_8059D60
-sub_8059D60: @ 8059D60
- push {lr}
- ldr r0, =gBattleSpritesDataPtr
- 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 _08059D82
- bl PlayerBufferExecCompleted
-_08059D82:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059D60
-
- thumb_func_start bx_8030B2C
-bx_8030B2C: @ 8059D90
- push {lr}
- ldr r0, =gBattleSpritesDataPtr
- 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 _08059DB2
- bl PlayerBufferExecCompleted
-_08059DB2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end bx_8030B2C
-
- thumb_func_start b_link_standby_message
-b_link_standby_message: @ 8059DC0
- push {lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08059DE0
- ldr r0, =gBattle_BG0_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG0_Y
- strh r1, [r0]
- ldr r0, =gText_LinkStandby
- movs r1, 0
- bl sub_814F9EC
-_08059DE0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end b_link_standby_message
-
- thumb_func_start dp01t_00_1_getattr
-dp01t_00_1_getattr: @ 8059DF4
- push {r4-r6,lr}
- sub sp, 0x100
- movs r6, 0
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0
- bne _08059E2C
- ldr r0, =gBattlePartyID
- lsls r1, r2, 1
- adds r1, r0
- ldrb r0, [r1]
- mov r1, sp
- bl dp01_getattr_by_ch1_for_player_pokemon_
- adds r6, r0, 0
- b _08059E4E
- .pool
-_08059E2C:
- ldrb r4, [r1]
- movs r5, 0
-_08059E30:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _08059E46
- lsls r0, r5, 24
- lsrs r0, 24
- mov r2, sp
- adds r1, r2, r6
- bl dp01_getattr_by_ch1_for_player_pokemon_
- adds r6, r0
-_08059E46:
- lsrs r4, 1
- adds r5, 0x1
- cmp r5, 0x5
- ble _08059E30
-_08059E4E:
- lsls r1, r6, 16
- lsrs r1, 16
- movs r0, 0x1
- mov r2, sp
- bl EmitDataTransfer
- bl PlayerBufferExecCompleted
- add sp, 0x100
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end dp01t_00_1_getattr
-
- thumb_func_start dp01_getattr_by_ch1_for_player_pokemon_
-dp01_getattr_by_ch1_for_player_pokemon_: @ 8059E68
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x90
- adds r7, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- ldr r2, =gBattleBufferA
- ldr r3, =gActiveBank
- ldrb r0, [r3]
- lsls r0, 9
- adds r1, r2, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x3B
- bls _08059E92
- bl _0805A5FE
-_08059E92:
- lsls r0, 2
- ldr r1, =_08059EA8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08059EA8:
- .4byte _08059F98
- .4byte _0805A1BC
- .4byte _0805A1CC
- .4byte _0805A1DC
- .4byte _0805A244
- .4byte _0805A244
- .4byte _0805A244
- .4byte _0805A244
- .4byte _0805A260
- .4byte _0805A29C
- .4byte _0805A29C
- .4byte _0805A29C
- .4byte _0805A29C
- .4byte _0805A5FE
- .4byte _0805A5FE
- .4byte _0805A5FE
- .4byte _0805A5FE
- .4byte _0805A2B8
- .4byte _0805A2C8
- .4byte _0805A2F8
- .4byte _0805A308
- .4byte _0805A318
- .4byte _0805A328
- .4byte _0805A338
- .4byte _0805A348
- .4byte _0805A358
- .4byte _0805A368
- .4byte _0805A378
- .4byte _0805A388
- .4byte _0805A398
- .4byte _0805A3A8
- .4byte _0805A3B8
- .4byte _0805A408
- .4byte _0805A418
- .4byte _0805A428
- .4byte _0805A438
- .4byte _0805A448
- .4byte _0805A458
- .4byte _0805A468
- .4byte _0805A478
- .4byte _0805A488
- .4byte _0805A4BC
- .4byte _0805A4CC
- .4byte _0805A4DC
- .4byte _0805A4EC
- .4byte _0805A4FC
- .4byte _0805A50C
- .4byte _0805A51C
- .4byte _0805A52C
- .4byte _0805A54C
- .4byte _0805A55C
- .4byte _0805A56C
- .4byte _0805A57C
- .4byte _0805A58C
- .4byte _0805A59C
- .4byte _0805A5AC
- .4byte _0805A5BC
- .4byte _0805A5CC
- .4byte _0805A5DC
- .4byte _0805A5EC
-_08059F98:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2E]
- movs r6, 0
- add r0, sp, 0x24
- mov r9, r0
- movs r1, 0x3B
- add r1, sp
- mov r10, r1
- mov r2, sp
- adds r2, 0x2B
- str r2, [sp, 0x80]
- mov r0, sp
- adds r0, 0x2A
- str r0, [sp, 0x7C]
- mov r1, sp
- adds r1, 0x68
- str r1, [sp, 0x8C]
- adds r2, 0x5
- str r2, [sp, 0x84]
- adds r0, 0x12
- str r0, [sp, 0x88]
- mov r8, r4
- add r4, sp, 0xC
-_08059FE4:
- adds r1, r6, 0
- adds r1, 0xD
- mov r0, r8
- bl GetMonData
- strh r0, [r4]
- adds r1, r6, 0
- adds r1, 0x11
- mov r0, r8
- bl GetMonData
- mov r2, r9
- adds r1, r2, r6
- strb r0, [r1]
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _08059FE4
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x15
- bl GetMonData
- mov r1, r10
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- ldr r2, [sp, 0x80]
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x19
- bl GetMonData
- str r0, [sp, 0x44]
- adds r0, r4, 0
- movs r1, 0x27
- bl GetMonData
- mov r3, sp
- movs r5, 0x1F
- ands r0, r5
- ldrb r2, [r3, 0x14]
- movs r1, 0x20
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x14]
- adds r0, r4, 0
- movs r1, 0x28
- bl GetMonData
- mov r3, sp
- movs r6, 0x1F
- ands r0, r6
- lsls r0, 5
- ldrh r2, [r3, 0x14]
- ldr r1, =0xfffffc1f
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x14]
- adds r0, r4, 0
- movs r1, 0x29
- bl GetMonData
- mov r3, sp
- ands r0, r5
- lsls r0, 2
- ldrb r2, [r3, 0x15]
- movs r1, 0x7D
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x15]
- adds r0, r4, 0
- movs r1, 0x2A
- bl GetMonData
- movs r1, 0x1F
- ands r1, r0
- lsls r1, 15
- ldr r0, [sp, 0x14]
- ldr r2, =0xfff07fff
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x14]
- adds r0, r4, 0
- movs r1, 0x2B
- bl GetMonData
- mov r3, sp
- ands r0, r6
- lsls r0, 4
- ldrh r2, [r3, 0x16]
- ldr r1, =0xfffffe0f
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x16]
- adds r0, r4, 0
- movs r1, 0x2C
- bl GetMonData
- mov r3, sp
- ands r0, r5
- lsls r0, 1
- ldrb r2, [r3, 0x17]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- str r0, [sp, 0x48]
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- str r0, [sp, 0x4C]
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- ldr r1, [sp, 0x7C]
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x28]
- adds r0, r4, 0
- movs r1, 0x3A
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2C]
- adds r0, r4, 0
- movs r1, 0x3B
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2]
- adds r0, r4, 0
- movs r1, 0x3C
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x4]
- adds r0, r4, 0
- movs r1, 0x3D
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x6]
- adds r0, r4, 0
- movs r1, 0x3E
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x8]
- adds r0, r4, 0
- movs r1, 0x3F
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0xA]
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- mov r3, sp
- movs r1, 0x1
- ands r0, r1
- lsls r0, 6
- ldrb r2, [r3, 0x17]
- movs r1, 0x41
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0x2E
- bl GetMonData
- mov r3, sp
- lsls r0, 7
- ldrb r2, [r3, 0x17]
- movs r1, 0x7F
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- str r0, [sp, 0x54]
- adds r0, r4, 0
- movs r1, 0x2
- ldr r2, [sp, 0x8C]
- bl GetMonData
- ldr r0, [sp, 0x84]
- ldr r1, [sp, 0x8C]
- bl StringCopy10
- adds r0, r4, 0
- movs r1, 0x7
- ldr r2, [sp, 0x88]
- bl GetMonData
- mov r2, sp
- movs r6, 0
-_0805A19C:
- adds r0, r7, r6
- adds r1, r2, r6
- ldrb r1, [r1]
- strb r1, [r0]
- adds r6, 0x1
- cmp r6, 0x57
- bls _0805A19C
- b _0805A5FE
- .pool
-_0805A1BC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- b _0805A536
- .pool
-_0805A1CC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- b _0805A536
- .pool
-_0805A1DC:
- movs r6, 0
- add r2, sp, 0x58
- mov r9, r2
- add r0, sp, 0x60
- mov r10, r0
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- mov r8, r9
-_0805A1F2:
- adds r1, r6, 0
- adds r1, 0xD
- adds r0, r4, 0
- bl GetMonData
- mov r1, r8
- strh r0, [r1]
- adds r1, r6, 0
- adds r1, 0x11
- adds r0, r4, 0
- bl GetMonData
- mov r2, r10
- adds r1, r2, r6
- strb r0, [r1]
- movs r0, 0x2
- add r8, r0
- adds r6, 0x1
- cmp r6, 0x3
- ble _0805A1F2
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- bl GetMonData
- mov r1, r9
- strb r0, [r1, 0xC]
- mov r2, r9
- movs r6, 0
-_0805A230:
- adds r0, r7, r6
- adds r1, r2, r6
- ldrb r1, [r1]
- strb r1, [r0]
- adds r6, 0x1
- cmp r6, 0xF
- bls _0805A230
- b _0805A5FE
- .pool
-_0805A244:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldrb r1, [r3]
- lsls r1, 9
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- adds r1, 0x9
- b _0805A536
- .pool
-_0805A260:
- movs r6, 0
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r2, =gPlayerParty
- mov r8, r2
-_0805A26C:
- adds r1, r6, 0
- adds r1, 0x11
- mov r2, r8
- adds r0, r4, r2
- bl GetMonData
- adds r1, r7, r6
- strb r0, [r1]
- adds r6, 0x1
- cmp r6, 0x3
- ble _0805A26C
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- bl GetMonData
- adds r1, r7, r6
- strb r0, [r1]
- adds r6, 0x1
- b _0805A5FE
- .pool
-_0805A29C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldrb r1, [r3]
- lsls r1, 9
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- adds r1, 0x8
- b _0805A5F6
- .pool
-_0805A2B8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1
- b _0805A2D2
- .pool
-_0805A2C8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x19
-_0805A2D2:
- bl GetMonData
- adds r1, r0, 0
- strb r1, [r7]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r0, 16
- strb r0, [r7, 0x2]
- movs r6, 0x3
- b _0805A5FE
- .pool
-_0805A2F8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1A
- b _0805A5F6
- .pool
-_0805A308:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1B
- b _0805A5F6
- .pool
-_0805A318:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1C
- b _0805A5F6
- .pool
-_0805A328:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1D
- b _0805A5F6
- .pool
-_0805A338:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1E
- b _0805A5F6
- .pool
-_0805A348:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1F
- b _0805A5F6
- .pool
-_0805A358:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x20
- b _0805A5F6
- .pool
-_0805A368:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x22
- b _0805A5F6
- .pool
-_0805A378:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x23
- b _0805A5F6
- .pool
-_0805A388:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x24
- b _0805A5F6
- .pool
-_0805A398:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x25
- b _0805A5F6
- .pool
-_0805A3A8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x26
- b _0805A5F6
- .pool
-_0805A3B8:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x27
- bl GetMonData
- strb r0, [r7]
- adds r0, r4, 0
- movs r1, 0x28
- bl GetMonData
- strb r0, [r7, 0x1]
- adds r0, r4, 0
- movs r1, 0x29
- bl GetMonData
- strb r0, [r7, 0x2]
- adds r0, r4, 0
- movs r1, 0x2A
- bl GetMonData
- strb r0, [r7, 0x3]
- adds r0, r4, 0
- movs r1, 0x2B
- bl GetMonData
- strb r0, [r7, 0x4]
- adds r0, r4, 0
- movs r1, 0x2C
- bl GetMonData
- strb r0, [r7, 0x5]
- movs r6, 0x6
- b _0805A5FE
- .pool
-_0805A408:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x27
- b _0805A5F6
- .pool
-_0805A418:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x28
- b _0805A5F6
- .pool
-_0805A428:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x29
- b _0805A5F6
- .pool
-_0805A438:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2A
- b _0805A5F6
- .pool
-_0805A448:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2B
- b _0805A5F6
- .pool
-_0805A458:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2C
- b _0805A5F6
- .pool
-_0805A468:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0
- b _0805A492
- .pool
-_0805A478:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x9
- b _0805A536
- .pool
-_0805A488:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x37
-_0805A492:
- bl GetMonData
- adds r1, r0, 0
- strb r1, [r7]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r0, 16
- strb r0, [r7, 0x2]
- lsrs r0, r1, 24
- strb r0, [r7, 0x3]
- movs r6, 0x4
- b _0805A5FE
- .pool
-_0805A4BC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x38
- b _0805A5F6
- .pool
-_0805A4CC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x39
- b _0805A536
- .pool
-_0805A4DC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3A
- b _0805A536
- .pool
-_0805A4EC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3B
- b _0805A536
- .pool
-_0805A4FC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3C
- b _0805A536
- .pool
-_0805A50C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3D
- b _0805A536
- .pool
-_0805A51C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3E
- b _0805A536
- .pool
-_0805A52C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3F
-_0805A536:
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- strb r0, [r7]
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r6, 0x2
- b _0805A5FE
- .pool
-_0805A54C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x16
- b _0805A5F6
- .pool
-_0805A55C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x17
- b _0805A5F6
- .pool
-_0805A56C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x18
- b _0805A5F6
- .pool
-_0805A57C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x21
- b _0805A5F6
- .pool
-_0805A58C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2F
- b _0805A5F6
- .pool
-_0805A59C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x30
- b _0805A5F6
- .pool
-_0805A5AC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x32
- b _0805A5F6
- .pool
-_0805A5BC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x33
- b _0805A5F6
- .pool
-_0805A5CC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x34
- b _0805A5F6
- .pool
-_0805A5DC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x35
- b _0805A5F6
- .pool
-_0805A5EC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x36
-_0805A5F6:
- bl GetMonData
- strb r0, [r7]
- movs r6, 0x1
-_0805A5FE:
- adds r0, r6, 0
- add sp, 0x90
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end dp01_getattr_by_ch1_for_player_pokemon_
-
- thumb_func_start sub_805A614
-sub_805A614: @ 805A614
- push {r4-r7,lr}
- sub sp, 0x58
- ldr r2, =gBattlePartyID
- ldr r5, =gActiveBank
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- adds r4, r2, 0
- muls r4, r0
- ldr r3, =gBattleBufferA
- lsls r1, 9
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r2, [r0]
- ldr r0, =gPlayerParty
- adds r0, r2, r0
- adds r6, r4, r0
- mov r0, sp
- adds r4, r0, r2
- movs r2, 0
- adds r0, r3, 0x2
- adds r1, r0
- adds r7, r5, 0
- mov r12, r3
- ldrb r1, [r1]
- cmp r2, r1
- bcs _0805A66A
- adds r3, r0, 0
-_0805A650:
- adds r1, r4, r2
- adds r0, r6, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldrb r0, [r5]
- lsls r0, 9
- adds r0, r3
- ldrb r0, [r0]
- cmp r2, r0
- bcc _0805A650
-_0805A66A:
- ldrb r0, [r7]
- lsls r0, 9
- mov r1, r12
- adds r1, 0x2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- adds r2, r4, 0
- bl EmitDataTransfer
- bl PlayerBufferExecCompleted
- add sp, 0x58
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805A614
-
- thumb_func_start dp01t_02_1_setattr
-dp01t_02_1_setattr: @ 805A69C
- push {r4,r5,lr}
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0
- bne _0805A6CC
- ldr r0, =gBattlePartyID
- lsls r1, r2, 1
- adds r1, r0
- ldrb r0, [r1]
- bl dp01_setattr_by_ch1_for_player_pokemon
- b _0805A6EA
- .pool
-_0805A6CC:
- ldrb r4, [r1]
- movs r5, 0
-_0805A6D0:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _0805A6DE
- adds r0, r5, 0
- bl dp01_setattr_by_ch1_for_player_pokemon
-_0805A6DE:
- lsrs r4, 1
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _0805A6D0
-_0805A6EA:
- bl PlayerBufferExecCompleted
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end dp01t_02_1_setattr
-
- thumb_func_start dp01_setattr_by_ch1_for_player_pokemon
-dp01_setattr_by_ch1_for_player_pokemon: @ 805A6F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 9
- ldr r2, =gBattleBufferA + 3
- adds r3, r0, r2
- adds r6, r3, 0
- subs r1, r2, 0x2
- adds r0, r1
- ldrb r0, [r0]
- adds r7, r2, 0
- cmp r0, 0x3B
- bls _0805A720
- bl _0805B0BA
-_0805A720:
- lsls r0, 2
- ldr r1, =_0805A738
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0805A738:
- .4byte _0805A828
- .4byte _0805A9C0
- .4byte _0805A9E0
- .4byte _0805AA00
- .4byte _0805AA58
- .4byte _0805AA58
- .4byte _0805AA58
- .4byte _0805AA58
- .4byte _0805AA80
- .4byte _0805AAE4
- .4byte _0805AAE4
- .4byte _0805AAE4
- .4byte _0805AAE4
- .4byte _0805B0BA
- .4byte _0805B0BA
- .4byte _0805B0BA
- .4byte _0805B0BA
- .4byte _0805AB14
- .4byte _0805AB34
- .4byte _0805AB54
- .4byte _0805AB74
- .4byte _0805AB94
- .4byte _0805ABB4
- .4byte _0805ABD4
- .4byte _0805ABF4
- .4byte _0805AC14
- .4byte _0805AC34
- .4byte _0805AC54
- .4byte _0805AC74
- .4byte _0805AC94
- .4byte _0805ACB4
- .4byte _0805ACD4
- .4byte _0805AD44
- .4byte _0805AD64
- .4byte _0805AD84
- .4byte _0805ADA4
- .4byte _0805ADC4
- .4byte _0805ADE4
- .4byte _0805AE04
- .4byte _0805AE24
- .4byte _0805AE44
- .4byte _0805AE64
- .4byte _0805AE84
- .4byte _0805AEA4
- .4byte _0805AEC4
- .4byte _0805AEE4
- .4byte _0805AF04
- .4byte _0805AF24
- .4byte _0805AF44
- .4byte _0805AF64
- .4byte _0805AF84
- .4byte _0805AFA4
- .4byte _0805AFC4
- .4byte _0805AFE4
- .4byte _0805B004
- .4byte _0805B024
- .4byte _0805B044
- .4byte _0805B064
- .4byte _0805B084
- .4byte _0805B0A4
-_0805A828:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- adds r2, r6, 0
- bl SetMonData
- adds r2, r6, 0
- adds r2, 0x2E
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- movs r0, 0
- mov r8, r0
- movs r0, 0x3B
- adds r0, r6
- mov r10, r0
- adds r0, r6, 0
- adds r0, 0x2B
- str r0, [sp, 0x20]
- adds r0, 0x19
- str r0, [sp, 0x28]
- adds r0, 0x4
- str r0, [sp, 0x2C]
- adds r0, 0x4
- str r0, [sp, 0x30]
- subs r0, 0x22
- str r0, [sp, 0x1C]
- subs r0, 0x2
- str r0, [sp, 0x18]
- adds r0, 0x4
- str r0, [sp, 0x24]
- adds r0, r6, 0x2
- str r0, [sp, 0x4]
- adds r0, r6, 0x4
- str r0, [sp, 0x8]
- adds r0, r6, 0x6
- str r0, [sp, 0xC]
- adds r0, 0x2
- str r0, [sp, 0x10]
- adds r0, 0x2
- str r0, [sp, 0x14]
- mov r9, r4
- adds r7, r6, 0
- adds r7, 0x24
- adds r4, r6, 0
- adds r4, 0xC
-_0805A88E:
- mov r1, r8
- adds r1, 0xD
- mov r0, r9
- adds r2, r4, 0
- bl SetMonData
- mov r1, r8
- adds r1, 0x11
- mov r0, r9
- adds r2, r7, 0
- bl SetMonData
- adds r7, 0x1
- adds r4, 0x2
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x3
- ble _0805A88E
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x15
- mov r2, r10
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x20
- ldr r2, [sp, 0x20]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x19
- ldr r2, [sp, 0x28]
- bl SetMonData
- ldrb r0, [r6, 0x14]
- lsls r0, 27
- lsrs r0, 27
- mov r1, sp
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x27
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrh r0, [r6, 0x14]
- lsls r0, 22
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x28
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrb r0, [r6, 0x15]
- lsls r0, 25
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x29
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldr r0, [r6, 0x14]
- lsls r0, 12
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2A
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrh r0, [r6, 0x16]
- lsls r0, 23
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2B
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrb r0, [r6, 0x17]
- lsls r0, 26
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2C
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0
- ldr r2, [sp, 0x2C]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x37
- ldr r2, [sp, 0x30]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x38
- ldr r2, [sp, 0x1C]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x39
- ldr r2, [sp, 0x18]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3A
- ldr r2, [sp, 0x24]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3B
- ldr r2, [sp, 0x4]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3C
- ldr r2, [sp, 0x8]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3D
- ldr r2, [sp, 0xC]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3E
- ldr r2, [sp, 0x10]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3F
- ldr r2, [sp, 0x14]
- bl SetMonData
- b _0805B0BA
- .pool
-_0805A9C0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0xB
- bl SetMonData
- b _0805B0BA
- .pool
-_0805A9E0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0xC
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AA00:
- movs r0, 0
- mov r8, r0
- movs r0, 0xC
- adds r0, r3
- mov r9, r0
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r7, r1, r0
- adds r6, r3, 0
- adds r6, 0x8
- adds r4, r3, 0
-_0805AA1A:
- mov r1, r8
- adds r1, 0xD
- adds r0, r7, 0
- adds r2, r4, 0
- bl SetMonData
- mov r1, r8
- adds r1, 0x11
- adds r0, r7, 0
- adds r2, r6, 0
- bl SetMonData
- adds r6, 0x1
- adds r4, 0x2
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x3
- ble _0805AA1A
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- mov r2, r9
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AA58:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r3, =gBattleBufferA
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r1, 0x9
- b _0805AAFC
- .pool
-_0805AA80:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- ldr r5, =gActiveBank
- ldrb r2, [r5]
- lsls r2, 9
- adds r2, r7
- adds r0, r4, 0
- movs r1, 0x11
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x1
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x12
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x2
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x13
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x3
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x14
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x4
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x15
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AAE4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r3, =gBattleBufferA
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r1, 0x8
-_0805AAFC:
- adds r3, 0x3
- adds r2, r3
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AB14:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AB34:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x19
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AB54:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1A
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AB74:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1B
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AB94:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1C
- bl SetMonData
- b _0805B0BA
- .pool
-_0805ABB4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1D
- bl SetMonData
- b _0805B0BA
- .pool
-_0805ABD4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1E
- bl SetMonData
- b _0805B0BA
- .pool
-_0805ABF4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1F
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AC14:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x20
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AC34:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x22
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AC54:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x23
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AC74:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x24
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AC94:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x25
- bl SetMonData
- b _0805B0BA
- .pool
-_0805ACB4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x26
- bl SetMonData
- b _0805B0BA
- .pool
-_0805ACD4:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- ldr r5, =gActiveBank
- ldrb r2, [r5]
- lsls r2, 9
- adds r2, r7
- adds r0, r4, 0
- movs r1, 0x27
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x1
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x28
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x2
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x29
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x3
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x2A
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x4
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x2B
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x5
- adds r2, r0
- adds r0, r4, 0
- b _0805ADF4
- .pool
-_0805AD44:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x27
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AD64:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x28
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AD84:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x29
- bl SetMonData
- b _0805B0BA
- .pool
-_0805ADA4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2A
- bl SetMonData
- b _0805B0BA
- .pool
-_0805ADC4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2B
- bl SetMonData
- b _0805B0BA
- .pool
-_0805ADE4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
-_0805ADF4:
- movs r1, 0x2C
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AE04:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AE24:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x9
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AE44:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x37
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AE64:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x38
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AE84:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x39
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AEA4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3A
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AEC4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3B
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AEE4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3C
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AF04:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3D
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AF24:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3E
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AF44:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3F
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AF64:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x16
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AF84:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x17
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AFA4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x18
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AFC4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x21
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AFE4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2F
- bl SetMonData
- b _0805B0BA
- .pool
-_0805B004:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x30
- bl SetMonData
- b _0805B0BA
- .pool
-_0805B024:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x32
- bl SetMonData
- b _0805B0BA
- .pool
-_0805B044:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x33
- bl SetMonData
- b _0805B0BA
- .pool
-_0805B064:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x34
- bl SetMonData
- b _0805B0BA
- .pool
-_0805B084:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x35
- bl SetMonData
- b _0805B0BA
- .pool
-_0805B0A4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x36
- bl SetMonData
-_0805B0BA:
- ldr r2, =gBattlePartyID
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl sub_805E990
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01_setattr_by_ch1_for_player_pokemon
-
- thumb_func_start sub_805B0F0
-sub_805B0F0: @ 805B0F0
- push {r4-r7,lr}
- ldr r1, =gBattlePartyID
- ldr r7, =gActiveBank
- ldrb r2, [r7]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- adds r3, r1, 0
- muls r3, r0
- ldr r4, =gBattleBufferA
- lsls r2, 9
- adds r0, r4, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r5, r3, r0
- movs r3, 0
- adds r0, r4, 0x2
- adds r2, r0
- ldrb r2, [r2]
- cmp r3, r2
- bcs _0805B148
- adds r6, r4, 0
- adds r2, r7, 0
- adds r4, r0, 0
-_0805B126:
- adds r1, r5, r3
- ldrb r0, [r2]
- lsls r0, 9
- adds r0, 0x3
- adds r0, r3, r0
- adds r0, r6
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r0, [r2]
- lsls r0, 9
- adds r0, r4
- ldrb r0, [r0]
- cmp r3, r0
- bcc _0805B126
-_0805B148:
- bl PlayerBufferExecCompleted
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805B0F0
-
- thumb_func_start sub_805B164
-sub_805B164: @ 805B164
- push {r4,lr}
- ldr r2, =gBattlePartyID
- ldr r4, =gActiveBank
- ldrb r1, [r4]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl BattleLoadPlayerMonSpriteGfx
- ldr r2, =gSprites
- ldr r0, =gBankSpriteIds
- ldrb r3, [r4]
- adds r0, r3, r0
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_0802E404
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805B164
-
- thumb_func_start sub_805B1CC
-sub_805B1CC: @ 805B1CC
- push {r4-r6,lr}
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- ldr r4, =gBattleBufferA
- lsls r1, r0, 9
- adds r6, r4, 0x2
- adds r1, r6
- ldrb r1, [r1]
- bl sub_805EF84
- ldr r2, =gBattlePartyID
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r2
- lsls r0, 9
- adds r4, 0x1
- adds r0, r4
- ldrb r0, [r0]
- movs r4, 0
- strh r0, [r1]
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl BattleLoadPlayerMonSpriteGfx
- ldr r1, =gActionSelectionCursor
- ldrb r0, [r5]
- adds r0, r1
- strb r4, [r0]
- ldr r1, =gMoveSelectionCursor
- ldrb r0, [r5]
- adds r0, r1
- strb r4, [r0]
- ldrb r0, [r5]
- lsls r1, r0, 9
- adds r1, r6
- ldrb r1, [r1]
- bl sub_805B258
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_805902C
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805B1CC
-
- thumb_func_start sub_805B258
-sub_805B258: @ 805B258
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_805EF84
- ldr r0, =gBattlePartyID
- lsls r2, r6, 1
- adds r2, r0
- ldr r0, =gBattleBufferA
- lsls r1, r6, 9
- adds r0, 0x1
- adds r1, r0
- ldrb r0, [r1]
- strh r0, [r2]
- ldrh r1, [r2]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- mov r8, r0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r0, =sub_805D714
- bl CreateInvisibleSpriteWithCallback
- ldr r1, =gUnknown_03005D7C
- mov r9, r1
- add r9, r6
- mov r1, r9
- strb r0, [r1]
- adds r0, r6, 0
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r8
- bl sub_806A068
- ldr r0, =gUnknown_0202499C
- mov r10, r0
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_80A5C6C
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- bl sub_80A6138
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- bl sub_80A82E4
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r10
- adds r1, r5, 0
- adds r2, r4, 0
- bl CreateSprite
- ldr r4, =gBankSpriteIds
- adds r4, r6, r4
- strb r0, [r4]
- ldr r5, =gSprites
- mov r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r4]
- strh r1, [r0, 0x30]
- mov r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x32]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x2E]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x32]
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- lsls r3, r6, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =gBattleMonForms
- adds r6, r1
- ldrb r1, [r6]
- bl StartSpriteAnim
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =SpriteCallbackDummy
- str r1, [r0]
- movs r0, 0
- movs r1, 0xFF
- bl sub_80753E8
- mov r1, r9
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x2E]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805B258
-
- thumb_func_start sub_805B3D4
-sub_805B3D4: @ 805B3D4
- push {r4-r6,lr}
- ldr r1, =gBattleBufferA
- ldr r6, =gActiveBank
- ldrb r2, [r6]
- lsls r0, r2, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r3, [r0]
- cmp r3, 0
- bne _0805B41C
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- strb r3, [r0, 0x4]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_805B464
- str r1, [r0]
- b _0805B452
- .pool
-_0805B41C:
- ldr r5, =gBankSpriteIds
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r1, =gHealthBoxesIds
- ldrb r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- bl SetHealthboxSpriteInvisible
- bl PlayerBufferExecCompleted
-_0805B452:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805B3D4
-
- thumb_func_start sub_805B464
-sub_805B464: @ 805B464
- push {r4-r6,lr}
- ldr r6, =gBattleSpritesDataPtr
- ldr r4, [r6]
- ldr r5, =gActiveBank
- ldrb r2, [r5]
- ldr r1, [r4, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r3, r0, r1
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- beq _0805B48C
- cmp r0, 0x1
- beq _0805B4BA
- b _0805B4E2
- .pool
-_0805B48C:
- ldr r1, [r4]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0805B4A6
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_0805B4A6:
- ldr r0, [r6]
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0, 0x4]
- b _0805B4E2
-_0805B4BA:
- ldrb r1, [r3]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0805B4E2
- strb r0, [r3, 0x4]
- ldrb r2, [r5]
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x1
- bl move_anim_start_t4
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8059744
- str r1, [r0]
-_0805B4E2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805B464
-
- thumb_func_start sub_805B4F0
-sub_805B4F0: @ 805B4F0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0805B5B4
- bl GetMultiplayerId
- ldr r5, =gLinkPlayers
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- movs r4, 0xFF
- ldrb r0, [r1]
- cmp r0, 0x4
- beq _0805B538
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrh r1, [r1]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0x5
- bne _0805B558
-_0805B538:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1, 0x13]
- adds r4, r0, 0x2
- b _0805B5BA
- .pool
-_0805B558:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrh r1, [r1]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0x2
- beq _0805B58A
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrh r0, [r1]
- ands r4, r0
- cmp r4, 0x1
- bne _0805B5A0
-_0805B58A:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1, 0x13]
- adds r4, r0, 0x4
- b _0805B5BA
-_0805B5A0:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r4, [r1, 0x13]
- b _0805B5BA
-_0805B5B4:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r4, [r0, 0x8]
-_0805B5BA:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r2, 0x40
- ands r1, r2
- adds r5, r0, 0
- cmp r1, 0
- beq _0805B63C
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl GetBankIdentity
- movs r1, 0x2
- ands r1, r0
- movs r0, 0x20
- mov r9, r0
- cmp r1, 0
- beq _0805B5E0
- movs r1, 0x5A
- mov r9, r1
-_0805B5E0:
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 15
- ands r0, r1
- cmp r0, 0
- beq _0805B618
- ldr r0, =gPartnerTrainerId
- ldrh r1, [r0]
- ldr r0, =0x00000c03
- cmp r1, r0
- beq _0805B618
- movs r0, 0x5A
- mov r9, r0
- ldr r1, =gTrainerFrontPicCoords
- b _0805B642
- .pool
-_0805B618:
- ldr r1, =gTrainerBackPicCoords
- lsls r0, r4, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x8
- subs r0, r1
- lsls r0, 18
- movs r1, 0xA0
- lsls r1, 15
- adds r0, r1
- lsrs r7, r0, 16
- ldr r5, =gBattleTypeFlags
- b _0805B656
- .pool
-_0805B63C:
- movs r0, 0x50
- mov r9, r0
- ldr r1, =gTrainerBackPicCoords
-_0805B642:
- lsls r0, r4, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x8
- subs r0, r1
- lsls r0, 18
- movs r1, 0xA0
- lsls r1, 15
- adds r0, r1
- lsrs r7, r0, 16
-_0805B656:
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 15
- ands r0, r1
- cmp r0, 0
- bne _0805B664
- b _0805B794
-_0805B664:
- ldr r0, =gPartnerTrainerId
- ldrh r1, [r0]
- ldr r0, =0x00000c03
- cmp r1, r0
- bne _0805B670
- b _0805B794
-_0805B670:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- bl sub_806F000
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- ldr r6, =gActiveBank
- ldrb r1, [r6]
- adds r0, r5, 0
- bl sub_805DF38
- ldrb r0, [r6]
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_806A1C0
- ldr r0, =gUnknown_0202499C
- mov r8, r0
- lsls r4, r7, 16
- asrs r4, 16
- ldrb r0, [r6]
- bl sub_80A82E4
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r8
- mov r1, r9
- adds r2, r4, 0
- bl CreateSprite
- ldr r4, =gBankSpriteIds
- ldrb r1, [r6]
- adds r1, r4
- strb r0, [r1]
- ldr r0, =gTrainerFrontPicPaletteTable
- lsls r5, 3
- adds r5, r0
- ldrh r0, [r5, 0x4]
- bl IndexOfSpritePaletteTag
- ldr r5, =gSprites
- ldrb r1, [r6]
- adds r1, r4
- ldrb r1, [r1]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r5
- lsls r0, 4
- ldrb r3, [r2, 0x5]
- movs r1, 0xF
- ands r1, r3
- orrs r1, r0
- strb r1, [r2, 0x5]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0xF0
- strh r1, [r0, 0x24]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x30
- strh r1, [r0, 0x26]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =0x0000fffe
- strh r1, [r0, 0x2E]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_805D7AC
- str r1, [r0]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- b _0805B82A
- .pool
-_0805B794:
- ldr r5, =gActiveBank
- ldrb r1, [r5]
- adds r0, r4, 0
- bl LoadBackTrainerBankSpriteGfx
- ldrb r0, [r5]
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_806A12C
- ldr r6, =gUnknown_0202499C
- mov r8, r9
- lsls r4, r7, 16
- asrs r4, 16
- ldrb r0, [r5]
- bl sub_80A82E4
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r6, 0
- mov r1, r8
- adds r2, r4, 0
- 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]
-_0805B82A:
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8058844
- str r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805B4F0
-
- thumb_func_start dp01t_08_1_8032428
-dp01t_08_1_8032428: @ 805B864
- push {r4-r6,lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0805B920
- bl GetMultiplayerId
- ldr r5, =gLinkPlayers
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- movs r4, 0xFF
- ldrb r0, [r1]
- cmp r0, 0x4
- beq _0805B8A6
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrh r1, [r1]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0x5
- bne _0805B8C4
-_0805B8A6:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1, 0x13]
- adds r4, r0, 0x2
- b _0805B926
- .pool
-_0805B8C4:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrh r1, [r1]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0x2
- beq _0805B8F6
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrh r0, [r1]
- ands r4, r0
- cmp r4, 0x1
- bne _0805B90C
-_0805B8F6:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1, 0x13]
- adds r4, r0, 0x4
- b _0805B926
-_0805B90C:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r4, [r1, 0x13]
- b _0805B926
-_0805B920:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r4, [r0, 0x8]
-_0805B926:
- ldr r5, =gActiveBank
- ldrb r1, [r5]
- adds r0, r4, 0
- bl LoadBackTrainerBankSpriteGfx
- ldrb r0, [r5]
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_806A12C
- ldr r0, =gUnknown_0202499C
- ldr r1, =gTrainerBackPicCoords
- lsls r4, 2
- adds r4, r1
- ldrb r1, [r4]
- 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
- ldr r1, =0x0000ffa0
- 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
- movs r1, 0x2
- 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_805887C
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_08_1_8032428
-
- thumb_func_start sub_805B9F8
-sub_805B9F8: @ 805B9F8
- push {r4-r6,lr}
- ldr r5, =gBankSpriteIds
- ldr r6, =gActiveBank
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl oamt_add_pos2_onto_pos1
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x32
- strh r1, [r0, 0x2E]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =0x0000ffd8
- strh r1, [r0, 0x32]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0x36]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_80A6EEC
- str r1, [r0]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =SpriteCallbackDummy
- bl StoreSpriteCallbackInData6
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r1, =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_802F7A0
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805B9F8
-
- thumb_func_start sub_805BAB8
-sub_805BAB8: @ 805BAB8
- push {r4-r6,lr}
- ldr r6, =gBattleSpritesDataPtr
- ldr r4, [r6]
- ldr r5, =gActiveBank
- ldrb r2, [r5]
- ldr r0, [r4, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r3, r1, r0
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- bne _0805BB0C
- ldr r1, [r4]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0805BAEC
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_0805BAEC:
- ldr r0, [r6]
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- adds r1, 0x1
- strb r1, [r0, 0x4]
- b _0805BB82
- .pool
-_0805BB0C:
- ldrb r1, [r3]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0805BB82
- strb r4, [r3, 0x4]
- ldr r2, =gBattlePartyID
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl sub_805E990
- movs r1, 0x40
- negs r1, r1
- movs r0, 0x10
- bl PlaySE12WithPanning
- ldr r2, =gSprites
- ldr r3, =gBankSpriteIds
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x30]
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x5
- strh r1, [r0, 0x32]
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_8039C00
- str r1, [r0]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_80596A8
- str r1, [r0]
-_0805BB82:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805BAB8
-
- thumb_func_start sub_805BBA4
-sub_805BBA4: @ 805BBA4
- push {lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- bl PlayerBufferExecCompleted
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_805BBA4
-
- thumb_func_start sub_805BBC4
-sub_805BBC4: @ 805BBC4
- push {r4,r5,lr}
- ldr r0, =gBattleSpritesDataPtr
- 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 GetBankByIdentity
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x3
- bl move_anim_start_t4
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_wait_t1
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805BBC4
-
- thumb_func_start sub_805BC18
-sub_805BC18: @ 805BC18
- 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, =gBattleSpritesDataPtr
- 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 GetBankByIdentity
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x3
- bl move_anim_start_t4
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_wait_t1
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805BC18
-
- thumb_func_start sub_805BC78
-sub_805BC78: @ 805BC78
- push {lr}
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805BC96
-_0805BC8C:
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0805BC8C
-_0805BC96:
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805BC78
-
- thumb_func_start dp01t_0F_1_move_anim
-dp01t_0F_1_move_anim: @ 805BCA8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- beq _0805BCBE
- b _0805BDE4
-_0805BCBE:
- ldr r0, =gBattleBufferA
- mov r12, r0
- ldrb r1, [r5]
- lsls r1, 9
- adds r0, 0x1
- adds r0, r1, r0
- ldrb r6, [r0]
- mov r0, r12
- adds r0, 0x2
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r0, 8
- orrs r6, r0
- ldr r0, =gAnimMoveTurn
- mov r8, r0
- mov r0, r12
- adds r0, 0x3
- adds r1, r0
- ldrb r0, [r1]
- mov r1, r8
- strb r0, [r1]
- ldr r3, =gAnimMovePower
- ldrb r1, [r5]
- lsls r1, 9
- mov r0, r12
- adds r0, 0x4
- adds r0, r1, r0
- ldrb r2, [r0]
- mov r0, r12
- adds r0, 0x5
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 8
- orrs r2, r0
- strh r2, [r3]
- ldr r3, =gAnimMoveDmg
- ldrb r1, [r5]
- lsls r1, 9
- mov r0, r12
- adds r0, 0x6
- adds r0, r1, r0
- ldrb r2, [r0]
- mov r0, r12
- adds r0, 0x7
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r0, 8
- orrs r2, r0
- mov r0, r12
- adds r0, 0x8
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r0, 16
- orrs r2, r0
- mov r0, r12
- adds r0, 0x9
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 24
- orrs r2, r0
- str r2, [r3]
- ldr r2, =gAnimFriendship
- ldrb r0, [r5]
- lsls r0, 9
- mov r1, r12
- adds r1, 0xA
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r4, =gWeatherMoveAnim
- ldrb r1, [r5]
- lsls r1, 9
- mov r0, r12
- adds r0, 0xC
- adds r0, r1, r0
- ldrb r2, [r0]
- mov r0, r12
- adds r0, 0xD
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 8
- orrs r2, r0
- strh r2, [r4]
- ldr r7, =gAnimDisableStructPtr
- ldrb r1, [r5]
- lsls r1, 9
- mov r0, r12
- adds r0, 0x10
- adds r1, r0
- str r1, [r7]
- ldr r2, =gUnknown_020244BC
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r2
- ldr r1, [r1]
- str r1, [r0]
- mov r0, r8
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_805DB8C
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _0805BDBC
- bl PlayerBufferExecCompleted
- b _0805BDE4
- .pool
-_0805BDBC:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strb r3, [r0, 0x4]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_move_anim_1
- str r1, [r0]
- ldrh r1, [r4]
- ldr r2, [r7]
- adds r0, r6, 0
- bl sub_817E0FC
-_0805BDE4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_0F_1_move_anim
-
- thumb_func_start bx_move_anim_1
-bx_move_anim_1: @ 805BDFC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r2, =gBattleBufferA
- ldr r6, =gActiveBank
- ldrb r3, [r6]
- lsls r1, r3, 9
- adds r0, r2, 0x1
- mov r10, r0
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r5, r2, 0x2
- mov r9, r5
- adds r0, r1, r5
- ldrb r0, [r0]
- lsls r0, 8
- orrs r4, r0
- adds r2, 0xB
- adds r1, r2
- ldrb r1, [r1]
- mov r8, r1
- ldr r7, =gBattleSpritesDataPtr
- ldr r5, [r7]
- ldr r1, [r5, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x4]
- cmp r2, 0x1
- beq _0805BE94
- cmp r2, 0x1
- bgt _0805BE54
- cmp r2, 0
- beq _0805BE5E
- b _0805BF70
- .pool
-_0805BE54:
- cmp r2, 0x2
- beq _0805BEBE
- cmp r2, 0x3
- beq _0805BF34
- b _0805BF70
-_0805BE5E:
- ldr r1, [r5]
- lsls r0, r3, 2
- adds r1, r0, r1
- ldrb r2, [r1]
- movs r0, 0xC
- ands r0, r2
- cmp r0, 0x4
- bne _0805BE80
- movs r0, 0x8
- orrs r0, r2
- strb r0, [r1]
- ldrb r2, [r6]
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_0805BE80:
- ldr r0, [r7]
- ldrb r1, [r6]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0, 0x4]
- b _0805BF70
-_0805BE94:
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _0805BF70
- movs r0, 0
- bl sub_805EB9C
- adds r0, r4, 0
- bl DoMoveAnim
- ldr r0, [r7]
- ldrb r1, [r6]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2
- strb r1, [r0, 0x4]
- b _0805BF70
-_0805BEBE:
- ldr r0, =gAnimScriptCallback
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, =gAnimScriptActive
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805BF70
- movs r0, 0x1
- bl sub_805EB9C
- ldr r0, [r7]
- ldrb r2, [r6]
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0805BF0C
- mov r0, r8
- cmp r0, 0x1
- bhi _0805BF0C
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x6
- bl move_anim_start_t4
- ldr r0, [r7]
- ldrb r1, [r6]
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x9
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_0805BF0C:
- ldr r0, =gBattleSpritesDataPtr
- 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
- movs r1, 0x3
- strb r1, [r0, 0x4]
- b _0805BF70
- .pool
-_0805BF34:
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0805BF70
- bl sub_805E394
- ldrb r0, [r6]
- lsls r2, r0, 9
- mov r3, r10
- adds r1, r2, r3
- ldrb r1, [r1]
- add r2, r9
- ldrb r2, [r2]
- lsls r2, 8
- orrs r1, r2
- bl sub_805E94C
- ldr r0, [r7]
- ldrb r1, [r6]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strb r4, [r0, 0x4]
- bl PlayerBufferExecCompleted
-_0805BF70:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end bx_move_anim_1
-
- thumb_func_start sub_805BF80
-sub_805BF80: @ 805BF80
- push {r4,r5,lr}
- ldr r0, =gBattle_BG0_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG0_Y
- strh r1, [r0]
- ldr r5, =gActiveBank
- ldrb r4, [r5]
- lsls r4, 9
- ldr r0, =gBattleBufferA + 2
- adds r4, r0
- ldrh r0, [r4]
- bl BufferStringBattle
- ldr r0, =gDisplayedStringBattle
- movs r1, 0
- bl sub_814F9EC
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_80597B4
- str r1, [r0]
- ldrh r0, [r4]
- bl sub_817C95C
- ldrb r0, [r5]
- ldrh r1, [r4]
- bl sub_81A57E4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805BF80
-
- thumb_func_start dp01t_11_1_message_for_player_only
-dp01t_11_1_message_for_player_only: @ 805BFE0
- push {lr}
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0805BFFC
- bl sub_805BF80
- b _0805C000
- .pool
-_0805BFFC:
- bl PlayerBufferExecCompleted
-_0805C000:
- pop {r0}
- bx r0
- thumb_func_end dp01t_11_1_message_for_player_only
-
- thumb_func_start sub_805C004
-sub_805C004: @ 805C004
- push {lr}
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0805C02A
- ldr r0, =gBattle_BG0_X
- strh r1, [r0]
- ldr r1, =gBattle_BG0_Y
- movs r0, 0xA0
- strh r0, [r1]
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8057588
- str r1, [r0]
-_0805C02A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C004
-
- thumb_func_start dp01t_12_6_battle_menu
-dp01t_12_6_battle_menu: @ 805C044
- push {r4,lr}
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_805C004
- str r1, [r0]
- bl sub_817F2A8
- ldr r0, =gText_BattleMenu
- movs r1, 0x2
- bl sub_814F9EC
- movs r4, 0
-_0805C062:
- lsls r0, r4, 24
- lsrs r0, 24
- bl ActionSelectionDestroyCursorAt
- adds r4, 0x1
- cmp r4, 0x3
- ble _0805C062
- ldr r1, =gActionSelectionCursor
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl ActionSelectionCreateCursorAt
- ldr r0, =gText_WhatWillPkmnDo
- bl BattleStringExpandPlaceholdersToDisplayedString
- ldr r0, =gDisplayedStringBattle
- movs r1, 0x1
- bl sub_814F9EC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_12_6_battle_menu
-
- thumb_func_start sub_805C0B0
-sub_805C0B0: @ 805C0B0
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0805C108
- str r0, [sp]
- movs r0, 0x18
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl sub_8056A3C
- ldr r0, =gText_BattleYesNoChoice
- movs r1, 0xC
- bl sub_814F9EC
- ldr r1, =gUnknown_03005D74
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
- bl BattleCreateCursorAt
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_80599D4
- str r1, [r0]
- b _0805C10C
- .pool
-_0805C108:
- bl PlayerBufferExecCompleted
-_0805C10C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_805C0B0
-
- thumb_func_start sub_805C114
-sub_805C114: @ 805C114
- push {lr}
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0805C13E
- ldr r0, =gBattle_BG0_X
- strh r1, [r0]
- ldr r1, =gBattle_BG0_Y
- movs r2, 0xA0
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8057BFC
- str r1, [r0]
-_0805C13E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C114
-
- thumb_func_start sub_805C158
-sub_805C158: @ 805C158
- push {lr}
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r1, r0
- movs r0, 0xA6
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bne _0805C194
- ldr r1, =gBattlePalaceMoveSelectionRngValue
- ldr r0, =gRngValue
- ldr r0, [r0]
- str r0, [r1]
- bl sub_805D19C
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x1
- movs r1, 0xA
- bl EmitCmd33
- bl PlayerBufferExecCompleted
-_0805C194:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C158
-
- thumb_func_start dp01t_14_5_move_menu_pokedude
-dp01t_14_5_move_menu_pokedude: @ 805C1A8
- push {lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 10
- ands r0, r1
- cmp r0, 0
- beq _0805C1EC
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- ldr r1, =gBattleStruct
- ldr r1, [r1]
- adds r0, r1
- movs r1, 0xA6
- lsls r1, 2
- adds r0, r1
- movs r1, 0x8
- strb r1, [r0]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_805C158
- b _0805C1FC
- .pool
-_0805C1EC:
- bl sub_805C210
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_805C114
-_0805C1FC:
- str r1, [r0]
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_14_5_move_menu_pokedude
-
- thumb_func_start sub_805C210
-sub_805C210: @ 805C210
- push {lr}
- bl sub_8059AAC
- ldr r1, =gUnknown_03005D74
- movs r0, 0xFF
- strb r0, [r1]
- ldr r1, =gMoveSelectionCursor
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl battle_menu_cursor_related_2
- bl sub_8059B18
- bl sub_8059B3C
- bl sub_8059BB0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C210
-
- thumb_func_start sub_805C248
-sub_805C248: @ 805C248
- push {r4,r5,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_80598A4
- str r1, [r0]
- ldr r1, =gBankInMenu
- ldrb r0, [r2]
- strb r0, [r1]
- movs r3, 0
- ldr r5, =gUnknown_0203CF00
- ldr r4, =gBattleBufferA
-_0805C276:
- adds r0, r3, r5
- ldrb r1, [r2]
- lsls r1, 9
- adds r1, 0x1
- adds r1, r3, r1
- adds r1, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x2
- ble _0805C276
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C248
-
- thumb_func_start sub_805C2AC
-sub_805C2AC: @ 805C2AC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r3, 0
- ldr r0, =gUnknown_0203CF00
- mov r12, r0
- ldr r1, =gBattleBufferA
- mov r8, r1
- ldr r2, =gActiveBank
- ldr r7, =gBattleTypeFlags
- mov r6, r12
- mov r5, r8
- adds r4, r2, 0
-_0805C2C8:
- adds r0, r3, r6
- ldrb r1, [r4]
- lsls r1, 9
- adds r1, 0x4
- adds r1, r3, r1
- adds r1, r5
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x2
- ble _0805C2C8
- ldr r0, [r7]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- beq _0805C330
- ldrb r3, [r2]
- lsls r0, r3, 9
- mov r1, r8
- adds r1, 0x1
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x2
- beq _0805C330
- ldr r1, =gBattlePartyID
- lsls r0, r3, 1
- adds r0, r1
- ldrb r1, [r0]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- mov r2, r12
- bl EmitCmd34
- bl PlayerBufferExecCompleted
- b _0805C3BC
- .pool
-_0805C330:
- ldr r0, =TaskDummy
- movs r1, 0xFF
- bl CreateTask
- ldr r3, =gUnknown_03005D7C
- ldr r4, =gActiveBank
- ldrb r1, [r4]
- adds r1, r3
- movs r2, 0
- mov r8, r2
- strb r0, [r1]
- ldr r5, =gTasks
- ldrb r2, [r4]
- adds r3, r2, r3
- ldrb r0, [r3]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r5
- ldr r5, =gBattleBufferA
- lsls r2, 9
- adds r6, r5, 0x1
- adds r2, r6
- ldrb r2, [r2]
- movs r0, 0xF
- ands r0, r2
- strh r0, [r1, 0x8]
- ldr r3, =gBattleStruct
- ldr r1, [r3]
- adds r1, 0x49
- ldrb r0, [r4]
- lsls r0, 9
- adds r0, r6
- ldrb r0, [r0]
- lsrs r0, 4
- strb r0, [r1]
- ldr r2, [r3]
- adds r2, 0x8B
- ldrb r0, [r4]
- lsls r0, 9
- adds r1, r5, 0x2
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r1, [r3]
- adds r1, 0xB0
- ldrb r0, [r4]
- lsls r0, 9
- adds r5, 0x3
- adds r0, r5
- ldrb r0, [r0]
- strb r0, [r1]
- movs r0, 0x1
- negs r0, r0
- mov r1, r8
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_80597CC
- str r1, [r0]
- ldr r1, =gBankInMenu
- ldrb r0, [r4]
- strb r0, [r1]
-_0805C3BC:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C2AC
-
- thumb_func_start sub_805C3EC
-sub_805C3EC: @ 805C3EC
- push {lr}
- sub sp, 0x4
- bl BattleMusicStop
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- bl PlayerBufferExecCompleted
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_805C3EC
-
- thumb_func_start sub_805C410
-sub_805C410: @ 805C410
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- movs r0, 0
- bl LoadBattleBarGfx
- ldr r3, =gBattleBufferA
- ldr r0, =gActiveBank
- mov r9, r0
- ldrb r1, [r0]
- lsls r1, 9
- adds r0, r3, 0x2
- adds r0, r1, r0
- ldrb r2, [r0]
- adds r3, 0x3
- adds r1, r3
- ldrb r0, [r1]
- lsls r0, 8
- orrs r2, r0
- lsls r2, 16
- asrs r7, r2, 16
- cmp r7, 0
- ble _0805C44A
- ldr r1, =gUnknown_0203CD70
- ldr r0, [r1]
- adds r0, r7
- str r0, [r1]
-_0805C44A:
- ldr r0, =0x00007fff
- cmp r7, r0
- beq _0805C4B4
- ldr r6, =gBattlePartyID
- mov r1, r9
- ldrb r0, [r1]
- lsls r0, 1
- adds r0, r6
- ldrh r0, [r0]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x3A
- bl GetMonData
- mov r8, r0
- mov r2, r9
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r6
- ldrh r0, [r0]
- muls r0, r5
- adds r0, r4
- movs r1, 0x39
- bl GetMonData
- adds r3, r0, 0
- mov r1, r9
- ldrb r0, [r1]
- ldr r1, =gHealthBoxesIds
- adds r1, r0, r1
- ldrb r1, [r1]
- str r7, [sp]
- mov r2, r8
- bl SetBattleBarStruct
- b _0805C4F2
- .pool
-_0805C4B4:
- ldr r1, =gBattlePartyID
- mov r2, r9
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3A
- bl GetMonData
- adds r2, r0, 0
- mov r1, r9
- ldrb r0, [r1]
- ldr r4, =gHealthBoxesIds
- adds r1, r0, r4
- ldrb r1, [r1]
- str r7, [sp]
- movs r3, 0
- bl SetBattleBarStruct
- mov r2, r9
- ldrb r0, [r2]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0
- movs r2, 0
- bl UpdateHpTextInHealthbox
-_0805C4F2:
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_t1_healthbar_update
- str r1, [r0]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C410
-
- thumb_func_start sub_805C528
-sub_805C528: @ 805C528
- push {r4-r7,lr}
- ldr r5, =gBattleBufferA
- ldr r6, =gActiveBank
- ldrb r0, [r6]
- lsls r0, 9
- adds r1, r5, 0x1
- adds r0, r1
- ldrb r7, [r0]
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- cmp r0, 0x63
- bls _0805C560
- bl PlayerBufferExecCompleted
- b _0805C5AC
- .pool
-_0805C560:
- movs r0, 0x1
- bl LoadBattleBarGfx
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- ldrb r1, [r6]
- lsls r1, 9
- adds r0, r5, 0x2
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r0, r5, 0x3
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 8
- orrs r4, r0
- ldr r0, =sub_80591B8
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r7, [r1, 0x8]
- strh r4, [r1, 0xA]
- ldrb r0, [r6]
- strh r0, [r1, 0xC]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, =nullsub_21
- str r1, [r0]
-_0805C5AC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C528
-
- thumb_func_start sub_805C5C4
-sub_805C5C4: @ 805C5C4
- push {r4,lr}
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _0805C618
- ldr r0, =gHealthBoxesIds
- ldrb r1, [r4]
- 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, 0x9
- bl UpdateHealthboxAttribute
- ldrb r2, [r4]
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8059D60
- str r1, [r0]
-_0805C618:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C5C4
-
- thumb_func_start sub_805C63C
-sub_805C63C: @ 805C63C
- push {r4,r5,lr}
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _0805C68C
- ldr r4, =gBattleBufferA
- ldrb r3, [r5]
- lsls r3, 9
- adds r0, r4, 0x1
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r1, r4, 0x2
- adds r1, r3, r1
- ldrb r1, [r1]
- adds r2, r4, 0x3
- adds r2, r3, r2
- ldrb r2, [r2]
- lsls r2, 8
- orrs r1, r2
- adds r2, r4, 0x4
- adds r2, r3, r2
- ldrb r2, [r2]
- lsls r2, 16
- orrs r1, r2
- adds r4, 0x5
- adds r3, r4
- ldrb r2, [r3]
- lsls r2, 24
- orrs r1, r2
- bl move_anim_start_t2_for_situation
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8059D60
- str r1, [r0]
-_0805C68C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C63C
-
- thumb_func_start sub_805C6A4
-sub_805C6A4: @ 805C6A4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- ldr r0, =gBattlePartyID
- mov r8, r0
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- lsls r0, 1
- add r0, r8
- ldrh r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- movs r1, 0x37
- bl GetMonData
- ldr r2, =gBattleBufferA
- ldrb r1, [r4]
- lsls r1, 9
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- eors r0, r1
- mov r1, sp
- strb r0, [r1]
- ldrb r0, [r4]
- lsls r0, 1
- add r0, r8
- ldrh r0, [r0]
- muls r0, r6
- adds r0, r5
- movs r1, 0x37
- mov r2, sp
- bl SetMonData
- bl PlayerBufferExecCompleted
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C6A4
-
- thumb_func_start sub_805C710
-sub_805C710: @ 805C710
- push {lr}
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_805C710
-
- thumb_func_start sub_805C71C
-sub_805C71C: @ 805C71C
- push {r4,r5,lr}
- ldr r3, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r2, [r0]
- lsls r2, 9
- adds r0, r3, 0x1
- adds r0, r2, r0
- ldrb r5, [r0]
- adds r0, r3, 0x2
- adds r0, r2, r0
- ldrb r0, [r0]
- lsls r0, 8
- orrs r5, r0
- adds r0, r3, 0x3
- adds r0, r2, r0
- ldrb r0, [r0]
- lsls r0, 16
- orrs r5, r0
- adds r0, r3, 0x4
- adds r0, r2, r0
- ldrb r4, [r0]
- lsls r4, 24
- adds r0, r3, 0x5
- adds r0, r2, r0
- ldrb r1, [r0]
- adds r0, r3, 0x6
- adds r0, r2, r0
- ldrb r0, [r0]
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- adds r3, 0x7
- adds r2, r3
- orrs r5, r4
- lsrs r4, r1, 16
- movs r0, 0x80
- lsls r0, 5
- cmp r4, r0
- bhi _0805C78C
- ldr r0, =0x040000d4
- str r2, [r0]
- str r5, [r0, 0x4]
- lsrs r1, 17
- movs r2, 0x80
- lsls r2, 24
- orrs r1, r2
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- b _0805C7B8
- .pool
-_0805C78C:
- ldr r3, =0x040000d4
- str r2, [r3]
- str r5, [r3, 0x4]
- ldr r0, =0x80000800
- str r0, [r3, 0x8]
- ldr r0, [r3, 0x8]
- movs r0, 0x80
- lsls r0, 5
- adds r2, r0
- adds r5, r0
- ldr r1, =0xfffff000
- adds r4, r1
- cmp r4, r0
- bhi _0805C78C
- str r2, [r3]
- str r5, [r3, 0x4]
- lsrs r0, r4, 1
- movs r1, 0x80
- lsls r1, 24
- orrs r0, r1
- str r0, [r3, 0x8]
- ldr r0, [r3, 0x8]
-_0805C7B8:
- bl PlayerBufferExecCompleted
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C71C
-
- thumb_func_start sub_805C7D0
-sub_805C7D0: @ 805C7D0
- push {lr}
- ldr r2, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- 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
- bl PlayBGM
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C7D0
-
- thumb_func_start sub_805C800
-sub_805C800: @ 805C800
- push {lr}
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_805C800
-
- thumb_func_start sub_805C80C
-sub_805C80C: @ 805C80C
- push {lr}
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl EmitCmd33
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_805C80C
-
- thumb_func_start sub_805C820
-sub_805C820: @ 805C820
- push {lr}
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl EmitCmd34
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_805C820
-
- thumb_func_start sub_805C834
-sub_805C834: @ 805C834
- push {lr}
- movs r0, 0x1
- movs r1, 0
- bl EmitCmd35
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_805C834
-
- thumb_func_start sub_805C848
-sub_805C848: @ 805C848
- push {lr}
- movs r0, 0x1
- movs r1, 0
- bl EmitCmd36
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_805C848
-
- thumb_func_start sub_805C85C
-sub_805C85C: @ 805C85C
- push {lr}
- ldr r2, =gUnknown_02022D0C
- ldrb r1, [r2]
- movs r0, 0x80
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C85C
-
- thumb_func_start sub_805C878
-sub_805C878: @ 805C878
- push {lr}
- ldr r3, =gUnknown_02022D0C
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x7F
- ands r1, r0
- ldrb r2, [r3]
- movs r0, 0x80
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C878
-
- thumb_func_start sub_805C8B0
-sub_805C8B0: @ 805C8B0
- push {lr}
- ldr r2, =gUnknown_02022D0C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C8B0
-
- thumb_func_start sub_805C8C8
-sub_805C8C8: @ 805C8C8
- push {lr}
- ldr r3, =gUnknown_02022D0C
- ldr r1, [r3]
- lsls r1, 24
- lsrs r1, 31
- movs r0, 0x1
- eors r1, r0
- lsls r1, 7
- ldrb r2, [r3]
- movs r0, 0x7F
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C8C8
-
- thumb_func_start dp01t_29_1_blink
-dp01t_29_1_blink: @ 805C8F0
- push {r4,lr}
- ldr r3, =gSprites
- ldr r2, =gBankSpriteIds
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _0805C924
- bl PlayerBufferExecCompleted
- b _0805C94E
- .pool
-_0805C924:
- ldr r1, =gDoingBattleAnim
- movs r0, 0x1
- strb r0, [r1]
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x30]
- ldrb r0, [r4]
- bl sub_80769F4
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_blink_t1
- str r1, [r0]
-_0805C94E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_29_1_blink
-
- thumb_func_start sub_805C960
-sub_805C960: @ 805C960
- push {lr}
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_805C960
-
- thumb_func_start sub_805C96C
-sub_805C96C: @ 805C96C
- push {r4,lr}
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- movs r3, 0x3F
- cmp r0, 0
- bne _0805C980
- movs r3, 0xC0
-_0805C980:
- 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 PlayerBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C96C
-
- thumb_func_start sub_805C9B0
-sub_805C9B0: @ 805C9B0
- 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 _0805C9EC
- bl BattleMusicStop
- 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 _0805CA00
- .pool
-_0805C9EC:
- 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
-_0805CA00:
- bl PlayerBufferExecCompleted
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_805C9B0
-
- thumb_func_start sub_805CA0C
-sub_805CA0C: @ 805CA0C
- 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
- negs r1, r1
- movs r2, 0x5
- bl PlayCry3
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805CA0C
-
- thumb_func_start dp01t_2E_1_battle_intro
-dp01t_2E_1_battle_intro: @ 805CA4C
- 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 PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_2E_1_battle_intro
-
- thumb_func_start dp01t_2F_1_pokemon_enter
-dp01t_2F_1_pokemon_enter: @ 805CA80
- push {r4-r7,lr}
- ldr r6, =gBankSpriteIds
- ldr r7, =gActiveBank
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, =gSprites
- adds r0, r5
- bl oamt_add_pos2_onto_pos1
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x32
- strh r1, [r0, 0x2E]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =0x0000ffd8
- strh r1, [r0, 0x32]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0x36]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_80A6EEC
- str r1, [r0]
- ldrb r2, [r7]
- adds r0, r2, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x38]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =sub_805CC00
- bl StoreSpriteCallbackInData6
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, =0x0000d6f8
- bl AllocSpritePalette
- adds r4, r0, 0
- lsls r4, 24
- ldr r1, =gTrainerBackPicPaletteTable
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- lsrs r4, 20
- movs r2, 0x80
- lsls r2, 1
- adds r1, r4, r2
- movs r2, 0x20
- bl LoadCompressedPalette
- ldrb r0, [r7]
- adds r0, r6
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r4
- strb r0, [r1, 0x5]
- ldr r0, =task05_08033660
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- ldrb r0, [r7]
- strh r0, [r1, 0x8]
- ldr r3, =gBattleSpritesDataPtr
- ldr r0, [r3]
- ldrb r2, [r7]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805CBA2
- ldr r0, =gUnknown_020244B4
- adds r0, r2, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- ldr r1, =sub_8073C30
- str r1, [r0]
-_0805CBA2:
- ldr r0, [r3]
- ldr r2, [r0, 0x8]
- ldrb r0, [r2, 0x9]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x9]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- ldr r1, =nullsub_21
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_2F_1_pokemon_enter
-
- thumb_func_start sub_805CC00
-sub_805CC00: @ 805CC00
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r4, [r5, 0x38]
- lsls r4, 24
- lsrs r4, 24
- bl FreeSpriteOamMatrix
- ldrb r0, [r5, 0x5]
- lsrs r0, 4
- bl GetSpritePaletteTagByPaletteNum
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpritePaletteByTag
- adds r0, r5, 0
- bl DestroySprite
- ldr r1, =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r4, 0
- bl BattleLoadPlayerMonSpriteGfx
- ldr r0, =gBankSpriteIds
- adds r4, r0
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0
- bl StartSpriteAnim
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805CC00
-
- thumb_func_start task05_08033660
-task05_08033660: @ 805CC68
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0xA]
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- cmp r0, 0x1E
- bgt _0805CC94
- adds r0, r2, 0x1
- strh r0, [r1, 0xA]
- b _0805CD50
- .pool
-_0805CC94:
- ldr r7, =gActiveBank
- ldrb r0, [r7]
- mov r9, r0
- ldrh r0, [r1, 0x8]
- strb r0, [r7]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _0805CCB4
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0805CCE4
-_0805CCB4:
- ldr r0, =gBattleBufferA
- ldrb r1, [r7]
- lsls r2, r1, 9
- adds r0, 0x1
- adds r2, r0
- ldr r0, =gBattlePartyID
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- strb r0, [r2]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_805B258
- b _0805CD38
- .pool
-_0805CCE4:
- ldr r4, =gBattleBufferA
- ldrb r0, [r7]
- lsls r1, r0, 9
- adds r4, 0x1
- adds r1, r4
- ldr r5, =gBattlePartyID
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_805B258
- ldrb r0, [r7]
- movs r6, 0x2
- eors r0, r6
- strb r0, [r7]
- ldrb r0, [r7]
- lsls r1, r0, 9
- adds r1, r4
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r0, r1, 1
- adds r0, r5
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl BattleLoadPlayerMonSpriteGfx
- ldrb r0, [r7]
- movs r1, 0
- bl sub_805B258
- ldrb r0, [r7]
- eors r0, r6
- strb r0, [r7]
-_0805CD38:
- ldr r1, =gBattleBankFunc
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8058B40
- str r1, [r0]
- mov r3, r9
- strb r3, [r2]
- mov r0, r8
- bl DestroyTask
-_0805CD50:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task05_08033660
-
- thumb_func_start sub_805CD74
-sub_805CD74: @ 805CD74
- push {r4-r6,lr}
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805CDA4
- adds r0, r2, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0805CDA4
- bl PlayerBufferExecCompleted
- b _0805CE18
- .pool
-_0805CDA4:
- ldr r6, =gBattleSpritesDataPtr
- ldr r0, [r6]
- ldr r5, =gActiveBank
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- ldrb r0, [r5]
- lsls r3, r0, 9
- ldr r4, =gBattleBufferA + 4
- adds r1, r3, r4
- subs r2, r4, 0x3
- adds r2, r3, r2
- ldrb r2, [r2]
- subs r4, 0x2
- adds r3, r4
- ldrb r3, [r3]
- bl CreatePartyStatusSummarySprites
- ldr r2, =gUnknown_020244B4
- ldrb r1, [r5]
- adds r1, r2
- movs r3, 0
- strb r0, [r1]
- ldr r0, [r6]
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strb r3, [r0, 0x5]
- ldrb r2, [r5]
- lsls r0, r2, 9
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805CE0C
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0x5D
- strb r1, [r0, 0x5]
-_0805CE0C:
- ldr r0, =gBattleBankFunc
- ldrb r1, [r5]
- lsls r1, 2
- adds r1, r0
- ldr r0, =sub_805CE38
- str r0, [r1]
-_0805CE18:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805CD74
-
- thumb_func_start sub_805CE38
-sub_805CE38: @ 805CE38
- push {r4,lr}
- ldr r4, =gBattleSpritesDataPtr
- ldr r0, [r4]
- ldr r3, =gActiveBank
- ldrb r1, [r3]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x5]
- adds r2, r1, 0x1
- strb r2, [r0, 0x5]
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x5C
- bls _0805CE70
- ldr r0, [r4]
- ldrb r1, [r3]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strb r1, [r0, 0x5]
- bl PlayerBufferExecCompleted
-_0805CE70:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805CE38
-
- thumb_func_start sub_805CE80
-sub_805CE80: @ 805CE80
- push {lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r1, [r0]
- ldr r0, =gActiveBank
- ldrb r3, [r0]
- ldr r1, [r1, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805CEB2
- ldr r2, =gTasks
- ldr r0, =gUnknown_020244B4
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, =sub_8073C30
- str r1, [r0]
-_0805CEB2:
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805CE80
-
- thumb_func_start sub_805CED0
-sub_805CED0: @ 805CED0
- push {r4,lr}
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- movs r1, 0x1
- bl dp11b_obj_free
- ldrb r0, [r4]
- movs r1, 0
- bl dp11b_obj_free
- bl PlayerBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805CED0
-
- thumb_func_start dp01t_33_1_enemy_move
-dp01t_33_1_enemy_move: @ 805CEF4
- push {r4,lr}
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl AnimBankSpriteExists
- lsls r0, 24
- cmp r0, 0
- beq _0805CF3A
- ldr r3, =gSprites
- ldr r0, =gBankSpriteIds
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldr r0, =gBattleBufferA
- lsls r1, 9
- adds r0, 0x1
- adds r1, r0
- adds r2, 0x3E
- movs r0, 0x1
- ldrb r1, [r1]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r4]
- bl sub_805E408
-_0805CF3A:
- bl PlayerBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_33_1_enemy_move
-
- thumb_func_start sub_805CF54
-sub_805CF54: @ 805CF54
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _0805CFB6
- ldr r4, =gBattleBufferA
- ldrb r2, [r5]
- lsls r1, r2, 9
- adds r0, r4, 0x1
- adds r0, r1, r0
- ldrb r6, [r0]
- adds r0, r4, 0x2
- adds r0, r1, r0
- ldrb r3, [r0]
- adds r4, 0x3
- adds r1, r4
- ldrb r0, [r1]
- lsls r0, 8
- orrs r3, r0
- str r3, [sp]
- adds r0, r2, 0
- adds r1, r2, 0
- adds r3, r6, 0
- bl move_anim_start_t3
- lsls r0, 24
- cmp r0, 0
- beq _0805CFA4
- bl PlayerBufferExecCompleted
- b _0805CFB0
- .pool
-_0805CFA4:
- ldr r0, =gBattleBankFunc
- ldrb r1, [r5]
- lsls r1, 2
- adds r1, r0
- ldr r0, =bx_8030B2C
- str r0, [r1]
-_0805CFB0:
- adds r0, r6, 0
- bl sub_817E32C
-_0805CFB6:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805CF54
-
- thumb_func_start dp01t_35_1_link_standby_message_and_free_vram
-dp01t_35_1_link_standby_message_and_free_vram: @ 805CFC8
- push {r4,r5,lr}
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- lsls r0, 9
- ldr r4, =gBattleBufferA + 2
- adds r0, r4
- bl sub_81851A8
- ldrb r0, [r5]
- lsls r0, 9
- subs r4, 0x1
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0805D002
- cmp r0, 0x1
- bgt _0805CFF8
- cmp r0, 0
- beq _0805CFFE
- b _0805D020
- .pool
-_0805CFF8:
- cmp r0, 0x2
- beq _0805D01C
- b _0805D020
-_0805CFFE:
- bl b_link_standby_message
-_0805D002:
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- movs r1, 0x1
- bl dp11b_obj_free
- ldrb r0, [r4]
- movs r1, 0
- bl dp11b_obj_free
- b _0805D020
- .pool
-_0805D01C:
- bl b_link_standby_message
-_0805D020:
- bl PlayerBufferExecCompleted
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end dp01t_35_1_link_standby_message_and_free_vram
-
- thumb_func_start sub_805D02C
-sub_805D02C: @ 805D02C
- push {r4,lr}
- ldr r1, =gBattleBufferA
- ldr r4, =gActiveBank
- ldrb r3, [r4]
- lsls r0, r3, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r2, [r0]
- cmp r2, 0x1
- beq _0805D074
- cmp r2, 0x1
- bgt _0805D054
- cmp r2, 0
- beq _0805D05A
- b _0805D084
- .pool
-_0805D054:
- cmp r2, 0x2
- beq _0805D07C
- b _0805D084
-_0805D05A:
- ldr r0, =gActionSelectionCursor
- adds r0, r3, r0
- strb r2, [r0]
- ldr r1, =gMoveSelectionCursor
- ldrb r0, [r4]
- adds r0, r1
- strb r2, [r0]
- b _0805D084
- .pool
-_0805D074:
- ldr r0, =gActionSelectionCursor
- b _0805D07E
- .pool
-_0805D07C:
- ldr r0, =gMoveSelectionCursor
-_0805D07E:
- adds r0, r3, r0
- movs r1, 0
- strb r1, [r0]
-_0805D084:
- bl PlayerBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805D02C
-
- thumb_func_start sub_805D094
-sub_805D094: @ 805D094
- push {r4,r5,lr}
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- lsls r0, 9
- ldr r4, =gBattleBufferA + 4
- adds r0, r4
- bl sub_81851A8
- ldr r2, =gBattleOutcome
- ldrb r0, [r5]
- lsls r0, 9
- subs r1, r4, 0x3
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldrb r0, [r5]
- lsls r0, 9
- subs r4, 0x2
- adds r0, r4
- ldrb r0, [r0]
- ldr r1, =0x00000ca9
- adds r3, r1
- movs r1, 0x1
- ands r1, r0
- lsls r1, 3
- ldrb r2, [r3]
- movs r0, 0x9
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x5
- bl FadeOutMapMusic
- movs r0, 0x3
- bl BeginFastPaletteFade
- bl PlayerBufferExecCompleted
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_80587B0
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805D094
-
- thumb_func_start nullsub_22
-nullsub_22: @ 805D114
- bx lr
- thumb_func_end nullsub_22
-
- .align 2, 0 @ Don't pad with nop.