summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_anim_effects_3.s1632
-rw-r--r--asm/contest.s6
-rw-r--r--asm/contest_link_80F57C4.s22
-rw-r--r--asm/contest_link_80FC4F4.s36
-rw-r--r--asm/contest_link_81D9DE4.s10
-rw-r--r--asm/contest_painting_effects.s2181
-rw-r--r--asm/dark.s2199
-rw-r--r--asm/easy_chat.s2
-rw-r--r--asm/ice.s2944
-rw-r--r--asm/macros/event.inc68
-rw-r--r--asm/macros/map.inc4
-rw-r--r--asm/pokemon_storage_system.s20963
-rw-r--r--asm/pokenav.s46
-rw-r--r--asm/psychic.s2172
-rw-r--r--asm/rom_8011DC0.s106
-rw-r--r--asm/roulette.s6
-rw-r--r--asm/trade.s14903
-rw-r--r--asm/trainer_card.s14
-rw-r--r--asm/use_pokeblock.s2
19 files changed, 196 insertions, 47120 deletions
diff --git a/asm/battle_anim_effects_3.s b/asm/battle_anim_effects_3.s
deleted file mode 100644
index 4b9466786..000000000
--- a/asm/battle_anim_effects_3.s
+++ /dev/null
@@ -1,1632 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start AnimTask_GetReturnPowerLevel
-AnimTask_GetReturnPowerLevel: @ 815F8A0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r3, =gBattleAnimArgs
- movs r2, 0
- strh r2, [r3, 0xE]
- ldr r1, =gAnimFriendship
- ldrb r0, [r1]
- ldrb r1, [r1]
- adds r0, r1, 0
- subs r0, 0x3D
- lsls r0, 24
- lsrs r0, 24
- adds r2, r1, 0
- cmp r0, 0x1E
- bhi _0815F8C4
- movs r0, 0x1
- strh r0, [r3, 0xE]
-_0815F8C4:
- adds r0, r2, 0
- subs r0, 0x5C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6C
- bhi _0815F8D4
- movs r0, 0x2
- strh r0, [r3, 0xE]
-_0815F8D4:
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0xC8
- bls _0815F8E0
- movs r0, 0x3
- strh r0, [r3, 0xE]
-_0815F8E0:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_GetReturnPowerLevel
-
- thumb_func_start sub_815F8F4
-sub_815F8F4: @ 815F8F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x4
- bls _0815F91A
- b _0815FE68
-_0815F91A:
- lsls r0, 2
- ldr r1, =_0815F92C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0815F92C:
- .4byte _0815F940
- .4byte _0815F9F4
- .4byte _0815FBE8
- .4byte _0815FD08
- .4byte _0815FD8C
-_0815F940:
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- mov r2, r8
- lsls r4, r2, 2
- adds r0, r4, r2
- lsls r0, 3
- adds r6, r0, r1
- movs r3, 0x80
- lsls r3, 4
- adds r0, r3, 0
- ldrh r1, [r6, 0xA]
- adds r0, r1
- strh r0, [r6, 0xA]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- mov r9, r4
- cmp r0, 0
- bne _0815F998
- ldr r2, =gSprites
- lsls r3, r7, 4
- adds r1, r3, r7
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r6, 0xA]
- lsls r0, 16
- asrs r0, 24
- ldrh r4, [r1, 0x24]
- adds r0, r4
- strh r0, [r1, 0x24]
- b _0815F9B2
- .pool
-_0815F998:
- ldr r3, =gSprites
- lsls r4, r7, 4
- adds r2, r4, r7
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r6, 0xA]
- lsls r1, 16
- asrs r1, 24
- ldrh r0, [r2, 0x24]
- subs r0, r1
- strh r0, [r2, 0x24]
- adds r2, r3, 0
- adds r3, r4, 0
-_0815F9B2:
- ldr r1, =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r4, r0, r1
- ldrb r0, [r4, 0xA]
- strh r0, [r4, 0xA]
- adds r1, r3, r7
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x24]
- ldrh r1, [r1, 0x20]
- adds r0, r1
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 14
- adds r0, r1
- movs r1, 0x98
- lsls r1, 17
- cmp r0, r1
- bhi _0815F9DE
- b _0815FE68
-_0815F9DE:
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0815FE68
- .pool
-_0815F9F4:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0815FA28
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- ldr r2, [r0, 0x8]
- mov r10, r2
- ldr r3, [r0, 0xC]
- mov r9, r3
- ldrh r6, [r0]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSpriteSubpriority
- lsls r0, 24
- lsrs r4, r0, 24
- movs r7, 0
- b _0815FB4E
- .pool
-_0815FA28:
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0815FAC8
- ldr r7, =gBattlerPartyIndexes
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- movs r1, 0
- bl GetMonData
- mov r10, r0
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- muls r0, r6
- adds r0, r5
- movs r1, 0x1
- bl GetMonData
- mov r9, r0
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldrb r2, [r4]
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _0815FA9C
- lsls r0, r2, 1
- adds r0, r7
- ldrh r0, [r0]
- muls r0, r6
- adds r0, r5
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- b _0815FA9E
- .pool
-_0815FA9C:
- ldrh r6, [r1, 0x2]
-_0815FA9E:
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- ldr r2, =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- movs r7, 0
- movs r5, 0x88
- lsls r5, 1
- b _0815FB50
- .pool
-_0815FAC8:
- ldr r7, =gBattlerPartyIndexes
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gEnemyParty
- adds r0, r5
- movs r1, 0
- bl GetMonData
- mov r10, r0
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- muls r0, r6
- adds r0, r5
- movs r1, 0x1
- bl GetMonData
- mov r9, r0
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldrb r2, [r4]
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _0815FB2C
- lsls r0, r2, 1
- adds r0, r7
- ldrh r0, [r0]
- muls r0, r6
- adds r0, r5
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- b _0815FB2E
- .pool
-_0815FB2C:
- ldrh r6, [r1, 0x2]
-_0815FB2E:
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- ldr r2, =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- movs r7, 0x1
-_0815FB4E:
- ldr r5, =0x0000ffe0
-_0815FB50:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- lsls r3, r5, 16
- asrs r3, 16
- str r0, [sp]
- str r4, [sp, 0x4]
- mov r4, r10
- str r4, [sp, 0x8]
- mov r0, r9
- str r0, [sp, 0xC]
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- str r0, [sp, 0x10]
- movs r0, 0
- str r0, [sp, 0x14]
- adds r0, r6, 0
- adds r1, r7, 0
- movs r2, 0
- bl sub_80A8394
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gBattleSpritesDataPtr
- ldr r1, [r0]
- ldrb r0, [r4]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _0815FBBA
- ldr r1, =gSprites
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- orrs r0, r1
- ldr r3, =0x00007fff
- movs r1, 0x10
- movs r2, 0x6
- bl BlendPalette
-_0815FBBA:
- ldr r0, =gTasks
- mov r3, r8
- lsls r1, r3, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- strh r5, [r1, 0x26]
- b _0815FD7E
- .pool
-_0815FBE8:
- ldr r1, =gTasks
- mov r0, r8
- lsls r4, r0, 2
- adds r0, r4, r0
- lsls r0, 3
- adds r6, r0, r1
- ldrh r0, [r6, 0x26]
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x80
- lsls r1, 4
- adds r0, r1, 0
- ldrh r2, [r6, 0xA]
- adds r0, r2
- strh r0, [r6, 0xA]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- mov r9, r4
- cmp r0, 0
- bne _0815FC40
- ldr r3, =gSprites
- lsls r4, r5, 4
- adds r2, r4, r5
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r6, 0xA]
- lsls r1, 16
- asrs r1, 24
- ldrh r0, [r2, 0x24]
- subs r0, r1
- strh r0, [r2, 0x24]
- adds r2, r3, 0
- adds r3, r4, 0
- b _0815FC56
- .pool
-_0815FC40:
- ldr r2, =gSprites
- lsls r3, r5, 4
- adds r1, r3, r5
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r6, 0xA]
- lsls r0, 16
- asrs r0, 24
- ldrh r4, [r1, 0x24]
- adds r0, r4
- strh r0, [r1, 0x24]
-_0815FC56:
- ldr r1, =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r6, r0, r1
- ldrb r0, [r6, 0xA]
- strh r0, [r6, 0xA]
- adds r1, r3, r5
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x24]
- ldrh r1, [r1, 0x20]
- adds r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- movs r1, 0x24
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0815FCD6
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0815FCB4
- lsls r4, r5, 16
- asrs r4, 16
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bge _0815FCD6
- b _0815FCCA
- .pool
-_0815FCB4:
- lsls r4, r5, 16
- asrs r4, 16
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- ble _0815FCD6
-_0815FCCA:
- ldrh r0, [r6, 0x24]
- adds r0, 0x1
- strh r0, [r6, 0x24]
- ldr r1, =gBattleAnimArgs
- ldr r0, =0x0000ffff
- strh r0, [r1, 0xE]
-_0815FCD6:
- lsls r0, r5, 16
- movs r2, 0x80
- lsls r2, 14
- adds r0, r2
- movs r1, 0x98
- lsls r1, 17
- cmp r0, r1
- bhi _0815FCE8
- b _0815FE68
-_0815FCE8:
- ldr r0, =gTasks
- mov r1, r9
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0xA]
- b _0815FD7E
- .pool
-_0815FD08:
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- mov r3, r8
- lsls r4, r3, 2
- adds r0, r4, r3
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x26]
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- ldr r5, =gSprites
- adds r0, r5
- bl sub_80A8610
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- mov r9, r4
- cmp r0, 0
- bne _0815FD60
- lsls r1, r7, 4
- adds r1, r7
- lsls r1, 2
- adds r1, r5
- ldrh r0, [r1, 0x20]
- negs r0, r0
- subs r0, 0x20
- strh r0, [r1, 0x24]
- b _0815FD74
- .pool
-_0815FD60:
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r5
- ldrh r2, [r0, 0x20]
- movs r4, 0x88
- lsls r4, 1
- adds r1, r4, 0
- subs r1, r2
- strh r1, [r0, 0x24]
-_0815FD74:
- ldr r0, =gTasks
- mov r1, r9
- add r1, r8
- lsls r1, 3
- adds r1, r0
-_0815FD7E:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0815FE68
- .pool
-_0815FD8C:
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- mov r0, r8
- lsls r4, r0, 2
- adds r0, r4, r0
- lsls r0, 3
- adds r2, r0, r1
- movs r1, 0x80
- lsls r1, 4
- adds r0, r1, 0
- ldrh r3, [r2, 0xA]
- adds r0, r3
- strh r0, [r2, 0xA]
- ldr r0, =gBattleAnimAttacker
- mov r10, r0
- ldrb r0, [r0]
- str r2, [sp, 0x18]
- bl GetBattlerSide
- lsls r0, 24
- mov r9, r4
- ldr r2, [sp, 0x18]
- cmp r0, 0
- bne _0815FE0C
- ldr r1, =gSprites
- lsls r5, r7, 4
- adds r0, r5, r7
- lsls r0, 2
- adds r6, r0, r1
- ldrh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r6, 0x24]
- adds r0, r1
- strh r0, [r6, 0x24]
- movs r2, 0x24
- ldrsh r4, [r6, r2]
- movs r3, 0x20
- ldrsh r0, [r6, r3]
- adds r4, r0
- mov r1, r10
- ldrb r0, [r1]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r3, r5, 0
- cmp r4, r0
- blt _0815FE44
- movs r2, 0
- strh r2, [r6, 0x24]
- b _0815FE44
- .pool
-_0815FE0C:
- ldr r1, =gSprites
- lsls r5, r7, 4
- adds r0, r5, r7
- lsls r0, 2
- adds r6, r0, r1
- ldrh r1, [r2, 0xA]
- lsls r1, 16
- asrs r1, 24
- ldrh r0, [r6, 0x24]
- subs r0, r1
- strh r0, [r6, 0x24]
- movs r3, 0x24
- ldrsh r4, [r6, r3]
- movs r1, 0x20
- ldrsh r0, [r6, r1]
- adds r4, r0
- mov r2, r10
- ldrb r0, [r2]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r3, r5, 0
- cmp r4, r0
- bgt _0815FE44
- movs r4, 0
- strh r4, [r6, 0x24]
-_0815FE44:
- ldr r1, =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0xA]
- strh r1, [r0, 0xA]
- ldr r1, =gSprites
- adds r0, r3, r7
- lsls r0, 2
- adds r0, r1
- movs r1, 0x24
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0815FE68
- mov r0, r8
- bl DestroyAnimVisualTask
-_0815FE68:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_815F8F4
-
- thumb_func_start sub_815FE80
-sub_815FE80: @ 815FE80
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0815FE92
- cmp r0, 0x1
- beq _0815FF3A
- b _0815FFBC
-_0815FE92:
- ldr r0, =gBattleAnimArgs
- movs r2, 0xE
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _0815FF2C
- movs r0, 0x3F
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x7A
- bl PlaySE12WithPanning
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- strh r0, [r4, 0x22]
- ldr r0, =0x0000ffe0
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0815FFBC
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0815FFBC
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- ldr r2, =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0x1
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- b _0815FFBC
- .pool
-_0815FF2C:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _0815FFBC
-_0815FF3A:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r2, [r4, 0x30]
- adds r0, r2, 0x5
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7F
- ble _0815FF6E
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- adds r0, r2, 0
- subs r0, 0x7A
- strh r0, [r4, 0x30]
-_0815FF6E:
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0815FF9C
- ldrh r2, [r4, 0x32]
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r4, 0x24]
- subs r0, r1
- strh r0, [r4, 0x24]
- adds r1, r2, 0
- b _0815FFA8
- .pool
-_0815FF9C:
- ldrh r1, [r4, 0x32]
- lsls r0, r1, 16
- asrs r0, 24
- ldrh r2, [r4, 0x24]
- adds r0, r2
- strh r0, [r4, 0x24]
-_0815FFA8:
- movs r0, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0x2
- bne _0815FFBC
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0815FFBC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_815FE80
-
- thumb_func_start sub_815FFC4
-sub_815FFC4: @ 815FFC4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x26
- ldrsh r0, [r0, r2]
- adds r3, r1, 0
- cmp r0, 0x4
- bls _0815FFE0
- b _08160132
-_0815FFE0:
- lsls r0, 2
- ldr r1, =_0815FFF4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0815FFF4:
- .4byte _08160008
- .4byte _08160058
- .4byte _081600B4
- .4byte _081600CC
- .4byte _08160132
-_08160008:
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- movs r0, 0x6
- strh r0, [r1, 0x8]
- cmp r5, r2
- ble _0816003E
- negs r0, r0
- strh r0, [r1, 0x8]
-_0816003E:
- strh r5, [r1, 0xA]
- strh r2, [r1, 0xC]
- ldrh r0, [r1, 0x26]
- adds r0, 0x1
- strh r0, [r1, 0x26]
- b _08160150
- .pool
-_08160058:
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r0, r1
- ldrb r2, [r0]
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r1
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r3
- ldrh r0, [r2, 0x8]
- ldrh r3, [r1, 0x24]
- adds r0, r3
- strh r0, [r1, 0x24]
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- cmp r0, 0
- ble _081600A0
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- movs r3, 0x24
- ldrsh r1, [r1, r3]
- adds r0, r1
- movs r3, 0xC
- ldrsh r1, [r2, r3]
- b _08160126
- .pool
-_081600A0:
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- movs r3, 0x24
- ldrsh r1, [r1, r3]
- adds r0, r1
- movs r3, 0xC
- ldrsh r1, [r2, r3]
- cmp r0, r1
- bgt _08160150
- b _0816012A
-_081600B4:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r3
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- negs r1, r1
- strh r1, [r0, 0x8]
- ldrh r1, [r0, 0x26]
- adds r1, 0x1
- strh r1, [r0, 0x26]
- b _08160150
-_081600CC:
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r0, r1
- ldrb r2, [r0]
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r1
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r3
- ldrh r0, [r2, 0x8]
- ldrh r3, [r1, 0x24]
- adds r0, r3
- strh r0, [r1, 0x24]
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bge _08160118
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- movs r3, 0x24
- ldrsh r1, [r1, r3]
- adds r0, r1
- movs r3, 0xA
- ldrsh r1, [r2, r3]
- cmp r0, r1
- bgt _08160150
- b _0816012A
- .pool
-_08160118:
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- movs r3, 0x24
- ldrsh r1, [r1, r3]
- adds r0, r1
- movs r3, 0xA
- ldrsh r1, [r2, r3]
-_08160126:
- cmp r0, r1
- blt _08160150
-_0816012A:
- ldrh r0, [r2, 0x26]
- adds r0, 0x1
- strh r0, [r2, 0x26]
- b _08160150
-_08160132:
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r0, r1
- ldrb r2, [r0]
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x24]
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_08160150:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_815FFC4
-
- thumb_func_start sub_8160164
-sub_8160164: @ 8160164
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- strh r0, [r4, 0xE]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- movs r2, 0x1
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0
- bne _08160198
- movs r1, 0x1
-_08160198:
- strh r1, [r4, 0x10]
- ldr r2, =gSprites
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x22]
- strh r0, [r4, 0x14]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x20]
- strh r0, [r4, 0x12]
- strh r5, [r4, 0x1A]
- strh r5, [r4, 0x1E]
- movs r0, 0x1
- strh r0, [r4, 0x1C]
- strh r5, [r4, 0x20]
- ldr r0, =sub_81601DC
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8160164
-
- thumb_func_start sub_81601DC
-sub_81601DC: @ 81601DC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08160284
- cmp r0, 0x1
- bgt _08160204
- cmp r0, 0
- beq _0816020A
- b _081602DA
- .pool
-_08160204:
- cmp r0, 0x2
- beq _081602D4
- b _081602DA
-_0816020A:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x8
- movs r2, 0xFF
- ands r0, r2
- strh r0, [r4, 0x1E]
- ldr r5, =gSprites
- movs r6, 0xE
- ldrsh r0, [r4, r6]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldr r3, =gSineTable
- movs r6, 0x1E
- ldrsh r0, [r4, r6]
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 21
- strh r0, [r1, 0x24]
- ldrh r0, [r4, 0x1A]
- adds r0, 0x2
- ands r0, r2
- strh r0, [r4, 0x1A]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r5
- movs r6, 0x1A
- ldrsh r0, [r4, r6]
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 19
- ldrh r1, [r4, 0x10]
- muls r0, r1
- ldrh r1, [r4, 0x12]
- adds r0, r1
- strh r0, [r2, 0x20]
- movs r6, 0x1A
- ldrsh r0, [r4, r6]
- cmp r0, 0
- bne _081602DA
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r4, 0x12]
- strh r1, [r0, 0x20]
- b _081602C4
- .pool
-_08160284:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x8
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x1E]
- ldr r3, =gSprites
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldr r2, =gSineTable
- movs r5, 0x1E
- ldrsh r0, [r4, r5]
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 21
- strh r0, [r1, 0x24]
- movs r6, 0x1E
- ldrsh r2, [r4, r6]
- cmp r2, 0
- bne _081602DA
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- strh r2, [r1, 0x24]
-_081602C4:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _081602DA
- .pool
-_081602D4:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_081602DA:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81601DC
-
- thumb_func_start sub_81602E0
-sub_81602E0: @ 81602E0
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- ldrh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x30]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x14
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x14
- bl Sin
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08160326
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08160326:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81602E0
-
- thumb_func_start sub_8160338
-sub_8160338: @ 8160338
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0816037C
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldr r0, =0x0000fff5
- strh r0, [r4, 0x2E]
- movs r0, 0xC0
- strh r0, [r4, 0x30]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- b _08160396
- .pool
-_0816037C:
- movs r0, 0xB
- strh r0, [r4, 0x2E]
- movs r0, 0xC0
- strh r0, [r4, 0x30]
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
-_08160396:
- ldr r0, =sub_81602E0
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8160338
-
- thumb_func_start sub_81603A8
-sub_81603A8: @ 81603A8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_80A861C
- strh r0, [r5, 0x22]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- bgt _081603D2
- movs r0, 0x10
- strh r0, [r5, 0x22]
-_081603D2:
- movs r0, 0
- strh r0, [r5, 0x3A]
- movs r1, 0x10
- strh r1, [r5, 0x3C]
- ldr r0, =sub_81603F4
- str r0, [r5, 0x1C]
- lsls r1, 8
- movs r0, 0x52
- bl SetGpuReg
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81603A8
-
- thumb_func_start sub_81603F4
-sub_81603F4: @ 81603F4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _0816046C
- cmp r1, 0x1
- bgt _0816040A
- cmp r1, 0
- beq _08160414
- b _081604E8
-_0816040A:
- cmp r1, 0x2
- beq _08160482
- cmp r1, 0x3
- beq _081604E2
- b _081604E8
-_08160414:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _081604E8
- strh r1, [r4, 0x2E]
- ldrh r1, [r4, 0x30]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0816043E
- ldrh r2, [r4, 0x3A]
- movs r3, 0x3A
- ldrsh r0, [r4, r3]
- cmp r0, 0xF
- bgt _0816044C
- adds r0, r2, 0x1
- strh r0, [r4, 0x3A]
- b _0816044C
-_0816043E:
- ldrh r2, [r4, 0x3C]
- movs r3, 0x3C
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _0816044C
- subs r0, r2, 0x1
- strh r0, [r4, 0x3C]
-_0816044C:
- adds r0, r1, 0x1
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x3C]
- lsls r1, 8
- ldrh r0, [r4, 0x3A]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081604E8
- b _081604DA
-_0816046C:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _081604E8
- strh r1, [r4, 0x2E]
- strh r1, [r4, 0x30]
- b _081604DA
-_08160482:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _081604E8
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x30]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081604AE
- ldrh r2, [r4, 0x3A]
- movs r3, 0x3A
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _081604BC
- subs r0, r2, 0x1
- strh r0, [r4, 0x3A]
- b _081604BC
-_081604AE:
- ldrh r2, [r4, 0x3C]
- movs r3, 0x3C
- ldrsh r0, [r4, r3]
- cmp r0, 0xF
- bgt _081604BC
- adds r0, r2, 0x1
- strh r0, [r4, 0x3C]
-_081604BC:
- adds r0, r1, 0x1
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x3C]
- lsls r1, 8
- ldrh r0, [r4, 0x3A]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0x10
- bne _081604E8
-_081604DA:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- b _081604E8
-_081604E2:
- adds r0, r4, 0
- bl DestroySpriteAndMatrix
-_081604E8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81603F4
-
- thumb_func_start AnimTask_GetWeather
-AnimTask_GetWeather: @ 81604F0
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gBattleAnimArgs
- movs r0, 0
- strh r0, [r2, 0xE]
- ldr r0, =gWeatherMoveAnim
- ldrh r1, [r0]
- movs r0, 0x60
- ands r0, r1
- cmp r0, 0
- beq _08160514
- movs r0, 0x1
- b _08160536
- .pool
-_08160514:
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- beq _08160520
- movs r0, 0x2
- b _08160536
-_08160520:
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0
- beq _0816052C
- movs r0, 0x3
- b _08160536
-_0816052C:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08160538
- movs r0, 0x4
-_08160536:
- strh r0, [r2, 0xE]
-_08160538:
- adds r0, r3, 0
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- thumb_func_end AnimTask_GetWeather
-
- thumb_func_start sub_8160544
-sub_8160544: @ 8160544
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- movs r0, 0
- strh r0, [r4, 0x8]
- ldr r0, =gBattleAnimArgs
- ldrb r0, [r0]
- bl GetAnimBattlerSpriteId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- strh r1, [r4, 0x26]
- ldr r2, =gUnknown_085CE9C8
- adds r0, r4, 0
- bl PrepareAffineAnimInTaskData
- ldr r0, =sub_816058C
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8160544
-
- thumb_func_start sub_816058C
-sub_816058C: @ 816058C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r2, =gTasks
- adds r3, r0, r2
- ldrh r0, [r3, 0x8]
- adds r1, r0, 0x1
- movs r5, 0
- strh r1, [r3, 0x8]
- subs r0, 0x10
- lsls r0, 16
- lsrs r0, 16
- adds r6, r2, 0
- cmp r0, 0x16
- bhi _081605F0
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _08160600
- strh r5, [r3, 0xA]
- ldrh r0, [r3, 0xC]
- adds r0, 0x1
- strh r0, [r3, 0xC]
- movs r5, 0x1
- ands r0, r5
- cmp r0, 0
- bne _081605F0
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =0x0000ffff
- strh r1, [r0, 0x24]
- b _08160600
- .pool
-_081605F0:
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r5, [r0, 0x24]
-_08160600:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r6
- bl RunAffineAnimFromTaskData
- lsls r0, 24
- cmp r0, 0
- bne _08160618
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_08160618:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816058C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/contest.s b/asm/contest.s
index 35dbaf385..a9abd9430 100644
--- a/asm/contest.s
+++ b/asm/contest.s
@@ -1657,7 +1657,7 @@ _080DC506:
lsls r0, r5, 3
ldr r1, =gUnknown_08587AE8
adds r0, r1
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
ldr r0, =gSpriteTemplate_8587B18
adds r0, r6, r0
ldr r2, =gUnknown_08587A70
@@ -1713,7 +1713,7 @@ _080DC506:
sub_80DC594: @ 80DC594
push {lr}
ldr r0, =gUnknown_08587BB0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
ldr r0, =gUnknown_08587BB8
bl LoadSpritePalette
ldr r0, =gSpriteTemplate_8587BC8
@@ -2286,7 +2286,7 @@ sub_80DC9EC: @ 80DC9EC
lsls r4, r1, 3
ldr r0, =gUnknown_08589904
adds r0, r4, r0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
ldr r0, =gUnknown_08589924
adds r4, r0
adds r0, r4, 0
diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s
index 3e35ab7f1..edaafc838 100644
--- a/asm/contest_link_80F57C4.s
+++ b/asm/contest_link_80F57C4.s
@@ -578,10 +578,10 @@ _080F5D58:
adds r0, r5, 0
movs r1, 0
bl VarSet
- bl sub_8076D5C
+ bl SetContinueGameWarpStatusToDynamicWarp
movs r0, 0x1
bl TrySavingData
- bl sav2_gender2_inplace_and_xFE
+ bl ClearContinueGameWarpStatus2
adds r0, r5, 0
adds r1, r4, 0
bl VarSet
@@ -606,7 +606,7 @@ _080F5DE0:
movs r0, 0x64
b _080F5E2C
_080F5DF4:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080F5EBA
@@ -616,7 +616,7 @@ _080F5DF4:
strh r0, [r4, 0x8]
b _080F5EBA
_080F5E0A:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -741,7 +741,7 @@ sub_80F5F30: @ 80F5F30
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080F5F60
@@ -1417,7 +1417,7 @@ _080F64F2:
adds r2, r4, 0
bl GetMonSpritePalStructFromOtIdPersonality
adds r4, r0, 0
- bl LoadCompressedObjectPalette
+ bl LoadCompressedSpritePalette
adds r0, r6, 0
movs r1, 0x1
bl SetMultiuseSpriteTemplateToPokemon
@@ -1451,9 +1451,9 @@ _080F64F2:
ldr r1, [r1]
strb r0, [r1, 0x8]
ldr r0, =gUnknown_0858D878
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
ldr r0, =gUnknown_0858D880
- bl LoadCompressedObjectPalette
+ bl LoadCompressedSpritePalette
ldr r0, =sub_80F7670
movs r1, 0xA
bl CreateTask
@@ -2093,7 +2093,7 @@ _080F6AA6:
adds r0, r1
ldrh r0, [r0]
movs r1, 0
- bl mon_icon_convert_unown_species_id
+ bl GetIconSpecies
lsls r0, 16
lsrs r0, 16
adds r0, r6
@@ -5564,7 +5564,7 @@ sub_80F8714: @ 80F8714
ldrh r0, [r0]
cmp r0, 0x1
bne _080F8748
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080F877E
@@ -5598,7 +5598,7 @@ _080F874C:
movs r3, 0x1
negs r3, r3
movs r0, 0
- bl saved_warp2_set
+ bl SetDynamicWarp
bl ScriptContext2_Disable
bl EnableBothScriptContexts
_080F877E:
diff --git a/asm/contest_link_80FC4F4.s b/asm/contest_link_80FC4F4.s
index 5934c3623..33207e246 100644
--- a/asm/contest_link_80FC4F4.s
+++ b/asm/contest_link_80FC4F4.s
@@ -213,7 +213,7 @@ sub_80FC670: @ 80FC670
beq _080FC6A0
cmp r0, 0x1
beq _080FC6AE
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -223,7 +223,7 @@ _080FC698:
b _080FC6B6
.pool
_080FC6A0:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080FC6B4
@@ -280,7 +280,7 @@ _080FC6FE:
lsls r0, 24
cmp r0, 0
bne _080FC738
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080FC7F4
@@ -412,7 +412,7 @@ _080FC830:
lsls r0, 24
cmp r0, 0
bne _080FC87A
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080FC880
@@ -494,7 +494,7 @@ _080FC8DE:
lsls r0, 24
cmp r0, 0
bne _080FC904
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080FC986
@@ -599,7 +599,7 @@ sub_80FC998: @ 80FC998
b _080FC9F0
.pool
_080FC9C4:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080FC9F0
@@ -653,7 +653,7 @@ sub_80FC9F8: @ 80FC9F8
b _080FCAB2
.pool
_080FCA30:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080FCAB2
@@ -763,7 +763,7 @@ _080FCAFC:
.4byte _080FCC38
.4byte _080FCB6C
_080FCB2C:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
bne _080FCB38
@@ -810,7 +810,7 @@ _080FCB84:
strh r0, [r2, 0x8]
b _080FCC82
_080FCB90:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080FCC82
@@ -833,7 +833,7 @@ _080FCBA4:
b _080FCC50
.pool
_080FCBCC:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080FCC82
@@ -856,7 +856,7 @@ _080FCBE0:
b _080FCC50
.pool
_080FCC08:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080FCC82
@@ -949,7 +949,7 @@ _080FCCB8:
.4byte _080FCDF8
.4byte _080FCD30
_080FCCE8:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
bne _080FCCF4
@@ -1000,7 +1000,7 @@ _080FCD48:
strh r0, [r2, 0x8]
b _080FCE42
_080FCD54:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080FCE42
@@ -1027,7 +1027,7 @@ _080FCD6C:
b _080FCE10
.pool
_080FCD98:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080FCE42
@@ -1047,7 +1047,7 @@ _080FCDB0:
b _080FCE04
.pool
_080FCDC8:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080FCE42
@@ -1149,7 +1149,7 @@ _080FCE92:
lsls r0, 24
cmp r0, 0
bne _080FCEB8
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080FCF2E
@@ -1258,7 +1258,7 @@ sub_80FCF40: @ 80FCF40
b _080FCFBE
.pool
_080FCF80:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080FCFBE
@@ -1324,7 +1324,7 @@ sub_80FCFD0: @ 80FCFD0
b _080FD04E
.pool
_080FD010:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080FD04E
diff --git a/asm/contest_link_81D9DE4.s b/asm/contest_link_81D9DE4.s
index 3969be9a2..5a3393374 100644
--- a/asm/contest_link_81D9DE4.s
+++ b/asm/contest_link_81D9DE4.s
@@ -434,7 +434,7 @@ sub_81DA160: @ 81DA160
b _081DA224
.pool
_081DA1A4:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _081DA224
@@ -536,7 +536,7 @@ _081DA284:
lsls r0, 24
cmp r0, 0
bne _081DA2CE
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _081DA2D4
@@ -613,7 +613,7 @@ sub_81DA2E8: @ 81DA2E8
b _081DA39E
.pool
_081DA338:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _081DA39E
@@ -716,7 +716,7 @@ sub_81DA3B8: @ 81DA3B8
b _081DA46E
.pool
_081DA408:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _081DA46E
@@ -816,7 +816,7 @@ _081DA4CC:
lsls r0, 24
cmp r0, 0
bne _081DA4FA
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _081DA55C
diff --git a/asm/contest_painting_effects.s b/asm/contest_painting_effects.s
index 36ef184b9..801e840b9 100644
--- a/asm/contest_painting_effects.s
+++ b/asm/contest_painting_effects.s
@@ -5,2188 +5,9 @@
.text
- thumb_func_start sub_8124F2C
-sub_8124F2C: @ 8124F2C
- push {lr}
- ldr r2, =gUnknown_03006168
- ldr r1, [r0, 0x4]
- str r1, [r2]
- ldr r2, =gUnknown_0300617C
- ldrb r1, [r0, 0x1F]
- strb r1, [r2]
- ldr r2, =gUnknown_03006164
- ldrb r1, [r0, 0x19]
- strb r1, [r2]
- ldr r2, =gUnknown_03006178
- ldrb r1, [r0, 0x1A]
- strb r1, [r2]
- ldr r2, =gUnknown_03006174
- ldrb r1, [r0, 0x1B]
- strb r1, [r2]
- ldr r2, =gUnknown_0300616C
- ldrb r1, [r0, 0x1C]
- strb r1, [r2]
- ldr r2, =gUnknown_03006180
- ldrb r1, [r0, 0x1D]
- strb r1, [r2]
- ldr r2, =gUnknown_03006170
- ldrb r1, [r0, 0x1E]
- strb r1, [r2]
- ldrb r0, [r0]
- subs r0, 0x2
- cmp r0, 0x22
- bls _08124F68
- b _081250B4
-_08124F68:
- lsls r0, 2
- ldr r1, =_08124F98
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08124F98:
- .4byte _08125024
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _08125084
- .4byte _081250B4
- .4byte _0812502A
- .4byte _08125030
- .4byte _08125044
- .4byte _08125056
- .4byte _081250B4
- .4byte _0812506C
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _08125072
- .4byte _08125050
- .4byte _08125078
- .4byte _0812507E
- .4byte _081250B4
- .4byte _081250B4
- .4byte _08125090
-_08125024:
- bl sub_8125230
- b _081250B4
-_0812502A:
- bl sub_81252E8
- b _081250B4
-_08125030:
- bl sub_81254E0
- ldr r0, =gUnknown_0300617C
- ldrb r0, [r0]
- bl sub_81253A4
- b _081250B4
- .pool
-_08125044:
- bl sub_81254E0
- bl sub_8125630
- bl sub_8125448
-_08125050:
- bl sub_8125630
- b _081250B4
-_08125056:
- bl sub_81254E0
- bl sub_81257F8
- bl sub_81257F8
- bl sub_81258A0
- bl sub_8125448
- b _081250B4
-_0812506C:
- bl sub_81256C8
- b _081250B4
-_08125072:
- bl sub_81254E0
- b _081250B4
-_08125078:
- bl sub_81257F8
- b _081250B4
-_0812507E:
- bl sub_81258A0
- b _081250B4
-_08125084:
- bl sub_8125250
- movs r0, 0x3
- bl sub_81250B8
- b _081250B4
-_08125090:
- bl sub_81254E0
- bl sub_81257F8
- bl sub_81258A0
- bl sub_8125448
- bl sub_81252E8
- bl sub_81252E8
- movs r0, 0x2
- bl sub_81250B8
- movs r0, 0x4
- bl sub_8125170
-_081250B4:
- pop {r0}
- bx r0
- thumb_func_end sub_8124F2C
-
- thumb_func_start sub_81250B8
-sub_81250B8: @ 81250B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- mov r8, r0
- ldrb r0, [r0]
- cmp r2, r0
- bcs _0812514A
- ldr r1, =gUnknown_03006174
- mov r12, r1
- ldr r3, =gUnknown_03006180
- mov r10, r3
- ldr r0, =gUnknown_03006164
- mov r9, r0
-_081250DE:
- ldr r1, =gUnknown_03006178
- ldrb r0, [r1]
- adds r0, r2
- mov r3, r10
- ldrb r1, [r3]
- muls r0, r1
- lsls r0, 1
- ldr r3, =gUnknown_03006168
- ldr r1, [r3]
- adds r1, r0
- mov r3, r9
- ldrb r0, [r3]
- lsls r0, 1
- adds r3, r1, r0
- movs r4, 0
- adds r5, r2, 0x1
- mov r0, r12
- ldrb r0, [r0]
- cmp r4, r0
- bcs _0812513E
- movs r6, 0x80
- lsls r6, 8
-_0812510A:
- ldrh r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _0812512E
- movs r0, 0x1F
- ands r0, r1
- adds r0, r7
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1F
- bls _08125124
- movs r2, 0x1F
-_08125124:
- lsls r0, r2, 10
- lsls r1, r2, 5
- orrs r0, r1
- orrs r0, r2
- strh r0, [r3]
-_0812512E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r3, 0x2
- mov r1, r12
- ldrb r1, [r1]
- cmp r4, r1
- bcc _0812510A
-_0812513E:
- lsls r0, r5, 24
- lsrs r2, r0, 24
- mov r3, r8
- ldrb r3, [r3]
- cmp r2, r3
- bcc _081250DE
-_0812514A:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81250B8
-
- thumb_func_start sub_8125170
-sub_8125170: @ 8125170
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _08125208
- ldr r1, =gUnknown_03006174
- mov r10, r1
-_0812518E:
- ldr r3, =gUnknown_03006178
- ldrb r0, [r3]
- adds r0, r2
- ldr r3, =gUnknown_03006180
- ldrb r1, [r3]
- muls r0, r1
- lsls r0, 1
- ldr r3, =gUnknown_03006168
- ldr r1, [r3]
- adds r1, r0
- ldr r3, =gUnknown_03006164
- ldrb r0, [r3]
- lsls r0, 1
- adds r3, r1, r0
- movs r5, 0
- adds r7, r2, 0x1
- mov r0, r10
- ldrb r0, [r0]
- cmp r5, r0
- bcs _081251FC
- movs r1, 0x80
- lsls r1, 8
- mov r9, r1
- movs r0, 0x1F
- mov r12, r0
- mov r1, r8
- subs r6, r0, r1
-_081251C4:
- ldrh r1, [r3]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _081251EC
- movs r4, 0x1F
- mov r2, r12
- ands r2, r1
- cmp r2, r6
- ble _081251E2
- mov r1, r8
- lsrs r0, r1, 1
- subs r0, r4, r0
- lsls r0, 24
- lsrs r2, r0, 24
-_081251E2:
- lsls r0, r2, 10
- lsls r1, r2, 5
- orrs r0, r1
- orrs r0, r2
- strh r0, [r3]
-_081251EC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r3, 0x2
- mov r0, r10
- ldrb r0, [r0]
- cmp r5, r0
- bcc _081251C4
-_081251FC:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r1, =gUnknown_0300616C
- ldrb r1, [r1]
- cmp r2, r1
- bcc _0812518E
-_08125208:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8125170
-
- thumb_func_start sub_8125230
-sub_8125230: @ 8125230
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =0x00000c7f
-_08125236:
- lsls r0, r4, 16
- lsrs r0, 16
- bl sub_8125954
- adds r4, 0x1
- cmp r4, r5
- bls _08125236
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8125230
-
- thumb_func_start sub_8125250
-sub_8125250: @ 8125250
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _081252C2
- ldr r0, =gUnknown_03006168
- mov r8, r0
- ldr r3, =gUnknown_03006174
-_08125268:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _081252B6
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_08125294:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _081252A8
- adds r0, r4, 0
- str r3, [sp]
- bl sub_8125B28
- strh r0, [r4]
- ldr r3, [sp]
-_081252A8:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _08125294
-_081252B6:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08125268
-_081252C2:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8125250
-
- thumb_func_start sub_81252E8
-sub_81252E8: @ 81252E8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r2, 0
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r2, r0
- bcs _0812537E
- ldr r0, =gUnknown_03006168
- mov r8, r0
- ldr r3, =gUnknown_03006180
-_08125300:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- ldrb r0, [r3]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- adds r0, r2
- lsls r0, 1
- adds r4, r1, r0
- ldrh r1, [r4]
- mov r0, sp
- strh r1, [r0]
- movs r5, 0x1
- ldrb r0, [r3]
- lsls r0, 1
- adds r4, r0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- subs r0, 0x1
- adds r7, r2, 0x1
- cmp r5, r0
- bge _08125372
- ldr r6, =gUnknown_03006180
-_08125336:
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 8
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0812535C
- ldrb r2, [r6]
- lsls r2, 1
- adds r2, r4, r2
- mov r0, sp
- adds r1, r4, 0
- str r3, [sp, 0x4]
- bl sub_8125E18
- strh r0, [r4]
- mov r1, sp
- strh r0, [r1]
- ldr r3, [sp, 0x4]
-_0812535C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6]
- lsls r0, 1
- adds r4, r0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r5, r0
- blt _08125336
-_08125372:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08125300
-_0812537E:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81252E8
-
- thumb_func_start sub_81253A4
-sub_81253A4: @ 81253A4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _08125420
- ldr r0, =gUnknown_03006168
- mov r9, r0
- ldr r3, =gUnknown_03006174
-_081253C4:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r9
- ldr r1, [r4]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _08125414
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_081253F0:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _08125406
- adds r0, r4, 0
- mov r1, r8
- str r3, [sp]
- bl sub_8125B5C
- strh r0, [r4]
- ldr r3, [sp]
-_08125406:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _081253F0
-_08125414:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _081253C4
-_08125420:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81253A4
- thumb_func_start sub_8125448
-sub_8125448: @ 8125448
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _081254BA
- ldr r0, =gUnknown_03006168
- mov r8, r0
- ldr r3, =gUnknown_03006174
-_08125460:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _081254AE
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_0812548C:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _081254A0
- adds r0, r4, 0
- str r3, [sp]
- bl sub_8125C68
- strh r0, [r4]
- ldr r3, [sp]
-_081254A0:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _0812548C
-_081254AE:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08125460
-_081254BA:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8125448
- thumb_func_start sub_81254E0
-sub_81254E0: @ 81254E0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r7, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r7, r0
- bcs _0812556C
- ldr r0, =gUnknown_03006168
- mov r8, r0
-_081254F6:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r7
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r2, r8
- ldr r1, [r2]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r5, r1, r0
- adds r4, r5, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8125C98
- strh r0, [r5]
- movs r6, 0x1
- adds r5, r4, 0
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- subs r0, 0x1
- adds r7, 0x1
- cmp r6, r0
- bge _08125556
-_0812552E:
- adds r4, r5, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8125C98
- strh r0, [r5]
- subs r1, r5, 0x2
- adds r0, r5, 0
- bl sub_8125C98
- strh r0, [r5]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r5, r4, 0
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r6, r0
- blt _0812552E
-_08125556:
- subs r1, r5, 0x2
- adds r0, r5, 0
- bl sub_8125C98
- strh r0, [r5]
- lsls r0, r7, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r7, r0
- bcc _081254F6
-_0812556C:
- movs r6, 0
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r6, r0
- bcs _0812560C
- ldr r3, =gUnknown_03006168
- mov r9, r3
- ldr r0, =gUnknown_03006180
- mov r8, r0
-_0812557E:
- ldr r0, =gUnknown_03006178
- ldrb r0, [r0]
- mov r2, r8
- ldrb r1, [r2]
- muls r0, r1
- lsls r0, 1
- mov r3, r9
- ldr r2, [r3]
- adds r2, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- adds r0, r6
- lsls r0, 1
- adds r5, r2, r0
- lsls r1, 1
- adds r1, r5, r1
- adds r0, r5, 0
- bl sub_8125C98
- strh r0, [r5]
- movs r7, 0x1
- mov r1, r8
- ldrb r0, [r1]
- lsls r0, 1
- adds r5, r0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, 0x1
- cmp r7, r0
- bge _081255F0
- ldr r4, =gUnknown_03006180
-_081255BE:
- ldrb r1, [r4]
- lsls r1, 1
- adds r1, r5, r1
- adds r0, r5, 0
- bl sub_8125C98
- strh r0, [r5]
- ldrb r1, [r4]
- lsls r1, 1
- subs r1, r5, r1
- adds r0, r5, 0
- bl sub_8125C98
- strh r0, [r5]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r4]
- lsls r0, 1
- adds r5, r0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r7, r0
- blt _081255BE
-_081255F0:
- mov r2, r8
- ldrb r1, [r2]
- lsls r1, 1
- subs r1, r5, r1
- adds r0, r5, 0
- bl sub_8125C98
- strh r0, [r5]
- lsls r0, r6, 24
- lsrs r6, r0, 24
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r6, r0
- bcc _0812557E
-_0812560C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81254E0
- thumb_func_start sub_8125630
-sub_8125630: @ 8125630
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _081256A2
- ldr r0, =gUnknown_03006168
- mov r8, r0
- ldr r3, =gUnknown_03006174
-_08125648:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _08125696
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_08125674:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _08125688
- adds r0, r4, 0
- str r3, [sp]
- bl sub_8125CC8
- strh r0, [r4]
- ldr r3, [sp]
-_08125688:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _08125674
-_08125696:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08125648
-_081256A2:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8125630
-
- thumb_func_start sub_81256C8
-sub_81256C8: @ 81256C8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r0, =gUnknown_03006168
- ldr r4, [r0]
- movs r6, 0
- movs r0, 0x80
- lsls r0, 8
- adds r5, r0, 0
-_081256E0:
- movs r7, 0
-_081256E2:
- ldrh r0, [r4]
- ands r0, r5
- cmp r0, 0
- bne _081256F2
- adds r0, r4, 0
- bl sub_8125CC8
- strh r0, [r4]
-_081256F2:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r4, 0x2
- cmp r7, 0x3F
- bls _081256E2
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3F
- bls _081256E0
- movs r7, 0
- ldr r1, =gUnknown_03006168
- mov r10, r1
- mov r3, sp
- movs r2, 0x80
- lsls r2, 8
- mov r9, r2
-_08125716:
- lsls r0, r7, 1
- mov r2, r10
- ldr r1, [r2]
- adds r4, r1, r0
- ldrh r1, [r4]
- strh r1, [r3]
- mov r1, r9
- strh r1, [r4]
- movs r6, 0x1
- adds r4, 0x80
- adds r5, r0, 0
-_0812572C:
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 8
- ands r0, r2
- cmp r0, 0
- bne _0812574C
- adds r2, r4, 0
- adds r2, 0x80
- mov r0, sp
- adds r1, r4, 0
- str r3, [sp, 0x4]
- bl sub_8125F38
- strh r0, [r4]
- ldr r3, [sp, 0x4]
- strh r0, [r3]
-_0812574C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, 0x80
- cmp r6, 0x3E
- bls _0812572C
- mov r0, r9
- strh r0, [r4]
- mov r1, r10
- ldr r0, [r1]
- adds r4, r0, r5
- ldrh r0, [r4]
- strh r0, [r3]
- mov r2, r9
- strh r2, [r4]
- movs r6, 0x1
- adds r4, 0x80
- movs r0, 0x80
- lsls r0, 8
- mov r8, r0
-_08125774:
- ldrh r0, [r4]
- mov r1, r8
- ands r0, r1
- adds r5, r4, 0
- adds r5, 0x80
- cmp r0, 0
- bne _08125794
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- str r3, [sp, 0x4]
- bl sub_8125F38
- strh r0, [r4]
- ldr r3, [sp, 0x4]
- strh r0, [r3]
-_08125794:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, r5, 0
- cmp r6, 0x3E
- bls _08125774
- mov r2, r9
- strh r2, [r4]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3F
- bls _08125716
- ldr r0, =gUnknown_03006168
- ldr r4, [r0]
- movs r6, 0
- movs r0, 0x80
- lsls r0, 8
- mov r8, r0
-_081257BA:
- movs r7, 0
- adds r5, r6, 0x1
-_081257BE:
- ldrh r0, [r4]
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _081257D0
- adds r0, r4, 0
- bl sub_8125CC8
- strh r0, [r4]
-_081257D0:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r4, 0x2
- cmp r7, 0x3F
- bls _081257BE
- lsls r0, r5, 24
- lsrs r6, r0, 24
- cmp r6, 0x3F
- bls _081257BA
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81256C8
-
- thumb_func_start sub_81257F8
-sub_81257F8: @ 81257F8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _0812587A
- ldr r0, =gUnknown_03006168
- mov r8, r0
-_0812580E:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- ldrh r1, [r4]
- mov r0, sp
- strh r1, [r0]
- movs r5, 0x1
- adds r4, 0x2
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, r2, 0x1
- cmp r5, r0
- bge _0812586E
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_08125846:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _0812585C
- mov r0, sp
- adds r1, r4, 0
- bl sub_8125CF4
- strh r0, [r4]
- mov r1, sp
- strh r0, [r1]
-_0812585C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r5, r0
- blt _08125846
-_0812586E:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _0812580E
-_0812587A:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81257F8
-
- thumb_func_start sub_81258A0
-sub_81258A0: @ 81258A0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r2, 0
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r2, r0
- bcs _0812592E
- ldr r0, =gUnknown_03006168
- mov r8, r0
- ldr r7, =gUnknown_03006180
-_081258B8:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- ldrb r0, [r7]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- adds r0, r2
- lsls r0, 1
- adds r4, r1, r0
- ldrh r1, [r4]
- mov r0, sp
- strh r1, [r0]
- movs r5, 0x1
- ldrb r0, [r7]
- lsls r0, 1
- adds r4, r0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, r2, 0x1
- cmp r5, r0
- bge _08125922
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_081258F2:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- bne _0812590C
- mov r0, sp
- adds r1, r4, 0
- str r2, [sp, 0x4]
- bl sub_8125CF4
- strh r0, [r4]
- mov r1, sp
- strh r0, [r1]
- ldr r2, [sp, 0x4]
-_0812590C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r7]
- lsls r0, 1
- adds r4, r0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r5, r0
- blt _081258F2
-_08125922:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r2, r0
- bcc _081258B8
-_0812592E:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81258A0
-
- thumb_func_start sub_8125954
-sub_8125954: @ 8125954
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- mov r2, sp
- ldr r3, =gUnknown_085A1F94
- lsls r1, r0, 1
- add r1, r10
- adds r0, r1, r3
- ldrb r0, [r0]
- strb r0, [r2]
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- strb r0, [r2, 0x1]
- mov r5, sp
- adds r0, r3, 0x2
- adds r1, r0
- ldrb r4, [r1]
- lsls r2, r4, 24
- lsrs r1, r2, 27
- movs r0, 0x7
- ands r1, r0
- strh r1, [r5, 0x2]
- lsrs r2, 25
- mov r9, r2
- movs r0, 0x3
- ands r2, r0
- mov r9, r2
- movs r5, 0x1
- ands r5, r4
- movs r4, 0x1
- mov r8, r4
- cmp r8, r1
- bcs _08125A06
- mov r3, sp
-_081259A6:
- cmp r5, 0
- bne _081259C4
- mov r0, r8
- lsls r2, r0, 2
- mov r4, sp
- adds r1, r4, r2
- ldrb r0, [r3]
- mov r4, r8
- subs r0, r4
- strb r0, [r1]
- ldrb r0, [r3, 0x1]
- add r0, r8
- b _081259D6
- .pool
-_081259C4:
- mov r0, r8
- lsls r2, r0, 2
- mov r4, sp
- adds r1, r4, r2
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r1]
- ldrb r0, [r3, 0x1]
- subs r0, 0x1
-_081259D6:
- strb r0, [r1, 0x1]
- add r2, sp
- ldrb r0, [r2]
- cmp r0, 0x3F
- bhi _081259E6
- ldrb r0, [r2, 0x1]
- cmp r0, 0x3F
- bls _081259EE
-_081259E6:
- mov r0, r8
- subs r0, 0x1
- strh r0, [r3, 0x2]
- b _08125A06
-_081259EE:
- ldrh r0, [r3, 0x2]
- mov r1, r8
- subs r0, r1
- strh r0, [r2, 0x2]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrh r0, [r3, 0x2]
- cmp r8, r0
- bcc _081259A6
-_08125A06:
- movs r2, 0
- mov r8, r2
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r8, r0
- bcc _08125A14
- b _08125B16
-_08125A14:
- movs r3, 0x1F
-_08125A16:
- ldr r1, =gUnknown_03006168
- mov r4, r8
- lsls r0, r4, 2
- mov r2, sp
- adds r6, r2, r0
- ldrb r0, [r6, 0x1]
- lsls r0, 7
- ldr r1, [r1]
- adds r1, r0
- ldrb r0, [r6]
- lsls r0, 1
- adds r2, r1, r0
- ldrh r1, [r2]
- movs r4, 0x80
- lsls r4, 8
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _08125B02
- movs r7, 0x1F
- ands r7, r1
- lsls r0, r1, 16
- lsrs r5, r0, 21
- ands r5, r3
- lsrs r4, r0, 26
- ands r4, r3
- mov r0, r9
- cmp r0, 0
- blt _08125AF8
- cmp r0, 0x1
- ble _08125A78
- cmp r0, 0x3
- bgt _08125AF8
- ldrh r0, [r6, 0x2]
- adds r1, r7, r0
- lsls r1, 16
- lsrs r7, r1, 16
- adds r1, r5, r0
- lsls r1, 16
- lsrs r5, r1, 16
- adds r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r7, 0x1F
- bls _08125AEC
- movs r7, 0x1F
- b _08125AEC
- .pool
-_08125A78:
- mov r1, r10
- lsls r0, r1, 1
- add r0, r10
- ldr r1, =gUnknown_085A1F94
- adds r1, 0x2
- adds r0, r1
- ldrb r0, [r0]
- lsrs r0, 3
- movs r1, 0x7
- ands r0, r1
- movs r1, 0x3
- str r2, [sp, 0x18]
- str r3, [sp, 0x1C]
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- cmp r0, 0x1
- beq _08125AC8
- cmp r0, 0x1
- bgt _08125AB0
- cmp r0, 0
- beq _08125AB6
- b _08125AF8
- .pool
-_08125AB0:
- cmp r0, 0x2
- beq _08125ADA
- b _08125AF8
-_08125AB6:
- ldrh r0, [r6, 0x2]
- cmp r7, r0
- bcc _08125AC4
- subs r0, r7, r0
- lsls r0, 16
- lsrs r7, r0, 16
- b _08125AF8
-_08125AC4:
- movs r7, 0
- b _08125AF8
-_08125AC8:
- ldrh r0, [r6, 0x2]
- cmp r5, r0
- bcc _08125AD6
- subs r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- b _08125AF8
-_08125AD6:
- movs r5, 0
- b _08125AF8
-_08125ADA:
- ldrh r0, [r6, 0x2]
- cmp r4, r0
- bcc _08125AE8
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- b _08125AF8
-_08125AE8:
- movs r4, 0
- b _08125AF8
-_08125AEC:
- cmp r5, 0x1F
- bls _08125AF2
- movs r5, 0x1F
-_08125AF2:
- cmp r4, 0x1F
- bls _08125AF8
- movs r4, 0x1F
-_08125AF8:
- lsls r0, r4, 10
- lsls r1, r5, 5
- orrs r0, r1
- orrs r7, r0
- strh r7, [r2]
-_08125B02:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r8, r0
- bcs _08125B16
- b _08125A16
-_08125B16:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8125954
-
- thumb_func_start sub_8125B28
-sub_8125B28: @ 8125B28
- ldrh r2, [r0]
- movs r0, 0x1F
- adds r1, r2, 0
- ands r1, r0
- asrs r3, r2, 5
- ands r3, r0
- asrs r2, 10
- ands r2, r0
- movs r0, 0x4C
- muls r1, r0
- movs r0, 0x97
- muls r0, r3
- adds r1, r0
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r2
- adds r1, r0
- asrs r1, 8
- lsls r0, r1, 10
- lsls r2, r1, 5
- orrs r0, r2
- orrs r0, r1
- lsls r0, 16
- lsrs r0, 16
- bx lr
- thumb_func_end sub_8125B28
-
- thumb_func_start sub_8125B5C
-sub_8125B5C: @ 8125B5C
- push {r4,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- ldrh r0, [r0]
- movs r2, 0x1F
- movs r1, 0x1F
- ands r1, r0
- lsls r0, 16
- lsrs r3, r0, 21
- ands r3, r2
- lsrs r0, 26
- ands r0, r2
- cmp r1, 0x10
- bhi _08125B8C
- cmp r3, 0x10
- bhi _08125B8C
- cmp r0, 0x10
- bhi _08125B8C
- adds r0, r4, 0
- bl sub_8125B98
- lsls r0, 16
- lsrs r0, 16
- b _08125B8E
-_08125B8C:
- ldr r0, =0x00007fff
-_08125B8E:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8125B5C
-
- thumb_func_start sub_8125B98
-sub_8125B98: @ 8125B98
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- mov r8, r0
- movs r6, 0
- movs r7, 0
- adds r0, r4, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bhi _08125C50
- lsls r0, 2
- ldr r1, =_08125BE0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08125BE0:
- .4byte _08125BF8
- .4byte _08125C08
- .4byte _08125C18
- .4byte _08125C26
- .4byte _08125C34
- .4byte _08125C42
-_08125BF8:
- movs r0, 0x15
- subs r0, r5
- lsls r0, 16
- lsrs r6, r0, 16
- adds r7, r6, 0
- movs r1, 0
- mov r8, r1
- b _08125C50
-_08125C08:
- movs r7, 0
- movs r0, 0x15
- subs r0, r5
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- mov r6, r8
- b _08125C50
-_08125C18:
- movs r0, 0x15
- subs r0, r5
- lsls r0, 16
- lsrs r7, r0, 16
- movs r6, 0
- mov r8, r7
- b _08125C50
-_08125C26:
- movs r7, 0
- movs r6, 0
- movs r0, 0x17
- subs r0, r5
- lsls r0, 16
- lsrs r0, 16
- b _08125C4E
-_08125C34:
- movs r0, 0x17
- subs r0, r5
- lsls r0, 16
- lsrs r7, r0, 16
- movs r6, 0
- mov r8, r6
- b _08125C50
-_08125C42:
- movs r7, 0
- movs r0, 0x17
- subs r0, r5
- lsls r0, 16
- lsrs r6, r0, 16
- movs r0, 0
-_08125C4E:
- mov r8, r0
-_08125C50:
- lsls r0, r7, 10
- lsls r1, r6, 5
- orrs r0, r1
- mov r1, r8
- orrs r1, r0
- lsls r0, r1, 16
- lsrs r0, 16
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8125B98
-
- thumb_func_start sub_8125C68
-sub_8125C68: @ 8125C68
- push {lr}
- ldrh r0, [r0]
- movs r2, 0x1F
- movs r1, 0x1F
- ands r1, r0
- lsls r0, 16
- lsrs r3, r0, 21
- ands r3, r2
- lsrs r0, 26
- ands r0, r2
- cmp r1, 0x10
- bhi _08125C8C
- cmp r3, 0x10
- bhi _08125C8C
- cmp r0, 0x10
- bhi _08125C8C
- movs r0, 0
- b _08125C8E
-_08125C8C:
- ldr r0, =0x00007fff
-_08125C8E:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8125C68
-
- thumb_func_start sub_8125C98
-sub_8125C98: @ 8125C98
- push {r4,lr}
- adds r4, r0, 0
- ldrh r3, [r4]
- cmp r3, 0
- beq _08125CC0
- movs r2, 0x80
- lsls r2, 8
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- beq _08125CB2
- adds r0, r2, 0
- b _08125CC2
-_08125CB2:
- ldrh r1, [r1]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08125CC0
- ldrh r0, [r4]
- b _08125CC2
-_08125CC0:
- movs r0, 0
-_08125CC2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8125C98
-
- thumb_func_start sub_8125CC8
-sub_8125CC8: @ 8125CC8
- push {r4,lr}
- ldrh r1, [r0]
- movs r0, 0x1F
- movs r3, 0x1F
- ands r3, r1
- lsls r1, 16
- lsrs r2, r1, 21
- lsrs r1, 26
- subs r3, r0, r3
- adds r4, r0, 0
- bics r4, r2
- adds r2, r4, 0
- bics r0, r1
- lsls r0, 10
- lsls r2, 5
- orrs r0, r2
- orrs r0, r3
- lsls r0, 16
- lsrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8125CC8
-
- thumb_func_start sub_8125CF4
-sub_8125CF4: @ 8125CF4
- push {r4-r7,lr}
- sub sp, 0x14
- adds r7, r1, 0
- ldrh r4, [r0]
- ldrh r5, [r7]
- lsls r6, r4, 16
- lsls r0, r5, 16
- mov r12, r0
- cmp r4, r5
- beq _08125D66
- mov r2, sp
- movs r3, 0x1F
- movs r1, 0x1F
- adds r0, r1, 0
- ands r0, r4
- strh r0, [r2]
- lsrs r0, r6, 21
- ands r0, r3
- strh r0, [r2, 0x2]
- lsrs r0, r6, 26
- ands r0, r3
- strh r0, [r2, 0x4]
- mov r0, sp
- ands r1, r5
- strh r1, [r0, 0x6]
- mov r1, sp
- mov r2, r12
- lsrs r0, r2, 21
- ands r0, r3
- strh r0, [r1, 0x8]
- lsrs r0, r2, 26
- ands r0, r3
- strh r0, [r1, 0xA]
- mov r0, sp
- ldrh r0, [r0]
- cmp r0, 0x19
- bls _08125D4E
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r0, 0x19
- bls _08125D4E
- mov r0, sp
- ldrh r0, [r0, 0x4]
- cmp r0, 0x19
- bhi _08125D66
-_08125D4E:
- mov r0, sp
- ldrh r0, [r0, 0x6]
- cmp r0, 0x19
- bls _08125D6A
- mov r0, sp
- ldrh r0, [r0, 0x8]
- cmp r0, 0x19
- bls _08125D6A
- mov r0, sp
- ldrh r0, [r0, 0xA]
- cmp r0, 0x19
- bls _08125D6A
-_08125D66:
- ldrh r0, [r7]
- b _08125E10
-_08125D6A:
- movs r4, 0
- add r6, sp, 0xC
- mov r7, sp
- adds r7, 0x6
- adds r5, r6, 0
-_08125D74:
- lsls r2, r4, 1
- mov r1, sp
- adds r0, r1, r2
- adds r1, r7, r2
- ldrh r3, [r0]
- ldrh r0, [r1]
- cmp r3, r0
- bls _08125D8A
- adds r1, r5, r2
- subs r0, r3, r0
- b _08125D8E
-_08125D8A:
- adds r1, r5, r2
- subs r0, r3
-_08125D8E:
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _08125D74
- adds r1, r6, 0
- ldrh r0, [r1, 0x2]
- ldrh r3, [r1]
- cmp r3, r0
- bcc _08125DB4
- ldrh r2, [r1, 0x4]
- cmp r3, r2
- bcc _08125DAE
- adds r2, r3, 0
- b _08125DC8
-_08125DAE:
- cmp r0, r2
- bcs _08125DBA
- b _08125DC2
-_08125DB4:
- ldrh r2, [r1, 0x4]
- cmp r0, r2
- bcc _08125DBE
-_08125DBA:
- ldrh r2, [r1, 0x2]
- b _08125DC8
-_08125DBE:
- cmp r2, r3
- bcc _08125DC6
-_08125DC2:
- ldrh r2, [r1, 0x4]
- b _08125DC8
-_08125DC6:
- ldrh r2, [r6]
-_08125DC8:
- mov r0, sp
- ldrh r1, [r0, 0x6]
- lsrs r0, r2, 1
- movs r6, 0x1F
- subs r6, r0
- adds r0, r1, 0
- muls r0, r6
- movs r1, 0x1F
- bl __divsi3
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- mov r0, sp
- ldrh r0, [r0, 0x8]
- muls r0, r6
- movs r1, 0x1F
- bl __divsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, sp
- ldrh r0, [r0, 0xA]
- muls r0, r6
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 6
- lsls r4, 5
- orrs r0, r4
- orrs r5, r0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r5, 0
-_08125E10:
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8125CF4
-
- thumb_func_start sub_8125E18
-sub_8125E18: @ 8125E18
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r3, r0, 0
- mov r10, r1
- str r2, [sp]
- ldrh r1, [r3]
- mov r0, r10
- ldrh r0, [r0]
- cmp r1, r0
- bne _08125E40
- ldrh r0, [r2]
- cmp r0, r1
- bne _08125E40
- mov r1, r10
- ldrh r0, [r1]
- b _08125F28
-_08125E40:
- mov r2, r10
- ldrh r0, [r2]
- movs r1, 0x1F
- mov r9, r1
- movs r4, 0x1F
- adds r5, r4, 0
- ands r5, r0
- lsls r0, 16
- lsrs r2, r0, 21
- mov r1, r9
- ands r1, r2
- mov r8, r1
- lsrs r0, 26
- mov r2, r9
- ands r2, r0
- str r2, [sp, 0x4]
- ldrh r2, [r3]
- adds r0, r4, 0
- ands r0, r2
- lsls r2, 16
- lsrs r1, r2, 21
- mov r3, r9
- ands r1, r3
- adds r0, r1
- lsrs r2, 26
- ands r2, r3
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
- mov r1, r8
- adds r0, r5, r1
- ldr r2, [sp, 0x4]
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r3, [sp]
- ldrh r1, [r3]
- ands r4, r1
- lsls r1, 16
- lsrs r0, r1, 21
- mov r2, r9
- ands r0, r2
- adds r4, r0
- lsrs r1, 26
- ands r1, r2
- adds r4, r1
- adds r0, r4, 0
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r7, r6
- bne _08125EC2
- cmp r1, r6
- bne _08125EC2
- mov r3, r10
- ldrh r0, [r3]
- b _08125F28
-_08125EC2:
- cmp r7, r6
- bls _08125ECA
- subs r0, r7, r6
- b _08125ECC
-_08125ECA:
- subs r0, r6, r7
-_08125ECC:
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r1, r6
- bls _08125ED8
- subs r0, r1, r6
- b _08125EDA
-_08125ED8:
- subs r0, r6, r1
-_08125EDA:
- lsls r0, 16
- lsrs r0, 16
- cmp r2, r0
- bcc _08125EE4
- adds r0, r2, 0
-_08125EE4:
- lsrs r0, 1
- movs r4, 0x1F
- subs r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- mov r0, r8
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r1, [sp, 0x4]
- adds r0, r1, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 6
- mov r2, r8
- lsls r1, r2, 5
- orrs r0, r1
- orrs r5, r0
- lsls r0, r5, 16
- lsrs r0, 16
-_08125F28:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8125E18
-
- thumb_func_start sub_8125F38
-sub_8125F38: @ 8125F38
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r3, r0, 0
- mov r10, r1
- str r2, [sp]
- ldrh r1, [r3]
- mov r0, r10
- ldrh r0, [r0]
- cmp r1, r0
- bne _08125F60
- ldrh r0, [r2]
- cmp r0, r1
- bne _08125F60
- mov r1, r10
- ldrh r0, [r1]
- b _08126046
-_08125F60:
- mov r2, r10
- ldrh r0, [r2]
- movs r1, 0x1F
- mov r9, r1
- movs r4, 0x1F
- adds r5, r4, 0
- ands r5, r0
- lsls r0, 16
- lsrs r2, r0, 21
- mov r1, r9
- ands r1, r2
- mov r8, r1
- lsrs r0, 26
- mov r2, r9
- ands r2, r0
- str r2, [sp, 0x4]
- ldrh r2, [r3]
- adds r0, r4, 0
- ands r0, r2
- lsls r2, 16
- lsrs r1, r2, 21
- mov r3, r9
- ands r1, r3
- adds r0, r1
- lsrs r2, 26
- ands r2, r3
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
- mov r1, r8
- adds r0, r5, r1
- ldr r2, [sp, 0x4]
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r3, [sp]
- ldrh r1, [r3]
- ands r4, r1
- lsls r1, 16
- lsrs r0, r1, 21
- mov r2, r9
- ands r0, r2
- adds r4, r0
- lsrs r1, 26
- ands r1, r2
- adds r4, r1
- adds r0, r4, 0
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r7, r6
- bne _08125FE2
- cmp r1, r6
- bne _08125FE2
- mov r3, r10
- ldrh r0, [r3]
- b _08126046
-_08125FE2:
- cmp r7, r6
- bls _08125FEA
- subs r0, r7, r6
- b _08125FEC
-_08125FEA:
- subs r0, r6, r7
-_08125FEC:
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r1, r6
- bls _08125FF8
- subs r0, r1, r6
- b _08125FFA
-_08125FF8:
- subs r0, r6, r1
-_08125FFA:
- lsls r0, 16
- lsrs r0, 16
- cmp r2, r0
- bcc _08126004
- adds r0, r2, 0
-_08126004:
- movs r4, 0x1F
- subs r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- mov r0, r8
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r1, [sp, 0x4]
- adds r0, r1, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 6
- mov r2, r8
- lsls r1, r2, 5
- orrs r0, r1
- orrs r5, r0
- lsls r0, r5, 16
- lsrs r0, 16
-_08126046:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8125F38
thumb_func_start sub_8126058
sub_8126058: @ 8126058
@@ -2793,7 +614,7 @@ _0812653C:
.pool
_0812656C:
adds r0, r4, 0
- bl sub_8125C68
+ bl ConvertToBlackOrWhite
lsls r0, 16
cmp r0, 0
bne _0812657E
diff --git a/asm/dark.s b/asm/dark.s
deleted file mode 100644
index bb46b0fa9..000000000
--- a/asm/dark.s
+++ /dev/null
@@ -1,2199 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81136E8
-sub_81136E8: @ 81136E8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =gBattleAnimArgs
- ldrh r1, [r1]
- strh r1, [r0, 0x8]
- ldr r1, =gBattleAnimAttacker
- ldrb r4, [r1]
- movs r1, 0x10
- strh r1, [r0, 0xA]
- movs r0, 0x52
- bl SetGpuReg
- adds r0, r4, 0
- bl GetBattlerSpriteBGPriorityRank
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08113734
- ldr r1, =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- b _0811373C
- .pool
-_08113734:
- ldr r1, =0x00003f44
- movs r0, 0x50
- bl SetGpuReg
-_0811373C:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_811375C
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81136E8
-
- thumb_func_start sub_811375C
-sub_811375C: @ 811375C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r6, r0, r1
- ldrh r0, [r6, 0xA]
- lsrs r4, r0, 8
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xC
- ldrsh r0, [r6, r2]
- ldrb r2, [r6, 0x8]
- cmp r0, r2
- bne _081137D8
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- subs r0, r1, 0x1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r4, 8
- orrs r1, r0
- movs r5, 0
- strh r1, [r6, 0xA]
- ldrh r1, [r6, 0xA]
- movs r0, 0x52
- bl SetGpuReg
- strh r5, [r6, 0xC]
- cmp r4, 0x10
- bne _081137DE
- ldr r2, =gSprites
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- adds r0, r7, 0
- bl DestroyAnimVisualTask
- b _081137DE
- .pool
-_081137D8:
- ldrh r0, [r6, 0xC]
- adds r0, 0x1
- strh r0, [r6, 0xC]
-_081137DE:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_811375C
-
- thumb_func_start sub_81137E4
-sub_81137E4: @ 81137E4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r1
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0]
- strh r0, [r2, 0x8]
- movs r1, 0x80
- lsls r1, 5
- strh r1, [r2, 0xA]
- ldr r0, =sub_811381C
- str r0, [r2]
- movs r0, 0x52
- bl SetGpuReg
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81137E4
-
- thumb_func_start sub_811381C
-sub_811381C: @ 811381C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r6, r0, r1
- ldrh r0, [r6, 0xA]
- lsrs r4, r0, 8
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xC
- ldrsh r0, [r6, r2]
- ldrb r2, [r6, 0x8]
- cmp r0, r2
- bne _0811387C
- subs r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r4, 8
- orrs r1, r0
- movs r5, 0
- strh r1, [r6, 0xA]
- ldrh r1, [r6, 0xA]
- movs r0, 0x52
- bl SetGpuReg
- strh r5, [r6, 0xC]
- cmp r4, 0
- bne _08113882
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r7, 0
- bl DestroyAnimVisualTask
- b _08113882
- .pool
-_0811387C:
- ldrh r0, [r6, 0xC]
- adds r0, 0x1
- strh r0, [r6, 0xC]
-_08113882:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_811381C
-
- thumb_func_start sub_8113888
-sub_8113888: @ 8113888
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSpriteBGPriorityRank
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081138BC
- ldr r1, =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- b _081138C4
- .pool
-_081138BC:
- ldr r1, =0x00003f44
- movs r0, 0x50
- bl SetGpuReg
-_081138C4:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8113888
-
- thumb_func_start sub_81138D4
-sub_81138D4: @ 81138D4
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, =gBattleAnimTarget
- ldrb r0, [r6]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x30]
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r6]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x34]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- movs r0, 0x7E
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl InitSpriteDataForLinearTranslation
- ldrh r0, [r4, 0x30]
- negs r0, r0
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x32]
- negs r0, r0
- strh r0, [r4, 0x36]
- ldr r0, =0x0000ffd8
- strh r0, [r4, 0x3A]
- ldr r1, =sub_8113950
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81138D4
-
- thumb_func_start sub_8113950
-sub_8113950: @ 8113950
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrh r5, [r4, 0x30]
- ldrh r0, [r4, 0x34]
- adds r2, r5, r0
- strh r2, [r4, 0x34]
- ldrh r3, [r4, 0x32]
- ldrh r6, [r4, 0x36]
- adds r1, r3, r6
- strh r1, [r4, 0x36]
- lsls r0, r2, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- lsls r0, r1, 16
- asrs r0, 24
- strh r0, [r4, 0x26]
- movs r6, 0x3C
- ldrsh r0, [r4, r6]
- cmp r0, 0
- bne _08113992
- adds r0, r2, r5
- strh r0, [r4, 0x34]
- adds r1, r3
- strh r1, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
-_08113992:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r2, 0x3A
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r6, [r4, 0x26]
- adds r0, r6
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x38]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- cmp r0, 0x7F
- ble _081139C2
- movs r0, 0
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x3A]
- adds r0, 0x14
- strh r0, [r4, 0x3A]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
-_081139C2:
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _081139D4
- adds r0, r4, 0
- bl DestroyAnimSprite
-_081139D4:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8113950
-
- thumb_func_start sub_81139DC
-sub_81139DC: @ 81139DC
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimArgs
- ldrh r0, [r5]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrb r1, [r5, 0x4]
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x30]
- ldrh r0, [r5, 0xA]
- strh r0, [r4, 0x32]
- ldr r0, =sub_8113A18
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81139DC
-
- thumb_func_start sub_8113A18
-sub_8113A18: @ 8113A18
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x36]
- adds r0, r1
- strh r0, [r2, 0x36]
- ldrh r1, [r2, 0x30]
- ldrh r3, [r2, 0x38]
- adds r1, r3
- strh r1, [r2, 0x38]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r2, 0x24]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r2, 0x26]
- ldrh r0, [r2, 0x34]
- adds r0, 0x1
- strh r0, [r2, 0x34]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x32
- ldrsh r1, [r2, r3]
- cmp r0, r1
- bne _08113A4E
- ldr r0, =sub_8113A58
- str r0, [r2, 0x1C]
-_08113A4E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8113A18
-
- thumb_func_start sub_8113A58
-sub_8113A58: @ 8113A58
- push {lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x36]
- ldrh r0, [r3, 0x2E]
- subs r1, r0
- strh r1, [r3, 0x36]
- ldrh r0, [r3, 0x38]
- ldrh r2, [r3, 0x30]
- subs r0, r2
- strh r0, [r3, 0x38]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r3, 0x24]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r3, 0x26]
- ldrh r0, [r3, 0x34]
- subs r0, 0x1
- strh r0, [r3, 0x34]
- lsls r0, 16
- cmp r0, 0
- bne _08113A8A
- adds r0, r3, 0
- bl DestroySpriteAndMatrix
-_08113A8A:
- pop {r0}
- bx r0
- thumb_func_end sub_8113A58
-
- thumb_func_start sub_8113A90
-sub_8113A90: @ 8113A90
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r3, r0, 0
- cmp r1, 0
- bne _08113AAC
- ldr r0, =gBattleAnimAttacker
- b _08113AAE
- .pool
-_08113AAC:
- ldr r0, =gBattleAnimTarget
-_08113AAE:
- ldrb r5, [r0]
- movs r6, 0x14
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x4
- ldr r7, =0x000003ff
- adds r0, r7, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- cmp r0, 0x1
- beq _08113B0C
- cmp r0, 0x1
- bgt _08113AE8
- cmp r0, 0
- beq _08113AF2
- b _08113B60
- .pool
-_08113AE8:
- cmp r0, 0x2
- beq _08113B26
- cmp r0, 0x3
- beq _08113B3E
- b _08113B60
-_08113AF2:
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_80A861C
- subs r0, 0x8
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_80A861C
- adds r0, 0x8
- strh r0, [r4, 0x22]
- b _08113B60
-_08113B0C:
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_80A861C
- subs r0, 0xE
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_80A861C
- adds r0, 0x10
- strh r0, [r4, 0x22]
- b _08113B60
-_08113B26:
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_80A861C
- adds r0, 0x8
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_80A861C
- adds r0, 0x8
- b _08113B54
-_08113B3E:
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_80A861C
- adds r0, 0xE
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_80A861C
- adds r0, 0x10
-_08113B54:
- strh r0, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- movs r6, 0xEC
-_08113B60:
- movs r0, 0x20
- strh r0, [r4, 0x2E]
- lsls r0, r6, 24
- asrs r0, 24
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- adds r0, 0xC
- strh r0, [r4, 0x36]
- ldr r0, =0x0000fff4
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl InitAnimArcTranslation
- ldr r0, =sub_8113B90
- str r0, [r4, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8113A90
-
- thumb_func_start sub_8113B90
-sub_8113B90: @ 8113B90
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _08113BA4
- adds r0, r4, 0
- bl DestroySpriteAndMatrix
-_08113BA4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8113B90
-
- thumb_func_start sub_8113BAC
-sub_8113BAC: @ 8113BAC
- push {r4-r7,lr}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r5, r1, r0
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1F
- movs r6, 0
- strh r0, [r5, 0x16]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_80A861C
- subs r0, 0x7
- strh r0, [r5, 0x14]
- ldrh r1, [r5, 0x16]
- strh r1, [r5, 0x12]
- strh r0, [r5, 0x10]
- subs r1, r0
- lsls r1, 8
- strh r1, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- subs r1, 0x20
- strh r1, [r5, 0x24]
- adds r0, 0x20
- strh r0, [r5, 0x26]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08113C1C
- ldr r0, =0x0000fff4
- b _08113C1E
- .pool
-_08113C1C:
- ldr r0, =0x0000ffc0
-_08113C1E:
- strh r0, [r5, 0x18]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSpriteBGPriorityRank
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xE]
- cmp r0, 0x1
- bne _08113C80
- add r4, sp, 0xC
- adds r0, r4, 0
- bl sub_80A6B30
- ldr r0, =gBattle_BG1_Y
- ldrh r0, [r0]
- strh r0, [r5, 0x1C]
- ldr r1, =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- ldrb r1, [r4, 0x8]
- lsls r1, 4
- movs r0, 0
- movs r2, 0x20
- bl FillPalette
- ldr r0, =0x04000016
- str r0, [sp]
- movs r7, 0x2
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _08113CB0
- ldr r1, =gBattle_BG2_X
- b _08113CAA
- .pool
-_08113C80:
- ldr r0, =gBattle_BG2_Y
- ldrh r0, [r0]
- strh r0, [r5, 0x1C]
- ldr r1, =0x00003f44
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0
- movs r1, 0x90
- movs r2, 0x20
- bl FillPalette
- ldr r0, =0x0400001a
- str r0, [sp]
- movs r7, 0x4
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _08113CB0
- ldr r1, =gBattle_BG1_X
-_08113CAA:
- ldrh r0, [r1]
- adds r0, 0xF0
- strh r0, [r1]
-_08113CB0:
- ldr r0, =0xa2600001
- str r0, [sp, 0x4]
- mov r2, sp
- movs r1, 0
- movs r0, 0x1
- strb r0, [r2, 0x8]
- mov r0, sp
- strb r1, [r0, 0x9]
- strh r1, [r5, 0x1E]
- movs r0, 0x10
- strh r0, [r5, 0x20]
- strh r1, [r5, 0x8]
- strh r1, [r5, 0xA]
- strh r1, [r5, 0xC]
- movs r0, 0x3
- bl sub_8114374
- movs r3, 0
- ldr r4, =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r4, r0
-_08113CDC:
- lsls r1, r3, 1
- adds r2, r1, r4
- ldrh r0, [r5, 0x1C]
- strh r0, [r2]
- adds r1, r6
- ldrh r0, [r5, 0x1C]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x6F
- bls _08113CDC
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl ScanlineEffect_SetParams
- movs r0, 0x3F
- eors r7, r0
- movs r1, 0xFC
- lsls r1, 6
- adds r0, r1, 0
- orrs r7, r0
- movs r0, 0x4A
- adds r1, r7, 0
- bl SetGpuReg
- ldr r1, =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- ldr r2, =gBattle_WIN0H
- ldrh r0, [r5, 0x24]
- lsls r0, 8
- ldrh r1, [r5, 0x26]
- orrs r0, r1
- strh r0, [r2]
- ldr r1, =gBattle_WIN0V
- movs r0, 0xA0
- strh r0, [r1]
- ldr r0, =sub_8113D60
- str r0, [r5]
- add sp, 0x1C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8113BAC
-
- thumb_func_start sub_8113D60
-sub_8113D60: @ 8113D60
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _08113D7A
- b _08113E72
-_08113D7A:
- lsls r0, 2
- ldr r1, =_08113D8C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08113D8C:
- .4byte _08113DA0
- .4byte _08113E02
- .4byte _08113E1C
- .4byte _08113E58
- .4byte _08113E6C
-_08113DA0:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08113E72
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08113DD0
- ldrh r1, [r4, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r4, r2]
- cmp r0, 0xC
- beq _08113DDE
- adds r0, r1, 0x1
- strh r0, [r4, 0x1E]
- b _08113DDE
-_08113DD0:
- ldrh r1, [r4, 0x20]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x8
- beq _08113DDE
- subs r0, r1, 0x1
- strh r0, [r4, 0x20]
-_08113DDE:
- ldrh r1, [r4, 0x20]
- lsls r1, 8
- ldrh r0, [r4, 0x1E]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0xC
- bne _08113E72
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x8
- bne _08113E72
- b _08113E5E
-_08113E02:
- ldrh r0, [r4, 0x10]
- subs r0, 0x8
- strh r0, [r4, 0x10]
- adds r0, r4, 0
- bl sub_8114244
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bge _08113E72
- b _08113E5E
-_08113E1C:
- ldrh r0, [r4, 0x10]
- subs r0, 0x8
- strh r0, [r4, 0x10]
- adds r0, r4, 0
- bl sub_8114244
- ldrh r1, [r4, 0x24]
- adds r1, 0x4
- strh r1, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- subs r2, r0, 0x4
- strh r2, [r4, 0x26]
- lsls r1, 16
- lsls r0, r2, 16
- cmp r1, r0
- blt _08113E3E
- strh r2, [r4, 0x24]
-_08113E3E:
- ldr r3, =gBattle_WIN0H
- ldrh r2, [r4, 0x24]
- lsls r0, r2, 8
- ldrh r1, [r4, 0x26]
- orrs r0, r1
- strh r0, [r3]
- lsls r2, 16
- lsls r1, 16
- cmp r2, r1
- bne _08113E72
- b _08113E5E
- .pool
-_08113E58:
- ldr r1, =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_08113E5E:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08113E72
- .pool
-_08113E6C:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_08113E72:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8113D60
-
- thumb_func_start sub_8113E78
-sub_8113E78: @ 8113E78
- push {r4-r7,lr}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x4
- bls _08113E94
- b _081140A6
-_08113E94:
- lsls r0, 2
- ldr r1, =_08113EA8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08113EA8:
- .4byte _08113EBC
- .4byte _08113F40
- .4byte _08113F84
- .4byte _08113FF0
- .4byte _08114058
-_08113EBC:
- bl IsContest
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08113EF8
- ldr r0, =gBattle_WIN0H
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_WIN0V
- strh r1, [r0]
- ldr r4, =0x00003f3f
- movs r0, 0x48
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x4A
- adds r1, r4, 0
- bl SetGpuReg
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- b _081140A6
- .pool
-_08113EF8:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSpriteBGPriorityRank
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xE]
- cmp r0, 0x1
- bne _08113F24
- ldr r1, =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =gBattle_BG2_X
- b _08113F2E
- .pool
-_08113F24:
- ldr r1, =0x00003f44
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =gBattle_BG1_X
-_08113F2E:
- ldrh r0, [r1]
- adds r0, 0xF0
- strh r0, [r1]
- b _08114044
- .pool
-_08113F40:
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _08113F68
- mov r0, sp
- bl sub_80A6B30
- ldr r0, =gBattle_BG1_Y
- ldrh r0, [r0]
- strh r0, [r5, 0x1C]
- mov r0, sp
- ldrb r1, [r0, 0x8]
- lsls r1, 4
- movs r0, 0
- movs r2, 0x20
- bl FillPalette
- b _08113F78
- .pool
-_08113F68:
- ldr r0, =gBattle_BG2_Y
- ldrh r0, [r0]
- strh r0, [r5, 0x1C]
- movs r0, 0
- movs r1, 0x90
- movs r2, 0x20
- bl FillPalette
-_08113F78:
- movs r0, 0x3
- bl sub_8114374
- b _08114044
- .pool
-_08113F84:
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1F
- movs r6, 0
- strh r0, [r5, 0x16]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_80A861C
- subs r0, 0x7
- strh r0, [r5, 0x14]
- ldrh r1, [r5, 0x16]
- subs r1, r0
- lsls r1, 8
- strh r1, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- subs r1, r0, 0x4
- strh r1, [r5, 0x24]
- adds r0, 0x4
- strh r0, [r5, 0x26]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08113FD8
- ldr r0, =0x0000fff4
- b _08113FDA
- .pool
-_08113FD8:
- ldr r0, =0x0000ffc0
-_08113FDA:
- strh r0, [r5, 0x18]
- ldrh r0, [r5, 0x18]
- strh r0, [r5, 0x10]
- strh r0, [r5, 0x12]
- movs r0, 0xC
- strh r0, [r5, 0x1E]
- movs r0, 0x8
- strh r0, [r5, 0x20]
- b _08114044
- .pool
-_08113FF0:
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _08114000
- ldr r0, =0x04000016
- b _08114002
- .pool
-_08114000:
- ldr r0, =0x0400001a
-_08114002:
- str r0, [sp, 0x10]
- movs r3, 0
- add r4, sp, 0x10
- ldr r6, =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r7, r6, r0
-_08114010:
- lsls r1, r3, 1
- adds r2, r1, r6
- ldrh r0, [r5, 0x1C]
- adds r0, 0x9F
- subs r0, r3
- strh r0, [r2]
- adds r1, r7
- ldrh r0, [r5, 0x1C]
- adds r0, 0x9F
- subs r0, r3
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x6F
- bls _08114010
- ldr r1, =0xa2600001
- str r1, [r4, 0x4]
- movs r2, 0
- movs r0, 0x1
- strb r0, [r4, 0x8]
- strb r2, [r4, 0x9]
- ldr r0, [sp, 0x10]
- ldr r2, [r4, 0x8]
- bl ScanlineEffect_SetParams
-_08114044:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _081140A6
- .pool
-_08114058:
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _08114070
- ldr r1, =0x00003f3d
- movs r0, 0x4A
- bl SetGpuReg
- b _08114078
- .pool
-_08114070:
- ldr r1, =0x00003f3b
- movs r0, 0x4A
- bl SetGpuReg
-_08114078:
- ldr r1, =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- ldr r2, =gBattle_WIN0H
- ldrh r0, [r5, 0x24]
- lsls r0, 8
- ldrh r1, [r5, 0x26]
- orrs r0, r1
- strh r0, [r2]
- ldr r1, =gBattle_WIN0V
- movs r0, 0xA0
- strh r0, [r1]
- movs r0, 0
- strh r0, [r5, 0x8]
- strh r0, [r5, 0xA]
- strh r0, [r5, 0xC]
- ldr r1, =0x0000080c
- movs r0, 0x52
- bl SetGpuReg
- ldr r0, =sub_81140C8
- str r0, [r5]
-_081140A6:
- add sp, 0x1C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8113E78
-
- thumb_func_start sub_81140C8
-sub_81140C8: @ 81140C8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _081140E2
- b _08114232
-_081140E2:
- lsls r0, 2
- ldr r1, =_081140F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081140F4:
- .4byte _08114108
- .4byte _08114134
- .4byte _0811419C
- .4byte _081141FE
- .4byte _08114210
-_08114108:
- ldrh r0, [r4, 0x12]
- adds r0, 0x8
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r4, 0x16]
- movs r3, 0x16
- ldrsh r1, [r4, r3]
- cmp r0, r1
- blt _0811411E
- strh r2, [r4, 0x12]
-_0811411E:
- adds r0, r4, 0
- bl sub_8114244
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r1, r0
- beq _08114132
- b _08114232
-_08114132:
- b _08114204
-_08114134:
- movs r3, 0x26
- ldrsh r0, [r4, r3]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- subs r0, r1
- cmp r0, 0x3F
- bgt _08114150
- ldrh r0, [r4, 0x24]
- subs r0, 0x4
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- adds r0, 0x4
- strh r0, [r4, 0x26]
- b _08114154
-_08114150:
- movs r0, 0x1
- strh r0, [r4, 0xA]
-_08114154:
- ldr r2, =gBattle_WIN0H
- ldrh r0, [r4, 0x24]
- lsls r0, 8
- ldrh r1, [r4, 0x26]
- orrs r0, r1
- strh r0, [r2]
- ldrh r0, [r4, 0x10]
- adds r0, 0x8
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r4, 0x14]
- movs r3, 0x14
- ldrsh r1, [r4, r3]
- cmp r0, r1
- blt _08114176
- strh r2, [r4, 0x10]
-_08114176:
- adds r0, r4, 0
- bl sub_8114244
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _08114232
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _08114232
- movs r0, 0
- strh r0, [r4, 0xA]
- b _08114204
- .pool
-_0811419C:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08114232
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081141CC
- ldrh r1, [r4, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _081141DA
- subs r0, r1, 0x1
- strh r0, [r4, 0x1E]
- b _081141DA
-_081141CC:
- ldrh r1, [r4, 0x20]
- movs r3, 0x20
- ldrsh r0, [r4, r3]
- cmp r0, 0xF
- bgt _081141DA
- adds r0, r1, 0x1
- strh r0, [r4, 0x20]
-_081141DA:
- ldrh r1, [r4, 0x20]
- lsls r1, 8
- ldrh r0, [r4, 0x1E]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08114232
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x10
- bne _08114232
- b _08114204
-_081141FE:
- ldr r1, =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_08114204:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08114232
- .pool
-_08114210:
- ldr r0, =gBattle_WIN0H
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_WIN0V
- strh r1, [r0]
- ldr r4, =0x00003f3f
- movs r0, 0x48
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x4A
- adds r1, r4, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_08114232:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81140C8
-
- thumb_func_start sub_8114244
-sub_8114244: @ 8114244
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldrh r0, [r6, 0x12]
- ldrh r4, [r6, 0x10]
- subs r0, r4
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- beq _08114338
- movs r2, 0x22
- ldrsh r0, [r6, r2]
- bl __divsi3
- mov r8, r0
- movs r3, 0x14
- ldrsh r0, [r6, r3]
- lsls r5, r0, 8
- lsls r0, r4, 16
- movs r4, 0
- cmp r0, 0
- ble _081142A4
- ldr r0, =gScanlineEffectRegBuffers
- mov r12, r0
- ldr r7, =gScanlineEffect
-_08114278:
- lsls r2, r4, 16
- asrs r2, 16
- lsls r3, r2, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r3, r0
- add r3, r12
- adds r1, r2, 0
- subs r1, 0x9F
- ldrh r0, [r6, 0x1C]
- subs r0, r1
- strh r0, [r3]
- adds r2, 0x1
- lsls r2, 16
- lsrs r4, r2, 16
- asrs r2, 16
- movs r1, 0x10
- ldrsh r0, [r6, r1]
- cmp r2, r0
- blt _08114278
-_081142A4:
- ldrh r4, [r6, 0x10]
- lsls r3, r4, 16
- asrs r1, r3, 16
- movs r2, 0x12
- ldrsh r0, [r6, r2]
- cmp r1, r0
- bgt _081142EE
- ldr r0, =gScanlineEffectRegBuffers
- mov r12, r0
- ldr r7, =gScanlineEffect
-_081142B8:
- asrs r4, r3, 16
- cmp r4, 0
- blt _081142DA
- asrs r1, r5, 8
- subs r1, r4
- lsls r3, r4, 1
- ldrb r2, [r7, 0x14]
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 7
- adds r3, r0
- add r3, r12
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r6, 0x1C]
- adds r1, r2
- strh r1, [r3]
-_081142DA:
- add r5, r8
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r3, r4, 16
- asrs r1, r3, 16
- movs r2, 0x12
- ldrsh r0, [r6, r2]
- cmp r1, r0
- ble _081142B8
-_081142EE:
- movs r3, 0x1C
- ldrsh r0, [r6, r3]
- adds r0, 0x9F
- lsls r2, r4, 16
- asrs r1, r2, 16
- subs r5, r0, r1
- movs r3, 0x16
- ldrsh r0, [r6, r3]
- cmp r1, r0
- bge _08114366
- ldr r7, =gScanlineEffectRegBuffers
- ldr r4, =gScanlineEffect
-_08114306:
- asrs r3, r2, 16
- cmp r3, 0
- blt _0811431E
- lsls r2, r3, 1
- ldrb r1, [r4, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- strh r5, [r2]
- subs r5, 0x1
-_0811431E:
- adds r0, r3, 0x1
- lsls r2, r0, 16
- asrs r1, r2, 16
- movs r3, 0x16
- ldrsh r0, [r6, r3]
- cmp r1, r0
- blt _08114306
- b _08114366
- .pool
-_08114338:
- movs r1, 0x1C
- ldrsh r0, [r6, r1]
- adds r5, r0, 0
- adds r5, 0x9F
- movs r4, 0
- ldr r3, =gScanlineEffectRegBuffers
- movs r2, 0xF0
- lsls r2, 3
- adds r6, r3, r2
-_0811434A:
- lsls r0, r4, 16
- asrs r0, 16
- lsls r2, r0, 1
- adds r1, r2, r3
- strh r5, [r1]
- adds r2, r6
- strh r5, [r2]
- subs r5, 0x1
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x6F
- ble _0811434A
-_08114366:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8114244
-
- thumb_func_start sub_8114374
-sub_8114374: @ 8114374
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0
- ldr r7, =gSprites
- movs r1, 0x3
- ands r0, r1
- lsls r5, r0, 2
- movs r0, 0xD
- negs r0, r0
- adds r6, r0, 0
-_0811438A:
- lsls r0, r4, 24
- lsrs r0, 24
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _081143AA
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r0, [r1, 0x5]
- ands r0, r6
- orrs r0, r5
- strb r0, [r1, 0x5]
-_081143AA:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _0811438A
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8114374
-
- thumb_func_start sub_81143C0
-sub_81143C0: @ 81143C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r6, =gBattleAnimAttacker
- ldrb r0, [r6]
- bl GetBattlerSpriteBGPriorityRank
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
- ldrb r0, [r6]
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_80A438C
- ldr r0, =gSprites
- mov r9, r0
- ldr r0, =gBattlerSpriteIds
- mov r8, r0
- ldrb r0, [r6]
- add r0, r8
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r9
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r7, 0x5
- negs r7, r7
- adds r0, r7, 0
- ands r0, r2
- strb r0, [r1]
- ldrb r0, [r6]
- movs r5, 0x2
- eors r0, r5
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0811444E
- ldrb r0, [r6]
- eors r0, r5
- movs r1, 0x1
- eors r4, r1
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_80A438C
- ldrb r0, [r6]
- eors r0, r5
- add r0, r8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r9
- adds r0, 0x3E
- ldrb r2, [r0]
- adds r1, r7, 0
- ands r1, r2
- strb r1, [r0]
-_0811444E:
- mov r0, r10
- bl DestroyAnimVisualTask
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81143C0
-
- thumb_func_start sub_8114470
-sub_8114470: @ 8114470
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- bl GetBattlerSpriteBGPriorityRank
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r5, r1, 31
- adds r0, r5, 0
- bl sub_80A477C
- ldrb r1, [r4]
- movs r0, 0x2
- eors r0, r1
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _081144AC
- movs r0, 0x1
- eors r5, r0
- adds r0, r5, 0
- bl sub_80A477C
-_081144AC:
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8114470
-
- thumb_func_start sub_81144BC
-sub_81144BC: @ 81144BC
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldrb r1, [r1, 0x4]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r0, =RunStoredCallbackWhenAnimEnds
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81144BC
-
- thumb_func_start sub_81144F8
-sub_81144F8: @ 81144F8
- push {r4-r7,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- ldr r0, =gBattle_WIN0H
- strh r6, [r0]
- ldr r0, =gBattle_WIN0V
- strh r6, [r0]
- ldr r1, =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- ldr r1, =0x00003f3d
- movs r0, 0x4A
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 8
- movs r0, 0
- bl SetGpuRegBits
- ldr r1, =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x00000c08
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0
- bl SetAnimBgAttribute
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl SetAnimBgAttribute
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0811455C
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- bl SetAnimBgAttribute
-_0811455C:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _081145D6
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _081145D6
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _0811458C
- ldrb r0, [r4]
- bl GetBattlerPosition
- lsls r0, 24
- cmp r0, 0
- bne _081145D6
-_0811458C:
- ldrb r0, [r4]
- movs r5, 0x2
- eors r0, r5
- bl IsBattlerSpriteVisible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081145D6
- ldr r3, =gSprites
- ldr r1, =gBattlerSpriteIds
- ldrb r0, [r4]
- eors r0, r5
- adds r0, r1
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldrb r3, [r2, 0x5]
- lsls r1, r3, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0x1
- bl SetAnimBgAttribute
- movs r6, 0x1
-_081145D6:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08114614
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- ldrh r5, [r0]
- b _0811465C
- .pool
-_08114614:
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08114640
- ldr r1, =gBattlerPartyIndexes
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- b _08114650
- .pool
-_08114640:
- ldr r1, =gBattlerPartyIndexes
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_08114650:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
-_0811465C:
- movs r0, 0
- bl GetAnimBattlerSpriteId
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A89C8
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, sp
- bl sub_80A6B30
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, =gUnknown_08C1D210
- bl sub_80A6D48
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, =gUnknown_08C1D0AC
- mov r2, sp
- ldrh r2, [r2, 0xA]
- bl sub_80A6CC0
- ldr r0, =gUnknown_08C1D1E8
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r2, =gBattle_BG1_X
- ldr r0, =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x20]
- negs r0, r0
- adds r0, 0x60
- strh r0, [r2]
- ldr r2, =gBattle_BG1_Y
- ldrh r0, [r1, 0x22]
- negs r0, r0
- adds r0, 0x20
- strh r0, [r2]
- ldrb r0, [r1, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- adds r1, r0, 0
- ldr r2, =gBattleAnimArgs
- movs r3, 0x2
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _08114708
- adds r0, r1, 0
- movs r1, 0
- bl SetGreyscaleOrOriginalPalette
- b _08114714
- .pool
-_08114708:
- lsls r0, r1, 4
- ldrh r3, [r2, 0x4]
- movs r1, 0x10
- movs r2, 0xB
- bl BlendPalette
-_08114714:
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x8]
- ldr r2, =gBattleAnimArgs
- ldrh r1, [r2]
- strh r1, [r0, 0xA]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0xC]
- ldrh r1, [r2, 0x4]
- strh r1, [r0, 0xE]
- strh r6, [r0, 0x14]
- ldr r1, =sub_8114748
- str r1, [r0]
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81144F8
-
- thumb_func_start sub_8114748
-sub_8114748: @ 8114748
- push {r4-r6,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x1C]
- adds r0, 0x4
- movs r5, 0
- strh r0, [r4, 0x1C]
- ldr r2, =gBattle_BG1_X
- ldrh r3, [r2]
- subs r1, r3, 0x4
- strh r1, [r2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x80
- beq _08114776
- b _08114886
-_08114776:
- strh r5, [r4, 0x1C]
- adds r0, r3, 0
- adds r0, 0x7C
- strh r0, [r2]
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _08114824
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- adds r1, r0, 0
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _081147B8
- adds r0, r1, 0
- movs r1, 0x1
- bl SetGreyscaleOrOriginalPalette
-_081147B8:
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- mov r0, sp
- bl sub_80A6B30
- mov r0, sp
- ldrb r0, [r0, 0x9]
- bl sub_80A6C68
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _08114886
- ldr r2, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- ldrb r1, [r0]
- movs r0, 0x2
- eors r0, r1
- adds r0, r2
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r5
- ldrb r3, [r2, 0x5]
- lsls r1, r3, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- b _08114886
- .pool
-_08114824:
- cmp r0, 0x3
- bne _08114886
- ldr r0, =gBattle_WIN0H
- strh r5, [r0]
- ldr r0, =gBattle_WIN0V
- strh r5, [r0]
- ldr r4, =0x00003f3f
- movs r0, 0x48
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x4A
- adds r1, r4, 0
- bl SetGpuReg
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _08114856
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- bl SetAnimBgAttribute
-_08114856:
- movs r0, 0
- bl GetGpuReg
- adds r1, r0, 0
- movs r2, 0x80
- lsls r2, 8
- adds r0, r2, 0
- eors r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_08114886:
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8114748
-
- thumb_func_start sub_811489C
-sub_811489C: @ 811489C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, =gBattleAnimArgs
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r2, r0, 0
- cmp r1, 0x7
- bhi _08114900
- lsls r0, r1, 2
- ldr r1, =_081148C4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081148C4:
- .4byte _081148E4
- .4byte _081148E4
- .4byte _081148E4
- .4byte _081148E4
- .4byte _081148F0
- .4byte _081148F4
- .4byte _081148F8
- .4byte _081148FC
-_081148E4:
- ldrb r0, [r2]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r2, r0, 24
- b _08114902
-_081148F0:
- movs r4, 0
- b _08114908
-_081148F4:
- movs r4, 0x2
- b _08114908
-_081148F8:
- movs r4, 0x1
- b _08114908
-_081148FC:
- movs r4, 0x3
- b _08114908
-_08114900:
- movs r2, 0xFF
-_08114902:
- movs r0, 0
- cmp r0, 0
- beq _0811492E
-_08114908:
- adds r0, r4, 0
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0811492C
- ldr r0, =gBattlerSpriteIds
- adds r0, r4, r0
- ldrb r2, [r0]
- b _0811492E
- .pool
-_0811492C:
- movs r2, 0xFF
-_0811492E:
- cmp r2, 0xFF
- beq _0811494A
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- ldr r1, =gBattleAnimArgs
- ldrb r1, [r1, 0x2]
- bl SetGreyscaleOrOriginalPalette
-_0811494A:
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811489C
-
- thumb_func_start sub_8114960
-sub_8114960: @ 8114960
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gAnimMoveTurn
- ldrb r0, [r2]
- cmp r0, 0x1
- bhi _08114974
- ldr r1, =gBattleAnimArgs
- movs r0, 0
- strh r0, [r1, 0xE]
-_08114974:
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08114980
- ldr r1, =gBattleAnimArgs
- movs r0, 0x1
- strh r0, [r1, 0xE]
-_08114980:
- adds r0, r3, 0
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8114960
-
- .align 2, 0
diff --git a/asm/easy_chat.s b/asm/easy_chat.s
index 70786ab65..f6f09a87e 100644
--- a/asm/easy_chat.s
+++ b/asm/easy_chat.s
@@ -6455,7 +6455,7 @@ sub_811DE90: @ 811DE90
ldr r4, =gUnknown_08597CE8
_0811DEA2:
adds r0, r4, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r4, 0x8
adds r5, 0x1
cmp r5, 0x3
diff --git a/asm/ice.s b/asm/ice.s
deleted file mode 100644
index c882d2245..000000000
--- a/asm/ice.s
+++ /dev/null
@@ -1,2944 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_810B614
-sub_810B614: @ 810B614
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, =gUnknown_085956C0
- movs r2, 0x22
- ldrsh r1, [r4, r2]
- movs r3, 0x24
- ldrsh r2, [r4, r3]
- ldrh r3, [r4, 0x20]
- lsls r3, 24
- lsrs r3, 24
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0810B658
- ldr r3, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, =sub_810B684
- str r2, [r1]
- adds r0, r3
- strh r5, [r0, 0x3A]
- movs r1, 0xA
- strh r1, [r0, 0x3C]
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
-_0810B658:
- ldrh r2, [r4, 0x24]
- movs r0, 0x24
- ldrsh r1, [r4, r0]
- movs r3, 0x26
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bge _0810B67C
- adds r0, r2, 0
- adds r0, 0x20
- strh r0, [r4, 0x24]
- movs r0, 0
- b _0810B67E
- .pool
-_0810B67C:
- movs r0, 0x1
-_0810B67E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_810B614
-
- thumb_func_start sub_810B684
-sub_810B684: @ 810B684
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0810B6B8
- ldr r3, =gTasks
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x3A
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- adds r0, r4, 0
- bl DestroySprite
-_0810B6B8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810B684
-
- thumb_func_start sub_810B6C4
-sub_810B6C4: @ 810B6C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r2, [r5, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x7
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r0, [r4]
- movs r1, 0x3
- str r3, [sp]
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x8]
- strh r0, [r5, 0x2E]
- ldrh r0, [r1]
- ldr r3, [sp]
- adds r0, r3
- strh r0, [r5, 0x30]
- ldrh r0, [r1, 0x4]
- mov r4, r9
- adds r0, r4, r0
- strh r0, [r5, 0x32]
- ldrh r0, [r1, 0x2]
- adds r0, r6
- strh r0, [r5, 0x34]
- ldrh r0, [r1, 0x6]
- mov r7, r8
- adds r0, r7, r0
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl sub_80A64EC
- adds r4, 0x20
- movs r0, 0x98
- lsls r0, 1
- mov r12, r0
- ldr r3, [sp]
- cmp r4, r12
- bhi _0810B79E
- adds r0, r7, 0
- adds r0, 0x20
- ldrh r1, [r5, 0x30]
- ldrh r2, [r5, 0x32]
- cmp r0, 0xE0
- bhi _0810B79E
- adds r4, r1, 0
- mov r10, r12
-_0810B76A:
- mov r7, r9
- lsls r1, r7, 16
- asrs r1, 16
- adds r1, r4
- lsls r1, 16
- mov r7, r8
- lsls r0, r7, 16
- asrs r0, 16
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsrs r0, r1, 16
- mov r9, r0
- movs r7, 0x80
- lsls r7, 14
- adds r1, r7
- lsrs r1, 16
- cmp r1, r10
- bhi _0810B79E
- mov r1, r8
- lsls r0, r1, 16
- adds r0, r7
- lsrs r0, 16
- cmp r0, 0xE0
- bls _0810B76A
-_0810B79E:
- ldrh r0, [r5, 0x30]
- negs r7, r0
- strh r7, [r5, 0x30]
- ldrh r0, [r5, 0x32]
- negs r4, r0
- strh r4, [r5, 0x32]
- lsls r0, r3, 16
- movs r1, 0x80
- lsls r1, 14
- adds r0, r1
- lsrs r0, 16
- movs r2, 0x98
- lsls r2, 1
- mov r12, r2
- ldr r1, =gBattleAnimArgs
- mov r10, r1
- cmp r0, r12
- bhi _0810B80A
- lsls r1, r6, 16
- movs r2, 0x80
- lsls r2, 14
- adds r0, r1, r2
- b _0810B802
- .pool
-_0810B7E0:
- lsls r1, r3, 16
- asrs r1, 16
- adds r1, r7
- lsls r1, 16
- asrs r0, r2, 16
- adds r0, r4
- lsls r0, 16
- lsrs r6, r0, 16
- lsrs r3, r1, 16
- movs r0, 0x80
- lsls r0, 14
- adds r1, r0
- lsrs r1, 16
- cmp r1, r12
- bhi _0810B80A
- lsls r1, r6, 16
- adds r0, r1, r0
-_0810B802:
- lsrs r0, 16
- adds r2, r1, 0
- cmp r0, 0xE0
- bls _0810B7E0
-_0810B80A:
- strh r3, [r5, 0x20]
- strh r6, [r5, 0x22]
- mov r1, r10
- ldrh r0, [r1, 0x8]
- strh r0, [r5, 0x2E]
- strh r3, [r5, 0x30]
- mov r2, r9
- strh r2, [r5, 0x32]
- strh r6, [r5, 0x34]
- mov r3, r8
- strh r3, [r5, 0x36]
- adds r0, r5, 0
- bl sub_80A64EC
- mov r7, r10
- ldrh r0, [r7, 0xA]
- strh r0, [r5, 0x34]
- ldrh r0, [r7, 0xC]
- strh r0, [r5, 0x36]
- ldr r0, =sub_810B848
- str r0, [r5, 0x1C]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810B6C4
-
- thumb_func_start sub_810B848
-sub_810B848: @ 810B848
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0810B8A0
- ldrh r1, [r4, 0x30]
- ldrh r2, [r4, 0x38]
- adds r1, r2
- strh r1, [r4, 0x38]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x3A]
- adds r0, r2
- strh r0, [r4, 0x3A]
- strh r1, [r4, 0x24]
- strh r0, [r4, 0x26]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x36]
- ldrh r2, [r4, 0x3C]
- adds r0, r2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3C]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- b _0810B8A6
-_0810B8A0:
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810B8A6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810B848
-
- thumb_func_start sub_810B8AC
-sub_810B8AC: @ 810B8AC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0]
- strh r0, [r4, 0x2E]
- movs r0, 0x3C
- strh r0, [r4, 0x30]
- movs r0, 0x9
- strh r0, [r4, 0x32]
- movs r0, 0x1E
- strh r0, [r4, 0x34]
- movs r0, 0xFE
- lsls r0, 8
- strh r0, [r4, 0x36]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r1, =TranslateSpriteInGrowingCircleOverDuration
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810B8AC
-
- thumb_func_start sub_810B8EC
-sub_810B8EC: @ 810B8EC
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl InitSpritePosToAnimAttacker
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810B92C
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r4, 0x32]
- ldrh r0, [r0, 0x4]
- subs r1, r0
- strh r1, [r4, 0x32]
- b _0810B936
- .pool
-_0810B92C:
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
-_0810B936:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r1, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r2, [r1, 0x6]
- adds r0, r2
- strh r0, [r4, 0x36]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x2E]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =StartAnimLinearTranslation
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810B8EC
-
- thumb_func_start sub_810B974
-sub_810B974: @ 810B974
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0810B990
- adds r0, r4, 0
- movs r1, 0x1
- bl InitSpritePosToAnimTarget
- b _0810B9C6
- .pool
-_0810B990:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- movs r1, 0x1
- bl SetAverageBattlerPositions
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810B9B6
- ldrh r0, [r5]
- negs r0, r0
- strh r0, [r5]
-_0810B9B6:
- ldrh r0, [r5]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
-_0810B9C6:
- ldr r1, =sub_810B9E8
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =RunStoredCallbackWhenAffineAnimEnds
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810B974
-
- thumb_func_start sub_810B9E8
-sub_810B9E8: @ 810B9E8
- push {lr}
- adds r3, r0, 0
- 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]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bne _0810BA1E
- adds r0, r3, 0
- bl DestroySpriteAndMatrix
-_0810BA1E:
- pop {r0}
- bx r0
- thumb_func_end sub_810B9E8
-
- thumb_func_start sub_810BA24
-sub_810BA24: @ 810BA24
- push {r4-r7,lr}
- sub sp, 0x10
- adds r5, r0, 0
- movs r1, 0x1
- bl InitSpritePosToAnimAttacker
- ldr r6, =gBattleAnimArgs
- ldrh r0, [r6, 0x8]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- movs r1, 0xA
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0810BA74
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r6, [r6, 0x6]
- adds r0, r6
- strh r0, [r5, 0x36]
- b _0810BA86
- .pool
-_0810BA74:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- adds r2, r5, 0
- adds r2, 0x32
- adds r3, r5, 0
- adds r3, 0x36
- movs r1, 0x1
- bl SetAverageBattlerPositions
-_0810BA86:
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810BAAC
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r5, 0x32]
- ldrh r0, [r0, 0x4]
- subs r1, r0
- strh r1, [r5, 0x32]
- b _0810BAB6
- .pool
-_0810BAAC:
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- ldrh r2, [r5, 0x32]
- adds r0, r2
- strh r0, [r5, 0x32]
-_0810BAB6:
- adds r7, r5, 0
- adds r7, 0x2E
- adds r2, r7, 0
- mov r1, sp
- movs r4, 0x7
-_0810BAC0:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _0810BAC0
- adds r0, r5, 0
- bl InitAnimFastLinearTranslationWithSpeed
- ldrh r0, [r5, 0x30]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x32]
- eors r0, r1
- strh r0, [r5, 0x32]
-_0810BAE2:
- movs r0, 0x1
- strh r0, [r5, 0x2E]
- adds r0, r5, 0
- bl AnimFastTranslateLinear
- movs r0, 0x20
- ldrsh r1, [r5, r0]
- movs r2, 0x24
- ldrsh r0, [r5, r2]
- adds r1, r0
- adds r1, 0x10
- movs r0, 0x88
- lsls r0, 1
- cmp r1, r0
- bhi _0810BB16
- movs r0, 0x22
- ldrsh r1, [r5, r0]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- adds r1, r0
- cmp r1, 0xA0
- bgt _0810BB16
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _0810BAE2
-_0810BB16:
- ldrh r0, [r5, 0x24]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x26]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- strh r1, [r5, 0x26]
- strh r1, [r5, 0x24]
- ldr r6, =sub_80A718C
- ldr r1, =sub_810BB60
- mov r3, sp
- adds r2, r7, 0
- movs r4, 0x7
-_0810BB36:
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _0810BB36
- str r6, [r5, 0x1C]
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810BA24
-
- thumb_func_start sub_810BB60
-sub_810BB60: @ 810BB60
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- movs r5, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- strh r5, [r4, 0x26]
- strh r5, [r4, 0x24]
- movs r0, 0x80
- strh r0, [r4, 0x2E]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- ldr r1, =0x0000ffec
- cmp r0, 0
- beq _0810BB90
- movs r1, 0x14
-_0810BB90:
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- lsls r1, 16
- asrs r1, 16
- bl Sin
- strh r0, [r4, 0x34]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0xF
- bl Cos
- strh r0, [r4, 0x36]
- strh r5, [r4, 0x38]
- ldr r1, =sub_810BBC8
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810BB60
-
- thumb_func_start sub_810BBC8
-sub_810BBC8: @ 810BBC8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- ldr r1, =0x0000ffec
- cmp r0, 0
- beq _0810BBDE
- movs r1, 0x14
-_0810BBDE:
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- cmp r0, 0x1F
- bgt _0810BC24
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- lsls r1, 16
- asrs r1, 16
- bl Sin
- ldrh r1, [r4, 0x34]
- subs r0, r1
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0xF
- bl Cos
- ldrh r1, [r4, 0x36]
- subs r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x10
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- b _0810BC42
- .pool
-_0810BC24:
- ldrh r0, [r4, 0x24]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- movs r1, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- strh r1, [r4, 0x26]
- strh r1, [r4, 0x24]
- strh r1, [r4, 0x36]
- strh r1, [r4, 0x34]
- ldr r0, =sub_810BC4C
- str r0, [r4, 0x1C]
-_0810BC42:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810BBC8
-
- thumb_func_start sub_810BC4C
-sub_810BC4C: @ 810BC4C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl AnimFastTranslateLinear
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- adds r0, r1
- adds r0, 0x10
- movs r1, 0x88
- lsls r1, 1
- cmp r0, r1
- bhi _0810BC88
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- adds r1, r0, r1
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- bgt _0810BC88
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _0810BC8E
-_0810BC88:
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810BC8E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810BC4C
-
- thumb_func_start sub_810BC94
-sub_810BC94: @ 810BC94
- push {r4-r7,lr}
- sub sp, 0x10
- adds r5, r0, 0
- movs r1, 0x1
- bl InitSpritePosToAnimAttacker
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x8]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0810BCE0
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- b _0810BCF2
- .pool
-_0810BCE0:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- adds r2, r5, 0
- adds r2, 0x32
- adds r3, r5, 0
- adds r3, 0x36
- movs r1, 0x1
- bl SetAverageBattlerPositions
-_0810BCF2:
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810BD1C
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r5, 0x32]
- ldrh r2, [r0, 0x4]
- subs r1, r2
- strh r1, [r5, 0x32]
- adds r1, r0, 0
- b _0810BD26
- .pool
-_0810BD1C:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- ldrh r2, [r5, 0x32]
- adds r0, r2
- strh r0, [r5, 0x32]
-_0810BD26:
- ldrh r0, [r1, 0x6]
- ldrh r1, [r5, 0x36]
- adds r0, r1
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl InitAnimFastLinearTranslationWithSpeed
- adds r7, r5, 0
- adds r7, 0x2E
- adds r2, r7, 0
- mov r1, sp
- movs r4, 0x7
-_0810BD3E:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _0810BD3E
- ldrh r0, [r5, 0x30]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x32]
- eors r0, r1
- strh r0, [r5, 0x32]
-_0810BD5A:
- movs r0, 0x1
- strh r0, [r5, 0x2E]
- adds r0, r5, 0
- bl AnimFastTranslateLinear
- movs r2, 0x20
- ldrsh r1, [r5, r2]
- movs r2, 0x24
- ldrsh r0, [r5, r2]
- adds r1, r0
- adds r1, 0x10
- movs r0, 0x88
- lsls r0, 1
- cmp r1, r0
- bhi _0810BD8E
- movs r0, 0x22
- ldrsh r1, [r5, r0]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- adds r1, r0
- cmp r1, 0xA0
- bgt _0810BD8E
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _0810BD5A
-_0810BD8E:
- ldrh r0, [r5, 0x24]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x26]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- strh r1, [r5, 0x26]
- strh r1, [r5, 0x24]
- ldr r1, =gBattleAnimArgs
- ldr r6, =sub_810BDD8
- mov r3, sp
- adds r2, r7, 0
- movs r4, 0x7
-_0810BDAE:
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _0810BDAE
- ldrh r0, [r1, 0xA]
- strh r0, [r5, 0x38]
- ldrh r0, [r1, 0xC]
- strh r0, [r5, 0x3A]
- str r6, [r5, 0x1C]
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810BC94
-
- thumb_func_start sub_810BDD8
-sub_810BDD8: @ 810BDD8
- push {r4,lr}
- adds r4, r0, 0
- bl AnimFastTranslateLinear
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0810BDEC
- movs r0, 0x1
- strh r0, [r4, 0x2E]
-_0810BDEC:
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3A]
- ldrh r2, [r4, 0x3C]
- adds r0, r2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3C]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _0810BE42
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- adds r0, r1
- adds r0, 0x10
- movs r1, 0x88
- lsls r1, 1
- cmp r0, r1
- bhi _0810BE3C
- movs r0, 0x22
- ldrsh r1, [r4, r0]
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- adds r1, r0
- cmp r1, 0xA0
- bgt _0810BE3C
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _0810BE42
-_0810BE3C:
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810BE42:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810BDD8
-
- thumb_func_start sub_810BE48
-sub_810BE48: @ 810BE48
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0810BEB4
- ldr r5, =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0810BE6C
- adds r0, r4, 0
- movs r1, 0
- bl InitSpritePosToAnimTarget
- b _0810BEA2
- .pool
-_0810BE6C:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- movs r1, 0
- bl SetAverageBattlerPositions
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810BE92
- ldrh r0, [r5]
- negs r0, r0
- strh r0, [r5]
-_0810BE92:
- ldrh r0, [r5]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
-_0810BEA2:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _0810BEC8
- .pool
-_0810BEB4:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0810BEC8
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810BEC8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_810BE48
-
- thumb_func_start sub_810BED0
-sub_810BED0: @ 810BED0
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, =gBattleAnimArgs
- movs r1, 0x8
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0810BF40
- movs r1, 0xA
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0810BEF4
- adds r0, r5, 0
- movs r1, 0
- bl InitSpritePosToAnimAttacker
- b _0810BF32
- .pool
-_0810BEF4:
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- adds r2, r5, 0
- adds r2, 0x20
- adds r3, r5, 0
- adds r3, 0x22
- movs r1, 0
- bl SetAverageBattlerPositions
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810BF20
- ldrh r0, [r5, 0x20]
- ldrh r1, [r6]
- subs r0, r1
- b _0810BF26
- .pool
-_0810BF20:
- ldrh r0, [r6]
- ldrh r1, [r5, 0x20]
- adds r0, r1
-_0810BF26:
- strh r0, [r5, 0x20]
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x2]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
-_0810BF32:
- ldr r0, =gBattleAnimAttacker
- b _0810BF90
- .pool
-_0810BF40:
- movs r1, 0xA
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0810BF52
- adds r0, r5, 0
- movs r1, 0
- bl InitSpritePosToAnimTarget
- b _0810BF8E
-_0810BF52:
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- adds r2, r5, 0
- adds r2, 0x20
- adds r3, r5, 0
- adds r3, 0x22
- movs r1, 0
- bl SetAverageBattlerPositions
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810BF7C
- ldrh r0, [r5, 0x20]
- ldrh r1, [r6]
- subs r0, r1
- b _0810BF82
- .pool
-_0810BF7C:
- ldrh r0, [r6]
- ldrh r1, [r5, 0x20]
- adds r0, r1
-_0810BF82:
- strh r0, [r5, 0x20]
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x2]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
-_0810BF8E:
- ldr r0, =gBattleAnimTarget
-_0810BF90:
- ldrb r0, [r0]
- strh r0, [r5, 0x3C]
- ldr r0, =gBattleAnimArgs
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0810BFA8
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0810BFB4
-_0810BFA8:
- movs r0, 0x20
- b _0810BFB6
- .pool
-_0810BFB4:
- movs r0, 0x40
-_0810BFB6:
- strh r0, [r5, 0x3A]
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0810BFCC
- ldrh r0, [r5, 0x22]
- adds r0, 0x8
- strh r0, [r5, 0x22]
-_0810BFCC:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x6]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- ldrh r1, [r1, 0x4]
- adds r0, r1
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl InitAnimLinearTranslation
- movs r0, 0x40
- strh r0, [r5, 0x38]
- ldr r1, =sub_810C008
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810BED0
-
- thumb_func_start sub_810C008
-sub_810C008: @ 810C008
- push {r4,lr}
- adds r4, r0, 0
- bl AnimTranslateLinear
- lsls r0, 24
- cmp r0, 0
- bne _0810C092
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r2, 0x3A
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- movs r1, 0x6
- negs r1, r1
- bl Cos
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x38]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7F
- bhi _0810C064
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerSpriteBGPriority
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- b _0810C086
-_0810C064:
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerSpriteBGPriority
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- lsls r0, 2
- ldrb r2, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x5]
-_0810C086:
- ldrh r0, [r4, 0x38]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- b _0810C098
-_0810C092:
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810C098:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810C008
-
- thumb_func_start sub_810C0A0
-sub_810C0A0: @ 810C0A0
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0x1
- bl SetAnimBgAttribute
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl SetAnimBgAttribute
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810C0E2
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- bl SetAnimBgAttribute
-_0810C0E2:
- ldr r0, =gBattle_BG1_X
- movs r1, 0
- strh r1, [r0]
- ldr r4, =gBattle_BG1_Y
- strh r1, [r4]
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- ldrh r1, [r4]
- movs r0, 0x16
- bl SetGpuReg
- mov r0, sp
- bl sub_80A6B30
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, =gWeatherFog1Tiles
- movs r2, 0x80
- lsls r2, 4
- mov r3, sp
- ldrh r3, [r3, 0xA]
- bl LoadBgTiles
- ldr r1, =gBattleAnimFogTilemap
- mov r0, sp
- movs r2, 0
- bl sub_80A6D60
- ldr r0, =gUnknown_083970E8
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_810C164
- str r1, [r0]
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810C0A0
-
- thumb_func_start sub_810C164
-sub_810C164: @ 810C164
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gBattle_BG1_X
- ldr r2, =0x0000ffff
- adds r0, r2, 0
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x4
- bls _0810C18E
- b _0810C2DA
-_0810C18E:
- lsls r0, 2
- ldr r1, =_0810C1A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0810C1A8:
- .4byte _0810C1BC
- .4byte _0810C214
- .4byte _0810C236
- .4byte _0810C27A
- .4byte _0810C29C
-_0810C1BC:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r2
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- beq _0810C1D6
- b _0810C2DA
-_0810C1D6:
- strh r5, [r4, 0x1C]
- ldrh r0, [r4, 0x1A]
- adds r0, 0x1
- strh r0, [r4, 0x1A]
- ldr r1, =gUnknown_08595C5C
- movs r2, 0x1A
- ldrsh r0, [r4, r2]
- adds r0, r1
- ldrb r1, [r0]
- strh r1, [r4, 0x1E]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0x9
- bne _0810C2DA
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- strh r5, [r4, 0x1E]
- b _0810C2DA
- .pool
-_0810C214:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r2
- ldrh r0, [r1, 0x1E]
- adds r0, 0x1
- strh r0, [r1, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x51
- bne _0810C2DA
- movs r0, 0x9
- strh r0, [r1, 0x1E]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- b _0810C2DA
-_0810C236:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r2
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _0810C2DA
- movs r0, 0
- strh r0, [r4, 0x1C]
- ldrh r1, [r4, 0x1E]
- subs r1, 0x1
- strh r1, [r4, 0x1E]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r2, 0x1E
- ldrsh r1, [r4, r2]
- cmp r1, 0
- bne _0810C2DA
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- strh r1, [r4, 0x1E]
- b _0810C2DA
-_0810C27A:
- mov r0, sp
- bl sub_80A6B30
- movs r0, 0x1
- bl sub_80A6C68
- movs r0, 0x2
- bl sub_80A6C68
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
-_0810C29C:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810C2B0
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- bl SetAnimBgAttribute
-_0810C2B0:
- ldr r0, =gBattle_BG1_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG1_Y
- strh r1, [r0]
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0x1
- bl SetAnimBgAttribute
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_0810C2DA:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810C164
-
- thumb_func_start sub_810C2F0
-sub_810C2F0: @ 810C2F0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- ldr r0, =TranslateAnimSpriteToTargetMonLocation
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810C2F0
-
- thumb_func_start sub_810C324
-sub_810C324: @ 810C324
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0x1
- bl SetAnimBgAttribute
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl SetAnimBgAttribute
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810C366
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- bl SetAnimBgAttribute
-_0810C366:
- ldr r0, =gBattle_BG1_X
- movs r1, 0
- strh r1, [r0]
- ldr r4, =gBattle_BG1_Y
- strh r1, [r4]
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- ldrh r1, [r4]
- movs r0, 0x16
- bl SetGpuReg
- mov r0, sp
- bl sub_80A6B30
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, =gWeatherFog1Tiles
- movs r2, 0x80
- lsls r2, 4
- mov r3, sp
- ldrh r3, [r3, 0xA]
- bl LoadBgTiles
- ldr r1, =gBattleAnimFogTilemap
- mov r0, sp
- movs r2, 0
- bl sub_80A6D60
- ldr r0, =gUnknown_083970E8
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =0x0000ffff
- strh r1, [r0, 0x26]
- ldr r1, =sub_810C3F0
- str r1, [r0]
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810C324
-
- thumb_func_start sub_810C3F0
-sub_810C3F0: @ 810C3F0
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, =gBattle_BG1_X
- ldr r3, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r3
- ldrh r0, [r1, 0x26]
- ldrh r5, [r2]
- adds r0, r5
- strh r0, [r2]
- movs r2, 0x20
- ldrsh r0, [r1, r2]
- cmp r0, 0x4
- bls _0810C416
- b _0810C54A
-_0810C416:
- lsls r0, 2
- ldr r1, =_0810C42C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0810C42C:
- .4byte _0810C440
- .4byte _0810C484
- .4byte _0810C4A6
- .4byte _0810C4EA
- .4byte _0810C50C
-_0810C440:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r3
- ldrh r0, [r4, 0x1A]
- adds r0, 0x1
- strh r0, [r4, 0x1A]
- ldr r1, =gUnknown_08595C88
- movs r5, 0x1A
- ldrsh r0, [r4, r5]
- adds r0, r1
- ldrb r1, [r0]
- strh r1, [r4, 0x1E]
- movs r0, 0x11
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- bne _0810C54A
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- movs r0, 0
- strh r0, [r4, 0x1E]
- b _0810C54A
- .pool
-_0810C484:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r3
- ldrh r0, [r1, 0x1E]
- adds r0, 0x1
- strh r0, [r1, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x51
- bne _0810C54A
- movs r0, 0x5
- strh r0, [r1, 0x1E]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- b _0810C54A
-_0810C4A6:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r3
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _0810C54A
- movs r0, 0
- strh r0, [r4, 0x1C]
- ldrh r1, [r4, 0x1E]
- subs r1, 0x1
- strh r1, [r4, 0x1E]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r2, 0x1E
- ldrsh r1, [r4, r2]
- cmp r1, 0
- bne _0810C54A
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- strh r1, [r4, 0x1E]
- b _0810C54A
-_0810C4EA:
- mov r0, sp
- bl sub_80A6B30
- movs r0, 0x1
- bl sub_80A6C68
- movs r0, 0x2
- bl sub_80A6C68
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
-_0810C50C:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810C520
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- bl SetAnimBgAttribute
-_0810C520:
- ldr r0, =gBattle_BG1_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG1_Y
- strh r1, [r0]
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0x1
- bl SetAnimBgAttribute
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_0810C54A:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810C3F0
-
- thumb_func_start sub_810C560
-sub_810C560: @ 810C560
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- ldr r6, =gBattleAnimArgs
- ldrh r0, [r6]
- strh r0, [r5, 0x2E]
- ldr r0, =gBattleAnimAttacker
- mov r8, r0
- ldrb r0, [r0]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- adds r4, r0, 0
- ldr r7, =gBattleAnimTarget
- ldrb r0, [r7]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bcs _0810C594
- movs r0, 0x80
- lsls r0, 8
- strh r0, [r5, 0x3C]
-_0810C594:
- ldr r3, =gBattlerPositions
- ldrb r0, [r7]
- adds r0, r3
- ldrb r1, [r0]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0810C5F4
- ldrh r0, [r6, 0x2]
- negs r0, r0
- strh r0, [r6, 0x2]
- ldrh r0, [r6, 0x6]
- negs r0, r0
- strh r0, [r6, 0x6]
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _0810C5F0
- mov r1, r8
- ldrb r0, [r1]
- adds r0, r3
- ldrb r1, [r0]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0810C5F0
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- ldr r2, =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0x43
- strb r0, [r1]
-_0810C5F0:
- movs r0, 0x1
- strh r0, [r5, 0x3A]
-_0810C5F4:
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r6, =gBattleAnimArgs
- movs r1, 0xE
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _0810C65C
- ldrh r0, [r6, 0x2]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- strh r0, [r5, 0x30]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x6]
- adds r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r6, 0x4]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- movs r1, 0x3
- b _0810C684
- .pool
-_0810C65C:
- ldrh r0, [r6, 0x2]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- strh r0, [r5, 0x30]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x6]
- adds r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r6, 0x4]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- movs r1, 0x1
-_0810C684:
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r6, [r6, 0x8]
- adds r0, r6
- strh r0, [r5, 0x36]
- ldrb r0, [r4]
- bl GetBattlerSpriteBGPriority
- lsls r0, 24
- lsrs r0, 16
- ldrh r1, [r5, 0x3C]
- orrs r0, r1
- strh r0, [r5, 0x3C]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0810C6B8
- movs r0, 0x1
- strh r0, [r5, 0x3A]
- adds r1, r5, 0
- adds r1, 0x43
- movs r0, 0x80
- strb r0, [r1]
-_0810C6B8:
- adds r0, r5, 0
- bl InitAnimLinearTranslation
- ldr r0, =sub_810C6D4
- str r0, [r5, 0x1C]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810C560
-
- thumb_func_start sub_810C6D4
-sub_810C6D4: @ 810C6D4
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x3C]
- movs r5, 0xFF
- movs r1, 0xFF
- ands r1, r0
- cmp r1, 0x1
- beq _0810C7BC
- cmp r1, 0x1
- bgt _0810C6EE
- cmp r1, 0
- beq _0810C6F6
- b _0810C90C
-_0810C6EE:
- cmp r1, 0x2
- bne _0810C6F4
- b _0810C8D0
-_0810C6F4:
- b _0810C90C
-_0810C6F6:
- adds r0, r4, 0
- bl AnimTranslateLinear
- ldr r1, =gSineTable
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- asrs r0, 4
- ldrh r2, [r4, 0x24]
- adds r0, r2
- strh r0, [r4, 0x24]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0810C724
- ldrh r0, [r4, 0x38]
- subs r0, 0x8
- b _0810C728
- .pool
-_0810C724:
- ldrh r0, [r4, 0x38]
- adds r0, 0x8
-_0810C728:
- ands r0, r5
- strh r0, [r4, 0x38]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _0810C736
- b _0810C90C
-_0810C736:
- movs r5, 0x50
- strh r5, [r4, 0x2E]
- ldr r6, =gBattleAnimTarget
- ldrb r0, [r6]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x26]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, 0x1D
- strh r0, [r4, 0x36]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810C78C
- ldr r1, =gBattlerPositions
- ldrb r0, [r6]
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810C78C
- movs r0, 0xCC
- strh r0, [r4, 0x38]
- b _0810C78E
- .pool
-_0810C78C:
- strh r5, [r4, 0x38]
-_0810C78E:
- movs r0, 0
- strh r0, [r4, 0x26]
- ldr r1, =gSineTable
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- asrs r0, 3
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x38]
- adds r0, 0x2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl InitAnimLinearTranslation
- b _0810C90C
- .pool
-_0810C7BC:
- adds r0, r4, 0
- bl AnimTranslateLinear
- ldr r1, =gSineTable
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- asrs r0, 3
- ldrh r2, [r4, 0x24]
- adds r0, r2
- strh r0, [r4, 0x24]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- adds r0, 0x40
- lsls r0, 1
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 1
- adds r0, r1
- negs r0, r0
- asrs r0, 8
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810C83A
- ldrh r1, [r4, 0x38]
- adds r0, r1, 0
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- adds r3, r1, 0
- cmp r0, 0x7F
- bhi _0810C81C
- ldrh r1, [r4, 0x3C]
- lsls r1, 16
- asrs r1, 24
- b _0810C824
- .pool
-_0810C81C:
- ldrh r1, [r4, 0x3C]
- lsls r1, 16
- asrs r1, 24
- adds r1, 0x1
-_0810C824:
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- adds r0, r3, 0x4
- b _0810C85A
-_0810C83A:
- ldrh r0, [r4, 0x38]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7F
- bhi _0810C84E
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x80
- b _0810C854
-_0810C84E:
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x8C
-_0810C854:
- strb r0, [r1]
- ldrh r0, [r4, 0x38]
- subs r0, 0x4
-_0810C85A:
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bgt _0810C90C
- movs r5, 0
- movs r0, 0xC0
- lsls r0, 2
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, 0x4
- strh r0, [r4, 0x36]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810C8B4
- ldr r1, =gBattlerPositions
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810C8B4
- movs r0, 0x80
- lsls r0, 1
- b _0810C8B6
- .pool
-_0810C8B4:
- ldr r0, =0x0000fff0
-_0810C8B6:
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x3C]
- strh r1, [r4, 0x26]
- strh r1, [r4, 0x24]
- adds r0, r4, 0
- bl sub_80A6FD4
- b _0810C90C
- .pool
-_0810C8D0:
- adds r0, r4, 0
- bl AnimTranslateLinear
- lsls r0, 24
- cmp r0, 0
- beq _0810C90C
- ldrb r0, [r4, 0x1]
- lsls r0, 30
- lsrs r0, 30
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810C8FE
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
-_0810C8FE:
- adds r0, r4, 0
- bl DestroySprite
- ldr r1, =gAnimVisualTaskCount
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
-_0810C90C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810C6D4
-
- thumb_func_start sub_810C918
-sub_810C918: @ 810C918
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r1, r0
- ldr r0, =sub_810C934
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_810C918
-
- thumb_func_start sub_810C934
-sub_810C934: @ 810C934
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r5, [r4, r0]
- cmp r5, 0x1
- beq _0810C978
- cmp r5, 0x1
- bgt _0810C95C
- cmp r5, 0
- beq _0810C962
- b _0810C9DC
- .pool
-_0810C95C:
- cmp r5, 0x2
- beq _0810C9CE
- b _0810C9DC
-_0810C962:
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _0810C9DC
- strh r5, [r4, 0x10]
- strh r5, [r4, 0x12]
- strh r5, [r4, 0xC]
- b _0810C9B4
-_0810C978:
- ldrh r1, [r4, 0x12]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _0810C9C8
- ldrb r0, [r4, 0xE]
- ldrb r1, [r4, 0xC]
- movs r3, 0x1
- bl sub_810C9E4
- lsls r0, 24
- cmp r0, 0
- beq _0810C998
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
-_0810C998:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _0810C9C4
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _0810C9BC
-_0810C9B4:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0810C9DC
-_0810C9BC:
- ldrh r0, [r4, 0x8]
- subs r0, 0x1
- strh r0, [r4, 0x8]
- b _0810C9DC
-_0810C9C4:
- strh r5, [r4, 0x12]
- b _0810C9DC
-_0810C9C8:
- subs r0, r1, 0x1
- strh r0, [r4, 0x12]
- b _0810C9DC
-_0810C9CE:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0810C9DC
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_0810C9DC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_810C934
-
- thumb_func_start sub_810C9E4
-sub_810C9E4: @ 810C9E4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- lsls r3, 24
- lsrs r3, 24
- mov r10, r3
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r1, =gUnknown_08595CB4
- lsrs r0, 22
- adds r4, r0, r1
- ldrb r0, [r4, 0x3]
- lsls r0, 24
- asrs r0, 28
- mov r8, r0
- cmp r0, 0x2
- beq _0810CAD0
- ldrh r0, [r4, 0x2]
- lsls r0, 20
- lsrs r0, 24
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810CAD0
- movs r0, 0x1
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r5, 0
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- mov r1, r8
- cmp r1, 0
- beq _0810CA60
- cmp r1, 0x1
- beq _0810CA96
- b _0810CAE2
- .pool
-_0810CA60:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A861C
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x6
- bl __divsi3
- lsls r1, r7, 16
- asrs r1, 16
- subs r1, r0
- lsls r1, 16
- lsrs r7, r1, 16
- adds r0, r5, 0
- movs r1, 0
- bl sub_80A861C
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x6
- bl __divsi3
- lsls r1, r6, 16
- asrs r1, 16
- subs r1, r0
- b _0810CACA
-_0810CA96:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A861C
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x6
- bl __divsi3
- lsls r1, r7, 16
- asrs r1, 16
- adds r1, r0
- lsls r1, 16
- lsrs r7, r1, 16
- adds r0, r5, 0
- movs r1, 0
- bl sub_80A861C
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x6
- bl __divsi3
- lsls r1, r6, 16
- asrs r1, 16
- adds r1, r0
-_0810CACA:
- lsls r1, 16
- lsrs r6, r1, 16
- b _0810CAE2
-_0810CAD0:
- ldrh r0, [r4]
- lsls r0, 22
- asrs r0, 6
- lsrs r7, r0, 16
- ldr r0, [r4]
- lsls r0, 12
- asrs r0, 22
- lsls r0, 16
- lsrs r6, r0, 16
-_0810CAE2:
- lsls r0, r6, 16
- asrs r0, 16
- adds r0, 0x8
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- lsls r1, r7, 16
- asrs r1, 16
- subs r1, r0
- ldr r0, =gUnknown_08595D2C
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x8
- negs r2, r2
- movs r3, 0x12
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x40
- beq _0810CB44
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r4, 0
- mov r1, r9
- bl StartSpriteAffineAnim
- mov r0, sp
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x2E]
- strh r7, [r4, 0x34]
- strh r6, [r4, 0x36]
- mov r1, r9
- strh r1, [r4, 0x38]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x3A]
- mov r1, r10
- strh r1, [r4, 0x3C]
- movs r0, 0x1
- b _0810CB46
- .pool
-_0810CB44:
- movs r0, 0
-_0810CB46:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_810C9E4
-
- thumb_func_start sub_810CB58
-sub_810CB58: @ 810CB58
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- adds r0, 0x4
- strh r0, [r4, 0x20]
- ldrh r1, [r4, 0x22]
- adds r2, r1, 0
- adds r2, 0x8
- strh r2, [r4, 0x22]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x34
- ldrsh r1, [r4, r3]
- cmp r0, r1
- bge _0810CB82
- lsls r0, r2, 16
- asrs r0, 16
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- cmp r0, r1
- blt _0810CC32
-_0810CB82:
- movs r3, 0x2E
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- bne _0810CC04
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0810CC04
- ldr r0, =gUnknown_08595B68
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- movs r3, 0x36
- ldrsh r2, [r4, r3]
- adds r3, r4, 0
- adds r3, 0x43
- ldrb r3, [r3]
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- cmp r0, 0x40
- beq _0810CBE6
- ldr r2, =gSprites
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r2, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_810CC3C
- str r1, [r0]
- movs r3, 0x2E
- ldrsh r1, [r4, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x3A]
- strh r1, [r0, 0x3A]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x3C]
- strh r1, [r0, 0x3C]
-_0810CBE6:
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- b _0810CC32
- .pool
-_0810CC04:
- ldr r3, =gTasks
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- lsls r1, 1
- movs r0, 0x3A
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
-_0810CC32:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810CB58
-
- thumb_func_start sub_810CC3C
-sub_810CC3C: @ 810CC3C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bne _0810CC7C
- ldr r3, =gTasks
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x3A
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
-_0810CC7C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810CC3C
-
- thumb_func_start unc_080B06FC
-unc_080B06FC: @ 810CC88
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, =gAnimDisableStructPtr
- ldr r0, [r0]
- ldrb r1, [r0, 0x11]
- lsrs r0, r1, 4
- lsls r1, 28
- lsrs r1, 28
- subs r0, r1
- subs r0, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _0810CCA6
- movs r1, 0x4
-_0810CCA6:
- adds r0, r5, 0
- bl StartSpriteAffineAnim
- adds r0, r5, 0
- movs r1, 0x1
- bl InitSpritePosToAnimAttacker
- ldr r6, =gBattleAnimArgs
- ldrh r0, [r6, 0x8]
- strh r0, [r5, 0x2E]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810CCCE
- ldrh r0, [r6, 0x4]
- negs r0, r0
- strh r0, [r6, 0x4]
-_0810CCCE:
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x4]
- adds r0, r1
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x6]
- adds r0, r1
- strh r0, [r5, 0x36]
- ldrh r0, [r6, 0xA]
- strh r0, [r5, 0x38]
- adds r0, r5, 0
- bl InitAnimArcTranslation
- ldr r0, =sub_810CD1C
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end unc_080B06FC
-
- thumb_func_start sub_810CD1C
-sub_810CD1C: @ 810CD1C
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _0810CD3E
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, =RunStoredCallbackWhenAnimEnds
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
-_0810CD3E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810CD1C
-
- thumb_func_start sub_810CD4C
-sub_810CD4C: @ 810CD4C
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x8
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- adds r0, r4, 0
- movs r1, 0x1
- bl InitSpritePosToAnimTarget
- bl Random2
- movs r5, 0xFF
- ands r5, r0
- movs r0, 0x80
- lsls r0, 1
- adds r6, r0, 0
- orrs r5, r6
- bl Random2
- ldr r1, =0x000001ff
- ands r1, r0
- adds r0, r1, 0
- cmp r0, 0xFF
- ble _0810CD92
- subs r0, r6, r0
- lsls r0, 16
- lsrs r1, r0, 16
-_0810CD92:
- strh r5, [r4, 0x30]
- strh r1, [r4, 0x32]
- ldr r0, =sub_810CDB0
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810CD4C
-
- thumb_func_start sub_810CDB0
-sub_810CDB0: @ 810CDB0
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x34]
- adds r3, r0, r1
- strh r3, [r2, 0x34]
- ldrh r1, [r2, 0x32]
- ldrh r4, [r2, 0x36]
- adds r1, r4
- strh r1, [r2, 0x36]
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0810CDD4
- lsls r0, r3, 16
- asrs r0, 24
- negs r0, r0
- b _0810CDD8
-_0810CDD4:
- lsls r0, r3, 16
- asrs r0, 24
-_0810CDD8:
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x15
- bne _0810CDF6
- adds r0, r2, 0
- bl DestroyAnimSprite
-_0810CDF6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810CDB0
-
- thumb_func_start AnimTask_GetRolloutCounter
-AnimTask_GetRolloutCounter: @ 810CDFC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gBattleAnimArgs
- ldrb r3, [r1]
- lsls r3, 1
- adds r3, r1
- ldr r1, =gAnimDisableStructPtr
- ldr r1, [r1]
- ldrb r1, [r1, 0x11]
- lsrs r2, r1, 4
- lsls r1, 28
- lsrs r1, 28
- subs r2, r1
- subs r2, 0x1
- strh r2, [r3]
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_GetRolloutCounter
-
- .align 2, 0
diff --git a/asm/macros/event.inc b/asm/macros/event.inc
index c815f3753..ba851d70a 100644
--- a/asm/macros/event.inc
+++ b/asm/macros/event.inc
@@ -1557,17 +1557,81 @@
@ Supplementary
- .macro goto_eq dest:req
+ .macro goto_if_unset flag:req, dest:req
+ checkflag \flag
+ goto_if 0, \dest
+ .endm
+
+ .macro goto_if_set flag:req, dest:req
+ checkflag \flag
+ goto_if 1, \dest
+ .endm
+
+ .macro goto_if_lt dest:req @ LESS THAN
+ goto_if 0, \dest
+ .endm
+
+ .macro goto_if_eq dest:req @ EQUAL
goto_if 1, \dest
.endm
+ .macro goto_if_gt dest:req @ GREATER THAN
+ goto_if 2, \dest
+ .endm
+
+ .macro goto_if_le dest:req @ LESS THAN OR EQUAL
+ goto_if 3, \dest
+ .endm
+
+ .macro goto_if_ge dest:req @ GREATER THAN OR EQUAL
+ goto_if 4, \dest
+ .endm
+
+ .macro goto_if_ne dest:req @ NOT EQUAL
+ goto_if 5, \dest
+ .endm
+
+ .macro call_if_unset flag:req, dest:req
+ checkflag \flag
+ call_if 0, \dest
+ .endm
+
+ .macro call_if_set flag:req, dest:req
+ checkflag \flag
+ call_if 1, \dest
+ .endm
+
+ .macro call_if_lt dest:req @ LESS THAN
+ call_if 0, \dest
+ .endm
+
+ .macro call_if_eq dest:req @ EQUAL
+ call_if 1, \dest
+ .endm
+
+ .macro call_if_gt dest:req @ GREATER THAN
+ call_if 2, \dest
+ .endm
+
+ .macro call_if_le dest:req @ LESS THAN OR EQUAL
+ call_if 3, \dest
+ .endm
+
+ .macro call_if_ge dest:req @ GREATER THAN OR EQUAL
+ call_if 4, \dest
+ .endm
+
+ .macro call_if_ne dest:req @ NOT EQUAL
+ call_if 5, \dest
+ .endm
+
.macro switch var:req
copyvar 0x8000, \var
.endm
.macro case condition:req, dest:req
compare 0x8000, \condition
- goto_eq \dest
+ goto_if_eq \dest
.endm
@ Message box types
diff --git a/asm/macros/map.inc b/asm/macros/map.inc
index 94caeb697..c98364ccc 100644
--- a/asm/macros/map.inc
+++ b/asm/macros/map.inc
@@ -101,3 +101,7 @@
map \map
.space 2
.endm
+
+ .macro map_header_flags allow_bike:req, allow_escape_rope:req, allow_run:req, show_map_name:req
+ .byte ((\show_map_name & 1) << 3) | ((\allow_run & 1) << 2) | ((\allow_escape_rope & 1) << 1) | \allow_bike
+ .endm
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
deleted file mode 100644
index 3fefdd530..000000000
--- a/asm/pokemon_storage_system.s
+++ /dev/null
@@ -1,20963 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
-
-
-
- thumb_func_start sub_80C7D74
-sub_80C7D74: @ 80C7D74
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl ResetTasks
- ldr r0, =gUnknown_02039D0D
- strb r5, [r0]
- ldr r4, =gUnknown_02039D08
- ldr r0, =0x000062c4
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- bne _080C7DA8
- ldr r0, =sub_80C7678
- bl SetMainCallback2
- b _080C7DD4
- .pool
-_080C7DA8:
- movs r2, 0
- strb r5, [r0, 0x1]
- ldr r0, [r4]
- strb r2, [r0, 0x3]
- ldr r0, =gUnknown_02039D12
- movs r1, 0
- strh r2, [r0]
- ldr r0, [r4]
- strb r1, [r0]
- ldr r0, =task_box_related_3
- movs r1, 0x3
- bl CreateTask
- ldr r1, [r4]
- strb r0, [r1, 0x4]
- bl StorageGetCurrentBox
- ldr r1, =gUnknown_02039D10
- strb r0, [r1]
- ldr r0, =c2_Box
- bl SetMainCallback2
-_080C7DD4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C7D74
-
- thumb_func_start c2_808CE60
-c2_808CE60: @ 80C7DEC
- push {r4,lr}
- bl ResetTasks
- ldr r4, =gUnknown_02039D08
- ldr r0, =0x000062c4
- bl Alloc
- adds r1, r0, 0
- str r1, [r4]
- cmp r1, 0
- bne _080C7E18
- ldr r0, =sub_80C7678
- bl SetMainCallback2
- b _080C7E3C
- .pool
-_080C7E18:
- ldr r0, =gUnknown_02039D0D
- ldrb r0, [r0]
- movs r2, 0
- strb r0, [r1, 0x1]
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x3]
- ldr r0, [r4]
- strb r2, [r0]
- ldr r0, =task_box_related_3
- movs r1, 0x3
- bl CreateTask
- ldr r1, [r4]
- strb r0, [r1, 0x4]
- ldr r0, =c2_Box
- bl SetMainCallback2
-_080C7E3C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_808CE60
-
- thumb_func_start sub_80C7E50
-sub_80C7E50: @ 80C7E50
- push {lr}
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- thumb_func_end sub_80C7E50
-
- thumb_func_start sub_80C7E98
-sub_80C7E98: @ 80C7E98
- push {r4,lr}
- sub sp, 0x4
- bl ResetPaletteFade
- bl ResetSpriteData
- bl FreeSpriteTileRanges
- bl FreeAllSpritePalettes
- bl ClearDma3Requests
- ldr r1, =gReservedSpriteTileCount
- movs r2, 0xA0
- lsls r2, 2
- adds r0, r2, 0
- strh r0, [r1]
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8
- adds r1, 0x10
- movs r2, 0x8
- bl sub_80D2A90
- ldr r1, =gKeyRepeatStartDelay
- movs r0, 0x14
- strh r0, [r1]
- bl clear_scheduled_bg_copies_to_vram
- movs r0, 0x3
- bl sub_80D259C
- ldr r2, =gUnknown_0857239C
- movs r0, 0x4
- str r0, [sp]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0x8
- bl sub_80D2644
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_80D2770
- ldr r0, [r4]
- ldr r1, =0x000002c7
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C7E98
-
- thumb_func_start sub_80C7F1C
-sub_80C7F1C: @ 80C7F1C
- push {lr}
- bl sub_80CDC0C
- ldr r2, =gUnknown_02039D0C
- movs r1, 0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _080C7F32
- movs r1, 0x1
-_080C7F32:
- strb r1, [r2]
- ldr r1, =gUnknown_02039D0E
- movs r0, 0
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C7F1C
-
- thumb_func_start sub_80C7F4C
-sub_80C7F4C: @ 80C7F4C
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080C7F6A
- movs r1, 0xFC
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x00000b07
- movs r0, 0x52
- bl SetGpuReg
-_080C7F6A:
- movs r1, 0xFA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C7F4C
-
- thumb_func_start add_to_c3_somehow
-add_to_c3_somehow: @ 80C7F80
- push {r4,lr}
- ldr r4, =gTasks
- ldr r1, =gUnknown_02039D08
- ldr r3, [r1]
- ldrb r2, [r3, 0x4]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r4
- str r0, [r1]
- movs r0, 0
- strb r0, [r3]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end add_to_c3_somehow
-
- thumb_func_start task_box_related_3
-task_box_related_3: @ 80C7FA8
- push {lr}
- sub sp, 0x4
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xA
- bls _080C7FB8
- b _080C81A2
-_080C7FB8:
- lsls r0, 2
- ldr r1, =_080C7FCC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C7FCC:
- .4byte _080C7FF8
- .4byte _080C8050
- .4byte _080C805E
- .4byte _080C808C
- .4byte _080C80A8
- .4byte _080C80C6
- .4byte _080C80E6
- .4byte _080C80EC
- .4byte _080C80F2
- .4byte _080C8100
- .4byte _080C814A
-_080C7FF8:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- bl sub_80C7E98
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- beq _080C8046
- ldr r0, =gUnknown_02039D0F
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080C8036
- cmp r0, 0x1
- bgt _080C8030
- cmp r0, 0
- beq _080C803C
- b _080C8046
- .pool
-_080C8030:
- cmp r0, 0x2
- beq _080C8042
- b _080C8046
-_080C8036:
- bl sub_80CE790
- b _080C8046
-_080C803C:
- bl sub_80CE8E4
- b _080C8046
-_080C8042:
- bl sub_80C9F6C
-_080C8046:
- bl sub_80CA044
- bl sub_80CA0C8
- b _080C8198
-_080C8050:
- bl sub_80CA0A4
- lsls r0, 24
- cmp r0, 0
- beq _080C805C
- b _080C8198
-_080C805C:
- b _080C80D0
-_080C805E:
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl ClearWindowTilemap
- movs r0, 0
- str r0, [sp]
- movs r1, 0xC0
- lsls r1, 19
- ldr r2, =0x05000080
- mov r0, sp
- bl CpuSet
- movs r0, 0x1
- movs r1, 0xB
- movs r2, 0xE0
- bl LoadUserWindowBorderGfx
- b _080C8198
- .pool
-_080C808C:
- bl sub_80C7E50
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- beq _080C809C
- b _080C8198
-_080C809C:
- bl sub_80C7F1C
- b _080C8198
- .pool
-_080C80A8:
- bl sub_80CAF04
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- bne _080C80C0
- bl sub_80CD36C
- b _080C8198
- .pool
-_080C80C0:
- bl sub_80CD3EC
- b _080C8198
-_080C80C6:
- bl sub_80D0164
- lsls r0, 24
- cmp r0, 0
- bne _080C80DC
-_080C80D0:
- ldr r0, =sub_80C9E50
- bl add_to_c3_somehow
- b _080C81A2
- .pool
-_080C80DC:
- bl sub_80C9FEC
- bl sub_80CAC1C
- b _080C8198
-_080C80E6:
- bl sub_80CA0D8
- b _080C8198
-_080C80EC:
- bl sub_80CA704
- b _080C8198
-_080C80F2:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- bl sub_80CC32C
- b _080C8198
-_080C8100:
- bl sub_80CC35C
- lsls r0, 24
- cmp r0, 0
- bne _080C81A2
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- ldrb r0, [r2, 0x1]
- cmp r0, 0x3
- beq _080C8140
- ldr r1, =0x00000da4
- adds r0, r2, r1
- movs r1, 0xD
- strh r1, [r0]
- ldr r1, =0x00000da6
- adds r2, r1
- ldr r1, =0x0000dace
- strh r1, [r2]
- bl sub_811F90C
- bl sub_811FA90
- b _080C8198
- .pool
-_080C8140:
- bl sub_80D0C60
- bl sub_80CAEAC
- b _080C8198
-_080C814A:
- bl sub_80C7F4C
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- bne _080C8174
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, =sub_80C81AC
- bl add_to_c3_somehow
- b _080C8186
- .pool
-_080C8174:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, =box_related_2
- bl add_to_c3_somehow
-_080C8186:
- ldr r0, =sub_80C7D28
- bl SetVBlankCallback
- b _080C81A2
- .pool
-_080C8198:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080C81A2:
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_box_related_3
-
- thumb_func_start sub_80C81AC
-sub_80C81AC: @ 80C81AC
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C81C4
- cmp r0, 0x1
- beq _080C81DE
- b _080C81EE
- .pool
-_080C81C4:
- movs r0, 0x2
- bl PlaySE
- movs r0, 0x14
- movs r1, 0
- movs r2, 0x1
- bl sub_80F9BCC
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C81EE
-_080C81DE:
- bl sub_80F9C1C
- lsls r0, 24
- cmp r0, 0
- bne _080C81EE
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C81EE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C81AC
-
- thumb_func_start box_related_2
-box_related_2: @ 80C81F8
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080C8230
- cmp r0, 0x1
- bgt _080C8214
- cmp r0, 0
- beq _080C821E
- b _080C82A0
- .pool
-_080C8214:
- cmp r0, 0x2
- beq _080C8268
- cmp r0, 0x3
- beq _080C8290
- b _080C82A0
-_080C821E:
- movs r1, 0x1
- negs r1, r1
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _080C8282
-_080C8230:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080C82A0
- ldr r0, =gUnknown_02039D0F
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080C825C
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- cmp r0, 0
- beq _080C825C
- movs r0, 0x1C
- bl sub_80CAC58
- b _080C8282
- .pool
-_080C825C:
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C82A0
- .pool
-_080C8268:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C82A0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080C82A0
- bl sub_80CADC4
-_080C8282:
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C82A0
- .pool
-_080C8290:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C82A0
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C82A0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end box_related_2
-
- thumb_func_start task_pokemon_box_related
-task_pokemon_box_related: @ 80C82AC
- push {r4,r5,lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xB
- bls _080C82BA
- b _080C879E
-_080C82BA:
- lsls r0, 2
- ldr r1, =_080C82CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C82CC:
- .4byte _080C82FC
- .4byte _080C861C
- .4byte _080C865C
- .4byte _080C86B4
- .4byte _080C86D8
- .4byte _080C86E2
- .4byte _080C86FC
- .4byte _080C871C
- .4byte _080C8722
- .4byte _080C8738
- .4byte _080C8764
- .4byte _080C878C
-_080C82FC:
- bl sub_80CF9EC
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x19
- bls _080C830C
- b _080C879E
-_080C830C:
- lsls r0, 2
- ldr r1, =_080C831C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C831C:
- .4byte _080C8384
- .4byte _080C879E
- .4byte _080C879E
- .4byte _080C8414
- .4byte _080C8398
- .4byte _080C83CC
- .4byte _080C842C
- .4byte _080C8440
- .4byte _080C844C
- .4byte _080C8484
- .4byte _080C84C8
- .4byte _080C854C
- .4byte _080C850C
- .4byte _080C851E
- .4byte _080C8560
- .4byte _080C8574
- .4byte _080C8588
- .4byte _080C859C
- .4byte _080C8420
- .4byte _080C85B0
- .4byte _080C85D0
- .4byte _080C85BA
- .4byte _080C85DA
- .4byte _080C8614
- .4byte _080C85DE
- .4byte _080C85F8
-_080C8384:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1]
- b _080C879E
- .pool
-_080C8398:
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080C83BC
- movs r0, 0x10
- bl sub_80CAC58
- ldr r1, [r4]
- movs r0, 0x3
- strb r0, [r1]
- b _080C879E
- .pool
-_080C83BC:
- bl sub_80CDC0C
- ldr r0, =sub_80C87A8
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C83CC:
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x2
- bne _080C8400
- bl sub_80CEAD0
- lsls r0, 24
- cmp r0, 0
- beq _080C8406
- ldr r0, [r4]
- ldr r1, =0x00000ce6
- adds r0, r1
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _080C83F4
- b _080C84E6
-_080C83F4:
- b _080C8406
- .pool
-_080C8400:
- cmp r0, 0x3
- beq _080C8406
- b _080C879E
-_080C8406:
- ldr r0, =sub_80C87E8
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C8414:
- ldr r0, =sub_80C9BE8
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C8420:
- ldr r0, =sub_80C9D1C
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C842C:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =box_related
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C8440:
- ldr r0, =sub_80C8864
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C844C:
- movs r0, 0x5
- bl PlaySE
- bl StorageGetCurrentBox
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- ldr r2, =0x000002ca
- adds r1, r2
- strh r0, [r1]
- cmp r0, 0xD
- ble _080C846E
- movs r0, 0
- strh r0, [r1]
-_080C846E:
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x3
- beq _080C84BC
- adds r0, r1, r2
- b _080C8776
- .pool
-_080C8484:
- movs r0, 0x5
- bl PlaySE
- bl StorageGetCurrentBox
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- ldr r2, =0x000002ca
- adds r1, r2
- strh r0, [r1]
- cmp r0, 0
- bge _080C84A6
- movs r0, 0xD
- strh r0, [r1]
-_080C84A6:
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x3
- beq _080C84BC
- adds r0, r1, r2
- b _080C8776
- .pool
-_080C84BC:
- bl sub_80CFEA8
- ldr r1, [r4]
- movs r0, 0xA
- strb r0, [r1]
- b _080C879E
-_080C84C8:
- bl sub_80CEA30
- lsls r0, 24
- cmp r0, 0
- bne _080C8528
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r1, =0x00000ce6
- adds r0, r1
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _080C84F8
-_080C84E6:
- ldr r1, [r4]
- movs r0, 0x5
- strb r0, [r1]
- b _080C879E
- .pool
-_080C84F8:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C8D78
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C850C:
- bl sub_80CEA30
- lsls r0, 24
- cmp r0, 0
- bne _080C8528
- movs r0, 0x5
- bl PlaySE
- b _080C872C
-_080C851E:
- bl sub_80CEA6C
- lsls r0, 24
- cmp r0, 0
- bne _080C8538
-_080C8528:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x4
- strb r0, [r1]
- b _080C879E
- .pool
-_080C8538:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =c3_0808DC50
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C854C:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C8C90
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C8560:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C8BEC
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C8574:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C9128
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C8588:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C91DC
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C859C:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C93B0
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C85B0:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- b _080C8600
-_080C85BA:
- movs r0, 0x1
- bl sub_80D01D0
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x8
- strb r0, [r1]
- b _080C879E
- .pool
-_080C85D0:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x2
- b _080C85E6
-_080C85DA:
- movs r0, 0x3
- b _080C8600
-_080C85DE:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x4
-_080C85E6:
- bl sub_80D01D0
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x9
- strb r0, [r1]
- b _080C879E
- .pool
-_080C85F8:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x5
-_080C8600:
- bl sub_80D01D0
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x7
- strb r0, [r1]
- b _080C879E
- .pool
-_080C8614:
- movs r0, 0x20
- bl PlaySE
- b _080C879E
-_080C861C:
- bl sub_80CD554
- lsls r0, 24
- cmp r0, 0
- beq _080C8628
- b _080C879E
-_080C8628:
- bl sub_80CEAF8
- lsls r0, 24
- cmp r0, 0
- beq _080C8638
- bl sub_80CA9C0
- b _080C863C
-_080C8638:
- bl sub_80CA9EC
-_080C863C:
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r1, =0x00000cea
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C864E
- bl BoxSetMosaic
-_080C864E:
- ldr r1, [r4]
- b _080C86C8
- .pool
-_080C865C:
- bl sub_80CC54C
- lsls r0, 24
- cmp r0, 0
- beq _080C8668
- b _080C879E
-_080C8668:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x000002ca
- adds r0, r1
- ldrb r0, [r0]
- bl SetCurrentBox
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C8690
- bl sub_80CEAD0
- lsls r0, 24
- cmp r0, 0
- bne _080C8690
- bl sub_80CE00C
- bl BoxSetMosaic
-_080C8690:
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x3
- bne _080C86C8
- bl sub_80CFECC
- ldr r1, [r4]
- movs r0, 0xB
- strb r0, [r1]
- b _080C879E
- .pool
-_080C86B4:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C879E
- bl sub_80CADC4
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
-_080C86C8:
- movs r0, 0
- strb r0, [r1]
- b _080C879E
- .pool
-_080C86D8:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0xD
- b _080C86EA
-_080C86E2:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0x16
-_080C86EA:
- bl sub_80CAC58
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x6
- strb r0, [r1]
- b _080C879E
- .pool
-_080C86FC:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C879E
- bl sub_80CADC4
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C871C:
- bl sub_80D01E4
- b _080C8790
-_080C8722:
- bl sub_80D01E4
- lsls r0, 24
- cmp r0, 0
- bne _080C879E
-_080C872C:
- ldr r0, =sub_80C8B90
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C8738:
- bl sub_80D01E4
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080C879E
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldr r1, =0x00000cea
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C8756
- bl BoxSetMosaic
-_080C8756:
- ldr r0, [r5]
- strb r4, [r0]
- b _080C879E
- .pool
-_080C8764:
- bl sub_80D1218
- lsls r0, 24
- cmp r0, 0
- bne _080C879E
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r1, =0x000002ca
- adds r0, r1
-_080C8776:
- ldrb r0, [r0]
- bl sub_80CC464
- ldr r1, [r4]
- movs r0, 0x2
- strb r0, [r1]
- b _080C879E
- .pool
-_080C878C:
- bl sub_80D1218
-_080C8790:
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080C879E
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- strb r1, [r0]
-_080C879E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_pokemon_box_related
-
- thumb_func_start sub_80C87A8
-sub_80C87A8: @ 80C87A8
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C87C0
- cmp r0, 0x1
- beq _080C87CE
- b _080C87DE
- .pool
-_080C87C0:
- bl sub_80CAB4C
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C87DE
-_080C87CE:
- bl sub_80CAB70
- lsls r0, 24
- cmp r0, 0
- bne _080C87DE
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C87DE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C87A8
-
- thumb_func_start sub_80C87E8
-sub_80C87E8: @ 80C87E8
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080C8816
- cmp r0, 0x1
- bgt _080C8804
- cmp r0, 0
- beq _080C880A
- b _080C8856
- .pool
-_080C8804:
- cmp r0, 0x2
- beq _080C8836
- b _080C8856
-_080C880A:
- movs r0, 0x5
- bl PlaySE
- bl sub_80CA888
- b _080C882C
-_080C8816:
- bl sub_80CA8C8
- lsls r0, 24
- cmp r0, 0
- bne _080C8856
- bl sub_80CDC2C
- lsls r0, 24
- lsrs r0, 24
- bl sub_80CDBF8
-_080C882C:
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C8856
-_080C8836:
- bl sub_80CD554
- lsls r0, 24
- cmp r0, 0
- bne _080C8856
- ldr r0, [r4]
- ldr r1, =0x00000cea
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C8850
- bl BoxSetMosaic
-_080C8850:
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C8856:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C87E8
-
- thumb_func_start sub_80C8864
-sub_80C8864: @ 80C8864
- push {r4,lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x6
- bls _080C8872
- b _080C8B82
-_080C8872:
- lsls r0, 2
- ldr r1, =_080C8884
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C8884:
- .4byte _080C88A0
- .4byte _080C8904
- .4byte _080C8920
- .4byte _080C8B3C
- .4byte _080C8B50
- .4byte _080C8B46
- .4byte _080C8B6C
-_080C88A0:
- bl sub_80CA2B8
- lsls r0, 24
- cmp r0, 0
- beq _080C88AC
- b _080C8B82
-_080C88AC:
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- beq _080C88C8
- movs r0, 0x4
- bl sub_80CAC58
- b _080C88F2
- .pool
-_080C88C8:
- bl sub_80D127C
- lsls r0, 24
- cmp r0, 0
- bne _080C88DE
- ldr r0, [r4]
- ldr r1, =0x00000ce6
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _080C88EC
-_080C88DE:
- movs r0, 0x17
- bl sub_80CAC58
- b _080C88F2
- .pool
-_080C88EC:
- movs r0, 0x18
- bl sub_80CAC58
-_080C88F2:
- bl sub_80CFFD0
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1]
- b _080C8B82
- .pool
-_080C8904:
- bl sub_80D00A8
- lsls r0, 24
- cmp r0, 0
- beq _080C8910
- b _080C8B82
-_080C8910:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x2
- strb r0, [r1]
- b _080C8B82
- .pool
-_080C8920:
- bl sub_80D00AC
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x12
- bls _080C8930
- b _080C8B82
-_080C8930:
- lsls r0, 2
- ldr r1, =_080C8940
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C8940:
- .4byte _080C898C
- .4byte _080C898C
- .4byte _080C8A0C
- .4byte _080C89F4
- .4byte _080C899C
- .4byte _080C89D4
- .4byte _080C89BC
- .4byte _080C8AAC
- .4byte _080C8A48
- .4byte _080C8AC0
- .4byte _080C8B82
- .4byte _080C8B82
- .4byte _080C8B82
- .4byte _080C8AD4
- .4byte _080C8AE8
- .4byte _080C8B1C
- .4byte _080C8B08
- .4byte _080C8AFC
- .4byte _080C8B30
-_080C898C:
- bl sub_80CADC4
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C899C:
- bl sub_80CEA30
- lsls r0, 24
- cmp r0, 0
- bne _080C8A52
- movs r0, 0x5
- bl PlaySE
- bl sub_80CADC4
- ldr r0, =sub_80C8B90
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C89BC:
- movs r0, 0x5
- bl PlaySE
- bl sub_80CADC4
- ldr r0, =sub_80C8BEC
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C89D4:
- bl sub_80CEA6C
- lsls r0, 24
- cmp r0, 0
- beq _080C8A52
- movs r0, 0x5
- bl PlaySE
- bl sub_80CADC4
- ldr r0, =c3_0808DC50
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C89F4:
- movs r0, 0x5
- bl PlaySE
- bl sub_80CADC4
- ldr r0, =sub_80C8C90
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8A0C:
- bl sub_80CEA30
- lsls r0, 24
- cmp r0, 0
- bne _080C8A52
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r2, =0x00000ce6
- adds r0, r2
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- bne _080C8A8C
- movs r0, 0x5
- bl PlaySE
- bl sub_80CADC4
- ldr r0, =sub_80C8D78
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8A48:
- bl sub_80CEA30
- lsls r0, 24
- cmp r0, 0
- beq _080C8A60
-_080C8A52:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x3
- strb r0, [r1]
- b _080C8B82
- .pool
-_080C8A60:
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldr r2, =0x00000ced
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C8A7C
- movs r0, 0x5
- strb r0, [r1]
- b _080C8B82
- .pool
-_080C8A7C:
- ldr r2, =0x00000ce6
- adds r0, r1, r2
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _080C8A98
-_080C8A8C:
- ldr r1, [r4]
- movs r0, 0x4
- strb r0, [r1]
- b _080C8B82
- .pool
-_080C8A98:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C8EB4
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8AAC:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C9B28
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8AC0:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C90A4
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8AD4:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C9128
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8AE8:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C91DC
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8AFC:
- ldr r0, =sub_80C9298
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8B08:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C93B0
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8B1C:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C9B88
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8B30:
- ldr r0, =sub_80C9498
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8B3C:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0xD
- b _080C8B58
-_080C8B46:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0x11
- b _080C8B58
-_080C8B50:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0x16
-_080C8B58:
- bl sub_80CAC58
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x6
- strb r0, [r1]
- b _080C8B82
- .pool
-_080C8B6C:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C8B82
- bl sub_80CADC4
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C8B82:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C8864
-
- thumb_func_start sub_80C8B90
-sub_80C8B90: @ 80C8B90
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C8BA8
- cmp r0, 0x1
- beq _080C8BB8
- b _080C8BE2
- .pool
-_080C8BA8:
- movs r0, 0
- bl sub_80CDC38
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C8BE2
-_080C8BB8:
- bl sub_80CDCAC
- lsls r0, 24
- cmp r0, 0
- bne _080C8BE2
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C8BDC
- ldr r0, =sub_80C9670
- bl add_to_c3_somehow
- b _080C8BE2
- .pool
-_080C8BDC:
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C8BE2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C8B90
-
- thumb_func_start sub_80C8BEC
-sub_80C8BEC: @ 80C8BEC
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C8C04
- cmp r0, 0x1
- beq _080C8C14
- b _080C8C3E
- .pool
-_080C8C04:
- movs r0, 0x1
- bl sub_80CDC38
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C8C3E
-_080C8C14:
- bl sub_80CDCAC
- lsls r0, 24
- cmp r0, 0
- bne _080C8C3E
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C8C38
- ldr r0, =sub_80C9670
- bl add_to_c3_somehow
- b _080C8C3E
- .pool
-_080C8C38:
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C8C3E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C8BEC
-
- thumb_func_start c3_0808DC50
-c3_0808DC50: @ 80C8C48
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C8C60
- cmp r0, 0x1
- beq _080C8C70
- b _080C8C84
- .pool
-_080C8C60:
- movs r0, 0x2
- bl sub_80CDC38
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C8C84
-_080C8C70:
- bl sub_80CDCAC
- lsls r0, 24
- cmp r0, 0
- bne _080C8C84
- bl BoxSetMosaic
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C8C84:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c3_0808DC50
-
- thumb_func_start sub_80C8C90
-sub_80C8C90: @ 80C8C90
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _080C8D6E
- lsls r0, 2
- ldr r1, =_080C8CB0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C8CB0:
- .4byte _080C8CC8
- .4byte _080C8D00
- .4byte _080C8D20
- .4byte _080C8D36
- .4byte _080C8D48
- .4byte _080C8D68
-_080C8CC8:
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _080C8CE8
- movs r0, 0xE
- bl sub_80CAC58
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1]
- b _080C8D6E
- .pool
-_080C8CE8:
- bl sub_80CDC18
- movs r0, 0
- bl sub_80CDC38
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x2
- strb r0, [r1]
- b _080C8D6E
- .pool
-_080C8D00:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C8D6E
- bl sub_80CADC4
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C8D6E
- .pool
-_080C8D20:
- bl sub_80CDCAC
- lsls r0, 24
- cmp r0, 0
- bne _080C8D6E
- movs r0, 0x1
- bl sub_80CC0D4
- bl sub_80CAB4C
- b _080C8D56
-_080C8D36:
- bl sub_80CAB70
- lsls r0, 24
- cmp r0, 0
- bne _080C8D6E
- movs r0, 0x1
- bl sub_80CDC38
- b _080C8D56
-_080C8D48:
- bl sub_80CDCAC
- lsls r0, 24
- cmp r0, 0
- bne _080C8D6E
- bl sub_80CAB20
-_080C8D56:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C8D6E
- .pool
-_080C8D68:
- ldr r0, =sub_80C87E8
- bl add_to_c3_somehow
-_080C8D6E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C8C90
-
- thumb_func_start sub_80C8D78
-sub_80C8D78: @ 80C8D78
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _080C8D88
- b _080C8EA2
-_080C8D88:
- lsls r0, 2
- ldr r1, =_080C8D9C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C8D9C:
- .4byte _080C8DB0
- .4byte _080C8DEC
- .4byte _080C8E4C
- .4byte _080C8E64
- .4byte _080C8E88
-_080C8DB0:
- movs r0, 0x6
- bl sub_80CAC58
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r1, =0x00001e5c
- adds r0, r1
- ldr r2, =0x0000dac7
- movs r1, 0
- str r1, [sp]
- movs r1, 0xA
- movs r3, 0x3
- bl sub_80C77E8
- ldr r0, =gUnknown_02039D0E
- ldrb r0, [r0]
- bl sub_80C78D4
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080C8EA0
- .pool
-_080C8DEC:
- bl sub_80C78F0
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- cmp r0, 0xC8
- beq _080C8EA2
- cmp r0, 0xC9
- bne _080C8E0C
- bl sub_80CADC4
- bl sub_80C78E4
- bl sub_80C7890
- b _080C8E7A
-_080C8E0C:
- adds r0, r4, 0
- bl sub_80CE19C
- lsls r0, 24
- cmp r0, 0
- beq _080C8E38
- ldr r0, =gUnknown_02039D0E
- strb r4, [r0]
- bl sub_80CADC4
- bl sub_80C78E4
- bl sub_80C7890
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x2
- b _080C8EA0
- .pool
-_080C8E38:
- movs r0, 0x8
- bl sub_80CAC58
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x4
- b _080C8EA0
- .pool
-_080C8E4C:
- bl CompactPartySlots
- bl sub_80CB950
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080C8EA0
- .pool
-_080C8E64:
- bl sub_80CB9BC
- lsls r0, 24
- cmp r0, 0
- bne _080C8EA2
- bl sub_80CE22C
- bl BoxSetMosaic
- bl sub_80CAB20
-_080C8E7A:
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C8EA2
- .pool
-_080C8E88:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C8EA2
- movs r0, 0x6
- bl sub_80CAC58
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x1
-_080C8EA0:
- strb r0, [r1]
-_080C8EA2:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C8D78
-
- thumb_func_start sub_80C8EB4
-sub_80C8EB4: @ 80C8EB4
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xD
- bls _080C8EC2
- b _080C9096
-_080C8EC2:
- lsls r0, 2
- ldr r1, =_080C8ED4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C8ED4:
- .4byte _080C8F0C
- .4byte _080C8F22
- .4byte _080C8F5A
- .4byte _080C8F80
- .4byte _080C8F8C
- .4byte _080C8FA4
- .4byte _080C8FE0
- .4byte _080C8FF8
- .4byte _080C9004
- .4byte _080C9008
- .4byte _080C901C
- .4byte _080C9038
- .4byte _080C904A
- .4byte _080C9080
-_080C8F0C:
- movs r0, 0x9
- bl sub_80CAC58
- movs r0, 0x1
- bl sub_80CAD9C
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080C8F22:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080C8F4C
- cmp r1, 0
- bgt _080C8F40
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080C8F46
- b _080C9096
- .pool
-_080C8F40:
- cmp r1, 0x1
- beq _080C8F46
- b _080C9096
-_080C8F46:
- bl sub_80CADC4
- b _080C8FF8
-_080C8F4C:
- bl sub_80CADC4
- bl sub_80CE3A0
- bl sub_80CE250
- b _080C905C
-_080C8F5A:
- bl sub_80CE580
- bl sub_80CE2A8
- lsls r0, 24
- cmp r0, 0
- beq _080C8F6A
- b _080C9096
-_080C8F6A:
- b _080C8F72
-_080C8F6C:
- cmp r0, 0
- bne _080C8F72
- b _080C9070
-_080C8F72:
- bl sub_80CE580
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080C8F6C
- b _080C905C
-_080C8F80:
- bl sub_80CE2D8
- bl sub_80CA230
- movs r0, 0xA
- b _080C9058
-_080C8F8C:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- bne _080C8F9A
- b _080C9096
-_080C8F9A:
- movs r0, 0xB
- b _080C9058
- .pool
-_080C8FA4:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C9096
- bl sub_80CADC4
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C8FD0
- bl CompactPartySlots
- bl sub_80CB950
- b _080C905C
- .pool
-_080C8FD0:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x7
- strb r0, [r1]
- b _080C9096
- .pool
-_080C8FE0:
- bl sub_80CB9BC
- lsls r0, 24
- cmp r0, 0
- bne _080C9096
- bl sub_80CE00C
- bl BoxSetMosaic
- bl sub_80CAB20
- b _080C905C
-_080C8FF8:
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C9096
- .pool
-_080C9004:
- movs r0, 0xA
- b _080C9058
-_080C9008:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C9096
- movs r0, 0x15
- b _080C9058
- .pool
-_080C901C:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C9096
- bl sub_80CADC4
- bl sub_80CC064
- b _080C905C
- .pool
-_080C9038:
- bl sub_80CC0A0
- lsls r0, 24
- cmp r0, 0
- bne _080C9096
- bl sub_80CE324
- movs r0, 0x13
- b _080C9058
-_080C904A:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C9096
- movs r0, 0x14
-_080C9058:
- bl sub_80CAC58
-_080C905C:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9096
- .pool
-_080C9070:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x8
- strb r0, [r1]
- b _080C9096
- .pool
-_080C9080:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C9096
- bl sub_80CADC4
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C9096:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C8EB4
-
- thumb_func_start sub_80C90A4
-sub_80C90A4: @ 80C90A4
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C90BC
- cmp r0, 0x1
- beq _080C90F0
- b _080C9118
- .pool
-_080C90BC:
- movs r0, 0xC
- bl sub_80CAC58
- ldr r0, [r4]
- ldr r2, =0x00000ceb
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r3, =0x00000da8
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0xB0
- movs r2, 0x10
- bl sub_811FAA4
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9118
- .pool
-_080C90F0:
- bl sub_811FBA4
- lsls r0, 24
- cmp r0, 0
- bne _080C9118
- bl sub_811FAF8
- bl sub_80CADC4
- ldr r0, [r4]
- ldr r1, =0x00000da8
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80CE9A8
- bl sub_80CA230
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C9118:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C90A4
-
- thumb_func_start sub_80C9128
-sub_80C9128: @ 80C9128
- push {r4,r5,lr}
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldrb r1, [r0]
- cmp r1, 0x1
- beq _080C9174
- cmp r1, 0x1
- bgt _080C9144
- cmp r1, 0
- beq _080C914E
- b _080C91D2
- .pool
-_080C9144:
- cmp r1, 0x2
- beq _080C919C
- cmp r1, 0x3
- beq _080C91C2
- b _080C91D2
-_080C914E:
- ldr r1, =0x00000ce6
- adds r0, r1
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- bne _080C9168
- bl sub_80CADC4
- b _080C91B8
- .pool
-_080C9168:
- ldr r0, =sub_80C96B8
- bl add_to_c3_somehow
- b _080C91D2
- .pool
-_080C9174:
- movs r0, 0x2
- bl sub_80CFE54
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_80CFE08
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_80D0E90
- b _080C91B8
- .pool
-_080C919C:
- bl sub_80D1218
- lsls r0, 24
- cmp r0, 0
- bne _080C91D2
- movs r0, 0x3
- bl sub_80CFE54
- bl sub_80CADC4
- bl sub_80CE00C
- bl sub_80CA4FC
-_080C91B8:
- ldr r1, [r5]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C91D2
-_080C91C2:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C91D2
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C91D2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9128
-
- thumb_func_start sub_80C91DC
-sub_80C91DC: @ 80C91DC
- push {r4,lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x4
- bhi _080C928C
- lsls r0, 2
- ldr r1, =_080C91FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C91FC:
- .4byte _080C9264
- .4byte _080C9210
- .4byte _080C9238
- .4byte _080C9258
- .4byte _080C927C
-_080C9210:
- movs r0, 0x2
- bl sub_80CFE54
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_80CFE08
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_80D1080
- b _080C9268
- .pool
-_080C9238:
- bl sub_80D1218
- lsls r0, 24
- cmp r0, 0
- bne _080C928C
- movs r0, 0
- bl sub_80CFE54
- bl sub_80CE00C
- bl sub_80CA4FC
- movs r0, 0x1C
- bl sub_80CAC58
- b _080C9268
-_080C9258:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C928C
-_080C9264:
- bl sub_80CADC4
-_080C9268:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C928C
- .pool
-_080C927C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C928C
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C928C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C91DC
-
- thumb_func_start sub_80C9298
-sub_80C9298: @ 80C9298
- push {r4,r5,lr}
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0x4
- bls _080C92A8
- b _080C93A2
-_080C92A8:
- lsls r0, 2
- ldr r1, =_080C92BC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C92BC:
- .4byte _080C92D0
- .4byte _080C9328
- .4byte _080C9348
- .4byte _080C938C
- .4byte _080C9374
-_080C92D0:
- ldr r0, [r5]
- ldr r1, =0x00000ce6
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- bne _080C92FC
- movs r0, 0x20
- bl PlaySE
- movs r0, 0x1A
- bl sub_80CAC58
- ldr r1, [r5]
- movs r0, 0x3
- strb r0, [r1]
- b _080C93A2
- .pool
-_080C92FC:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_80CFE08
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_80D1114
- ldr r1, [r5]
- movs r0, 0x1
- strb r0, [r1]
- b _080C93A2
- .pool
-_080C9328:
- bl sub_80D1218
- lsls r0, 24
- cmp r0, 0
- bne _080C93A2
- movs r0, 0x19
- bl sub_80CAC58
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x2
- strb r0, [r1]
- b _080C93A2
- .pool
-_080C9348:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C93A2
- bl sub_80CADC4
- bl sub_80CE00C
- bl sub_80CA4FC
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x4
- strb r0, [r1]
- b _080C93A2
- .pool
-_080C9374:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C93A2
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C93A2
- .pool
-_080C938C:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C93A2
- bl sub_80CADC4
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C93A2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9298
-
- thumb_func_start sub_80C93B0
-sub_80C93B0: @ 80C93B0
- push {r4,lr}
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x4
- bhi _080C948C
- lsls r0, 2
- ldr r1, =_080C93D0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C93D0:
- .4byte _080C93E4
- .4byte _080C9410
- .4byte _080C9438
- .4byte _080C9458
- .4byte _080C947C
-_080C93E4:
- ldr r0, [r4]
- ldr r1, =0x00000ce6
- adds r0, r1
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- bne _080C9404
- bl sub_80CADC4
- ldr r1, [r4]
- b _080C946C
- .pool
-_080C9404:
- ldr r0, =sub_80C96B8
- bl add_to_c3_somehow
- b _080C948C
- .pool
-_080C9410:
- movs r0, 0x2
- bl sub_80CFE54
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_80CFE08
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_80D0FAC
- b _080C9468
- .pool
-_080C9438:
- bl sub_80D1218
- lsls r0, 24
- cmp r0, 0
- bne _080C948C
- movs r0, 0x3
- bl sub_80CFE54
- bl sub_80CE00C
- bl sub_80CA4FC
- movs r0, 0x1D
- bl sub_80CAC58
- b _080C9468
-_080C9458:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C948C
- bl sub_80CADC4
-_080C9468:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
-_080C946C:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C948C
- .pool
-_080C947C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C948C
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C948C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C93B0
-
- thumb_func_start sub_80C9498
-sub_80C9498: @ 80C9498
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x6
- bhi _080C9544
- lsls r0, 2
- ldr r1, =_080C94B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C94B8:
- .4byte _080C94D4
- .4byte _080C94DA
- .4byte _080C94F4
- .4byte _080C94FA
- .4byte _080C9500
- .4byte _080C9518
- .4byte _080C9534
-_080C94D4:
- bl sub_80CADC4
- b _080C9522
-_080C94DA:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C9544
- movs r0, 0x6
- bl PlaySE
- bl sub_80D17B4
- bl sub_80D1818
- b _080C9522
-_080C94F4:
- bl sub_80D184C
- b _080C951C
-_080C94FA:
- bl IsDma3ManagerBusyWithBgCopy
- b _080C951C
-_080C9500:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C9544
- movs r0, 0x6
- bl PlaySE
- b _080C9522
- .pool
-_080C9518:
- bl sub_80D18E4
-_080C951C:
- lsls r0, 24
- cmp r0, 0
- bne _080C9544
-_080C9522:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9544
- .pool
-_080C9534:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C9544
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C9544:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9498
-
- thumb_func_start sub_80C954C
-sub_80C954C: @ 80C954C
- push {r4,lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x5
- bls _080C955A
- b _080C9664
-_080C955A:
- lsls r0, 2
- ldr r1, =_080C956C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C956C:
- .4byte _080C9584
- .4byte _080C95A4
- .4byte _080C9602
- .4byte _080C9624
- .4byte _080C9638
- .4byte _080C9654
-_080C9584:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1B
- bl sub_80CAC58
- movs r0, 0
- bl sub_80CAD9C
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1]
- b _080C9664
- .pool
-_080C95A4:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080C95C8
- cmp r1, 0
- bgt _080C95BE
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080C95C2
- b _080C9664
-_080C95BE:
- cmp r1, 0x1
- bne _080C9664
-_080C95C2:
- bl sub_80CADC4
- b _080C9648
-_080C95C8:
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r1, =0x00002234
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C95F4
- bl sub_80CADC4
- ldr r1, [r4]
- movs r0, 0x3
- strb r0, [r1]
- b _080C9664
- .pool
-_080C95F4:
- movs r0, 0x1A
- bl sub_80CAC58
- ldr r1, [r4]
- movs r0, 0x2
- strb r0, [r1]
- b _080C9664
-_080C9602:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C9664
- bl sub_80CADC4
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x5
- strb r0, [r1]
- b _080C9664
- .pool
-_080C9624:
- bl sub_80D1194
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x4
- strb r0, [r1]
- b _080C9664
- .pool
-_080C9638:
- bl sub_80D1218
- lsls r0, 24
- cmp r0, 0
- bne _080C9664
- movs r0, 0
- bl sub_80CFE54
-_080C9648:
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C9664
- .pool
-_080C9654:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C9664
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C9664:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C954C
-
- thumb_func_start sub_80C9670
-sub_80C9670: @ 80C9670
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C9688
- cmp r0, 0x1
- beq _080C969A
- b _080C96AE
- .pool
-_080C9688:
- bl CompactPartySlots
- bl sub_80CB950
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C96AE
-_080C969A:
- bl sub_80CB9BC
- lsls r0, 24
- cmp r0, 0
- bne _080C96AE
- bl sub_80CAB20
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C96AE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9670
-
- thumb_func_start sub_80C96B8
-sub_80C96B8: @ 80C96B8
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080C96E6
- cmp r0, 0x1
- bgt _080C96D4
- cmp r0, 0
- beq _080C96DE
- b _080C9720
- .pool
-_080C96D4:
- cmp r0, 0x2
- beq _080C96F2
- cmp r0, 0x3
- beq _080C9710
- b _080C9720
-_080C96DE:
- movs r0, 0x1E
- bl sub_80CAC58
- b _080C9702
-_080C96E6:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C9720
- b _080C9702
-_080C96F2:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C9720
- bl sub_80CADC4
-_080C9702:
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9720
- .pool
-_080C9710:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C9720
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C9720:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C96B8
-
- thumb_func_start box_related
-box_related: @ 80C972C
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080C9762
- cmp r0, 0x1
- bgt _080C9748
- cmp r0, 0
- beq _080C974E
- b _080C9818
- .pool
-_080C9748:
- cmp r0, 0x2
- beq _080C9774
- b _080C9818
-_080C974E:
- movs r0, 0x1
- bl sub_80CAC58
- bl sub_80CFFD0
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9818
-_080C9762:
- bl sub_80D00A8
- lsls r0, 24
- cmp r0, 0
- bne _080C9818
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080C9774:
- bl sub_80D00AC
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bhi _080C9818
- lsls r0, 2
- ldr r1, =_080C9790
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C9790:
- .4byte _080C97C4
- .4byte _080C97C4
- .4byte _080C9818
- .4byte _080C9818
- .4byte _080C9818
- .4byte _080C9818
- .4byte _080C9818
- .4byte _080C9818
- .4byte _080C9818
- .4byte _080C9818
- .4byte _080C9808
- .4byte _080C97F0
- .4byte _080C97DC
-_080C97C4:
- movs r0, 0x1
- bl sub_80CD1A8
- bl sub_80CADC4
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C9818
- .pool
-_080C97DC:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C9AC8
- bl add_to_c3_somehow
- b _080C9818
- .pool
-_080C97F0:
- movs r0, 0x5
- bl PlaySE
- bl sub_80CADC4
- ldr r0, =sub_80C9824
- bl add_to_c3_somehow
- b _080C9818
- .pool
-_080C9808:
- movs r0, 0x5
- bl PlaySE
- bl sub_80CADC4
- ldr r0, =sub_80C99D8
- bl add_to_c3_somehow
-_080C9818:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end box_related
-
- thumb_func_start sub_80C9824
-sub_80C9824: @ 80C9824
- push {r4,r5,lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x6
- bls _080C9832
- b _080C99CC
-_080C9832:
- lsls r0, 2
- ldr r1, =_080C9844
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C9844:
- .4byte _080C9860
- .4byte _080C9878
- .4byte _080C9894
- .4byte _080C990C
- .4byte _080C993C
- .4byte _080C9990
- .4byte _080C99AC
-_080C9860:
- bl sub_80CADD8
- movs r0, 0x2
- bl sub_80CAC58
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080C99CA
- .pool
-_080C9878:
- bl sub_80D00A8
- lsls r0, 24
- cmp r0, 0
- beq _080C9884
- b _080C99CC
-_080C9884:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080C99CA
- .pool
-_080C9894:
- bl sub_80D00AC
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldr r5, =0x0000078e
- adds r1, r5
- strh r0, [r1]
- movs r0, 0
- ldrsh r1, [r1, r0]
- cmp r1, 0x15
- bgt _080C98C0
- cmp r1, 0x12
- bge _080C98D2
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080C98C6
- b _080C99CC
- .pool
-_080C98C0:
- cmp r1, 0x16
- beq _080C98EC
- b _080C99CC
-_080C98C6:
- movs r0, 0x1
- bl sub_80CD1A8
- bl sub_80CADC4
- b _080C99A0
-_080C98D2:
- movs r0, 0x5
- bl PlaySE
- bl sub_80D013C
- ldr r1, [r4]
- adds r2, r1, r5
- ldrh r0, [r2]
- subs r0, 0x12
- strh r0, [r2]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080C99CA
-_080C98EC:
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r4]
- movs r1, 0xF2
- lsls r1, 3
- adds r0, r1
- movs r1, 0x10
- strh r1, [r0]
- bl sub_80D013C
- bl sub_80CADC4
- ldr r1, [r4]
- movs r0, 0x6
- b _080C99CA
-_080C990C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C99CC
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r1, =0x0000078e
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80CAE0C
- movs r0, 0x3
- bl sub_80CAC58
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080C99CA
- .pool
-_080C993C:
- bl sub_80D00AC
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- movs r5, 0xF2
- lsls r5, 3
- adds r1, r5
- strh r0, [r1]
- movs r0, 0
- ldrsh r1, [r1, r0]
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _080C99CC
- adds r0, 0x1
- cmp r1, r0
- bne _080C996C
- bl sub_80CADC4
- ldr r1, [r4]
- movs r0, 0
- b _080C99CA
- .pool
-_080C996C:
- movs r0, 0x5
- bl PlaySE
- bl sub_80CADC4
- ldr r1, [r4]
- adds r1, r5
- ldrh r0, [r1]
- subs r0, 0x17
- strh r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80CC680
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080C99CA
-_080C9990:
- bl sub_80CC6B0
- lsls r0, 24
- cmp r0, 0
- bne _080C99CC
- movs r0, 0x1
- bl sub_80CD1A8
-_080C99A0:
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C99CC
- .pool
-_080C99AC:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C99CC
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- movs r1, 0xF2
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80CC680
- ldr r1, [r4]
- movs r0, 0x5
-_080C99CA:
- strb r0, [r1]
-_080C99CC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9824
-
- thumb_func_start sub_80C99D8
-sub_80C99D8: @ 80C99D8
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldrb r4, [r0]
- cmp r4, 0x1
- beq _080C9A2C
- cmp r4, 0x1
- bgt _080C99F4
- cmp r4, 0
- beq _080C99FE
- b _080C9AB8
- .pool
-_080C99F4:
- cmp r4, 0x2
- beq _080C9A84
- cmp r4, 0x3
- beq _080C9A9C
- b _080C9AB8
-_080C99FE:
- movs r0, 0x5
- bl sub_80CAC58
- ldr r0, [r5]
- ldr r1, =0x00001e5c
- adds r0, r1
- ldr r2, =0x0000dac7
- str r4, [sp]
- movs r1, 0xA
- movs r3, 0x3
- bl sub_80C77E8
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- bl sub_80C78D4
- b _080C9A8E
- .pool
-_080C9A2C:
- bl sub_80C78F0
- ldr r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =0x000002ca
- adds r1, r2
- strh r0, [r1]
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0xC8
- beq _080C9AB8
- bl sub_80CADC4
- bl sub_80C78E4
- bl sub_80C7890
- ldr r0, [r5]
- ldr r2, =0x000002ca
- adds r1, r0, r2
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0xC9
- beq _080C9A6C
- adds r4, r0, 0
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _080C9A8E
-_080C9A6C:
- movs r0, 0x1
- bl sub_80CD1A8
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C9AB8
- .pool
-_080C9A84:
- ldr r1, =0x000002ca
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80CC464
-_080C9A8E:
- ldr r1, [r5]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9AB8
- .pool
-_080C9A9C:
- bl sub_80CC54C
- lsls r0, 24
- cmp r0, 0
- bne _080C9AB8
- ldr r0, [r5]
- ldr r2, =0x000002ca
- adds r0, r2
- ldrb r0, [r0]
- bl SetCurrentBox
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C9AB8:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C99D8
-
- thumb_func_start sub_80C9AC8
-sub_80C9AC8: @ 80C9AC8
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldrb r4, [r0]
- cmp r4, 0
- beq _080C9AE0
- cmp r4, 0x1
- beq _080C9AFE
- b _080C9B18
- .pool
-_080C9AE0:
- bl sub_80CE760
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r5]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9B18
-_080C9AFE:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080C9B18
- ldr r0, =gUnknown_02039D0F
- strb r4, [r0]
- ldr r1, [r5]
- movs r0, 0x2
- strb r0, [r1, 0x2]
- ldr r0, =sub_80C9E50
- bl add_to_c3_somehow
-_080C9B18:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9AC8
-
- thumb_func_start sub_80C9B28
-sub_80C9B28: @ 80C9B28
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldrb r4, [r0]
- cmp r4, 0
- beq _080C9B40
- cmp r4, 0x1
- beq _080C9B5E
- b _080C9B78
- .pool
-_080C9B40:
- bl sub_80CE7E8
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r5]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9B78
-_080C9B5E:
- bl UpdatePaletteFade
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080C9B78
- ldr r0, =gUnknown_02039D0F
- strb r1, [r0]
- ldr r0, [r5]
- strb r4, [r0, 0x2]
- ldr r0, =sub_80C9E50
- bl add_to_c3_somehow
-_080C9B78:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9B28
-
- thumb_func_start sub_80C9B88
-sub_80C9B88: @ 80C9B88
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r1, [r0]
- cmp r1, 0
- beq _080C9BA0
- cmp r1, 0x1
- beq _080C9BBA
- b _080C9BD6
- .pool
-_080C9BA0:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9BD6
-_080C9BBA:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080C9BD6
- ldr r1, =gUnknown_02039D0F
- movs r0, 0x2
- strb r0, [r1]
- ldr r1, [r4]
- movs r0, 0x3
- strb r0, [r1, 0x2]
- ldr r0, =sub_80C9E50
- bl add_to_c3_somehow
-_080C9BD6:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9B88
-
- thumb_func_start sub_80C9BE8
-sub_80C9BE8: @ 80C9BE8
- push {r4,lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _080C9BF6
- b _080C9D08
-_080C9BF6:
- lsls r0, 2
- ldr r1, =_080C9C08
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C9C08:
- .4byte _080C9C1C
- .4byte _080C9C78
- .4byte _080C9C8C
- .4byte _080C9CC8
- .4byte _080C9CE4
-_080C9C1C:
- bl sub_80CEAD0
- lsls r0, 24
- cmp r0, 0
- beq _080C9C40
- movs r0, 0x20
- bl PlaySE
- movs r0, 0xF
- bl sub_80CAC58
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1]
- b _080C9D08
- .pool
-_080C9C40:
- bl sub_80D127C
- lsls r0, 24
- cmp r0, 0
- beq _080C9C58
- ldr r0, =sub_80C954C
- bl add_to_c3_somehow
- b _080C9D08
- .pool
-_080C9C58:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl sub_80CAC58
- movs r0, 0
- bl sub_80CAD9C
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x2
- strb r0, [r1]
- b _080C9D08
- .pool
-_080C9C78:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C9D08
- b _080C9CAA
- .pool
-_080C9C8C:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080C9CBC
- cmp r1, 0
- bgt _080C9CA6
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080C9CAA
- b _080C9D08
-_080C9CA6:
- cmp r1, 0x1
- bne _080C9D08
-_080C9CAA:
- bl sub_80CADC4
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C9D08
- .pool
-_080C9CBC:
- movs r0, 0x3
- bl PlaySE
- bl sub_80CADC4
- b _080C9CD2
-_080C9CC8:
- movs r0, 0x14
- movs r1, 0
- movs r2, 0x1
- bl sub_80F9BF4
-_080C9CD2:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9D08
- .pool
-_080C9CE4:
- bl sub_80F9C30
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080C9D08
- bl sub_80CABE0
- bl CalculatePlayerPartyCount
- ldr r1, =gPlayerPartyCount
- strb r0, [r1]
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- strb r4, [r0, 0x2]
- ldr r0, =sub_80C9E50
- bl add_to_c3_somehow
-_080C9D08:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9BE8
-
- thumb_func_start sub_80C9D1C
-sub_80C9D1C: @ 80C9D1C
- push {r4,lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _080C9D2A
- b _080C9E3C
-_080C9D2A:
- lsls r0, 2
- ldr r1, =_080C9D3C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C9D3C:
- .4byte _080C9D50
- .4byte _080C9DAC
- .4byte _080C9DC0
- .4byte _080C9DFC
- .4byte _080C9E18
-_080C9D50:
- bl sub_80CEAD0
- lsls r0, 24
- cmp r0, 0
- beq _080C9D74
- movs r0, 0x20
- bl PlaySE
- movs r0, 0xF
- bl sub_80CAC58
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1]
- b _080C9E3C
- .pool
-_080C9D74:
- bl sub_80D127C
- lsls r0, 24
- cmp r0, 0
- beq _080C9D8C
- ldr r0, =sub_80C954C
- bl add_to_c3_somehow
- b _080C9E3C
- .pool
-_080C9D8C:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x12
- bl sub_80CAC58
- movs r0, 0
- bl sub_80CAD9C
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x2
- strb r0, [r1]
- b _080C9E3C
- .pool
-_080C9DAC:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C9E3C
- b _080C9DE0
- .pool
-_080C9DC0:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080C9DE0
- cmp r1, 0
- bgt _080C9DDA
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080C9DF0
- b _080C9E3C
-_080C9DDA:
- cmp r1, 0x1
- beq _080C9DF0
- b _080C9E3C
-_080C9DE0:
- bl sub_80CADC4
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C9E3C
- .pool
-_080C9DF0:
- movs r0, 0x3
- bl PlaySE
- bl sub_80CADC4
- b _080C9E06
-_080C9DFC:
- movs r0, 0x14
- movs r1, 0
- movs r2, 0
- bl sub_80F9BF4
-_080C9E06:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9E3C
- .pool
-_080C9E18:
- bl sub_80F9C30
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080C9E3C
- bl sub_80CABE0
- bl CalculatePlayerPartyCount
- ldr r1, =gPlayerPartyCount
- strb r0, [r1]
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- strb r4, [r0, 0x2]
- ldr r0, =sub_80C9E50
- bl add_to_c3_somehow
-_080C9E3C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9D1C
-
- thumb_func_start sub_80C9E50
-sub_80C9E50: @ 80C9E50
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r4, [r0, 0x2]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080C9E88
- bl sub_80D127C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C9E88
- bl sub_80D12D4
- ldr r1, =gUnknown_02039D12
- b _080C9E8C
- .pool
-_080C9E88:
- ldr r1, =gUnknown_02039D12
- movs r0, 0
-_080C9E8C:
- strh r0, [r1]
- cmp r4, 0x1
- beq _080C9EB4
- cmp r4, 0x1
- ble _080C9E9E
- cmp r4, 0x2
- beq _080C9F1C
- cmp r4, 0x3
- beq _080C9F48
-_080C9E9E:
- bl sub_80C9FC8
- ldr r0, =sub_80C7678
- bl SetMainCallback2
- b _080C9F56
- .pool
-_080C9EB4:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x0000218c
- adds r0, r1, r2
- ldr r4, [r0]
- subs r2, 0x5
- adds r0, r1, r2
- ldrb r7, [r0]
- subs r2, 0x1
- adds r0, r1, r2
- ldrb r6, [r0]
- ldr r0, =0x00002188
- adds r1, r0
- ldrb r5, [r1]
- bl sub_80C9FC8
- cmp r5, 0
- bne _080C9F04
- ldr r0, =gUnknown_02039D14
- cmp r4, r0
- bne _080C9F04
- ldr r0, =c2_808CE60
- str r0, [sp]
- movs r0, 0
- adds r1, r4, 0
- adds r2, r7, 0
- adds r3, r6, 0
- bl ShowPokemonSummaryScreenSet40EF
- b _080C9F56
- .pool
-_080C9F04:
- ldr r0, =c2_808CE60
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r7, 0
- adds r3, r6, 0
- bl ShowPokemonSummaryScreen
- b _080C9F56
- .pool
-_080C9F1C:
- bl sub_80C9FC8
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- bl GetBoxNamePtr
- adds r1, r0, 0
- movs r0, 0
- str r0, [sp]
- ldr r0, =c2_808CE60
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DoNamingScreen
- b _080C9F56
- .pool
-_080C9F48:
- bl sub_80C9FC8
- ldr r2, =c2_808CE60
- movs r0, 0xB
- movs r1, 0
- bl GoToBagMenu
-_080C9F56:
- mov r0, r8
- bl DestroyTask
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9E50
-
- thumb_func_start sub_80C9F6C
-sub_80C9F6C: @ 80C9F6C
- push {lr}
- sub sp, 0x4
- ldr r0, =gSpecialVar_ItemId
- ldrh r1, [r0]
- mov r0, sp
- strh r1, [r0]
- cmp r1, 0
- beq _080C9FC0
- bl sub_80CFE08
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C9FAC
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- b _080C9FB6
- .pool
-_080C9FAC:
- adds r0, r1, 0
- movs r1, 0xC
- mov r2, sp
- bl SetBoxMonDataFromSelectedBox
-_080C9FB6:
- mov r0, sp
- ldrh r0, [r0]
- movs r1, 0x1
- bl RemoveBagItem
-_080C9FC0:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80C9F6C
-
- thumb_func_start sub_80C9FC8
-sub_80C9FC8: @ 80C9FC8
- push {r4,lr}
- bl sub_80D25F0
- bl sub_80D01B8
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
- bl FreeAllWindowBuffers
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9FC8
-
- thumb_func_start sub_80C9FEC
-sub_80C9FEC: @ 80C9FEC
- push {lr}
- sub sp, 0x4
- ldr r1, =0x00001f0f
- movs r0, 0xE
- bl SetGpuReg
- ldr r1, =gUnknown_085720DC
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
- ldr r0, =gUnknown_08572174
- ldr r1, =0x0600f800
- bl LZ77UnCompVram
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9FEC
-
- thumb_func_start sub_80CA028
-sub_80CA028: @ 80CA028
- push {lr}
- movs r0, 0x3
- movs r1, 0x80
- movs r2, 0x1
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0x80
- movs r2, 0x2
- bl ChangeBgY
- pop {r0}
- bx r0
- thumb_func_end sub_80CA028
-
- thumb_func_start sub_80CA044
-sub_80CA044: @ 80CA044
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_08572734
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r1, =gPSSMenu_Gfx
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
- ldr r0, =gUnknown_085722A0
- ldr r5, =gUnknown_02039D08
- ldr r1, [r5]
- ldr r4, =0x00005ac4
- adds r1, r4
- bl LZ77UnCompWram
- ldr r1, [r5]
- adds r1, r4
- movs r0, 0x1
- bl SetBgTilemapBuffer
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA044
-
- thumb_func_start sub_80CA0A4
-sub_80CA0A4: @ 80CA0A4
- push {lr}
- ldr r0, =gUnknown_08572714
- bl InitWindows
- lsls r0, 16
- cmp r0, 0
- beq _080CA0C0
- bl DeactivateAllTextPrinters
- movs r0, 0x1
- b _080CA0C2
- .pool
-_080CA0C0:
- movs r0, 0
-_080CA0C2:
- pop {r1}
- bx r1
- thumb_func_end sub_80CA0A4
-
- thumb_func_start sub_80CA0C8
-sub_80CA0C8: @ 80CA0C8
- push {lr}
- ldr r0, =gWaveformSpritePalette
- bl LoadSpritePalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA0C8
-
- thumb_func_start sub_80CA0D8
-sub_80CA0D8: @ 80CA0D8
- push {lr}
- ldr r0, =gUnknown_085723DC
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_085723FC
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_085726F4
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- beq _080CA124
- ldr r0, =gUnknown_0857241C
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- b _080CA12E
- .pool
-_080CA124:
- ldr r0, =gUnknown_0857243C
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
-_080CA12E:
- ldr r1, =0x00001e05
- movs r0, 0xA
- bl SetGpuReg
- bl sub_80CA318
- bl sub_80CA154
- bl sub_80CA1C4
- bl sub_80CA230
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA0D8
-
- thumb_func_start sub_80CA154
-sub_80CA154: @ 80CA154
- push {r4,lr}
- ldr r1, =0x0000dac8
- movs r0, 0x10
- movs r2, 0
- bl sub_811FFB4
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldr r3, =0x00000d94
- adds r1, r3
- str r0, [r1]
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r0, [r4]
- adds r0, r3
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r3
- ldr r2, [r0]
- movs r1, 0x28
- strh r1, [r2, 0x20]
- ldr r1, [r0]
- movs r0, 0x96
- strh r0, [r1, 0x22]
- movs r0, 0x10
- bl GetSpriteTileStartByTag
- ldr r1, [r4]
- movs r2, 0xDA
- lsls r2, 4
- adds r1, r2
- lsls r0, 16
- lsrs r0, 11
- ldr r2, =0x06010000
- adds r0, r2
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA154
-
- thumb_func_start sub_80CA1C4
-sub_80CA1C4: @ 80CA1C4
- push {r4,lr}
- sub sp, 0x8
- ldr r0, =gWaveformSpriteSheet
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- movs r4, 0
-_080CA1DA:
- lsls r1, r4, 6
- subs r1, r4
- adds r1, 0x8
- lsls r1, 16
- asrs r1, 16
- ldr r0, =gUnknown_085728BC
- movs r2, 0x9
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02039D08
- ldr r2, [r1]
- lsls r1, r4, 2
- ldr r3, =0x00000d98
- adds r2, r3
- adds r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r2]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080CA1DA
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA1C4
-
- thumb_func_start sub_80CA230
-sub_80CA230: @ 80CA230
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x00000ce4
- adds r0, r1, r2
- ldrh r0, [r0]
- subs r2, 0x4
- adds r1, r2
- ldr r1, [r1]
- bl sub_80CA44C
- bl sub_80CA4FC
- bl sub_80CA65C
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA230
-
- thumb_func_start BoxSetMosaic
-BoxSetMosaic: @ 80CA260
- push {lr}
- bl sub_80CA230
- ldr r3, =gUnknown_02039D08
- ldr r0, [r3]
- movs r1, 0x89
- lsls r1, 6
- adds r0, r1
- ldr r2, [r0]
- cmp r2, 0
- beq _080CA2AC
- ldrb r0, [r2, 0x1]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldr r1, [r3]
- movs r0, 0x89
- lsls r0, 6
- adds r1, r0
- ldr r2, [r1]
- movs r0, 0xA
- strh r0, [r2, 0x2E]
- ldr r2, [r1]
- movs r0, 0x1
- strh r0, [r2, 0x30]
- ldr r2, [r1]
- ldr r0, =BoxSetMosaic2
- str r0, [r2, 0x1C]
- ldr r0, [r1]
- ldrh r0, [r0, 0x2E]
- lsls r1, r0, 12
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x4C
- bl SetGpuReg
-_080CA2AC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end BoxSetMosaic
-
- thumb_func_start sub_80CA2B8
-sub_80CA2B8: @ 80CA2B8
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- movs r1, 0x89
- lsls r1, 6
- adds r0, r1
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- lsls r0, 27
- lsrs r0, 31
- bx lr
- .pool
- thumb_func_end sub_80CA2B8
-
- thumb_func_start BoxSetMosaic2
-BoxSetMosaic2: @ 80CA2D0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x30]
- subs r0, r1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bge _080CA2E6
- movs r0, 0
- strh r0, [r4, 0x2E]
-_080CA2E6:
- ldrh r0, [r4, 0x2E]
- lsls r1, r0, 12
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x4C
- bl SetGpuReg
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080CA30E
- ldrb r0, [r4, 0x1]
- movs r1, 0x11
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x1]
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_080CA30E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end BoxSetMosaic2
-
- thumb_func_start sub_80CA318
-sub_80CA318: @ 80CA318
- push {r4-r7,lr}
- sub sp, 0x28
- ldr r0, =gUnknown_02039D08
- mov r12, r0
- ldr r1, [r0]
- ldr r4, =0x000022c4
- adds r0, r1, r4
- str r0, [sp, 0x18]
- add r3, sp, 0x18
- movs r0, 0x82
- lsls r0, 10
- str r0, [r3, 0x4]
- ldr r5, =0x00002244
- adds r1, r5
- str r1, [sp, 0x20]
- ldr r0, =0x0000dac6
- add r2, sp, 0x20
- str r0, [r2, 0x4]
- mov r1, sp
- ldr r0, =gUnknown_08572754
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- movs r6, 0
- adds r7, r2, 0
- mov r5, r12
- movs r2, 0
- ldr r1, =0x000007ff
-_080CA352:
- ldr r0, [r5]
- adds r0, r4
- adds r0, r6
- strb r2, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, r1
- bls _080CA352
- movs r6, 0
- ldr r5, =gUnknown_02039D08
- ldr r4, =0x00002244
- movs r2, 0
-_080CA36C:
- ldr r0, [r5]
- lsls r1, r6, 1
- adds r0, r4
- adds r0, r1
- strh r2, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0xF
- bls _080CA36C
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- movs r6, 0x89
- lsls r6, 6
- adds r0, r6
- movs r1, 0
- str r1, [r0]
- adds r0, r3, 0
- bl LoadSpriteSheet
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _080CA420
- adds r0, r7, 0
- bl LoadSpritePalette
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xFF
- beq _080CA420
- b _080CA40C
- .pool
-_080CA3C4:
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- movs r7, 0x89
- lsls r7, 6
- adds r3, r2, r7
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r3]
- lsls r0, r4, 4
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- ldr r3, =0x0000223a
- adds r1, r2, r3
- strh r0, [r1]
- ldr r6, =0x0000223c
- adds r2, r6
- lsls r0, r5, 5
- ldr r7, =0x06010000
- adds r0, r7
- str r0, [r2]
- b _080CA420
- .pool
-_080CA40C:
- mov r0, sp
- movs r1, 0x28
- movs r2, 0x30
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- bne _080CA3C4
-_080CA420:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- movs r1, 0x89
- lsls r1, 6
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _080CA43C
- movs r0, 0x2
- bl FreeSpriteTilesByTag
- ldr r0, =0x0000dac6
- bl FreeSpritePaletteByTag
-_080CA43C:
- add sp, 0x28
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA318
-
- thumb_func_start sub_80CA44C
-sub_80CA44C: @ 80CA44C
- push {r4-r7,lr}
- sub sp, 0x4
- adds r3, r1, 0
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r6, =gUnknown_02039D08
- ldr r2, [r6]
- movs r7, 0x89
- lsls r7, 6
- adds r0, r2, r7
- ldr r0, [r0]
- cmp r0, 0
- beq _080CA4F2
- cmp r4, 0
- beq _080CA4E8
- lsls r0, r4, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- ldr r5, =0x000022c4
- adds r1, r2, r5
- movs r2, 0x1
- str r2, [sp]
- adds r2, r4, 0
- bl LoadSpecialPokePic
- ldr r1, [r6]
- ldr r2, =0x00000cdc
- adds r0, r1, r2
- ldr r0, [r0]
- ldr r4, =0x00002244
- adds r1, r4
- bl LZ77UnCompWram
- ldr r0, [r6]
- adds r5, r0, r5
- ldr r1, =0x0000223c
- adds r0, r1
- ldr r1, [r0]
- ldr r2, =0x04000200
- adds r0, r5, 0
- bl CpuSet
- ldr r0, [r6]
- adds r4, r0, r4
- ldr r2, =0x0000223a
- adds r0, r2
- ldrh r1, [r0]
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, [r6]
- adds r0, r7
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- b _080CA4F2
- .pool
-_080CA4E8:
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080CA4F2:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80CA44C
-
- thumb_func_start sub_80CA4FC
-sub_80CA4FC: @ 80CA4FC
- push {r4-r6,lr}
- sub sp, 0xC
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r6, =gUnknown_02039D08
- ldr r2, [r6]
- ldrb r0, [r2, 0x1]
- cmp r0, 0x3
- beq _080CA588
- ldr r0, =0x00000cf9
- adds r2, r0
- movs r4, 0
- str r4, [sp]
- movs r5, 0xFF
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0x6
- bl AddTextPrinterParameterized
- ldr r2, [r6]
- ldr r1, =0x00000d1d
- adds r2, r1
- movs r0, 0xF
- str r0, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0x2
- movs r3, 0x6
- bl AddTextPrinterParameterized
- ldr r2, [r6]
- ldr r0, =0x00000d41
- adds r2, r0
- movs r0, 0x1D
- str r0, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0x2
- movs r3, 0xA
- bl AddTextPrinterParameterized
- ldr r2, [r6]
- ldr r1, =0x00000d65
- adds r2, r1
- movs r0, 0x2B
- str r0, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r3, 0x6
- bl AddTextPrinterParameterized
- b _080CA5E8
- .pool
-_080CA588:
- ldr r0, =0x00000d65
- adds r2, r0
- movs r4, 0
- str r4, [sp]
- movs r5, 0xFF
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r3, 0x6
- bl AddTextPrinterParameterized
- ldr r2, [r6]
- ldr r1, =0x00000cf9
- adds r2, r1
- movs r0, 0xD
- str r0, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0x6
- bl AddTextPrinterParameterized
- ldr r2, [r6]
- ldr r0, =0x00000d1d
- adds r2, r0
- movs r0, 0x1C
- str r0, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0x2
- movs r3, 0x6
- bl AddTextPrinterParameterized
- ldr r2, [r6]
- ldr r1, =0x00000d41
- adds r2, r1
- movs r0, 0x2A
- str r0, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0x2
- movs r3, 0xA
- bl AddTextPrinterParameterized
-_080CA5E8:
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldr r2, =0x00000ce4
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0
- beq _080CA640
- adds r2, 0x7
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0xB5
- adds r1, r2
- ldr r1, [r1]
- bl sub_8120084
- ldr r0, [r4]
- ldr r1, =0x00000d94
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- b _080CA64E
- .pool
-_080CA640:
- ldr r2, =0x00000d94
- adds r0, r1, r2
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
-_080CA64E:
- strb r0, [r1]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA4FC
-
- thumb_func_start sub_80CA65C
-sub_80CA65C: @ 80CA65C
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000ce4
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _080CA6B4
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x8
- bl sub_80D27AC
- movs r4, 0
-_080CA680:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, =0x00000d98
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnimIfDifferent
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080CA680
- b _080CA6E6
- .pool
-_080CA6B4:
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x8
- bl sub_80D27AC
- movs r4, 0
-_080CA6C6:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, =0x00000d98
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- lsls r1, r4, 25
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080CA6C6
-_080CA6E6:
- movs r0, 0
- bl sub_80D2918
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA65C
-
- thumb_func_start sub_80CA704
-sub_80CA704: @ 80CA704
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gUnknown_08DD36C8
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- adds r1, 0xB0
- bl LZ77UnCompWram
- ldr r0, =gPSSMenu_Pal
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r2, [r4]
- adds r2, 0xB0
- movs r0, 0x16
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0xC
- bl sub_80D2644
- ldr r2, =gUnknown_0857245C
- movs r0, 0x4
- str r0, [sp]
- movs r0, 0x2
- movs r1, 0x1
- movs r3, 0x9
- bl sub_80D2644
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0
- bl sub_80D2770
- movs r0, 0x2
- movs r1, 0x15
- movs r2, 0
- bl sub_80D2770
- bl sub_80CAA74
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CA790
- movs r0, 0x1
- bl sub_80CA984
- movs r0, 0x1
- bl sub_80CB7E8
- movs r0, 0x2
- bl sub_80D2918
- movs r0, 0x1
- bl sub_80D2918
- b _080CA7B2
- .pool
-_080CA790:
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x14
- movs r3, 0xC
- bl sub_80D27AC
- movs r0, 0x1
- bl sub_80CA984
- movs r0, 0x1
- bl sub_80D2918
- movs r0, 0x2
- bl sub_80D2918
-_080CA7B2:
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x000002c7
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA704
-
- thumb_func_start sub_80CA7D4
-sub_80CA7D4: @ 80CA7D4
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0xB0
- lsls r0, 2
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0x14
- strh r0, [r2]
- ldr r0, =0x000002c2
- adds r2, r1, r0
- movs r0, 0x2
- strh r0, [r2]
- ldr r0, =0x000002c5
- adds r1, r0
- strb r3, [r1]
- movs r0, 0
- bl sub_80CB7E8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA7D4
-
- thumb_func_start sub_80CA80C
-sub_80CA80C: @ 80CA80C
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r2, [r4]
- ldr r1, =0x000002c5
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x14
- beq _080CA87A
- movs r0, 0xB0
- lsls r0, 2
- adds r1, r2, r0
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldr r0, =0x000002c2
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- bl sub_80D27F4
- movs r0, 0x1
- bl sub_80D2918
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x8
- bl sub_80CBAF0
- ldr r1, [r4]
- ldr r0, =0x000002c5
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x14
- beq _080CA874
- movs r0, 0x1
- b _080CA87C
- .pool
-_080CA874:
- ldr r1, =gUnknown_02039D0C
- movs r0, 0x1
- strb r0, [r1]
-_080CA87A:
- movs r0, 0
-_080CA87C:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CA80C
-
- thumb_func_start sub_80CA888
-sub_80CA888: @ 80CA888
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- movs r0, 0xB0
- lsls r0, 2
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0
- strh r0, [r2]
- ldr r0, =0x000002c2
- adds r2, r1, r0
- movs r0, 0x16
- strh r0, [r2]
- ldr r0, =0x000002c5
- adds r1, r0
- strb r3, [r1]
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080CA8B4
- bl sub_80D11CC
-_080CA8B4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA888
-
- thumb_func_start sub_80CA8C8
-sub_80CA8C8: @ 80CA8C8
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r5, =gUnknown_02039D08
- ldr r2, [r5]
- ldr r1, =0x000002c5
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x14
- beq _080CA974
- movs r0, 0xB0
- lsls r0, 2
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldr r4, =0x000002c2
- adds r1, r2, r4
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x1
- movs r1, 0x3
- bl sub_80D27F4
- movs r0, 0x1
- bl sub_80D2918
- movs r1, 0x80
- lsls r1, 1
- ldr r0, [r5]
- adds r0, r4
- ldrb r3, [r0]
- movs r0, 0xC
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r2, 0xA
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0x8
- negs r0, r0
- bl sub_80CBAF0
- ldr r1, [r5]
- ldr r0, =0x000002c5
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x14
- beq _080CA94C
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x1
- b _080CA976
- .pool
-_080CA94C:
- ldr r0, =gUnknown_02039D0C
- movs r1, 0
- strb r1, [r0]
- bl sub_80CBB9C
- bl CompactPartySlots
- movs r0, 0x2
- str r0, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x9
- bl sub_80D27AC
- movs r0, 0x2
- bl sub_80D2918
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
-_080CA974:
- movs r0, 0
-_080CA976:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CA8C8
-
- thumb_func_start sub_80CA984
-sub_80CA984: @ 80CA984
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- cmp r0, 0
- beq _080CA99E
- movs r0, 0x2
- str r0, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x9
- bl sub_80D27AC
- b _080CA9AC
-_080CA99E:
- movs r0, 0x2
- str r0, [sp]
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x9
- bl sub_80D27AC
-_080CA9AC:
- movs r0, 0x2
- bl sub_80D2918
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80CA984
-
- thumb_func_start sub_80CA9C0
-sub_80CA9C0: @ 80CA9C0
- ldr r2, =gUnknown_02039D08
- ldr r0, [r2]
- ldr r1, =0x000002c7
- adds r0, r1
- movs r3, 0x1
- strb r3, [r0]
- ldr r0, [r2]
- adds r1, 0x1
- adds r0, r1
- movs r1, 0x1E
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, =0x000002c9
- adds r0, r1
- strb r3, [r0]
- bx lr
- .pool
- thumb_func_end sub_80CA9C0
-
- thumb_func_start sub_80CA9EC
-sub_80CA9EC: @ 80CA9EC
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r2, =0x000002c7
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _080CAA06
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- bl sub_80CA984
-_080CAA06:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA9EC
-
- thumb_func_start sub_80CAA14
-sub_80CAA14: @ 80CAA14
- push {r4,lr}
- ldr r3, =gUnknown_02039D08
- ldr r1, [r3]
- ldr r2, =0x000002c7
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CAA60
- movs r0, 0xB2
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1E
- bls _080CAA60
- ldr r0, [r3]
- movs r1, 0xB2
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r3]
- movs r2, 0
- ldr r4, =0x000002c9
- adds r1, r0, r4
- ldrb r0, [r1]
- cmp r0, 0
- bne _080CAA54
- movs r2, 0x1
-_080CAA54:
- strb r2, [r1]
- ldr r0, [r3]
- adds r0, r4
- ldrb r0, [r0]
- bl sub_80CA984
-_080CAA60:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CAA14
-
- thumb_func_start sub_80CAA74
-sub_80CAA74: @ 80CAA74
- push {r4,lr}
- movs r4, 0x1
-_080CAA78:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- adds r0, r4, 0
- bl sub_80CAAA8
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _080CAA78
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CAA74
-
- thumb_func_start sub_80CAAA8
-sub_80CAAA8: @ 80CAAA8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r7, =gUnknown_085724BC
- cmp r1, 0
- beq _080CAAB8
- ldr r7, =gUnknown_085724A4
-_080CAAB8:
- subs r0, 0x1
- lsls r1, r0, 1
- adds r1, r0
- adds r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 18
- movs r1, 0xE0
- lsls r1, 11
- adds r0, r1
- lsrs r3, r0, 16
- movs r0, 0
- ldr r1, =gUnknown_02039D08
- mov r12, r1
-_080CAAD4:
- movs r2, 0
- adds r4, r7, 0
- adds r4, 0x8
- adds r5, r3, 0
- adds r5, 0xC
- adds r6, r0, 0x1
-_080CAAE0:
- mov r0, r12
- ldr r1, [r0]
- adds r0, r3, r2
- lsls r0, 1
- adds r1, 0xB0
- adds r1, r0
- lsls r0, r2, 1
- adds r0, r7
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x3
- bls _080CAAE0
- adds r7, r4, 0
- lsls r0, r5, 16
- lsrs r3, r0, 16
- lsls r0, r6, 16
- lsrs r0, 16
- cmp r0, 0x2
- bls _080CAAD4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CAAA8
-
- thumb_func_start sub_80CAB20
-sub_80CAB20: @ 80CAB20
- push {lr}
- sub sp, 0x4
- bl sub_80CAA74
- movs r0, 0x16
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0xC
- bl sub_80D27AC
- movs r0, 0x1
- bl sub_80D2918
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80CAB20
-
- thumb_func_start sub_80CAB4C
-sub_80CAB4C: @ 80CAB4C
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x000002c6
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x6
- bl PlaySE
- bl sub_80CA7D4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CAB4C
-
- thumb_func_start sub_80CAB70
-sub_80CAB70: @ 80CAB70
- push {r4,r5,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r5, =0x000002c6
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080CABAA
- cmp r0, 0x1
- bgt _080CAB94
- cmp r0, 0
- beq _080CAB9A
- b _080CABD8
- .pool
-_080CAB94:
- cmp r0, 0x2
- beq _080CABD4
- b _080CABD8
-_080CAB9A:
- bl sub_80CA80C
- lsls r0, 24
- cmp r0, 0
- bne _080CABD8
- bl sub_80CDBA0
- b _080CABC4
-_080CABAA:
- bl sub_80CD554
- lsls r0, 24
- cmp r0, 0
- bne _080CABD8
- ldr r0, [r4]
- ldr r1, =0x00000cea
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CABC4
- bl BoxSetMosaic
-_080CABC4:
- ldr r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080CABD8
- .pool
-_080CABD4:
- movs r0, 0
- b _080CABDA
-_080CABD8:
- movs r0, 0x1
-_080CABDA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80CAB70
-
- thumb_func_start sub_80CABE0
-sub_80CABE0: @ 80CABE0
- push {r4,lr}
- ldr r4, =gUnknown_02039D10
- bl StorageGetCurrentBox
- ldrb r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- beq _080CAC0A
- ldr r0, =0x000008d7
- bl FlagClear
- ldr r4, =0x00004036
- bl StorageGetCurrentBox
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl VarSet
-_080CAC0A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CABE0
-
- thumb_func_start sub_80CAC1C
-sub_80CAC1C: @ 80CAC1C
- push {lr}
- sub sp, 0xC
- movs r1, 0xE8
- lsls r1, 5
- movs r0, 0x8
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_80CAC1C
-
- thumb_func_start sub_80CAC58
-sub_80CAC58: @ 80CAC58
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- bl DynamicPlaceholderTextUtil_Reset
- ldr r1, =gUnknown_0857276C
- lsls r0, r6, 3
- adds r0, r1
- ldrb r0, [r0, 0x4]
- cmp r0, 0x7
- bhi _080CAD30
- lsls r0, 2
- ldr r1, =_080CAC84
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080CAC84:
- .4byte _080CAD30
- .4byte _080CACA4
- .4byte _080CACA4
- .4byte _080CACA4
- .4byte _080CACB8
- .4byte _080CACB8
- .4byte _080CACB8
- .4byte _080CACD0
-_080CACA4:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r0, =0x00000cee
- adds r1, r0
- b _080CACC0
- .pool
-_080CACB8:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x000021e0
- adds r1, r2
-_080CACC0:
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- b _080CAD30
- .pool
-_080CACD0:
- bl sub_80D127C
- lsls r0, 24
- cmp r0, 0
- beq _080CACF4
- ldr r0, =gUnknown_02039D08
- ldr r4, [r0]
- ldr r0, =0x000021eb
- adds r4, r0
- bl sub_80D12B8
- adds r1, r0, 0
- adds r0, r4, 0
- b _080CAD00
- .pool
-_080CACF4:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x000021eb
- adds r0, r1, r2
- ldr r2, =0x00000d65
- adds r1, r2
-_080CAD00:
- bl StringCopy
- adds r2, r0, 0
- b _080CAD16
- .pool
-_080CAD14:
- adds r2, r1, 0
-_080CAD16:
- subs r1, r2, 0x1
- ldrb r0, [r1]
- cmp r0, 0
- beq _080CAD14
- movs r0, 0xFF
- strb r0, [r2]
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r0, =0x000021eb
- adds r1, r0
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
-_080CAD30:
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldr r4, =0x00002190
- adds r0, r4
- ldr r2, =gUnknown_0857276C
- lsls r1, r6, 3
- adds r1, r2
- ldr r1, [r1]
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- movs r0, 0x1
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, [r5]
- adds r2, r4
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CAC58
-
- thumb_func_start sub_80CAD9C
-sub_80CAD9C: @ 80CAD9C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_08572864
- movs r1, 0xB
- movs r2, 0xE
- movs r3, 0
- bl CreateYesNoMenu
- lsls r4, 24
- asrs r4, 24
- adds r0, r4, 0
- bl MoveMenuCursorNoWrapAround
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CAD9C
-
- thumb_func_start sub_80CADC4
-sub_80CADC4: @ 80CADC4
- push {lr}
- movs r0, 0x1
- movs r1, 0
- bl sub_8198070
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- pop {r0}
- bx r0
- thumb_func_end sub_80CADC4
-
- thumb_func_start sub_80CADD8
-sub_80CADD8: @ 80CADD8
- push {lr}
- bl sub_80CFEF0
- movs r0, 0x12
- bl sub_80CFF34
- movs r0, 0x13
- bl sub_80CFF34
- movs r0, 0x14
- bl sub_80CFF34
- movs r0, 0x15
- bl sub_80CFF34
- bl IsWaldaWallpaperUnlocked
- cmp r0, 0
- beq _080CAE04
- movs r0, 0x16
- bl sub_80CFF34
-_080CAE04:
- bl sub_80CFFD0
- pop {r0}
- bx r0
- thumb_func_end sub_80CADD8
-
- thumb_func_start sub_80CAE0C
-sub_80CAE0C: @ 80CAE0C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_80CFEF0
- cmp r4, 0x1
- beq _080CAE4A
- cmp r4, 0x1
- bgt _080CAE26
- cmp r4, 0
- beq _080CAE30
- b _080CAE96
-_080CAE26:
- cmp r5, 0x2
- beq _080CAE64
- cmp r5, 0x3
- beq _080CAE7E
- b _080CAE96
-_080CAE30:
- movs r0, 0x17
- bl sub_80CFF34
- movs r0, 0x18
- bl sub_80CFF34
- movs r0, 0x19
- bl sub_80CFF34
- movs r0, 0x1A
- bl sub_80CFF34
- b _080CAE96
-_080CAE4A:
- movs r0, 0x1B
- bl sub_80CFF34
- movs r0, 0x1C
- bl sub_80CFF34
- movs r0, 0x1D
- bl sub_80CFF34
- movs r0, 0x1E
- bl sub_80CFF34
- b _080CAE96
-_080CAE64:
- movs r0, 0x1F
- bl sub_80CFF34
- movs r0, 0x20
- bl sub_80CFF34
- movs r0, 0x21
- bl sub_80CFF34
- movs r0, 0x22
- bl sub_80CFF34
- b _080CAE96
-_080CAE7E:
- movs r0, 0x23
- bl sub_80CFF34
- movs r0, 0x24
- bl sub_80CFF34
- movs r0, 0x25
- bl sub_80CFF34
- movs r0, 0x26
- bl sub_80CFF34
-_080CAE96:
- bl sub_80CFFD0
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80CAE0C
-
- thumb_func_start sub_80CAEA0
-sub_80CAEA0: @ 80CAEA0
- ldr r0, =gUnknown_02039D0D
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80CAEA0
-
- thumb_func_start sub_80CAEAC
-sub_80CAEAC: @ 80CAEAC
- push {lr}
- bl sub_80CEADC
- lsls r0, 24
- cmp r0, 0
- bne _080CAEE8
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CAED8
- bl sub_80CFE08
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- bl sub_80D0D8C
- b _080CAEE8
- .pool
-_080CAED8:
- bl sub_80CFE08
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_80D0D8C
-_080CAEE8:
- ldr r1, =gUnknown_02039D12
- ldrh r0, [r1]
- cmp r0, 0
- beq _080CAEFA
- bl sub_80D0F38
- movs r0, 0x3
- bl sub_80CFE54
-_080CAEFA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CAEAC
-
- thumb_func_start sub_80CAF04
-sub_80CAF04: @ 80CAF04
- push {r4-r6,lr}
- bl LoadMonIconPalettes
- movs r2, 0
- ldr r3, =gUnknown_02039D08
- ldr r5, =0x00000b08
- movs r4, 0
- adds r6, r3, 0
-_080CAF14:
- ldr r0, [r3]
- lsls r1, r2, 1
- adds r0, r5
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x27
- bls _080CAF14
- movs r2, 0
- ldr r5, =gUnknown_02039D08
- ldr r4, =0x00000b58
- movs r3, 0
-_080CAF30:
- ldr r0, [r5]
- lsls r1, r2, 1
- adds r0, r4
- adds r0, r1
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x27
- bls _080CAF30
- movs r2, 0
- ldr r5, =gUnknown_02039D08
- movs r4, 0xA7
- lsls r4, 4
- movs r3, 0
-_080CAF4E:
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r0, r4
- adds r0, r1
- str r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _080CAF4E
- movs r2, 0
- ldr r5, =gUnknown_02039D08
- ldr r4, =0x00000a88
- movs r3, 0
-_080CAF6A:
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r0, r4
- adds r0, r1
- str r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1D
- bls _080CAF6A
- ldr r0, [r6]
- ldr r2, =0x00000a6c
- adds r1, r0, r2
- movs r2, 0
- str r2, [r1]
- ldr r1, =0x0000078c
- adds r0, r1
- strh r2, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CAF04
-
- thumb_func_start sub_80CAFAC
-sub_80CAFAC: @ 80CAFAC
- push {lr}
- bl sub_80CEB24
- lsls r0, 24
- movs r1, 0x1
- cmp r0, 0
- beq _080CAFBC
- movs r1, 0x2
-_080CAFBC:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80CAFAC
-
- thumb_func_start sub_80CAFC4
-sub_80CAFC4: @ 80CAFC4
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldr r4, =0x000020a4
- adds r0, r4
- movs r1, 0
- bl GetMonData
- adds r6, r0, 0
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0x41
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sub_80CAFAC
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0x7
- str r0, [sp, 0x4]
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl sub_80CC230
- ldr r1, [r5]
- ldr r2, =0x00000a6c
- adds r1, r2
- str r0, [r1]
- ldr r1, =sub_80CC100
- str r1, [r0, 0x1C]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CAFC4
-
- thumb_func_start sub_80CB028
-sub_80CB028: @ 80CB028
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r0, 0
- mov r8, r0
- movs r6, 0
- movs r7, 0
-_080CB042:
- movs r5, 0
- adds r1, r7, 0x1
- mov r10, r1
-_080CB048:
- mov r0, r9
- adds r1, r6, 0
- movs r2, 0x41
- bl GetBoxMonDataFromAnyBox
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080CB0B0
- mov r0, r9
- adds r1, r6, 0
- movs r2, 0
- bl GetBoxMonDataFromAnyBox
- adds r1, r0, 0
- lsls r2, r5, 1
- adds r2, r5
- lsls r2, 19
- movs r3, 0xC8
- lsls r3, 15
- adds r2, r3
- asrs r2, 16
- lsls r3, r7, 1
- adds r3, r7
- lsls r3, 19
- movs r0, 0xB0
- lsls r0, 14
- adds r3, r0
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x13
- subs r0, r5
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- adds r0, r4, 0
- asrs r3, 16
- bl sub_80CC230
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- mov r3, r8
- lsls r2, r3, 2
- ldr r3, =0x00000a88
- adds r1, r3
- adds r1, r2
- str r0, [r1]
- b _080CB0C0
- .pool
-_080CB0B0:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- mov r2, r8
- lsls r1, r2, 2
- ldr r3, =0x00000a88
- adds r0, r3
- adds r0, r1
- str r4, [r0]
-_080CB0C0:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _080CB048
- mov r1, r10
- lsls r0, r1, 16
- lsrs r7, r0, 16
- cmp r7, 0x4
- bls _080CB042
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080CB126
- movs r6, 0
- movs r2, 0xD
- negs r2, r2
- adds r4, r2, 0
-_080CB0F6:
- mov r0, r9
- adds r1, r6, 0
- movs r2, 0xC
- bl GetBoxMonDataFromAnyBox
- cmp r0, 0
- bne _080CB11C
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r3, =0x00000a88
- adds r0, r3
- adds r0, r1
- ldr r2, [r0]
- ldrb r0, [r2, 0x1]
- ands r0, r4
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x1]
-_080CB11C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x1D
- bls _080CB0F6
-_080CB126:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB028
-
- thumb_func_start sub_80CB140
-sub_80CB140: @ 80CB140
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r7, 0
- movs r1, 0x41
- bl GetBoxMonDataFromSelectedBox
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0
- beq _080CB1DA
- adds r0, r7, 0
- movs r1, 0x6
- bl __umodsi3
- adds r6, r0, 0
- lsls r0, r6, 24
- lsrs r0, 24
- lsls r5, r0, 1
- adds r5, r0
- lsls r5, 19
- movs r0, 0xC8
- lsls r0, 15
- adds r5, r0
- lsrs r5, 16
- adds r0, r7, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 19
- movs r0, 0xB0
- lsls r0, 14
- adds r4, r0
- lsrs r4, 16
- adds r0, r7, 0
- movs r1, 0
- bl GetBoxMonDataFromSelectedBox
- adds r1, r0, 0
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x13
- subs r0, r6
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- mov r0, r8
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_80CC230
- adds r3, r0, 0
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- lsls r1, r7, 2
- ldr r4, =0x00000a88
- adds r0, r2, r4
- adds r0, r1
- str r3, [r0]
- ldrb r0, [r2, 0x1]
- cmp r0, 0x3
- bne _080CB1DA
- ldrb r0, [r3, 0x1]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r3, 0x1]
-_080CB1DA:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB140
-
- thumb_func_start sub_80CB1F0
-sub_80CB1F0: @ 80CB1F0
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- ldr r7, =gUnknown_02039D08
- ldr r6, =0x00000a88
- movs r5, 0x1
- ldr r4, =sub_80CB278
-_080CB200:
- ldr r0, [r7]
- lsls r1, r2, 2
- adds r0, r6
- adds r1, r0, r1
- ldr r0, [r1]
- cmp r0, 0
- beq _080CB218
- strh r3, [r0, 0x32]
- ldr r0, [r1]
- strh r5, [r0, 0x36]
- ldr r0, [r1]
- str r4, [r0, 0x1C]
-_080CB218:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1D
- bls _080CB200
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB1F0
-
- thumb_func_start sub_80CB234
-sub_80CB234: @ 80CB234
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x30]
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _080CB250
- subs r0, r1, 0x1
- strh r0, [r2, 0x30]
- ldrh r0, [r2, 0x32]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- b _080CB266
-_080CB250:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r3, =0x00000c66
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldrh r0, [r2, 0x34]
- strh r0, [r2, 0x20]
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_080CB266:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB234
-
- thumb_func_start sub_80CB278
-sub_80CB278: @ 80CB278
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x36]
- movs r3, 0x36
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _080CB28C
- subs r0, r1, 0x1
- strh r0, [r2, 0x36]
- b _080CB2A8
-_080CB28C:
- ldrh r0, [r2, 0x32]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x38]
- subs r0, 0x45
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB6
- bls _080CB2A8
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_080CB2A8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB278
-
- thumb_func_start sub_80CB2B0
-sub_80CB2B0: @ 80CB2B0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- ldr r7, =gUnknown_02039D08
-_080CB2BA:
- ldr r0, [r7]
- lsls r4, r5, 2
- ldr r1, =0x00000a88
- adds r0, r1
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _080CB2DA
- bl sub_80CC314
- ldr r0, [r7]
- ldr r1, =0x00000a88
- adds r0, r1
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_080CB2DA:
- adds r0, r5, 0x6
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x4
- bls _080CB2BA
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB2B0
-
- thumb_func_start sub_80CB2F8
-sub_80CB2F8: @ 80CB2F8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x8]
- lsls r2, 16
- movs r1, 0x2C
- mov r8, r1
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 19
- movs r3, 0xC8
- lsls r3, 15
- adds r1, r3
- lsrs r1, 16
- str r1, [sp, 0x10]
- ldr r1, [sp, 0x8]
- adds r1, 0x1
- lsrs r6, r2, 16
- str r6, [sp, 0xC]
- asrs r2, 16
- muls r1, r2
- ldr r2, [sp, 0x10]
- subs r1, r2, r1
- lsls r1, 16
- lsrs r2, r1, 16
- movs r1, 0x13
- subs r1, r0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x14]
- movs r3, 0
- mov r9, r3
- adds r5, r0, 0
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- beq _080CB3F0
- movs r7, 0x4
- lsls r2, 16
- mov r10, r2
-_080CB358:
- ldr r6, =gUnknown_02039D08
- ldr r2, [r6]
- lsls r0, r5, 1
- ldr r3, =0x00000ba8
- adds r1, r2, r3
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _080CB3C2
- lsls r4, r5, 2
- ldr r6, =0x00000be4
- adds r1, r2, r6
- adds r1, r4
- ldr r1, [r1]
- mov r2, r8
- lsls r3, r2, 16
- asrs r3, 16
- movs r2, 0x2
- str r2, [sp]
- ldr r6, [sp, 0x14]
- str r6, [sp, 0x4]
- mov r6, r10
- asrs r2, r6, 16
- bl sub_80CC230
- adds r2, r0, 0
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- ldr r3, =0x00000a88
- adds r0, r3
- adds r1, r0, r4
- str r2, [r1]
- cmp r2, 0
- beq _080CB3C2
- mov r6, sp
- ldrh r6, [r6, 0x8]
- strh r6, [r2, 0x30]
- ldr r0, [r1]
- mov r2, sp
- ldrh r2, [r2, 0xC]
- strh r2, [r0, 0x32]
- ldr r0, [r1]
- mov r3, sp
- ldrh r3, [r3, 0x10]
- strh r3, [r0, 0x34]
- ldr r1, [r1]
- ldr r0, =sub_80CB234
- str r0, [r1, 0x1C]
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_080CB3C2:
- adds r0, r5, 0x6
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, r8
- adds r0, 0x18
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- subs r7, 0x1
- cmp r7, 0
- bge _080CB358
- b _080CB4A6
- .pool
-_080CB3F0:
- mov r10, r1
- movs r7, 0x4
- lsls r2, 16
- str r2, [sp, 0x18]
-_080CB3F8:
- mov r6, r10
- ldr r2, [r6]
- lsls r0, r5, 1
- ldr r3, =0x00000ba8
- adds r1, r2, r3
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _080CB490
- lsls r4, r5, 2
- ldr r6, =0x00000be4
- adds r1, r2, r6
- adds r1, r4
- ldr r1, [r1]
- mov r2, r8
- lsls r3, r2, 16
- asrs r3, 16
- movs r2, 0x2
- str r2, [sp]
- ldr r6, [sp, 0x14]
- str r6, [sp, 0x4]
- ldr r6, [sp, 0x18]
- asrs r2, r6, 16
- bl sub_80CC230
- adds r2, r0, 0
- mov r0, r10
- ldr r3, [r0]
- ldr r1, =0x00000a88
- adds r0, r3, r1
- adds r1, r0, r4
- str r2, [r1]
- cmp r2, 0
- beq _080CB490
- mov r6, sp
- ldrh r6, [r6, 0x8]
- strh r6, [r2, 0x30]
- ldr r0, [r1]
- mov r2, sp
- ldrh r2, [r2, 0xC]
- strh r2, [r0, 0x32]
- ldr r0, [r1]
- mov r6, sp
- ldrh r6, [r6, 0x10]
- strh r6, [r0, 0x34]
- ldr r1, [r1]
- ldr r0, =sub_80CB234
- str r0, [r1, 0x1C]
- ldr r1, =0x00000c5c
- adds r0, r3, r1
- ldrb r0, [r0]
- adds r1, r5, 0
- movs r2, 0xC
- bl GetBoxMonDataFromAnyBox
- cmp r0, 0
- bne _080CB486
- mov r2, r10
- ldr r0, [r2]
- ldr r3, =0x00000a88
- adds r0, r3
- adds r0, r4
- ldr r2, [r0]
- ldrb r1, [r2, 0x1]
- movs r6, 0xD
- negs r6, r6
- adds r0, r6, 0
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r2, 0x1]
-_080CB486:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_080CB490:
- adds r0, r5, 0x6
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, r8
- adds r0, 0x18
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- subs r7, 0x1
- cmp r7, 0
- bge _080CB3F8
-_080CB4A6:
- mov r0, r9
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CB2F8
-
- thumb_func_start sub_80CB4CC
-sub_80CB4CC: @ 80CB4CC
- push {r4-r7,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r6, =gUnknown_02039D08
- ldr r1, [r6]
- ldr r2, =0x00000c6a
- adds r1, r2
- movs r5, 0
- strb r5, [r1]
- ldr r1, [r6]
- ldr r3, =0x00000c6b
- adds r1, r3
- strb r0, [r1]
- ldr r1, [r6]
- ldr r7, =0x00000c69
- adds r1, r7
- strb r4, [r1]
- ldr r3, [r6]
- movs r1, 0xC6
- lsls r1, 4
- adds r2, r3, r1
- movs r1, 0x20
- strh r1, [r2]
- lsls r4, 24
- asrs r4, 24
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 1
- negs r1, r1
- subs r7, 0x5
- adds r2, r3, r7
- strh r1, [r2]
- ldr r1, =0x00000c66
- adds r3, r1
- strh r5, [r3]
- bl sub_80CB6F0
- cmp r4, 0
- ble _080CB544
- ldr r0, [r6]
- ldr r2, =0x00000c68
- adds r0, r2
- movs r1, 0
- b _080CB54C
- .pool
-_080CB544:
- ldr r0, [r6]
- ldr r3, =0x00000c68
- adds r0, r3
- movs r1, 0x5
-_080CB54C:
- strb r1, [r0]
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- ldr r7, =0x00000c68
- adds r0, r2, r7
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x64
- ldr r3, =0x00000c62
- adds r1, r2, r3
- strh r0, [r1]
- subs r7, 0x4
- adds r2, r7
- movs r1, 0
- ldrsh r0, [r2, r1]
- bl sub_80CB1F0
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB4CC
-
- thumb_func_start sub_80CB584
-sub_80CB584: @ 80CB584
- push {r4-r6,lr}
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- movs r4, 0xC6
- lsls r4, 4
- adds r1, r0, r4
- ldrh r0, [r1]
- cmp r0, 0
- beq _080CB59A
- subs r0, 0x1
- strh r0, [r1]
-_080CB59A:
- ldr r3, [r5]
- ldr r6, =0x00000c6a
- adds r0, r3, r6
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080CB61C
- cmp r0, 0x1
- bgt _080CB5B8
- cmp r0, 0
- beq _080CB5C0
- b _080CB6DE
- .pool
-_080CB5B8:
- cmp r0, 0x2
- bne _080CB5BE
- b _080CB6CC
-_080CB5BE:
- b _080CB6DE
-_080CB5C0:
- ldr r0, =0x00000c62
- adds r1, r3, r0
- ldr r2, =0x00000c64
- adds r0, r3, r2
- ldrh r0, [r0]
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- subs r0, 0x41
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xBA
- bhi _080CB5DC
- b _080CB6E8
-_080CB5DC:
- ldr r1, =0x00000c68
- adds r0, r3, r1
- ldrb r0, [r0]
- bl sub_80CB2B0
- ldr r2, [r5]
- ldr r0, =0x00000c62
- adds r3, r2, r0
- ldr r1, =0x00000c69
- adds r0, r2, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- ldrh r1, [r3]
- adds r0, r1
- strh r0, [r3]
- adds r2, r6
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- b _080CB6E8
- .pool
-_080CB61C:
- ldr r2, =0x00000c62
- adds r1, r3, r2
- ldr r6, =0x00000c64
- adds r2, r3, r6
- ldrh r0, [r2]
- ldrh r6, [r1]
- adds r0, r6
- strh r0, [r1]
- ldr r6, =0x00000c68
- adds r0, r3, r6
- ldrb r0, [r0]
- adds r1, r3, r4
- ldrh r1, [r1]
- movs r3, 0
- ldrsh r2, [r2, r3]
- bl sub_80CB2F8
- ldr r2, [r5]
- ldr r3, =0x00000c66
- adds r1, r2, r3
- lsls r0, 24
- lsrs r0, 24
- ldrh r3, [r1]
- adds r0, r3
- strh r0, [r1]
- ldr r1, =0x00000c69
- adds r0, r2, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- cmp r1, 0
- ble _080CB662
- adds r0, r2, r6
- ldrb r0, [r0]
- cmp r0, 0x5
- beq _080CB66E
-_080CB662:
- cmp r1, 0
- bge _080CB69C
- adds r0, r2, r6
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CB69C
-_080CB66E:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x00000c6a
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080CB6E8
- .pool
-_080CB69C:
- ldr r3, =gUnknown_02039D08
- ldr r0, [r3]
- ldr r6, =0x00000c68
- adds r1, r0, r6
- ldr r2, =0x00000c69
- adds r0, r2
- ldrb r0, [r0]
- ldrb r6, [r1]
- adds r0, r6
- movs r2, 0
- strb r0, [r1]
- ldr r0, [r3]
- ldr r1, =0x00000c6a
- adds r0, r1
- strb r2, [r0]
- b _080CB6E8
- .pool
-_080CB6CC:
- ldr r2, =0x00000c66
- adds r0, r3, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _080CB6E8
- adds r1, r3, r4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080CB6DE:
- movs r0, 0
- b _080CB6EA
- .pool
-_080CB6E8:
- movs r0, 0x1
-_080CB6EA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80CB584
-
- thumb_func_start sub_80CB6F0
-sub_80CB6F0: @ 80CB6F0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r0, 0
- ldr r1, =gUnknown_02039D08
- mov r9, r1
-_080CB704:
- adds r0, 0x1
- mov r8, r0
- movs r7, 0x5
-_080CB70A:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x41
- bl GetBoxMonDataFromAnyBox
- mov r2, r9
- ldr r1, [r2]
- lsls r2, r5, 1
- ldr r3, =0x00000ba8
- adds r1, r3
- adds r1, r2
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _080CB744
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0
- bl GetBoxMonDataFromAnyBox
- mov r2, r9
- ldr r1, [r2]
- lsls r2, r5, 2
- ldr r3, =0x00000be4
- adds r1, r3
- adds r1, r2
- str r0, [r1]
-_080CB744:
- adds r5, 0x1
- subs r7, 0x1
- cmp r7, 0
- bge _080CB70A
- mov r0, r8
- cmp r0, 0x4
- ble _080CB704
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000c5c
- adds r0, r1
- strb r6, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB6F0
-
- thumb_func_start sub_80CB778
-sub_80CB778: @ 80CB778
- push {r4,r5,lr}
- lsls r0, 24
- ldr r5, =gUnknown_02039D08
- ldr r1, [r5]
- lsrs r4, r0, 22
- ldr r0, =0x00000a88
- adds r1, r0
- adds r1, r4
- ldr r0, [r1]
- cmp r0, 0
- beq _080CB79E
- bl sub_80CC314
- ldr r0, [r5]
- ldr r1, =0x00000a88
- adds r0, r1
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_080CB79E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB778
-
- thumb_func_start sub_80CB7AC
-sub_80CB7AC: @ 80CB7AC
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- lsrs r0, 22
- ldr r3, =0x00000a88
- adds r1, r3
- adds r1, r0
- ldr r3, [r1]
- cmp r3, 0
- beq _080CB7DA
- movs r0, 0x3
- adds r1, r2, 0
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x1]
-_080CB7DA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB7AC
-
- thumb_func_start sub_80CB7E8
-sub_80CB7E8: @ 80CB7E8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, =gPlayerParty
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r1, r0, 0
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xC
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0x68
- movs r3, 0x40
- bl sub_80CC230
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- movs r2, 0xA7
- lsls r2, 4
- adds r1, r2
- str r0, [r1]
- movs r7, 0x1
- movs r6, 0x1
-_080CB830:
- movs r0, 0x64
- adds r1, r6, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _080CB894
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r1, r0, 0
- subs r0, r6, 0x1
- lsls r3, r0, 1
- adds r3, r0
- lsls r3, 19
- movs r0, 0x80
- lsls r0, 13
- adds r3, r0
- asrs r3, 16
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xC
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0x98
- bl sub_80CC230
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- lsls r2, r6, 2
- movs r3, 0xA7
- lsls r3, 4
- adds r1, r3
- adds r1, r2
- str r0, [r1]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- b _080CB8A4
- .pool
-_080CB894:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r6, 2
- movs r2, 0xA7
- lsls r2, 4
- adds r0, r2
- adds r0, r1
- str r5, [r0]
-_080CB8A4:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _080CB830
- ldr r3, =gUnknown_02039D08
- mov r0, r8
- cmp r0, 0
- bne _080CB8EA
- movs r6, 0
- cmp r6, r7
- bcs _080CB8EA
- mov r12, r3
- movs r5, 0xA7
- lsls r5, 4
- movs r4, 0x4
-_080CB8C4:
- mov r2, r12
- ldr r1, [r2]
- lsls r0, r6, 2
- adds r1, r5
- adds r1, r0
- ldr r2, [r1]
- ldrh r0, [r2, 0x22]
- subs r0, 0xA0
- strh r0, [r2, 0x22]
- ldr r1, [r1]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, r7
- bcc _080CB8C4
-_080CB8EA:
- ldr r0, [r3]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080CB93C
- movs r6, 0
- adds r7, r3, 0
- movs r5, 0xA7
- lsls r5, 4
-_080CB8FA:
- ldr r0, [r7]
- lsls r4, r6, 2
- adds r0, r5
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _080CB932
- movs r0, 0x64
- muls r0, r6
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- cmp r0, 0
- bne _080CB932
- ldr r0, [r7]
- adds r0, r5
- adds r0, r4
- ldr r2, [r0]
- ldrb r1, [r2, 0x1]
- movs r3, 0xD
- negs r3, r3
- adds r0, r3, 0
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r2, 0x1]
-_080CB932:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _080CB8FA
-_080CB93C:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB7E8
-
- thumb_func_start sub_80CB950
-sub_80CB950: @ 80CB950
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x00000c5e
- adds r1, r2
- movs r2, 0
- strb r2, [r1]
- movs r5, 0
- movs r6, 0
- adds r3, r0, 0
- movs r7, 0xA7
- lsls r7, 4
-_080CB96A:
- ldr r0, [r3]
- lsls r4, r5, 2
- adds r0, r7
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _080CB9A0
- cmp r5, r6
- beq _080CB99A
- adds r1, r6, 0
- str r3, [sp]
- bl sub_80CB9D0
- ldr r3, [sp]
- ldr r2, [r3]
- adds r0, r2, r7
- adds r0, r4
- movs r1, 0
- str r1, [r0]
- ldr r0, =0x00000c5e
- adds r2, r0
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
-_080CB99A:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080CB9A0:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _080CB96A
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB950
-
- thumb_func_start sub_80CB9BC
-sub_80CB9BC: @ 80CB9BC
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000c5e
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80CB9BC
-
- thumb_func_start sub_80CB9D0
-sub_80CB9D0: @ 80CB9D0
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- strh r1, [r2, 0x30]
- cmp r1, 0
- bne _080CB9E4
- movs r3, 0x68
- movs r4, 0x40
- b _080CB9F6
-_080CB9E4:
- movs r3, 0x98
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 19
- movs r1, 0x80
- lsls r1, 13
- adds r0, r1
- lsrs r4, r0, 16
-_080CB9F6:
- ldrh r0, [r2, 0x20]
- lsls r0, 3
- strh r0, [r2, 0x32]
- ldrh r0, [r2, 0x22]
- lsls r0, 3
- strh r0, [r2, 0x34]
- lsls r1, r3, 3
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- subs r0, r1, r0
- cmp r0, 0
- bge _080CBA10
- adds r0, 0x7
-_080CBA10:
- asrs r0, 3
- strh r0, [r2, 0x36]
- lsls r0, r4, 16
- asrs r0, 13
- movs r3, 0x34
- ldrsh r1, [r2, r3]
- subs r0, r1
- cmp r0, 0
- bge _080CBA24
- adds r0, 0x7
-_080CBA24:
- asrs r0, 3
- strh r0, [r2, 0x38]
- movs r0, 0x8
- strh r0, [r2, 0x3A]
- ldr r0, =sub_80CBA3C
- str r0, [r2, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB9D0
-
- thumb_func_start sub_80CBA3C
-sub_80CBA3C: @ 80CBA3C
- push {r4,lr}
- adds r3, r0, 0
- ldrh r2, [r3, 0x3A]
- movs r1, 0x3A
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _080CBA6C
- ldrh r0, [r3, 0x36]
- ldrh r4, [r3, 0x32]
- adds r0, r4
- strh r0, [r3, 0x32]
- ldrh r1, [r3, 0x38]
- ldrh r4, [r3, 0x34]
- adds r1, r4
- strh r1, [r3, 0x34]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r3, 0x20]
- lsls r1, 16
- asrs r1, 19
- strh r1, [r3, 0x22]
- subs r0, r2, 0x1
- strh r0, [r3, 0x3A]
- b _080CBAB2
-_080CBA6C:
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080CBA7C
- movs r0, 0x68
- strh r0, [r3, 0x20]
- movs r0, 0x40
- b _080CBA8E
-_080CBA7C:
- movs r0, 0x98
- strh r0, [r3, 0x20]
- movs r4, 0x30
- ldrsh r1, [r3, r4]
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x10
-_080CBA8E:
- strh r0, [r3, 0x22]
- ldr r0, =SpriteCallbackDummy
- str r0, [r3, 0x1C]
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- movs r0, 0x30
- ldrsh r1, [r3, r0]
- lsls r1, 2
- movs r4, 0xA7
- lsls r4, 4
- adds r0, r2, r4
- adds r0, r1
- str r3, [r0]
- ldr r0, =0x00000c5e
- adds r2, r0
- ldrb r0, [r2]
- subs r0, 0x1
- strb r0, [r2]
-_080CBAB2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CBA3C
-
- thumb_func_start sub_80CBAC4
-sub_80CBAC4: @ 80CBAC4
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r1, =0x00000a6c
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _080CBAE2
- bl sub_80CC314
- ldr r0, [r4]
- ldr r1, =0x00000a6c
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_080CBAE2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CBAC4
-
- thumb_func_start sub_80CBAF0
-sub_80CBAF0: @ 80CBAF0
- push {r4-r6,lr}
- movs r3, 0
- ldr r6, =gUnknown_02039D08
- lsls r0, 16
- asrs r4, r0, 16
- movs r5, 0x5
- negs r5, r5
-_080CBAFE:
- ldr r0, [r6]
- lsls r1, r3, 2
- movs r2, 0xA7
- lsls r2, 4
- adds r0, r2
- adds r2, r0, r1
- ldr r1, [r2]
- cmp r1, 0
- beq _080CBB56
- ldrh r0, [r1, 0x22]
- adds r0, r4, r0
- strh r0, [r1, 0x22]
- ldr r2, [r2]
- ldrh r1, [r2, 0x26]
- ldrh r0, [r2, 0x22]
- adds r1, r0
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 13
- adds r0, r1
- lsrs r0, 16
- cmp r0, 0xC0
- bls _080CBB4C
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _080CBB56
- .pool
-_080CBB4C:
- adds r2, 0x3E
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2]
-_080CBB56:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _080CBAFE
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80CBAF0
-
- thumb_func_start sub_80CBB68
-sub_80CBB68: @ 80CBB68
- push {r4,r5,lr}
- lsls r0, 24
- ldr r5, =gUnknown_02039D08
- ldr r1, [r5]
- lsrs r4, r0, 22
- movs r0, 0xA7
- lsls r0, 4
- adds r1, r0
- adds r1, r4
- ldr r0, [r1]
- cmp r0, 0
- beq _080CBB92
- bl sub_80CC314
- ldr r0, [r5]
- movs r1, 0xA7
- lsls r1, 4
- adds r0, r1
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_080CBB92:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CBB68
-
- thumb_func_start sub_80CBB9C
-sub_80CBB9C: @ 80CBB9C
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, =gUnknown_02039D08
-_080CBBA2:
- ldr r0, [r6]
- lsls r4, r5, 2
- movs r1, 0xA7
- lsls r1, 4
- adds r0, r1
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _080CBBC6
- bl sub_80CC314
- ldr r0, [r6]
- movs r1, 0xA7
- lsls r1, 4
- adds r0, r1
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_080CBBC6:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _080CBBA2
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CBB9C
-
- thumb_func_start sub_80CBBDC
-sub_80CBBDC: @ 80CBBDC
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- lsrs r0, 22
- movs r3, 0xA7
- lsls r3, 4
- adds r1, r3
- adds r1, r0
- ldr r3, [r1]
- cmp r3, 0
- beq _080CBC0C
- movs r0, 0x3
- adds r1, r2, 0
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x1]
-_080CBC0C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CBBDC
-
- thumb_func_start sub_80CBC14
-sub_80CBC14: @ 80CBC14
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- adds r5, r1, 0
- cmp r4, 0
- bne _080CBC44
- ldr r3, =gUnknown_02039D08
- ldr r0, [r3]
- ldr r5, =0x00000a6c
- adds r2, r0, r5
- lsls r1, 2
- adds r5, 0x4
- adds r0, r5
- adds r0, r1
- ldr r1, [r0]
- str r1, [r2]
- str r4, [r0]
- b _080CBC60
- .pool
-_080CBC44:
- cmp r4, 0x1
- bne _080CBC96
- ldr r3, =gUnknown_02039D08
- ldr r0, [r3]
- ldr r1, =0x00000a6c
- adds r2, r0, r1
- lsls r1, r5, 2
- ldr r4, =0x00000a88
- adds r0, r4
- adds r0, r1
- ldr r1, [r0]
- str r1, [r2]
- movs r1, 0
- str r1, [r0]
-_080CBC60:
- adds r5, r3, 0
- ldr r0, [r5]
- ldr r4, =0x00000a6c
- adds r0, r4
- ldr r1, [r0]
- ldr r0, =sub_80CC100
- str r0, [r1, 0x1C]
- bl sub_80CAFAC
- ldr r1, [r5]
- adds r1, r4
- ldr r3, [r1]
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r0, [r5]
- adds r0, r4
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0x7
- strb r1, [r0]
-_080CBC96:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CBC14
-
- thumb_func_start sub_80CBCAC
-sub_80CBCAC: @ 80CBCAC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- cmp r0, 0xE
- bne _080CBCF8
- ldr r3, =gUnknown_02039D08
- ldr r1, [r3]
- lsls r5, r6, 2
- movs r4, 0xA7
- lsls r4, 4
- adds r0, r1, r4
- adds r0, r5
- ldr r2, =0x00000a6c
- adds r1, r2
- ldr r2, [r1]
- str r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r3]
- adds r0, r4
- adds r0, r5
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0xC
- strb r1, [r0]
- b _080CBD34
- .pool
-_080CBCF8:
- ldr r5, =gUnknown_02039D08
- ldr r1, [r5]
- lsls r4, r6, 2
- ldr r3, =0x00000a88
- adds r0, r1, r3
- adds r0, r4
- ldr r2, =0x00000a6c
- adds r1, r2
- ldr r2, [r1]
- str r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r5]
- adds r0, r3
- adds r0, r4
- ldr r4, [r0]
- adds r0, r6, 0
- movs r1, 0x6
- bl __umodsi3
- movs r1, 0x13
- subs r1, r0
- adds r4, 0x43
- strb r1, [r4]
- adds r3, r5, 0
-_080CBD34:
- ldr r1, [r3]
- ldr r0, =0x00000a6c
- adds r1, r0
- ldr r2, [r1]
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
- movs r0, 0
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CBCAC
-
- thumb_func_start sub_80CBD5C
-sub_80CBD5C: @ 80CBD5C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r0, 0xE
- bne _080CBD80
- ldr r3, =gUnknown_02039D08
- ldr r1, [r3]
- movs r0, 0xB0
- lsls r0, 4
- adds r2, r1, r0
- lsls r0, r4, 2
- movs r4, 0xA7
- lsls r4, 4
- b _080CBD8E
- .pool
-_080CBD80:
- ldr r3, =gUnknown_02039D08
- ldr r1, [r3]
- movs r0, 0xB0
- lsls r0, 4
- adds r2, r1, r0
- lsls r0, r4, 2
- ldr r4, =0x00000a88
-_080CBD8E:
- adds r0, r4
- adds r1, r0
- str r1, [r2]
- ldr r1, [r3]
- ldr r2, =0x00000a6c
- adds r0, r1, r2
- ldr r2, [r0]
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
- ldr r4, =0x00000c5d
- adds r1, r4
- movs r0, 0
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CBD5C
-
- thumb_func_start sub_80CBDC4
-sub_80CBDC4: @ 80CBDC4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r6, =gUnknown_02039D08
- ldr r0, [r6]
- ldr r1, =0x00000c5d
- mov r9, r1
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0x10
- bne _080CBDE8
- movs r0, 0
- b _080CBEF4
- .pool
-_080CBDE8:
- adds r0, 0x1
- strb r0, [r1]
- ldr r2, [r6]
- ldr r5, =0x00000c5d
- adds r0, r2, r5
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CBE18
- movs r1, 0xB0
- lsls r1, 4
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r1, [r0]
- ldrh r0, [r1, 0x22]
- subs r0, 0x1
- strh r0, [r1, 0x22]
- ldr r5, =0x00000a6c
- adds r0, r2, r5
- ldr r1, [r0]
- ldrh r0, [r1, 0x22]
- adds r0, 0x1
- strh r0, [r1, 0x22]
-_080CBE18:
- ldr r3, [r6]
- movs r7, 0xB0
- lsls r7, 4
- adds r4, r3, r7
- ldr r0, [r4]
- ldr r0, [r0]
- mov r8, r0
- ldr r5, =gSineTable
- mov r0, r9
- adds r1, r3, r0
- ldrb r0, [r1]
- lsls r0, 4
- adds r0, r5
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bge _080CBE3C
- adds r0, 0xF
-_080CBE3C:
- asrs r0, 4
- mov r2, r8
- strh r0, [r2, 0x24]
- ldr r0, =0x00000a6c
- mov r8, r0
- add r3, r8
- ldr r2, [r3]
- ldrb r0, [r1]
- lsls r0, 4
- adds r0, r5
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r0, 0
- bge _080CBE5A
- adds r0, 0xF
-_080CBE5A:
- asrs r0, 4
- negs r0, r0
- strh r0, [r2, 0x24]
- ldrb r0, [r1]
- cmp r0, 0x8
- bne _080CBEBE
- ldr r3, [r3]
- ldr r0, [r4]
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- movs r5, 0x3
- movs r1, 0xC
- ands r1, r0
- ldrb r2, [r3, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r0, [r6]
- mov r2, r8
- adds r1, r0, r2
- ldr r1, [r1]
- adds r0, r7
- ldr r0, [r0]
- ldr r0, [r0]
- adds r0, 0x43
- ldrb r0, [r0]
- adds r1, 0x43
- strb r0, [r1]
- bl sub_80CAFAC
- ldr r1, [r6]
- adds r1, r7
- ldr r1, [r1]
- ldr r1, [r1]
- ands r5, r0
- lsls r5, 2
- ldrb r0, [r1, 0x5]
- ands r4, r0
- orrs r4, r5
- strb r4, [r1, 0x5]
- ldr r0, [r6]
- adds r0, r7
- ldr r0, [r0]
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0x7
- strb r1, [r0]
-_080CBEBE:
- ldr r1, [r6]
- mov r5, r9
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0x10
- bne _080CBEF2
- mov r0, r8
- adds r2, r1, r0
- ldr r3, [r2]
- adds r1, r7
- ldr r0, [r1]
- ldr r0, [r0]
- str r0, [r2]
- ldr r0, [r1]
- str r3, [r0]
- ldr r1, [r6]
- mov r2, r8
- adds r0, r1, r2
- ldr r2, [r0]
- ldr r0, =sub_80CC100
- str r0, [r2, 0x1C]
- adds r1, r7
- ldr r0, [r1]
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- str r0, [r1, 0x1C]
-_080CBEF2:
- movs r0, 0x1
-_080CBEF4:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CBDC4
-
- thumb_func_start sub_80CBF14
-sub_80CBF14: @ 80CBF14
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r0, 0x1
- beq _080CBF4C
- cmp r0, 0x1
- bgt _080CBF2E
- cmp r0, 0
- beq _080CBF34
- b _080CBFC0
-_080CBF2E:
- cmp r2, 0x2
- beq _080CBF70
- b _080CBFC0
-_080CBF34:
- ldr r3, =gUnknown_02039D08
- ldr r1, [r3]
- ldr r0, =0x00000b04
- adds r2, r1, r0
- lsls r0, r4, 2
- movs r4, 0xA7
- lsls r4, 4
- b _080CBF58
- .pool
-_080CBF4C:
- ldr r3, =gUnknown_02039D08
- ldr r1, [r3]
- ldr r0, =0x00000b04
- adds r2, r1, r0
- lsls r0, r4, 2
- ldr r4, =0x00000a88
-_080CBF58:
- adds r0, r4
- adds r1, r0
- str r1, [r2]
- adds r4, r3, 0
- b _080CBF80
- .pool
-_080CBF70:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r3, =0x00000b04
- adds r2, r1, r3
- ldr r4, =0x00000a6c
- adds r1, r4
- str r1, [r2]
- adds r4, r0, 0
-_080CBF80:
- ldr r0, [r4]
- ldr r1, =0x00000b04
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0
- beq _080CBFC0
- bl InitSpriteAffineAnim
- ldr r0, [r4]
- ldr r3, =0x00000b04
- adds r0, r3
- ldr r0, [r0]
- ldr r2, [r0]
- ldrb r1, [r2, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldr r1, [r4]
- adds r1, r3
- ldr r0, [r1]
- ldr r2, [r0]
- ldr r0, =gSpriteAffineAnimTable_857291C
- str r0, [r2, 0x10]
- ldr r0, [r1]
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAffineAnim
-_080CBFC0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CBF14
-
- thumb_func_start sub_80CBFD8
-sub_80CBFD8: @ 80CBFD8
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000b04
- adds r0, r1
- ldr r0, [r0]
- ldr r1, [r0]
- cmp r1, 0
- beq _080CBFF8
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- beq _080CC004
-_080CBFF8:
- movs r0, 0
- b _080CC01A
- .pool
-_080CC004:
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080CC018
- movs r0, 0x4
- orrs r0, r2
- strb r0, [r3]
-_080CC018:
- movs r0, 0x1
-_080CC01A:
- pop {r1}
- bx r1
- thumb_func_end sub_80CBFD8
-
- thumb_func_start sub_80CC020
-sub_80CC020: @ 80CC020
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r1, =0x00000b04
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0
- beq _080CC056
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldr r0, [r4]
- ldr r1, =0x00000b04
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0]
- bl sub_80CC314
- ldr r0, [r4]
- ldr r1, =0x00000b04
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0
- str r0, [r1]
-_080CC056:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CC020
-
- thumb_func_start sub_80CC064
-sub_80CC064: @ 80CC064
- push {lr}
- ldr r3, =gUnknown_02039D08
- ldr r0, [r3]
- ldr r1, =0x00000b04
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0
- beq _080CC094
- adds r2, r0, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, [r3]
- ldr r1, =0x00000b04
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_080CC094:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CC064
-
- thumb_func_start sub_80CC0A0
-sub_80CC0A0: @ 80CC0A0
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000b04
- adds r2, r0, r1
- ldr r0, [r2]
- cmp r0, 0
- bne _080CC0BC
- movs r0, 0
- b _080CC0D0
- .pool
-_080CC0BC:
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080CC0CE
- movs r0, 0
- str r0, [r2]
-_080CC0CE:
- movs r0, 0x1
-_080CC0D0:
- pop {r1}
- bx r1
- thumb_func_end sub_80CC0A0
-
- thumb_func_start sub_80CC0D4
-sub_80CC0D4: @ 80CC0D4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- ldr r2, =0x00000a6c
- adds r1, r2
- ldr r3, [r1]
- movs r1, 0x3
- ands r0, r1
- lsls r0, 2
- ldrb r2, [r3, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x5]
- bx lr
- .pool
- thumb_func_end sub_80CC0D4
-
- thumb_func_start sub_80CC100
-sub_80CC100: @ 80CC100
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- ldr r2, =0x00000cb4
- adds r1, r2
- ldr r2, [r1]
- ldrh r2, [r2, 0x20]
- strh r2, [r0, 0x20]
- ldr r2, [r1]
- ldrh r1, [r2, 0x26]
- ldrh r2, [r2, 0x22]
- adds r1, r2
- adds r1, 0x4
- strh r1, [r0, 0x22]
- bx lr
- .pool
- thumb_func_end sub_80CC100
-
- thumb_func_start sub_80CC124
-sub_80CC124: @ 80CC124
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r4, 0
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- ldr r2, =0x00000b58
- adds r0, r2
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, r3
- beq _080CC158
- adds r6, r2, 0
- ldr r5, =0x00000b58
-_080CC140:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x27
- bhi _080CC158
- ldr r0, [r6]
- lsls r1, r4, 1
- adds r0, r5
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r3
- bne _080CC140
-_080CC158:
- cmp r4, 0x28
- bne _080CC198
- movs r4, 0
- ldr r0, [r2]
- ldr r5, =0x00000b58
- adds r0, r5
- ldrh r0, [r0]
- cmp r0, 0
- beq _080CC184
- adds r6, r2, 0
-_080CC16C:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x27
- bhi _080CC184
- ldr r0, [r6]
- lsls r1, r4, 1
- adds r0, r5
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _080CC16C
-_080CC184:
- cmp r4, 0x28
- bne _080CC198
- ldr r0, =0x0000ffff
- b _080CC1CA
- .pool
-_080CC198:
- ldr r1, [r2]
- lsls r2, r4, 1
- ldr r5, =0x00000b58
- adds r0, r1, r5
- adds r0, r2
- strh r3, [r0]
- ldr r0, =0x00000b08
- adds r1, r0
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r4, 20
- lsrs r4, 16
- adds r0, r3, 0
- movs r1, 0x1
- bl GetMonIconTiles
- lsls r1, r4, 5
- ldr r2, =0x06010000
- adds r1, r2
- ldr r2, =0x04000080
- bl CpuSet
- adds r0, r4, 0
-_080CC1CA:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CC124
-
- thumb_func_start sub_80CC1E0
-sub_80CC1E0: @ 80CC1E0
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- movs r3, 0
- ldr r6, =gUnknown_02039D08
-_080CC1EA:
- ldr r1, [r6]
- lsls r2, r3, 1
- ldr r4, =0x00000b58
- adds r0, r1, r4
- adds r4, r0, r2
- ldrh r0, [r4]
- cmp r0, r5
- bne _080CC220
- ldr r0, =0x00000b08
- adds r1, r0
- adds r1, r2
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080CC22A
- strh r0, [r4]
- b _080CC22A
- .pool
-_080CC220:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x27
- bls _080CC1EA
-_080CC22A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80CC1E0
-
- thumb_func_start sub_80CC230
-sub_80CC230: @ 80CC230
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r4, [sp, 0x3C]
- ldr r5, [sp, 0x40]
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0x18]
- lsls r3, 16
- lsrs r3, 16
- mov r8, r3
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r9, r5
- mov r2, sp
- ldr r0, =gUnknown_085728D4
- ldm r0!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldm r0!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- adds r0, r6, 0
- bl mon_icon_convert_unown_species_id
- mov r10, r0
- mov r6, r10
- mov r2, sp
- ldr r1, =gMonIconPaletteIndices
- adds r1, r6, r1
- ldr r3, =0x0000dac0
- adds r0, r3, 0
- ldrb r1, [r1]
- adds r0, r1
- strh r0, [r2, 0x2]
- adds r0, r6, 0
- bl sub_80CC124
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0, 0
- ldr r0, =0x0000ffff
- cmp r5, r0
- beq _080CC302
- ldr r7, [sp, 0x18]
- lsls r1, r7, 16
- asrs r1, 16
- mov r0, r8
- lsls r2, r0, 16
- asrs r2, 16
- mov r0, sp
- mov r3, r9
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080CC2FC
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldr r2, =0x000003ff
- ands r2, r5
- ldrh r3, [r0, 0x4]
- ldr r1, =0xfffffc00
- ands r1, r3
- orrs r1, r2
- strh r1, [r0, 0x4]
- movs r1, 0x3
- ands r4, r1
- lsls r3, r4, 2
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r3
- strb r1, [r0, 0x5]
- mov r1, r10
- strh r1, [r0, 0x2E]
- b _080CC304
- .pool
-_080CC2FC:
- adds r0, r6, 0
- bl sub_80CC1E0
-_080CC302:
- movs r0, 0
-_080CC304:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80CC230
-
- thumb_func_start sub_80CC314
-sub_80CC314: @ 80CC314
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- bl sub_80CC1E0
- adds r0, r4, 0
- bl DestroySprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CC314
-
- thumb_func_start sub_80CC32C
-sub_80CC32C: @ 80CC32C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =sub_80CC370
- movs r1, 0x2
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0xC]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CC32C
-
- thumb_func_start sub_80CC35C
-sub_80CC35C: @ 80CC35C
- push {lr}
- ldr r0, =sub_80CC370
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CC35C
-
- thumb_func_start sub_80CC370
-sub_80CC370: @ 80CC370
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bhi _080CC454
- lsls r0, 2
- ldr r1, =_080CC39C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080CC39C:
- .4byte _080CC3B0
- .4byte _080CC3E8
- .4byte _080CC41C
- .4byte _080CC426
- .4byte _080CC44C
-_080CC3B0:
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- ldr r2, =0x000002d2
- adds r0, r2
- movs r2, 0
- strb r2, [r0]
- ldr r1, [r1]
- movs r3, 0xB3
- lsls r3, 2
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, =0x00004ac4
- adds r1, r0
- movs r2, 0x80
- lsls r2, 5
- movs r0, 0
- movs r3, 0x1
- bl RequestDma3Fill
- strh r0, [r4, 0xA]
- b _080CC458
- .pool
-_080CC3E8:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- bl CheckForSpaceForDma3Request
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080CC45E
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x00004ac4
- adds r1, r2
- movs r0, 0x2
- bl SetBgTilemapBuffer
- movs r0, 0x2
- bl ShowBg
- b _080CC458
- .pool
-_080CC41C:
- ldrb r0, [r4, 0xC]
- movs r1, 0
- bl sub_80CC7A0
- b _080CC458
-_080CC426:
- bl sub_80CCA00
- cmp r0, 0
- beq _080CC45E
- ldrb r0, [r4, 0xC]
- bl sub_80CCB50
- bl sub_80CD02C
- ldrb r0, [r4, 0xC]
- bl sub_80CB028
- ldr r1, =0x00005b0a
- movs r0, 0xC
- bl SetGpuReg
- b _080CC458
- .pool
-_080CC44C:
- adds r0, r2, 0
- bl DestroyTask
- b _080CC458
-_080CC454:
- movs r0, 0
- b _080CC45C
-_080CC458:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
-_080CC45C:
- strh r0, [r4, 0x8]
-_080CC45E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CC370
-
- thumb_func_start sub_80CC464
-sub_80CC464: @ 80CC464
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- mov r8, r4
- adds r0, r4, 0
- bl sub_80CC644
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r5, =gUnknown_02039D08
- ldr r2, [r5]
- lsls r0, r6, 24
- asrs r3, r0, 24
- movs r0, 0x6
- negs r0, r0
- adds r1, r0, 0
- cmp r3, 0
- ble _080CC490
- movs r1, 0x6
-_080CC490:
- ldr r7, =0x000002ce
- adds r0, r2, r7
- strh r1, [r0]
- movs r1, 0x2
- cmp r3, 0
- ble _080CC49E
- movs r1, 0x1
-_080CC49E:
- ldr r7, =0x000002d3
- adds r0, r2, r7
- strb r1, [r0]
- ldr r2, [r5]
- movs r0, 0xB4
- lsls r0, 2
- adds r1, r2, r0
- movs r0, 0x20
- strh r0, [r1]
- movs r1, 0xB5
- lsls r1, 2
- adds r0, r2, r1
- strb r4, [r0]
- ldr r2, [r5]
- movs r1, 0
- cmp r3, 0
- bgt _080CC4C2
- movs r1, 0x5
-_080CC4C2:
- ldr r4, =0x000002d6
- adds r0, r2, r4
- strh r1, [r0]
- movs r7, 0xB6
- lsls r7, 2
- adds r0, r2, r7
- strh r3, [r0]
- movs r1, 0x38
- cmp r3, 0
- ble _080CC4DC
- movs r0, 0x84
- lsls r0, 1
- adds r1, r0, 0
-_080CC4DC:
- ldr r4, =0x000002da
- adds r0, r2, r4
- strh r1, [r0]
- movs r1, 0
- cmp r3, 0
- bgt _080CC4EA
- movs r1, 0x5
-_080CC4EA:
- movs r7, 0xB7
- lsls r7, 2
- adds r0, r2, r7
- strh r1, [r0]
- ldr r0, =0x000002de
- adds r1, r2, r0
- movs r0, 0
- strh r0, [r1]
- movs r3, 0xB8
- lsls r3, 2
- adds r1, r2, r3
- movs r0, 0x2
- strh r0, [r1]
- ldr r4, =0x00000a64
- adds r0, r2, r4
- mov r7, r8
- strb r7, [r0]
- ldr r0, [r5]
- ldr r1, =0x00000a65
- adds r0, r1
- strb r6, [r0]
- ldr r0, [r5]
- ldr r3, =0x00000a63
- adds r0, r3
- movs r1, 0
- strb r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CC464
-
- thumb_func_start sub_80CC54C
-sub_80CC54C: @ 80CC54C
- push {r4-r6,lr}
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldr r5, =0x00000a63
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080CC594
- cmp r0, 0x1
- bgt _080CC570
- cmp r0, 0
- beq _080CC576
- b _080CC624
- .pool
-_080CC570:
- cmp r0, 0x2
- beq _080CC5E4
- b _080CC624
-_080CC576:
- ldr r2, =0x00000a64
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- bl sub_80CC7A0
- ldr r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080CC594:
- bl sub_80CCA00
- cmp r0, 0
- beq _080CC632
- ldr r6, =gUnknown_02039D08
- ldr r1, [r6]
- ldr r4, =0x00000a64
- adds r0, r1, r4
- ldrb r0, [r0]
- ldr r5, =0x00000a65
- adds r1, r5
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- bl sub_80CB4CC
- ldr r1, [r6]
- adds r4, r1, r4
- ldrb r0, [r4]
- adds r1, r5
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- bl sub_80CCCFC
- ldr r0, [r6]
- adds r0, r5
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- bl sub_80CD0B8
- b _080CC624
- .pool
-_080CC5E4:
- bl sub_80CB584
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, [r4]
- movs r4, 0xB4
- lsls r4, 2
- adds r3, r2, r4
- ldrh r0, [r3]
- cmp r0, 0
- beq _080CC620
- movs r0, 0xB3
- lsls r0, 2
- adds r1, r2, r0
- subs r4, 0x2
- adds r0, r2, r4
- ldrh r0, [r0]
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- ldrh r0, [r3]
- subs r0, 0x1
- strh r0, [r3]
- lsls r0, 16
- cmp r0, 0
- bne _080CC632
- bl sub_80CCEE0
- bl sub_80CD158
-_080CC620:
- adds r0, r5, 0
- b _080CC634
-_080CC624:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r4, =0x00000a63
- adds r1, r4
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080CC632:
- movs r0, 0x1
-_080CC634:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CC54C
-
- thumb_func_start sub_80CC644
-sub_80CC644: @ 80CC644
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0
- cmp r1, r4
- beq _080CC66E
-_080CC658:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xD
- bls _080CC664
- movs r1, 0
-_080CC664:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r1, r4
- bne _080CC658
-_080CC66E:
- movs r0, 0x1
- negs r0, r0
- cmp r2, 0x6
- bhi _080CC678
- movs r0, 0x1
-_080CC678:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80CC644
-
- thumb_func_start sub_80CC680
-sub_80CC680: @ 80CC680
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl SetBoxWallpaper
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000a62
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CC680
-
- thumb_func_start sub_80CC6B0
-sub_80CC6B0: @ 80CC6B0
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- ldr r2, =0x00000a62
- adds r0, r2
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x4
- bhi _080CC794
- lsls r0, 2
- ldr r1, =_080CC6DC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080CC6DC:
- .4byte _080CC6F0
- .4byte _080CC718
- .4byte _080CC732
- .4byte _080CC76C
- .4byte _080CC790
-_080CC6F0:
- ldr r0, [r4]
- movs r1, 0xE7
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- ldr r2, =0x00000a62
- adds r1, r2
- b _080CC77E
- .pool
-_080CC718:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080CC794
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_80CC7A0
- b _080CC776
-_080CC732:
- bl sub_80CCA00
- cmp r0, 0x1
- bne _080CC794
- bl sub_80CCF9C
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- movs r1, 0xE7
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- ldr r2, =0x00000a62
- adds r1, r2
- b _080CC77E
- .pool
-_080CC76C:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080CC794
-_080CC776:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r0, =0x00000a62
- adds r1, r0
-_080CC77E:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080CC794
- .pool
-_080CC790:
- movs r0, 0
- b _080CC796
-_080CC794:
- movs r0, 0x1
-_080CC796:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80CC6B0
-
- thumb_func_start sub_80CC7A0
-sub_80CC7A0: @ 80CC7A0
- push {r4-r7,lr}
- sub sp, 0x8
- ldr r4, =gUnknown_02039D08
- ldr r2, [r4]
- ldr r3, =0x000006f9
- adds r2, r3
- movs r3, 0
- strb r3, [r2]
- ldr r2, [r4]
- ldr r3, =0x000006fa
- adds r2, r3
- strb r0, [r2]
- ldr r0, [r4]
- ldr r2, =0x000006fb
- adds r0, r2
- strb r1, [r0]
- ldr r1, [r4]
- adds r2, r1, r2
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0
- beq _080CC7E6
- movs r3, 0
- ldr r0, =0x000002d2
- adds r2, r1, r0
- ldrb r0, [r2]
- cmp r0, 0
- bne _080CC7DA
- movs r3, 0x1
-_080CC7DA:
- strb r3, [r2]
- ldr r0, [r4]
- ldr r1, =0x00004ac4
- adds r0, r1
- bl sub_80CCAE0
-_080CC7E6:
- ldr r7, =gUnknown_02039D08
- ldr r0, [r7]
- ldr r2, =0x000006fa
- adds r0, r2
- ldrb r0, [r0]
- bl sub_80D20F8
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x10
- beq _080CC8C4
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, =gWallpaperTable
- adds r6, r0, r1
- ldr r0, [r6, 0x4]
- ldr r1, [r7]
- ldr r5, =0x00000792
- adds r1, r5
- bl LZ77UnCompWram
- ldr r0, [r7]
- adds r5, r0, r5
- ldr r4, =0x000006fb
- adds r1, r0, r4
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldr r3, =0x000002d2
- adds r0, r3
- ldrb r2, [r0]
- adds r0, r5, 0
- bl sub_80CCA3C
- ldr r1, [r7]
- adds r4, r1, r4
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- beq _080CC874
- ldr r0, [r6, 0x8]
- ldr r2, =0x000002d2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 21
- movs r3, 0x80
- lsls r3, 15
- adds r1, r3
- lsrs r1, 16
- movs r2, 0x40
- bl LoadPalette
- b _080CC888
- .pool
-_080CC874:
- ldr r0, [r6, 0x8]
- ldr r2, =0x000002d2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 6
- ldr r2, =gPlttBufferUnfaded + 0x80
- adds r1, r2
- movs r2, 0x20
- bl CpuSet
-_080CC888:
- ldr r0, [r6]
- mov r1, sp
- bl malloc_and_decompress
- adds r1, r0, 0
- ldr r0, =gUnknown_02039D08
- ldr r3, [r0]
- ldr r2, =0x00000a68
- adds r0, r3, r2
- str r1, [r0]
- ldr r2, [sp]
- lsls r2, 16
- lsrs r2, 16
- ldr r0, =0x000002d2
- adds r3, r0
- ldrb r3, [r3]
- lsls r3, 8
- movs r0, 0x2
- bl LoadBgTiles
- b _080CC9DA
- .pool
-_080CC8C4:
- bl GetWaldaWallpaperPatternId
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r0, =gUnknown_0857AF44
- adds r6, r1, r0
- ldr r0, [r6, 0x4]
- ldr r1, [r7]
- ldr r4, =0x00000792
- adds r1, r4
- bl LZ77UnCompWram
- ldr r2, [r7]
- adds r0, r2, r4
- ldr r5, =0x000006fb
- adds r1, r2, r5
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldr r3, =0x000002d2
- adds r2, r3
- ldrb r2, [r2]
- bl sub_80CCA3C
- ldr r0, [r6, 0x8]
- ldr r1, [r7]
- adds r1, r4
- movs r2, 0x20
- bl CpuSet
- bl GetWaldaWallpaperColorsPtr
- ldr r1, [r7]
- ldr r2, =0x00000794
- adds r1, r2
- movs r2, 0x2
- bl CpuSet
- bl GetWaldaWallpaperColorsPtr
- ldr r1, [r7]
- ldr r3, =0x000007b4
- adds r1, r3
- movs r2, 0x2
- bl CpuSet
- ldr r1, [r7]
- adds r5, r1, r5
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0
- beq _080CC960
- adds r0, r1, r4
- ldr r2, =0x000002d2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 21
- movs r3, 0x80
- lsls r3, 15
- adds r1, r3
- lsrs r1, 16
- movs r2, 0x40
- bl LoadPalette
- b _080CC976
- .pool
-_080CC960:
- ldr r2, =0x00000792
- adds r0, r1, r2
- ldr r3, =0x000002d2
- adds r1, r3
- ldrb r1, [r1]
- lsls r1, 6
- ldr r2, =gPlttBufferUnfaded + 0x80
- adds r1, r2
- movs r2, 0x20
- bl CpuSet
-_080CC976:
- ldr r0, [r6]
- mov r1, sp
- bl malloc_and_decompress
- ldr r6, =gUnknown_02039D08
- ldr r1, [r6]
- ldr r5, =0x00000a68
- adds r1, r5
- str r0, [r1]
- ldr r4, =gUnknown_0857B004
- bl GetWaldaWallpaperIconId
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- add r1, sp, 0x4
- bl malloc_and_decompress
- adds r4, r0, 0
- ldr r0, [r6]
- adds r0, r5
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 4
- adds r1, r0
- ldr r2, [sp, 0x4]
- lsls r2, 9
- lsrs r2, 11
- movs r0, 0x80
- lsls r0, 19
- orrs r2, r0
- adds r0, r4, 0
- bl CpuSet
- adds r0, r4, 0
- bl Free
- ldr r0, [r6]
- adds r5, r0, r5
- ldr r1, [r5]
- ldr r2, [sp]
- lsls r2, 16
- lsrs r2, 16
- ldr r3, =0x000002d2
- adds r0, r3
- ldrb r3, [r0]
- lsls r3, 8
- movs r0, 0x2
- bl LoadBgTiles
-_080CC9DA:
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CC7A0
-
- thumb_func_start sub_80CCA00
-sub_80CCA00: @ 80CCA00
- push {r4,r5,lr}
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080CCA12
- movs r0, 0
- b _080CCA2E
-_080CCA12:
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldr r1, =0x00000a68
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _080CCA2C
- bl Free
- ldr r0, [r5]
- ldr r1, =0x00000a68
- adds r0, r1
- str r4, [r0]
-_080CCA2C:
- movs r0, 0x1
-_080CCA2E:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CCA00
-
- thumb_func_start sub_80CCA3C
-sub_80CCA3C: @ 80CCA3C
- push {r4-r7,lr}
- sub sp, 0x24
- adds r5, r0, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r4, r2, 17
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- movs r3, 0xB3
- lsls r3, 2
- adds r0, r3
- ldrh r3, [r0]
- lsrs r3, 3
- adds r3, 0xA
- lsls r1, 24
- asrs r7, r1, 24
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 3
- adds r6, r3, r0
- movs r0, 0x3F
- ands r6, r0
- movs r3, 0x14
- str r3, [sp]
- movs r1, 0x12
- str r1, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x2
- str r0, [sp, 0xC]
- str r3, [sp, 0x10]
- str r1, [sp, 0x14]
- movs r0, 0x11
- str r0, [sp, 0x18]
- lsls r2, 24
- asrs r2, 16
- str r2, [sp, 0x1C]
- movs r0, 0xC0
- lsls r0, 10
- adds r4, r0
- asrs r4, 16
- str r4, [sp, 0x20]
- movs r0, 0x2
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0
- bl CopyRectToBgTilemapBufferRect
- cmp r7, 0
- beq _080CCAD2
- cmp r7, 0
- ble _080CCAB0
- lsls r0, r6, 16
- movs r1, 0xA0
- lsls r1, 13
- adds r0, r1
- b _080CCAB6
- .pool
-_080CCAB0:
- lsls r0, r6, 16
- ldr r3, =0xfffc0000
- adds r0, r3
-_080CCAB6:
- lsrs r6, r0, 16
- lsls r2, r6, 24
- lsrs r2, 24
- movs r0, 0x4
- str r0, [sp]
- movs r0, 0x12
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect
-_080CCAD2:
- add sp, 0x24
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CCA3C
-
- thumb_func_start sub_80CCAE0
-sub_80CCAE0: @ 80CCAE0
- push {r4-r6,lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- movs r1, 0xB3
- lsls r1, 2
- adds r0, r1
- ldrh r0, [r0]
- lsrs r0, 3
- adds r3, r0, 0
- adds r3, 0x1E
- movs r0, 0x3F
- ands r3, r0
- adds r0, r3, 0
- cmp r0, 0x1F
- bgt _080CCB10
- lsls r0, 1
- movs r6, 0x98
- lsls r6, 3
- adds r0, r6
- b _080CCB18
- .pool
-_080CCB10:
- lsls r0, 1
- movs r1, 0xC8
- lsls r1, 4
- adds r0, r1
-_080CCB18:
- adds r2, r0
- movs r0, 0
- movs r5, 0
- movs r4, 0x3F
-_080CCB20:
- strh r5, [r2]
- adds r2, 0x2
- adds r3, 0x1
- ands r3, r4
- adds r1, r3, 0
- cmp r1, 0
- bne _080CCB32
- ldr r6, =0xfffff7c0
- adds r2, r6
-_080CCB32:
- cmp r1, 0x20
- bne _080CCB3C
- movs r1, 0xF8
- lsls r1, 3
- adds r2, r1
-_080CCB3C:
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2B
- bls _080CCB20
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CCAE0
-
- thumb_func_start sub_80CCB50
-sub_80CCB50: @ 80CCB50
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- mov r8, r0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, =gUnknown_02039D08
- mov r10, r1
- ldr r1, [r1]
- movs r2, 0xBE
- lsls r2, 2
- adds r0, r1, r2
- str r0, [sp, 0x24]
- mov r3, sp
- adds r3, 0x24
- str r3, [sp, 0x2C]
- ldr r0, =0x00030200
- str r0, [r3, 0x4]
- ldr r4, =0x000006fc
- adds r1, r4
- str r1, [sp, 0x14]
- add r0, sp, 0x18
- ldr r7, =0x0000dac9
- strh r7, [r0]
- add r0, sp, 0x1C
- movs r1, 0
- movs r2, 0x8
- bl memset
- add r1, sp, 0x14
- add r0, sp, 0x4
- movs r2, 0x10
- bl memcpy
- mov r0, r8
- bl sub_80D20F8
- lsls r0, 24
- mov r5, r10
- ldr r4, [r5]
- ldr r2, =gUnknown_08577574
- lsrs r0, 22
- adds r1, r0, r2
- ldrh r3, [r1]
- movs r5, 0xE3
- lsls r5, 3
- adds r1, r4, r5
- strh r3, [r1]
- adds r2, 0x2
- adds r0, r2
- ldrh r0, [r0]
- ldr r1, =0x0000071a
- adds r4, r1
- strh r0, [r4]
- add r0, sp, 0x4
- bl LoadSpritePalettes
- mov r2, r10
- ldr r0, [r2]
- movs r6, 0xE7
- lsls r6, 3
- adds r0, r6
- movs r1, 0xFC
- lsls r1, 2
- str r1, [r0]
- adds r0, r7, 0
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- mov r4, r10
- ldr r3, [r4]
- lsls r1, r0, 4
- movs r5, 0x87
- lsls r5, 1
- mov r9, r5
- add r1, r9
- ldr r4, =0x0000071c
- adds r2, r3, r4
- strh r1, [r2]
- adds r3, r6
- movs r5, 0x80
- lsls r5, 9
- adds r1, r5, 0
- lsls r1, r0
- ldr r0, [r3]
- orrs r0, r1
- str r0, [r3]
- adds r0, r7, 0
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- mov r1, r10
- ldr r4, [r1]
- lsls r1, r0, 4
- add r1, r9
- ldr r3, =0x0000071e
- adds r2, r4, r3
- strh r1, [r2]
- adds r6, r4, r6
- lsls r5, r0
- ldr r0, [r6]
- orrs r0, r5
- str r0, [r6]
- ldr r5, =0x000021b8
- adds r4, r5
- mov r0, r8
- bl GetBoxNamePtr
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x8
- bl StringCopyPadded
- mov r4, r10
- ldr r1, [r4]
- adds r5, r1, r5
- movs r0, 0xBE
- lsls r0, 2
- adds r1, r0
- movs r0, 0x2
- str r0, [sp]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0
- bl sub_80C6D80
- ldr r0, [sp, 0x2C]
- bl LoadSpriteSheet
- mov r0, r8
- bl GetBoxNamePtr
- bl sub_80CD00C
- movs r4, 0
- lsls r0, 16
- asrs r6, r0, 16
-_080CCC70:
- lsls r1, r4, 5
- adds r1, r6, r1
- lsls r1, 16
- asrs r1, 16
- ldr r0, =gSpriteTemplate_857B0A8
- movs r2, 0x1C
- movs r3, 0x18
- bl CreateSprite
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r5, =gUnknown_02039D08
- ldr r2, [r5]
- lsls r0, r4, 2
- movs r3, 0xE4
- lsls r3, 3
- adds r2, r3
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r2]
- lsls r1, r4, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080CCC70
- ldr r0, [r5]
- movs r4, 0xDF
- lsls r4, 3
- adds r0, r4
- movs r1, 0
- strb r1, [r0]
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CCB50
-
- thumb_func_start sub_80CCCFC
-sub_80CCCFC: @ 80CCCFC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x28]
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- ldr r4, =gUnknown_02039D08
- ldr r2, [r4]
- movs r1, 0xBE
- lsls r1, 2
- adds r0, r2, r1
- str r0, [sp, 0x1C]
- add r3, sp, 0x1C
- ldr r5, =0x0000ffff
- mov r12, r5
- movs r6, 0xC0
- lsls r6, 10
- mov r9, r6
- ldr r0, =0x00030200
- str r0, [r3, 0x4]
- add r1, sp, 0x4
- ldr r0, =gSpriteTemplate_857B0A8
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- movs r1, 0
- movs r5, 0xDF
- lsls r5, 3
- adds r2, r5
- ldrb r0, [r2]
- mov r8, r4
- adds r6, r3, 0
- cmp r0, 0
- bne _080CCD50
- movs r1, 0x1
-_080CCD50:
- strb r1, [r2]
- mov r7, r8
- ldr r0, [r7]
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CCD8C
- ldr r0, [r6, 0x4]
- mov r1, r12
- ands r0, r1
- mov r3, r9
- orrs r0, r3
- str r0, [r6, 0x4]
- ldr r0, [r7]
- ldr r5, =0x0000071c
- adds r0, r5
- ldrh r0, [r0]
- mov r9, r0
- b _080CCDB0
- .pool
-_080CCD8C:
- ldr r0, [r6, 0x4]
- mov r7, r12
- ands r0, r7
- movs r1, 0x80
- lsls r1, 11
- orrs r0, r1
- str r0, [r6, 0x4]
- mov r1, r8
- ldr r0, [r1]
- ldr r3, =0x0000071c
- adds r0, r3
- ldrh r0, [r0]
- mov r9, r0
- add r1, sp, 0x4
- movs r0, 0x4
- strh r0, [r1]
- ldr r0, =0x0000dac9
- strh r0, [r1, 0x2]
-_080CCDB0:
- mov r5, r8
- ldr r4, [r5]
- ldr r5, =0x000021b8
- adds r4, r5
- ldr r0, [sp, 0x28]
- bl GetBoxNamePtr
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x8
- bl StringCopyPadded
- mov r7, r8
- ldr r1, [r7]
- adds r5, r1, r5
- movs r0, 0xBE
- lsls r0, 2
- adds r1, r0
- movs r0, 0x2
- str r0, [sp]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0
- bl sub_80C6D80
- adds r0, r6, 0
- bl LoadSpriteSheet
- ldr r0, [sp, 0x28]
- bl sub_80D20F8
- lsls r0, 24
- lsrs r0, 22
- ldr r1, =gUnknown_08577574
- adds r0, r1
- mov r1, r9
- movs r2, 0x4
- bl LoadPalette
- ldr r0, [sp, 0x28]
- bl GetBoxNamePtr
- bl sub_80CD00C
- lsls r0, 16
- mov r1, r10
- lsls r2, r1, 24
- asrs r2, 24
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 6
- lsrs r3, r0, 16
- str r3, [sp, 0x24]
- asrs r0, 16
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- movs r7, 0
- mov r9, r8
- negs r2, r2
- mov r8, r2
-_080CCE2E:
- lsls r6, r7, 5
- mov r5, r10
- lsls r1, r5, 16
- asrs r1, 16
- adds r1, r6
- lsls r1, 16
- asrs r1, 16
- add r0, sp, 0x4
- movs r2, 0x1C
- movs r3, 0x18
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r1, r9
- ldr r2, [r1]
- lsls r5, r7, 2
- movs r3, 0xE5
- lsls r3, 3
- adds r2, r3
- adds r2, r5
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r2]
- mov r0, r8
- lsls r4, r0, 1
- add r4, r8
- lsls r4, 1
- strh r4, [r1, 0x2E]
- ldr r1, [r2]
- ldr r3, [sp, 0x24]
- lsls r0, r3, 16
- asrs r0, 16
- adds r0, r6
- strh r0, [r1, 0x30]
- ldr r0, [r2]
- movs r6, 0
- strh r6, [r0, 0x32]
- ldr r0, [r2]
- ldr r1, =sub_80CCF30
- str r1, [r0, 0x1C]
- lsls r1, r7, 24
- lsrs r1, 24
- bl StartSpriteAnim
- mov r1, r9
- ldr r0, [r1]
- movs r3, 0xE4
- lsls r3, 3
- adds r0, r3
- adds r0, r5
- ldr r1, [r0]
- strh r4, [r1, 0x2E]
- ldr r2, [r0]
- movs r1, 0x1
- strh r1, [r2, 0x30]
- ldr r1, [r0]
- ldr r0, =sub_80CCF64
- str r0, [r1, 0x1C]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x1
- bls _080CCE2E
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CCCFC
-
- thumb_func_start sub_80CCEE0
-sub_80CCEE0: @ 80CCEE0
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- movs r1, 0xDF
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CCF00
- movs r0, 0x4
- bl FreeSpriteTilesByTag
- b _080CCF06
- .pool
-_080CCF00:
- movs r0, 0x3
- bl FreeSpriteTilesByTag
-_080CCF06:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- movs r3, 0xE4
- lsls r3, 3
- adds r2, r0, r3
- adds r3, 0x8
- adds r1, r0, r3
- ldr r1, [r1]
- str r1, [r2]
- ldr r2, =0x00000724
- adds r1, r0, r2
- adds r3, 0x4
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CCEE0
-
- thumb_func_start sub_80CCF30
-sub_80CCF30: @ 80CCF30
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x32]
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _080CCF44
- subs r0, r1, 0x1
- strh r0, [r2, 0x32]
- b _080CCF5C
-_080CCF44:
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x30
- ldrsh r1, [r2, r3]
- cmp r0, r1
- bne _080CCF5C
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_080CCF5C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CCF30
-
- thumb_func_start sub_80CCF64
-sub_80CCF64: @ 80CCF64
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x30]
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _080CCF78
- subs r0, r1, 0x1
- strh r0, [r2, 0x30]
- b _080CCF96
-_080CCF78:
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x32]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC0
- bls _080CCF96
- adds r0, r2, 0
- bl DestroySprite
-_080CCF96:
- pop {r0}
- bx r0
- thumb_func_end sub_80CCF64
-
- thumb_func_start sub_80CCF9C
-sub_80CCF9C: @ 80CCF9C
- push {lr}
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- bl sub_80D20F8
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- movs r3, 0xDF
- lsls r3, 3
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CCFE4
- lsls r0, r1, 2
- ldr r1, =gUnknown_08577574
- adds r0, r1
- adds r3, 0x24
- adds r1, r2, r3
- ldrh r1, [r1]
- lsls r1, 1
- ldr r2, =gPlttBufferUnfaded
- adds r1, r2
- movs r2, 0x2
- bl CpuSet
- b _080CCFFC
- .pool
-_080CCFE4:
- lsls r0, r1, 2
- ldr r1, =gUnknown_08577574
- adds r0, r1
- ldr r3, =0x0000071e
- adds r1, r2, r3
- ldrh r1, [r1]
- lsls r1, 1
- ldr r2, =gPlttBufferUnfaded
- adds r1, r2
- movs r2, 0x2
- bl CpuSet
-_080CCFFC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CCF9C
-
- thumb_func_start sub_80CD00C
-sub_80CD00C: @ 80CD00C
- push {lr}
- adds r1, r0, 0
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- adds r1, r0, 0
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- movs r0, 0xB0
- subs r0, r1
- lsls r0, 16
- asrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80CD00C
-
- thumb_func_start sub_80CD02C
-sub_80CD02C: @ 80CD02C
- push {r4,r5,lr}
- ldr r0, =gUnknown_0857B080
- bl LoadSpriteSheet
- movs r5, 0
-_080CD036:
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 19
- movs r0, 0xB8
- lsls r0, 15
- adds r1, r0
- asrs r1, 16
- ldr r0, =gUnknown_0857B0E0
- movs r2, 0x1C
- movs r3, 0x16
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080CD088
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r4, r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- movs r0, 0x1
- cmp r5, 0
- bne _080CD076
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
-_080CD076:
- strh r0, [r4, 0x34]
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r5, 2
- movs r2, 0xE6
- lsls r2, 3
- adds r0, r2
- adds r0, r1
- str r4, [r0]
-_080CD088:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080CD036
- bl sub_80CEADC
- lsls r0, 24
- cmp r0, 0
- beq _080CD0A2
- movs r0, 0x1
- bl sub_80CD1A8
-_080CD0A2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CD02C
-
- thumb_func_start sub_80CD0B8
-sub_80CD0B8: @ 80CD0B8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r2, 0
- ldr r7, =gUnknown_02039D08
- mov r12, r7
- movs r6, 0xE6
- lsls r6, 3
- movs r4, 0
- movs r3, 0x2
-_080CD0CC:
- mov r0, r12
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r1, r6
- adds r1, r0
- ldr r0, [r1]
- strh r4, [r0, 0x24]
- ldr r0, [r1]
- strh r3, [r0, 0x2E]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1
- bls _080CD0CC
- lsls r0, r5, 24
- cmp r0, 0
- bge _080CD114
- ldr r1, [r7]
- movs r2, 0xE6
- lsls r2, 3
- adds r3, r1, r2
- ldr r2, [r3]
- movs r0, 0x1D
- strh r0, [r2, 0x30]
- ldr r0, =0x00000734
- adds r1, r0
- ldr r2, [r1]
- movs r0, 0x5
- strh r0, [r2, 0x30]
- ldr r0, [r3]
- movs r2, 0x48
- b _080CD130
- .pool
-_080CD114:
- ldr r1, [r7]
- movs r2, 0xE6
- lsls r2, 3
- adds r3, r1, r2
- ldr r2, [r3]
- movs r0, 0x5
- strh r0, [r2, 0x30]
- ldr r0, =0x00000734
- adds r1, r0
- ldr r2, [r1]
- movs r0, 0x1D
- strh r0, [r2, 0x30]
- ldr r0, [r3]
- movs r2, 0xF8
-_080CD130:
- strh r2, [r0, 0x32]
- ldr r0, [r1]
- strh r2, [r0, 0x32]
- ldr r1, [r7]
- movs r2, 0xE6
- lsls r2, 3
- adds r0, r1, r2
- ldr r2, [r0]
- movs r0, 0
- strh r0, [r2, 0x3C]
- ldr r0, =0x00000734
- adds r1, r0
- ldr r1, [r1]
- movs r0, 0x1
- strh r0, [r1, 0x3C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CD0B8
-
- thumb_func_start sub_80CD158
-sub_80CD158: @ 80CD158
- push {r4-r6,lr}
- movs r3, 0
- movs r5, 0
- movs r6, 0x5
- negs r6, r6
- ldr r4, =gUnknown_02039D08
-_080CD164:
- ldr r1, [r4]
- lsls r0, r3, 2
- movs r2, 0xE6
- lsls r2, 3
- adds r1, r2
- adds r1, r0
- ldr r2, [r1]
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 3
- adds r0, 0x5C
- strh r0, [r2, 0x20]
- ldr r0, [r1]
- strh r5, [r0, 0x24]
- ldr r1, [r1]
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x1
- bls _080CD164
- movs r0, 0x1
- bl sub_80CD1A8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CD158
-
- thumb_func_start sub_80CD1A8
-sub_80CD1A8: @ 80CD1A8
- push {r4-r6,lr}
- lsls r0, 24
- cmp r0, 0
- beq _080CD1E4
- movs r2, 0
- ldr r6, =gUnknown_02039D08
- movs r5, 0xE6
- lsls r5, 3
- movs r3, 0
- movs r4, 0x1
-_080CD1BC:
- ldr r1, [r6]
- lsls r0, r2, 2
- adds r1, r5
- adds r1, r0
- ldr r0, [r1]
- strh r4, [r0, 0x2E]
- ldr r0, [r1]
- strh r3, [r0, 0x30]
- ldr r0, [r1]
- strh r3, [r0, 0x32]
- ldr r0, [r1]
- strh r3, [r0, 0x36]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1
- bls _080CD1BC
- b _080CD204
- .pool
-_080CD1E4:
- movs r2, 0
- ldr r5, =gUnknown_02039D08
- movs r4, 0xE6
- lsls r4, 3
- movs r3, 0
-_080CD1EE:
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r0, r4
- adds r0, r1
- ldr r0, [r0]
- strh r3, [r0, 0x2E]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1
- bls _080CD1EE
-_080CD204:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CD1A8
-
- thumb_func_start sub_80CD210
-sub_80CD210: @ 80CD210
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x4
- bhi _080CD2DC
- lsls r0, 2
- ldr r1, =_080CD22C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080CD22C:
- .4byte _080CD240
- .4byte _080CD246
- .4byte _080CD274
- .4byte _080CD27A
- .4byte _080CD2CC
-_080CD240:
- movs r0, 0
- strh r0, [r2, 0x24]
- b _080CD2DC
-_080CD246:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _080CD2DC
- strh r1, [r2, 0x30]
- ldrh r0, [r2, 0x34]
- ldrh r3, [r2, 0x24]
- adds r0, r3
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x32]
- adds r0, 0x1
- strh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080CD2DC
- strh r1, [r2, 0x32]
- strh r1, [r2, 0x24]
- b _080CD2DC
-_080CD274:
- movs r0, 0x3
- strh r0, [r2, 0x2E]
- b _080CD2DC
-_080CD27A:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r0, =0x000002ce
- adds r1, r0
- ldrh r0, [r2, 0x20]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r2, 0x20]
- subs r0, 0x49
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAE
- bls _080CD2A0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
-_080CD2A0:
- ldrh r0, [r2, 0x30]
- subs r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080CD2DC
- ldrh r0, [r2, 0x32]
- strh r0, [r2, 0x20]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- movs r0, 0x4
- strh r0, [r2, 0x2E]
- b _080CD2DC
- .pool
-_080CD2CC:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x000002ce
- adds r0, r1
- ldrh r1, [r2, 0x20]
- ldrh r0, [r0]
- subs r1, r0
- strh r1, [r2, 0x20]
-_080CD2DC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CD210
-
- thumb_func_start sub_80CD2E8
-sub_80CD2E8: @ 80CD2E8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r4, [sp, 0x18]
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_0857B0E0
- lsls r5, 16
- asrs r5, 16
- lsls r6, 16
- asrs r6, 16
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r4, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080CD360
- movs r1, 0x1
- ands r1, r7
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r5, =gSprites
- adds r6, r4, r5
- adds r0, r6, 0
- bl StartSpriteAnim
- movs r0, 0x3
- mov r1, r8
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r6, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6, 0x5]
- adds r5, 0x1C
- adds r4, r5
- ldr r0, =SpriteCallbackDummy
- str r0, [r4]
- adds r0, r6, 0
- b _080CD362
- .pool
-_080CD360:
- movs r0, 0
-_080CD362:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80CD2E8
-
- thumb_func_start sub_80CD36C
-sub_80CD36C: @ 80CD36C
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r1, [r0, 0x1]
- cmp r1, 0x1
- beq _080CD388
- ldr r1, =gUnknown_02039D78
- movs r0, 0
- strb r0, [r1]
- b _080CD38C
- .pool
-_080CD388:
- ldr r0, =gUnknown_02039D78
- strb r1, [r0]
-_080CD38C:
- ldr r0, =gUnknown_02039D79
- movs r1, 0
- strb r1, [r0]
- ldr r0, =gUnknown_02039D7A
- strb r1, [r0]
- ldr r0, =gUnknown_02039D7B
- strb r1, [r0]
- ldr r0, =gUnknown_02039D7C
- strb r1, [r0]
- ldr r0, =gUnknown_02039D7D
- strb r1, [r0]
- bl sub_80CDC0C
- bl sub_80CFC14
- ldr r2, =gUnknown_02039D08
- ldr r0, [r2]
- ldr r1, =0x00000cd6
- adds r0, r1
- movs r3, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, =0x000021ff
- adds r0, r1
- strb r3, [r0]
- bl sub_80CEB40
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CD36C
-
- thumb_func_start sub_80CD3EC
-sub_80CD3EC: @ 80CD3EC
- push {lr}
- bl sub_80CFC14
- bl sub_80CEBDC
- ldr r3, =gUnknown_02039D08
- ldr r0, [r3]
- ldr r1, =0x00000cd6
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r3]
- ldr r1, =0x000021ff
- adds r0, r1
- strb r2, [r0]
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CD426
- ldr r0, [r3]
- ldr r1, =0x000020a4
- adds r0, r1
- ldr r1, =gUnknown_02039D14
- movs r2, 0x64
- bl memcpy
- bl sub_80CAFC4
-_080CD426:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CD3EC
-
- thumb_func_start sub_80CD444
-sub_80CD444: @ 80CD444
- push {r4-r6,lr}
- adds r4, r2, 0
- adds r6, r3, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r0, 0x4
- bhi _080CD4FC
- lsls r0, 2
- ldr r1, =_080CD464
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080CD464:
- .4byte _080CD478
- .4byte _080CD4A6
- .4byte _080CD4CE
- .4byte _080CD4D6
- .4byte _080CD4F4
-_080CD478:
- adds r0, r5, 0
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x64
- strh r1, [r4]
- adds r0, r5, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x20
- strh r1, [r6]
- b _080CD4FC
-_080CD4A6:
- cmp r5, 0
- bne _080CD4B2
- movs r0, 0x68
- strh r0, [r4]
- movs r0, 0x34
- b _080CD4FA
-_080CD4B2:
- cmp r5, 0x6
- bne _080CD4BE
- movs r0, 0x98
- strh r0, [r4]
- movs r0, 0x84
- b _080CD4FA
-_080CD4BE:
- movs r0, 0x98
- strh r0, [r4]
- subs r1, r5, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x4
- b _080CD4FA
-_080CD4CE:
- movs r0, 0xA2
- strh r0, [r4]
- movs r0, 0xC
- b _080CD4FA
-_080CD4D6:
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- movs r1, 0xE
- cmp r0, 0
- beq _080CD4E2
- movs r1, 0x8
-_080CD4E2:
- strh r1, [r6]
- movs r0, 0x58
- muls r0, r5
- adds r0, 0x78
- strh r0, [r4]
- b _080CD4FC
- .pool
-_080CD4F4:
- movs r0, 0xA0
- strh r0, [r4]
- movs r0, 0x60
-_080CD4FA:
- strh r0, [r6]
-_080CD4FC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80CD444
-
- thumb_func_start sub_80CD504
-sub_80CD504: @ 80CD504
- push {lr}
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080CD538
- cmp r0, 0x1
- bne _080CD54C
- ldr r0, =gUnknown_02039D79
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- b _080CD542
- .pool
-_080CD538:
- ldr r0, =gUnknown_02039D79
- ldrb r0, [r0]
- movs r1, 0xB
- bl GetBoxMonDataFromSelectedBox
-_080CD542:
- lsls r0, 16
- lsrs r0, 16
- b _080CD54E
- .pool
-_080CD54C:
- movs r0, 0
-_080CD54E:
- pop {r1}
- bx r1
- thumb_func_end sub_80CD504
-
- thumb_func_start sub_80CD554
-sub_80CD554: @ 80CD554
- push {r4-r7,lr}
- ldr r7, =gUnknown_02039D08
- ldr r5, [r7]
- movs r0, 0xCD
- lsls r0, 4
- adds r1, r5, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080CD57E
- ldrb r0, [r5, 0x1]
- cmp r0, 0x3
- beq _080CD574
- movs r0, 0
- b _080CD69A
- .pool
-_080CD574:
- bl sub_80D1218
- lsls r0, 24
- lsrs r0, 24
- b _080CD69A
-_080CD57E:
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _080CD67C
- ldr r1, =0x00000cbc
- adds r4, r5, r1
- ldr r2, =0x00000cc4
- adds r1, r5, r2
- ldr r0, [r4]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r4]
- movs r0, 0xCC
- lsls r0, 4
- adds r3, r5, r0
- adds r2, 0x4
- adds r1, r5, r2
- ldr r0, [r3]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r3]
- ldr r6, =0x00000cb4
- adds r1, r5, r6
- ldr r2, [r1]
- ldr r0, [r4]
- asrs r0, 8
- strh r0, [r2, 0x20]
- ldr r2, [r1]
- ldr r0, [r3]
- asrs r0, 8
- strh r0, [r2, 0x22]
- ldr r1, [r1]
- ldrh r2, [r1, 0x20]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- movs r3, 0x80
- lsls r3, 1
- cmp r0, r3
- ble _080CD5DA
- ldr r4, =0xffffff00
- adds r0, r2, r4
- lsls r0, 16
- asrs r0, 16
- adds r0, 0x40
- strh r0, [r1, 0x20]
-_080CD5DA:
- ldr r0, [r7]
- adds r0, r6
- ldr r1, [r0]
- ldrh r2, [r1, 0x20]
- movs r4, 0x20
- ldrsh r0, [r1, r4]
- cmp r0, 0x3F
- bgt _080CD5F6
- movs r0, 0x40
- subs r0, r2
- lsls r0, 16
- asrs r0, 16
- subs r0, r3, r0
- strh r0, [r1, 0x20]
-_080CD5F6:
- ldr r0, [r7]
- adds r0, r6
- ldr r1, [r0]
- ldrh r2, [r1, 0x22]
- movs r3, 0x22
- ldrsh r0, [r1, r3]
- cmp r0, 0xB0
- ble _080CD612
- adds r0, r2, 0
- subs r0, 0xB0
- lsls r0, 16
- asrs r0, 16
- subs r0, 0x10
- strh r0, [r1, 0x22]
-_080CD612:
- ldr r0, [r7]
- adds r0, r6
- ldr r2, [r0]
- ldrh r3, [r2, 0x22]
- movs r4, 0x22
- ldrsh r0, [r2, r4]
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _080CD632
- subs r0, r1, r3
- movs r1, 0xB0
- lsls r0, 16
- asrs r0, 16
- subs r1, r0
- strh r1, [r2, 0x22]
-_080CD632:
- ldr r0, [r7]
- ldr r2, =0x00000cd7
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _080CD698
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bne _080CD698
- ldr r0, [r7]
- adds r0, r6
- ldr r2, [r0]
- adds r2, 0x3F
- ldrb r3, [r2]
- lsrs r1, r3, 1
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 1
- movs r0, 0x3
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- b _080CD698
- .pool
-_080CD67C:
- ldr r3, =0x00000cb4
- adds r2, r5, r3
- ldr r1, [r2]
- ldr r4, =0x00000ccc
- adds r0, r5, r4
- ldrh r0, [r0]
- strh r0, [r1, 0x20]
- ldr r1, [r2]
- ldr r2, =0x00000cce
- adds r0, r5, r2
- ldrh r0, [r0]
- strh r0, [r1, 0x22]
- bl sub_80CDA68
-_080CD698:
- movs r0, 0x1
-_080CD69A:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CD554
-
- thumb_func_start sub_80CD6AC
-sub_80CD6AC: @ 80CD6AC
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r6, sp
- adds r6, 0x2
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- adds r3, r6, 0
- bl sub_80CD444
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- ldr r2, =0x00000cd4
- adds r0, r2
- strb r4, [r0]
- ldr r0, [r1]
- ldr r3, =0x00000cd5
- adds r0, r3
- strb r5, [r0]
- ldr r1, [r1]
- mov r0, sp
- ldrh r2, [r0]
- subs r3, 0x9
- adds r0, r1, r3
- strh r2, [r0]
- ldrh r0, [r6]
- ldr r2, =0x00000cce
- adds r1, r2
- strh r0, [r1]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CD6AC
-
- thumb_func_start sub_80CD70C
-sub_80CD70C: @ 80CD70C
- push {r4-r7,lr}
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- ldr r3, =0x00000cd2
- adds r1, r2, r3
- ldrh r1, [r1]
- adds r4, r0, 0
- cmp r1, 0
- beq _080CD730
- movs r0, 0xCD
- lsls r0, 4
- adds r1, r2, r0
- movs r0, 0xC
- b _080CD738
- .pool
-_080CD730:
- movs r3, 0xCD
- lsls r3, 4
- adds r1, r2, r3
- movs r0, 0x6
-_080CD738:
- strh r0, [r1]
- ldr r1, [r4]
- ldr r0, =0x00000cd7
- adds r2, r1, r0
- ldrb r0, [r2]
- cmp r0, 0
- beq _080CD752
- movs r3, 0xCD
- lsls r3, 4
- adds r0, r1, r3
- ldrh r0, [r0]
- lsrs r0, 1
- strb r0, [r2]
-_080CD752:
- ldr r2, [r4]
- ldr r1, =0x00000cd2
- adds r0, r2, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080CD78C
- cmp r1, 0x1
- beq _080CD7AC
- ldr r3, =0x00000cce
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r3, =0x00000cb4
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x22
- ldrsh r0, [r0, r2]
- b _080CD7C0
- .pool
-_080CD78C:
- ldr r3, =0x00000cce
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r3, =0x00000cb4
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x22
- ldrsh r0, [r0, r2]
- adds r0, 0xC0
- b _080CD7C0
- .pool
-_080CD7AC:
- ldr r3, =0x00000cce
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r3, =0x00000cb4
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x22
- ldrsh r0, [r0, r2]
- subs r0, 0xC0
-_080CD7C0:
- subs r7, r1, r0
- ldr r2, [r4]
- ldr r3, =0x00000cd3
- adds r0, r2, r3
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080CD7FC
- cmp r1, 0x1
- beq _080CD81C
- ldr r1, =0x00000ccc
- adds r0, r2, r1
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r3, =0x00000cb4
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- b _080CD830
- .pool
-_080CD7FC:
- ldr r3, =0x00000ccc
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r3, =0x00000cb4
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- adds r0, 0xC0
- b _080CD830
- .pool
-_080CD81C:
- ldr r3, =0x00000ccc
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r3, =0x00000cb4
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- subs r0, 0xC0
-_080CD830:
- subs r0, r1, r0
- lsls r7, 8
- lsls r0, 8
- ldr r4, [r4]
- ldr r3, =0x00000cc4
- adds r6, r4, r3
- movs r1, 0xCD
- lsls r1, 4
- adds r5, r4, r1
- ldrh r1, [r5]
- bl __divsi3
- str r0, [r6]
- ldr r2, =0x00000cc8
- adds r6, r4, r2
- ldrh r1, [r5]
- adds r0, r7, 0
- bl __divsi3
- str r0, [r6]
- ldr r3, =0x00000cbc
- adds r2, r4, r3
- ldr r0, =0x00000cb4
- adds r1, r4, r0
- ldr r0, [r1]
- movs r3, 0x20
- ldrsh r0, [r0, r3]
- lsls r0, 8
- str r0, [r2]
- movs r0, 0xCC
- lsls r0, 4
- adds r4, r0
- ldr r0, [r1]
- movs r1, 0x22
- ldrsh r0, [r0, r1]
- lsls r0, 8
- str r0, [r4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CD70C
-
- thumb_func_start sub_80CD894
-sub_80CD894: @ 80CD894
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80CD6AC
- bl sub_80CD70C
- ldr r5, =gUnknown_02039D08
- ldr r1, [r5]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x3
- beq _080CD8E4
- ldr r2, =0x000021ff
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CD8FC
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CD8FC
- ldr r2, =0x00000cb4
- adds r0, r1, r2
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- b _080CD8FC
- .pool
-_080CD8E4:
- bl sub_80D127C
- lsls r0, 24
- cmp r0, 0
- bne _080CD8FC
- ldr r0, [r5]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
-_080CD8FC:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080CD95C
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080CD930
- ldr r0, =gUnknown_02039D79
- ldrb r1, [r0]
- movs r0, 0
- bl sub_80D0E50
- b _080CD93E
- .pool
-_080CD930:
- cmp r0, 0x1
- bne _080CD93E
- ldr r0, =gUnknown_02039D79
- ldrb r1, [r0]
- movs r0, 0x1
- bl sub_80D0E50
-_080CD93E:
- cmp r4, 0
- bne _080CD950
- movs r0, 0
- adds r1, r6, 0
- bl sub_80D0D8C
- b _080CD95C
- .pool
-_080CD950:
- cmp r4, 0x1
- bne _080CD988
- movs r0, 0x1
- adds r1, r6, 0
- bl sub_80D0D8C
-_080CD95C:
- cmp r4, 0x1
- bne _080CD988
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- beq _080CD988
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- ldr r2, =0x00000cd6
- adds r0, r2
- strb r4, [r0]
- ldr r0, [r1]
- ldr r1, =0x00000cb8
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
-_080CD988:
- cmp r4, 0
- beq _080CD9E4
- cmp r4, 0
- blt _080CDA56
- cmp r4, 0x3
- bgt _080CDA56
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldr r2, =0x00000cb4
- adds r0, r2
- ldr r4, [r0]
- ldrb r1, [r4, 0x5]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r1
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r4, 0x5]
- ldr r0, [r5]
- ldr r4, =0x00000cb8
- adds r0, r4
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r3
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, r4
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- ands r2, r0
- orrs r2, r3
- strb r2, [r1, 0x5]
- b _080CDA56
- .pool
-_080CD9E4:
- ldr r3, =gUnknown_02039D08
- ldr r1, [r3]
- ldr r2, =0x000021ff
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CDA28
- ldr r2, =0x00000cb4
- adds r0, r1, r2
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r3]
- ldr r1, =0x00000cb8
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- b _080CDA56
- .pool
-_080CDA28:
- ldr r2, =0x00000cb4
- adds r0, r1, r2
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080CDA56
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CDA56
- movs r0, 0x2
- bl sub_80CC0D4
-_080CDA56:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CD894
-
- thumb_func_start sub_80CDA68
-sub_80CDA68: @ 80CDA68
- push {r4,lr}
- ldr r1, =gUnknown_02039D78
- ldr r4, =gUnknown_02039D08
- ldr r2, [r4]
- ldr r3, =0x00000cd4
- adds r0, r2, r3
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r1, =gUnknown_02039D79
- adds r3, 0x1
- adds r0, r2, r3
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r2, 0x1]
- cmp r0, 0x3
- beq _080CDAC0
- ldr r1, =0x000021ff
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CDAD8
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CDAD8
- subs r3, 0x21
- adds r0, r2, r3
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
- b _080CDAD8
- .pool
-_080CDAC0:
- bl sub_80D127C
- lsls r0, 24
- cmp r0, 0
- bne _080CDAD8
- ldr r0, [r4]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
-_080CDAD8:
- bl sub_80CEB40
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- beq _080CDB0E
- cmp r0, 0x1
- bgt _080CDAFC
- cmp r0, 0
- beq _080CDB30
- b _080CDB8A
- .pool
-_080CDAFC:
- cmp r0, 0x2
- beq _080CDB06
- cmp r0, 0x3
- bne _080CDB8A
- b _080CDB1E
-_080CDB06:
- movs r0, 0x1
- bl sub_80CD1A8
- b _080CDB8A
-_080CDB0E:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r2, =0x00000cb8
- adds r0, r2
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0xD
- strb r1, [r0]
-_080CDB1E:
- movs r0, 0x1
- bl sub_80CC0D4
- b _080CDB8A
- .pool
-_080CDB30:
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldr r3, =0x000021ff
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CDB8A
- ldr r2, =0x00000cb4
- adds r0, r1, r2
- ldr r3, [r0]
- ldrb r1, [r3, 0x5]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r0, [r4]
- ldr r3, =0x00000cb8
- adds r0, r3
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- ands r2, r0
- movs r0, 0x8
- orrs r2, r0
- strb r2, [r1, 0x5]
- ldr r0, [r4]
- adds r0, r3
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0x15
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r3
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- movs r0, 0x2
- bl sub_80CC0D4
-_080CDB8A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CDA68
-
- thumb_func_start sub_80CDBA0
-sub_80CDBA0: @ 80CDBA0
- push {lr}
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CDBB4
- movs r3, 0
- b _080CDBC2
- .pool
-_080CDBB4:
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x5
- bls _080CDBC2
- movs r3, 0x5
-_080CDBC2:
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- ldr r1, =0x00000cb4
- adds r0, r2, r1
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080CDBE0
- ldr r0, =0x00000cd7
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
-_080CDBE0:
- movs r0, 0x1
- adds r1, r3, 0
- bl sub_80CD894
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CDBA0
-
- thumb_func_start sub_80CDBF8
-sub_80CDBF8: @ 80CDBF8
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_80CD894
- pop {r0}
- bx r0
- thumb_func_end sub_80CDBF8
-
- thumb_func_start sub_80CDC0C
-sub_80CDC0C: @ 80CDC0C
- ldr r1, =gUnknown_02039D7E
- movs r0, 0
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80CDC0C
-
- thumb_func_start sub_80CDC18
-sub_80CDC18: @ 80CDC18
- ldr r0, =gUnknown_02039D7E
- ldr r1, =gUnknown_02039D79
- ldrb r1, [r1]
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_80CDC18
-
- thumb_func_start sub_80CDC2C
-sub_80CDC2C: @ 80CDC2C
- ldr r0, =gUnknown_02039D7E
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80CDC2C
-
- thumb_func_start sub_80CDC38
-sub_80CDC38: @ 80CDC38
- lsls r0, 24
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- ldr r2, =0x00000d8c
- adds r3, r1, r2
- ldr r2, =gUnknown_0857B998
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- str r0, [r3]
- movs r0, 0xD9
- lsls r0, 4
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80CDC38
-
- thumb_func_start sub_80CDC64
-sub_80CDC64: @ 80CDC64
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _080CDC84
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x00000d8c
- adds r1, r2
- ldr r2, =sub_80CDEB4
- b _080CDC8E
- .pool
-_080CDC84:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x00000d8c
- adds r1, r2
- ldr r2, =sub_80CDEC4
-_080CDC8E:
- str r2, [r1]
- ldr r0, [r0]
- movs r1, 0xD9
- lsls r1, 4
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CDC64
-
- thumb_func_start sub_80CDCAC
-sub_80CDCAC: @ 80CDCAC
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000d8c
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CDCAC
-
- thumb_func_start sub_80CDCCC
-sub_80CDCCC: @ 80CDCCC
- push {r4,r5,lr}
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- movs r5, 0xD9
- lsls r5, 4
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080CDD1C
- cmp r0, 0x1
- bgt _080CDCEC
- cmp r0, 0
- beq _080CDCF6
- b _080CDD54
- .pool
-_080CDCEC:
- cmp r0, 0x2
- beq _080CDD40
- cmp r0, 0x3
- beq _080CDCFE
- b _080CDD54
-_080CDCF6:
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CDD08
-_080CDCFE:
- movs r0, 0
- b _080CDD56
- .pool
-_080CDD08:
- ldr r2, =0x00000cb4
- adds r0, r1, r2
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
- b _080CDD4A
- .pool
-_080CDD1C:
- bl sub_80CDED4
- lsls r0, 24
- cmp r0, 0
- bne _080CDD54
- ldr r0, [r4]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
- bl sub_80CDF38
- b _080CDD4A
- .pool
-_080CDD40:
- bl sub_80CDF08
- lsls r0, 24
- cmp r0, 0
- bne _080CDD54
-_080CDD4A:
- ldr r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080CDD54:
- movs r0, 0x1
-_080CDD56:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80CDCCC
-
- thumb_func_start sub_80CDD5C
-sub_80CDD5C: @ 80CDD5C
- push {r4,r5,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- movs r5, 0xD9
- lsls r5, 4
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080CDDA4
- cmp r0, 0x1
- bgt _080CDD7C
- cmp r0, 0
- beq _080CDD82
- b _080CDDD0
- .pool
-_080CDD7C:
- cmp r0, 0x2
- beq _080CDDCC
- b _080CDDD0
-_080CDD82:
- bl sub_80CDED4
- lsls r0, 24
- cmp r0, 0
- bne _080CDDD0
- ldr r0, [r4]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
- bl sub_80CDFAC
- b _080CDDBC
- .pool
-_080CDDA4:
- bl sub_80CDF08
- lsls r0, 24
- cmp r0, 0
- bne _080CDDD0
- ldr r0, [r4]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
-_080CDDBC:
- ldr r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080CDDD0
- .pool
-_080CDDCC:
- movs r0, 0
- b _080CDDD2
-_080CDDD0:
- movs r0, 0x1
-_080CDDD2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80CDD5C
-
- thumb_func_start sub_80CDDD8
-sub_80CDDD8: @ 80CDDD8
- push {r4,r5,lr}
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- movs r5, 0xD9
- lsls r5, 4
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080CDE68
- cmp r0, 0x1
- bgt _080CDDF8
- cmp r0, 0
- beq _080CDDFE
- b _080CDEAC
- .pool
-_080CDDF8:
- cmp r0, 0x2
- beq _080CDEA8
- b _080CDEAC
-_080CDDFE:
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080CDE20
- cmp r0, 0x1
- bne _080CDEA8
- ldr r0, =0x00000d91
- adds r1, r0
- movs r0, 0xE
- b _080CDE2A
- .pool
-_080CDE20:
- bl StorageGetCurrentBox
- ldr r1, [r4]
- ldr r2, =0x00000d91
- adds r1, r2
-_080CDE2A:
- strb r0, [r1]
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
- ldr r0, [r4]
- ldr r2, =0x00000d91
- adds r0, r2
- ldrb r0, [r0]
- ldr r1, =gUnknown_02039D79
- ldrb r1, [r1]
- bl sub_80CBD5C
- ldr r1, [r4]
- movs r0, 0xD9
- lsls r0, 4
- adds r1, r0
- b _080CDE94
- .pool
-_080CDE68:
- bl sub_80CBDC4
- lsls r0, 24
- cmp r0, 0
- bne _080CDEAC
- ldr r0, [r4]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
- ldr r0, [r4]
- ldr r2, =0x00000d91
- adds r0, r2
- ldrb r0, [r0]
- ldr r1, =gUnknown_02039D79
- ldrb r1, [r1]
- bl diegohint1
- ldr r1, [r4]
- adds r1, r5
-_080CDE94:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080CDEAC
- .pool
-_080CDEA8:
- movs r0, 0
- b _080CDEAE
-_080CDEAC:
- movs r0, 0x1
-_080CDEAE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80CDDD8
-
- thumb_func_start sub_80CDEB4
-sub_80CDEB4: @ 80CDEB4
- push {lr}
- bl sub_80CDED4
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80CDEB4
-
- thumb_func_start sub_80CDEC4
-sub_80CDEC4: @ 80CDEC4
- push {lr}
- bl sub_80CDF08
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80CDEC4
-
- thumb_func_start sub_80CDED4
-sub_80CDED4: @ 80CDED4
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r1, [r0]
- movs r2, 0x26
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080CDEEC
- cmp r0, 0x8
- beq _080CDEFC
-_080CDEEC:
- ldrh r0, [r1, 0x26]
- adds r0, 0x1
- strh r0, [r1, 0x26]
- b _080CDF00
- .pool
-_080CDEFC:
- movs r0, 0
- b _080CDF02
-_080CDF00:
- movs r0, 0x1
-_080CDF02:
- pop {r1}
- bx r1
- thumb_func_end sub_80CDED4
-
- thumb_func_start sub_80CDF08
-sub_80CDF08: @ 80CDF08
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r1, [r0]
- movs r2, 0x26
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080CDF30
- ldrh r0, [r1, 0x26]
- subs r0, 0x1
- strh r0, [r1, 0x26]
- movs r0, 0x1
- b _080CDF32
- .pool
-_080CDF30:
- movs r0, 0
-_080CDF32:
- pop {r1}
- bx r1
- thumb_func_end sub_80CDF08
-
- thumb_func_start sub_80CDF38
-sub_80CDF38: @ 80CDF38
- push {r4,lr}
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080CDF68
- cmp r0, 0x1
- bne _080CDF94
- ldr r4, =gUnknown_02039D79
- ldrb r1, [r4]
- movs r0, 0xE
- bl sub_80CE018
- ldrb r1, [r4]
- movs r0, 0
- bl sub_80CBC14
- b _080CDF8E
- .pool
-_080CDF68:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x000021ff
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CDF8E
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gUnknown_02039D79
- ldrb r1, [r4]
- bl sub_80CE018
- ldrb r1, [r4]
- movs r0, 0x1
- bl sub_80CBC14
-_080CDF8E:
- ldr r1, =gUnknown_02039D7A
- movs r0, 0x1
- strb r0, [r1]
-_080CDF94:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CDF38
-
- thumb_func_start sub_80CDFAC
-sub_80CDFAC: @ 80CDFAC
- push {r4,r5,lr}
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080CDFDC
- cmp r0, 0x1
- bne _080CDFFE
- ldr r4, =gUnknown_02039D79
- ldrb r1, [r4]
- movs r0, 0xE
- bl diegohint2
- ldrb r1, [r4]
- movs r0, 0xE
- bl sub_80CBCAC
- b _080CDFF8
- .pool
-_080CDFDC:
- bl StorageGetCurrentBox
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gUnknown_02039D79
- ldrb r1, [r5]
- adds r0, r4, 0
- bl diegohint2
- ldrb r1, [r5]
- adds r0, r4, 0
- bl sub_80CBCAC
-_080CDFF8:
- ldr r1, =gUnknown_02039D7A
- movs r0, 0
- strb r0, [r1]
-_080CDFFE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CDFAC
-
- thumb_func_start sub_80CE00C
-sub_80CE00C: @ 80CE00C
- push {lr}
- bl sub_80CEB40
- pop {r0}
- bx r0
- thumb_func_end sub_80CE00C
-
- thumb_func_start sub_80CE018
-sub_80CE018: @ 80CE018
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r4, 0xE
- bne _080CE054
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x000020a4
- adds r0, r1
- ldr r3, =gPlayerParty
- ldr r1, =gUnknown_02039D79
- movs r2, 0
- ldrsb r2, [r1, r2]
- movs r1, 0x64
- muls r1, r2
- adds r1, r3
- movs r2, 0x64
- bl memcpy
- b _080CE064
- .pool
-_080CE054:
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- ldr r0, =0x000020a4
- adds r2, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80D2054
-_080CE064:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80CE0E8
- ldr r0, =gUnknown_02039D7B
- strb r4, [r0]
- ldr r0, =gUnknown_02039D7C
- strb r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE018
-
- thumb_func_start diegohint2
-diegohint2: @ 80CE08C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- cmp r6, 0xE
- bne _080CE0C0
- ldr r1, =gPlayerParty
- movs r0, 0x64
- muls r0, r7
- adds r0, r1
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- ldr r2, =0x000020a4
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- b _080CE0D8
- .pool
-_080CE0C0:
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldr r4, =0x000020a4
- adds r0, r4
- bl BoxMonRestorePP
- ldr r2, [r5]
- adds r2, r4
- adds r0, r6, 0
- adds r1, r7, 0
- bl CopyBoxMonFromAnyBox
-_080CE0D8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end diegohint2
-
- thumb_func_start sub_80CE0E8
-sub_80CE0E8: @ 80CE0E8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r0, 0xE
- bne _080CE108
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl ZeroMonData
- b _080CE10C
- .pool
-_080CE108:
- bl ClearMonInBox
-_080CE10C:
- pop {r0}
- bx r0
- thumb_func_end sub_80CE0E8
-
- thumb_func_start diegohint1
-diegohint1: @ 80CE110
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- cmp r6, 0xE
- bne _080CE144
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00002108
- adds r0, r1
- ldr r2, =gPlayerParty
- movs r1, 0x64
- muls r1, r7
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- b _080CE154
- .pool
-_080CE144:
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- ldr r0, =0x00002108
- adds r2, r0
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_80D2054
-_080CE154:
- adds r0, r6, 0
- adds r1, r7, 0
- bl diegohint2
- ldr r5, =gUnknown_02039D08
- ldr r1, [r5]
- ldr r4, =0x000020a4
- adds r0, r1, r4
- ldr r2, =0x00002108
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0
- bl sub_80CEC00
- ldr r0, =gUnknown_02039D7B
- strb r6, [r0]
- ldr r0, =gUnknown_02039D7C
- strb r7, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end diegohint1
-
- thumb_func_start sub_80CE19C
-sub_80CE19C: @ 80CE19C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- bl GetFirstFreeBoxSpot
- lsls r0, 16
- lsrs r4, r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080CE1BA
- movs r0, 0
- b _080CE21A
-_080CE1BA:
- ldr r5, =gUnknown_02039D7A
- ldrb r0, [r5]
- cmp r0, 0
- beq _080CE1DC
- lsls r4, 24
- lsrs r1, r4, 24
- adds r0, r6, 0
- bl diegohint2
- bl sub_80CBAC4
- movs r0, 0
- strb r0, [r5]
- b _080CE1F6
- .pool
-_080CE1DC:
- ldr r5, =gUnknown_02039D79
- ldrb r1, [r5]
- movs r0, 0xE
- bl sub_80CE018
- lsls r4, 24
- lsrs r1, r4, 24
- adds r0, r6, 0
- bl diegohint2
- ldrb r0, [r5]
- bl sub_80CBB68
-_080CE1F6:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- bne _080CE208
- lsrs r0, r4, 24
- bl sub_80CB140
-_080CE208:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- movs r0, 0x1
-_080CE21A:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CE19C
-
- thumb_func_start sub_80CE22C
-sub_80CE22C: @ 80CE22C
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
- bl sub_80CEB40
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE22C
-
- thumb_func_start sub_80CE250
-sub_80CE250: @ 80CE250
- push {lr}
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CE264
- movs r2, 0x2
- b _080CE274
- .pool
-_080CE264:
- ldr r0, =gUnknown_02039D78
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r2, 0x1
- eors r1, r2
- negs r0, r1
- orrs r0, r1
- lsrs r2, r0, 31
-_080CE274:
- ldr r0, =gUnknown_02039D79
- ldrb r1, [r0]
- adds r0, r2, 0
- bl sub_80CBF14
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x000021e0
- adds r0, r1, r2
- ldr r2, =0x00000cee
- adds r1, r2
- bl StringCopy
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE250
-
- thumb_func_start sub_80CE2A8
-sub_80CE2A8: @ 80CE2A8
- push {lr}
- bl sub_80CBFD8
- lsls r0, 24
- cmp r0, 0
- beq _080CE2B8
- movs r0, 0x1
- b _080CE2CA
-_080CE2B8:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
- movs r0, 0
-_080CE2CA:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CE2A8
-
- thumb_func_start sub_80CE2D8
-sub_80CE2D8: @ 80CE2D8
- push {lr}
- bl sub_80CC020
- ldr r1, =gUnknown_02039D7A
- ldrb r0, [r1]
- cmp r0, 0
- beq _080CE2F0
- movs r0, 0
- strb r0, [r1]
- b _080CE316
- .pool
-_080CE2F0:
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080CE304
- movs r2, 0xE
- b _080CE30C
- .pool
-_080CE304:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r2, r0, 24
-_080CE30C:
- ldr r0, =gUnknown_02039D79
- ldrb r1, [r0]
- adds r0, r2, 0
- bl sub_80CE0E8
-_080CE316:
- bl sub_80CEB40
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE2D8
-
- thumb_func_start sub_80CE324
-sub_80CE324: @ 80CE324
- push {lr}
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CE33E
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
-_080CE33E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE324
-
- thumb_func_start sub_80CE350
-sub_80CE350: @ 80CE350
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r5, 0
- ldr r4, =gUnknown_0857B9A4
-_080CE358:
- movs r1, 0
- ldrsb r1, [r4, r1]
- cmp r1, 0x22
- beq _080CE378
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r0, 0x4
- ldrsb r0, [r2, r0]
- cmp r1, r0
- bne _080CE37E
- movs r1, 0x1
- ldrsb r1, [r4, r1]
- movs r0, 0x5
- ldrsb r0, [r2, r0]
- cmp r1, r0
- bne _080CE37E
-_080CE378:
- ldrh r0, [r4, 0x2]
- strh r0, [r3]
- adds r3, 0x2
-_080CE37E:
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, 0x5
- bls _080CE358
- ldr r1, =0x00000163
- adds r0, r1, 0
- strh r0, [r3]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE350
-
- thumb_func_start sub_80CE3A0
-sub_80CE3A0: @ 80CE3A0
- push {r4,r5,lr}
- bl sub_80CE51C
- adds r3, r0, 0
- cmp r3, 0
- bne _080CE3D0
- ldr r2, =gUnknown_02039D08
- ldr r0, [r2]
- ldr r1, =0x0000216d
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r2, =0x0000216c
- adds r0, r2
- strb r3, [r0]
- b _080CE504
- .pool
-_080CE3D0:
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CE418
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldr r3, =0x00002108
- adds r0, r1, r3
- ldr r2, =0x000020a4
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- ldr r0, [r4]
- ldr r3, =0x00002170
- adds r0, r3
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, =0x00002171
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- b _080CE494
- .pool
-_080CE418:
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080CE464
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r2, =0x00002108
- adds r0, r2
- ldr r3, =gPlayerParty
- ldr r1, =gUnknown_02039D79
- movs r2, 0
- ldrsb r2, [r1, r2]
- movs r1, 0x64
- muls r1, r2
- adds r1, r3
- movs r2, 0x64
- bl memcpy
- ldr r0, [r4]
- ldr r3, =0x00002170
- adds r0, r3
- movs r1, 0xE
- strb r1, [r0]
- b _080CE488
- .pool
-_080CE464:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02039D79
- ldrb r1, [r1]
- ldr r4, =gUnknown_02039D08
- ldr r2, [r4]
- ldr r3, =0x00002108
- adds r2, r3
- bl sub_80D2054
- bl StorageGetCurrentBox
- ldr r1, [r4]
- ldr r2, =0x00002170
- adds r1, r2
- strb r0, [r1]
-_080CE488:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =gUnknown_02039D79
- ldrb r1, [r1]
- ldr r3, =0x00002171
- adds r0, r3
-_080CE494:
- strb r1, [r0]
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldr r4, =0x00002176
- adds r0, r4
- bl sub_80CE350
- ldr r2, [r5]
- ldr r1, =0x00002108
- adds r0, r2, r1
- adds r2, r4
- movs r1, 0x51
- bl GetMonData
- ldr r2, [r5]
- ldr r3, =0x00002174
- adds r1, r2, r3
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _080CE4E8
- ldr r0, =0x0000216d
- adds r1, r2, r0
- movs r0, 0
- strb r0, [r1]
- b _080CE4F8
- .pool
-_080CE4E8:
- ldr r1, =0x0000216d
- adds r0, r2, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r5]
- ldr r2, =0x0000216c
- adds r0, r2
- strb r1, [r0]
-_080CE4F8:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r3, =0x00002172
- adds r0, r3
- movs r1, 0
- strh r1, [r0]
-_080CE504:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE3A0
-
- thumb_func_start sub_80CE51C
-sub_80CE51C: @ 80CE51C
- push {r4-r6,lr}
- ldr r0, =gUnknown_02039D7A
- ldrb r1, [r0]
- negs r0, r1
- orrs r0, r1
- lsrs r5, r0, 31
- movs r4, 0
-_080CE52A:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _080CE53E
- adds r5, 0x1
-_080CE53E:
- adds r4, 0x1
- cmp r4, 0x5
- ble _080CE52A
- cmp r5, 0x2
- ble _080CE554
-_080CE548:
- movs r0, 0x1
- b _080CE578
- .pool
-_080CE554:
- movs r6, 0
-_080CE556:
- movs r4, 0
-_080CE558:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80D2270
- cmp r0, 0
- beq _080CE56A
- adds r5, 0x1
- cmp r5, 0x2
- bgt _080CE548
-_080CE56A:
- adds r4, 0x1
- cmp r4, 0x1D
- ble _080CE558
- adds r6, 0x1
- cmp r6, 0xD
- ble _080CE556
- movs r0, 0
-_080CE578:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80CE51C
-
- thumb_func_start sub_80CE580
-sub_80CE580: @ 80CE580
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- ldr r3, =0x0000216d
- adds r1, r2, r3
- ldrb r1, [r1]
- adds r5, r0, 0
- cmp r1, 0
- beq _080CE5B0
- ldr r1, =0x0000216c
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- b _080CE736
- .pool
-_080CE5B0:
- ldr r3, =0x00002172
- adds r0, r2, r3
- ldrh r0, [r0]
- cmp r0, 0
- beq _080CE5C4
- cmp r0, 0x1
- beq _080CE690
- b _080CE732
- .pool
-_080CE5C4:
- movs r6, 0
-_080CE5C6:
- ldr r2, [r5]
- ldr r1, =0x00002170
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xE
- bne _080CE5E4
- ldr r3, =0x00002171
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, r6
- beq _080CE606
-_080CE5E4:
- movs r0, 0x64
- muls r0, r6
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =0x00002176
- adds r2, r1
- movs r1, 0x51
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r1, [r5]
- ldr r2, =0x00002174
- adds r1, r2
- ldrh r0, [r1]
- bics r0, r4
- strh r0, [r1]
-_080CE606:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _080CE5C6
- ldr r2, =gUnknown_02039D08
- ldr r1, [r2]
- ldr r3, =0x00002174
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, 0
- bne _080CE64C
- subs r3, 0x7
- adds r0, r1, r3
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r2, =0x0000216c
- adds r0, r2
- strb r1, [r0]
- b _080CE732
- .pool
-_080CE64C:
- ldr r3, =0x0000216e
- adds r0, r1, r3
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- adds r3, 0x1
- adds r0, r3
- strb r1, [r0]
- ldr r1, [r2]
- ldr r0, =0x00002172
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080CE732
- .pool
-_080CE674:
- ldr r1, =0x0000216d
- adds r0, r5, r1
- movs r1, 0x1
- strb r1, [r0]
- mov r2, r8
- ldr r0, [r2]
- ldr r3, =0x0000216c
- adds r0, r3
- strb r1, [r0]
- b _080CE732
- .pool
-_080CE690:
- movs r6, 0
- mov r8, r5
- ldr r7, =0x0000ffff
-_080CE696:
- mov r0, r8
- ldr r3, [r0]
- ldr r1, =0x0000216e
- adds r0, r3, r1
- ldrb r0, [r0]
- ldr r2, =0x0000216f
- adds r1, r3, r2
- ldrb r1, [r1]
- adds r2, 0x7
- adds r3, r2
- movs r2, 0x51
- bl GetAndCopyBoxMonDataFromAnyBox
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080CE6E0
- ldr r5, [r5]
- ldr r3, =0x00002170
- adds r0, r5, r3
- ldrh r2, [r0]
- ldr r1, =0x0000216e
- adds r0, r5, r1
- ldrh r3, [r0]
- adds r1, r7, 0
- ands r1, r2
- adds r0, r7, 0
- ands r0, r3
- cmp r1, r0
- beq _080CE6E0
- ldr r2, =0x00002174
- adds r1, r5, r2
- ldrh r0, [r1]
- bics r0, r4
- strh r0, [r1]
- cmp r0, 0
- beq _080CE674
-_080CE6E0:
- ldr r2, =gUnknown_02039D08
- ldr r1, [r2]
- ldr r3, =0x0000216f
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- movs r3, 0
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- adds r5, r2, 0
- cmp r0, 0x1D
- ble _080CE728
- ldr r0, [r2]
- ldr r1, =0x0000216f
- adds r0, r1
- strb r3, [r0]
- ldr r1, [r2]
- ldr r0, =0x0000216e
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xD
- ble _080CE728
- ldr r0, [r2]
- ldr r1, =0x0000216d
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r2, =0x0000216c
- adds r0, r2
- strb r3, [r0]
-_080CE728:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x1D
- bls _080CE696
-_080CE732:
- movs r0, 0x1
- negs r0, r0
-_080CE736:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CE580
-
- thumb_func_start sub_80CE760
-sub_80CE760: @ 80CE760
- push {lr}
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CE77A
- ldr r0, =gUnknown_02039D14
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- ldr r2, =0x000020a4
- adds r1, r2
- movs r2, 0x64
- bl memcpy
-_080CE77A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE760
-
- thumb_func_start sub_80CE790
-sub_80CE790: @ 80CE790
- push {lr}
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CE7D8
- ldr r0, =gUnknown_02039D7B
- ldrb r0, [r0]
- cmp r0, 0xE
- bne _080CE7C8
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x000020a4
- adds r0, r1
- ldr r1, =gUnknown_02039D14
- movs r2, 0x64
- bl memcpy
- b _080CE7D8
- .pool
-_080CE7C8:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x000020a4
- adds r0, r1
- ldr r1, =gUnknown_02039D14
- movs r2, 0x50
- bl memcpy
-_080CE7D8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE790
-
- thumb_func_start sub_80CE7E8
-sub_80CE7E8: @ 80CE7E8
- push {r4,r5,lr}
- ldr r0, =gUnknown_02039D7A
- ldrb r5, [r0]
- cmp r5, 0
- beq _080CE838
- bl sub_80CE760
- ldr r3, =gUnknown_02039D08
- ldr r1, [r3]
- ldr r0, =0x0000218c
- adds r2, r1, r0
- ldr r0, =gUnknown_02039D14
- str r0, [r2]
- ldr r2, =0x00002187
- adds r1, r2
- movs r2, 0
- strb r2, [r1]
- ldr r0, [r3]
- ldr r4, =0x00002186
- adds r0, r4
- strb r2, [r0]
- ldr r0, [r3]
- ldr r1, =0x00002188
- adds r0, r1
- strb r2, [r0]
- b _080CE8CA
- .pool
-_080CE838:
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080CE894
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldr r0, =0x0000218c
- adds r2, r1, r0
- ldr r0, =gPlayerParty
- str r0, [r2]
- ldr r0, =gUnknown_02039D79
- ldrb r0, [r0]
- ldr r2, =0x00002187
- adds r1, r2
- strb r0, [r1]
- bl CountPartyMons
- ldr r1, [r4]
- subs r0, 0x1
- ldr r2, =0x00002186
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r4]
- ldr r4, =0x00002188
- adds r0, r4
- strb r5, [r0]
- b _080CE8CA
- .pool
-_080CE894:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl GetBoxedMonPtr
- ldr r3, =gUnknown_02039D08
- ldr r2, [r3]
- ldr r4, =0x0000218c
- adds r1, r2, r4
- str r0, [r1]
- ldr r0, =gUnknown_02039D79
- ldrb r0, [r0]
- ldr r1, =0x00002187
- adds r2, r1
- strb r0, [r2]
- ldr r0, [r3]
- ldr r2, =0x00002186
- adds r0, r2
- movs r1, 0x1D
- strb r1, [r0]
- ldr r0, [r3]
- subs r4, 0x4
- adds r0, r4
- movs r1, 0x2
- strb r1, [r0]
-_080CE8CA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE7E8
-
- thumb_func_start sub_80CE8E4
-sub_80CE8E4: @ 80CE8E4
- push {lr}
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CE8F8
- bl sub_80CE790
- b _080CE900
- .pool
-_080CE8F8:
- ldr r0, =gUnknown_02039D79
- ldr r1, =gUnknown_0203CF20
- ldrb r1, [r1]
- strb r1, [r0]
-_080CE900:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE8E4
-
- thumb_func_start CompactPartySlots
-CompactPartySlots: @ 80CE90C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r7, =0x0000ffff
- movs r6, 0
- movs r5, 0
- movs r0, 0x64
- mov r9, r0
- ldr r1, =gPlayerParty
- mov r8, r1
- subs r0, 0x65
- mov r10, r0
-_080CE928:
- mov r0, r9
- muls r0, r6
- mov r1, r8
- adds r4, r0, r1
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- cmp r0, 0
- beq _080CE960
- cmp r6, r5
- beq _080CE950
- mov r0, r9
- muls r0, r5
- add r0, r8
- adds r1, r4, 0
- movs r2, 0x64
- bl memcpy
-_080CE950:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- b _080CE96A
- .pool
-_080CE960:
- lsls r0, r7, 16
- asrs r0, 16
- cmp r0, r10
- bne _080CE96A
- adds r7, r6, 0
-_080CE96A:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _080CE928
- lsls r7, 16
- cmp r5, 0x5
- bhi _080CE992
- movs r6, 0x64
- ldr r4, =gPlayerParty
-_080CE97E:
- adds r0, r5, 0
- muls r0, r6
- adds r0, r4
- bl ZeroMonData
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _080CE97E
-_080CE992:
- asrs r0, r7, 16
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CompactPartySlots
-
- thumb_func_start sub_80CE9A8
-sub_80CE9A8: @ 80CE9A8
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- strb r0, [r1]
- ldr r2, =gUnknown_02039D08
- ldr r1, [r2]
- ldr r3, =0x00000ceb
- adds r1, r3
- strb r0, [r1]
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CE9E8
- ldr r0, [r2]
- ldr r1, =0x000020a4
- adds r0, r1
- movs r1, 0x8
- mov r2, sp
- bl SetMonData
- b _080CEA1C
- .pool
-_080CE9E8:
- ldr r4, =gUnknown_02039D78
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x1
- bne _080CEA08
- ldr r0, =gUnknown_02039D79
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x8
- mov r2, sp
- bl SetMonData
-_080CEA08:
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _080CEA1C
- ldr r0, =gUnknown_02039D79
- ldrb r0, [r0]
- movs r1, 0x8
- mov r2, sp
- bl SetBoxMonDataFromSelectedBox
-_080CEA1C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE9A8
-
- thumb_func_start sub_80CEA30
-sub_80CEA30: @ 80CEA30
- push {lr}
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080CEA64
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CEA64
- ldr r0, =gUnknown_02039D79
- ldrb r0, [r0]
- bl CountPartyAliveNonEggMonsExcept
- lsls r0, 24
- cmp r0, 0
- bne _080CEA64
- movs r0, 0x1
- b _080CEA66
- .pool
-_080CEA64:
- movs r0, 0
-_080CEA66:
- pop {r1}
- bx r1
- thumb_func_end sub_80CEA30
-
- thumb_func_start sub_80CEA6C
-sub_80CEA6C: @ 80CEA6C
- push {lr}
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CEAC8
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080CEAAC
- ldr r0, =gUnknown_02039D79
- ldrb r0, [r0]
- bl CountPartyAliveNonEggMonsExcept
- lsls r0, 24
- cmp r0, 0
- bne _080CEAAC
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x00000ced
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CEAC8
- ldr r2, =0x000020a4
- adds r0, r1, r2
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _080CEAC8
-_080CEAAC:
- movs r0, 0x1
- b _080CEACA
- .pool
-_080CEAC8:
- movs r0, 0
-_080CEACA:
- pop {r1}
- bx r1
- thumb_func_end sub_80CEA6C
-
- thumb_func_start sub_80CEAD0
-sub_80CEAD0: @ 80CEAD0
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80CEAD0
-
- thumb_func_start sub_80CEADC
-sub_80CEADC: @ 80CEADC
- push {lr}
- movs r1, 0
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x2
- bne _080CEAEE
- movs r1, 0x1
-_080CEAEE:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CEADC
-
- thumb_func_start sub_80CEAF8
-sub_80CEAF8: @ 80CEAF8
- push {lr}
- movs r1, 0
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bne _080CEB16
- ldr r0, =gUnknown_02039D79
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080CEB16
- movs r1, 0x1
-_080CEB16:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CEAF8
-
- thumb_func_start sub_80CEB24
-sub_80CEB24: @ 80CEB24
- push {lr}
- movs r1, 0
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080CEB36
- movs r1, 0x1
-_080CEB36:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CEB24
-
- thumb_func_start sub_80CEB40
-sub_80CEB40: @ 80CEB40
- push {r4,lr}
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r2, 0
- ldr r3, =gUnknown_02039D7A
- ldrb r0, [r3]
- cmp r0, 0
- bne _080CEB52
- movs r2, 0x1
-_080CEB52:
- ldr r4, =0x00000cea
- adds r0, r1, r4
- strb r2, [r0]
- ldrb r0, [r3]
- cmp r0, 0
- bne _080CEBD0
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- beq _080CEB8A
- cmp r0, 0x1
- bgt _080CEB84
- cmp r0, 0
- beq _080CEBBA
- b _080CEBD0
- .pool
-_080CEB84:
- cmp r0, 0x3
- bgt _080CEBD0
- b _080CEBB0
-_080CEB8A:
- ldr r1, =gUnknown_02039D79
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0x5
- bgt _080CEBB0
- adds r1, r0, 0
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0
- bl sub_80CEC00
- b _080CEBD0
- .pool
-_080CEBB0:
- movs r0, 0
- movs r1, 0x2
- bl sub_80CEC00
- b _080CEBD0
-_080CEBBA:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02039D79
- ldrb r1, [r1]
- bl GetBoxedMonPtr
- movs r1, 0x1
- bl sub_80CEC00
-_080CEBD0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CEB40
-
- thumb_func_start sub_80CEBDC
-sub_80CEBDC: @ 80CEBDC
- push {lr}
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CEBF8
- ldr r0, =gUnknown_02039D14
- movs r1, 0
- bl sub_80CEC00
- b _080CEBFC
- .pool
-_080CEBF8:
- bl sub_80CEB40
-_080CEBFC:
- pop {r0}
- bx r0
- thumb_func_end sub_80CEBDC
-
- thumb_func_start sub_80CEC00
-sub_80CEC00: @ 80CEC00
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r5, r1, 0
- ldr r0, =gUnknown_02039D08
- mov r8, r0
- ldr r1, [r0]
- ldr r3, =0x00000ce6
- adds r2, r1, r3
- movs r0, 0
- strh r0, [r2]
- mov r9, r0
- mov r10, r0
- cmp r5, 0
- bne _080CED18
- adds r6, r4, 0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- mov r2, r8
- ldr r1, [r2]
- ldr r3, =0x00000ce4
- adds r1, r3
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bne _080CEC44
- b _080CEE34
-_080CEC44:
- adds r0, r4, 0
- movs r1, 0x4
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- cmp r0, 0
- beq _080CEC74
- mov r1, r8
- ldr r0, [r1]
- ldr r2, =0x00000ced
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- b _080CEC86
- .pool
-_080CEC74:
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- mov r3, r8
- ldr r1, [r3]
- ldr r2, =0x00000ced
- adds r1, r2
- strb r0, [r1]
-_080CEC86:
- ldr r4, =gUnknown_02039D08
- ldr r2, [r4]
- ldr r5, =0x00000cee
- adds r2, r5
- adds r0, r6, 0
- movs r1, 0x2
- bl GetMonData
- ldr r0, [r4]
- adds r0, r5
- bl StringGetEnd10
- adds r0, r6, 0
- movs r1, 0x38
- bl GetMonData
- ldr r1, [r4]
- ldr r3, =0x00000cec
- adds r1, r3
- strb r0, [r1]
- adds r0, r6, 0
- movs r1, 0x8
- bl GetMonData
- ldr r1, [r4]
- ldr r2, =0x00000ceb
- adds r1, r2
- strb r0, [r1]
- adds r0, r6, 0
- movs r1, 0
- bl GetMonData
- ldr r1, [r4]
- movs r3, 0xCE
- lsls r3, 4
- adds r1, r3
- str r0, [r1]
- adds r0, r6, 0
- bl GetMonFrontSpritePal
- ldr r1, [r4]
- ldr r2, =0x00000cdc
- adds r1, r2
- str r0, [r1]
- adds r0, r6, 0
- bl GetMonGender
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- adds r0, r6, 0
- movs r1, 0xC
- bl GetMonData
- ldr r1, [r4]
- ldr r3, =0x00000ce6
- adds r1, r3
- strh r0, [r1]
- b _080CEE26
- .pool
-_080CED18:
- cmp r5, 0x1
- beq _080CED1E
- b _080CEE1C
-_080CED1E:
- adds r7, r4, 0
- adds r0, r7, 0
- movs r1, 0x41
- bl GetBoxMonData
- mov r2, r8
- ldr r1, [r2]
- ldr r3, =0x00000ce4
- adds r1, r3
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bne _080CED3A
- b _080CEE34
-_080CED3A:
- adds r0, r7, 0
- movs r1, 0x1
- bl GetBoxMonData
- mov r9, r0
- adds r0, r7, 0
- movs r1, 0x4
- bl GetBoxMonData
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- cmp r0, 0
- beq _080CED6C
- mov r1, r8
- ldr r0, [r1]
- ldr r2, =0x00000ced
- adds r0, r2
- strb r5, [r0]
- b _080CED7E
- .pool
-_080CED6C:
- adds r0, r7, 0
- movs r1, 0x2D
- bl GetBoxMonData
- mov r3, r8
- ldr r1, [r3]
- ldr r2, =0x00000ced
- adds r1, r2
- strb r0, [r1]
-_080CED7E:
- ldr r5, =gUnknown_02039D08
- ldr r2, [r5]
- ldr r4, =0x00000cee
- adds r2, r4
- adds r0, r7, 0
- movs r1, 0x2
- bl GetBoxMonData
- ldr r0, [r5]
- adds r0, r4
- bl StringGetEnd10
- adds r0, r7, 0
- bl GetLevelFromBoxMonExp
- ldr r1, [r5]
- ldr r3, =0x00000cec
- adds r1, r3
- strb r0, [r1]
- adds r0, r7, 0
- movs r1, 0x8
- bl GetBoxMonData
- ldr r1, [r5]
- ldr r2, =0x00000ceb
- adds r1, r2
- strb r0, [r1]
- adds r0, r7, 0
- movs r1, 0
- bl GetBoxMonData
- adds r2, r0, 0
- ldr r1, [r5]
- movs r6, 0xCE
- lsls r6, 4
- adds r0, r1, r6
- str r2, [r0]
- subs r4, 0xA
- adds r1, r4
- ldrh r0, [r1]
- mov r1, r9
- bl GetFrontSpritePalFromSpeciesAndPersonality
- ldr r1, [r5]
- ldr r3, =0x00000cdc
- adds r2, r1, r3
- str r0, [r2]
- adds r4, r1, r4
- ldrh r0, [r4]
- adds r1, r6
- ldr r1, [r1]
- bl GetGenderFromSpeciesAndPersonality
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- adds r0, r7, 0
- movs r1, 0xC
- bl GetBoxMonData
- ldr r1, [r5]
- ldr r2, =0x00000ce6
- adds r1, r2
- strh r0, [r1]
- b _080CEE26
- .pool
-_080CEE1C:
- ldr r3, =0x00000ce4
- adds r0, r1, r3
- mov r1, r9
- strh r1, [r0]
- strh r1, [r2]
-_080CEE26:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x00000ce4
- adds r0, r1, r2
- ldrh r2, [r0]
- cmp r2, 0
- bne _080CEE94
-_080CEE34:
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r3, =0x00000cee
- adds r0, r3
- movs r1, 0
- movs r2, 0x5
- bl StringFill
- ldr r0, [r4]
- ldr r1, =0x00000cf9
- adds r0, r1
- movs r1, 0
- movs r2, 0x8
- bl StringFill
- ldr r0, [r4]
- ldr r2, =0x00000d1d
- adds r0, r2
- movs r1, 0
- movs r2, 0x8
- bl StringFill
- ldr r0, [r4]
- ldr r3, =0x00000d41
- adds r0, r3
- movs r1, 0
- movs r2, 0x8
- bl StringFill
- ldr r0, [r4]
- ldr r1, =0x00000d65
- adds r0, r1
- b _080CEEF2
- .pool
-_080CEE94:
- ldr r3, =0x00000ced
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CEF14
- mov r0, r10
- cmp r0, 0
- beq _080CEEC0
- ldr r2, =0x00000cf9
- adds r0, r1, r2
- adds r3, 0x1
- adds r1, r3
- movs r2, 0
- movs r3, 0x5
- bl StringCopyPadded
- b _080CEECE
- .pool
-_080CEEC0:
- ldr r2, =0x00000cf9
- adds r0, r1, r2
- ldr r1, =gText_EggNickname
- movs r2, 0
- movs r3, 0x8
- bl StringCopyPadded
-_080CEECE:
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r3, =0x00000d1d
- adds r0, r3
- movs r1, 0
- movs r2, 0x8
- bl StringFill
- ldr r0, [r4]
- ldr r1, =0x00000d41
- adds r0, r1
- movs r1, 0
- movs r2, 0x8
- bl StringFill
- ldr r0, [r4]
- ldr r2, =0x00000d65
- adds r0, r2
-_080CEEF2:
- movs r1, 0
- movs r2, 0x8
- bl StringFill
- b _080CF0B8
- .pool
-_080CEF14:
- cmp r2, 0x1D
- beq _080CEF1C
- cmp r2, 0x20
- bne _080CEF20
-_080CEF1C:
- movs r3, 0xFF
- mov r9, r3
-_080CEF20:
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldr r2, =0x00000cf9
- adds r0, r1, r2
- ldr r3, =0x00000cee
- adds r1, r3
- movs r2, 0
- movs r3, 0x5
- bl StringCopyPadded
- ldr r1, [r4]
- ldr r0, =0x00000d1d
- adds r2, r1, r0
- movs r0, 0xBA
- strb r0, [r2]
- ldr r3, =0x00000d1e
- adds r2, r1, r3
- ldr r0, [r4]
- ldr r1, =0x00000ce4
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- adds r0, r2, 0
- movs r2, 0
- movs r3, 0x5
- bl StringCopyPadded
- ldr r4, [r4]
- ldr r3, =0x00000d41
- adds r2, r4, r3
- movs r0, 0xFC
- strb r0, [r2]
- ldr r0, =0x00000d42
- adds r2, r4, r0
- movs r0, 0x4
- strb r0, [r2]
- ldr r1, =0x00000d43
- adds r2, r4, r1
- mov r3, r9
- cmp r3, 0
- beq _080CEFD4
- cmp r3, 0xFE
- beq _080CF000
- movs r0, 0x2
- strb r0, [r2]
- ldr r0, =0x00000d44
- adds r2, r4, r0
- movs r0, 0x1
- strb r0, [r2]
- adds r1, 0x2
- adds r2, r4, r1
- movs r0, 0x3
- strb r0, [r2]
- ldr r3, =0x00000d46
- adds r2, r4, r3
- movs r0, 0x77
- strb r0, [r2]
- ldr r0, =0x00000d47
- adds r2, r4, r0
- b _080CF020
- .pool
-_080CEFD4:
- strb r0, [r2]
- ldr r1, =0x00000d44
- adds r2, r4, r1
- movs r0, 0x1
- strb r0, [r2]
- ldr r3, =0x00000d45
- adds r2, r4, r3
- movs r0, 0x5
- strb r0, [r2]
- ldr r0, =0x00000d46
- adds r2, r4, r0
- movs r0, 0xB5
- strb r0, [r2]
- adds r1, 0x3
- adds r2, r4, r1
- b _080CF020
- .pool
-_080CF000:
- movs r0, 0x6
- strb r0, [r2]
- ldr r3, =0x00000d44
- adds r2, r4, r3
- movs r0, 0x1
- strb r0, [r2]
- ldr r0, =0x00000d45
- adds r2, r4, r0
- movs r0, 0x7
- strb r0, [r2]
- ldr r1, =0x00000d46
- adds r2, r4, r1
- movs r0, 0xB6
- strb r0, [r2]
- adds r3, 0x3
- adds r2, r4, r3
-_080CF020:
- movs r0, 0xFC
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0x4
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0x2
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0x1
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0x3
- strb r0, [r2]
- adds r2, 0x1
- movs r5, 0
- strb r5, [r2]
- adds r2, 0x1
- movs r0, 0xF9
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0x5
- strb r0, [r2]
- adds r2, 0x1
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r1, =0x00000cec
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r2, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r2, r0, 0
- strb r5, [r2]
- movs r0, 0xFF
- strb r0, [r2, 0x1]
- ldr r4, [r4]
- ldr r2, =0x00000ce6
- adds r1, r4, r2
- ldrh r0, [r1]
- cmp r0, 0
- beq _080CF0AC
- ldr r3, =0x00000d65
- adds r4, r3
- bl ItemId_GetName
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x8
- bl StringCopyPadded
- b _080CF0B8
- .pool
-_080CF0AC:
- ldr r1, =0x00000d65
- adds r0, r4, r1
- movs r1, 0
- movs r2, 0x8
- bl StringFill
-_080CF0B8:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CEC00
-
- thumb_func_start sub_80CF0CC
-sub_80CF0CC: @ 80CF0CC
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x000021ff
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080CF0F4
- cmp r0, 0x1
- ble _080CF0E4
- cmp r0, 0x2
- beq _080CF0FA
-_080CF0E4:
- bl sub_80CF108
- b _080CF0FE
- .pool
-_080CF0F4:
- bl sub_80CF374
- b _080CF0FE
-_080CF0FA:
- bl sub_80CF4B0
-_080CF0FE:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80CF0CC
-
- thumb_func_start sub_80CF108
-sub_80CF108: @ 80CF108
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- mov r8, r0
- ldr r2, =gUnknown_02039D79
- ldrb r4, [r2]
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldr r1, =0x00000cd2
- mov r10, r1
- add r0, r10
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r5]
- ldr r7, =0x00000cd3
- adds r0, r7
- strb r1, [r0]
- ldr r0, [r5]
- ldr r3, =0x00000cd7
- mov r9, r3
- add r0, r9
- strb r1, [r0]
- ldr r6, =gMain
- ldrh r1, [r6, 0x30]
- movs r0, 0x40
- ands r0, r1
- adds r3, r2, 0
- cmp r0, 0
- beq _080CF14C
- b _080CF33C
-_080CF14C:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080CF1A8
- movs r6, 0x1
- lsls r0, r4, 24
- movs r1, 0xC0
- lsls r1, 19
- adds r0, r1
- lsrs r4, r0, 24
- asrs r0, 24
- cmp r0, 0x1D
- bgt _080CF168
- b _080CF358
-_080CF168:
- movs r2, 0x3
- mov r8, r2
- subs r0, 0x1E
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x3
- bl __divsi3
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, [r5]
- add r0, r10
- strb r6, [r0]
- ldr r0, [r5]
- add r0, r9
- strb r6, [r0]
- b _080CF358
- .pool
-_080CF1A8:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080CF1DE
- movs r6, 0x1
- movs r0, 0
- ldrsb r0, [r3, r0]
- movs r1, 0x6
- bl __modsi3
- lsls r0, 24
- cmp r0, 0
- beq _080CF1CA
- lsls r0, r4, 24
- movs r3, 0xFF
- lsls r3, 24
- b _080CF34C
-_080CF1CA:
- ldr r0, [r5]
- adds r0, r7
- movs r1, 0xFF
- strb r1, [r0]
- lsls r0, r4, 24
- movs r1, 0xA0
- lsls r1, 19
- adds r0, r1
- lsrs r4, r0, 24
- b _080CF358
-_080CF1DE:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080CF212
- movs r6, 0x1
- movs r0, 0
- ldrsb r0, [r3, r0]
- adds r0, 0x1
- movs r1, 0x6
- bl __modsi3
- cmp r0, 0
- beq _080CF204
- lsls r0, r4, 24
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r4, r0, 24
- b _080CF358
-_080CF204:
- ldr r0, [r5]
- adds r0, r7
- strb r6, [r0]
- lsls r0, r4, 24
- movs r3, 0xFB
- lsls r3, 24
- b _080CF34C
-_080CF212:
- ldrh r1, [r6, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080CF220
- movs r6, 0x1
- b _080CF352
-_080CF220:
- movs r4, 0x1
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CF2E4
- bl sub_80CFA5C
- lsls r0, 24
- cmp r0, 0
- beq _080CF2E4
- ldr r0, =gUnknown_02039D7D
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CF244
- movs r0, 0x8
- b _080CF366
- .pool
-_080CF244:
- ldr r1, [r5]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x2
- bne _080CF254
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080CF2D4
-_080CF254:
- movs r0, 0
- bl sub_80CFF98
- subs r0, 0x1
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xE
- bhi _080CF2E4
- lsls r0, 2
- ldr r1, =_080CF278
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080CF278:
- .4byte _080CF2B4
- .4byte _080CF2B8
- .4byte _080CF2BC
- .4byte _080CF2C0
- .4byte _080CF2C4
- .4byte _080CF2E4
- .4byte _080CF2E4
- .4byte _080CF2E4
- .4byte _080CF2E4
- .4byte _080CF2E4
- .4byte _080CF2E4
- .4byte _080CF2C8
- .4byte _080CF2CC
- .4byte _080CF2E4
- .4byte _080CF2D0
-_080CF2B4:
- movs r0, 0xB
- b _080CF366
-_080CF2B8:
- movs r0, 0xC
- b _080CF366
-_080CF2BC:
- movs r0, 0xD
- b _080CF366
-_080CF2C0:
- movs r0, 0xE
- b _080CF366
-_080CF2C4:
- movs r0, 0xF
- b _080CF366
-_080CF2C8:
- movs r0, 0x10
- b _080CF366
-_080CF2CC:
- movs r0, 0x11
- b _080CF366
-_080CF2D0:
- movs r0, 0x12
- b _080CF366
-_080CF2D4:
- ldr r2, =0x000021ff
- adds r0, r1, r2
- strb r4, [r0]
- movs r0, 0x14
- b _080CF366
- .pool
-_080CF2E4:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080CF2F8
- movs r0, 0x13
- b _080CF366
- .pool
-_080CF2F8:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080CF326
- ldrh r1, [r2, 0x2C]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080CF318
- movs r0, 0xA
- b _080CF366
- .pool
-_080CF318:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080CF326
- movs r0, 0x9
- b _080CF366
-_080CF326:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080CF338
- bl sub_80CFDC4
- movs r0, 0
- b _080CF366
-_080CF338:
- movs r6, 0
- b _080CF364
-_080CF33C:
- movs r6, 0x1
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0x5
- ble _080CF352
- lsls r0, r4, 24
- movs r3, 0xFA
- lsls r3, 24
-_080CF34C:
- adds r0, r3
- lsrs r4, r0, 24
- b _080CF358
-_080CF352:
- movs r0, 0x2
- mov r8, r0
- movs r4, 0
-_080CF358:
- cmp r6, 0
- beq _080CF364
- mov r0, r8
- adds r1, r4, 0
- bl sub_80CD894
-_080CF364:
- adds r0, r6, 0
-_080CF366:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80CF108
-
- thumb_func_start sub_80CF374
-sub_80CF374: @ 80CF374
- push {r4,lr}
- ldr r1, =gMain
- ldrh r0, [r1, 0x2C]
- movs r4, 0x1
- ands r4, r0
- cmp r4, 0
- beq _080CF428
- ldrh r1, [r1, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080CF3AC
- ldr r4, =gUnknown_02039D79
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r1, 0x6
- bl __divsi3
- lsls r0, 24
- cmp r0, 0
- beq _080CF420
- ldrb r1, [r4]
- subs r1, 0x6
- b _080CF40E
- .pool
-_080CF3AC:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080CF3CC
- ldr r1, =gUnknown_02039D79
- movs r0, 0
- ldrsb r0, [r1, r0]
- adds r0, 0x6
- cmp r0, 0x1D
- bgt _080CF420
- ldrb r1, [r1]
- adds r1, 0x6
- b _080CF40E
- .pool
-_080CF3CC:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080CF3F0
- ldr r4, =gUnknown_02039D79
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r1, 0x6
- bl __modsi3
- lsls r0, 24
- cmp r0, 0
- beq _080CF420
- ldrb r1, [r4]
- subs r1, 0x1
- b _080CF40E
- .pool
-_080CF3F0:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080CF424
- ldr r4, =gUnknown_02039D79
- movs r0, 0
- ldrsb r0, [r4, r0]
- adds r0, 0x1
- movs r1, 0x6
- bl __modsi3
- cmp r0, 0
- beq _080CF420
- ldrb r1, [r4]
- adds r1, 0x1
-_080CF40E:
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_80CD894
- movs r0, 0x15
- b _080CF49C
- .pool
-_080CF420:
- movs r0, 0x18
- b _080CF49C
-_080CF424:
- movs r0, 0
- b _080CF49C
-_080CF428:
- bl sub_80D0BA4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02039D79
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- cmp r0, r1
- beq _080CF47C
- ldr r2, =gUnknown_02039D7A
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r3, =0x00000ce4
- adds r0, r1, r3
- ldrh r0, [r0]
- negs r0, r0
- lsrs r0, 31
- strb r0, [r2]
- ldr r0, =0x000021ff
- adds r1, r0
- movs r0, 0x2
- strb r0, [r1]
- bl StorageGetCurrentBox
- ldr r1, =gUnknown_02039D7B
- strb r0, [r1]
- movs r0, 0x17
- b _080CF49C
- .pool
-_080CF47C:
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- ldr r2, =0x000021ff
- adds r0, r2
- strb r4, [r0]
- ldr r0, [r1]
- ldr r3, =0x00000cb8
- adds r0, r3
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- movs r0, 0x16
-_080CF49C:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CF374
-
- thumb_func_start sub_80CF4B0
-sub_80CF4B0: @ 80CF4B0
- push {r4,lr}
- ldr r2, =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080CF4DC
- movs r0, 0
- bl sub_80D0580
- lsls r0, 24
- cmp r0, 0
- beq _080CF588
- ldr r0, =gUnknown_02039D79
- ldrb r1, [r0]
- subs r1, 0x6
- b _080CF53A
- .pool
-_080CF4DC:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080CF4FC
- movs r0, 0x1
- bl sub_80D0580
- lsls r0, 24
- cmp r0, 0
- beq _080CF588
- ldr r0, =gUnknown_02039D79
- ldrb r1, [r0]
- adds r1, 0x6
- b _080CF53A
- .pool
-_080CF4FC:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080CF51C
- movs r0, 0x2
- bl sub_80D0580
- lsls r0, 24
- cmp r0, 0
- beq _080CF5A2
- ldr r0, =gUnknown_02039D79
- ldrb r1, [r0]
- subs r1, 0x1
- b _080CF53A
- .pool
-_080CF51C:
- movs r0, 0x10
- ands r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080CF54C
- movs r0, 0x3
- bl sub_80D0580
- lsls r0, 24
- cmp r0, 0
- beq _080CF5B6
- ldr r0, =gUnknown_02039D79
- ldrb r1, [r0]
- adds r1, 0x1
-_080CF53A:
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_80CD894
- movs r0, 0x19
- b _080CF5BC
- .pool
-_080CF54C:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CF580
- bl sub_80D0BC0
- lsls r0, 24
- cmp r0, 0
- beq _080CF588
- ldr r0, =gUnknown_02039D7A
- strb r4, [r0]
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x000021ff
- adds r0, r1
- strb r4, [r0]
- movs r0, 0x1A
- b _080CF5BC
- .pool
-_080CF580:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080CF58C
-_080CF588:
- movs r0, 0x18
- b _080CF5BC
-_080CF58C:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080CF5BA
- ldrh r1, [r2, 0x2C]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080CF5AC
-_080CF5A2:
- movs r0, 0xA
- b _080CF5BC
- .pool
-_080CF5AC:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080CF5BA
-_080CF5B6:
- movs r0, 0x9
- b _080CF5BC
-_080CF5BA:
- movs r0, 0
-_080CF5BC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80CF4B0
-
- thumb_func_start sub_80CF5C4
-sub_80CF5C4: @ 80CF5C4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- mov r9, r0
- ldr r6, =gUnknown_02039D79
- ldrb r4, [r6]
- ldr r2, =gUnknown_02039D08
- ldr r0, [r2]
- ldr r1, =0x00000cd3
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldr r3, =0x00000cd2
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- adds r3, 0x5
- adds r0, r3
- strb r1, [r0]
- mov r8, r1
- movs r7, 0
- ldr r1, =gMain
- ldrh r3, [r1, 0x30]
- movs r0, 0x40
- ands r0, r3
- adds r5, r6, 0
- mov r12, r1
- cmp r0, 0
- beq _080CF608
- b _080CF7A8
-_080CF608:
- movs r0, 0x80
- ands r0, r3
- cmp r0, 0
- beq _080CF64C
- lsls r0, r4, 24
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r4, r0, 24
- asrs r0, 24
- cmp r0, 0x6
- ble _080CF622
- movs r4, 0
-_080CF622:
- lsls r0, r4, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r5, r1]
- cmp r0, r1
- bne _080CF630
- b _080CF7C6
-_080CF630:
- movs r7, 0x1
- b _080CF7CA
- .pool
-_080CF64C:
- movs r0, 0x20
- ands r0, r3
- cmp r0, 0
- beq _080CF670
- ldrb r1, [r5]
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0
- beq _080CF670
- movs r7, 0x1
- ldr r0, [r2]
- ldr r2, =0x00000cd6
- adds r0, r2
- strb r1, [r0]
- movs r4, 0
- b _080CF7C6
- .pool
-_080CF670:
- mov r3, r12
- ldrh r1, [r3, 0x30]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080CF69E
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0
- bne _080CF694
- movs r7, 0x1
- ldr r0, [r2]
- ldr r1, =0x00000cd6
- adds r0, r1
- ldrb r4, [r0]
- b _080CF7C6
- .pool
-_080CF694:
- movs r7, 0x6
- movs r2, 0
- mov r9, r2
- movs r4, 0
- b _080CF7C6
-_080CF69E:
- mov r3, r12
- ldrh r1, [r3, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CF75C
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0x6
- bne _080CF6C4
- ldr r0, [r2]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _080CF6BE
- movs r0, 0x4
- b _080CF7D8
-_080CF6BE:
- movs r0, 0x1
- mov r8, r0
- b _080CF75C
-_080CF6C4:
- bl sub_80CFA5C
- lsls r0, 24
- cmp r0, 0
- beq _080CF75C
- ldr r0, =gUnknown_02039D7D
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CF6E0
- movs r0, 0x8
- b _080CF7D8
- .pool
-_080CF6E0:
- movs r0, 0
- bl sub_80CFF98
- subs r0, 0x1
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xE
- bhi _080CF75C
- lsls r0, 2
- ldr r1, =_080CF700
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080CF700:
- .4byte _080CF73C
- .4byte _080CF740
- .4byte _080CF744
- .4byte _080CF748
- .4byte _080CF74C
- .4byte _080CF75C
- .4byte _080CF75C
- .4byte _080CF75C
- .4byte _080CF75C
- .4byte _080CF75C
- .4byte _080CF75C
- .4byte _080CF750
- .4byte _080CF754
- .4byte _080CF75C
- .4byte _080CF758
-_080CF73C:
- movs r0, 0xB
- b _080CF7D8
-_080CF740:
- movs r0, 0xC
- b _080CF7D8
-_080CF744:
- movs r0, 0xD
- b _080CF7D8
-_080CF748:
- movs r0, 0xE
- b _080CF7D8
-_080CF74C:
- movs r0, 0xF
- b _080CF7D8
-_080CF750:
- movs r0, 0x10
- b _080CF7D8
-_080CF754:
- movs r0, 0x11
- b _080CF7D8
-_080CF758:
- movs r0, 0x12
- b _080CF7D8
-_080CF75C:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r1
- mov r12, r2
- cmp r0, 0
- beq _080CF784
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _080CF780
- movs r0, 0x13
- b _080CF7D8
- .pool
-_080CF780:
- movs r1, 0x1
- mov r8, r1
-_080CF784:
- mov r2, r8
- cmp r2, 0
- beq _080CF794
- movs r7, 0x6
- movs r3, 0
- mov r9, r3
- movs r4, 0
- b _080CF7C6
-_080CF794:
- mov r0, r12
- ldrh r1, [r0, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080CF7C6
- bl sub_80CFDC4
- movs r0, 0
- b _080CF7D8
-_080CF7A8:
- lsls r0, r4, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r4, r0, 24
- cmp r0, 0
- bge _080CF7B8
- movs r4, 0x6
-_080CF7B8:
- lsls r0, r4, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r6, r1]
- cmp r0, r1
- beq _080CF7C6
- movs r7, 0x1
-_080CF7C6:
- cmp r7, 0
- beq _080CF7D6
-_080CF7CA:
- cmp r7, 0x6
- beq _080CF7D6
- mov r0, r9
- adds r1, r4, 0
- bl sub_80CD894
-_080CF7D6:
- adds r0, r7, 0
-_080CF7D8:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80CF5C4
-
- thumb_func_start sub_80CF7E4
-sub_80CF7E4: @ 80CF7E4
- push {r4-r6,lr}
- ldr r3, =gUnknown_02039D08
- ldr r0, [r3]
- ldr r1, =0x00000cd3
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r3]
- ldr r2, =0x00000cd2
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r3]
- ldr r5, =0x00000cd7
- adds r0, r5
- strb r1, [r0]
- ldr r1, =gMain
- ldrh r2, [r1, 0x30]
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- bne _080CF8AA
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _080CF834
- movs r4, 0x1
- movs r1, 0
- movs r6, 0x2
- b _080CF8B6
- .pool
-_080CF834:
- ldrh r2, [r1, 0x2C]
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- bne _080CF85A
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- bne _080CF86E
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080CF872
- movs r0, 0x80
- lsls r0, 2
- ands r0, r2
- cmp r0, 0
- beq _080CF864
-_080CF85A:
- movs r0, 0xA
- b _080CF8D2
- .pool
-_080CF864:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r2
- cmp r0, 0
- beq _080CF872
-_080CF86E:
- movs r0, 0x9
- b _080CF8D2
-_080CF872:
- ldrh r1, [r1, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CF88A
- movs r0, 0
- bl sub_80CD1A8
- bl sub_80CFA38
- movs r0, 0x7
- b _080CF8D2
-_080CF88A:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080CF896
- movs r0, 0x13
- b _080CF8D2
-_080CF896:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080CF8A6
- bl sub_80CFDC4
- movs r0, 0
- b _080CF8D2
-_080CF8A6:
- movs r4, 0
- b _080CF8D0
-_080CF8AA:
- movs r4, 0x1
- movs r1, 0x3
- movs r6, 0
- ldr r0, [r3]
- adds r0, r5
- strb r4, [r0]
-_080CF8B6:
- cmp r4, 0
- beq _080CF8D0
- lsls r5, r1, 24
- cmp r1, 0x2
- beq _080CF8C6
- movs r0, 0
- bl sub_80CD1A8
-_080CF8C6:
- lsrs r0, r5, 24
- lsls r1, r6, 24
- lsrs r1, 24
- bl sub_80CD894
-_080CF8D0:
- adds r0, r4, 0
-_080CF8D2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80CF7E4
-
- thumb_func_start sub_80CF8D8
-sub_80CF8D8: @ 80CF8D8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- mov r8, r0
- ldr r0, =gUnknown_02039D79
- mov r12, r0
- ldrb r2, [r0]
- ldr r3, =gUnknown_02039D08
- ldr r0, [r3]
- ldr r1, =0x00000cd3
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r3]
- ldr r6, =0x00000cd2
- adds r0, r6
- strb r1, [r0]
- ldr r0, [r3]
- ldr r5, =0x00000cd7
- adds r0, r5
- strb r1, [r0]
- ldr r7, =gMain
- ldrh r1, [r7, 0x30]
- movs r0, 0x40
- ands r0, r1
- adds r4, r3, 0
- cmp r0, 0
- bne _080CF9B2
- movs r0, 0x88
- ands r0, r1
- cmp r0, 0
- beq _080CF944
- movs r7, 0x1
- movs r0, 0x2
- mov r8, r0
- movs r2, 0
- ldr r0, [r4]
- b _080CF9D0
- .pool
-_080CF944:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080CF960
- movs r7, 0x1
- lsls r0, r2, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r2, r0, 24
- cmp r0, 0
- bge _080CF9D4
- movs r2, 0x1
- b _080CF9D4
-_080CF960:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080CF97E
- movs r7, 0x1
- lsls r0, r2, 24
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r2, r0, 24
- asrs r0, 24
- cmp r0, 0x1
- ble _080CF9D4
- movs r2, 0
- b _080CF9D4
-_080CF97E:
- ldrh r1, [r7, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CF992
- movs r0, 0x4
- cmp r2, 0
- bne _080CF9E2
- movs r0, 0x5
- b _080CF9E2
-_080CF992:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080CF99E
- movs r0, 0x13
- b _080CF9E2
-_080CF99E:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080CF9AE
- bl sub_80CFDC4
- movs r0, 0
- b _080CF9E2
-_080CF9AE:
- movs r7, 0
- b _080CF9E0
-_080CF9B2:
- movs r7, 0x1
- movs r0, 0
- mov r8, r0
- ldr r0, [r3]
- adds r0, r6
- movs r1, 0xFF
- strb r1, [r0]
- mov r1, r12
- movs r0, 0
- ldrsb r0, [r1, r0]
- movs r2, 0x1D
- cmp r0, 0
- bne _080CF9CE
- movs r2, 0x18
-_080CF9CE:
- ldr r0, [r3]
-_080CF9D0:
- adds r0, r5
- strb r7, [r0]
-_080CF9D4:
- cmp r7, 0
- beq _080CF9E0
- mov r0, r8
- adds r1, r2, 0
- bl sub_80CD894
-_080CF9E0:
- adds r0, r7, 0
-_080CF9E2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80CF8D8
-
- thumb_func_start sub_80CF9EC
-sub_80CF9EC: @ 80CF9EC
- push {r4,r5,lr}
- movs r3, 0
- ldr r0, =gUnknown_0857B9BC
- ldr r1, [r0]
- adds r4, r0, 0
- cmp r1, 0
- beq _080CFA30
- ldr r5, =gUnknown_02039D78
-_080CF9FC:
- lsls r0, r3, 3
- adds r2, r0, r4
- movs r1, 0x4
- ldrsb r1, [r2, r1]
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r1, r0
- bne _080CFA20
- ldr r0, [r2]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- b _080CFA32
- .pool
-_080CFA20:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r0, r3, 3
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- bne _080CF9FC
-_080CFA30:
- movs r0, 0
-_080CFA32:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80CF9EC
-
- thumb_func_start sub_80CFA38
-sub_80CFA38: @ 80CFA38
- push {lr}
- bl sub_80CFEF0
- movs r0, 0x9
- bl sub_80CFF34
- movs r0, 0xA
- bl sub_80CFF34
- movs r0, 0xB
- bl sub_80CFF34
- movs r0, 0
- bl sub_80CFF34
- pop {r0}
- bx r0
- thumb_func_end sub_80CFA38
-
- thumb_func_start sub_80CFA5C
-sub_80CFA5C: @ 80CFA5C
- push {lr}
- bl sub_80CFEF0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080CFA78
- bl sub_80CFB44
- b _080CFA7C
- .pool
-_080CFA78:
- bl sub_80CFA84
-_080CFA7C:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80CFA5C
-
- thumb_func_start sub_80CFA84
-sub_80CFA84: @ 80CFA84
- push {lr}
- bl sub_80CD504
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- beq _080CFAAE
- cmp r0, 0x1
- bgt _080CFAA8
- cmp r0, 0
- beq _080CFABA
- b _080CFAF4
- .pool
-_080CFAA8:
- cmp r0, 0x2
- beq _080CFAC6
- b _080CFAF4
-_080CFAAE:
- cmp r1, 0
- beq _080CFAF4
- movs r0, 0x1
- bl sub_80CFF34
- b _080CFAF8
-_080CFABA:
- cmp r1, 0
- beq _080CFAF4
- movs r0, 0x2
- bl sub_80CFF34
- b _080CFAF8
-_080CFAC6:
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CFAE8
- cmp r1, 0
- beq _080CFAE0
- movs r0, 0x4
- bl sub_80CFF34
- b _080CFAF8
- .pool
-_080CFAE0:
- movs r0, 0x5
- bl sub_80CFF34
- b _080CFAF8
-_080CFAE8:
- cmp r1, 0
- beq _080CFAF4
- movs r0, 0x3
- bl sub_80CFF34
- b _080CFAF8
-_080CFAF4:
- movs r0, 0
- b _080CFB3E
-_080CFAF8:
- movs r0, 0x6
- bl sub_80CFF34
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x2
- bne _080CFB2A
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080CFB24
- movs r0, 0x2
- bl sub_80CFF34
- b _080CFB2A
- .pool
-_080CFB24:
- movs r0, 0x1
- bl sub_80CFF34
-_080CFB2A:
- movs r0, 0x8
- bl sub_80CFF34
- movs r0, 0x7
- bl sub_80CFF34
- movs r0, 0
- bl sub_80CFF34
- movs r0, 0x1
-_080CFB3E:
- pop {r1}
- bx r1
- thumb_func_end sub_80CFA84
-
- thumb_func_start sub_80CFB44
-sub_80CFB44: @ 80CFB44
- push {r4,r5,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r5, =0x00000ce4
- adds r0, r5
- ldrh r1, [r0]
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- beq _080CFBDA
- bl sub_80D127C
- lsls r0, 24
- cmp r0, 0
- bne _080CFBAC
- ldr r2, [r4]
- ldr r0, =0x00000ce6
- adds r1, r2, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080CFB8C
- adds r0, r2, r5
- ldrh r0, [r0]
- cmp r0, 0
- beq _080CFBDA
- movs r0, 0xE
- bl sub_80CFF34
- b _080CFBE4
- .pool
-_080CFB8C:
- ldrh r0, [r1]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- bne _080CFBA4
- movs r0, 0xC
- bl sub_80CFF34
- movs r0, 0x10
- bl sub_80CFF34
-_080CFBA4:
- movs r0, 0x11
- bl sub_80CFF34
- b _080CFBE4
-_080CFBAC:
- ldr r2, [r4]
- ldr r0, =0x00000ce6
- adds r1, r2, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080CFBCC
- adds r0, r2, r5
- ldrh r0, [r0]
- cmp r0, 0
- beq _080CFBDA
- movs r0, 0xD
- bl sub_80CFF34
- b _080CFBE4
- .pool
-_080CFBCC:
- ldrh r0, [r1]
- bl ItemIsMail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CFBDE
-_080CFBDA:
- movs r0, 0
- b _080CFBEC
-_080CFBDE:
- movs r0, 0xF
- bl sub_80CFF34
-_080CFBE4:
- movs r0, 0
- bl sub_80CFF34
- movs r0, 0x1
-_080CFBEC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80CFB44
-
- thumb_func_start sub_80CFBF4
-sub_80CFBF4: @ 80CFBF4
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- ldr r2, =0x00000cb4
- adds r1, r2
- ldr r2, [r1]
- ldrh r2, [r2, 0x20]
- strh r2, [r0, 0x20]
- ldr r1, [r1]
- ldrh r1, [r1, 0x22]
- adds r1, 0x14
- strh r1, [r0, 0x22]
- bx lr
- .pool
- thumb_func_end sub_80CFBF4
-
- thumb_func_start sub_80CFC14
-sub_80CFC14: @ 80CFC14
- push {r4-r6,lr}
- sub sp, 0x2C
- mov r1, sp
- ldr r0, =gHandCursorSpriteSheets
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- add r4, sp, 0x18
- adds r1, r4, 0
- ldr r0, =gHandCursorSpritePalettes
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r0]
- str r0, [r1]
- mov r0, sp
- bl LoadSpriteSheets
- adds r0, r4, 0
- bl LoadSpritePalettes
- ldr r0, =0x0000daca
- bl IndexOfSpritePaletteTag
- ldr r6, =gUnknown_02039D08
- ldr r1, [r6]
- ldr r4, =0x00000cd8
- adds r1, r4
- strb r0, [r1]
- ldr r0, =0x0000dac7
- bl IndexOfSpritePaletteTag
- ldr r1, [r6]
- ldr r5, =0x00000cd9
- adds r1, r5
- strb r0, [r1]
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- ldr r1, =gUnknown_02039D79
- ldrb r1, [r1]
- add r4, sp, 0x28
- mov r5, sp
- adds r5, 0x2A
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_80CD444
- ldr r0, =gSpriteTemplate_857BA50
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0
- ldrsh r2, [r5, r3]
- movs r3, 0x6
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080CFD18
- ldr r2, [r6]
- ldr r4, =0x00000cb4
- adds r3, r2, r4
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r3]
- ldr r0, =gUnknown_02039D7D
- ldr r5, =0x00000cd8
- adds r2, r5
- ldrb r0, [r0]
- adds r2, r0
- ldrb r2, [r2]
- lsls r2, 4
- ldrb r3, [r1, 0x5]
- movs r0, 0xF
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldr r0, [r6]
- adds r0, r4
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CFD22
- ldr r0, [r6]
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
- b _080CFD22
- .pool
-_080CFD18:
- ldr r0, [r6]
- ldr r1, =0x00000cb4
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_080CFD22:
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080CFD3C
- movs r3, 0xD
- movs r4, 0x1
- b _080CFD40
- .pool
-_080CFD3C:
- movs r3, 0x15
- movs r4, 0x2
-_080CFD40:
- ldr r0, =gSpriteTemplate_857BA68
- movs r1, 0
- movs r2, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080CFDA8
- ldr r5, =gUnknown_02039D08
- ldr r2, [r5]
- ldr r3, =0x00000cb8
- adds r2, r3
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r2]
- lsls r3, r4, 2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080CFDB4
- ldr r0, [r5]
- ldr r4, =0x00000cb8
- adds r0, r4
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- b _080CFDB4
- .pool
-_080CFDA8:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r5, =0x00000cb8
- adds r0, r5
- movs r1, 0
- str r1, [r0]
-_080CFDB4:
- add sp, 0x2C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CFC14
-
- thumb_func_start sub_80CFDC4
-sub_80CFDC4: @ 80CFDC4
- push {lr}
- ldr r2, =gUnknown_02039D7D
- movs r1, 0
- ldrb r0, [r2]
- cmp r0, 0
- bne _080CFDD2
- movs r1, 0x1
-_080CFDD2:
- strb r1, [r2]
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r3, =0x00000cb4
- adds r1, r0, r3
- ldr r3, [r1]
- ldr r1, =0x00000cd8
- adds r0, r1
- ldrb r2, [r2]
- adds r0, r2
- ldrb r1, [r0]
- lsls r1, 4
- ldrb r2, [r3, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x5]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CFDC4
-
- thumb_func_start sub_80CFE08
-sub_80CFE08: @ 80CFE08
- ldr r0, =gUnknown_02039D79
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80CFE08
-
- thumb_func_start sub_80CFE14
-sub_80CFE14: @ 80CFE14
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080CFE48
- ldr r4, =gUnknown_02039D79
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r1, 0x6
- bl __modsi3
- strb r0, [r5]
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r1, 0x6
- bl __divsi3
- b _080CFE4C
- .pool
-_080CFE48:
- movs r0, 0
- strb r0, [r5]
-_080CFE4C:
- strb r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80CFE14
-
- thumb_func_start sub_80CFE54
-sub_80CFE54: @ 80CFE54
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r2, =0x00000cb4
- adds r0, r2
- ldr r0, [r0]
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CFE54
-
- thumb_func_start sub_80CFE78
-sub_80CFE78: @ 80CFE78
- ldr r0, =gUnknown_02039D7B
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80CFE78
-
- thumb_func_start sub_80CFE84
-sub_80CFE84: @ 80CFE84
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x5]
- bx lr
- .pool
- thumb_func_end sub_80CFE84
-
- thumb_func_start sub_80CFEA8
-sub_80CFEA8: @ 80CFEA8
- push {lr}
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080CFEC0
- ldr r0, =gUnknown_02039D79
- ldrb r1, [r0]
- movs r0, 0
- bl sub_80D0E50
-_080CFEC0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CFEA8
-
- thumb_func_start sub_80CFECC
-sub_80CFECC: @ 80CFECC
- push {lr}
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080CFEE4
- ldr r0, =gUnknown_02039D79
- ldrb r1, [r0]
- movs r0, 0
- bl sub_80D0D8C
-_080CFEE4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CFECC
-
- thumb_func_start sub_80CFEF0
-sub_80CFEF0: @ 80CFEF0
- ldr r2, =gUnknown_02039D08
- ldr r0, [r2]
- ldr r1, =0x00000cac
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldr r3, =0x00000cad
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- subs r3, 0x41
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, =0x00000c71
- adds r0, r1
- movs r1, 0xF
- strb r1, [r0]
- ldr r0, [r2]
- adds r3, 0x6
- adds r0, r3
- movs r1, 0x5C
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_80CFEF0
-
- thumb_func_start sub_80CFF34
-sub_80CFF34: @ 80CFF34
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r4, =gUnknown_02039D08
- ldr r2, [r4]
- ldr r5, =0x00000cac
- adds r1, r2, r5
- ldrb r0, [r1]
- cmp r0, 0x6
- bhi _080CFF7E
- adds r1, r0, 0
- lsls r1, 3
- ldr r0, =0x00000c74
- adds r1, r0
- adds r1, r2, r1
- ldr r2, =gUnknown_0857BA80
- lsls r0, r3, 2
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- str r3, [r1, 0x4]
- bl StringLength
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, [r4]
- ldr r2, =0x00000cad
- adds r0, r2
- ldrb r2, [r0]
- cmp r1, r2
- bls _080CFF74
- strb r1, [r0]
-_080CFF74:
- ldr r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080CFF7E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CFF34
-
- thumb_func_start sub_80CFF98
-sub_80CFF98: @ 80CFF98
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r3, =0x00000cac
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080CFFC8
- lsls r0, r2, 3
- ldr r2, =0x00000c78
- adds r1, r2
- adds r1, r0
- movs r0, 0
- ldrsb r0, [r1, r0]
- b _080CFFCC
- .pool
-_080CFFC8:
- movs r0, 0x1
- negs r0, r0
-_080CFFCC:
- pop {r1}
- bx r1
- thumb_func_end sub_80CFF98
-
- thumb_func_start sub_80CFFD0
-sub_80CFFD0: @ 80CFFD0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r5, =gUnknown_02039D08
- ldr r1, [r5]
- ldr r2, =0x00000cad
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r0, 0x2
- subs r2, 0x3E
- adds r1, r2
- strb r0, [r1]
- ldr r1, [r5]
- ldr r6, =0x00000cac
- adds r0, r1, r6
- ldrb r0, [r0]
- lsls r0, 1
- movs r3, 0xC7
- lsls r3, 4
- adds r1, r3
- strb r0, [r1]
- ldr r1, [r5]
- adds r2, r1, r2
- ldrb r2, [r2]
- movs r0, 0x1D
- subs r0, r2
- ldr r2, =0x00000c6d
- adds r1, r2
- strb r0, [r1]
- ldr r1, [r5]
- adds r3, r1, r3
- ldrb r2, [r3]
- movs r0, 0xF
- subs r0, r2
- ldr r3, =0x00000c6e
- adds r1, r3
- strb r0, [r1]
- ldr r0, [r5]
- ldr r1, =0x00000c6c
- adds r0, r1
- bl AddWindow
- ldr r1, [r5]
- movs r4, 0xCB
- lsls r4, 4
- adds r1, r4
- movs r2, 0
- mov r8, r2
- strh r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- bl ClearWindowTilemap
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0
- movs r2, 0xB
- movs r3, 0xE
- bl SetWindowBorderStyle
- ldr r2, [r5]
- adds r0, r2, r4
- ldrb r0, [r0]
- adds r1, r2, r6
- ldrb r1, [r1]
- ldr r3, =0x00000c74
- adds r2, r3
- bl PrintMenuTable
- ldr r1, [r5]
- adds r4, r1, r4
- ldrb r0, [r4]
- adds r1, r6
- ldrb r1, [r1]
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, [r5]
- ldr r1, =0x00000cae
- adds r0, r1
- mov r2, r8
- strb r2, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CFFD0
-
- thumb_func_start sub_80D00A8
-sub_80D00A8: @ 80D00A8
- movs r0, 0
- bx lr
- thumb_func_end sub_80D00A8
-
- thumb_func_start sub_80D00AC
-sub_80D00AC: @ 80D00AC
- push {r4,r5,lr}
- movs r5, 0x2
- negs r5, r5
- ldr r4, =gMain
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080D0102
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080D00CE
- movs r0, 0x5
- bl PlaySE
- adds r5, 0x1
-_080D00CE:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080D00EC
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- b _080D010A
- .pool
-_080D00EC:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080D010A
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- b _080D010A
-_080D0102:
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r5, r0, 24
-_080D010A:
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- beq _080D0116
- bl sub_80D013C
-_080D0116:
- cmp r5, 0
- blt _080D0128
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r5, 3
- ldr r2, =0x00000c78
- adds r0, r2
- adds r0, r1
- ldr r5, [r0]
-_080D0128:
- lsls r0, r5, 16
- asrs r0, 16
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D00AC
-
- thumb_func_start sub_80D013C
-sub_80D013C: @ 80D013C
- push {r4,r5,lr}
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- movs r4, 0xCB
- lsls r4, 4
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x1
- bl sub_8198070
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl RemoveWindow
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D013C
-
- thumb_func_start sub_80D0164
-sub_80D0164: @ 80D0164
- push {r4,lr}
- ldr r4, =gUnknown_02039D80
- ldr r0, =0x00000974
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- beq _080D01B0
- ldr r0, =gUnknown_0857BB1C
- bl AddWindow8Bit
- adds r1, r0, 0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- movs r2, 0x88
- lsls r2, 6
- adds r0, r2
- strh r1, [r0]
- lsls r0, r1, 16
- lsrs r0, 16
- cmp r0, 0xFF
- beq _080D01B0
- lsls r0, r1, 24
- lsrs r0, 24
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- b _080D01B2
- .pool
-_080D01B0:
- movs r0, 0
-_080D01B2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80D0164
-
- thumb_func_start sub_80D01B8
-sub_80D01B8: @ 80D01B8
- push {lr}
- ldr r0, =gUnknown_02039D80
- ldr r0, [r0]
- cmp r0, 0
- beq _080D01C6
- bl Free
-_080D01C6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D01B8
-
- thumb_func_start sub_80D01D0
-sub_80D01D0: @ 80D01D0
- ldr r2, =gUnknown_02039D80
- ldr r1, [r2]
- movs r3, 0
- strb r0, [r1]
- ldr r0, [r2]
- strb r3, [r0, 0x1]
- bx lr
- .pool
- thumb_func_end sub_80D01D0
-
- thumb_func_start sub_80D01E4
-sub_80D01E4: @ 80D01E4
- push {lr}
- ldr r0, =gUnknown_02039D80
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _080D0244
- lsls r0, 2
- ldr r1, =_080D0204
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080D0204:
- .4byte _080D021C
- .4byte _080D0222
- .4byte _080D0228
- .4byte _080D022E
- .4byte _080D0234
- .4byte _080D023A
-_080D021C:
- bl sub_80D024C
- b _080D023E
-_080D0222:
- bl sub_80D0344
- b _080D023E
-_080D0228:
- bl sub_80D03B0
- b _080D023E
-_080D022E:
- bl sub_80D0420
- b _080D023E
-_080D0234:
- bl sub_80D04A0
- b _080D023E
-_080D023A:
- bl sub_80D04C8
-_080D023E:
- lsls r0, 24
- lsrs r0, 24
- b _080D0246
-_080D0244:
- movs r0, 0
-_080D0246:
- pop {r1}
- bx r1
- thumb_func_end sub_80D01E4
-
- thumb_func_start sub_80D024C
-sub_80D024C: @ 80D024C
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r6, =gUnknown_02039D80
- ldr r1, [r6]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x1
- beq _080D027C
- cmp r0, 0x1
- bgt _080D0268
- cmp r0, 0
- beq _080D026E
- b _080D0338
- .pool
-_080D0268:
- cmp r0, 0x2
- beq _080D0324
- b _080D0338
-_080D026E:
- movs r0, 0
- bl HideBg
- movs r0, 0x80
- bl sub_80D304C
- b _080D030E
-_080D027C:
- adds r0, r1, 0x2
- adds r1, 0x3
- bl sub_80CFE14
- ldr r1, [r6]
- ldrb r0, [r1, 0x2]
- strb r0, [r1, 0x4]
- ldr r1, [r6]
- ldrb r0, [r1, 0x3]
- strb r0, [r1, 0x5]
- ldr r4, =0xfffffc00
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- movs r4, 0x88
- lsls r4, 6
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0
- bl FillWindowPixelBuffer8Bit
- ldr r1, [r6]
- ldrb r0, [r1, 0x2]
- ldrb r1, [r1, 0x3]
- bl sub_80D07B0
- movs r0, 0
- movs r1, 0x4
- movs r2, 0x1
- bl SetBgAttribute
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram8Bit
- movs r0, 0xFC
- lsls r0, 6
- ldr r2, =0x00007fff
- movs r1, 0x8
- bl BlendPalettes
- movs r0, 0x2
- bl sub_80CFE54
- movs r0, 0x8
- movs r1, 0x80
- bl SetGpuRegBits
-_080D030E:
- ldr r1, [r6]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- b _080D0338
- .pool
-_080D0324:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080D0338
- movs r0, 0
- bl ShowBg
- movs r0, 0
- b _080D033A
-_080D0338:
- movs r0, 0x1
-_080D033A:
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80D024C
-
- thumb_func_start sub_80D0344
-sub_80D0344: @ 80D0344
- push {r4,lr}
- ldr r4, =gUnknown_02039D80
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- beq _080D036E
- cmp r0, 0x1
- bgt _080D0360
- cmp r0, 0
- beq _080D0366
- b _080D03A8
- .pool
-_080D0360:
- cmp r0, 0x2
- beq _080D0382
- b _080D03A8
-_080D0366:
- movs r0, 0
- bl HideBg
- b _080D0378
-_080D036E:
- bl sub_80D0B5C
- movs r0, 0
- bl sub_80CFE54
-_080D0378:
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- b _080D03A8
-_080D0382:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080D03A8
- bl sub_80CFE84
- movs r0, 0x3
- bl stdpal_get
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0
- bl ShowBg
- movs r0, 0
- b _080D03AA
-_080D03A8:
- movs r0, 0x1
-_080D03AA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80D0344
-
- thumb_func_start sub_80D03B0
-sub_80D03B0: @ 80D03B0
- push {r4,lr}
- ldr r4, =gUnknown_02039D80
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _080D03C8
- cmp r0, 0x1
- beq _080D040C
- b _080D0416
- .pool
-_080D03C8:
- bl sub_80CD554
- lsls r0, 24
- cmp r0, 0
- bne _080D0416
- ldr r1, [r4]
- adds r0, r1, 0x6
- adds r1, 0x7
- bl sub_80CFE14
- bl sub_80D062C
- ldr r1, [r4]
- ldrb r0, [r1, 0x6]
- strb r0, [r1, 0x4]
- ldr r1, [r4]
- ldrb r0, [r1, 0x7]
- strb r0, [r1, 0x5]
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- movs r1, 0x88
- lsls r1, 6
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram8Bit
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- b _080D0416
- .pool
-_080D040C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _080D0418
-_080D0416:
- movs r0, 0x1
-_080D0418:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80D03B0
-
- thumb_func_start sub_80D0420
-sub_80D0420: @ 80D0420
- push {r4,lr}
- ldr r4, =gUnknown_02039D80
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- beq _080D044E
- cmp r0, 0x1
- bgt _080D043C
- cmp r0, 0
- beq _080D0442
- b _080D0498
- .pool
-_080D043C:
- cmp r0, 0x2
- beq _080D047A
- b _080D0498
-_080D0442:
- bl sub_80D08CC
- bl sub_80D09A4
- movs r0, 0
- b _080D046C
-_080D044E:
- bl sub_80CDCAC
- lsls r0, 24
- cmp r0, 0
- bne _080D0498
- movs r0, 0x3
- bl sub_80CFE54
- movs r1, 0x80
- lsls r1, 1
- movs r0, 0
- movs r2, 0x8
- bl sub_80D0884
- movs r0, 0x1
-_080D046C:
- bl sub_80CDC64
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- b _080D0498
-_080D047A:
- bl sub_80D0894
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80CDCAC
- lsls r0, 24
- lsrs r0, 24
- cmp r4, 0
- bne _080D0498
- cmp r0, 0
- bne _080D0498
- movs r0, 0
- b _080D049A
-_080D0498:
- movs r0, 0x1
-_080D049A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80D0420
-
- thumb_func_start sub_80D04A0
-sub_80D04A0: @ 80D04A0
- push {r4,lr}
- bl sub_80CD554
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80D0894
- lsls r0, 24
- lsrs r0, 24
- cmp r4, 0
- bne _080D04C0
- cmp r0, 0
- bne _080D04C0
- movs r0, 0
- b _080D04C2
-_080D04C0:
- movs r0, 0x1
-_080D04C2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80D04A0
-
- thumb_func_start sub_80D04C8
-sub_80D04C8: @ 80D04C8
- push {r4,lr}
- ldr r4, =gUnknown_02039D80
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- beq _080D0506
- cmp r0, 0x1
- bgt _080D04E4
- cmp r0, 0
- beq _080D04EE
- b _080D0576
- .pool
-_080D04E4:
- cmp r0, 0x2
- beq _080D0532
- cmp r0, 0x3
- beq _080D0550
- b _080D0576
-_080D04EE:
- bl sub_80D0AAC
- movs r1, 0xFF
- lsls r1, 8
- movs r0, 0
- movs r2, 0x8
- bl sub_80D0884
- movs r0, 0
- bl sub_80CDC64
- b _080D0546
-_080D0506:
- bl sub_80CDCAC
- lsls r0, 24
- cmp r0, 0
- bne _080D0576
- bl sub_80D0894
- lsls r0, 24
- cmp r0, 0
- bne _080D0576
- bl sub_80D0A1C
- movs r0, 0x2
- bl sub_80CFE54
- movs r0, 0x1
- bl sub_80CDC64
- movs r0, 0
- bl HideBg
- b _080D0546
-_080D0532:
- bl sub_80CDCAC
- lsls r0, 24
- cmp r0, 0
- bne _080D0576
- movs r0, 0
- bl sub_80CFE54
- bl sub_80D0B5C
-_080D0546:
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- b _080D0576
-_080D0550:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080D0576
- movs r0, 0x3
- bl stdpal_get
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- bl sub_80CFE84
- movs r0, 0
- bl ShowBg
- movs r0, 0
- b _080D0578
-_080D0576:
- movs r0, 0x1
-_080D0578:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80D04C8
-
- thumb_func_start sub_80D0580
-sub_80D0580: @ 80D0580
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- beq _080D05BC
- cmp r0, 0x1
- bgt _080D0596
- cmp r0, 0
- beq _080D05A0
- b _080D0624
-_080D0596:
- cmp r1, 0x2
- beq _080D05DC
- cmp r1, 0x3
- beq _080D05FC
- b _080D0624
-_080D05A0:
- ldr r0, =gUnknown_02039D80
- ldr r1, [r0]
- ldrb r0, [r1, 0x9]
- cmp r0, 0
- beq _080D060A
- subs r0, 0x1
- strb r0, [r1, 0x9]
- movs r1, 0x80
- lsls r1, 3
- movs r0, 0
- b _080D05F0
- .pool
-_080D05BC:
- ldr r0, =gUnknown_02039D80
- ldr r1, [r0]
- ldrb r2, [r1, 0x9]
- ldrb r0, [r1, 0xB]
- adds r0, r2, r0
- cmp r0, 0x4
- bgt _080D060A
- adds r0, r2, 0x1
- strb r0, [r1, 0x9]
- movs r1, 0xFC
- lsls r1, 8
- movs r0, 0
- b _080D05F0
- .pool
-_080D05DC:
- ldr r0, =gUnknown_02039D80
- ldr r1, [r0]
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- beq _080D060A
- subs r0, 0x1
- strb r0, [r1, 0x8]
- movs r0, 0x80
- lsls r0, 3
- movs r1, 0
-_080D05F0:
- movs r2, 0x6
- bl sub_80D0884
- b _080D0624
- .pool
-_080D05FC:
- ldr r0, =gUnknown_02039D80
- ldr r1, [r0]
- ldrb r2, [r1, 0x8]
- ldrb r0, [r1, 0xA]
- adds r0, r2, r0
- cmp r0, 0x5
- ble _080D0614
-_080D060A:
- movs r0, 0
- b _080D0626
- .pool
-_080D0614:
- adds r0, r2, 0x1
- strb r0, [r1, 0x8]
- movs r0, 0xFC
- lsls r0, 8
- movs r1, 0
- movs r2, 0x6
- bl sub_80D0884
-_080D0624:
- movs r0, 0x1
-_080D0626:
- pop {r1}
- bx r1
- thumb_func_end sub_80D0580
-
- thumb_func_start sub_80D062C
-sub_80D062C: @ 80D062C
- push {r4-r7,lr}
- ldr r6, =gUnknown_02039D80
- ldr r2, [r6]
- ldrb r3, [r2, 0x2]
- ldrb r5, [r2, 0x6]
- subs r1, r3, r5
- cmp r1, 0
- bge _080D063E
- negs r1, r1
-_080D063E:
- ldrb r0, [r2, 0x4]
- subs r0, r3, r0
- cmp r0, 0
- bge _080D0648
- negs r0, r0
-_080D0648:
- subs r0, r1, r0
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x7]
- subs r3, r1, r0
- cmp r3, 0
- bge _080D065A
- negs r3, r3
-_080D065A:
- ldrb r2, [r2, 0x5]
- subs r0, r1, r2
- cmp r0, 0
- bge _080D0664
- negs r0, r0
-_080D0664:
- subs r0, r3, r0
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r0, r4, 16
- asrs r4, r0, 16
- cmp r4, 0
- ble _080D0678
- adds r0, r5, 0
- bl sub_80D06D0
-_080D0678:
- cmp r4, 0
- bge _080D0694
- ldr r2, [r6]
- ldrb r0, [r2, 0x4]
- ldrb r1, [r2, 0x3]
- ldrb r2, [r2, 0x5]
- bl sub_80D0740
- ldr r2, [r6]
- ldrb r0, [r2, 0x6]
- ldrb r1, [r2, 0x3]
- ldrb r2, [r2, 0x5]
- bl sub_80D06D0
-_080D0694:
- lsls r0, r7, 16
- asrs r4, r0, 16
- cmp r4, 0
- ble _080D06A8
- ldr r2, [r6]
- ldrb r0, [r2, 0x7]
- ldrb r1, [r2, 0x2]
- ldrb r2, [r2, 0x4]
- bl sub_80D0708
-_080D06A8:
- cmp r4, 0
- bge _080D06C4
- ldr r2, [r6]
- ldrb r0, [r2, 0x5]
- ldrb r1, [r2, 0x2]
- ldrb r2, [r2, 0x4]
- bl sub_80D0778
- ldr r2, [r6]
- ldrb r0, [r2, 0x7]
- ldrb r1, [r2, 0x2]
- ldrb r2, [r2, 0x4]
- bl sub_80D0708
-_080D06C4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D062C
-
- thumb_func_start sub_80D06D0
-sub_80D06D0: @ 80D06D0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- adds r1, r4, 0
- lsls r2, 24
- lsrs r5, r2, 24
- adds r0, r5, 0
- cmp r4, r5
- bls _080D06EE
- adds r4, r5, 0
- adds r5, r1, 0
- cmp r0, r5
- bhi _080D0700
-_080D06EE:
- adds r1, r4, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- bl sub_80D07B0
- cmp r4, r5
- bls _080D06EE
-_080D0700:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D06D0
-
- thumb_func_start sub_80D0708
-sub_80D0708: @ 80D0708
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- adds r1, r4, 0
- lsls r2, 24
- lsrs r5, r2, 24
- adds r0, r5, 0
- cmp r4, r5
- bls _080D0726
- adds r4, r5, 0
- adds r5, r1, 0
- cmp r0, r5
- bhi _080D0738
-_080D0726:
- adds r0, r4, 0
- adds r1, r0, 0x1
- lsls r1, 24
- lsrs r4, r1, 24
- adds r1, r6, 0
- bl sub_80D07B0
- cmp r4, r5
- bls _080D0726
-_080D0738:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D0708
-
- thumb_func_start sub_80D0740
-sub_80D0740: @ 80D0740
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- adds r1, r4, 0
- lsls r2, 24
- lsrs r5, r2, 24
- adds r0, r5, 0
- cmp r4, r5
- bls _080D075E
- adds r4, r5, 0
- adds r5, r1, 0
- cmp r0, r5
- bhi _080D0770
-_080D075E:
- adds r1, r4, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- bl sub_80D0834
- cmp r4, r5
- bls _080D075E
-_080D0770:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D0740
-
- thumb_func_start sub_80D0778
-sub_80D0778: @ 80D0778
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- adds r1, r4, 0
- lsls r2, 24
- lsrs r5, r2, 24
- adds r0, r5, 0
- cmp r4, r5
- bls _080D0796
- adds r4, r5, 0
- adds r5, r1, 0
- cmp r0, r5
- bhi _080D07A8
-_080D0796:
- adds r0, r4, 0
- adds r1, r0, 0x1
- lsls r1, 24
- lsrs r4, r1, 24
- adds r1, r6, 0
- bl sub_80D0834
- cmp r4, r5
- bls _080D0796
-_080D07A8:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D0778
-
- thumb_func_start sub_80D07B0
-sub_80D07B0: @ 80D07B0
- push {r4-r7,lr}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 1
- adds r7, r0, r1
- lsls r4, r7, 1
- adds r4, r6, r4
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x41
- bl GetBoxMonDataFromSelectedBox
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetBoxMonDataFromSelectedBox
- adds r1, r0, 0
- cmp r5, 0
- beq _080D0828
- adds r0, r5, 0
- movs r2, 0x1
- bl GetMonIconPtr
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_80D3080
- adds r0, 0x8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- movs r2, 0x88
- lsls r2, 6
- adds r1, r2
- ldrb r3, [r1]
- movs r2, 0x20
- str r2, [sp]
- str r2, [sp, 0x4]
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- str r1, [sp, 0x8]
- lsls r1, r7, 3
- str r1, [sp, 0xC]
- str r2, [sp, 0x10]
- str r2, [sp, 0x14]
- str r0, [sp, 0x18]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl BlitBitmapRectToWindow4BitTo8Bit
-_080D0828:
- add sp, 0x1C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D07B0
-
- thumb_func_start sub_80D0834
-sub_80D0834: @ 80D0834
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 1
- adds r5, r0, r1
- lsls r0, r5, 1
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x41
- bl GetBoxMonDataFromSelectedBox
- lsls r0, 16
- cmp r0, 0
- beq _080D0878
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- movs r1, 0x88
- lsls r1, 6
- adds r0, r1
- ldrb r0, [r0]
- lsls r2, r4, 1
- adds r2, r4
- lsls r2, 3
- lsls r3, r5, 3
- movs r1, 0x20
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r1, 0
- bl FillWindowPixelRect8Bit
-_080D0878:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D0834
-
- thumb_func_start sub_80D0884
-sub_80D0884: @ 80D0884
- ldr r3, =gUnknown_02039D80
- ldr r3, [r3]
- strh r0, [r3, 0xC]
- strh r1, [r3, 0xE]
- strh r2, [r3, 0x10]
- bx lr
- .pool
- thumb_func_end sub_80D0884
-
- thumb_func_start sub_80D0894
-sub_80D0894: @ 80D0894
- push {r4,lr}
- ldr r4, =gUnknown_02039D80
- ldr r1, [r4]
- ldrh r0, [r1, 0x10]
- cmp r0, 0
- beq _080D08BE
- ldrh r1, [r1, 0xC]
- movs r0, 0
- movs r2, 0x1
- bl ChangeBgX
- ldr r0, [r4]
- ldrh r1, [r0, 0xE]
- movs r0, 0
- movs r2, 0x1
- bl ChangeBgY
- ldr r1, [r4]
- ldrh r0, [r1, 0x10]
- subs r0, 0x1
- strh r0, [r1, 0x10]
-_080D08BE:
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D0894
-
- thumb_func_start sub_80D08CC
-sub_80D08CC: @ 80D08CC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, =gUnknown_02039D80
- ldr r1, [r4]
- ldrb r0, [r1, 0x4]
- ldrb r2, [r1, 0x2]
- cmp r0, r2
- bls _080D08E4
- adds r0, r2, 0
-_080D08E4:
- strb r0, [r1, 0x8]
- ldr r1, [r4]
- ldrb r0, [r1, 0x5]
- ldrb r2, [r1, 0x3]
- cmp r0, r2
- bls _080D08F2
- adds r0, r2, 0
-_080D08F2:
- strb r0, [r1, 0x9]
- ldr r2, [r4]
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x4]
- subs r0, r1, r0
- cmp r0, 0
- bge _080D0902
- negs r0, r0
-_080D0902:
- adds r0, 0x1
- strb r0, [r2, 0xA]
- ldr r2, [r4]
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x5]
- subs r0, r1, r0
- cmp r0, 0
- bge _080D0914
- negs r0, r0
-_080D0914:
- adds r0, 0x1
- strb r0, [r2, 0xB]
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- movs r6, 0
- ldr r0, [r4]
- ldrb r2, [r0, 0x8]
- ldrb r1, [r0, 0xA]
- adds r2, r1
- mov r8, r2
- ldrb r1, [r0, 0x9]
- ldrb r0, [r0, 0xB]
- adds r0, r1
- mov r9, r0
- adds r2, r1, 0
- cmp r2, r9
- bge _080D0990
-_080D093C:
- lsls r0, r2, 1
- adds r0, r2
- ldr r3, =gUnknown_02039D80
- ldr r1, [r3]
- lsls r0, 1
- ldrb r3, [r1, 0x8]
- adds r0, r3
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r4, [r1, 0x8]
- adds r7, r2, 0x1
- cmp r4, r8
- bge _080D098A
- mov r0, r8
- subs r4, r0, r4
-_080D095A:
- mov r0, r10
- adds r1, r5, 0
- bl GetBoxedMonPtr
- adds r1, r0, 0
- ldr r2, =gUnknown_02039D80
- ldr r0, [r2]
- lsls r2, r6, 2
- adds r2, r6
- lsls r2, 4
- adds r0, r2
- adds r0, 0x14
- movs r2, 0x50
- bl memcpy
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- subs r4, 0x1
- cmp r4, 0
- bne _080D095A
-_080D098A:
- adds r2, r7, 0
- cmp r2, r9
- blt _080D093C
-_080D0990:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D08CC
-
- thumb_func_start sub_80D09A4
-sub_80D09A4: @ 80D09A4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r4, =gUnknown_02039D80
- ldr r0, [r4]
- ldrb r2, [r0, 0x8]
- ldrb r1, [r0, 0xA]
- adds r7, r2, r1
- ldrb r1, [r0, 0x9]
- ldrb r0, [r0, 0xB]
- adds r1, r0
- mov r9, r1
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, [r4]
- ldrb r2, [r0, 0x9]
- cmp r2, r9
- bge _080D0A0C
-_080D09D0:
- lsls r0, r2, 1
- adds r0, r2
- ldr r1, =gUnknown_02039D80
- ldr r1, [r1]
- lsls r0, 1
- ldrb r3, [r1, 0x8]
- adds r0, r3
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r4, [r1, 0x8]
- adds r6, r2, 0x1
- cmp r4, r7
- bge _080D0A06
- subs r4, r7, r4
-_080D09EC:
- adds r0, r5, 0
- bl sub_80CB778
- mov r0, r8
- adds r1, r5, 0
- bl ClearMonInBox
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- subs r4, 0x1
- cmp r4, 0
- bne _080D09EC
-_080D0A06:
- adds r2, r6, 0
- cmp r2, r9
- blt _080D09D0
-_080D0A0C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D09A4
-
- thumb_func_start sub_80D0A1C
-sub_80D0A1C: @ 80D0A1C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gUnknown_02039D80
- ldr r0, [r0]
- ldrb r2, [r0, 0x8]
- ldrb r1, [r0, 0xA]
- adds r2, r1
- mov r8, r2
- ldrb r1, [r0, 0x9]
- ldrb r0, [r0, 0xB]
- adds r0, r1
- mov r10, r0
- movs r6, 0
- adds r2, r1, 0
- cmp r2, r10
- bge _080D0A98
-_080D0A42:
- lsls r0, r2, 1
- adds r0, r2
- ldr r3, =gUnknown_02039D80
- ldr r1, [r3]
- lsls r0, 1
- ldrb r4, [r1, 0x8]
- adds r0, r4
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r4, [r1, 0x8]
- adds r7, r2, 0x1
- cmp r4, r8
- bge _080D0A92
- mov r9, r3
- mov r0, r8
- subs r4, r0, r4
-_080D0A62:
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 4
- adds r1, 0x14
- mov r2, r9
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0x5
- bl GetBoxMonData
- cmp r0, 0
- beq _080D0A80
- adds r0, r5, 0
- bl sub_80CB140
-_080D0A80:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- subs r4, 0x1
- cmp r4, 0
- bne _080D0A62
-_080D0A92:
- adds r2, r7, 0
- cmp r2, r10
- blt _080D0A42
-_080D0A98:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D0A1C
-
- thumb_func_start sub_80D0AAC
-sub_80D0AAC: @ 80D0AAC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r4, =gUnknown_02039D80
- ldr r0, [r4]
- ldrb r2, [r0, 0x8]
- ldrb r1, [r0, 0xA]
- adds r2, r1
- mov r10, r2
- ldrb r1, [r0, 0x9]
- ldrb r0, [r0, 0xB]
- adds r1, r0
- str r1, [sp]
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r7, 0
- ldr r0, [r4]
- ldrb r3, [r0, 0x9]
- ldr r0, [sp]
- cmp r3, r0
- bge _080D0B46
-_080D0AE2:
- lsls r0, r3, 1
- adds r0, r3
- ldr r2, =gUnknown_02039D80
- ldr r1, [r2]
- lsls r0, 1
- ldrb r4, [r1, 0x8]
- adds r0, r4
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r5, [r1, 0x8]
- adds r3, 0x1
- mov r9, r3
- cmp r5, r10
- bge _080D0B3E
- mov r8, r2
- mov r0, r10
- subs r5, r0, r5
-_080D0B04:
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 4
- adds r4, r0, 0
- adds r4, 0x14
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4
- movs r1, 0x5
- bl GetBoxMonData
- cmp r0, 0
- beq _080D0B2C
- mov r0, r8
- ldr r2, [r0]
- adds r2, r4
- ldr r0, [sp, 0x4]
- adds r1, r6, 0
- bl CopyBoxMonFromAnyBox
-_080D0B2C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- subs r5, 0x1
- cmp r5, 0
- bne _080D0B04
-_080D0B3E:
- mov r3, r9
- ldr r1, [sp]
- cmp r3, r1
- blt _080D0AE2
-_080D0B46:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D0AAC
-
- thumb_func_start sub_80D0B5C
-sub_80D0B5C: @ 80D0B5C
- push {lr}
- sub sp, 0x8
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0
- movs r1, 0x4
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0x8
- movs r1, 0x80
- bl ClearGpuRegBits
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_80D0B5C
-
- thumb_func_start sub_80D0BA4
-sub_80D0BA4: @ 80D0BA4
- ldr r0, =gUnknown_02039D80
- ldr r2, [r0]
- ldrb r1, [r2, 0x3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- ldrb r2, [r2, 0x2]
- adds r0, r2
- lsls r0, 24
- lsrs r0, 24
- bx lr
- .pool
- thumb_func_end sub_80D0BA4
-
- thumb_func_start sub_80D0BC0
-sub_80D0BC0: @ 80D0BC0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r0, =gUnknown_02039D80
- ldr r0, [r0]
- ldrb r2, [r0, 0x8]
- ldrb r1, [r0, 0xA]
- adds r2, r1
- mov r9, r2
- ldrb r1, [r0, 0x9]
- ldrb r0, [r0, 0xB]
- adds r0, r1, r0
- str r0, [sp]
- movs r7, 0
- adds r6, r1, 0
- cmp r6, r0
- bge _080D0C4E
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 1
- mov r8, r0
-_080D0BF0:
- ldr r2, =gUnknown_02039D80
- ldr r1, [r2]
- ldrb r0, [r1, 0x8]
- add r0, r8
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r4, [r1, 0x8]
- cmp r4, r9
- bge _080D0C42
- mov r10, r2
-_080D0C04:
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 4
- adds r1, 0x14
- mov r2, r10
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0x5
- bl GetBoxMonData
- cmp r0, 0
- beq _080D0C30
- adds r0, r5, 0
- movs r1, 0x5
- bl GetBoxMonDataFromSelectedBox
- cmp r0, 0
- beq _080D0C30
- movs r0, 0
- b _080D0C50
- .pool
-_080D0C30:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x1
- cmp r4, r9
- blt _080D0C04
-_080D0C42:
- movs r0, 0x6
- add r8, r0
- adds r6, 0x1
- ldr r2, [sp]
- cmp r6, r2
- blt _080D0BF0
-_080D0C4E:
- movs r0, 0x1
-_080D0C50:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80D0BC0
-
- thumb_func_start sub_80D0C60
-sub_80D0C60: @ 80D0C60
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- ldr r3, =gUnknown_02039D08
- ldr r0, [r3]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080D0D3E
- ldr r0, =gUnknown_03000F78
- str r0, [sp, 0x18]
- ldr r1, =0xffff0000
- add r2, sp, 0x18
- ldr r0, [r2, 0x4]
- ands r0, r1
- movs r1, 0x80
- lsls r1, 2
- orrs r0, r1
- str r0, [r2, 0x4]
- mov r1, sp
- ldr r0, =gSpriteTemplate_857BC70
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- movs r7, 0
- mov r9, r2
- mov r8, r3
- movs r0, 0
- mov r10, r0
-_080D0CA0:
- adds r6, r7, 0x7
- lsls r1, r6, 16
- mov r2, r9
- ldrh r0, [r2, 0x4]
- orrs r0, r1
- str r0, [r2, 0x4]
- mov r0, r9
- bl LoadCompressedObjectPic
- mov r4, r9
- ldrh r0, [r4, 0x6]
- bl GetSpriteTileStartByTag
- mov r5, r8
- ldr r1, [r5]
- lsls r5, r7, 4
- ldr r2, =0x00002208
- adds r1, r2
- adds r1, r5
- lsls r0, 16
- lsrs r0, 11
- ldr r4, =0x06010000
- adds r0, r4
- str r0, [r1]
- ldr r0, =0xffffdacb
- adds r4, r7, r0
- lsls r0, r4, 16
- lsrs r0, 16
- bl AllocSpritePalette
- mov r2, r8
- ldr r1, [r2]
- adds r1, r5
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =0x0000220c
- adds r1, r2
- strh r0, [r1]
- ldrh r0, [r1]
- lsls r0, 4
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2
- strh r0, [r1]
- mov r0, sp
- strh r6, [r0]
- strh r4, [r0, 0x2]
- movs r1, 0
- movs r2, 0
- movs r3, 0xB
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r4, r8
- ldr r2, [r4]
- ldr r6, =0x00002204
- adds r2, r6
- adds r2, r5
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r2]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, r5
- ldr r1, =0x00002210
- adds r0, r1
- mov r2, r10
- strb r2, [r0]
- adds r7, 0x1
- cmp r7, 0x2
- ble _080D0CA0
-_080D0D3E:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r4, =0x00002234
- adds r0, r4
- movs r1, 0
- strh r1, [r0]
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D0C60
-
- thumb_func_start sub_80D0D8C
-sub_80D0D8C: @ 80D0D8C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080D0E42
- mov r0, r8
- adds r1, r7, 0
- bl sub_80D1324
- cmp r0, 0
- bne _080D0E42
- mov r0, r8
- cmp r0, 0
- beq _080D0DC4
- cmp r0, 0x1
- beq _080D0DDA
- b _080D0E42
- .pool
-_080D0DC4:
- adds r0, r7, 0
- movs r1, 0x5
- bl GetBoxMonDataFromSelectedBox
- cmp r0, 0
- beq _080D0E42
- adds r0, r7, 0
- movs r1, 0xC
- bl GetBoxMonDataFromSelectedBox
- b _080D0DFC
-_080D0DDA:
- cmp r7, 0x5
- bhi _080D0E42
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _080D0E42
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
-_080D0DFC:
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080D0E42
- adds r0, r4, 0
- bl GetItemIconPic
- adds r6, r0, 0
- adds r0, r4, 0
- bl GetItemIconPalette
- adds r5, r0, 0
- bl sub_80D12E8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- mov r1, r8
- adds r2, r7, 0
- bl sub_80D140C
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_80D1524
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80D15D4
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80D1740
-_080D0E42:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D0D8C
-
- thumb_func_start sub_80D0E50
-sub_80D0E50: @ 80D0E50
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080D0E86
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80D1370
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_80D15D4
- adds r0, r4, 0
- movs r1, 0
- adds r2, r6, 0
- adds r3, r5, 0
- bl sub_80D1604
-_080D0E86:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D0E50
-
- thumb_func_start sub_80D0E90
-sub_80D0E90: @ 80D0E90
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- adds r7, r5, 0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080D0F20
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80D1370
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0
- mov r0, sp
- strh r1, [r0]
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_80D15D4
- adds r0, r4, 0
- movs r1, 0x1
- adds r2, r6, 0
- adds r3, r5, 0
- bl sub_80D1604
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_80D140C
- cmp r6, 0
- bne _080D0EF8
- adds r0, r5, 0
- movs r1, 0xC
- mov r2, sp
- bl SetBoxMonDataFromSelectedBox
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80CB7AC
- b _080D0F10
- .pool
-_080D0EF8:
- movs r0, 0x64
- muls r0, r7
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_80CBBDC
-_080D0F10:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r2, =0x00000ce6
- adds r1, r0, r2
- ldrh r1, [r1]
- ldr r2, =0x00002234
- adds r0, r2
- strh r1, [r0]
-_080D0F20:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D0E90
-
- thumb_func_start sub_80D0F38
-sub_80D0F38: @ 80D0F38
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r5, 0
- bl GetItemIconPic
- mov r8, r0
- adds r0, r5, 0
- bl GetItemIconPalette
- adds r6, r0, 0
- bl sub_80D12E8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- mov r1, r8
- adds r2, r6, 0
- bl sub_80D1524
- adds r0, r4, 0
- movs r1, 0x6
- bl sub_80D15D4
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0
- bl sub_80D1604
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_80D140C
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80D1740
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00002234
- adds r0, r1
- strh r5, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D0F38
-
- thumb_func_start sub_80D0FAC
-sub_80D0FAC: @ 80D0FAC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r0, =gUnknown_02039D08
- mov r8, r0
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080D106A
- mov r0, r9
- adds r1, r7, 0
- bl sub_80D1370
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_80D15D4
- adds r0, r4, 0
- movs r1, 0x3
- movs r2, 0x2
- movs r3, 0
- bl sub_80D1604
- mov r1, r9
- cmp r1, 0
- bne _080D101C
- adds r0, r7, 0
- movs r1, 0xC
- bl GetBoxMonDataFromSelectedBox
- lsls r0, 16
- lsrs r6, r0, 16
- mov r0, r8
- ldr r2, [r0]
- ldr r4, =0x00002234
- adds r2, r4
- adds r0, r7, 0
- movs r1, 0xC
- bl SetBoxMonDataFromSelectedBox
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4
- b _080D1048
- .pool
-_080D101C:
- movs r0, 0x64
- adds r4, r7, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- mov r0, r8
- ldr r2, [r0]
- ldr r5, =0x00002234
- adds r2, r5
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- mov r1, r8
- ldr r0, [r1]
- adds r0, r5
-_080D1048:
- strh r6, [r0]
- movs r0, 0x2
- movs r1, 0
- bl sub_80D1370
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_80D15D4
- adds r0, r4, 0
- movs r1, 0x4
- mov r2, r9
- adds r3, r7, 0
- bl sub_80D1604
-_080D106A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D0FAC
-
- thumb_func_start sub_80D1080
-sub_80D1080: @ 80D1080
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- mov r8, r5
- ldr r6, =gUnknown_02039D08
- ldr r0, [r6]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080D1100
- movs r0, 0x2
- movs r1, 0
- bl sub_80D1370
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_80D15D4
- adds r0, r4, 0
- movs r1, 0x2
- adds r2, r7, 0
- adds r3, r5, 0
- bl sub_80D1604
- cmp r7, 0
- bne _080D10E0
- ldr r2, [r6]
- ldr r0, =0x00002234
- adds r2, r0
- adds r0, r5, 0
- movs r1, 0xC
- bl SetBoxMonDataFromSelectedBox
- adds r0, r5, 0
- movs r1, 0
- bl sub_80CB7AC
- b _080D1100
- .pool
-_080D10E0:
- movs r0, 0x64
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r2, [r6]
- ldr r1, =0x00002234
- adds r2, r1
- movs r1, 0xC
- bl SetMonData
- mov r0, r8
- movs r1, 0
- bl sub_80CBBDC
-_080D1100:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1080
-
- thumb_func_start sub_80D1114
-sub_80D1114: @ 80D1114
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- adds r7, r5, 0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080D1188
- movs r1, 0
- mov r0, sp
- strh r1, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80D1370
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_80D15D4
- adds r0, r4, 0
- movs r1, 0
- adds r2, r6, 0
- adds r3, r5, 0
- bl sub_80D1604
- cmp r6, 0
- bne _080D1170
- adds r0, r5, 0
- movs r1, 0xC
- mov r2, sp
- bl SetBoxMonDataFromSelectedBox
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80CB7AC
- b _080D1188
- .pool
-_080D1170:
- movs r0, 0x64
- muls r0, r7
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_80CBBDC
-_080D1188:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1114
-
- thumb_func_start sub_80D1194
-sub_80D1194: @ 80D1194
- push {r4,lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080D11C2
- movs r0, 0x2
- movs r1, 0
- bl sub_80D1370
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x5
- bl sub_80D15D4
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x2
- movs r3, 0
- bl sub_80D1604
-_080D11C2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1194
-
- thumb_func_start sub_80D11CC
-sub_80D11CC: @ 80D11CC
- push {r4,lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080D120A
- movs r4, 0
-_080D11DA:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- lsls r0, r4, 4
- adds r1, r0
- ldr r2, =0x00002210
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080D1204
- subs r2, 0x2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080D1204
- lsls r0, r4, 24
- lsrs r0, 24
- movs r1, 0x7
- movs r2, 0x2
- movs r3, 0
- bl sub_80D1604
-_080D1204:
- adds r4, 0x1
- cmp r4, 0x2
- ble _080D11DA
-_080D120A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D11CC
-
- thumb_func_start sub_80D1218
-sub_80D1218: @ 80D1218
- push {r4,r5,lr}
- movs r5, 0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00002204
- adds r4, r0, r1
- adds r3, r0, 0
-_080D1226:
- ldr r1, =0x00002210
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080D1268
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x28
- ands r0, r1
- cmp r0, 0x8
- beq _080D124E
- ldr r1, [r2, 0x1C]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- beq _080D1268
- ldr r0, =sub_80D1AD8
- cmp r1, r0
- beq _080D1268
-_080D124E:
- movs r0, 0x1
- b _080D1274
- .pool
-_080D1268:
- adds r4, 0x10
- adds r3, 0x10
- adds r5, 0x1
- cmp r5, 0x2
- ble _080D1226
- movs r0, 0
-_080D1274:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80D1218
-
- thumb_func_start sub_80D127C
-sub_80D127C: @ 80D127C
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x3
- bne _080D12B0
- movs r2, 0
- ldr r0, =0x0000220e
- adds r1, r0
-_080D128E:
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _080D12A8
- ldrb r0, [r1]
- cmp r0, 0x2
- bne _080D12A8
- movs r0, 0x1
- b _080D12B2
- .pool
-_080D12A8:
- adds r1, 0x10
- adds r2, 0x1
- cmp r2, 0x2
- ble _080D128E
-_080D12B0:
- movs r0, 0
-_080D12B2:
- pop {r1}
- bx r1
- thumb_func_end sub_80D127C
-
- thumb_func_start sub_80D12B8
-sub_80D12B8: @ 80D12B8
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00002234
- adds r0, r1
- ldrh r0, [r0]
- bl ItemId_GetName
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D12B8
-
- thumb_func_start sub_80D12D4
-sub_80D12D4: @ 80D12D4
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00002234
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80D12D4
-
- thumb_func_start sub_80D12E8
-sub_80D12E8: @ 80D12E8
- push {r4,r5,lr}
- movs r2, 0
- ldr r5, =gUnknown_02039D08
- ldr r3, =0x00002210
- movs r4, 0x1
-_080D12F2:
- ldr r0, [r5]
- lsls r1, r2, 4
- adds r0, r1
- adds r1, r0, r3
- ldrb r0, [r1]
- cmp r0, 0
- bne _080D1310
- strb r4, [r1]
- adds r0, r2, 0
- b _080D131C
- .pool
-_080D1310:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _080D12F2
- movs r0, 0x3
-_080D131C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80D12E8
-
- thumb_func_start sub_80D1324
-sub_80D1324: @ 80D1324
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
-_080D1334:
- ldr r5, =0x00002210
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, 0
- beq _080D1360
- subs r5, 0x2
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, r4
- bne _080D1360
- adds r5, 0x1
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, r1
- bne _080D1360
- movs r0, 0x1
- b _080D136A
- .pool
-_080D1360:
- adds r2, 0x10
- adds r3, 0x1
- cmp r3, 0x2
- ble _080D1334
- movs r0, 0
-_080D136A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80D1324
-
- thumb_func_start sub_80D1370
-sub_80D1370: @ 80D1370
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- movs r3, 0
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
-_080D1380:
- lsls r0, r3, 4
- adds r2, r1, r0
- ldr r6, =0x00002210
- adds r0, r2, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _080D13B0
- subs r6, 0x2
- adds r0, r2, r6
- ldrb r0, [r0]
- cmp r0, r5
- bne _080D13B0
- adds r6, 0x1
- adds r0, r2, r6
- ldrb r0, [r0]
- cmp r0, r4
- bne _080D13B0
- adds r0, r3, 0
- b _080D13BC
- .pool
-_080D13B0:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x2
- bls _080D1380
- movs r0, 0x3
-_080D13BC:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80D1370
-
- thumb_func_start sub_80D13C4
-sub_80D13C4: @ 80D13C4
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r2, 0
- ldr r0, =gUnknown_02039D08
- ldr r3, [r0]
- ldr r0, =0x00002204
- adds r4, r3, r0
- ldr r6, =0x00002210
-_080D13D4:
- lsls r1, r2, 4
- adds r0, r3, r1
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _080D13F8
- adds r0, r4, r1
- ldr r0, [r0]
- cmp r0, r5
- bne _080D13F8
- adds r0, r2, 0
- b _080D1404
- .pool
-_080D13F8:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _080D13D4
- movs r0, 0x3
-_080D1404:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80D13C4
-
- thumb_func_start sub_80D140C
-sub_80D140C: @ 80D140C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsrs r7, r2, 24
- cmp r5, 0x2
- bhi _080D150A
- cmp r1, 0
- beq _080D1438
- cmp r1, 0x1
- beq _080D1494
- ldr r4, =gUnknown_02039D08
- lsls r3, r5, 4
- b _080D14F4
- .pool
-_080D1438:
- adds r0, r7, 0
- movs r1, 0x6
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r7, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- ldr r6, =gUnknown_02039D08
- ldr r2, [r6]
- lsls r5, 4
- ldr r1, =0x00002204
- adds r2, r1
- adds r2, r5
- ldr r3, [r2]
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 3
- adds r1, 0x70
- strh r1, [r3, 0x20]
- ldr r3, [r2]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x38
- strh r1, [r3, 0x22]
- ldr r2, [r2]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r2, 0x5]
- adds r4, r6, 0
- adds r3, r5, 0
- b _080D14F4
- .pool
-_080D1494:
- cmp r7, 0
- bne _080D14BC
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- lsls r3, r5, 4
- ldr r1, =0x00002204
- adds r0, r1
- adds r0, r3
- ldr r2, [r0]
- movs r1, 0x74
- strh r1, [r2, 0x20]
- ldr r1, [r0]
- movs r0, 0x4C
- strh r0, [r1, 0x22]
- b _080D14DC
- .pool
-_080D14BC:
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- lsls r3, r5, 4
- ldr r1, =0x00002204
- adds r0, r1
- adds r0, r3
- ldr r2, [r0]
- movs r1, 0xA4
- strh r1, [r2, 0x20]
- ldr r2, [r0]
- subs r1, r7, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x1C
- strh r0, [r2, 0x22]
-_080D14DC:
- ldr r0, [r4]
- ldr r1, =0x00002204
- adds r0, r1
- adds r0, r3
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x5]
-_080D14F4:
- ldr r0, [r4]
- adds r0, r3
- ldr r1, =0x0000220e
- adds r0, r1
- mov r1, r8
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r3
- ldr r1, =0x0000220f
- adds r0, r1
- strb r7, [r0]
-_080D150A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D140C
-
- thumb_func_start sub_80D1524
-sub_80D1524: @ 80D1524
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- mov r8, r1
- mov r9, r2
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x2
- bhi _080D15AC
- movs r0, 0
- str r0, [sp]
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldr r6, =0x000042c4
- adds r1, r6
- ldr r2, =0x01000080
- mov r0, sp
- bl CpuFastSet
- ldr r1, [r4]
- ldr r5, =0x000022c4
- adds r1, r5
- mov r0, r8
- bl LZ77UnCompWram
- lsls r7, 4
- mov r8, r7
- adds r7, r4, 0
- movs r4, 0x2
-_080D1562:
- ldr r1, [r7]
- adds r0, r1, r5
- adds r1, r6
- movs r2, 0x18
- bl CpuFastSet
- adds r6, 0x80
- adds r5, 0x60
- subs r4, 0x1
- cmp r4, 0
- bge _080D1562
- ldr r5, =gUnknown_02039D08
- ldr r1, [r5]
- ldr r4, =0x000042c4
- adds r0, r1, r4
- ldr r2, =0x00002208
- adds r1, r2
- add r1, r8
- ldr r1, [r1]
- movs r2, 0x80
- bl CpuFastSet
- ldr r1, [r5]
- adds r1, r4
- mov r0, r9
- bl LZ77UnCompWram
- ldr r0, [r5]
- adds r4, r0, r4
- add r0, r8
- ldr r1, =0x0000220c
- adds r0, r1
- ldrh r1, [r0]
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
-_080D15AC:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1524
-
- thumb_func_start sub_80D15D4
-sub_80D15D4: @ 80D15D4
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- cmp r2, 0x2
- bhi _080D15F6
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r2, 4
- ldr r2, =0x00002204
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- adds r1, r3, 0
- bl StartSpriteAffineAnim
-_080D15F6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D15D4
-
- thumb_func_start sub_80D1604
-sub_80D1604: @ 80D1604
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r0, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- lsrs r3, 24
- cmp r4, 0x2
- bls _080D161C
- b _080D172E
-_080D161C:
- cmp r0, 0x7
- bls _080D1622
- b _080D172E
-_080D1622:
- lsls r0, 2
- ldr r1, =_080D1630
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080D1630:
- .4byte _080D1650
- .4byte _080D1674
- .4byte _080D1698
- .4byte _080D16C4
- .4byte _080D16F0
- .4byte _080D172E
- .4byte _080D172E
- .4byte _080D171C
-_080D1650:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r4, 4
- ldr r2, =0x00002204
- adds r0, r2
- adds r0, r1
- ldr r1, [r0]
- strh r4, [r1, 0x2E]
- ldr r1, [r0]
- ldr r0, =sub_80D1A48
- b _080D172C
- .pool
-_080D1674:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r4, 4
- ldr r2, =0x00002204
- adds r0, r2
- adds r0, r1
- ldr r2, [r0]
- movs r1, 0
- strh r1, [r2, 0x2E]
- ldr r1, [r0]
- ldr r0, =sub_80D1A74
- b _080D172C
- .pool
-_080D1698:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r4, 4
- ldr r2, =0x00002204
- adds r0, r2
- adds r0, r1
- ldr r2, [r0]
- movs r1, 0
- strh r1, [r2, 0x2E]
- ldr r1, [r0]
- strh r5, [r1, 0x3A]
- ldr r1, [r0]
- strh r3, [r1, 0x3C]
- ldr r1, [r0]
- ldr r0, =sub_80D1B14
- b _080D172C
- .pool
-_080D16C4:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r4, 4
- ldr r2, =0x00002204
- adds r0, r2
- adds r0, r1
- ldr r2, [r0]
- movs r1, 0
- strh r1, [r2, 0x2E]
- ldr r2, [r0]
- ldr r1, =sub_80D1B94
- str r1, [r2, 0x1C]
- strh r5, [r2, 0x3A]
- ldr r0, [r0]
- strh r3, [r0, 0x3C]
- b _080D172E
- .pool
-_080D16F0:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r4, 4
- ldr r2, =0x00002204
- adds r0, r2
- adds r0, r1
- ldr r2, [r0]
- movs r1, 0
- strh r1, [r2, 0x2E]
- ldr r1, [r0]
- strh r5, [r1, 0x3A]
- ldr r1, [r0]
- strh r3, [r1, 0x3C]
- ldr r1, [r0]
- ldr r0, =sub_80D1C30
- b _080D172C
- .pool
-_080D171C:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r4, 4
- ldr r2, =0x00002204
- adds r0, r2
- adds r0, r1
- ldr r1, [r0]
- ldr r0, =sub_80D1CCC
-_080D172C:
- str r0, [r1, 0x1C]
-_080D172E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1604
-
- thumb_func_start sub_80D1740
-sub_80D1740: @ 80D1740
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r2, 0x2
- bhi _080D1780
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- lsls r2, 4
- adds r0, r2
- ldr r3, =0x00002210
- adds r0, r3
- strb r4, [r0]
- ldr r0, [r1]
- ldr r1, =0x00002204
- adds r0, r1
- adds r0, r2
- ldr r0, [r0]
- movs r3, 0
- cmp r4, 0
- bne _080D176E
- movs r3, 0x1
-_080D176E:
- adds r2, r0, 0
- adds r2, 0x3E
- lsls r3, 2
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
-_080D1780:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1740
-
- thumb_func_start GetItemIconPic
-GetItemIconPic: @ 80D1794
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl GetItemIconPicOrPalette
- pop {r1}
- bx r1
- thumb_func_end GetItemIconPic
-
- thumb_func_start GetItemIconPalette
-GetItemIconPalette: @ 80D17A4
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetItemIconPicOrPalette
- pop {r1}
- bx r1
- thumb_func_end GetItemIconPalette
-
- thumb_func_start sub_80D17B4
-sub_80D17B4: @ 80D17B4
- push {r4,lr}
- sub sp, 0x14
- bl sub_80D127C
- lsls r0, 24
- cmp r0, 0
- beq _080D17D4
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00002234
- b _080D17DA
- .pool
-_080D17D4:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000ce6
-_080D17DA:
- adds r0, r1
- ldrh r0, [r0]
- bl ItemId_GetDescription
- adds r4, r0, 0
- movs r0, 0x2
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- movs r0, 0x1
- str r0, [sp, 0x10]
- movs r0, 0x2
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x4
- bl AddTextPrinterParameterized5
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D17B4
-
- thumb_func_start sub_80D1818
-sub_80D1818: @ 80D1818
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00002236
- adds r0, r1
- movs r1, 0x15
- strh r1, [r0]
- ldr r1, =gUnknown_0857BB24
- movs r3, 0x9D
- lsls r3, 1
- movs r0, 0
- movs r2, 0x80
- bl LoadBgTiles
- movs r0, 0
- bl sub_80D19B4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1818
-
- thumb_func_start sub_80D184C
-sub_80D184C: @ 80D184C
- push {r4,r5,lr}
- sub sp, 0x10
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r2, =0x00002236
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0
- bne _080D186C
- movs r0, 0
- b _080D18D2
- .pool
-_080D186C:
- subs r0, 0x1
- strh r0, [r1]
- ldrh r1, [r1]
- movs r0, 0x15
- subs r5, r0, r1
- movs r4, 0
- cmp r4, r5
- bge _080D18BC
-_080D187C:
- movs r0, 0
- movs r1, 0xA
- bl GetBgAttribute
- adds r1, r0, 0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r2, =0x00002236
- adds r0, r2
- adds r1, 0x14
- ldrh r0, [r0]
- adds r1, r0
- adds r1, r4
- lsls r1, 16
- lsrs r1, 16
- lsls r2, r4, 24
- lsrs r2, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x7
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0x15
- str r0, [sp, 0xC]
- movs r0, 0
- movs r3, 0xD
- bl WriteSequenceToBgTilemapBuffer
- adds r4, 0x1
- cmp r4, r5
- blt _080D187C
-_080D18BC:
- adds r0, r5, 0
- bl sub_80D19B4
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00002236
- adds r0, r1
- ldrh r1, [r0]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
-_080D18D2:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D184C
-
- thumb_func_start sub_80D18E4
-sub_80D18E4: @ 80D18E4
- push {r4,r5,lr}
- sub sp, 0x10
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldr r4, =0x00002236
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0x16
- bne _080D1904
- movs r0, 0
- b _080D19A4
- .pool
-_080D1904:
- cmp r0, 0
- bne _080D1920
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x9
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0x15
- movs r3, 0xC
- bl FillBgTilemapBufferRect
-_080D1920:
- ldr r1, [r5]
- adds r1, r4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldrh r1, [r1]
- movs r0, 0x15
- subs r5, r0, r1
- movs r4, 0
- cmp r4, r5
- bge _080D1976
-_080D1936:
- movs r0, 0
- movs r1, 0xA
- bl GetBgAttribute
- adds r1, r0, 0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r2, =0x00002236
- adds r0, r2
- adds r1, 0x14
- ldrh r0, [r0]
- adds r1, r0
- adds r1, r4
- lsls r1, 16
- lsrs r1, 16
- lsls r2, r4, 24
- lsrs r2, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x7
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0x15
- str r0, [sp, 0xC]
- movs r0, 0
- movs r3, 0xD
- bl WriteSequenceToBgTilemapBuffer
- adds r4, 0x1
- cmp r4, r5
- blt _080D1936
-_080D1976:
- cmp r5, 0
- blt _080D1980
- adds r0, r5, 0
- bl sub_80D19B4
-_080D1980:
- adds r2, r5, 0x1
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x9
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r3, 0xC
- bl FillBgTilemapBufferRect
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x1
-_080D19A4:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D18E4
-
- thumb_func_start sub_80D19B4
-sub_80D19B4: @ 80D19B4
- push {r4-r7,lr}
- sub sp, 0xC
- adds r7, r0, 0
- cmp r7, 0
- beq _080D19EC
- movs r1, 0x9D
- lsls r1, 1
- lsls r4, r7, 24
- lsrs r4, 24
- str r4, [sp]
- movs r6, 0x1
- str r6, [sp, 0x4]
- movs r5, 0xF
- str r5, [sp, 0x8]
- movs r0, 0
- movs r2, 0
- movs r3, 0xC
- bl FillBgTilemapBufferRect
- ldr r1, =0x0000093a
- str r4, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r2, 0
- movs r3, 0x14
- bl FillBgTilemapBufferRect
-_080D19EC:
- ldr r1, =0x0000013b
- lsls r5, r7, 24
- lsrs r5, 24
- movs r4, 0x1
- str r4, [sp]
- movs r0, 0x7
- str r0, [sp, 0x4]
- movs r6, 0xF
- str r6, [sp, 0x8]
- movs r0, 0
- adds r2, r5, 0
- movs r3, 0xD
- bl FillBgTilemapBufferRect
- movs r1, 0x9E
- lsls r1, 1
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- adds r2, r5, 0
- movs r3, 0xC
- bl FillBgTilemapBufferRect
- ldr r1, =0x0000013d
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- adds r2, r5, 0
- movs r3, 0x14
- bl FillBgTilemapBufferRect
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D19B4
-
- thumb_func_start sub_80D1A48
-sub_80D1A48: @ 80D1A48
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080D1A68
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_80D1740
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_080D1A68:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1A48
-
- thumb_func_start sub_80D1A74
-sub_80D1A74: @ 80D1A74
- push {lr}
- adds r3, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- cmp r1, 0
- beq _080D1A86
- cmp r1, 0x1
- beq _080D1AA2
- b _080D1AD0
-_080D1A86:
- ldrh r0, [r3, 0x20]
- lsls r0, 4
- strh r0, [r3, 0x30]
- ldrh r0, [r3, 0x22]
- lsls r0, 4
- strh r0, [r3, 0x32]
- movs r0, 0xA
- strh r0, [r3, 0x34]
- movs r0, 0x15
- strh r0, [r3, 0x36]
- strh r1, [r3, 0x38]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
-_080D1AA2:
- ldrh r1, [r3, 0x30]
- ldrh r0, [r3, 0x34]
- subs r1, r0
- strh r1, [r3, 0x30]
- ldrh r0, [r3, 0x32]
- ldrh r2, [r3, 0x36]
- subs r0, r2
- strh r0, [r3, 0x32]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r3, 0x20]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r3, 0x22]
- ldrh r0, [r3, 0x38]
- adds r0, 0x1
- strh r0, [r3, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- ble _080D1AD0
- ldr r0, =sub_80D1AD8
- str r0, [r3, 0x1C]
-_080D1AD0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1A74
-
- thumb_func_start sub_80D1AD8
-sub_80D1AD8: @ 80D1AD8
- ldr r1, =gUnknown_02039D08
- ldr r3, [r1]
- ldr r1, =0x00000cb4
- adds r3, r1
- ldr r1, [r3]
- ldrh r1, [r1, 0x20]
- adds r1, 0x4
- strh r1, [r0, 0x20]
- ldr r2, [r3]
- ldrh r1, [r2, 0x26]
- ldrh r2, [r2, 0x22]
- adds r1, r2
- adds r1, 0x8
- strh r1, [r0, 0x22]
- ldr r1, [r3]
- ldrb r1, [r1, 0x5]
- movs r2, 0xC
- ands r2, r1
- ldrb r3, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x5]
- bx lr
- .pool
- thumb_func_end sub_80D1AD8
-
- thumb_func_start sub_80D1B14
-sub_80D1B14: @ 80D1B14
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _080D1B26
- cmp r1, 0x1
- beq _080D1B42
- b _080D1B8A
-_080D1B26:
- ldrh r0, [r4, 0x20]
- lsls r0, 4
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- lsls r0, 4
- strh r0, [r4, 0x32]
- movs r0, 0xA
- strh r0, [r4, 0x34]
- movs r0, 0x15
- strh r0, [r4, 0x36]
- strh r1, [r4, 0x38]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_080D1B42:
- ldrh r0, [r4, 0x34]
- ldrh r1, [r4, 0x30]
- adds r0, r1
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x36]
- ldrh r2, [r4, 0x32]
- adds r1, r2
- strh r1, [r4, 0x32]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r4, 0x22]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- ble _080D1B8A
- adds r0, r4, 0
- bl sub_80D13C4
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x3A]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x3C]
- lsls r2, 24
- lsrs r2, 24
- bl sub_80D140C
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_080D1B8A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1B14
-
- thumb_func_start sub_80D1B94
-sub_80D1B94: @ 80D1B94
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _080D1BA6
- cmp r1, 0x1
- beq _080D1BC2
- b _080D1C20
-_080D1BA6:
- ldrh r0, [r4, 0x20]
- lsls r0, 4
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- lsls r0, 4
- strh r0, [r4, 0x32]
- movs r0, 0xA
- strh r0, [r4, 0x34]
- movs r0, 0x15
- strh r0, [r4, 0x36]
- strh r1, [r4, 0x38]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_080D1BC2:
- ldrh r1, [r4, 0x30]
- ldrh r0, [r4, 0x34]
- subs r1, r0
- strh r1, [r4, 0x30]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- subs r0, r2
- strh r0, [r4, 0x32]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r4, 0x20]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x22]
- ldr r1, =gSineTable
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- lsls r0, 4
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- ble _080D1C20
- adds r0, r4, 0
- bl sub_80D13C4
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x3A]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x3C]
- lsls r2, 24
- lsrs r2, 24
- bl sub_80D140C
- movs r0, 0
- strh r0, [r4, 0x24]
- ldr r0, =sub_80D1AD8
- str r0, [r4, 0x1C]
-_080D1C20:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1B94
-
- thumb_func_start sub_80D1C30
-sub_80D1C30: @ 80D1C30
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _080D1C42
- cmp r1, 0x1
- beq _080D1C5E
- b _080D1CBE
-_080D1C42:
- ldrh r0, [r4, 0x20]
- lsls r0, 4
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- lsls r0, 4
- strh r0, [r4, 0x32]
- movs r0, 0xA
- strh r0, [r4, 0x34]
- movs r0, 0x15
- strh r0, [r4, 0x36]
- strh r1, [r4, 0x38]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_080D1C5E:
- ldrh r0, [r4, 0x34]
- ldrh r1, [r4, 0x30]
- adds r0, r1
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x36]
- ldrh r2, [r4, 0x32]
- adds r1, r2
- strh r1, [r4, 0x32]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r4, 0x22]
- ldr r1, =gSineTable
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- lsls r0, 4
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 20
- negs r0, r0
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- ble _080D1CBE
- adds r0, r4, 0
- bl sub_80D13C4
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x3A]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x3C]
- lsls r2, 24
- lsrs r2, 24
- bl sub_80D140C
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x24]
-_080D1CBE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1C30
-
- thumb_func_start sub_80D1CCC
-sub_80D1CCC: @ 80D1CCC
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x22]
- subs r0, 0x8
- strh r0, [r2, 0x22]
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- movs r3, 0x26
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _080D1CFC
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
- adds r0, r2, 0
- bl sub_80D13C4
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_80D1740
-_080D1CFC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1CCC
-
- thumb_func_start TaskDummy0
-TaskDummy0: @ 80D1D04
- bx lr
- thumb_func_end TaskDummy0
-
- thumb_func_start nullsub_98
-nullsub_98: @ 80D1D08
- bx lr
- thumb_func_end nullsub_98
-
- thumb_func_start StorageGetCurrentBox
-@ char StorageGetCurrentBox()
-StorageGetCurrentBox: @ 80D1D0C
- ldr r0, =gPokemonStoragePtr
- ldr r0, [r0]
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end StorageGetCurrentBox
-
- thumb_func_start SetCurrentBox
-SetCurrentBox: @ 80D1D18
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xD
- bhi _080D1D28
- ldr r0, =gPokemonStoragePtr
- ldr r0, [r0]
- strb r1, [r0]
-_080D1D28:
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetCurrentBox
-
- thumb_func_start GetBoxMonDataFromAnyBox
-GetBoxMonDataFromAnyBox: @ 80D1D30
- push {r4,r5,lr}
- adds r5, r2, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _080D1D6C
- cmp r4, 0x1D
- bhi _080D1D6C
- ldr r2, =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- adds r1, r5, 0
- bl GetBoxMonData
- b _080D1D6E
- .pool
-_080D1D6C:
- movs r0, 0
-_080D1D6E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GetBoxMonDataFromAnyBox
-
- thumb_func_start SetBoxMonDataFromAnyBox
-SetBoxMonDataFromAnyBox: @ 80D1D74
- push {r4-r6,lr}
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _080D1DAC
- cmp r4, 0x1D
- bhi _080D1DAC
- ldr r2, =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- adds r1, r5, 0
- adds r2, r6, 0
- bl SetBoxMonData
-_080D1DAC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetBoxMonDataFromAnyBox
-
- thumb_func_start GetBoxMonDataFromSelectedBox
-GetBoxMonDataFromSelectedBox: @ 80D1DB8
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =gPokemonStoragePtr
- ldr r0, [r0]
- ldrb r0, [r0]
- adds r1, r3, 0
- bl GetBoxMonDataFromAnyBox
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetBoxMonDataFromSelectedBox
-
- thumb_func_start SetBoxMonDataFromSelectedBox
-SetBoxMonDataFromSelectedBox: @ 80D1DD8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gPokemonStoragePtr
- ldr r0, [r0]
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r2, r5, 0
- bl SetBoxMonDataFromAnyBox
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetBoxMonDataFromSelectedBox
-
- thumb_func_start GetBoxMonNickFromAnyBox
-GetBoxMonNickFromAnyBox: @ 80D1DFC
- push {r4,r5,lr}
- adds r5, r2, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _080D1E38
- cmp r4, 0x1D
- bhi _080D1E38
- ldr r2, =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- movs r1, 0x2
- adds r2, r5, 0
- bl GetBoxMonData
- b _080D1E3C
- .pool
-_080D1E38:
- movs r0, 0xFF
- strb r0, [r5]
-_080D1E3C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetBoxMonNickFromAnyBox
-
- thumb_func_start sub_80D1E44
-sub_80D1E44: @ 80D1E44
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- cmp r0, 0xD
- bhi _080D1E84
- cmp r2, 0x1D
- bhi _080D1E84
- ldr r6, =gPokemonStoragePtr
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- adds r5, r0, 0x4
- ldr r0, [r6]
- adds r0, r5
- lsls r1, r2, 2
- adds r1, r2
- lsls r4, r1, 4
- adds r0, r4
- movs r1, 0x5
- bl GetBoxMonData
- cmp r0, 0
- beq _080D1E84
- ldr r0, [r6]
- adds r0, r5
- adds r0, r4
- bl GetLevelFromBoxMonExp
-_080D1E84:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D1E44
-
- thumb_func_start SetBoxMonNickFromAnyBox
-SetBoxMonNickFromAnyBox: @ 80D1E90
- push {r4,r5,lr}
- adds r5, r2, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _080D1EC6
- cmp r4, 0x1D
- bhi _080D1EC6
- ldr r2, =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- movs r1, 0x2
- adds r2, r5, 0
- bl SetBoxMonData
-_080D1EC6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetBoxMonNickFromAnyBox
-
- thumb_func_start GetAndCopyBoxMonDataFromAnyBox
-GetAndCopyBoxMonDataFromAnyBox: @ 80D1ED0
- push {r4-r6,lr}
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _080D1F10
- cmp r4, 0x1D
- bhi _080D1F10
- ldr r2, =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- adds r1, r5, 0
- adds r2, r6, 0
- bl GetBoxMonData
- b _080D1F12
- .pool
-_080D1F10:
- movs r0, 0
-_080D1F12:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end GetAndCopyBoxMonDataFromAnyBox
-
- thumb_func_start CopyBoxMonFromAnyBox
-CopyBoxMonFromAnyBox: @ 80D1F18
- push {r4,r5,lr}
- adds r5, r2, 0
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r4, 0xD
- bhi _080D1F4E
- cmp r1, 0x1D
- bhi _080D1F4E
- ldr r0, =gPokemonStoragePtr
- ldr r0, [r0]
- lsls r3, r1, 2
- adds r3, r1
- lsls r3, 4
- lsls r2, r4, 2
- adds r2, r4
- lsls r1, r2, 4
- subs r1, r2
- lsls r1, 5
- adds r3, r1
- adds r0, r3
- adds r0, 0x4
- adds r1, r5, 0
- movs r2, 0x50
- bl memcpy
-_080D1F4E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CopyBoxMonFromAnyBox
-
- thumb_func_start sub_80D1F58
-sub_80D1F58: @ 80D1F58
- push {r4,r5,lr}
- adds r5, r2, 0
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- cmp r4, 0xD
- bhi _080D1F8E
- cmp r2, 0x1D
- bhi _080D1F8E
- ldr r0, =gPokemonStoragePtr
- ldr r1, [r0]
- lsls r3, r2, 2
- adds r3, r2
- lsls r3, 4
- lsls r2, r4, 2
- adds r2, r4
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 5
- adds r3, r0
- adds r1, r3
- adds r1, 0x4
- adds r0, r5, 0
- movs r2, 0x50
- bl memcpy
-_080D1F8E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1F58
-
- thumb_func_start sub_80D1F98
-sub_80D1F98: @ 80D1F98
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r4, [sp, 0x30]
- ldr r5, [sp, 0x34]
- ldr r6, [sp, 0x3C]
- mov r12, r6
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 16
- lsrs r2, 16
- mov r9, r2
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r0, r12
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r7, 0xD
- bhi _080D2004
- cmp r6, 0x1D
- bhi _080D2004
- ldr r2, =gPokemonStoragePtr
- lsls r0, r7, 2
- adds r0, r7
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 4
- adds r0, r1
- str r5, [sp]
- ldr r1, [sp, 0x38]
- str r1, [sp, 0x4]
- str r3, [sp, 0x8]
- ldr r1, [sp, 0x40]
- str r1, [sp, 0xC]
- mov r1, r9
- mov r2, r8
- adds r3, r4, 0
- bl CreateBoxMon
-_080D2004:
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1F98
-
- thumb_func_start ClearMonInBox
-ClearMonInBox: @ 80D2018
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _080D2048
- cmp r4, 0x1D
- bhi _080D2048
- ldr r2, =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- bl ZeroBoxMonData
-_080D2048:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ClearMonInBox
-
- thumb_func_start sub_80D2054
-sub_80D2054: @ 80D2054
- push {r4,r5,lr}
- adds r5, r2, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _080D2088
- cmp r4, 0x1D
- bhi _080D2088
- ldr r2, =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- adds r1, r5, 0
- bl BoxMonToMon
-_080D2088:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2054
-
- thumb_func_start GetBoxedMonPtr
-@ pokemon *GetBoxedMonPtr(u8 box_id, u8 pos)
-GetBoxedMonPtr: @ 80D2094
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _080D20C8
- cmp r4, 0x1D
- bhi _080D20C8
- ldr r2, =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- b _080D20CA
- .pool
-_080D20C8:
- movs r0, 0
-_080D20CA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetBoxedMonPtr
-
- thumb_func_start GetBoxNamePtr
-GetBoxNamePtr: @ 80D20D0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xD
- bls _080D20DE
- movs r0, 0
- b _080D20EC
-_080D20DE:
- ldr r0, =gPokemonStoragePtr
- lsls r1, r2, 3
- adds r1, r2
- ldr r2, =0x00008344
- adds r1, r2
- ldr r0, [r0]
- adds r0, r1
-_080D20EC:
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetBoxNamePtr
-
- thumb_func_start sub_80D20F8
-sub_80D20F8: @ 80D20F8
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xD
- bls _080D2106
- movs r0, 0
- b _080D2112
-_080D2106:
- ldr r0, =gPokemonStoragePtr
- ldr r0, [r0]
- ldr r2, =0x000083c2
- adds r0, r2
- adds r0, r1
- ldrb r0, [r0]
-_080D2112:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D20F8
-
- thumb_func_start SetBoxWallpaper
-SetBoxWallpaper: @ 80D2120
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r2, 0xD
- bhi _080D213E
- cmp r1, 0x10
- bhi _080D213E
- ldr r0, =gPokemonStoragePtr
- ldr r0, [r0]
- ldr r3, =0x000083c2
- adds r0, r3
- adds r0, r2
- strb r1, [r0]
-_080D213E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetBoxWallpaper
-
- thumb_func_start sub_80D214C
-sub_80D214C: @ 80D214C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- lsls r1, 24
- lsrs r0, r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- adds r4, r3, 0
- ldr r2, =0x0000ffff
- cmp r3, 0x1
- bhi _080D216E
- movs r2, 0x1
- cmp r3, 0x1
- beq _080D2172
-_080D216E:
- cmp r4, 0x3
- bne _080D21BC
-_080D2172:
- lsls r0, 24
- asrs r0, 24
- lsls r2, 16
- asrs r1, r2, 16
- adds r1, r0
- lsls r0, r1, 16
- asrs r1, r0, 16
- adds r6, r2, 0
- cmp r1, 0
- blt _080D2208
- cmp r1, r7
- bgt _080D2208
-_080D218A:
- asrs r4, r0, 16
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- add r0, r8
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- bne _080D21B4
- asrs r0, r6, 16
- adds r0, r4, r0
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- blt _080D2208
- cmp r2, r7
- ble _080D218A
- b _080D2208
- .pool
-_080D21B4:
- adds r0, r4, 0
- b _080D220C
-_080D21B8:
- adds r0, r5, 0
- b _080D220C
-_080D21BC:
- lsls r0, 24
- asrs r0, 24
- lsls r2, 16
- asrs r1, r2, 16
- adds r1, r0
- lsls r0, r1, 16
- asrs r1, r0, 16
- adds r6, r2, 0
- cmp r1, 0
- blt _080D2208
- cmp r1, r7
- bgt _080D2208
-_080D21D4:
- asrs r5, r0, 16
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 4
- mov r1, r8
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- beq _080D21F8
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetBoxMonData
- cmp r0, 0
- beq _080D21B8
-_080D21F8:
- asrs r0, r6, 16
- adds r0, r5, r0
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- blt _080D2208
- cmp r2, r7
- ble _080D21D4
-_080D2208:
- movs r0, 0x1
- negs r0, r0
-_080D220C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80D214C
-
- thumb_func_start CheckFreePokemonStorageSpace
-CheckFreePokemonStorageSpace: @ 80D2218
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, =gPokemonStoragePtr
- mov r8, r0
- movs r7, 0x4
-_080D2228:
- movs r5, 0
- adds r6, r7, 0
- movs r4, 0
-_080D222E:
- mov r1, r8
- ldr r0, [r1]
- adds r0, r6
- adds r0, r4
- movs r1, 0x5
- str r2, [sp]
- bl GetBoxMonData
- ldr r2, [sp]
- cmp r0, 0
- bne _080D224C
- movs r0, 0x1
- b _080D2262
- .pool
-_080D224C:
- adds r4, 0x50
- adds r5, 0x1
- cmp r5, 0x1D
- ble _080D222E
- movs r0, 0x96
- lsls r0, 4
- adds r7, r0
- adds r2, 0x1
- cmp r2, 0xD
- ble _080D2228
- movs r0, 0
-_080D2262:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CheckFreePokemonStorageSpace
-
- thumb_func_start sub_80D2270
-sub_80D2270: @ 80D2270
- push {r4-r6,lr}
- adds r2, r1, 0
- cmp r0, 0xD
- bhi _080D22C8
- cmp r2, 0x1D
- bhi _080D22C8
- ldr r6, =gPokemonStoragePtr
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- adds r5, r0, 0x4
- ldr r0, [r6]
- adds r0, r5
- lsls r1, r2, 2
- adds r1, r2
- lsls r4, r1, 4
- adds r0, r4
- movs r1, 0x5
- bl GetBoxMonData
- cmp r0, 0
- beq _080D22C8
- ldr r0, [r6]
- adds r0, r5
- adds r0, r4
- movs r1, 0x6
- bl GetBoxMonData
- cmp r0, 0
- bne _080D22C8
- ldr r0, [r6]
- adds r0, r5
- adds r0, r4
- movs r1, 0x4
- bl GetBoxMonData
- cmp r0, 0
- bne _080D22C8
- movs r0, 0x1
- b _080D22CA
- .pool
-_080D22C8:
- movs r0, 0
-_080D22CA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80D2270
-
- thumb_func_start sub_80D22D0
-sub_80D22D0: @ 80D22D0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r7, 0
- movs r0, 0
- ldr r1, =gPokemonStoragePtr
- mov r9, r1
-_080D22E0:
- lsls r1, r0, 2
- adds r2, r0, 0x1
- mov r8, r2
- adds r1, r0
- movs r5, 0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- adds r4, r0, 0x4
- movs r6, 0x1D
-_080D22F4:
- mov r1, r9
- ldr r0, [r1]
- adds r0, r4
- adds r0, r5
- movs r1, 0x5
- bl GetBoxMonData
- cmp r0, 0
- beq _080D231A
- mov r2, r9
- ldr r0, [r2]
- adds r0, r4
- adds r0, r5
- movs r1, 0x6
- bl GetBoxMonData
- cmp r0, 0
- bne _080D231A
- adds r7, 0x1
-_080D231A:
- adds r5, 0x50
- subs r6, 0x1
- cmp r6, 0
- bge _080D22F4
- mov r0, r8
- cmp r0, 0xD
- ble _080D22E0
- adds r0, r7, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D22D0
-
- thumb_func_start sub_80D233C
-sub_80D233C: @ 80D233C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r7, 0
- movs r0, 0
- ldr r1, =gPokemonStoragePtr
- mov r9, r1
-_080D234C:
- lsls r1, r0, 2
- adds r2, r0, 0x1
- mov r8, r2
- adds r1, r0
- movs r5, 0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- adds r4, r0, 0x4
- movs r6, 0x1D
-_080D2360:
- mov r1, r9
- ldr r0, [r1]
- adds r0, r4
- adds r0, r5
- movs r1, 0x5
- bl GetBoxMonData
- cmp r0, 0
- bne _080D2384
- mov r2, r9
- ldr r0, [r2]
- adds r0, r4
- adds r0, r5
- movs r1, 0x6
- bl GetBoxMonData
- cmp r0, 0
- beq _080D2386
-_080D2384:
- adds r7, 0x1
-_080D2386:
- adds r5, 0x50
- subs r6, 0x1
- cmp r6, 0
- bge _080D2360
- mov r0, r8
- cmp r0, 0xD
- ble _080D234C
- adds r0, r7, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D233C
-
- thumb_func_start sub_80D23A8
-sub_80D23A8: @ 80D23A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- mov r1, sp
- strh r0, [r1]
- ldr r0, =0x00000163
- strh r0, [r1, 0x2]
- movs r0, 0
- mov r8, r0
- ldr r7, =gPokemonStoragePtr
- movs r5, 0x4
-_080D23C0:
- movs r6, 0
- movs r4, 0
-_080D23C4:
- ldr r0, [r7]
- adds r0, r5
- adds r0, r4
- movs r1, 0x5
- bl GetBoxMonData
- cmp r0, 0
- beq _080D2404
- ldr r0, [r7]
- adds r0, r5
- adds r0, r4
- movs r1, 0x6
- bl GetBoxMonData
- cmp r0, 0
- bne _080D2404
- ldr r0, [r7]
- adds r0, r5
- adds r0, r4
- movs r1, 0x51
- mov r2, sp
- bl GetBoxMonData
- cmp r0, 0
- beq _080D2404
- movs r0, 0x1
- b _080D241E
- .pool
-_080D2404:
- adds r4, 0x50
- adds r6, 0x1
- cmp r6, 0x1D
- ble _080D23C4
- movs r0, 0x96
- lsls r0, 4
- adds r5, r0
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0xD
- ble _080D23C0
- movs r0, 0
-_080D241E:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80D23A8
-
- thumb_func_start ResetWaldaWallpaper
-ResetWaldaWallpaper: @ 80D242C
- ldr r2, =gSaveBlock1Ptr
- ldr r0, [r2]
- ldr r1, =0x00003d84
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldr r3, =0x00003d85
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- adds r3, 0x1
- adds r0, r3
- strb r1, [r0]
- ldr r1, [r2]
- ldr r0, =0x00003d70
- adds r2, r1, r0
- ldr r0, =0x00007b35
- strh r0, [r2]
- subs r3, 0x14
- adds r2, r1, r3
- ldr r0, =0x00006186
- strh r0, [r2]
- ldr r0, =0x00003d74
- adds r1, r0
- movs r0, 0xFF
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end ResetWaldaWallpaper
-
- thumb_func_start SetWaldaWallpaperLockedOrUnlocked
-SetWaldaWallpaperLockedOrUnlocked: @ 80D2480
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- ldr r2, =0x00003d86
- adds r1, r2
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end SetWaldaWallpaperLockedOrUnlocked
-
- thumb_func_start IsWaldaWallpaperUnlocked
-IsWaldaWallpaperUnlocked: @ 80D2494
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003d86
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end IsWaldaWallpaperUnlocked
-
- thumb_func_start GetWaldaWallpaperPatternId
-GetWaldaWallpaperPatternId: @ 80D24A8
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003d85
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end GetWaldaWallpaperPatternId
-
- thumb_func_start SetWaldaWallpaperPatternId
-SetWaldaWallpaperPatternId: @ 80D24BC
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bhi _080D24D0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003d85
- adds r0, r2
- strb r1, [r0]
-_080D24D0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetWaldaWallpaperPatternId
-
- thumb_func_start GetWaldaWallpaperIconId
-GetWaldaWallpaperIconId: @ 80D24DC
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003d84
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end GetWaldaWallpaperIconId
-
- thumb_func_start SetWaldaWallpaperIconId
-SetWaldaWallpaperIconId: @ 80D24F0
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1D
- bhi _080D2504
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003d84
- adds r0, r2
- strb r1, [r0]
-_080D2504:
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetWaldaWallpaperIconId
-
- thumb_func_start GetWaldaWallpaperColorsPtr
-GetWaldaWallpaperColorsPtr: @ 80D2510
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003d70
- adds r0, r1
- bx lr
- .pool
- thumb_func_end GetWaldaWallpaperColorsPtr
-
- thumb_func_start SetWaldaWallpaperColors
-SetWaldaWallpaperColors: @ 80D2524
- push {r4,lr}
- ldr r2, =gSaveBlock1Ptr
- ldr r2, [r2]
- ldr r4, =0x00003d70
- adds r3, r2, r4
- strh r0, [r3]
- ldr r0, =0x00003d72
- adds r2, r0
- strh r1, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetWaldaWallpaperColors
-
- thumb_func_start GetWaldaPhrasePtr
-GetWaldaPhrasePtr: @ 80D2548
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003d74
- adds r0, r1
- bx lr
- .pool
- thumb_func_end GetWaldaPhrasePtr
-
- thumb_func_start SetWaldaPhrase
-SetWaldaPhrase: @ 80D255C
- push {lr}
- adds r1, r0, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003d74
- adds r0, r2
- bl StringCopy
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetWaldaPhrase
-
- thumb_func_start IsWaldaPhraseEmpty
-IsWaldaPhraseEmpty: @ 80D2578
- push {lr}
- movs r1, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003d74
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080D258C
- movs r1, 0x1
-_080D258C:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end IsWaldaPhraseEmpty
-
- thumb_func_start sub_80D259C
-sub_80D259C: @ 80D259C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r6, =gUnknown_02039D84
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 4
- bl Alloc
- str r0, [r6]
- ldr r5, =gUnknown_02039D88
- movs r1, 0
- cmp r0, 0
- beq _080D25BA
- adds r1, r4, 0
-_080D25BA:
- strh r1, [r5]
- movs r2, 0
- cmp r2, r1
- bcs _080D25E2
- movs r3, 0
- adds r4, r5, 0
-_080D25C6:
- ldr r0, [r6]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 4
- adds r1, r0
- str r3, [r1, 0x18]
- adds r1, 0x2C
- strb r3, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r4]
- cmp r2, r0
- bcc _080D25C6
-_080D25E2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D259C
-
- thumb_func_start sub_80D25F0
-sub_80D25F0: @ 80D25F0
- push {lr}
- ldr r0, =gUnknown_02039D84
- ldr r0, [r0]
- bl Free
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D25F0
-
- thumb_func_start sub_80D2604
-sub_80D2604: @ 80D2604
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, =gUnknown_02039D88
- ldrh r0, [r0]
- cmp r4, r0
- bge _080D2634
- movs r5, 0
-_080D2612:
- ldr r0, =gUnknown_02039D84
- ldr r0, [r0]
- adds r0, r5, r0
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080D2628
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80D2918
-_080D2628:
- adds r5, 0x30
- adds r4, 0x1
- ldr r0, =gUnknown_02039D88
- ldrh r0, [r0]
- cmp r4, r0
- blt _080D2612
-_080D2634:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2604
-
- thumb_func_start sub_80D2644
-sub_80D2644: @ 80D2644
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r4, r2, 0
- ldr r2, [sp, 0x24]
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r3, 16
- lsrs r3, 16
- mov r10, r3
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp]
- ldr r0, =gUnknown_02039D88
- ldrh r0, [r0]
- cmp r6, r0
- bcs _080D272C
- ldr r0, =gUnknown_02039D84
- mov r9, r0
- ldr r0, [r0]
- lsls r1, r6, 1
- mov r8, r1
- adds r5, r1, r6
- lsls r5, 4
- adds r0, r5, r0
- movs r1, 0
- str r1, [r0, 0x18]
- str r4, [r0, 0x1C]
- adds r0, 0x2B
- strb r7, [r0]
- mov r2, r9
- ldr r0, [r2]
- adds r0, r5, r0
- mov r3, r10
- strh r3, [r0, 0x24]
- mov r1, sp
- ldrh r1, [r1]
- strh r1, [r0, 0x26]
- adds r0, r7, 0
- movs r1, 0x3
- bl GetBgAttribute
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r7, 0
- movs r1, 0x9
- bl GetBgAttribute
- lsls r0, 16
- lsrs r0, 16
- mov r2, r9
- ldr r1, [r2]
- adds r5, r1
- ldr r2, =gSpriteTemplate_857BC88
- lsls r4, 2
- lsls r1, r0, 4
- adds r4, r1
- adds r4, r2
- ldrh r1, [r4]
- strh r1, [r5, 0x20]
- ldrh r1, [r4, 0x2]
- strh r1, [r5, 0x22]
- mov r2, r8
- cmp r0, 0
- beq _080D26E8
- adds r1, r5, 0
- adds r1, 0x2A
- movs r0, 0x1
- b _080D26EE
- .pool
-_080D26E8:
- adds r1, r5, 0
- adds r1, 0x2A
- movs r0, 0x2
-_080D26EE:
- strb r0, [r1]
- ldr r4, =gUnknown_02039D84
- ldr r1, [r4]
- adds r2, r6
- lsls r2, 4
- adds r1, r2, r1
- adds r0, r1, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- mov r3, r10
- muls r3, r0
- movs r0, 0
- strh r3, [r1, 0x28]
- mov r3, r10
- strh r3, [r1, 0x10]
- mov r5, sp
- ldrh r5, [r5]
- strh r5, [r1, 0x12]
- strh r0, [r1, 0xC]
- strh r0, [r1, 0xE]
- strh r0, [r1, 0x14]
- strh r0, [r1, 0x16]
- adds r0, r1, 0
- adds r0, 0xC
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldr r0, [r4]
- adds r2, r0
- adds r2, 0x2C
- movs r0, 0x1
- strb r0, [r2]
-_080D272C:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2644
-
- thumb_func_start sub_80D2740
-sub_80D2740: @ 80D2740
- push {lr}
- adds r3, r1, 0
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_02039D88
- ldrh r0, [r0]
- cmp r2, r0
- bcs _080D2764
- ldr r0, =gUnknown_02039D84
- ldr r1, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 4
- adds r0, r1
- str r3, [r0, 0x18]
- adds r0, 0x2C
- movs r1, 0x1
- strb r1, [r0]
-_080D2764:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2740
-
- thumb_func_start sub_80D2770
-sub_80D2770: @ 80D2770
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r0, =gUnknown_02039D88
- ldrh r0, [r0]
- cmp r3, r0
- bcs _080D279C
- ldr r0, =gUnknown_02039D84
- ldr r1, [r0]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 4
- adds r0, r1
- strh r4, [r0, 0x14]
- strh r2, [r0, 0x16]
- adds r0, 0x2C
- movs r1, 0x1
- strb r1, [r0]
-_080D279C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2770
-
- thumb_func_start sub_80D27AC
-sub_80D27AC: @ 80D27AC
- push {r4-r6,lr}
- ldr r4, [sp, 0x10]
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r3, 16
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =gUnknown_02039D88
- ldrh r0, [r0]
- cmp r5, r0
- bcs _080D27E6
- ldr r0, =gUnknown_02039D84
- ldr r1, [r0]
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 4
- adds r0, r1
- strh r6, [r0, 0xC]
- strh r2, [r0, 0xE]
- strh r3, [r0, 0x10]
- strh r4, [r0, 0x12]
- adds r0, 0x2C
- movs r1, 0x1
- strb r1, [r0]
-_080D27E6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D27AC
-
- thumb_func_start sub_80D27F4
-sub_80D27F4: @ 80D27F4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r0, =gUnknown_02039D88
- ldrh r0, [r0]
- cmp r5, r0
- bcc _080D280C
- b _080D290E
-_080D280C:
- ldr r4, =gUnknown_02039D84
- lsls r2, r5, 1
- cmp r1, 0x5
- bls _080D2816
- b _080D2900
-_080D2816:
- lsls r0, r1, 2
- ldr r1, =_080D282C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080D282C:
- .4byte _080D2844
- .4byte _080D2864
- .4byte _080D2888
- .4byte _080D28A8
- .4byte _080D28CC
- .4byte _080D28E8
-_080D2844:
- ldr r4, =gUnknown_02039D84
- ldr r0, [r4]
- lsls r3, r5, 1
- adds r1, r3, r5
- lsls r1, 4
- adds r1, r0
- lsls r2, r6, 24
- asrs r2, 24
- ldrh r0, [r1, 0x14]
- adds r0, r2
- strh r0, [r1, 0x14]
- ldrh r0, [r1, 0x10]
- subs r0, r2
- b _080D287E
- .pool
-_080D2864:
- ldr r4, =gUnknown_02039D84
- ldr r0, [r4]
- lsls r3, r5, 1
- adds r1, r3, r5
- lsls r1, 4
- adds r1, r0
- lsls r2, r6, 24
- asrs r2, 24
- ldrh r0, [r1, 0xC]
- adds r0, r2
- strh r0, [r1, 0xC]
- ldrh r0, [r1, 0x10]
- adds r0, r2
-_080D287E:
- strh r0, [r1, 0x10]
- adds r2, r3, 0
- b _080D2900
- .pool
-_080D2888:
- ldr r4, =gUnknown_02039D84
- ldr r0, [r4]
- lsls r3, r5, 1
- adds r1, r3, r5
- lsls r1, 4
- adds r1, r0
- lsls r2, r6, 24
- asrs r2, 24
- ldrh r0, [r1, 0x16]
- adds r0, r2
- strh r0, [r1, 0x16]
- ldrh r0, [r1, 0x12]
- subs r0, r2
- b _080D28C2
- .pool
-_080D28A8:
- ldr r4, =gUnknown_02039D84
- ldr r0, [r4]
- lsls r3, r5, 1
- adds r1, r3, r5
- lsls r1, 4
- adds r1, r0
- lsls r2, r6, 24
- asrs r2, 24
- ldrh r0, [r1, 0xE]
- subs r0, r2
- strh r0, [r1, 0xE]
- ldrh r0, [r1, 0x12]
- adds r0, r2
-_080D28C2:
- strh r0, [r1, 0x12]
- adds r2, r3, 0
- b _080D2900
- .pool
-_080D28CC:
- ldr r3, =gUnknown_02039D84
- ldr r0, [r3]
- lsls r2, r5, 1
- adds r1, r2, r5
- lsls r1, 4
- adds r1, r0
- lsls r0, r6, 24
- asrs r0, 24
- ldrh r4, [r1, 0x14]
- adds r0, r4
- strh r0, [r1, 0x14]
- b _080D28FE
- .pool
-_080D28E8:
- ldr r3, =gUnknown_02039D84
- ldr r0, [r3]
- lsls r2, r5, 1
- adds r1, r2, r5
- lsls r1, 4
- adds r1, r0
- lsls r0, r6, 24
- asrs r0, 24
- ldrh r4, [r1, 0x16]
- adds r0, r4
- strh r0, [r1, 0x16]
-_080D28FE:
- adds r4, r3, 0
-_080D2900:
- ldr r0, [r4]
- adds r1, r2, r5
- lsls r1, 4
- adds r1, r0
- adds r1, 0x2C
- movs r0, 0x1
- strb r0, [r1]
-_080D290E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D27F4
-
- thumb_func_start sub_80D2918
-sub_80D2918: @ 80D2918
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r6, r2, 0
- ldr r0, =gUnknown_02039D88
- ldrh r0, [r0]
- cmp r2, r0
- bcs _080D2952
- ldr r5, =gUnknown_02039D84
- ldr r0, [r5]
- lsls r1, r2, 1
- adds r1, r2
- lsls r4, r1, 4
- adds r0, r4, r0
- ldr r0, [r0, 0x18]
- cmp r0, 0
- beq _080D2940
- adds r0, r2, 0
- bl sub_80D2960
-_080D2940:
- adds r0, r6, 0
- bl sub_80D29F8
- ldr r1, [r5]
- adds r1, r4, r1
- adds r0, r1, 0
- adds r0, 0xC
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
-_080D2952:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2918
-
- thumb_func_start sub_80D2960
-sub_80D2960: @ 80D2960
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, =gUnknown_02039D84
- ldr r1, [r4]
- lsls r5, r0, 1
- adds r0, r5, r0
- lsls r0, 4
- adds r0, r1
- adds r1, r0, 0
- adds r1, 0x2A
- ldrb r3, [r1]
- ldrh r1, [r0, 0x20]
- adds r2, r3, 0
- muls r2, r1
- mov r9, r2
- movs r6, 0xA
- ldrsh r1, [r0, r6]
- mov r2, r9
- muls r2, r1
- ldr r1, [r0, 0x18]
- adds r1, r2
- movs r6, 0x8
- ldrsh r2, [r0, r6]
- muls r2, r3
- adds r7, r1, r2
- movs r6, 0
- ldrh r0, [r0, 0x6]
- cmp r6, r0
- bge _080D29E4
- mov r10, r4
-_080D29AA:
- mov r0, r10
- ldr r1, [r0]
- mov r2, r8
- adds r4, r5, r2
- lsls r4, 4
- adds r1, r4, r1
- adds r0, r1, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- ldrb r2, [r1, 0x8]
- ldrb r3, [r1, 0xA]
- adds r3, r6
- lsls r3, 24
- lsrs r3, 24
- ldrb r1, [r1, 0x4]
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- adds r1, r7, 0
- bl CopyToBgTilemapBufferRect
- add r7, r9
- adds r6, 0x1
- mov r1, r10
- ldr r0, [r1]
- adds r4, r0
- ldrh r4, [r4, 0x6]
- cmp r6, r4
- blt _080D29AA
-_080D29E4:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2960
-
- thumb_func_start sub_80D29F8
-sub_80D29F8: @ 80D29F8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, =gUnknown_02039D84
- ldr r1, [r4]
- lsls r5, r0, 1
- adds r0, r5, r0
- lsls r0, 4
- adds r0, r1
- adds r1, r0, 0
- adds r1, 0x2A
- ldrb r3, [r1]
- ldrh r1, [r0, 0x24]
- adds r2, r3, 0
- muls r2, r1
- mov r9, r2
- movs r6, 0xE
- ldrsh r1, [r0, r6]
- mov r2, r9
- muls r2, r1
- ldr r1, [r0, 0x1C]
- adds r1, r2
- movs r6, 0xC
- ldrsh r2, [r0, r6]
- muls r2, r3
- adds r7, r1, r2
- movs r6, 0
- ldrh r0, [r0, 0x12]
- cmp r6, r0
- bge _080D2A7C
- mov r10, r4
-_080D2A42:
- mov r0, r10
- ldr r1, [r0]
- mov r2, r8
- adds r4, r5, r2
- lsls r4, 4
- adds r1, r4, r1
- adds r0, r1, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- ldrb r2, [r1, 0x14]
- ldrb r3, [r1, 0x16]
- adds r3, r6
- lsls r3, 24
- lsrs r3, 24
- ldrb r1, [r1, 0x10]
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- adds r1, r7, 0
- bl CopyToBgTilemapBufferRect
- add r7, r9
- adds r6, 0x1
- mov r1, r10
- ldr r0, [r1]
- adds r4, r0
- ldrh r4, [r4, 0x12]
- cmp r6, r4
- blt _080D2A42
-_080D2A7C:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D29F8
-
- thumb_func_start sub_80D2A90
-sub_80D2A90: @ 80D2A90
- ldr r3, =gUnknown_02039D8C
- str r0, [r3]
- str r1, [r0]
- movs r1, 0
- strb r2, [r0, 0x5]
- strb r1, [r0, 0x4]
- bx lr
- .pool
- thumb_func_end sub_80D2A90
-
- thumb_func_start sub_80D2AA4
-sub_80D2AA4: @ 80D2AA4
- push {r4,r5,lr}
- ldr r2, =gUnknown_02039D8C
- ldr r1, [r2]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _080D2AE2
- movs r4, 0
- ldrb r1, [r1, 0x4]
- cmp r4, r1
- bcs _080D2ADA
- adds r5, r2, 0
-_080D2ABA:
- ldr r0, [r5]
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 2
- ldr r0, [r0]
- adds r0, r1
- ldr r1, [r0, 0x10]
- bl _call_via_r1
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- cmp r4, r0
- bcc _080D2ABA
-_080D2ADA:
- ldr r0, =gUnknown_02039D8C
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x4]
-_080D2AE2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2AA4
-
- thumb_func_start sub_80D2AEC
-sub_80D2AEC: @ 80D2AEC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r9, r0
- mov r10, r3
- ldr r0, [sp, 0x24]
- ldr r3, [sp, 0x28]
- ldr r4, [sp, 0x2C]
- ldr r5, [sp, 0x30]
- ldr r6, [sp, 0x34]
- lsls r1, 16
- lsrs r1, 16
- mov r12, r1
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp]
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r3, 16
- lsrs r3, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- ldr r0, =gUnknown_02039D8C
- ldr r2, [r0]
- ldrb r0, [r2, 0x4]
- adds r1, r0, 0
- ldrb r7, [r2, 0x5]
- cmp r1, r7
- bcs _080D2B74
- adds r0, 0x1
- strb r0, [r2, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- ldr r1, [r2]
- adds r1, r0
- lsls r0, r4, 1
- strh r0, [r1, 0x8]
- ldr r2, [sp]
- lsls r0, r2, 5
- add r0, r12
- lsls r0, 1
- add r0, r9
- str r0, [r1, 0x4]
- adds r0, r3, 0
- muls r0, r6
- add r0, r8
- lsls r0, 1
- add r0, r10
- str r0, [r1]
- strh r5, [r1, 0xC]
- strh r6, [r1, 0xA]
- ldr r0, =sub_80D2B88
- str r0, [r1, 0x10]
- movs r0, 0x1
- b _080D2B76
- .pool
-_080D2B74:
- movs r0, 0
-_080D2B76:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80D2AEC
-
- thumb_func_start sub_80D2B88
-sub_80D2B88: @ 80D2B88
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0
- b _080D2BB2
-_080D2B90:
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- ldrh r2, [r4, 0x8]
- lsrs r2, 1
- bl CpuSet
- ldr r0, [r4, 0x4]
- adds r0, 0x40
- str r0, [r4, 0x4]
- ldrh r1, [r4, 0xA]
- lsls r1, 1
- ldr r0, [r4]
- adds r0, r1
- str r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080D2BB2:
- ldrh r0, [r4, 0xC]
- cmp r5, r0
- bcc _080D2B90
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80D2B88
-
- thumb_func_start sub_80D2BC0
-sub_80D2BC0: @ 80D2BC0
- push {r4-r7,lr}
- mov r12, r0
- ldr r0, [sp, 0x14]
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r4, r2, 16
- lsls r3, 16
- lsrs r3, 16
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =gUnknown_02039D8C
- ldr r2, [r0]
- ldrb r0, [r2, 0x4]
- adds r1, r0, 0
- ldrb r7, [r2, 0x5]
- cmp r1, r7
- bcs _080D2C14
- adds r0, 0x1
- strb r0, [r2, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- ldr r1, [r2]
- adds r1, r0
- lsls r0, r3, 1
- strh r0, [r1, 0x8]
- lsls r0, r4, 5
- adds r0, r6
- lsls r0, 1
- add r0, r12
- str r0, [r1, 0x4]
- strh r5, [r1, 0xC]
- ldr r0, =sub_80D2C1C
- str r0, [r1, 0x10]
- movs r0, 0x1
- b _080D2C16
- .pool
-_080D2C14:
- movs r0, 0
-_080D2C16:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80D2BC0
-
- thumb_func_start sub_80D2C1C
-sub_80D2C1C: @ 80D2C1C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r0, 0
- movs r0, 0
- ldrh r1, [r6, 0xC]
- cmp r0, r1
- bcs _080D2CAA
- movs r7, 0x80
- lsls r7, 5
- mov r5, sp
- ldr r2, =0x040000d4
- mov r8, r2
- movs r1, 0x81
- lsls r1, 24
- mov r10, r1
-_080D2C42:
- ldr r2, [r6, 0x4]
- ldrh r3, [r6, 0x8]
- mov r12, r2
- adds r0, 0x1
- mov r9, r0
- cmp r3, r7
- bhi _080D2C6C
- movs r0, 0
- strh r0, [r5]
- mov r2, sp
- mov r0, r8
- str r2, [r0]
- mov r1, r12
- str r1, [r0, 0x4]
- lsrs r0, r3, 1
- mov r2, r10
- orrs r0, r2
- mov r1, r8
- b _080D2C94
- .pool
-_080D2C6C:
- movs r4, 0
- strh r4, [r5]
- ldr r1, =0x040000d4
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, =0x81000800
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r7
- subs r3, r7
- cmp r3, r7
- bhi _080D2C6C
- strh r4, [r5]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 1
- mov r2, r10
- orrs r0, r2
-_080D2C94:
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- mov r0, r12
- adds r0, 0x40
- str r0, [r6, 0x4]
- mov r1, r9
- lsls r0, r1, 16
- lsrs r0, 16
- ldrh r2, [r6, 0xC]
- cmp r0, r2
- bcc _080D2C42
-_080D2CAA:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2C1C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 6fedbbd58..1c0c18f7e 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -409,14 +409,14 @@ _081C73C2:
_081C73C6:
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80D2270
+ bl CheckBoxMonSanityAt
cmp r0, 0
beq _081C73EC
lsls r1, r5, 24
lsrs r1, 24
lsrs r0, r6, 24
movs r2, 0x52
- bl GetBoxMonDataFromAnyBox
+ bl GetBoxMonDataAt
cmp r0, 0
beq _081C73EC
_081C73E2:
@@ -1524,7 +1524,7 @@ sub_81C7C28: @ 81C7C28
ldr r4, =gUnknown_0861FA4C
_081C7C36:
adds r0, r4, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r4, 0x8
adds r5, 0x1
cmp r5, 0
@@ -1648,7 +1648,7 @@ sub_81C7D28: @ 81C7D28
bl sub_81C763C
adds r6, r0, 0
ldr r0, =gUnknown_0861FA64
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
movs r0, 0x1
bl AllocSpritePalette
movs r0, 0x2
@@ -3924,7 +3924,7 @@ sub_81C8ED0: @ 81C8ED0
ldr r4, =gUnknown_0861FBFC
_081C8ED6:
adds r0, r4, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r4, 0x8
adds r5, 0x1
cmp r5, 0
@@ -6086,7 +6086,7 @@ sub_81C9FC4: @ 81C9FC4
ldr r4, =gUnknown_086201C4
_081C9FCA:
adds r0, r4, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r4, 0x8
adds r5, 0x1
cmp r5, 0x1
@@ -10537,7 +10537,7 @@ sub_81CC214: @ 81CC214
ldr r4, =gUnknown_08622810
_081CC224:
adds r0, r4, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r4, 0x8
adds r5, 0x1
cmp r5, 0
@@ -11509,7 +11509,7 @@ sub_81CC9C0: @ 81CC9C0
ldr r4, =gUnknown_086230F8
_081CC9C6:
adds r0, r4, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r4, 0x8
adds r5, 0x1
cmp r5, 0
@@ -12444,7 +12444,7 @@ _081CD174:
adds r1, r3, 0
movs r2, 0x8
mov r3, sp
- bl SetBoxMonDataFromAnyBox
+ bl SetBoxMonDataAt
_081CD180:
ldr r0, =0x00006304
adds r1, r6, r0
@@ -16376,7 +16376,7 @@ _081CF1F4:
_081CF1FC:
adds r0, r5, 0
adds r1, r4, 0
- bl sub_80D2270
+ bl CheckBoxMonSanityAt
cmp r0, 0
beq _081CF23A
ldr r1, =0xffffff00
@@ -16392,7 +16392,7 @@ _081CF1FC:
str r0, [sp]
ldr r2, [r6, 0x14]
adds r0, r7, 0
- bl GetBoxMonDataFromAnyBox
+ bl GetBoxMonDataAt
lsls r0, 16
ldr r2, =0x0000ffff
ldr r1, [sp]
@@ -17735,7 +17735,7 @@ sub_81CFC40: @ 81CFC40
_081CFC60:
adds r0, r7, 0
adds r1, r6, 0
- bl sub_80D2270
+ bl CheckBoxMonSanityAt
cmp r0, 0
beq _081CFCA6
lsls r0, r7, 24
@@ -17745,7 +17745,7 @@ _081CFC60:
adds r0, r5, 0
adds r1, r4, 0
movs r2, 0x52
- bl GetBoxMonDataFromAnyBox
+ bl GetBoxMonDataAt
adds r3, r0, 0
cmp r3, 0
beq _081CFCA6
@@ -17900,14 +17900,14 @@ _081CFD92:
_081CFD96:
adds r0, r5, 0
adds r1, r4, 0
- bl sub_80D2270
+ bl CheckBoxMonSanityAt
cmp r0, 0
beq _081CFDBC
lsls r1, r4, 24
lsrs r1, 24
lsrs r0, r6, 24
movs r2, 0x53
- bl GetBoxMonDataFromAnyBox
+ bl GetBoxMonDataAt
cmp r0, 0
beq _081CFDBC
_081CFDB2:
@@ -19257,7 +19257,7 @@ sub_81D07D8: @ 81D07D8
beq _081D07FA
ldrb r1, [r1, 0x1]
movs r2, 0x52
- bl GetBoxMonDataFromAnyBox
+ bl GetBoxMonDataAt
b _081D080A
_081D07FA:
ldrb r1, [r1, 0x1]
@@ -19302,7 +19302,7 @@ _081D0848:
ldrb r0, [r1]
ldrb r1, [r1, 0x1]
movs r2, 0x53
- bl GetBoxMonDataFromAnyBox
+ bl GetBoxMonDataAt
_081D0852:
mov r12, r0
movs r0, 0
@@ -20756,7 +20756,7 @@ sub_81D13FC: @ 81D13FC
push {r4,lr}
adds r4, r0, 0
ldr r0, =gUnknown_08624C78
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
ldr r0, =gUnknown_08624C80
bl sub_81C795C
ldr r0, =gUnknown_08624D04
@@ -23046,14 +23046,14 @@ _081D2CB0:
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
- bl GetAndCopyBoxMonDataFromAnyBox
+ bl GetAndCopyBoxMonDataAt
b _081D2CCA
_081D2CBE:
lsls r0, 24
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
- bl GetBoxMonDataFromAnyBox
+ bl GetBoxMonDataAt
_081D2CCA:
pop {r1}
bx r1
@@ -29324,14 +29324,14 @@ sub_81D5FB4: @ 81D5FB4
mov r9, r0
cmp r0, 0x6
bne _081D5FD2
- bl sub_8087D74
+ bl InitMapFromSavedGame
b _081D605E
_081D5FD2:
bl sub_81D56B0
mov r0, r9
cmp r0, 0x5
bne _081D5FE6
- bl sub_8087D74
+ bl InitMapFromSavedGame
bl sub_81D5710
b _081D605E
_081D5FE6:
@@ -29342,7 +29342,7 @@ _081D5FE6:
ldr r0, =gMapHeader
ldr r0, [r0]
ldr r2, [r0, 0xC]
- ldr r1, =gUnknown_03005DC0
+ ldr r1, =gBackupMapLayout
str r4, [r1, 0x8]
movs r0, 0x1F
str r0, [r1]
diff --git a/asm/psychic.s b/asm/psychic.s
deleted file mode 100644
index a900d3fcc..000000000
--- a/asm/psychic.s
+++ /dev/null
@@ -1,2172 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_810F1EC
-sub_810F1EC: @ 810F1EC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- bl IsContest
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810F212
- mov r0, r8
- cmp r0, 0
- beq _0810F22E
-_0810F212:
- ldrb r1, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r5, 0x5]
- adds r1, r5, 0
- adds r1, 0x43
- movs r0, 0xC8
- strb r0, [r1]
- mov r1, r8
- cmp r1, 0
- bne _0810F2B8
-_0810F22E:
- movs r0, 0x1
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r4, r0, 24
- adds r7, r4, 0
- adds r0, r4, 0
- bl GetBattlerSpriteBGPriorityRank
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r6, r1, 31
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810F264
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_80A438C
-_0810F264:
- movs r0, 0x2
- adds r4, r0, 0
- eors r4, r7
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810F284
- movs r0, 0x1
- eors r6, r0
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_80A438C
-_0810F284:
- mov r0, r8
- cmp r0, 0
- bne _0810F2B8
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _0810F2B8
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0810F2B0
- movs r0, 0x48
- strh r0, [r5, 0x20]
- movs r0, 0x50
- b _0810F2F2
- .pool
-_0810F2B0:
- movs r0, 0xB0
- strh r0, [r5, 0x20]
- movs r0, 0x28
- b _0810F2F2
-_0810F2B8:
- ldr r6, =gBattleAnimAttacker
- ldrb r0, [r6]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810F2CE
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
-_0810F2CE:
- ldrb r0, [r6]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r4, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r4]
- adds r0, r1
- strh r0, [r5, 0x20]
- ldrb r0, [r6]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x2]
- adds r0, r4
-_0810F2F2:
- strh r0, [r5, 0x22]
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- strh r0, [r5, 0x2E]
- mov r0, r8
- cmp r0, 0
- beq _0810F32C
- ldrh r0, [r5, 0x22]
- adds r0, 0x9
- strh r0, [r5, 0x22]
- ldr r1, =sub_810F3C8
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- b _0810F330
- .pool
-_0810F32C:
- ldr r0, =sub_810F340
- str r0, [r5, 0x1C]
-_0810F330:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F1EC
-@
-
- thumb_func_start sub_810F340
-sub_810F340: @ 810F340
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0x1
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r4, r0, 24
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0810F35C
- movs r0, 0x1
- strh r0, [r5, 0x3C]
- b _0810F3B6
-_0810F35C:
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810F382
- ldr r2, =gSprites
- ldr r0, =gBattlerSpriteIds
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_0810F382:
- movs r0, 0x2
- eors r4, r0
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810F3AC
- ldr r2, =gSprites
- ldr r0, =gBattlerSpriteIds
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_0810F3AC:
- ldr r1, =sub_810F3C8
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
-_0810F3B6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F340
-
- thumb_func_start sub_810F3C8
-sub_810F3C8: @ 810F3C8
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x34]
- movs r1, 0x10
- subs r1, r0
- lsls r1, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldrh r1, [r4, 0x34]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r0, 0xD
- bne _0810F3F4
- ldr r0, =sub_810F400
- str r0, [r4, 0x1C]
- b _0810F3F8
- .pool
-_0810F3F4:
- adds r0, r1, 0x1
- strh r0, [r4, 0x34]
-_0810F3F8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810F3C8
-
- thumb_func_start sub_810F400
-sub_810F400: @ 810F400
- push {r4-r7,lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _0810F45E
- movs r0, 0
- strh r0, [r3, 0x30]
- ldrh r4, [r3, 0x2E]
- ldr r1, =gPlttBufferFaded
- adds r0, r4, 0
- adds r0, 0x8
- lsls r0, 1
- adds r0, r1
- ldrh r7, [r0]
- movs r5, 0x8
- adds r6, r1, 0
- adds r1, r4, 0x7
- lsls r0, r4, 1
- adds r0, r6
- adds r2, r0, 0
- adds r2, 0x10
- lsls r1, 1
- adds r1, r6
-_0810F436:
- ldrh r0, [r1]
- strh r0, [r2]
- subs r1, 0x2
- subs r2, 0x2
- subs r5, 0x1
- cmp r5, 0
- bgt _0810F436
- adds r0, r4, 0x1
- lsls r0, 1
- adds r0, r6
- strh r7, [r0]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- bne _0810F45E
- ldr r0, =sub_810F46C
- str r0, [r3, 0x1C]
-_0810F45E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F400
-
- thumb_func_start sub_810F46C
-sub_810F46C: @ 810F46C
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x34]
- movs r1, 0x10
- subs r1, r0
- lsls r1, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldrh r0, [r5, 0x34]
- subs r0, 0x1
- strh r0, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0810F512
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810F502
- movs r0, 0x1
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810F4D4
- ldr r2, =gSprites
- ldr r0, =gBattlerSpriteIds
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_0810F4D4:
- movs r0, 0x2
- adds r4, r0, 0
- eors r4, r6
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810F502
- ldr r2, =gSprites
- ldr r0, =gBattlerSpriteIds
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_0810F502:
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =sub_810F524
- str r0, [r5, 0x1C]
-_0810F512:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F46C
-
- thumb_func_start sub_810F524
-sub_810F524: @ 810F524
- push {r4-r6,lr}
- adds r6, r0, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810F57C
- movs r0, 0x1
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- bl GetBattlerSpriteBGPriorityRank
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r5, r1, 31
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810F562
- adds r0, r5, 0
- bl sub_80A477C
-_0810F562:
- movs r0, 0x2
- eors r4, r0
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810F57C
- movs r0, 0x1
- eors r5, r0
- adds r0, r5, 0
- bl sub_80A477C
-_0810F57C:
- ldr r0, =DestroyAnimSprite
- str r0, [r6, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F524
-
- thumb_func_start sub_810F58C
-sub_810F58C: @ 810F58C
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0810F618
- ldr r5, =gBattleAnimArgs
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- movs r6, 0
- cmp r0, 0
- bne _0810F5A6
- movs r6, 0x1
-_0810F5A6:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810F5EE
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _0810F5EE
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0810F5E0
- ldrh r0, [r5]
- movs r1, 0x48
- subs r1, r0
- strh r1, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- adds r0, 0x50
- strh r0, [r4, 0x22]
- b _0810F610
- .pool
-_0810F5E0:
- ldrh r0, [r5]
- adds r0, 0xB0
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- adds r0, 0x28
- strh r0, [r4, 0x22]
- b _0810F610
-_0810F5EE:
- ldr r0, =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0810F608
- adds r0, r4, 0
- adds r1, r6, 0
- bl InitSpritePosToAnimAttacker
- b _0810F610
- .pool
-_0810F608:
- adds r0, r4, 0
- adds r1, r6, 0
- bl InitSpritePosToAnimTarget
-_0810F610:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _0810F62C
-_0810F618:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _0810F62C
- adds r0, r4, 0
- bl DestroySpriteAndMatrix
-_0810F62C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_810F58C
-
- thumb_func_start sub_810F634
-sub_810F634: @ 810F634
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810F684
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldrh r0, [r5, 0x20]
- subs r0, 0x28
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x22]
- adds r0, 0xA
- strh r0, [r5, 0x22]
- ldr r0, =0x0000ffff
- b _0810F692
- .pool
-_0810F684:
- ldrh r0, [r5, 0x20]
- adds r0, 0x28
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x22]
- subs r0, 0xA
- strh r0, [r5, 0x22]
- movs r0, 0x1
-_0810F692:
- strh r0, [r5, 0x30]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =RunStoredCallbackWhenAnimEnds
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F634
-
- thumb_func_start sub_810F6B0
-sub_810F6B0: @ 810F6B0
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r6, =gBattleAnimAttacker
- ldrb r0, [r6]
- movs r1, 0x1
- bl sub_80A861C
- lsls r0, 16
- asrs r1, r0, 16
- lsrs r0, 31
- adds r1, r0
- lsls r1, 15
- lsrs r4, r1, 16
- ldrb r0, [r6]
- movs r1, 0
- bl sub_80A861C
- lsls r0, 16
- asrs r1, r0, 16
- lsrs r0, 31
- adds r1, r0
- asrs r1, 1
- negs r1, r1
- lsls r1, 16
- lsrs r7, r1, 16
- ldrb r0, [r6]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0810F6F6
- lsls r0, r4, 16
- negs r0, r0
- lsrs r4, r0, 16
-_0810F6F6:
- ldrb r0, [r6]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- strh r0, [r5, 0x20]
- ldrb r0, [r6]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, r7
- strh r0, [r5, 0x22]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- bgt _0810F722
- movs r0, 0x10
- strh r0, [r5, 0x22]
-_0810F722:
- ldr r1, =sub_810F740
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =RunStoredCallbackWhenAnimEnds
- str r0, [r5, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F6B0
-
- thumb_func_start sub_810F740
-sub_810F740: @ 810F740
- push {r4,lr}
- adds r4, r0, 0
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, =gUnknown_08596740
- str r0, [r4, 0x10]
- movs r0, 0
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- ldr r0, =sub_810F774
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F740
-
- thumb_func_start sub_810F774
-sub_810F774: @ 810F774
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0810F786
- cmp r0, 0x1
- beq _0810F7B4
- b _0810F7CC
-_0810F786:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0810F7CC
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x12
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _0810F7CC
-_0810F7B4:
- ldrh r0, [r4, 0x30]
- subs r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0810F7CC
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810F7CC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F774
-
- thumb_func_start sub_810F7D4
-sub_810F7D4: @ 810F7D4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- movs r0, 0
- bl GetAnimBattlerSpriteId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- strh r1, [r4, 0x8]
- ldr r2, =gUnknown_0859675C
- adds r0, r4, 0
- bl PrepareAffineAnimInTaskData
- ldr r0, =sub_810F810
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F7D4
-
- thumb_func_start sub_810F810
-sub_810F810: @ 810F810
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r0, r1
- bl RunAffineAnimFromTaskData
- lsls r0, 24
- cmp r0, 0
- bne _0810F830
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_0810F830:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F810
-
- thumb_func_start sub_810F83C
-sub_810F83C: @ 810F83C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- strh r0, [r4, 0x8]
- strh r1, [r4, 0xA]
- strh r1, [r4, 0xC]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- movs r1, 0x8
- cmp r0, 0
- beq _0810F870
- movs r1, 0x4
-_0810F870:
- strh r1, [r4, 0xE]
- ldrb r1, [r4, 0x8]
- ldr r2, =gUnknown_0859677C
- adds r0, r4, 0
- bl PrepareAffineAnimInTaskData
- ldr r0, =sub_810F898
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F83C
-
- thumb_func_start sub_810F898
-sub_810F898: @ 810F898
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0810F8BC
- cmp r0, 0x1
- beq _0810F8D8
- b _0810F936
- .pool
-_0810F8BC:
- adds r0, r4, 0
- bl RunAffineAnimFromTaskData
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _0810F936
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- b _0810F936
-_0810F8D8:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0810F900
- ldr r2, =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- subs r1, 0x8
- strh r1, [r0, 0x26]
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- b _0810F936
- .pool
-_0810F900:
- ldr r3, =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x88
- lsls r1, 1
- strh r1, [r0, 0x20]
- ldrb r0, [r4, 0x8]
- bl ResetSpriteRotScale
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_0810F936:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F898
-
- thumb_func_start sub_810F940
-sub_810F940: @ 810F940
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r5, r1, r0
- movs r1, 0
- movs r0, 0x10
- strh r0, [r5, 0xE]
- strh r1, [r5, 0x10]
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x24]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_80A861C
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldrb r0, [r4]
- movs r1, 0
- bl sub_80A861C
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, 0
- cmp r0, r6
- bcs _0810F9AA
- adds r1, r6, 0
-_0810F9AA:
- strh r1, [r5, 0x20]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0x10
- bl SetGpuReg
- ldr r0, =sub_810F9D4
- str r0, [r5]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F940
-
- thumb_func_start sub_810F9D4
-sub_810F9D4: @ 810F9D4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _0810FAD4
- cmp r1, 0x1
- bgt _0810F9FC
- cmp r1, 0
- beq _0810FA0A
- b _0810FB5A
- .pool
-_0810F9FC:
- cmp r1, 0x2
- bne _0810FA02
- b _0810FB36
-_0810FA02:
- cmp r1, 0x3
- bne _0810FA08
- b _0810FB44
-_0810FA08:
- b _0810FB5A
-_0810FA0A:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- bgt _0810FA1A
- b _0810FB5A
-_0810FA1A:
- strh r1, [r4, 0xA]
- ldr r0, =gUnknown_08596794
- movs r2, 0x22
- ldrsh r1, [r4, r2]
- movs r3, 0x24
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- adds r1, 0x8
- lsls r1, 1
- adds r0, r4, 0
- adds r0, 0x8
- adds r0, r1
- strh r2, [r0]
- cmp r2, 0x40
- beq _0810FABE
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0810FA78
- cmp r0, 0x1
- bgt _0810FA5C
- cmp r0, 0
- beq _0810FA66
- b _0810FABE
- .pool
-_0810FA5C:
- cmp r0, 0x2
- beq _0810FA90
- cmp r0, 0x3
- beq _0810FAA8
- b _0810FABE
-_0810FA66:
- ldr r0, =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r4, 0x20]
- b _0810FAB6
- .pool
-_0810FA78:
- ldr r0, =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r4, 0x20]
- negs r0, r0
- strh r0, [r1, 0x24]
- ldrh r0, [r4, 0x20]
- b _0810FABC
- .pool
-_0810FA90:
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r4, 0x20]
- strh r1, [r0, 0x24]
- ldrh r1, [r4, 0x20]
- strh r1, [r0, 0x26]
- b _0810FABE
- .pool
-_0810FAA8:
- ldr r0, =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r4, 0x20]
- negs r0, r0
-_0810FAB6:
- strh r0, [r1, 0x24]
- ldrh r0, [r4, 0x20]
- negs r0, r0
-_0810FABC:
- strh r0, [r1, 0x26]
-_0810FABE:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _0810FB5A
- b _0810FB36
- .pool
-_0810FAD4:
- ldrh r0, [r4, 0xA]
- ands r1, r0
- cmp r1, 0
- beq _0810FAE4
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- b _0810FAEA
-_0810FAE4:
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
-_0810FAEA:
- ldrh r1, [r4, 0x10]
- lsls r1, 8
- ldrh r0, [r4, 0xE]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x20
- bne _0810FB5A
- movs r5, 0x8
- adds r6, r4, 0
- adds r6, 0x8
-_0810FB10:
- lsls r0, r5, 1
- adds r1, r6, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x40
- beq _0810FB2C
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
-_0810FB2C:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xC
- bls _0810FB10
-_0810FB36:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0810FB5A
- .pool
-_0810FB44:
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_0810FB5A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_810F9D4
-
-
- thumb_func_start sub_810FB60
-sub_810FB60: @ 810FB60
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- subs r0, 0xA
- cmp r1, r0
- ble _0810FB8A
- ldrh r0, [r4, 0x30]
- movs r1, 0x1
- ands r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_0810FB8A:
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _0810FB9C
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810FB9C:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810FB60
-
- thumb_func_start sub_810FBA8
-sub_810FBA8: @ 810FBA8
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0810FBD4
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
-_0810FBD4:
- ldrh r0, [r6, 0x2]
- strh r0, [r5, 0x2E]
- ldr r0, =sub_810FB60
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810FBA8
-
- thumb_func_start sub_810FBF0
-sub_810FBF0: @ 810FBF0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r5, r1, r0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0810FC94
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bne _0810FC60
- ldr r0, =0x0000fff6
- strh r0, [r5, 0x1C]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x5
- bl sub_80A861C
- subs r0, 0x8
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_80A861C
- adds r0, 0x8
- strh r0, [r5, 0x20]
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x5
- bl sub_80A861C
- subs r0, 0x8
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_80A861C
- adds r0, 0x8
- b _0810FD1E
- .pool
-_0810FC60:
- movs r0, 0xA
- strh r0, [r5, 0x1C]
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x4
- bl sub_80A861C
- adds r0, 0x8
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_80A861C
- subs r0, 0x8
- strh r0, [r5, 0x20]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x4
- bl sub_80A861C
- adds r0, 0x8
- b _0810FD12
- .pool
-_0810FC94:
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bne _0810FCE8
- ldr r0, =0x0000fff6
- strh r0, [r5, 0x1C]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x4
- bl sub_80A861C
- adds r0, 0x8
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_80A861C
- adds r0, 0x8
- strh r0, [r5, 0x20]
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x4
- bl sub_80A861C
- adds r0, 0x8
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_80A861C
- adds r0, 0x8
- b _0810FD1E
- .pool
-_0810FCE8:
- movs r0, 0xA
- strh r0, [r5, 0x1C]
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x5
- bl sub_80A861C
- subs r0, 0x8
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_80A861C
- subs r0, 0x8
- strh r0, [r5, 0x20]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x5
- bl sub_80A861C
- subs r0, 0x8
-_0810FD12:
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_80A861C
- subs r0, 0x8
-_0810FD1E:
- strh r0, [r5, 0x24]
- movs r0, 0x6
- strh r0, [r5, 0xA]
- ldr r0, =sub_810FD3C
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810FBF0
-
- thumb_func_start sub_810FD3C
-sub_810FD3C: @ 810FD3C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- cmp r1, 0
- beq _0810FD60
- cmp r1, 0x1
- beq _0810FDD4
- b _0810FDE8
- .pool
-_0810FD60:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- ble _0810FDE8
- strh r1, [r5, 0xA]
- ldr r0, =gUnknown_08596864
- movs r2, 0x1E
- ldrsh r1, [r5, r2]
- movs r3, 0x20
- ldrsh r2, [r5, r3]
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0810FDB4
- ldr r0, =gSprites
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r4, r0
- movs r0, 0x10
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x22]
- strh r0, [r4, 0x32]
- ldrh r0, [r5, 0x24]
- strh r0, [r4, 0x36]
- ldrh r0, [r5, 0x1C]
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl InitAnimArcTranslation
- ldrb r0, [r5, 0xC]
- movs r1, 0x3
- ands r1, r0
- adds r0, r4, 0
- bl StartSpriteAffineAnim
-_0810FDB4:
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bne _0810FDE8
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _0810FDE8
- .pool
-_0810FDD4:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x11
- ble _0810FDE8
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_0810FDE8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_810FD3C
-
- thumb_func_start sub_810FDF0
-sub_810FDF0: @ 810FDF0
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _0810FE0E
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
-_0810FE0E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810FDF0
-
- thumb_func_start sub_810FE14
-sub_810FE14: @ 810FE14
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerYCoordWithElevation
- lsls r0, 24
- lsrs r1, r0, 24
- adds r0, r1, 0
- subs r0, 0x20
- strh r0, [r4, 0x24]
- ldr r0, =gBattleAnimArgs
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0x1
- beq _0810FE6A
- cmp r0, 0x1
- bgt _0810FE58
- cmp r0, 0
- beq _0810FE5E
- b _0810FE86
- .pool
-_0810FE58:
- cmp r0, 0x2
- beq _0810FE76
- b _0810FE86
-_0810FE5E:
- movs r0, 0x2
- strh r0, [r4, 0x1E]
- movs r0, 0x5
- strh r0, [r4, 0x20]
- movs r0, 0x40
- b _0810FE7E
-_0810FE6A:
- movs r0, 0x2
- strh r0, [r4, 0x1E]
- movs r0, 0x5
- strh r0, [r4, 0x20]
- movs r0, 0xC0
- b _0810FE7E
-_0810FE76:
- movs r0, 0x4
- strh r0, [r4, 0x1E]
- strh r0, [r4, 0x20]
- movs r0, 0
-_0810FE7E:
- strh r0, [r4, 0x22]
- adds r0, r1, 0
- adds r0, 0x20
- strh r0, [r4, 0x26]
-_0810FE86:
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bge _0810FE92
- movs r0, 0
- strh r0, [r4, 0x24]
-_0810FE92:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSpriteBGPriorityRank
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0810FEB8
- ldr r0, =gBattle_BG1_X
- ldrh r0, [r0]
- strh r0, [r4, 0x1C]
- ldr r0, =0x04000014
- b _0810FEC0
- .pool
-_0810FEB8:
- ldr r0, =gBattle_BG2_X
- ldrh r0, [r0]
- strh r0, [r4, 0x1C]
- ldr r0, =0x04000018
-_0810FEC0:
- str r0, [sp]
- ldrh r1, [r4, 0x24]
- lsls r3, r1, 16
- asrs r1, r3, 16
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- adds r0, 0x40
- cmp r1, r0
- bgt _0810FEFA
- ldr r5, =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r5, r0
-_0810FEDA:
- asrs r3, 16
- lsls r1, r3, 1
- adds r2, r1, r5
- ldrh r0, [r4, 0x1C]
- strh r0, [r2]
- adds r1, r6
- ldrh r0, [r4, 0x1C]
- strh r0, [r1]
- adds r3, 0x1
- lsls r3, 16
- asrs r1, r3, 16
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- adds r0, 0x40
- cmp r1, r0
- ble _0810FEDA
-_0810FEFA:
- ldr r0, =0xa2600001
- str r0, [sp, 0x4]
- mov r1, sp
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- mov r0, sp
- strb r2, [r0, 0x9]
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl ScanlineEffect_SetParams
- ldr r0, =sub_810FF34
- str r0, [r4]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810FE14
-
- thumb_func_start sub_810FF34
-sub_810FF34: @ 810FF34
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _0811000E
- cmp r0, 0x1
- bgt _0810FF60
- cmp r0, 0
- beq _0810FF66
- b _08110026
- .pool
-_0810FF60:
- cmp r0, 0x2
- beq _08110020
- b _08110026
-_0810FF66:
- ldrh r3, [r5, 0x22]
- ldrh r4, [r5, 0x24]
- movs r2, 0x24
- ldrsh r1, [r5, r2]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bgt _0810FFFE
- ldr r0, =gSineTable
- mov r9, r0
- movs r7, 0x3
- ldr r1, =gScanlineEffectRegBuffers
- mov r12, r1
- movs r2, 0xF0
- lsls r2, 3
- add r2, r12
- mov r8, r2
-_0810FF88:
- lsls r2, r3, 16
- asrs r0, r2, 15
- add r0, r9
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r3, 0x20
- ldrsh r1, [r5, r3]
- asrs r0, r1
- lsls r0, 16
- lsrs r1, r0, 16
- asrs r3, r0, 16
- adds r6, r2, 0
- cmp r3, 0
- ble _0810FFB8
- ldrh r1, [r5, 0xA]
- adds r0, r7, 0
- ands r0, r1
- adds r0, r3, r0
- b _0810FFC4
- .pool
-_0810FFB8:
- cmp r3, 0
- bge _0810FFC8
- ldrh r1, [r5, 0xA]
- adds r0, r7, 0
- ands r0, r1
- subs r0, r3, r0
-_0810FFC4:
- lsls r0, 16
- lsrs r1, r0, 16
-_0810FFC8:
- lsls r2, r4, 16
- asrs r2, 16
- lsls r3, r2, 1
- mov r0, r12
- adds r4, r3, r0
- ldrh r0, [r5, 0x1C]
- lsls r1, 16
- asrs r1, 16
- adds r0, r1, r0
- strh r0, [r4]
- add r3, r8
- ldrh r0, [r5, 0x1C]
- adds r1, r0
- strh r1, [r3]
- asrs r0, r6, 16
- ldrh r1, [r5, 0x1E]
- adds r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- adds r2, 0x1
- lsls r2, 16
- lsrs r4, r2, 16
- asrs r2, 16
- movs r1, 0x26
- ldrsh r0, [r5, r1]
- cmp r2, r0
- ble _0810FF88
-_0810FFFE:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x17
- ble _08110026
- b _08110014
-_0811000E:
- ldr r1, =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_08110014:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _08110026
- .pool
-_08110020:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_08110026:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_810FF34
-
- thumb_func_start sub_8110034
-sub_8110034: @ 8110034
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r4, r0, 24
- mov r8, r4
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r7, r0, r1
- bl AllocOamMatrix
- lsls r0, 24
- lsrs r5, r0, 24
- mov r10, r5
- adds r6, r5, 0
- cmp r6, 0xFF
- bne _0811006C
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _08110116
- .pool
-_0811006C:
- ldr r1, =gBattleAnimArgs
- ldrb r0, [r1]
- bl CloneBattlerSpriteWithBlend
- lsls r0, 16
- lsrs r1, r0, 16
- mov r9, r1
- asrs r0, 16
- cmp r0, 0
- bge _08110094
- adds r0, r5, 0
- bl FreeOamMatrix
- mov r0, r8
- bl DestroyAnimVisualTask
- b _08110116
- .pool
-_08110094:
- ldr r2, =gSprites
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r0, r2, 0
- adds r0, 0x1C
- adds r0, r4, r0
- ldr r1, =SpriteCallbackDummy
- str r1, [r0]
- adds r4, r2
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x1F
- ands r6, r0
- lsls r2, r6, 1
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x3]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- adds r1, r4, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- mov r1, r9
- lsls r0, r1, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- movs r3, 0
- bl SetSpriteRotScale
- ldrb r3, [r4, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r4, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- adds r0, r4, 0
- bl CalcCenterToCornerVec
- ldr r1, =gBattleAnimArgs
- ldrb r0, [r1]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0x22]
- mov r0, r10
- strh r0, [r7, 0x24]
- mov r1, r9
- strh r1, [r7, 0x26]
- ldr r0, =sub_8110134
- str r0, [r7]
-_08110116:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8110034
-
- thumb_func_start sub_8110134
-sub_8110134: @ 8110134
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _081101B8
- cmp r0, 0x1
- bgt _0811015C
- cmp r0, 0
- beq _08110166
- b _08110238
- .pool
-_0811015C:
- cmp r0, 0x2
- beq _08110208
- cmp r0, 0x3
- beq _08110228
- b _08110238
-_08110166:
- ldrh r0, [r4, 0xA]
- adds r0, 0x4
- strh r0, [r4, 0xA]
- ldr r1, =gSineTable
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 16
- asrs r1, 17
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- subs r0, r1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xC
- ldrsh r2, [r4, r1]
- adds r1, r2, 0
- movs r3, 0
- bl SetSpriteRotScale
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x22]
- lsls r1, 24
- lsrs r1, 24
- bl SetBattlerSpriteYOffsetFromOtherYScale
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0x30
- bne _08110238
- b _0811021A
- .pool
-_081101B8:
- ldrh r0, [r4, 0xA]
- subs r0, 0x4
- strh r0, [r4, 0xA]
- ldr r1, =gSineTable
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 16
- asrs r1, 17
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- subs r0, r1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xC
- ldrsh r2, [r4, r1]
- adds r1, r2, 0
- movs r3, 0
- bl SetSpriteRotScale
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x22]
- lsls r1, 24
- lsrs r1, 24
- bl SetBattlerSpriteYOffsetFromOtherYScale
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08110238
- b _0811021A
- .pool
-_08110208:
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl obj_delete_but_dont_free_vram
-_0811021A:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08110238
- .pool
-_08110228:
- ldrh r0, [r4, 0x24]
- lsls r0, 24
- lsrs r0, 24
- bl FreeOamMatrix
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_08110238:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8110134
-@*/
-
- thumb_func_start sub_8110240
-sub_8110240: @ 8110240
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _081102B8
- cmp r0, 0x1
- bgt _08110256
- cmp r0, 0
- beq _08110260
- b _08110360
-_08110256:
- cmp r0, 0x2
- beq _081102EA
- cmp r0, 0x3
- beq _0811034A
- b _08110360
-_08110260:
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0811028E
- ldrh r0, [r5, 0x22]
- adds r0, 0xC
- strh r0, [r5, 0x22]
-_0811028E:
- movs r0, 0x8
- strh r0, [r5, 0x30]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldrh r0, [r5, 0x30]
- movs r1, 0x10
- subs r1, r0
- lsls r1, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- b _081102E2
- .pool
-_081102B8:
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08110360
- movs r0, 0x40
- negs r0, r0
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xCB
- bl PlaySE12WithPanning
- adds r0, r5, 0
- movs r1, 0x1
- bl ChangeSpriteAffineAnim
-_081102E2:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _08110360
-_081102EA:
- ldrh r0, [r5, 0x32]
- adds r1, r0, 0x1
- strh r1, [r5, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0811032E
- movs r0, 0
- strh r0, [r5, 0x32]
- ldrh r1, [r5, 0x30]
- subs r1, 0x1
- strh r1, [r5, 0x30]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0811032E
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_0811032E:
- movs r0, 0xE0
- lsls r0, 2
- adds r2, r0, 0
- ldrh r1, [r5, 0x34]
- adds r2, r1
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r5, 0x26]
- subs r0, r1
- strh r0, [r5, 0x26]
- movs r0, 0xFF
- ands r2, r0
- strh r2, [r5, 0x34]
- b _08110360
-_0811034A:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyAnimSprite
-_08110360:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8110240
-
- .align 2, 0
diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s
index 3e07135e6..64c021001 100644
--- a/asm/rom_8011DC0.s
+++ b/asm/rom_8011DC0.s
@@ -8257,7 +8257,7 @@ _0801AF24:
b _0801AF8A
.pool
_0801AF40:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0801AFAE
@@ -11006,7 +11006,7 @@ _0801C52C:
cmp r0, 0x1
bne _0801C5EE
ldr r0, =gUnknown_082F1D00
- bl LoadCompressedObjectPicUsingHeap
+ bl LoadCompressedSpriteSheetUsingHeap
ldr r0, [r4]
movs r2, 0xB8
lsls r2, 1
@@ -13680,7 +13680,7 @@ _0801DA72:
beq _0801DB46
b _0801DB5E
_0801DA7C:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0801DB5E
@@ -13713,7 +13713,7 @@ _0801DA7C:
b _0801DB3E
.pool
_0801DAC8:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0801DB5E
@@ -13752,7 +13752,7 @@ _0801DB08:
strh r0, [r4, 0x10]
b _0801DB5E
_0801DB1C:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0801DB5E
@@ -14364,7 +14364,7 @@ _0801DFCE:
adds r0, 0x1
strh r0, [r1, 0x6]
_0801DFE0:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0801E028
@@ -14389,7 +14389,7 @@ _0801DFE0:
b _0801E028
.pool
_0801E018:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0801E028
@@ -14596,7 +14596,7 @@ _0801E1B4:
movs r0, 0x5
bl PlaySE
movs r0, 0x1
- bl MoveMenuCursor
+ bl Menu_MoveCursor
b _0801E23A
.pool
_0801E1D4:
@@ -14838,7 +14838,7 @@ _0801E3AC:
b _0801E458
.pool
_0801E3D4:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0801E414
@@ -14978,7 +14978,7 @@ _0801E4E8:
b _0801E59A
.pool
_0801E50C:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0801E5BC
@@ -15013,7 +15013,7 @@ _0801E540:
b _0801E59A
.pool
_0801E560:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0801E5BC
@@ -15100,7 +15100,7 @@ _0801E604:
lsls r0, 24
cmp r0, 0
bne _0801E662
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0801E662
@@ -15212,7 +15212,7 @@ _0801E6F0:
lsrs r0, 24
cmp r0, 0x1
beq _0801E75C
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0801E75C
@@ -15304,7 +15304,7 @@ _0801E7AC:
adds r0, 0x1
strh r0, [r1, 0x6]
_0801E7C0:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -15348,7 +15348,7 @@ _0801E812:
b _0801E830
.pool
_0801E820:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0801E830
@@ -15686,7 +15686,7 @@ _0801EB04:
lsls r0, 24
cmp r0, 0
bne _0801EBC2
- bl sub_8076D5C
+ bl SetContinueGameWarpStatusToDynamicWarp
movs r0, 0
bl TrySavingData
ldr r0, =gUnknown_02022C84
@@ -15713,7 +15713,7 @@ _0801EB40:
bne _0801EBC2
movs r0, 0x37
bl PlaySE
- bl sav2_gender2_inplace_and_xFE
+ bl ClearContinueGameWarpStatus2
ldr r0, =gUnknown_02022C84
ldr r1, [r0]
movs r0, 0xA
@@ -19425,7 +19425,7 @@ sub_8020890: @ 8020890
ldr r4, =gUnknown_082F3134
_08020896:
adds r0, r4, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r4, 0x8
adds r5, 0x1
cmp r5, 0x4
@@ -20568,7 +20568,7 @@ _080211EC:
beq _080211F8
b _08021302
_080211F8:
- bl sub_81971D0
+ bl InitStandardTextBoxWindows
bl sub_8197200
adds r0, r5, 0
bl sub_8022588
@@ -20715,7 +20715,7 @@ _08021358:
bl sub_8010434
b _0802143E
_0802135E:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08021444
@@ -23100,7 +23100,7 @@ sub_8022730: @ 8022730
_08022746:
lsls r0, r5, 3
adds r0, r4
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
@@ -23804,7 +23804,7 @@ _08022CE4:
bl sub_8010434
b _08022D06
_08022CEA:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
bne _08022D06
@@ -24016,7 +24016,7 @@ _08022E6C:
bl sub_8010434
b _08022E9C
_08022E72:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08022EA2
@@ -24148,7 +24148,7 @@ _08022F74:
bl sub_8010434
b _08023060
_08022F7A:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08023066
@@ -24170,7 +24170,7 @@ _08022F7A:
bl SendBlock
b _08023060
_08022FAA:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08023066
@@ -24300,7 +24300,7 @@ _080230A8:
bl sub_8010434
b _080231A8
_080230BA:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080231AE
@@ -24369,7 +24369,7 @@ _08023120:
b _080231A8
.pool
_08023150:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080231AE
@@ -24395,7 +24395,7 @@ _08023172:
bl sub_8010434
b _080231A8
_08023184:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080231AE
@@ -24547,7 +24547,7 @@ _0802329C:
bl sub_8010434
b _080232DC
_080232BE:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080232E2
@@ -24591,7 +24591,7 @@ _08023302:
beq _08023338
b _0802338C
_0802330C:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08023392
@@ -24612,7 +24612,7 @@ _08023332:
bl sub_8010434
b _0802338C
_08023338:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08023392
@@ -25683,7 +25683,7 @@ _08023B7A:
strh r0, [r4, 0x10]
b _08023BB2
_08023B94:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08023BB8
@@ -25785,7 +25785,7 @@ _08023C2A:
bl SetGpuReg
b _08023C9C
_08023C5C:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08023CA2
@@ -25884,7 +25884,7 @@ _08023D12:
bl SendBlock
b _0802402E
_08023D2A:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
bne _08023D36
@@ -26227,7 +26227,7 @@ _08023FC4:
bl SendBlock
b _0802402E
_08023FD0:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08024034
@@ -26451,7 +26451,7 @@ _080241A0:
bl sub_8010434
b _08024218
_080241A6:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0802421E
@@ -26630,7 +26630,7 @@ _08024300:
bl sub_8010434
b _080243AC
_08024306:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080243B2
@@ -26646,7 +26646,7 @@ _08024306:
bl SendBlock
b _080243AC
_08024328:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080243B2
@@ -26914,7 +26914,7 @@ _08024522:
bl sub_8010434
b _08024558
_08024528:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0802455E
@@ -27814,7 +27814,7 @@ _08024C4C:
bl sub_8010434
b _08024D20
_08024C5A:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08024D40
@@ -28075,7 +28075,7 @@ _08024E90:
b _08024EF0
.pool
_08024EA0:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08024F08
@@ -28116,7 +28116,7 @@ _08024EF0:
strb r0, [r1, 0x10]
b _08024F08
_08024EF8:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08024F08
@@ -28475,7 +28475,7 @@ _080251BA:
strb r4, [r0, 0x8]
b _08025202
_080251D0:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08025226
@@ -28560,7 +28560,7 @@ _08025252:
ldr r1, [r5]
b _080252CC
_08025274:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08025316
@@ -28710,7 +28710,7 @@ _0802539C:
b _08025448
.pool
_080253BC:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08025466
@@ -28900,7 +28900,7 @@ _0802553C:
b _080255E8
.pool
_08025564:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0802563C
@@ -29391,7 +29391,7 @@ _0802593E:
b _08025976
.pool
_0802596C:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080259E8
@@ -39128,7 +39128,7 @@ _0802A7CE:
movs r1, 0
movs r2, 0
bl ChangeBgY
- bl sub_81971D0
+ bl InitStandardTextBoxWindows
bl sub_8197200
movs r1, 0x82
lsls r1, 5
@@ -39683,7 +39683,7 @@ _0802AD3C:
b _0802ADC0
.pool
_0802AD68:
- bl sub_800A520
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0802AE08
@@ -43324,7 +43324,7 @@ sub_802C974: @ 802C974
ldr r5, =gUnknown_082FBE08
_0802C97C:
adds r0, r5, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r5, 0x8
adds r4, 0x1
cmp r4, 0x4
@@ -43447,7 +43447,7 @@ _0802CA32:
ands r1, r5
orrs r1, r4
str r1, [r0, 0x4]
- bl LoadCompressedObjectPalette
+ bl LoadCompressedSpritePalette
mov r0, r8
bl Free
mov r0, r10
@@ -47113,7 +47113,7 @@ sub_802E75C: @ 802E75C
lsls r0, 3
ldr r1, =gUnknown_082FE6C8
adds r0, r1
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
movs r2, 0x8
ldrsh r0, [r4, r2]
lsls r0, 3
@@ -48126,7 +48126,7 @@ sub_802EF50: @ 802EF50
orrs r0, r1
str r0, [r4, 0x4]
mov r0, sp
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r0, r4, 0
bl LoadSpritePalette
add sp, 0x10
diff --git a/asm/roulette.s b/asm/roulette.s
index 1552ba4fe..4174924e6 100644
--- a/asm/roulette.s
+++ b/asm/roulette.s
@@ -4865,11 +4865,11 @@ sub_8142C0C: @ 8142C0C
ldr r0, =gUnknown_085B7384
bl LoadSpritePalettes
ldr r0, =gUnknown_085B7864
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
ldr r0, =gUnknown_085B7978
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
ldr r0, =gUnknown_085B7A40
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
b _08142C5A
.pool
_08142C44:
diff --git a/asm/trade.s b/asm/trade.s
deleted file mode 100644
index 7cb61a97e..000000000
--- a/asm/trade.s
+++ /dev/null
@@ -1,14903 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/gba_constants.inc"
- .include "constants/misc_constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8077170
-sub_8077170: @ 8077170
- push {r4,lr}
- adds r4, r0, 0
- adds r3, r1, 0
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- cmp r0, 0x1D
- beq _08077194
- lsls r2, r3, 16
- lsrs r2, 16
- movs r0, 0
- adds r1, r4, 0
- bl SendBlock
- lsls r0, 24
- lsrs r0, 24
- b _080771A2
- .pool
-_08077194:
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0]
- movs r1, 0x54
- adds r2, r4, 0
- bl rfu_NI_setSendData
- movs r0, 0x1
-_080771A2:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8077170
-
- thumb_func_start sub_80771AC
-sub_80771AC: @ 80771AC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_800A4D8
- pop {r0}
- bx r0
- thumb_func_end sub_80771AC
-
- thumb_func_start sub_80771BC
-sub_80771BC: @ 80771BC
- push {r4,lr}
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- cmp r0, 0x1D
- bne _080771F0
- ldr r4, =gUnknown_03007880
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0]
- bl sub_800E87C
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0
- bne _080771EC
- movs r0, 0x1
- b _080771F8
- .pool
-_080771EC:
- movs r0, 0
- b _080771F8
-_080771F0:
- bl sub_800A520
- lsls r0, 24
- lsrs r0, 24
-_080771F8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80771BC
-
- thumb_func_start sub_8077200
-sub_8077200: @ 8077200
- push {lr}
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8077200
-
- thumb_func_start sub_8077210
-sub_8077210: @ 8077210
- push {lr}
- bl sub_8077260
- cmp r0, 0
- beq _0807722C
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0]
- movs r0, 0xC
- bl rfu_clearSlot
- b _08077230
- .pool
-_0807722C:
- bl ResetBlockReceivedFlags
-_08077230:
- pop {r0}
- bx r0
- thumb_func_end sub_8077210
-
- thumb_func_start sub_8077234
-sub_8077234: @ 8077234
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8077260
- cmp r0, 0
- beq _08077250
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0]
- movs r0, 0xC
- bl rfu_clearSlot
- b _08077258
- .pool
-_08077250:
- lsls r0, r4, 24
- lsrs r0, 24
- bl ResetBlockReceivedFlag
-_08077258:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8077234
-
- thumb_func_start sub_8077260
-sub_8077260: @ 8077260
- push {lr}
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08077280
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- cmp r0, 0x1D
- bne _08077280
- movs r0, 0x1
- b _08077282
- .pool
-_08077280:
- movs r0, 0
-_08077282:
- pop {r1}
- bx r1
- thumb_func_end sub_8077260
-
- thumb_func_start sub_8077288
-sub_8077288: @ 8077288
- push {lr}
- bl sub_800ADF8
- pop {r0}
- bx r0
- thumb_func_end sub_8077288
-
- thumb_func_start sub_8077294
-sub_8077294: @ 8077294
- push {lr}
- bl sub_800A520
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8077294
-
- thumb_func_start sub_80772A4
-sub_80772A4: @ 80772A4
- push {r4,r5,lr}
- sub sp, 0xC
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- bl ResetPaletteFade
- ldr r2, =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r0, =sub_807811C
- bl SetVBlankCallback
- ldr r4, =gUnknown_0860F074
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0x14
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0xD0
- movs r2, 0x14
- bl LoadPalette
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0832DEE4
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- movs r0, 0x8F
- lsls r0, 4
- adds r1, r0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r0, =gUnknown_0832DEF4
- bl InitWindows
- lsls r0, 16
- cmp r0, 0
- beq _0807738C
- bl DeactivateAllTextPrinters
- movs r5, 0
-_08077310:
- lsls r4, r5, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl ClearWindowTilemap
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r5, 0x1
- cmp r5, 0x11
- bls _08077310
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0
- movs r1, 0x14
- movs r2, 0xC0
- bl LoadUserWindowBorderGfx_
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0xE0
- bl LoadUserWindowBorderGfx
- bl LoadMonIconPalettes
- ldr r2, =gUnknown_0203229C
- ldr r0, [r2]
- adds r0, 0x69
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x6F
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x70
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x74
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x75
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x7A
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x7B
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xA8
- strb r1, [r0]
-_0807738C:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80772A4
-
- thumb_func_start sub_80773AC
-sub_80773AC: @ 80773AC
- push {lr}
- ldr r0, =sub_80773D0
- bl SetMainCallback2
- ldr r0, =gMain
- movs r1, 0
- str r1, [r0]
- ldr r0, =gEnemyPartyCount
- strb r1, [r0]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80773AC
-
- thumb_func_start sub_80773D0
-sub_80773D0: @ 80773D0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x28
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x16
- bls _080773EA
- b _08077B46
-_080773EA:
- lsls r0, 2
- ldr r1, =_080773FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080773FC:
- .4byte _08077458
- .4byte _080774A4
- .4byte _08077560
- .4byte _0807758C
- .4byte _080775E8
- .4byte _08077648
- .4byte _08077688
- .4byte _080776A8
- .4byte _080777E8
- .4byte _08077810
- .4byte _08077834
- .4byte _080778BC
- .4byte _080778CA
- .4byte _08077970
- .4byte _08077A40
- .4byte _08077A80
- .4byte _08077A9A
- .4byte _08077AA8
- .4byte _08077ABC
- .4byte _08077ADC
- .4byte _08077AFC
- .4byte _08077B10
- .4byte _08077B30
-_08077458:
- ldr r4, =gUnknown_0203229C
- ldr r0, =0x000010f0
- bl AllocZeroed
- str r0, [r4]
- bl sub_80772A4
- ldr r4, =gUnknown_02032184
- movs r0, 0xE0
- lsls r0, 4
- bl AllocZeroed
- str r0, [r4]
- movs r6, 0
- ldr r2, =gUnknown_02032188
-_08077476:
- lsls r1, r6, 8
- ldr r0, [r4]
- adds r0, r1
- stm r2!, {r0}
- adds r6, 0x1
- cmp r6, 0xD
- ble _08077476
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _08077B22
- .pool
-_080774A4:
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- movs r6, 0
- movs r4, 0
-_080774B2:
- movs r0, 0x64
- muls r0, r6
- ldr r1, =gEnemyParty
- adds r0, r1
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r1, 0
- movs r2, 0
- movs r3, 0x20
- bl CreateMon
- adds r6, 0x1
- cmp r6, 0x5
- ble _080774B2
- movs r0, 0
- bl sub_807A19C
- movs r0, 0
- bl ShowBg
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r2, [r0]
- cmp r2, 0
- bne _0807754C
- ldr r1, =gLinkType
- ldr r5, =0x00001122
- adds r0, r5, 0
- strh r0, [r1]
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0xA8
- strb r2, [r0]
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08077528
- bl sub_800B488
- bl OpenLink
- bl sub_8011BA4
- b _08077B46
- .pool
-_08077528:
- bl OpenLink
- ldr r0, =gMain
- movs r7, 0x87
- lsls r7, 3
- adds r0, r7
- ldrb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- ldr r0, =task00_08081A90
- movs r1, 0x1
- bl CreateTask
- b _08077B46
- .pool
-_0807754C:
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x4
- strb r1, [r0]
- b _08077B46
- .pool
-_08077560:
- ldr r2, =gUnknown_0203229C
- ldr r1, [r2]
- adds r1, 0xA8
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- adds r1, r0, 0
- adds r1, 0xA8
- ldrb r0, [r1]
- cmp r0, 0xB
- bhi _0807757A
- b _08077B46
-_0807757A:
- movs r0, 0
- strb r0, [r1]
- movs r2, 0x87
- lsls r2, 3
- adds r1, r3, r2
- b _08077B22
- .pool
-_0807758C:
- bl GetLinkPlayerCount_2
- adds r4, r0, 0
- bl sub_800AA48
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bcs _080775A0
- b _08077B46
-_080775A0:
- bl IsLinkMaster
- lsls r0, 24
- cmp r0, 0
- beq _080775D8
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- adds r1, 0xA8
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1E
- bhi _080775C0
- b _08077B46
-_080775C0:
- bl sub_800A620
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _08077B22
- .pool
-_080775D8:
- ldr r1, =gMain
- movs r5, 0x87
- lsls r5, 3
- adds r1, r5
- b _08077B22
- .pool
-_080775E8:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080775F2
- b _08077B46
-_080775F2:
- bl IsLinkPlayerDataExchangeComplete
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08077600
- b _08077B46
-_08077600:
- bl sub_8011BD0
- bl CalculatePlayerPartyCount
- ldr r1, =gMain
- movs r7, 0x87
- lsls r7, 3
- adds r1, r7
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0xA8
- strb r2, [r0]
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807762A
- b _08077B46
-_0807762A:
- movs r0, 0x1
- bl sub_801048C
- bl sub_800ADF8
- b _08077B46
- .pool
-_08077648:
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08077680
- bl sub_8010500
- lsls r0, 24
- cmp r0, 0
- bne _0807765C
- b _08077B46
-_0807765C:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
- b _08077B46
- .pool
-_08077680:
- movs r2, 0x87
- lsls r2, 3
- adds r1, r3, r2
- b _08077B22
-_08077688:
- bl shedinja_maker_maybe
- lsls r0, 24
- cmp r0, 0
- bne _08077694
- b _08077B46
-_08077694:
- bl sub_807A5B0
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _08077B22
- .pool
-_080776A8:
- bl CalculateEnemyPartyCount
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- ldr r2, =gUnknown_0203229C
- ldr r0, [r2]
- ldr r1, =gPlayerPartyCount
- ldrb r1, [r1]
- adds r0, 0x36
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, =gEnemyPartyCount
- ldrb r1, [r1]
- adds r0, 0x37
- strb r1, [r0]
- movs r6, 0
- ldr r0, [r2]
- adds r0, 0x36
- ldrb r0, [r0]
- cmp r6, r0
- bge _08077740
- mov r8, r2
- ldr r7, =gUnknown_0832DE24
-_080776E2:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- ldrb r2, [r7]
- lsls r2, 19
- movs r1, 0xE0
- lsls r1, 12
- adds r2, r1
- asrs r2, 16
- ldrb r3, [r7, 0x1]
- lsls r3, 19
- ldr r1, =0xfff40000
- adds r3, r1
- asrs r3, 16
- movs r1, 0x1
- str r1, [sp]
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- adds r0, r5, 0
- ldr r1, =sub_80D3014
- bl CreateMonIcon
- mov r2, r8
- ldr r1, [r2]
- adds r1, 0x28
- adds r1, r6
- strb r0, [r1]
- adds r7, 0x2
- adds r6, 0x1
- ldr r0, [r2]
- adds r0, 0x36
- ldrb r0, [r0]
- cmp r6, r0
- blt _080776E2
-_08077740:
- movs r6, 0
- ldr r1, =gUnknown_0203229C
- ldr r0, [r1]
- adds r0, 0x37
- ldrb r0, [r0]
- cmp r6, r0
- bge _080777B8
- ldr r0, =gUnknown_0832DE24
- mov r8, r1
- adds r7, r0, 0
- adds r7, 0xC
-_08077756:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- ldrb r2, [r7]
- lsls r2, 19
- movs r3, 0xE0
- lsls r3, 12
- adds r2, r3
- asrs r2, 16
- ldrb r3, [r7, 0x1]
- lsls r3, 19
- ldr r1, =0xfff40000
- adds r3, r1
- asrs r3, 16
- movs r1, 0x1
- str r1, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r5, 0
- ldr r1, =sub_80D3014
- bl CreateMonIcon
- mov r2, r8
- ldr r1, [r2]
- adds r1, 0x2E
- adds r1, r6
- strb r0, [r1]
- adds r7, 0x2
- adds r6, 0x1
- ldr r0, [r2]
- adds r0, 0x37
- ldrb r0, [r0]
- cmp r6, r0
- blt _08077756
-_080777B8:
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _08077B22
- .pool
-_080777E8:
- bl LoadHeldItemIcons
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x36
- adds r1, 0x28
- movs r2, 0
- bl sub_81B5D4C
- ldr r1, =gMain
- movs r5, 0x87
- lsls r5, 3
- adds r1, r5
- b _08077B22
- .pool
-_08077810:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x36
- adds r1, 0x28
- movs r2, 0x1
- bl sub_81B5D4C
- ldr r1, =gMain
- movs r7, 0x87
- lsls r7, 3
- adds r1, r7
- b _08077B22
- .pool
-_08077834:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r5, =gUnknown_02032188
- ldr r1, [r5]
- movs r4, 0x3
- str r4, [sp]
- movs r2, 0
- movs r3, 0
- bl sub_80C6D80
- bl GetMultiplayerId
- lsls r0, 24
- movs r1, 0x80
- lsls r1, 17
- eors r1, r0
- lsrs r1, 24
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, =gLinkPlayers + 8
- adds r0, r1
- ldr r1, [r5, 0xC]
- str r4, [sp]
- movs r2, 0
- movs r3, 0
- bl sub_80C6D80
- ldr r4, =gUnknown_0832DE94
- ldr r0, [r4]
- ldr r1, [r5, 0x18]
- movs r2, 0x2
- str r2, [sp]
- movs r2, 0
- movs r3, 0
- bl sub_80C6D80
- ldr r0, [r4, 0x4]
- ldr r1, [r5, 0x20]
- movs r2, 0x18
- bl sub_807A308
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0xA8
- strb r2, [r0]
- b _08077B46
- .pool
-_080778BC:
- bl sub_807A1F0
- lsls r0, 24
- cmp r0, 0
- bne _080778C8
- b _08077B46
-_080778C8:
- b _08077B1A
-_080778CA:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- movs r0, 0x1
- movs r2, 0x78
- bl GetStringCenterAlignXOffset
- movs r6, 0
- add r5, sp, 0x10
- adds r4, r0, 0
- adds r4, 0x10
-_080778DE:
- add r1, sp, 0x10
- ldr r0, =gSpriteTemplate_832DCAC
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldrh r0, [r5]
- adds r0, r6
- strh r0, [r5]
- lsls r1, r4, 16
- asrs r1, 16
- add r0, sp, 0x10
- movs r2, 0xA
- movs r3, 0x1
- bl CreateSprite
- adds r4, 0x20
- adds r6, 0x1
- cmp r6, 0x2
- ble _080778DE
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, =gLinkPlayers + 8
- adds r1, r0
- movs r0, 0x1
- movs r2, 0x78
- bl GetStringCenterAlignXOffset
- movs r6, 0
- add r5, sp, 0x10
- adds r4, r0, 0
- adds r4, 0x88
-_0807792C:
- add r1, sp, 0x10
- ldr r0, =gSpriteTemplate_832DCAC
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- adds r0, r6, 0x3
- ldrh r3, [r5]
- adds r0, r3
- strh r0, [r5]
- lsls r1, r4, 16
- asrs r1, 16
- add r0, sp, 0x10
- movs r2, 0xA
- movs r3, 0x1
- bl CreateSprite
- adds r4, 0x20
- adds r6, 0x1
- cmp r6, 0x2
- ble _0807792C
- ldr r1, =gMain
- movs r5, 0x87
- lsls r5, 3
- adds r1, r5
- b _08077B22
- .pool
-_08077970:
- ldr r4, =gSpriteTemplate_832DCAC
- add r1, sp, 0x10
- adds r0, r4, 0
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r5,r7}
- stm r1!, {r2,r5,r7}
- add r1, sp, 0x10
- adds r0, r1, 0
- ldrh r0, [r0]
- adds r0, 0x6
- strh r0, [r1]
- adds r0, r1, 0
- movs r1, 0xD7
- movs r2, 0x98
- movs r3, 0x1
- bl CreateSprite
- add r0, sp, 0x10
- ldm r4!, {r3,r5,r7}
- stm r0!, {r3,r5,r7}
- ldm r4!, {r1-r3}
- stm r0!, {r1-r3}
- add r1, sp, 0x10
- adds r0, r1, 0
- ldrh r0, [r0]
- adds r0, 0x7
- strh r0, [r1]
- adds r0, r1, 0
- movs r1, 0xF7
- movs r2, 0x98
- movs r3, 0x1
- bl CreateSprite
- movs r6, 0
- add r4, sp, 0x10
- movs r5, 0xC0
- lsls r5, 13
-_080779BC:
- add r1, sp, 0x10
- ldr r0, =gSpriteTemplate_832DCAC
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- adds r0, r6, 0
- adds r0, 0x8
- ldrh r7, [r4]
- adds r0, r7
- strh r0, [r4]
- asrs r1, r5, 16
- add r0, sp, 0x10
- movs r2, 0x96
- movs r3, 0x1
- bl CreateSprite
- movs r0, 0x80
- lsls r0, 14
- adds r5, r0
- adds r6, 0x1
- cmp r6, 0x5
- ble _080779BC
- ldr r0, =gSpriteTemplate_832DC94
- ldr r2, =gUnknown_0832DE24
- ldrb r1, [r2]
- lsls r1, 19
- movs r3, 0x80
- lsls r3, 14
- adds r1, r3
- asrs r1, 16
- ldrb r2, [r2, 0x1]
- lsls r2, 3
- movs r3, 0x2
- bl CreateSprite
- ldr r2, =gUnknown_0203229C
- ldr r1, [r2]
- adds r1, 0x34
- movs r3, 0
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, 0x35
- strb r3, [r0]
- ldr r1, =gMain
- movs r5, 0x87
- lsls r5, 3
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
- bl rbox_fill_rectangle
- b _08077B46
- .pool
-_08077A40:
- movs r0, 0
- bl sub_807A320
- movs r0, 0
- bl sub_8079BE0
- ldr r2, =gUnknown_0203229C
- ldr r0, [r2]
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- strb r1, [r0, 0x1]
- bl sub_8078388
- ldr r1, =gMain
- movs r7, 0x87
- lsls r7, 3
- adds r1, r7
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, =0x000001b3
- bl PlayBGM
- b _08077B46
- .pool
-_08077A80:
- movs r0, 0x1
- bl sub_807A320
- movs r0, 0x1
- bl sub_8079BE0
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08077A9A:
- movs r0, 0
- bl sub_80782B8
- b _08077B1A
- .pool
-_08077AA8:
- movs r0, 0x1
- bl sub_80782B8
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _08077B22
- .pool
-_08077ABC:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, =gMain
- movs r5, 0x87
- lsls r5, 3
- adds r1, r5
- b _08077B22
- .pool
-_08077ADC:
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x2
- bl sub_80782B8
- ldr r1, =gMain
- movs r7, 0x87
- lsls r7, 3
- adds r1, r7
- b _08077B22
- .pool
-_08077AFC:
- movs r0, 0
- bl sub_807A468
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _08077B22
- .pool
-_08077B10:
- movs r0, 0x1
- bl sub_807A468
- bl sub_807A53C
-_08077B1A:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
-_08077B22:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08077B46
- .pool
-_08077B30:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08077B46
- ldr r0, =sub_8078C34
- str r0, [r3]
- ldr r0, =sub_807825C
- bl SetMainCallback2
-_08077B46:
- bl RunTextPrinters
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x28
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80773D0
-
- thumb_func_start sub_8077B74
-sub_8077B74: @ 8077B74
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x24
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x16
- bls _08077B8E
- b _080780F6
-_08077B8E:
- lsls r0, 2
- ldr r1, =_08077BA0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08077BA0:
- .4byte _08077BFC
- .4byte _08077C10
- .4byte _08077C18
- .4byte _08077C20
- .4byte _08077C28
- .4byte _08077C3C
- .4byte _08077C64
- .4byte _08077C6C
- .4byte _08077DB0
- .4byte _08077DD8
- .4byte _08077DFC
- .4byte _08077E84
- .4byte _08077EA0
- .4byte _08077F48
- .4byte _080780F6
- .4byte _080780F6
- .4byte _08078038
- .4byte _08078040
- .4byte _08078068
- .4byte _080780A4
- .4byte _080780C4
- .4byte _080780CC
- .4byte _080780E4
-_08077BFC:
- bl sub_80772A4
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _080780D8
- .pool
-_08077C10:
- movs r5, 0x87
- lsls r5, 3
- adds r1, r2, r5
- b _08077E58
-_08077C18:
- movs r7, 0x87
- lsls r7, 3
- adds r1, r2, r7
- b _080780D8
-_08077C20:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- b _080780D8
-_08077C28:
- bl CalculatePlayerPartyCount
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _080780D8
- .pool
-_08077C3C:
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08077C50
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
-_08077C50:
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _080780D8
- .pool
-_08077C64:
- movs r5, 0x87
- lsls r5, 3
- adds r1, r2, r5
- b _080780D8
-_08077C6C:
- bl CalculateEnemyPartyCount
- ldr r4, =gUnknown_0203229C
- ldr r0, [r4]
- ldr r1, =gPlayerPartyCount
- ldrb r1, [r1]
- adds r0, 0x36
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, =gEnemyPartyCount
- ldrb r1, [r1]
- adds r0, 0x37
- strb r1, [r0]
- movs r0, 0
- bl ClearWindowTilemap
- movs r0, 0
- bl sub_8079BE0
- movs r0, 0x1
- bl sub_8079BE0
- movs r6, 0
- ldr r0, [r4]
- adds r0, 0x36
- ldrb r0, [r0]
- cmp r6, r0
- bge _08077D08
- mov r8, r4
- ldr r7, =gUnknown_0832DE24
-_08077CA8:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- ldrb r2, [r7]
- lsls r2, 19
- movs r1, 0xE0
- lsls r1, 12
- adds r2, r1
- asrs r2, 16
- ldrb r3, [r7, 0x1]
- lsls r3, 19
- ldr r1, =0xfff40000
- adds r3, r1
- asrs r3, 16
- movs r1, 0x1
- str r1, [sp]
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- adds r0, r5, 0
- ldr r1, =sub_80D3014
- bl CreateMonIcon
- mov r2, r8
- ldr r1, [r2]
- adds r1, 0x28
- adds r1, r6
- strb r0, [r1]
- adds r7, 0x2
- adds r6, 0x1
- ldr r0, [r2]
- adds r0, 0x36
- ldrb r0, [r0]
- cmp r6, r0
- blt _08077CA8
-_08077D08:
- movs r6, 0
- ldr r1, =gUnknown_0203229C
- ldr r0, [r1]
- adds r0, 0x37
- ldrb r0, [r0]
- cmp r6, r0
- bge _08077D80
- ldr r0, =gUnknown_0832DE24
- mov r8, r1
- adds r7, r0, 0
- adds r7, 0xC
-_08077D1E:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- ldrb r2, [r7]
- lsls r2, 19
- movs r3, 0xE0
- lsls r3, 12
- adds r2, r3
- asrs r2, 16
- ldrb r3, [r7, 0x1]
- lsls r3, 19
- ldr r1, =0xfff40000
- adds r3, r1
- asrs r3, 16
- movs r1, 0x1
- str r1, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r5, 0
- ldr r1, =sub_80D3014
- bl CreateMonIcon
- mov r2, r8
- ldr r1, [r2]
- adds r1, 0x2E
- adds r1, r6
- strb r0, [r1]
- adds r7, 0x2
- adds r6, 0x1
- ldr r0, [r2]
- adds r0, 0x37
- ldrb r0, [r0]
- cmp r6, r0
- blt _08077D1E
-_08077D80:
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _080780D8
- .pool
-_08077DB0:
- bl LoadHeldItemIcons
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x36
- adds r1, 0x28
- movs r2, 0
- bl sub_81B5D4C
- ldr r1, =gMain
- movs r5, 0x87
- lsls r5, 3
- adds r1, r5
- b _080780D8
- .pool
-_08077DD8:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x36
- adds r1, 0x28
- movs r2, 0x1
- bl sub_81B5D4C
- ldr r1, =gMain
- movs r7, 0x87
- lsls r7, 3
- adds r1, r7
- b _080780D8
- .pool
-_08077DFC:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r5, =gUnknown_02032188
- ldr r1, [r5]
- movs r4, 0x3
- str r4, [sp]
- movs r2, 0
- movs r3, 0
- bl sub_80C6D80
- bl GetMultiplayerId
- lsls r0, 24
- movs r1, 0x80
- lsls r1, 17
- eors r1, r0
- lsrs r1, 24
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, =gLinkPlayers + 8
- adds r0, r1
- ldr r1, [r5, 0xC]
- str r4, [sp]
- movs r2, 0
- movs r3, 0
- bl sub_80C6D80
- ldr r4, =gUnknown_0832DE94
- ldr r0, [r4]
- ldr r1, [r5, 0x18]
- movs r2, 0x2
- str r2, [sp]
- movs r2, 0
- movs r3, 0
- bl sub_80C6D80
- ldr r0, [r4, 0x4]
- ldr r1, [r5, 0x20]
- movs r2, 0x18
- bl sub_807A308
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
-_08077E58:
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0xA8
- strb r2, [r0]
- b _080780F6
- .pool
-_08077E84:
- bl sub_807A1F0
- lsls r0, 24
- cmp r0, 0
- bne _08077E90
- b _080780F6
-_08077E90:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _080780D8
- .pool
-_08077EA0:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- movs r0, 0x1
- movs r2, 0x78
- bl GetStringCenterAlignXOffset
- movs r6, 0
- add r5, sp, 0xC
- adds r4, r0, 0
- adds r4, 0x10
-_08077EB4:
- add r1, sp, 0xC
- ldr r0, =gSpriteTemplate_832DCAC
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldrh r0, [r5]
- adds r0, r6
- strh r0, [r5]
- lsls r1, r4, 16
- asrs r1, 16
- add r0, sp, 0xC
- movs r2, 0xA
- movs r3, 0x1
- bl CreateSprite
- adds r4, 0x20
- adds r6, 0x1
- cmp r6, 0x2
- ble _08077EB4
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, =gLinkPlayers + 8
- adds r1, r0
- movs r0, 0x1
- movs r2, 0x78
- bl GetStringCenterAlignXOffset
- movs r6, 0
- add r5, sp, 0xC
- adds r4, r0, 0
- adds r4, 0x88
-_08077F02:
- add r1, sp, 0xC
- ldr r0, =gSpriteTemplate_832DCAC
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- adds r0, r6, 0x3
- ldrh r3, [r5]
- adds r0, r3
- strh r0, [r5]
- lsls r1, r4, 16
- asrs r1, 16
- add r0, sp, 0xC
- movs r2, 0xA
- movs r3, 0x1
- bl CreateSprite
- adds r4, 0x20
- adds r6, 0x1
- cmp r6, 0x2
- ble _08077F02
- ldr r1, =gMain
- movs r5, 0x87
- lsls r5, 3
- adds r1, r5
- b _080780D8
- .pool
-_08077F48:
- ldr r4, =gSpriteTemplate_832DCAC
- add r1, sp, 0xC
- adds r0, r4, 0
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r5,r7}
- stm r1!, {r2,r5,r7}
- add r1, sp, 0xC
- adds r0, r1, 0
- ldrh r0, [r0]
- adds r0, 0x6
- strh r0, [r1]
- adds r0, r1, 0
- movs r1, 0xD7
- movs r2, 0x98
- movs r3, 0x1
- bl CreateSprite
- add r0, sp, 0xC
- ldm r4!, {r3,r5,r7}
- stm r0!, {r3,r5,r7}
- ldm r4!, {r1-r3}
- stm r0!, {r1-r3}
- add r1, sp, 0xC
- adds r0, r1, 0
- ldrh r0, [r0]
- adds r0, 0x7
- strh r0, [r1]
- adds r0, r1, 0
- movs r1, 0xF7
- movs r2, 0x98
- movs r3, 0x1
- bl CreateSprite
- movs r6, 0
- add r4, sp, 0xC
- movs r5, 0xC0
- lsls r5, 13
-_08077F94:
- add r1, sp, 0xC
- ldr r0, =gSpriteTemplate_832DCAC
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- adds r0, r6, 0
- adds r0, 0x8
- ldrh r7, [r4]
- adds r0, r7
- strh r0, [r4]
- asrs r1, r5, 16
- add r0, sp, 0xC
- movs r2, 0x96
- movs r3, 0x1
- bl CreateSprite
- movs r0, 0x80
- lsls r0, 14
- adds r5, r0
- adds r6, 0x1
- cmp r6, 0x5
- ble _08077F94
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x35
- ldrb r1, [r2]
- adds r4, r0, 0
- cmp r1, 0x5
- bhi _08077FE4
- ldr r0, =gUnknown_0203CF20
- ldrb r0, [r0]
- b _08077FEA
- .pool
-_08077FE4:
- ldr r0, =gUnknown_0203CF20
- ldrb r0, [r0]
- adds r0, 0x6
-_08077FEA:
- strb r0, [r2]
- ldr r0, =gSpriteTemplate_832DC94
- ldr r3, =gUnknown_0832DE24
- ldr r1, [r4]
- adds r1, 0x35
- ldrb r2, [r1]
- lsls r2, 1
- adds r1, r2, r3
- ldrb r1, [r1]
- lsls r1, 19
- movs r5, 0x80
- lsls r5, 14
- adds r1, r5
- asrs r1, 16
- adds r3, 0x1
- adds r2, r3
- ldrb r2, [r2]
- lsls r2, 3
- movs r3, 0x2
- bl CreateSprite
- ldr r1, [r4]
- adds r1, 0x34
- strb r0, [r1]
- ldr r0, =gMain
- movs r7, 0x87
- lsls r7, 3
- adds r0, r7
- movs r1, 0x10
- strb r1, [r0]
- b _080780F6
- .pool
-_08078038:
- movs r0, 0
- bl sub_80782B8
- b _080780D0
-_08078040:
- movs r0, 0x1
- bl sub_80782B8
- ldr r2, =gUnknown_0203229C
- ldr r0, [r2]
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- strb r1, [r0, 0x1]
- bl sub_8078388
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _080780D8
- .pool
-_08078068:
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _080780D8
- .pool
-_080780A4:
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x2
- bl sub_80782B8
- ldr r1, =gMain
- movs r5, 0x87
- lsls r5, 3
- adds r1, r5
- b _080780D8
- .pool
-_080780C4:
- movs r7, 0x87
- lsls r7, 3
- adds r1, r2, r7
- b _080780D8
-_080780CC:
- bl sub_807A53C
-_080780D0:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
-_080780D8:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080780F6
- .pool
-_080780E4:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080780F6
- ldr r0, =sub_807825C
- bl SetMainCallback2
-_080780F6:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x24
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8077B74
-
- thumb_func_start sub_807811C
-sub_807811C: @ 807811C
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_807811C
-
- thumb_func_start sub_8078130
-sub_8078130: @ 8078130
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_0203229C
- ldr r1, [r4]
- adds r1, 0xA8
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xF
- bls _08078160
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, [r4]
- adds r0, 0x6F
- movs r1, 0xA
- strb r1, [r0]
-_08078160:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8078130
-
- thumb_func_start sub_807816C
-sub_807816C: @ 807816C
- push {r4,lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080781C2
- ldr r1, =gUnknown_02032298
- ldr r4, =gUnknown_0203229C
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x35
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0
- adds r0, 0x7E
- ldrb r0, [r0]
- strb r0, [r1, 0x1]
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _080781B4
- adds r1, r2, 0
- adds r1, 0x6F
- movs r0, 0x10
- strb r0, [r1]
- b _080781C2
- .pool
-_080781B4:
- movs r0, 0x20
- bl sub_800ABF4
- ldr r0, [r4]
- adds r0, 0x6F
- movs r1, 0xD
- strb r1, [r0]
-_080781C2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_807816C
-
- thumb_func_start sub_80781C8
-sub_80781C8: @ 80781C8
- push {r4,r5,lr}
- ldr r5, =gMain
- ldr r0, =sub_80773AC
- str r0, [r5, 0x8]
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08078220
- bl sub_8010500
- lsls r0, 24
- cmp r0, 0
- beq _08078244
- ldr r0, =gUnknown_02032184
- ldr r0, [r0]
- bl Free
- bl FreeAllWindowBuffers
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- bl Free
- movs r0, 0
- str r0, [r5]
- bl sub_800E084
- ldr r0, =sub_807AE50
- bl SetMainCallback2
- b _08078244
- .pool
-_08078220:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r4, [r0]
- cmp r4, 0
- bne _08078244
- ldr r0, =gUnknown_02032184
- ldr r0, [r0]
- bl Free
- bl FreeAllWindowBuffers
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- bl Free
- str r4, [r5]
- ldr r0, =sub_807AE50
- bl SetMainCallback2
-_08078244:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80781C8
-
- thumb_func_start sub_807825C
-sub_807825C: @ 807825C
- push {r4,lr}
- bl sub_80795AC
- bl sub_807A0C4
- movs r0, 0
- bl sub_80796B4
- movs r0, 0x1
- bl sub_80796B4
- ldr r4, =gUnknown_0203229C
- ldr r2, [r4]
- ldrb r1, [r2]
- adds r0, r1, 0x1
- strb r0, [r2]
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x18
- bl SetGpuReg
- ldr r2, [r4]
- ldrb r1, [r2, 0x1]
- adds r0, r1, 0
- adds r0, 0xFF
- strb r0, [r2, 0x1]
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1C
- bl SetGpuReg
- bl RunTextPrintersAndIsPrinter0Active
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807825C
-
- thumb_func_start sub_80782B8
-sub_80782B8: @ 80782B8
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- beq _08078324
- cmp r4, 0x1
- bgt _080782CE
- cmp r4, 0
- beq _080782D4
- b _0807837E
-_080782CE:
- cmp r4, 0x2
- beq _0807834C
- b _0807837E
-_080782D4:
- ldr r0, =gUnknown_08DDB3E4
- movs r1, 0
- movs r2, 0x60
- bl LoadPalette
- ldr r1, =gUnknown_08DDB464
- movs r2, 0x94
- lsls r2, 5
- movs r0, 0x1
- movs r3, 0
- bl LoadBgTiles
- ldr r1, =gUnknown_08DDCF04
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r1, =gTradeStripesBG2Tilemap
- movs r2, 0x80
- lsls r2, 4
- movs r0, 0x2
- movs r3, 0
- bl LoadBgTilemap
- b _0807837E
- .pool
-_08078324:
- ldr r1, =gTradeStripesBG3Tilemap
- movs r2, 0x80
- lsls r2, 4
- movs r0, 0x3
- movs r3, 0
- bl LoadBgTilemap
- movs r0, 0
- bl sub_8079E44
- movs r0, 0x1
- bl sub_8079E44
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- b _0807837E
- .pool
-_0807834C:
- movs r5, 0x80
- lsls r5, 21
- movs r4, 0x3
-_08078352:
- lsrs r0, r5, 24
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x80
- lsls r0, 18
- adds r5, r0
- subs r4, 0x1
- cmp r4, 0
- bge _08078352
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
-_0807837E:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80782B8
-
- thumb_func_start sub_8078388
-sub_8078388: @ 8078388
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r3, 0
- ldr r5, =gUnknown_0203229C
- mov r8, r5
- ldr r0, =gSprites
- mov r12, r0
- movs r1, 0x5
- negs r1, r1
- mov r9, r1
- movs r4, 0x6
- movs r7, 0x1
- movs r6, 0
-_080783A6:
- mov r1, r8
- ldr r0, [r1]
- adds r1, r0, 0
- adds r1, 0x36
- ldrb r1, [r1]
- cmp r3, r1
- bge _080783E0
- adds r0, 0x28
- adds r0, r3
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r12
- adds r1, 0x3E
- ldrb r2, [r1]
- mov r0, r9
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x38
- adds r0, r3
- strb r7, [r0]
- b _080783E6
- .pool
-_080783E0:
- adds r0, 0x38
- adds r0, r3
- strb r6, [r0]
-_080783E6:
- mov r1, r8
- ldr r0, [r1]
- adds r1, r0, 0
- adds r1, 0x37
- ldrb r1, [r1]
- cmp r3, r1
- bge _08078416
- adds r0, 0x2E
- adds r0, r3
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r12
- adds r1, 0x3E
- ldrb r2, [r1]
- mov r0, r9
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x38
- adds r0, r4
- strb r7, [r0]
- b _0807841C
-_08078416:
- adds r0, 0x38
- adds r0, r4
- strb r6, [r0]
-_0807841C:
- adds r4, 0x1
- adds r3, 0x1
- cmp r3, 0x5
- ble _080783A6
- ldr r0, [r5]
- adds r0, 0x44
- movs r1, 0x1
- strb r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8078388
-
- thumb_func_start sub_8078438
-sub_8078438: @ 8078438
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r3, 0
- cmp r3, r2
- bcs _08078452
-_08078444:
- adds r0, r5, r3
- adds r1, r4, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, r2
- bcc _08078444
-_08078452:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8078438
-
- thumb_func_start shedinja_maker_maybe
-shedinja_maker_maybe: @ 8078458
- push {r4-r6,lr}
- sub sp, 0xC
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x69
- ldrb r0, [r0]
- cmp r0, 0x15
- bls _08078472
- b _080787AA
-_08078472:
- lsls r0, 2
- ldr r1, =_08078484
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08078484:
- .4byte _080784DC
- .4byte _08078508
- .4byte _08078784
- .4byte _08078534
- .4byte _08078548
- .4byte _0807857C
- .4byte _08078784
- .4byte _08078598
- .4byte _080785AC
- .4byte _080785E0
- .4byte _08078784
- .4byte _080785FC
- .4byte _08078610
- .4byte _08078644
- .4byte _08078784
- .4byte _0807866C
- .4byte _08078680
- .4byte _080786B4
- .4byte _08078784
- .4byte _080786DC
- .4byte _080786F0
- .4byte _08078720
-_080784DC:
- ldr r0, =gBlockSendBuffer
- ldr r1, =gPlayerParty
- movs r2, 0xC8
- bl sub_8078438
- ldr r3, =gUnknown_0203229C
- ldr r1, [r3]
- adds r1, 0x69
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0xA8
- strb r2, [r0]
- b _080787AA
- .pool
-_08078508:
- bl sub_80771BC
- cmp r0, 0
- bne _08078512
- b _080787AA
-_08078512:
- bl sub_8077200
- cmp r0, 0
- bne _08078524
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_08078524:
- bl sub_8077210
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_08078534:
- cmp r5, 0
- bne _0807853E
- movs r0, 0x1
- bl sub_80771AC
-_0807853E:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_08078548:
- bl sub_8077200
- cmp r0, 0x3
- beq _08078552
- b _080787AA
-_08078552:
- ldr r0, =gEnemyParty
- movs r2, 0x1
- adds r1, r5, 0
- eors r1, r2
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0xC8
- bl sub_8078438
- bl sub_8077210
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_0807857C:
- ldr r0, =gBlockSendBuffer
- ldr r1, =gPlayerParty + 200
- movs r2, 0xC8
- bl sub_8078438
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_08078598:
- cmp r5, 0
- bne _080785A2
- movs r0, 0x1
- bl sub_80771AC
-_080785A2:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_080785AC:
- bl sub_8077200
- cmp r0, 0x3
- beq _080785B6
- b _080787AA
-_080785B6:
- ldr r0, =gEnemyParty + 200
- movs r2, 0x1
- adds r1, r5, 0
- eors r1, r2
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0xC8
- bl sub_8078438
- bl sub_8077210
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_080785E0:
- ldr r0, =gBlockSendBuffer
- ldr r1, =gPlayerParty + 400
- movs r2, 0xC8
- bl sub_8078438
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_080785FC:
- cmp r5, 0
- bne _08078606
- movs r0, 0x1
- bl sub_80771AC
-_08078606:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_08078610:
- bl sub_8077200
- cmp r0, 0x3
- beq _0807861A
- b _080787AA
-_0807861A:
- ldr r0, =gEnemyParty + 400
- movs r2, 0x1
- adds r1, r5, 0
- eors r1, r2
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0xC8
- bl sub_8078438
- bl sub_8077210
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_08078644:
- ldr r0, =gBlockSendBuffer
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- ldr r2, =0x00002be0
- adds r1, r2
- movs r2, 0xDC
- bl sub_8078438
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_0807866C:
- cmp r5, 0
- bne _08078676
- movs r0, 0x3
- bl sub_80771AC
-_08078676:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_08078680:
- bl sub_8077200
- cmp r0, 0x3
- beq _0807868A
- b _080787AA
-_0807868A:
- ldr r0, =gUnknown_020321C0
- movs r2, 0x1
- adds r1, r5, 0
- eors r1, r2
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0xD8
- bl sub_8078438
- bl sub_8077210
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_080786B4:
- ldr r0, =gBlockSendBuffer
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- ldr r2, =0x000031a8
- adds r1, r2
- movs r2, 0xB
- bl sub_8078438
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_080786DC:
- cmp r5, 0
- bne _080786E6
- movs r0, 0x4
- bl sub_80771AC
-_080786E6:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_080786F0:
- bl sub_8077200
- cmp r0, 0x3
- bne _080787AA
- ldr r4, =gUnknown_0203229C
- ldr r0, [r4]
- adds r0, 0xA9
- movs r2, 0x1
- adds r1, r5, 0
- eors r1, r2
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0xB
- bl sub_8078438
- bl sub_8077210
- ldr r1, [r4]
- b _080787A2
- .pool
-_08078720:
- ldr r4, =gEnemyParty
- ldr r6, =0x0000012f
- movs r5, 0x5
-_08078726:
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _08078766
- cmp r0, r6
- bne _08078766
- adds r0, r4, 0
- movs r1, 0x3
- bl GetMonData
- cmp r0, 0x1
- beq _08078766
- adds r0, r4, 0
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- ldr r1, =gJPText_Shedinja
- bl StringCompareWithoutExtCtrlCodes
- cmp r0, 0
- bne _08078766
- adds r0, r4, 0
- movs r1, 0x2
- ldr r2, =gSpeciesNames + 303 * POKEMON_NAME_LENGTH @ SPECIES_SHEDINJA
- bl SetMonData
-_08078766:
- adds r4, 0x64
- subs r5, 0x1
- cmp r5, 0
- bge _08078726
- movs r0, 0x1
- b _080787AC
- .pool
-_08078784:
- ldr r2, =gUnknown_0203229C
- ldr r1, [r2]
- adds r1, 0xA8
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- adds r1, r0, 0
- adds r1, 0xA8
- ldrb r0, [r1]
- cmp r0, 0xA
- bls _080787AA
- movs r0, 0
- strb r0, [r1]
- ldr r1, [r2]
-_080787A2:
- adds r1, 0x69
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080787AA:
- movs r0, 0
-_080787AC:
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end shedinja_maker_maybe
-
- thumb_func_start sub_80787B8
-sub_80787B8: @ 80787B8
- push {lr}
- ldr r0, =gText_IsThisTradeOkay
- ldr r1, =gUnknown_0203229C
- ldr r1, [r1]
- adds r1, 0x72
- ldrh r1, [r1]
- lsls r1, 5
- ldr r2, =0x06010000
- adds r1, r2
- movs r2, 0x18
- bl sub_807A308
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80787B8
-
- thumb_func_start sub_80787E0
-sub_80787E0: @ 80787E0
- push {r4,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- movs r2, 0x1
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _08078864
- ldr r0, =gBlockRecvBuffer
- ldrh r1, [r0]
- ldr r0, =0x0000bbbb
- cmp r1, r0
- beq _08078844
- cmp r1, r0
- bgt _08078814
- ldr r0, =0x0000aabb
- cmp r1, r0
- beq _08078834
- b _0807885E
- .pool
-_08078814:
- ldr r0, =0x0000bbcc
- cmp r1, r0
- beq _08078854
- ldr r0, =0x0000eeaa
- cmp r1, r0
- bne _0807885E
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x78
- b _0807885A
- .pool
-_08078834:
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x78
- strb r2, [r0]
- b _0807885E
- .pool
-_08078844:
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x7A
- strb r2, [r0]
- b _0807885E
- .pool
-_08078854:
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x7A
-_0807885A:
- movs r1, 0x2
- strb r1, [r0]
-_0807885E:
- movs r0, 0
- bl sub_8077234
-_08078864:
- movs r2, 0x2
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _080788F6
- ldr r3, =gBlockRecvBuffer
- movs r1, 0x80
- lsls r1, 1
- adds r0, r3, r1
- ldrh r1, [r0]
- ldr r0, =0x0000bbbb
- cmp r1, r0
- beq _080788D8
- cmp r1, r0
- bgt _0807889C
- ldr r0, =0x0000aabb
- cmp r1, r0
- beq _080788BC
- b _080788F0
- .pool
-_0807889C:
- ldr r0, =0x0000bbcc
- cmp r1, r0
- beq _080788E8
- ldr r0, =0x0000eeaa
- cmp r1, r0
- bne _080788F0
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x79
- b _080788EE
- .pool
-_080788BC:
- ldr r2, =gUnknown_0203229C
- ldr r1, [r2]
- movs r4, 0x81
- lsls r4, 1
- adds r0, r3, r4
- ldrb r0, [r0]
- adds r0, 0x6
- adds r1, 0x7E
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, 0x79
- b _080788DE
- .pool
-_080788D8:
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x7B
-_080788DE:
- movs r1, 0x1
- strb r1, [r0]
- b _080788F0
- .pool
-_080788E8:
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x7B
-_080788EE:
- strb r2, [r0]
-_080788F0:
- movs r0, 0x1
- bl sub_8077234
-_080788F6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80787E0
-
- thumb_func_start sub_8078900
-sub_8078900: @ 8078900
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r1, 24
- lsrs r5, r1, 24
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _080789E2
- ldr r2, =gBlockRecvBuffer
- ldrh r1, [r2]
- ldr r0, =0x0000ddee
- cmp r1, r0
- beq _080789CC
- cmp r1, r0
- bgt _0807893C
- ldr r0, =0x0000ccdd
- cmp r1, r0
- beq _080789AC
- ldr r0, =0x0000dddd
- cmp r1, r0
- beq _08078978
- b _080789DC
- .pool
-_0807893C:
- ldr r0, =0x0000eebb
- cmp r1, r0
- beq _08078950
- adds r0, 0x11
- cmp r1, r0
- beq _08078974
- b _080789DC
- .pool
-_08078950:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0x4
- bl sub_807A19C
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0xB
- b _080789DA
- .pool
-_08078974:
- movs r0, 0x5
- b _080789CE
-_08078978:
- ldr r4, =gUnknown_0203229C
- ldr r1, [r4]
- ldrb r0, [r2, 0x2]
- adds r0, 0x6
- adds r1, 0x7E
- strb r0, [r1]
- movs r0, 0
- bl rbox_fill_rectangle
- ldr r0, [r4]
- adds r0, 0x35
- ldrb r0, [r0]
- bl sub_807967C
- ldr r0, [r4]
- adds r0, 0x7E
- ldrb r0, [r0]
- bl sub_807967C
- ldr r0, [r4]
- adds r0, 0x6F
- movs r1, 0x7
- b _080789DA
- .pool
-_080789AC:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0xA
- b _080789DA
- .pool
-_080789CC:
- movs r0, 0x1
-_080789CE:
- bl sub_807A19C
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0x8
-_080789DA:
- strb r1, [r0]
-_080789DC:
- movs r0, 0
- bl sub_8077234
-_080789E2:
- movs r0, 0x2
- ands r0, r5
- cmp r0, 0
- beq _080789F0
- movs r0, 0x1
- bl sub_8077234
-_080789F0:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8078900
-
- thumb_func_start sub_80789FC
-sub_80789FC: @ 80789FC
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r6, =gUnknown_0203229C
- ldr r2, [r6]
- adds r1, r2, 0
- adds r1, 0x78
- ldrb r0, [r1]
- cmp r0, 0
- bne _08078A10
- b _08078B44
-_08078A10:
- adds r0, r2, 0
- adds r0, 0x79
- ldrb r0, [r0]
- cmp r0, 0
- bne _08078A1C
- b _08078B44
-_08078A1C:
- ldrh r1, [r1]
- ldr r0, =0x00000101
- cmp r1, r0
- bne _08078A64
- adds r1, r2, 0
- adds r1, 0x6F
- movs r0, 0x6
- strb r0, [r1]
- ldr r2, [r6]
- adds r1, r2, 0
- adds r1, 0x80
- movs r4, 0
- ldr r0, =0x0000dddd
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0x35
- ldrb r1, [r0]
- adds r0, 0x4D
- strh r1, [r0]
- movs r0, 0x5
- movs r1, 0
- bl sub_807A048
- ldr r0, [r6]
- adds r2, r0, 0
- adds r2, 0x79
- strb r4, [r2]
- adds r0, 0x78
- strb r4, [r0]
- b _08078B44
- .pool
-_08078A64:
- ldr r0, =0x00000201
- cmp r1, r0
- bne _08078AB4
- movs r0, 0x1
- bl sub_807A19C
- ldr r1, [r6]
- adds r2, r1, 0
- adds r2, 0x80
- movs r4, 0
- movs r3, 0
- ldr r0, =0x0000eecc
- strh r0, [r2]
- adds r1, 0x82
- strh r3, [r1]
- movs r0, 0x5
- movs r1, 0
- bl sub_807A048
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x7B
- strb r4, [r1]
- adds r0, 0x7A
- strb r4, [r0]
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x79
- strb r4, [r1]
- adds r0, 0x78
- strb r4, [r0]
- ldr r0, [r6]
- adds r0, 0x6F
- movs r1, 0x8
- b _08078B42
- .pool
-_08078AB4:
- movs r0, 0x81
- lsls r0, 1
- cmp r1, r0
- bne _08078B00
- movs r0, 0x5
- bl sub_807A19C
- ldr r1, [r6]
- adds r2, r1, 0
- adds r2, 0x80
- movs r4, 0
- movs r3, 0
- ldr r0, =0x0000ddee
- strh r0, [r2]
- adds r1, 0x82
- strh r3, [r1]
- movs r0, 0x5
- movs r1, 0
- bl sub_807A048
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x7B
- strb r4, [r1]
- adds r0, 0x7A
- strb r4, [r0]
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x79
- strb r4, [r1]
- adds r0, 0x78
- strb r4, [r0]
- ldr r0, [r6]
- adds r0, 0x6F
- movs r1, 0x8
- b _08078B42
- .pool
-_08078B00:
- ldr r0, =0x00000202
- cmp r1, r0
- bne _08078B44
- adds r1, r2, 0
- adds r1, 0x80
- movs r5, 0
- movs r4, 0
- ldr r0, =0x0000eebb
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0x82
- strh r4, [r0]
- movs r0, 0x5
- movs r1, 0
- bl sub_807A048
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x79
- strb r5, [r1]
- adds r0, 0x78
- strb r5, [r0]
- ldr r0, [r6]
- adds r0, 0x6F
- movs r1, 0xB
-_08078B42:
- strb r1, [r0]
-_08078B44:
- ldr r5, =gUnknown_0203229C
- ldr r3, [r5]
- adds r1, r3, 0
- adds r1, 0x7A
- ldrb r0, [r1]
- cmp r0, 0
- beq _08078BDC
- adds r0, r3, 0
- adds r0, 0x7B
- ldrb r0, [r0]
- cmp r0, 0
- beq _08078BDC
- ldrh r1, [r1]
- ldr r0, =0x00000101
- cmp r1, r0
- bne _08078B92
- adds r1, r3, 0
- adds r1, 0x80
- movs r4, 0
- movs r2, 0
- ldr r0, =0x0000ccdd
- strh r0, [r1]
- adds r0, r3, 0
- adds r0, 0x82
- strh r2, [r0]
- movs r0, 0x5
- movs r1, 0
- bl sub_807A048
- ldr r0, [r5]
- adds r0, 0x7A
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x7B
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x6F
- movs r1, 0x9
- strb r1, [r0]
-_08078B92:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x7A
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08078BA8
- adds r0, r1, 0
- adds r0, 0x7B
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08078BDC
-_08078BA8:
- movs r0, 0x1
- bl sub_807A19C
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0x80
- movs r4, 0
- movs r3, 0
- ldr r0, =0x0000ddee
- strh r0, [r2]
- adds r1, 0x82
- strh r3, [r1]
- movs r0, 0x5
- movs r1, 0
- bl sub_807A048
- ldr r0, [r5]
- adds r0, 0x7A
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x7B
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x6F
- movs r1, 0x8
- strb r1, [r0]
-_08078BDC:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80789FC
-
- thumb_func_start sub_8078BFC
-sub_8078BFC: @ 8078BFC
- push {lr}
- strh r1, [r0]
- strh r2, [r0, 0x2]
- movs r0, 0x5
- movs r1, 0
- bl sub_807A048
- pop {r0}
- bx r0
- thumb_func_end sub_8078BFC
-
- thumb_func_start sub_8078C10
-sub_8078C10: @ 8078C10
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 16
- lsrs r3, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x80
- adds r1, r3, 0
- bl sub_8078BFC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8078C10
-
- thumb_func_start sub_8078C34
-sub_8078C34: @ 8078C34
- push {r4,lr}
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8077200
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08078C5C
- cmp r4, 0
- bne _08078C56
- movs r0, 0
- bl sub_80787E0
- b _08078C5C
-_08078C56:
- adds r0, r4, 0
- bl sub_8078900
-_08078C5C:
- cmp r4, 0
- bne _08078C64
- bl sub_80789FC
-_08078C64:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8078C34
-
- thumb_func_start sub_8078C6C
-sub_8078C6C: @ 8078C6C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r6, 0
- movs r5, 0
- ldr r2, =gUnknown_0203229C
- ldr r3, [r2]
- ldr r4, =gUnknown_0832DCEC
- lsls r2, r1, 1
- adds r2, r1
- lsls r2, 1
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r3, 0x38
- adds r2, r1
- adds r2, r4
-_08078C92:
- ldrb r1, [r2]
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08078CA8
- adds r6, r1, 0
- b _08078CB0
- .pool
-_08078CA8:
- adds r2, 0x1
- adds r5, 0x1
- cmp r5, 0x5
- ble _08078C92
-_08078CB0:
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8078C6C
-
- thumb_func_start sub_8078CB8
-sub_8078CB8: @ 8078CB8
- push {r4-r7,lr}
- adds r7, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldrb r0, [r7]
- bl sub_8078C6C
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0xC
- bne _08078D10
- ldr r5, =gUnknown_0203229C
- ldr r0, [r5]
- adds r0, 0x34
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r2, [r5]
- adds r2, 0x34
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xE0
- strh r1, [r0, 0x20]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xA0
- strh r1, [r0, 0x22]
- b _08078D58
- .pool
-_08078D10:
- ldr r4, =gUnknown_0203229C
- ldr r0, [r4]
- adds r0, 0x34
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, =gSprites
- adds r0, r5
- movs r1, 0
- bl StartSpriteAnim
- ldr r4, [r4]
- adds r4, 0x34
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldr r2, =gUnknown_0832DE24
- lsls r3, r6, 1
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, 0x20
- strh r0, [r1, 0x20]
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r2, 0x1
- adds r3, r2
- ldrb r0, [r3]
- lsls r0, 3
- strh r0, [r1, 0x22]
-_08078D58:
- ldrb r0, [r7]
- cmp r0, r6
- beq _08078D64
- movs r0, 0x5
- bl PlaySE
-_08078D64:
- strb r6, [r7]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8078CB8
-
- thumb_func_start sub_8078D78
-sub_8078D78: @ 8078D78
- push {r4,lr}
- movs r0, 0
- bl sub_807A19C
- ldr r4, =gUnknown_0203229C
- ldr r0, [r4]
- adds r0, 0x6F
- movs r1, 0x64
- strb r1, [r0]
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08078DAC
- ldr r0, =0x0000aabb
- ldr r1, [r4]
- adds r1, 0x35
- ldrb r1, [r1]
- bl sub_8078C10
- b _08078DB4
- .pool
-_08078DAC:
- ldr r0, [r4]
- adds r0, 0x78
- movs r1, 0x1
- strb r1, [r0]
-_08078DB4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8078D78
-
- thumb_func_start sub_8078DBC
-sub_8078DBC: @ 8078DBC
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gMain
- ldrh r1, [r0, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08078DE4
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x35
- movs r1, 0
- bl sub_8078CB8
- b _08078E30
- .pool
-_08078DE4:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08078E00
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x35
- movs r1, 0x1
- bl sub_8078CB8
- b _08078E30
- .pool
-_08078E00:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08078E1C
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x35
- movs r1, 0x2
- bl sub_8078CB8
- b _08078E30
- .pool
-_08078E1C:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08078E30
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x35
- movs r1, 0x3
- bl sub_8078CB8
-_08078E30:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08078EE4
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_0203229C
- ldr r0, [r4]
- adds r0, 0x35
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _08078E98
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0x1
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, =gUnknown_0832DEAC
- movs r0, 0x1
- movs r1, 0x2
- bl PrintMenuTable
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, [r4]
- adds r0, 0x6F
- movs r1, 0x1
- strb r1, [r0]
- b _08078EE4
- .pool
-_08078E98:
- cmp r0, 0xB
- bhi _08078EB6
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, [r4]
- adds r0, 0x6F
- movs r1, 0x2
- strb r1, [r0]
- b _08078EE4
-_08078EB6:
- cmp r0, 0xC
- bne _08078EE4
- ldr r0, =gUnknown_0832DF8C
- movs r1, 0x1
- movs r2, 0xE
- movs r3, 0
- bl CreateYesNoMenu
- ldr r0, [r4]
- adds r0, 0x6F
- movs r1, 0x4
- strb r1, [r0]
- ldr r0, =gUnknown_0832DE94
- ldr r0, [r0, 0x10]
- ldr r1, [r4]
- adds r1, 0x72
- ldrh r1, [r1]
- lsls r1, 5
- ldr r2, =0x06010000
- adds r1, r2
- movs r2, 0x18
- bl sub_807A308
-_08078EE4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8078DBC
-
- thumb_func_start sub_8078EF8
-sub_8078EF8: @ 8078EF8
- push {lr}
- bl sub_8079F74
- ldr r3, =gUnknown_0203229C
- ldr r0, [r3]
- adds r0, 0x6F
- movs r1, 0
- strb r1, [r0]
- ldr r2, =gSprites
- ldr r0, [r3]
- adds r0, 0x34
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldr r0, =gUnknown_0832DE94
- ldr r0, [r0, 0x4]
- ldr r1, [r3]
- adds r1, 0x72
- ldrh r1, [r1]
- lsls r1, 5
- ldr r2, =0x06010000
- adds r1, r2
- movs r2, 0x18
- bl sub_807A308
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8078EF8
-
- thumb_func_start sub_8078F50
-sub_8078F50: @ 8078F50
- push {lr}
- sub sp, 0x4
- bl Menu_ProcessInputNoWrap
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _08078F72
- cmp r0, r1
- ble _0807902A
- cmp r0, 0
- beq _08078F7E
- cmp r0, 0x1
- beq _08078F9C
- b _0807902A
-_08078F72:
- movs r0, 0x5
- bl PlaySE
- bl sub_8078EF8
- b _0807902A
-_08078F7E:
- str r0, [sp]
- adds r0, r1, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0x2
- b _08079028
- .pool
-_08078F9C:
- ldr r0, =gPlayerParty
- ldr r1, =gPlayerPartyCount
- ldrb r1, [r1]
- ldr r2, =gUnknown_0203229C
- ldr r2, [r2]
- adds r2, 0x35
- ldrb r2, [r2]
- bl sub_807A5F4
- cmp r0, 0x5
- bhi _0807902A
- lsls r0, 2
- ldr r1, =_08078FCC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08078FCC:
- .4byte _08078FE4
- .4byte _0807900C
- .4byte _08079012
- .4byte _08079018
- .4byte _08079012
- .4byte _08079018
-_08078FE4:
- bl sub_8078D78
- ldr r2, =gSprites
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x34
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- b _08079028
- .pool
-_0807900C:
- movs r0, 0x3
- movs r1, 0x3
- b _0807901C
-_08079012:
- movs r0, 0x3
- movs r1, 0x6
- b _0807901C
-_08079018:
- movs r0, 0x3
- movs r1, 0x7
-_0807901C:
- bl sub_807A048
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0x8
-_08079028:
- strb r1, [r0]
-_0807902A:
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8078F50
-
- thumb_func_start sub_8079034
-sub_8079034: @ 8079034
- push {lr}
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0807904A
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08079054
-_0807904A:
- movs r0, 0x5
- bl PlaySE
- bl sub_8078EF8
-_08079054:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079034
-
- thumb_func_start sub_807905C
-sub_807905C: @ 807905C
- push {lr}
- sub sp, 0x4
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080790C4
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r3, r0, 0
- adds r3, 0x35
- ldrb r2, [r3]
- cmp r2, 0x5
- bhi _080790A4
- ldr r1, =gPlayerParty
- ldrb r2, [r3]
- adds r0, 0x36
- ldrb r3, [r0]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =sub_8077B74
- str r0, [sp]
- movs r0, 0x1
- bl ShowPokemonSummaryScreen
- b _080790C0
- .pool
-_080790A4:
- ldr r1, =gEnemyParty
- subs r2, 0x6
- lsls r2, 24
- lsrs r2, 24
- adds r0, 0x37
- ldrb r3, [r0]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =sub_8077B74
- str r0, [sp]
- movs r0, 0x1
- bl ShowPokemonSummaryScreen
-_080790C0:
- bl FreeAllWindowBuffers
-_080790C4:
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807905C
-
- thumb_func_start sub_80790D4
-sub_80790D4: @ 80790D4
- push {r4-r7,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- movs r5, 0
- movs r3, 0
- ldr r7, =gEnemyParty
- cmp r5, r1
- bge _08079102
-_080790EE:
- cmp r2, r3
- beq _080790FC
- adds r0, r4, r3
- ldrb r0, [r0]
- adds r0, r5, r0
- lsls r0, 24
- lsrs r5, r0, 24
-_080790FC:
- adds r3, 0x1
- cmp r3, r1
- blt _080790EE
-_08079102:
- adds r0, r6, 0
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0x64
- muls r0, r6
- adds r7, r0, r7
- adds r0, r7, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0xCD
- lsls r0, 1
- cmp r4, r0
- beq _0807912C
- cmp r4, 0x97
- bne _08079138
-_0807912C:
- adds r0, r7, 0
- movs r1, 0x50
- bl GetMonData
- cmp r0, 0
- beq _08079158
-_08079138:
- bl IsNationalPokedexEnabled
- cmp r0, 0
- bne _08079164
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x57
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- bne _08079158
- adds r0, r4, 0
- bl IsSpeciesInHoennDex
- cmp r0, 0
- bne _08079164
-_08079158:
- movs r0, 0x2
- b _0807916C
- .pool
-_08079164:
- cmp r5, 0
- beq _0807916A
- movs r5, 0x1
-_0807916A:
- adds r0, r5, 0
-_0807916C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80790D4
-
- thumb_func_start sub_8079174
-sub_8079174: @ 8079174
- push {r4,r5,lr}
- sub sp, 0xC
- movs r2, 0
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- adds r3, r1, 0
- adds r3, 0x36
- adds r5, r0, 0
- ldrb r0, [r3]
- cmp r2, r0
- bge _080791A0
- adds r4, r1, 0
- adds r4, 0x45
-_0807918E:
- mov r1, sp
- adds r0, r1, r2
- adds r1, r4, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- ldrb r0, [r3]
- cmp r2, r0
- blt _0807918E
-_080791A0:
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0x36
- ldrb r1, [r1]
- adds r2, r0, 0
- adds r2, 0x35
- ldrb r2, [r2]
- adds r0, 0x7E
- ldrb r3, [r0]
- mov r0, sp
- bl sub_80790D4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080791E8
- cmp r0, 0x1
- bgt _080791D0
- cmp r0, 0
- beq _080791D6
- b _0807920C
- .pool
-_080791D0:
- cmp r0, 0x2
- beq _08079200
- b _0807920C
-_080791D6:
- movs r0, 0x3
- movs r1, 0x3
- bl sub_807A048
- ldr r0, =0x0000bbcc
- b _080791F2
- .pool
-_080791E8:
- movs r0, 0x3
- movs r1, 0x1
- bl sub_807A048
- ldr r0, =0x0000bbbb
-_080791F2:
- movs r1, 0
- bl sub_8078C10
- b _0807920C
- .pool
-_08079200:
- movs r0, 0x3
- movs r1, 0x8
- bl sub_807A048
- movs r0, 0x1
- b _0807920E
-_0807920C:
- movs r0, 0
-_0807920E:
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8079174
-
- thumb_func_start sub_8079218
-sub_8079218: @ 8079218
- push {lr}
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0807923A
- cmp r1, 0
- bgt _08079234
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08079268
- b _08079290
-_08079234:
- cmp r1, 0x1
- beq _08079268
- b _08079290
-_0807923A:
- bl sub_8079174
- cmp r0, 0
- bne _08079250
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0x64
- b _08079258
- .pool
-_08079250:
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0x11
-_08079258:
- strb r1, [r0]
- movs r0, 0x11
- bl PutWindowTilemap
- b _08079290
- .pool
-_08079268:
- movs r0, 0x3
- movs r1, 0x1
- bl sub_807A048
- bl sub_80771BC
- cmp r0, 0
- beq _08079280
- ldr r0, =0x0000bbcc
- movs r1, 0
- bl sub_8078C10
-_08079280:
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0x64
- strb r1, [r0]
- movs r0, 0x11
- bl PutWindowTilemap
-_08079290:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079218
-
- thumb_func_start sub_807929C
-sub_807929C: @ 807929C
- push {r4-r6,lr}
- movs r5, 0
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x37
- ldrb r0, [r0]
- subs r0, 0x4
- cmp r5, r0
- bge _080792D8
- movs r6, 0xC0
- lsls r6, 20
-_080792B2:
- lsrs r4, r6, 24
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x1
- bl CopyWindowToVram
- movs r0, 0x80
- lsls r0, 17
- adds r6, r0
- adds r5, 0x1
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x37
- ldrb r0, [r0]
- subs r0, 0x4
- cmp r5, r0
- blt _080792B2
-_080792D8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807929C
-
- thumb_func_start sub_80792E4
-sub_80792E4: @ 80792E4
- push {lr}
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08079306
- cmp r1, 0
- bgt _08079300
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0807934C
- b _08079356
-_08079300:
- cmp r1, 0x1
- beq _0807934C
- b _08079356
-_08079306:
- movs r0, 0x4
- bl sub_807A19C
- ldr r0, =0x0000eeaa
- movs r1, 0
- bl sub_8078C10
- ldr r2, =gSprites
- ldr r3, =gUnknown_0203229C
- ldr r0, [r3]
- adds r0, 0x34
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r3]
- adds r0, 0x6F
- movs r1, 0x64
- strb r1, [r0]
- bl sub_807929C
- b _08079356
- .pool
-_0807934C:
- movs r0, 0x5
- bl PlaySE
- bl sub_8078EF8
-_08079356:
- pop {r0}
- bx r0
- thumb_func_end sub_80792E4
-
- thumb_func_start sub_807935C
-sub_807935C: @ 807935C
- push {r4,lr}
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _08079384
- movs r0, 0
- bl rbox_fill_rectangle
- ldr r4, =gUnknown_0203229C
- ldr r0, [r4]
- adds r0, 0x35
- ldrb r0, [r0]
- bl sub_807967C
- ldr r0, [r4]
- adds r0, 0x7E
- ldrb r0, [r0]
- bl sub_807967C
-_08079384:
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0x7
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807935C
-
- thumb_func_start sub_8079398
-sub_8079398: @ 8079398
- push {r4,lr}
- ldr r4, =gUnknown_0203229C
- ldr r0, [r4]
- adds r0, 0x74
- ldrh r1, [r0]
- ldr r0, =0x00000505
- cmp r1, r0
- bne _080793B4
- bl sub_80787B8
- ldr r0, [r4]
- adds r0, 0x6F
- movs r1, 0xE
- strb r1, [r0]
-_080793B4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079398
-
- thumb_func_start sub_80793C4
-sub_80793C4: @ 80793C4
- push {r4,lr}
- ldr r4, =gUnknown_0203229C
- ldr r1, [r4]
- adds r1, 0xA8
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x78
- bls _080793F8
- ldr r0, =gUnknown_0832DF8C
- movs r1, 0x1
- movs r2, 0xE
- movs r3, 0
- bl CreateYesNoMenu
- ldr r0, [r4]
- adds r0, 0xA8
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x6F
- movs r1, 0x3
- strb r1, [r0]
-_080793F8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80793C4
-
- thumb_func_start sub_8079408
-sub_8079408: @ 8079408
- push {r4-r6,lr}
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0807947C
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl rbox_fill_rectangle
- movs r0, 0x1
- bl rbox_fill_rectangle
- movs r6, 0
- movs r5, 0xE0
- lsls r5, 20
-_0807942E:
- lsrs r4, r5, 24
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r4, 0
- bl rbox_fill_rectangle
- movs r0, 0x80
- lsls r0, 17
- adds r5, r0
- adds r6, 0x1
- cmp r6, 0x3
- ble _0807942E
- movs r0, 0
- bl sub_8079F88
- movs r0, 0x1
- bl sub_8079F88
- ldr r2, =gUnknown_0203229C
- ldr r0, [r2]
- adds r0, 0x6F
- movs r1, 0
- strb r1, [r0]
- ldr r3, =gSprites
- ldr r0, [r2]
- adds r0, 0x34
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_0807947C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079408
-
- thumb_func_start sub_8079490
-sub_8079490: @ 8079490
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080794C4
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _080794B4
- bl sub_800ADF8
- b _080794BA
- .pool
-_080794B4:
- movs r0, 0xC
- bl sub_800ABF4
-_080794BA:
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0xC
- strb r1, [r0]
-_080794C4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079490
-
- thumb_func_start sub_80794CC
-sub_80794CC: @ 80794CC
- push {lr}
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08079518
- bl sub_80771BC
- cmp r0, 0
- beq _0807953A
- bl sub_807A09C
- cmp r0, 0
- bne _0807953A
- ldr r0, =gUnknown_02032184
- ldr r0, [r0]
- bl Free
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- bl Free
- bl FreeAllWindowBuffers
- bl sub_800E084
- ldr r0, =c2_8056854
- bl SetMainCallback2
- b _0807953A
- .pool
-_08079518:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807953A
- ldr r0, =gUnknown_02032184
- ldr r0, [r0]
- bl Free
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- bl Free
- bl FreeAllWindowBuffers
- ldr r0, =c2_8056854
- bl SetMainCallback2
-_0807953A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80794CC
-
- thumb_func_start sub_8079550
-sub_8079550: @ 8079550
- push {lr}
- movs r0, 0
- bl sub_801048C
- lsls r0, 24
- cmp r0, 0
- bne _08079574
- bl sub_807A09C
- cmp r0, 0
- bne _08079574
- bl sub_800ADF8
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0xD
- strb r1, [r0]
-_08079574:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079550
-
- thumb_func_start sub_807957C
-sub_807957C: @ 807957C
- push {lr}
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0807959C
- ldr r0, =0x0000bbcc
- movs r1, 0
- bl sub_8078C10
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0x64
- strb r1, [r0]
-_0807959C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807957C
-
- thumb_func_start sub_80795AC
-sub_80795AC: @ 80795AC
- push {lr}
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- ldrb r0, [r0]
- cmp r0, 0x11
- bhi _08079678
- lsls r0, 2
- ldr r1, =_080795CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080795CC:
- .4byte _08079614
- .4byte _0807961A
- .4byte _08079620
- .4byte _08079626
- .4byte _0807962C
- .4byte _08079678
- .4byte _08079632
- .4byte _08079638
- .4byte _0807963E
- .4byte _08079644
- .4byte _0807964A
- .4byte _08079650
- .4byte _08079656
- .4byte _0807965C
- .4byte _08079662
- .4byte _08079668
- .4byte _0807966E
- .4byte _08079674
-_08079614:
- bl sub_8078DBC
- b _08079678
-_0807961A:
- bl sub_8078F50
- b _08079678
-_08079620:
- bl sub_807905C
- b _08079678
-_08079626:
- bl sub_8079218
- b _08079678
-_0807962C:
- bl sub_80792E4
- b _08079678
-_08079632:
- bl sub_807935C
- b _08079678
-_08079638:
- bl sub_8079398
- b _08079678
-_0807963E:
- bl sub_8079408
- b _08079678
-_08079644:
- bl sub_8078130
- b _08079678
-_0807964A:
- bl sub_807816C
- b _08079678
-_08079650:
- bl sub_8079490
- b _08079678
-_08079656:
- bl sub_80794CC
- b _08079678
-_0807965C:
- bl sub_80781C8
- b _08079678
-_08079662:
- bl sub_80793C4
- b _08079678
-_08079668:
- bl sub_8079034
- b _08079678
-_0807966E:
- bl sub_8079550
- b _08079678
-_08079674:
- bl sub_807957C
-_08079678:
- pop {r0}
- bx r0
- thumb_func_end sub_80795AC
-
- thumb_func_start sub_807967C
-sub_807967C: @ 807967C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r3, =gUnknown_0203229C
- ldr r0, [r3]
- adds r0, 0x74
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _080796A8
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0x76
- adds r0, r2
- strb r4, [r0]
-_080796A8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807967C
-
- thumb_func_start sub_80796B4
-sub_80796B4: @ 80796B4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x68
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_0203229C
- ldr r4, [r0]
- adds r0, r4, 0
- adds r0, 0x76
- adds r0, r7
- ldrb r0, [r0]
- movs r1, 0x1
- str r1, [sp, 0x60]
- cmp r0, 0x5
- bhi _080796DC
- movs r2, 0
- str r2, [sp, 0x60]
-_080796DC:
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- movs r0, 0
- mov r8, r0
- adds r0, r4, 0
- adds r0, 0x74
- adds r3, r0, r7
- ldrb r0, [r3]
- cmp r0, 0x2
- bne _080796FA
- b _08079884
-_080796FA:
- cmp r0, 0x2
- bgt _08079708
- cmp r0, 0x1
- beq _08079716
- b _08079A24
- .pool
-_08079708:
- cmp r0, 0x3
- bne _0807970E
- b _080798BC
-_0807970E:
- cmp r0, 0x4
- bne _08079714
- b _080799EC
-_08079714:
- b _08079A24
-_08079716:
- movs r5, 0
- adds r0, r4, 0
- adds r0, 0x36
- adds r0, r7
- ldr r1, [sp, 0x60]
- lsls r1, 1
- mov r9, r1
- lsls r6, r7, 1
- lsls r2, r7, 4
- str r2, [sp, 0x64]
- ldrb r0, [r0]
- cmp r8, r0
- bcs _0807976A
- ldr r0, =gSprites
- mov r8, r0
- ldr r4, =gUnknown_0203229C
- ldr r0, [sp, 0x60]
- add r0, r9
- lsls r2, r0, 1
- movs r3, 0x4
-_0807973E:
- ldr r0, [r4]
- adds r1, r5, r2
- adds r0, 0x28
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r4]
- adds r0, 0x36
- adds r0, r7
- ldrb r0, [r0]
- cmp r5, r0
- bcc _0807973E
-_0807976A:
- movs r5, 0
- adds r0, r6, r7
- lsls r0, 1
- adds r4, r0, 0x2
-_08079772:
- lsls r0, r5, 24
- asrs r0, 24
- adds r0, r4
- lsls r0, 24
- lsrs r0, 24
- bl ClearWindowTilemap
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _08079772
- ldr r1, =gSprites
- mov r8, r1
- ldr r2, =gUnknown_0203229C
- ldr r0, [r2]
- ldr r6, [sp, 0x60]
- add r6, r9
- lsls r3, r6, 1
- add r10, r3
- adds r0, 0x28
- add r0, r10
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldr r0, =gUnknown_0203229C
- ldr r4, [r0]
- adds r4, 0x28
- add r4, r10
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- movs r1, 0x14
- strh r1, [r0, 0x2E]
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- add r2, r8
- ldr r5, =gUnknown_0832DE24
- lsls r6, 2
- adds r0, r6, r5
- ldrb r0, [r0]
- adds r3, 0x1
- lsls r3, 1
- adds r3, r5
- ldrb r1, [r3]
- adds r0, r1
- asrs r0, 1
- lsls r0, 3
- adds r0, 0xE
- strh r0, [r2, 0x32]
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- adds r5, 0x1
- adds r6, r5
- ldrb r0, [r6]
- lsls r0, 3
- subs r0, 0xC
- strh r0, [r1, 0x36]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- ldr r1, =sub_80D3014
- bl StoreSpriteCallbackInData6
- ldr r2, =gUnknown_0203229C
- ldr r1, [r2]
- adds r1, 0x74
- adds r1, r7
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, 0x28
- add r0, r10
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- bl sub_80A6DEC
- ldr r1, =gTradePartyBoxTilemap
- ldr r0, [sp, 0x64]
- subs r2, r0, r7
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0xF
- str r0, [sp]
- movs r0, 0x11
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r3, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r1, [sp, 0x60]
- cmp r1, 0
- beq _08079868
- b _08079A24
-_08079868:
- bl sub_8079F74
- b _08079A24
- .pool
-_08079884:
- ldr r2, =gSprites
- ldr r1, [sp, 0x60]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- add r0, r10
- adds r1, r4, 0
- adds r1, 0x28
- adds r1, r0
- ldrb r1, [r1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =sub_80D3014
- cmp r1, r0
- beq _080798AC
- b _08079A24
-_080798AC:
- movs r0, 0x3
- strb r0, [r3]
- b _08079A24
- .pool
-_080798BC:
- ldr r1, =gTradeMovesBoxTilemap
- ldr r0, [sp, 0x60]
- lsls r2, r0, 4
- subs r2, r0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0xF
- str r0, [sp]
- movs r0, 0x11
- str r0, [sp, 0x4]
- mov r0, r8
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r3, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- ldr r6, =gSprites
- ldr r1, =gUnknown_0203229C
- ldr r4, [r1]
- ldr r2, [sp, 0x60]
- lsls r3, r2, 1
- adds r3, r2
- lsls r1, r3, 1
- mov r2, r10
- adds r0, r2, r1
- adds r4, 0x28
- adds r4, r0
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r6
- ldr r5, =gUnknown_0832DE24
- lsls r3, 2
- adds r0, r3, r5
- ldrb r0, [r0]
- adds r1, 0x1
- lsls r1, 1
- adds r1, r5
- ldrb r1, [r1]
- adds r0, r1
- asrs r0, 1
- lsls r0, 3
- adds r0, 0xE
- strh r0, [r2, 0x20]
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r5, 0x1
- adds r3, r5
- ldrb r0, [r3]
- lsls r0, 3
- subs r0, 0xC
- strh r0, [r1, 0x22]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r1, r8
- strh r1, [r0, 0x24]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r2, r8
- strh r2, [r0, 0x26]
- add r0, sp, 0x14
- ldr r1, [sp, 0x60]
- mov r2, r10
- bl sub_8079A3C
- lsls r4, r7, 1
- adds r5, r4, 0
- adds r5, 0xE
- lsls r5, 24
- lsrs r5, 24
- lsls r0, 24
- asrs r0, 24
- movs r2, 0x50
- subs r2, r0
- lsrs r0, r2, 31
- adds r2, r0
- asrs r2, 1
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_0832DEE0
- mov r8, r0
- str r0, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- add r0, sp, 0x14
- str r0, [sp, 0x8]
- adds r0, r5, 0
- movs r3, 0x4
- bl AddTextPrinterParameterized3
- add r6, sp, 0x28
- adds r0, r6, 0
- ldr r1, [sp, 0x60]
- mov r2, r10
- bl sub_8079AA4
- adds r4, 0xF
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- mov r2, r8
- str r2, [sp, 0x8]
- str r1, [sp, 0xC]
- str r6, [sp, 0x10]
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0
- bl AddTextPrinterParameterized4
- adds r0, r5, 0
- bl PutWindowTilemap
- adds r0, r5, 0
- movs r1, 0x3
- bl CopyWindowToVram
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _08079A1A
- .pool
-_080799EC:
- ldr r0, =gUnknown_0832DF99
- lsls r1, r7, 1
- adds r4, r1, r0
- ldrb r2, [r4]
- adds r2, 0x4
- lsls r2, 24
- lsrs r2, 24
- adds r0, 0x1
- adds r1, r0
- ldrb r3, [r1]
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4]
- str r0, [sp]
- ldrb r0, [r1]
- str r0, [sp, 0x4]
- adds r0, r7, 0
- mov r1, r10
- bl sub_8079C4C
- ldr r2, =gUnknown_0203229C
- ldr r1, [r2]
-_08079A1A:
- adds r1, 0x74
- adds r1, r7
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08079A24:
- add sp, 0x68
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80796B4
-
- thumb_func_start sub_8079A3C
-sub_8079A3C: @ 8079A3C
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r1, 24
- lsls r2, 24
- lsrs r2, 24
- cmp r1, 0
- bne _08079A64
- movs r0, 0x64
- muls r0, r2
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- b _08079A74
- .pool
-_08079A64:
- movs r0, 0x64
- muls r0, r2
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
-_08079A74:
- adds r0, r4, 0
- mov r1, sp
- bl StringCopy10
- movs r0, 0
- movs r1, 0x2
- bl GetFontAttribute
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0
- adds r1, r4, 0
- bl GetStringWidth
- lsls r0, 24
- lsrs r0, 24
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8079A3C
-
- thumb_func_start sub_8079AA4
-sub_8079AA4: @ 8079AA4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- adds r6, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 1
- adds r0, r2, r0
- adds r1, 0x51
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _08079B5C
- movs r4, 0
- movs r0, 0x64
- adds r5, r2, 0
- muls r5, r0
- ldr r0, =gPlayerParty
- mov r9, r0
- ldr r2, =gEnemyParty
- mov r8, r2
-_08079ADE:
- cmp r7, 0
- bne _08079AF8
- adds r1, r4, 0
- adds r1, 0xD
- mov r2, r9
- b _08079AFE
- .pool
-_08079AF8:
- adds r1, r4, 0
- adds r1, 0xD
- mov r2, r8
-_08079AFE:
- adds r0, r5, r2
- movs r2, 0
- bl GetMonData
- lsls r1, r4, 1
- add r1, sp
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _08079ADE
- ldr r1, =gText_EmptyString7
- adds r0, r6, 0
- bl StringCopy
- movs r4, 0
-_08079B20:
- lsls r0, r4, 1
- mov r2, sp
- adds r1, r2, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _08079B3C
- adds r1, r0, 0
- movs r0, 0xD
- muls r1, r0
- ldr r0, =gMoveNames
- adds r1, r0
- adds r0, r6, 0
- bl StringAppend
-_08079B3C:
- adds r0, r6, 0
- ldr r1, =gText_NewLine3
- bl StringAppend
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _08079B20
- b _08079B6C
- .pool
-_08079B5C:
- ldr r1, =gText_EmptyString7
- adds r0, r6, 0
- bl StringCopy
- ldr r1, =gText_FourQuestionMarks
- adds r0, r6, 0
- bl StringAppend
-_08079B6C:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079AA4
-
- thumb_func_start sub_8079B84
-sub_8079B84: @ 8079B84
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- adds r1, 0x2
- lsls r4, 24
- asrs r4, 24
- adds r4, r1
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- adds r1, r5, 0
- movs r2, 0x40
- bl GetStringCenterAlignXOffset
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_0832DEE0
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0
- movs r3, 0x4
- bl AddTextPrinterParameterized3
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079B84
-
- thumb_func_start sub_8079BE0
-sub_8079BE0: @ 8079BE0
- push {r4-r7,lr}
- sub sp, 0x34
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r7, =gEnemyParty
- cmp r6, 0
- bne _08079BF0
- ldr r7, =gPlayerParty
-_08079BF0:
- movs r4, 0
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x36
- adds r0, r6
- ldrb r0, [r0]
- cmp r4, r0
- bcs _08079C36
- add r5, sp, 0x14
-_08079C02:
- movs r0, 0x64
- muls r0, r4
- adds r0, r7, r0
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- adds r0, r5, 0
- mov r1, sp
- bl StringCopy10
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8079B84
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x36
- adds r0, r6
- ldrb r0, [r0]
- cmp r4, r0
- bcc _08079C02
-_08079C36:
- add sp, 0x34
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079BE0
-
- thumb_func_start sub_8079C4C
-sub_8079C4C: @ 8079C4C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r4, [sp, 0x3C]
- ldr r5, [sp, 0x40]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r3, 24
- lsrs r3, 24
- mov r10, r3
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gUnknown_08DDD704
- movs r0, 0x6
- str r0, [sp]
- movs r0, 0x3
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x1
- adds r2, r4, 0
- adds r3, r5, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- mov r0, r8
- cmp r0, 0
- bne _08079CB0
- movs r0, 0x64
- muls r0, r7
- ldr r1, =gPlayerParty
- b _08079CB6
- .pool
-_08079CB0:
- movs r0, 0x64
- muls r0, r7
- ldr r1, =gEnemyParty
-_08079CB6:
- adds r0, r1
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, =gUnknown_0203229C
- ldr r5, [r4]
- mov r1, r8
- lsls r2, r1, 1
- adds r1, r2, r1
- lsls r1, 1
- adds r1, r7, r1
- adds r0, r5, 0
- adds r0, 0x51
- adds r0, r1
- ldrb r0, [r0]
- str r2, [sp, 0x18]
- cmp r0, 0
- bne _08079D34
- adds r0, r6, 0
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 24
- lsrs r2, r0, 24
- mov r0, r10
- lsls r3, r0, 5
- cmp r2, 0
- beq _08079D08
- mov r1, r9
- adds r0, r1, r3
- lsls r0, 1
- movs r1, 0x8F
- lsls r1, 4
- adds r5, r1
- adds r1, r5, r0
- adds r0, r2, 0
- adds r0, 0x60
- strh r0, [r1]
-_08079D08:
- ldr r4, [r4]
- mov r1, r9
- adds r0, r1, r3
- adds r0, 0x1
- lsls r0, 1
- movs r3, 0x8F
- lsls r3, 4
- adds r4, r3
- adds r4, r0
- adds r0, r6, 0
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x70
- strh r0, [r4]
- b _08079D72
- .pool
-_08079D34:
- mov r1, r10
- lsls r0, r1, 5
- mov r1, r9
- adds r3, r1, r0
- adds r1, r3, 0
- subs r1, 0x20
- lsls r1, 1
- movs r0, 0x8F
- lsls r0, 4
- adds r2, r5, r0
- adds r1, r2, r1
- adds r0, r3, 0
- subs r0, 0x21
- lsls r0, 1
- adds r0, r2, r0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, r3, 0
- subs r1, 0x1F
- lsls r1, 1
- adds r1, r2, r1
- adds r0, r3, 0
- subs r0, 0x24
- lsls r0, 1
- adds r2, r0
- ldrh r2, [r2]
- movs r3, 0x80
- lsls r3, 3
- adds r0, r3, 0
- orrs r0, r2
- strh r0, [r1]
-_08079D72:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- ldr r0, [sp, 0x18]
- add r0, r8
- lsls r0, 1
- adds r0, r7, r0
- adds r1, 0x51
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _08079D94
- movs r2, 0x90
- lsls r2, 3
- b _08079E16
- .pool
-_08079D94:
- mov r0, r8
- cmp r0, 0
- bne _08079DC0
- movs r0, 0x64
- adds r4, r7, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- bl GetMonGender
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- movs r1, 0x2
- add r2, sp, 0xC
- bl GetMonData
- b _08079DDE
- .pool
-_08079DC0:
- movs r0, 0x64
- adds r4, r7, 0
- muls r4, r0
- ldr r0, =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- bl GetMonGender
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- movs r1, 0x2
- add r2, sp, 0xC
- bl GetMonData
-_08079DDE:
- cmp r5, 0
- beq _08079DF0
- cmp r5, 0xFE
- beq _08079E04
- movs r2, 0x83
- b _08079E16
- .pool
-_08079DF0:
- add r0, sp, 0xC
- movs r1, 0
- bl NameHasGenderSymbol
- lsls r0, 24
- movs r2, 0x83
- cmp r0, 0
- bne _08079E16
- movs r2, 0x84
- b _08079E16
-_08079E04:
- add r0, sp, 0xC
- movs r1, 0xFE
- bl NameHasGenderSymbol
- lsls r0, 24
- movs r2, 0x83
- cmp r0, 0
- bne _08079E16
- movs r2, 0x85
-_08079E16:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- mov r0, r10
- subs r0, 0x1
- lsls r0, 5
- add r0, r9
- adds r0, 0x1
- lsls r0, 1
- movs r3, 0x8F
- lsls r3, 4
- adds r1, r3
- adds r1, r0
- strh r2, [r1]
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079C4C
-
- thumb_func_start sub_8079E44
-sub_8079E44: @ 8079E44
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- movs r7, 0
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x36
- adds r0, r6
- ldrb r0, [r0]
- cmp r7, r0
- bge _08079E94
- lsls r0, r6, 1
- adds r0, r6
- ldr r1, =gUnknown_0832DE3E
- lsls r0, 2
- adds r5, r0, r1
- ldr r1, =gUnknown_0832DE56
- adds r4, r0, r1
-_08079E6A:
- lsls r1, r7, 24
- lsrs r1, 24
- ldrb r2, [r5]
- ldrb r3, [r5, 0x1]
- ldrb r0, [r4]
- str r0, [sp]
- ldrb r0, [r4, 0x1]
- str r0, [sp, 0x4]
- adds r0, r6, 0
- bl sub_8079C4C
- adds r5, 0x2
- adds r4, 0x2
- adds r7, 0x1
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x36
- adds r0, r6
- ldrb r0, [r0]
- cmp r7, r0
- blt _08079E6A
-_08079E94:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079E44
-
- thumb_func_start sub_8079EA8
-sub_8079EA8: @ 8079EA8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- movs r7, 0
- ldr r3, =gUnknown_0203229C
- ldr r0, [r3]
- adds r0, 0x36
- add r0, r12
- ldrb r0, [r0]
- cmp r7, r0
- bge _08079F5A
- ldr r6, =gSprites
- mov r9, r3
- mov r1, r12
- lsls r0, r1, 1
- add r0, r12
- lsls r2, r0, 1
- mov r10, r2
- ldr r1, =gUnknown_0832DE24
- movs r2, 0
- mov r8, r2
- lsls r0, 2
- adds r5, r0, r1
-_08079EE0:
- mov r1, r9
- ldr r0, [r1]
- mov r2, r10
- adds r4, r7, r2
- adds r0, 0x28
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- mov r0, r9
- ldr r3, [r0]
- adds r2, r3, 0
- adds r2, 0x28
- adds r2, r4
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r5]
- lsls r0, 3
- adds r0, 0xE
- strh r0, [r1, 0x20]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r5, 0x1]
- lsls r0, 3
- subs r0, 0xC
- strh r0, [r1, 0x22]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r1, r8
- strh r1, [r0, 0x24]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r2, r8
- strh r2, [r0, 0x26]
- adds r5, 0x2
- adds r7, 0x1
- adds r3, 0x36
- add r3, r12
- ldrb r3, [r3]
- cmp r7, r3
- blt _08079EE0
-_08079F5A:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079EA8
-
- thumb_func_start sub_8079F74
-sub_8079F74: @ 8079F74
- push {lr}
- movs r0, 0x1
- bl rbox_fill_rectangle
- movs r0, 0x1
- bl sub_8079BE0
- pop {r0}
- bx r0
- thumb_func_end sub_8079F74
-
- thumb_func_start sub_8079F88
-sub_8079F88: @ 8079F88
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gTradePartyBoxTilemap
- lsls r2, r4, 4
- subs r2, r4
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0xF
- str r0, [sp]
- movs r0, 0x11
- str r0, [sp, 0x4]
- movs r6, 0
- str r6, [sp, 0x8]
- movs r0, 0x1
- movs r3, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- adds r0, r4, 0
- bl sub_8079E44
- adds r0, r4, 0
- bl sub_8079BE0
- adds r0, r4, 0
- bl sub_8079EA8
- ldr r0, =gUnknown_0832DE94
- ldr r0, [r0, 0x4]
- ldr r5, =gUnknown_0203229C
- ldr r1, [r5]
- adds r1, 0x72
- ldrh r1, [r1]
- lsls r1, 5
- ldr r2, =0x06010000
- adds r1, r2
- movs r2, 0x18
- bl sub_807A308
- ldr r0, [r5]
- adds r0, 0x74
- adds r0, r4
- strb r6, [r0]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079F88
-
- thumb_func_start sub_807A000
-sub_807A000: @ 807A000
- push {lr}
- sub sp, 0x8
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_807A000
-
- thumb_func_start sub_807A024
-sub_807A024: @ 807A024
- push {lr}
- sub sp, 0x8
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_807A024
-
- thumb_func_start sub_807A048
-sub_807A048: @ 807A048
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 24
- lsrs r6, r1, 24
- movs r3, 0
- ldr r4, =gUnknown_0203229C
- mov r12, r4
- movs r7, 0x8D
- lsls r7, 4
-_0807A05C:
- mov r1, r12
- ldr r0, [r1]
- lsls r1, r3, 3
- adds r2, r0, r1
- adds r0, r2, r7
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807A090
- ldr r3, =0x000008d2
- adds r0, r2, r3
- strh r5, [r0]
- adds r3, 0x2
- adds r0, r2, r3
- strb r6, [r0]
- ldr r0, [r4]
- adds r0, r1
- movs r1, 0x8D
- lsls r1, 4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- b _0807A096
- .pool
-_0807A090:
- adds r3, 0x1
- cmp r3, 0x3
- ble _0807A05C
-_0807A096:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_807A048
-
- thumb_func_start sub_807A09C
-sub_807A09C: @ 807A09C
- push {lr}
- movs r3, 0
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- movs r2, 0x8D
- lsls r2, 4
- adds r1, r0, r2
- movs r2, 0x3
-_0807A0AC:
- ldrb r0, [r1]
- adds r3, r0
- adds r1, 0x8
- subs r2, 0x1
- cmp r2, 0
- bge _0807A0AC
- adds r0, r3, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_807A09C
-
- thumb_func_start sub_807A0C4
-sub_807A0C4: @ 807A0C4
- push {r4,r5,lr}
- movs r4, 0
- ldr r3, =gUnknown_0203229C
-_0807A0CA:
- ldr r0, [r3]
- lsls r1, r4, 3
- adds r2, r0, r1
- movs r5, 0x8D
- lsls r5, 4
- adds r0, r2, r5
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0
- beq _0807A18C
- ldr r0, =0x000008d2
- adds r1, r2, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _0807A0F8
- subs r0, 0x1
- strh r0, [r1]
- b _0807A18C
- .pool
-_0807A0F8:
- ldr r1, =0x000008d4
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x8
- bhi _0807A17A
- lsls r0, 2
- ldr r1, =_0807A114
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807A114:
- .4byte _0807A138
- .4byte _0807A14C
- .4byte _0807A154
- .4byte _0807A15C
- .4byte _0807A15C
- .4byte _0807A15C
- .4byte _0807A164
- .4byte _0807A16C
- .4byte _0807A174
-_0807A138:
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x80
- movs r1, 0x14
- bl sub_8077170
- b _0807A17A
- .pool
-_0807A14C:
- movs r0, 0
- bl sub_807A19C
- b _0807A17A
-_0807A154:
- movs r0, 0x2
- bl sub_807A19C
- b _0807A17A
-_0807A15C:
- movs r0, 0x3
- bl sub_807A19C
- b _0807A17A
-_0807A164:
- movs r0, 0x6
- bl sub_807A19C
- b _0807A17A
-_0807A16C:
- movs r0, 0x7
- bl sub_807A19C
- b _0807A17A
-_0807A174:
- movs r0, 0x8
- bl sub_807A19C
-_0807A17A:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- adds r1, r5
- movs r2, 0x8D
- lsls r2, 4
- adds r1, r2
- movs r2, 0
- strb r2, [r1]
- adds r3, r0, 0
-_0807A18C:
- adds r4, 0x1
- cmp r4, 0x3
- ble _0807A0CA
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807A0C4
-
- thumb_func_start sub_807A19C
-sub_807A19C: @ 807A19C
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, =gUnknown_0832DEBC
- lsls r4, 2
- adds r4, r0
- ldr r2, [r4]
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0
- movs r1, 0x14
- movs r2, 0xC
- bl sub_8098858
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807A19C
-
- thumb_func_start sub_807A1F0
-sub_807A1F0: @ 807A1F0
- push {r4,lr}
- sub sp, 0x8
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- adds r3, r1, 0
- adds r3, 0xA8
- ldrb r1, [r3]
- adds r4, r0, 0
- cmp r1, 0xD
- bhi _0807A22C
- ldr r1, =gUnknown_02032188
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp]
- ldr r0, =0xffff0000
- ldr r2, [sp, 0x4]
- ands r2, r0
- movs r0, 0x80
- lsls r0, 1
- orrs r2, r0
- str r2, [sp, 0x4]
- ldrb r1, [r3]
- adds r1, 0xC8
- lsls r1, 16
- ldr r0, =0x0000ffff
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x4]
-_0807A22C:
- ldr r0, [r4]
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x11
- bhi _0807A2FC
- lsls r0, 2
- ldr r1, =_0807A254
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807A254:
- .4byte _0807A29C
- .4byte _0807A29C
- .4byte _0807A29C
- .4byte _0807A29C
- .4byte _0807A29C
- .4byte _0807A29C
- .4byte _0807A29C
- .4byte _0807A29C
- .4byte _0807A2A0
- .4byte _0807A2B8
- .4byte _0807A2B8
- .4byte _0807A2B8
- .4byte _0807A2B8
- .4byte _0807A2B8
- .4byte _0807A2BC
- .4byte _0807A2C8
- .4byte _0807A2D4
- .4byte _0807A2F0
-_0807A29C:
- mov r0, sp
- b _0807A2D6
-_0807A2A0:
- mov r0, sp
- bl LoadSpriteSheet
- ldr r1, =gUnknown_0203229C
- ldr r1, [r1]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- b _0807A2DE
- .pool
-_0807A2B8:
- mov r0, sp
- b _0807A2D6
-_0807A2BC:
- ldr r0, =gSpritePalette_TradeScreenText
- bl LoadSpritePalette
- b _0807A2DA
- .pool
-_0807A2C8:
- ldr r0, =gUnknown_0832DC44
- bl LoadSpritePalette
- b _0807A2DA
- .pool
-_0807A2D4:
- ldr r0, =gUnknown_0832DC3C
-_0807A2D6:
- bl LoadSpriteSheet
-_0807A2DA:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
-_0807A2DE:
- adds r1, 0xA8
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0807A2FC
- .pool
-_0807A2F0:
- ldr r0, [r4]
- adds r0, 0xA8
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _0807A2FE
-_0807A2FC:
- movs r0, 0
-_0807A2FE:
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_807A1F0
-
- thumb_func_start sub_807A308
-sub_807A308: @ 807A308
- push {lr}
- sub sp, 0x4
- movs r2, 0x6
- str r2, [sp]
- movs r2, 0
- movs r3, 0
- bl sub_80C6D80
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_807A308
-
- thumb_func_start sub_807A320
-sub_807A320: @ 807A320
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0
- beq _0807A338
- cmp r0, 0x1
- beq _0807A3CC
- b _0807A458
-_0807A338:
- movs r7, 0
- ldr r1, =gUnknown_0203229C
- ldr r0, [r1]
- adds r0, 0x36
- ldrb r0, [r0]
- cmp r7, r0
- blt _0807A348
- b _0807A458
-_0807A348:
- adds r6, r1, 0
- movs r5, 0
- mov r9, r5
-_0807A34E:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0x1
- bne _0807A380
- ldr r0, [r6]
- adds r0, 0x45
- adds r0, r5
- mov r2, r9
- strb r2, [r0]
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- b _0807A3B0
- .pool
-_0807A380:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0
- bne _0807A39E
- ldr r0, [r6]
- adds r0, 0x45
- adds r0, r5
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- b _0807A3B0
-_0807A39E:
- ldr r0, [r6]
- adds r0, 0x45
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- mov r1, r9
-_0807A3B0:
- strb r1, [r0]
- ldr r0, =gUnknown_0203229C
- adds r5, 0x1
- adds r7, 0x1
- ldr r0, [r0]
- adds r0, 0x36
- add r0, r8
- ldrb r0, [r0]
- cmp r7, r0
- blt _0807A34E
- b _0807A458
- .pool
-_0807A3CC:
- movs r7, 0
- ldr r1, =gUnknown_0203229C
- ldr r0, [r1]
- adds r0, 0x37
- ldrb r0, [r0]
- cmp r7, r0
- bge _0807A458
- adds r6, r1, 0
- movs r5, 0x6
- movs r2, 0
- mov r9, r2
-_0807A3E2:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, =gEnemyParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0x1
- bne _0807A414
- ldr r0, [r6]
- adds r0, 0x45
- adds r0, r5
- mov r2, r9
- strb r2, [r0]
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- b _0807A444
- .pool
-_0807A414:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0
- bne _0807A432
- ldr r0, [r6]
- adds r0, 0x45
- adds r0, r5
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- b _0807A444
-_0807A432:
- ldr r0, [r6]
- adds r0, 0x45
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- mov r1, r9
-_0807A444:
- strb r1, [r0]
- ldr r0, =gUnknown_0203229C
- adds r5, 0x1
- adds r7, 0x1
- ldr r0, [r0]
- adds r0, 0x36
- add r0, r8
- ldrb r0, [r0]
- cmp r7, r0
- blt _0807A3E2
-_0807A458:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807A320
-
- thumb_func_start sub_807A468
-sub_807A468: @ 807A468
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0807A478
- cmp r0, 0x1
- beq _0807A4D8
- b _0807A52C
-_0807A478:
- movs r6, 0
- ldr r1, =gUnknown_0203229C
- ldr r0, [r1]
- adds r0, 0x36
- ldrb r0, [r0]
- cmp r6, r0
- bcs _0807A52C
- adds r7, r1, 0
-_0807A488:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r0, r5, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl GetHPBarLevel
- ldr r1, [r7]
- adds r1, 0x5D
- adds r1, r6
- strb r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, [r7]
- adds r0, 0x36
- ldrb r0, [r0]
- cmp r6, r0
- bcc _0807A488
- b _0807A52C
- .pool
-_0807A4D8:
- movs r6, 0
- ldr r1, =gUnknown_0203229C
- ldr r0, [r1]
- adds r0, 0x37
- ldrb r0, [r0]
- cmp r6, r0
- bcs _0807A52C
- adds r7, r1, 0
-_0807A4E8:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r0, r5, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl GetHPBarLevel
- ldr r1, [r7]
- adds r1, 0x63
- adds r1, r6
- strb r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, [r7]
- adds r0, 0x37
- ldrb r0, [r0]
- cmp r6, r0
- bcc _0807A4E8
-_0807A52C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807A468
-
- thumb_func_start sub_807A53C
-sub_807A53C: @ 807A53C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r5, 0
-_0807A544:
- movs r4, 0
- ldr r2, =gUnknown_0203229C
- ldr r0, [r2]
- adds r0, 0x36
- adds r0, r5
- adds r1, r5, 0x1
- mov r8, r1
- ldrb r0, [r0]
- cmp r4, r0
- bge _0807A596
- adds r6, r2, 0
- lsls r0, r5, 1
- adds r0, r5
- lsls r7, r0, 1
-_0807A560:
- ldr r2, [r6]
- adds r3, r4, r7
- adds r0, r2, 0
- adds r0, 0x28
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- adds r2, 0x5D
- adds r2, r3
- ldrb r2, [r2]
- movs r1, 0x4
- subs r1, r2
- lsls r1, 24
- lsrs r1, 24
- bl sub_80D32C8
- adds r4, 0x1
- ldr r0, [r6]
- adds r0, 0x36
- adds r0, r5
- ldrb r0, [r0]
- cmp r4, r0
- blt _0807A560
-_0807A596:
- mov r5, r8
- cmp r5, 0x1
- ble _0807A544
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807A53C
-
- thumb_func_start sub_807A5B0
-sub_807A5B0: @ 807A5B0
- push {r4,r5,lr}
- movs r3, 0
- ldr r5, =gSaveBlock1Ptr
- ldr r4, =0x000031a8
-_0807A5B8:
- ldr r0, [r5]
- adds r0, r4
- adds r2, r0, r3
- ldrb r0, [r2]
- cmp r0, 0
- bne _0807A5DA
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0xA9
- adds r0, r3
- ldrb r0, [r0]
- adds r1, r0, 0
- cmp r1, 0
- beq _0807A5DA
- cmp r1, 0x3F
- bhi _0807A5DA
- strb r0, [r2]
-_0807A5DA:
- adds r3, 0x1
- cmp r3, 0xA
- ble _0807A5B8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807A5B0
-
- thumb_func_start sub_807A5F4
-sub_807A5F4: @ 807A5F4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x30
- mov r8, r0
- adds r7, r1, 0
- mov r9, r2
- movs r5, 0
- cmp r5, r7
- bge _0807A62E
- mov r6, sp
-_0807A60C:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- add r4, r8
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- str r0, [r6, 0x18]
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- stm r6!, {r0}
- adds r5, 0x1
- cmp r5, r7
- blt _0807A60C
-_0807A62E:
- bl IsNationalPokedexEnabled
- mov r1, r9
- lsls r4, r1, 2
- cmp r0, 0
- bne _0807A65C
- add r0, sp, 0x18
- adds r0, r4
- ldr r1, [r0]
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bne _0807A64C
- movs r0, 0x3
- b _0807A718
-_0807A64C:
- lsls r0, r1, 16
- lsrs r0, 16
- bl IsSpeciesInHoennDex
- cmp r0, 0
- bne _0807A65C
- movs r0, 0x2
- b _0807A718
-_0807A65C:
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, =gLinkPlayers
- adds r1, r0
- ldrb r0, [r1]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _0807A6AC
- ldrb r1, [r1, 0x12]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _0807A6AC
- add r0, sp, 0x18
- adds r0, r4
- ldr r1, [r0]
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bne _0807A6A0
- movs r0, 0x5
- b _0807A718
- .pool
-_0807A6A0:
- lsls r0, r1, 16
- lsrs r0, 16
- bl IsSpeciesInHoennDex
- cmp r0, 0
- beq _0807A6D2
-_0807A6AC:
- mov r1, sp
- adds r0, r1, r4
- ldr r1, [r0]
- movs r0, 0xCD
- lsls r0, 1
- cmp r1, r0
- beq _0807A6BE
- cmp r1, 0x97
- bne _0807A6D6
-_0807A6BE:
- movs r0, 0x64
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- add r0, r8
- movs r1, 0x50
- bl GetMonData
- cmp r0, 0
- bne _0807A6D6
-_0807A6D2:
- movs r0, 0x4
- b _0807A718
-_0807A6D6:
- cmp r7, 0
- ble _0807A6F4
- movs r3, 0xCE
- lsls r3, 1
- movs r2, 0
- add r1, sp, 0x18
- adds r5, r7, 0
-_0807A6E4:
- ldr r0, [r1]
- cmp r0, r3
- bne _0807A6EC
- str r2, [r1]
-_0807A6EC:
- adds r1, 0x4
- subs r5, 0x1
- cmp r5, 0
- bne _0807A6E4
-_0807A6F4:
- movs r2, 0
- movs r5, 0
- cmp r2, r7
- bge _0807A70E
- add r1, sp, 0x18
-_0807A6FE:
- cmp r5, r9
- beq _0807A706
- ldr r0, [r1]
- adds r2, r0
-_0807A706:
- adds r1, 0x4
- adds r5, 0x1
- cmp r5, r7
- blt _0807A6FE
-_0807A70E:
- cmp r2, 0
- bne _0807A716
- movs r0, 0x1
- b _0807A718
-_0807A716:
- movs r0, 0
-_0807A718:
- add sp, 0x30
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_807A5F4
-
- thumb_func_start sub_807A728
-sub_807A728: @ 807A728
- push {r4-r7,lr}
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807A7B4
- movs r4, 0
- bl GetMultiplayerId
- ldr r5, =gLinkPlayers
- movs r7, 0x1
- eors r0, r7
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r1, [r1]
- subs r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bls _0807A7B4
- subs r0, r1, 0x4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _0807A762
- movs r4, 0x2
-_0807A762:
- cmp r4, 0
- ble _0807A7B4
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r1, [r1, 0x12]
- movs r6, 0xF0
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0807A7B0
- cmp r4, 0x2
- bne _0807A7B4
- bl GetMultiplayerId
- eors r0, r7
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r1, [r1, 0x12]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _0807A7B4
- movs r0, 0x2
- b _0807A7B6
- .pool
-_0807A7B0:
- movs r0, 0x1
- b _0807A7B6
-_0807A7B4:
- movs r0, 0
-_0807A7B6:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_807A728
-
- thumb_func_start sub_807A7BC
-sub_807A7BC: @ 807A7BC
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0xCD
- lsls r0, 1
- cmp r2, r0
- beq _0807A7D2
- cmp r2, 0x97
- bne _0807A7DA
-_0807A7D2:
- cmp r1, 0
- bne _0807A7DA
- movs r0, 0x1
- b _0807A7DC
-_0807A7DA:
- movs r0, 0
-_0807A7DC:
- pop {r1}
- bx r1
- thumb_func_end sub_807A7BC
-
- thumb_func_start sub_807A7E0
-sub_807A7E0: @ 807A7E0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, [sp, 0x20]
- ldr r5, [sp, 0x24]
- ldr r6, [sp, 0x28]
- lsls r2, 16
- lsrs r7, r2, 16
- lsls r3, 16
- lsrs r3, 16
- mov r8, r3
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 24
- lsrs r6, 24
- lsls r2, r0, 23
- lsrs r2, 31
- mov r9, r2
- lsls r0, 24
- lsrs r2, r0, 31
- lsls r0, r1, 23
- lsrs r0, 31
- mov r10, r0
- lsls r0, r1, 24
- lsrs r0, 31
- lsls r1, 18
- lsrs r1, 28
- cmp r1, 0x3
- beq _0807A832
- cmp r2, 0
- bne _0807A82A
- movs r0, 0x8
- b _0807A8C0
-_0807A82A:
- cmp r0, 0
- bne _0807A832
- movs r0, 0x9
- b _0807A8C0
-_0807A832:
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_807A7BC
- cmp r0, 0
- bne _0807A898
- movs r0, 0xCE
- lsls r0, 1
- cmp r8, r0
- bne _0807A84E
- cmp r7, r8
- beq _0807A86C
- movs r0, 0x2
- b _0807A8C0
-_0807A84E:
- ldr r0, =gBaseStats
- lsls r1, r7, 3
- subs r1, r7
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x6]
- cmp r0, r4
- beq _0807A86C
- ldrb r0, [r1, 0x7]
- cmp r0, r4
- beq _0807A86C
- movs r0, 0x1
- b _0807A8C0
- .pool
-_0807A86C:
- movs r0, 0xCE
- lsls r0, 1
- cmp r7, r0
- bne _0807A87C
- cmp r7, r8
- beq _0807A87C
- movs r0, 0x3
- b _0807A8C0
-_0807A87C:
- mov r0, r9
- cmp r0, 0
- bne _0807A8AA
- movs r0, 0xCE
- lsls r0, 1
- cmp r7, r0
- bne _0807A88E
- movs r0, 0x6
- b _0807A8C0
-_0807A88E:
- adds r0, r7, 0
- bl IsSpeciesInHoennDex
- cmp r0, 0
- bne _0807A89C
-_0807A898:
- movs r0, 0x4
- b _0807A8C0
-_0807A89C:
- mov r0, r8
- bl IsSpeciesInHoennDex
- cmp r0, 0
- bne _0807A8AA
- movs r0, 0x5
- b _0807A8C0
-_0807A8AA:
- mov r0, r10
- cmp r0, 0
- bne _0807A8BE
- adds r0, r7, 0
- bl IsSpeciesInHoennDex
- cmp r0, 0
- bne _0807A8BE
- movs r0, 0x7
- b _0807A8C0
-_0807A8BE:
- movs r0, 0
-_0807A8C0:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_807A7E0
-
- thumb_func_start sub_807A8D0
-sub_807A8D0: @ 807A8D0
- push {r4-r6,lr}
- lsls r1, 16
- lsrs r5, r1, 16
- adds r6, r5, 0
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 24
- lsrs r3, 24
- lsls r0, 23
- lsrs r4, r0, 31
- adds r0, r2, 0
- adds r1, r3, 0
- bl sub_807A7BC
- cmp r0, 0
- bne _0807A90A
- cmp r4, 0
- bne _0807A90E
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- bne _0807A900
- movs r0, 0x2
- b _0807A910
-_0807A900:
- adds r0, r6, 0
- bl IsSpeciesInHoennDex
- cmp r0, 0
- bne _0807A90E
-_0807A90A:
- movs r0, 0x1
- b _0807A910
-_0807A90E:
- movs r0, 0
-_0807A910:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_807A8D0
-
- thumb_func_start sub_807A918
-sub_807A918: @ 807A918
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- adds r6, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- movs r5, 0
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r5, r0
- bge _0807A95A
- mov r4, sp
-_0807A934:
- movs r0, 0x64
- muls r0, r5
- adds r0, r6, r0
- movs r1, 0x41
- bl GetMonData
- str r0, [r4]
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- bne _0807A94E
- movs r0, 0
- str r0, [r4]
-_0807A94E:
- adds r4, 0x4
- adds r5, 0x1
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r5, r0
- blt _0807A934
-_0807A95A:
- movs r7, 0
- movs r6, 0x1
- movs r5, 0
- ldr r4, =gLinkPlayers
- b _0807A980
- .pool
-_0807A96C:
- ldrb r0, [r4]
- subs r0, 0x4
- cmp r0, 0x1
- bhi _0807A978
- movs r7, 0
- b _0807A97C
-_0807A978:
- movs r0, 0x1
- orrs r7, r0
-_0807A97C:
- adds r4, 0x1C
- adds r5, 0x1
-_0807A980:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- blt _0807A96C
- movs r5, 0
- movs r4, 0
- b _0807A9B4
-_0807A992:
- ldr r0, =gLinkPlayers
- adds r2, r4, r0
- ldrb r1, [r2, 0x10]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _0807A9A2
- movs r6, 0
-_0807A9A2:
- cmp r7, 0
- beq _0807A9B0
- ldrb r0, [r2, 0x10]
- lsrs r0, 4
- cmp r0, 0
- beq _0807A9B0
- movs r6, 0
-_0807A9B0:
- adds r4, 0x1C
- adds r5, 0x1
-_0807A9B4:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- blt _0807A992
- cmp r6, 0
- bne _0807A9EA
- mov r1, r8
- lsls r0, r1, 2
- mov r1, sp
- adds r4, r1, r0
- ldrh r0, [r4]
- bl IsSpeciesInHoennDex
- cmp r0, 0
- bne _0807A9E0
- movs r0, 0x2
- b _0807AA1A
- .pool
-_0807A9E0:
- ldr r0, [r4]
- cmp r0, 0
- bne _0807A9EA
- movs r0, 0x3
- b _0807AA1A
-_0807A9EA:
- movs r2, 0
- movs r5, 0
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r2, r0
- bge _0807AA0A
- adds r3, r0, 0
- mov r1, sp
-_0807A9FA:
- cmp r8, r5
- beq _0807AA02
- ldr r0, [r1]
- adds r2, r0
-_0807AA02:
- adds r1, 0x4
- adds r5, 0x1
- cmp r5, r3
- blt _0807A9FA
-_0807AA0A:
- cmp r2, 0
- beq _0807AA18
- movs r0, 0
- b _0807AA1A
- .pool
-_0807AA18:
- movs r0, 0x1
-_0807AA1A:
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_807A918
-
- thumb_func_start sub_807AA28
-sub_807AA28: @ 807AA28
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _0807AA44
- movs r0, 0x17
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x2E]
-_0807AA44:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_807AA28
-
- thumb_func_start sub_807AA4C
-sub_807AA4C: @ 807AA4C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0807AA76
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _0807AA76
- movs r0, 0xC2
- bl PlaySE
- strh r5, [r4, 0x2E]
-_0807AA76:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_807AA4C
-
- thumb_func_start sub_807AA7C
-sub_807AA7C: @ 807AA7C
- push {lr}
- adds r2, r0, 0
- movs r0, 0x30
- ldrsh r1, [r2, r0]
- cmp r1, 0
- bne _0807AAB2
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bne _0807AA98
- strh r1, [r2, 0x2E]
-_0807AA98:
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- lsls r0, 1
- ldr r1, =gUnknown_08338EA4
- adds r0, r1
- ldrb r1, [r2, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- lsls r1, 4
- adds r1, 0x4
- movs r2, 0x2
- bl LoadPalette
-_0807AAB2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807AA7C
-
- thumb_func_start sub_807AABC
-sub_807AABC: @ 807AABC
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2E]
- adds r1, 0x1
- strh r1, [r2, 0x2E]
- ldrh r0, [r2, 0x26]
- adds r0, 0x1
- strh r0, [r2, 0x26]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0xA
- bne _0807AADA
- adds r0, r2, 0
- bl DestroySprite
-_0807AADA:
- pop {r0}
- bx r0
- thumb_func_end sub_807AABC
-
- thumb_func_start sub_807AAE0
-sub_807AAE0: @ 807AAE0
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2E]
- adds r1, 0x1
- strh r1, [r2, 0x2E]
- ldrh r0, [r2, 0x26]
- subs r0, 0x1
- strh r0, [r2, 0x26]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0xA
- bne _0807AAFE
- adds r0, r2, 0
- bl DestroySprite
-_0807AAFE:
- pop {r0}
- bx r0
- thumb_func_end sub_807AAE0
-
- thumb_func_start sub_807AB04
-sub_807AB04: @ 807AB04
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- bne _0807AB20
- movs r0, 0xCC
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x2E]
-_0807AB20:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_807AB04
-
- thumb_func_start sub_807AB28
-sub_807AB28: @ 807AB28
- push {r4,r5,lr}
- sub sp, 0x20
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- mov r12, r0
- adds r0, 0xD4
- ldrh r1, [r0]
- lsls r1, 8
- adds r0, 0x2
- ldrh r2, [r0]
- lsls r2, 8
- adds r0, 0x6
- movs r4, 0
- ldrsh r3, [r0, r4]
- adds r0, 0x2
- movs r5, 0
- ldrsh r0, [r0, r5]
- str r0, [sp]
- mov r4, r12
- adds r4, 0xE8
- movs r5, 0
- ldrsh r0, [r4, r5]
- str r0, [sp, 0x4]
- movs r5, 0
- ldrsh r0, [r4, r5]
- str r0, [sp, 0x8]
- mov r0, r12
- adds r0, 0xEC
- ldrh r0, [r0]
- str r0, [sp, 0xC]
- add r0, sp, 0x10
- bl DoBgAffineSet
- add r0, sp, 0x10
- ldrh r1, [r0]
- movs r0, 0x20
- bl SetGpuReg
- add r0, sp, 0x10
- ldrh r1, [r0, 0x2]
- movs r0, 0x22
- bl SetGpuReg
- add r0, sp, 0x10
- ldrh r1, [r0, 0x4]
- movs r0, 0x24
- bl SetGpuReg
- add r0, sp, 0x10
- ldrh r1, [r0, 0x6]
- movs r0, 0x26
- bl SetGpuReg
- ldr r1, [sp, 0x18]
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x28
- bl SetGpuReg
- ldr r1, [sp, 0x18]
- lsrs r1, 16
- movs r0, 0x2A
- bl SetGpuReg
- ldr r1, [sp, 0x1C]
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x2C
- bl SetGpuReg
- ldr r1, [sp, 0x1C]
- lsrs r1, 16
- movs r0, 0x2E
- bl SetGpuReg
- add sp, 0x20
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807AB28
-
- thumb_func_start sub_807ABCC
-sub_807ABCC: @ 807ABCC
- push {r4,lr}
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- adds r0, 0xE0
- ldrh r1, [r0]
- movs r0, 0x16
- bl SetGpuReg
- ldr r0, [r4]
- adds r0, 0xE2
- ldrh r1, [r0]
- movs r0, 0x14
- bl SetGpuReg
- movs r0, 0
- bl GetGpuReg
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- cmp r1, 0
- bne _0807AC18
- ldr r0, [r4]
- adds r0, 0xE4
- ldrh r1, [r0]
- movs r0, 0x1A
- bl SetGpuReg
- ldr r0, [r4]
- adds r0, 0xE6
- ldrh r1, [r0]
- movs r0, 0x18
- bl SetGpuReg
- b _0807AC1C
- .pool
-_0807AC18:
- bl sub_807AB28
-_0807AC1C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_807ABCC
-
- thumb_func_start sub_807AC24
-sub_807AC24: @ 807AC24
- push {lr}
- bl sub_807ABCC
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_807AC24
-
- thumb_func_start sub_807AC3C
-sub_807AC3C: @ 807AC3C
- push {r4,lr}
- ldr r3, =gUnknown_020322A0
- ldr r1, [r3]
- movs r0, 0x8A
- adds r0, r1
- mov r12, r0
- movs r2, 0
- movs r0, 0
- mov r4, r12
- strh r0, [r4]
- adds r1, 0x88
- strb r2, [r1]
- ldr r0, [r3]
- adds r0, 0x89
- strb r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807AC3C
-
- thumb_func_start sub_807AC64
-sub_807AC64: @ 807AC64
- push {r4,r5,lr}
- ldr r0, =gUnknown_020322A0
- ldr r2, [r0]
- adds r1, r2, 0
- adds r1, 0x88
- adds r3, r2, 0
- adds r3, 0x89
- ldrb r1, [r1]
- adds r5, r0, 0
- ldrb r3, [r3]
- cmp r1, r3
- bne _0807AC8C
- adds r1, r2, 0
- adds r1, 0x8A
- ldrh r0, [r1]
- adds r0, 0x1
- b _0807AC92
- .pool
-_0807AC8C:
- adds r1, r2, 0
- adds r1, 0x8A
- movs r0, 0
-_0807AC92:
- strh r0, [r1]
- adds r4, r5, 0
- ldr r0, [r4]
- adds r0, 0x8A
- ldrh r1, [r0]
- movs r0, 0x96
- lsls r0, 1
- cmp r1, r0
- bls _0807ACC4
- bl CloseLink
- ldr r0, =CB2_LinkError
- bl SetMainCallback2
- ldr r1, [r4]
- adds r3, r1, 0
- adds r3, 0x8A
- movs r2, 0
- movs r0, 0
- strh r0, [r3]
- adds r1, 0x89
- strb r2, [r1]
- ldr r0, [r4]
- adds r0, 0x88
- strb r2, [r0]
-_0807ACC4:
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0x88
- ldrb r1, [r1]
- adds r0, 0x89
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807AC64
-
- thumb_func_start sub_807ACDC
-sub_807ACDC: @ 807ACDC
- push {lr}
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807ACF0
- movs r0, 0
- b _0807ACF8
- .pool
-_0807ACF0:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
-_0807ACF8:
- pop {r1}
- bx r1
- thumb_func_end sub_807ACDC
-
- thumb_func_start sub_807ACFC
-sub_807ACFC: @ 807ACFC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- movs r4, 0
- mov r8, r4
- cmp r6, 0
- bne _0807AD22
- ldr r0, =gUnknown_02032298
- ldrb r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r1, r0
- mov r8, r1
- movs r4, 0x1
-_0807AD22:
- cmp r6, 0x1
- bne _0807AD40
- ldr r0, =gUnknown_02032298
- ldrb r0, [r0, 0x1]
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r1, r0
- ldr r0, =gEnemyParty
- adds r1, r0
- mov r8, r1
- movs r4, 0x3
-_0807AD40:
- cmp r5, 0
- beq _0807AD58
- cmp r5, 0x1
- beq _0807ADE0
- b _0807AE36
- .pool
-_0807AD58:
- mov r0, r8
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- mov r0, r8
- movs r1, 0
- bl GetMonData
- adds r7, r0, 0
- cmp r6, 0
- bne _0807AD94
- lsls r0, r5, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- ldr r1, [r1, 0x8]
- adds r2, r5, 0
- adds r3, r7, 0
- bl HandleLoadSpecialPokePic_2
- movs r4, 0
- b _0807ADB2
- .pool
-_0807AD94:
- lsls r0, r5, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r2, [r1]
- lsls r4, r6, 1
- adds r1, r4, 0x1
- lsls r1, 2
- adds r2, 0x4
- adds r2, r1
- ldr r1, [r2]
- adds r2, r5, 0
- adds r3, r7, 0
- bl HandleLoadSpecialPokePic_DontHandleDeoxys
-_0807ADB2:
- mov r0, r8
- bl GetMonSpritePalStruct
- bl LoadCompressedObjectPalette
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xF0
- adds r0, r4
- strh r5, [r0]
- lsls r0, r6, 2
- adds r1, 0x68
- adds r1, r0
- str r7, [r1]
- b _0807AE36
- .pool
-_0807ADE0:
- mov r0, r8
- bl GetMonSpritePalStruct
- ldrh r0, [r0, 0x4]
- adds r1, r4, 0
- bl SetMultiuseSpriteTemplateToPokemon
- ldr r0, =gMultiuseSpriteTemplate
- movs r1, 0x78
- movs r2, 0x3C
- movs r3, 0x6
- bl CreateSprite
- ldr r4, =gUnknown_020322A0
- ldr r1, [r4]
- adds r1, 0x8E
- adds r1, r6
- strb r0, [r1]
- ldr r3, =gSprites
- ldr r0, [r4]
- adds r0, 0x8E
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x8E
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, 0x1C
- adds r0, r3
- ldr r1, =SpriteCallbackDummy
- str r1, [r0]
-_0807AE36:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807ACFC
-
- thumb_func_start sub_807AE50
-sub_807AE50: @ 807AE50
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0xC
- bls _0807AE66
- b _0807B116
-_0807AE66:
- lsls r0, 2
- ldr r1, =_0807AE78
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807AE78:
- .4byte _0807AEAC
- .4byte _0807AF58
- .4byte _0807AF9C
- .4byte _0807AFBC
- .4byte _0807B006
- .4byte _0807B034
- .4byte _0807B058
- .4byte _0807B070
- .4byte _0807B07A
- .4byte _0807B094
- .4byte _0807B0B0
- .4byte _0807B0D4
- .4byte _0807B0F0
-_0807AEAC:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807AEC0
- ldr r1, =gLinkType
- ldr r2, =0x00001144
- adds r0, r2, 0
- strh r0, [r1]
- bl CloseLink
-_0807AEC0:
- ldr r4, =gUnknown_020322A0
- movs r5, 0x80
- lsls r5, 1
- adds r0, r5, 0
- bl AllocZeroed
- str r0, [r4]
- bl AllocateMonSpritesGfx
- bl ResetTasks
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r0, =sub_807AC24
- bl SetVBlankCallback
- bl sub_807B170
- bl sub_807AC3C
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8C
- strh r2, [r0]
- adds r0, 0x8
- strh r2, [r0]
- adds r1, 0xEE
- movs r0, 0x1
- strb r0, [r1]
- ldr r3, [r4]
- adds r0, r3, 0
- adds r0, 0xD4
- movs r1, 0x40
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r1, r3, 0
- adds r1, 0xDC
- movs r0, 0x78
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x50
- strh r0, [r1]
- adds r0, r3, 0
- adds r0, 0xE8
- strh r5, [r0]
- adds r0, 0x4
- strh r2, [r0]
- b _0807B116
- .pool
-_0807AF58:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r5, [r0]
- cmp r5, 0
- bne _0807AF90
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- adds r0, 0xFA
- movs r1, 0x1
- strb r1, [r0]
- bl OpenLink
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r4]
- str r5, [r0, 0x64]
- b _0807B116
- .pool
-_0807AF90:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- movs r0, 0x4
- strb r0, [r1]
- b _0807B116
-_0807AF9C:
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x3C
- bhi _0807AFAC
- b _0807B116
-_0807AFAC:
- movs r0, 0
- str r0, [r1, 0x64]
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- b _0807B0E4
- .pool
-_0807AFBC:
- bl IsLinkMaster
- lsls r0, 24
- cmp r0, 0
- bne _0807AFC8
- b _0807B0DC
-_0807AFC8:
- bl GetLinkPlayerCount_2
- adds r4, r0, 0
- bl sub_800AA48
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bcc _0807B000
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x1E
- bhi _0807AFEA
- b _0807B116
-_0807AFEA:
- bl sub_800A620
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _0807B0E4
- .pool
-_0807B000:
- bl sub_807AC64
- b _0807B116
-_0807B006:
- bl sub_807AC64
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0807B014
- b _0807B116
-_0807B014:
- bl IsLinkPlayerDataExchangeComplete
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0807B022
- b _0807B116
-_0807B022:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _0807B0E4
- .pool
-_0807B034:
- ldr r2, =gUnknown_020322A0
- ldr r0, [r2]
- adds r0, 0x72
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x73
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x93
- strb r1, [r0]
- movs r0, 0
- bl sub_807ACFC
- b _0807B0DC
- .pool
-_0807B058:
- movs r0, 0
- movs r1, 0x1
- bl sub_807ACFC
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _0807B0E4
- .pool
-_0807B070:
- movs r0, 0x1
- movs r1, 0
- bl sub_807ACFC
- b _0807B0DC
-_0807B07A:
- movs r0, 0x1
- movs r1, 0x1
- bl sub_807ACFC
- bl sub_807B154
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _0807B0E4
- .pool
-_0807B094:
- bl sub_807BA94
- ldr r0, =gUnknown_08338D18
- bl LoadSpriteSheet
- ldr r0, =gUnknown_08338D20
- bl LoadSpritePalette
- b _0807B0DC
- .pool
-_0807B0B0:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0
- bl ShowBg
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _0807B0E4
- .pool
-_0807B0D4:
- bl sub_807B140
- bl sub_807BAD8
-_0807B0DC:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
-_0807B0E4:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0807B116
- .pool
-_0807B0F0:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0807B116
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807B110
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
-_0807B110:
- ldr r0, =sub_807EA2C
- bl SetMainCallback2
-_0807B116:
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807AE50
-
- thumb_func_start sub_807B140
-sub_807B140: @ 807B140
- push {lr}
- movs r0, 0x5
- bl sub_807B62C
- movs r0, 0
- bl sub_807B62C
- pop {r0}
- bx r0
- thumb_func_end sub_807B140
-
- thumb_func_start sub_807B154
-sub_807B154: @ 807B154
- push {lr}
- movs r0, 0
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_807B154
-
- thumb_func_start sub_807B170
-sub_807B170: @ 807B170
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x4
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_08339014
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r5, 0x80
- lsls r5, 4
- adds r0, r5, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0
- bl SetBgTilemapBuffer
- adds r0, r5, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- adds r0, r5, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- bl DeactivateAllTextPrinters
- ldr r0, =gBattleTextboxTiles
- mov r10, r0
- movs r0, 0
- mov r9, r0
- str r0, [sp]
- mov r1, r10
- movs r2, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
- ldr r0, =gBattleTextboxTilemap
- mov r8, r0
- ldr r4, =gDecompressionBuffer
- adds r1, r4, 0
- bl LZDecompressWram
- movs r0, 0
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r6, =gBattleTextboxPalette
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r0, =gUnknown_08338FFC
- bl InitWindows
- mov r0, r9
- str r0, [sp]
- movs r0, 0
- mov r1, r10
- movs r2, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
- mov r0, r8
- adds r1, r4, 0
- bl LZDecompressWram
- movs r0, 0
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807B170
-
- thumb_func_start sub_807B270
-sub_807B270: @ 807B270
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xC
- bls _0807B288
- b _0807B43E
-_0807B288:
- lsls r0, 2
- ldr r1, =_0807B29C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807B29C:
- .4byte _0807B2D0
- .4byte _0807B43E
- .4byte _0807B43E
- .4byte _0807B43E
- .4byte _0807B43E
- .4byte _0807B3AC
- .4byte _0807B3B6
- .4byte _0807B3C0
- .4byte _0807B3D0
- .4byte _0807B3F0
- .4byte _0807B40C
- .4byte _0807B414
- .4byte _0807B438
-_0807B2D0:
- ldr r1, =gUnknown_02032298
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- movs r6, 0
- strb r0, [r1]
- movs r0, 0x6
- strb r0, [r1, 0x1]
- ldr r4, =gLinkPlayers + 8
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringCopy
- ldr r5, =gEnemyParty
- adds r0, r5, 0
- movs r1, 0x7
- mov r2, sp
- bl GetMonData
- adds r0, r4, 0
- adds r0, 0x1C
- mov r1, sp
- bl StringCopy
- subs r4, 0x8
- movs r0, 0
- mov r8, r0
- movs r0, 0x2
- strh r0, [r4, 0x1A]
- adds r0, r5, 0
- movs r1, 0x3
- bl GetMonData
- strh r0, [r4, 0x36]
- ldr r4, =gUnknown_020322A0
- movs r5, 0x80
- lsls r5, 1
- adds r0, r5, 0
- bl AllocZeroed
- str r0, [r4]
- bl AllocateMonSpritesGfx
- bl ResetTasks
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r0, =sub_807AC24
- bl SetVBlankCallback
- bl sub_807B170
- ldr r0, [r4]
- adds r0, 0xEE
- mov r1, r8
- strb r1, [r0]
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x8C
- strh r6, [r0]
- adds r0, 0x8
- strh r6, [r0]
- adds r0, 0x40
- movs r1, 0x40
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r6, [r0]
- adds r0, 0x2
- strh r6, [r0]
- adds r1, r2, 0
- adds r1, 0xDC
- movs r0, 0x78
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x50
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0xE8
- strh r5, [r0]
- adds r0, 0x4
- strh r6, [r0]
- str r6, [r2, 0x64]
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x5
- strb r1, [r0]
- b _0807B43E
- .pool
-_0807B3AC:
- movs r0, 0
- movs r1, 0
- bl sub_807ACFC
- b _0807B424
-_0807B3B6:
- movs r0, 0
- movs r1, 0x1
- bl sub_807ACFC
- b _0807B424
-_0807B3C0:
- movs r0, 0x1
- movs r1, 0
- bl sub_807ACFC
- movs r0, 0
- bl ShowBg
- b _0807B424
-_0807B3D0:
- movs r0, 0x1
- movs r1, 0x1
- bl sub_807ACFC
- movs r0, 0
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- b _0807B424
-_0807B3F0:
- bl sub_807BA94
- ldr r0, =gUnknown_08338D18
- bl LoadSpriteSheet
- ldr r0, =gUnknown_08338D20
- bl LoadSpritePalette
- b _0807B424
- .pool
-_0807B40C:
- movs r0, 0
- bl ShowBg
- b _0807B424
-_0807B414:
- movs r0, 0x5
- bl sub_807B62C
- movs r0, 0
- bl sub_807B62C
- bl sub_807BAD8
-_0807B424:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0807B43E
- .pool
-_0807B438:
- ldr r0, =sub_807B60C
- bl SetMainCallback2
-_0807B43E:
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807B270
-
- thumb_func_start sub_807B464
-sub_807B464: @ 807B464
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0807B4B8
- adds r0, r5, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- adds r0, r4, 0
- bl SpeciesToNationalPokedexNum
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0x2
- bl GetSetPokedexFlag
- adds r0, r4, 0
- movs r1, 0x3
- adds r2, r5, 0
- bl HandleSetPokedexFlag
-_0807B4B8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807B464
-
- thumb_func_start sub_807B4C4
-sub_807B4C4: @ 807B4C4
- push {lr}
- bl GetMultiplayerId
- pop {r0}
- bx r0
- thumb_func_end sub_807B4C4
-
- thumb_func_start sub_807B4D0
-sub_807B4D0: @ 807B4D0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r4, 24
- lsrs r4, 24
- movs r5, 0x64
- mov r1, r9
- muls r1, r5
- ldr r0, =gPlayerParty
- adds r7, r1, r0
- adds r0, r7, 0
- movs r1, 0x40
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- adds r1, r4, 0
- muls r1, r5
- ldr r0, =gEnemyParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x40
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r6, 0xFF
- beq _0807B52A
- ldr r0, =gSaveBlock1Ptr
- lsls r1, r6, 3
- adds r1, r6
- lsls r1, 2
- ldr r2, =0x00002be0
- adds r1, r2
- ldr r0, [r0]
- adds r0, r1
- bl ClearMailStruct
-_0807B52A:
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- adds r1, r7, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0x64
- bl memcpy
- ldr r1, [r4]
- adds r0, r5, 0
- movs r2, 0x64
- bl memcpy
- movs r1, 0x46
- mov r0, sp
- strb r1, [r0]
- adds r0, r7, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0807B566
- adds r0, r7, 0
- movs r1, 0x20
- mov r2, sp
- bl SetMonData
-_0807B566:
- mov r0, r8
- cmp r0, 0xFF
- beq _0807B57C
- lsls r1, r0, 3
- add r1, r8
- lsls r1, 2
- ldr r0, =gUnknown_020321C0
- adds r1, r0
- adds r0, r7, 0
- bl GiveMailToMon2
-_0807B57C:
- mov r0, r9
- bl sub_807B464
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807B58E
- bl sub_807B4C4
-_0807B58E:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807B4D0
-
- thumb_func_start sub_807B5B8
-sub_807B5B8: @ 807B5B8
- push {r4,lr}
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- adds r0, 0x93
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0807B5D0
- cmp r0, 0x2
- beq _0807B5F6
- b _0807B600
- .pool
-_0807B5D0:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _0807B5F6
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- adds r1, 0x74
- movs r2, 0x14
- bl SendBlock
- ldr r1, [r4]
- adds r1, 0x93
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0807B5F6:
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x93
- movs r1, 0
- strb r1, [r0]
-_0807B600:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807B5B8
-
- thumb_func_start sub_807B60C
-sub_807B60C: @ 807B60C
- push {lr}
- bl sub_807BBC8
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_807B60C
-
- thumb_func_start sub_807B62C
-sub_807B62C: @ 807B62C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x7
- bls _0807B638
- b _0807BA68
-_0807B638:
- lsls r0, 2
- ldr r1, =_0807B648
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807B648:
- .4byte _0807B668
- .4byte _0807B6DC
- .4byte _0807B784
- .4byte _0807B7F8
- .4byte _0807B840
- .4byte _0807B90C
- .4byte _0807B924
- .4byte _0807B9FC
-_0807B668:
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0xE4
- movs r0, 0
- strh r0, [r2]
- adds r1, 0xE6
- movs r0, 0xB4
- strh r0, [r1]
- movs r1, 0xAA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r1, =0x00005206
- movs r0, 0xC
- bl SetGpuReg
- ldr r0, =gTradeGba2_Pal
- movs r1, 0x10
- movs r2, 0x60
- bl LoadPalette
- ldr r3, =gTradeGba_Gfx
- ldr r4, =0x06004000
- movs r5, 0xA1
- lsls r5, 5
- ldr r1, =0x040000d4
- ldr r6, =0x80000800
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x80
- lsls r7, 24
-_0807B6AA:
- str r3, [r1]
- str r4, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r2
- adds r4, r2
- subs r5, r2
- cmp r5, r2
- bhi _0807B6AA
- b _0807BA4C
- .pool
-_0807B6DC:
- ldr r4, =gUnknown_020322A0
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0xE2
- movs r0, 0
- strh r0, [r1]
- adds r2, 0xE0
- movs r1, 0xAE
- lsls r1, 1
- strh r1, [r2]
- movs r0, 0x16
- bl SetGpuReg
- ldr r1, =0x00008502
- movs r0, 0xA
- bl SetGpuReg
- ldr r1, =0x00009206
- movs r0, 0xC
- bl SetGpuReg
- ldr r0, [r4]
- adds r0, 0xFA
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807B724
- ldr r1, =gUnknown_083369A0
- b _0807B726
- .pool
-_0807B724:
- ldr r1, =gUnknown_083359A0
-_0807B726:
- ldr r2, =0x06002800
- ldr r0, =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, =0x80000800
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r3, =gTradeGba_Gfx
- movs r4, 0xC0
- lsls r4, 19
- movs r5, 0xA1
- lsls r5, 5
- ldr r1, =0x040000d4
- ldr r6, =0x80000800
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x80
- lsls r7, 24
-_0807B74A:
- str r3, [r1]
- str r4, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r2
- adds r4, r2
- subs r5, r2
- cmp r5, r2
- bhi _0807B74A
- str r3, [r1]
- str r4, [r1, 0x4]
- lsrs r0, r5, 1
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r1, 0x92
- lsls r1, 5
- b _0807B820
- .pool
-_0807B784:
- ldr r0, =gUnknown_020322A0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xE0
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x18
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807B7C0
- ldr r1, =0x00001241
- movs r0, 0
- bl SetGpuReg
- ldr r0, =gUnknown_083379A0
- ldr r1, =0x06002800
- bl LZ77UnCompVram
- movs r0, 0x8
- b _0807B7DA
- .pool
-_0807B7C0:
- ldr r1, =0x00001241
- movs r0, 0
- bl SetGpuReg
- ldr r1, =gUnknown_0832FFC0
- ldr r2, =0x06002800
- ldr r0, =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, =0x80000400
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- movs r0, 0x1
-_0807B7DA:
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- b _0807BA68
- .pool
-_0807B7F8:
- ldr r0, =gUnknown_08337EA0
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_08337EC0
- ldr r1, =0x06004000
- bl LZ77UnCompVram
- ldr r0, =gUnknown_08338550
- ldr r1, =0x06009000
- bl LZ77UnCompVram
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0xE4
- movs r1, 0x50
- strh r1, [r0]
- movs r1, 0xB2
- lsls r1, 5
-_0807B820:
- movs r0, 0
- bl SetGpuReg
- b _0807BA68
- .pool
-_0807B840:
- ldr r1, =0x00001441
- movs r0, 0
- bl SetGpuReg
- ldr r1, =0x00001287
- movs r0, 0xC
- bl SetGpuReg
- ldr r0, =gUnknown_020322A0
- ldr r3, [r0]
- adds r1, r3, 0
- adds r1, 0xD4
- movs r2, 0
- movs r0, 0x40
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x5C
- strh r0, [r1]
- adds r1, 0x12
- movs r0, 0x20
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x80
- lsls r0, 3
- strh r0, [r1]
- adds r0, r3, 0
- adds r0, 0xEC
- strh r2, [r0]
- ldr r3, =gUnknown_08332F60
- ldr r4, =0x06004000
- movs r5, 0xA1
- lsls r5, 6
- ldr r1, =0x040000d4
- ldr r6, =0x80000800
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x80
- lsls r7, 24
-_0807B88C:
- str r3, [r1]
- str r4, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r2
- adds r4, r2
- subs r5, r2
- cmp r5, r2
- bhi _0807B88C
- str r3, [r1]
- str r4, [r1, 0x4]
- lsrs r0, r5, 1
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0xFA
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807B8EC
- ldr r1, =gUnknown_083357A0
- ldr r2, =0x06009000
- ldr r0, =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, =0x80000080
- b _0807BA64
- .pool
-_0807B8EC:
- ldr r1, =gUnknown_083358A0
- ldr r2, =0x06009000
- ldr r0, =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, =0x80000080
- b _0807BA64
- .pool
-_0807B90C:
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xE0
- movs r2, 0
- strh r2, [r1]
- adds r0, 0xE2
- strh r2, [r0]
- b _0807BA68
- .pool
-_0807B924:
- ldr r1, =0x00001441
- movs r0, 0
- bl SetGpuReg
- ldr r1, =0x00001287
- movs r0, 0xC
- bl SetGpuReg
- ldr r0, =gUnknown_020322A0
- ldr r3, [r0]
- adds r1, r3, 0
- adds r1, 0xD4
- movs r2, 0
- movs r0, 0x40
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x5C
- strh r0, [r1]
- adds r1, 0x12
- adds r0, 0xA4
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x80
- strh r0, [r1]
- subs r1, 0xE
- movs r0, 0x78
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x50
- strh r0, [r1]
- adds r0, r3, 0
- adds r0, 0xEC
- strh r2, [r0]
- ldr r3, =gUnknown_08332F60
- ldr r4, =0x06004000
- movs r5, 0xA1
- lsls r5, 6
- ldr r1, =0x040000d4
- ldr r6, =0x80000800
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x80
- lsls r7, 24
-_0807B97A:
- str r3, [r1]
- str r4, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r2
- adds r4, r2
- subs r5, r2
- cmp r5, r2
- bhi _0807B97A
- str r3, [r1]
- str r4, [r1, 0x4]
- lsrs r0, r5, 1
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0xFA
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807B9DC
- ldr r1, =gUnknown_083357A0
- ldr r2, =0x06009000
- ldr r0, =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, =0x80000080
- b _0807BA64
- .pool
-_0807B9DC:
- ldr r1, =gUnknown_083358A0
- ldr r2, =0x06009000
- ldr r0, =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, =0x80000080
- b _0807BA64
- .pool
-_0807B9FC:
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xE4
- movs r2, 0
- strh r2, [r1]
- adds r0, 0xE6
- strh r2, [r0]
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- ldr r1, =0x00005206
- movs r0, 0xC
- bl SetGpuReg
- ldr r0, =gTradeGba2_Pal
- movs r1, 0x10
- movs r2, 0x60
- bl LoadPalette
- ldr r3, =gTradeGba_Gfx
- ldr r4, =0x06004000
- movs r5, 0xA1
- lsls r5, 5
- ldr r1, =0x040000d4
- ldr r6, =0x80000800
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x80
- lsls r7, 24
-_0807BA3A:
- str r3, [r1]
- str r4, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r2
- adds r4, r2
- subs r5, r2
- cmp r5, r2
- bhi _0807BA3A
-_0807BA4C:
- str r3, [r1]
- str r4, [r1, 0x4]
- lsrs r0, r5, 1
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, =gUnknown_08331F60
- ldr r2, =0x06009000
- ldr r0, =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, =0x80000800
-_0807BA64:
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
-_0807BA68:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807B62C
-
- thumb_func_start sub_807BA94
-sub_807BA94: @ 807BA94
- push {lr}
- ldr r0, =gUnknown_08338D70
- bl LoadSpriteSheet
- ldr r0, =gUnknown_08338DC0
- bl LoadSpriteSheet
- ldr r0, =gUnknown_08338DF4
- bl LoadSpriteSheet
- ldr r0, =gUnknown_08338E6C
- bl LoadSpriteSheet
- ldr r0, =gUnknown_08338D78
- bl LoadSpritePalette
- ldr r0, =gUnknown_08338D80
- bl LoadSpritePalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807BA94
-
- thumb_func_start sub_807BAD8
-sub_807BAD8: @ 807BAD8
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0xEE
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807BB68
- bl GetMultiplayerId
- lsls r0, 24
- ldr r3, =gStringVar1
- movs r2, 0x80
- lsls r2, 17
- eors r2, r0
- lsrs r2, 24
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- ldr r0, =gLinkPlayers + 8
- adds r1, r0
- adds r0, r3, 0
- bl StringCopy
- ldr r5, =gUnknown_02032298
- ldrb r0, [r5, 0x1]
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0x64
- muls r0, r4
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- ldr r0, =gStringVar3
- mov r1, sp
- bl StringCopy10
- ldrb r0, [r5]
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- ldr r0, =gStringVar2
- mov r1, sp
- bl StringCopy10
- b _0807BBA4
- .pool
-_0807BB68:
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r4, r0, 4
- subs r4, r0
- lsls r4, 2
- ldr r0, =gIngameTrades
- adds r4, r0
- ldr r0, =gStringVar1
- adds r1, r4, 0
- adds r1, 0x2B
- bl StringCopy
- ldr r0, =gStringVar3
- adds r1, r4, 0
- bl StringCopy10
- ldr r0, =gSpecialVar_0x8005
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- ldr r0, =gStringVar2
- mov r1, sp
- bl StringCopy10
-_0807BBA4:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807BAD8
-
- thumb_func_start sub_807BBC8
-sub_807BBC8: @ 807BBC8
- push {lr}
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0xFA
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807BBE0
- bl sub_807CFC8
- b _0807BBE4
- .pool
-_0807BBE0:
- bl sub_807BBEC
-_0807BBE4:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_807BBC8
-
- thumb_func_start sub_807BBEC
-sub_807BBEC: @ 807BBEC
- push {r4-r7,lr}
- sub sp, 0x14
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- adds r1, 0x94
- ldrh r5, [r1]
- ldr r1, =0x0000010b
- adds r7, r0, 0
- cmp r5, r1
- bls _0807BC04
- bl _0807CFB4
-_0807BC04:
- lsls r0, r5, 2
- ldr r1, =_0807BC1C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807BC1C:
- .4byte _0807C04C
- .4byte _0807C0C4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807C120
- .4byte _0807C168
- .4byte _0807C1DC
- .4byte _0807CFB4
- .4byte _0807C248
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807C26C
- .4byte _0807C29C
- .4byte _0807C2AE
- .4byte _0807C2D0
- .4byte _0807C318
- .4byte _0807C348
- .4byte _0807C390
- .4byte _0807C3E0
- .4byte _0807C434
- .4byte _0807C4B8
- .4byte _0807C4DC
- .4byte _0807C528
- .4byte _0807C574
- .4byte _0807C5D0
- .4byte _0807C630
- .4byte _0807C644
- .4byte _0807C658
- .4byte _0807C66C
- .4byte _0807C794
- .4byte _0807C864
- .4byte _0807C8EC
- .4byte _0807C964
- .4byte _0807C974
- .4byte _0807C994
- .4byte _0807C9E4
- .4byte _0807CA02
- .4byte _0807CA40
- .4byte _0807CA50
- .4byte _0807CAC8
- .4byte _0807CFB4
- .4byte _0807CAF0
- .4byte _0807CB30
- .4byte _0807CB70
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CB90
- .4byte _0807CBB8
- .4byte _0807CBD4
- .4byte _0807CBF4
- .4byte _0807CC9C
- .4byte _0807CCD0
- .4byte _0807CD1C
- .4byte _0807CDDC
- .4byte _0807CE54
- .4byte _0807CEA0
- .4byte _0807CEB0
- .4byte _0807CEB6
- .4byte _0807CEDC
- .4byte _0807CF38
- .4byte _0807CF5C
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CE18
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807C460
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CE38
-_0807C04C:
- ldr r3, =gSprites
- ldr r0, [r7]
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldr r4, [r7]
- adds r2, r4, 0
- adds r2, 0x8E
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldr r1, =0x0000ff4c
- strh r1, [r0, 0x24]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldr r2, =gMonFrontPicCoords
- adds r0, r4, 0
- adds r0, 0xF0
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- strh r0, [r1, 0x26]
- adds r1, r4, 0
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- bl GetCurrentMapMusic
- ldr r1, [r7]
- adds r1, 0xF4
- strh r0, [r1]
- ldr r0, =0x00000179
- bl PlayNewMapMusic
- bl _0807CFB4
- .pool
-_0807C0C4:
- ldr r5, [r7]
- adds r6, r5, 0
- adds r6, 0xE6
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- ble _0807C0F8
- ldr r2, =gSprites
- adds r0, r5, 0
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x24]
- adds r1, 0x3
- strh r1, [r0, 0x24]
- ldrh r0, [r6]
- subs r0, 0x3
- strh r0, [r6]
- bl _0807CFB4
- .pool
-_0807C0F8:
- ldr r2, =gSprites
- adds r0, r5, 0
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x24]
- strh r1, [r6]
- adds r1, r5, 0
- adds r1, 0x94
- movs r0, 0xA
- strh r0, [r1]
- bl _0807CFB4
- .pool
-_0807C120:
- ldr r4, =gStringVar4
- ldr r1, =gText_XWillBeSentToY
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- adds r2, r0, 0
- adds r2, 0xF0
- ldrh r1, [r2]
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- beq _0807C14E
- adds r0, r1, 0
- movs r1, 0
- bl PlayCry1
-_0807C14E:
- ldr r3, [r4]
- adds r1, r3, 0
- adds r1, 0x94
- movs r2, 0
- movs r0, 0xB
- bl _0807CE06
- .pool
-_0807C168:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x50
- beq _0807C178
- bl _0807CFB4
-_0807C178:
- adds r0, r1, 0
- adds r0, 0x8E
- ldrb r0, [r0]
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x5]
- lsrs r1, 4
- movs r2, 0x2
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0x14
- str r2, [sp, 0x8]
- ldr r2, =0x000fffff
- str r2, [sp, 0xC]
- movs r2, 0x78
- movs r3, 0x20
- bl sub_807671C
- ldr r1, [r7]
- adds r1, 0xD2
- strb r0, [r1]
- ldr r1, [r7]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldr r4, =gStringVar4
- ldr r1, =gText_ByeByeVar1
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- bl _0807CFB4
- .pool
-_0807C1DC:
- ldr r5, =gSprites
- ldr r0, [r7]
- adds r0, 0xD2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r5, 0
- adds r4, 0x1C
- adds r0, r4
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- beq _0807C1FC
- bl _0807CFB4
-_0807C1FC:
- ldr r0, =gSpriteTemplate_8338D28
- movs r1, 0x78
- movs r2, 0x20
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0xD3
- strb r0, [r1]
- ldr r2, [r7]
- adds r0, r2, 0
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =sub_807E5D8
- str r1, [r0]
- adds r2, 0xD2
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- ldr r1, [r7]
- bl _0807CF4C
- .pool
-_0807C248:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x94
- movs r1, 0x14
- strh r1, [r0]
- bl _0807CFB4
- .pool
-_0807C26C:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807C27C
- bl _0807CFB4
-_0807C27C:
- movs r0, 0x4
- bl sub_807B62C
- movs r0, 0
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- bl _0807CF48
- .pool
-_0807C29C:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl _0807CF44
-_0807C2AE:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807C2BE
- bl _0807CFB4
-_0807C2BE:
- ldr r0, [r7]
- adds r0, 0x94
- movs r1, 0x17
- strh r1, [r0]
- bl _0807CFB4
- .pool
-_0807C2D0:
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- adds r2, r0, 0
- adds r2, 0xEA
- ldrh r1, [r2]
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- bls _0807C2F0
- adds r0, r1, 0
- subs r0, 0x34
- strh r0, [r2]
- b _0807C30C
- .pool
-_0807C2F0:
- movs r0, 0x1
- bl sub_807B62C
- ldr r3, [r4]
- adds r1, r3, 0
- adds r1, 0xEA
- movs r2, 0
- movs r0, 0x80
- strh r0, [r1]
- subs r1, 0x56
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- str r2, [r3, 0x64]
-_0807C30C:
- ldr r0, =gUnknown_020322A0
- ldr r4, [r0]
- bl _0807CB5C
- .pool
-_0807C318:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x14
- bhi _0807C328
- bl _0807CFB4
-_0807C328:
- bl sub_807AB28
- ldr r0, =gSpriteTemplate_8338E74
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0x91
- strb r0, [r1]
- ldr r1, [r7]
- bl _0807CF4C
- .pool
-_0807C348:
- ldr r2, =gSprites
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 27
- cmp r0, 0
- blt _0807C368
- bl _0807CFB4
-_0807C368:
- adds r0, r1, 0
- bl DestroySprite
- movs r1, 0xC8
- lsls r1, 3
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x0000040c
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, [r7]
- bl _0807CF4C
- .pool
-_0807C390:
- ldr r2, [r7]
- adds r0, r2, 0
- adds r0, 0xE0
- ldrh r1, [r0]
- subs r1, 0x1
- strh r1, [r0]
- lsls r1, 16
- movs r0, 0x9E
- lsls r0, 17
- cmp r1, r0
- bne _0807C3B0
- adds r1, r2, 0
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0807C3B0:
- ldr r0, [r7]
- adds r0, 0xE0
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0xA4
- lsls r0, 1
- cmp r1, r0
- beq _0807C3C4
- bl _0807CFB4
-_0807C3C4:
- ldr r0, =gSpriteTemplate_8338DFC
- movs r1, 0x80
- movs r2, 0x41
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0x92
- strb r0, [r1]
- bl _0807CFB4
- .pool
-_0807C3E0:
- ldr r0, =gUnknown_08338D88
- movs r1, 0x80
- movs r2, 0x50
- movs r3, 0x3
- bl CreateSprite
- ldr r4, =gUnknown_020322A0
- ldr r1, [r4]
- adds r1, 0x90
- strb r0, [r1]
- ldr r0, =gSpriteTemplate_8338DC8
- movs r1, 0x80
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
- adds r1, 0x91
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r1, [r4]
- bl _0807CF4C
- .pool
-_0807C434:
- ldr r2, [r7]
- adds r1, r2, 0
- adds r1, 0xE0
- ldrh r0, [r1]
- subs r0, 0x2
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA6
- bne _0807C44E
- subs r1, 0x4C
- movs r0, 0xC8
- strh r0, [r1]
-_0807C44E:
- ldr r1, =0x00001241
- movs r0, 0
- bl SetGpuReg
- bl _0807CFB4
- .pool
-_0807C460:
- ldr r2, =gSprites
- ldr r4, [r7]
- adds r3, r4, 0
- adds r3, 0x90
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- subs r1, 0x2
- strh r1, [r0, 0x22]
- adds r0, r4, 0
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- subs r1, 0x2
- strh r1, [r0, 0x22]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r3, 0x22
- ldrsh r1, [r0, r3]
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- blt _0807C4A6
- bl _0807CFB4
-_0807C4A6:
- adds r1, r4, 0
- adds r1, 0x94
- movs r0, 0x1D
- strh r0, [r1]
- bl _0807CFB4
- .pool
-_0807C4B8:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x94
- movs r1, 0x1E
- strh r1, [r0]
- bl _0807CFB4
- .pool
-_0807C4DC:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807C4EC
- bl _0807CFB4
-_0807C4EC:
- ldr r0, [r7]
- adds r0, 0x90
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySprite
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- movs r0, 0x2
- bl sub_807B62C
- ldr r1, [r7]
- bl _0807CF4C
- .pool
-_0807C528:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r5, =gSpriteTemplate_8338DC8
- adds r0, r5, 0
- movs r1, 0x6F
- movs r2, 0xAA
- movs r3, 0
- bl CreateSprite
- ldr r4, =gUnknown_020322A0
- ldr r1, [r4]
- adds r1, 0x90
- strb r0, [r1]
- movs r2, 0xA
- negs r2, r2
- adds r0, r5, 0
- movs r1, 0x81
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
- adds r1, 0x91
- strb r0, [r1]
- ldr r1, [r4]
- bl _0807CF4C
- .pool
-_0807C574:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0807C592
- movs r0, 0x2E
- bl PlaySE
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0807C592:
- ldr r3, =gSprites
- ldr r0, =gUnknown_020322A0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x90
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- strh r1, [r0, 0x26]
- adds r2, 0x91
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- bl _0807CFB4
- .pool
-_0807C5D0:
- ldr r5, =gSprites
- ldr r4, [r7]
- adds r2, r4, 0
- adds r2, 0x90
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- strh r1, [r0, 0x26]
- adds r6, r4, 0
- adds r6, 0x91
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, r0, r5
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- movs r0, 0x5A
- negs r0, r0
- cmp r1, r0
- ble _0807C616
- bl _0807CFB4
-_0807C616:
- movs r2, 0x1
- strh r2, [r3, 0x30]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x30]
- adds r1, r4, 0
- bl _0807CF4C
- .pool
-_0807C630:
- ldr r2, =0x0000ffff
- movs r0, 0x1
- movs r1, 0x10
- bl BlendPalettes
- bl _0807CF48
- .pool
-_0807C644:
- ldr r2, =0x0000ffff
- movs r0, 0x1
- movs r1, 0
- bl BlendPalettes
- bl _0807CF48
- .pool
-_0807C658:
- ldr r2, =0x0000ffff
- movs r0, 0x1
- movs r1, 0x10
- bl BlendPalettes
- bl _0807CF48
- .pool
-_0807C66C:
- ldr r5, =gUnknown_020322A0
- ldr r0, [r5]
- adds r0, 0xF0
- ldrh r0, [r0]
- bl IsMonSpriteNotFlipped
- lsls r0, 24
- cmp r0, 0
- bne _0807C6E4
- ldr r4, =gSprites
- ldr r2, [r5]
- adds r2, 0x8E
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x10
- adds r0, r1
- ldr r1, =gSpriteAffineAnimTable_8338ECC
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x1]
- movs r2, 0x3
- orrs r1, r2
- strb r1, [r0, 0x1]
- ldr r0, [r5]
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0
- movs r2, 0x3
- movs r3, 0x3
- bl CalcCenterToCornerVec
- ldr r0, [r5]
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0
- bl StartSpriteAffineAnim
- b _0807C6FA
- .pool
-_0807C6E4:
- ldr r0, [r5]
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0
- bl StartSpriteAffineAnim
-_0807C6FA:
- ldr r5, =gUnknown_020322A0
- ldr r0, [r5]
- adds r0, 0x8F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- movs r1, 0
- bl StartSpriteAffineAnim
- ldr r2, [r5]
- adds r3, r2, 0
- adds r3, 0x8E
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x3C
- strh r1, [r0, 0x20]
- adds r2, 0x8F
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xB4
- strh r1, [r0, 0x20]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xC0
- strh r1, [r0, 0x22]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =0x0000ffe0
- strh r1, [r0, 0x22]
- ldrb r0, [r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x8F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- ldr r1, [r5]
- bl _0807CF4C
- .pool
-_0807C794:
- ldr r4, =gSprites
- ldr r2, [r7]
- adds r3, r2, 0
- adds r3, 0x8E
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- movs r5, 0
- strh r1, [r0, 0x26]
- adds r2, 0x8F
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x26]
- adds r0, 0xA3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bhi _0807C7DC
- movs r0, 0x2D
- bl PlaySE
-_0807C7DC:
- ldr r2, [r7]
- adds r3, r2, 0
- adds r3, 0x8E
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r6, 0x26
- ldrsh r1, [r0, r6]
- movs r0, 0xDE
- negs r0, r0
- cmp r1, r0
- blt _0807C7FC
- bl _0807CFB4
-_0807C7FC:
- adds r0, r2, 0
- adds r0, 0x90
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r5, [r0, 0x30]
- adds r0, r2, 0
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r5, [r0, 0x30]
- adds r1, r2, 0
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r7]
- adds r0, 0x8F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- ldr r2, =0x0000ffff
- movs r0, 0x1
- movs r1, 0
- bl BlendPalettes
- b _0807CFB4
- .pool
-_0807C864:
- ldr r4, =gSprites
- ldr r2, [r7]
- adds r3, r2, 0
- adds r3, 0x90
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- strh r1, [r0, 0x26]
- adds r2, 0x91
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r2, 0x26
- ldrsh r1, [r0, r2]
- movs r0, 0xDE
- negs r0, r0
- cmp r1, r0
- ble _0807C8A6
- b _0807CFB4
-_0807C8A6:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r7]
- adds r2, r1, 0
- adds r2, 0x94
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x90
- ldrb r1, [r1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- b _0807CFB4
- .pool
-_0807C8EC:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807C8FA
- b _0807CFB4
-_0807C8FA:
- ldr r1, [r7]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
- bl sub_807B62C
- ldr r0, [r7]
- adds r0, 0xE0
- movs r1, 0xA6
- strh r1, [r0]
- ldr r0, =gUnknown_08338D88
- movs r4, 0x14
- negs r4, r4
- movs r1, 0x80
- adds r2, r4, 0
- movs r3, 0x3
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0x90
- strb r0, [r1]
- ldr r0, =gSpriteTemplate_8338DC8
- movs r1, 0x80
- adds r2, r4, 0
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0x91
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- b _0807CFB4
- .pool
-_0807C964:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- b _0807CF44
-_0807C974:
- movs r1, 0x92
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807C98C
- b _0807CFB4
-_0807C98C:
- b _0807CF48
- .pool
-_0807C994:
- ldr r2, =gSprites
- ldr r4, [r7]
- adds r3, r4, 0
- adds r3, 0x90
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- adds r0, r4, 0
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r3, 0x26
- ldrsh r1, [r0, r3]
- movs r6, 0x22
- ldrsh r0, [r0, r6]
- adds r1, r0
- cmp r1, 0x40
- beq _0807C9DA
- b _0807CFB4
-_0807C9DA:
- adds r1, r4, 0
- b _0807CF4C
- .pool
-_0807C9E4:
- ldr r1, [r7]
- adds r5, r1, 0
- adds r5, 0xE0
- ldrh r0, [r5]
- adds r0, 0x2
- strh r0, [r5]
- lsls r0, 16
- asrs r0, 16
- movs r6, 0x9E
- lsls r6, 1
- cmp r0, r6
- bgt _0807C9FE
- b _0807CFB4
-_0807C9FE:
- strh r6, [r5]
- b _0807CF4C
-_0807CA02:
- ldr r0, [r7]
- adds r0, 0x90
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySprite
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r3, [r7]
- adds r2, r3, 0
- adds r2, 0x94
- ldrh r0, [r2]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r2]
- str r1, [r3, 0x64]
- b _0807CFB4
- .pool
-_0807CA40:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0xA
- beq _0807CA4E
- b _0807CFB4
-_0807CA4E:
- b _0807CF4C
-_0807CA50:
- ldr r1, [r7]
- adds r2, r1, 0
- adds r2, 0xE0
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0xAE
- lsls r3, 1
- cmp r0, r3
- ble _0807CA72
- strh r3, [r2]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0807CA72:
- ldr r2, [r7]
- adds r0, r2, 0
- adds r0, 0xE0
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r0, 0xA4
- lsls r0, 1
- cmp r1, r0
- beq _0807CA86
- b _0807CFB4
-_0807CA86:
- adds r0, r2, 0
- adds r0, 0xFA
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807CA92
- b _0807CFB4
-_0807CA92:
- ldr r0, =gSpriteTemplate_8338DFC
- movs r1, 0x80
- movs r2, 0x41
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0x92
- strb r0, [r1]
- ldr r2, =gSprites
- ldr r0, [r7]
- adds r0, 0x92
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_807AAE0
- str r1, [r0]
- b _0807CFB4
- .pool
-_0807CAC8:
- ldr r0, =gSpriteTemplate_8338E74
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- ldr r2, =gUnknown_020322A0
- ldr r1, [r2]
- adds r1, 0x91
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, 0x94
- movs r1, 0x32
- strh r1, [r0]
- b _0807CFB4
- .pool
-_0807CAF0:
- ldr r2, =gSprites
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 27
- cmp r0, 0
- blt _0807CB0E
- b _0807CFB4
-_0807CB0E:
- adds r0, r1, 0
- bl DestroySprite
- movs r0, 0x6
- bl sub_807B62C
- ldr r1, [r7]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x9F
- bl PlaySE
- b _0807CFB4
- .pool
-_0807CB30:
- ldr r1, [r7]
- adds r2, r1, 0
- adds r2, 0xEA
- ldrh r3, [r2]
- ldr r0, =0x000003ff
- cmp r3, r0
- bhi _0807CB4C
- adds r0, r3, 0
- adds r0, 0x34
- strh r0, [r2]
- b _0807CB5A
- .pool
-_0807CB4C:
- movs r0, 0x80
- lsls r0, 3
- strh r0, [r2]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0807CB5A:
- ldr r4, [r7]
-_0807CB5C:
- adds r0, r4, 0
- adds r0, 0xEA
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 8
- bl __divsi3
- adds r4, 0xE8
- strh r0, [r4]
- b _0807CFB4
-_0807CB70:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x94
- movs r1, 0x3C
- strh r1, [r0]
- b _0807CFB4
- .pool
-_0807CB90:
- ldr r4, =gPaletteFade
- ldrb r1, [r4, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807CB9E
- b _0807CFB4
-_0807CB9E:
- movs r0, 0x5
- bl sub_807B62C
- movs r0, 0x7
- bl sub_807B62C
- ldrb r0, [r4, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r4, 0x8]
- b _0807CF48
- .pool
-_0807CBB8:
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- b _0807CF44
- .pool
-_0807CBD4:
- movs r1, 0xA2
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807CBEC
- b _0807CFB4
-_0807CBEC:
- b _0807CF48
- .pool
-_0807CBF4:
- ldr r0, =gSpriteTemplate_8338D28
- movs r2, 0x8
- negs r2, r2
- movs r1, 0x78
- movs r3, 0
- bl CreateSprite
- ldr r5, =gUnknown_020322A0
- ldr r1, [r5]
- adds r1, 0xD3
- movs r6, 0
- strb r0, [r1]
- ldr r4, =gSprites
- ldr r2, [r5]
- adds r2, 0xD3
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x4A
- strh r1, [r0, 0x34]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_807E6AC
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, [r5]
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x2
- bl StartSpriteAffineAnim
- ldr r0, [r5]
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- ldr r2, =0x0000ffff
- movs r1, 0x10
- bl BlendPalettes
- ldr r2, [r5]
- adds r1, r2, 0
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- str r6, [r2, 0x64]
- b _0807CFB4
- .pool
-_0807CC9C:
- ldr r2, =gSprites
- ldr r0, [r7]
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, [r7]
- b _0807CF4C
- .pool
-_0807CCD0:
- ldr r2, =gSprites
- ldr r3, [r7]
- adds r0, r3, 0
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- beq _0807CCEE
- b _0807CFB4
-_0807CCEE:
- adds r0, r3, 0
- adds r0, 0xF2
- ldrh r2, [r0]
- lsls r0, r2, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- ldr r1, [r1, 0x10]
- ldr r3, [r3, 0x6C]
- bl HandleLoadSpecialPokePic_2
- ldr r1, [r7]
- b _0807CF4C
- .pool
-_0807CD1C:
- ldr r4, =gSprites
- ldr r2, [r7]
- adds r6, r2, 0
- adds r6, 0x8F
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r5, 0
- movs r1, 0x78
- strh r1, [r0, 0x20]
- ldrb r0, [r6]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldr r3, =gMonFrontPicCoords
- adds r2, 0xF2
- ldrh r0, [r2]
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x1]
- adds r0, 0x3C
- strh r0, [r1, 0x22]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r5, [r0, 0x24]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r5, [r0, 0x26]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0
- bl StartSpriteAnim
- ldr r3, [r7]
- adds r0, r3, 0
- adds r0, 0x8F
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r1, [r1, 0x5]
- lsrs r1, 4
- movs r2, 0x2
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0x14
- str r2, [sp, 0x8]
- ldr r2, =0x000fffff
- str r2, [sp, 0xC]
- adds r3, 0xF2
- ldrh r2, [r3]
- str r2, [sp, 0x10]
- movs r2, 0x78
- movs r3, 0x54
- bl CreatePokeballSpriteToReleaseMon
- ldr r0, [r7]
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldr r0, [r7]
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r1, [r7]
- b _0807CF4C
- .pool
-_0807CDDC:
- movs r1, 0xAA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r4, =gStringVar4
- ldr r1, =gText_XSentOverY
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- ldr r0, =gUnknown_020322A0
- ldr r3, [r0]
- adds r1, r3, 0
- adds r1, 0x94
- movs r2, 0
- movs r0, 0xA7
-_0807CE06:
- strh r0, [r1]
- str r2, [r3, 0x64]
- b _0807CFB4
- .pool
-_0807CE18:
- ldr r3, [r7]
- ldr r0, [r3, 0x64]
- adds r0, 0x1
- str r0, [r3, 0x64]
- cmp r0, 0x3C
- bhi _0807CE26
- b _0807CFB4
-_0807CE26:
- adds r0, r3, 0
- adds r0, 0x94
- movs r2, 0
- ldr r1, =0x0000010b
- strh r1, [r0]
- str r2, [r3, 0x64]
- b _0807CFB4
- .pool
-_0807CE38:
- bl IsCryFinished
- lsls r0, 24
- cmp r0, 0
- bne _0807CE44
- b _0807CFB4
-_0807CE44:
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x94
- movs r1, 0x44
- strh r1, [r0]
- b _0807CFB4
- .pool
-_0807CE54:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0xA
- bne _0807CE66
- ldr r0, =0x00000173
- bl PlayFanfare
-_0807CE66:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- cmp r0, 0xFA
- beq _0807CE70
- b _0807CFB4
-_0807CE70:
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r1]
- ldr r4, =gStringVar4
- ldr r1, =gText_TakeGoodCareOfX
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- ldr r0, [r7]
- str r5, [r0, 0x64]
- b _0807CFB4
- .pool
-_0807CEA0:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x3C
- beq _0807CEAE
- b _0807CFB4
-_0807CEAE:
- b _0807CF4C
-_0807CEB0:
- bl sub_807F14C
- b _0807CF48
-_0807CEB6:
- ldr r2, [r7]
- adds r0, r2, 0
- adds r0, 0xEE
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807CEC6
- movs r0, 0x1
- b _0807CFB6
-_0807CEC6:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0807CFB4
- adds r1, r2, 0
- b _0807CF4C
- .pool
-_0807CEDC:
- ldr r0, =gSpecialVar_0x8005
- ldrb r0, [r0]
- movs r1, 0
- bl sub_807B4D0
- ldr r1, =gCB2_AfterEvolution
- ldr r0, =sub_807B60C
- str r0, [r1]
- ldr r7, =gUnknown_02032298
- ldrb r0, [r7]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- movs r1, 0x1
- movs r2, 0
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _0807CF48
- ldrb r3, [r7]
- adds r0, r3, 0
- muls r0, r6
- adds r0, r5
- ldr r1, =gUnknown_020322A0
- ldr r1, [r1]
- adds r1, 0x8F
- ldrb r2, [r1]
- adds r1, r4, 0
- bl TradeEvolutionScene
- b _0807CF48
- .pool
-_0807CF38:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
-_0807CF44:
- bl BeginNormalPaletteFade
-_0807CF48:
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
-_0807CF4C:
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0807CFB4
- .pool
-_0807CF5C:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0807CFB4
- ldr r0, [r7]
- adds r0, 0xF4
- ldrh r0, [r0]
- bl PlayNewMapMusic
- ldr r0, [r7]
- cmp r0, 0
- beq _0807CFAA
- bl FreeAllWindowBuffers
- movs r0, 0x3
- bl GetBgTilemapBuffer
- bl Free
- movs r0, 0x1
- bl GetBgTilemapBuffer
- bl Free
- movs r0, 0
- bl GetBgTilemapBuffer
- bl Free
- bl FreeMonSpritesGfx
- ldr r0, [r7]
- bl Free
- str r4, [r7]
-_0807CFAA:
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
- bl sub_807E784
-_0807CFB4:
- movs r0, 0
-_0807CFB6:
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_807BBEC
-
- thumb_func_start sub_807CFC8
-sub_807CFC8: @ 807CFC8
- push {r4-r7,lr}
- sub sp, 0x14
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- adds r1, 0x94
- ldrh r5, [r1]
- ldr r1, =0x0000010b
- adds r7, r0, 0
- cmp r5, r1
- bls _0807CFE0
- bl _0807E400
-_0807CFE0:
- lsls r0, r5, 2
- ldr r1, =_0807CFF8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807CFF8:
- .4byte _0807D428
- .4byte _0807D4A0
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807D4FC
- .4byte _0807D544
- .4byte _0807D5B8
- .4byte _0807E400
- .4byte _0807D624
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807D648
- .4byte _0807D678
- .4byte _0807D68A
- .4byte _0807D6AC
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807D7A4
- .4byte _0807D7C4
- .4byte _0807D830
- .4byte _0807D8B4
- .4byte _0807D8D8
- .4byte _0807D924
- .4byte _0807D970
- .4byte _0807D9CC
- .4byte _0807DA38
- .4byte _0807DA4C
- .4byte _0807DA60
- .4byte _0807DA74
- .4byte _0807DB9C
- .4byte _0807DC6C
- .4byte _0807DCF4
- .4byte _0807DD94
- .4byte _0807DDA4
- .4byte _0807DDC4
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807DEE8
- .4byte _0807DEF8
- .4byte _0807DF16
- .4byte _0807E400
- .4byte _0807DF3C
- .4byte _0807DF7C
- .4byte _0807DFBC
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807DFDC
- .4byte _0807E004
- .4byte _0807E020
- .4byte _0807E040
- .4byte _0807E0E8
- .4byte _0807E11C
- .4byte _0807E168
- .4byte _0807E228
- .4byte _0807E2A0
- .4byte _0807E2EC
- .4byte _0807E2FC
- .4byte _0807E302
- .4byte _0807E328
- .4byte _0807E384
- .4byte _0807E3A8
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807D6F4
- .4byte _0807D728
- .4byte _0807D77C
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807DE1C
- .4byte _0807DE84
- .4byte _0807DEC0
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E264
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807D85C
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E284
-_0807D428:
- ldr r3, =gSprites
- ldr r0, [r7]
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldr r4, [r7]
- adds r2, r4, 0
- adds r2, 0x8E
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldr r1, =0x0000ff4c
- strh r1, [r0, 0x24]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldr r2, =gMonFrontPicCoords
- adds r0, r4, 0
- adds r0, 0xF0
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- strh r0, [r1, 0x26]
- adds r1, r4, 0
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- bl GetCurrentMapMusic
- ldr r1, [r7]
- adds r1, 0xF4
- strh r0, [r1]
- ldr r0, =0x00000179
- bl PlayNewMapMusic
- bl _0807E400
- .pool
-_0807D4A0:
- ldr r5, [r7]
- adds r6, r5, 0
- adds r6, 0xE6
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- ble _0807D4D4
- ldr r2, =gSprites
- adds r0, r5, 0
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x24]
- adds r1, 0x3
- strh r1, [r0, 0x24]
- ldrh r0, [r6]
- subs r0, 0x3
- strh r0, [r6]
- bl _0807E400
- .pool
-_0807D4D4:
- ldr r2, =gSprites
- adds r0, r5, 0
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x24]
- strh r1, [r6]
- adds r1, r5, 0
- adds r1, 0x94
- movs r0, 0xA
- strh r0, [r1]
- bl _0807E400
- .pool
-_0807D4FC:
- ldr r4, =gStringVar4
- ldr r1, =gText_XWillBeSentToY
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- adds r2, r0, 0
- adds r2, 0xF0
- ldrh r1, [r2]
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- beq _0807D52A
- adds r0, r1, 0
- movs r1, 0
- bl PlayCry1
-_0807D52A:
- ldr r3, [r4]
- adds r1, r3, 0
- adds r1, 0x94
- movs r2, 0
- movs r0, 0xB
- bl _0807E252
- .pool
-_0807D544:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x50
- beq _0807D554
- bl _0807E400
-_0807D554:
- adds r0, r1, 0
- adds r0, 0x8E
- ldrb r0, [r0]
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x5]
- lsrs r1, 4
- movs r2, 0x2
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0x14
- str r2, [sp, 0x8]
- ldr r2, =0x000fffff
- str r2, [sp, 0xC]
- movs r2, 0x78
- movs r3, 0x20
- bl sub_807671C
- ldr r1, [r7]
- adds r1, 0xD2
- strb r0, [r1]
- ldr r1, [r7]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldr r4, =gStringVar4
- ldr r1, =gText_ByeByeVar1
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- bl _0807E400
- .pool
-_0807D5B8:
- ldr r5, =gSprites
- ldr r0, [r7]
- adds r0, 0xD2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r5, 0
- adds r4, 0x1C
- adds r0, r4
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- beq _0807D5D8
- bl _0807E400
-_0807D5D8:
- ldr r0, =gSpriteTemplate_8338D28
- movs r1, 0x78
- movs r2, 0x20
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0xD3
- strb r0, [r1]
- ldr r2, [r7]
- adds r0, r2, 0
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =sub_807E5D8
- str r1, [r0]
- adds r2, 0xD2
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- ldr r1, [r7]
- bl _0807E398
- .pool
-_0807D624:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x94
- movs r1, 0x14
- strh r1, [r0]
- bl _0807E400
- .pool
-_0807D648:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807D658
- bl _0807E400
-_0807D658:
- movs r0, 0x4
- bl sub_807B62C
- movs r0, 0
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- bl _0807E394
- .pool
-_0807D678:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl _0807E390
-_0807D68A:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807D69A
- bl _0807E400
-_0807D69A:
- ldr r0, [r7]
- adds r0, 0x94
- movs r1, 0x17
- strh r1, [r0]
- bl _0807E400
- .pool
-_0807D6AC:
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- adds r2, r0, 0
- adds r2, 0xEA
- ldrh r1, [r2]
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- bls _0807D6CC
- adds r0, r1, 0
- subs r0, 0x34
- strh r0, [r2]
- b _0807D6E6
- .pool
-_0807D6CC:
- movs r0, 0x1
- bl sub_807B62C
- ldr r3, [r4]
- adds r1, r3, 0
- adds r1, 0xEA
- movs r2, 0
- movs r0, 0x80
- strh r0, [r1]
- subs r1, 0x56
- movs r0, 0x7C
- strh r0, [r1]
- str r2, [r3, 0x64]
-_0807D6E6:
- ldr r0, =gUnknown_020322A0
- ldr r4, [r0]
- bl _0807DFA8
- .pool
-_0807D6F4:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x14
- bhi _0807D704
- bl _0807E400
-_0807D704:
- movs r0, 0x3
- bl sub_807B62C
- ldr r0, =gSpriteTemplate_8338E8C
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0x91
- strb r0, [r1]
- ldr r1, [r7]
- bl _0807E398
- .pool
-_0807D728:
- ldr r2, =gSprites
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 27
- cmp r0, 0
- blt _0807D748
- bl _0807E400
-_0807D748:
- adds r0, r1, 0
- bl DestroySprite
- ldr r1, =0x00000452
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x82
- lsls r1, 3
- movs r0, 0x52
- bl SetGpuReg
- ldr r0, =c3_08054588
- movs r1, 0x5
- bl CreateTask
- ldr r1, [r7]
- bl _0807E398
- .pool
-_0807D77C:
- ldr r0, =c3_08054588
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _0807D78C
- bl _0807E400
-_0807D78C:
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x94
- movs r1, 0x1A
- strh r1, [r0]
- bl _0807E400
- .pool
-_0807D7A4:
- ldr r2, [r7]
- adds r0, r2, 0
- adds r0, 0xE0
- ldrh r1, [r0]
- subs r1, 0x1
- strh r1, [r0]
- lsls r1, 16
- movs r0, 0x9E
- lsls r0, 17
- cmp r1, r0
- beq _0807D7BE
- bl _0807E400
-_0807D7BE:
- adds r1, r2, 0
- bl _0807E398
-_0807D7C4:
- ldr r0, =gUnknown_08338D88
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0x3
- bl CreateSprite
- ldr r4, =gUnknown_020322A0
- ldr r1, [r4]
- adds r1, 0x90
- strb r0, [r1]
- ldr r5, =gSprites
- ldr r0, [r4]
- adds r0, 0x90
- 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, =sub_807AA4C
- str r1, [r0]
- ldr r0, =gSpriteTemplate_8338DC8
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
- adds r1, 0x91
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r1, [r4]
- bl _0807E398
- .pool
-_0807D830:
- ldr r2, [r7]
- adds r1, r2, 0
- adds r1, 0xE0
- ldrh r0, [r1]
- subs r0, 0x3
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA6
- bne _0807D84A
- subs r1, 0x4C
- movs r0, 0xC8
- strh r0, [r1]
-_0807D84A:
- ldr r1, =0x00001241
- movs r0, 0
- bl SetGpuReg
- bl _0807E400
- .pool
-_0807D85C:
- ldr r2, =gSprites
- ldr r4, [r7]
- adds r3, r4, 0
- adds r3, 0x90
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- subs r1, 0x2
- strh r1, [r0, 0x22]
- adds r0, r4, 0
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- subs r1, 0x2
- strh r1, [r0, 0x22]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r2, 0x22
- ldrsh r1, [r0, r2]
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- blt _0807D8A2
- bl _0807E400
-_0807D8A2:
- adds r1, r4, 0
- adds r1, 0x94
- movs r0, 0x1D
- strh r0, [r1]
- bl _0807E400
- .pool
-_0807D8B4:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x94
- movs r1, 0x1E
- strh r1, [r0]
- bl _0807E400
- .pool
-_0807D8D8:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807D8E8
- bl _0807E400
-_0807D8E8:
- ldr r0, [r7]
- adds r0, 0x90
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySprite
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- movs r0, 0x2
- bl sub_807B62C
- ldr r1, [r7]
- bl _0807E398
- .pool
-_0807D924:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r5, =gSpriteTemplate_8338DC8
- adds r0, r5, 0
- movs r1, 0x6F
- movs r2, 0xAA
- movs r3, 0
- bl CreateSprite
- ldr r4, =gUnknown_020322A0
- ldr r1, [r4]
- adds r1, 0x90
- strb r0, [r1]
- movs r2, 0xA
- negs r2, r2
- adds r0, r5, 0
- movs r1, 0x81
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
- adds r1, 0x91
- strb r0, [r1]
- ldr r1, [r4]
- bl _0807E398
- .pool
-_0807D970:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0807D98E
- movs r0, 0x2E
- bl PlaySE
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0807D98E:
- ldr r3, =gSprites
- ldr r0, =gUnknown_020322A0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x90
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- strh r1, [r0, 0x26]
- adds r2, 0x91
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- bl _0807E400
- .pool
-_0807D9CC:
- ldr r5, =gSprites
- ldr r4, [r7]
- adds r2, r4, 0
- adds r2, 0x90
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- strh r1, [r0, 0x26]
- adds r6, r4, 0
- adds r6, 0x91
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, r0, r5
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- movs r0, 0x5A
- negs r0, r0
- cmp r1, r0
- ble _0807DA12
- bl _0807E400
-_0807DA12:
- movs r2, 0x1
- strh r2, [r3, 0x30]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x30]
- adds r1, r4, 0
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldr r0, =c3_0805465C
- b _0807DC5A
- .pool
-_0807DA38:
- ldr r2, =0x0000ffff
- movs r0, 0x8
- movs r1, 0x10
- bl BlendPalettes
- bl _0807E394
- .pool
-_0807DA4C:
- ldr r2, =0x0000ffff
- movs r0, 0x8
- movs r1, 0x10
- bl BlendPalettes
- bl _0807E394
- .pool
-_0807DA60:
- ldr r2, =0x0000ffff
- movs r0, 0x8
- movs r1, 0x10
- bl BlendPalettes
- bl _0807E394
- .pool
-_0807DA74:
- ldr r5, =gUnknown_020322A0
- ldr r0, [r5]
- adds r0, 0xF0
- ldrh r0, [r0]
- bl IsMonSpriteNotFlipped
- lsls r0, 24
- cmp r0, 0
- bne _0807DAEC
- ldr r4, =gSprites
- ldr r2, [r5]
- adds r2, 0x8E
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x10
- adds r0, r1
- ldr r1, =gSpriteAffineAnimTable_8338ECC
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x1]
- movs r2, 0x3
- orrs r1, r2
- strb r1, [r0, 0x1]
- ldr r0, [r5]
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0
- movs r2, 0x3
- movs r3, 0x3
- bl CalcCenterToCornerVec
- ldr r0, [r5]
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0
- bl StartSpriteAffineAnim
- b _0807DB02
- .pool
-_0807DAEC:
- ldr r0, [r5]
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0
- bl StartSpriteAffineAnim
-_0807DB02:
- ldr r5, =gUnknown_020322A0
- ldr r0, [r5]
- adds r0, 0x8F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- movs r1, 0
- bl StartSpriteAffineAnim
- ldr r2, [r5]
- adds r3, r2, 0
- adds r3, 0x8E
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x28
- strh r1, [r0, 0x20]
- adds r2, 0x8F
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xC8
- strh r1, [r0, 0x20]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xC0
- strh r1, [r0, 0x22]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =0x0000ffe0
- strh r1, [r0, 0x22]
- ldrb r0, [r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x8F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- ldr r1, [r5]
- bl _0807E398
- .pool
-_0807DB9C:
- ldr r4, =gSprites
- ldr r2, [r7]
- adds r3, r2, 0
- adds r3, 0x8E
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- movs r5, 0
- strh r1, [r0, 0x26]
- adds r2, 0x8F
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x26]
- adds r0, 0xA3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bhi _0807DBE4
- movs r0, 0x2D
- bl PlaySE
-_0807DBE4:
- ldr r2, [r7]
- adds r3, r2, 0
- adds r3, 0x8E
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r6, 0x26
- ldrsh r1, [r0, r6]
- movs r0, 0xDE
- negs r0, r0
- cmp r1, r0
- blt _0807DC04
- bl _0807E400
-_0807DC04:
- adds r0, r2, 0
- adds r0, 0x90
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r5, [r0, 0x30]
- adds r0, r2, 0
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r5, [r0, 0x30]
- adds r1, r2, 0
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r7]
- adds r0, 0x8F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- ldr r0, =sub_807F39C
-_0807DC5A:
- movs r1, 0x5
- bl CreateTask
- b _0807E400
- .pool
-_0807DC6C:
- ldr r4, =gSprites
- ldr r2, [r7]
- adds r3, r2, 0
- adds r3, 0x90
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- strh r1, [r0, 0x26]
- adds r2, 0x91
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r2, 0x26
- ldrsh r1, [r0, r2]
- movs r0, 0xDE
- negs r0, r0
- cmp r1, r0
- ble _0807DCAE
- b _0807E400
-_0807DCAE:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r7]
- adds r2, r1, 0
- adds r2, 0x94
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x90
- ldrb r1, [r1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- b _0807E400
- .pool
-_0807DCF4:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807DD02
- b _0807E400
-_0807DD02:
- ldr r1, [r7]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
- bl sub_807B62C
- ldr r0, [r7]
- adds r0, 0xE0
- movs r1, 0xA6
- strh r1, [r0]
- movs r0, 0x3
- bl sub_807B62C
- ldr r0, [r7]
- adds r0, 0xE4
- movs r1, 0xCE
- lsls r1, 1
- strh r1, [r0]
- ldr r0, =gUnknown_08338D88
- movs r4, 0x14
- negs r4, r4
- movs r1, 0x78
- adds r2, r4, 0
- movs r3, 0x3
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0x90
- strb r0, [r1]
- ldr r5, =gSprites
- ldr r0, [r7]
- adds r0, 0x90
- 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, =sub_807AA4C
- str r1, [r0]
- ldr r0, =gSpriteTemplate_8338DC8
- movs r1, 0x78
- adds r2, r4, 0
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0x91
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x1
- bl StartSpriteAnim
- b _0807E400
- .pool
-_0807DD94:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- b _0807E390
-_0807DDA4:
- movs r1, 0x92
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807DDBC
- b _0807E400
-_0807DDBC:
- b _0807E394
- .pool
-_0807DDC4:
- ldr r2, =gSprites
- ldr r4, [r7]
- adds r3, r4, 0
- adds r3, 0x90
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- adds r1, 0x4
- strh r1, [r0, 0x26]
- adds r0, r4, 0
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- adds r1, 0x4
- strh r1, [r0, 0x26]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r6, 0x26
- ldrsh r1, [r0, r6]
- movs r2, 0x22
- ldrsh r0, [r0, r2]
- adds r1, r0
- cmp r1, 0x40
- beq _0807DE0A
- b _0807E400
-_0807DE0A:
- adds r0, r4, 0
- adds r0, 0x94
- movs r1, 0x90
- strh r1, [r0]
- movs r0, 0
- str r0, [r4, 0x64]
- b _0807E400
- .pool
-_0807DE1C:
- movs r1, 0xB2
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r4, =gUnknown_020322A0
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0xE0
- ldrh r0, [r1]
- adds r0, 0x3
- strh r0, [r1]
- adds r1, 0x4
- ldrh r0, [r1]
- adds r0, 0x3
- strh r0, [r1]
- ldr r0, [r2, 0x64]
- adds r0, 0x1
- str r0, [r2, 0x64]
- cmp r0, 0xA
- bne _0807DE60
- ldr r0, =c3_08054588
- movs r1, 0x5
- 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 r0, 0x1
- strh r0, [r1, 0xC]
-_0807DE60:
- ldr r1, [r4]
- adds r3, r1, 0
- adds r3, 0xE0
- movs r6, 0
- ldrsh r0, [r3, r6]
- movs r2, 0x9E
- lsls r2, 1
- cmp r0, r2
- bgt _0807DE74
- b _0807E400
-_0807DE74:
- strh r2, [r3]
- b _0807E398
- .pool
-_0807DE84:
- ldr r0, [r7]
- adds r0, 0x90
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySprite
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r3, [r7]
- adds r2, r3, 0
- adds r2, 0x94
- ldrh r0, [r2]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r2]
- str r1, [r3, 0x64]
- b _0807E400
- .pool
-_0807DEC0:
- ldr r0, =c3_08054588
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _0807DED0
- b _0807E400
-_0807DED0:
- ldr r0, =gUnknown_020322A0
- ldr r2, [r0]
- adds r1, r2, 0
- adds r1, 0x94
- movs r0, 0x2E
- strh r0, [r1]
- str r3, [r2, 0x64]
- b _0807E400
- .pool
-_0807DEE8:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0xA
- beq _0807DEF6
- b _0807E400
-_0807DEF6:
- b _0807E398
-_0807DEF8:
- ldr r1, [r7]
- adds r5, r1, 0
- adds r5, 0xE0
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- lsls r0, 16
- asrs r0, 16
- movs r6, 0xAE
- lsls r6, 1
- cmp r0, r6
- bgt _0807DF12
- b _0807E400
-_0807DF12:
- strh r6, [r5]
- b _0807E398
-_0807DF16:
- ldr r0, =gSpriteTemplate_8338E74
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- ldr r2, =gUnknown_020322A0
- ldr r1, [r2]
- adds r1, 0x91
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, 0x94
- movs r1, 0x32
- strh r1, [r0]
- b _0807E400
- .pool
-_0807DF3C:
- ldr r2, =gSprites
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 27
- cmp r0, 0
- blt _0807DF5A
- b _0807E400
-_0807DF5A:
- adds r0, r1, 0
- bl DestroySprite
- movs r0, 0x6
- bl sub_807B62C
- ldr r1, [r7]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x9F
- bl PlaySE
- b _0807E400
- .pool
-_0807DF7C:
- ldr r1, [r7]
- adds r2, r1, 0
- adds r2, 0xEA
- ldrh r3, [r2]
- ldr r0, =0x000003ff
- cmp r3, r0
- bhi _0807DF98
- adds r0, r3, 0
- adds r0, 0x34
- strh r0, [r2]
- b _0807DFA6
- .pool
-_0807DF98:
- movs r0, 0x80
- lsls r0, 3
- strh r0, [r2]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0807DFA6:
- ldr r4, [r7]
-_0807DFA8:
- adds r0, r4, 0
- adds r0, 0xEA
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 8
- bl __divsi3
- adds r4, 0xE8
- strh r0, [r4]
- b _0807E400
-_0807DFBC:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x94
- movs r1, 0x3C
- strh r1, [r0]
- b _0807E400
- .pool
-_0807DFDC:
- ldr r4, =gPaletteFade
- ldrb r1, [r4, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807DFEA
- b _0807E400
-_0807DFEA:
- movs r0, 0x5
- bl sub_807B62C
- movs r0, 0x7
- bl sub_807B62C
- ldrb r0, [r4, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r4, 0x8]
- b _0807E394
- .pool
-_0807E004:
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- b _0807E390
- .pool
-_0807E020:
- movs r1, 0xA2
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807E038
- b _0807E400
-_0807E038:
- b _0807E394
- .pool
-_0807E040:
- ldr r0, =gSpriteTemplate_8338D28
- movs r2, 0x8
- negs r2, r2
- movs r1, 0x78
- movs r3, 0
- bl CreateSprite
- ldr r5, =gUnknown_020322A0
- ldr r1, [r5]
- adds r1, 0xD3
- movs r6, 0
- strb r0, [r1]
- ldr r4, =gSprites
- ldr r2, [r5]
- adds r2, 0xD3
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x4A
- strh r1, [r0, 0x34]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_807E6AC
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, [r5]
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x2
- bl StartSpriteAffineAnim
- ldr r0, [r5]
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- ldr r2, =0x0000ffff
- movs r1, 0x10
- bl BlendPalettes
- ldr r2, [r5]
- adds r1, r2, 0
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- str r6, [r2, 0x64]
- b _0807E400
- .pool
-_0807E0E8:
- ldr r2, =gSprites
- ldr r0, [r7]
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, [r7]
- b _0807E398
- .pool
-_0807E11C:
- ldr r2, =gSprites
- ldr r3, [r7]
- adds r0, r3, 0
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- beq _0807E13A
- b _0807E400
-_0807E13A:
- adds r0, r3, 0
- adds r0, 0xF2
- ldrh r2, [r0]
- lsls r0, r2, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- ldr r1, [r1, 0x10]
- ldr r3, [r3, 0x6C]
- bl HandleLoadSpecialPokePic_2
- ldr r1, [r7]
- b _0807E398
- .pool
-_0807E168:
- ldr r4, =gSprites
- ldr r2, [r7]
- adds r6, r2, 0
- adds r6, 0x8F
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r5, 0
- movs r1, 0x78
- strh r1, [r0, 0x20]
- ldrb r0, [r6]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldr r3, =gMonFrontPicCoords
- adds r2, 0xF2
- ldrh r0, [r2]
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x1]
- adds r0, 0x3C
- strh r0, [r1, 0x22]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r5, [r0, 0x24]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r5, [r0, 0x26]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0
- bl StartSpriteAnim
- ldr r3, [r7]
- adds r0, r3, 0
- adds r0, 0x8F
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r1, [r1, 0x5]
- lsrs r1, 4
- movs r2, 0x2
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0x14
- str r2, [sp, 0x8]
- ldr r2, =0x000fffff
- str r2, [sp, 0xC]
- adds r3, 0xF2
- ldrh r2, [r3]
- str r2, [sp, 0x10]
- movs r2, 0x78
- movs r3, 0x54
- bl CreatePokeballSpriteToReleaseMon
- ldr r0, [r7]
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldr r0, [r7]
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r1, [r7]
- b _0807E398
- .pool
-_0807E228:
- movs r1, 0xAA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r4, =gStringVar4
- ldr r1, =gText_XSentOverY
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- ldr r0, =gUnknown_020322A0
- ldr r3, [r0]
- adds r1, r3, 0
- adds r1, 0x94
- movs r2, 0
- movs r0, 0xA7
-_0807E252:
- strh r0, [r1]
- str r2, [r3, 0x64]
- b _0807E400
- .pool
-_0807E264:
- ldr r3, [r7]
- ldr r0, [r3, 0x64]
- adds r0, 0x1
- str r0, [r3, 0x64]
- cmp r0, 0x3C
- bhi _0807E272
- b _0807E400
-_0807E272:
- adds r0, r3, 0
- adds r0, 0x94
- movs r2, 0
- ldr r1, =0x0000010b
- strh r1, [r0]
- str r2, [r3, 0x64]
- b _0807E400
- .pool
-_0807E284:
- bl IsCryFinished
- lsls r0, 24
- cmp r0, 0
- bne _0807E290
- b _0807E400
-_0807E290:
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x94
- movs r1, 0x44
- strh r1, [r0]
- b _0807E400
- .pool
-_0807E2A0:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0xA
- bne _0807E2B2
- ldr r0, =0x00000173
- bl PlayFanfare
-_0807E2B2:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- cmp r0, 0xFA
- beq _0807E2BC
- b _0807E400
-_0807E2BC:
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r1]
- ldr r4, =gStringVar4
- ldr r1, =gText_TakeGoodCareOfX
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- ldr r0, [r7]
- str r5, [r0, 0x64]
- b _0807E400
- .pool
-_0807E2EC:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x3C
- beq _0807E2FA
- b _0807E400
-_0807E2FA:
- b _0807E398
-_0807E2FC:
- bl sub_807F14C
- b _0807E394
-_0807E302:
- ldr r2, [r7]
- adds r0, r2, 0
- adds r0, 0xEE
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807E312
- movs r0, 0x1
- b _0807E402
-_0807E312:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0807E400
- adds r1, r2, 0
- b _0807E398
- .pool
-_0807E328:
- ldr r0, =gSpecialVar_0x8005
- ldrb r0, [r0]
- movs r1, 0
- bl sub_807B4D0
- ldr r1, =gCB2_AfterEvolution
- ldr r0, =sub_807B60C
- str r0, [r1]
- ldr r7, =gUnknown_02032298
- ldrb r0, [r7]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- movs r1, 0x1
- movs r2, 0
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _0807E394
- ldrb r3, [r7]
- adds r0, r3, 0
- muls r0, r6
- adds r0, r5
- ldr r1, =gUnknown_020322A0
- ldr r1, [r1]
- adds r1, 0x8F
- ldrb r2, [r1]
- adds r1, r4, 0
- bl TradeEvolutionScene
- b _0807E394
- .pool
-_0807E384:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
-_0807E390:
- bl BeginNormalPaletteFade
-_0807E394:
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
-_0807E398:
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0807E400
- .pool
-_0807E3A8:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0807E400
- ldr r0, [r7]
- adds r0, 0xF4
- ldrh r0, [r0]
- bl PlayNewMapMusic
- ldr r0, [r7]
- cmp r0, 0
- beq _0807E3F6
- bl FreeAllWindowBuffers
- movs r0, 0x3
- bl GetBgTilemapBuffer
- bl Free
- movs r0, 0x1
- bl GetBgTilemapBuffer
- bl Free
- movs r0, 0
- bl GetBgTilemapBuffer
- bl Free
- bl FreeMonSpritesGfx
- ldr r0, [r7]
- bl Free
- str r4, [r7]
-_0807E3F6:
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
- bl sub_807E784
-_0807E400:
- movs r0, 0
-_0807E402:
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_807CFC8
-
- thumb_func_start c2_08053788
-c2_08053788: @ 807E414
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _0807E434
- cmp r0, 0x4
- beq _0807E444
- b _0807E4B4
- .pool
-_0807E434:
- movs r0, 0x4
- strb r0, [r1]
- ldr r1, =gSoftResetDisabled
- movs r0, 0x1
- b _0807E4B2
- .pool
-_0807E444:
- ldr r0, =gCB2_AfterEvolution
- ldr r1, =sub_807EB50
- mov r8, r1
- str r1, [r0]
- ldr r7, =gUnknown_02032298
- ldrb r0, [r7]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- movs r1, 0x1
- movs r2, 0
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _0807E494
- ldrb r3, [r7]
- adds r0, r3, 0
- muls r0, r6
- adds r0, r5
- ldr r1, =gUnknown_020322A0
- ldr r1, [r1]
- adds r1, 0x8F
- ldrb r2, [r1]
- adds r1, r4, 0
- bl TradeEvolutionScene
- b _0807E4AE
- .pool
-_0807E494:
- bl sub_8077260
- cmp r0, 0
- beq _0807E4A8
- ldr r0, =sub_807F464
- bl SetMainCallback2
- b _0807E4AE
- .pool
-_0807E4A8:
- mov r0, r8
- bl SetMainCallback2
-_0807E4AE:
- ldr r1, =gUnknown_02032298
- movs r0, 0xFF
-_0807E4B2:
- strb r0, [r1]
-_0807E4B4:
- bl HasLinkErrorOccurred
- lsls r0, 24
- cmp r0, 0
- bne _0807E4C2
- bl RunTasks
-_0807E4C2:
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_08053788
-
- thumb_func_start sub_807E4DC
-sub_807E4DC: @ 807E4DC
- push {r4-r6,lr}
- bl sub_807ACDC
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0x1
- adds r0, r5, 0
- ands r0, r6
- cmp r0, 0
- beq _0807E51A
- ldr r4, =gBlockRecvBuffer
- ldrh r1, [r4]
- ldr r0, =0x0000dcba
- cmp r1, r0
- bne _0807E504
- ldr r0, =c2_08053788
- bl SetMainCallback2
-_0807E504:
- ldrh r1, [r4]
- ldr r0, =0x0000abcd
- cmp r1, r0
- bne _0807E514
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x72
- strb r6, [r0]
-_0807E514:
- movs r0, 0
- bl ResetBlockReceivedFlag
-_0807E51A:
- movs r0, 0x2
- ands r0, r5
- cmp r0, 0
- beq _0807E542
- ldr r0, =gBlockRecvBuffer
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, =0x0000abcd
- cmp r1, r0
- bne _0807E53C
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x73
- movs r1, 0x1
- strb r1, [r0]
-_0807E53C:
- movs r0, 0x1
- bl ResetBlockReceivedFlag
-_0807E542:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807E4DC
-
- thumb_func_start sub_807E55C
-sub_807E55C: @ 807E55C
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- movs r1, 0xA
- bl __divsi3
- ldrh r4, [r5, 0x22]
- adds r4, r0
- strh r4, [r5, 0x22]
- ldrh r0, [r5, 0x30]
- ldrh r2, [r5, 0x38]
- adds r0, r2
- strh r0, [r5, 0x38]
- movs r1, 0x38
- ldrsh r0, [r5, r1]
- movs r1, 0xA
- bl __divsi3
- strh r0, [r5, 0x20]
- lsls r4, 16
- asrs r4, 16
- cmp r4, 0x4C
- ble _0807E5AA
- movs r0, 0x4C
- strh r0, [r5, 0x22]
- movs r2, 0x2E
- ldrsh r1, [r5, r2]
- movs r2, 0x32
- ldrsh r0, [r5, r2]
- muls r0, r1
- negs r0, r0
- movs r1, 0x64
- bl __divsi3
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x34]
- adds r0, 0x1
- strh r0, [r5, 0x34]
-_0807E5AA:
- movs r1, 0x20
- ldrsh r0, [r5, r1]
- cmp r0, 0x78
- bne _0807E5B6
- movs r0, 0
- strh r0, [r5, 0x30]
-_0807E5B6:
- ldrh r0, [r5, 0x36]
- ldrh r2, [r5, 0x2E]
- adds r0, r2
- strh r0, [r5, 0x2E]
- movs r1, 0x34
- ldrsh r0, [r5, r1]
- cmp r0, 0x4
- bne _0807E5CE
- movs r0, 0x1
- strh r0, [r5, 0x3C]
- ldr r0, =SpriteCallbackDummy
- str r0, [r5, 0x1C]
-_0807E5CE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807E55C
-
- thumb_func_start sub_807E5D8
-sub_807E5D8: @ 807E5D8
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r1, =gUnknown_08339024
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0x16
- bne _0807E600
- movs r0, 0x38
- bl PlaySE
-_0807E600:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2C
- bne _0807E636
- movs r0, 0x8C
- bl PlaySE
- ldr r0, =sub_807E64C
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldrb r1, [r4, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- movs r1, 0x1
- negs r1, r1
- ldr r2, =0x0000ffff
- str r2, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_0807E636:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807E5D8
-
- thumb_func_start sub_807E64C
-sub_807E64C: @ 807E64C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x14
- bne _0807E660
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_0807E660:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _0807E69E
- ldr r1, =gUnknown_08339024
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- adds r0, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- ldrh r0, [r4, 0x26]
- subs r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x17
- bne _0807E69E
- adds r0, r4, 0
- bl DestroySprite
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x94
- movs r1, 0xE
- strh r1, [r0]
-_0807E69E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807E64C
-
- thumb_func_start sub_807E6AC
-sub_807E6AC: @ 807E6AC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x32]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0807E6DC
- ldrh r0, [r4, 0x22]
- adds r0, 0x4
- strh r0, [r4, 0x22]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x34
- ldrsh r1, [r4, r3]
- cmp r0, r1
- ble _0807E72C
- adds r0, r2, 0x1
- strh r0, [r4, 0x32]
- movs r0, 0x16
- strh r0, [r4, 0x2E]
- movs r0, 0x38
- bl PlaySE
- b _0807E72C
-_0807E6DC:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x42
- bne _0807E6EA
- movs r0, 0x39
- bl PlaySE
-_0807E6EA:
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0x5C
- bne _0807E6F8
- movs r0, 0x3A
- bl PlaySE
-_0807E6F8:
- movs r3, 0x2E
- ldrsh r0, [r4, r3]
- cmp r0, 0x6B
- bne _0807E706
- movs r0, 0x3B
- bl PlaySE
-_0807E706:
- ldr r1, =gUnknown_08339024
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r3, [r4, 0x26]
- adds r0, r3
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6C
- bne _0807E72C
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_0807E72C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807E6AC
-
- thumb_func_start sub_807E73C
-sub_807E73C: @ 807E73C
- push {r4-r6,lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r4, r0, 4
- subs r4, r0
- lsls r4, 2
- ldr r0, =gIngameTrades
- adds r4, r0
- ldr r0, =gStringVar1
- ldrh r1, [r4, 0x38]
- movs r6, 0xB
- muls r1, r6
- ldr r5, =gSpeciesNames
- adds r1, r5
- bl StringCopy
- ldr r0, =gStringVar2
- ldrh r1, [r4, 0xC]
- muls r1, r6
- adds r1, r5
- bl StringCopy
- ldrh r0, [r4, 0x38]
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_807E73C
-
- thumb_func_start sub_807E784
-sub_807E784: @ 807E784
- push {r4,lr}
- sub sp, 0x20
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r4, r0, 4
- subs r4, r0
- lsls r4, 2
- ldr r0, =gIngameTrades
- adds r4, r0
- ldr r0, =gSpecialVar_0x8005
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- ldr r0, =gStringVar1
- mov r1, sp
- bl StringCopy10
- ldr r0, =gStringVar2
- ldrh r2, [r4, 0xC]
- movs r1, 0xB
- muls r1, r2
- ldr r2, =gSpeciesNames
- adds r1, r2
- bl StringCopy
- add sp, 0x20
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807E784
-
- thumb_func_start sub_807E7E8
-sub_807E7E8: @ 807E7E8
- push {r4-r7,lr}
- sub sp, 0x38
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, r1, 4
- subs r2, r1
- lsls r2, 2
- ldr r1, =gIngameTrades
- adds r5, r2, r1
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x38
- bl GetMonData
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- add r4, sp, 0x34
- movs r0, 0xFE
- strb r0, [r4]
- ldr r6, =gEnemyParty
- ldrh r1, [r5, 0xC]
- movs r3, 0x1
- str r3, [sp]
- ldr r0, [r5, 0x24]
- str r0, [sp, 0x4]
- str r3, [sp, 0x8]
- ldr r0, [r5, 0x18]
- str r0, [sp, 0xC]
- adds r0, r6, 0
- movs r3, 0x20
- bl CreateMon
- adds r2, r5, 0
- adds r2, 0xE
- adds r0, r6, 0
- movs r1, 0x27
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0xF
- adds r0, r6, 0
- movs r1, 0x28
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x10
- adds r0, r6, 0
- movs r1, 0x29
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x11
- adds r0, r6, 0
- movs r1, 0x2A
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x12
- adds r0, r6, 0
- movs r1, 0x2B
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x13
- adds r0, r6, 0
- movs r1, 0x2C
- bl SetMonData
- adds r0, r6, 0
- movs r1, 0x2
- adds r2, r5, 0
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x2B
- adds r0, r6, 0
- movs r1, 0x7
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x36
- adds r0, r6, 0
- movs r1, 0x31
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x14
- adds r0, r6, 0
- movs r1, 0x2E
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x1D
- adds r0, r6, 0
- movs r1, 0x17
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x1E
- adds r0, r6, 0
- movs r1, 0x18
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x1C
- adds r0, r6, 0
- movs r1, 0x16
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x1F
- adds r0, r6, 0
- movs r1, 0x21
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x20
- adds r0, r6, 0
- movs r1, 0x2F
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x37
- adds r0, r6, 0
- movs r1, 0x30
- bl SetMonData
- adds r0, r6, 0
- movs r1, 0x23
- adds r2, r4, 0
- bl SetMonData
- mov r4, sp
- adds r4, 0x35
- movs r0, 0
- strb r0, [r4]
- ldrh r0, [r5, 0x28]
- cmp r0, 0
- beq _0807E960
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _0807E954
- add r0, sp, 0x10
- adds r1, r5, 0
- bl sub_807E974
- ldr r0, =gUnknown_020321C0
- add r1, sp, 0x10
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- adds r0, r6, 0
- movs r1, 0x40
- adds r2, r4, 0
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x28
- adds r0, r6, 0
- movs r1, 0xC
- bl SetMonData
- b _0807E960
- .pool
-_0807E954:
- adds r2, r5, 0
- adds r2, 0x28
- adds r0, r6, 0
- movs r1, 0xC
- bl SetMonData
-_0807E960:
- ldr r0, =gEnemyParty
- bl CalculateMonStats
- add sp, 0x38
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807E7E8
-
- thumb_func_start sub_807E974
-sub_807E974: @ 807E974
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r2, =gUnknown_08338FC0
- adds r0, r6, 0
- adds r0, 0x2A
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r2
- adds r1, r5, 0
- movs r3, 0x8
-_0807E98E:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _0807E98E
- adds r4, r5, 0
- adds r4, 0x12
- adds r1, r6, 0
- adds r1, 0x2B
- adds r0, r4, 0
- bl StringCopy
- adds r0, r4, 0
- movs r1, 0
- bl PadNameString
- ldr r1, [r6, 0x18]
- lsrs r0, r1, 24
- strb r0, [r5, 0x1A]
- lsrs r0, r1, 16
- strb r0, [r5, 0x1B]
- lsrs r0, r1, 8
- strb r0, [r5, 0x1C]
- strb r1, [r5, 0x1D]
- ldrh r0, [r6, 0xC]
- strh r0, [r5, 0x1E]
- ldrh r0, [r6, 0x28]
- strh r0, [r5, 0x20]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807E974
-
- thumb_func_start sub_807E9D4
-sub_807E9D4: @ 807E9D4
- push {r4-r6,lr}
- ldr r6, =gSpecialVar_0x8005
- ldrh r0, [r6]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0807EA08
- ldrh r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- b _0807EA0A
- .pool
-_0807EA08:
- movs r0, 0
-_0807EA0A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_807E9D4
-
- thumb_func_start sub_807EA10
-sub_807EA10: @ 807EA10
- push {lr}
- ldr r0, =gSpecialVar_0x8005
- ldrb r0, [r0]
- ldr r1, =gSpecialVar_0x8004
- ldrb r1, [r1]
- bl sub_807E7E8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807EA10
-
- thumb_func_start sub_807EA2C
-sub_807EA2C: @ 807EA2C
- push {r4-r6,lr}
- bl sub_807BBC8
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x1
- bne _0807EA96
- ldr r5, =gUnknown_020322A0
- ldr r0, [r5]
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySprite
- ldr r0, [r5]
- adds r0, 0x8F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldr r0, =gUnknown_02032298
- ldrb r4, [r0]
- ldrb r0, [r0, 0x1]
- movs r1, 0x6
- bl __umodsi3
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_807B4D0
- bl sub_8077260
- cmp r0, 0
- bne _0807EA90
- ldr r0, [r5]
- adds r2, r0, 0
- adds r2, 0x74
- ldr r1, =0x0000abcd
- strh r1, [r2]
- adds r0, 0x93
- strb r6, [r0]
-_0807EA90:
- ldr r0, =sub_807EACC
- bl SetMainCallback2
-_0807EA96:
- bl sub_807B5B8
- bl sub_807E4DC
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807EA2C
-
- thumb_func_start sub_807EACC
-sub_807EACC: @ 807EACC
- push {r4,lr}
- bl sub_807ACDC
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8077260
- cmp r0, 0
- beq _0807EAEC
- ldr r0, =c2_08053788
- bl SetMainCallback2
- b _0807EB2C
- .pool
-_0807EAEC:
- bl sub_807E4DC
- cmp r4, 0
- bne _0807EB2C
- ldr r4, =gUnknown_020322A0
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x72
- ldrh r1, [r0]
- ldr r0, =0x00000101
- cmp r1, r0
- bne _0807EB2C
- adds r1, r2, 0
- adds r1, 0x74
- ldr r0, =0x0000dcba
- strh r0, [r1]
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- adds r1, 0x74
- movs r2, 0x14
- bl SendBlock
- ldr r0, [r4]
- adds r0, 0x72
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x73
- strb r1, [r0]
-_0807EB2C:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807EACC
-
- thumb_func_start sub_807EB50
-sub_807EB50: @ 807EB50
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x65
- bls _0807EB66
- b _0807F03A
-_0807EB66:
- lsls r0, 2
- ldr r1, =_0807EB78
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807EB78:
- .4byte _0807ED10
- .4byte _0807ED2C
- .4byte _0807ED98
- .4byte _0807F03A
- .4byte _0807EE78
- .4byte _0807EF3C
- .4byte _0807EF64
- .4byte _0807EF7E
- .4byte _0807EFA4
- .4byte _0807EFF0
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807EE9C
- .4byte _0807EEEC
- .4byte _0807EF1A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807EDC0
- .4byte _0807EE1C
- .4byte _0807EE38
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807ED44
- .4byte _0807ED7C
-_0807ED10:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r4, =gStringVar4
- ldr r1, =gText_CommunicationStandby5
- b _0807EDA6
- .pool
-_0807ED2C:
- movs r0, 0
- bl sub_8077288
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0x64
- b _0807EE88
- .pool
-_0807ED44:
- ldr r0, =gUnknown_020322A0
- ldr r3, [r0]
- ldr r0, [r3, 0x64]
- adds r0, 0x1
- str r0, [r3, 0x64]
- cmp r0, 0xB4
- bls _0807ED60
- movs r1, 0x87
- lsls r1, 3
- adds r0, r2, r1
- movs r2, 0
- movs r1, 0x65
- strb r1, [r0]
- str r2, [r3, 0x64]
-_0807ED60:
- bl sub_8077294
- cmp r0, 0
- bne _0807ED6A
- b _0807F03A
-_0807ED6A:
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- b _0807ED8E
- .pool
-_0807ED7C:
- bl sub_8077294
- cmp r0, 0
- bne _0807ED86
- b _0807F03A
-_0807ED86:
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
-_0807ED8E:
- movs r1, 0x2
- strb r1, [r0]
- b _0807F03A
- .pool
-_0807ED98:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- movs r0, 0x32
- strb r0, [r1]
- ldr r4, =gStringVar4
- ldr r1, =gText_SavingDontTurnOffPower
-_0807EDA6:
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- b _0807F03A
- .pool
-_0807EDC0:
- bl InUnionRoom
- cmp r0, 0
- bne _0807EDCE
- movs r0, 0x15
- bl IncrementGameStat
-_0807EDCE:
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807EDF6
- ldr r4, =gLinkPlayers
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r4, 0x4
- adds r1, r4
- ldr r1, [r1]
- movs r0, 0x2
- bl sub_801B990
-_0807EDF6:
- bl sub_8076D5C
- bl sub_8153380
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- b _0807EE8A
- .pool
-_0807EE1C:
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x5
- beq _0807EE2C
- b _0807F03A
-_0807EE2C:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- b _0807EFE4
- .pool
-_0807EE38:
- bl sub_81533AC
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0807EE5C
- bl sav2_gender2_inplace_and_xFE
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x4
- strb r1, [r0]
- b _0807F03A
- .pool
-_0807EE5C:
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- str r1, [r0, 0x64]
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x33
- strb r1, [r0]
- b _0807F03A
- .pool
-_0807EE78:
- bl sub_81533E0
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0x28
-_0807EE88:
- strb r1, [r0]
-_0807EE8A:
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- str r2, [r0, 0x64]
- b _0807F03A
- .pool
-_0807EE9C:
- ldr r4, =gUnknown_020322A0
- ldr r1, [r4]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x32
- bhi _0807EEAC
- b _0807F03A
-_0807EEAC:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _0807EED4
- bl Random
- ldr r4, [r4]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1E
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- str r0, [r4, 0x64]
- b _0807EEDA
- .pool
-_0807EED4:
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1, 0x64]
-_0807EEDA:
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x29
- strb r1, [r0]
- b _0807F03A
- .pool
-_0807EEEC:
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- ldr r0, [r1, 0x64]
- cmp r0, 0
- bne _0807EF14
- movs r0, 0x1
- bl sub_8077288
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x2A
- strb r1, [r0]
- b _0807F03A
- .pool
-_0807EF14:
- subs r0, 0x1
- str r0, [r1, 0x64]
- b _0807F03A
-_0807EF1A:
- bl sub_8077294
- cmp r0, 0
- bne _0807EF24
- b _0807F03A
-_0807EF24:
- bl sub_8153408
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x5
- strb r1, [r0]
- b _0807F03A
- .pool
-_0807EF3C:
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x3C
- bls _0807F03A
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0x2
- bl sub_8077288
- b _0807F03A
- .pool
-_0807EF64:
- bl sub_8077294
- cmp r0, 0
- beq _0807F03A
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0807EFDC
-_0807EF7E:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0807F03A
- movs r0, 0x3
- bl FadeOutBGM
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _0807EFE4
- .pool
-_0807EFA4:
- bl IsBGMStopped
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0807F03A
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807EFD8
- ldr r0, =gMain
- ldr r1, [r0, 0x8]
- ldr r0, =sub_80773AC
- cmp r1, r0
- bne _0807EFD8
- movs r0, 0x3
- bl sub_8077288
- b _0807EFDC
- .pool
-_0807EFD8:
- bl sub_800AC34
-_0807EFDC:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
-_0807EFE4:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0807F03A
- .pool
-_0807EFF0:
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807F028
- ldr r1, [r2, 0x8]
- ldr r0, =sub_80773AC
- cmp r1, r0
- bne _0807F028
- bl sub_8077294
- cmp r0, 0
- beq _0807F03A
- ldr r0, =gSoftResetDisabled
- movs r1, 0
- strb r1, [r0]
- ldr r0, =c2_080543C4
- bl SetMainCallback2
- b _0807F03A
- .pool
-_0807F028:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r1, [r0]
- cmp r1, 0
- bne _0807F03A
- ldr r0, =gSoftResetDisabled
- strb r1, [r0]
- ldr r0, =c2_080543C4
- bl SetMainCallback2
-_0807F03A:
- bl HasLinkErrorOccurred
- lsls r0, 24
- cmp r0, 0
- bne _0807F048
- bl RunTasks
-_0807F048:
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807EB50
-
- thumb_func_start c2_080543C4
-c2_080543C4: @ 807F068
- push {r4,r5,lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0807F0BE
- bl FreeAllWindowBuffers
- movs r0, 0x3
- bl GetBgTilemapBuffer
- bl Free
- movs r0, 0x1
- bl GetBgTilemapBuffer
- bl Free
- movs r0, 0
- bl GetBgTilemapBuffer
- bl Free
- bl FreeMonSpritesGfx
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807F0B6
- bl sub_800E084
-_0807F0B6:
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_0807F0BE:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_080543C4
-
- thumb_func_start sub_807F0E4
-sub_807F0E4: @ 807F0E4
- push {lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- ldr r0, =sub_807F110
- movs r1, 0xA
- bl CreateTask
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807F0E4
-
- thumb_func_start sub_807F110
-sub_807F110: @ 807F110
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0807F134
- ldr r0, =sub_807B270
- bl SetMainCallback2
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF168
- str r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
-_0807F134:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807F110
-
- thumb_func_start sub_807F14C
-sub_807F14C: @ 807F14C
- push {r4,r5,lr}
- movs r5, 0
- movs r4, 0
-_0807F152:
- ldr r0, =gUnknown_02032298
- ldrb r0, [r0, 0x1]
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- adds r1, r4, 0
- adds r1, 0x43
- bl GetMonData
- adds r0, r5, r0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xB
- bls _0807F152
- cmp r5, 0
- beq _0807F18A
- ldr r0, =0x0000089b
- bl FlagSet
-_0807F18A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807F14C
-
- thumb_func_start sub_807F19C
-sub_807F19C: @ 807F19C
- push {lr}
- bl sub_807B170
- pop {r0}
- bx r0
- thumb_func_end sub_807F19C
-
- thumb_func_start sub_807F1A8
-sub_807F1A8: @ 807F1A8
- push {r4-r6,lr}
- sub sp, 0x14
- adds r5, r0, 0
- adds r6, r1, 0
- adds r4, r2, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- ldr r2, =gUnknown_020322A0
- ldr r0, [r2]
- adds r0, 0xF6
- movs r3, 0
- movs r1, 0xF
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xF7
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xF8
- movs r1, 0x6
- strb r1, [r0]
- str r3, [sp]
- str r3, [sp, 0x4]
- ldr r0, [r2]
- adds r0, 0xF6
- str r0, [sp, 0x8]
- lsls r4, 24
- asrs r4, 24
- str r4, [sp, 0xC]
- str r6, [sp, 0x10]
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x2
- bl AddTextPrinterParameterized4
- adds r0, r5, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807F1A8
-
- thumb_func_start c3_08054588
-c3_08054588: @ 807F210
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldr r1, =gUnknown_08339090
- movs r2, 0
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r2, r1, 0
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _0807F254
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- beq _0807F25C
- lsls r0, r1, 1
- ldr r1, =gUnknown_08337AA0
- adds r0, r1
- b _0807F25E
- .pool
-_0807F254:
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- bne _0807F26C
-_0807F25C:
- ldr r0, =gUnknown_08337EA0
-_0807F25E:
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- b _0807F27A
- .pool
-_0807F26C:
- lsls r0, r2, 1
- ldr r1, =gUnknown_08337CA0
- adds r0, r1
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
-_0807F27A:
- ldr r0, =gUnknown_08339090
- movs r2, 0
- ldrsh r1, [r4, r2]
- lsls r1, 1
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _0807F298
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _0807F298
- movs r0, 0xC3
- bl PlaySE
-_0807F298:
- movs r0, 0x2
- ldrsh r2, [r4, r0]
- ldr r1, =gUnknown_08339090
- movs r3, 0
- ldrsh r0, [r4, r3]
- lsls r0, 1
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r2, r0
- bne _0807F2D8
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- movs r0, 0
- strh r0, [r4, 0x2]
- movs r2, 0
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _0807F2DE
- adds r0, r5, 0
- bl DestroyTask
- b _0807F2DE
- .pool
-_0807F2D8:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
-_0807F2DE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end c3_08054588
-
- thumb_func_start c3_0805465C
-c3_0805465C: @ 807F2E4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r0, 0
- ldrsh r4, [r5, r0]
- cmp r4, 0
- bne _0807F336
- ldr r2, =gUnknown_020322A0
- ldr r0, [r2]
- adds r3, r0, 0
- adds r3, 0xFD
- movs r1, 0x78
- strb r1, [r3]
- adds r0, 0xFB
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xFC
- strb r4, [r0]
- ldr r0, [r2]
- adds r0, 0xFE
- movs r1, 0xA0
- strb r1, [r0]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl SetGpuRegBits
- movs r0, 0x4A
- movs r1, 0x10
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x13
- bl SetGpuReg
-_0807F336:
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0xFD
- ldrb r1, [r1]
- adds r0, 0xFB
- ldrb r0, [r0]
- lsls r0, 8
- orrs r1, r0
- movs r0, 0x40
- bl SetGpuReg
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0xFE
- ldrb r1, [r1]
- adds r0, 0xFC
- ldrb r0, [r0]
- lsls r0, 8
- orrs r1, r0
- movs r0, 0x44
- bl SetGpuReg
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- ldr r1, [r4]
- adds r1, 0xFB
- ldrb r0, [r1]
- subs r0, 0x5
- strb r0, [r1]
- ldr r1, [r4]
- adds r1, 0xFD
- ldrb r0, [r1]
- adds r0, 0x5
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0xFB
- ldrb r0, [r0]
- cmp r0, 0x4F
- bhi _0807F38E
- adds r0, r6, 0
- bl DestroyTask
-_0807F38E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c3_0805465C
-
- thumb_func_start sub_807F39C
-sub_807F39C: @ 807F39C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0807F3D8
- ldr r2, =gUnknown_020322A0
- ldr r0, [r2]
- adds r0, 0xFB
- movs r1, 0x50
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xFD
- movs r1, 0xA0
- strb r1, [r0]
- movs r0, 0x4A
- movs r1, 0x10
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x13
- bl SetGpuReg
-_0807F3D8:
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0xFD
- ldrb r1, [r1]
- adds r0, 0xFB
- ldrb r0, [r0]
- lsls r0, 8
- orrs r1, r0
- movs r0, 0x40
- bl SetGpuReg
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0xFE
- ldrb r1, [r1]
- adds r0, 0xFC
- ldrb r0, [r0]
- lsls r0, 8
- orrs r1, r0
- movs r0, 0x44
- bl SetGpuReg
- ldr r0, [r4]
- adds r0, 0xFB
- ldrb r0, [r0]
- cmp r0, 0x78
- beq _0807F44C
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- ldr r1, [r4]
- adds r1, 0xFB
- ldrb r0, [r1]
- adds r0, 0x5
- strb r0, [r1]
- ldr r1, [r4]
- adds r1, 0xFD
- ldrb r0, [r1]
- subs r0, 0x5
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0xFB
- ldrb r0, [r0]
- cmp r0, 0x73
- bls _0807F45C
- ldr r2, =0x0000ffff
- movs r0, 0x8
- movs r1, 0
- bl BlendPalettes
- b _0807F45C
- .pool
-_0807F44C:
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl ClearGpuRegBits
- adds r0, r6, 0
- bl DestroyTask
-_0807F45C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_807F39C
-
- thumb_func_start sub_807F464
-sub_807F464: @ 807F464
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0xC
- bls _0807F47A
- b _0807F70C
-_0807F47A:
- lsls r0, 2
- ldr r1, =_0807F48C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807F48C:
- .4byte _0807F4C0
- .4byte _0807F4E8
- .4byte _0807F500
- .4byte _0807F550
- .4byte _0807F570
- .4byte _0807F5AC
- .4byte _0807F5D0
- .4byte _0807F620
- .4byte _0807F64E
- .4byte _0807F66C
- .4byte _0807F694
- .4byte _0807F6C4
- .4byte _0807F6F8
-_0807F4C0:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r4, =gStringVar4
- ldr r1, =gText_CommunicationStandby5
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- b _0807F70C
- .pool
-_0807F4E8:
- movs r0, 0
- bl sub_8077288
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0x2
- b _0807F5BC
- .pool
-_0807F500:
- bl sub_8077294
- cmp r0, 0
- bne _0807F50A
- b _0807F70C
-_0807F50A:
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r5, 0
- movs r1, 0x3
- strb r1, [r0]
- ldr r4, =gStringVar4
- ldr r1, =gText_SavingDontTurnOffPower
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- movs r0, 0x15
- bl IncrementGameStat
- bl sub_8153380
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- str r5, [r0, 0x64]
- b _0807F70C
- .pool
-_0807F550:
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x5
- beq _0807F560
- b _0807F70C
-_0807F560:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- movs r0, 0x4
- strb r0, [r1]
- b _0807F70C
- .pool
-_0807F570:
- bl sub_81533AC
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0807F590
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x5
- strb r1, [r0]
- b _0807F70C
- .pool
-_0807F590:
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- str r1, [r0, 0x64]
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x3
- strb r1, [r0]
- b _0807F70C
- .pool
-_0807F5AC:
- bl sub_81533E0
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0x6
-_0807F5BC:
- strb r1, [r0]
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- str r2, [r0, 0x64]
- b _0807F70C
- .pool
-_0807F5D0:
- ldr r4, =gUnknown_020322A0
- ldr r1, [r4]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0xA
- bhi _0807F5E0
- b _0807F70C
-_0807F5E0:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _0807F608
- bl Random
- ldr r4, [r4]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1E
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- str r0, [r4, 0x64]
- b _0807F60E
- .pool
-_0807F608:
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1, 0x64]
-_0807F60E:
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x7
- strb r1, [r0]
- b _0807F70C
- .pool
-_0807F620:
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- ldr r0, [r1, 0x64]
- cmp r0, 0
- bne _0807F648
- movs r0, 0x1
- bl sub_8077288
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x8
- strb r1, [r0]
- b _0807F70C
- .pool
-_0807F648:
- subs r0, 0x1
- str r0, [r1, 0x64]
- b _0807F70C
-_0807F64E:
- bl sub_8077294
- cmp r0, 0
- beq _0807F70C
- bl sub_8153408
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x9
- strb r1, [r0]
- b _0807F70C
- .pool
-_0807F66C:
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x3C
- bls _0807F70C
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0x2
- bl sub_8077288
- b _0807F70C
- .pool
-_0807F694:
- bl sub_8077294
- cmp r0, 0
- beq _0807F70C
- movs r0, 0x3
- bl FadeOutBGM
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0xB
- strb r1, [r0]
- b _0807F70C
- .pool
-_0807F6C4:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0807F70C
- bl IsBGMStopped
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0807F70C
- movs r0, 0x3
- bl sub_8077288
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0xC
- strb r1, [r0]
- b _0807F70C
- .pool
-_0807F6F8:
- bl sub_8077294
- cmp r0, 0
- beq _0807F70C
- ldr r0, =gSoftResetDisabled
- movs r1, 0
- strb r1, [r0]
- ldr r0, =c2_080543C4
- bl SetMainCallback2
-_0807F70C:
- bl HasLinkErrorOccurred
- lsls r0, 24
- cmp r0, 0
- bne _0807F71A
- bl RunTasks
-_0807F71A:
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807F464
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/trainer_card.s b/asm/trainer_card.s
index e0cb5e21e..d0f26e0e1 100644
--- a/asm/trainer_card.s
+++ b/asm/trainer_card.s
@@ -4971,7 +4971,7 @@ _080C5204:
b _080C52C8
_080C5214:
str r4, [r0]
- bl sav1_map_get_name
+ bl GetCurrentRegionMapSectionId
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x3A
@@ -6952,10 +6952,10 @@ sub_80C62DC: @ 80C62DC
bl LoadSpritePalettes
ldr r4, =gUnknown_085714BC
adds r0, r4, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r4, 0x10
adds r0, r4, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
ldr r0, =gUnknown_085715B4
ldr r1, =gUnknown_02039CEC
ldr r2, [r1]
@@ -7706,7 +7706,7 @@ sub_80C6974: @ 80C6974
bl LoadSpritePalettes
ldr r6, =gUnknown_085714BC
adds r0, r6, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
ldr r0, =gUnknown_085715B4
mov r8, r0
ldr r4, =gUnknown_02039CF4
@@ -7747,7 +7747,7 @@ sub_80C6974: @ 80C6974
bl StartSpriteAnim
adds r6, 0x8
adds r0, r6, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
movs r3, 0x18
add r8, r3
ldr r6, =gUnknown_08571650
@@ -7780,7 +7780,7 @@ sub_80C6974: @ 80C6974
adds r1, r6
ldrb r1, [r1, 0xC]
bl StartSpriteAnim
- bl sav1_map_get_name
+ bl GetCurrentRegionMapSectionId
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0x3A
@@ -7875,7 +7875,7 @@ _080C6AEE:
lsrs r4, r0, 16
_080C6AF2:
ldr r0, =gUnknown_085714D4
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
mov r1, sp
ldr r0, =gUnknown_085715FC
ldm r0!, {r2,r3,r6}
diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s
index d294a2fae..d2d4913b1 100644
--- a/asm/use_pokeblock.s
+++ b/asm/use_pokeblock.s
@@ -3273,7 +3273,7 @@ sub_8168248: @ 8168248
orrs r0, r1
str r0, [sp, 0x4]
mov r0, sp
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
add r0, sp, 0x8
bl LoadSpritePalette
add sp, 0x10