mirror of
https://github.com/pret/pokeruby.git
synced 2026-08-09 19:07:50 -05:00
5485 lines
98 KiB
ArmAsm
5485 lines
98 KiB
ArmAsm
.include "constants/gba_constants.inc"
|
|
.include "constants/species_constants.inc"
|
|
.include "asm/macros.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start dp01t_00_1_getattr
|
|
dp01t_00_1_getattr: @ 802E4D0
|
|
push {r4-r6,lr}
|
|
sub sp, 0x100
|
|
movs r6, 0
|
|
ldr r1, _0802E4FC @ =gUnknown_02023A60
|
|
ldr r0, _0802E500 @ =gUnknown_02024A60
|
|
ldrb r2, [r0]
|
|
lsls r0, r2, 9
|
|
adds r1, 0x2
|
|
adds r1, r0, r1
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
bne _0802E508
|
|
ldr r0, _0802E504 @ =gUnknown_02024A6A
|
|
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 _0802E52A
|
|
.align 2, 0
|
|
_0802E4FC: .4byte gUnknown_02023A60
|
|
_0802E500: .4byte gUnknown_02024A60
|
|
_0802E504: .4byte gUnknown_02024A6A
|
|
_0802E508:
|
|
ldrb r4, [r1]
|
|
movs r5, 0
|
|
_0802E50C:
|
|
movs r0, 0x1
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _0802E522
|
|
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
|
|
_0802E522:
|
|
lsrs r4, 1
|
|
adds r5, 0x1
|
|
cmp r5, 0x5
|
|
ble _0802E50C
|
|
_0802E52A:
|
|
lsls r1, r6, 16
|
|
lsrs r1, 16
|
|
movs r0, 0x1
|
|
mov r2, sp
|
|
bl dp01_build_cmdbuf_x1D_1D_numargs_varargs
|
|
bl dp01_tbl1_exec_completed
|
|
add sp, 0x100
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end dp01t_00_1_getattr
|
|
|
|
thumb_func_start dp01_getattr_by_ch1_for_player_pokemon_
|
|
dp01_getattr_by_ch1_for_player_pokemon_: @ 802E544
|
|
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, _0802E578 @ =gUnknown_02023A60
|
|
ldr r3, _0802E57C @ =gUnknown_02024A60
|
|
ldrb r0, [r3]
|
|
lsls r0, 9
|
|
adds r1, r2, 0x1
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x3B
|
|
bls _0802E56E
|
|
bl _0802ECDA
|
|
_0802E56E:
|
|
lsls r0, 2
|
|
ldr r1, _0802E580 @ =_0802E584
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802E578: .4byte gUnknown_02023A60
|
|
_0802E57C: .4byte gUnknown_02024A60
|
|
_0802E580: .4byte _0802E584
|
|
.align 2, 0
|
|
_0802E584:
|
|
.4byte _0802E674
|
|
.4byte _0802E898
|
|
.4byte _0802E8A8
|
|
.4byte _0802E8B8
|
|
.4byte _0802E920
|
|
.4byte _0802E920
|
|
.4byte _0802E920
|
|
.4byte _0802E920
|
|
.4byte _0802E93C
|
|
.4byte _0802E978
|
|
.4byte _0802E978
|
|
.4byte _0802E978
|
|
.4byte _0802E978
|
|
.4byte _0802ECDA
|
|
.4byte _0802ECDA
|
|
.4byte _0802ECDA
|
|
.4byte _0802ECDA
|
|
.4byte _0802E994
|
|
.4byte _0802E9A4
|
|
.4byte _0802E9D4
|
|
.4byte _0802E9E4
|
|
.4byte _0802E9F4
|
|
.4byte _0802EA04
|
|
.4byte _0802EA14
|
|
.4byte _0802EA24
|
|
.4byte _0802EA34
|
|
.4byte _0802EA44
|
|
.4byte _0802EA54
|
|
.4byte _0802EA64
|
|
.4byte _0802EA74
|
|
.4byte _0802EA84
|
|
.4byte _0802EA94
|
|
.4byte _0802EAE4
|
|
.4byte _0802EAF4
|
|
.4byte _0802EB04
|
|
.4byte _0802EB14
|
|
.4byte _0802EB24
|
|
.4byte _0802EB34
|
|
.4byte _0802EB44
|
|
.4byte _0802EB54
|
|
.4byte _0802EB64
|
|
.4byte _0802EB98
|
|
.4byte _0802EBA8
|
|
.4byte _0802EBB8
|
|
.4byte _0802EBC8
|
|
.4byte _0802EBD8
|
|
.4byte _0802EBE8
|
|
.4byte _0802EBF8
|
|
.4byte _0802EC08
|
|
.4byte _0802EC28
|
|
.4byte _0802EC38
|
|
.4byte _0802EC48
|
|
.4byte _0802EC58
|
|
.4byte _0802EC68
|
|
.4byte _0802EC78
|
|
.4byte _0802EC88
|
|
.4byte _0802EC98
|
|
.4byte _0802ECA8
|
|
.4byte _0802ECB8
|
|
.4byte _0802ECC8
|
|
_0802E674:
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _0802E888 @ =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
|
|
_0802E6C0:
|
|
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 _0802E6C0
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _0802E888 @ =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, _0802E88C @ =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, _0802E890 @ =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, _0802E894 @ =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
|
|
_0802E878:
|
|
adds r0, r7, r6
|
|
adds r1, r2, r6
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
cmp r6, 0x57
|
|
bls _0802E878
|
|
b _0802ECDA
|
|
.align 2, 0
|
|
_0802E888: .4byte gPlayerParty
|
|
_0802E88C: .4byte 0xfffffc1f
|
|
_0802E890: .4byte 0xfff07fff
|
|
_0802E894: .4byte 0xfffffe0f
|
|
_0802E898:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802E8A4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0xB
|
|
b _0802EC12
|
|
.align 2, 0
|
|
_0802E8A4: .4byte gPlayerParty
|
|
_0802E8A8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802E8B4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0xC
|
|
b _0802EC12
|
|
.align 2, 0
|
|
_0802E8B4: .4byte gPlayerParty
|
|
_0802E8B8:
|
|
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, _0802E91C @ =gPlayerParty
|
|
adds r4, r1, r0
|
|
mov r8, r9
|
|
_0802E8CE:
|
|
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 _0802E8CE
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802E91C @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x15
|
|
bl GetMonData
|
|
mov r1, r9
|
|
strb r0, [r1, 0xC]
|
|
mov r2, r9
|
|
movs r6, 0
|
|
_0802E90C:
|
|
adds r0, r7, r6
|
|
adds r1, r2, r6
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
cmp r6, 0xF
|
|
bls _0802E90C
|
|
b _0802ECDA
|
|
.align 2, 0
|
|
_0802E91C: .4byte gPlayerParty
|
|
_0802E920:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802E938 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldrb r1, [r3]
|
|
lsls r1, 9
|
|
adds r2, 0x1
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
adds r1, 0x9
|
|
b _0802EC12
|
|
.align 2, 0
|
|
_0802E938: .4byte gPlayerParty
|
|
_0802E93C:
|
|
movs r6, 0
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r2, _0802E974 @ =gPlayerParty
|
|
mov r8, r2
|
|
_0802E948:
|
|
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 _0802E948
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802E974 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x15
|
|
bl GetMonData
|
|
adds r1, r7, r6
|
|
strb r0, [r1]
|
|
adds r6, 0x1
|
|
b _0802ECDA
|
|
.align 2, 0
|
|
_0802E974: .4byte gPlayerParty
|
|
_0802E978:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802E990 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldrb r1, [r3]
|
|
lsls r1, 9
|
|
adds r2, 0x1
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
adds r1, 0x8
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802E990: .4byte gPlayerParty
|
|
_0802E994:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802E9A0 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
b _0802E9AE
|
|
.align 2, 0
|
|
_0802E9A0: .4byte gPlayerParty
|
|
_0802E9A4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802E9D0 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x19
|
|
_0802E9AE:
|
|
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 _0802ECDA
|
|
.align 2, 0
|
|
_0802E9D0: .4byte gPlayerParty
|
|
_0802E9D4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802E9E0 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x1A
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802E9E0: .4byte gPlayerParty
|
|
_0802E9E4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802E9F0 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x1B
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802E9F0: .4byte gPlayerParty
|
|
_0802E9F4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EA00 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x1C
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EA00: .4byte gPlayerParty
|
|
_0802EA04:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EA10 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x1D
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EA10: .4byte gPlayerParty
|
|
_0802EA14:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EA20 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x1E
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EA20: .4byte gPlayerParty
|
|
_0802EA24:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EA30 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x1F
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EA30: .4byte gPlayerParty
|
|
_0802EA34:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EA40 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x20
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EA40: .4byte gPlayerParty
|
|
_0802EA44:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EA50 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x22
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EA50: .4byte gPlayerParty
|
|
_0802EA54:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EA60 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x23
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EA60: .4byte gPlayerParty
|
|
_0802EA64:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EA70 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x24
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EA70: .4byte gPlayerParty
|
|
_0802EA74:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EA80 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x25
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EA80: .4byte gPlayerParty
|
|
_0802EA84:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EA90 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x26
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EA90: .4byte gPlayerParty
|
|
_0802EA94:
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _0802EAE0 @ =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 _0802ECDA
|
|
.align 2, 0
|
|
_0802EAE0: .4byte gPlayerParty
|
|
_0802EAE4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EAF0 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x27
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EAF0: .4byte gPlayerParty
|
|
_0802EAF4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EB00 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x28
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EB00: .4byte gPlayerParty
|
|
_0802EB04:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EB10 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x29
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EB10: .4byte gPlayerParty
|
|
_0802EB14:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EB20 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x2A
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EB20: .4byte gPlayerParty
|
|
_0802EB24:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EB30 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x2B
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EB30: .4byte gPlayerParty
|
|
_0802EB34:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EB40 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x2C
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EB40: .4byte gPlayerParty
|
|
_0802EB44:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EB50 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0
|
|
b _0802EB6E
|
|
.align 2, 0
|
|
_0802EB50: .4byte gPlayerParty
|
|
_0802EB54:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EB60 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x9
|
|
b _0802EC12
|
|
.align 2, 0
|
|
_0802EB60: .4byte gPlayerParty
|
|
_0802EB64:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EB94 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x37
|
|
_0802EB6E:
|
|
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 _0802ECDA
|
|
.align 2, 0
|
|
_0802EB94: .4byte gPlayerParty
|
|
_0802EB98:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EBA4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x38
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EBA4: .4byte gPlayerParty
|
|
_0802EBA8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EBB4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x39
|
|
b _0802EC12
|
|
.align 2, 0
|
|
_0802EBB4: .4byte gPlayerParty
|
|
_0802EBB8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EBC4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x3A
|
|
b _0802EC12
|
|
.align 2, 0
|
|
_0802EBC4: .4byte gPlayerParty
|
|
_0802EBC8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EBD4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x3B
|
|
b _0802EC12
|
|
.align 2, 0
|
|
_0802EBD4: .4byte gPlayerParty
|
|
_0802EBD8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EBE4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x3C
|
|
b _0802EC12
|
|
.align 2, 0
|
|
_0802EBE4: .4byte gPlayerParty
|
|
_0802EBE8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EBF4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x3D
|
|
b _0802EC12
|
|
.align 2, 0
|
|
_0802EBF4: .4byte gPlayerParty
|
|
_0802EBF8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EC04 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x3E
|
|
b _0802EC12
|
|
.align 2, 0
|
|
_0802EC04: .4byte gPlayerParty
|
|
_0802EC08:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EC24 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x3F
|
|
_0802EC12:
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
strb r0, [r7]
|
|
lsrs r0, 8
|
|
strb r0, [r7, 0x1]
|
|
movs r6, 0x2
|
|
b _0802ECDA
|
|
.align 2, 0
|
|
_0802EC24: .4byte gPlayerParty
|
|
_0802EC28:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EC34 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x16
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EC34: .4byte gPlayerParty
|
|
_0802EC38:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EC44 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x17
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EC44: .4byte gPlayerParty
|
|
_0802EC48:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EC54 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x18
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EC54: .4byte gPlayerParty
|
|
_0802EC58:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EC64 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x21
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EC64: .4byte gPlayerParty
|
|
_0802EC68:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EC74 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x2F
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EC74: .4byte gPlayerParty
|
|
_0802EC78:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EC84 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x30
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EC84: .4byte gPlayerParty
|
|
_0802EC88:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802EC94 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x32
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802EC94: .4byte gPlayerParty
|
|
_0802EC98:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802ECA4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x33
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802ECA4: .4byte gPlayerParty
|
|
_0802ECA8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802ECB4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x34
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802ECB4: .4byte gPlayerParty
|
|
_0802ECB8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802ECC4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x35
|
|
b _0802ECD2
|
|
.align 2, 0
|
|
_0802ECC4: .4byte gPlayerParty
|
|
_0802ECC8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802ECEC @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x36
|
|
_0802ECD2:
|
|
bl GetMonData
|
|
strb r0, [r7]
|
|
movs r6, 0x1
|
|
_0802ECDA:
|
|
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
|
|
_0802ECEC: .4byte gPlayerParty
|
|
thumb_func_end dp01_getattr_by_ch1_for_player_pokemon_
|
|
|
|
thumb_func_start sub_802ECF0
|
|
sub_802ECF0: @ 802ECF0
|
|
push {r4-r7,lr}
|
|
sub sp, 0x58
|
|
ldr r2, _0802ED68 @ =gUnknown_02024A6A
|
|
ldr r5, _0802ED6C @ =gUnknown_02024A60
|
|
ldrb r1, [r5]
|
|
lsls r0, r1, 1
|
|
adds r0, r2
|
|
ldrh r2, [r0]
|
|
movs r0, 0x64
|
|
adds r4, r2, 0
|
|
muls r4, r0
|
|
ldr r3, _0802ED70 @ =gUnknown_02023A60
|
|
lsls r1, 9
|
|
adds r0, r3, 0x1
|
|
adds r0, r1, r0
|
|
ldrb r2, [r0]
|
|
ldr r0, _0802ED74 @ =gPlayerParty
|
|
adds r0, r2, r0
|
|
adds r6, r4, r0
|
|
mov r0, sp
|
|
adds r4, r0, r2
|
|
movs r2, 0
|
|
adds r0, r3, 0x2
|
|
adds r1, r0
|
|
adds r7, r5, 0
|
|
mov r12, r3
|
|
ldrb r1, [r1]
|
|
cmp r2, r1
|
|
bcs _0802ED46
|
|
adds r3, r0, 0
|
|
_0802ED2C:
|
|
adds r1, r4, r2
|
|
adds r0, r6, r2
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldrb r0, [r5]
|
|
lsls r0, 9
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcc _0802ED2C
|
|
_0802ED46:
|
|
ldrb r0, [r7]
|
|
lsls r0, 9
|
|
mov r1, r12
|
|
adds r1, 0x2
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
adds r2, r4, 0
|
|
bl dp01_build_cmdbuf_x1D_1D_numargs_varargs
|
|
bl dp01_tbl1_exec_completed
|
|
add sp, 0x58
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802ED68: .4byte gUnknown_02024A6A
|
|
_0802ED6C: .4byte gUnknown_02024A60
|
|
_0802ED70: .4byte gUnknown_02023A60
|
|
_0802ED74: .4byte gPlayerParty
|
|
thumb_func_end sub_802ECF0
|
|
|
|
thumb_func_start dp01t_02_1_setattr
|
|
dp01t_02_1_setattr: @ 802ED78
|
|
push {r4,r5,lr}
|
|
ldr r1, _0802ED9C @ =gUnknown_02023A60
|
|
ldr r0, _0802EDA0 @ =gUnknown_02024A60
|
|
ldrb r2, [r0]
|
|
lsls r0, r2, 9
|
|
adds r1, 0x2
|
|
adds r1, r0, r1
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
bne _0802EDA8
|
|
ldr r0, _0802EDA4 @ =gUnknown_02024A6A
|
|
lsls r1, r2, 1
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
bl dp01_setattr_by_ch1_for_player_pokemon
|
|
b _0802EDC6
|
|
.align 2, 0
|
|
_0802ED9C: .4byte gUnknown_02023A60
|
|
_0802EDA0: .4byte gUnknown_02024A60
|
|
_0802EDA4: .4byte gUnknown_02024A6A
|
|
_0802EDA8:
|
|
ldrb r4, [r1]
|
|
movs r5, 0
|
|
_0802EDAC:
|
|
movs r0, 0x1
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _0802EDBA
|
|
adds r0, r5, 0
|
|
bl dp01_setattr_by_ch1_for_player_pokemon
|
|
_0802EDBA:
|
|
lsrs r4, 1
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x5
|
|
bls _0802EDAC
|
|
_0802EDC6:
|
|
bl dp01_tbl1_exec_completed
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end dp01t_02_1_setattr
|
|
|
|
thumb_func_start dp01_setattr_by_ch1_for_player_pokemon
|
|
dp01_setattr_by_ch1_for_player_pokemon: @ 802EDD0
|
|
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, _0802EE08 @ =gUnknown_02024A60
|
|
ldrb r0, [r0]
|
|
lsls r0, 9
|
|
ldr r2, _0802EE0C @ =gUnknown_02023A63
|
|
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 _0802EDFC
|
|
bl _0802F796
|
|
_0802EDFC:
|
|
lsls r0, 2
|
|
ldr r1, _0802EE10 @ =_0802EE14
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802EE08: .4byte gUnknown_02024A60
|
|
_0802EE0C: .4byte gUnknown_02023A63
|
|
_0802EE10: .4byte _0802EE14
|
|
.align 2, 0
|
|
_0802EE14:
|
|
.4byte _0802EF04
|
|
.4byte _0802F09C
|
|
.4byte _0802F0BC
|
|
.4byte _0802F0DC
|
|
.4byte _0802F134
|
|
.4byte _0802F134
|
|
.4byte _0802F134
|
|
.4byte _0802F134
|
|
.4byte _0802F15C
|
|
.4byte _0802F1C0
|
|
.4byte _0802F1C0
|
|
.4byte _0802F1C0
|
|
.4byte _0802F1C0
|
|
.4byte _0802F796
|
|
.4byte _0802F796
|
|
.4byte _0802F796
|
|
.4byte _0802F796
|
|
.4byte _0802F1F0
|
|
.4byte _0802F210
|
|
.4byte _0802F230
|
|
.4byte _0802F250
|
|
.4byte _0802F270
|
|
.4byte _0802F290
|
|
.4byte _0802F2B0
|
|
.4byte _0802F2D0
|
|
.4byte _0802F2F0
|
|
.4byte _0802F310
|
|
.4byte _0802F330
|
|
.4byte _0802F350
|
|
.4byte _0802F370
|
|
.4byte _0802F390
|
|
.4byte _0802F3B0
|
|
.4byte _0802F420
|
|
.4byte _0802F440
|
|
.4byte _0802F460
|
|
.4byte _0802F480
|
|
.4byte _0802F4A0
|
|
.4byte _0802F4C0
|
|
.4byte _0802F4E0
|
|
.4byte _0802F500
|
|
.4byte _0802F520
|
|
.4byte _0802F540
|
|
.4byte _0802F560
|
|
.4byte _0802F580
|
|
.4byte _0802F5A0
|
|
.4byte _0802F5C0
|
|
.4byte _0802F5E0
|
|
.4byte _0802F600
|
|
.4byte _0802F620
|
|
.4byte _0802F640
|
|
.4byte _0802F660
|
|
.4byte _0802F680
|
|
.4byte _0802F6A0
|
|
.4byte _0802F6C0
|
|
.4byte _0802F6E0
|
|
.4byte _0802F700
|
|
.4byte _0802F720
|
|
.4byte _0802F740
|
|
.4byte _0802F760
|
|
.4byte _0802F780
|
|
_0802EF04:
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _0802F098 @ =gPlayerParty
|
|
adds r4, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0xB
|
|
adds r2, r6, 0
|
|
bl SetMonData
|
|
adds r2, r6, 0
|
|
adds r2, 0x2E
|
|
adds r0, r4, 0
|
|
movs r1, 0xC
|
|
bl SetMonData
|
|
movs r0, 0
|
|
mov r8, r0
|
|
movs r0, 0x3B
|
|
adds r0, r6
|
|
mov r10, r0
|
|
adds r0, r6, 0
|
|
adds r0, 0x2B
|
|
str r0, [sp, 0x20]
|
|
adds r0, 0x19
|
|
str r0, [sp, 0x28]
|
|
adds r0, 0x4
|
|
str r0, [sp, 0x2C]
|
|
adds r0, 0x4
|
|
str r0, [sp, 0x30]
|
|
subs r0, 0x22
|
|
str r0, [sp, 0x1C]
|
|
subs r0, 0x2
|
|
str r0, [sp, 0x18]
|
|
adds r0, 0x4
|
|
str r0, [sp, 0x24]
|
|
adds r0, r6, 0x2
|
|
str r0, [sp, 0x4]
|
|
adds r0, r6, 0x4
|
|
str r0, [sp, 0x8]
|
|
adds r0, r6, 0x6
|
|
str r0, [sp, 0xC]
|
|
adds r0, 0x2
|
|
str r0, [sp, 0x10]
|
|
adds r0, 0x2
|
|
str r0, [sp, 0x14]
|
|
mov r9, r4
|
|
adds r7, r6, 0
|
|
adds r7, 0x24
|
|
adds r4, r6, 0
|
|
adds r4, 0xC
|
|
_0802EF6A:
|
|
mov r1, r8
|
|
adds r1, 0xD
|
|
mov r0, r9
|
|
adds r2, r4, 0
|
|
bl SetMonData
|
|
mov r1, r8
|
|
adds r1, 0x11
|
|
mov r0, r9
|
|
adds r2, r7, 0
|
|
bl SetMonData
|
|
adds r7, 0x1
|
|
adds r4, 0x2
|
|
movs r0, 0x1
|
|
add r8, r0
|
|
mov r0, r8
|
|
cmp r0, 0x3
|
|
ble _0802EF6A
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _0802F098 @ =gPlayerParty
|
|
adds r4, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x15
|
|
mov r2, r10
|
|
bl SetMonData
|
|
adds r0, r4, 0
|
|
movs r1, 0x20
|
|
ldr r2, [sp, 0x20]
|
|
bl SetMonData
|
|
adds r0, r4, 0
|
|
movs r1, 0x19
|
|
ldr r2, [sp, 0x28]
|
|
bl SetMonData
|
|
ldrb r0, [r6, 0x14]
|
|
lsls r0, 27
|
|
lsrs r0, 27
|
|
mov r1, sp
|
|
strb r0, [r1]
|
|
adds r0, r4, 0
|
|
movs r1, 0x27
|
|
mov r2, sp
|
|
bl SetMonData
|
|
mov r1, sp
|
|
ldrh r0, [r6, 0x14]
|
|
lsls r0, 22
|
|
lsrs r0, 27
|
|
strb r0, [r1]
|
|
adds r0, r4, 0
|
|
movs r1, 0x28
|
|
mov r2, sp
|
|
bl SetMonData
|
|
mov r1, sp
|
|
ldrb r0, [r6, 0x15]
|
|
lsls r0, 25
|
|
lsrs r0, 27
|
|
strb r0, [r1]
|
|
adds r0, r4, 0
|
|
movs r1, 0x29
|
|
mov r2, sp
|
|
bl SetMonData
|
|
mov r1, sp
|
|
ldr r0, [r6, 0x14]
|
|
lsls r0, 12
|
|
lsrs r0, 27
|
|
strb r0, [r1]
|
|
adds r0, r4, 0
|
|
movs r1, 0x2A
|
|
mov r2, sp
|
|
bl SetMonData
|
|
mov r1, sp
|
|
ldrh r0, [r6, 0x16]
|
|
lsls r0, 23
|
|
lsrs r0, 27
|
|
strb r0, [r1]
|
|
adds r0, r4, 0
|
|
movs r1, 0x2B
|
|
mov r2, sp
|
|
bl SetMonData
|
|
mov r1, sp
|
|
ldrb r0, [r6, 0x17]
|
|
lsls r0, 26
|
|
lsrs r0, 27
|
|
strb r0, [r1]
|
|
adds r0, r4, 0
|
|
movs r1, 0x2C
|
|
mov r2, sp
|
|
bl SetMonData
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
ldr r2, [sp, 0x2C]
|
|
bl SetMonData
|
|
adds r0, r4, 0
|
|
movs r1, 0x37
|
|
ldr r2, [sp, 0x30]
|
|
bl SetMonData
|
|
adds r0, r4, 0
|
|
movs r1, 0x38
|
|
ldr r2, [sp, 0x1C]
|
|
bl SetMonData
|
|
adds r0, r4, 0
|
|
movs r1, 0x39
|
|
ldr r2, [sp, 0x18]
|
|
bl SetMonData
|
|
adds r0, r4, 0
|
|
movs r1, 0x3A
|
|
ldr r2, [sp, 0x24]
|
|
bl SetMonData
|
|
adds r0, r4, 0
|
|
movs r1, 0x3B
|
|
ldr r2, [sp, 0x4]
|
|
bl SetMonData
|
|
adds r0, r4, 0
|
|
movs r1, 0x3C
|
|
ldr r2, [sp, 0x8]
|
|
bl SetMonData
|
|
adds r0, r4, 0
|
|
movs r1, 0x3D
|
|
ldr r2, [sp, 0xC]
|
|
bl SetMonData
|
|
adds r0, r4, 0
|
|
movs r1, 0x3E
|
|
ldr r2, [sp, 0x10]
|
|
bl SetMonData
|
|
adds r0, r4, 0
|
|
movs r1, 0x3F
|
|
ldr r2, [sp, 0x14]
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F098: .4byte gPlayerParty
|
|
_0802F09C:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F0B4 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F0B8 @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0xB
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F0B4: .4byte gPlayerParty
|
|
_0802F0B8: .4byte gUnknown_02024A60
|
|
_0802F0BC:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F0D4 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F0D8 @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0xC
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F0D4: .4byte gPlayerParty
|
|
_0802F0D8: .4byte gUnknown_02024A60
|
|
_0802F0DC:
|
|
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, _0802F130 @ =gPlayerParty
|
|
adds r7, r1, r0
|
|
adds r6, r3, 0
|
|
adds r6, 0x8
|
|
adds r4, r3, 0
|
|
_0802F0F6:
|
|
mov r1, r8
|
|
adds r1, 0xD
|
|
adds r0, r7, 0
|
|
adds r2, r4, 0
|
|
bl SetMonData
|
|
mov r1, r8
|
|
adds r1, 0x11
|
|
adds r0, r7, 0
|
|
adds r2, r6, 0
|
|
bl SetMonData
|
|
adds r6, 0x1
|
|
adds r4, 0x2
|
|
movs r0, 0x1
|
|
add r8, r0
|
|
mov r0, r8
|
|
cmp r0, 0x3
|
|
ble _0802F0F6
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F130 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x15
|
|
mov r2, r9
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F130: .4byte gPlayerParty
|
|
_0802F134:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F150 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r3, _0802F154 @ =gUnknown_02023A60
|
|
ldr r1, _0802F158 @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r1, r3, 0x1
|
|
adds r1, r2, r1
|
|
ldrb r1, [r1]
|
|
adds r1, 0x9
|
|
b _0802F1D8
|
|
.align 2, 0
|
|
_0802F150: .4byte gPlayerParty
|
|
_0802F154: .4byte gUnknown_02023A60
|
|
_0802F158: .4byte gUnknown_02024A60
|
|
_0802F15C:
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _0802F1B8 @ =gPlayerParty
|
|
adds r4, r0
|
|
ldr r5, _0802F1BC @ =gUnknown_02024A60
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
adds r0, r4, 0
|
|
movs r1, 0x11
|
|
bl SetMonData
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r0, r7, 0x1
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x12
|
|
bl SetMonData
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r0, r7, 0x2
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x13
|
|
bl SetMonData
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r0, r7, 0x3
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x14
|
|
bl SetMonData
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r0, r7, 0x4
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x15
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F1B8: .4byte gPlayerParty
|
|
_0802F1BC: .4byte gUnknown_02024A60
|
|
_0802F1C0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F1E4 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r3, _0802F1E8 @ =gUnknown_02023A60
|
|
ldr r1, _0802F1EC @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r1, r3, 0x1
|
|
adds r1, r2, r1
|
|
ldrb r1, [r1]
|
|
adds r1, 0x8
|
|
_0802F1D8:
|
|
adds r3, 0x3
|
|
adds r2, r3
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F1E4: .4byte gPlayerParty
|
|
_0802F1E8: .4byte gUnknown_02023A60
|
|
_0802F1EC: .4byte gUnknown_02024A60
|
|
_0802F1F0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F208 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F20C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x1
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F208: .4byte gPlayerParty
|
|
_0802F20C: .4byte gUnknown_02024A60
|
|
_0802F210:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F228 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F22C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x19
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F228: .4byte gPlayerParty
|
|
_0802F22C: .4byte gUnknown_02024A60
|
|
_0802F230:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F248 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F24C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x1A
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F248: .4byte gPlayerParty
|
|
_0802F24C: .4byte gUnknown_02024A60
|
|
_0802F250:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F268 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F26C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x1B
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F268: .4byte gPlayerParty
|
|
_0802F26C: .4byte gUnknown_02024A60
|
|
_0802F270:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F288 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F28C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x1C
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F288: .4byte gPlayerParty
|
|
_0802F28C: .4byte gUnknown_02024A60
|
|
_0802F290:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F2A8 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F2AC @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x1D
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F2A8: .4byte gPlayerParty
|
|
_0802F2AC: .4byte gUnknown_02024A60
|
|
_0802F2B0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F2C8 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F2CC @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x1E
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F2C8: .4byte gPlayerParty
|
|
_0802F2CC: .4byte gUnknown_02024A60
|
|
_0802F2D0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F2E8 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F2EC @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x1F
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F2E8: .4byte gPlayerParty
|
|
_0802F2EC: .4byte gUnknown_02024A60
|
|
_0802F2F0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F308 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F30C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x20
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F308: .4byte gPlayerParty
|
|
_0802F30C: .4byte gUnknown_02024A60
|
|
_0802F310:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F328 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F32C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x22
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F328: .4byte gPlayerParty
|
|
_0802F32C: .4byte gUnknown_02024A60
|
|
_0802F330:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F348 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F34C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x23
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F348: .4byte gPlayerParty
|
|
_0802F34C: .4byte gUnknown_02024A60
|
|
_0802F350:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F368 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F36C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x24
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F368: .4byte gPlayerParty
|
|
_0802F36C: .4byte gUnknown_02024A60
|
|
_0802F370:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F388 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F38C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x25
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F388: .4byte gPlayerParty
|
|
_0802F38C: .4byte gUnknown_02024A60
|
|
_0802F390:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F3A8 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F3AC @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x26
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F3A8: .4byte gPlayerParty
|
|
_0802F3AC: .4byte gUnknown_02024A60
|
|
_0802F3B0:
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _0802F418 @ =gPlayerParty
|
|
adds r4, r0
|
|
ldr r5, _0802F41C @ =gUnknown_02024A60
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
adds r0, r4, 0
|
|
movs r1, 0x27
|
|
bl SetMonData
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r0, r7, 0x1
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x28
|
|
bl SetMonData
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r0, r7, 0x2
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x29
|
|
bl SetMonData
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r0, r7, 0x3
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x2A
|
|
bl SetMonData
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r0, r7, 0x4
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x2B
|
|
bl SetMonData
|
|
ldrb r2, [r5]
|
|
lsls r2, 9
|
|
adds r0, r7, 0x5
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
b _0802F4D0
|
|
.align 2, 0
|
|
_0802F418: .4byte gPlayerParty
|
|
_0802F41C: .4byte gUnknown_02024A60
|
|
_0802F420:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F438 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F43C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x27
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F438: .4byte gPlayerParty
|
|
_0802F43C: .4byte gUnknown_02024A60
|
|
_0802F440:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F458 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F45C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x28
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F458: .4byte gPlayerParty
|
|
_0802F45C: .4byte gUnknown_02024A60
|
|
_0802F460:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F478 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F47C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x29
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F478: .4byte gPlayerParty
|
|
_0802F47C: .4byte gUnknown_02024A60
|
|
_0802F480:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F498 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F49C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x2A
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F498: .4byte gPlayerParty
|
|
_0802F49C: .4byte gUnknown_02024A60
|
|
_0802F4A0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F4B8 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F4BC @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x2B
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F4B8: .4byte gPlayerParty
|
|
_0802F4BC: .4byte gUnknown_02024A60
|
|
_0802F4C0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F4D8 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F4DC @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
_0802F4D0:
|
|
movs r1, 0x2C
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F4D8: .4byte gPlayerParty
|
|
_0802F4DC: .4byte gUnknown_02024A60
|
|
_0802F4E0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F4F8 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F4FC @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F4F8: .4byte gPlayerParty
|
|
_0802F4FC: .4byte gUnknown_02024A60
|
|
_0802F500:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F518 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F51C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x9
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F518: .4byte gPlayerParty
|
|
_0802F51C: .4byte gUnknown_02024A60
|
|
_0802F520:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F538 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F53C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x37
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F538: .4byte gPlayerParty
|
|
_0802F53C: .4byte gUnknown_02024A60
|
|
_0802F540:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F558 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F55C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x38
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F558: .4byte gPlayerParty
|
|
_0802F55C: .4byte gUnknown_02024A60
|
|
_0802F560:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F578 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F57C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x39
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F578: .4byte gPlayerParty
|
|
_0802F57C: .4byte gUnknown_02024A60
|
|
_0802F580:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F598 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F59C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x3A
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F598: .4byte gPlayerParty
|
|
_0802F59C: .4byte gUnknown_02024A60
|
|
_0802F5A0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F5B8 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F5BC @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x3B
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F5B8: .4byte gPlayerParty
|
|
_0802F5BC: .4byte gUnknown_02024A60
|
|
_0802F5C0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F5D8 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F5DC @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x3C
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F5D8: .4byte gPlayerParty
|
|
_0802F5DC: .4byte gUnknown_02024A60
|
|
_0802F5E0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F5F8 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F5FC @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x3D
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F5F8: .4byte gPlayerParty
|
|
_0802F5FC: .4byte gUnknown_02024A60
|
|
_0802F600:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F618 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F61C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x3E
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F618: .4byte gPlayerParty
|
|
_0802F61C: .4byte gUnknown_02024A60
|
|
_0802F620:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F638 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F63C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x3F
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F638: .4byte gPlayerParty
|
|
_0802F63C: .4byte gUnknown_02024A60
|
|
_0802F640:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F658 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F65C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x16
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F658: .4byte gPlayerParty
|
|
_0802F65C: .4byte gUnknown_02024A60
|
|
_0802F660:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F678 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F67C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x17
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F678: .4byte gPlayerParty
|
|
_0802F67C: .4byte gUnknown_02024A60
|
|
_0802F680:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F698 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F69C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x18
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F698: .4byte gPlayerParty
|
|
_0802F69C: .4byte gUnknown_02024A60
|
|
_0802F6A0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F6B8 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F6BC @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x21
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F6B8: .4byte gPlayerParty
|
|
_0802F6BC: .4byte gUnknown_02024A60
|
|
_0802F6C0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F6D8 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F6DC @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x2F
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F6D8: .4byte gPlayerParty
|
|
_0802F6DC: .4byte gUnknown_02024A60
|
|
_0802F6E0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F6F8 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F6FC @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x30
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F6F8: .4byte gPlayerParty
|
|
_0802F6FC: .4byte gUnknown_02024A60
|
|
_0802F700:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F718 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F71C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x32
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F718: .4byte gPlayerParty
|
|
_0802F71C: .4byte gUnknown_02024A60
|
|
_0802F720:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F738 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F73C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x33
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F738: .4byte gPlayerParty
|
|
_0802F73C: .4byte gUnknown_02024A60
|
|
_0802F740:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F758 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F75C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x34
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F758: .4byte gPlayerParty
|
|
_0802F75C: .4byte gUnknown_02024A60
|
|
_0802F760:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F778 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F77C @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x35
|
|
bl SetMonData
|
|
b _0802F796
|
|
.align 2, 0
|
|
_0802F778: .4byte gPlayerParty
|
|
_0802F77C: .4byte gUnknown_02024A60
|
|
_0802F780:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0802F7C0 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _0802F7C4 @ =gUnknown_02024A60
|
|
ldrb r2, [r1]
|
|
lsls r2, 9
|
|
adds r2, r7
|
|
movs r1, 0x36
|
|
bl SetMonData
|
|
_0802F796:
|
|
ldr r2, _0802F7C8 @ =gUnknown_02024A6A
|
|
ldr r0, _0802F7C4 @ =gUnknown_02024A60
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 1
|
|
adds r0, r2
|
|
ldrh r2, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
ldr r2, _0802F7C0 @ =gPlayerParty
|
|
adds r0, r2
|
|
bl sub_80324F8
|
|
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
|
|
_0802F7C0: .4byte gPlayerParty
|
|
_0802F7C4: .4byte gUnknown_02024A60
|
|
_0802F7C8: .4byte gUnknown_02024A6A
|
|
thumb_func_end dp01_setattr_by_ch1_for_player_pokemon
|
|
|
|
thumb_func_start sub_802F7CC
|
|
sub_802F7CC: @ 802F7CC
|
|
push {r4-r7,lr}
|
|
ldr r1, _0802F830 @ =gUnknown_02024A6A
|
|
ldr r7, _0802F834 @ =gUnknown_02024A60
|
|
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, _0802F838 @ =gUnknown_02023A60
|
|
lsls r2, 9
|
|
adds r0, r4, 0x1
|
|
adds r0, r2, r0
|
|
ldrb r0, [r0]
|
|
ldr r1, _0802F83C @ =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 _0802F824
|
|
adds r6, r4, 0
|
|
adds r2, r7, 0
|
|
adds r4, r0, 0
|
|
_0802F802:
|
|
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 _0802F802
|
|
_0802F824:
|
|
bl dp01_tbl1_exec_completed
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802F830: .4byte gUnknown_02024A6A
|
|
_0802F834: .4byte gUnknown_02024A60
|
|
_0802F838: .4byte gUnknown_02023A60
|
|
_0802F83C: .4byte gPlayerParty
|
|
thumb_func_end sub_802F7CC
|
|
|
|
thumb_func_start sub_802F840
|
|
sub_802F840: @ 802F840
|
|
push {r4,lr}
|
|
ldr r2, _0802F88C @ =gUnknown_02024A6A
|
|
ldr r4, _0802F890 @ =gUnknown_02024A60
|
|
ldrb r1, [r4]
|
|
lsls r0, r1, 1
|
|
adds r0, r2
|
|
ldrh r2, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
ldr r2, _0802F894 @ =gPlayerParty
|
|
adds r0, r2
|
|
bl sub_80318FC
|
|
ldr r2, _0802F898 @ =gSprites
|
|
ldr r0, _0802F89C @ =gUnknown_02024BE0
|
|
ldrb r3, [r4]
|
|
adds r0, r3, r0
|
|
ldrb r0, [r0]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
lsls r3, 4
|
|
ldrb r2, [r1, 0x5]
|
|
movs r0, 0xF
|
|
ands r0, r2
|
|
orrs r0, r3
|
|
strb r0, [r1, 0x5]
|
|
ldr r1, _0802F8A0 @ =gUnknown_03004330
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _0802F8A4 @ =bx_0802E404
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802F88C: .4byte gUnknown_02024A6A
|
|
_0802F890: .4byte gUnknown_02024A60
|
|
_0802F894: .4byte gPlayerParty
|
|
_0802F898: .4byte gSprites
|
|
_0802F89C: .4byte gUnknown_02024BE0
|
|
_0802F8A0: .4byte gUnknown_03004330
|
|
_0802F8A4: .4byte bx_0802E404
|
|
thumb_func_end sub_802F840
|
|
|
|
thumb_func_start sub_802F8A8
|
|
sub_802F8A8: @ 802F8A8
|
|
push {r4-r6,lr}
|
|
ldr r5, _0802F914 @ =gUnknown_02024A60
|
|
ldrb r0, [r5]
|
|
ldr r4, _0802F918 @ =gUnknown_02023A60
|
|
lsls r1, r0, 9
|
|
adds r6, r4, 0x2
|
|
adds r1, r6
|
|
ldrb r1, [r1]
|
|
bl sub_8032AA8
|
|
ldr r2, _0802F91C @ =gUnknown_02024A6A
|
|
ldrb r0, [r5]
|
|
lsls r1, r0, 1
|
|
adds r1, r2
|
|
lsls r0, 9
|
|
adds r4, 0x1
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
movs r4, 0
|
|
strh r0, [r1]
|
|
ldrb r1, [r5]
|
|
lsls r0, r1, 1
|
|
adds r0, r2
|
|
ldrh r2, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
ldr r2, _0802F920 @ =gPlayerParty
|
|
adds r0, r2
|
|
bl sub_80318FC
|
|
ldr r1, _0802F924 @ =gUnknown_02024E60
|
|
ldrb r0, [r5]
|
|
adds r0, r1
|
|
strb r4, [r0]
|
|
ldr r1, _0802F928 @ =gUnknown_02024E64
|
|
ldrb r0, [r5]
|
|
adds r0, r1
|
|
strb r4, [r0]
|
|
ldrb r0, [r5]
|
|
lsls r1, r0, 9
|
|
adds r1, r6
|
|
ldrb r1, [r1]
|
|
bl sub_802F934
|
|
ldr r1, _0802F92C @ =gUnknown_03004330
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _0802F930 @ =sub_802D798
|
|
str r1, [r0]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802F914: .4byte gUnknown_02024A60
|
|
_0802F918: .4byte gUnknown_02023A60
|
|
_0802F91C: .4byte gUnknown_02024A6A
|
|
_0802F920: .4byte gPlayerParty
|
|
_0802F924: .4byte gUnknown_02024E60
|
|
_0802F928: .4byte gUnknown_02024E64
|
|
_0802F92C: .4byte gUnknown_03004330
|
|
_0802F930: .4byte sub_802D798
|
|
thumb_func_end sub_802F8A8
|
|
|
|
thumb_func_start sub_802F934
|
|
sub_802F934: @ 802F934
|
|
push {r4-r6,lr}
|
|
mov r6, r10
|
|
mov r5, r9
|
|
mov r4, r8
|
|
push {r4-r6}
|
|
adds r6, r0, 0
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r6, 0
|
|
bl sub_8032AA8
|
|
ldr r0, _0802FA78 @ =gUnknown_02024A6A
|
|
lsls r2, r6, 1
|
|
adds r2, r0
|
|
ldr r0, _0802FA7C @ =gUnknown_02023A60
|
|
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, _0802FA80 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
mov r8, r0
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
ldr r0, _0802FA84 @ =sub_80312F0
|
|
bl CreateInvisibleSpriteWithCallback
|
|
ldr r1, _0802FA88 @ =gUnknown_0300434C
|
|
mov r9, r1
|
|
add r9, r6
|
|
mov r1, r9
|
|
strb r0, [r1]
|
|
adds r0, r6, 0
|
|
bl battle_get_per_side_status
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r0, r8
|
|
bl GetMonSpriteTemplate_803C56C
|
|
ldr r0, _0802FA8C @ =gUnknown_02024E8C
|
|
mov r10, r0
|
|
adds r0, r6, 0
|
|
movs r1, 0x2
|
|
bl sub_8077ABC
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
adds r0, r6, 0
|
|
bl sub_8077F68
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r6, 0
|
|
bl sub_8079E90
|
|
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, _0802FA90 @ =gUnknown_02024BE0
|
|
adds r4, r6, r4
|
|
strb r0, [r4]
|
|
ldr r5, _0802FA94 @ =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, _0802FA98 @ =gBattleMonForms
|
|
adds r6, r1
|
|
ldrb r1, [r6]
|
|
bl StartSpriteAnim
|
|
ldrb r1, [r4]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
adds r0, 0x3E
|
|
ldrb r1, [r0]
|
|
movs r2, 0x4
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
ldrb r1, [r4]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r1, r5, 0
|
|
adds r1, 0x1C
|
|
adds r0, r1
|
|
ldr r1, _0802FA9C @ =SpriteCallbackDummy
|
|
str r1, [r0]
|
|
movs r0, 0
|
|
movs r1, 0xFF
|
|
bl sub_8046400
|
|
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
|
|
_0802FA78: .4byte gUnknown_02024A6A
|
|
_0802FA7C: .4byte gUnknown_02023A60
|
|
_0802FA80: .4byte gPlayerParty
|
|
_0802FA84: .4byte sub_80312F0
|
|
_0802FA88: .4byte gUnknown_0300434C
|
|
_0802FA8C: .4byte gUnknown_02024E8C
|
|
_0802FA90: .4byte gUnknown_02024BE0
|
|
_0802FA94: .4byte gSprites
|
|
_0802FA98: .4byte gBattleMonForms
|
|
_0802FA9C: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_802F934
|
|
|
|
thumb_func_start sub_802FAA0
|
|
sub_802FAA0: @ 802FAA0
|
|
push {r4-r6,lr}
|
|
ldr r1, _0802FAD0 @ =gUnknown_02023A60
|
|
ldr r6, _0802FAD4 @ =gUnknown_02024A60
|
|
ldrb r2, [r6]
|
|
lsls r0, r2, 9
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
ldrb r3, [r0]
|
|
cmp r3, 0
|
|
bne _0802FAE4
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
ldr r1, _0802FAD8 @ =0x02017810
|
|
adds r0, r1
|
|
strb r3, [r0, 0x4]
|
|
ldr r1, _0802FADC @ =gUnknown_03004330
|
|
ldrb r0, [r6]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _0802FAE0 @ =sub_802FB2C
|
|
str r1, [r0]
|
|
b _0802FB1A
|
|
.align 2, 0
|
|
_0802FAD0: .4byte gUnknown_02023A60
|
|
_0802FAD4: .4byte gUnknown_02024A60
|
|
_0802FAD8: .4byte 0x02017810
|
|
_0802FADC: .4byte gUnknown_03004330
|
|
_0802FAE0: .4byte sub_802FB2C
|
|
_0802FAE4:
|
|
ldr r5, _0802FB20 @ =gUnknown_02024BE0
|
|
adds r0, r2, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r4, _0802FB24 @ =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, _0802FB28 @ =gUnknown_03004340
|
|
ldrb r0, [r6]
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl sub_8043DB0
|
|
bl dp01_tbl1_exec_completed
|
|
_0802FB1A:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802FB20: .4byte gUnknown_02024BE0
|
|
_0802FB24: .4byte gSprites
|
|
_0802FB28: .4byte gUnknown_03004340
|
|
thumb_func_end sub_802FAA0
|
|
|
|
thumb_func_start sub_802FB2C
|
|
sub_802FB2C: @ 802FB2C
|
|
push {r4,r5,lr}
|
|
ldr r5, _0802FB48 @ =gUnknown_02024A60
|
|
ldrb r2, [r5]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
ldr r4, _0802FB4C @ =0x02017810
|
|
adds r3, r0, r4
|
|
ldrb r0, [r3, 0x4]
|
|
cmp r0, 0
|
|
beq _0802FB50
|
|
cmp r0, 0x1
|
|
beq _0802FB7C
|
|
b _0802FBA4
|
|
.align 2, 0
|
|
_0802FB48: .4byte gUnknown_02024A60
|
|
_0802FB4C: .4byte 0x02017810
|
|
_0802FB50:
|
|
lsls r0, r2, 2
|
|
adds r1, r4, 0
|
|
subs r1, 0x10
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0802FB6C
|
|
adds r0, r2, 0
|
|
adds r1, r2, 0
|
|
movs r3, 0x5
|
|
bl move_anim_start_t4
|
|
_0802FB6C:
|
|
ldrb r0, [r5]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r4
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x4]
|
|
b _0802FBA4
|
|
_0802FB7C:
|
|
ldrb r1, [r3]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
bne _0802FBA4
|
|
strb r0, [r3, 0x4]
|
|
ldrb r2, [r5]
|
|
adds r0, r2, 0
|
|
adds r1, r2, 0
|
|
movs r3, 0x1
|
|
bl move_anim_start_t4
|
|
ldr r1, _0802FBAC @ =gUnknown_03004330
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _0802FBB0 @ =sub_802DEAC
|
|
str r1, [r0]
|
|
_0802FBA4:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802FBAC: .4byte gUnknown_03004330
|
|
_0802FBB0: .4byte sub_802DEAC
|
|
thumb_func_end sub_802FB2C
|
|
|
|
thumb_func_start sub_802FBB4
|
|
sub_802FBB4: @ 802FBB4
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r0, _0802FBDC @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0802FBE8
|
|
ldr r0, _0802FBE0 @ =gUnknown_02024A60
|
|
ldrb r0, [r0]
|
|
bl battle_get_per_side_status
|
|
movs r1, 0x2
|
|
ands r1, r0
|
|
ldr r7, _0802FBE4 @ =0x0000fff0
|
|
cmp r1, 0
|
|
beq _0802FBEA
|
|
movs r7, 0x10
|
|
b _0802FBEA
|
|
.align 2, 0
|
|
_0802FBDC: .4byte gBattleTypeFlags
|
|
_0802FBE0: .4byte gUnknown_02024A60
|
|
_0802FBE4: .4byte 0x0000fff0
|
|
_0802FBE8:
|
|
movs r7, 0
|
|
_0802FBEA:
|
|
ldr r4, _0802FCB8 @ =gSaveBlock2
|
|
ldrb r0, [r4, 0x8]
|
|
ldr r6, _0802FCBC @ =gUnknown_02024A60
|
|
ldrb r1, [r6]
|
|
bl sub_8031AF4
|
|
ldrb r5, [r4, 0x8]
|
|
ldrb r0, [r6]
|
|
bl battle_get_per_side_status
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r5, 0
|
|
bl GetMonSpriteTemplate_803C5A0
|
|
ldr r0, _0802FCC0 @ =gUnknown_02024E8C
|
|
mov r8, r0
|
|
lsls r5, r7, 16
|
|
movs r0, 0xA0
|
|
lsls r0, 15
|
|
adds r5, r0
|
|
asrs r5, 16
|
|
ldr r1, _0802FCC4 @ =gTrainerBackPicCoords
|
|
ldrb r0, [r4, 0x8]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
movs r4, 0x8
|
|
subs r4, r0
|
|
lsls r4, 18
|
|
movs r0, 0xA0
|
|
lsls r0, 15
|
|
adds r4, r0
|
|
asrs r4, 16
|
|
ldrb r0, [r6]
|
|
bl sub_8079E90
|
|
adds r3, r0, 0
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
mov r0, r8
|
|
adds r1, r5, 0
|
|
adds r2, r4, 0
|
|
bl CreateSprite
|
|
ldr r5, _0802FCC8 @ =gUnknown_02024BE0
|
|
ldrb r1, [r6]
|
|
adds r1, r5
|
|
strb r0, [r1]
|
|
ldr r4, _0802FCCC @ =gSprites
|
|
ldrb r3, [r6]
|
|
adds r0, r3, r5
|
|
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, [r6]
|
|
adds r0, r5
|
|
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, [r6]
|
|
adds r0, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldr r1, _0802FCD0 @ =0x0000fffe
|
|
strh r1, [r0, 0x2E]
|
|
ldrb r0, [r6]
|
|
adds r0, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r4, 0x1C
|
|
adds r0, r4
|
|
ldr r1, _0802FCD4 @ =sub_80313A0
|
|
str r1, [r0]
|
|
ldr r1, _0802FCD8 @ =gUnknown_03004330
|
|
ldrb r0, [r6]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _0802FCDC @ =sub_802D204
|
|
str r1, [r0]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802FCB8: .4byte gSaveBlock2
|
|
_0802FCBC: .4byte gUnknown_02024A60
|
|
_0802FCC0: .4byte gUnknown_02024E8C
|
|
_0802FCC4: .4byte gTrainerBackPicCoords
|
|
_0802FCC8: .4byte gUnknown_02024BE0
|
|
_0802FCCC: .4byte gSprites
|
|
_0802FCD0: .4byte 0x0000fffe
|
|
_0802FCD4: .4byte sub_80313A0
|
|
_0802FCD8: .4byte gUnknown_03004330
|
|
_0802FCDC: .4byte sub_802D204
|
|
thumb_func_end sub_802FBB4
|
|
|
|
thumb_func_start sub_802FCE0
|
|
sub_802FCE0: @ 802FCE0
|
|
push {r4-r6,lr}
|
|
ldr r4, _0802FD94 @ =gSaveBlock2
|
|
ldrb r0, [r4, 0x8]
|
|
ldr r5, _0802FD98 @ =gUnknown_02024A60
|
|
ldrb r1, [r5]
|
|
bl sub_8031AF4
|
|
ldrb r6, [r4, 0x8]
|
|
ldrb r0, [r5]
|
|
bl battle_get_per_side_status
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r6, 0
|
|
bl GetMonSpriteTemplate_803C5A0
|
|
ldr r0, _0802FD9C @ =gUnknown_02024E8C
|
|
ldr r2, _0802FDA0 @ =gTrainerBackPicCoords
|
|
ldrb r1, [r4, 0x8]
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
movs r2, 0x8
|
|
subs r2, r1
|
|
lsls r2, 18
|
|
movs r1, 0xA0
|
|
lsls r1, 15
|
|
adds r2, r1
|
|
asrs r2, 16
|
|
movs r1, 0x50
|
|
movs r3, 0x1E
|
|
bl CreateSprite
|
|
ldr r6, _0802FDA4 @ =gUnknown_02024BE0
|
|
ldrb r1, [r5]
|
|
adds r1, r6
|
|
strb r0, [r1]
|
|
ldr r4, _0802FDA8 @ =gSprites
|
|
ldrb r3, [r5]
|
|
adds r0, r3, r6
|
|
ldrb r0, [r0]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r4
|
|
lsls r3, 4
|
|
ldrb r2, [r1, 0x5]
|
|
movs r0, 0xF
|
|
ands r0, r2
|
|
orrs r0, r3
|
|
strb r0, [r1, 0x5]
|
|
ldrb r0, [r5]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldr r1, _0802FDAC @ =0x0000ffa0
|
|
strh r1, [r0, 0x24]
|
|
ldrb r0, [r5]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
movs r1, 0x2
|
|
strh r1, [r0, 0x2E]
|
|
ldrb r0, [r5]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r4, 0x1C
|
|
adds r0, r4
|
|
ldr r1, _0802FDB0 @ =sub_80313A0
|
|
str r1, [r0]
|
|
ldr r1, _0802FDB4 @ =gUnknown_03004330
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _0802FDB8 @ =sub_802D23C
|
|
str r1, [r0]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802FD94: .4byte gSaveBlock2
|
|
_0802FD98: .4byte gUnknown_02024A60
|
|
_0802FD9C: .4byte gUnknown_02024E8C
|
|
_0802FDA0: .4byte gTrainerBackPicCoords
|
|
_0802FDA4: .4byte gUnknown_02024BE0
|
|
_0802FDA8: .4byte gSprites
|
|
_0802FDAC: .4byte 0x0000ffa0
|
|
_0802FDB0: .4byte sub_80313A0
|
|
_0802FDB4: .4byte gUnknown_03004330
|
|
_0802FDB8: .4byte sub_802D23C
|
|
thumb_func_end sub_802FCE0
|
|
|
|
thumb_func_start sub_802FDBC
|
|
sub_802FDBC: @ 802FDBC
|
|
push {r4-r6,lr}
|
|
ldr r5, _0802FE5C @ =gUnknown_02024BE0
|
|
ldr r6, _0802FE60 @ =gUnknown_02024A60
|
|
ldrb r0, [r6]
|
|
adds r0, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r4, _0802FE64 @ =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, _0802FE68 @ =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, _0802FE6C @ =sub_8078B34
|
|
str r1, [r0]
|
|
ldrb r0, [r6]
|
|
adds r0, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldr r1, _0802FE70 @ =SpriteCallbackDummy
|
|
bl oamt_set_x3A_32
|
|
ldrb r0, [r6]
|
|
adds r0, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
movs r1, 0x1
|
|
bl StartSpriteAnim
|
|
ldr r1, _0802FE74 @ =gUnknown_03004330
|
|
ldrb r0, [r6]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _0802FE78 @ =sub_802D274
|
|
str r1, [r0]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802FE5C: .4byte gUnknown_02024BE0
|
|
_0802FE60: .4byte gUnknown_02024A60
|
|
_0802FE64: .4byte gSprites
|
|
_0802FE68: .4byte 0x0000ffd8
|
|
_0802FE6C: .4byte sub_8078B34
|
|
_0802FE70: .4byte SpriteCallbackDummy
|
|
_0802FE74: .4byte gUnknown_03004330
|
|
_0802FE78: .4byte sub_802D274
|
|
thumb_func_end sub_802FDBC
|
|
|
|
thumb_func_start sub_802FE7C
|
|
sub_802FE7C: @ 802FE7C
|
|
push {r4,r5,lr}
|
|
ldr r5, _0802FEC0 @ =gUnknown_02024A60
|
|
ldrb r2, [r5]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
ldr r4, _0802FEC4 @ =0x02017810
|
|
adds r3, r0, r4
|
|
ldrb r0, [r3, 0x4]
|
|
cmp r0, 0
|
|
bne _0802FEC8
|
|
lsls r0, r2, 2
|
|
adds r1, r4, 0
|
|
subs r1, 0x10
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0802FEAE
|
|
adds r0, r2, 0
|
|
adds r1, r2, 0
|
|
movs r3, 0x5
|
|
bl move_anim_start_t4
|
|
_0802FEAE:
|
|
ldrb r0, [r5]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r4
|
|
ldrb r0, [r1, 0x4]
|
|
adds r0, 0x1
|
|
strb r0, [r1, 0x4]
|
|
b _0802FF3E
|
|
.align 2, 0
|
|
_0802FEC0: .4byte gUnknown_02024A60
|
|
_0802FEC4: .4byte 0x02017810
|
|
_0802FEC8:
|
|
ldrb r1, [r3]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0
|
|
bne _0802FF3E
|
|
strb r4, [r3, 0x4]
|
|
ldr r2, _0802FF44 @ =gUnknown_02024A6A
|
|
ldrb r1, [r5]
|
|
lsls r0, r1, 1
|
|
adds r0, r2
|
|
ldrh r2, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
ldr r2, _0802FF48 @ =gPlayerParty
|
|
adds r0, r2
|
|
bl sub_80324F8
|
|
movs r1, 0x40
|
|
negs r1, r1
|
|
movs r0, 0x10
|
|
bl PlaySE12WithPanning
|
|
ldr r2, _0802FF4C @ =gSprites
|
|
ldr r3, _0802FF50 @ =gUnknown_02024BE0
|
|
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, _0802FF54 @ =sub_80105EC
|
|
str r1, [r0]
|
|
ldr r1, _0802FF58 @ =gUnknown_03004330
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _0802FF5C @ =sub_802DE10
|
|
str r1, [r0]
|
|
_0802FF3E:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802FF44: .4byte gUnknown_02024A6A
|
|
_0802FF48: .4byte gPlayerParty
|
|
_0802FF4C: .4byte gSprites
|
|
_0802FF50: .4byte gUnknown_02024BE0
|
|
_0802FF54: .4byte sub_80105EC
|
|
_0802FF58: .4byte gUnknown_03004330
|
|
_0802FF5C: .4byte sub_802DE10
|
|
thumb_func_end sub_802FE7C
|
|
|
|
thumb_func_start sub_802FF60
|
|
sub_802FF60: @ 802FF60
|
|
push {lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r1, 0x2
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
bl dp01_tbl1_exec_completed
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802FF60
|
|
|
|
thumb_func_start sub_802FF80
|
|
sub_802FF80: @ 802FF80
|
|
push {r4,r5,lr}
|
|
ldr r1, _0802FFBC @ =0x02017840
|
|
movs r0, 0x4
|
|
strb r0, [r1, 0x8]
|
|
ldr r1, _0802FFC0 @ =gUnknown_02024E6D
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
ldr r5, _0802FFC4 @ =gUnknown_02024A60
|
|
ldrb r4, [r5]
|
|
movs r0, 0x1
|
|
bl battle_get_side_with_given_state
|
|
adds r2, r0, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
adds r0, r4, 0
|
|
adds r1, r4, 0
|
|
movs r3, 0x3
|
|
bl move_anim_start_t4
|
|
ldr r1, _0802FFC8 @ =gUnknown_03004330
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _0802FFCC @ =bx_wait_t1
|
|
str r1, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802FFBC: .4byte 0x02017840
|
|
_0802FFC0: .4byte gUnknown_02024E6D
|
|
_0802FFC4: .4byte gUnknown_02024A60
|
|
_0802FFC8: .4byte gUnknown_03004330
|
|
_0802FFCC: .4byte bx_wait_t1
|
|
thumb_func_end sub_802FF80
|
|
|
|
thumb_func_start sub_802FFD0
|
|
sub_802FFD0: @ 802FFD0
|
|
push {r4,r5,lr}
|
|
ldr r1, _08030014 @ =gUnknown_02023A60
|
|
ldr r5, _08030018 @ =gUnknown_02024A60
|
|
ldrb r0, [r5]
|
|
lsls r0, 9
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
ldr r0, _0803001C @ =0x02017840
|
|
strb r1, [r0, 0x8]
|
|
ldr r1, _08030020 @ =gUnknown_02024E6D
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
ldrb r4, [r5]
|
|
movs r0, 0x1
|
|
bl battle_get_side_with_given_state
|
|
adds r2, r0, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
adds r0, r4, 0
|
|
adds r1, r4, 0
|
|
movs r3, 0x3
|
|
bl move_anim_start_t4
|
|
ldr r1, _08030024 @ =gUnknown_03004330
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _08030028 @ =bx_wait_t1
|
|
str r1, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030014: .4byte gUnknown_02023A60
|
|
_08030018: .4byte gUnknown_02024A60
|
|
_0803001C: .4byte 0x02017840
|
|
_08030020: .4byte gUnknown_02024E6D
|
|
_08030024: .4byte gUnknown_03004330
|
|
_08030028: .4byte bx_wait_t1
|
|
thumb_func_end sub_802FFD0
|
|
|
|
thumb_func_start sub_803002C
|
|
sub_803002C: @ 803002C
|
|
push {lr}
|
|
ldr r1, _08030054 @ =gUnknown_02023A60
|
|
ldr r0, _08030058 @ =gUnknown_02024A60
|
|
ldrb r0, [r0]
|
|
lsls r0, 9
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0803004A
|
|
_08030040:
|
|
subs r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
bne _08030040
|
|
_0803004A:
|
|
bl dp01_tbl1_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030054: .4byte gUnknown_02023A60
|
|
_08030058: .4byte gUnknown_02024A60
|
|
thumb_func_end sub_803002C
|
|
|
|
thumb_func_start dp01t_0F_1_move_anim
|
|
dp01t_0F_1_move_anim: @ 803005C
|
|
push {r4-r6,lr}
|
|
ldr r6, _08030140 @ =gUnknown_02024A60
|
|
ldrb r0, [r6]
|
|
bl mplay_80342A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803006E
|
|
b _0803017E
|
|
_0803006E:
|
|
ldr r0, _08030144 @ =gUnknown_02023A60
|
|
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, _08030148 @ =gUnknown_0202F7C4
|
|
mov r1, r12
|
|
adds r1, 0x3
|
|
adds r2, r1
|
|
ldrb r1, [r2]
|
|
strb r1, [r5]
|
|
ldr r4, _0803014C @ =gUnknown_0202F7BC
|
|
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, _08030150 @ =gUnknown_0202F7B8
|
|
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, _08030154 @ =gUnknown_0202F7BE
|
|
ldrb r1, [r6]
|
|
lsls r1, 9
|
|
mov r2, r12
|
|
adds r2, 0xA
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
strb r1, [r3]
|
|
ldr r4, _08030158 @ =gUnknown_0202F7C0
|
|
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, _0803015C @ =gUnknown_0202F7B4
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
mov r1, r12
|
|
adds r1, 0x10
|
|
adds r2, r1
|
|
str r2, [r3]
|
|
ldr r3, _08030160 @ =gUnknown_02024E70
|
|
ldrb r1, [r6]
|
|
lsls r1, 2
|
|
adds r1, r3
|
|
ldr r2, [r2]
|
|
str r2, [r1]
|
|
ldrb r1, [r5]
|
|
bl sub_8031720
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0
|
|
beq _08030164
|
|
bl dp01_tbl1_exec_completed
|
|
b _0803017E
|
|
.align 2, 0
|
|
_08030140: .4byte gUnknown_02024A60
|
|
_08030144: .4byte gUnknown_02023A60
|
|
_08030148: .4byte gUnknown_0202F7C4
|
|
_0803014C: .4byte gUnknown_0202F7BC
|
|
_08030150: .4byte gUnknown_0202F7B8
|
|
_08030154: .4byte gUnknown_0202F7BE
|
|
_08030158: .4byte gUnknown_0202F7C0
|
|
_0803015C: .4byte gUnknown_0202F7B4
|
|
_08030160: .4byte gUnknown_02024E70
|
|
_08030164:
|
|
ldrb r1, [r6]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _08030184 @ =0x02017810
|
|
adds r0, r1
|
|
strb r2, [r0, 0x4]
|
|
ldr r1, _08030188 @ =gUnknown_03004330
|
|
ldrb r0, [r6]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _0803018C @ =sub_8030190
|
|
str r1, [r0]
|
|
_0803017E:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030184: .4byte 0x02017810
|
|
_08030188: .4byte gUnknown_03004330
|
|
_0803018C: .4byte sub_8030190
|
|
thumb_func_end dp01t_0F_1_move_anim
|
|
|
|
thumb_func_start sub_8030190
|
|
sub_8030190: @ 8030190
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
ldr r2, _080301D4 @ =gUnknown_02023A60
|
|
ldr r5, _080301D8 @ =gUnknown_02024A60
|
|
ldrb r3, [r5]
|
|
lsls r1, r3, 9
|
|
adds r0, r2, 0x1
|
|
mov r9, r0
|
|
adds r0, r1, r0
|
|
ldrb r4, [r0]
|
|
adds r6, r2, 0x2
|
|
mov r8, r6
|
|
adds r0, r1, r6
|
|
ldrb r0, [r0]
|
|
lsls r0, 8
|
|
orrs r4, r0
|
|
adds r2, 0xB
|
|
adds r1, r2
|
|
ldrb r7, [r1]
|
|
lsls r0, r3, 1
|
|
adds r0, r3
|
|
lsls r0, 2
|
|
ldr r6, _080301DC @ =0x02017810
|
|
adds r0, r6
|
|
ldrb r2, [r0, 0x4]
|
|
cmp r2, 0x1
|
|
beq _0803021E
|
|
cmp r2, 0x1
|
|
bgt _080301E0
|
|
cmp r2, 0
|
|
beq _080301EA
|
|
b _080302E8
|
|
.align 2, 0
|
|
_080301D4: .4byte gUnknown_02023A60
|
|
_080301D8: .4byte gUnknown_02024A60
|
|
_080301DC: .4byte 0x02017810
|
|
_080301E0:
|
|
cmp r2, 0x2
|
|
beq _08030244
|
|
cmp r2, 0x3
|
|
beq _080302B0
|
|
b _080302E8
|
|
_080301EA:
|
|
lsls r1, r3, 2
|
|
adds r0, r6, 0
|
|
subs r0, 0x10
|
|
adds r1, r0
|
|
ldrb r2, [r1]
|
|
movs r0, 0xC
|
|
ands r0, r2
|
|
cmp r0, 0x4
|
|
bne _0803020E
|
|
movs r0, 0x8
|
|
orrs r0, r2
|
|
strb r0, [r1]
|
|
ldrb r2, [r5]
|
|
adds r0, r2, 0
|
|
adds r1, r2, 0
|
|
movs r3, 0x5
|
|
bl move_anim_start_t4
|
|
_0803020E:
|
|
ldrb r0, [r5]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r6
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x4]
|
|
b _080302E8
|
|
_0803021E:
|
|
ldrb r1, [r0]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080302E8
|
|
movs r0, 0
|
|
bl sub_80326EC
|
|
adds r0, r4, 0
|
|
bl ExecuteMoveAnim
|
|
ldrb r0, [r5]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r6
|
|
movs r0, 0x2
|
|
strb r0, [r1, 0x4]
|
|
b _080302E8
|
|
_08030244:
|
|
ldr r0, _080302A0 @ =gAnimScriptCallback
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
ldr r0, _080302A4 @ =gAnimScriptActive
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080302E8
|
|
movs r0, 0x1
|
|
bl sub_80326EC
|
|
ldrb r2, [r5]
|
|
lsls r0, r2, 2
|
|
adds r4, r6, 0
|
|
subs r4, 0x10
|
|
adds r0, r4
|
|
ldrb r1, [r0]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0803028C
|
|
cmp r7, 0x1
|
|
bhi _0803028C
|
|
adds r0, r2, 0
|
|
adds r1, r2, 0
|
|
movs r3, 0x6
|
|
bl move_anim_start_t4
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldrb r2, [r0]
|
|
movs r1, 0x9
|
|
negs r1, r1
|
|
ands r1, r2
|
|
strb r1, [r0]
|
|
_0803028C:
|
|
ldr r0, _080302A8 @ =gUnknown_02024A60
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080302AC @ =0x02017810
|
|
adds r0, r1
|
|
movs r1, 0x3
|
|
strb r1, [r0, 0x4]
|
|
b _080302E8
|
|
.align 2, 0
|
|
_080302A0: .4byte gAnimScriptCallback
|
|
_080302A4: .4byte gAnimScriptActive
|
|
_080302A8: .4byte gUnknown_02024A60
|
|
_080302AC: .4byte 0x02017810
|
|
_080302B0:
|
|
ldrb r1, [r0]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0
|
|
bne _080302E8
|
|
bl sub_8031F24
|
|
ldrb r0, [r5]
|
|
lsls r2, r0, 9
|
|
mov r3, r9
|
|
adds r1, r2, r3
|
|
ldrb r1, [r1]
|
|
add r2, r8
|
|
ldrb r2, [r2]
|
|
lsls r2, 8
|
|
orrs r1, r2
|
|
bl sub_80324BC
|
|
ldrb r1, [r5]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
strb r4, [r0, 0x4]
|
|
bl dp01_tbl1_exec_completed
|
|
_080302E8:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8030190
|
|
|
|
thumb_func_start sub_80302F4
|
|
sub_80302F4: @ 80302F4
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _08030338 @ =gUnknown_030042A4
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
ldr r0, _0803033C @ =gUnknown_030042A0
|
|
strh r1, [r0]
|
|
ldr r4, _08030340 @ =gUnknown_02024A60
|
|
ldrb r0, [r4]
|
|
lsls r0, 9
|
|
ldr r1, _08030344 @ =gUnknown_02023A62
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
bl sub_8120AA8
|
|
ldr r0, _08030348 @ =gUnknown_03004210
|
|
ldr r1, _0803034C @ =gUnknown_020238CC
|
|
movs r2, 0xF
|
|
str r2, [sp]
|
|
movs r2, 0x90
|
|
movs r3, 0x2
|
|
bl sub_8002EB0
|
|
ldr r1, _08030350 @ =gUnknown_03004330
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _08030354 @ =sub_802DF18
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030338: .4byte gUnknown_030042A4
|
|
_0803033C: .4byte gUnknown_030042A0
|
|
_08030340: .4byte gUnknown_02024A60
|
|
_08030344: .4byte gUnknown_02023A62
|
|
_08030348: .4byte gUnknown_03004210
|
|
_0803034C: .4byte gUnknown_020238CC
|
|
_08030350: .4byte gUnknown_03004330
|
|
_08030354: .4byte sub_802DF18
|
|
thumb_func_end sub_80302F4
|
|
|
|
thumb_func_start dp01t_11_1_message_for_player_only
|
|
dp01t_11_1_message_for_player_only: @ 8030358
|
|
push {lr}
|
|
ldr r0, _08030370 @ =gUnknown_02024A60
|
|
ldrb r0, [r0]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08030374
|
|
bl sub_80302F4
|
|
b _08030378
|
|
.align 2, 0
|
|
_08030370: .4byte gUnknown_02024A60
|
|
_08030374:
|
|
bl dp01_tbl1_exec_completed
|
|
_08030378:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end dp01t_11_1_message_for_player_only
|
|
|
|
.section .text_8030464
|
|
|
|
thumb_func_start nullsub_42
|
|
nullsub_42: @ 8030464
|
|
bx lr
|
|
thumb_func_end nullsub_42
|
|
|
|
thumb_func_start sub_8030468
|
|
sub_8030468: @ 8030468
|
|
push {lr}
|
|
sub sp, 0x4
|
|
ldr r1, _08030494 @ =0x0000ffff
|
|
ldr r3, _08030498 @ =0x00002d9f
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r2, 0xC
|
|
bl sub_814A5C0
|
|
bl sub_80304A8
|
|
ldr r1, _0803049C @ =gUnknown_03004330
|
|
ldr r0, _080304A0 @ =gUnknown_02024A60
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080304A4 @ =sub_802C68C
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030494: .4byte 0x0000ffff
|
|
_08030498: .4byte 0x00002d9f
|
|
_0803049C: .4byte gUnknown_03004330
|
|
_080304A0: .4byte gUnknown_02024A60
|
|
_080304A4: .4byte sub_802C68C
|
|
thumb_func_end sub_8030468
|
|
|
|
thumb_func_start sub_80304A8
|
|
sub_80304A8: @ 80304A8
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r1, _08030510 @ =gUnknown_030042A4
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
ldr r1, _08030514 @ =gUnknown_030042A0
|
|
movs r2, 0xA0
|
|
lsls r2, 1
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
bl sub_802E1B0
|
|
ldr r1, _08030518 @ =gUnknown_03004344
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
ldr r1, _0803051C @ =gUnknown_02024E64
|
|
ldr r4, _08030520 @ =gUnknown_02024A60
|
|
ldrb r0, [r4]
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl sub_802E3B4
|
|
ldr r1, _08030524 @ =gUnknown_02023A60
|
|
ldrb r0, [r4]
|
|
lsls r0, 9
|
|
adds r1, 0x2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _08030500
|
|
ldr r4, _08030528 @ =gUnknown_03004210
|
|
ldr r1, _0803052C @ =gUnknown_08400D38
|
|
movs r2, 0xA4
|
|
lsls r2, 2
|
|
movs r0, 0x37
|
|
str r0, [sp]
|
|
adds r0, r4, 0
|
|
movs r3, 0x17
|
|
bl InitWindow
|
|
adds r0, r4, 0
|
|
bl sub_8002F44
|
|
_08030500:
|
|
bl sub_802E220
|
|
bl sub_802E2D4
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030510: .4byte gUnknown_030042A4
|
|
_08030514: .4byte gUnknown_030042A0
|
|
_08030518: .4byte gUnknown_03004344
|
|
_0803051C: .4byte gUnknown_02024E64
|
|
_08030520: .4byte gUnknown_02024A60
|
|
_08030524: .4byte gUnknown_02023A60
|
|
_08030528: .4byte gUnknown_03004210
|
|
_0803052C: .4byte gUnknown_08400D38
|
|
thumb_func_end sub_80304A8
|
|
|
|
thumb_func_start sub_8030530
|
|
sub_8030530: @ 8030530
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, _0803057C @ =gUnknown_03004330
|
|
ldr r2, _08030580 @ =gUnknown_02024A60
|
|
ldrb r0, [r2]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _08030584 @ =sub_802E004
|
|
str r1, [r0]
|
|
ldr r1, _08030588 @ =gUnknown_02024E6C
|
|
ldrb r0, [r2]
|
|
strb r0, [r1]
|
|
movs r3, 0
|
|
ldr r5, _0803058C @ =gUnknown_02038470
|
|
ldr r4, _08030590 @ =gUnknown_02023A60
|
|
_0803055E:
|
|
adds r0, r3, r5
|
|
ldrb r1, [r2]
|
|
lsls r1, 9
|
|
adds r1, 0x1
|
|
adds r1, r3, r1
|
|
adds r1, r4
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r3, 0x1
|
|
cmp r3, 0x2
|
|
ble _0803055E
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803057C: .4byte gUnknown_03004330
|
|
_08030580: .4byte gUnknown_02024A60
|
|
_08030584: .4byte sub_802E004
|
|
_08030588: .4byte gUnknown_02024E6C
|
|
_0803058C: .4byte gUnknown_02038470
|
|
_08030590: .4byte gUnknown_02023A60
|
|
thumb_func_end sub_8030530
|
|
|
|
thumb_func_start sub_8030594
|
|
sub_8030594: @ 8030594
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _08030644 @ =TaskDummy
|
|
movs r1, 0xFF
|
|
bl CreateTask
|
|
ldr r3, _08030648 @ =gUnknown_0300434C
|
|
ldr r5, _0803064C @ =gUnknown_02024A60
|
|
ldrb r1, [r5]
|
|
adds r1, r3
|
|
strb r0, [r1]
|
|
ldr r4, _08030650 @ =gTasks
|
|
ldrb r2, [r5]
|
|
adds r3, r2, r3
|
|
ldrb r0, [r3]
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r4
|
|
ldr r4, _08030654 @ =gUnknown_02023A60
|
|
lsls r2, 9
|
|
adds r3, r4, 0x1
|
|
adds r2, r3
|
|
ldrb r2, [r2]
|
|
movs r0, 0xF
|
|
ands r0, r2
|
|
strh r0, [r1, 0x8]
|
|
ldr r2, _08030658 @ =0x02000000
|
|
ldrb r0, [r5]
|
|
lsls r0, 9
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
lsrs r0, 4
|
|
ldr r3, _0803065C @ =0x00016054
|
|
adds r1, r2, r3
|
|
strb r0, [r1]
|
|
ldrb r0, [r5]
|
|
lsls r0, 9
|
|
adds r1, r4, 0x2
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
adds r3, 0x49
|
|
adds r0, r2, r3
|
|
strb r1, [r0]
|
|
ldrb r0, [r5]
|
|
lsls r0, 9
|
|
adds r1, r4, 0x3
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
ldr r1, _08030660 @ =0x000160c0
|
|
adds r2, r1
|
|
strb r0, [r2]
|
|
movs r2, 0
|
|
ldr r3, _08030664 @ =gUnknown_02038470
|
|
_08030600:
|
|
adds r0, r2, r3
|
|
ldrb r1, [r5]
|
|
lsls r1, 9
|
|
adds r1, 0x4
|
|
adds r1, r2, r1
|
|
adds r1, r4
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, 0x2
|
|
ble _08030600
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, _08030668 @ =gUnknown_03004330
|
|
ldr r2, _0803064C @ =gUnknown_02024A60
|
|
ldrb r0, [r2]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _0803066C @ =sub_802DF30
|
|
str r1, [r0]
|
|
ldr r1, _08030670 @ =gUnknown_02024E6C
|
|
ldrb r0, [r2]
|
|
strb r0, [r1]
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030644: .4byte TaskDummy
|
|
_08030648: .4byte gUnknown_0300434C
|
|
_0803064C: .4byte gUnknown_02024A60
|
|
_08030650: .4byte gTasks
|
|
_08030654: .4byte gUnknown_02023A60
|
|
_08030658: .4byte 0x02000000
|
|
_0803065C: .4byte 0x00016054
|
|
_08030660: .4byte 0x000160c0
|
|
_08030664: .4byte gUnknown_02038470
|
|
_08030668: .4byte gUnknown_03004330
|
|
_0803066C: .4byte sub_802DF30
|
|
_08030670: .4byte gUnknown_02024E6C
|
|
thumb_func_end sub_8030594
|
|
|
|
thumb_func_start sub_8030674
|
|
sub_8030674: @ 8030674
|
|
push {lr}
|
|
sub sp, 0x4
|
|
bl sub_80325B8
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r1, 0x2
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
bl dp01_tbl1_exec_completed
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8030674
|
|
|
|
thumb_func_start sub_8030698
|
|
sub_8030698: @ 8030698
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
bl load_gfxc_health_bar
|
|
ldr r3, _08030710 @ =gUnknown_02023A60
|
|
ldr r0, _08030714 @ =gUnknown_02024A60
|
|
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, _08030718 @ =0x00007fff
|
|
cmp r7, r0
|
|
beq _08030728
|
|
ldr r6, _0803071C @ =gUnknown_02024A6A
|
|
lsls r0, r4, 1
|
|
adds r0, r6
|
|
ldrh r0, [r0]
|
|
movs r5, 0x64
|
|
muls r0, r5
|
|
ldr r4, _08030720 @ =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, _08030724 @ =gUnknown_03004340
|
|
adds r1, r0, r1
|
|
ldrb r1, [r1]
|
|
str r7, [sp]
|
|
mov r2, r8
|
|
bl sub_8043D84
|
|
b _08030762
|
|
.align 2, 0
|
|
_08030710: .4byte gUnknown_02023A60
|
|
_08030714: .4byte gUnknown_02024A60
|
|
_08030718: .4byte 0x00007fff
|
|
_0803071C: .4byte gUnknown_02024A6A
|
|
_08030720: .4byte gPlayerParty
|
|
_08030724: .4byte gUnknown_03004340
|
|
_08030728:
|
|
ldr r1, _08030780 @ =gUnknown_02024A6A
|
|
lsls r0, r4, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08030784 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x3A
|
|
bl GetMonData
|
|
adds r2, r0, 0
|
|
mov r1, r9
|
|
ldrb r0, [r1]
|
|
ldr r4, _08030788 @ =gUnknown_03004340
|
|
adds r1, r0, r4
|
|
ldrb r1, [r1]
|
|
str r7, [sp]
|
|
movs r3, 0
|
|
bl sub_8043D84
|
|
mov r1, r9
|
|
ldrb r0, [r1]
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80440EC
|
|
_08030762:
|
|
ldr r1, _0803078C @ =gUnknown_03004330
|
|
ldr r0, _08030790 @ =gUnknown_02024A60
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _08030794 @ =bx_t1_healthbar_update
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030780: .4byte gUnknown_02024A6A
|
|
_08030784: .4byte gPlayerParty
|
|
_08030788: .4byte gUnknown_03004340
|
|
_0803078C: .4byte gUnknown_03004330
|
|
_08030790: .4byte gUnknown_02024A60
|
|
_08030794: .4byte bx_t1_healthbar_update
|
|
thumb_func_end sub_8030698
|
|
|
|
thumb_func_start sub_8030798
|
|
sub_8030798: @ 8030798
|
|
push {r4-r7,lr}
|
|
ldr r5, _080307C4 @ =gUnknown_02023A60
|
|
ldr r6, _080307C8 @ =gUnknown_02024A60
|
|
ldrb r0, [r6]
|
|
lsls r0, 9
|
|
adds r1, r5, 0x1
|
|
adds r0, r1
|
|
ldrb r7, [r0]
|
|
movs r0, 0x64
|
|
adds r1, r7, 0
|
|
muls r1, r0
|
|
ldr r0, _080307CC @ =gPlayerParty
|
|
adds r4, r1, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x38
|
|
bl GetMonData
|
|
cmp r0, 0x63
|
|
bls _080307D0
|
|
bl dp01_tbl1_exec_completed
|
|
b _0803081C
|
|
.align 2, 0
|
|
_080307C4: .4byte gUnknown_02023A60
|
|
_080307C8: .4byte gUnknown_02024A60
|
|
_080307CC: .4byte gPlayerParty
|
|
_080307D0:
|
|
movs r0, 0x1
|
|
bl load_gfxc_health_bar
|
|
adds r0, r4, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
ldrb r1, [r6]
|
|
lsls r1, 9
|
|
adds r0, r5, 0x2
|
|
adds r0, r1, r0
|
|
ldrb r4, [r0]
|
|
adds r0, r5, 0x3
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
lsls r0, 8
|
|
orrs r4, r0
|
|
ldr r0, _08030824 @ =sub_802D924
|
|
movs r1, 0xA
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _08030828 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
strh r7, [r1, 0x8]
|
|
strh r4, [r1, 0xA]
|
|
ldrb r0, [r6]
|
|
strh r0, [r1, 0xC]
|
|
ldr r1, _0803082C @ =gUnknown_03004330
|
|
ldrb r0, [r6]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _08030830 @ =nullsub_91
|
|
str r1, [r0]
|
|
_0803081C:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030824: .4byte sub_802D924
|
|
_08030828: .4byte gTasks
|
|
_0803082C: .4byte gUnknown_03004330
|
|
_08030830: .4byte nullsub_91
|
|
thumb_func_end sub_8030798
|
|
|
|
thumb_func_start sub_8030834
|
|
sub_8030834: @ 8030834
|
|
push {r4,lr}
|
|
ldr r4, _0803088C @ =gUnknown_02024A60
|
|
ldrb r0, [r4]
|
|
bl mplay_80342A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08030884
|
|
ldr r0, _08030890 @ =gUnknown_03004340
|
|
ldrb r1, [r4]
|
|
adds r0, r1, r0
|
|
ldrb r0, [r0]
|
|
ldr r2, _08030894 @ =gUnknown_02024A6A
|
|
lsls r1, 1
|
|
adds r1, r2
|
|
ldrh r2, [r1]
|
|
movs r1, 0x64
|
|
muls r1, r2
|
|
ldr r2, _08030898 @ =gPlayerParty
|
|
adds r1, r2
|
|
movs r2, 0x9
|
|
bl sub_8045A5C
|
|
ldrb r0, [r4]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
ldr r0, _0803089C @ =0x02017810
|
|
adds r1, r0
|
|
ldrb r2, [r1]
|
|
movs r0, 0x11
|
|
negs r0, r0
|
|
ands r0, r2
|
|
strb r0, [r1]
|
|
ldr r1, _080308A0 @ =gUnknown_03004330
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080308A4 @ =sub_802E434
|
|
str r1, [r0]
|
|
_08030884:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803088C: .4byte gUnknown_02024A60
|
|
_08030890: .4byte gUnknown_03004340
|
|
_08030894: .4byte gUnknown_02024A6A
|
|
_08030898: .4byte gPlayerParty
|
|
_0803089C: .4byte 0x02017810
|
|
_080308A0: .4byte gUnknown_03004330
|
|
_080308A4: .4byte sub_802E434
|
|
thumb_func_end sub_8030834
|
|
|
|
thumb_func_start sub_80308A8
|
|
sub_80308A8: @ 80308A8
|
|
push {r4,r5,lr}
|
|
ldr r5, _08030900 @ =gUnknown_02024A60
|
|
ldrb r0, [r5]
|
|
bl mplay_80342A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080308F8
|
|
ldr r4, _08030904 @ =gUnknown_02023A60
|
|
ldrb r3, [r5]
|
|
lsls r3, 9
|
|
adds r0, r4, 0x1
|
|
adds r0, r3, r0
|
|
ldrb r0, [r0]
|
|
adds r1, r4, 0x2
|
|
adds r1, r3, r1
|
|
ldrb r1, [r1]
|
|
adds r2, r4, 0x3
|
|
adds r2, r3, r2
|
|
ldrb r2, [r2]
|
|
lsls r2, 8
|
|
orrs r1, r2
|
|
adds r2, r4, 0x4
|
|
adds r2, r3, r2
|
|
ldrb r2, [r2]
|
|
lsls r2, 16
|
|
orrs r1, r2
|
|
adds r4, 0x5
|
|
adds r3, r4
|
|
ldrb r2, [r3]
|
|
lsls r2, 24
|
|
orrs r1, r2
|
|
bl move_anim_start_t2_for_situation
|
|
ldr r1, _08030908 @ =gUnknown_03004330
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _0803090C @ =sub_802E434
|
|
str r1, [r0]
|
|
_080308F8:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030900: .4byte gUnknown_02024A60
|
|
_08030904: .4byte gUnknown_02023A60
|
|
_08030908: .4byte gUnknown_03004330
|
|
_0803090C: .4byte sub_802E434
|
|
thumb_func_end sub_80308A8
|
|
|
|
thumb_func_start sub_8030910
|
|
sub_8030910: @ 8030910
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
sub sp, 0x4
|
|
ldr r0, _0803096C @ =gUnknown_02024A6A
|
|
mov r8, r0
|
|
ldr r4, _08030970 @ =gUnknown_02024A60
|
|
ldrb r0, [r4]
|
|
lsls r0, 1
|
|
add r0, r8
|
|
ldrh r0, [r0]
|
|
movs r6, 0x64
|
|
muls r0, r6
|
|
ldr r5, _08030974 @ =gPlayerParty
|
|
adds r0, r5
|
|
movs r1, 0x37
|
|
bl GetMonData
|
|
ldr r2, _08030978 @ =gUnknown_02023A60
|
|
ldrb r1, [r4]
|
|
lsls r1, 9
|
|
adds r2, 0x1
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
eors r0, r1
|
|
mov r1, sp
|
|
strb r0, [r1]
|
|
ldrb r0, [r4]
|
|
lsls r0, 1
|
|
add r0, r8
|
|
ldrh r0, [r0]
|
|
muls r0, r6
|
|
adds r0, r5
|
|
movs r1, 0x37
|
|
mov r2, sp
|
|
bl SetMonData
|
|
bl dp01_tbl1_exec_completed
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803096C: .4byte gUnknown_02024A6A
|
|
_08030970: .4byte gUnknown_02024A60
|
|
_08030974: .4byte gPlayerParty
|
|
_08030978: .4byte gUnknown_02023A60
|
|
thumb_func_end sub_8030910
|
|
|
|
thumb_func_start sub_803097C
|
|
sub_803097C: @ 803097C
|
|
push {lr}
|
|
bl dp01_tbl1_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803097C
|
|
|
|
thumb_func_start sub_8030988
|
|
sub_8030988: @ 8030988
|
|
push {r4,r5,lr}
|
|
ldr r3, _080309EC @ =gUnknown_02023A60
|
|
ldr r0, _080309F0 @ =gUnknown_02024A60
|
|
ldrb r2, [r0]
|
|
lsls r2, 9
|
|
adds r0, r3, 0x1
|
|
adds r0, r2, r0
|
|
ldrb r5, [r0]
|
|
adds r0, r3, 0x2
|
|
adds r0, r2, r0
|
|
ldrb r0, [r0]
|
|
lsls r0, 8
|
|
orrs r5, r0
|
|
adds r0, r3, 0x3
|
|
adds r0, r2, r0
|
|
ldrb r0, [r0]
|
|
lsls r0, 16
|
|
orrs r5, r0
|
|
adds r0, r3, 0x4
|
|
adds r0, r2, r0
|
|
ldrb r4, [r0]
|
|
lsls r4, 24
|
|
adds r0, r3, 0x5
|
|
adds r0, r2, r0
|
|
ldrb r1, [r0]
|
|
adds r0, r3, 0x6
|
|
adds r0, r2, r0
|
|
ldrb r0, [r0]
|
|
lsls r0, 8
|
|
orrs r1, r0
|
|
lsls r1, 16
|
|
adds r3, 0x7
|
|
adds r2, r3
|
|
orrs r5, r4
|
|
lsrs r4, r1, 16
|
|
movs r0, 0x80
|
|
lsls r0, 5
|
|
cmp r4, r0
|
|
bhi _080309F8
|
|
ldr r0, _080309F4 @ =0x040000d4
|
|
str r2, [r0]
|
|
str r5, [r0, 0x4]
|
|
lsrs r1, 17
|
|
movs r2, 0x80
|
|
lsls r2, 24
|
|
orrs r1, r2
|
|
str r1, [r0, 0x8]
|
|
ldr r0, [r0, 0x8]
|
|
b _08030A24
|
|
.align 2, 0
|
|
_080309EC: .4byte gUnknown_02023A60
|
|
_080309F0: .4byte gUnknown_02024A60
|
|
_080309F4: .4byte 0x040000d4
|
|
_080309F8:
|
|
ldr r3, _08030A30 @ =0x040000d4
|
|
str r2, [r3]
|
|
str r5, [r3, 0x4]
|
|
ldr r0, _08030A34 @ =0x80000800
|
|
str r0, [r3, 0x8]
|
|
ldr r0, [r3, 0x8]
|
|
movs r0, 0x80
|
|
lsls r0, 5
|
|
adds r2, r0
|
|
adds r5, r0
|
|
ldr r1, _08030A38 @ =0xfffff000
|
|
adds r4, r1
|
|
cmp r4, r0
|
|
bhi _080309F8
|
|
str r2, [r3]
|
|
str r5, [r3, 0x4]
|
|
lsrs r0, r4, 1
|
|
movs r1, 0x80
|
|
lsls r1, 24
|
|
orrs r0, r1
|
|
str r0, [r3, 0x8]
|
|
ldr r0, [r3, 0x8]
|
|
_08030A24:
|
|
bl dp01_tbl1_exec_completed
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030A30: .4byte 0x040000d4
|
|
_08030A34: .4byte 0x80000800
|
|
_08030A38: .4byte 0xfffff000
|
|
thumb_func_end sub_8030988
|
|
|
|
thumb_func_start sub_8030A3C
|
|
sub_8030A3C: @ 8030A3C
|
|
push {lr}
|
|
ldr r2, _08030A64 @ =gUnknown_02023A60
|
|
ldr r0, _08030A68 @ =gUnknown_02024A60
|
|
ldrb r1, [r0]
|
|
lsls r1, 9
|
|
adds r0, r2, 0x1
|
|
adds r0, r1, r0
|
|
ldrb r0, [r0]
|
|
adds r2, 0x2
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
lsls r1, 8
|
|
orrs r0, r1
|
|
bl PlayBGM
|
|
bl dp01_tbl1_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030A64: .4byte gUnknown_02023A60
|
|
_08030A68: .4byte gUnknown_02024A60
|
|
thumb_func_end sub_8030A3C
|
|
|
|
thumb_func_start sub_8030A6C
|
|
sub_8030A6C: @ 8030A6C
|
|
push {lr}
|
|
bl dp01_tbl1_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8030A6C
|
|
|
|
thumb_func_start sub_8030A78
|
|
sub_8030A78: @ 8030A78
|
|
push {lr}
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl dp01_build_cmdbuf_x21_a_bb
|
|
bl dp01_tbl1_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8030A78
|
|
|
|
thumb_func_start sub_8030A8C
|
|
sub_8030A8C: @ 8030A8C
|
|
push {lr}
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl dp01_build_cmdbuf_x22_a_three_bytes
|
|
bl dp01_tbl1_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8030A8C
|
|
|
|
thumb_func_start sub_8030AA0
|
|
sub_8030AA0: @ 8030AA0
|
|
push {lr}
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
bl dp01_build_cmdbuf_x23_aa_0
|
|
bl dp01_tbl1_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8030AA0
|
|
|
|
thumb_func_start sub_8030AB4
|
|
sub_8030AB4: @ 8030AB4
|
|
push {lr}
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
bl dp01_build_cmdbuf_x24_aa_0
|
|
bl dp01_tbl1_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8030AB4
|
|
|
|
thumb_func_start sub_8030AC8
|
|
sub_8030AC8: @ 8030AC8
|
|
push {lr}
|
|
ldr r2, _08030AE0 @ =gUnknown_020238C8
|
|
ldrb r1, [r2]
|
|
movs r0, 0x80
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
bl dp01_tbl1_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030AE0: .4byte gUnknown_020238C8
|
|
thumb_func_end sub_8030AC8
|
|
|
|
thumb_func_start sub_8030AE4
|
|
sub_8030AE4: @ 8030AE4
|
|
push {lr}
|
|
ldr r3, _08030B10 @ =gUnknown_020238C8
|
|
ldr r1, _08030B14 @ =gUnknown_02023A60
|
|
ldr r0, _08030B18 @ =gUnknown_02024A60
|
|
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 dp01_tbl1_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030B10: .4byte gUnknown_020238C8
|
|
_08030B14: .4byte gUnknown_02023A60
|
|
_08030B18: .4byte gUnknown_02024A60
|
|
thumb_func_end sub_8030AE4
|
|
|
|
thumb_func_start sub_8030B1C
|
|
sub_8030B1C: @ 8030B1C
|
|
push {lr}
|
|
ldr r2, _08030B30 @ =gUnknown_020238C8
|
|
ldrb r1, [r2]
|
|
movs r0, 0x7F
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
bl dp01_tbl1_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030B30: .4byte gUnknown_020238C8
|
|
thumb_func_end sub_8030B1C
|
|
|
|
thumb_func_start sub_8030B34
|
|
sub_8030B34: @ 8030B34
|
|
push {lr}
|
|
ldr r3, _08030B58 @ =gUnknown_020238C8
|
|
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 dp01_tbl1_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030B58: .4byte gUnknown_020238C8
|
|
thumb_func_end sub_8030B34
|
|
|
|
thumb_func_start dp01t_29_1_blink
|
|
dp01t_29_1_blink: @ 8030B5C
|
|
push {r4,lr}
|
|
ldr r3, _08030B84 @ =gSprites
|
|
ldr r2, _08030B88 @ =gUnknown_02024BE0
|
|
ldr r4, _08030B8C @ =gUnknown_02024A60
|
|
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 _08030B90
|
|
bl dp01_tbl1_exec_completed
|
|
b _08030BBA
|
|
.align 2, 0
|
|
_08030B84: .4byte gSprites
|
|
_08030B88: .4byte gUnknown_02024BE0
|
|
_08030B8C: .4byte gUnknown_02024A60
|
|
_08030B90:
|
|
ldr r1, _08030BC0 @ =gUnknown_02024E6D
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
ldrb r0, [r4]
|
|
adds r0, r2
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r3
|
|
movs r1, 0
|
|
strh r1, [r0, 0x30]
|
|
ldrb r0, [r4]
|
|
bl sub_8047858
|
|
ldr r1, _08030BC4 @ =gUnknown_03004330
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _08030BC8 @ =bx_blink_t1
|
|
str r1, [r0]
|
|
_08030BBA:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030BC0: .4byte gUnknown_02024E6D
|
|
_08030BC4: .4byte gUnknown_03004330
|
|
_08030BC8: .4byte bx_blink_t1
|
|
thumb_func_end dp01t_29_1_blink
|
|
|
|
thumb_func_start sub_8030BCC
|
|
sub_8030BCC: @ 8030BCC
|
|
push {lr}
|
|
bl dp01_tbl1_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8030BCC
|
|
|
|
thumb_func_start sub_8030BD8
|
|
sub_8030BD8: @ 8030BD8
|
|
push {r4,lr}
|
|
ldr r4, _08030C14 @ =gUnknown_02024A60
|
|
ldrb r0, [r4]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
movs r3, 0x3F
|
|
cmp r0, 0
|
|
bne _08030BEC
|
|
movs r3, 0xC0
|
|
_08030BEC:
|
|
ldr r2, _08030C18 @ =gUnknown_02023A60
|
|
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 dp01_tbl1_exec_completed
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030C14: .4byte gUnknown_02024A60
|
|
_08030C18: .4byte gUnknown_02023A60
|
|
thumb_func_end sub_8030BD8
|
|
|
|
thumb_func_start sub_8030C1C
|
|
sub_8030C1C: @ 8030C1C
|
|
push {lr}
|
|
ldr r2, _08030C44 @ =gUnknown_02023A60
|
|
ldr r0, _08030C48 @ =gUnknown_02024A60
|
|
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 dp01_tbl1_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030C44: .4byte gUnknown_02023A60
|
|
_08030C48: .4byte gUnknown_02024A60
|
|
thumb_func_end sub_8030C1C
|
|
|
|
thumb_func_start sub_8030C4C
|
|
sub_8030C4C: @ 8030C4C
|
|
push {lr}
|
|
ldr r1, _08030C80 @ =gUnknown_02024A6A
|
|
ldr r0, _08030C84 @ =gUnknown_02024A60
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08030C88 @ =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 dp01_tbl1_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030C80: .4byte gUnknown_02024A6A
|
|
_08030C84: .4byte gUnknown_02024A60
|
|
_08030C88: .4byte gPlayerParty
|
|
thumb_func_end sub_8030C4C
|
|
|
|
thumb_func_start dp01t_2E_1_battle_intro
|
|
dp01t_2E_1_battle_intro: @ 8030C8C
|
|
push {lr}
|
|
ldr r1, _08030CB4 @ =gUnknown_02023A60
|
|
ldr r0, _08030CB8 @ =gUnknown_02024A60
|
|
ldrb r0, [r0]
|
|
lsls r0, 9
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl sub_80E43C0
|
|
ldr r2, _08030CBC @ =gUnknown_02024DE8
|
|
ldrh r0, [r2]
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strh r0, [r2]
|
|
bl dp01_tbl1_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030CB4: .4byte gUnknown_02023A60
|
|
_08030CB8: .4byte gUnknown_02024A60
|
|
_08030CBC: .4byte gUnknown_02024DE8
|
|
thumb_func_end dp01t_2E_1_battle_intro
|
|
|
|
thumb_func_start sub_8030CC0
|
|
sub_8030CC0: @ 8030CC0
|
|
push {r4-r7,lr}
|
|
ldr r6, _08030DF8 @ =gUnknown_02024BE0
|
|
ldr r7, _08030DFC @ =gUnknown_02024A60
|
|
ldrb r0, [r7]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r5, _08030E00 @ =gSprites
|
|
adds r0, r5
|
|
bl oamt_add_pos2_onto_pos1
|
|
ldrb r0, [r7]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
movs r1, 0x32
|
|
strh r1, [r0, 0x2E]
|
|
ldrb r0, [r7]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
ldr r1, _08030E04 @ =0x0000ffd8
|
|
strh r1, [r0, 0x32]
|
|
ldrb r0, [r7]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
ldrh r1, [r0, 0x22]
|
|
strh r1, [r0, 0x36]
|
|
ldrb r0, [r7]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r1, r5, 0
|
|
adds r1, 0x1C
|
|
adds r0, r1
|
|
ldr r1, _08030E08 @ =sub_8078B34
|
|
str r1, [r0]
|
|
ldrb r2, [r7]
|
|
adds r0, r2, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
strh r2, [r0, 0x38]
|
|
ldrb r0, [r7]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
ldr r1, _08030E0C @ =sub_8030E38
|
|
bl oamt_set_x3A_32
|
|
ldrb r0, [r7]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
movs r1, 0x1
|
|
bl StartSpriteAnim
|
|
ldr r0, _08030E10 @ =0x0000d6f8
|
|
bl AllocSpritePalette
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
ldr r1, _08030E14 @ =gTrainerBackPicPaletteTable
|
|
ldr r0, _08030E18 @ =gSaveBlock2
|
|
ldrb r0, [r0, 0x8]
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
lsrs r4, 20
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
adds r1, r4, r2
|
|
movs r2, 0x20
|
|
bl LoadCompressedPalette
|
|
ldrb r0, [r7]
|
|
adds r0, r6
|
|
ldrb r0, [r0]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r5
|
|
ldrb r2, [r1, 0x5]
|
|
movs r0, 0xF
|
|
ands r0, r2
|
|
orrs r0, r4
|
|
strb r0, [r1, 0x5]
|
|
ldr r0, _08030E1C @ =task05_08033660
|
|
movs r1, 0x5
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r4, _08030E20 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r4
|
|
ldrb r0, [r7]
|
|
strh r0, [r1, 0x8]
|
|
ldrb r3, [r7]
|
|
lsls r0, r3, 1
|
|
adds r0, r3
|
|
lsls r0, 2
|
|
ldr r2, _08030E24 @ =0x02017810
|
|
adds r0, r2
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08030DDC
|
|
ldr r0, _08030E28 @ =gUnknown_02024E68
|
|
adds r0, r3, r0
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r4
|
|
ldr r1, _08030E2C @ =sub_8044CA0
|
|
str r1, [r0]
|
|
_08030DDC:
|
|
adds r2, 0x30
|
|
ldrb r0, [r2, 0x9]
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x9]
|
|
ldr r1, _08030E30 @ =gUnknown_03004330
|
|
ldrb r0, [r7]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _08030E34 @ =nullsub_91
|
|
str r1, [r0]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030DF8: .4byte gUnknown_02024BE0
|
|
_08030DFC: .4byte gUnknown_02024A60
|
|
_08030E00: .4byte gSprites
|
|
_08030E04: .4byte 0x0000ffd8
|
|
_08030E08: .4byte sub_8078B34
|
|
_08030E0C: .4byte sub_8030E38
|
|
_08030E10: .4byte 0x0000d6f8
|
|
_08030E14: .4byte gTrainerBackPicPaletteTable
|
|
_08030E18: .4byte gSaveBlock2
|
|
_08030E1C: .4byte task05_08033660
|
|
_08030E20: .4byte gTasks
|
|
_08030E24: .4byte 0x02017810
|
|
_08030E28: .4byte gUnknown_02024E68
|
|
_08030E2C: .4byte sub_8044CA0
|
|
_08030E30: .4byte gUnknown_03004330
|
|
_08030E34: .4byte nullsub_91
|
|
thumb_func_end sub_8030CC0
|
|
|
|
thumb_func_start sub_8030E38
|
|
sub_8030E38: @ 8030E38
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
ldrh r4, [r5, 0x38]
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl FreeSpriteOamMatrix
|
|
ldrb r0, [r5, 0x5]
|
|
lsrs r0, 4
|
|
bl GetSpritePaletteTagByPaletteNum
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl FreeSpritePaletteByTag
|
|
adds r0, r5, 0
|
|
bl DestroySprite
|
|
ldr r1, _08030E90 @ =gUnknown_02024A6A
|
|
lsls r0, r4, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08030E94 @ =gPlayerParty
|
|
adds r0, r1
|
|
adds r1, r4, 0
|
|
bl sub_80318FC
|
|
ldr r0, _08030E98 @ =gUnknown_02024BE0
|
|
adds r4, r0
|
|
ldrb r1, [r4]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _08030E9C @ =gSprites
|
|
adds r0, r1
|
|
movs r1, 0
|
|
bl StartSpriteAnim
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030E90: .4byte gUnknown_02024A6A
|
|
_08030E94: .4byte gPlayerParty
|
|
_08030E98: .4byte gUnknown_02024BE0
|
|
_08030E9C: .4byte gSprites
|
|
thumb_func_end sub_8030E38
|
|
|
|
thumb_func_start task05_08033660
|
|
task05_08033660: @ 8030EA0
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
ldr r1, _08030EC8 @ =gTasks
|
|
lsls r0, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r1, r0, r1
|
|
ldrh r2, [r1, 0xA]
|
|
movs r3, 0xA
|
|
ldrsh r0, [r1, r3]
|
|
cmp r0, 0x1E
|
|
bgt _08030ECC
|
|
adds r0, r2, 0x1
|
|
strh r0, [r1, 0xA]
|
|
b _08030F88
|
|
.align 2, 0
|
|
_08030EC8: .4byte gTasks
|
|
_08030ECC:
|
|
ldr r7, _08030F0C @ =gUnknown_02024A60
|
|
ldrb r0, [r7]
|
|
mov r9, r0
|
|
ldrh r0, [r1, 0x8]
|
|
strb r0, [r7]
|
|
bl IsDoubleBattle
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08030EEC
|
|
ldr r0, _08030F10 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08030F1C
|
|
_08030EEC:
|
|
ldr r0, _08030F14 @ =gUnknown_02023A60
|
|
ldrb r1, [r7]
|
|
lsls r2, r1, 9
|
|
adds r0, 0x1
|
|
adds r2, r0
|
|
ldr r0, _08030F18 @ =gUnknown_02024A6A
|
|
lsls r1, 1
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
strb r0, [r2]
|
|
ldrb r0, [r7]
|
|
movs r1, 0
|
|
bl sub_802F934
|
|
b _08030F70
|
|
.align 2, 0
|
|
_08030F0C: .4byte gUnknown_02024A60
|
|
_08030F10: .4byte gBattleTypeFlags
|
|
_08030F14: .4byte gUnknown_02023A60
|
|
_08030F18: .4byte gUnknown_02024A6A
|
|
_08030F1C:
|
|
ldr r4, _08030F94 @ =gUnknown_02023A60
|
|
ldrb r0, [r7]
|
|
lsls r1, r0, 9
|
|
adds r4, 0x1
|
|
adds r1, r4
|
|
ldr r5, _08030F98 @ =gUnknown_02024A6A
|
|
lsls r0, 1
|
|
adds r0, r5
|
|
ldrh r0, [r0]
|
|
strb r0, [r1]
|
|
ldrb r0, [r7]
|
|
movs r1, 0
|
|
bl sub_802F934
|
|
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, _08030F9C @ =gPlayerParty
|
|
adds r0, r2
|
|
bl sub_80318FC
|
|
ldrb r0, [r7]
|
|
movs r1, 0
|
|
bl sub_802F934
|
|
ldrb r0, [r7]
|
|
eors r0, r6
|
|
strb r0, [r7]
|
|
_08030F70:
|
|
ldr r1, _08030FA0 @ =gUnknown_03004330
|
|
ldr r2, _08030FA4 @ =gUnknown_02024A60
|
|
ldrb r0, [r2]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _08030FA8 @ =sub_802D500
|
|
str r1, [r0]
|
|
mov r3, r9
|
|
strb r3, [r2]
|
|
mov r0, r8
|
|
bl DestroyTask
|
|
_08030F88:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030F94: .4byte gUnknown_02023A60
|
|
_08030F98: .4byte gUnknown_02024A6A
|
|
_08030F9C: .4byte gPlayerParty
|
|
_08030FA0: .4byte gUnknown_03004330
|
|
_08030FA4: .4byte gUnknown_02024A60
|
|
_08030FA8: .4byte sub_802D500
|
|
thumb_func_end task05_08033660
|
|
|
|
thumb_func_start sub_8030FAC
|
|
sub_8030FAC: @ 8030FAC
|
|
push {r4-r6,lr}
|
|
ldr r1, _08030FD4 @ =gUnknown_02023A60
|
|
ldr r0, _08030FD8 @ =gUnknown_02024A60
|
|
ldrb r2, [r0]
|
|
lsls r0, r2, 9
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08030FDC
|
|
adds r0, r2, 0
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08030FDC
|
|
bl dp01_tbl1_exec_completed
|
|
b _08031044
|
|
.align 2, 0
|
|
_08030FD4: .4byte gUnknown_02023A60
|
|
_08030FD8: .4byte gUnknown_02024A60
|
|
_08030FDC:
|
|
ldr r5, _0803104C @ =gUnknown_02024A60
|
|
ldrb r1, [r5]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r6, _08031050 @ =0x02017810
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
movs r2, 0x1
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
ldrb r0, [r5]
|
|
lsls r3, r0, 9
|
|
ldr r4, _08031054 @ =gUnknown_02023A64
|
|
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_8044804
|
|
ldr r2, _08031058 @ =gUnknown_02024E68
|
|
ldrb r1, [r5]
|
|
adds r1, r2
|
|
movs r2, 0
|
|
strb r0, [r1]
|
|
ldrb r1, [r5]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
strb r2, [r0, 0x5]
|
|
ldrb r1, [r5]
|
|
lsls r0, r1, 9
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08031038
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
movs r1, 0x5D
|
|
strb r1, [r0, 0x5]
|
|
_08031038:
|
|
ldr r0, _0803105C @ =gUnknown_03004330
|
|
ldrb r1, [r5]
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldr r0, _08031060 @ =sub_8031064
|
|
str r0, [r1]
|
|
_08031044:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803104C: .4byte gUnknown_02024A60
|
|
_08031050: .4byte 0x02017810
|
|
_08031054: .4byte gUnknown_02023A64
|
|
_08031058: .4byte gUnknown_02024E68
|
|
_0803105C: .4byte gUnknown_03004330
|
|
_08031060: .4byte sub_8031064
|
|
thumb_func_end sub_8030FAC
|
|
|
|
thumb_func_start sub_8031064
|
|
sub_8031064: @ 8031064
|
|
push {r4,lr}
|
|
ldr r4, _0803109C @ =gUnknown_02024A60
|
|
ldrb r1, [r4]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r3, _080310A0 @ =0x02017810
|
|
adds r0, r3
|
|
ldrb r1, [r0, 0x5]
|
|
adds r2, r1, 0x1
|
|
strb r2, [r0, 0x5]
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
cmp r1, 0x5C
|
|
bls _08031094
|
|
ldrb r0, [r4]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r3
|
|
movs r0, 0
|
|
strb r0, [r1, 0x5]
|
|
bl dp01_tbl1_exec_completed
|
|
_08031094:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803109C: .4byte gUnknown_02024A60
|
|
_080310A0: .4byte 0x02017810
|
|
thumb_func_end sub_8031064
|
|
|
|
thumb_func_start sub_80310A4
|
|
sub_80310A4: @ 80310A4
|
|
push {lr}
|
|
ldr r0, _080310DC @ =gUnknown_02024A60
|
|
ldrb r3, [r0]
|
|
lsls r0, r3, 1
|
|
adds r0, r3
|
|
lsls r0, 2
|
|
ldr r1, _080310E0 @ =0x02017810
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080310D2
|
|
ldr r2, _080310E4 @ =gTasks
|
|
ldr r0, _080310E8 @ =gUnknown_02024E68
|
|
adds r0, r3, r0
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
ldr r1, _080310EC @ =sub_8044CA0
|
|
str r1, [r0]
|
|
_080310D2:
|
|
bl dp01_tbl1_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080310DC: .4byte gUnknown_02024A60
|
|
_080310E0: .4byte 0x02017810
|
|
_080310E4: .4byte gTasks
|
|
_080310E8: .4byte gUnknown_02024E68
|
|
_080310EC: .4byte sub_8044CA0
|
|
thumb_func_end sub_80310A4
|
|
|
|
thumb_func_start sub_80310F0
|
|
sub_80310F0: @ 80310F0
|
|
push {r4,lr}
|
|
ldr r4, _08031110 @ =gUnknown_02024A60
|
|
ldrb r0, [r4]
|
|
movs r1, 0x1
|
|
bl dp11b_obj_free
|
|
ldrb r0, [r4]
|
|
movs r1, 0
|
|
bl dp11b_obj_free
|
|
bl dp01_tbl1_exec_completed
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08031110: .4byte gUnknown_02024A60
|
|
thumb_func_end sub_80310F0
|
|
|
|
thumb_func_start dp01t_33_1_enemy_move
|
|
dp01t_33_1_enemy_move: @ 8031114
|
|
push {r4,lr}
|
|
ldr r4, _08031164 @ =gUnknown_02024A60
|
|
ldrb r0, [r4]
|
|
bl sub_8078874
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803115A
|
|
ldr r3, _08031168 @ =gSprites
|
|
ldr r0, _0803116C @ =gUnknown_02024BE0
|
|
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, _08031170 @ =gUnknown_02023A60
|
|
lsls r1, 9
|
|
adds r0, 0x1
|
|
adds r1, r0
|
|
adds r2, 0x3E
|
|
movs r0, 0x1
|
|
ldrb r1, [r1]
|
|
ands r1, r0
|
|
lsls r1, 2
|
|
ldrb r3, [r2]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r3
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldrb r0, [r4]
|
|
bl sub_8031F88
|
|
_0803115A:
|
|
bl dp01_tbl1_exec_completed
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08031164: .4byte gUnknown_02024A60
|
|
_08031168: .4byte gSprites
|
|
_0803116C: .4byte gUnknown_02024BE0
|
|
_08031170: .4byte gUnknown_02023A60
|
|
thumb_func_end dp01t_33_1_enemy_move
|
|
|
|
thumb_func_start bx_exec_buffer_A_ch0_tbl1
|
|
bx_exec_buffer_A_ch0_tbl1: @ 8031174
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
ldr r6, _080311B8 @ =gUnknown_02024A60
|
|
ldrb r0, [r6]
|
|
bl mplay_80342A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080311CC
|
|
ldr r5, _080311BC @ =gUnknown_02023A60
|
|
ldrb r2, [r6]
|
|
lsls r1, r2, 9
|
|
adds r0, r5, 0x1
|
|
adds r0, r1, r0
|
|
ldrb r3, [r0]
|
|
adds r0, r5, 0x2
|
|
adds r0, r1, r0
|
|
ldrb r4, [r0]
|
|
adds r5, 0x3
|
|
adds r1, r5
|
|
ldrb r0, [r1]
|
|
lsls r0, 8
|
|
orrs r4, r0
|
|
str r4, [sp]
|
|
adds r0, r2, 0
|
|
adds r1, r2, 0
|
|
bl move_anim_start_t3
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080311C0
|
|
bl dp01_tbl1_exec_completed
|
|
b _080311CC
|
|
.align 2, 0
|
|
_080311B8: .4byte gUnknown_02024A60
|
|
_080311BC: .4byte gUnknown_02023A60
|
|
_080311C0:
|
|
ldr r0, _080311D4 @ =gUnknown_03004330
|
|
ldrb r1, [r6]
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldr r0, _080311D8 @ =sub_802E460
|
|
str r0, [r1]
|
|
_080311CC:
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080311D4: .4byte gUnknown_03004330
|
|
_080311D8: .4byte sub_802E460
|
|
thumb_func_end bx_exec_buffer_A_ch0_tbl1
|
|
|
|
thumb_func_start dp01t_35_1_link_standby_message_and_free_vram
|
|
dp01t_35_1_link_standby_message_and_free_vram: @ 80311DC
|
|
push {r4,lr}
|
|
ldr r1, _080311FC @ =gUnknown_02023A60
|
|
ldr r0, _08031200 @ =gUnknown_02024A60
|
|
ldrb r0, [r0]
|
|
lsls r0, 9
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _0803120E
|
|
cmp r0, 0x1
|
|
bgt _08031204
|
|
cmp r0, 0
|
|
beq _0803120A
|
|
b _0803122C
|
|
.align 2, 0
|
|
_080311FC: .4byte gUnknown_02023A60
|
|
_08031200: .4byte gUnknown_02024A60
|
|
_08031204:
|
|
cmp r0, 0x2
|
|
beq _08031228
|
|
b _0803122C
|
|
_0803120A:
|
|
bl b_link_standby_message
|
|
_0803120E:
|
|
ldr r4, _08031224 @ =gUnknown_02024A60
|
|
ldrb r0, [r4]
|
|
movs r1, 0x1
|
|
bl dp11b_obj_free
|
|
ldrb r0, [r4]
|
|
movs r1, 0
|
|
bl dp11b_obj_free
|
|
b _0803122C
|
|
.align 2, 0
|
|
_08031224: .4byte gUnknown_02024A60
|
|
_08031228:
|
|
bl b_link_standby_message
|
|
_0803122C:
|
|
bl dp01_tbl1_exec_completed
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end dp01t_35_1_link_standby_message_and_free_vram
|
|
|
|
thumb_func_start sub_8031238
|
|
sub_8031238: @ 8031238
|
|
push {r4,lr}
|
|
ldr r1, _08031258 @ =gUnknown_02023A60
|
|
ldr r4, _0803125C @ =gUnknown_02024A60
|
|
ldrb r3, [r4]
|
|
lsls r0, r3, 9
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
ldrb r2, [r0]
|
|
cmp r2, 0x1
|
|
beq _08031280
|
|
cmp r2, 0x1
|
|
bgt _08031260
|
|
cmp r2, 0
|
|
beq _08031266
|
|
b _08031290
|
|
.align 2, 0
|
|
_08031258: .4byte gUnknown_02023A60
|
|
_0803125C: .4byte gUnknown_02024A60
|
|
_08031260:
|
|
cmp r2, 0x2
|
|
beq _08031288
|
|
b _08031290
|
|
_08031266:
|
|
ldr r0, _08031278 @ =gUnknown_02024E60
|
|
adds r0, r3, r0
|
|
strb r2, [r0]
|
|
ldr r1, _0803127C @ =gUnknown_02024E64
|
|
ldrb r0, [r4]
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
b _08031290
|
|
.align 2, 0
|
|
_08031278: .4byte gUnknown_02024E60
|
|
_0803127C: .4byte gUnknown_02024E64
|
|
_08031280:
|
|
ldr r0, _08031284 @ =gUnknown_02024E60
|
|
b _0803128A
|
|
.align 2, 0
|
|
_08031284: .4byte gUnknown_02024E60
|
|
_08031288:
|
|
ldr r0, _0803129C @ =gUnknown_02024E64
|
|
_0803128A:
|
|
adds r0, r3, r0
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
_08031290:
|
|
bl dp01_tbl1_exec_completed
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803129C: .4byte gUnknown_02024E64
|
|
thumb_func_end sub_8031238
|
|
|
|
thumb_func_start sub_80312A0
|
|
sub_80312A0: @ 80312A0
|
|
push {r4,lr}
|
|
ldr r2, _080312D8 @ =gUnknown_02024D26
|
|
ldr r1, _080312DC @ =gUnknown_02023A60
|
|
ldr r4, _080312E0 @ =gUnknown_02024A60
|
|
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 dp01_tbl1_exec_completed
|
|
ldr r1, _080312E4 @ =gUnknown_03004330
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080312E8 @ =sub_802D18C
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080312D8: .4byte gUnknown_02024D26
|
|
_080312DC: .4byte gUnknown_02023A60
|
|
_080312E0: .4byte gUnknown_02024A60
|
|
_080312E4: .4byte gUnknown_03004330
|
|
_080312E8: .4byte sub_802D18C
|
|
thumb_func_end sub_80312A0
|
|
|
|
thumb_func_start nullsub_43
|
|
nullsub_43: @ 80312EC
|
|
bx lr
|
|
thumb_func_end nullsub_43
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|