mirror of
https://github.com/pret/pokeruby.git
synced 2026-08-10 03:17:53 -05:00
4676 lines
80 KiB
ArmAsm
4676 lines
80 KiB
ArmAsm
.include "constants/gba_constants.inc"
|
|
.include "constants/species_constants.inc"
|
|
.include "asm/macros.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start dp01t_00_4_getattr
|
|
dp01t_00_4_getattr: @ 803807C
|
|
push {r4-r6,lr}
|
|
sub sp, 0x100
|
|
movs r6, 0
|
|
ldr r1, _080380A8 @ =gUnknown_02023A60
|
|
ldr r0, _080380AC @ =gUnknown_02024A60
|
|
ldrb r2, [r0]
|
|
lsls r0, r2, 9
|
|
adds r1, 0x2
|
|
adds r1, r0, r1
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
bne _080380B4
|
|
ldr r0, _080380B0 @ =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 _080380D6
|
|
.align 2, 0
|
|
_080380A8: .4byte gUnknown_02023A60
|
|
_080380AC: .4byte gUnknown_02024A60
|
|
_080380B0: .4byte gUnknown_02024A6A
|
|
_080380B4:
|
|
ldrb r4, [r1]
|
|
movs r5, 0
|
|
_080380B8:
|
|
movs r0, 0x1
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _080380CE
|
|
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
|
|
_080380CE:
|
|
lsrs r4, 1
|
|
adds r5, 0x1
|
|
cmp r5, 0x5
|
|
ble _080380B8
|
|
_080380D6:
|
|
lsls r1, r6, 16
|
|
lsrs r1, 16
|
|
movs r0, 0x1
|
|
mov r2, sp
|
|
bl dp01_build_cmdbuf_x1D_1D_numargs_varargs
|
|
bl dp01_tbl4_exec_completed
|
|
add sp, 0x100
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end dp01t_00_4_getattr
|
|
|
|
thumb_func_start dp01_getattr_by_ch1_for_player_pokemon__
|
|
dp01_getattr_by_ch1_for_player_pokemon__: @ 80380F0
|
|
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, _08038124 @ =gUnknown_02023A60
|
|
ldr r3, _08038128 @ =gUnknown_02024A60
|
|
ldrb r0, [r3]
|
|
lsls r0, 9
|
|
adds r1, r2, 0x1
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x3B
|
|
bls _0803811A
|
|
bl _08038886
|
|
_0803811A:
|
|
lsls r0, 2
|
|
ldr r1, _0803812C @ =_08038130
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08038124: .4byte gUnknown_02023A60
|
|
_08038128: .4byte gUnknown_02024A60
|
|
_0803812C: .4byte _08038130
|
|
.align 2, 0
|
|
_08038130:
|
|
.4byte _08038220
|
|
.4byte _08038444
|
|
.4byte _08038454
|
|
.4byte _08038464
|
|
.4byte _080384CC
|
|
.4byte _080384CC
|
|
.4byte _080384CC
|
|
.4byte _080384CC
|
|
.4byte _080384E8
|
|
.4byte _08038524
|
|
.4byte _08038524
|
|
.4byte _08038524
|
|
.4byte _08038524
|
|
.4byte _08038886
|
|
.4byte _08038886
|
|
.4byte _08038886
|
|
.4byte _08038886
|
|
.4byte _08038540
|
|
.4byte _08038550
|
|
.4byte _08038580
|
|
.4byte _08038590
|
|
.4byte _080385A0
|
|
.4byte _080385B0
|
|
.4byte _080385C0
|
|
.4byte _080385D0
|
|
.4byte _080385E0
|
|
.4byte _080385F0
|
|
.4byte _08038600
|
|
.4byte _08038610
|
|
.4byte _08038620
|
|
.4byte _08038630
|
|
.4byte _08038640
|
|
.4byte _08038690
|
|
.4byte _080386A0
|
|
.4byte _080386B0
|
|
.4byte _080386C0
|
|
.4byte _080386D0
|
|
.4byte _080386E0
|
|
.4byte _080386F0
|
|
.4byte _08038700
|
|
.4byte _08038710
|
|
.4byte _08038744
|
|
.4byte _08038754
|
|
.4byte _08038764
|
|
.4byte _08038774
|
|
.4byte _08038784
|
|
.4byte _08038794
|
|
.4byte _080387A4
|
|
.4byte _080387B4
|
|
.4byte _080387D4
|
|
.4byte _080387E4
|
|
.4byte _080387F4
|
|
.4byte _08038804
|
|
.4byte _08038814
|
|
.4byte _08038824
|
|
.4byte _08038834
|
|
.4byte _08038844
|
|
.4byte _08038854
|
|
.4byte _08038864
|
|
.4byte _08038874
|
|
_08038220:
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _08038434 @ =gEnemyParty
|
|
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
|
|
_0803826C:
|
|
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 _0803826C
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _08038434 @ =gEnemyParty
|
|
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, _08038438 @ =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, _0803843C @ =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, _08038440 @ =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
|
|
_08038424:
|
|
adds r0, r7, r6
|
|
adds r1, r2, r6
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
cmp r6, 0x57
|
|
bls _08038424
|
|
b _08038886
|
|
.align 2, 0
|
|
_08038434: .4byte gEnemyParty
|
|
_08038438: .4byte 0xfffffc1f
|
|
_0803843C: .4byte 0xfff07fff
|
|
_08038440: .4byte 0xfffffe0f
|
|
_08038444:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038450 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0xB
|
|
b _080387BE
|
|
.align 2, 0
|
|
_08038450: .4byte gEnemyParty
|
|
_08038454:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038460 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0xC
|
|
b _080387BE
|
|
.align 2, 0
|
|
_08038460: .4byte gEnemyParty
|
|
_08038464:
|
|
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, _080384C8 @ =gEnemyParty
|
|
adds r4, r1, r0
|
|
mov r8, r9
|
|
_0803847A:
|
|
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 _0803847A
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080384C8 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x15
|
|
bl GetMonData
|
|
mov r1, r9
|
|
strb r0, [r1, 0xC]
|
|
mov r2, r9
|
|
movs r6, 0
|
|
_080384B8:
|
|
adds r0, r7, r6
|
|
adds r1, r2, r6
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
cmp r6, 0xF
|
|
bls _080384B8
|
|
b _08038886
|
|
.align 2, 0
|
|
_080384C8: .4byte gEnemyParty
|
|
_080384CC:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080384E4 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r1, [r3]
|
|
lsls r1, 9
|
|
adds r2, 0x1
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
adds r1, 0x9
|
|
b _080387BE
|
|
.align 2, 0
|
|
_080384E4: .4byte gEnemyParty
|
|
_080384E8:
|
|
movs r6, 0
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r2, _08038520 @ =gEnemyParty
|
|
mov r8, r2
|
|
_080384F4:
|
|
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 _080384F4
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038520 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x15
|
|
bl GetMonData
|
|
adds r1, r7, r6
|
|
strb r0, [r1]
|
|
adds r6, 0x1
|
|
b _08038886
|
|
.align 2, 0
|
|
_08038520: .4byte gEnemyParty
|
|
_08038524:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0803853C @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r1, [r3]
|
|
lsls r1, 9
|
|
adds r2, 0x1
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
adds r1, 0x8
|
|
b _0803887E
|
|
.align 2, 0
|
|
_0803853C: .4byte gEnemyParty
|
|
_08038540:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0803854C @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
b _0803855A
|
|
.align 2, 0
|
|
_0803854C: .4byte gEnemyParty
|
|
_08038550:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0803857C @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x19
|
|
_0803855A:
|
|
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 _08038886
|
|
.align 2, 0
|
|
_0803857C: .4byte gEnemyParty
|
|
_08038580:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0803858C @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x1A
|
|
b _0803887E
|
|
.align 2, 0
|
|
_0803858C: .4byte gEnemyParty
|
|
_08038590:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0803859C @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x1B
|
|
b _0803887E
|
|
.align 2, 0
|
|
_0803859C: .4byte gEnemyParty
|
|
_080385A0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080385AC @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x1C
|
|
b _0803887E
|
|
.align 2, 0
|
|
_080385AC: .4byte gEnemyParty
|
|
_080385B0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080385BC @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x1D
|
|
b _0803887E
|
|
.align 2, 0
|
|
_080385BC: .4byte gEnemyParty
|
|
_080385C0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080385CC @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x1E
|
|
b _0803887E
|
|
.align 2, 0
|
|
_080385CC: .4byte gEnemyParty
|
|
_080385D0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080385DC @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x1F
|
|
b _0803887E
|
|
.align 2, 0
|
|
_080385DC: .4byte gEnemyParty
|
|
_080385E0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080385EC @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x20
|
|
b _0803887E
|
|
.align 2, 0
|
|
_080385EC: .4byte gEnemyParty
|
|
_080385F0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080385FC @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x22
|
|
b _0803887E
|
|
.align 2, 0
|
|
_080385FC: .4byte gEnemyParty
|
|
_08038600:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0803860C @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x23
|
|
b _0803887E
|
|
.align 2, 0
|
|
_0803860C: .4byte gEnemyParty
|
|
_08038610:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0803861C @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x24
|
|
b _0803887E
|
|
.align 2, 0
|
|
_0803861C: .4byte gEnemyParty
|
|
_08038620:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0803862C @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x25
|
|
b _0803887E
|
|
.align 2, 0
|
|
_0803862C: .4byte gEnemyParty
|
|
_08038630:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0803863C @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x26
|
|
b _0803887E
|
|
.align 2, 0
|
|
_0803863C: .4byte gEnemyParty
|
|
_08038640:
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _0803868C @ =gEnemyParty
|
|
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 _08038886
|
|
.align 2, 0
|
|
_0803868C: .4byte gEnemyParty
|
|
_08038690:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0803869C @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x27
|
|
b _0803887E
|
|
.align 2, 0
|
|
_0803869C: .4byte gEnemyParty
|
|
_080386A0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080386AC @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x28
|
|
b _0803887E
|
|
.align 2, 0
|
|
_080386AC: .4byte gEnemyParty
|
|
_080386B0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080386BC @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x29
|
|
b _0803887E
|
|
.align 2, 0
|
|
_080386BC: .4byte gEnemyParty
|
|
_080386C0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080386CC @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x2A
|
|
b _0803887E
|
|
.align 2, 0
|
|
_080386CC: .4byte gEnemyParty
|
|
_080386D0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080386DC @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x2B
|
|
b _0803887E
|
|
.align 2, 0
|
|
_080386DC: .4byte gEnemyParty
|
|
_080386E0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080386EC @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x2C
|
|
b _0803887E
|
|
.align 2, 0
|
|
_080386EC: .4byte gEnemyParty
|
|
_080386F0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080386FC @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0
|
|
b _0803871A
|
|
.align 2, 0
|
|
_080386FC: .4byte gEnemyParty
|
|
_08038700:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0803870C @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x9
|
|
b _080387BE
|
|
.align 2, 0
|
|
_0803870C: .4byte gEnemyParty
|
|
_08038710:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038740 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x37
|
|
_0803871A:
|
|
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 _08038886
|
|
.align 2, 0
|
|
_08038740: .4byte gEnemyParty
|
|
_08038744:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038750 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x38
|
|
b _0803887E
|
|
.align 2, 0
|
|
_08038750: .4byte gEnemyParty
|
|
_08038754:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038760 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x39
|
|
b _080387BE
|
|
.align 2, 0
|
|
_08038760: .4byte gEnemyParty
|
|
_08038764:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038770 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x3A
|
|
b _080387BE
|
|
.align 2, 0
|
|
_08038770: .4byte gEnemyParty
|
|
_08038774:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038780 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x3B
|
|
b _080387BE
|
|
.align 2, 0
|
|
_08038780: .4byte gEnemyParty
|
|
_08038784:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038790 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x3C
|
|
b _080387BE
|
|
.align 2, 0
|
|
_08038790: .4byte gEnemyParty
|
|
_08038794:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080387A0 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x3D
|
|
b _080387BE
|
|
.align 2, 0
|
|
_080387A0: .4byte gEnemyParty
|
|
_080387A4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080387B0 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x3E
|
|
b _080387BE
|
|
.align 2, 0
|
|
_080387B0: .4byte gEnemyParty
|
|
_080387B4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080387D0 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x3F
|
|
_080387BE:
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
strb r0, [r7]
|
|
lsrs r0, 8
|
|
strb r0, [r7, 0x1]
|
|
movs r6, 0x2
|
|
b _08038886
|
|
.align 2, 0
|
|
_080387D0: .4byte gEnemyParty
|
|
_080387D4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080387E0 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x16
|
|
b _0803887E
|
|
.align 2, 0
|
|
_080387E0: .4byte gEnemyParty
|
|
_080387E4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080387F0 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x17
|
|
b _0803887E
|
|
.align 2, 0
|
|
_080387F0: .4byte gEnemyParty
|
|
_080387F4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038800 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x18
|
|
b _0803887E
|
|
.align 2, 0
|
|
_08038800: .4byte gEnemyParty
|
|
_08038804:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038810 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x21
|
|
b _0803887E
|
|
.align 2, 0
|
|
_08038810: .4byte gEnemyParty
|
|
_08038814:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038820 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x2F
|
|
b _0803887E
|
|
.align 2, 0
|
|
_08038820: .4byte gEnemyParty
|
|
_08038824:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038830 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x30
|
|
b _0803887E
|
|
.align 2, 0
|
|
_08038830: .4byte gEnemyParty
|
|
_08038834:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038840 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x32
|
|
b _0803887E
|
|
.align 2, 0
|
|
_08038840: .4byte gEnemyParty
|
|
_08038844:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038850 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x33
|
|
b _0803887E
|
|
.align 2, 0
|
|
_08038850: .4byte gEnemyParty
|
|
_08038854:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038860 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x34
|
|
b _0803887E
|
|
.align 2, 0
|
|
_08038860: .4byte gEnemyParty
|
|
_08038864:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038870 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x35
|
|
b _0803887E
|
|
.align 2, 0
|
|
_08038870: .4byte gEnemyParty
|
|
_08038874:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038898 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x36
|
|
_0803887E:
|
|
bl GetMonData
|
|
strb r0, [r7]
|
|
movs r6, 0x1
|
|
_08038886:
|
|
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
|
|
_08038898: .4byte gEnemyParty
|
|
thumb_func_end dp01_getattr_by_ch1_for_player_pokemon__
|
|
|
|
thumb_func_start sub_803889C
|
|
sub_803889C: @ 803889C
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803889C
|
|
|
|
thumb_func_start sub_80388A8
|
|
sub_80388A8: @ 80388A8
|
|
push {r4,r5,lr}
|
|
ldr r1, _080388CC @ =gUnknown_02023A60
|
|
ldr r0, _080388D0 @ =gUnknown_02024A60
|
|
ldrb r2, [r0]
|
|
lsls r0, r2, 9
|
|
adds r1, 0x2
|
|
adds r1, r0, r1
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
bne _080388D8
|
|
ldr r0, _080388D4 @ =gUnknown_02024A6A
|
|
lsls r1, r2, 1
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
bl sub_8038900
|
|
b _080388F6
|
|
.align 2, 0
|
|
_080388CC: .4byte gUnknown_02023A60
|
|
_080388D0: .4byte gUnknown_02024A60
|
|
_080388D4: .4byte gUnknown_02024A6A
|
|
_080388D8:
|
|
ldrb r4, [r1]
|
|
movs r5, 0
|
|
_080388DC:
|
|
movs r0, 0x1
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _080388EA
|
|
adds r0, r5, 0
|
|
bl sub_8038900
|
|
_080388EA:
|
|
lsrs r4, 1
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x5
|
|
bls _080388DC
|
|
_080388F6:
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80388A8
|
|
|
|
thumb_func_start sub_8038900
|
|
sub_8038900: @ 8038900
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x38
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r3, _08038938 @ =gUnknown_02024A60
|
|
ldrb r0, [r3]
|
|
lsls r0, 9
|
|
ldr r2, _0803893C @ =gUnknown_02023A63
|
|
adds r4, r0, r2
|
|
adds r7, r4, 0
|
|
subs r1, r2, 0x2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
adds r6, r3, 0
|
|
adds r3, r2, 0
|
|
cmp r0, 0x3B
|
|
bls _0803892E
|
|
bl _0803920C
|
|
_0803892E:
|
|
lsls r0, 2
|
|
ldr r1, _08038940 @ =_08038944
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08038938: .4byte gUnknown_02024A60
|
|
_0803893C: .4byte gUnknown_02023A63
|
|
_08038940: .4byte _08038944
|
|
.align 2, 0
|
|
_08038944:
|
|
.4byte _08038A34
|
|
.4byte _08038BCC
|
|
.4byte _08038BE8
|
|
.4byte _08038C04
|
|
.4byte _08038C58
|
|
.4byte _08038C58
|
|
.4byte _08038C58
|
|
.4byte _08038C58
|
|
.4byte _08038C78
|
|
.4byte _08038CE0
|
|
.4byte _08038CE0
|
|
.4byte _08038CE0
|
|
.4byte _08038CE0
|
|
.4byte _0803920C
|
|
.4byte _0803920C
|
|
.4byte _0803920C
|
|
.4byte _0803920C
|
|
.4byte _08038D08
|
|
.4byte _08038D24
|
|
.4byte _08038D40
|
|
.4byte _08038D5C
|
|
.4byte _08038D78
|
|
.4byte _08038D94
|
|
.4byte _08038DB0
|
|
.4byte _08038DCC
|
|
.4byte _08038DE8
|
|
.4byte _08038E04
|
|
.4byte _08038E20
|
|
.4byte _08038E3C
|
|
.4byte _08038E58
|
|
.4byte _08038E74
|
|
.4byte _08038E90
|
|
.4byte _08038F04
|
|
.4byte _08038F20
|
|
.4byte _08038F3C
|
|
.4byte _08038F58
|
|
.4byte _08038F74
|
|
.4byte _08038F90
|
|
.4byte _08038FAC
|
|
.4byte _08038FC8
|
|
.4byte _08038FE4
|
|
.4byte _08039000
|
|
.4byte _0803901C
|
|
.4byte _08039038
|
|
.4byte _08039054
|
|
.4byte _08039070
|
|
.4byte _0803908C
|
|
.4byte _080390A8
|
|
.4byte _080390C4
|
|
.4byte _080390E0
|
|
.4byte _080390FC
|
|
.4byte _08039118
|
|
.4byte _08039134
|
|
.4byte _08039150
|
|
.4byte _0803916C
|
|
.4byte _08039188
|
|
.4byte _080391A4
|
|
.4byte _080391C0
|
|
.4byte _080391DC
|
|
.4byte _080391F8
|
|
_08038A34:
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _08038BC8 @ =gEnemyParty
|
|
adds r4, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0xB
|
|
adds r2, r7, 0
|
|
bl SetMonData
|
|
adds r2, r7, 0
|
|
adds r2, 0x2E
|
|
adds r0, r4, 0
|
|
movs r1, 0xC
|
|
bl SetMonData
|
|
movs r0, 0
|
|
mov r8, r0
|
|
movs r0, 0x3B
|
|
adds r0, r7
|
|
mov r10, r0
|
|
adds r0, r7, 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, r7, 0x2
|
|
str r0, [sp, 0x4]
|
|
adds r0, r7, 0x4
|
|
str r0, [sp, 0x8]
|
|
adds r0, r7, 0x6
|
|
str r0, [sp, 0xC]
|
|
adds r0, 0x2
|
|
str r0, [sp, 0x10]
|
|
adds r0, 0x2
|
|
str r0, [sp, 0x14]
|
|
mov r9, r4
|
|
adds r6, r7, 0
|
|
adds r6, 0x24
|
|
adds r4, r7, 0
|
|
adds r4, 0xC
|
|
_08038A9A:
|
|
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, r6, 0
|
|
bl SetMonData
|
|
adds r6, 0x1
|
|
adds r4, 0x2
|
|
movs r0, 0x1
|
|
add r8, r0
|
|
mov r0, r8
|
|
cmp r0, 0x3
|
|
ble _08038A9A
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _08038BC8 @ =gEnemyParty
|
|
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, [r7, 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, [r7, 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, [r7, 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, [r7, 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, [r7, 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, [r7, 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 _0803920C
|
|
.align 2, 0
|
|
_08038BC8: .4byte gEnemyParty
|
|
_08038BCC:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038BE4 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0xB
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038BE4: .4byte gEnemyParty
|
|
_08038BE8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038C00 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0xC
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038C00: .4byte gEnemyParty
|
|
_08038C04:
|
|
movs r0, 0
|
|
mov r8, r0
|
|
movs r0, 0xC
|
|
adds r0, r4
|
|
mov r9, r0
|
|
movs r0, 0x64
|
|
adds r1, r5, 0
|
|
muls r1, r0
|
|
ldr r0, _08038C54 @ =gEnemyParty
|
|
adds r7, r1, r0
|
|
adds r6, r4, 0
|
|
adds r6, 0x8
|
|
_08038C1C:
|
|
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 _08038C1C
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038C54 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x15
|
|
mov r2, r9
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038C54: .4byte gEnemyParty
|
|
_08038C58:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038C70 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldr r3, _08038C74 @ =gUnknown_02023A60
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r1, r3, 0x1
|
|
adds r1, r2, r1
|
|
ldrb r1, [r1]
|
|
adds r1, 0x9
|
|
b _08038CF6
|
|
.align 2, 0
|
|
_08038C70: .4byte gEnemyParty
|
|
_08038C74: .4byte gUnknown_02023A60
|
|
_08038C78:
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _08038CDC @ =gEnemyParty
|
|
adds r4, r0
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
adds r0, r4, 0
|
|
movs r1, 0x11
|
|
str r3, [sp, 0x34]
|
|
bl SetMonData
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
ldr r3, [sp, 0x34]
|
|
adds r0, r3, 0x1
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x12
|
|
bl SetMonData
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
ldr r3, [sp, 0x34]
|
|
adds r0, r3, 0x2
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x13
|
|
bl SetMonData
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
ldr r3, [sp, 0x34]
|
|
adds r0, r3, 0x3
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x14
|
|
bl SetMonData
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
ldr r3, [sp, 0x34]
|
|
adds r0, r3, 0x4
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x15
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038CDC: .4byte gEnemyParty
|
|
_08038CE0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038D00 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldr r3, _08038D04 @ =gUnknown_02023A60
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r1, r3, 0x1
|
|
adds r1, r2, r1
|
|
ldrb r1, [r1]
|
|
adds r1, 0x8
|
|
_08038CF6:
|
|
adds r3, 0x3
|
|
adds r2, r3
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038D00: .4byte gEnemyParty
|
|
_08038D04: .4byte gUnknown_02023A60
|
|
_08038D08:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038D20 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x1
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038D20: .4byte gEnemyParty
|
|
_08038D24:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038D3C @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x19
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038D3C: .4byte gEnemyParty
|
|
_08038D40:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038D58 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x1A
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038D58: .4byte gEnemyParty
|
|
_08038D5C:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038D74 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x1B
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038D74: .4byte gEnemyParty
|
|
_08038D78:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038D90 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x1C
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038D90: .4byte gEnemyParty
|
|
_08038D94:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038DAC @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x1D
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038DAC: .4byte gEnemyParty
|
|
_08038DB0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038DC8 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x1E
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038DC8: .4byte gEnemyParty
|
|
_08038DCC:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038DE4 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x1F
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038DE4: .4byte gEnemyParty
|
|
_08038DE8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038E00 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x20
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038E00: .4byte gEnemyParty
|
|
_08038E04:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038E1C @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x22
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038E1C: .4byte gEnemyParty
|
|
_08038E20:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038E38 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x23
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038E38: .4byte gEnemyParty
|
|
_08038E3C:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038E54 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x24
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038E54: .4byte gEnemyParty
|
|
_08038E58:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038E70 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x25
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038E70: .4byte gEnemyParty
|
|
_08038E74:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038E8C @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x26
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038E8C: .4byte gEnemyParty
|
|
_08038E90:
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _08038F00 @ =gEnemyParty
|
|
adds r4, r0
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
adds r0, r4, 0
|
|
movs r1, 0x27
|
|
str r3, [sp, 0x34]
|
|
bl SetMonData
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
ldr r3, [sp, 0x34]
|
|
adds r0, r3, 0x1
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x28
|
|
bl SetMonData
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
ldr r3, [sp, 0x34]
|
|
adds r0, r3, 0x2
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x29
|
|
bl SetMonData
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
ldr r3, [sp, 0x34]
|
|
adds r0, r3, 0x3
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x2A
|
|
bl SetMonData
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
ldr r3, [sp, 0x34]
|
|
adds r0, r3, 0x4
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x2B
|
|
bl SetMonData
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
ldr r3, [sp, 0x34]
|
|
adds r0, r3, 0x5
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
b _08038F9E
|
|
.align 2, 0
|
|
_08038F00: .4byte gEnemyParty
|
|
_08038F04:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038F1C @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x27
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038F1C: .4byte gEnemyParty
|
|
_08038F20:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038F38 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x28
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038F38: .4byte gEnemyParty
|
|
_08038F3C:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038F54 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x29
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038F54: .4byte gEnemyParty
|
|
_08038F58:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038F70 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x2A
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038F70: .4byte gEnemyParty
|
|
_08038F74:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038F8C @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x2B
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038F8C: .4byte gEnemyParty
|
|
_08038F90:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038FA8 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
_08038F9E:
|
|
movs r1, 0x2C
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038FA8: .4byte gEnemyParty
|
|
_08038FAC:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038FC4 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038FC4: .4byte gEnemyParty
|
|
_08038FC8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038FE0 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x9
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038FE0: .4byte gEnemyParty
|
|
_08038FE4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08038FFC @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x37
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08038FFC: .4byte gEnemyParty
|
|
_08039000:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08039018 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x38
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08039018: .4byte gEnemyParty
|
|
_0803901C:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08039034 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x39
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08039034: .4byte gEnemyParty
|
|
_08039038:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08039050 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x3A
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08039050: .4byte gEnemyParty
|
|
_08039054:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0803906C @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x3B
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_0803906C: .4byte gEnemyParty
|
|
_08039070:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08039088 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x3C
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08039088: .4byte gEnemyParty
|
|
_0803908C:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080390A4 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x3D
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_080390A4: .4byte gEnemyParty
|
|
_080390A8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080390C0 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x3E
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_080390C0: .4byte gEnemyParty
|
|
_080390C4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080390DC @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x3F
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_080390DC: .4byte gEnemyParty
|
|
_080390E0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080390F8 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x16
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_080390F8: .4byte gEnemyParty
|
|
_080390FC:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08039114 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x17
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08039114: .4byte gEnemyParty
|
|
_08039118:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08039130 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x18
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08039130: .4byte gEnemyParty
|
|
_08039134:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0803914C @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x21
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_0803914C: .4byte gEnemyParty
|
|
_08039150:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08039168 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x2F
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08039168: .4byte gEnemyParty
|
|
_0803916C:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08039184 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x30
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_08039184: .4byte gEnemyParty
|
|
_08039188:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080391A0 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x32
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_080391A0: .4byte gEnemyParty
|
|
_080391A4:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080391BC @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x33
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_080391BC: .4byte gEnemyParty
|
|
_080391C0:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080391D8 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x34
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_080391D8: .4byte gEnemyParty
|
|
_080391DC:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _080391F4 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x35
|
|
bl SetMonData
|
|
b _0803920C
|
|
.align 2, 0
|
|
_080391F4: .4byte gEnemyParty
|
|
_080391F8:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0803921C @ =gEnemyParty
|
|
adds r0, r1
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
adds r2, r3
|
|
movs r1, 0x36
|
|
bl SetMonData
|
|
_0803920C:
|
|
add sp, 0x38
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803921C: .4byte gEnemyParty
|
|
thumb_func_end sub_8038900
|
|
|
|
thumb_func_start sub_8039220
|
|
sub_8039220: @ 8039220
|
|
push {r4-r7,lr}
|
|
ldr r1, _08039284 @ =gUnknown_02024A6A
|
|
ldr r7, _08039288 @ =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, _0803928C @ =gUnknown_02023A60
|
|
lsls r2, 9
|
|
adds r0, r4, 0x1
|
|
adds r0, r2, r0
|
|
ldrb r0, [r0]
|
|
ldr r1, _08039290 @ =gEnemyParty
|
|
adds r0, r1
|
|
adds r5, r3, r0
|
|
movs r3, 0
|
|
adds r0, r4, 0x2
|
|
adds r2, r0
|
|
ldrb r2, [r2]
|
|
cmp r3, r2
|
|
bcs _08039278
|
|
adds r6, r4, 0
|
|
adds r2, r7, 0
|
|
adds r4, r0, 0
|
|
_08039256:
|
|
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 _08039256
|
|
_08039278:
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08039284: .4byte gUnknown_02024A6A
|
|
_08039288: .4byte gUnknown_02024A60
|
|
_0803928C: .4byte gUnknown_02023A60
|
|
_08039290: .4byte gEnemyParty
|
|
thumb_func_end sub_8039220
|
|
|
|
thumb_func_start sub_8039294
|
|
sub_8039294: @ 8039294
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
ldr r7, _080393BC @ =gUnknown_02024A6A
|
|
ldr r6, _080393C0 @ =gUnknown_02024A60
|
|
ldrb r0, [r6]
|
|
lsls r0, 1
|
|
adds r0, r7
|
|
ldrh r0, [r0]
|
|
movs r1, 0x64
|
|
mov r10, r1
|
|
mov r2, r10
|
|
muls r2, r0
|
|
adds r0, r2, 0
|
|
ldr r1, _080393C4 @ =gEnemyParty
|
|
mov r9, r1
|
|
add r0, r9
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
ldrb r1, [r6]
|
|
lsls r0, r1, 1
|
|
adds r0, r7
|
|
ldrh r0, [r0]
|
|
mov r2, r10
|
|
muls r2, r0
|
|
adds r0, r2, 0
|
|
add r0, r9
|
|
bl sub_8031794
|
|
ldrb r0, [r6]
|
|
bl battle_get_per_side_status
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl GetMonSpriteTemplate_803C56C
|
|
ldr r0, _080393C8 @ =gUnknown_02024E8C
|
|
mov r8, r0
|
|
ldrb r0, [r6]
|
|
movs r1, 0x2
|
|
bl sub_8077ABC
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
ldrb r0, [r6]
|
|
bl sub_8077F68
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
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 r4, _080393CC @ =gUnknown_02024BE0
|
|
ldrb r1, [r6]
|
|
adds r1, r4
|
|
strb r0, [r1]
|
|
ldr r5, _080393D0 @ =gSprites
|
|
ldrb r0, [r6]
|
|
adds r0, r4
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
ldr r1, _080393D4 @ =0x0000ff10
|
|
strh r1, [r0, 0x24]
|
|
ldrb r2, [r6]
|
|
adds r0, r2, r4
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
strh r2, [r0, 0x2E]
|
|
ldrb r3, [r6]
|
|
adds r0, r3, r4
|
|
ldrb r0, [r0]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r5
|
|
lsls r3, 4
|
|
ldrb r2, [r1, 0x5]
|
|
movs r0, 0xF
|
|
ands r0, r2
|
|
orrs r0, r3
|
|
strb r0, [r1, 0x5]
|
|
ldrb r2, [r6]
|
|
adds r4, r2, r4
|
|
ldrb r1, [r4]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
ldr r1, _080393D8 @ =gBattleMonForms
|
|
adds r2, r1
|
|
ldrb r1, [r2]
|
|
bl StartSpriteAnim
|
|
ldrb r4, [r6]
|
|
lsls r0, r4, 1
|
|
adds r0, r7
|
|
ldrh r0, [r0]
|
|
mov r1, r10
|
|
muls r1, r0
|
|
adds r0, r1, 0
|
|
add r0, r9
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
adds r0, r4, 0
|
|
bl sub_8032984
|
|
ldr r1, _080393DC @ =gUnknown_03004330
|
|
ldrb r0, [r6]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080393E0 @ =sub_8037A74
|
|
str r1, [r0]
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080393BC: .4byte gUnknown_02024A6A
|
|
_080393C0: .4byte gUnknown_02024A60
|
|
_080393C4: .4byte gEnemyParty
|
|
_080393C8: .4byte gUnknown_02024E8C
|
|
_080393CC: .4byte gUnknown_02024BE0
|
|
_080393D0: .4byte gSprites
|
|
_080393D4: .4byte 0x0000ff10
|
|
_080393D8: .4byte gBattleMonForms
|
|
_080393DC: .4byte gUnknown_03004330
|
|
_080393E0: .4byte sub_8037A74
|
|
thumb_func_end sub_8039294
|
|
|
|
thumb_func_start sub_80393E4
|
|
sub_80393E4: @ 80393E4
|
|
push {r4,lr}
|
|
ldr r1, _0803941C @ =gUnknown_02024A6A
|
|
ldr r4, _08039420 @ =gUnknown_02024A60
|
|
ldrb r0, [r4]
|
|
lsls r2, r0, 1
|
|
adds r2, r1
|
|
ldr r3, _08039424 @ =gUnknown_02023A60
|
|
lsls r0, 9
|
|
adds r1, r3, 0x1
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
strh r0, [r2]
|
|
ldrb r0, [r4]
|
|
lsls r1, r0, 9
|
|
adds r3, 0x2
|
|
adds r1, r3
|
|
ldrb r1, [r1]
|
|
bl sub_8039430
|
|
ldr r1, _08039428 @ =gUnknown_03004330
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _0803942C @ =sub_8037E30
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803941C: .4byte gUnknown_02024A6A
|
|
_08039420: .4byte gUnknown_02024A60
|
|
_08039424: .4byte gUnknown_02023A60
|
|
_08039428: .4byte gUnknown_03004330
|
|
_0803942C: .4byte sub_8037E30
|
|
thumb_func_end sub_80393E4
|
|
|
|
thumb_func_start sub_8039430
|
|
sub_8039430: @ 8039430
|
|
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, _0803958C @ =gUnknown_02024A6A
|
|
lsls r4, r6, 1
|
|
adds r4, r0
|
|
ldr r0, _08039590 @ =gUnknown_02023A60
|
|
lsls r1, r6, 9
|
|
adds r0, 0x1
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
strh r0, [r4]
|
|
ldrh r0, [r4]
|
|
movs r1, 0x64
|
|
mov r9, r1
|
|
mov r1, r9
|
|
muls r1, r0
|
|
adds r0, r1, 0
|
|
ldr r5, _08039594 @ =gEnemyParty
|
|
adds r0, r5
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
mov r8, r0
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
ldr r0, _08039598 @ =sub_80312F0
|
|
bl CreateInvisibleSpriteWithCallback
|
|
ldr r1, _0803959C @ =gUnknown_0300434C
|
|
mov r10, r1
|
|
add r10, r6
|
|
mov r1, r10
|
|
strb r0, [r1]
|
|
ldrh r0, [r4]
|
|
mov r1, r9
|
|
muls r1, r0
|
|
adds r0, r1, 0
|
|
adds r0, r5
|
|
adds r1, r6, 0
|
|
bl sub_8031794
|
|
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, _080395A0 @ =gUnknown_02024E8C
|
|
mov r9, 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, r9
|
|
adds r1, r5, 0
|
|
adds r2, r4, 0
|
|
bl CreateSprite
|
|
ldr r4, _080395A4 @ =gUnknown_02024BE0
|
|
adds r4, r6, r4
|
|
strb r0, [r4]
|
|
ldr r5, _080395A8 @ =gSprites
|
|
mov r0, r10
|
|
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, _080395AC @ =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, _080395B0 @ =SpriteCallbackDummy
|
|
str r1, [r0]
|
|
movs r0, 0
|
|
movs r1, 0xFE
|
|
bl sub_8046400
|
|
mov r1, r10
|
|
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
|
|
_0803958C: .4byte gUnknown_02024A6A
|
|
_08039590: .4byte gUnknown_02023A60
|
|
_08039594: .4byte gEnemyParty
|
|
_08039598: .4byte sub_80312F0
|
|
_0803959C: .4byte gUnknown_0300434C
|
|
_080395A0: .4byte gUnknown_02024E8C
|
|
_080395A4: .4byte gUnknown_02024BE0
|
|
_080395A8: .4byte gSprites
|
|
_080395AC: .4byte gBattleMonForms
|
|
_080395B0: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_8039430
|
|
|
|
thumb_func_start sub_80395B4
|
|
sub_80395B4: @ 80395B4
|
|
push {r4-r6,lr}
|
|
ldr r1, _080395E4 @ =gUnknown_02023A60
|
|
ldr r6, _080395E8 @ =gUnknown_02024A60
|
|
ldrb r2, [r6]
|
|
lsls r0, r2, 9
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
ldrb r3, [r0]
|
|
cmp r3, 0
|
|
bne _080395F8
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
ldr r1, _080395EC @ =0x02017810
|
|
adds r0, r1
|
|
strb r3, [r0, 0x4]
|
|
ldr r1, _080395F0 @ =gUnknown_03004330
|
|
ldrb r0, [r6]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080395F4 @ =sub_8039648
|
|
str r1, [r0]
|
|
b _08039634
|
|
.align 2, 0
|
|
_080395E4: .4byte gUnknown_02023A60
|
|
_080395E8: .4byte gUnknown_02024A60
|
|
_080395EC: .4byte 0x02017810
|
|
_080395F0: .4byte gUnknown_03004330
|
|
_080395F4: .4byte sub_8039648
|
|
_080395F8:
|
|
ldr r5, _0803963C @ =gUnknown_02024BE0
|
|
adds r0, r2, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r4, _08039640 @ =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
|
|
ldrb r0, [r6]
|
|
bl sub_8032A08
|
|
ldr r1, _08039644 @ =gUnknown_03004340
|
|
ldrb r0, [r6]
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl sub_8043DB0
|
|
bl dp01_tbl4_exec_completed
|
|
_08039634:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803963C: .4byte gUnknown_02024BE0
|
|
_08039640: .4byte gSprites
|
|
_08039644: .4byte gUnknown_03004340
|
|
thumb_func_end sub_80395B4
|
|
|
|
thumb_func_start sub_8039648
|
|
sub_8039648: @ 8039648
|
|
push {r4,r5,lr}
|
|
ldr r5, _08039664 @ =gUnknown_02024A60
|
|
ldrb r2, [r5]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
ldr r4, _08039668 @ =0x02017810
|
|
adds r3, r0, r4
|
|
ldrb r0, [r3, 0x4]
|
|
cmp r0, 0
|
|
beq _0803966C
|
|
cmp r0, 0x1
|
|
beq _08039698
|
|
b _080396C0
|
|
.align 2, 0
|
|
_08039664: .4byte gUnknown_02024A60
|
|
_08039668: .4byte 0x02017810
|
|
_0803966C:
|
|
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 _08039688
|
|
adds r0, r2, 0
|
|
adds r1, r2, 0
|
|
movs r3, 0x5
|
|
bl move_anim_start_t4
|
|
_08039688:
|
|
ldrb r0, [r5]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r4
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x4]
|
|
b _080396C0
|
|
_08039698:
|
|
ldrb r1, [r3]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
bne _080396C0
|
|
strb r0, [r3, 0x4]
|
|
ldrb r2, [r5]
|
|
adds r0, r2, 0
|
|
adds r1, r2, 0
|
|
movs r3, 0x2
|
|
bl move_anim_start_t4
|
|
ldr r1, _080396C8 @ =gUnknown_03004330
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080396CC @ =sub_8037BBC
|
|
str r1, [r0]
|
|
_080396C0:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080396C8: .4byte gUnknown_03004330
|
|
_080396CC: .4byte sub_8037BBC
|
|
thumb_func_end sub_8039648
|
|
|
|
thumb_func_start sub_80396D0
|
|
sub_80396D0: @ 80396D0
|
|
push {r4-r6,lr}
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5,r6}
|
|
ldr r0, _08039704 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08039714
|
|
ldr r6, _08039708 @ =gUnknown_02024A60
|
|
ldrb r0, [r6]
|
|
bl battle_get_per_side_status
|
|
movs r1, 0x2
|
|
ands r1, r0
|
|
movs r5, 0x10
|
|
cmp r1, 0
|
|
beq _080396F8
|
|
ldr r5, _0803970C @ =0x0000fff0
|
|
_080396F8:
|
|
ldr r4, _08039710 @ =gLinkPlayers
|
|
ldrb r0, [r6]
|
|
bl sub_803FC34
|
|
b _08039724
|
|
.align 2, 0
|
|
_08039704: .4byte gBattleTypeFlags
|
|
_08039708: .4byte gUnknown_02024A60
|
|
_0803970C: .4byte 0x0000fff0
|
|
_08039710: .4byte gLinkPlayers
|
|
_08039714:
|
|
movs r5, 0
|
|
ldr r4, _0803986C @ =gLinkPlayers
|
|
bl GetMultiplayerId
|
|
movs r1, 0x1
|
|
eors r0, r1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
_08039724:
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
adds r1, r4
|
|
ldrb r0, [r1, 0x13]
|
|
mov r9, r0
|
|
ldr r0, _08039870 @ =gUnknown_02024A60
|
|
mov r8, r0
|
|
ldrb r1, [r0]
|
|
mov r0, r9
|
|
bl sub_8031A6C
|
|
mov r1, r8
|
|
ldrb r0, [r1]
|
|
bl battle_get_per_side_status
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r0, r9
|
|
bl GetMonSpriteTemplate_803C5A0
|
|
ldr r6, _08039874 @ =gUnknown_02024E8C
|
|
lsls r5, 16
|
|
movs r2, 0xB0
|
|
lsls r2, 16
|
|
adds r5, r2
|
|
asrs r5, 16
|
|
ldr r1, _08039878 @ =gTrainerFrontPicCoords
|
|
mov r2, r9
|
|
lsls r0, r2, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
movs r4, 0x8
|
|
subs r4, r0
|
|
lsls r4, 18
|
|
movs r0, 0xA0
|
|
lsls r0, 14
|
|
adds r4, r0
|
|
asrs r4, 16
|
|
mov r1, r8
|
|
ldrb r0, [r1]
|
|
bl sub_8079E90
|
|
adds r3, r0, 0
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
adds r2, r4, 0
|
|
bl CreateSprite
|
|
ldr r5, _0803987C @ =gUnknown_02024BE0
|
|
mov r2, r8
|
|
ldrb r1, [r2]
|
|
adds r1, r5
|
|
strb r0, [r1]
|
|
ldr r4, _08039880 @ =gSprites
|
|
ldrb r0, [r2]
|
|
adds r0, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldr r1, _08039884 @ =0x0000ff10
|
|
strh r1, [r0, 0x24]
|
|
ldrb r0, [r2]
|
|
adds r0, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
movs r1, 0x2
|
|
strh r1, [r0, 0x2E]
|
|
ldr r0, _08039888 @ =gTrainerFrontPicPaletteTable
|
|
mov r1, r9
|
|
lsls r6, r1, 3
|
|
adds r0, r6, r0
|
|
ldrh r0, [r0, 0x4]
|
|
bl IndexOfSpritePaletteTag
|
|
mov r2, r8
|
|
ldrb r1, [r2]
|
|
adds r1, r5
|
|
ldrb r1, [r1]
|
|
lsls r2, r1, 4
|
|
adds r2, r1
|
|
lsls r2, 2
|
|
adds r2, r4
|
|
lsls r0, 4
|
|
ldrb r3, [r2, 0x5]
|
|
movs r1, 0xF
|
|
ands r1, r3
|
|
orrs r1, r0
|
|
strb r1, [r2, 0x5]
|
|
mov r1, r8
|
|
ldrb r0, [r1]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r4
|
|
ldrh r0, [r1, 0x4]
|
|
lsls r0, 22
|
|
lsrs r0, 22
|
|
strh r0, [r1, 0x38]
|
|
ldr r0, _0803988C @ =gTrainerFrontPicTable
|
|
adds r6, r0
|
|
ldrh r0, [r6, 0x6]
|
|
bl GetSpriteTileStartByTag
|
|
mov r2, r8
|
|
ldrb r1, [r2]
|
|
adds r1, r5
|
|
ldrb r2, [r1]
|
|
lsls r1, r2, 4
|
|
adds r1, r2
|
|
lsls r1, 2
|
|
adds r1, r4
|
|
ldr r2, _08039890 @ =0x000003ff
|
|
ands r2, r0
|
|
ldrh r3, [r1, 0x4]
|
|
ldr r0, _08039894 @ =0xfffffc00
|
|
ands r0, r3
|
|
orrs r0, r2
|
|
strh r0, [r1, 0x4]
|
|
mov r1, r8
|
|
ldrb r0, [r1]
|
|
adds r0, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
mov r2, r9
|
|
strh r2, [r0, 0x6]
|
|
mov r1, r8
|
|
ldrb r0, [r1]
|
|
adds r0, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r4, 0x1C
|
|
adds r0, r4
|
|
ldr r1, _08039898 @ =sub_80313A0
|
|
str r1, [r0]
|
|
ldr r1, _0803989C @ =gUnknown_03004330
|
|
mov r2, r8
|
|
ldrb r0, [r2]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080398A0 @ =sub_803757C
|
|
str r1, [r0]
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803986C: .4byte gLinkPlayers
|
|
_08039870: .4byte gUnknown_02024A60
|
|
_08039874: .4byte gUnknown_02024E8C
|
|
_08039878: .4byte gTrainerFrontPicCoords
|
|
_0803987C: .4byte gUnknown_02024BE0
|
|
_08039880: .4byte gSprites
|
|
_08039884: .4byte 0x0000ff10
|
|
_08039888: .4byte gTrainerFrontPicPaletteTable
|
|
_0803988C: .4byte gTrainerFrontPicTable
|
|
_08039890: .4byte 0x000003ff
|
|
_08039894: .4byte 0xfffffc00
|
|
_08039898: .4byte sub_80313A0
|
|
_0803989C: .4byte gUnknown_03004330
|
|
_080398A0: .4byte sub_803757C
|
|
thumb_func_end sub_80396D0
|
|
|
|
thumb_func_start sub_80398A4
|
|
sub_80398A4: @ 80398A4
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80398A4
|
|
|
|
thumb_func_start sub_80398B0
|
|
sub_80398B0: @ 80398B0
|
|
push {r4-r6,lr}
|
|
ldr r6, _08039940 @ =gUnknown_02024BE0
|
|
ldr r4, _08039944 @ =gUnknown_02024A60
|
|
ldrb r0, [r4]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r5, _08039948 @ =gSprites
|
|
adds r0, r5
|
|
bl oamt_add_pos2_onto_pos1
|
|
ldrb r0, [r4]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
movs r1, 0x23
|
|
strh r1, [r0, 0x2E]
|
|
ldrb r0, [r4]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
movs r1, 0x8C
|
|
lsls r1, 1
|
|
strh r1, [r0, 0x32]
|
|
ldrb r0, [r4]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
ldrh r1, [r0, 0x22]
|
|
strh r1, [r0, 0x36]
|
|
ldrb r0, [r4]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r1, r5, 0
|
|
adds r1, 0x1C
|
|
adds r0, r1
|
|
ldr r1, _0803994C @ =sub_8078B34
|
|
str r1, [r0]
|
|
ldrb r0, [r4]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
ldr r1, _08039950 @ =SpriteCallbackDummy
|
|
bl oamt_set_x3A_32
|
|
ldr r1, _08039954 @ =gUnknown_03004330
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _08039958 @ =sub_80375B4
|
|
str r1, [r0]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08039940: .4byte gUnknown_02024BE0
|
|
_08039944: .4byte gUnknown_02024A60
|
|
_08039948: .4byte gSprites
|
|
_0803994C: .4byte sub_8078B34
|
|
_08039950: .4byte SpriteCallbackDummy
|
|
_08039954: .4byte gUnknown_03004330
|
|
_08039958: .4byte sub_80375B4
|
|
thumb_func_end sub_80398B0
|
|
|
|
thumb_func_start sub_803995C
|
|
sub_803995C: @ 803995C
|
|
push {r4,r5,lr}
|
|
ldr r5, _080399A0 @ =gUnknown_02024A60
|
|
ldrb r2, [r5]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
ldr r4, _080399A4 @ =0x02017810
|
|
adds r3, r0, r4
|
|
ldrb r0, [r3, 0x4]
|
|
cmp r0, 0
|
|
bne _080399A8
|
|
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 _0803998E
|
|
adds r0, r2, 0
|
|
adds r1, r2, 0
|
|
movs r3, 0x5
|
|
bl move_anim_start_t4
|
|
_0803998E:
|
|
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 _080399E4
|
|
.align 2, 0
|
|
_080399A0: .4byte gUnknown_02024A60
|
|
_080399A4: .4byte 0x02017810
|
|
_080399A8:
|
|
ldrb r1, [r3]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
bne _080399E4
|
|
strb r0, [r3, 0x4]
|
|
movs r0, 0x10
|
|
movs r1, 0x3F
|
|
bl PlaySE12WithPanning
|
|
ldr r2, _080399EC @ =gSprites
|
|
ldr r1, _080399F0 @ =gUnknown_02024BE0
|
|
ldrb r0, [r5]
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x1C
|
|
adds r0, r2
|
|
ldr r1, _080399F4 @ =sub_8010384
|
|
str r1, [r0]
|
|
ldr r1, _080399F8 @ =gUnknown_03004330
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080399FC @ =sub_8037B78
|
|
str r1, [r0]
|
|
_080399E4:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080399EC: .4byte gSprites
|
|
_080399F0: .4byte gUnknown_02024BE0
|
|
_080399F4: .4byte sub_8010384
|
|
_080399F8: .4byte gUnknown_03004330
|
|
_080399FC: .4byte sub_8037B78
|
|
thumb_func_end sub_803995C
|
|
|
|
thumb_func_start sub_8039A00
|
|
sub_8039A00: @ 8039A00
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039A00
|
|
|
|
thumb_func_start sub_8039A0C
|
|
sub_8039A0C: @ 8039A0C
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039A0C
|
|
|
|
thumb_func_start sub_8039A18
|
|
sub_8039A18: @ 8039A18
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039A18
|
|
|
|
thumb_func_start sub_8039A24
|
|
sub_8039A24: @ 8039A24
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039A24
|
|
|
|
thumb_func_start sub_8039A30
|
|
sub_8039A30: @ 8039A30
|
|
push {r4-r6,lr}
|
|
ldr r6, _08039B14 @ =gUnknown_02024A60
|
|
ldrb r0, [r6]
|
|
bl mplay_80342A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08039A42
|
|
b _08039B52
|
|
_08039A42:
|
|
ldr r0, _08039B18 @ =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, _08039B1C @ =gUnknown_0202F7C4
|
|
mov r1, r12
|
|
adds r1, 0x3
|
|
adds r2, r1
|
|
ldrb r1, [r2]
|
|
strb r1, [r5]
|
|
ldr r4, _08039B20 @ =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, _08039B24 @ =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, _08039B28 @ =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, _08039B2C @ =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, _08039B30 @ =gUnknown_0202F7B4
|
|
ldrb r2, [r6]
|
|
lsls r2, 9
|
|
mov r1, r12
|
|
adds r1, 0x10
|
|
adds r2, r1
|
|
str r2, [r3]
|
|
ldr r3, _08039B34 @ =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 _08039B38
|
|
bl dp01_tbl4_exec_completed
|
|
b _08039B52
|
|
.align 2, 0
|
|
_08039B14: .4byte gUnknown_02024A60
|
|
_08039B18: .4byte gUnknown_02023A60
|
|
_08039B1C: .4byte gUnknown_0202F7C4
|
|
_08039B20: .4byte gUnknown_0202F7BC
|
|
_08039B24: .4byte gUnknown_0202F7B8
|
|
_08039B28: .4byte gUnknown_0202F7BE
|
|
_08039B2C: .4byte gUnknown_0202F7C0
|
|
_08039B30: .4byte gUnknown_0202F7B4
|
|
_08039B34: .4byte gUnknown_02024E70
|
|
_08039B38:
|
|
ldrb r1, [r6]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _08039B58 @ =0x02017810
|
|
adds r0, r1
|
|
strb r2, [r0, 0x4]
|
|
ldr r1, _08039B5C @ =gUnknown_03004330
|
|
ldrb r0, [r6]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _08039B60 @ =sub_8039B64
|
|
str r1, [r0]
|
|
_08039B52:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08039B58: .4byte 0x02017810
|
|
_08039B5C: .4byte gUnknown_03004330
|
|
_08039B60: .4byte sub_8039B64
|
|
thumb_func_end sub_8039A30
|
|
|
|
thumb_func_start sub_8039B64
|
|
sub_8039B64: @ 8039B64
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
ldr r2, _08039BA8 @ =gUnknown_02023A60
|
|
ldr r5, _08039BAC @ =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, _08039BB0 @ =0x02017810
|
|
adds r0, r6
|
|
ldrb r2, [r0, 0x4]
|
|
cmp r2, 0x1
|
|
beq _08039BF2
|
|
cmp r2, 0x1
|
|
bgt _08039BB4
|
|
cmp r2, 0
|
|
beq _08039BBE
|
|
b _08039CBC
|
|
.align 2, 0
|
|
_08039BA8: .4byte gUnknown_02023A60
|
|
_08039BAC: .4byte gUnknown_02024A60
|
|
_08039BB0: .4byte 0x02017810
|
|
_08039BB4:
|
|
cmp r2, 0x2
|
|
beq _08039C18
|
|
cmp r2, 0x3
|
|
beq _08039C84
|
|
b _08039CBC
|
|
_08039BBE:
|
|
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 _08039BE2
|
|
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
|
|
_08039BE2:
|
|
ldrb r0, [r5]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r6
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x4]
|
|
b _08039CBC
|
|
_08039BF2:
|
|
ldrb r1, [r0]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08039CBC
|
|
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 _08039CBC
|
|
_08039C18:
|
|
ldr r0, _08039C74 @ =gAnimScriptCallback
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
ldr r0, _08039C78 @ =gAnimScriptActive
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08039CBC
|
|
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 _08039C60
|
|
cmp r7, 0x1
|
|
bhi _08039C60
|
|
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]
|
|
_08039C60:
|
|
ldr r0, _08039C7C @ =gUnknown_02024A60
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _08039C80 @ =0x02017810
|
|
adds r0, r1
|
|
movs r1, 0x3
|
|
strb r1, [r0, 0x4]
|
|
b _08039CBC
|
|
.align 2, 0
|
|
_08039C74: .4byte gAnimScriptCallback
|
|
_08039C78: .4byte gAnimScriptActive
|
|
_08039C7C: .4byte gUnknown_02024A60
|
|
_08039C80: .4byte 0x02017810
|
|
_08039C84:
|
|
ldrb r1, [r0]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0
|
|
bne _08039CBC
|
|
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_tbl4_exec_completed
|
|
_08039CBC:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039B64
|
|
|
|
thumb_func_start sub_8039CC8
|
|
sub_8039CC8: @ 8039CC8
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _08039D0C @ =gUnknown_030042A4
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
ldr r0, _08039D10 @ =gUnknown_030042A0
|
|
strh r1, [r0]
|
|
ldr r4, _08039D14 @ =gUnknown_02024A60
|
|
ldrb r0, [r4]
|
|
lsls r0, 9
|
|
ldr r1, _08039D18 @ =gUnknown_02023A62
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
bl sub_8120AA8
|
|
ldr r0, _08039D1C @ =gUnknown_03004210
|
|
ldr r1, _08039D20 @ =gUnknown_020238CC
|
|
movs r2, 0xF
|
|
str r2, [sp]
|
|
movs r2, 0x90
|
|
movs r3, 0x2
|
|
bl sub_8002EB0
|
|
ldr r1, _08039D24 @ =gUnknown_03004330
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _08039D28 @ =sub_8037C2C
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08039D0C: .4byte gUnknown_030042A4
|
|
_08039D10: .4byte gUnknown_030042A0
|
|
_08039D14: .4byte gUnknown_02024A60
|
|
_08039D18: .4byte gUnknown_02023A62
|
|
_08039D1C: .4byte gUnknown_03004210
|
|
_08039D20: .4byte gUnknown_020238CC
|
|
_08039D24: .4byte gUnknown_03004330
|
|
_08039D28: .4byte sub_8037C2C
|
|
thumb_func_end sub_8039CC8
|
|
|
|
thumb_func_start sub_8039D2C
|
|
sub_8039D2C: @ 8039D2C
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039D2C
|
|
|
|
thumb_func_start sub_8039D38
|
|
sub_8039D38: @ 8039D38
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039D38
|
|
|
|
thumb_func_start sub_8039D44
|
|
sub_8039D44: @ 8039D44
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039D44
|
|
|
|
thumb_func_start sub_8039D50
|
|
sub_8039D50: @ 8039D50
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039D50
|
|
|
|
thumb_func_start sub_8039D5C
|
|
sub_8039D5C: @ 8039D5C
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039D5C
|
|
|
|
thumb_func_start sub_8039D68
|
|
sub_8039D68: @ 8039D68
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039D68
|
|
|
|
thumb_func_start sub_8039D74
|
|
sub_8039D74: @ 8039D74
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039D74
|
|
|
|
thumb_func_start sub_8039D80
|
|
sub_8039D80: @ 8039D80
|
|
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, _08039DF8 @ =gUnknown_02023A60
|
|
ldr r0, _08039DFC @ =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, _08039E00 @ =0x00007fff
|
|
cmp r7, r0
|
|
beq _08039E10
|
|
ldr r6, _08039E04 @ =gUnknown_02024A6A
|
|
lsls r0, r4, 1
|
|
adds r0, r6
|
|
ldrh r0, [r0]
|
|
movs r5, 0x64
|
|
muls r0, r5
|
|
ldr r4, _08039E08 @ =gEnemyParty
|
|
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, _08039E0C @ =gUnknown_03004340
|
|
adds r1, r0, r1
|
|
ldrb r1, [r1]
|
|
str r7, [sp]
|
|
mov r2, r8
|
|
bl sub_8043D84
|
|
b _08039E3A
|
|
.align 2, 0
|
|
_08039DF8: .4byte gUnknown_02023A60
|
|
_08039DFC: .4byte gUnknown_02024A60
|
|
_08039E00: .4byte 0x00007fff
|
|
_08039E04: .4byte gUnknown_02024A6A
|
|
_08039E08: .4byte gEnemyParty
|
|
_08039E0C: .4byte gUnknown_03004340
|
|
_08039E10:
|
|
ldr r1, _08039E58 @ =gUnknown_02024A6A
|
|
lsls r0, r4, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08039E5C @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x3A
|
|
bl GetMonData
|
|
adds r2, r0, 0
|
|
mov r1, r9
|
|
ldrb r0, [r1]
|
|
ldr r1, _08039E60 @ =gUnknown_03004340
|
|
adds r1, r0, r1
|
|
ldrb r1, [r1]
|
|
str r7, [sp]
|
|
movs r3, 0
|
|
bl sub_8043D84
|
|
_08039E3A:
|
|
ldr r1, _08039E64 @ =gUnknown_03004330
|
|
ldr r0, _08039E68 @ =gUnknown_02024A60
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _08039E6C @ =sub_8037B24
|
|
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
|
|
_08039E58: .4byte gUnknown_02024A6A
|
|
_08039E5C: .4byte gEnemyParty
|
|
_08039E60: .4byte gUnknown_03004340
|
|
_08039E64: .4byte gUnknown_03004330
|
|
_08039E68: .4byte gUnknown_02024A60
|
|
_08039E6C: .4byte sub_8037B24
|
|
thumb_func_end sub_8039D80
|
|
|
|
thumb_func_start sub_8039E70
|
|
sub_8039E70: @ 8039E70
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039E70
|
|
|
|
thumb_func_start sub_8039E7C
|
|
sub_8039E7C: @ 8039E7C
|
|
push {r4,lr}
|
|
ldr r4, _08039ED4 @ =gUnknown_02024A60
|
|
ldrb r0, [r4]
|
|
bl mplay_80342A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08039ECC
|
|
ldr r0, _08039ED8 @ =gUnknown_03004340
|
|
ldrb r1, [r4]
|
|
adds r0, r1, r0
|
|
ldrb r0, [r0]
|
|
ldr r2, _08039EDC @ =gUnknown_02024A6A
|
|
lsls r1, 1
|
|
adds r1, r2
|
|
ldrh r2, [r1]
|
|
movs r1, 0x64
|
|
muls r1, r2
|
|
ldr r2, _08039EE0 @ =gEnemyParty
|
|
adds r1, r2
|
|
movs r2, 0x9
|
|
bl sub_8045A5C
|
|
ldrb r0, [r4]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
ldr r0, _08039EE4 @ =0x02017810
|
|
adds r1, r0
|
|
ldrb r2, [r1]
|
|
movs r0, 0x11
|
|
negs r0, r0
|
|
ands r0, r2
|
|
strb r0, [r1]
|
|
ldr r1, _08039EE8 @ =gUnknown_03004330
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _08039EEC @ =sub_8037FAC
|
|
str r1, [r0]
|
|
_08039ECC:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08039ED4: .4byte gUnknown_02024A60
|
|
_08039ED8: .4byte gUnknown_03004340
|
|
_08039EDC: .4byte gUnknown_02024A6A
|
|
_08039EE0: .4byte gEnemyParty
|
|
_08039EE4: .4byte 0x02017810
|
|
_08039EE8: .4byte gUnknown_03004330
|
|
_08039EEC: .4byte sub_8037FAC
|
|
thumb_func_end sub_8039E7C
|
|
|
|
thumb_func_start sub_8039EF0
|
|
sub_8039EF0: @ 8039EF0
|
|
push {r4,r5,lr}
|
|
ldr r5, _08039F48 @ =gUnknown_02024A60
|
|
ldrb r0, [r5]
|
|
bl mplay_80342A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08039F40
|
|
ldr r4, _08039F4C @ =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, _08039F50 @ =gUnknown_03004330
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _08039F54 @ =sub_8037FAC
|
|
str r1, [r0]
|
|
_08039F40:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08039F48: .4byte gUnknown_02024A60
|
|
_08039F4C: .4byte gUnknown_02023A60
|
|
_08039F50: .4byte gUnknown_03004330
|
|
_08039F54: .4byte sub_8037FAC
|
|
thumb_func_end sub_8039EF0
|
|
|
|
thumb_func_start sub_8039F58
|
|
sub_8039F58: @ 8039F58
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039F58
|
|
|
|
thumb_func_start sub_8039F64
|
|
sub_8039F64: @ 8039F64
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039F64
|
|
|
|
thumb_func_start sub_8039F70
|
|
sub_8039F70: @ 8039F70
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039F70
|
|
|
|
thumb_func_start sub_8039F7C
|
|
sub_8039F7C: @ 8039F7C
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039F7C
|
|
|
|
thumb_func_start sub_8039F88
|
|
sub_8039F88: @ 8039F88
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039F88
|
|
|
|
thumb_func_start sub_8039F94
|
|
sub_8039F94: @ 8039F94
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039F94
|
|
|
|
thumb_func_start sub_8039FA0
|
|
sub_8039FA0: @ 8039FA0
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039FA0
|
|
|
|
thumb_func_start sub_8039FAC
|
|
sub_8039FAC: @ 8039FAC
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039FAC
|
|
|
|
thumb_func_start sub_8039FB8
|
|
sub_8039FB8: @ 8039FB8
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039FB8
|
|
|
|
thumb_func_start sub_8039FC4
|
|
sub_8039FC4: @ 8039FC4
|
|
push {lr}
|
|
ldr r2, _08039FDC @ =gUnknown_020238C8
|
|
ldrb r1, [r2]
|
|
movs r0, 0x80
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08039FDC: .4byte gUnknown_020238C8
|
|
thumb_func_end sub_8039FC4
|
|
|
|
thumb_func_start sub_8039FE0
|
|
sub_8039FE0: @ 8039FE0
|
|
push {lr}
|
|
ldr r3, _0803A00C @ =gUnknown_020238C8
|
|
ldr r1, _0803A010 @ =gUnknown_02023A60
|
|
ldr r0, _0803A014 @ =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_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A00C: .4byte gUnknown_020238C8
|
|
_0803A010: .4byte gUnknown_02023A60
|
|
_0803A014: .4byte gUnknown_02024A60
|
|
thumb_func_end sub_8039FE0
|
|
|
|
thumb_func_start sub_803A018
|
|
sub_803A018: @ 803A018
|
|
push {lr}
|
|
ldr r2, _0803A02C @ =gUnknown_020238C8
|
|
ldrb r1, [r2]
|
|
movs r0, 0x7F
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A02C: .4byte gUnknown_020238C8
|
|
thumb_func_end sub_803A018
|
|
|
|
thumb_func_start sub_803A030
|
|
sub_803A030: @ 803A030
|
|
push {lr}
|
|
ldr r3, _0803A054 @ =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_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A054: .4byte gUnknown_020238C8
|
|
thumb_func_end sub_803A030
|
|
|
|
thumb_func_start dp01t_29_4_blink
|
|
dp01t_29_4_blink: @ 803A058
|
|
push {r4,lr}
|
|
ldr r3, _0803A080 @ =gSprites
|
|
ldr r2, _0803A084 @ =gUnknown_02024BE0
|
|
ldr r4, _0803A088 @ =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 _0803A08C
|
|
bl dp01_tbl4_exec_completed
|
|
b _0803A0B6
|
|
.align 2, 0
|
|
_0803A080: .4byte gSprites
|
|
_0803A084: .4byte gUnknown_02024BE0
|
|
_0803A088: .4byte gUnknown_02024A60
|
|
_0803A08C:
|
|
ldr r1, _0803A0BC @ =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, _0803A0C0 @ =gUnknown_03004330
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _0803A0C4 @ =dp01t_0F_4_move_anim
|
|
str r1, [r0]
|
|
_0803A0B6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A0BC: .4byte gUnknown_02024E6D
|
|
_0803A0C0: .4byte gUnknown_03004330
|
|
_0803A0C4: .4byte dp01t_0F_4_move_anim
|
|
thumb_func_end dp01t_29_4_blink
|
|
|
|
thumb_func_start sub_803A0C8
|
|
sub_803A0C8: @ 803A0C8
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803A0C8
|
|
|
|
thumb_func_start sub_803A0D4
|
|
sub_803A0D4: @ 803A0D4
|
|
push {r4,lr}
|
|
ldr r4, _0803A110 @ =gUnknown_02024A60
|
|
ldrb r0, [r4]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
movs r3, 0x3F
|
|
cmp r0, 0
|
|
bne _0803A0E8
|
|
movs r3, 0xC0
|
|
_0803A0E8:
|
|
ldr r2, _0803A114 @ =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_tbl4_exec_completed
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A110: .4byte gUnknown_02024A60
|
|
_0803A114: .4byte gUnknown_02023A60
|
|
thumb_func_end sub_803A0D4
|
|
|
|
thumb_func_start sub_803A118
|
|
sub_803A118: @ 803A118
|
|
push {lr}
|
|
ldr r2, _0803A140 @ =gUnknown_02023A60
|
|
ldr r0, _0803A144 @ =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_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A140: .4byte gUnknown_02023A60
|
|
_0803A144: .4byte gUnknown_02024A60
|
|
thumb_func_end sub_803A118
|
|
|
|
thumb_func_start sub_803A148
|
|
sub_803A148: @ 803A148
|
|
push {lr}
|
|
ldr r1, _0803A178 @ =gUnknown_02024A6A
|
|
ldr r0, _0803A17C @ =gUnknown_02024A60
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _0803A180 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x19
|
|
movs r2, 0x5
|
|
bl PlayCry3
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A178: .4byte gUnknown_02024A6A
|
|
_0803A17C: .4byte gUnknown_02024A60
|
|
_0803A180: .4byte gEnemyParty
|
|
thumb_func_end sub_803A148
|
|
|
|
thumb_func_start dp01t_2E_4_battle_intro
|
|
dp01t_2E_4_battle_intro: @ 803A184
|
|
push {lr}
|
|
ldr r1, _0803A1AC @ =gUnknown_02023A60
|
|
ldr r0, _0803A1B0 @ =gUnknown_02024A60
|
|
ldrb r0, [r0]
|
|
lsls r0, 9
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl sub_80E43C0
|
|
ldr r2, _0803A1B4 @ =gUnknown_02024DE8
|
|
ldrh r0, [r2]
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strh r0, [r2]
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A1AC: .4byte gUnknown_02023A60
|
|
_0803A1B0: .4byte gUnknown_02024A60
|
|
_0803A1B4: .4byte gUnknown_02024DE8
|
|
thumb_func_end dp01t_2E_4_battle_intro
|
|
|
|
thumb_func_start sub_803A1B8
|
|
sub_803A1B8: @ 803A1B8
|
|
push {r4-r6,lr}
|
|
ldr r5, _0803A294 @ =gUnknown_02024BE0
|
|
ldr r6, _0803A298 @ =gUnknown_02024A60
|
|
ldrb r0, [r6]
|
|
adds r0, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r4, _0803A29C @ =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, 0x23
|
|
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
|
|
movs r1, 0x8C
|
|
lsls r1, 1
|
|
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, _0803A2A0 @ =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, _0803A2A4 @ =sub_803A3A8
|
|
bl oamt_set_x3A_32
|
|
ldr r0, _0803A2A8 @ =sub_803A2C4
|
|
movs r1, 0x5
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r4, _0803A2AC @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r4
|
|
ldrb r0, [r6]
|
|
strh r0, [r1, 0x8]
|
|
ldrb r3, [r6]
|
|
lsls r0, r3, 1
|
|
adds r0, r3
|
|
lsls r0, 2
|
|
ldr r2, _0803A2B0 @ =0x02017810
|
|
adds r0, r2
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0803A276
|
|
ldr r0, _0803A2B4 @ =gUnknown_02024E68
|
|
adds r0, r3, r0
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r4
|
|
ldr r1, _0803A2B8 @ =sub_8044CA0
|
|
str r1, [r0]
|
|
_0803A276:
|
|
adds r2, 0x30
|
|
ldrb r0, [r2, 0x9]
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x9]
|
|
ldr r1, _0803A2BC @ =gUnknown_03004330
|
|
ldrb r0, [r6]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _0803A2C0 @ =nullsub_47
|
|
str r1, [r0]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A294: .4byte gUnknown_02024BE0
|
|
_0803A298: .4byte gUnknown_02024A60
|
|
_0803A29C: .4byte gSprites
|
|
_0803A2A0: .4byte sub_8078B34
|
|
_0803A2A4: .4byte sub_803A3A8
|
|
_0803A2A8: .4byte sub_803A2C4
|
|
_0803A2AC: .4byte gTasks
|
|
_0803A2B0: .4byte 0x02017810
|
|
_0803A2B4: .4byte gUnknown_02024E68
|
|
_0803A2B8: .4byte sub_8044CA0
|
|
_0803A2BC: .4byte gUnknown_03004330
|
|
_0803A2C0: .4byte nullsub_47
|
|
thumb_func_end sub_803A1B8
|
|
|
|
thumb_func_start sub_803A2C4
|
|
sub_803A2C4: @ 803A2C4
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
ldr r7, _0803A31C @ =gUnknown_02024A60
|
|
ldrb r0, [r7]
|
|
mov r9, r0
|
|
ldr r1, _0803A320 @ =gTasks
|
|
mov r2, r8
|
|
lsls r0, r2, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldrh r0, [r0, 0x8]
|
|
strb r0, [r7]
|
|
bl IsDoubleBattle
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803A2FE
|
|
ldr r0, _0803A324 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0803A330
|
|
_0803A2FE:
|
|
ldr r0, _0803A328 @ =gUnknown_02023A60
|
|
ldrb r1, [r7]
|
|
lsls r2, r1, 9
|
|
adds r0, 0x1
|
|
adds r2, r0
|
|
ldr r0, _0803A32C @ =gUnknown_02024A6A
|
|
lsls r1, 1
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
strb r0, [r2]
|
|
ldrb r0, [r7]
|
|
movs r1, 0
|
|
bl sub_8039430
|
|
b _0803A370
|
|
.align 2, 0
|
|
_0803A31C: .4byte gUnknown_02024A60
|
|
_0803A320: .4byte gTasks
|
|
_0803A324: .4byte gBattleTypeFlags
|
|
_0803A328: .4byte gUnknown_02023A60
|
|
_0803A32C: .4byte gUnknown_02024A6A
|
|
_0803A330:
|
|
ldr r4, _0803A394 @ =gUnknown_02023A60
|
|
ldrb r0, [r7]
|
|
lsls r1, r0, 9
|
|
adds r4, 0x1
|
|
adds r1, r4
|
|
ldr r6, _0803A398 @ =gUnknown_02024A6A
|
|
lsls r0, 1
|
|
adds r0, r6
|
|
ldrh r0, [r0]
|
|
strb r0, [r1]
|
|
ldrb r0, [r7]
|
|
movs r1, 0
|
|
bl sub_8039430
|
|
ldrb r0, [r7]
|
|
movs r5, 0x2
|
|
eors r0, r5
|
|
strb r0, [r7]
|
|
ldrb r0, [r7]
|
|
lsls r1, r0, 9
|
|
adds r1, r4
|
|
lsls r0, 1
|
|
adds r0, r6
|
|
ldrh r0, [r0]
|
|
strb r0, [r1]
|
|
ldrb r0, [r7]
|
|
movs r1, 0
|
|
bl sub_8039430
|
|
ldrb r0, [r7]
|
|
eors r0, r5
|
|
strb r0, [r7]
|
|
_0803A370:
|
|
ldr r1, _0803A39C @ =gUnknown_03004330
|
|
ldr r2, _0803A3A0 @ =gUnknown_02024A60
|
|
ldrb r0, [r2]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _0803A3A4 @ =sub_8037840
|
|
str r1, [r0]
|
|
mov r0, r9
|
|
strb r0, [r2]
|
|
mov r0, r8
|
|
bl DestroyTask
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A394: .4byte gUnknown_02023A60
|
|
_0803A398: .4byte gUnknown_02024A6A
|
|
_0803A39C: .4byte gUnknown_03004330
|
|
_0803A3A0: .4byte gUnknown_02024A60
|
|
_0803A3A4: .4byte sub_8037840
|
|
thumb_func_end sub_803A2C4
|
|
|
|
thumb_func_start sub_803A3A8
|
|
sub_803A3A8: @ 803A3A8
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldrh r0, [r4, 0x6]
|
|
bl sub_8031B74
|
|
ldrh r0, [r4, 0x38]
|
|
ldr r1, _0803A3D4 @ =0x000003ff
|
|
ands r1, r0
|
|
ldrh r2, [r4, 0x4]
|
|
ldr r0, _0803A3D8 @ =0xfffffc00
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strh r0, [r4, 0x4]
|
|
adds r0, r4, 0
|
|
bl FreeSpriteOamMatrix
|
|
adds r0, r4, 0
|
|
bl DestroySprite
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A3D4: .4byte 0x000003ff
|
|
_0803A3D8: .4byte 0xfffffc00
|
|
thumb_func_end sub_803A3A8
|
|
|
|
thumb_func_start sub_803A3DC
|
|
sub_803A3DC: @ 803A3DC
|
|
push {r4-r6,lr}
|
|
ldr r1, _0803A404 @ =gUnknown_02023A60
|
|
ldr r0, _0803A408 @ =gUnknown_02024A60
|
|
ldrb r2, [r0]
|
|
lsls r0, r2, 9
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0803A40C
|
|
adds r0, r2, 0
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0803A40C
|
|
bl dp01_tbl4_exec_completed
|
|
b _0803A4C6
|
|
.align 2, 0
|
|
_0803A404: .4byte gUnknown_02023A60
|
|
_0803A408: .4byte gUnknown_02024A60
|
|
_0803A40C:
|
|
ldr r3, _0803A45C @ =gUnknown_02024A60
|
|
ldrb r1, [r3]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r4, _0803A460 @ =0x02017810
|
|
adds r0, r4
|
|
ldrb r1, [r0]
|
|
movs r2, 0x1
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
ldr r1, _0803A464 @ =gUnknown_02023A60
|
|
ldrb r2, [r3]
|
|
lsls r0, r2, 9
|
|
adds r1, 0x2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
adds r6, r3, 0
|
|
cmp r0, 0
|
|
beq _0803A470
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
adds r3, r0, r4
|
|
ldrb r2, [r3, 0x1]
|
|
lsls r1, r2, 26
|
|
lsrs r0, r1, 27
|
|
cmp r0, 0x1
|
|
bhi _0803A468
|
|
adds r0, 0x1
|
|
movs r1, 0x1F
|
|
ands r0, r1
|
|
lsls r0, 1
|
|
movs r1, 0x3F
|
|
negs r1, r1
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
strb r1, [r3, 0x1]
|
|
b _0803A4C6
|
|
.align 2, 0
|
|
_0803A45C: .4byte gUnknown_02024A60
|
|
_0803A460: .4byte 0x02017810
|
|
_0803A464: .4byte gUnknown_02023A60
|
|
_0803A468:
|
|
movs r0, 0x3F
|
|
negs r0, r0
|
|
ands r0, r2
|
|
strb r0, [r3, 0x1]
|
|
_0803A470:
|
|
adds r5, r6, 0
|
|
ldrb r0, [r5]
|
|
lsls r3, r0, 9
|
|
ldr r4, _0803A4CC @ =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, _0803A4D0 @ =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
|
|
ldr r3, _0803A4D4 @ =0x02017810
|
|
adds r0, r3
|
|
strb r2, [r0, 0x5]
|
|
ldrb r1, [r5]
|
|
lsls r0, r1, 9
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0803A4BA
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r3
|
|
movs r1, 0x5D
|
|
strb r1, [r0, 0x5]
|
|
_0803A4BA:
|
|
ldr r0, _0803A4D8 @ =gUnknown_03004330
|
|
ldrb r1, [r6]
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldr r0, _0803A4DC @ =sub_803A4E0
|
|
str r0, [r1]
|
|
_0803A4C6:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A4CC: .4byte gUnknown_02023A64
|
|
_0803A4D0: .4byte gUnknown_02024E68
|
|
_0803A4D4: .4byte 0x02017810
|
|
_0803A4D8: .4byte gUnknown_03004330
|
|
_0803A4DC: .4byte sub_803A4E0
|
|
thumb_func_end sub_803A3DC
|
|
|
|
thumb_func_start sub_803A4E0
|
|
sub_803A4E0: @ 803A4E0
|
|
push {r4,lr}
|
|
ldr r4, _0803A518 @ =gUnknown_02024A60
|
|
ldrb r1, [r4]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r3, _0803A51C @ =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 _0803A510
|
|
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_tbl4_exec_completed
|
|
_0803A510:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A518: .4byte gUnknown_02024A60
|
|
_0803A51C: .4byte 0x02017810
|
|
thumb_func_end sub_803A4E0
|
|
|
|
thumb_func_start sub_803A520
|
|
sub_803A520: @ 803A520
|
|
push {lr}
|
|
ldr r0, _0803A558 @ =gUnknown_02024A60
|
|
ldrb r3, [r0]
|
|
lsls r0, r3, 1
|
|
adds r0, r3
|
|
lsls r0, 2
|
|
ldr r1, _0803A55C @ =0x02017810
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0803A54E
|
|
ldr r2, _0803A560 @ =gTasks
|
|
ldr r0, _0803A564 @ =gUnknown_02024E68
|
|
adds r0, r3, r0
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
ldr r1, _0803A568 @ =sub_8044CA0
|
|
str r1, [r0]
|
|
_0803A54E:
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A558: .4byte gUnknown_02024A60
|
|
_0803A55C: .4byte 0x02017810
|
|
_0803A560: .4byte gTasks
|
|
_0803A564: .4byte gUnknown_02024E68
|
|
_0803A568: .4byte sub_8044CA0
|
|
thumb_func_end sub_803A520
|
|
|
|
thumb_func_start sub_803A56C
|
|
sub_803A56C: @ 803A56C
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803A56C
|
|
|
|
thumb_func_start sub_803A578
|
|
sub_803A578: @ 803A578
|
|
push {r4,lr}
|
|
ldr r4, _0803A5C8 @ =gUnknown_02024A60
|
|
ldrb r0, [r4]
|
|
bl sub_8078874
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803A5BE
|
|
ldr r3, _0803A5CC @ =gSprites
|
|
ldr r0, _0803A5D0 @ =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, _0803A5D4 @ =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
|
|
_0803A5BE:
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A5C8: .4byte gUnknown_02024A60
|
|
_0803A5CC: .4byte gSprites
|
|
_0803A5D0: .4byte gUnknown_02024BE0
|
|
_0803A5D4: .4byte gUnknown_02023A60
|
|
thumb_func_end sub_803A578
|
|
|
|
thumb_func_start bx_exec_buffer_A_ch0_tbl4
|
|
bx_exec_buffer_A_ch0_tbl4: @ 803A5D8
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
ldr r6, _0803A61C @ =gUnknown_02024A60
|
|
ldrb r0, [r6]
|
|
bl mplay_80342A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0803A630
|
|
ldr r5, _0803A620 @ =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 _0803A624
|
|
bl dp01_tbl4_exec_completed
|
|
b _0803A630
|
|
.align 2, 0
|
|
_0803A61C: .4byte gUnknown_02024A60
|
|
_0803A620: .4byte gUnknown_02023A60
|
|
_0803A624:
|
|
ldr r0, _0803A638 @ =gUnknown_03004330
|
|
ldrb r1, [r6]
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldr r0, _0803A63C @ =sub_8037FD8
|
|
str r0, [r1]
|
|
_0803A630:
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A638: .4byte gUnknown_03004330
|
|
_0803A63C: .4byte sub_8037FD8
|
|
thumb_func_end bx_exec_buffer_A_ch0_tbl4
|
|
|
|
thumb_func_start sub_803A640
|
|
sub_803A640: @ 803A640
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803A640
|
|
|
|
thumb_func_start sub_803A64C
|
|
sub_803A64C: @ 803A64C
|
|
push {lr}
|
|
bl dp01_tbl4_exec_completed
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803A64C
|
|
|
|
thumb_func_start sub_803A658
|
|
sub_803A658: @ 803A658
|
|
push {lr}
|
|
ldr r1, _0803A674 @ =gUnknown_02023A60
|
|
ldr r0, _0803A678 @ =gUnknown_02024A60
|
|
ldrb r0, [r0]
|
|
lsls r0, 9
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
ldrb r2, [r0]
|
|
cmp r2, 0x3
|
|
bne _0803A680
|
|
ldr r0, _0803A67C @ =gUnknown_02024D26
|
|
strb r2, [r0]
|
|
b _0803A688
|
|
.align 2, 0
|
|
_0803A674: .4byte gUnknown_02023A60
|
|
_0803A678: .4byte gUnknown_02024A60
|
|
_0803A67C: .4byte gUnknown_02024D26
|
|
_0803A680:
|
|
ldr r0, _0803A6AC @ =gUnknown_02024D26
|
|
movs r1, 0x3
|
|
eors r1, r2
|
|
strb r1, [r0]
|
|
_0803A688:
|
|
movs r0, 0x5
|
|
bl FadeOutMapMusic
|
|
movs r0, 0x3
|
|
bl BeginFastPaletteFade
|
|
bl dp01_tbl4_exec_completed
|
|
ldr r1, _0803A6B0 @ =gUnknown_03004330
|
|
ldr r0, _0803A6B4 @ =gUnknown_02024A60
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _0803A6B8 @ =sub_8037F34
|
|
str r1, [r0]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A6AC: .4byte gUnknown_02024D26
|
|
_0803A6B0: .4byte gUnknown_03004330
|
|
_0803A6B4: .4byte gUnknown_02024A60
|
|
_0803A6B8: .4byte sub_8037F34
|
|
thumb_func_end sub_803A658
|
|
|
|
thumb_func_start nullsub_48
|
|
nullsub_48: @ 803A6BC
|
|
bx lr
|
|
thumb_func_end nullsub_48
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|