summaryrefslogtreecommitdiff
path: root/asm/battle_2.s
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2017-10-01 18:54:01 +0200
committerDizzyEggg <jajkodizzy@wp.pl>2017-10-01 18:54:01 +0200
commit1fcafaf35aaf92251e7802e1e3ea36e8d5a6067b (patch)
treeafcfa3b51d96b15bcddfcfc9665bb95b46b2a972 /asm/battle_2.s
parent729f4e10ed8a53155d992b8904926a10181acafa (diff)
more of battle2 done
Diffstat (limited to 'asm/battle_2.s')
-rw-r--r--asm/battle_2.s2681
1 files changed, 9 insertions, 2672 deletions
diff --git a/asm/battle_2.s b/asm/battle_2.s
index 0f4ec2bea..a4fa43fa2 100644
--- a/asm/battle_2.s
+++ b/asm/battle_2.s
@@ -5,2670 +5,7 @@
.text
- thumb_func_start BattleMainCB2
-BattleMainCB2: @ 8038420
- push {lr}
- sub sp, 0x4
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTextPrinters
- bl UpdatePaletteFade
- bl RunTasks
- ldr r0, =gMain
- ldrh r1, [r0, 0x2C]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08038482
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _08038482
- bl rfu_lacks_rfufunc
- lsls r0, 24
- cmp r0, 0
- beq _08038482
- ldr r2, =gScriptResult
- ldr r1, =gBattleOutcome
- movs r0, 0x5
- strb r0, [r1]
- movs r0, 0x5
- strh r0, [r2]
- bl ResetPaletteFadeControl
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sub_80384E4
- bl SetMainCallback2
-_08038482:
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end BattleMainCB2
-
- thumb_func_start sub_803849C
-sub_803849C: @ 803849C
- push {lr}
- ldr r1, =gMain
- ldr r0, =gPreBattleCallback1
- ldr r0, [r0]
- str r0, [r1]
- ldr r2, =gUnknown_02039B28
- movs r0, 0x3
- strb r0, [r2, 0x15]
- ldr r0, =0x00000439
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- bl ZeroEnemyPartyMons
- movs r0, 0x5A
- bl m4aSongNumStop
- bl sub_805F094
- bl dp11_free
- bl sub_8057028
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_803849C
-
- thumb_func_start sub_80384E4
-sub_80384E4: @ 80384E4
- push {lr}
- bl UpdatePaletteFade
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08038512
- ldr r0, =gMPlay_SE1
- bl m4aMPlayStop
- ldr r0, =gMPlay_SE2
- bl m4aMPlayStop
- bl sub_803849C
- bl FreeAllWindowBuffers
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_08038512:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80384E4
-
- thumb_func_start sub_8038528
-sub_8038528: @ 8038528
- movs r1, 0
- strh r1, [r0, 0x2E]
- ldr r1, =sub_8038538
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end sub_8038528
-
- thumb_func_start sub_8038538
-sub_8038538: @ 8038538
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r5, =0x0201c000
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- cmp r1, 0x1
- beq _0803856C
- cmp r1, 0x1
- bgt _08038554
- cmp r1, 0
- beq _0803855A
- b _080385DC
- .pool
-_08038554:
- cmp r1, 0x2
- beq _080385C8
- b _080385DC
-_0803855A:
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- strh r1, [r3, 0x30]
- ldr r0, =0x00000281
- strh r0, [r3, 0x32]
- strh r1, [r3, 0x34]
- movs r0, 0x1
- strh r0, [r3, 0x36]
-_0803856C:
- ldrh r0, [r3, 0x36]
- subs r0, 0x1
- strh r0, [r3, 0x36]
- lsls r0, 16
- cmp r0, 0
- bne _080385DC
- movs r0, 0x2
- strh r0, [r3, 0x36]
- movs r4, 0x30
- ldrsh r2, [r3, r4]
- movs r0, 0x34
- ldrsh r1, [r3, r0]
- lsls r1, 5
- adds r2, r1
- movs r4, 0x32
- ldrsh r0, [r3, r4]
- subs r0, r1
- movs r4, 0x3D
- lsls r0, 1
- adds r0, r5
- lsls r2, 1
- adds r2, r5
- movs r1, 0x1C
-_0803859A:
- strh r4, [r2]
- strh r4, [r0]
- adds r0, 0x4
- adds r2, 0x4
- subs r1, 0x2
- cmp r1, 0
- bge _0803859A
- ldrh r0, [r3, 0x34]
- adds r0, 0x1
- strh r0, [r3, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x15
- bne _080385DC
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- movs r0, 0x20
- strh r0, [r3, 0x30]
- b _080385DC
- .pool
-_080385C8:
- ldrh r0, [r3, 0x30]
- subs r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bne _080385DC
- ldr r0, =CB2_InitBattle
- bl SetMainCallback2
-_080385DC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8038538
- thumb_func_start CreateNPCTrainerParty
-CreateNPCTrainerParty: @ 80385E8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- str r0, [sp, 0x10]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x14]
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0
- mov r9, r0
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- bne _08038610
- movs r0, 0
- b _080389E2
-_08038610:
- ldr r4, =gBattleTypeFlags
- ldr r0, [r4]
- ldr r1, =0x043f0908
- ands r0, r1
- ldr r1, [sp, 0x14]
- lsls r1, 2
- str r1, [sp, 0x20]
- cmp r0, 0x8
- beq _08038624
- b _080389D2
-_08038624:
- cmp r2, 0x1
- bne _0803862C
- bl ZeroEnemyPartyMons
-_0803862C:
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _08038668
- ldr r0, =gTrainers
- ldr r2, [sp, 0x20]
- ldr r3, [sp, 0x14]
- adds r1, r2, r3
- lsls r1, 3
- adds r1, r0
- adds r2, r1, 0
- adds r2, 0x20
- ldrb r1, [r2]
- movs r4, 0x3
- str r4, [sp, 0x1C]
- adds r4, r0, 0
- cmp r1, 0x3
- bhi _0803867C
- adds r2, r1, 0
- str r2, [sp, 0x1C]
- b _0803867C
- .pool
-_08038668:
- ldr r1, =gTrainers
- ldr r2, [sp, 0x20]
- ldr r3, [sp, 0x14]
- adds r0, r2, r3
- lsls r0, 3
- adds r0, r1
- adds r0, 0x20
- ldrb r0, [r0]
- str r0, [sp, 0x1C]
- adds r4, r1, 0
-_0803867C:
- movs r0, 0
- str r0, [sp, 0x18]
- b _080389B4
- .pool
-_08038688:
- ldr r2, [sp, 0x20]
- ldr r3, [sp, 0x14]
- adds r0, r2, r3
- lsls r0, 3
- adds r1, r0, r4
- ldrb r0, [r1, 0x18]
- cmp r0, 0x1
- bne _0803869E
- movs r0, 0x80
- mov r10, r0
- b _080386B0
-_0803869E:
- ldrb r1, [r1, 0x2]
- movs r0, 0x80
- ands r0, r1
- movs r1, 0x88
- mov r10, r1
- cmp r0, 0
- beq _080386B0
- movs r2, 0x78
- mov r10, r2
-_080386B0:
- movs r6, 0
- ldr r2, [sp, 0x20]
- ldr r3, [sp, 0x14]
- adds r0, r2, r3
- lsls r0, 3
- adds r1, r4, 0x4
- adds r0, r1
- ldrb r0, [r0]
- ldr r3, [sp, 0x18]
- adds r3, 0x1
- str r3, [sp, 0x24]
- cmp r0, 0xFF
- beq _080386E6
- adds r3, r1, 0
-_080386CC:
- ldr r0, [sp, 0x14]
- adds r1, r2, r0
- lsls r1, 3
- adds r0, r6, r1
- adds r0, r3
- ldrb r0, [r0]
- add r9, r0
- adds r6, 0x1
- adds r1, r6, r1
- adds r1, r3
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _080386CC
-_080386E6:
- ldr r1, [sp, 0x20]
- ldr r2, [sp, 0x14]
- adds r0, r1, r2
- lsls r1, r0, 3
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08038794
- cmp r0, 0x1
- bgt _08038700
- cmp r0, 0
- beq _0803870E
- b _080389AC
-_08038700:
- cmp r0, 0x2
- bne _08038706
- b _08038854
-_08038706:
- cmp r0, 0x3
- bne _0803870C
- b _080388E8
-_0803870C:
- b _080389AC
-_0803870E:
- adds r0, r4, 0
- adds r0, 0x24
- adds r0, r1, r0
- ldr r4, [r0]
- movs r6, 0
- ldr r3, [sp, 0x18]
- lsls r2, r3, 3
- adds r0, r2, r4
- ldrh r1, [r0, 0x4]
- movs r0, 0xB
- muls r0, r1
- ldr r1, =gSpeciesNames
- adds r0, r1
- ldrb r0, [r0]
- adds r5, r2, 0
- cmp r0, 0xFF
- beq _08038750
- adds r3, r1, 0
- movs r7, 0xB
-_08038734:
- adds r0, r2, r4
- ldrh r0, [r0, 0x4]
- adds r1, r0, 0
- muls r1, r7
- adds r0, r6, r1
- adds r0, r3
- ldrb r0, [r0]
- add r9, r0
- adds r6, 0x1
- adds r1, r6, r1
- adds r1, r3
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _08038734
-_08038750:
- mov r2, r9
- lsls r0, r2, 8
- add r10, r0
- adds r4, r5, r4
- ldrh r1, [r4]
- lsls r0, r1, 5
- subs r0, r1
- movs r1, 0xFF
- bl __divsi3
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r3, [sp, 0x18]
- movs r1, 0x64
- adds r0, r3, 0
- muls r0, r1
- ldr r2, [sp, 0x10]
- adds r0, r2, r0
- ldrh r1, [r4, 0x4]
- ldrb r2, [r4, 0x2]
- movs r3, 0x1
- str r3, [sp]
- mov r3, r10
- str r3, [sp, 0x4]
- movs r3, 0x2
- str r3, [sp, 0x8]
- movs r3, 0
- str r3, [sp, 0xC]
- adds r3, r6, 0
- bl CreateMon
- b _080389AC
- .pool
-_08038794:
- adds r0, r4, 0
- adds r0, 0x24
- adds r0, r1, r0
- ldr r7, [r0]
- movs r6, 0
- ldr r4, [sp, 0x18]
- lsls r2, r4, 4
- adds r0, r2, r7
- ldrh r1, [r0, 0x4]
- movs r0, 0xB
- muls r0, r1
- ldr r1, =gSpeciesNames
- adds r0, r1
- ldrb r0, [r0]
- mov r8, r2
- cmp r0, 0xFF
- beq _080387D6
- adds r3, r1, 0
- movs r4, 0xB
-_080387BA:
- adds r0, r2, r7
- ldrh r0, [r0, 0x4]
- adds r1, r0, 0
- muls r1, r4
- adds r0, r6, r1
- adds r0, r3
- ldrb r0, [r0]
- add r9, r0
- adds r6, 0x1
- adds r1, r6, r1
- adds r1, r3
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _080387BA
-_080387D6:
- mov r2, r9
- lsls r0, r2, 8
- add r10, r0
- mov r3, r8
- adds r4, r3, r7
- ldrh r1, [r4]
- lsls r0, r1, 5
- subs r0, r1
- movs r1, 0xFF
- bl __divsi3
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, [sp, 0x18]
- movs r1, 0x64
- adds r5, r0, 0
- muls r5, r1
- ldr r2, [sp, 0x10]
- adds r5, r2, r5
- ldrh r1, [r4, 0x4]
- ldrb r2, [r4, 0x2]
- movs r0, 0x1
- str r0, [sp]
- mov r3, r10
- str r3, [sp, 0x4]
- movs r0, 0x2
- str r0, [sp, 0x8]
- movs r0, 0
- str r0, [sp, 0xC]
- adds r0, r5, 0
- adds r3, r6, 0
- bl CreateMon
- movs r6, 0
- mov r0, r8
- adds r0, 0x6
- adds r4, r7, r0
-_08038820:
- adds r1, r6, 0
- adds r1, 0xD
- adds r0, r5, 0
- adds r2, r4, 0
- bl SetMonData
- adds r1, r6, 0
- adds r1, 0x11
- ldrh r0, [r4]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 2
- ldr r0, =gBattleMoves + 0x4 @ PP offset
- adds r2, r0
- adds r0, r5, 0
- bl SetMonData
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _08038820
- b _080389AC
- .pool
-_08038854:
- adds r0, r4, 0
- adds r0, 0x24
- adds r0, r1, r0
- ldr r4, [r0]
- movs r6, 0
- ldr r0, [sp, 0x18]
- lsls r2, r0, 3
- adds r0, r2, r4
- ldrh r1, [r0, 0x4]
- movs r0, 0xB
- muls r0, r1
- ldr r1, =gSpeciesNames
- adds r0, r1
- ldrb r0, [r0]
- adds r5, r2, 0
- cmp r0, 0xFF
- beq _08038896
- adds r3, r1, 0
- movs r7, 0xB
-_0803887A:
- adds r0, r2, r4
- ldrh r0, [r0, 0x4]
- adds r1, r0, 0
- muls r1, r7
- adds r0, r6, r1
- adds r0, r3
- ldrb r0, [r0]
- add r9, r0
- adds r6, 0x1
- adds r1, r6, r1
- adds r1, r3
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _0803887A
-_08038896:
- mov r2, r9
- lsls r0, r2, 8
- add r10, r0
- adds r5, r4
- ldrh r1, [r5]
- lsls r0, r1, 5
- subs r0, r1
- movs r1, 0xFF
- bl __divsi3
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r3, [sp, 0x18]
- movs r0, 0x64
- adds r4, r3, 0
- muls r4, r0
- ldr r1, [sp, 0x10]
- adds r4, r1, r4
- ldrh r1, [r5, 0x4]
- ldrb r2, [r5, 0x2]
- movs r0, 0x1
- str r0, [sp]
- mov r3, r10
- str r3, [sp, 0x4]
- movs r0, 0x2
- str r0, [sp, 0x8]
- movs r0, 0
- str r0, [sp, 0xC]
- adds r0, r4, 0
- adds r3, r6, 0
- bl CreateMon
- adds r5, 0x6
- adds r0, r4, 0
- movs r1, 0xC
- adds r2, r5, 0
- bl SetMonData
- b _080389AC
- .pool
-_080388E8:
- adds r0, r4, 0
- adds r0, 0x24
- adds r0, r1, r0
- ldr r7, [r0]
- movs r6, 0
- ldr r4, [sp, 0x18]
- lsls r2, r4, 4
- adds r0, r2, r7
- ldrh r1, [r0, 0x4]
- movs r0, 0xB
- muls r0, r1
- ldr r1, =gSpeciesNames
- adds r0, r1
- ldrb r0, [r0]
- mov r8, r2
- cmp r0, 0xFF
- beq _0803892A
- adds r3, r1, 0
- movs r4, 0xB
-_0803890E:
- adds r0, r2, r7
- ldrh r0, [r0, 0x4]
- adds r1, r0, 0
- muls r1, r4
- adds r0, r6, r1
- adds r0, r3
- ldrb r0, [r0]
- add r9, r0
- adds r6, 0x1
- adds r1, r6, r1
- adds r1, r3
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _0803890E
-_0803892A:
- mov r2, r9
- lsls r0, r2, 8
- add r10, r0
- mov r3, r8
- adds r5, r3, r7
- ldrh r1, [r5]
- lsls r0, r1, 5
- subs r0, r1
- movs r1, 0xFF
- bl __divsi3
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, [sp, 0x18]
- movs r1, 0x64
- adds r4, r0, 0
- muls r4, r1
- ldr r2, [sp, 0x10]
- adds r4, r2, r4
- ldrh r1, [r5, 0x4]
- ldrb r2, [r5, 0x2]
- movs r0, 0x1
- str r0, [sp]
- mov r3, r10
- str r3, [sp, 0x4]
- movs r0, 0x2
- str r0, [sp, 0x8]
- movs r0, 0
- str r0, [sp, 0xC]
- adds r0, r4, 0
- adds r3, r6, 0
- bl CreateMon
- adds r5, 0x6
- adds r0, r4, 0
- movs r1, 0xC
- adds r2, r5, 0
- bl SetMonData
- movs r6, 0
- adds r5, r4, 0
- mov r0, r8
- adds r0, 0x8
- adds r4, r7, r0
-_08038982:
- adds r1, r6, 0
- adds r1, 0xD
- adds r0, r5, 0
- adds r2, r4, 0
- bl SetMonData
- adds r1, r6, 0
- adds r1, 0x11
- ldrh r0, [r4]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 2
- ldr r0, =gBattleMoves + 0x4 @ PP offset
- adds r2, r0
- adds r0, r5, 0
- bl SetMonData
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _08038982
-_080389AC:
- ldr r4, [sp, 0x24]
- str r4, [sp, 0x18]
- ldr r4, =gTrainers
- ldr r0, [sp, 0x18]
-_080389B4:
- ldr r1, [sp, 0x1C]
- cmp r0, r1
- bge _080389BC
- b _08038688
-_080389BC:
- ldr r2, =gBattleTypeFlags
- ldr r1, =gTrainers
- ldr r3, [sp, 0x20]
- ldr r4, [sp, 0x14]
- adds r0, r3, r4
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0x18]
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
-_080389D2:
- ldr r0, =gTrainers
- ldr r2, [sp, 0x20]
- ldr r3, [sp, 0x14]
- adds r1, r2, r3
- lsls r1, 3
- adds r1, r0
- adds r1, 0x20
- ldrb r0, [r1]
-_080389E2:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CreateNPCTrainerParty
-
- thumb_func_start sub_8038A04
-sub_8038A04: @ 8038A04
- push {lr}
- ldr r0, =0x04000006
- ldrh r0, [r0]
- subs r0, 0x6F
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x30
- bhi _08038A1E
- movs r1, 0x98
- lsls r1, 8
- movs r0, 0x8
- bl SetGpuReg
-_08038A1E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8038A04
-
- thumb_func_start VBlankCB_Battle
-VBlankCB_Battle: @ 8038A28
- push {lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- ldr r1, =0x013f0102
- ands r0, r1
- cmp r0, 0
- bne _08038A3A
- bl Random
-_08038A3A:
- ldr r0, =gBattle_BG0_X
- ldrh r1, [r0]
- movs r0, 0x10
- bl SetGpuReg
- ldr r0, =gBattle_BG0_Y
- ldrh r1, [r0]
- movs r0, 0x12
- bl SetGpuReg
- ldr r0, =gBattle_BG1_X
- ldrh r1, [r0]
- movs r0, 0x14
- bl SetGpuReg
- ldr r0, =gBattle_BG1_Y
- ldrh r1, [r0]
- movs r0, 0x16
- bl SetGpuReg
- ldr r0, =gBattle_BG2_X
- ldrh r1, [r0]
- movs r0, 0x18
- bl SetGpuReg
- ldr r0, =gBattle_BG2_Y
- ldrh r1, [r0]
- movs r0, 0x1A
- bl SetGpuReg
- ldr r0, =gBattle_BG3_X
- ldrh r1, [r0]
- movs r0, 0x1C
- bl SetGpuReg
- ldr r0, =gBattle_BG3_Y
- ldrh r1, [r0]
- movs r0, 0x1E
- bl SetGpuReg
- ldr r0, =gBattle_WIN0H
- ldrh r1, [r0]
- movs r0, 0x40
- bl SetGpuReg
- ldr r0, =gBattle_WIN0V
- ldrh r1, [r0]
- movs r0, 0x44
- bl SetGpuReg
- ldr r0, =gBattle_WIN1H
- ldrh r1, [r0]
- movs r0, 0x42
- bl SetGpuReg
- ldr r0, =gBattle_WIN1V
- ldrh r1, [r0]
- movs r0, 0x46
- bl SetGpuReg
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- bl sub_80BA0A8
- pop {r0}
- bx r0
- .pool
- thumb_func_end VBlankCB_Battle
-
- thumb_func_start nullsub_17
-nullsub_17: @ 8038B00
- bx lr
- thumb_func_end nullsub_17
-
- thumb_func_start sub_8038B04
-sub_8038B04: @ 8038B04
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08038B24
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- lsrs r0, 8
- ldrh r1, [r5, 0x30]
- adds r0, r1
- strh r0, [r5, 0x20]
- b _08038B36
-_08038B24:
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- asrs r0, 8
- ldrh r1, [r5, 0x30]
- subs r1, r0
- strh r1, [r5, 0x20]
-_08038B36:
- movs r1, 0xC0
- lsls r1, 1
- adds r0, r1, 0
- ldrh r1, [r5, 0x32]
- adds r0, r1
- strh r0, [r5, 0x32]
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08038B6A
- ldr r4, =0x00002710
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- adds r0, r5, 0
- bl FreeSpriteOamMatrix
- adds r0, r5, 0
- bl DestroySprite
-_08038B6A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8038B04
-
- thumb_func_start sub_8038B74
-sub_8038B74: @ 8038B74
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r0, =sub_8038B04
- str r0, [r4, 0x1C]
- movs r0, 0x68
- bl PlaySE
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8038B74
-
- thumb_func_start sub_8038B94
-sub_8038B94: @ 8038B94
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- ldr r0, =gBattleScripting
- adds r0, 0x25
- ldrb r2, [r0]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08038C04
- ldr r1, =gLinkPlayers
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x18]
- cmp r0, 0x1
- beq _08038BF0
- cmp r0, 0x1
- bgt _08038BE8
- cmp r0, 0
- beq _08038C04
- b _08038C0C
- .pool
-_08038BE8:
- cmp r0, 0x2
- beq _08038C04
- cmp r0, 0x3
- bne _08038C0C
-_08038BF0:
- ldr r0, =gEnemyParty
- str r0, [sp, 0x4]
- ldr r1, =gPlayerParty
- str r1, [sp, 0x8]
- b _08038C0C
- .pool
-_08038C04:
- ldr r2, =gPlayerParty
- str r2, [sp, 0x4]
- ldr r3, =gEnemyParty
- str r3, [sp, 0x8]
-_08038C0C:
- movs r7, 0
- movs r0, 0
- mov r8, r0
- ldr r1, [sp]
- lsls r1, 2
- str r1, [sp, 0xC]
- movs r2, 0xCE
- lsls r2, 1
- mov r10, r2
- mov r9, r0
-_08038C20:
- movs r0, 0x64
- mov r4, r8
- muls r4, r0
- ldr r3, [sp, 0x4]
- adds r4, r3, r4
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- adds r1, r0, 0
- cmp r5, 0
- beq _08038C90
- cmp r5, r10
- beq _08038C64
- cmp r6, 0
- beq _08038C64
- cmp r1, 0
- bne _08038C64
- movs r0, 0x1
- mov r2, r9
- lsls r0, r2
- orrs r7, r0
-_08038C64:
- cmp r5, 0
- beq _08038C90
- cmp r6, 0
- beq _08038C7C
- cmp r5, r10
- beq _08038C74
- cmp r1, 0
- beq _08038C7C
-_08038C74:
- movs r0, 0x2
- mov r3, r9
- lsls r0, r3
- orrs r7, r0
-_08038C7C:
- cmp r5, 0
- beq _08038C90
- cmp r5, r10
- beq _08038C90
- cmp r6, 0
- bne _08038C90
- movs r0, 0x3
- mov r1, r9
- lsls r0, r1
- orrs r7, r0
-_08038C90:
- movs r2, 0x2
- add r9, r2
- movs r3, 0x1
- add r8, r3
- mov r0, r8
- cmp r0, 0x5
- ble _08038C20
- ldr r1, =gTasks
- ldr r2, [sp, 0xC]
- ldr r3, [sp]
- adds r0, r2, r3
- lsls r0, 3
- adds r0, r1
- strh r7, [r0, 0xE]
- movs r7, 0
- movs r0, 0
- mov r8, r0
- movs r1, 0xCE
- lsls r1, 1
- mov r10, r1
- mov r9, r0
-_08038CBA:
- movs r0, 0x64
- mov r4, r8
- muls r4, r0
- ldr r2, [sp, 0x8]
- adds r4, r2, r4
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- adds r1, r0, 0
- cmp r5, 0
- beq _08038D2A
- cmp r5, r10
- beq _08038CFE
- cmp r6, 0
- beq _08038CFE
- cmp r1, 0
- bne _08038CFE
- movs r0, 0x1
- mov r3, r9
- lsls r0, r3
- orrs r7, r0
-_08038CFE:
- cmp r5, 0
- beq _08038D2A
- cmp r6, 0
- beq _08038D16
- cmp r5, r10
- beq _08038D0E
- cmp r1, 0
- beq _08038D16
-_08038D0E:
- movs r0, 0x2
- mov r1, r9
- lsls r0, r1
- orrs r7, r0
-_08038D16:
- cmp r5, 0
- beq _08038D2A
- cmp r5, r10
- beq _08038D2A
- cmp r6, 0
- bne _08038D2A
- movs r0, 0x3
- mov r2, r9
- lsls r0, r2
- orrs r7, r0
-_08038D2A:
- movs r3, 0x2
- add r9, r3
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x5
- ble _08038CBA
- ldr r1, =gTasks
- ldr r2, [sp, 0xC]
- ldr r3, [sp]
- adds r0, r2, r3
- lsls r0, 3
- adds r0, r1
- strh r7, [r0, 0x10]
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8038B94
-
- thumb_func_start sub_8038D64
-sub_8038D64: @ 8038D64
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- bl SetHBlankCallback
- movs r0, 0
- bl SetVBlankCallback
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r2, 0x21
- negs r2, r2
- ands r1, r2
- str r1, [r0]
- ldr r0, =0x003f0100
- ands r0, r1
- cmp r0, 0
- beq _08038DAC
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
- bl sub_8057028
- bl dp11_free
- bl sub_805F094
- b _08038EB6
- .pool
-_08038DAC:
- str r0, [sp]
- movs r1, 0xC0
- lsls r1, 19
- ldr r2, =0x05006000
- mov r0, sp
- bl CpuSet
- movs r0, 0x4C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0xF0
- bl SetGpuReg
- ldr r4, =0x00005051
- movs r0, 0x44
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- ldr r1, =gBattle_WIN0H
- movs r0, 0xF0
- strh r0, [r1]
- ldr r0, =gBattle_WIN0V
- strh r4, [r0]
- bl dp12_8087EA4
- ldr r0, =gUnknown_02038C28
- movs r3, 0xF0
- movs r1, 0xF0
- lsls r1, 3
- adds r2, r0, r1
- movs r1, 0x4F
-_08038DFE:
- strh r3, [r0]
- strh r3, [r2]
- adds r2, 0x2
- adds r0, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _08038DFE
- movs r1, 0x50
- ldr r0, =gUnknown_02038C28
- ldr r3, =0x0000ff10
- movs r4, 0x82
- lsls r4, 4
- adds r2, r0, r4
- adds r0, 0xA0
-_08038E1A:
- strh r3, [r0]
- strh r3, [r2]
- adds r2, 0x2
- adds r0, 0x2
- adds r1, 0x1
- cmp r1, 0x9F
- ble _08038E1A
- bl ResetPaletteFade
- ldr r0, =gBattle_BG0_X
- movs r4, 0
- strh r4, [r0]
- ldr r0, =gBattle_BG0_Y
- strh r4, [r0]
- ldr r0, =gBattle_BG1_X
- strh r4, [r0]
- ldr r0, =gBattle_BG1_Y
- strh r4, [r0]
- ldr r0, =gBattle_BG2_X
- strh r4, [r0]
- ldr r0, =gBattle_BG2_Y
- strh r4, [r0]
- ldr r0, =gBattle_BG3_X
- strh r4, [r0]
- ldr r0, =gBattle_BG3_Y
- strh r4, [r0]
- bl c2_berry_program_update_menu
- ldr r0, =gUnknown_08C004E0
- movs r1, 0
- movs r2, 0x40
- bl LoadCompressedPalette
- bl sub_803570C
- bl ResetSpriteData
- bl ResetTasks
- bl LoadBattleEntryBackground
- movs r0, 0x4A
- movs r1, 0x37
- bl SetGpuReg
- bl FreeAllSpritePalettes
- ldr r1, =gReservedSpritePaletteCount
- movs r0, 0x4
- strb r0, [r1]
- ldr r0, =VBlankCB_Battle
- bl SetVBlankCallback
- ldr r0, =task00_0800F6FC
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x87
- lsls r2, 1
- strh r2, [r1, 0xA]
- movs r2, 0x5A
- strh r2, [r1, 0xC]
- movs r2, 0x1
- strh r2, [r1, 0x12]
- bl sub_8038B94
- ldr r0, =sub_8038F14
- bl SetMainCallback2
- ldr r0, =gBattleCommunication
- strb r4, [r0]
-_08038EB6:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8038D64
-
- thumb_func_start sub_8038F14
-sub_8038F14: @ 8038F14
- push {lr}
- bl sub_8038F34
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTextPrinters
- bl UpdatePaletteFade
- bl RunTasks
- pop {r0}
- bx r0
- thumb_func_end sub_8038F14
-
- thumb_func_start sub_8038F34
-sub_8038F34: @ 8038F34
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r0, =gBattleCommunication
- ldrb r1, [r0]
- adds r4, r0, 0
- cmp r1, 0x9
- bls _08038F44
- b _080391C6
-_08038F44:
- lsls r0, r1, 2
- ldr r1, =_08038F58
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08038F58:
- .4byte _08038F80
- .4byte _08038FA0
- .4byte _08038FC2
- .4byte _080390C8
- .4byte _08039100
- .4byte _08039118
- .4byte _0803912C
- .4byte _0803914C
- .4byte _08039166
- .4byte _08039184
-_08038F80:
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- ldr r1, =gBattleCommunication
- movs r0, 0xFF
- strb r0, [r1, 0x1]
- b _08039174
- .pool
-_08038FA0:
- ldrb r0, [r4, 0x1]
- subs r0, 0x1
- strb r0, [r4, 0x1]
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08038FB0
- b _080391C6
-_08038FB0:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0803910C
-_08038FC2:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08038FD0
- b _080391C6
-_08038FD0:
- bl sub_8185FAC
- ldr r2, =gMain
- ldr r1, =0x00000439
- adds r2, r1
- movs r1, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- movs r3, 0x2
- cmp r0, 0
- beq _08038FFC
- movs r3, 0x4
-_08038FFC:
- movs r4, 0
- ldr r6, =gSaveBlock2Ptr
- cmp r4, r3
- bge _08039022
- ldr r1, =gLinkPlayers
- ldrb r0, [r1]
- cmp r0, 0x3
- bne _08039022
- movs r5, 0xFF
- adds r2, r1, 0
-_08039010:
- adds r2, 0x1C
- adds r4, 0x1
- cmp r4, r3
- bge _08039022
- ldrh r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0x3
- beq _08039010
-_08039022:
- ldr r0, [r6]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080390AC
- cmp r4, r3
- bne _080390AC
- ldr r0, =0x000008d2
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08039074
- bl FreeAllWindowBuffers
- ldr r0, =sub_80392A8
- bl SetMainCallback2
- b _080391C6
- .pool
-_08039074:
- ldr r2, =gMain
- ldr r1, =0x00000439
- adds r0, r2, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _08039090
- ldr r0, [r2, 0x8]
- b _080390B0
- .pool
-_08039090:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08039172
- ldr r0, =sub_80B3AF8
- movs r1, 0x5
- bl CreateTask
- b _08039172
- .pool
-_080390AC:
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
-_080390B0:
- bl SetMainCallback2
- bl sub_8057028
- bl dp11_free
- bl sub_805F094
- b _080391C6
- .pool
-_080390C8:
- movs r0, 0
- str r0, [sp, 0x4]
- movs r1, 0xC0
- lsls r1, 19
- ldr r2, =0x05006000
- add r0, sp, 0x4
- bl CpuSet
- movs r4, 0
-_080390DA:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80363C4
- adds r4, 0x1
- cmp r4, 0x1
- ble _080390DA
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _08039172
- .pool
-_08039100:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080391C6
-_0803910C:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080391C6
- .pool
-_08039118:
- ldr r0, =sub_80B3AF8
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080391C6
- b _08039172
- .pool
-_0803912C:
- bl sub_800A520
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080391C6
- bl sub_800ADF8
- ldr r0, =gUnknown_0824978D
- movs r1, 0
- bl sub_814F9EC
- b _08039172
- .pool
-_0803914C:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _080391C6
- bl sub_800A520
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080391C6
- b _08039172
-_08039166:
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _08039172
- bl sub_800AC34
-_08039172:
- ldr r1, =gBattleCommunication
-_08039174:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080391C6
- .pool
-_08039184:
- ldr r2, =gMain
- ldr r1, =0x00000439
- adds r0, r2, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- adds r3, r2, 0
- cmp r0, 0
- beq _080391A6
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _080391A6
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080391C6
-_080391A6:
- ldr r0, =0x00000439
- adds r2, r3, r0
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, [r3, 0x8]
- bl SetMainCallback2
- bl sub_8057028
- bl dp11_free
- bl sub_805F094
-_080391C6:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8038F34
-
- thumb_func_start sub_80391E0
-sub_80391E0: @ 80391E0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- cmp r1, 0x6
- bhi _080392A0
- lsls r0, r1, 2
- ldr r1, =_08039200
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08039200:
- .4byte _0803921C
- .4byte _08039230
- .4byte _08039244
- .4byte _08039258
- .4byte _0803926C
- .4byte _08039280
- .4byte _08039294
-_0803921C:
- ldr r0, =gUnknown_0831AA08
- lsls r1, r2, 2
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 30
- lsrs r0, 30
- b _080392A0
- .pool
-_08039230:
- ldr r0, =gUnknown_0831AA08
- lsls r1, r2, 2
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 28
- lsrs r0, 30
- b _080392A0
- .pool
-_08039244:
- ldr r0, =gUnknown_0831AA08
- lsls r1, r2, 2
- adds r1, r0
- ldrh r0, [r1]
- lsls r0, 23
- lsrs r0, 27
- b _080392A0
- .pool
-_08039258:
- ldr r0, =gUnknown_0831AA08
- lsls r1, r2, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- lsls r0, 29
- lsrs r0, 30
- b _080392A0
- .pool
-_0803926C:
- ldr r0, =gUnknown_0831AA08
- lsls r1, r2, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- lsls r0, 28
- lsrs r0, 31
- b _080392A0
- .pool
-_08039280:
- ldr r0, =gUnknown_0831AA08
- lsls r1, r2, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- lsls r0, 26
- lsrs r0, 30
- b _080392A0
- .pool
-_08039294:
- ldr r0, =gUnknown_0831AA08
- lsls r1, r2, 2
- adds r1, r0
- ldr r0, [r1]
- lsls r0, 8
- lsrs r0, 22
-_080392A0:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80391E0
-
- thumb_func_start sub_80392A8
-sub_80392A8: @ 80392A8
- push {r4,lr}
- sub sp, 0x8
- movs r0, 0
- bl SetHBlankCallback
- movs r0, 0
- bl SetVBlankCallback
- movs r4, 0
- str r4, [sp, 0x4]
- movs r1, 0xC0
- lsls r1, 19
- ldr r2, =0x05006000
- add r0, sp, 0x4
- bl CpuSet
- bl ResetPaletteFade
- ldr r0, =gBattle_BG0_X
- strh r4, [r0]
- ldr r0, =gBattle_BG0_Y
- strh r4, [r0]
- ldr r0, =gBattle_BG1_X
- strh r4, [r0]
- ldr r0, =gBattle_BG1_Y
- strh r4, [r0]
- ldr r0, =gBattle_BG2_X
- strh r4, [r0]
- ldr r0, =gBattle_BG2_Y
- strh r4, [r0]
- ldr r0, =gBattle_BG3_X
- strh r4, [r0]
- ldr r0, =gBattle_BG3_Y
- strh r4, [r0]
- bl c2_berry_program_update_menu
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- bl sub_803570C
-_080392FE:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80363C4
- adds r4, 0x1
- cmp r4, 0x1
- ble _080392FE
- bl ResetSpriteData
- bl ResetTasks
- bl FreeAllSpritePalettes
- ldr r1, =gReservedSpritePaletteCount
- movs r0, 0x4
- strb r0, [r1]
- ldr r0, =VBlankCB_Battle
- bl SetVBlankCallback
- ldr r0, =sub_803937C
- bl SetMainCallback2
- movs r0, 0x1
- negs r0, r0
- movs r4, 0
- str r4, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =gBattleCommunication
- strb r4, [r0]
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80392A8
-
- thumb_func_start sub_803937C
-sub_803937C: @ 803937C
- push {lr}
- bl sub_803939C
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTextPrinters
- bl UpdatePaletteFade
- bl RunTasks
- pop {r0}
- bx r0
- thumb_func_end sub_803937C
-
- thumb_func_start sub_803939C
-sub_803939C: @ 803939C
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, =gBattleCommunication
- ldrb r1, [r0]
- adds r4, r0, 0
- cmp r1, 0xC
- bls _080393AC
- b _0803975E
-_080393AC:
- lsls r0, r1, 2
- ldr r1, =_080393C0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080393C0:
- .4byte _080393F4
- .4byte _08039414
- .4byte _08039450
- .4byte _08039470
- .4byte _0803949C
- .4byte _080394D8
- .4byte _0803957C
- .4byte _08039704
- .4byte _080395CC
- .4byte _08039610
- .4byte _08039678
- .4byte _080396A8
- .4byte _08039704
-_080393F4:
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- ldr r1, =gBattleCommunication
- ldrb r0, [r1]
- adds r0, 0x1
- b _0803975C
- .pool
-_08039414:
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08039434
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08039434
- ldr r0, =sub_80B3AF8
- movs r1, 0x5
- bl CreateTask
-_08039434:
- ldr r1, =gBattleCommunication
- ldrb r0, [r1]
- adds r0, 0x1
- b _0803975C
- .pool
-_08039450:
- ldr r0, =sub_80B3AF8
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _0803945E
- b _0803975E
-_0803945E:
- ldr r1, =gBattleCommunication
- ldrb r0, [r1]
- adds r0, 0x1
- b _0803975C
- .pool
-_08039470:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0803947E
- b _0803975E
-_0803947E:
- ldr r0, =gText_RecordBattleToPass
- movs r1, 0
- bl sub_814F9EC
- ldr r1, =gBattleCommunication
- ldrb r0, [r1]
- adds r0, 0x1
- b _0803975C
- .pool
-_0803949C:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _080394AC
- b _0803975E
-_080394AC:
- str r0, [sp]
- movs r0, 0x18
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl sub_8056A3C
- ldr r0, =gText_BattleYesNoChoice
- movs r1, 0xC
- bl sub_814F9EC
- ldr r4, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r4, 0x1]
- bl BattleCreateCursorAt
- b _080396EA
- .pool
-_080394D8:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08039500
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- bne _080394EC
- b _0803975E
-_080394EC:
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0x1]
- bl BattleDestroyCursorAt
- movs r0, 0
- b _0803951E
- .pool
-_08039500:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08039526
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _08039510
- b _0803975E
-_08039510:
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0x1]
- bl BattleDestroyCursorAt
- movs r0, 0x1
-_0803951E:
- strb r0, [r4, 0x1]
- bl BattleCreateCursorAt
- b _0803975E
-_08039526:
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08039560
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gBattleCommunication
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _08039540
- b _080396EA
-_08039540:
- str r5, [sp]
- movs r0, 0x18
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl sub_8056A3C
- bl sub_8185338
- strb r0, [r4, 0x1]
- movs r0, 0xA
- strb r0, [r4]
- b _0803975E
- .pool
-_08039560:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0803956A
- b _0803975E
-_0803956A:
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gBattleCommunication
- ldrb r0, [r1]
- adds r0, 0x1
- b _0803975C
- .pool
-_0803957C:
- bl sub_800A520
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0803958A
- b _0803975E
-_0803958A:
- str r0, [sp]
- movs r0, 0x18
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl sub_8056A3C
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080395B4
- bl sub_800ADF8
- ldr r0, =gUnknown_0824978D
- movs r1, 0
- bl sub_814F9EC
-_080395B4:
- ldr r1, =gBattleCommunication
- ldrb r0, [r1]
- adds r0, 0x1
- b _0803975C
- .pool
-_080395CC:
- ldrb r0, [r4, 0x1]
- subs r0, 0x1
- strb r0, [r4, 0x1]
- lsls r0, 24
- cmp r0, 0
- beq _080395DA
- b _0803975E
-_080395DA:
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080395F6
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _080395F6
- bl sub_800AC34
-_080395F6:
- ldr r1, =gBattleCommunication
- ldrb r0, [r1]
- adds r0, 0x1
- b _0803975C
- .pool
-_08039610:
- ldr r2, =gMain
- ldr r1, =0x00000439
- adds r0, r2, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- adds r3, r2, 0
- cmp r0, 0
- beq _08039634
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _08039634
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08039634
- b _0803975E
-_08039634:
- ldr r0, =0x00000439
- adds r2, r3, r0
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08039650
- b _0803975E
-_08039650:
- ldr r0, [r3, 0x8]
- bl SetMainCallback2
- bl sub_8057028
- bl dp11_free
- bl sub_805F094
- b _0803975E
- .pool
-_08039678:
- ldrb r0, [r4, 0x1]
- cmp r0, 0x1
- bne _080396A0
- movs r0, 0x37
- bl PlaySE
- ldr r0, =gText_BattleRecordedOnPass
-_08039686:
- bl BattleStringExpandPlaceholdersToDisplayedString
- ldr r0, =gDisplayedStringBattle
- movs r1, 0
- bl sub_814F9EC
- movs r0, 0x80
- strb r0, [r4, 0x1]
- b _080396EA
- .pool
-_080396A0:
- ldr r0, =gUnknown_08242481
- b _08039686
- .pool
-_080396A8:
- bl sub_800A520
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0803975E
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _0803975E
- ldr r4, =gBattleCommunication
- ldrb r0, [r4, 0x1]
- subs r0, 0x1
- strb r0, [r4, 0x1]
- lsls r0, 24
- cmp r0, 0
- bne _0803975E
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080396EA
- bl sub_800ADF8
- ldr r0, =gUnknown_0824978D
- movs r1, 0
- bl sub_814F9EC
-_080396EA:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0803975E
- .pool
-_08039704:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- bne _0803975E
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08039744
- bl sub_800A520
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0803975E
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- b _0803974A
- .pool
-_08039744:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
-_0803974A:
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gBattleCommunication
- movs r0, 0x20
- strb r0, [r1, 0x1]
- movs r0, 0x8
-_0803975C:
- strb r0, [r1]
-_0803975E:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_803939C
-
- thumb_func_start shedinja_something
-shedinja_something: @ 803976C
- push {r4,r5,lr}
- sub sp, 0x10
- adds r4, r0, 0
- add r5, sp, 0xC
- movs r0, 0x1
- strb r0, [r5]
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- ldr r1, =0x0000012f
- cmp r0, r1
- bne _080397B4
- adds r0, r4, 0
- movs r1, 0x3
- bl GetMonData
- ldrb r1, [r5]
- cmp r0, r1
- beq _080397B4
- adds r0, r4, 0
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- ldr r1, =gUnknown_0831ACA0
- mov r0, sp
- bl StringCompareWithoutExtCtrlCodes
- cmp r0, 0
- bne _080397B4
- adds r0, r4, 0
- movs r1, 0x3
- adds r2, r5, 0
- bl SetMonData
-_080397B4:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end shedinja_something
-
- thumb_func_start sub_80397C4
-sub_80397C4: @ 80397C4
- ldr r2, =gUnknown_0831ABA0
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1, 0x3]
- lsls r0, 3
- bx lr
- .pool
- thumb_func_end sub_80397C4
-
- thumb_func_start oac_poke_opponent
-oac_poke_opponent: @ 80397DC
- push {lr}
- sub sp, 0x4
- ldr r1, =sub_803980C
- str r1, [r0, 0x1C]
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- movs r0, 0x80
- lsls r0, 10
- ldr r1, =0x00002108
- str r1, [sp]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0xA
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end oac_poke_opponent
-
- thumb_func_start sub_803980C
-sub_803980C: @ 803980C
- push {lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_020243FC
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0803982C
- ldrh r0, [r2, 0x24]
- adds r0, 0x2
- strh r0, [r2, 0x24]
- lsls r0, 16
- cmp r0, 0
- bne _0803982C
- ldr r0, =sub_8039838
- str r0, [r2, 0x1C]
-_0803982C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_803980C
-
- thumb_func_start sub_8039838
-sub_8039838: @ 8039838
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08039880
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8076918
- ldr r1, =gHealthBoxesIds
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80729D0
- ldr r0, =sub_8039894
- str r0, [r4, 0x1C]
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- movs r0, 0x80
- lsls r0, 10
- ldr r1, =0x00002108
- str r1, [sp]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0
- bl BeginNormalPaletteFade
-_08039880:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8039838
-
- thumb_func_start sub_8039894
-sub_8039894: @ 8039894
- push {lr}
- adds r2, r0, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080398B0
- ldrh r1, [r2, 0x32]
- adds r0, r2, 0
- movs r2, 0
- movs r3, 0x1
- bl BattleAnimateFrontSprite
-_080398B0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8039894
-
- thumb_func_start SpriteCallbackDummy_2
-SpriteCallbackDummy_2: @ 80398B8
- bx lr
- thumb_func_end SpriteCallbackDummy_2
-
- thumb_func_start sub_80398BC
-sub_80398BC: @ 80398BC
- movs r1, 0x6
- strh r1, [r0, 0x34]
- movs r1, 0x1
- strh r1, [r0, 0x36]
- ldr r1, =sub_80398D0
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end sub_80398BC
-
- thumb_func_start sub_80398D0
-sub_80398D0: @ 80398D0
- push {r4,lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x36]
- subs r0, 0x1
- strh r0, [r3, 0x36]
- lsls r0, 16
- cmp r0, 0
- bne _08039924
- movs r0, 0x8
- strh r0, [r3, 0x36]
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- ldrb r2, [r0]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r4, 0x5
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrh r0, [r3, 0x34]
- subs r0, 0x1
- strh r0, [r3, 0x34]
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- bne _08039924
- ldrb r1, [r1]
- adds r0, r4, 0
- ands r0, r1
- mov r1, r12
- strb r0, [r1]
- ldr r0, =SpriteCallbackDummy_2
- str r0, [r3, 0x1C]
- ldr r0, =gUnknown_02022F88
- str r2, [r0]
-_08039924:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80398D0
-
- thumb_func_start sub_8039934
-sub_8039934: @ 8039934
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r0
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gUnknown_020244D0
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r6, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- beq _0803995C
- adds r4, r0, 0
- b _08039960
- .pool
-_0803995C:
- mov r0, r9
- ldrh r4, [r0, 0x32]
-_08039960:
- ldr r1, =gBattlePartyID
- lsls r0, r6, 1
- adds r5, r0, r1
- ldrh r0, [r5]
- movs r1, 0x64
- mov r8, r1
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r7, =gEnemyParty
- adds r0, r7
- movs r1, 0
- bl GetMonData
- cmp r4, 0xC9
- bne _080399E4
- ldrh r0, [r5]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r7
- movs r1, 0
- bl GetMonData
- adds r2, r0, 0
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080399D0
- movs r0, 0xC9
- b _080399DA
- .pool
-_080399D0:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_080399DA:
- ldr r1, =gUnknown_08300D38
- lsls r0, 2
- b _08039A1C
- .pool
-_080399E4:
- ldr r0, =0x00000181
- cmp r4, r0
- bne _08039A08
- ldr r0, =gUnknown_08525F78
- ldr r1, =gBattleMonForms
- adds r1, r6, r1
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- b _08039A20
- .pool
-_08039A08:
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bls _08039A18
- ldr r0, =gUnknown_08300D38
- b _08039A1E
- .pool
-_08039A18:
- ldr r1, =gUnknown_08300D38
- lsls r0, r4, 2
-_08039A1C:
- adds r0, r1
-_08039A1E:
- ldrb r0, [r0, 0x1]
-_08039A20:
- lsrs r1, r0, 3
- movs r0, 0x8
- subs r0, r1
- mov r1, r9
- strh r0, [r1, 0x34]
- movs r0, 0x1
- strh r0, [r1, 0x36]
- ldr r0, =sub_8039A48
- str r0, [r1, 0x1C]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8039934
-
- thumb_func_start sub_8039A48
-sub_8039A48: @ 8039A48
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x36]
- subs r0, 0x1
- strh r0, [r4, 0x36]
- lsls r0, 16
- cmp r0, 0
- bne _08039AC8
- movs r0, 0x2
- strh r0, [r4, 0x36]
- ldrh r0, [r4, 0x26]
- adds r0, 0x8
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- cmp r0, 0
- bge _08039A7C
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- b _08039AC8
-_08039A7C:
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- bl GetBankIdentity
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- lsls r0, 24
- lsrs r0, 22
- adds r1, 0x4
- adds r1, r0
- ldr r2, =gBattleMonForms
- movs r3, 0x2E
- ldrsh r0, [r4, r3]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 11
- ldr r1, [r1]
- adds r1, r0
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- lsls r0, 8
- adds r1, r0
- movs r2, 0
- movs r0, 0xFF
-_08039AAE:
- strb r2, [r1]
- adds r1, 0x1
- subs r0, 0x1
- cmp r0, 0
- bge _08039AAE
- ldr r0, =gBattleMonForms
- movs r3, 0x2E
- ldrsh r1, [r4, r3]
- adds r1, r0
- ldrb r1, [r1]
- adds r0, r4, 0
- bl StartSpriteAnim
-_08039AC8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8039A48
-
- thumb_func_start sub_8039AD8
-sub_8039AD8: @ 8039AD8
- movs r1, 0x8
- strh r1, [r0, 0x34]
- adds r1, r0, 0
- adds r1, 0x3E
- ldrb r1, [r1]
- lsls r1, 29
- lsrs r1, 31
- strh r1, [r0, 0x36]
- ldr r1, =sub_8039AF4
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end sub_8039AD8
-
- thumb_func_start sub_8039AF4
-sub_8039AF4: @ 8039AF4
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x34]
- subs r0, 0x1
- strh r0, [r3, 0x34]
- lsls r0, 16
- cmp r0, 0
- bne _08039B26
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- ldrb r2, [r0]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- movs r0, 0x8
- strh r0, [r3, 0x34]
-_08039B26:
- pop {r0}
- bx r0
- thumb_func_end sub_8039AF4
-
- thumb_func_start sub_8039B2C
-sub_8039B2C: @ 8039B2C
- movs r1, 0x3E
- adds r1, r0
- mov r12, r1
- movs r1, 0x1
- ldrh r2, [r0, 0x36]
- ands r2, r1
- lsls r2, 2
- mov r1, r12
- ldrb r3, [r1]
- movs r1, 0x5
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- mov r2, r12
- strb r1, [r2]
- movs r1, 0
- strh r1, [r0, 0x36]
- ldr r1, =SpriteCallbackDummy_2
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end sub_8039B2C
thumb_func_start sub_8039B58
sub_8039B58: @ 8039B58
@@ -2805,7 +142,7 @@ dp11b_obj_instanciate: @ 8039C28
mov r10, r3
cmp r1, 0
beq _08039C64
- ldr r0, =gUnknown_020244D0
+ ldr r0, =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0x4]
lsls r2, r4, 1
@@ -2817,7 +154,7 @@ dp11b_obj_instanciate: @ 8039C28
b _08039C76
.pool
_08039C64:
- ldr r0, =gUnknown_020244D0
+ ldr r0, =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0x4]
lsls r2, r4, 1
@@ -2841,7 +178,7 @@ _08039C76:
ldr r0, =gHealthBoxesIds
adds r0, r4, r0
ldrb r7, [r0]
- ldr r2, =gUnknown_020244D0
+ ldr r2, =gBattleSpritesDataPtr
ldr r0, [r2]
ldr r0, [r0, 0x4]
adds r1, r6, r4
@@ -2867,7 +204,7 @@ _08039CD0:
ldr r0, =gBankSpriteIds
adds r0, r4, r0
ldrb r7, [r0]
- ldr r2, =gUnknown_020244D0
+ ldr r2, =gBattleSpritesDataPtr
ldr r0, [r2]
ldr r0, [r0, 0x4]
adds r1, r6, r4
@@ -2931,7 +268,7 @@ dp11b_obj_free: @ 8039D48
lsrs r1, 24
cmp r1, 0x1
bne _08039D9C
- ldr r6, =gUnknown_020244D0
+ ldr r6, =gBattleSpritesDataPtr
ldr r0, [r6]
ldr r1, [r0, 0x4]
lsls r0, r2, 1
@@ -2962,7 +299,7 @@ dp11b_obj_free: @ 8039D48
b _08039DD6
.pool
_08039D9C:
- ldr r6, =gUnknown_020244D0
+ ldr r6, =gBattleSpritesDataPtr
ldr r0, [r6]
ldr r1, [r0, 0x4]
lsls r0, r2, 1
@@ -10246,9 +7583,9 @@ _0803DE86:
ands r0, r1
cmp r0, 0
bne _0803DEA2
- bl sub_805F094
- bl sub_8057028
- bl dp11_free
+ bl FreeMonSpritesGfx
+ bl FreeBattleResources
+ bl FreeBattleSpritesData
_0803DEA2:
pop {r0}
bx r0