mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-06 13:47:12 -05:00
5930 lines
105 KiB
ArmAsm
5930 lines
105 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "constants/constants.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start nullsub_77
|
|
nullsub_77: @ 80D4200
|
|
bx lr
|
|
thumb_func_end nullsub_77
|
|
|
|
thumb_func_start sub_80D4204
|
|
sub_80D4204: @ 80D4204
|
|
ldr r1, _080D4214 @ =gUnknown_3004FE0
|
|
ldr r0, _080D4218 @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D421C @ =LinkPartnerBufferRunCommand
|
|
str r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080D4214: .4byte gUnknown_3004FE0
|
|
_080D4218: .4byte gActiveBattler
|
|
_080D421C: .4byte LinkPartnerBufferRunCommand
|
|
thumb_func_end sub_80D4204
|
|
|
|
thumb_func_start LinkPartnerBufferRunCommand
|
|
LinkPartnerBufferRunCommand: @ 80D4220
|
|
push {lr}
|
|
ldr r2, _080D4254 @ =gUnknown_2023BC8
|
|
ldr r1, _080D4258 @ =gBitTable
|
|
ldr r0, _080D425C @ =gActiveBattler
|
|
ldrb r3, [r0]
|
|
lsls r0, r3, 2
|
|
adds r0, r1
|
|
ldr r1, [r2]
|
|
ldr r0, [r0]
|
|
ands r1, r0
|
|
cmp r1, 0
|
|
beq _080D426C
|
|
ldr r0, _080D4260 @ =gUnknown_2022BC4
|
|
lsls r1, r3, 9
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
cmp r0, 0x38
|
|
bhi _080D4268
|
|
ldr r0, _080D4264 @ =gUnknown_83FB134
|
|
ldrb r1, [r1]
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
bl _call_via_r0
|
|
b _080D426C
|
|
.align 2, 0
|
|
_080D4254: .4byte gUnknown_2023BC8
|
|
_080D4258: .4byte gBitTable
|
|
_080D425C: .4byte gActiveBattler
|
|
_080D4260: .4byte gUnknown_2022BC4
|
|
_080D4264: .4byte gUnknown_83FB134
|
|
_080D4268:
|
|
bl sub_80D49E8
|
|
_080D426C:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end LinkPartnerBufferRunCommand
|
|
|
|
thumb_func_start sub_80D4270
|
|
sub_80D4270: @ 80D4270
|
|
push {lr}
|
|
ldr r2, _080D4298 @ =gSprites
|
|
ldr r1, _080D429C @ =gUnknown_2023D44
|
|
ldr r0, _080D42A0 @ =gActiveBattler
|
|
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, _080D42A4 @ =SpriteCallbackDummy
|
|
cmp r1, r0
|
|
bne _080D4294
|
|
bl sub_80D49E8
|
|
_080D4294:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D4298: .4byte gSprites
|
|
_080D429C: .4byte gUnknown_2023D44
|
|
_080D42A0: .4byte gActiveBattler
|
|
_080D42A4: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_80D4270
|
|
|
|
thumb_func_start sub_80D42A8
|
|
sub_80D42A8: @ 80D42A8
|
|
push {r4-r6,lr}
|
|
ldr r6, _080D4300 @ =gSprites
|
|
ldr r5, _080D4304 @ =gUnknown_2023D44
|
|
ldr r4, _080D4308 @ =gActiveBattler
|
|
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, _080D430C @ =SpriteCallbackDummy
|
|
cmp r1, r0
|
|
bne _080D42F8
|
|
movs r0, 0
|
|
bl nullsub_16
|
|
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 sub_80D49E8
|
|
_080D42F8:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D4300: .4byte gSprites
|
|
_080D4304: .4byte gUnknown_2023D44
|
|
_080D4308: .4byte gActiveBattler
|
|
_080D430C: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_80D42A8
|
|
|
|
thumb_func_start sub_80D4310
|
|
sub_80D4310: @ 80D4310
|
|
push {r4,lr}
|
|
ldr r4, _080D4350 @ =gUnknown_2024018
|
|
ldr r1, [r4]
|
|
ldr r3, _080D4354 @ =gActiveBattler
|
|
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 _080D4348
|
|
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 sub_80D49E8
|
|
_080D4348:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D4350: .4byte gUnknown_2024018
|
|
_080D4354: .4byte gActiveBattler
|
|
thumb_func_end sub_80D4310
|
|
|
|
thumb_func_start sub_80D4358
|
|
sub_80D4358: @ 80D4358
|
|
push {r4-r6,lr}
|
|
movs r6, 0
|
|
bl sub_8075290
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080D437C
|
|
bl sub_8075290
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080D43B0
|
|
ldr r0, _080D439C @ =gBattleTypeFlags
|
|
ldr r0, [r0]
|
|
movs r1, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080D43B0
|
|
_080D437C:
|
|
ldr r2, _080D43A0 @ =gSprites
|
|
ldr r1, _080D43A4 @ =gUnknown_3004FF0
|
|
ldr r0, _080D43A8 @ =gActiveBattler
|
|
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, _080D43AC @ =SpriteCallbackDummy
|
|
cmp r1, r0
|
|
bne _080D43E8
|
|
b _080D43E6
|
|
.align 2, 0
|
|
_080D439C: .4byte gBattleTypeFlags
|
|
_080D43A0: .4byte gSprites
|
|
_080D43A4: .4byte gUnknown_3004FF0
|
|
_080D43A8: .4byte gActiveBattler
|
|
_080D43AC: .4byte SpriteCallbackDummy
|
|
_080D43B0:
|
|
ldr r2, _080D4420 @ =gSprites
|
|
ldr r5, _080D4424 @ =gUnknown_3004FF0
|
|
ldr r0, _080D4428 @ =gActiveBattler
|
|
ldrb r3, [r0]
|
|
adds r0, r3, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r4, r2, 0
|
|
adds r4, 0x1C
|
|
adds r0, r4
|
|
ldr r2, [r0]
|
|
ldr r0, _080D442C @ =SpriteCallbackDummy
|
|
cmp r2, r0
|
|
bne _080D43E8
|
|
movs r0, 0x2
|
|
eors r3, r0
|
|
adds r0, r3, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
cmp r0, r2
|
|
bne _080D43E8
|
|
_080D43E6:
|
|
movs r6, 0x1
|
|
_080D43E8:
|
|
bl IsCryPlayingOrClearCrySongs
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080D43F4
|
|
movs r6, 0
|
|
_080D43F4:
|
|
cmp r6, 0
|
|
beq _080D441A
|
|
ldr r0, _080D4430 @ =gUnknown_2024018
|
|
ldr r0, [r0]
|
|
ldr r3, _080D4428 @ =gActiveBattler
|
|
ldrb r1, [r3]
|
|
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, _080D4434 @ =gUnknown_3004FE0
|
|
ldrb r0, [r3]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D4438 @ =sub_80D4310
|
|
str r1, [r0]
|
|
_080D441A:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D4420: .4byte gSprites
|
|
_080D4424: .4byte gUnknown_3004FF0
|
|
_080D4428: .4byte gActiveBattler
|
|
_080D442C: .4byte SpriteCallbackDummy
|
|
_080D4430: .4byte gUnknown_2024018
|
|
_080D4434: .4byte gUnknown_3004FE0
|
|
_080D4438: .4byte sub_80D4310
|
|
thumb_func_end sub_80D4358
|
|
|
|
thumb_func_start sub_80D443C
|
|
sub_80D443C: @ 80D443C
|
|
push {r4-r7,lr}
|
|
ldr r0, _080D4568 @ =gUnknown_2024018
|
|
mov r12, r0
|
|
ldr r0, [r0]
|
|
ldr r6, _080D456C @ =gActiveBattler
|
|
ldrb r2, [r6]
|
|
ldr r4, [r0, 0x4]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
adds r3, r0, r4
|
|
ldrb r1, [r3]
|
|
movs r5, 0x8
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080D4460
|
|
b _080D4562
|
|
_080D4460:
|
|
movs r7, 0x2
|
|
adds r1, r7, 0
|
|
eors r1, r2
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldrb r1, [r0]
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0
|
|
bne _080D4562
|
|
ldrb r0, [r3, 0x9]
|
|
adds r0, 0x1
|
|
strb r0, [r3, 0x9]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _080D4562
|
|
mov r1, r12
|
|
ldr r0, [r1]
|
|
ldrb r1, [r6]
|
|
ldr r2, [r0, 0x4]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
strb r4, [r0, 0x9]
|
|
bl sub_8075290
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080D4500
|
|
ldr r0, _080D4570 @ =gBattleTypeFlags
|
|
ldr r0, [r0]
|
|
movs r1, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080D4500
|
|
ldr r1, _080D4574 @ =gUnknown_3004FFC
|
|
ldrb r0, [r6]
|
|
eors r0, r7
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080D4578 @ =gSprites
|
|
adds r0, r1
|
|
bl DestroySprite
|
|
ldr r4, _080D457C @ =gUnknown_3004FF0
|
|
ldrb r0, [r6]
|
|
adds r1, r7, 0
|
|
eors r1, r0
|
|
adds r0, r1, r4
|
|
ldrb r0, [r0]
|
|
ldr r2, _080D4580 @ =gBattlerPartyIndexes
|
|
lsls r1, 1
|
|
adds r1, r2
|
|
ldrh r2, [r1]
|
|
movs r1, 0x64
|
|
muls r1, r2
|
|
ldr r2, _080D4584 @ =gPlayerParty
|
|
adds r1, r2
|
|
movs r2, 0
|
|
bl UpdateHealthboxAttribute
|
|
ldrb r0, [r6]
|
|
eors r0, r7
|
|
bl sub_804BD94
|
|
ldrb r0, [r6]
|
|
eors r0, r7
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
bl SetHealthboxSpriteVisible
|
|
_080D4500:
|
|
ldr r1, _080D4574 @ =gUnknown_3004FFC
|
|
ldr r4, _080D456C @ =gActiveBattler
|
|
ldrb r0, [r4]
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080D4578 @ =gSprites
|
|
adds r0, r1
|
|
bl DestroySprite
|
|
ldr r5, _080D457C @ =gUnknown_3004FF0
|
|
ldrb r1, [r4]
|
|
adds r0, r1, r5
|
|
ldrb r0, [r0]
|
|
ldr r2, _080D4580 @ =gBattlerPartyIndexes
|
|
lsls r1, 1
|
|
adds r1, r2
|
|
ldrh r2, [r1]
|
|
movs r1, 0x64
|
|
muls r1, r2
|
|
ldr r2, _080D4584 @ =gPlayerParty
|
|
adds r1, r2
|
|
movs r2, 0
|
|
bl UpdateHealthboxAttribute
|
|
ldrb r0, [r4]
|
|
bl sub_804BD94
|
|
ldrb r0, [r4]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
bl SetHealthboxSpriteVisible
|
|
ldr r0, _080D4568 @ =gUnknown_2024018
|
|
ldr r0, [r0]
|
|
ldr r2, [r0, 0x8]
|
|
ldrb r1, [r2, 0x9]
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2, 0x9]
|
|
ldr r1, _080D4588 @ =gUnknown_3004FE0
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D458C @ =sub_80D4358
|
|
str r1, [r0]
|
|
_080D4562:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D4568: .4byte gUnknown_2024018
|
|
_080D456C: .4byte gActiveBattler
|
|
_080D4570: .4byte gBattleTypeFlags
|
|
_080D4574: .4byte gUnknown_3004FFC
|
|
_080D4578: .4byte gSprites
|
|
_080D457C: .4byte gUnknown_3004FF0
|
|
_080D4580: .4byte gBattlerPartyIndexes
|
|
_080D4584: .4byte gPlayerParty
|
|
_080D4588: .4byte gUnknown_3004FE0
|
|
_080D458C: .4byte sub_80D4358
|
|
thumb_func_end sub_80D443C
|
|
|
|
thumb_func_start sub_80D4590
|
|
sub_80D4590: @ 80D4590
|
|
push {lr}
|
|
ldr r2, _080D45C4 @ =gSprites
|
|
ldr r1, _080D45C8 @ =gUnknown_2023D44
|
|
ldr r0, _080D45CC @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r1, r0, r2
|
|
adds r0, r1, 0
|
|
adds r0, 0x3F
|
|
ldrb r0, [r0]
|
|
lsls r0, 27
|
|
cmp r0, 0
|
|
bge _080D45BE
|
|
movs r2, 0x24
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0
|
|
bne _080D45BE
|
|
bl sub_80D49E8
|
|
_080D45BE:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D45C4: .4byte gSprites
|
|
_080D45C8: .4byte gUnknown_2023D44
|
|
_080D45CC: .4byte gActiveBattler
|
|
thumb_func_end sub_80D4590
|
|
|
|
thumb_func_start sub_80D45D0
|
|
sub_80D45D0: @ 80D45D0
|
|
push {r4-r6,lr}
|
|
ldr r5, _080D4610 @ =gActiveBattler
|
|
ldrb r0, [r5]
|
|
ldr r6, _080D4614 @ =gUnknown_3004FF0
|
|
adds r1, r0, r6
|
|
ldrb r1, [r1]
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8049FD8
|
|
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 _080D4618
|
|
ldrb r0, [r5]
|
|
adds r0, r6
|
|
ldrb r0, [r0]
|
|
movs r2, 0
|
|
bl sub_8048440
|
|
b _080D4632
|
|
.align 2, 0
|
|
_080D4610: .4byte gActiveBattler
|
|
_080D4614: .4byte gUnknown_3004FF0
|
|
_080D4618:
|
|
ldr r2, _080D4638 @ =gBattlerPartyIndexes
|
|
ldrb r1, [r5]
|
|
lsls r0, r1, 1
|
|
adds r0, r2
|
|
ldrh r2, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
ldr r2, _080D463C @ =gPlayerParty
|
|
adds r0, r2
|
|
bl HandleLowHpMusicChange
|
|
bl sub_80D49E8
|
|
_080D4632:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D4638: .4byte gBattlerPartyIndexes
|
|
_080D463C: .4byte gPlayerParty
|
|
thumb_func_end sub_80D45D0
|
|
|
|
thumb_func_start sub_80D4640
|
|
sub_80D4640: @ 80D4640
|
|
push {r4-r6,lr}
|
|
ldr r6, _080D4698 @ =gSprites
|
|
ldr r5, _080D469C @ =gUnknown_2023D44
|
|
ldr r4, _080D46A0 @ =gActiveBattler
|
|
ldrb r0, [r4]
|
|
adds r0, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r2, r0, r6
|
|
movs r1, 0x22
|
|
ldrsh r0, [r2, r1]
|
|
movs r3, 0x26
|
|
ldrsh r1, [r2, r3]
|
|
adds r0, r1
|
|
cmp r0, 0xA0
|
|
ble _080D4690
|
|
ldrb r0, [r2, 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, _080D46A4 @ =gUnknown_3004FF0
|
|
ldrb r0, [r4]
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl SetHealthboxSpriteInvisible
|
|
bl sub_80D49E8
|
|
_080D4690:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D4698: .4byte gSprites
|
|
_080D469C: .4byte gUnknown_2023D44
|
|
_080D46A0: .4byte gActiveBattler
|
|
_080D46A4: .4byte gUnknown_3004FF0
|
|
thumb_func_end sub_80D4640
|
|
|
|
thumb_func_start sub_80D46A8
|
|
sub_80D46A8: @ 80D46A8
|
|
push {r4-r6,lr}
|
|
ldr r0, _080D4704 @ =gUnknown_2024018
|
|
ldr r0, [r0]
|
|
ldr r6, _080D4708 @ =gActiveBattler
|
|
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 _080D46FC
|
|
ldr r5, _080D470C @ =gUnknown_2023D44
|
|
adds r0, r2, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r4, _080D4710 @ =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, _080D4714 @ =gUnknown_3004FF0
|
|
ldrb r0, [r6]
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl SetHealthboxSpriteInvisible
|
|
bl sub_80D49E8
|
|
_080D46FC:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D4704: .4byte gUnknown_2024018
|
|
_080D4708: .4byte gActiveBattler
|
|
_080D470C: .4byte gUnknown_2023D44
|
|
_080D4710: .4byte gSprites
|
|
_080D4714: .4byte gUnknown_3004FF0
|
|
thumb_func_end sub_80D46A8
|
|
|
|
thumb_func_start sub_80D4718
|
|
sub_80D4718: @ 80D4718
|
|
push {lr}
|
|
movs r0, 0
|
|
bl IsTextPrinterActive
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bne _080D472A
|
|
bl sub_80D49E8
|
|
_080D472A:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D4718
|
|
|
|
thumb_func_start sub_80D4730
|
|
sub_80D4730: @ 80D4730
|
|
push {r4,lr}
|
|
ldr r1, _080D476C @ =gUnknown_2023D44
|
|
ldr r0, _080D4770 @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
ldr r2, _080D4774 @ =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 _080D477C
|
|
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, _080D4778 @ =gUnknown_2024005
|
|
strb r3, [r0]
|
|
bl sub_80D49E8
|
|
b _080D47A6
|
|
.align 2, 0
|
|
_080D476C: .4byte gUnknown_2023D44
|
|
_080D4770: .4byte gActiveBattler
|
|
_080D4774: .4byte gSprites
|
|
_080D4778: .4byte gUnknown_2024005
|
|
_080D477C:
|
|
ldrh r0, [r4, 0x30]
|
|
movs r1, 0x3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080D47A0
|
|
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]
|
|
_080D47A0:
|
|
ldrh r0, [r4, 0x30]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x30]
|
|
_080D47A6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D4730
|
|
|
|
thumb_func_start sub_80D47AC
|
|
sub_80D47AC: @ 80D47AC
|
|
push {r4,lr}
|
|
ldr r2, _080D4800 @ =gSprites
|
|
ldr r0, _080D4804 @ =gUnknown_3004FF0
|
|
ldr r4, _080D4808 @ =gActiveBattler
|
|
ldrb r3, [r4]
|
|
adds r0, r3, r0
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x1C
|
|
adds r0, r2
|
|
ldr r1, [r0]
|
|
ldr r0, _080D480C @ =SpriteCallbackDummy
|
|
cmp r1, r0
|
|
bne _080D47F8
|
|
ldr r0, _080D4810 @ =gUnknown_2024018
|
|
ldr r0, [r0]
|
|
ldr r1, [r0]
|
|
lsls r0, r3, 2
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080D47EC
|
|
adds r0, r3, 0
|
|
adds r1, r3, 0
|
|
adds r2, r3, 0
|
|
movs r3, 0x6
|
|
bl InitAndLaunchSpecialAnimation
|
|
_080D47EC:
|
|
ldr r0, _080D4814 @ =gUnknown_3004FE0
|
|
ldrb r1, [r4]
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldr r0, _080D4818 @ =sub_80D481C
|
|
str r0, [r1]
|
|
_080D47F8:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D4800: .4byte gSprites
|
|
_080D4804: .4byte gUnknown_3004FF0
|
|
_080D4808: .4byte gActiveBattler
|
|
_080D480C: .4byte SpriteCallbackDummy
|
|
_080D4810: .4byte gUnknown_2024018
|
|
_080D4814: .4byte gUnknown_3004FE0
|
|
_080D4818: .4byte sub_80D481C
|
|
thumb_func_end sub_80D47AC
|
|
|
|
thumb_func_start sub_80D481C
|
|
sub_80D481C: @ 80D481C
|
|
push {lr}
|
|
ldr r0, _080D4844 @ =gUnknown_2024018
|
|
ldr r2, [r0]
|
|
ldr r0, _080D4848 @ =gActiveBattler
|
|
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 _080D483E
|
|
bl sub_80D49E8
|
|
_080D483E:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D4844: .4byte gUnknown_2024018
|
|
_080D4848: .4byte gActiveBattler
|
|
thumb_func_end sub_80D481C
|
|
|
|
thumb_func_start sub_80D484C
|
|
sub_80D484C: @ 80D484C
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r3, _080D4918 @ =gUnknown_2024018
|
|
ldr r0, [r3]
|
|
ldr r7, _080D491C @ =gActiveBattler
|
|
ldrb r1, [r7]
|
|
ldr r2, [r0, 0x4]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r2, r0, r2
|
|
ldrb r1, [r2, 0x1]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080D490E
|
|
ldrb r1, [r2]
|
|
movs r0, 0x7F
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
ldr r0, [r3]
|
|
ldrb r2, [r7]
|
|
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, _080D4920 @ =0x000027f9
|
|
adds r0, r4, 0
|
|
bl FreeSpriteTilesByTag
|
|
adds r0, r4, 0
|
|
bl FreeSpritePaletteByTag
|
|
ldr r0, _080D4924 @ =c3_0802FDF4
|
|
movs r1, 0xA
|
|
bl CreateTask
|
|
ldr r0, _080D4928 @ =gBattlerPartyIndexes
|
|
mov r8, r0
|
|
ldrb r1, [r7]
|
|
lsls r0, r1, 1
|
|
add r0, r8
|
|
ldrh r0, [r0]
|
|
movs r6, 0x64
|
|
muls r0, r6
|
|
ldr r5, _080D492C @ =gPlayerParty
|
|
adds r0, r5
|
|
bl HandleLowHpMusicChange
|
|
ldr r1, _080D4930 @ =gUnknown_2023D44
|
|
ldrb r0, [r7]
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080D4934 @ =gSprites
|
|
adds r0, r1
|
|
movs r1, 0
|
|
bl StartSpriteAnim
|
|
ldr r4, _080D4938 @ =gUnknown_3004FF0
|
|
ldrb r1, [r7]
|
|
adds r0, r1, r4
|
|
ldrb r0, [r0]
|
|
lsls r1, 1
|
|
add r1, r8
|
|
ldrh r1, [r1]
|
|
muls r1, r6
|
|
adds r1, r5
|
|
movs r2, 0
|
|
bl UpdateHealthboxAttribute
|
|
ldrb r0, [r7]
|
|
bl sub_804BD94
|
|
ldrb r0, [r7]
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
bl SetHealthboxSpriteVisible
|
|
ldrb r0, [r7]
|
|
bl CopyBattleSpriteInvisibility
|
|
ldr r1, _080D493C @ =gUnknown_3004FE0
|
|
ldrb r0, [r7]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D4940 @ =sub_80D47AC
|
|
str r1, [r0]
|
|
_080D490E:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D4918: .4byte gUnknown_2024018
|
|
_080D491C: .4byte gActiveBattler
|
|
_080D4920: .4byte 0x000027f9
|
|
_080D4924: .4byte c3_0802FDF4
|
|
_080D4928: .4byte gBattlerPartyIndexes
|
|
_080D492C: .4byte gPlayerParty
|
|
_080D4930: .4byte gUnknown_2023D44
|
|
_080D4934: .4byte gSprites
|
|
_080D4938: .4byte gUnknown_3004FF0
|
|
_080D493C: .4byte gUnknown_3004FE0
|
|
_080D4940: .4byte sub_80D47AC
|
|
thumb_func_end sub_80D484C
|
|
|
|
thumb_func_start sub_80D4944
|
|
sub_80D4944: @ 80D4944
|
|
push {r4-r6,lr}
|
|
ldr r6, _080D49C4 @ =gUnknown_2024018
|
|
ldr r0, [r6]
|
|
ldr r4, _080D49C8 @ =gActiveBattler
|
|
ldrb r2, [r4]
|
|
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 _080D4976
|
|
ldr r0, _080D49CC @ =gBattlerPartyIndexes
|
|
adds r0, r3, r0
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r1, r0
|
|
ldr r0, _080D49D0 @ =gPlayerParty
|
|
adds r1, r0
|
|
adds r0, r2, 0
|
|
bl sub_80F1720
|
|
_080D4976:
|
|
ldr r5, _080D49D4 @ =gSprites
|
|
ldr r0, _080D49D8 @ =gUnknown_3004FFC
|
|
ldrb r2, [r4]
|
|
adds r0, r2, r0
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r3, r0, 2
|
|
adds r0, r5, 0
|
|
adds r0, 0x1C
|
|
adds r0, r3, r0
|
|
ldr r1, [r0]
|
|
ldr r0, _080D49DC @ =SpriteCallbackDummy
|
|
cmp r1, r0
|
|
bne _080D49BC
|
|
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 _080D49BC
|
|
adds r0, r3, r5
|
|
bl DestroySprite
|
|
ldr r1, _080D49E0 @ =gUnknown_3004FE0
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D49E4 @ =sub_80D484C
|
|
str r1, [r0]
|
|
_080D49BC:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D49C4: .4byte gUnknown_2024018
|
|
_080D49C8: .4byte gActiveBattler
|
|
_080D49CC: .4byte gBattlerPartyIndexes
|
|
_080D49D0: .4byte gPlayerParty
|
|
_080D49D4: .4byte gSprites
|
|
_080D49D8: .4byte gUnknown_3004FFC
|
|
_080D49DC: .4byte SpriteCallbackDummy
|
|
_080D49E0: .4byte gUnknown_3004FE0
|
|
_080D49E4: .4byte sub_80D484C
|
|
thumb_func_end sub_80D4944
|
|
|
|
thumb_func_start sub_80D49E8
|
|
sub_80D49E8: @ 80D49E8
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r1, _080D4A28 @ =gUnknown_3004FE0
|
|
ldr r4, _080D4A2C @ =gActiveBattler
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D4A30 @ =LinkPartnerBufferRunCommand
|
|
str r1, [r0]
|
|
ldr r0, _080D4A34 @ =gBattleTypeFlags
|
|
ldr r0, [r0]
|
|
movs r1, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080D4A3C
|
|
bl GetMultiplayerId
|
|
mov r1, sp
|
|
strb r0, [r1]
|
|
movs r0, 0x2
|
|
movs r1, 0x4
|
|
mov r2, sp
|
|
bl PrepareBufferDataTransferLink
|
|
ldr r1, _080D4A38 @ =gUnknown_2022BC4
|
|
ldrb r0, [r4]
|
|
lsls r0, 9
|
|
adds r0, r1
|
|
movs r1, 0x38
|
|
strb r1, [r0]
|
|
b _080D4A4E
|
|
.align 2, 0
|
|
_080D4A28: .4byte gUnknown_3004FE0
|
|
_080D4A2C: .4byte gActiveBattler
|
|
_080D4A30: .4byte LinkPartnerBufferRunCommand
|
|
_080D4A34: .4byte gBattleTypeFlags
|
|
_080D4A38: .4byte gUnknown_2022BC4
|
|
_080D4A3C:
|
|
ldr r2, _080D4A58 @ =gUnknown_2023BC8
|
|
ldr r1, _080D4A5C @ =gBitTable
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
ldr r0, [r2]
|
|
bics r0, r1
|
|
str r0, [r2]
|
|
_080D4A4E:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D4A58: .4byte gUnknown_2023BC8
|
|
_080D4A5C: .4byte gBitTable
|
|
thumb_func_end sub_80D49E8
|
|
|
|
thumb_func_start sub_80D4A60
|
|
sub_80D4A60: @ 80D4A60
|
|
push {lr}
|
|
ldr r0, _080D4A88 @ =gUnknown_2024018
|
|
ldr r2, [r0]
|
|
ldr r0, _080D4A8C @ =gActiveBattler
|
|
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 _080D4A82
|
|
bl sub_80D49E8
|
|
_080D4A82:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D4A88: .4byte gUnknown_2024018
|
|
_080D4A8C: .4byte gActiveBattler
|
|
thumb_func_end sub_80D4A60
|
|
|
|
thumb_func_start sub_80D4A90
|
|
sub_80D4A90: @ 80D4A90
|
|
push {lr}
|
|
ldr r0, _080D4AB8 @ =gUnknown_2024018
|
|
ldr r2, [r0]
|
|
ldr r0, _080D4ABC @ =gActiveBattler
|
|
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 _080D4AB2
|
|
bl sub_80D49E8
|
|
_080D4AB2:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D4AB8: .4byte gUnknown_2024018
|
|
_080D4ABC: .4byte gActiveBattler
|
|
thumb_func_end sub_80D4A90
|
|
|
|
thumb_func_start LinkPartnerHandleGetAttributes
|
|
LinkPartnerHandleGetAttributes: @ 80D4AC0
|
|
push {r4-r6,lr}
|
|
sub sp, 0x100
|
|
movs r6, 0
|
|
ldr r1, _080D4AEC @ =gUnknown_2022BC4
|
|
ldr r0, _080D4AF0 @ =gActiveBattler
|
|
ldrb r2, [r0]
|
|
lsls r0, r2, 9
|
|
adds r1, 0x2
|
|
adds r1, r0, r1
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
bne _080D4AF8
|
|
ldr r0, _080D4AF4 @ =gBattlerPartyIndexes
|
|
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 _080D4B1A
|
|
.align 2, 0
|
|
_080D4AEC: .4byte gUnknown_2022BC4
|
|
_080D4AF0: .4byte gActiveBattler
|
|
_080D4AF4: .4byte gBattlerPartyIndexes
|
|
_080D4AF8:
|
|
ldrb r4, [r1]
|
|
movs r5, 0
|
|
_080D4AFC:
|
|
movs r0, 0x1
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _080D4B12
|
|
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
|
|
_080D4B12:
|
|
lsrs r4, 1
|
|
adds r5, 0x1
|
|
cmp r5, 0x5
|
|
ble _080D4AFC
|
|
_080D4B1A:
|
|
lsls r1, r6, 16
|
|
lsrs r1, 16
|
|
movs r0, 0x1
|
|
mov r2, sp
|
|
bl EmitDataTransfer
|
|
bl sub_80D49E8
|
|
add sp, 0x100
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end LinkPartnerHandleGetAttributes
|
|
|
|
thumb_func_start dp01_getattr_by_ch1_for_player_pokemon
|
|
dp01_getattr_by_ch1_for_player_pokemon: @ 80D4B34
|
|
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, _080D4B68 @ =gUnknown_2022BC4
|
|
ldr r3, _080D4B6C @ =gActiveBattler
|
|
ldrb r0, [r3]
|
|
lsls r0, 9
|
|
adds r1, r2, 0x1
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x3B
|
|
bls _080D4B5E
|
|
bl _080D52CA
|
|
_080D4B5E:
|
|
lsls r0, 2
|
|
ldr r1, _080D4B70 @ =_080D4B74
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080D4B68: .4byte gUnknown_2022BC4
|
|
_080D4B6C: .4byte gActiveBattler
|
|
_080D4B70: .4byte _080D4B74
|
|
.align 2, 0
|
|
_080D4B74:
|
|
.4byte _080D4C64
|
|
.4byte _080D4E88
|
|
.4byte _080D4E98
|
|
.4byte _080D4EA8
|
|
.4byte _080D4F10
|
|
.4byte _080D4F10
|
|
.4byte _080D4F10
|
|
.4byte _080D4F10
|
|
.4byte _080D4F2C
|
|
.4byte _080D4F68
|
|
.4byte _080D4F68
|
|
.4byte _080D4F68
|
|
.4byte _080D4F68
|
|
.4byte _080D52CA
|
|
.4byte _080D52CA
|
|
.4byte _080D52CA
|
|
.4byte _080D52CA
|
|
.4byte _080D4F84
|
|
.4byte _080D4F94
|
|
.4byte _080D4FC4
|
|
.4byte _080D4FD4
|
|
.4byte _080D4FE4
|
|
.4byte _080D4FF4
|
|
.4byte _080D5004
|
|
.4byte _080D5014
|
|
.4byte _080D5024
|
|
.4byte _080D5034
|
|
.4byte _080D5044
|
|
.4byte _080D5054
|
|
.4byte _080D5064
|
|
.4byte _080D5074
|
|
.4byte _080D5084
|
|
.4byte _080D50D4
|
|
.4byte _080D50E4
|
|
.4byte _080D50F4
|
|
.4byte _080D5104
|
|
.4byte _080D5114
|
|
.4byte _080D5124
|
|
.4byte _080D5134
|
|
.4byte _080D5144
|
|
.4byte _080D5154
|
|
.4byte _080D5188
|
|
.4byte _080D5198
|
|
.4byte _080D51A8
|
|
.4byte _080D51B8
|
|
.4byte _080D51C8
|
|
.4byte _080D51D8
|
|
.4byte _080D51E8
|
|
.4byte _080D51F8
|
|
.4byte _080D5218
|
|
.4byte _080D5228
|
|
.4byte _080D5238
|
|
.4byte _080D5248
|
|
.4byte _080D5258
|
|
.4byte _080D5268
|
|
.4byte _080D5278
|
|
.4byte _080D5288
|
|
.4byte _080D5298
|
|
.4byte _080D52A8
|
|
.4byte _080D52B8
|
|
_080D4C64:
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _080D4E78 @ =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
|
|
_080D4CB0:
|
|
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 _080D4CB0
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _080D4E78 @ =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, _080D4E7C @ =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, _080D4E80 @ =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, _080D4E84 @ =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
|
|
_080D4E68:
|
|
adds r0, r7, r6
|
|
adds r1, r2, r6
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
cmp r6, 0x57
|
|
bls _080D4E68
|
|
b _080D52CA
|
|
.align 2, 0
|
|
_080D4E78: .4byte gPlayerParty
|
|
_080D4E7C: .4byte 0xfffffc1f
|
|
_080D4E80: .4byte 0xfff07fff
|
|
_080D4E84: .4byte 0xfffffe0f
|
|
_080D4E88:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D4E94 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0xB
|
|
b _080D5202
|
|
.align 2, 0
|
|
_080D4E94: .4byte gPlayerParty
|
|
_080D4E98:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D4EA4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0xC
|
|
b _080D5202
|
|
.align 2, 0
|
|
_080D4EA4: .4byte gPlayerParty
|
|
_080D4EA8:
|
|
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, _080D4F0C @ =gPlayerParty
|
|
adds r4, r1, r0
|
|
mov r8, r9
|
|
_080D4EBE:
|
|
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 _080D4EBE
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D4F0C @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x15
|
|
bl GetMonData
|
|
mov r1, r9
|
|
strb r0, [r1, 0xC]
|
|
mov r2, r9
|
|
movs r6, 0
|
|
_080D4EFC:
|
|
adds r0, r7, r6
|
|
adds r1, r2, r6
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
cmp r6, 0xF
|
|
bls _080D4EFC
|
|
b _080D52CA
|
|
.align 2, 0
|
|
_080D4F0C: .4byte gPlayerParty
|
|
_080D4F10:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D4F28 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldrb r1, [r3]
|
|
lsls r1, 9
|
|
adds r2, 0x1
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
adds r1, 0x9
|
|
b _080D5202
|
|
.align 2, 0
|
|
_080D4F28: .4byte gPlayerParty
|
|
_080D4F2C:
|
|
movs r6, 0
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r2, _080D4F64 @ =gPlayerParty
|
|
mov r8, r2
|
|
_080D4F38:
|
|
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 _080D4F38
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D4F64 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x15
|
|
bl GetMonData
|
|
adds r1, r7, r6
|
|
strb r0, [r1]
|
|
adds r6, 0x1
|
|
b _080D52CA
|
|
.align 2, 0
|
|
_080D4F64: .4byte gPlayerParty
|
|
_080D4F68:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D4F80 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldrb r1, [r3]
|
|
lsls r1, 9
|
|
adds r2, 0x1
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
adds r1, 0x8
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D4F80: .4byte gPlayerParty
|
|
_080D4F84:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D4F90 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
b _080D4F9E
|
|
.align 2, 0
|
|
_080D4F90: .4byte gPlayerParty
|
|
_080D4F94:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D4FC0 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x19
|
|
_080D4F9E:
|
|
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 _080D52CA
|
|
.align 2, 0
|
|
_080D4FC0: .4byte gPlayerParty
|
|
_080D4FC4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D4FD0 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x1A
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D4FD0: .4byte gPlayerParty
|
|
_080D4FD4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D4FE0 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x1B
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D4FE0: .4byte gPlayerParty
|
|
_080D4FE4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D4FF0 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x1C
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D4FF0: .4byte gPlayerParty
|
|
_080D4FF4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5000 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x1D
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5000: .4byte gPlayerParty
|
|
_080D5004:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5010 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x1E
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5010: .4byte gPlayerParty
|
|
_080D5014:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5020 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x1F
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5020: .4byte gPlayerParty
|
|
_080D5024:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5030 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x20
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5030: .4byte gPlayerParty
|
|
_080D5034:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5040 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x22
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5040: .4byte gPlayerParty
|
|
_080D5044:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5050 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x23
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5050: .4byte gPlayerParty
|
|
_080D5054:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5060 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x24
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5060: .4byte gPlayerParty
|
|
_080D5064:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5070 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x25
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5070: .4byte gPlayerParty
|
|
_080D5074:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5080 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x26
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5080: .4byte gPlayerParty
|
|
_080D5084:
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _080D50D0 @ =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 _080D52CA
|
|
.align 2, 0
|
|
_080D50D0: .4byte gPlayerParty
|
|
_080D50D4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D50E0 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x27
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D50E0: .4byte gPlayerParty
|
|
_080D50E4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D50F0 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x28
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D50F0: .4byte gPlayerParty
|
|
_080D50F4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5100 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x29
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5100: .4byte gPlayerParty
|
|
_080D5104:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5110 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x2A
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5110: .4byte gPlayerParty
|
|
_080D5114:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5120 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x2B
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5120: .4byte gPlayerParty
|
|
_080D5124:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5130 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x2C
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5130: .4byte gPlayerParty
|
|
_080D5134:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5140 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0
|
|
b _080D515E
|
|
.align 2, 0
|
|
_080D5140: .4byte gPlayerParty
|
|
_080D5144:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5150 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x9
|
|
b _080D5202
|
|
.align 2, 0
|
|
_080D5150: .4byte gPlayerParty
|
|
_080D5154:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5184 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x37
|
|
_080D515E:
|
|
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 _080D52CA
|
|
.align 2, 0
|
|
_080D5184: .4byte gPlayerParty
|
|
_080D5188:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5194 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x38
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5194: .4byte gPlayerParty
|
|
_080D5198:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D51A4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x39
|
|
b _080D5202
|
|
.align 2, 0
|
|
_080D51A4: .4byte gPlayerParty
|
|
_080D51A8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D51B4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x3A
|
|
b _080D5202
|
|
.align 2, 0
|
|
_080D51B4: .4byte gPlayerParty
|
|
_080D51B8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D51C4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x3B
|
|
b _080D5202
|
|
.align 2, 0
|
|
_080D51C4: .4byte gPlayerParty
|
|
_080D51C8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D51D4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x3C
|
|
b _080D5202
|
|
.align 2, 0
|
|
_080D51D4: .4byte gPlayerParty
|
|
_080D51D8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D51E4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x3D
|
|
b _080D5202
|
|
.align 2, 0
|
|
_080D51E4: .4byte gPlayerParty
|
|
_080D51E8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D51F4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x3E
|
|
b _080D5202
|
|
.align 2, 0
|
|
_080D51F4: .4byte gPlayerParty
|
|
_080D51F8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5214 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x3F
|
|
_080D5202:
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
strb r0, [r7]
|
|
lsrs r0, 8
|
|
strb r0, [r7, 0x1]
|
|
movs r6, 0x2
|
|
b _080D52CA
|
|
.align 2, 0
|
|
_080D5214: .4byte gPlayerParty
|
|
_080D5218:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5224 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x16
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5224: .4byte gPlayerParty
|
|
_080D5228:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5234 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x17
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5234: .4byte gPlayerParty
|
|
_080D5238:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5244 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x18
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5244: .4byte gPlayerParty
|
|
_080D5248:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5254 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x21
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5254: .4byte gPlayerParty
|
|
_080D5258:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5264 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x2F
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5264: .4byte gPlayerParty
|
|
_080D5268:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5274 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x30
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5274: .4byte gPlayerParty
|
|
_080D5278:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5284 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x32
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5284: .4byte gPlayerParty
|
|
_080D5288:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5294 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x33
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D5294: .4byte gPlayerParty
|
|
_080D5298:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D52A4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x34
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D52A4: .4byte gPlayerParty
|
|
_080D52A8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D52B4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x35
|
|
b _080D52C2
|
|
.align 2, 0
|
|
_080D52B4: .4byte gPlayerParty
|
|
_080D52B8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D52DC @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x36
|
|
_080D52C2:
|
|
bl GetMonData
|
|
strb r0, [r7]
|
|
movs r6, 0x1
|
|
_080D52CA:
|
|
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
|
|
.align 2, 0
|
|
_080D52DC: .4byte gPlayerParty
|
|
thumb_func_end dp01_getattr_by_ch1_for_player_pokemon
|
|
|
|
thumb_func_start sub_80D52E0
|
|
sub_80D52E0: @ 80D52E0
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D52E0
|
|
|
|
thumb_func_start LinkPartnerHandleSetAttributes
|
|
LinkPartnerHandleSetAttributes: @ 80D52EC
|
|
push {r4,r5,lr}
|
|
ldr r1, _080D5310 @ =gUnknown_2022BC4
|
|
ldr r0, _080D5314 @ =gActiveBattler
|
|
ldrb r2, [r0]
|
|
lsls r0, r2, 9
|
|
adds r1, 0x2
|
|
adds r1, r0, r1
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
bne _080D531C
|
|
ldr r0, _080D5318 @ =gBattlerPartyIndexes
|
|
lsls r1, r2, 1
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
bl sub_80D5344
|
|
b _080D533A
|
|
.align 2, 0
|
|
_080D5310: .4byte gUnknown_2022BC4
|
|
_080D5314: .4byte gActiveBattler
|
|
_080D5318: .4byte gBattlerPartyIndexes
|
|
_080D531C:
|
|
ldrb r4, [r1]
|
|
movs r5, 0
|
|
_080D5320:
|
|
movs r0, 0x1
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _080D532E
|
|
adds r0, r5, 0
|
|
bl sub_80D5344
|
|
_080D532E:
|
|
lsrs r4, 1
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x5
|
|
bls _080D5320
|
|
_080D533A:
|
|
bl sub_80D49E8
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end LinkPartnerHandleSetAttributes
|
|
|
|
thumb_func_start sub_80D5344
|
|
sub_80D5344: @ 80D5344
|
|
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, _080D537C @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
lsls r0, 9
|
|
ldr r2, _080D5380 @ =gUnknown_2022BC7
|
|
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 _080D5370
|
|
bl _080D5D0A
|
|
_080D5370:
|
|
lsls r0, 2
|
|
ldr r1, _080D5384 @ =_080D5388
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080D537C: .4byte gActiveBattler
|
|
_080D5380: .4byte gUnknown_2022BC7
|
|
_080D5384: .4byte _080D5388
|
|
.align 2, 0
|
|
_080D5388:
|
|
.4byte _080D5478
|
|
.4byte _080D5610
|
|
.4byte _080D5630
|
|
.4byte _080D5650
|
|
.4byte _080D56A8
|
|
.4byte _080D56A8
|
|
.4byte _080D56A8
|
|
.4byte _080D56A8
|
|
.4byte _080D56D0
|
|
.4byte _080D5734
|
|
.4byte _080D5734
|
|
.4byte _080D5734
|
|
.4byte _080D5734
|
|
.4byte _080D5D0A
|
|
.4byte _080D5D0A
|
|
.4byte _080D5D0A
|
|
.4byte _080D5D0A
|
|
.4byte _080D5764
|
|
.4byte _080D5784
|
|
.4byte _080D57A4
|
|
.4byte _080D57C4
|
|
.4byte _080D57E4
|
|
.4byte _080D5804
|
|
.4byte _080D5824
|
|
.4byte _080D5844
|
|
.4byte _080D5864
|
|
.4byte _080D5884
|
|
.4byte _080D58A4
|
|
.4byte _080D58C4
|
|
.4byte _080D58E4
|
|
.4byte _080D5904
|
|
.4byte _080D5924
|
|
.4byte _080D5994
|
|
.4byte _080D59B4
|
|
.4byte _080D59D4
|
|
.4byte _080D59F4
|
|
.4byte _080D5A14
|
|
.4byte _080D5A34
|
|
.4byte _080D5A54
|
|
.4byte _080D5A74
|
|
.4byte _080D5A94
|
|
.4byte _080D5AB4
|
|
.4byte _080D5AD4
|
|
.4byte _080D5AF4
|
|
.4byte _080D5B14
|
|
.4byte _080D5B34
|
|
.4byte _080D5B54
|
|
.4byte _080D5B74
|
|
.4byte _080D5B94
|
|
.4byte _080D5BB4
|
|
.4byte _080D5BD4
|
|
.4byte _080D5BF4
|
|
.4byte _080D5C14
|
|
.4byte _080D5C34
|
|
.4byte _080D5C54
|
|
.4byte _080D5C74
|
|
.4byte _080D5C94
|
|
.4byte _080D5CB4
|
|
.4byte _080D5CD4
|
|
.4byte _080D5CF4
|
|
_080D5478:
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _080D560C @ =gPlayerParty
|
|
adds r4, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0xB
|
|
adds r2, r6, 0
|
|
bl sub_804037C
|
|
adds r2, r6, 0
|
|
adds r2, 0x2E
|
|
adds r0, r4, 0
|
|
movs r1, 0xC
|
|
bl sub_804037C
|
|
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
|
|
_080D54DE:
|
|
mov r1, r8
|
|
adds r1, 0xD
|
|
mov r0, r9
|
|
adds r2, r4, 0
|
|
bl sub_804037C
|
|
mov r1, r8
|
|
adds r1, 0x11
|
|
mov r0, r9
|
|
adds r2, r7, 0
|
|
bl sub_804037C
|
|
adds r7, 0x1
|
|
adds r4, 0x2
|
|
movs r0, 0x1
|
|
add r8, r0
|
|
mov r0, r8
|
|
cmp r0, 0x3
|
|
ble _080D54DE
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _080D560C @ =gPlayerParty
|
|
adds r4, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x15
|
|
mov r2, r10
|
|
bl sub_804037C
|
|
adds r0, r4, 0
|
|
movs r1, 0x20
|
|
ldr r2, [sp, 0x20]
|
|
bl sub_804037C
|
|
adds r0, r4, 0
|
|
movs r1, 0x19
|
|
ldr r2, [sp, 0x28]
|
|
bl sub_804037C
|
|
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 sub_804037C
|
|
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 sub_804037C
|
|
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 sub_804037C
|
|
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 sub_804037C
|
|
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 sub_804037C
|
|
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 sub_804037C
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
ldr r2, [sp, 0x2C]
|
|
bl sub_804037C
|
|
adds r0, r4, 0
|
|
movs r1, 0x37
|
|
ldr r2, [sp, 0x30]
|
|
bl sub_804037C
|
|
adds r0, r4, 0
|
|
movs r1, 0x38
|
|
ldr r2, [sp, 0x1C]
|
|
bl sub_804037C
|
|
adds r0, r4, 0
|
|
movs r1, 0x39
|
|
ldr r2, [sp, 0x18]
|
|
bl sub_804037C
|
|
adds r0, r4, 0
|
|
movs r1, 0x3A
|
|
ldr r2, [sp, 0x24]
|
|
bl sub_804037C
|
|
adds r0, r4, 0
|
|
movs r1, 0x3B
|
|
ldr r2, [sp, 0x4]
|
|
bl sub_804037C
|
|
adds r0, r4, 0
|
|
movs r1, 0x3C
|
|
ldr r2, [sp, 0x8]
|
|
bl sub_804037C
|
|
adds r0, r4, 0
|
|
movs r1, 0x3D
|
|
ldr r2, [sp, 0xC]
|
|
bl sub_804037C
|
|
adds r0, r4, 0
|
|
movs r1, 0x3E
|
|
ldr r2, [sp, 0x10]
|
|
bl sub_804037C
|
|
adds r0, r4, 0
|
|
movs r1, 0x3F
|
|
ldr r2, [sp, 0x14]
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D560C: .4byte gPlayerParty
|
|
_080D5610:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5628 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D562C @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0xB
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5628: .4byte gPlayerParty
|
|
_080D562C: .4byte gActiveBattler
|
|
_080D5630:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5648 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D564C @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0xC
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5648: .4byte gPlayerParty
|
|
_080D564C: .4byte gActiveBattler
|
|
_080D5650:
|
|
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, _080D56A4 @ =gPlayerParty
|
|
adds r7, r1, r0
|
|
adds r6, r3, 0
|
|
adds r6, 0x8
|
|
adds r4, r3, 0
|
|
_080D566A:
|
|
mov r1, r8
|
|
adds r1, 0xD
|
|
adds r0, r7, 0
|
|
adds r2, r4, 0
|
|
bl sub_804037C
|
|
mov r1, r8
|
|
adds r1, 0x11
|
|
adds r0, r7, 0
|
|
adds r2, r6, 0
|
|
bl sub_804037C
|
|
adds r6, 0x1
|
|
adds r4, 0x2
|
|
movs r0, 0x1
|
|
add r8, r0
|
|
mov r0, r8
|
|
cmp r0, 0x3
|
|
ble _080D566A
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D56A4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x15
|
|
mov r2, r9
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D56A4: .4byte gPlayerParty
|
|
_080D56A8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D56C4 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r3, _080D56C8 @ =gUnknown_2022BC4
|
|
ldr r1, _080D56CC @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r1, r3, 0x1
|
|
adds r1, r2, r1
|
|
ldrb r1, [r1]
|
|
adds r1, 0x9
|
|
b _080D574C
|
|
.align 2, 0
|
|
_080D56C4: .4byte gPlayerParty
|
|
_080D56C8: .4byte gUnknown_2022BC4
|
|
_080D56CC: .4byte gActiveBattler
|
|
_080D56D0:
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _080D572C @ =gPlayerParty
|
|
adds r4, r0
|
|
ldr r5, _080D5730 @ =gActiveBattler
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
adds r0, r4, 0
|
|
movs r1, 0x11
|
|
bl sub_804037C
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r0, r7, 0x1
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x12
|
|
bl sub_804037C
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r0, r7, 0x2
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x13
|
|
bl sub_804037C
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r0, r7, 0x3
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x14
|
|
bl sub_804037C
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r0, r7, 0x4
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x15
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D572C: .4byte gPlayerParty
|
|
_080D5730: .4byte gActiveBattler
|
|
_080D5734:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5758 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r3, _080D575C @ =gUnknown_2022BC4
|
|
ldr r1, _080D5760 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r1, r3, 0x1
|
|
adds r1, r2, r1
|
|
ldrb r1, [r1]
|
|
adds r1, 0x8
|
|
_080D574C:
|
|
adds r3, 0x3
|
|
adds r2, r3
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5758: .4byte gPlayerParty
|
|
_080D575C: .4byte gUnknown_2022BC4
|
|
_080D5760: .4byte gActiveBattler
|
|
_080D5764:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D577C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5780 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x1
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D577C: .4byte gPlayerParty
|
|
_080D5780: .4byte gActiveBattler
|
|
_080D5784:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D579C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D57A0 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x19
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D579C: .4byte gPlayerParty
|
|
_080D57A0: .4byte gActiveBattler
|
|
_080D57A4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D57BC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D57C0 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x1A
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D57BC: .4byte gPlayerParty
|
|
_080D57C0: .4byte gActiveBattler
|
|
_080D57C4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D57DC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D57E0 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x1B
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D57DC: .4byte gPlayerParty
|
|
_080D57E0: .4byte gActiveBattler
|
|
_080D57E4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D57FC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5800 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x1C
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D57FC: .4byte gPlayerParty
|
|
_080D5800: .4byte gActiveBattler
|
|
_080D5804:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D581C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5820 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x1D
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D581C: .4byte gPlayerParty
|
|
_080D5820: .4byte gActiveBattler
|
|
_080D5824:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D583C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5840 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x1E
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D583C: .4byte gPlayerParty
|
|
_080D5840: .4byte gActiveBattler
|
|
_080D5844:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D585C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5860 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x1F
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D585C: .4byte gPlayerParty
|
|
_080D5860: .4byte gActiveBattler
|
|
_080D5864:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D587C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5880 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x20
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D587C: .4byte gPlayerParty
|
|
_080D5880: .4byte gActiveBattler
|
|
_080D5884:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D589C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D58A0 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x22
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D589C: .4byte gPlayerParty
|
|
_080D58A0: .4byte gActiveBattler
|
|
_080D58A4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D58BC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D58C0 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x23
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D58BC: .4byte gPlayerParty
|
|
_080D58C0: .4byte gActiveBattler
|
|
_080D58C4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D58DC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D58E0 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x24
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D58DC: .4byte gPlayerParty
|
|
_080D58E0: .4byte gActiveBattler
|
|
_080D58E4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D58FC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5900 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x25
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D58FC: .4byte gPlayerParty
|
|
_080D5900: .4byte gActiveBattler
|
|
_080D5904:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D591C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5920 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x26
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D591C: .4byte gPlayerParty
|
|
_080D5920: .4byte gActiveBattler
|
|
_080D5924:
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _080D598C @ =gPlayerParty
|
|
adds r4, r0
|
|
ldr r5, _080D5990 @ =gActiveBattler
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
adds r0, r4, 0
|
|
movs r1, 0x27
|
|
bl sub_804037C
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r0, r7, 0x1
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x28
|
|
bl sub_804037C
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r0, r7, 0x2
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x29
|
|
bl sub_804037C
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r0, r7, 0x3
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x2A
|
|
bl sub_804037C
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r0, r7, 0x4
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x2B
|
|
bl sub_804037C
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r0, r7, 0x5
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
b _080D5A44
|
|
.align 2, 0
|
|
_080D598C: .4byte gPlayerParty
|
|
_080D5990: .4byte gActiveBattler
|
|
_080D5994:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D59AC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D59B0 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x27
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D59AC: .4byte gPlayerParty
|
|
_080D59B0: .4byte gActiveBattler
|
|
_080D59B4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D59CC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D59D0 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x28
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D59CC: .4byte gPlayerParty
|
|
_080D59D0: .4byte gActiveBattler
|
|
_080D59D4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D59EC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D59F0 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x29
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D59EC: .4byte gPlayerParty
|
|
_080D59F0: .4byte gActiveBattler
|
|
_080D59F4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5A0C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5A10 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x2A
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5A0C: .4byte gPlayerParty
|
|
_080D5A10: .4byte gActiveBattler
|
|
_080D5A14:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5A2C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5A30 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x2B
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5A2C: .4byte gPlayerParty
|
|
_080D5A30: .4byte gActiveBattler
|
|
_080D5A34:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5A4C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5A50 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
_080D5A44:
|
|
movs r1, 0x2C
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5A4C: .4byte gPlayerParty
|
|
_080D5A50: .4byte gActiveBattler
|
|
_080D5A54:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5A6C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5A70 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5A6C: .4byte gPlayerParty
|
|
_080D5A70: .4byte gActiveBattler
|
|
_080D5A74:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5A8C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5A90 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x9
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5A8C: .4byte gPlayerParty
|
|
_080D5A90: .4byte gActiveBattler
|
|
_080D5A94:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5AAC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5AB0 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x37
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5AAC: .4byte gPlayerParty
|
|
_080D5AB0: .4byte gActiveBattler
|
|
_080D5AB4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5ACC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5AD0 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x38
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5ACC: .4byte gPlayerParty
|
|
_080D5AD0: .4byte gActiveBattler
|
|
_080D5AD4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5AEC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5AF0 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x39
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5AEC: .4byte gPlayerParty
|
|
_080D5AF0: .4byte gActiveBattler
|
|
_080D5AF4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5B0C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5B10 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x3A
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5B0C: .4byte gPlayerParty
|
|
_080D5B10: .4byte gActiveBattler
|
|
_080D5B14:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5B2C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5B30 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x3B
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5B2C: .4byte gPlayerParty
|
|
_080D5B30: .4byte gActiveBattler
|
|
_080D5B34:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5B4C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5B50 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x3C
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5B4C: .4byte gPlayerParty
|
|
_080D5B50: .4byte gActiveBattler
|
|
_080D5B54:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5B6C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5B70 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x3D
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5B6C: .4byte gPlayerParty
|
|
_080D5B70: .4byte gActiveBattler
|
|
_080D5B74:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5B8C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5B90 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x3E
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5B8C: .4byte gPlayerParty
|
|
_080D5B90: .4byte gActiveBattler
|
|
_080D5B94:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5BAC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5BB0 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x3F
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5BAC: .4byte gPlayerParty
|
|
_080D5BB0: .4byte gActiveBattler
|
|
_080D5BB4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5BCC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5BD0 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x16
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5BCC: .4byte gPlayerParty
|
|
_080D5BD0: .4byte gActiveBattler
|
|
_080D5BD4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5BEC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5BF0 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x17
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5BEC: .4byte gPlayerParty
|
|
_080D5BF0: .4byte gActiveBattler
|
|
_080D5BF4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5C0C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5C10 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x18
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5C0C: .4byte gPlayerParty
|
|
_080D5C10: .4byte gActiveBattler
|
|
_080D5C14:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5C2C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5C30 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x21
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5C2C: .4byte gPlayerParty
|
|
_080D5C30: .4byte gActiveBattler
|
|
_080D5C34:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5C4C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5C50 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x2F
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5C4C: .4byte gPlayerParty
|
|
_080D5C50: .4byte gActiveBattler
|
|
_080D5C54:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5C6C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5C70 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x30
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5C6C: .4byte gPlayerParty
|
|
_080D5C70: .4byte gActiveBattler
|
|
_080D5C74:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5C8C @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5C90 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x32
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5C8C: .4byte gPlayerParty
|
|
_080D5C90: .4byte gActiveBattler
|
|
_080D5C94:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5CAC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5CB0 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x33
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5CAC: .4byte gPlayerParty
|
|
_080D5CB0: .4byte gActiveBattler
|
|
_080D5CB4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5CCC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5CD0 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x34
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5CCC: .4byte gPlayerParty
|
|
_080D5CD0: .4byte gActiveBattler
|
|
_080D5CD4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5CEC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5CF0 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x35
|
|
bl sub_804037C
|
|
b _080D5D0A
|
|
.align 2, 0
|
|
_080D5CEC: .4byte gPlayerParty
|
|
_080D5CF0: .4byte gActiveBattler
|
|
_080D5CF4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080D5D34 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _080D5D38 @ =gActiveBattler
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x36
|
|
bl sub_804037C
|
|
_080D5D0A:
|
|
ldr r2, _080D5D3C @ =gBattlerPartyIndexes
|
|
ldr r0, _080D5D38 @ =gActiveBattler
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 1
|
|
adds r0, r2
|
|
ldrh r2, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
ldr r2, _080D5D34 @ =gPlayerParty
|
|
adds r0, r2
|
|
bl HandleLowHpMusicChange
|
|
add sp, 0x34
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D5D34: .4byte gPlayerParty
|
|
_080D5D38: .4byte gActiveBattler
|
|
_080D5D3C: .4byte gBattlerPartyIndexes
|
|
thumb_func_end sub_80D5344
|
|
|
|
thumb_func_start LinkPartnerHandlecmd3
|
|
LinkPartnerHandlecmd3: @ 80D5D40
|
|
push {r4-r7,lr}
|
|
ldr r1, _080D5DA4 @ =gBattlerPartyIndexes
|
|
ldr r7, _080D5DA8 @ =gActiveBattler
|
|
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, _080D5DAC @ =gUnknown_2022BC4
|
|
lsls r2, 9
|
|
adds r0, r4, 0x1
|
|
adds r0, r2, r0
|
|
ldrb r0, [r0]
|
|
ldr r1, _080D5DB0 @ =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 _080D5D98
|
|
adds r6, r4, 0
|
|
adds r2, r7, 0
|
|
adds r4, r0, 0
|
|
_080D5D76:
|
|
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 _080D5D76
|
|
_080D5D98:
|
|
bl sub_80D49E8
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D5DA4: .4byte gBattlerPartyIndexes
|
|
_080D5DA8: .4byte gActiveBattler
|
|
_080D5DAC: .4byte gUnknown_2022BC4
|
|
_080D5DB0: .4byte gPlayerParty
|
|
thumb_func_end LinkPartnerHandlecmd3
|
|
|
|
thumb_func_start LinkPartnerHandleLoadPokeSprite
|
|
LinkPartnerHandleLoadPokeSprite: @ 80D5DB4
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
ldr r0, _080D5EA8 @ =gBattlerPartyIndexes
|
|
mov r8, r0
|
|
ldr r6, _080D5EAC @ =gActiveBattler
|
|
ldrb r1, [r6]
|
|
lsls r0, r1, 1
|
|
add r0, r8
|
|
ldrh r0, [r0]
|
|
movs r5, 0x64
|
|
muls r0, r5
|
|
ldr r4, _080D5EB0 @ =gPlayerParty
|
|
adds r0, r4
|
|
bl sub_8034498
|
|
ldrb r0, [r6]
|
|
lsls r0, 1
|
|
add r0, r8
|
|
ldrh r0, [r0]
|
|
muls r0, r5
|
|
adds r0, r4
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
ldrb r0, [r6]
|
|
bl GetBankIdentity
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl sub_803F7D4
|
|
ldr r0, _080D5EB4 @ =gUnknown_20244DC
|
|
mov r8, r0
|
|
ldrb r0, [r6]
|
|
movs r1, 0x2
|
|
bl sub_8074480
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
ldrb r0, [r6]
|
|
bl GetBankSpriteDefault_Y
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldrb r0, [r6]
|
|
bl sub_807685C
|
|
adds r3, r0, 0
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
mov r0, r8
|
|
adds r1, r5, 0
|
|
adds r2, r4, 0
|
|
bl CreateSprite
|
|
ldr r4, _080D5EB8 @ =gUnknown_2023D44
|
|
ldrb r1, [r6]
|
|
adds r1, r4
|
|
strb r0, [r1]
|
|
ldr r5, _080D5EBC @ =gSprites
|
|
ldrb r0, [r6]
|
|
adds r0, r4
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
ldr r1, _080D5EC0 @ =0x0000ff10
|
|
strh r1, [r0, 0x24]
|
|
ldrb r2, [r6]
|
|
adds r0, r2, r4
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
strh r2, [r0, 0x2E]
|
|
ldrb r3, [r6]
|
|
adds r0, r3, r4
|
|
ldrb r0, [r0]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r5
|
|
lsls r3, 4
|
|
ldrb r2, [r1, 0x5]
|
|
movs r0, 0xF
|
|
ands r0, r2
|
|
orrs r0, r3
|
|
strb r0, [r1, 0x5]
|
|
ldrb r2, [r6]
|
|
adds r4, r2, r4
|
|
ldrb r1, [r4]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
ldr r1, _080D5EC4 @ =gUnknown_2024024
|
|
adds r2, r1
|
|
ldrb r1, [r2]
|
|
bl StartSpriteAnim
|
|
ldr r1, _080D5EC8 @ =gUnknown_3004FE0
|
|
ldrb r0, [r6]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D5ECC @ =sub_80D4590
|
|
str r1, [r0]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D5EA8: .4byte gBattlerPartyIndexes
|
|
_080D5EAC: .4byte gActiveBattler
|
|
_080D5EB0: .4byte gPlayerParty
|
|
_080D5EB4: .4byte gUnknown_20244DC
|
|
_080D5EB8: .4byte gUnknown_2023D44
|
|
_080D5EBC: .4byte gSprites
|
|
_080D5EC0: .4byte 0x0000ff10
|
|
_080D5EC4: .4byte gUnknown_2024024
|
|
_080D5EC8: .4byte gUnknown_3004FE0
|
|
_080D5ECC: .4byte sub_80D4590
|
|
thumb_func_end LinkPartnerHandleLoadPokeSprite
|
|
|
|
thumb_func_start LinkPartnerHandleSendOutPoke
|
|
LinkPartnerHandleSendOutPoke: @ 80D5ED0
|
|
push {r4-r6,lr}
|
|
ldr r5, _080D5F28 @ =gActiveBattler
|
|
ldrb r0, [r5]
|
|
ldr r4, _080D5F2C @ =gUnknown_2022BC4
|
|
lsls r1, r0, 9
|
|
adds r6, r4, 0x2
|
|
adds r1, r6
|
|
ldrb r1, [r1]
|
|
bl ClearTemporarySpeciesSpriteData
|
|
ldr r2, _080D5F30 @ =gBattlerPartyIndexes
|
|
ldrb r0, [r5]
|
|
lsls r1, r0, 1
|
|
adds r1, r2
|
|
lsls r0, 9
|
|
adds r4, 0x1
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
strh r0, [r1]
|
|
ldrb r1, [r5]
|
|
lsls r0, r1, 1
|
|
adds r0, r2
|
|
ldrh r2, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
ldr r2, _080D5F34 @ =gPlayerParty
|
|
adds r0, r2
|
|
bl sub_8034498
|
|
ldrb r0, [r5]
|
|
lsls r1, r0, 9
|
|
adds r1, r6
|
|
ldrb r1, [r1]
|
|
bl sub_80D5F40
|
|
ldr r1, _080D5F38 @ =gUnknown_3004FE0
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D5F3C @ =sub_80D4944
|
|
str r1, [r0]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D5F28: .4byte gActiveBattler
|
|
_080D5F2C: .4byte gUnknown_2022BC4
|
|
_080D5F30: .4byte gBattlerPartyIndexes
|
|
_080D5F34: .4byte gPlayerParty
|
|
_080D5F38: .4byte gUnknown_3004FE0
|
|
_080D5F3C: .4byte sub_80D4944
|
|
thumb_func_end LinkPartnerHandleSendOutPoke
|
|
|
|
thumb_func_start sub_80D5F40
|
|
sub_80D5F40: @ 80D5F40
|
|
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 ClearTemporarySpeciesSpriteData
|
|
ldr r0, _080D6084 @ =gBattlerPartyIndexes
|
|
lsls r2, r6, 1
|
|
adds r2, r0
|
|
ldr r0, _080D6088 @ =gUnknown_2022BC4
|
|
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, _080D608C @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
mov r8, r0
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
ldr r0, _080D6090 @ =sub_8033E3C
|
|
bl CreateInvisibleSpriteWithCallback
|
|
ldr r1, _080D6094 @ =gUnknown_3004FFC
|
|
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_803F7D4
|
|
ldr r0, _080D6098 @ =gUnknown_20244DC
|
|
mov r10, r0
|
|
adds r0, r6, 0
|
|
movs r1, 0x2
|
|
bl sub_8074480
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
adds r0, r6, 0
|
|
bl GetBankSpriteDefault_Y
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r6, 0
|
|
bl sub_807685C
|
|
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, _080D609C @ =gUnknown_2023D44
|
|
adds r4, r6, r4
|
|
strb r0, [r4]
|
|
ldr r5, _080D60A0 @ =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]
|
|
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, _080D60A4 @ =gUnknown_2024024
|
|
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, _080D60A8 @ =SpriteCallbackDummy
|
|
str r1, [r0]
|
|
movs r0, 0
|
|
movs r1, 0xFF
|
|
bl DoPokeballSendOutAnimation
|
|
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
|
|
.align 2, 0
|
|
_080D6084: .4byte gBattlerPartyIndexes
|
|
_080D6088: .4byte gUnknown_2022BC4
|
|
_080D608C: .4byte gPlayerParty
|
|
_080D6090: .4byte sub_8033E3C
|
|
_080D6094: .4byte gUnknown_3004FFC
|
|
_080D6098: .4byte gUnknown_20244DC
|
|
_080D609C: .4byte gUnknown_2023D44
|
|
_080D60A0: .4byte gSprites
|
|
_080D60A4: .4byte gUnknown_2024024
|
|
_080D60A8: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_80D5F40
|
|
|
|
thumb_func_start LinkPartnerHandleReturnPokeToBall
|
|
LinkPartnerHandleReturnPokeToBall: @ 80D60AC
|
|
push {r4-r6,lr}
|
|
ldr r1, _080D60E0 @ =gUnknown_2022BC4
|
|
ldr r6, _080D60E4 @ =gActiveBattler
|
|
ldrb r2, [r6]
|
|
lsls r0, r2, 9
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
ldrb r3, [r0]
|
|
cmp r3, 0
|
|
bne _080D60F4
|
|
ldr r0, _080D60E8 @ =gUnknown_2024018
|
|
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, _080D60EC @ =gUnknown_3004FE0
|
|
ldrb r0, [r6]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D60F0 @ =sub_80D613C
|
|
str r1, [r0]
|
|
b _080D612A
|
|
.align 2, 0
|
|
_080D60E0: .4byte gUnknown_2022BC4
|
|
_080D60E4: .4byte gActiveBattler
|
|
_080D60E8: .4byte gUnknown_2024018
|
|
_080D60EC: .4byte gUnknown_3004FE0
|
|
_080D60F0: .4byte sub_80D613C
|
|
_080D60F4:
|
|
ldr r5, _080D6130 @ =gUnknown_2023D44
|
|
adds r0, r2, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r4, _080D6134 @ =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, _080D6138 @ =gUnknown_3004FF0
|
|
ldrb r0, [r6]
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl SetHealthboxSpriteInvisible
|
|
bl sub_80D49E8
|
|
_080D612A:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D6130: .4byte gUnknown_2023D44
|
|
_080D6134: .4byte gSprites
|
|
_080D6138: .4byte gUnknown_3004FF0
|
|
thumb_func_end LinkPartnerHandleReturnPokeToBall
|
|
|
|
thumb_func_start sub_80D613C
|
|
sub_80D613C: @ 80D613C
|
|
push {r4-r6,lr}
|
|
ldr r6, _080D615C @ =gUnknown_2024018
|
|
ldr r4, [r6]
|
|
ldr r5, _080D6160 @ =gActiveBattler
|
|
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 _080D6164
|
|
cmp r0, 0x1
|
|
beq _080D6192
|
|
b _080D61BA
|
|
.align 2, 0
|
|
_080D615C: .4byte gUnknown_2024018
|
|
_080D6160: .4byte gActiveBattler
|
|
_080D6164:
|
|
ldr r1, [r4]
|
|
lsls r0, r2, 2
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080D617E
|
|
adds r0, r2, 0
|
|
adds r1, r2, 0
|
|
movs r3, 0x5
|
|
bl InitAndLaunchSpecialAnimation
|
|
_080D617E:
|
|
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 _080D61BA
|
|
_080D6192:
|
|
ldrb r1, [r3]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
bne _080D61BA
|
|
strb r0, [r3, 0x4]
|
|
ldrb r2, [r5]
|
|
adds r0, r2, 0
|
|
adds r1, r2, 0
|
|
movs r3, 0x1
|
|
bl InitAndLaunchSpecialAnimation
|
|
ldr r1, _080D61C0 @ =gUnknown_3004FE0
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D61C4 @ =sub_80D46A8
|
|
str r1, [r0]
|
|
_080D61BA:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D61C0: .4byte gUnknown_3004FE0
|
|
_080D61C4: .4byte sub_80D46A8
|
|
thumb_func_end sub_80D613C
|
|
|
|
thumb_func_start sub_80D61C8
|
|
sub_80D61C8: @ 80D61C8
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r6, _080D6240 @ =gActiveBattler
|
|
ldrb r0, [r6]
|
|
bl GetBankIdentity
|
|
movs r1, 0x2
|
|
ands r1, r0
|
|
movs r7, 0x20
|
|
cmp r1, 0
|
|
beq _080D61E2
|
|
movs r7, 0x5A
|
|
_080D61E2:
|
|
ldrb r0, [r6]
|
|
bl GetBankMultiplayerId
|
|
ldr r5, _080D6244 @ =gUnknown_202273C
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
adds r1, r5
|
|
movs r4, 0xFF
|
|
ldrb r0, [r1]
|
|
cmp r0, 0x2
|
|
beq _080D6228
|
|
ldrb r0, [r6]
|
|
bl GetBankMultiplayerId
|
|
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, 0x1
|
|
beq _080D6228
|
|
ldrb r0, [r6]
|
|
bl GetBankMultiplayerId
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
adds r1, r5
|
|
ldrh r0, [r1]
|
|
ands r4, r0
|
|
cmp r4, 0x3
|
|
bne _080D6248
|
|
_080D6228:
|
|
ldr r0, _080D6240 @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
bl GetBankMultiplayerId
|
|
ldr r2, _080D6244 @ =gUnknown_202273C
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldrb r0, [r1, 0x13]
|
|
adds r4, r0, 0x2
|
|
b _080D6258
|
|
.align 2, 0
|
|
_080D6240: .4byte gActiveBattler
|
|
_080D6244: .4byte gUnknown_202273C
|
|
_080D6248:
|
|
ldrb r0, [r6]
|
|
bl GetBankMultiplayerId
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
adds r1, r5
|
|
ldrb r4, [r1, 0x13]
|
|
_080D6258:
|
|
ldr r5, _080D6318 @ =gActiveBattler
|
|
ldrb r1, [r5]
|
|
adds r0, r4, 0
|
|
bl sub_8034750
|
|
ldrb r0, [r5]
|
|
bl GetBankIdentity
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl sub_803F864
|
|
ldr r6, _080D631C @ =gUnknown_20244DC
|
|
mov r8, r7
|
|
ldr r0, _080D6320 @ =gUnknown_8239F8C
|
|
lsls r4, 2
|
|
adds r4, r0
|
|
ldrb r0, [r4]
|
|
movs r4, 0x8
|
|
subs r4, r0
|
|
lsls r4, 18
|
|
movs r0, 0xA0
|
|
lsls r0, 15
|
|
adds r4, r0
|
|
asrs r4, 16
|
|
ldrb r0, [r5]
|
|
bl sub_807685C
|
|
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, _080D6324 @ =gUnknown_2023D44
|
|
ldrb r1, [r5]
|
|
adds r1, r6
|
|
strb r0, [r1]
|
|
ldr r4, _080D6328 @ =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, _080D632C @ =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, _080D6330 @ =sub_8033EEC
|
|
str r1, [r0]
|
|
ldr r1, _080D6334 @ =gUnknown_3004FE0
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D6338 @ =sub_80D4270
|
|
str r1, [r0]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D6318: .4byte gActiveBattler
|
|
_080D631C: .4byte gUnknown_20244DC
|
|
_080D6320: .4byte gUnknown_8239F8C
|
|
_080D6324: .4byte gUnknown_2023D44
|
|
_080D6328: .4byte gSprites
|
|
_080D632C: .4byte 0x0000fffe
|
|
_080D6330: .4byte sub_8033EEC
|
|
_080D6334: .4byte gUnknown_3004FE0
|
|
_080D6338: .4byte sub_80D4270
|
|
thumb_func_end sub_80D61C8
|
|
|
|
thumb_func_start sub_80D633C
|
|
sub_80D633C: @ 80D633C
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D633C
|
|
|
|
thumb_func_start sub_80D6348
|
|
sub_80D6348: @ 80D6348
|
|
push {r4-r6,lr}
|
|
ldr r6, _080D63D4 @ =gUnknown_2023D44
|
|
ldr r4, _080D63D8 @ =gActiveBattler
|
|
ldrb r0, [r4]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r5, _080D63DC @ =gSprites
|
|
adds r0, r5
|
|
bl oamt_add_pos2_onto_pos1
|
|
ldrb r0, [r4]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
movs r1, 0x23
|
|
strh r1, [r0, 0x2E]
|
|
ldrb r0, [r4]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
ldr r1, _080D63E0 @ =0x0000ffd8
|
|
strh r1, [r0, 0x32]
|
|
ldrb r0, [r4]
|
|
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, [r4]
|
|
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, _080D63E4 @ =sub_8075590
|
|
str r1, [r0]
|
|
ldrb r0, [r4]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
ldr r1, _080D63E8 @ =SpriteCallbackDummy
|
|
bl StoreSpriteCallbackInData6
|
|
ldr r1, _080D63EC @ =gUnknown_3004FE0
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D63F0 @ =sub_80D42A8
|
|
str r1, [r0]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D63D4: .4byte gUnknown_2023D44
|
|
_080D63D8: .4byte gActiveBattler
|
|
_080D63DC: .4byte gSprites
|
|
_080D63E0: .4byte 0x0000ffd8
|
|
_080D63E4: .4byte sub_8075590
|
|
_080D63E8: .4byte SpriteCallbackDummy
|
|
_080D63EC: .4byte gUnknown_3004FE0
|
|
_080D63F0: .4byte sub_80D42A8
|
|
thumb_func_end sub_80D6348
|
|
|
|
thumb_func_start sub_80D63F4
|
|
sub_80D63F4: @ 80D63F4
|
|
push {r4-r6,lr}
|
|
ldr r6, _080D6440 @ =gUnknown_2024018
|
|
ldr r4, [r6]
|
|
ldr r5, _080D6444 @ =gActiveBattler
|
|
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 _080D6448
|
|
ldr r1, [r4]
|
|
lsls r0, r2, 2
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080D6428
|
|
adds r0, r2, 0
|
|
adds r1, r2, 0
|
|
movs r3, 0x5
|
|
bl InitAndLaunchSpecialAnimation
|
|
_080D6428:
|
|
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 _080D64BE
|
|
.align 2, 0
|
|
_080D6440: .4byte gUnknown_2024018
|
|
_080D6444: .4byte gActiveBattler
|
|
_080D6448:
|
|
ldrb r1, [r3]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0
|
|
bne _080D64BE
|
|
strb r4, [r3, 0x4]
|
|
ldr r2, _080D64C4 @ =gBattlerPartyIndexes
|
|
ldrb r1, [r5]
|
|
lsls r0, r1, 1
|
|
adds r0, r2
|
|
ldrh r2, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
ldr r2, _080D64C8 @ =gPlayerParty
|
|
adds r0, r2
|
|
bl HandleLowHpMusicChange
|
|
movs r1, 0x40
|
|
negs r1, r1
|
|
movs r0, 0x10
|
|
bl PlaySE12WithPanning
|
|
ldr r2, _080D64CC @ =gSprites
|
|
ldr r3, _080D64D0 @ =gUnknown_2023D44
|
|
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, _080D64D4 @ =sub_8012110
|
|
str r1, [r0]
|
|
ldr r1, _080D64D8 @ =gUnknown_3004FE0
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D64DC @ =sub_80D4640
|
|
str r1, [r0]
|
|
_080D64BE:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D64C4: .4byte gBattlerPartyIndexes
|
|
_080D64C8: .4byte gPlayerParty
|
|
_080D64CC: .4byte gSprites
|
|
_080D64D0: .4byte gUnknown_2023D44
|
|
_080D64D4: .4byte sub_8012110
|
|
_080D64D8: .4byte gUnknown_3004FE0
|
|
_080D64DC: .4byte sub_80D4640
|
|
thumb_func_end sub_80D63F4
|
|
|
|
thumb_func_start sub_80D64E0
|
|
sub_80D64E0: @ 80D64E0
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D64E0
|
|
|
|
thumb_func_start sub_80D64EC
|
|
sub_80D64EC: @ 80D64EC
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D64EC
|
|
|
|
thumb_func_start sub_80D64F8
|
|
sub_80D64F8: @ 80D64F8
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D64F8
|
|
|
|
thumb_func_start sub_80D6504
|
|
sub_80D6504: @ 80D6504
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D6504
|
|
|
|
thumb_func_start sub_80D6510
|
|
sub_80D6510: @ 80D6510
|
|
push {r4-r6,lr}
|
|
ldr r6, _080D65F4 @ =gActiveBattler
|
|
ldrb r0, [r6]
|
|
bl mplay_80342A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080D6522
|
|
b _080D6636
|
|
_080D6522:
|
|
ldr r0, _080D65F8 @ =gUnknown_2022BC4
|
|
mov r12, r0
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r0, 0x1
|
|
adds r0, r2, r0
|
|
ldrb r0, [r0]
|
|
mov r1, r12
|
|
adds r1, 0x2
|
|
adds r1, r2, r1
|
|
ldrb r1, [r1]
|
|
lsls r1, 8
|
|
orrs r0, r1
|
|
ldr r5, _080D65FC @ =gUnknown_2037F16
|
|
mov r1, r12
|
|
adds r1, 0x3
|
|
adds r2, r1
|
|
ldrb r1, [r2]
|
|
strb r1, [r5]
|
|
ldr r4, _080D6600 @ =gUnknown_2037EEC
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
mov r1, r12
|
|
adds r1, 0x4
|
|
adds r1, r2, r1
|
|
ldrb r3, [r1]
|
|
mov r1, r12
|
|
adds r1, 0x5
|
|
adds r2, r1
|
|
ldrb r1, [r2]
|
|
lsls r1, 8
|
|
orrs r3, r1
|
|
strh r3, [r4]
|
|
ldr r4, _080D6604 @ =gUnknown_2037EE8
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
mov r1, r12
|
|
adds r1, 0x6
|
|
adds r1, r2, r1
|
|
ldrb r3, [r1]
|
|
mov r1, r12
|
|
adds r1, 0x7
|
|
adds r1, r2, r1
|
|
ldrb r1, [r1]
|
|
lsls r1, 8
|
|
orrs r3, r1
|
|
mov r1, r12
|
|
adds r1, 0x8
|
|
adds r1, r2, r1
|
|
ldrb r1, [r1]
|
|
lsls r1, 16
|
|
orrs r3, r1
|
|
mov r1, r12
|
|
adds r1, 0x9
|
|
adds r2, r1
|
|
ldrb r1, [r2]
|
|
lsls r1, 24
|
|
orrs r3, r1
|
|
str r3, [r4]
|
|
ldr r3, _080D6608 @ =gUnknown_2037EFE
|
|
ldrb r1, [r6]
|
|
lsls r1, 9
|
|
mov r2, r12
|
|
adds r2, 0xA
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
strb r1, [r3]
|
|
ldr r4, _080D660C @ =gUnknown_2037F00
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
mov r1, r12
|
|
adds r1, 0xC
|
|
adds r1, r2, r1
|
|
ldrb r3, [r1]
|
|
mov r1, r12
|
|
adds r1, 0xD
|
|
adds r2, r1
|
|
ldrb r1, [r2]
|
|
lsls r1, 8
|
|
orrs r3, r1
|
|
strh r3, [r4]
|
|
ldr r3, _080D6610 @ =gUnknown_2037EE4
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
mov r1, r12
|
|
adds r1, 0x10
|
|
adds r2, r1
|
|
str r2, [r3]
|
|
ldr r3, _080D6614 @ =gUnknown_2024008
|
|
ldrb r1, [r6]
|
|
lsls r1, 2
|
|
adds r1, r3
|
|
ldr r2, [r2]
|
|
str r2, [r1]
|
|
ldrb r1, [r5]
|
|
bl IsMoveWithoutAnimation
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r3, 0
|
|
beq _080D6618
|
|
bl sub_80D49E8
|
|
b _080D6636
|
|
.align 2, 0
|
|
_080D65F4: .4byte gActiveBattler
|
|
_080D65F8: .4byte gUnknown_2022BC4
|
|
_080D65FC: .4byte gUnknown_2037F16
|
|
_080D6600: .4byte gUnknown_2037EEC
|
|
_080D6604: .4byte gUnknown_2037EE8
|
|
_080D6608: .4byte gUnknown_2037EFE
|
|
_080D660C: .4byte gUnknown_2037F00
|
|
_080D6610: .4byte gUnknown_2037EE4
|
|
_080D6614: .4byte gUnknown_2024008
|
|
_080D6618:
|
|
ldr r0, _080D663C @ =gUnknown_2024018
|
|
ldr r0, [r0]
|
|
ldrb r1, [r6]
|
|
ldr r2, [r0, 0x4]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
strb r3, [r0, 0x4]
|
|
ldr r1, _080D6640 @ =gUnknown_3004FE0
|
|
ldrb r0, [r6]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D6644 @ =sub_80D6648
|
|
str r1, [r0]
|
|
_080D6636:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D663C: .4byte gUnknown_2024018
|
|
_080D6640: .4byte gUnknown_3004FE0
|
|
_080D6644: .4byte sub_80D6648
|
|
thumb_func_end sub_80D6510
|
|
|
|
thumb_func_start sub_80D6648
|
|
sub_80D6648: @ 80D6648
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
ldr r2, _080D6694 @ =gUnknown_2022BC4
|
|
ldr r6, _080D6698 @ =gActiveBattler
|
|
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, _080D669C @ =gUnknown_2024018
|
|
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 _080D66E0
|
|
cmp r2, 0x1
|
|
bgt _080D66A0
|
|
cmp r2, 0
|
|
beq _080D66AA
|
|
b _080D67BC
|
|
.align 2, 0
|
|
_080D6694: .4byte gUnknown_2022BC4
|
|
_080D6698: .4byte gActiveBattler
|
|
_080D669C: .4byte gUnknown_2024018
|
|
_080D66A0:
|
|
cmp r2, 0x2
|
|
beq _080D670A
|
|
cmp r2, 0x3
|
|
beq _080D6780
|
|
b _080D67BC
|
|
_080D66AA:
|
|
ldr r1, [r5]
|
|
lsls r0, r3, 2
|
|
adds r1, r0, r1
|
|
ldrb r2, [r1]
|
|
movs r0, 0xC
|
|
ands r0, r2
|
|
cmp r0, 0x4
|
|
bne _080D66CC
|
|
movs r0, 0x8
|
|
orrs r0, r2
|
|
strb r0, [r1]
|
|
ldrb r2, [r6]
|
|
adds r0, r2, 0
|
|
adds r1, r2, 0
|
|
movs r3, 0x5
|
|
bl InitAndLaunchSpecialAnimation
|
|
_080D66CC:
|
|
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 _080D67BC
|
|
_080D66E0:
|
|
ldrb r1, [r0]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080D67BC
|
|
movs r0, 0
|
|
bl sub_8035450
|
|
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 _080D67BC
|
|
_080D670A:
|
|
ldr r0, _080D6770 @ =gUnknown_2037EDC
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
ldr r0, _080D6774 @ =gUnknown_2037EE1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080D67BC
|
|
movs r0, 0x1
|
|
bl sub_8035450
|
|
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 _080D6758
|
|
mov r0, r8
|
|
cmp r0, 0x1
|
|
bhi _080D6758
|
|
adds r0, r2, 0
|
|
adds r1, r2, 0
|
|
movs r3, 0x6
|
|
bl InitAndLaunchSpecialAnimation
|
|
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]
|
|
_080D6758:
|
|
ldr r0, _080D6778 @ =gUnknown_2024018
|
|
ldr r2, [r0]
|
|
ldr r0, _080D677C @ =gActiveBattler
|
|
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 _080D67BC
|
|
.align 2, 0
|
|
_080D6770: .4byte gUnknown_2037EDC
|
|
_080D6774: .4byte gUnknown_2037EE1
|
|
_080D6778: .4byte gUnknown_2024018
|
|
_080D677C: .4byte gActiveBattler
|
|
_080D6780:
|
|
ldrb r1, [r0]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0
|
|
bne _080D67BC
|
|
bl CopyAllBattleSpritesInvisibilities
|
|
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 TrySetBehindSubstituteSpriteBit
|
|
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 sub_80D49E8
|
|
_080D67BC:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D6648
|
|
|
|
thumb_func_start sub_80D67CC
|
|
sub_80D67CC: @ 80D67CC
|
|
push {r4,lr}
|
|
ldr r0, _080D6800 @ =gUnknown_2022974
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
ldr r0, _080D6804 @ =gUnknown_2022976
|
|
strh r1, [r0]
|
|
ldr r0, _080D6808 @ =gActiveBattler
|
|
ldrb r4, [r0]
|
|
lsls r4, 9
|
|
ldr r0, _080D680C @ =gUnknown_2022BC6
|
|
adds r4, r0
|
|
ldrh r0, [r4]
|
|
bl sub_80D7274
|
|
ldrh r0, [r4]
|
|
bl sub_80D89B0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080D6814
|
|
ldr r0, _080D6810 @ =gUnknown_202298C
|
|
movs r1, 0x40
|
|
bl sub_80D87BC
|
|
b _080D681C
|
|
.align 2, 0
|
|
_080D6800: .4byte gUnknown_2022974
|
|
_080D6804: .4byte gUnknown_2022976
|
|
_080D6808: .4byte gActiveBattler
|
|
_080D680C: .4byte gUnknown_2022BC6
|
|
_080D6810: .4byte gUnknown_202298C
|
|
_080D6814:
|
|
ldr r0, _080D6830 @ =gUnknown_202298C
|
|
movs r1, 0
|
|
bl sub_80D87BC
|
|
_080D681C:
|
|
ldr r1, _080D6834 @ =gUnknown_3004FE0
|
|
ldr r0, _080D6838 @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D683C @ =sub_80D4718
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D6830: .4byte gUnknown_202298C
|
|
_080D6834: .4byte gUnknown_3004FE0
|
|
_080D6838: .4byte gActiveBattler
|
|
_080D683C: .4byte sub_80D4718
|
|
thumb_func_end sub_80D67CC
|
|
|
|
thumb_func_start sub_80D6840
|
|
sub_80D6840: @ 80D6840
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D6840
|
|
|
|
thumb_func_start sub_80D684C
|
|
sub_80D684C: @ 80D684C
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D684C
|
|
|
|
thumb_func_start sub_80D6858
|
|
sub_80D6858: @ 80D6858
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D6858
|
|
|
|
thumb_func_start sub_80D6864
|
|
sub_80D6864: @ 80D6864
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D6864
|
|
|
|
thumb_func_start sub_80D6870
|
|
sub_80D6870: @ 80D6870
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D6870
|
|
|
|
thumb_func_start sub_80D687C
|
|
sub_80D687C: @ 80D687C
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D687C
|
|
|
|
thumb_func_start sub_80D6888
|
|
sub_80D6888: @ 80D6888
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D6888
|
|
|
|
thumb_func_start sub_80D6894
|
|
sub_80D6894: @ 80D6894
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
bl LoadBattleBarGfx
|
|
ldr r3, _080D690C @ =gUnknown_2022BC4
|
|
ldr r0, _080D6910 @ =gActiveBattler
|
|
mov r9, r0
|
|
ldrb r4, [r0]
|
|
lsls r2, r4, 9
|
|
adds r0, r3, 0x2
|
|
adds r0, r2, r0
|
|
ldrb r1, [r0]
|
|
adds r3, 0x3
|
|
adds r2, r3
|
|
ldrb r0, [r2]
|
|
lsls r0, 8
|
|
orrs r1, r0
|
|
lsls r1, 16
|
|
asrs r7, r1, 16
|
|
ldr r0, _080D6914 @ =0x00007fff
|
|
cmp r7, r0
|
|
beq _080D6924
|
|
ldr r6, _080D6918 @ =gBattlerPartyIndexes
|
|
lsls r0, r4, 1
|
|
adds r0, r6
|
|
ldrh r0, [r0]
|
|
movs r5, 0x64
|
|
muls r0, r5
|
|
ldr r4, _080D691C @ =gPlayerParty
|
|
adds r0, r4
|
|
movs r1, 0x3A
|
|
bl GetMonData
|
|
mov r8, r0
|
|
mov r1, r9
|
|
ldrb r0, [r1]
|
|
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, _080D6920 @ =gUnknown_3004FF0
|
|
adds r1, r0, r1
|
|
ldrb r1, [r1]
|
|
str r7, [sp]
|
|
mov r2, r8
|
|
bl SetBattleBarStruct
|
|
b _080D694E
|
|
.align 2, 0
|
|
_080D690C: .4byte gUnknown_2022BC4
|
|
_080D6910: .4byte gActiveBattler
|
|
_080D6914: .4byte 0x00007fff
|
|
_080D6918: .4byte gBattlerPartyIndexes
|
|
_080D691C: .4byte gPlayerParty
|
|
_080D6920: .4byte gUnknown_3004FF0
|
|
_080D6924:
|
|
ldr r1, _080D696C @ =gBattlerPartyIndexes
|
|
lsls r0, r4, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _080D6970 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x3A
|
|
bl GetMonData
|
|
adds r2, r0, 0
|
|
mov r1, r9
|
|
ldrb r0, [r1]
|
|
ldr r1, _080D6974 @ =gUnknown_3004FF0
|
|
adds r1, r0, r1
|
|
ldrb r1, [r1]
|
|
str r7, [sp]
|
|
movs r3, 0
|
|
bl SetBattleBarStruct
|
|
_080D694E:
|
|
ldr r1, _080D6978 @ =gUnknown_3004FE0
|
|
ldr r0, _080D697C @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D6980 @ =sub_80D45D0
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D696C: .4byte gBattlerPartyIndexes
|
|
_080D6970: .4byte gPlayerParty
|
|
_080D6974: .4byte gUnknown_3004FF0
|
|
_080D6978: .4byte gUnknown_3004FE0
|
|
_080D697C: .4byte gActiveBattler
|
|
_080D6980: .4byte sub_80D45D0
|
|
thumb_func_end sub_80D6894
|
|
|
|
thumb_func_start sub_80D6984
|
|
sub_80D6984: @ 80D6984
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D6984
|
|
|
|
thumb_func_start sub_80D6990
|
|
sub_80D6990: @ 80D6990
|
|
push {r4,lr}
|
|
ldr r4, _080D69EC @ =gActiveBattler
|
|
ldrb r0, [r4]
|
|
bl mplay_80342A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080D69E4
|
|
ldr r0, _080D69F0 @ =gUnknown_3004FF0
|
|
ldrb r1, [r4]
|
|
adds r0, r1, r0
|
|
ldrb r0, [r0]
|
|
ldr r2, _080D69F4 @ =gBattlerPartyIndexes
|
|
lsls r1, 1
|
|
adds r1, r2
|
|
ldrh r2, [r1]
|
|
movs r1, 0x64
|
|
muls r1, r2
|
|
ldr r2, _080D69F8 @ =gPlayerParty
|
|
adds r1, r2
|
|
movs r2, 0x9
|
|
bl UpdateHealthboxAttribute
|
|
ldrb r2, [r4]
|
|
ldr r0, _080D69FC @ =gUnknown_2024018
|
|
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, _080D6A00 @ =gUnknown_3004FE0
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D6A04 @ =sub_80D4A60
|
|
str r1, [r0]
|
|
_080D69E4:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D69EC: .4byte gActiveBattler
|
|
_080D69F0: .4byte gUnknown_3004FF0
|
|
_080D69F4: .4byte gBattlerPartyIndexes
|
|
_080D69F8: .4byte gPlayerParty
|
|
_080D69FC: .4byte gUnknown_2024018
|
|
_080D6A00: .4byte gUnknown_3004FE0
|
|
_080D6A04: .4byte sub_80D4A60
|
|
thumb_func_end sub_80D6990
|
|
|
|
thumb_func_start sub_80D6A08
|
|
sub_80D6A08: @ 80D6A08
|
|
push {r4,r5,lr}
|
|
ldr r5, _080D6A60 @ =gActiveBattler
|
|
ldrb r0, [r5]
|
|
bl mplay_80342A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080D6A58
|
|
ldr r4, _080D6A64 @ =gUnknown_2022BC4
|
|
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 InitAndLaunchChosenStatusAnimation
|
|
ldr r1, _080D6A68 @ =gUnknown_3004FE0
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D6A6C @ =sub_80D4A60
|
|
str r1, [r0]
|
|
_080D6A58:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D6A60: .4byte gActiveBattler
|
|
_080D6A64: .4byte gUnknown_2022BC4
|
|
_080D6A68: .4byte gUnknown_3004FE0
|
|
_080D6A6C: .4byte sub_80D4A60
|
|
thumb_func_end sub_80D6A08
|
|
|
|
thumb_func_start sub_80D6A70
|
|
sub_80D6A70: @ 80D6A70
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D6A70
|
|
|
|
thumb_func_start sub_80D6A7C
|
|
sub_80D6A7C: @ 80D6A7C
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D6A7C
|
|
|
|
thumb_func_start sub_80D6A88
|
|
sub_80D6A88: @ 80D6A88
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D6A88
|
|
|
|
thumb_func_start sub_80D6A94
|
|
sub_80D6A94: @ 80D6A94
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D6A94
|
|
|
|
thumb_func_start sub_80D6AA0
|
|
sub_80D6AA0: @ 80D6AA0
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D6AA0
|
|
|
|
thumb_func_start sub_80D6AAC
|
|
sub_80D6AAC: @ 80D6AAC
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D6AAC
|
|
|
|
thumb_func_start sub_80D6AB8
|
|
sub_80D6AB8: @ 80D6AB8
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D6AB8
|
|
|
|
thumb_func_start sub_80D6AC4
|
|
sub_80D6AC4: @ 80D6AC4
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D6AC4
|
|
|
|
thumb_func_start sub_80D6AD0
|
|
sub_80D6AD0: @ 80D6AD0
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D6AD0
|
|
|
|
thumb_func_start LinkPartnerHandlecmd37
|
|
LinkPartnerHandlecmd37: @ 80D6ADC
|
|
push {lr}
|
|
ldr r2, _080D6AF4 @ =gUnknown_2022870
|
|
ldrb r1, [r2]
|
|
movs r0, 0x80
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D6AF4: .4byte gUnknown_2022870
|
|
thumb_func_end LinkPartnerHandlecmd37
|
|
|
|
thumb_func_start LinkPartnerHandlecmd38
|
|
LinkPartnerHandlecmd38: @ 80D6AF8
|
|
push {lr}
|
|
ldr r3, _080D6B24 @ =gUnknown_2022870
|
|
ldr r1, _080D6B28 @ =gUnknown_2022BC4
|
|
ldr r0, _080D6B2C @ =gActiveBattler
|
|
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 sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D6B24: .4byte gUnknown_2022870
|
|
_080D6B28: .4byte gUnknown_2022BC4
|
|
_080D6B2C: .4byte gActiveBattler
|
|
thumb_func_end LinkPartnerHandlecmd38
|
|
|
|
thumb_func_start LinkPartnerHandlecmd39
|
|
LinkPartnerHandlecmd39: @ 80D6B30
|
|
push {lr}
|
|
ldr r2, _080D6B44 @ =gUnknown_2022870
|
|
ldrb r1, [r2]
|
|
movs r0, 0x7F
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D6B44: .4byte gUnknown_2022870
|
|
thumb_func_end LinkPartnerHandlecmd39
|
|
|
|
thumb_func_start LinkPartnerHandlecmd40
|
|
LinkPartnerHandlecmd40: @ 80D6B48
|
|
push {lr}
|
|
ldr r3, _080D6B6C @ =gUnknown_2022870
|
|
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 sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D6B6C: .4byte gUnknown_2022870
|
|
thumb_func_end LinkPartnerHandlecmd40
|
|
|
|
thumb_func_start LinkPartnerHandleHitAnimation
|
|
LinkPartnerHandleHitAnimation: @ 80D6B70
|
|
push {r4,lr}
|
|
ldr r3, _080D6B98 @ =gSprites
|
|
ldr r2, _080D6B9C @ =gUnknown_2023D44
|
|
ldr r4, _080D6BA0 @ =gActiveBattler
|
|
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 _080D6BA4
|
|
bl sub_80D49E8
|
|
b _080D6BCE
|
|
.align 2, 0
|
|
_080D6B98: .4byte gSprites
|
|
_080D6B9C: .4byte gUnknown_2023D44
|
|
_080D6BA0: .4byte gActiveBattler
|
|
_080D6BA4:
|
|
ldr r1, _080D6BD4 @ =gUnknown_2024005
|
|
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 DoHitAnimHealthboxEffect
|
|
ldr r1, _080D6BD8 @ =gUnknown_3004FE0
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D6BDC @ =sub_80D4730
|
|
str r1, [r0]
|
|
_080D6BCE:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D6BD4: .4byte gUnknown_2024005
|
|
_080D6BD8: .4byte gUnknown_3004FE0
|
|
_080D6BDC: .4byte sub_80D4730
|
|
thumb_func_end LinkPartnerHandleHitAnimation
|
|
|
|
thumb_func_start sub_80D6BE0
|
|
sub_80D6BE0: @ 80D6BE0
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D6BE0
|
|
|
|
thumb_func_start LinkPartnerHandleEffectivenessSound
|
|
LinkPartnerHandleEffectivenessSound: @ 80D6BEC
|
|
push {r4,lr}
|
|
ldr r4, _080D6C28 @ =gActiveBattler
|
|
ldrb r0, [r4]
|
|
bl GetBankSide
|
|
lsls r0, 24
|
|
movs r3, 0x3F
|
|
cmp r0, 0
|
|
bne _080D6C00
|
|
movs r3, 0xC0
|
|
_080D6C00:
|
|
ldr r2, _080D6C2C @ =gUnknown_2022BC4
|
|
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 sub_80D49E8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D6C28: .4byte gActiveBattler
|
|
_080D6C2C: .4byte gUnknown_2022BC4
|
|
thumb_func_end LinkPartnerHandleEffectivenessSound
|
|
|
|
thumb_func_start LinkPartnerHandlecmd44
|
|
LinkPartnerHandlecmd44: @ 80D6C30
|
|
push {lr}
|
|
ldr r2, _080D6C58 @ =gUnknown_2022BC4
|
|
ldr r0, _080D6C5C @ =gActiveBattler
|
|
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 PlayFanfare
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D6C58: .4byte gUnknown_2022BC4
|
|
_080D6C5C: .4byte gActiveBattler
|
|
thumb_func_end LinkPartnerHandlecmd44
|
|
|
|
thumb_func_start LinkPartnerHandleFaintingCry
|
|
LinkPartnerHandleFaintingCry: @ 80D6C60
|
|
push {lr}
|
|
ldr r1, _080D6C94 @ =gBattlerPartyIndexes
|
|
ldr r0, _080D6C98 @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _080D6C9C @ =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 sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D6C94: .4byte gBattlerPartyIndexes
|
|
_080D6C98: .4byte gActiveBattler
|
|
_080D6C9C: .4byte gPlayerParty
|
|
thumb_func_end LinkPartnerHandleFaintingCry
|
|
|
|
thumb_func_start LinkPartnerHandleIntroSlide
|
|
LinkPartnerHandleIntroSlide: @ 80D6CA0
|
|
push {lr}
|
|
ldr r1, _080D6CC8 @ =gUnknown_2022BC4
|
|
ldr r0, _080D6CCC @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
lsls r0, 9
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl sub_80BC3A0
|
|
ldr r2, _080D6CD0 @ =gUnknown_2023F4C
|
|
ldrh r0, [r2]
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strh r0, [r2]
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D6CC8: .4byte gUnknown_2022BC4
|
|
_080D6CCC: .4byte gActiveBattler
|
|
_080D6CD0: .4byte gUnknown_2023F4C
|
|
thumb_func_end LinkPartnerHandleIntroSlide
|
|
|
|
thumb_func_start sub_80D6CD4
|
|
sub_80D6CD4: @ 80D6CD4
|
|
push {r4-r7,lr}
|
|
ldr r5, _080D6DDC @ =gUnknown_2023D44
|
|
ldr r6, _080D6DE0 @ =gActiveBattler
|
|
ldrb r0, [r6]
|
|
adds r0, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r4, _080D6DE4 @ =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, _080D6DE8 @ =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, _080D6DEC @ =sub_8075590
|
|
str r1, [r0]
|
|
ldrb r2, [r6]
|
|
adds r0, r2, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
strh r2, [r0, 0x38]
|
|
ldrb r0, [r6]
|
|
adds r0, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldr r1, _080D6DF0 @ =sub_80335F8
|
|
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 r0, _080D6DF4 @ =0x0000d6f9
|
|
bl AllocSpritePalette
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
ldrb r0, [r6]
|
|
bl GetBankMultiplayerId
|
|
ldr r4, _080D6DF8 @ =gUnknown_202273C
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
adds r1, r4
|
|
movs r5, 0xFF
|
|
ldrb r0, [r1]
|
|
cmp r0, 0x2
|
|
beq _080D6DC2
|
|
ldrb r0, [r6]
|
|
bl GetBankMultiplayerId
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
adds r1, r4
|
|
ldrh r1, [r1]
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
cmp r0, 0x1
|
|
beq _080D6DC2
|
|
ldrb r0, [r6]
|
|
bl GetBankMultiplayerId
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
adds r1, r4
|
|
ldrh r0, [r1]
|
|
ands r5, r0
|
|
cmp r5, 0x3
|
|
bne _080D6DFC
|
|
_080D6DC2:
|
|
ldr r0, _080D6DE0 @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
bl GetBankMultiplayerId
|
|
ldr r2, _080D6DF8 @ =gUnknown_202273C
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldrb r0, [r1, 0x13]
|
|
adds r0, 0x2
|
|
b _080D6E0C
|
|
.align 2, 0
|
|
_080D6DDC: .4byte gUnknown_2023D44
|
|
_080D6DE0: .4byte gActiveBattler
|
|
_080D6DE4: .4byte gSprites
|
|
_080D6DE8: .4byte 0x0000ffd8
|
|
_080D6DEC: .4byte sub_8075590
|
|
_080D6DF0: .4byte sub_80335F8
|
|
_080D6DF4: .4byte 0x0000d6f9
|
|
_080D6DF8: .4byte gUnknown_202273C
|
|
_080D6DFC:
|
|
ldrb r0, [r6]
|
|
bl GetBankMultiplayerId
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
adds r1, r4
|
|
ldrb r0, [r1, 0x13]
|
|
_080D6E0C:
|
|
ldr r1, _080D6EA4 @ =gUnknown_8239FD4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
lsls r4, r7, 4
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
adds r1, r4, r2
|
|
movs r2, 0x20
|
|
bl LoadCompressedPalette
|
|
ldr r2, _080D6EA8 @ =gSprites
|
|
ldr r1, _080D6EAC @ =gUnknown_2023D44
|
|
ldr r5, _080D6EB0 @ =gActiveBattler
|
|
ldrb r0, [r5]
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldrb r2, [r1, 0x5]
|
|
movs r0, 0xF
|
|
ands r0, r2
|
|
orrs r0, r4
|
|
strb r0, [r1, 0x5]
|
|
ldr r0, _080D6EB4 @ =sub_80D6ED0
|
|
movs r1, 0x5
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r4, _080D6EB8 @ =gUnknown_3005090
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r4
|
|
ldrb r0, [r5]
|
|
strh r0, [r1, 0x8]
|
|
ldr r3, _080D6EBC @ =gUnknown_2024018
|
|
ldr r0, [r3]
|
|
ldrb r2, [r5]
|
|
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 _080D6E86
|
|
ldr r0, _080D6EC0 @ =gUnknown_2024000
|
|
adds r0, r2, r0
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r4
|
|
ldr r1, _080D6EC4 @ =sub_80491B0
|
|
str r1, [r0]
|
|
_080D6E86:
|
|
ldr r0, [r3]
|
|
ldr r2, [r0, 0x8]
|
|
ldrb r0, [r2, 0x9]
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x9]
|
|
ldr r1, _080D6EC8 @ =gUnknown_3004FE0
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D6ECC @ =nullsub_77
|
|
str r1, [r0]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D6EA4: .4byte gUnknown_8239FD4
|
|
_080D6EA8: .4byte gSprites
|
|
_080D6EAC: .4byte gUnknown_2023D44
|
|
_080D6EB0: .4byte gActiveBattler
|
|
_080D6EB4: .4byte sub_80D6ED0
|
|
_080D6EB8: .4byte gUnknown_3005090
|
|
_080D6EBC: .4byte gUnknown_2024018
|
|
_080D6EC0: .4byte gUnknown_2024000
|
|
_080D6EC4: .4byte sub_80491B0
|
|
_080D6EC8: .4byte gUnknown_3004FE0
|
|
_080D6ECC: .4byte nullsub_77
|
|
thumb_func_end sub_80D6CD4
|
|
|
|
thumb_func_start sub_80D6ED0
|
|
sub_80D6ED0: @ 80D6ED0
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
ldr r1, _080D6EF8 @ =gUnknown_3005090
|
|
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, 0x17
|
|
bgt _080D6EFC
|
|
adds r0, r2, 0x1
|
|
strh r0, [r1, 0xA]
|
|
b _080D6FB8
|
|
.align 2, 0
|
|
_080D6EF8: .4byte gUnknown_3005090
|
|
_080D6EFC:
|
|
ldr r7, _080D6F3C @ =gActiveBattler
|
|
ldrb r0, [r7]
|
|
mov r9, r0
|
|
ldrh r0, [r1, 0x8]
|
|
strb r0, [r7]
|
|
bl sub_8075290
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080D6F1C
|
|
ldr r0, _080D6F40 @ =gBattleTypeFlags
|
|
ldr r0, [r0]
|
|
movs r1, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080D6F4C
|
|
_080D6F1C:
|
|
ldr r0, _080D6F44 @ =gUnknown_2022BC4
|
|
ldrb r1, [r7]
|
|
lsls r2, r1, 9
|
|
adds r0, 0x1
|
|
adds r2, r0
|
|
ldr r0, _080D6F48 @ =gBattlerPartyIndexes
|
|
lsls r1, 1
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
strb r0, [r2]
|
|
ldrb r0, [r7]
|
|
movs r1, 0
|
|
bl sub_80D5F40
|
|
b _080D6FA0
|
|
.align 2, 0
|
|
_080D6F3C: .4byte gActiveBattler
|
|
_080D6F40: .4byte gBattleTypeFlags
|
|
_080D6F44: .4byte gUnknown_2022BC4
|
|
_080D6F48: .4byte gBattlerPartyIndexes
|
|
_080D6F4C:
|
|
ldr r4, _080D6FC4 @ =gUnknown_2022BC4
|
|
ldrb r0, [r7]
|
|
lsls r1, r0, 9
|
|
adds r4, 0x1
|
|
adds r1, r4
|
|
ldr r5, _080D6FC8 @ =gBattlerPartyIndexes
|
|
lsls r0, 1
|
|
adds r0, r5
|
|
ldrh r0, [r0]
|
|
strb r0, [r1]
|
|
ldrb r0, [r7]
|
|
movs r1, 0
|
|
bl sub_80D5F40
|
|
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, _080D6FCC @ =gPlayerParty
|
|
adds r0, r2
|
|
bl sub_8034498
|
|
ldrb r0, [r7]
|
|
movs r1, 0
|
|
bl sub_80D5F40
|
|
ldrb r0, [r7]
|
|
eors r0, r6
|
|
strb r0, [r7]
|
|
_080D6FA0:
|
|
ldr r1, _080D6FD0 @ =gUnknown_3004FE0
|
|
ldr r2, _080D6FD4 @ =gActiveBattler
|
|
ldrb r0, [r2]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D6FD8 @ =sub_80D443C
|
|
str r1, [r0]
|
|
mov r3, r9
|
|
strb r3, [r2]
|
|
mov r0, r8
|
|
bl DestroyTask
|
|
_080D6FB8:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D6FC4: .4byte gUnknown_2022BC4
|
|
_080D6FC8: .4byte gBattlerPartyIndexes
|
|
_080D6FCC: .4byte gPlayerParty
|
|
_080D6FD0: .4byte gUnknown_3004FE0
|
|
_080D6FD4: .4byte gActiveBattler
|
|
_080D6FD8: .4byte sub_80D443C
|
|
thumb_func_end sub_80D6ED0
|
|
|
|
thumb_func_start sub_80D6FDC
|
|
sub_80D6FDC: @ 80D6FDC
|
|
push {r4-r6,lr}
|
|
ldr r1, _080D7004 @ =gUnknown_2022BC4
|
|
ldr r0, _080D7008 @ =gActiveBattler
|
|
ldrb r2, [r0]
|
|
lsls r0, r2, 9
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080D700C
|
|
adds r0, r2, 0
|
|
bl GetBankSide
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080D700C
|
|
bl sub_80D49E8
|
|
b _080D7080
|
|
.align 2, 0
|
|
_080D7004: .4byte gUnknown_2022BC4
|
|
_080D7008: .4byte gActiveBattler
|
|
_080D700C:
|
|
ldr r6, _080D7088 @ =gUnknown_2024018
|
|
ldr r0, [r6]
|
|
ldr r5, _080D708C @ =gActiveBattler
|
|
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, _080D7090 @ =gUnknown_2022BC8
|
|
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 sub_8048D14
|
|
ldr r2, _080D7094 @ =gUnknown_2024000
|
|
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 _080D7074
|
|
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]
|
|
_080D7074:
|
|
ldr r0, _080D7098 @ =gUnknown_3004FE0
|
|
ldrb r1, [r5]
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldr r0, _080D709C @ =sub_80D70A0
|
|
str r0, [r1]
|
|
_080D7080:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D7088: .4byte gUnknown_2024018
|
|
_080D708C: .4byte gActiveBattler
|
|
_080D7090: .4byte gUnknown_2022BC8
|
|
_080D7094: .4byte gUnknown_2024000
|
|
_080D7098: .4byte gUnknown_3004FE0
|
|
_080D709C: .4byte sub_80D70A0
|
|
thumb_func_end sub_80D6FDC
|
|
|
|
thumb_func_start sub_80D70A0
|
|
sub_80D70A0: @ 80D70A0
|
|
push {r4,lr}
|
|
ldr r4, _080D70E0 @ =gUnknown_2024018
|
|
ldr r0, [r4]
|
|
ldr r3, _080D70E4 @ =gActiveBattler
|
|
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 _080D70D8
|
|
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 sub_80D49E8
|
|
_080D70D8:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D70E0: .4byte gUnknown_2024018
|
|
_080D70E4: .4byte gActiveBattler
|
|
thumb_func_end sub_80D70A0
|
|
|
|
thumb_func_start sub_80D70E8
|
|
sub_80D70E8: @ 80D70E8
|
|
push {lr}
|
|
ldr r0, _080D7124 @ =gUnknown_2024018
|
|
ldr r1, [r0]
|
|
ldr r0, _080D7128 @ =gActiveBattler
|
|
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 _080D711A
|
|
ldr r2, _080D712C @ =gUnknown_3005090
|
|
ldr r0, _080D7130 @ =gUnknown_2024000
|
|
adds r0, r3, r0
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
ldr r1, _080D7134 @ =sub_80491B0
|
|
str r1, [r0]
|
|
_080D711A:
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D7124: .4byte gUnknown_2024018
|
|
_080D7128: .4byte gActiveBattler
|
|
_080D712C: .4byte gUnknown_3005090
|
|
_080D7130: .4byte gUnknown_2024000
|
|
_080D7134: .4byte sub_80491B0
|
|
thumb_func_end sub_80D70E8
|
|
|
|
thumb_func_start sub_80D7138
|
|
sub_80D7138: @ 80D7138
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D7138
|
|
|
|
thumb_func_start LinkPartnerHandleSpriteInvisibility
|
|
LinkPartnerHandleSpriteInvisibility: @ 80D7144
|
|
push {r4,lr}
|
|
ldr r4, _080D7194 @ =gActiveBattler
|
|
ldrb r0, [r4]
|
|
bl sub_8075224
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080D718A
|
|
ldr r3, _080D7198 @ =gSprites
|
|
ldr r0, _080D719C @ =gUnknown_2023D44
|
|
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, _080D71A0 @ =gUnknown_2022BC4
|
|
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 CopyBattleSpriteInvisibility
|
|
_080D718A:
|
|
bl sub_80D49E8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D7194: .4byte gActiveBattler
|
|
_080D7198: .4byte gSprites
|
|
_080D719C: .4byte gUnknown_2023D44
|
|
_080D71A0: .4byte gUnknown_2022BC4
|
|
thumb_func_end LinkPartnerHandleSpriteInvisibility
|
|
|
|
thumb_func_start LinkPartnerHandleBattleAnimation
|
|
LinkPartnerHandleBattleAnimation: @ 80D71A4
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
ldr r6, _080D71E8 @ =gActiveBattler
|
|
ldrb r0, [r6]
|
|
bl mplay_80342A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080D71FC
|
|
ldr r5, _080D71EC @ =gUnknown_2022BC4
|
|
ldrb r2, [r6]
|
|
lsls r1, r2, 9
|
|
adds r0, r5, 0x1
|
|
adds r0, r1, r0
|
|
ldrb r3, [r0]
|
|
adds r0, r5, 0x2
|
|
adds r0, r1, r0
|
|
ldrb r4, [r0]
|
|
adds r5, 0x3
|
|
adds r1, r5
|
|
ldrb r0, [r1]
|
|
lsls r0, 8
|
|
orrs r4, r0
|
|
str r4, [sp]
|
|
adds r0, r2, 0
|
|
adds r1, r2, 0
|
|
bl TryHandleLaunchBattleTableAnimation
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080D71F0
|
|
bl sub_80D49E8
|
|
b _080D71FC
|
|
.align 2, 0
|
|
_080D71E8: .4byte gActiveBattler
|
|
_080D71EC: .4byte gUnknown_2022BC4
|
|
_080D71F0:
|
|
ldr r0, _080D7204 @ =gUnknown_3004FE0
|
|
ldrb r1, [r6]
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldr r0, _080D7208 @ =sub_80D4A90
|
|
str r0, [r1]
|
|
_080D71FC:
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D7204: .4byte gUnknown_3004FE0
|
|
_080D7208: .4byte sub_80D4A90
|
|
thumb_func_end LinkPartnerHandleBattleAnimation
|
|
|
|
thumb_func_start sub_80D720C
|
|
sub_80D720C: @ 80D720C
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D720C
|
|
|
|
thumb_func_start sub_80D7218
|
|
sub_80D7218: @ 80D7218
|
|
push {lr}
|
|
bl sub_80D49E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80D7218
|
|
|
|
thumb_func_start LinkPartnerHandlecmd55
|
|
LinkPartnerHandlecmd55: @ 80D7224
|
|
push {r4,lr}
|
|
ldr r2, _080D725C @ =gUnknown_2023E8A
|
|
ldr r1, _080D7260 @ =gUnknown_2022BC4
|
|
ldr r4, _080D7264 @ =gActiveBattler
|
|
ldrb r0, [r4]
|
|
lsls r0, 9
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
strb r0, [r2]
|
|
movs r0, 0x5
|
|
bl FadeOutMapMusic
|
|
movs r0, 0x3
|
|
bl BeginFastPaletteFade
|
|
bl sub_80D49E8
|
|
ldr r1, _080D7268 @ =gUnknown_3004FE0
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080D726C @ =sub_802F6A8
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080D725C: .4byte gUnknown_2023E8A
|
|
_080D7260: .4byte gUnknown_2022BC4
|
|
_080D7264: .4byte gActiveBattler
|
|
_080D7268: .4byte gUnknown_3004FE0
|
|
_080D726C: .4byte sub_802F6A8
|
|
thumb_func_end LinkPartnerHandlecmd55
|
|
|
|
thumb_func_start nullsub_78
|
|
nullsub_78: @ 80D7270
|
|
bx lr
|
|
thumb_func_end nullsub_78
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|