mirror of
https://github.com/pret/pokeruby.git
synced 2026-08-08 18:45:06 -05:00
3412 lines
62 KiB
ArmAsm
3412 lines
62 KiB
ArmAsm
.include "constants/gba_constants.inc"
|
|
.include "constants/species_constants.inc"
|
|
.include "asm/macros.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_800B858
|
|
sub_800B858: @ 800B858
|
|
push {lr}
|
|
ldr r0, _0800B87C @ =gUnknown_020239F8
|
|
ldrh r1, [r0]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0800B876
|
|
bl OpenLink
|
|
ldr r0, _0800B880 @ =sub_8083C50
|
|
movs r1, 0
|
|
bl CreateTask
|
|
bl sub_800BF28
|
|
_0800B876:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800B87C: .4byte gUnknown_020239F8
|
|
_0800B880: .4byte sub_8083C50
|
|
thumb_func_end sub_800B858
|
|
|
|
thumb_func_start sub_800B884
|
|
sub_800B884: @ 800B884
|
|
push {r4-r7,lr}
|
|
sub sp, 0x14
|
|
ldr r0, _0800B920 @ =gUnknown_030042D4
|
|
ldr r1, _0800B924 @ =nullsub_41
|
|
str r1, [r0]
|
|
movs r0, 0
|
|
str r0, [sp, 0x10]
|
|
movs r1, 0
|
|
ldr r7, _0800B928 @ =gUnknown_03004330
|
|
ldr r6, _0800B92C @ =gUnknown_02024E60
|
|
movs r2, 0
|
|
ldr r5, _0800B930 @ =gUnknown_02024E64
|
|
ldr r4, _0800B934 @ =nullsub_91
|
|
ldr r3, _0800B938 @ =gUnknown_02024A72
|
|
_0800B8A0:
|
|
lsls r0, r1, 2
|
|
adds r0, r7
|
|
str r4, [r0]
|
|
adds r1, r3
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
ldr r0, [sp, 0x10]
|
|
adds r0, r6
|
|
strb r2, [r0]
|
|
ldr r0, [sp, 0x10]
|
|
adds r0, r5
|
|
strb r2, [r0]
|
|
ldr r0, [sp, 0x10]
|
|
adds r0, 0x1
|
|
str r0, [sp, 0x10]
|
|
adds r1, r0, 0
|
|
cmp r1, 0x3
|
|
ble _0800B8A0
|
|
bl sub_800B858
|
|
ldr r0, _0800B93C @ =gUnknown_02024A64
|
|
movs r5, 0
|
|
str r5, [r0]
|
|
bl sub_8075624
|
|
bl sub_8040710
|
|
bl sub_81070D4
|
|
ldr r0, _0800B940 @ =gUnknown_020239F8
|
|
ldrh r1, [r0]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0800B90E
|
|
bl ZeroEnemyPartyMons
|
|
ldr r4, _0800B944 @ =gEnemyParty
|
|
movs r1, 0x8F
|
|
lsls r1, 1
|
|
str r5, [sp]
|
|
str r5, [sp, 0x4]
|
|
str r5, [sp, 0x8]
|
|
str r5, [sp, 0xC]
|
|
adds r0, r4, 0
|
|
movs r2, 0x2
|
|
movs r3, 0x20
|
|
bl CreateMon
|
|
str r5, [sp, 0x10]
|
|
adds r0, r4, 0
|
|
movs r1, 0xC
|
|
add r2, sp, 0x10
|
|
bl SetMonData
|
|
_0800B90E:
|
|
ldr r0, _0800B948 @ =gUnknown_020239FC
|
|
str r5, [r0]
|
|
ldr r0, _0800B94C @ =gUnknown_02024C78
|
|
strb r5, [r0]
|
|
add sp, 0x14
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800B920: .4byte gUnknown_030042D4
|
|
_0800B924: .4byte nullsub_41
|
|
_0800B928: .4byte gUnknown_03004330
|
|
_0800B92C: .4byte gUnknown_02024E60
|
|
_0800B930: .4byte gUnknown_02024E64
|
|
_0800B934: .4byte nullsub_91
|
|
_0800B938: .4byte gUnknown_02024A72
|
|
_0800B93C: .4byte gUnknown_02024A64
|
|
_0800B940: .4byte gUnknown_020239F8
|
|
_0800B944: .4byte gEnemyParty
|
|
_0800B948: .4byte gUnknown_020239FC
|
|
_0800B94C: .4byte gUnknown_02024C78
|
|
thumb_func_end sub_800B884
|
|
|
|
thumb_func_start sub_800B950
|
|
sub_800B950: @ 800B950
|
|
push {r4,r5,lr}
|
|
ldr r0, _0800B964 @ =gUnknown_020239F8
|
|
ldrh r1, [r0]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0800B968
|
|
bl sub_800BA78
|
|
b _0800B96C
|
|
.align 2, 0
|
|
_0800B964: .4byte gUnknown_020239F8
|
|
_0800B968:
|
|
bl sub_800B9A8
|
|
_0800B96C:
|
|
bl sub_800BD54
|
|
ldr r0, _0800B9A0 @ =gUnknown_020239F8
|
|
ldrh r1, [r0]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0800B99A
|
|
movs r4, 0
|
|
ldr r0, _0800B9A4 @ =gUnknown_02024A68
|
|
ldrb r1, [r0]
|
|
cmp r4, r1
|
|
bge _0800B99A
|
|
adds r5, r0, 0
|
|
_0800B988:
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
movs r1, 0
|
|
bl sub_8094978
|
|
adds r4, 0x1
|
|
ldrb r0, [r5]
|
|
cmp r4, r0
|
|
blt _0800B988
|
|
_0800B99A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800B9A0: .4byte gUnknown_020239F8
|
|
_0800B9A4: .4byte gUnknown_02024A68
|
|
thumb_func_end sub_800B950
|
|
|
|
thumb_func_start sub_800B9A8
|
|
sub_800B9A8: @ 800B9A8
|
|
push {r4,lr}
|
|
ldr r0, _0800B9CC @ =gUnknown_020239F8
|
|
ldrh r2, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
bne _0800BA28
|
|
ldr r1, _0800B9D0 @ =gUnknown_030042D4
|
|
ldr r0, _0800B9D4 @ =sub_8010800
|
|
str r0, [r1]
|
|
movs r0, 0x80
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _0800B9E0
|
|
ldr r1, _0800B9D8 @ =gUnknown_03004330
|
|
ldr r0, _0800B9DC @ =sub_812B468
|
|
b _0800B9FC
|
|
.align 2, 0
|
|
_0800B9CC: .4byte gUnknown_020239F8
|
|
_0800B9D0: .4byte gUnknown_030042D4
|
|
_0800B9D4: .4byte sub_8010800
|
|
_0800B9D8: .4byte gUnknown_03004330
|
|
_0800B9DC: .4byte sub_812B468
|
|
_0800B9E0:
|
|
movs r0, 0x80
|
|
lsls r0, 2
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _0800B9F8
|
|
ldr r1, _0800B9F0 @ =gUnknown_03004330
|
|
ldr r0, _0800B9F4 @ =sub_8137224
|
|
b _0800B9FC
|
|
.align 2, 0
|
|
_0800B9F0: .4byte gUnknown_03004330
|
|
_0800B9F4: .4byte sub_8137224
|
|
_0800B9F8:
|
|
ldr r1, _0800BA14 @ =gUnknown_03004330
|
|
ldr r0, _0800BA18 @ =sub_802BF74
|
|
_0800B9FC:
|
|
str r0, [r1]
|
|
adds r2, r1, 0
|
|
ldr r1, _0800BA1C @ =gUnknown_02024A72
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
ldr r0, _0800BA20 @ =sub_8032AE0
|
|
str r0, [r2, 0x4]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x1]
|
|
ldr r1, _0800BA24 @ =gUnknown_02024A68
|
|
movs r0, 0x2
|
|
b _0800BA52
|
|
.align 2, 0
|
|
_0800BA14: .4byte gUnknown_03004330
|
|
_0800BA18: .4byte sub_802BF74
|
|
_0800BA1C: .4byte gUnknown_02024A72
|
|
_0800BA20: .4byte sub_8032AE0
|
|
_0800BA24: .4byte gUnknown_02024A68
|
|
_0800BA28:
|
|
ldr r1, _0800BA5C @ =gUnknown_030042D4
|
|
ldr r0, _0800BA60 @ =sub_8010800
|
|
str r0, [r1]
|
|
ldr r2, _0800BA64 @ =gUnknown_03004330
|
|
ldr r4, _0800BA68 @ =sub_802BF74
|
|
str r4, [r2]
|
|
ldr r1, _0800BA6C @ =gUnknown_02024A72
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
ldr r3, _0800BA70 @ =sub_8032AE0
|
|
str r3, [r2, 0x4]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x1]
|
|
str r4, [r2, 0x8]
|
|
movs r0, 0x2
|
|
strb r0, [r1, 0x2]
|
|
str r3, [r2, 0xC]
|
|
movs r0, 0x3
|
|
strb r0, [r1, 0x3]
|
|
ldr r1, _0800BA74 @ =gUnknown_02024A68
|
|
movs r0, 0x4
|
|
_0800BA52:
|
|
strb r0, [r1]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800BA5C: .4byte gUnknown_030042D4
|
|
_0800BA60: .4byte sub_8010800
|
|
_0800BA64: .4byte gUnknown_03004330
|
|
_0800BA68: .4byte sub_802BF74
|
|
_0800BA6C: .4byte gUnknown_02024A72
|
|
_0800BA70: .4byte sub_8032AE0
|
|
_0800BA74: .4byte gUnknown_02024A68
|
|
thumb_func_end sub_800B9A8
|
|
|
|
thumb_func_start sub_800BA78
|
|
sub_800BA78: @ 800BA78
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
ldr r6, _0800BAB8 @ =gUnknown_020239F8
|
|
ldrh r1, [r6]
|
|
movs r5, 0x1
|
|
movs r4, 0x1
|
|
ands r4, r1
|
|
cmp r4, 0
|
|
bne _0800BB04
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0
|
|
beq _0800BAD8
|
|
ldr r1, _0800BABC @ =gUnknown_030042D4
|
|
ldr r0, _0800BAC0 @ =sub_8010800
|
|
str r0, [r1]
|
|
ldr r2, _0800BAC4 @ =gUnknown_03004330
|
|
ldr r0, _0800BAC8 @ =sub_802BF74
|
|
str r0, [r2]
|
|
ldr r1, _0800BACC @ =gUnknown_02024A72
|
|
strb r4, [r1]
|
|
ldr r0, _0800BAD0 @ =sub_8037510
|
|
str r0, [r2, 0x4]
|
|
strb r5, [r1, 0x1]
|
|
ldr r1, _0800BAD4 @ =gUnknown_02024A68
|
|
movs r0, 0x2
|
|
b _0800BD3E
|
|
.align 2, 0
|
|
_0800BAB8: .4byte gUnknown_020239F8
|
|
_0800BABC: .4byte gUnknown_030042D4
|
|
_0800BAC0: .4byte sub_8010800
|
|
_0800BAC4: .4byte gUnknown_03004330
|
|
_0800BAC8: .4byte sub_802BF74
|
|
_0800BACC: .4byte gUnknown_02024A72
|
|
_0800BAD0: .4byte sub_8037510
|
|
_0800BAD4: .4byte gUnknown_02024A68
|
|
_0800BAD8:
|
|
ldr r2, _0800BAF0 @ =gUnknown_03004330
|
|
ldr r0, _0800BAF4 @ =sub_802BF74
|
|
str r0, [r2, 0x4]
|
|
ldr r1, _0800BAF8 @ =gUnknown_02024A72
|
|
strb r3, [r1, 0x1]
|
|
ldr r0, _0800BAFC @ =sub_8037510
|
|
str r0, [r2]
|
|
strb r5, [r1]
|
|
ldr r1, _0800BB00 @ =gUnknown_02024A68
|
|
movs r0, 0x2
|
|
b _0800BD3E
|
|
.align 2, 0
|
|
_0800BAF0: .4byte gUnknown_03004330
|
|
_0800BAF4: .4byte sub_802BF74
|
|
_0800BAF8: .4byte gUnknown_02024A72
|
|
_0800BAFC: .4byte sub_8037510
|
|
_0800BB00: .4byte gUnknown_02024A68
|
|
_0800BB04:
|
|
movs r0, 0x41
|
|
ands r0, r1
|
|
cmp r0, 0x1
|
|
bne _0800BB90
|
|
movs r6, 0x4
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0
|
|
beq _0800BB58
|
|
ldr r1, _0800BB40 @ =gUnknown_030042D4
|
|
ldr r0, _0800BB44 @ =sub_8010800
|
|
str r0, [r1]
|
|
ldr r2, _0800BB48 @ =gUnknown_03004330
|
|
ldr r4, _0800BB4C @ =sub_802BF74
|
|
str r4, [r2]
|
|
ldr r1, _0800BB50 @ =gUnknown_02024A72
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
ldr r3, _0800BB54 @ =sub_8037510
|
|
str r3, [r2, 0x4]
|
|
strb r5, [r1, 0x1]
|
|
str r4, [r2, 0x8]
|
|
movs r0, 0x2
|
|
strb r0, [r1, 0x2]
|
|
str r3, [r2, 0xC]
|
|
movs r0, 0x3
|
|
strb r0, [r1, 0x3]
|
|
b _0800BB74
|
|
.align 2, 0
|
|
_0800BB40: .4byte gUnknown_030042D4
|
|
_0800BB44: .4byte sub_8010800
|
|
_0800BB48: .4byte gUnknown_03004330
|
|
_0800BB4C: .4byte sub_802BF74
|
|
_0800BB50: .4byte gUnknown_02024A72
|
|
_0800BB54: .4byte sub_8037510
|
|
_0800BB58:
|
|
ldr r2, _0800BB7C @ =gUnknown_03004330
|
|
ldr r0, _0800BB80 @ =sub_802BF74
|
|
str r0, [r2, 0x4]
|
|
ldr r1, _0800BB84 @ =gUnknown_02024A72
|
|
strb r3, [r1, 0x1]
|
|
ldr r3, _0800BB88 @ =sub_8037510
|
|
str r3, [r2]
|
|
strb r5, [r1]
|
|
str r0, [r2, 0xC]
|
|
movs r0, 0x2
|
|
strb r0, [r1, 0x3]
|
|
str r3, [r2, 0x8]
|
|
movs r0, 0x3
|
|
strb r0, [r1, 0x2]
|
|
_0800BB74:
|
|
ldr r0, _0800BB8C @ =gUnknown_02024A68
|
|
strb r6, [r0]
|
|
b _0800BD40
|
|
.align 2, 0
|
|
_0800BB7C: .4byte gUnknown_03004330
|
|
_0800BB80: .4byte sub_802BF74
|
|
_0800BB84: .4byte gUnknown_02024A72
|
|
_0800BB88: .4byte sub_8037510
|
|
_0800BB8C: .4byte gUnknown_02024A68
|
|
_0800BB90:
|
|
bl GetMultiplayerId
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldrh r1, [r6]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0800BBA8
|
|
ldr r1, _0800BBD0 @ =gUnknown_030042D4
|
|
ldr r0, _0800BBD4 @ =sub_8010800
|
|
str r0, [r1]
|
|
_0800BBA8:
|
|
movs r0, 0
|
|
mov r10, r0
|
|
ldr r1, _0800BBD8 @ =gLinkPlayers
|
|
mov r12, r1
|
|
ldr r7, _0800BBDC @ =gUnknown_02024A72
|
|
mov r8, r0
|
|
ldr r6, _0800BBE0 @ =gUnknown_02024A6A
|
|
movs r4, 0
|
|
movs r2, 0x3
|
|
mov r9, r2
|
|
_0800BBBC:
|
|
mov r1, r12
|
|
adds r0, r4, r1
|
|
ldrh r0, [r0, 0x18]
|
|
cmp r0, 0x2
|
|
bgt _0800BBE4
|
|
cmp r0, 0x1
|
|
bge _0800BBFC
|
|
cmp r0, 0
|
|
beq _0800BBE8
|
|
b _0800BC06
|
|
.align 2, 0
|
|
_0800BBD0: .4byte gUnknown_030042D4
|
|
_0800BBD4: .4byte sub_8010800
|
|
_0800BBD8: .4byte gLinkPlayers
|
|
_0800BBDC: .4byte gUnknown_02024A72
|
|
_0800BBE0: .4byte gUnknown_02024A6A
|
|
_0800BBE4:
|
|
cmp r0, 0x3
|
|
bne _0800BC06
|
|
_0800BBE8:
|
|
ldr r0, _0800BBF8 @ =gLinkPlayers
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0, 0x18]
|
|
movs r1, 0
|
|
bl sub_8094978
|
|
b _0800BC06
|
|
.align 2, 0
|
|
_0800BBF8: .4byte gLinkPlayers
|
|
_0800BBFC:
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x1
|
|
bl sub_8094978
|
|
_0800BC06:
|
|
cmp r10, r5
|
|
bne _0800BC56
|
|
ldr r0, _0800BC2C @ =gLinkPlayers
|
|
adds r3, r4, r0
|
|
ldrh r1, [r3, 0x18]
|
|
lsls r1, 2
|
|
ldr r2, _0800BC30 @ =gUnknown_03004330
|
|
adds r1, r2
|
|
ldr r2, _0800BC34 @ =sub_802BF74
|
|
str r2, [r1]
|
|
ldrh r1, [r3, 0x18]
|
|
mov r12, r0
|
|
cmp r1, 0x2
|
|
bgt _0800BC38
|
|
cmp r1, 0x1
|
|
bge _0800BC4C
|
|
cmp r1, 0
|
|
beq _0800BC3C
|
|
b _0800BD2C
|
|
.align 2, 0
|
|
_0800BC2C: .4byte gLinkPlayers
|
|
_0800BC30: .4byte gUnknown_03004330
|
|
_0800BC34: .4byte sub_802BF74
|
|
_0800BC38:
|
|
cmp r1, 0x3
|
|
bne _0800BD2C
|
|
_0800BC3C:
|
|
mov r1, r12
|
|
adds r0, r4, r1
|
|
ldrh r1, [r0, 0x18]
|
|
adds r1, r7
|
|
mov r2, r8
|
|
strb r2, [r1]
|
|
ldrh r0, [r0, 0x18]
|
|
b _0800BD12
|
|
_0800BC4C:
|
|
adds r1, r7
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
ldrh r0, [r3, 0x18]
|
|
b _0800BD24
|
|
_0800BC56:
|
|
ldr r2, _0800BC7C @ =gLinkPlayers
|
|
adds r0, r4, r2
|
|
ldrh r1, [r0, 0x18]
|
|
movs r3, 0x1
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
mov r12, r2
|
|
cmp r0, 0
|
|
bne _0800BC80
|
|
lsls r0, r5, 3
|
|
subs r0, r5
|
|
lsls r0, 2
|
|
add r0, r12
|
|
ldrh r1, [r0, 0x18]
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0800BC92
|
|
b _0800BCD8
|
|
.align 2, 0
|
|
_0800BC7C: .4byte gLinkPlayers
|
|
_0800BC80:
|
|
lsls r0, r5, 3
|
|
subs r0, r5
|
|
lsls r0, 2
|
|
add r0, r12
|
|
ldrh r1, [r0, 0x18]
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0800BCD8
|
|
_0800BC92:
|
|
mov r0, r12
|
|
adds r2, r4, r0
|
|
ldrh r0, [r2, 0x18]
|
|
lsls r0, 2
|
|
ldr r1, _0800BCB4 @ =gUnknown_03004330
|
|
adds r0, r1
|
|
ldr r1, _0800BCB8 @ =sub_811DA78
|
|
str r1, [r0]
|
|
ldrh r1, [r2, 0x18]
|
|
cmp r1, 0x2
|
|
bgt _0800BCBC
|
|
cmp r1, 0x1
|
|
bge _0800BCD0
|
|
cmp r1, 0
|
|
beq _0800BCC0
|
|
b _0800BD2C
|
|
.align 2, 0
|
|
_0800BCB4: .4byte gUnknown_03004330
|
|
_0800BCB8: .4byte sub_811DA78
|
|
_0800BCBC:
|
|
cmp r1, 0x3
|
|
bne _0800BD2C
|
|
_0800BCC0:
|
|
mov r2, r12
|
|
adds r0, r4, r2
|
|
ldrh r1, [r0, 0x18]
|
|
adds r1, r7
|
|
mov r2, r8
|
|
strb r2, [r1]
|
|
ldrh r0, [r0, 0x18]
|
|
b _0800BD12
|
|
_0800BCD0:
|
|
adds r1, r7
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
b _0800BD22
|
|
_0800BCD8:
|
|
mov r0, r12
|
|
adds r2, r4, r0
|
|
ldrh r0, [r2, 0x18]
|
|
lsls r0, 2
|
|
ldr r1, _0800BCF8 @ =gUnknown_03004330
|
|
adds r0, r1
|
|
ldr r1, _0800BCFC @ =sub_8037510
|
|
str r1, [r0]
|
|
ldrh r0, [r2, 0x18]
|
|
cmp r0, 0x2
|
|
bgt _0800BD00
|
|
cmp r0, 0x1
|
|
bge _0800BD1C
|
|
cmp r0, 0
|
|
beq _0800BD04
|
|
b _0800BD2C
|
|
.align 2, 0
|
|
_0800BCF8: .4byte gUnknown_03004330
|
|
_0800BCFC: .4byte sub_8037510
|
|
_0800BD00:
|
|
cmp r0, 0x3
|
|
bne _0800BD2C
|
|
_0800BD04:
|
|
mov r0, r12
|
|
adds r2, r4, r0
|
|
ldrh r0, [r2, 0x18]
|
|
adds r0, r7
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldrh r0, [r2, 0x18]
|
|
_0800BD12:
|
|
lsls r0, 1
|
|
adds r0, r6
|
|
mov r1, r8
|
|
strh r1, [r0]
|
|
b _0800BD2C
|
|
_0800BD1C:
|
|
adds r0, r7
|
|
mov r1, r9
|
|
strb r1, [r0]
|
|
_0800BD22:
|
|
ldrh r0, [r2, 0x18]
|
|
_0800BD24:
|
|
lsls r0, 1
|
|
adds r0, r6
|
|
mov r2, r9
|
|
strh r2, [r0]
|
|
_0800BD2C:
|
|
adds r4, 0x1C
|
|
movs r0, 0x1
|
|
add r10, r0
|
|
mov r1, r10
|
|
cmp r1, 0x3
|
|
bgt _0800BD3A
|
|
b _0800BBBC
|
|
_0800BD3A:
|
|
ldr r1, _0800BD50 @ =gUnknown_02024A68
|
|
movs r0, 0x4
|
|
_0800BD3E:
|
|
strb r0, [r1]
|
|
_0800BD40:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800BD50: .4byte gUnknown_02024A68
|
|
thumb_func_end sub_800BA78
|
|
|
|
thumb_func_start sub_800BD54
|
|
sub_800BD54: @ 800BD54
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
ldr r0, _0800BD74 @ =gUnknown_020239F8
|
|
ldrh r1, [r0]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0800BD6C
|
|
b _0800BE88
|
|
_0800BD6C:
|
|
movs r0, 0
|
|
mov r8, r0
|
|
b _0800BE7E
|
|
.align 2, 0
|
|
_0800BD74: .4byte gUnknown_020239F8
|
|
_0800BD78:
|
|
movs r5, 0
|
|
movs r0, 0x1
|
|
add r0, r8
|
|
mov r10, r0
|
|
ldr r0, _0800BDA4 @ =gUnknown_02024A72
|
|
add r0, r8
|
|
mov r9, r0
|
|
mov r0, r8
|
|
lsls r6, r0, 1
|
|
movs r7, 0
|
|
_0800BD8C:
|
|
mov r0, r8
|
|
cmp r0, 0x1
|
|
bgt _0800BDF4
|
|
mov r0, r9
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0800BDAC
|
|
ldr r0, _0800BDA8 @ =gPlayerParty
|
|
b _0800BDAE
|
|
.align 2, 0
|
|
_0800BDA4: .4byte gUnknown_02024A72
|
|
_0800BDA8: .4byte gPlayerParty
|
|
_0800BDAC:
|
|
ldr r0, _0800BDEC @ =gEnemyParty
|
|
_0800BDAE:
|
|
adds r4, r7, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _0800BE74
|
|
adds r0, r4, 0
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _0800BE74
|
|
adds r0, r4, 0
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
movs r1, 0xCE
|
|
lsls r1, 1
|
|
cmp r0, r1
|
|
beq _0800BE74
|
|
adds r0, r4, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _0800BE74
|
|
ldr r0, _0800BDF0 @ =gUnknown_02024A6A
|
|
adds r0, r6, r0
|
|
strh r5, [r0]
|
|
b _0800BE7C
|
|
.align 2, 0
|
|
_0800BDEC: .4byte gEnemyParty
|
|
_0800BDF0: .4byte gUnknown_02024A6A
|
|
_0800BDF4:
|
|
mov r0, r9
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0800BE1C
|
|
ldr r0, _0800BE18 @ =gPlayerParty
|
|
adds r4, r7, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _0800BE74
|
|
adds r0, r4, 0
|
|
movs r1, 0xB
|
|
b _0800BE30
|
|
.align 2, 0
|
|
_0800BE18: .4byte gPlayerParty
|
|
_0800BE1C:
|
|
ldr r0, _0800BE6C @ =gEnemyParty
|
|
adds r4, r7, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _0800BE74
|
|
adds r0, r4, 0
|
|
movs r1, 0x41
|
|
_0800BE30:
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _0800BE74
|
|
adds r0, r4, 0
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
movs r1, 0xCE
|
|
lsls r1, 1
|
|
cmp r0, r1
|
|
beq _0800BE74
|
|
adds r0, r4, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _0800BE74
|
|
ldr r1, _0800BE70 @ =gUnknown_02024A6A
|
|
mov r0, r8
|
|
subs r0, 0x2
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, r5
|
|
beq _0800BE74
|
|
adds r0, r6, r1
|
|
strh r5, [r0]
|
|
b _0800BE7C
|
|
.align 2, 0
|
|
_0800BE6C: .4byte gEnemyParty
|
|
_0800BE70: .4byte gUnknown_02024A6A
|
|
_0800BE74:
|
|
adds r7, 0x64
|
|
adds r5, 0x1
|
|
cmp r5, 0x5
|
|
ble _0800BD8C
|
|
_0800BE7C:
|
|
mov r8, r10
|
|
_0800BE7E:
|
|
ldr r0, _0800BE98 @ =gUnknown_02024A68
|
|
ldrb r0, [r0]
|
|
cmp r8, r0
|
|
bge _0800BE88
|
|
b _0800BD78
|
|
_0800BE88:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800BE98: .4byte gUnknown_02024A68
|
|
thumb_func_end sub_800BD54
|
|
|
|
thumb_func_start dp01_prepare_buffer
|
|
dp01_prepare_buffer: @ 800BE9C
|
|
push {r4-r6,lr}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
adds r5, r3, 0
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
ldr r0, _0800BEC4 @ =gUnknown_020239F8
|
|
ldrh r1, [r0]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0800BEC8
|
|
adds r0, r3, 0
|
|
adds r1, r2, 0
|
|
adds r2, r4, 0
|
|
bl dp01_prepare_buffer_wireless_probably
|
|
b _0800BF1A
|
|
.align 2, 0
|
|
_0800BEC4: .4byte gUnknown_020239F8
|
|
_0800BEC8:
|
|
cmp r5, 0
|
|
beq _0800BED2
|
|
cmp r5, 0x1
|
|
beq _0800BEFC
|
|
b _0800BF1A
|
|
_0800BED2:
|
|
movs r3, 0
|
|
cmp r3, r2
|
|
bge _0800BF1A
|
|
ldr r6, _0800BEF4 @ =gUnknown_02023A60
|
|
ldr r5, _0800BEF8 @ =gUnknown_02024A60
|
|
_0800BEDC:
|
|
ldrb r0, [r5]
|
|
lsls r0, 9
|
|
adds r0, r3, r0
|
|
adds r0, r6
|
|
ldrb r1, [r4]
|
|
strb r1, [r0]
|
|
adds r4, 0x1
|
|
adds r3, 0x1
|
|
cmp r3, r2
|
|
blt _0800BEDC
|
|
b _0800BF1A
|
|
.align 2, 0
|
|
_0800BEF4: .4byte gUnknown_02023A60
|
|
_0800BEF8: .4byte gUnknown_02024A60
|
|
_0800BEFC:
|
|
movs r3, 0
|
|
cmp r3, r2
|
|
bge _0800BF1A
|
|
ldr r6, _0800BF20 @ =gUnknown_02024260
|
|
ldr r5, _0800BF24 @ =gUnknown_02024A60
|
|
_0800BF06:
|
|
ldrb r0, [r5]
|
|
lsls r0, 9
|
|
adds r0, r3, r0
|
|
adds r0, r6
|
|
ldrb r1, [r4]
|
|
strb r1, [r0]
|
|
adds r4, 0x1
|
|
adds r3, 0x1
|
|
cmp r3, r2
|
|
blt _0800BF06
|
|
_0800BF1A:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800BF20: .4byte gUnknown_02024260
|
|
_0800BF24: .4byte gUnknown_02024A60
|
|
thumb_func_end dp01_prepare_buffer
|
|
|
|
thumb_func_start sub_800BF28
|
|
sub_800BF28: @ 800BF28
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _0800BFD0 @ =sub_800C1A8
|
|
movs r1, 0
|
|
bl CreateTask
|
|
ldr r2, _0800BFD4 @ =gUnknown_020238C4
|
|
strb r0, [r2]
|
|
ldr r5, _0800BFD8 @ =gTasks
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
movs r6, 0
|
|
movs r4, 0
|
|
strh r4, [r0, 0x1E]
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
strh r4, [r0, 0x20]
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
strh r4, [r0, 0x22]
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
strh r4, [r0, 0x24]
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
strh r4, [r0, 0x26]
|
|
ldr r0, _0800BFDC @ =sub_800C47C
|
|
movs r1, 0
|
|
bl CreateTask
|
|
ldr r2, _0800BFE0 @ =gUnknown_020238C5
|
|
strb r0, [r2]
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
strh r4, [r0, 0x20]
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
strh r4, [r0, 0x22]
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
strh r4, [r0, 0x24]
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
strh r4, [r0, 0x26]
|
|
ldr r0, _0800BFE4 @ =gUnknown_020238C6
|
|
strb r6, [r0]
|
|
mov r0, sp
|
|
strh r4, [r0]
|
|
ldr r1, _0800BFE8 @ =0x02014000
|
|
ldr r2, _0800BFEC @ =0x01001000
|
|
bl CpuSet
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800BFD0: .4byte sub_800C1A8
|
|
_0800BFD4: .4byte gUnknown_020238C4
|
|
_0800BFD8: .4byte gTasks
|
|
_0800BFDC: .4byte sub_800C47C
|
|
_0800BFE0: .4byte gUnknown_020238C5
|
|
_0800BFE4: .4byte gUnknown_020238C6
|
|
_0800BFE8: .4byte 0x02014000
|
|
_0800BFEC: .4byte 0x01001000
|
|
thumb_func_end sub_800BF28
|
|
|
|
thumb_func_start dp01_prepare_buffer_wireless_probably
|
|
dp01_prepare_buffer_wireless_probably: @ 800BFF0
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
mov r10, r2
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
mov r8, r1
|
|
movs r1, 0x3
|
|
mov r0, r8
|
|
bics r0, r1
|
|
adds r0, 0x4
|
|
mov r9, r0
|
|
ldr r2, _0800C168 @ =gTasks
|
|
ldr r3, _0800C16C @ =gUnknown_020238C4
|
|
ldrb r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r4, r0, r2
|
|
movs r1, 0x24
|
|
ldrsh r0, [r4, r1]
|
|
add r0, r9
|
|
adds r0, 0x9
|
|
movs r1, 0x80
|
|
lsls r1, 5
|
|
adds r5, r2, 0
|
|
cmp r0, r1
|
|
ble _0800C042
|
|
ldrh r0, [r4, 0x24]
|
|
movs r2, 0
|
|
strh r0, [r4, 0x20]
|
|
ldrb r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
strh r2, [r0, 0x24]
|
|
_0800C042:
|
|
ldr r4, _0800C170 @ =0x02000000
|
|
ldrb r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
movs r2, 0x24
|
|
ldrsh r0, [r0, r2]
|
|
movs r7, 0xA0
|
|
lsls r7, 9
|
|
adds r0, r7
|
|
adds r0, r4
|
|
strb r6, [r0]
|
|
ldrb r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
movs r1, 0x24
|
|
ldrsh r0, [r0, r1]
|
|
ldr r2, _0800C174 @ =0x00014001
|
|
adds r0, r2
|
|
adds r0, r4
|
|
ldr r1, _0800C178 @ =gUnknown_02024A60
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
ldrb r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
movs r7, 0x24
|
|
ldrsh r0, [r0, r7]
|
|
ldr r1, _0800C17C @ =0x00014002
|
|
adds r0, r1
|
|
adds r0, r4
|
|
ldr r1, _0800C180 @ =gUnknown_02024C07
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
ldrb r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
movs r2, 0x24
|
|
ldrsh r0, [r0, r2]
|
|
ldr r7, _0800C184 @ =0x00014003
|
|
adds r0, r7
|
|
adds r0, r4
|
|
ldr r1, _0800C188 @ =gUnknown_02024C08
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
ldrb r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
movs r1, 0x24
|
|
ldrsh r0, [r0, r1]
|
|
ldr r2, _0800C18C @ =0x00014004
|
|
adds r0, r2
|
|
adds r0, r4
|
|
mov r7, r9
|
|
strb r7, [r0]
|
|
ldrb r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
movs r2, 0x24
|
|
ldrsh r1, [r0, r2]
|
|
ldr r7, _0800C190 @ =0x00014005
|
|
adds r1, r7
|
|
adds r1, r4
|
|
movs r0, 0xFF
|
|
lsls r0, 8
|
|
mov r2, r9
|
|
ands r0, r2
|
|
asrs r0, 8
|
|
strb r0, [r1]
|
|
ldrb r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
movs r7, 0x24
|
|
ldrsh r0, [r0, r7]
|
|
ldr r1, _0800C194 @ =0x00014006
|
|
adds r0, r1
|
|
adds r0, r4
|
|
ldr r1, _0800C198 @ =gUnknown_02024C0C
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
ldrb r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
movs r2, 0x24
|
|
ldrsh r0, [r0, r2]
|
|
ldr r7, _0800C19C @ =0x00014007
|
|
adds r0, r7
|
|
adds r0, r4
|
|
ldr r1, _0800C1A0 @ =gUnknown_02024C0A
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
movs r2, 0
|
|
cmp r2, r8
|
|
bge _0800C146
|
|
mov r12, r4
|
|
adds r6, r3, 0
|
|
ldr r4, _0800C1A4 @ =0x00014008
|
|
_0800C122:
|
|
ldrb r1, [r6]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
ldr r1, _0800C168 @ =gTasks
|
|
adds r0, r1
|
|
movs r7, 0x24
|
|
ldrsh r1, [r0, r7]
|
|
adds r0, r2, r4
|
|
adds r1, r0
|
|
add r1, r12
|
|
mov r7, r10
|
|
adds r0, r7, r2
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r2, 0x1
|
|
cmp r2, r8
|
|
blt _0800C122
|
|
_0800C146:
|
|
ldrb r0, [r3]
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r5
|
|
ldrh r0, [r1, 0x24]
|
|
add r0, r9
|
|
adds r0, 0x8
|
|
strh r0, [r1, 0x24]
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800C168: .4byte gTasks
|
|
_0800C16C: .4byte gUnknown_020238C4
|
|
_0800C170: .4byte 0x02000000
|
|
_0800C174: .4byte 0x00014001
|
|
_0800C178: .4byte gUnknown_02024A60
|
|
_0800C17C: .4byte 0x00014002
|
|
_0800C180: .4byte gUnknown_02024C07
|
|
_0800C184: .4byte 0x00014003
|
|
_0800C188: .4byte gUnknown_02024C08
|
|
_0800C18C: .4byte 0x00014004
|
|
_0800C190: .4byte 0x00014005
|
|
_0800C194: .4byte 0x00014006
|
|
_0800C198: .4byte gUnknown_02024C0C
|
|
_0800C19C: .4byte 0x00014007
|
|
_0800C1A0: .4byte gUnknown_02024C0A
|
|
_0800C1A4: .4byte 0x00014008
|
|
thumb_func_end dp01_prepare_buffer_wireless_probably
|
|
|
|
thumb_func_start sub_800C1A8
|
|
sub_800C1A8: @ 800C1A8
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r1, _0800C1D0 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r2, 0x1E
|
|
ldrsh r0, [r0, r2]
|
|
adds r7, r1, 0
|
|
cmp r0, 0x5
|
|
bls _0800C1C4
|
|
b _0800C354
|
|
_0800C1C4:
|
|
lsls r0, 2
|
|
ldr r1, _0800C1D4 @ =_0800C1D8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0800C1D0: .4byte gTasks
|
|
_0800C1D4: .4byte _0800C1D8
|
|
.align 2, 0
|
|
_0800C1D8:
|
|
.4byte _0800C1F0
|
|
.4byte _0800C204
|
|
.4byte _0800C220
|
|
.4byte _0800C25C
|
|
.4byte _0800C2E6
|
|
.4byte _0800C338
|
|
_0800C1F0:
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r7
|
|
movs r1, 0x64
|
|
strh r1, [r0, 0x1C]
|
|
ldrh r1, [r0, 0x1E]
|
|
adds r1, 0x1
|
|
strh r1, [r0, 0x1E]
|
|
b _0800C354
|
|
_0800C204:
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r1, r0, r7
|
|
ldrh r0, [r1, 0x1C]
|
|
subs r0, 0x1
|
|
strh r0, [r1, 0x1C]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
beq _0800C21A
|
|
b _0800C354
|
|
_0800C21A:
|
|
ldrh r0, [r1, 0x1E]
|
|
adds r0, 0x1
|
|
b _0800C352
|
|
_0800C220:
|
|
bl GetLinkPlayerCount_2
|
|
bl IsLinkMaster
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0800C248
|
|
bl sub_8007F4C
|
|
ldr r0, _0800C244 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldrh r0, [r1, 0x1E]
|
|
adds r0, 0x1
|
|
b _0800C352
|
|
.align 2, 0
|
|
_0800C244: .4byte gTasks
|
|
_0800C248:
|
|
ldr r0, _0800C258 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldrh r0, [r1, 0x1E]
|
|
adds r0, 0x1
|
|
b _0800C352
|
|
.align 2, 0
|
|
_0800C258: .4byte gTasks
|
|
_0800C25C:
|
|
lsls r1, r4, 2
|
|
adds r0, r1, r4
|
|
lsls r0, 3
|
|
adds r2, r0, r7
|
|
movs r5, 0x26
|
|
ldrsh r3, [r2, r5]
|
|
movs r0, 0x24
|
|
ldrsh r6, [r2, r0]
|
|
mov r12, r6
|
|
cmp r3, r12
|
|
beq _0800C354
|
|
ldrh r0, [r2, 0x22]
|
|
movs r6, 0x22
|
|
ldrsh r5, [r2, r6]
|
|
cmp r5, 0
|
|
bne _0800C2E0
|
|
cmp r3, r12
|
|
ble _0800C28C
|
|
movs r6, 0x20
|
|
ldrsh r0, [r2, r6]
|
|
cmp r3, r0
|
|
bne _0800C28C
|
|
strh r5, [r2, 0x20]
|
|
strh r5, [r2, 0x26]
|
|
_0800C28C:
|
|
ldr r5, _0800C2D4 @ =0x02000000
|
|
adds r4, r1, r4
|
|
lsls r4, 3
|
|
adds r4, r7
|
|
movs r0, 0x26
|
|
ldrsh r2, [r4, r0]
|
|
ldr r1, _0800C2D8 @ =0x00014004
|
|
adds r0, r2, r1
|
|
adds r0, r5
|
|
ldrb r1, [r0]
|
|
ldr r6, _0800C2DC @ =0x00014005
|
|
adds r2, r6
|
|
adds r2, r5
|
|
ldrb r0, [r2]
|
|
lsls r0, 8
|
|
orrs r1, r0
|
|
adds r1, 0x8
|
|
lsls r1, 16
|
|
lsrs r6, r1, 16
|
|
bl bitmask_all_link_players_but_self
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r2, 0x26
|
|
ldrsh r1, [r4, r2]
|
|
movs r2, 0xA0
|
|
lsls r2, 9
|
|
adds r5, r2
|
|
adds r1, r5
|
|
adds r2, r6, 0
|
|
bl SendBlock
|
|
ldrh r0, [r4, 0x1E]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x1E]
|
|
b _0800C354
|
|
.align 2, 0
|
|
_0800C2D4: .4byte 0x02000000
|
|
_0800C2D8: .4byte 0x00014004
|
|
_0800C2DC: .4byte 0x00014005
|
|
_0800C2E0:
|
|
subs r0, 0x1
|
|
strh r0, [r2, 0x22]
|
|
b _0800C354
|
|
_0800C2E6:
|
|
bl sub_8007ECC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0800C354
|
|
ldr r2, _0800C328 @ =0x02000000
|
|
ldr r0, _0800C32C @ =gTasks
|
|
lsls r3, r4, 2
|
|
adds r3, r4
|
|
lsls r3, 3
|
|
adds r3, r0
|
|
movs r4, 0x26
|
|
ldrsh r1, [r3, r4]
|
|
ldr r5, _0800C330 @ =0x00014004
|
|
adds r0, r1, r5
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
ldr r6, _0800C334 @ =0x00014005
|
|
adds r1, r6
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
lsls r1, 8
|
|
movs r2, 0x1
|
|
strh r2, [r3, 0x22]
|
|
orrs r0, r1
|
|
ldrh r1, [r3, 0x26]
|
|
adds r0, r1
|
|
adds r0, 0x8
|
|
strh r0, [r3, 0x26]
|
|
movs r0, 0x3
|
|
strh r0, [r3, 0x1E]
|
|
b _0800C354
|
|
.align 2, 0
|
|
_0800C328: .4byte 0x02000000
|
|
_0800C32C: .4byte gTasks
|
|
_0800C330: .4byte 0x00014004
|
|
_0800C334: .4byte 0x00014005
|
|
_0800C338:
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r1, r0, r7
|
|
ldrh r0, [r1, 0x22]
|
|
subs r0, 0x1
|
|
strh r0, [r1, 0x22]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bne _0800C354
|
|
movs r0, 0x1
|
|
strh r0, [r1, 0x22]
|
|
movs r0, 0x3
|
|
_0800C352:
|
|
strh r0, [r1, 0x1E]
|
|
_0800C354:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_800C1A8
|
|
|
|
thumb_func_start sub_800C35C
|
|
sub_800C35C: @ 800C35C
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
ldr r0, _0800C38C @ =gReceivedRemoteLinkPlayers
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0800C458
|
|
ldr r0, _0800C390 @ =gUnknown_020239F8
|
|
ldrh r1, [r0]
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0800C458
|
|
ldr r0, _0800C394 @ =gLinkPlayers
|
|
ldr r1, [r0, 0x14]
|
|
ldr r0, _0800C398 @ =0x00002211
|
|
cmp r1, r0
|
|
bne _0800C458
|
|
movs r4, 0
|
|
ldr r0, _0800C39C @ =gBlockRecvBuffer
|
|
mov r10, r0
|
|
b _0800C44C
|
|
.align 2, 0
|
|
_0800C38C: .4byte gReceivedRemoteLinkPlayers
|
|
_0800C390: .4byte gUnknown_020239F8
|
|
_0800C394: .4byte gLinkPlayers
|
|
_0800C398: .4byte 0x00002211
|
|
_0800C39C: .4byte gBlockRecvBuffer
|
|
_0800C3A0:
|
|
bl GetBlockReceivedStatus
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _0800C468 @ =gBitTable
|
|
lsls r1, r4, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
ands r0, r1
|
|
adds r1, r4, 0x1
|
|
mov r9, r1
|
|
cmp r0, 0
|
|
beq _0800C446
|
|
adds r0, r4, 0
|
|
bl ResetBlockReceivedFlag
|
|
lsls r0, r4, 8
|
|
mov r2, r10
|
|
adds r3, r0, r2
|
|
ldr r1, _0800C46C @ =gBlockRecvBuffer + 0x4
|
|
adds r0, r1
|
|
ldrh r6, [r0]
|
|
ldr r7, _0800C470 @ =gTasks
|
|
ldr r2, _0800C474 @ =gUnknown_020238C5
|
|
mov r12, r2
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, r0, r7
|
|
movs r0, 0x24
|
|
ldrsh r1, [r2, r0]
|
|
adds r0, r6, 0
|
|
adds r0, 0x9
|
|
adds r1, r0
|
|
movs r0, 0x80
|
|
lsls r0, 5
|
|
cmp r1, r0
|
|
ble _0800C402
|
|
ldrh r0, [r2, 0x24]
|
|
strh r0, [r2, 0x20]
|
|
mov r2, r12
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r7
|
|
movs r1, 0
|
|
strh r1, [r0, 0x24]
|
|
_0800C402:
|
|
mov r2, r12
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r7
|
|
movs r2, 0x24
|
|
ldrsh r1, [r0, r2]
|
|
ldr r0, _0800C478 @ =0x02015000
|
|
adds r5, r1, r0
|
|
adds r4, r3, 0
|
|
movs r2, 0
|
|
adds r3, r6, 0
|
|
adds r3, 0x8
|
|
mov r8, r7
|
|
mov r7, r12
|
|
cmp r2, r3
|
|
bge _0800C434
|
|
_0800C426:
|
|
adds r0, r5, r2
|
|
adds r1, r4, r2
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, r3
|
|
blt _0800C426
|
|
_0800C434:
|
|
ldrb r0, [r7]
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
add r1, r8
|
|
ldrh r0, [r1, 0x24]
|
|
adds r0, r6, r0
|
|
adds r0, 0x8
|
|
strh r0, [r1, 0x24]
|
|
_0800C446:
|
|
mov r1, r9
|
|
lsls r0, r1, 24
|
|
lsrs r4, r0, 24
|
|
_0800C44C:
|
|
bl GetLinkPlayerCount
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r4, r0
|
|
bcc _0800C3A0
|
|
_0800C458:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800C468: .4byte gBitTable
|
|
_0800C46C: .4byte gBlockRecvBuffer + 0x4
|
|
_0800C470: .4byte gTasks
|
|
_0800C474: .4byte gUnknown_020238C5
|
|
_0800C478: .4byte 0x02015000
|
|
thumb_func_end sub_800C35C
|
|
|
|
thumb_func_start sub_800C47C
|
|
sub_800C47C: @ 800C47C
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
ldr r1, _0800C4FC @ =gTasks
|
|
lsls r0, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r3, r0, r1
|
|
movs r0, 0x26
|
|
ldrsh r2, [r3, r0]
|
|
movs r4, 0x24
|
|
ldrsh r0, [r3, r4]
|
|
adds r4, r1, 0
|
|
cmp r2, r0
|
|
bne _0800C4A4
|
|
b _0800C5FA
|
|
_0800C4A4:
|
|
cmp r2, r0
|
|
ble _0800C4B6
|
|
movs r1, 0x20
|
|
ldrsh r0, [r3, r1]
|
|
cmp r2, r0
|
|
bne _0800C4B6
|
|
movs r0, 0
|
|
strh r0, [r3, 0x20]
|
|
strh r0, [r3, 0x26]
|
|
_0800C4B6:
|
|
ldr r5, _0800C500 @ =0x02000000
|
|
mov r2, r8
|
|
lsls r1, r2, 2
|
|
adds r0, r1, r2
|
|
lsls r0, 3
|
|
adds r6, r0, r4
|
|
movs r4, 0x26
|
|
ldrsh r3, [r6, r4]
|
|
ldr r2, _0800C504 @ =0x00015001
|
|
adds r0, r3, r2
|
|
adds r0, r5
|
|
ldrb r4, [r0]
|
|
adds r2, 0x3
|
|
adds r0, r3, r2
|
|
adds r0, r5
|
|
ldrb r7, [r0]
|
|
adds r2, 0x1
|
|
adds r0, r3, r2
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
lsls r0, 8
|
|
orrs r7, r0
|
|
subs r2, 0x5
|
|
adds r0, r3, r2
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
mov r9, r1
|
|
cmp r0, 0x1
|
|
beq _0800C5B0
|
|
cmp r0, 0x1
|
|
bgt _0800C508
|
|
cmp r0, 0
|
|
beq _0800C50E
|
|
b _0800C5E8
|
|
.align 2, 0
|
|
_0800C4FC: .4byte gTasks
|
|
_0800C500: .4byte 0x02000000
|
|
_0800C504: .4byte 0x00015001
|
|
_0800C508:
|
|
cmp r0, 0x2
|
|
beq _0800C5CC
|
|
b _0800C5E8
|
|
_0800C50E:
|
|
ldr r2, _0800C588 @ =gUnknown_02024A64
|
|
ldr r1, _0800C58C @ =gBitTable
|
|
lsls r0, r4, 2
|
|
adds r0, r1
|
|
ldr r1, [r2]
|
|
ldr r0, [r0]
|
|
ands r1, r0
|
|
cmp r1, 0
|
|
bne _0800C5FA
|
|
lsls r0, r4, 9
|
|
ldr r1, _0800C590 @ =gUnknown_02023A60
|
|
adds r0, r1
|
|
ldr r2, _0800C594 @ =0x00015008
|
|
adds r1, r5, r2
|
|
adds r1, r3, r1
|
|
adds r2, r7, 0
|
|
bl memcpy
|
|
adds r0, r4, 0
|
|
bl sub_80155A4
|
|
ldr r0, _0800C598 @ =gUnknown_020239F8
|
|
ldrh r1, [r0]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0800C5E8
|
|
ldr r1, _0800C59C @ =gUnknown_02024C07
|
|
movs r4, 0x26
|
|
ldrsh r0, [r6, r4]
|
|
ldr r2, _0800C5A0 @ =0x00015002
|
|
adds r0, r2
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
ldr r1, _0800C5A4 @ =gUnknown_02024C08
|
|
movs r4, 0x26
|
|
ldrsh r0, [r6, r4]
|
|
adds r2, 0x1
|
|
adds r0, r2
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
ldr r1, _0800C5A8 @ =gUnknown_02024C0C
|
|
movs r4, 0x26
|
|
ldrsh r0, [r6, r4]
|
|
adds r2, 0x3
|
|
adds r0, r2
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
ldr r1, _0800C5AC @ =gUnknown_02024C0A
|
|
movs r4, 0x26
|
|
ldrsh r0, [r6, r4]
|
|
adds r2, 0x1
|
|
adds r0, r2
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
b _0800C5E8
|
|
.align 2, 0
|
|
_0800C588: .4byte gUnknown_02024A64
|
|
_0800C58C: .4byte gBitTable
|
|
_0800C590: .4byte gUnknown_02023A60
|
|
_0800C594: .4byte 0x00015008
|
|
_0800C598: .4byte gUnknown_020239F8
|
|
_0800C59C: .4byte gUnknown_02024C07
|
|
_0800C5A0: .4byte 0x00015002
|
|
_0800C5A4: .4byte gUnknown_02024C08
|
|
_0800C5A8: .4byte gUnknown_02024C0C
|
|
_0800C5AC: .4byte gUnknown_02024C0A
|
|
_0800C5B0:
|
|
lsls r0, r4, 9
|
|
ldr r1, _0800C5C4 @ =gUnknown_02024260
|
|
adds r0, r1
|
|
ldr r4, _0800C5C8 @ =0x00015008
|
|
adds r1, r5, r4
|
|
adds r1, r3, r1
|
|
adds r2, r7, 0
|
|
bl memcpy
|
|
b _0800C5E8
|
|
.align 2, 0
|
|
_0800C5C4: .4byte gUnknown_02024260
|
|
_0800C5C8: .4byte 0x00015008
|
|
_0800C5CC:
|
|
ldr r1, _0800C608 @ =0x00015008
|
|
adds r0, r3, r1
|
|
adds r0, r5
|
|
ldrb r2, [r0]
|
|
ldr r3, _0800C60C @ =gUnknown_02024A64
|
|
ldr r1, _0800C610 @ =gBitTable
|
|
lsls r0, r4, 2
|
|
adds r0, r1
|
|
lsls r2, 2
|
|
ldr r1, [r0]
|
|
lsls r1, r2
|
|
ldr r0, [r3]
|
|
bics r0, r1
|
|
str r0, [r3]
|
|
_0800C5E8:
|
|
ldr r0, _0800C614 @ =gTasks
|
|
mov r1, r9
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldrh r0, [r1, 0x26]
|
|
adds r0, r7, r0
|
|
adds r0, 0x8
|
|
strh r0, [r1, 0x26]
|
|
_0800C5FA:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800C608: .4byte 0x00015008
|
|
_0800C60C: .4byte gUnknown_02024A64
|
|
_0800C610: .4byte gBitTable
|
|
_0800C614: .4byte gTasks
|
|
thumb_func_end sub_800C47C
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x00_a_b_0
|
|
dp01_build_cmdbuf_x00_a_b_0: @ 800C618
|
|
push {r4,lr}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800C638 @ =gUnknown_03004040
|
|
movs r3, 0
|
|
strb r3, [r1]
|
|
strb r4, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r3, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800C638: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x00_a_b_0
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x01_a_b_0
|
|
dp01_build_cmdbuf_x01_a_b_0: @ 800C63C
|
|
push {r4,r5,lr}
|
|
adds r5, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800C660 @ =gUnknown_03004040
|
|
movs r4, 0
|
|
movs r3, 0x1
|
|
strb r3, [r1]
|
|
strb r5, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r4, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800C660: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x01_a_b_0
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x02_a_b_varargs
|
|
dp01_build_cmdbuf_x02_a_b_varargs: @ 800C664
|
|
push {r4-r6,lr}
|
|
ldr r4, [sp, 0x10]
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r3, 24
|
|
lsrs r5, r3, 24
|
|
ldr r0, _0800C6A0 @ =gUnknown_03004040
|
|
movs r3, 0x2
|
|
strb r3, [r0]
|
|
strb r1, [r0, 0x1]
|
|
strb r2, [r0, 0x2]
|
|
adds r1, r0, 0
|
|
cmp r5, 0
|
|
beq _0800C692
|
|
adds r3, r1, 0x3
|
|
adds r2, r5, 0
|
|
_0800C684:
|
|
ldrb r0, [r4]
|
|
strb r0, [r3]
|
|
adds r4, 0x1
|
|
adds r3, 0x1
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bne _0800C684
|
|
_0800C692:
|
|
adds r2, r5, 0x3
|
|
adds r0, r6, 0
|
|
bl dp01_prepare_buffer
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800C6A0: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x02_a_b_varargs
|
|
|
|
thumb_func_start unref_sub_800C6A4
|
|
unref_sub_800C6A4: @ 800C6A4
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r2, 24
|
|
lsrs r4, r2, 24
|
|
ldr r0, _0800C6E0 @ =gUnknown_03004040
|
|
movs r2, 0x3
|
|
strb r2, [r0]
|
|
strb r1, [r0, 0x1]
|
|
strb r4, [r0, 0x2]
|
|
adds r5, r0, 0
|
|
cmp r4, 0
|
|
beq _0800C6D0
|
|
adds r1, r5, 0x3
|
|
adds r2, r4, 0
|
|
_0800C6C2:
|
|
ldrb r0, [r3]
|
|
strb r0, [r1]
|
|
adds r3, 0x1
|
|
adds r1, 0x1
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bne _0800C6C2
|
|
_0800C6D0:
|
|
adds r2, r4, 0x3
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
bl dp01_prepare_buffer
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800C6E0: .4byte gUnknown_03004040
|
|
thumb_func_end unref_sub_800C6A4
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x04_4_4_4
|
|
dp01_build_cmdbuf_x04_4_4_4: @ 800C6E4
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800C700 @ =gUnknown_03004040
|
|
movs r2, 0x4
|
|
strb r2, [r1]
|
|
strb r2, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r2, [r1, 0x3]
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800C700: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x04_4_4_4
|
|
|
|
thumb_func_start sub_800C704
|
|
sub_800C704: @ 800C704
|
|
push {r4,lr}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800C724 @ =gUnknown_03004040
|
|
movs r3, 0x5
|
|
strb r3, [r1]
|
|
strb r4, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r3, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800C724: .4byte gUnknown_03004040
|
|
thumb_func_end sub_800C704
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x06_a
|
|
dp01_build_cmdbuf_x06_a: @ 800C728
|
|
push {lr}
|
|
adds r3, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800C744 @ =gUnknown_03004040
|
|
movs r2, 0x6
|
|
strb r2, [r1]
|
|
strb r3, [r1, 0x1]
|
|
movs r2, 0x2
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800C744: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x06_a
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x07_7_7_7
|
|
dp01_build_cmdbuf_x07_7_7_7: @ 800C748
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800C764 @ =gUnknown_03004040
|
|
movs r2, 0x7
|
|
strb r2, [r1]
|
|
strb r2, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800C764: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x07_7_7_7
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x08_8_8_8
|
|
dp01_build_cmdbuf_x08_8_8_8: @ 800C768
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800C784 @ =gUnknown_03004040
|
|
movs r2, 0x8
|
|
strb r2, [r1]
|
|
strb r2, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800C784: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x08_8_8_8
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x09_9_9_9
|
|
dp01_build_cmdbuf_x09_9_9_9: @ 800C788
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800C7A4 @ =gUnknown_03004040
|
|
movs r2, 0x9
|
|
strb r2, [r1]
|
|
strb r2, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800C7A4: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x09_9_9_9
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x0A_A_A_A
|
|
dp01_build_cmdbuf_x0A_A_A_A: @ 800C7A8
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800C7C4 @ =gUnknown_03004040
|
|
movs r2, 0xA
|
|
strb r2, [r1]
|
|
strb r2, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800C7C4: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x0A_A_A_A
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x0B_B_B_B
|
|
dp01_build_cmdbuf_x0B_B_B_B: @ 800C7C8
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800C7E4 @ =gUnknown_03004040
|
|
movs r2, 0xB
|
|
strb r2, [r1]
|
|
strb r2, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800C7E4: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x0B_B_B_B
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x0C_C_C_C
|
|
dp01_build_cmdbuf_x0C_C_C_C: @ 800C7E8
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800C804 @ =gUnknown_03004040
|
|
movs r2, 0xC
|
|
strb r2, [r1]
|
|
strb r2, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800C804: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x0C_C_C_C
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x0D_a
|
|
dp01_build_cmdbuf_x0D_a: @ 800C808
|
|
push {lr}
|
|
adds r3, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800C824 @ =gUnknown_03004040
|
|
movs r2, 0xD
|
|
strb r2, [r1]
|
|
strb r3, [r1, 0x1]
|
|
movs r2, 0x2
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800C824: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x0D_a
|
|
|
|
thumb_func_start unref_sub_800C828
|
|
unref_sub_800C828: @ 800C828
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
ldr r1, _0800C86C @ =gUnknown_03004040
|
|
movs r0, 0xE
|
|
strb r0, [r1]
|
|
strb r4, [r1, 0x1]
|
|
lsls r0, r4, 1
|
|
adds r0, r4
|
|
adds r5, r1, 0
|
|
cmp r0, 0
|
|
beq _0800C856
|
|
adds r1, r5, 0x2
|
|
adds r3, r0, 0
|
|
_0800C848:
|
|
ldrb r0, [r2]
|
|
strb r0, [r1]
|
|
adds r2, 0x1
|
|
adds r1, 0x1
|
|
subs r3, 0x1
|
|
cmp r3, 0
|
|
bne _0800C848
|
|
_0800C856:
|
|
lsls r2, r4, 1
|
|
adds r2, r4
|
|
adds r2, 0x2
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
bl dp01_prepare_buffer
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800C86C: .4byte gUnknown_03004040
|
|
thumb_func_end unref_sub_800C828
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x0F_aa_b_cc_dddd_e_mlc_weather_00_x1Cbytes
|
|
dp01_build_cmdbuf_x0F_aa_b_cc_dddd_e_mlc_weather_00_x1Cbytes: @ 800C870
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x4
|
|
ldr r4, [sp, 0x1C]
|
|
ldr r5, [sp, 0x20]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
lsls r3, 16
|
|
lsrs r3, 16
|
|
ldr r7, _0800C904 @ =gUnknown_03004040
|
|
movs r0, 0
|
|
mov r12, r0
|
|
movs r0, 0xF
|
|
strb r0, [r7]
|
|
strb r1, [r7, 0x1]
|
|
lsrs r1, 8
|
|
strb r1, [r7, 0x2]
|
|
strb r2, [r7, 0x3]
|
|
strb r3, [r7, 0x4]
|
|
movs r6, 0xFF
|
|
lsls r6, 8
|
|
lsrs r3, 8
|
|
strb r3, [r7, 0x5]
|
|
strb r4, [r7, 0x6]
|
|
adds r0, r4, 0
|
|
ands r0, r6
|
|
asrs r0, 8
|
|
strb r0, [r7, 0x7]
|
|
movs r0, 0xFF
|
|
lsls r0, 16
|
|
ands r0, r4
|
|
asrs r0, 16
|
|
strb r0, [r7, 0x8]
|
|
lsrs r4, 24
|
|
strb r4, [r7, 0x9]
|
|
strb r5, [r7, 0xA]
|
|
ldr r0, _0800C908 @ =gUnknown_02024C0E
|
|
ldrb r0, [r0]
|
|
strb r0, [r7, 0xB]
|
|
mov r0, r12
|
|
str r0, [sp]
|
|
movs r0, 0xE
|
|
movs r1, 0
|
|
movs r2, 0xD
|
|
movs r3, 0
|
|
bl sub_8018324
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
bne _0800C910
|
|
str r0, [sp]
|
|
movs r0, 0xE
|
|
movs r1, 0
|
|
movs r2, 0x4D
|
|
movs r3, 0
|
|
bl sub_8018324
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0800C910
|
|
ldr r0, _0800C90C @ =word_2024DB8
|
|
ldrh r0, [r0]
|
|
strb r0, [r7, 0xC]
|
|
ands r6, r0
|
|
lsrs r0, r6, 8
|
|
strb r0, [r7, 0xD]
|
|
adds r4, r7, 0
|
|
b _0800C91A
|
|
.align 2, 0
|
|
_0800C904: .4byte gUnknown_03004040
|
|
_0800C908: .4byte gUnknown_02024C0E
|
|
_0800C90C: .4byte word_2024DB8
|
|
_0800C910:
|
|
ldr r0, _0800C944 @ =gUnknown_03004040
|
|
movs r1, 0
|
|
strb r1, [r0, 0xC]
|
|
strb r1, [r0, 0xD]
|
|
adds r4, r0, 0
|
|
_0800C91A:
|
|
movs r0, 0
|
|
strb r0, [r4, 0xE]
|
|
strb r0, [r4, 0xF]
|
|
adds r0, r4, 0
|
|
adds r0, 0x10
|
|
ldr r1, [sp, 0x24]
|
|
movs r2, 0x1C
|
|
bl memcpy
|
|
mov r0, r8
|
|
adds r1, r4, 0
|
|
movs r2, 0x2C
|
|
bl dp01_prepare_buffer
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800C944: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x0F_aa_b_cc_dddd_e_mlc_weather_00_x1Cbytes
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x10_TODO
|
|
dp01_build_cmdbuf_x10_TODO: @ 800C948
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r10, r0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
ldr r2, _0800CA2C @ =gUnknown_03004040
|
|
movs r0, 0x10
|
|
strb r0, [r2]
|
|
ldr r0, _0800CA30 @ =gUnknown_02024D26
|
|
ldrb r0, [r0]
|
|
strb r0, [r2, 0x1]
|
|
strb r1, [r2, 0x2]
|
|
lsrs r1, 8
|
|
strb r1, [r2, 0x3]
|
|
adds r0, r2, 0x4
|
|
mov r12, r0
|
|
ldr r4, _0800CA34 @ =gUnknown_02024BE6
|
|
ldrh r0, [r4]
|
|
strh r0, [r2, 0x4]
|
|
ldr r0, _0800CA38 @ =gUnknown_02024BE8
|
|
ldrh r0, [r0]
|
|
mov r1, r12
|
|
strh r0, [r1, 0x2]
|
|
ldr r0, _0800CA3C @ =gUnknown_02024C04
|
|
ldrh r0, [r0]
|
|
strh r0, [r1, 0x4]
|
|
ldr r0, _0800CA40 @ =byte_2024C06
|
|
ldrb r0, [r0]
|
|
strb r0, [r1, 0x6]
|
|
ldr r1, _0800CA44 @ =0x02000000
|
|
ldr r3, _0800CA48 @ =0x00016003
|
|
adds r0, r1, r3
|
|
ldrb r0, [r0]
|
|
mov r7, r12
|
|
strb r0, [r7, 0x7]
|
|
adds r3, 0x5B
|
|
adds r0, r1, r3
|
|
ldrb r0, [r0]
|
|
strb r0, [r7, 0x8]
|
|
ldr r7, _0800CA4C @ =0x000160c1
|
|
adds r1, r7
|
|
ldrb r0, [r1]
|
|
mov r1, r12
|
|
strb r0, [r1, 0x9]
|
|
ldr r0, _0800CA50 @ =gUnknown_02024C0B
|
|
ldrb r0, [r0]
|
|
strb r0, [r1, 0xA]
|
|
ldr r3, _0800CA54 @ =gBattleMoves
|
|
ldrh r1, [r4]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r3
|
|
ldrb r0, [r0, 0x2]
|
|
mov r3, r12
|
|
strb r0, [r3, 0xB]
|
|
movs r3, 0
|
|
mov r9, r2
|
|
ldr r7, _0800CA58 @ =gUnknown_030042B0
|
|
mov r8, r7
|
|
adds r2, 0x10
|
|
ldr r0, _0800CA5C @ =gBattleMons
|
|
adds r4, r0, 0
|
|
adds r4, 0x20
|
|
_0800C9D2:
|
|
adds r1, r2, r3
|
|
ldrb r0, [r4]
|
|
strb r0, [r1]
|
|
adds r4, 0x58
|
|
adds r3, 0x1
|
|
cmp r3, 0x3
|
|
ble _0800C9D2
|
|
movs r3, 0
|
|
mov r5, r12
|
|
adds r5, 0x10
|
|
mov r4, r12
|
|
adds r4, 0x20
|
|
ldr r6, _0800CA60 @ =gUnknown_03004290
|
|
mov r2, r12
|
|
adds r2, 0x30
|
|
_0800C9F0:
|
|
adds r1, r5, r3
|
|
ldr r7, _0800CA64 @ =gUnknown_030041C0
|
|
adds r0, r3, r7
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r1, r4, r3
|
|
adds r0, r3, r6
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r1, r2, r3
|
|
mov r7, r8
|
|
adds r0, r3, r7
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r3, 0x1
|
|
cmp r3, 0xF
|
|
ble _0800C9F0
|
|
mov r0, r10
|
|
mov r1, r9
|
|
movs r2, 0x44
|
|
bl dp01_prepare_buffer
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CA2C: .4byte gUnknown_03004040
|
|
_0800CA30: .4byte gUnknown_02024D26
|
|
_0800CA34: .4byte gUnknown_02024BE6
|
|
_0800CA38: .4byte gUnknown_02024BE8
|
|
_0800CA3C: .4byte gUnknown_02024C04
|
|
_0800CA40: .4byte byte_2024C06
|
|
_0800CA44: .4byte 0x02000000
|
|
_0800CA48: .4byte 0x00016003
|
|
_0800CA4C: .4byte 0x000160c1
|
|
_0800CA50: .4byte gUnknown_02024C0B
|
|
_0800CA54: .4byte gBattleMoves
|
|
_0800CA58: .4byte gUnknown_030042B0
|
|
_0800CA5C: .4byte gBattleMons
|
|
_0800CA60: .4byte gUnknown_03004290
|
|
_0800CA64: .4byte gUnknown_030041C0
|
|
thumb_func_end dp01_build_cmdbuf_x10_TODO
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x11_TODO
|
|
dp01_build_cmdbuf_x11_TODO: @ 800CA68
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r10, r0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
ldr r2, _0800CB28 @ =gUnknown_03004040
|
|
movs r0, 0x11
|
|
strb r0, [r2]
|
|
strb r0, [r2, 0x1]
|
|
strb r1, [r2, 0x2]
|
|
lsrs r1, 8
|
|
strb r1, [r2, 0x3]
|
|
adds r0, r2, 0x4
|
|
mov r12, r0
|
|
ldr r0, _0800CB2C @ =gUnknown_02024BE6
|
|
ldrh r0, [r0]
|
|
strh r0, [r2, 0x4]
|
|
ldr r0, _0800CB30 @ =gUnknown_02024BE8
|
|
ldrh r0, [r0]
|
|
mov r1, r12
|
|
strh r0, [r1, 0x2]
|
|
ldr r0, _0800CB34 @ =gUnknown_02024C04
|
|
ldrh r0, [r0]
|
|
strh r0, [r1, 0x4]
|
|
ldr r0, _0800CB38 @ =byte_2024C06
|
|
ldrb r0, [r0]
|
|
strb r0, [r1, 0x6]
|
|
ldr r0, _0800CB3C @ =0x02000000
|
|
ldr r3, _0800CB40 @ =0x00016003
|
|
adds r1, r0, r3
|
|
ldrb r1, [r1]
|
|
mov r7, r12
|
|
strb r1, [r7, 0x7]
|
|
ldr r1, _0800CB44 @ =0x0001605e
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
strb r0, [r7, 0x8]
|
|
movs r3, 0
|
|
mov r9, r2
|
|
ldr r7, _0800CB48 @ =gUnknown_030042B0
|
|
mov r8, r7
|
|
mov r4, r9
|
|
adds r4, 0x10
|
|
ldr r0, _0800CB4C @ =gBattleMons
|
|
adds r2, r0, 0
|
|
adds r2, 0x20
|
|
_0800CACE:
|
|
adds r1, r4, r3
|
|
ldrb r0, [r2]
|
|
strb r0, [r1]
|
|
adds r2, 0x58
|
|
adds r3, 0x1
|
|
cmp r3, 0x3
|
|
ble _0800CACE
|
|
movs r3, 0
|
|
mov r5, r12
|
|
adds r5, 0x10
|
|
mov r4, r12
|
|
adds r4, 0x20
|
|
ldr r6, _0800CB50 @ =gUnknown_03004290
|
|
mov r2, r12
|
|
adds r2, 0x30
|
|
_0800CAEC:
|
|
adds r1, r5, r3
|
|
ldr r7, _0800CB54 @ =gUnknown_030041C0
|
|
adds r0, r3, r7
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r1, r4, r3
|
|
adds r0, r3, r6
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r1, r2, r3
|
|
mov r7, r8
|
|
adds r0, r3, r7
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r3, 0x1
|
|
cmp r3, 0xF
|
|
ble _0800CAEC
|
|
mov r0, r10
|
|
mov r1, r9
|
|
movs r2, 0x44
|
|
bl dp01_prepare_buffer
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CB28: .4byte gUnknown_03004040
|
|
_0800CB2C: .4byte gUnknown_02024BE6
|
|
_0800CB30: .4byte gUnknown_02024BE8
|
|
_0800CB34: .4byte gUnknown_02024C04
|
|
_0800CB38: .4byte byte_2024C06
|
|
_0800CB3C: .4byte 0x02000000
|
|
_0800CB40: .4byte 0x00016003
|
|
_0800CB44: .4byte 0x0001605e
|
|
_0800CB48: .4byte gUnknown_030042B0
|
|
_0800CB4C: .4byte gBattleMons
|
|
_0800CB50: .4byte gUnknown_03004290
|
|
_0800CB54: .4byte gUnknown_030041C0
|
|
thumb_func_end dp01_build_cmdbuf_x11_TODO
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x12_a_bb
|
|
dp01_build_cmdbuf_x12_a_bb: @ 800CB58
|
|
push {r4,lr}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
ldr r1, _0800CB80 @ =gUnknown_03004040
|
|
movs r3, 0x12
|
|
strb r3, [r1]
|
|
strb r4, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
lsrs r2, 8
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CB80: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x12_a_bb
|
|
|
|
thumb_func_start unref_sub_800CB84
|
|
unref_sub_800CB84: @ 800CB84
|
|
push {lr}
|
|
adds r3, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800CBA0 @ =gUnknown_03004040
|
|
movs r2, 0x13
|
|
strb r2, [r1]
|
|
strb r3, [r1, 0x1]
|
|
movs r2, 0x2
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CBA0: .4byte gUnknown_03004040
|
|
thumb_func_end unref_sub_800CB84
|
|
|
|
thumb_func_start sub_800CBA4
|
|
sub_800CBA4: @ 800CBA4
|
|
push {r4-r6,lr}
|
|
adds r5, r3, 0
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
ldr r3, _0800CBDC @ =gUnknown_03004040
|
|
movs r4, 0
|
|
movs r0, 0x14
|
|
strb r0, [r3]
|
|
strb r1, [r3, 0x1]
|
|
strb r2, [r3, 0x2]
|
|
strb r4, [r3, 0x3]
|
|
movs r2, 0
|
|
adds r1, r3, 0
|
|
adds r4, r1, 0x4
|
|
_0800CBC0:
|
|
adds r0, r5, r2
|
|
ldrb r0, [r0]
|
|
strb r0, [r4]
|
|
adds r4, 0x1
|
|
adds r2, 0x1
|
|
cmp r2, 0x13
|
|
bls _0800CBC0
|
|
adds r0, r6, 0
|
|
movs r2, 0x18
|
|
bl dp01_prepare_buffer
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CBDC: .4byte gUnknown_03004040
|
|
thumb_func_end sub_800CBA4
|
|
|
|
thumb_func_start sub_800CBE0
|
|
sub_800CBE0: @ 800CBE0
|
|
push {r4,r5,lr}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r1, _0800CC10 @ =gUnknown_03004040
|
|
movs r0, 0x15
|
|
strb r0, [r1]
|
|
movs r2, 0
|
|
adds r3, r1, 0x1
|
|
_0800CBF2:
|
|
adds r0, r4, r2
|
|
ldrb r0, [r0]
|
|
strb r0, [r3]
|
|
adds r3, 0x1
|
|
adds r2, 0x1
|
|
cmp r2, 0x2
|
|
ble _0800CBF2
|
|
adds r0, r5, 0
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CC10: .4byte gUnknown_03004040
|
|
thumb_func_end sub_800CBE0
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x16_a_b_c_ptr_d_e_f
|
|
dp01_build_cmdbuf_x16_a_b_c_ptr_d_e_f: @ 800CC14
|
|
push {r4-r6,lr}
|
|
ldr r6, [sp, 0x10]
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r4, _0800CC4C @ =gUnknown_03004040
|
|
movs r0, 0x16
|
|
strb r0, [r4]
|
|
strb r1, [r4, 0x1]
|
|
strb r2, [r4, 0x2]
|
|
strb r3, [r4, 0x3]
|
|
movs r2, 0
|
|
adds r1, r4, 0
|
|
adds r3, r1, 0x4
|
|
_0800CC2E:
|
|
adds r0, r6, r2
|
|
ldrb r0, [r0]
|
|
strb r0, [r3]
|
|
adds r3, 0x1
|
|
adds r2, 0x1
|
|
cmp r2, 0x2
|
|
ble _0800CC2E
|
|
adds r0, r5, 0
|
|
movs r2, 0x8
|
|
bl dp01_prepare_buffer
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CC4C: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x16_a_b_c_ptr_d_e_f
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x17_17_17_17
|
|
dp01_build_cmdbuf_x17_17_17_17: @ 800CC50
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800CC6C @ =gUnknown_03004040
|
|
movs r2, 0x17
|
|
strb r2, [r1]
|
|
strb r2, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CC6C: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x17_17_17_17
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x18_0_aa_health_bar_update
|
|
dp01_build_cmdbuf_x18_0_aa_health_bar_update: @ 800CC70
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
ldr r3, _0800CCA4 @ =gUnknown_03004040
|
|
movs r4, 0
|
|
movs r2, 0x18
|
|
strb r2, [r3]
|
|
strb r4, [r3, 0x1]
|
|
strb r1, [r3, 0x2]
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
movs r2, 0xFF
|
|
lsls r2, 8
|
|
ands r1, r2
|
|
asrs r1, 8
|
|
strb r1, [r3, 0x3]
|
|
adds r1, r3, 0
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CCA4: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x18_0_aa_health_bar_update
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x19_a_bb
|
|
dp01_build_cmdbuf_x19_a_bb: @ 800CCA8
|
|
push {r4,lr}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
ldr r1, _0800CCD8 @ =gUnknown_03004040
|
|
movs r3, 0x19
|
|
strb r3, [r1]
|
|
strb r4, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
lsls r2, 16
|
|
asrs r2, 16
|
|
movs r3, 0xFF
|
|
lsls r3, 8
|
|
ands r2, r3
|
|
asrs r2, 8
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CCD8: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x19_a_bb
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x1A_aaaa_bbbb
|
|
dp01_build_cmdbuf_x1A_aaaa_bbbb: @ 800CCDC
|
|
push {r4-r6,lr}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800CD2C @ =gUnknown_03004040
|
|
movs r3, 0x1A
|
|
strb r3, [r1]
|
|
strb r4, [r1, 0x1]
|
|
movs r6, 0xFF
|
|
lsls r6, 8
|
|
adds r3, r4, 0
|
|
ands r3, r6
|
|
lsrs r3, 8
|
|
strb r3, [r1, 0x2]
|
|
movs r5, 0xFF
|
|
lsls r5, 16
|
|
adds r3, r4, 0
|
|
ands r3, r5
|
|
lsrs r3, 16
|
|
strb r3, [r1, 0x3]
|
|
lsrs r4, 24
|
|
strb r4, [r1, 0x4]
|
|
strb r2, [r1, 0x5]
|
|
adds r3, r2, 0
|
|
ands r3, r6
|
|
lsrs r3, 8
|
|
strb r3, [r1, 0x6]
|
|
adds r3, r2, 0
|
|
ands r3, r5
|
|
lsrs r3, 16
|
|
strb r3, [r1, 0x7]
|
|
lsrs r2, 24
|
|
strb r2, [r1, 0x8]
|
|
movs r2, 0x9
|
|
bl dp01_prepare_buffer
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CD2C: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x1A_aaaa_bbbb
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x1B_aaaa_b
|
|
dp01_build_cmdbuf_x1B_aaaa_b: @ 800CD30
|
|
push {r4,lr}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800CD68 @ =gUnknown_03004040
|
|
movs r3, 0x1B
|
|
strb r3, [r1]
|
|
strb r4, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
movs r3, 0xFF
|
|
lsls r3, 8
|
|
ands r3, r2
|
|
lsrs r3, 8
|
|
strb r3, [r1, 0x3]
|
|
movs r3, 0xFF
|
|
lsls r3, 16
|
|
ands r3, r2
|
|
lsrs r3, 16
|
|
strb r3, [r1, 0x4]
|
|
lsrs r2, 24
|
|
strb r2, [r1, 0x5]
|
|
movs r2, 0x6
|
|
bl dp01_prepare_buffer
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CD68: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x1B_aaaa_b
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x1C_a
|
|
dp01_build_cmdbuf_x1C_a: @ 800CD6C
|
|
push {lr}
|
|
adds r3, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800CD88 @ =gUnknown_03004040
|
|
movs r2, 0x1C
|
|
strb r2, [r1]
|
|
strb r3, [r1, 0x1]
|
|
movs r2, 0x2
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CD88: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x1C_a
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x1D_1D_numargs_varargs
|
|
dp01_build_cmdbuf_x1D_1D_numargs_varargs: @ 800CD8C
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 16
|
|
lsrs r4, r1, 16
|
|
ldr r1, _0800CDD0 @ =gUnknown_03004040
|
|
movs r0, 0x1D
|
|
strb r0, [r1]
|
|
strb r0, [r1, 0x1]
|
|
strb r4, [r1, 0x2]
|
|
lsrs r0, r4, 8
|
|
strb r0, [r1, 0x3]
|
|
adds r5, r1, 0
|
|
cmp r4, 0
|
|
beq _0800CDBC
|
|
adds r1, r5, 0x4
|
|
adds r3, r4, 0
|
|
_0800CDAE:
|
|
ldrb r0, [r2]
|
|
strb r0, [r1]
|
|
adds r2, 0x1
|
|
adds r1, 0x1
|
|
subs r3, 0x1
|
|
cmp r3, 0
|
|
bne _0800CDAE
|
|
_0800CDBC:
|
|
adds r2, r4, 0x4
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
bl dp01_prepare_buffer
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CDD0: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x1D_1D_numargs_varargs
|
|
|
|
thumb_func_start unref_sub_800CDD4
|
|
unref_sub_800CDD4: @ 800CDD4
|
|
push {r4-r6,lr}
|
|
adds r4, r3, 0
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r2, 16
|
|
lsrs r5, r2, 16
|
|
ldr r2, _0800CE38 @ =gUnknown_03004040
|
|
movs r0, 0x1E
|
|
strb r0, [r2]
|
|
strb r1, [r2, 0x1]
|
|
movs r3, 0xFF
|
|
lsls r3, 8
|
|
adds r0, r1, 0
|
|
ands r0, r3
|
|
lsrs r0, 8
|
|
strb r0, [r2, 0x2]
|
|
movs r0, 0xFF
|
|
lsls r0, 16
|
|
ands r0, r1
|
|
lsrs r0, 16
|
|
strb r0, [r2, 0x3]
|
|
lsrs r1, 24
|
|
strb r1, [r2, 0x4]
|
|
strb r5, [r2, 0x5]
|
|
adds r0, r5, 0
|
|
ands r0, r3
|
|
lsrs r0, 8
|
|
strb r0, [r2, 0x6]
|
|
adds r1, r2, 0
|
|
cmp r5, 0
|
|
beq _0800CE24
|
|
adds r3, r1, 0x7
|
|
adds r2, r5, 0
|
|
_0800CE16:
|
|
ldrb r0, [r4]
|
|
strb r0, [r3]
|
|
adds r4, 0x1
|
|
adds r3, 0x1
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bne _0800CE16
|
|
_0800CE24:
|
|
adds r2, r5, 0x7
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
adds r0, r6, 0
|
|
bl dp01_prepare_buffer
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CE38: .4byte gUnknown_03004040
|
|
thumb_func_end unref_sub_800CDD4
|
|
|
|
thumb_func_start unref_sub_800CE3C
|
|
unref_sub_800CE3C: @ 800CE3C
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 16
|
|
lsrs r4, r1, 16
|
|
ldr r1, _0800CE80 @ =gUnknown_03004040
|
|
movs r0, 0x1F
|
|
strb r0, [r1]
|
|
strb r4, [r1, 0x1]
|
|
lsrs r0, r4, 8
|
|
strb r0, [r1, 0x2]
|
|
adds r5, r1, 0
|
|
cmp r4, 0
|
|
beq _0800CE6A
|
|
adds r1, r5, 0x3
|
|
adds r3, r4, 0
|
|
_0800CE5C:
|
|
ldrb r0, [r2]
|
|
strb r0, [r1]
|
|
adds r2, 0x1
|
|
adds r1, 0x1
|
|
subs r3, 0x1
|
|
cmp r3, 0
|
|
bne _0800CE5C
|
|
_0800CE6A:
|
|
adds r2, r4, 0x3
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
bl dp01_prepare_buffer
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CE80: .4byte gUnknown_03004040
|
|
thumb_func_end unref_sub_800CE3C
|
|
|
|
thumb_func_start unref_sub_800CE84
|
|
unref_sub_800CE84: @ 800CE84
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 16
|
|
lsrs r4, r1, 16
|
|
ldr r1, _0800CEC8 @ =gUnknown_03004040
|
|
movs r0, 0x20
|
|
strb r0, [r1]
|
|
strb r4, [r1, 0x1]
|
|
lsrs r0, r4, 8
|
|
strb r0, [r1, 0x2]
|
|
adds r5, r1, 0
|
|
cmp r4, 0
|
|
beq _0800CEB2
|
|
adds r1, r5, 0x3
|
|
adds r3, r4, 0
|
|
_0800CEA4:
|
|
ldrb r0, [r2]
|
|
strb r0, [r1]
|
|
adds r2, 0x1
|
|
adds r1, 0x1
|
|
subs r3, 0x1
|
|
cmp r3, 0
|
|
bne _0800CEA4
|
|
_0800CEB2:
|
|
adds r2, r4, 0x3
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
bl dp01_prepare_buffer
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CEC8: .4byte gUnknown_03004040
|
|
thumb_func_end unref_sub_800CE84
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x21_a_bb
|
|
dp01_build_cmdbuf_x21_a_bb: @ 800CECC
|
|
push {r4,lr}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
ldr r1, _0800CEF4 @ =gUnknown_03004040
|
|
movs r3, 0x21
|
|
strb r3, [r1]
|
|
strb r4, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
lsrs r2, 8
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CEF4: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x21_a_bb
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x22_a_three_bytes
|
|
dp01_build_cmdbuf_x22_a_three_bytes: @ 800CEF8
|
|
push {r4,r5,lr}
|
|
adds r4, r2, 0
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r2, _0800CF2C @ =gUnknown_03004040
|
|
movs r0, 0x22
|
|
strb r0, [r2]
|
|
strb r1, [r2, 0x1]
|
|
movs r3, 0
|
|
adds r1, r2, 0x2
|
|
_0800CF0C:
|
|
adds r0, r4, r3
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
adds r3, 0x1
|
|
cmp r3, 0x2
|
|
ble _0800CF0C
|
|
adds r0, r5, 0
|
|
adds r1, r2, 0
|
|
movs r2, 0x5
|
|
bl dp01_prepare_buffer
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CF2C: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x22_a_three_bytes
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x23_aa_0
|
|
dp01_build_cmdbuf_x23_aa_0: @ 800CF30
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
ldr r3, _0800CF58 @ =gUnknown_03004040
|
|
movs r4, 0
|
|
movs r2, 0x23
|
|
strb r2, [r3]
|
|
strb r1, [r3, 0x1]
|
|
lsrs r1, 8
|
|
strb r1, [r3, 0x2]
|
|
strb r4, [r3, 0x3]
|
|
adds r1, r3, 0
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CF58: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x23_aa_0
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x24_aa_0
|
|
dp01_build_cmdbuf_x24_aa_0: @ 800CF5C
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
ldr r3, _0800CF84 @ =gUnknown_03004040
|
|
movs r4, 0
|
|
movs r2, 0x24
|
|
strb r2, [r3]
|
|
strb r1, [r3, 0x1]
|
|
lsrs r1, 8
|
|
strb r1, [r3, 0x2]
|
|
strb r4, [r3, 0x3]
|
|
adds r1, r3, 0
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CF84: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x24_aa_0
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x25_25_25_25
|
|
dp01_build_cmdbuf_x25_25_25_25: @ 800CF88
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800CFA4 @ =gUnknown_03004040
|
|
movs r2, 0x25
|
|
strb r2, [r1]
|
|
strb r2, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CFA4: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x25_25_25_25
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x26_a
|
|
dp01_build_cmdbuf_x26_a: @ 800CFA8
|
|
push {lr}
|
|
adds r3, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800CFC4 @ =gUnknown_03004040
|
|
movs r2, 0x26
|
|
strb r2, [r1]
|
|
strb r3, [r1, 0x1]
|
|
movs r2, 0x2
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CFC4: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x26_a
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x27_27_27_27
|
|
dp01_build_cmdbuf_x27_27_27_27: @ 800CFC8
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800CFE4 @ =gUnknown_03004040
|
|
movs r2, 0x27
|
|
strb r2, [r1]
|
|
strb r2, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800CFE4: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x27_27_27_27
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x28_28_28_28
|
|
dp01_build_cmdbuf_x28_28_28_28: @ 800CFE8
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800D004 @ =gUnknown_03004040
|
|
movs r2, 0x28
|
|
strb r2, [r1]
|
|
strb r2, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800D004: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x28_28_28_28
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x29_29_29_29
|
|
dp01_build_cmdbuf_x29_29_29_29: @ 800D008
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800D024 @ =gUnknown_03004040
|
|
movs r2, 0x29
|
|
strb r2, [r1]
|
|
strb r2, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800D024: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x29_29_29_29
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x2A_2A_2A_2A
|
|
dp01_build_cmdbuf_x2A_2A_2A_2A: @ 800D028
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800D044 @ =gUnknown_03004040
|
|
movs r2, 0x2A
|
|
strb r2, [r1]
|
|
strb r2, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800D044: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x2A_2A_2A_2A
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x2B_aa_0
|
|
dp01_build_cmdbuf_x2B_aa_0: @ 800D048
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
ldr r3, _0800D070 @ =gUnknown_03004040
|
|
movs r4, 0
|
|
movs r2, 0x2B
|
|
strb r2, [r3]
|
|
strb r1, [r3, 0x1]
|
|
lsrs r1, 8
|
|
strb r1, [r3, 0x2]
|
|
strb r4, [r3, 0x3]
|
|
adds r1, r3, 0
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800D070: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x2B_aa_0
|
|
|
|
thumb_func_start sub_800D074
|
|
sub_800D074: @ 800D074
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
ldr r3, _0800D09C @ =gUnknown_03004040
|
|
movs r4, 0
|
|
movs r2, 0x2C
|
|
strb r2, [r3]
|
|
strb r1, [r3, 0x1]
|
|
lsrs r1, 8
|
|
strb r1, [r3, 0x2]
|
|
strb r4, [r3, 0x3]
|
|
adds r1, r3, 0
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800D09C: .4byte gUnknown_03004040
|
|
thumb_func_end sub_800D074
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x2D_2D_2D_2D
|
|
dp01_build_cmdbuf_x2D_2D_2D_2D: @ 800D0A0
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800D0BC @ =gUnknown_03004040
|
|
movs r2, 0x2D
|
|
strb r2, [r1]
|
|
strb r2, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800D0BC: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x2D_2D_2D_2D
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x2E_a
|
|
dp01_build_cmdbuf_x2E_a: @ 800D0C0
|
|
push {lr}
|
|
adds r3, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800D0DC @ =gUnknown_03004040
|
|
movs r2, 0x2E
|
|
strb r2, [r1]
|
|
strb r3, [r1, 0x1]
|
|
movs r2, 0x2
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800D0DC: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x2E_a
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x2F_2F_2F_2F
|
|
dp01_build_cmdbuf_x2F_2F_2F_2F: @ 800D0E0
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800D0FC @ =gUnknown_03004040
|
|
movs r2, 0x2F
|
|
strb r2, [r1]
|
|
strb r2, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800D0FC: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x2F_2F_2F_2F
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x30_TODO
|
|
dp01_build_cmdbuf_x30_TODO: @ 800D100
|
|
push {r4,r5,lr}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
ldr r1, _0800D144 @ =gUnknown_03004040
|
|
movs r3, 0x30
|
|
strb r3, [r1]
|
|
movs r0, 0x7F
|
|
ands r0, r2
|
|
strb r0, [r1, 0x1]
|
|
movs r0, 0x80
|
|
ands r0, r2
|
|
lsls r0, 24
|
|
lsrs r0, 31
|
|
strb r0, [r1, 0x2]
|
|
strb r3, [r1, 0x3]
|
|
movs r2, 0
|
|
adds r3, r1, 0x4
|
|
_0800D128:
|
|
adds r0, r4, r2
|
|
ldrb r0, [r0]
|
|
strb r0, [r3]
|
|
adds r3, 0x1
|
|
adds r2, 0x1
|
|
cmp r2, 0x2F
|
|
ble _0800D128
|
|
adds r0, r5, 0
|
|
movs r2, 0x34
|
|
bl dp01_prepare_buffer
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800D144: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x30_TODO
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x31_31_31_31
|
|
dp01_build_cmdbuf_x31_31_31_31: @ 800D148
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800D164 @ =gUnknown_03004040
|
|
movs r2, 0x31
|
|
strb r2, [r1]
|
|
strb r2, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800D164: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x31_31_31_31
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x32_32_32_32
|
|
dp01_build_cmdbuf_x32_32_32_32: @ 800D168
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800D184 @ =gUnknown_03004040
|
|
movs r2, 0x32
|
|
strb r2, [r1]
|
|
strb r2, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800D184: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x32_32_32_32
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x33_a_33_33
|
|
dp01_build_cmdbuf_x33_a_33_33: @ 800D188
|
|
push {lr}
|
|
adds r3, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800D1A8 @ =gUnknown_03004040
|
|
movs r2, 0x33
|
|
strb r2, [r1]
|
|
strb r3, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800D1A8: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x33_a_33_33
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x34_a_bb_aka_battle_anim
|
|
dp01_build_cmdbuf_x34_a_bb_aka_battle_anim: @ 800D1AC
|
|
push {r4,lr}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
ldr r1, _0800D1D4 @ =gUnknown_03004040
|
|
movs r3, 0x34
|
|
strb r3, [r1]
|
|
strb r4, [r1, 0x1]
|
|
strb r2, [r1, 0x2]
|
|
lsrs r2, 8
|
|
strb r2, [r1, 0x3]
|
|
movs r2, 0x4
|
|
bl dp01_prepare_buffer
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800D1D4: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x34_a_bb_aka_battle_anim
|
|
|
|
thumb_func_start sub_800D1D8
|
|
sub_800D1D8: @ 800D1D8
|
|
push {lr}
|
|
adds r3, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800D1F4 @ =gUnknown_03004040
|
|
movs r2, 0x35
|
|
strb r2, [r1]
|
|
strb r3, [r1, 0x1]
|
|
movs r2, 0x2
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800D1F4: .4byte gUnknown_03004040
|
|
thumb_func_end sub_800D1D8
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x38_a
|
|
dp01_build_cmdbuf_x38_a: @ 800D1F8
|
|
push {lr}
|
|
adds r3, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800D214 @ =gUnknown_03004040
|
|
movs r2, 0x36
|
|
strb r2, [r1]
|
|
strb r3, [r1, 0x1]
|
|
movs r2, 0x2
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800D214: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x38_a
|
|
|
|
thumb_func_start dp01_build_cmdbuf_x37_a
|
|
dp01_build_cmdbuf_x37_a: @ 800D218
|
|
push {lr}
|
|
adds r3, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0800D234 @ =gUnknown_03004040
|
|
movs r2, 0x37
|
|
strb r2, [r1]
|
|
strb r3, [r1, 0x1]
|
|
movs r2, 0x2
|
|
bl dp01_prepare_buffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0800D234: .4byte gUnknown_03004040
|
|
thumb_func_end dp01_build_cmdbuf_x37_a
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|