summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_anim_effects_3.s44
-rw-r--r--asm/contest.s6
-rw-r--r--asm/contest_link_80F57C4.s8
-rw-r--r--asm/dark.s2199
-rw-r--r--asm/easy_chat.s2
-rw-r--r--asm/fldeff_80F9BCC.s2514
-rw-r--r--asm/flying.s26
-rw-r--r--asm/ice.s2944
-rw-r--r--asm/macros/event.inc68
-rw-r--r--asm/macros/map.inc2
-rw-r--r--asm/party_menu.s18014
-rw-r--r--asm/pokemon_storage_system.s20963
-rw-r--r--asm/pokenav.s40
-rw-r--r--asm/psychic.s2172
-rw-r--r--asm/rom_8011DC0.s16
-rw-r--r--asm/roulette.s6
-rw-r--r--asm/trade.s156
-rw-r--r--asm/trainer_card.s10
-rw-r--r--asm/use_pokeblock.s2
-rw-r--r--asm/water.s3607
20 files changed, 126 insertions, 52673 deletions
diff --git a/asm/battle_anim_effects_3.s b/asm/battle_anim_effects_3.s
index 4b9466786..cfcfb93f9 100644
--- a/asm/battle_anim_effects_3.s
+++ b/asm/battle_anim_effects_3.s
@@ -5,50 +5,6 @@
.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
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..b869adf1b 100644
--- a/asm/contest_link_80F57C4.s
+++ b/asm/contest_link_80F57C4.s
@@ -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
diff --git a/asm/dark.s b/asm/dark.s
deleted file mode 100644
index d3f44db0b..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 sub_80A8364
- 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 sub_80A8364
- 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 sub_80A8364
- 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 sub_80A8364
- 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 sub_80A8364
- 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 sub_80A8364
- 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/fldeff_80F9BCC.s b/asm/fldeff_80F9BCC.s
deleted file mode 100644
index a361faa32..000000000
--- a/asm/fldeff_80F9BCC.s
+++ /dev/null
@@ -1,2514 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80F9BCC
-sub_80F9BCC: @ 80F9BCC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =sub_80F9C90
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80F9C44
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F9BCC
-
- thumb_func_start sub_80F9BF4
-sub_80F9BF4: @ 80F9BF4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =sub_80F9DFC
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80F9C44
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F9BF4
-
- thumb_func_start sub_80F9C1C
-sub_80F9C1C: @ 80F9C1C
- push {lr}
- ldr r0, =sub_80F9C90
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80F9C1C
-
- thumb_func_start sub_80F9C30
-sub_80F9C30: @ 80F9C30
- push {lr}
- ldr r0, =sub_80F9DFC
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80F9C30
-
- thumb_func_start sub_80F9C44
-sub_80F9C44: @ 80F9C44
- push {r4,r5,lr}
- lsls r1, 16
- lsrs r4, r1, 16
- adds r5, r4, 0
- lsls r3, 24
- lsrs r3, 24
- adds r1, r3, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0, r1
- movs r0, 0
- strh r0, [r1, 0x8]
- movs r0, 0x10
- cmp r4, 0
- beq _080F9C72
- adds r0, r4, 0
-_080F9C72:
- strh r0, [r1, 0xA]
- movs r0, 0x14
- cmp r5, 0
- beq _080F9C7C
- adds r0, r5, 0
-_080F9C7C:
- strh r0, [r1, 0xC]
- ldr r1, [r1]
- adds r0, r2, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F9C44
-
- thumb_func_start sub_80F9C90
-sub_80F9C90: @ 80F9C90
- 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 _080F9D10
- cmp r0, 0x1
- bgt _080F9CB8
- cmp r0, 0
- beq _080F9CC2
- b _080F9DDE
- .pool
-_080F9CB8:
- cmp r0, 0x2
- beq _080F9D32
- cmp r0, 0x3
- beq _080F9D94
- b _080F9DDE
-_080F9CC2:
- movs r0, 0x78
- strh r0, [r4, 0xE]
- strh r0, [r4, 0x10]
- movs r0, 0x50
- strh r0, [r4, 0x12]
- movs r0, 0x51
- strh r0, [r4, 0x14]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl SetGpuRegBits
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0x10]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x40
- bl SetGpuReg
- ldrh r1, [r4, 0x12]
- lsls r1, 8
- ldrh r0, [r4, 0x14]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- b _080F9DEE
-_080F9D10:
- movs r0, 0x50
- bl GetGpuReg
- strh r0, [r4, 0x16]
- movs r0, 0x54
- bl GetGpuReg
- strh r0, [r4, 0x18]
- movs r0, 0x50
- movs r1, 0xBF
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0x10
- bl SetGpuReg
- b _080F9DEE
-_080F9D32:
- ldrh r0, [r4, 0xE]
- ldrh r1, [r4, 0xA]
- subs r0, r1
- movs r5, 0
- strh r0, [r4, 0xE]
- ldrh r2, [r4, 0x10]
- adds r1, r2
- strh r1, [r4, 0x10]
- lsls r0, 16
- cmp r0, 0
- ble _080F9D50
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xEF
- ble _080F9D76
-_080F9D50:
- strh r5, [r4, 0xE]
- movs r0, 0xF0
- strh r0, [r4, 0x10]
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldrh r1, [r4, 0x16]
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- movs r2, 0
- bl BlendPalettes
- ldr r0, =gPlttBufferFaded
- strh r5, [r0]
-_080F9D76:
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0x10]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x40
- bl SetGpuReg
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- b _080F9DD8
- .pool
-_080F9D94:
- ldrh r0, [r4, 0x12]
- ldrh r1, [r4, 0xC]
- subs r0, r1
- strh r0, [r4, 0x12]
- ldrh r2, [r4, 0x14]
- adds r1, r2
- strh r1, [r4, 0x14]
- lsls r0, 16
- cmp r0, 0
- ble _080F9DB0
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x9F
- ble _080F9DC2
-_080F9DB0:
- movs r0, 0
- strh r0, [r4, 0x12]
- movs r0, 0xA0
- strh r0, [r4, 0x14]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl ClearGpuRegBits
-_080F9DC2:
- ldrh r1, [r4, 0x12]
- lsls r1, 8
- ldrh r0, [r4, 0x14]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- movs r1, 0x12
- ldrsh r0, [r4, r1]
-_080F9DD8:
- cmp r0, 0
- bne _080F9DF4
- b _080F9DEE
-_080F9DDE:
- ldrh r1, [r4, 0x16]
- movs r0, 0x50
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyTask
- b _080F9DF4
-_080F9DEE:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080F9DF4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80F9C90
-
- thumb_func_start sub_80F9DFC
-sub_80F9DFC: @ 80F9DFC
- 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 r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _080F9E38
- cmp r1, 0x1
- bgt _080F9E24
- cmp r1, 0
- beq _080F9E2E
- b _080F9F2C
- .pool
-_080F9E24:
- cmp r1, 0x2
- beq _080F9E86
- cmp r1, 0x3
- beq _080F9ED8
- b _080F9F2C
-_080F9E2E:
- ldr r0, =gPlttBufferFaded
- strh r1, [r0]
- b _080F9F4E
- .pool
-_080F9E38:
- movs r1, 0
- strh r1, [r4, 0xE]
- movs r0, 0xF0
- strh r0, [r4, 0x10]
- strh r1, [r4, 0x12]
- movs r0, 0xA0
- strh r0, [r4, 0x14]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl SetGpuRegBits
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0x10]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x40
- bl SetGpuReg
- ldrh r1, [r4, 0x12]
- lsls r1, 8
- ldrh r0, [r4, 0x14]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- b _080F9F4E
-_080F9E86:
- ldrh r0, [r4, 0xC]
- ldrh r2, [r4, 0x12]
- adds r1, r0, r2
- strh r1, [r4, 0x12]
- ldrh r2, [r4, 0x14]
- subs r0, r2, r0
- strh r0, [r4, 0x14]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x4F
- bgt _080F9EA4
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x51
- bgt _080F9EBC
-_080F9EA4:
- movs r0, 0x50
- strh r0, [r4, 0x12]
- movs r0, 0x51
- strh r0, [r4, 0x14]
- movs r0, 0x50
- movs r1, 0xBF
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0x10
- bl SetGpuReg
-_080F9EBC:
- ldrh r1, [r4, 0x12]
- lsls r1, 8
- ldrh r0, [r4, 0x14]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0x50
- bne _080F9F54
- b _080F9F4E
-_080F9ED8:
- ldrh r0, [r4, 0xA]
- ldrh r2, [r4, 0xE]
- adds r1, r0, r2
- strh r1, [r4, 0xE]
- ldrh r2, [r4, 0x10]
- subs r0, r2, r0
- strh r0, [r4, 0x10]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x77
- bgt _080F9EF6
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x78
- bgt _080F9F0C
-_080F9EF6:
- movs r0, 0x78
- strh r0, [r4, 0xE]
- strh r0, [r4, 0x10]
- subs r0, 0x79
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r1, =gPlttBufferFaded
- movs r0, 0
- strh r0, [r1]
-_080F9F0C:
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0x10]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x40
- bl SetGpuReg
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0x78
- bne _080F9F54
- b _080F9F4E
- .pool
-_080F9F2C:
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl ClearGpuRegBits
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyTask
- b _080F9F54
-_080F9F4E:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080F9F54:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80F9DFC
-
- thumb_func_start sub_80F9F5C
-sub_80F9F5C: @ 80F9F5C
- push {lr}
- ldr r0, =gPlayerFacingPosition
- ldr r1, =gMapHeader
- ldr r1, [r1, 0x4]
- bl sub_80E9608
- bl sub_80E8B6C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F9F5C
-
- thumb_func_start sub_80F9F78
-sub_80F9F78: @ 80F9F78
- push {lr}
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- beq _080F9FC0
- ldr r1, =gFieldEffectArguments
- ldr r0, [r1, 0x4]
- cmp r0, 0x2
- beq _080F9FAE
- cmp r0, 0x2
- bgt _080F9FA0
- cmp r0, 0x1
- beq _080F9FA6
- b _080F9FFE
- .pool
-_080F9FA0:
- cmp r0, 0x3
- beq _080F9FB6
- b _080F9FDC
-_080F9FA6:
- movs r0, 0x10
- str r0, [r1, 0x14]
- movs r0, 0x28
- b _080F9FFC
-_080F9FAE:
- movs r0, 0x10
- str r0, [r1, 0x14]
- movs r0, 0x8
- b _080F9FFC
-_080F9FB6:
- movs r0, 0x8
- negs r0, r0
- str r0, [r1, 0x14]
- movs r0, 0x18
- b _080F9FFC
-_080F9FC0:
- ldr r1, =gFieldEffectArguments
- ldr r0, [r1, 0x4]
- cmp r0, 0x2
- beq _080F9FEA
- cmp r0, 0x2
- bgt _080F9FD8
- cmp r0, 0x1
- beq _080F9FE2
- b _080F9FFE
- .pool
-_080F9FD8:
- cmp r0, 0x3
- beq _080F9FEE
-_080F9FDC:
- cmp r0, 0x4
- beq _080F9FF8
- b _080F9FFE
-_080F9FE2:
- movs r0, 0x8
- str r0, [r1, 0x14]
- movs r0, 0x28
- b _080F9FFC
-_080F9FEA:
- movs r0, 0x8
- b _080F9FFA
-_080F9FEE:
- movs r0, 0x8
- negs r0, r0
- str r0, [r1, 0x14]
- movs r0, 0x18
- b _080F9FFC
-_080F9FF8:
- movs r0, 0x18
-_080F9FFA:
- str r0, [r1, 0x14]
-_080F9FFC:
- str r0, [r1, 0x18]
-_080F9FFE:
- pop {r0}
- bx r0
- thumb_func_end sub_80F9F78
-
- thumb_func_start sub_80FA004
-sub_80FA004: @ 80FA004
- push {r4,lr}
- bl sub_80E8BC8
- ldr r0, =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _080FA0AE
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080FA0AE
- ldr r4, =gPlayerFacingPosition
- adds r1, r4, 0x2
- adds r0, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsSecretBaseCave
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FA070
- bl sub_80F9F5C
- ldr r1, =gFieldCallback2
- ldr r0, =FieldCallback_PrepareFadeInFromMenu
- str r0, [r1]
- ldr r1, =gPostMenuFieldCallback
- ldr r0, =sub_80FA0DC
- b _080FA0C0
- .pool
-_080FA070:
- adds r0, r4, 0
- bl MetatileBehavior_IsSecretBaseTree
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FA0A0
- bl sub_80F9F5C
- ldr r1, =gFieldCallback2
- ldr r0, =FieldCallback_PrepareFadeInFromMenu
- str r0, [r1]
- ldr r1, =gPostMenuFieldCallback
- ldr r0, =sub_80FA1E8
- b _080FA0C0
- .pool
-_080FA0A0:
- adds r0, r4, 0
- bl MetatileBehavior_IsSecretBaseShrub
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080FA0B2
-_080FA0AE:
- movs r0, 0
- b _080FA0C4
-_080FA0B2:
- bl sub_80F9F5C
- ldr r1, =gFieldCallback2
- ldr r0, =FieldCallback_PrepareFadeInFromMenu
- str r0, [r1]
- ldr r1, =gPostMenuFieldCallback
- ldr r0, =sub_80FA34C
-_080FA0C0:
- str r0, [r1]
- movs r0, 0x1
-_080FA0C4:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FA004
-
- thumb_func_start sub_80FA0DC
-sub_80FA0DC: @ 80FA0DC
- push {lr}
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- ldr r0, =EventScript_275A86
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA0DC
-
- thumb_func_start oei_sweet_scent
-oei_sweet_scent: @ 80FA0FC
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, =sub_80FA128
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end oei_sweet_scent
-
- thumb_func_start sub_80FA128
-sub_80FA128: @ 80FA128
- push {lr}
- movs r0, 0xB
- bl FieldEffectActiveListRemove
- movs r0, 0x37
- bl FieldEffectStart
- pop {r0}
- bx r0
- thumb_func_end sub_80FA128
-
- thumb_func_start sub_80FA13C
-sub_80FA13C: @ 80FA13C
- push {r4,lr}
- bl sub_80F9F78
- ldr r0, =gUnknown_0858E600
- ldr r3, =gSprites
- ldr r1, =gPlayerAvatar
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 23
- ldr r4, =gFieldEffectArguments
- ldr r3, [r4, 0x14]
- adds r1, r3
- lsls r1, 16
- asrs r1, 16
- ldrb r2, [r2]
- ldr r3, [r4, 0x18]
- adds r2, r3
- lsls r2, 16
- asrs r2, 16
- movs r3, 0x94
- bl CreateSprite
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FA13C
-
- thumb_func_start sub_80FA18C
-sub_80FA18C: @ 80FA18C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x83
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldr r0, =sub_80FA1A8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA18C
-
- thumb_func_start sub_80FA1A8
-sub_80FA1A8: @ 80FA1A8
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r1, r3]
- cmp r0, 0x27
- bgt _080FA1C8
- adds r0, r2, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bne _080FA1D0
- bl sub_80E8D4C
- b _080FA1D0
-_080FA1C8:
- movs r0, 0
- strh r0, [r1, 0x2E]
- ldr r0, =sub_80FA1D8
- str r0, [r1, 0x1C]
-_080FA1D0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA1A8
-
- thumb_func_start sub_80FA1D8
-sub_80FA1D8: @ 80FA1D8
- push {lr}
- movs r1, 0x37
- bl FieldEffectStop
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80FA1D8
-
- thumb_func_start sub_80FA1E8
-sub_80FA1E8: @ 80FA1E8
- push {lr}
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- ldr r0, =EventScript_275ADF
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA1E8
-
- thumb_func_start sub_80FA208
-sub_80FA208: @ 80FA208
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, =sub_80FA234
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FA208
-
- thumb_func_start sub_80FA234
-sub_80FA234: @ 80FA234
- push {lr}
- movs r0, 0x1A
- bl FieldEffectActiveListRemove
- movs r0, 0x38
- bl FieldEffectStart
- pop {r0}
- bx r0
- thumb_func_end sub_80FA234
-
- thumb_func_start sub_80FA248
-sub_80FA248: @ 80FA248
- push {r4,lr}
- ldr r1, =gPlayerFacingPosition
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- bl MapGridGetMetatileBehaviorAt
- adds r2, r0, 0
- ldr r1, =0x00000fff
- adds r0, r1, 0
- ands r2, r0
- cmp r2, 0x96
- bne _080FA26A
- ldr r1, =gFieldEffectArguments
- movs r0, 0
- str r0, [r1, 0x1C]
-_080FA26A:
- cmp r2, 0x9C
- bne _080FA274
- ldr r1, =gFieldEffectArguments
- movs r0, 0x2
- str r0, [r1, 0x1C]
-_080FA274:
- bl sub_80F9F78
- ldr r0, =gUnknown_0858E618
- ldr r3, =gSprites
- ldr r1, =gPlayerAvatar
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 23
- ldr r4, =gFieldEffectArguments
- ldr r3, [r4, 0x14]
- adds r1, r3
- lsls r1, 16
- asrs r1, 16
- ldrb r2, [r2]
- ldr r3, [r4, 0x18]
- adds r2, r3
- lsls r2, 16
- asrs r2, 16
- movs r3, 0x94
- bl CreateSprite
- ldr r0, [r4, 0x1C]
- cmp r0, 0x1
- beq _080FA2B2
- cmp r0, 0x3
- bne _080FA2B6
-_080FA2B2:
- bl sub_80E8D4C
-_080FA2B6:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FA248
-
- thumb_func_start sub_80FA2D8
-sub_80FA2D8: @ 80FA2D8
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x9B
- bl PlaySE
- ldr r0, =gFieldEffectArguments
- ldr r1, [r0, 0x1C]
- adds r2, r4, 0
- adds r2, 0x2A
- movs r0, 0
- strb r1, [r2]
- strh r0, [r4, 0x2E]
- ldr r0, =sub_80FA304
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA2D8
-
- thumb_func_start sub_80FA304
-sub_80FA304: @ 80FA304
- 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, 0x27
- ble _080FA32E
- ldr r0, =gFieldEffectArguments
- ldr r0, [r0, 0x1C]
- cmp r0, 0
- beq _080FA322
- cmp r0, 0x2
- bne _080FA326
-_080FA322:
- bl sub_80E8D4C
-_080FA326:
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldr r0, =sub_80FA33C
- str r0, [r4, 0x1C]
-_080FA32E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA304
-
- thumb_func_start sub_80FA33C
-sub_80FA33C: @ 80FA33C
- push {lr}
- movs r1, 0x38
- bl FieldEffectStop
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80FA33C
-
- thumb_func_start sub_80FA34C
-sub_80FA34C: @ 80FA34C
- push {lr}
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- ldr r0, =EventScript_275B38
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA34C
-
- thumb_func_start sub_80FA36C
-sub_80FA36C: @ 80FA36C
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, =sub_80FA398
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FA36C
-
- thumb_func_start sub_80FA398
-sub_80FA398: @ 80FA398
- push {lr}
- movs r0, 0x1B
- bl FieldEffectActiveListRemove
- movs r0, 0x39
- bl FieldEffectStart
- pop {r0}
- bx r0
- thumb_func_end sub_80FA398
-
- thumb_func_start sub_80FA3AC
-sub_80FA3AC: @ 80FA3AC
- push {r4,lr}
- bl sub_80F9F78
- ldr r0, =gUnknown_0858E630
- ldr r3, =gSprites
- ldr r1, =gPlayerAvatar
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 23
- ldr r4, =gFieldEffectArguments
- ldr r3, [r4, 0x14]
- adds r1, r3
- lsls r1, 16
- asrs r1, 16
- ldrb r2, [r2]
- ldr r3, [r4, 0x18]
- adds r2, r3
- lsls r2, 16
- asrs r2, 16
- movs r3, 0x94
- bl CreateSprite
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FA3AC
-
- thumb_func_start sub_80FA3FC
-sub_80FA3FC: @ 80FA3FC
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0xA9
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldr r0, =sub_80FA418
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA3FC
-
- thumb_func_start sub_80FA418
-sub_80FA418: @ 80FA418
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r1, r3]
- cmp r0, 0x27
- bgt _080FA438
- adds r0, r2, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bne _080FA440
- bl sub_80E8D4C
- b _080FA440
-_080FA438:
- movs r0, 0
- strh r0, [r1, 0x2E]
- ldr r0, =sub_80FA448
- str r0, [r1, 0x1C]
-_080FA440:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA418
-
- thumb_func_start sub_80FA448
-sub_80FA448: @ 80FA448
- push {lr}
- movs r1, 0x39
- bl FieldEffectStop
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80FA448
-
- thumb_func_start sub_80FA458
-sub_80FA458: @ 80FA458
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- ldr r0, =sub_80FA4A0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- mov r0, sp
- ldrh r0, [r0]
- movs r2, 0
- strh r0, [r1, 0x8]
- ldrh r0, [r4]
- strh r0, [r1, 0xA]
- strh r2, [r1, 0xC]
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FA458
-
- thumb_func_start sub_80FA4A0
-sub_80FA4A0: @ 80FA4A0
- 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
- ldrh r0, [r4, 0x4]
- subs r0, 0x4
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- bhi _080FA56E
- lsls r0, 2
- ldr r1, =_080FA4D0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080FA4D0:
- .4byte _080FA514
- .4byte _080FA56E
- .4byte _080FA56E
- .4byte _080FA56E
- .4byte _080FA522
- .4byte _080FA56E
- .4byte _080FA56E
- .4byte _080FA56E
- .4byte _080FA514
- .4byte _080FA56E
- .4byte _080FA56E
- .4byte _080FA56E
- .4byte _080FA522
- .4byte _080FA56E
- .4byte _080FA56E
- .4byte _080FA56E
- .4byte _080FA540
-_080FA514:
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- movs r2, 0x89
- lsls r2, 2
- b _080FA52E
-_080FA522:
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- movs r2, 0x88
- lsls r2, 2
-_080FA52E:
- bl MapGridSetMetatileIdAt
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl CurrentMapDrawMetatileAt
- b _080FA56E
-_080FA540:
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- movs r2, 0x89
- lsls r2, 2
- bl MapGridSetMetatileIdAt
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl CurrentMapDrawMetatileAt
- movs r0, 0x3D
- bl FieldEffectActiveListRemove
- bl EnableBothScriptContexts
- adds r0, r5, 0
- bl DestroyTask
- b _080FA574
-_080FA56E:
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
-_080FA574:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FA4A0
-
- thumb_func_start sub_80FA57C
-sub_80FA57C: @ 80FA57C
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- movs r0, 0x3
- bl PlaySE
- ldr r0, =0x00004054
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- bne _080FA5B8
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r2, 0xE2
- lsls r2, 4
- bl MapGridSetMetatileIdAt
- b _080FA5C8
- .pool
-_080FA5B8:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- ldr r2, =0x00000e21
- bl MapGridSetMetatileIdAt
-_080FA5C8:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl CurrentMapDrawMetatileAt
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA57C
-
- thumb_func_start sub_80FA5E4
-sub_80FA5E4: @ 80FA5E4
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- ldr r0, =sub_80FA62C
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r4, [r1, 0x8]
- strh r5, [r1, 0xA]
- strh r6, [r1, 0xC]
- strh r0, [r1, 0xE]
- movs r0, 0x1
- strh r0, [r1, 0x10]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA5E4
-
- thumb_func_start sub_80FA62C
-sub_80FA62C: @ 80FA62C
- 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
- ldrh r1, [r4, 0x6]
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, 0x6
- bne _080FA650
- movs r0, 0
- b _080FA652
- .pool
-_080FA650:
- adds r0, r1, 0x1
-_080FA652:
- strh r0, [r4, 0x6]
- movs r3, 0x6
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _080FA6A4
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x2
- bne _080FA66C
- movs r2, 0
- ldrsh r0, [r4, r2]
- bl sub_80FA6AC
-_080FA66C:
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- ldrh r2, [r4, 0x8]
- ldrh r3, [r4]
- adds r2, r3
- lsls r2, 16
- lsrs r2, 16
- bl MapGridSetMetatileIdAt
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- bl CurrentMapDrawMetatileAt
- ldrh r1, [r4, 0x8]
- movs r3, 0x8
- ldrsh r0, [r4, r3]
- cmp r0, 0x3
- bne _080FA6A0
- adds r0, r5, 0
- bl DestroyTask
- b _080FA6A4
-_080FA6A0:
- adds r0, r1, 0x1
- strh r0, [r4, 0x8]
-_080FA6A4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FA62C
-
- thumb_func_start sub_80FA6AC
-sub_80FA6AC: @ 80FA6AC
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- movs r0, 0xCE
- lsls r0, 2
- cmp r1, r0
- beq _080FA6D8
- cmp r1, r0
- bgt _080FA6C8
- movs r0, 0x8A
- lsls r0, 2
- cmp r1, r0
- beq _080FA6F0
- b _080FA6F6
-_080FA6C8:
- movs r0, 0xCF
- lsls r0, 2
- cmp r1, r0
- beq _080FA6E0
- adds r0, 0x4
- cmp r1, r0
- beq _080FA6E8
- b _080FA6F6
-_080FA6D8:
- movs r0, 0x4A
- bl PlaySE
- b _080FA6F6
-_080FA6E0:
- movs r0, 0x4B
- bl PlaySE
- b _080FA6F6
-_080FA6E8:
- movs r0, 0x4C
- bl PlaySE
- b _080FA6F6
-_080FA6F0:
- movs r0, 0x4E
- bl PlaySE
-_080FA6F6:
- pop {r0}
- bx r0
- thumb_func_end sub_80FA6AC
-
- thumb_func_start sub_80FA6FC
-sub_80FA6FC: @ 80FA6FC
- movs r0, 0
- bx lr
- thumb_func_end sub_80FA6FC
-
- thumb_func_start sub_80FA700
-sub_80FA700: @ 80FA700
- movs r0, 0
- bx lr
- thumb_func_end sub_80FA700
-
- thumb_func_start sub_80FA704
-sub_80FA704: @ 80FA704
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x4D
- bl PlaySE
- lsls r5, 16
- asrs r5, 16
- lsls r4, 16
- asrs r4, 16
- ldr r2, =0x00000276
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
- subs r6, r4, 0x1
- ldr r2, =0x0000026e
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridSetMetatileIdAt
- adds r0, r5, 0
- adds r1, r4, 0
- bl CurrentMapDrawMetatileAt
- adds r0, r5, 0
- adds r1, r6, 0
- bl CurrentMapDrawMetatileAt
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA704
-
- thumb_func_start sub_80FA754
-sub_80FA754: @ 80FA754
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0x8]
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- cmp r0, 0x7
- bne _080FA788
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- movs r3, 0xC
- ldrsh r1, [r1, r3]
- bl sub_80FA704
- adds r0, r4, 0
- bl DestroyTask
- b _080FA78C
- .pool
-_080FA788:
- adds r0, r2, 0x1
- strh r0, [r1, 0x8]
-_080FA78C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FA754
-
- thumb_func_start sub_80FA794
-sub_80FA794: @ 80FA794
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- adds r7, r5, 0
- lsls r1, 16
- lsrs r4, r1, 16
- adds r6, r4, 0
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FA7BC
- lsls r0, r5, 16
- asrs r0, 16
- lsls r1, r4, 16
- asrs r1, 16
- bl sub_80FA704
- b _080FA7DE
-_080FA7BC:
- cmp r0, 0x2
- bne _080FA7DE
- ldr r0, =sub_80FA754
- 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, 0
- strh r0, [r1, 0x8]
- strh r7, [r1, 0xA]
- strh r6, [r1, 0xC]
-_080FA7DE:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA794
-
- thumb_func_start sub_80FA7EC
-sub_80FA7EC: @ 80FA7EC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0xA]
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- cmp r0, 0x7
- beq _080FA808
- b _080FA966
-_080FA808:
- ldr r2, =0xfffffd88
- adds r0, r2, 0
- ldrh r1, [r1, 0x8]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3B
- bls _080FA81A
- b _080FA95E
-_080FA81A:
- lsls r0, 2
- ldr r1, =_080FA830
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080FA830:
- .4byte _080FA920
- .4byte _080FA928
- .4byte _080FA930
- .4byte _080FA938
- .4byte _080FA940
- .4byte _080FA948
- .4byte _080FA950
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA958
-_080FA920:
- movs r0, 0x3E
- bl PlaySE
- b _080FA95E
-_080FA928:
- movs r0, 0x3F
- bl PlaySE
- b _080FA95E
-_080FA930:
- movs r0, 0x40
- bl PlaySE
- b _080FA95E
-_080FA938:
- movs r0, 0x41
- bl PlaySE
- b _080FA95E
-_080FA940:
- movs r0, 0x42
- bl PlaySE
- b _080FA95E
-_080FA948:
- movs r0, 0x43
- bl PlaySE
- b _080FA95E
-_080FA950:
- movs r0, 0x44
- bl PlaySE
- b _080FA95E
-_080FA958:
- movs r0, 0x45
- bl PlaySE
-_080FA95E:
- adds r0, r4, 0
- bl DestroyTask
- b _080FA96A
-_080FA966:
- adds r0, r2, 0x1
- strh r0, [r1, 0xA]
-_080FA96A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FA7EC
-
- thumb_func_start sub_80FA970
-sub_80FA970: @ 80FA970
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =sub_80FA7EC
- 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, 0
- strh r4, [r1, 0x8]
- strh r0, [r1, 0xA]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA970
-
- thumb_func_start sub_80FA9A4
-sub_80FA9A4: @ 80FA9A4
- 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, 0x8
- bne _080FA9BC
- movs r0, 0xC3
- bl PlaySE
-_080FA9BC:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1F
- ble _080FA9CA
- adds r0, r4, 0
- bl DestroySprite
-_080FA9CA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FA9A4
-
- thumb_func_start sub_80FA9D0
-sub_80FA9D0: @ 80FA9D0
- push {r4,lr}
- sub sp, 0x4
- ldr r3, =gEventObjects
- ldr r2, =gPlayerAvatar
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x10]
- mov r0, sp
- strh r1, [r0]
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x12]
- mov r4, sp
- adds r4, 0x2
- strh r0, [r4]
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x8
- movs r3, 0x4
- bl sub_80930E0
- ldr r0, =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x58]
- mov r1, sp
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r3, 0
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080FAA5E
- ldr r3, =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r4, r2, r3
- movs r0, 0x3E
- adds r0, r4
- mov r12, r0
- ldrb r0, [r0]
- movs r1, 0x2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0xF
- ands r0, r1
- movs r1, 0x50
- orrs r0, r1
- strb r0, [r4, 0x5]
- adds r3, 0x1C
- adds r2, r3
- ldr r0, =sub_80FA9A4
- str r0, [r2]
- movs r0, 0
- strh r0, [r4, 0x2E]
-_080FAA5E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA9D0
-
- thumb_func_start sub_80FAA7C
-sub_80FAA7C: @ 80FAA7C
- push {r4,lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- ldr r1, =gFieldEffectArguments
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- str r0, [r1, 0x14]
- movs r3, 0
- ldrsh r0, [r4, r3]
- str r0, [r1, 0x18]
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080FAAFC
- cmp r0, 0x2
- bgt _080FAABC
- cmp r0, 0x1
- beq _080FAAC6
- b _080FAB8C
- .pool
-_080FAABC:
- cmp r0, 0x3
- beq _080FAB2C
- cmp r0, 0x4
- beq _080FAB64
- b _080FAB8C
-_080FAAC6:
- ldr r0, =gUnknown_0858E68C
- ldr r3, =gSprites
- ldr r1, =gPlayerAvatar
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 7
- movs r3, 0x80
- lsls r3, 12
- adds r1, r3
- asrs r1, 16
- ldrb r2, [r2]
- adds r2, 0x20
- movs r3, 0
- bl CreateSprite
- b _080FAB8C
- .pool
-_080FAAFC:
- ldr r0, =gUnknown_0858E68C
- ldr r3, =gSprites
- ldr r1, =gPlayerAvatar
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 7
- movs r3, 0x80
- lsls r3, 12
- adds r1, r3
- asrs r1, 16
- ldrb r2, [r2]
- b _080FAB4C
- .pool
-_080FAB2C:
- ldr r0, =gUnknown_0858E68C
- ldr r3, =gSprites
- ldr r1, =gPlayerAvatar
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 7
- ldr r3, =0xfff80000
- adds r1, r3
- asrs r1, 16
- ldrb r2, [r2]
- adds r2, 0x10
-_080FAB4C:
- movs r3, 0x94
- bl CreateSprite
- b _080FAB8C
- .pool
-_080FAB64:
- ldr r0, =gUnknown_0858E68C
- ldr r3, =gSprites
- ldr r1, =gPlayerAvatar
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 7
- movs r3, 0xC0
- lsls r3, 13
- adds r1, r3
- asrs r1, 16
- ldrb r2, [r2]
- adds r2, 0x10
- movs r3, 0x94
- bl CreateSprite
-_080FAB8C:
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FAA7C
-
- thumb_func_start door_restore_tilemap
-door_restore_tilemap: @ 80FABA4
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0x83
- bl PlaySE
- ldr r4, =gFieldEffectArguments
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- subs r1, 0x1
- bl MapGridGetMetatileIdAt
- ldr r1, =0x00000286
- cmp r0, r1
- bne _080FABDC
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- subs r1, 0x1
- ldr r2, =0x00000e02
- bl MapGridSetMetatileIdAt
- b _080FABEA
- .pool
-_080FABDC:
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- subs r1, 0x1
- movs r2, 0xA1
- lsls r2, 2
- bl MapGridSetMetatileIdAt
-_080FABEA:
- ldr r4, =gFieldEffectArguments
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- ldr r2, =0x0000020a
- bl MapGridSetMetatileIdAt
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- subs r1, 0x1
- bl CurrentMapDrawMetatileAt
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- bl CurrentMapDrawMetatileAt
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldr r0, =sub_80FAC24
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end door_restore_tilemap
-
- thumb_func_start sub_80FAC24
-sub_80FAC24: @ 80FAC24
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r1, [r5, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0x11
- bgt _080FAC38
- adds r0, r1, 0x1
- strh r0, [r5, 0x2E]
- b _080FAC54
-_080FAC38:
- ldr r4, =gFieldEffectArguments
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- ldr r2, =0x00000e8c
- bl MapGridSetMetatileIdAt
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- bl CurrentMapDrawMetatileAt
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldr r0, =sub_80FAC68
- str r0, [r5, 0x1C]
-_080FAC54:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FAC24
-
- thumb_func_start sub_80FAC68
-sub_80FAC68: @ 80FAC68
- push {lr}
- movs r1, 0x34
- bl FieldEffectStop
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80FAC68
-
- thumb_func_start sub_80FAC78
-sub_80FAC78: @ 80FAC78
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- ldr r0, =0x000002f5
- cmp r1, r0
- beq _080FAD6C
- cmp r1, r0
- bgt _080FACB4
- subs r0, 0x17
- cmp r1, r0
- beq _080FAD14
- adds r0, 0x16
- cmp r1, r0
- beq _080FAD60
- b _080FADCE
- .pool
-_080FACB4:
- ldr r0, =0x000002f6
- cmp r1, r0
- beq _080FADA4
- adds r0, 0x40
- cmp r1, r0
- beq _080FACC2
- b _080FADCE
-_080FACC2:
- ldr r0, =gStringVar1
- movs r1, 0x64
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, =gStringVar2
- ldr r1, =gText_Gold
- bl StringCopy
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- ldr r0, =0x00004054
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- beq _080FADCE
- ldr r4, =0x000040ee
- adds r0, r4, 0
- bl VarGet
- adds r1, r0, 0
- movs r0, 0x10
- b _080FAD8A
- .pool
-_080FAD14:
- ldr r0, =gStringVar1
- movs r1, 0x32
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, =gStringVar2
- ldr r1, =gText_Silver
- bl StringCopy
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- ldr r0, =0x00004054
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- beq _080FADCE
- ldr r4, =0x000040ee
- adds r0, r4, 0
- bl VarGet
- adds r1, r0, 0
- movs r0, 0x20
- b _080FAD8A
- .pool
-_080FAD60:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- b _080FAD70
- .pool
-_080FAD6C:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x2
-_080FAD70:
- strh r0, [r1]
- ldr r0, =0x00004054
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- beq _080FADCE
- ldr r4, =0x000040ee
- adds r0, r4, 0
- bl VarGet
- adds r1, r0, 0
- movs r0, 0x80
-_080FAD8A:
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl VarSet
- b _080FADCE
- .pool
-_080FADA4:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x3
- strh r0, [r1]
- ldr r0, =0x00004054
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- beq _080FADCE
- ldr r4, =0x000040ee
- adds r0, r4, 0
- bl VarGet
- adds r1, r0, 0
- movs r0, 0x80
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl VarSet
-_080FADCE:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FAC78
-
- thumb_func_start sub_80FADE4
-sub_80FADE4: @ 80FADE4
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r6, r4, 0
- lsls r1, 24
- lsrs r5, r1, 24
- bl CurrentMapIsSecretBase
- lsls r0, 24
- cmp r0, 0
- beq _080FAE28
- cmp r5, 0
- bne _080FAE1C
- ldr r1, =0xfffffd7b
- adds r0, r4, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _080FAE10
- ldr r0, =0x00000237
- cmp r4, r0
- bne _080FAE28
-_080FAE10:
- movs r0, 0x1
- b _080FAE2A
- .pool
-_080FAE1C:
- ldr r0, =0x0000028d
- cmp r4, r0
- beq _080FAE10
- ldr r0, =0x0000023f
- cmp r6, r0
- beq _080FAE10
-_080FAE28:
- movs r0, 0
-_080FAE2A:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FADE4
-
- thumb_func_start task50_overworld_poison_effect
-task50_overworld_poison_effect: @ 80FAE38
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r1, r0, r1
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0x1
- beq _080FAE76
- cmp r0, 0x1
- bgt _080FAE60
- cmp r0, 0
- beq _080FAE66
- b _080FAE92
- .pool
-_080FAE60:
- cmp r0, 0x2
- beq _080FAE8A
- b _080FAE92
-_080FAE66:
- ldrh r0, [r1, 0x2]
- adds r0, 0x2
- strh r0, [r1, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _080FAE92
- b _080FAE82
-_080FAE76:
- ldrh r0, [r1, 0x2]
- subs r0, 0x2
- strh r0, [r1, 0x2]
- lsls r0, 16
- cmp r0, 0
- bne _080FAE92
-_080FAE82:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080FAE92
-_080FAE8A:
- adds r0, r2, 0
- bl DestroyTask
- b _080FAEA2
-_080FAE92:
- ldrh r0, [r1, 0x2]
- lsls r1, r0, 4
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x4C
- bl SetGpuReg
-_080FAEA2:
- pop {r0}
- bx r0
- thumb_func_end task50_overworld_poison_effect
-
- thumb_func_start FldeffPoison_Start
-FldeffPoison_Start: @ 80FAEA8
- push {lr}
- movs r0, 0x4F
- bl PlaySE
- ldr r0, =task50_overworld_poison_effect
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end FldeffPoison_Start
-
- thumb_func_start FieldPoisonEffectIsRunning
-FieldPoisonEffectIsRunning: @ 80FAEC0
- push {lr}
- ldr r0, =task50_overworld_poison_effect
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end FieldPoisonEffectIsRunning
-
- thumb_func_start sub_80FAED4
-sub_80FAED4: @ 80FAED4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =sub_80FAEF0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80FAED4
-
- thumb_func_start sub_80FAEF0
-sub_80FAEF0: @ 80FAEF0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl EventObjectIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _080FAF1C
- adds r0, r4, 0
- bl EventObjectClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FAF4E
-_080FAF1C:
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- bl sub_808C228
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- bl GetWalkInPlaceNormalMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl EventObjectSetHeldMovement
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80FAF64
- str r1, [r0]
-_080FAF4E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FAEF0
-
- thumb_func_start sub_80FAF64
-sub_80FAF64: @ 80FAF64
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r5, r0, r1
- adds r0, r5, 0
- bl EventObjectClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FAFC8
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- ldrh r0, [r2, 0xA]
- adds r1, r0, 0x1
- strh r1, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- bgt _080FAFC4
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- bl GetWalkInPlaceNormalMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl EventObjectSetHeldMovement
- b _080FAFC8
- .pool
-_080FAFC4:
- ldr r0, =sub_80FAFD4
- str r0, [r2]
-_080FAFC8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FAF64
-
- thumb_func_start sub_80FAFD4
-sub_80FAFD4: @ 80FAFD4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_808BCD0
- lsls r0, 24
- lsrs r0, 24
- bl SetPlayerAvatarTransitionFlags
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FAFD4
-
- thumb_func_start sub_80FAFF8
-sub_80FAFF8: @ 80FAFF8
- push {lr}
- ldr r0, =sub_80FAED4
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FAFF8
-
- thumb_func_start CreateRecordMixingSprite
-CreateRecordMixingSprite: @ 80FB00C
- push {r4,r5,lr}
- ldr r0, =gUnknown_0858E864
- bl LoadSpritePalette
- ldr r0, =gUnknown_0858E880
- movs r1, 0
- movs r2, 0
- movs r3, 0x52
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x40
- beq _080FB06C
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- ldr r1, =gSprites
- adds r4, r0, r1
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- movs r0, 0x10
- movs r1, 0xD
- bl sub_8092FF0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x20]
- adds r0, 0x10
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x22]
- adds r0, 0x2
- strh r0, [r4, 0x22]
- adds r0, r5, 0
- b _080FB06E
- .pool
-_080FB06C:
- movs r0, 0x40
-_080FB06E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CreateRecordMixingSprite
-
- thumb_func_start DestroyRecordMixingSprite
-DestroyRecordMixingSprite: @ 80FB074
- push {r4-r7,lr}
- ldr r4, =gSprites
- adds r7, r4, 0
- movs r6, 0
- movs r5, 0x3F
-_080FB07E:
- adds r0, r7, 0
- adds r0, 0x14
- adds r0, r6, r0
- ldr r1, [r0]
- ldr r0, =gUnknown_0858E880
- cmp r1, r0
- bne _080FB098
- adds r0, r4, 0
- bl FreeSpritePalette
- adds r0, r4, 0
- bl DestroySprite
-_080FB098:
- adds r4, 0x44
- adds r6, 0x44
- subs r5, 0x1
- cmp r5, 0
- bge _080FB07E
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DestroyRecordMixingSprite
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/flying.s b/asm/flying.s
index dd6ca32ae..c8010106a 100644
--- a/asm/flying.s
+++ b/asm/flying.s
@@ -10,7 +10,7 @@ sub_810DE70: @ 810DE70
push {r4,lr}
adds r4, r0, 0
movs r1, 0
- bl sub_80A6980
+ bl InitSpritePosToAnimTarget
ldrh r0, [r4, 0x22]
adds r0, 0x14
strh r0, [r4, 0x22]
@@ -163,7 +163,7 @@ sub_810DFA8: @ 810DFA8
push {r4-r6,lr}
adds r6, r0, 0
movs r1, 0x1
- bl InitAnimSpritePos
+ bl InitSpritePosToAnimAttacker
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -216,7 +216,7 @@ _0810DFC8:
sub_810E028: @ 810E028
push {r4,lr}
adds r4, r0, 0
- bl TranslateAnimLinear
+ bl AnimTranslateLinear
lsls r0, 24
cmp r0, 0
beq _0810E03C
@@ -342,7 +342,7 @@ sub_810E13C: @ 810E13C
push {r4,lr}
adds r4, r0, 0
movs r1, 0x1
- bl InitAnimSpritePos
+ bl InitSpritePosToAnimAttacker
ldr r1, =gBattleAnimArgs
ldrh r0, [r1, 0x4]
strh r0, [r4, 0x2E]
@@ -471,7 +471,7 @@ sub_810E24C: @ 810E24C
movs r0, 0x1
strh r0, [r4, 0x2E]
adds r0, r4, 0
- bl TranslateAnimLinear
+ bl AnimTranslateLinear
ldrh r1, [r4, 0x34]
lsrs r0, r1, 8
cmp r0, 0xC8
@@ -655,7 +655,7 @@ _0810E354:
cmp r0, 0
bne _0810E3F0
adds r0, r6, 0
- bl sub_80A8328
+ bl GetBattlerSpriteBGPriority
lsls r0, 24
lsrs r0, 24
adds r0, 0x1
@@ -672,7 +672,7 @@ _0810E354:
.pool
_0810E3F0:
adds r0, r6, 0
- bl sub_80A8328
+ bl GetBattlerSpriteBGPriority
movs r1, 0x3
ands r1, r0
lsls r1, 2
@@ -718,7 +718,7 @@ _0810E408:
b _0810E4A2
_0810E44A:
adds r0, r6, 0
- bl sub_80A8328
+ bl GetBattlerSpriteBGPriority
movs r1, 0x3
ands r1, r0
lsls r1, 2
@@ -1535,7 +1535,7 @@ sub_810EA4C: @ 810EA4C
adds r4, r0, 0
ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl sub_80A8328
+ bl GetBattlerSpriteBGPriority
movs r1, 0x3
ands r1, r0
lsls r1, 2
@@ -1577,13 +1577,13 @@ sub_810EAA0: @ 810EAA0
bne _0810EABC
adds r0, r5, 0
movs r1, 0
- bl InitAnimSpritePos
+ bl InitSpritePosToAnimAttacker
b _0810EAC4
.pool
_0810EABC:
adds r0, r5, 0
movs r1, 0
- bl sub_80A6980
+ bl InitSpritePosToAnimTarget
_0810EAC4:
ldr r4, =gBattleAnimArgs
movs r2, 0x4
@@ -1771,7 +1771,7 @@ sub_810EC34: @ 810EC34
_0810EC46:
adds r0, r4, 0
movs r1, 0x1
- bl InitAnimSpritePos
+ bl InitSpritePosToAnimAttacker
movs r0, 0
bl GetAnimBattlerSpriteId
ldr r2, =gSprites
@@ -1891,7 +1891,7 @@ sub_810ED28: @ 810ED28
push {r4,lr}
adds r4, r0, 0
movs r1, 0x1
- bl InitAnimSpritePos
+ bl InitSpritePosToAnimAttacker
ldr r1, =gBattleAnimArgs
ldrh r0, [r1, 0x4]
strh r0, [r4, 0x2E]
diff --git a/asm/ice.s b/asm/ice.s
deleted file mode 100644
index 3187d3110..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 InitAnimSpritePos
- 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 sub_80A6980
- 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 InitAnimSpritePos
- 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 sub_80A7160
- 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 sub_80A70E8
- 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 sub_80A70E8
- 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 InitAnimSpritePos
- 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 sub_80A7160
- 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 sub_80A70E8
- 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 sub_80A70E8
- 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 sub_80A6980
- 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 InitAnimSpritePos
- 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 sub_80A6980
- 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 TranslateAnimLinear
- 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 sub_80A8328
- 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 sub_80A8328
- 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 sub_80A8328
- 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 TranslateAnimLinear
- 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 TranslateAnimLinear
- 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 TranslateAnimLinear
- 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 InitAnimSpritePos
- 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 sub_80A6980
- 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 9a028b2e5..94caeb697 100644
--- a/asm/macros/map.inc
+++ b/asm/macros/map.inc
@@ -14,7 +14,7 @@
.4byte \address
.endm
- .macro object_event index, gfx, replacement, x, y, elevation, movement_type, x_radius, y_radius, trainer_type, sight_radius_tree_etc, script, event_flag
+ .macro object_event index:req, gfx:req, replacement:req, x:req, y:req, elevation:req, movement_type:req, x_radius:req, y_radius:req, trainer_type:req, sight_radius_tree_etc:req, script:req, event_flag:req
.byte \index, \gfx, \replacement, 0
.2byte \x
.2byte \y
diff --git a/asm/party_menu.s b/asm/party_menu.s
deleted file mode 100644
index bbb36b109..000000000
--- a/asm/party_menu.s
+++ /dev/null
@@ -1,18014 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81B0038
-sub_81B0038: @ 81B0038
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r4, [sp, 0x24]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp]
- lsls r4, 24
- lsrs r6, r4, 24
- bl reset_brm
- ldr r0, =gUnknown_0203CEC4
- mov r10, r0
- movs r0, 0x8E
- lsls r0, 2
- bl Alloc
- adds r5, r0, 0
- mov r1, r10
- str r5, [r1]
- cmp r5, 0
- bne _081B0088
- ldr r0, [sp, 0x2C]
- bl SetMainCallback2
- b _081B0194
- .pool
-_081B0088:
- ldr r3, =gUnknown_0203CEC8
- movs r1, 0xF
- mov r4, r8
- ands r1, r4
- ldrb r2, [r3, 0x8]
- movs r0, 0x10
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x8]
- ldr r0, [sp, 0x2C]
- str r0, [r3]
- movs r4, 0
- strb r7, [r3, 0xB]
- lsls r2, r6, 2
- ldrh r1, [r5, 0xA]
- movs r0, 0x3
- ands r0, r1
- orrs r0, r2
- strh r0, [r5, 0xA]
- ldr r0, [sp, 0x28]
- str r0, [r5]
- str r4, [r5, 0x4]
- ldrb r1, [r5, 0x8]
- movs r0, 0xF
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x8]
- mov r1, r10
- ldr r2, [r1]
- ldrh r0, [r2, 0x8]
- movs r4, 0xFE
- lsls r4, 3
- adds r1, r4, 0
- orrs r0, r1
- strh r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xFE
- lsls r1, 10
- orrs r0, r1
- str r0, [r2, 0x8]
- adds r6, r3, 0
- mov r5, r8
- cmp r5, 0x4
- bne _081B00F0
- ldrb r0, [r2, 0x8]
- movs r1, 0x1
- orrs r0, r1
- b _081B00F8
- .pool
-_081B00F0:
- ldrb r1, [r2, 0x8]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
-_081B00F8:
- strb r0, [r2, 0x8]
- mov r0, r9
- cmp r0, 0xFF
- beq _081B0114
- movs r0, 0x3
- mov r1, r9
- ands r0, r1
- lsls r0, 4
- ldrb r2, [r6, 0x8]
- movs r1, 0x31
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r6, 0x8]
-_081B0114:
- movs r2, 0
- ldr r5, =gUnknown_0203CEC4
- movs r4, 0x86
- lsls r4, 2
- movs r3, 0
-_081B011E:
- 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, 0xF
- bls _081B011E
- movs r2, 0
- ldr r4, =gUnknown_0203CEC4
- movs r3, 0xFF
-_081B0138:
- ldr r0, [r4]
- adds r0, 0xC
- adds r0, r2
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x2
- bls _081B0138
- ldr r4, [sp]
- cmp r4, 0
- bne _081B015C
- strb r4, [r6, 0x9]
- b _081B017E
- .pool
-_081B015C:
- adds r1, r6, 0
- movs r0, 0x9
- ldrsb r0, [r1, r0]
- cmp r0, 0x5
- bgt _081B017A
- adds r1, r0, 0
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- bne _081B017E
-_081B017A:
- movs r0, 0
- strb r0, [r6, 0x9]
-_081B017E:
- ldr r2, =gTextFlags
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- bl CalculatePlayerPartyCount
- ldr r0, =c2_811EBD0
- bl SetMainCallback2
-_081B0194:
- 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_81B0038
-
- thumb_func_start sub_81B01B0
-sub_81B01B0: @ 81B01B0
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl do_scheduled_bg_tilemap_copies_to_vram
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_81B01B0
-
- thumb_func_start sub_81B01CC
-sub_81B01CC: @ 81B01CC
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_81B01CC
-
- thumb_func_start c2_811EBD0
-c2_811EBD0: @ 81B01E0
- push {lr}
-_081B01E2:
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B0206
- bl sub_81B020C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B0206
- bl sub_81221AC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B01E2
-_081B0206:
- pop {r0}
- bx r0
- thumb_func_end c2_811EBD0
-
- thumb_func_start sub_81B020C
-sub_81B020C: @ 81B020C
- 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, 0x16
- bls _081B0222
- b _081B0498
-_081B0222:
- lsls r0, 2
- ldr r1, =_081B0234
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B0234:
- .4byte _081B0290
- .4byte _081B02AC
- .4byte _081B02B2
- .4byte _081B02D4
- .4byte _081B02DA
- .4byte _081B02EC
- .4byte _081B02FE
- .4byte _081B0310
- .4byte _081B0338
- .4byte _081B0354
- .4byte _081B0368
- .4byte _081B038C
- .4byte _081B03A0
- .4byte _081B03A6
- .4byte _081B03B8
- .4byte _081B03BE
- .4byte _081B03E0
- .4byte _081B0400
- .4byte _081B0414
- .4byte _081B0428
- .4byte _081B0430
- .4byte _081B044C
- .4byte _081B0474
-_081B0290:
- bl SetVBlankHBlankCallbacksToNull
- bl ResetVramOamAndBgCntRegs
- bl clear_scheduled_bg_copies_to_vram
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B02AC:
- bl ScanlineEffect_Stop
- b _081B0484
-_081B02B2:
- bl ResetPaletteFade
- ldr r2, =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B02D4:
- bl ResetSpriteData
- b _081B0484
-_081B02DA:
- bl FreeAllSpritePalettes
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B02EC:
- bl sub_81221AC
- lsls r0, 24
- cmp r0, 0
- beq _081B02F8
- b _081B0484
-_081B02F8:
- bl ResetTasks
- b _081B0484
-_081B02FE:
- bl sub_81B209C
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B0310:
- bl sub_81B0550
- lsls r0, 24
- cmp r0, 0
- bne _081B0322
- bl sub_81B04BC
- movs r0, 0x1
- b _081B04B2
-_081B0322:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- b _081B0484
- .pool
-_081B0338:
- bl sub_81B05C8
- lsls r0, 24
- cmp r0, 0
- bne _081B0344
- b _081B04B0
-_081B0344:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B0354:
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x8]
- lsls r0, 26
- lsrs r0, 30
- bl sub_81B239C
- b _081B0484
- .pool
-_081B0368:
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x8]
- lsls r0, 26
- lsrs r0, 30
- bl sub_81B0740
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- b _081B0484
- .pool
-_081B038C:
- bl sub_81B5D30
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B03A0:
- bl sub_81B6040
- b _081B0484
-_081B03A6:
- bl sub_81B6160
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B03B8:
- bl LoadMonIconPalettes
- b _081B0484
-_081B03BE:
- bl party_menu_add_per_mon_objects
- lsls r0, 24
- cmp r0, 0
- bne _081B03CA
- b _081B04B0
-_081B03CA:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- b _081B0484
- .pool
-_081B03E0:
- bl sub_81B0DA0
- lsls r0, 24
- cmp r0, 0
- beq _081B04B0
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- b _081B0484
- .pool
-_081B0400:
- bl sub_81B0F28
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B0414:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- lsrs r0, 31
- bl sub_81B2428
- b _081B0484
- .pool
-_081B0428:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- b _081B048C
-_081B0430:
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- ldr r0, [r0]
- movs r1, 0
- bl CreateTask
- ldr r0, [r4]
- ldrh r0, [r0, 0xA]
- lsrs r0, 2
- bl display_pokemon_menu_message
- b _081B0484
- .pool
-_081B044C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B0474:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_081B0484:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
-_081B048C:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _081B04B0
- .pool
-_081B0498:
- ldr r0, =sub_81B01CC
- bl SetVBlankCallback
- ldr r0, =sub_81B01B0
- bl SetMainCallback2
- movs r0, 0x1
- b _081B04B2
- .pool
-_081B04B0:
- movs r0, 0
-_081B04B2:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B020C
-
- thumb_func_start sub_81B04BC
-sub_81B04BC: @ 81B04BC
- push {lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sub_81B04F8
- movs r1, 0
- bl CreateTask
- ldr r0, =sub_81B01CC
- bl SetVBlankCallback
- ldr r0, =sub_81B01B0
- bl SetMainCallback2
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B04BC
-
- thumb_func_start sub_81B04F8
-sub_81B04F8: @ 81B04F8
- 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 _081B051C
- ldr r0, =gUnknown_0203CEC8
- ldr r0, [r0]
- bl SetMainCallback2
- bl sub_81B06F4
- adds r0, r4, 0
- bl DestroyTask
-_081B051C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B04F8
-
- thumb_func_start reset_brm
-reset_brm: @ 81B052C
- ldr r0, =gUnknown_0203CEC4
- movs r1, 0
- str r1, [r0]
- ldr r0, =gUnknown_0203CEE4
- str r1, [r0]
- ldr r0, =gUnknown_0203CEDC
- str r1, [r0]
- ldr r0, =gUnknown_0203CEE0
- str r1, [r0]
- bx lr
- .pool
- thumb_func_end reset_brm
-
- thumb_func_start sub_81B0550
-sub_81B0550: @ 81B0550
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203CEE4
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl Alloc
- str r0, [r5]
- cmp r0, 0
- beq _081B05C0
- movs r1, 0
- adds r2, r4, 0
- bl memset
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_086156B8
- movs r0, 0
- movs r2, 0x3
- bl InitBgsFromTemplates
- ldr r1, [r5]
- movs r0, 0x1
- bl SetBgTilemapBuffer
- bl ResetAllBgsCoordinates
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x1
- b _081B05C2
- .pool
-_081B05C0:
- movs r0, 0
-_081B05C2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81B0550
-
- thumb_func_start sub_81B05C8
-sub_81B05C8: @ 81B05C8
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x7
- bhi _081B06B0
- lsls r0, 2
- ldr r1, =_081B05F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B05F0:
- .4byte _081B0610
- .4byte _081B0638
- .4byte _081B0658
- .4byte _081B0684
- .4byte _081B0688
- .4byte _081B068C
- .4byte _081B0690
- .4byte _081B0694
-_081B0610:
- ldr r4, =gUnknown_0203CEE0
- ldr r0, =gPartyMenuMisc_Gfx
- mov r1, sp
- bl malloc_and_decompress
- adds r1, r0, 0
- str r1, [r4]
- ldr r2, [sp]
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x1
- movs r3, 0
- bl LoadBgTiles
- b _081B069A
- .pool
-_081B0638:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081B06B4
- ldr r0, =gPartyMenuMisc_Tilemap
- ldr r1, =gUnknown_0203CEE4
- ldr r1, [r1]
- bl LZDecompressWram
- b _081B069A
- .pool
-_081B0658:
- ldr r0, =gPartyMenuMisc_Pal
- movs r2, 0xB0
- lsls r2, 1
- movs r1, 0
- bl LoadCompressedPalette
- ldr r0, =gPlttBufferUnfaded
- ldr r4, =gUnknown_0203CEC4
- ldr r1, [r4]
- adds r1, 0x18
- movs r2, 0xB0
- bl CpuSet
- ldr r1, [r4]
- b _081B069E
- .pool
-_081B0684:
- movs r0, 0x4
- b _081B0696
-_081B0688:
- movs r0, 0x5
- b _081B0696
-_081B068C:
- movs r0, 0x6
- b _081B0696
-_081B0690:
- movs r0, 0x7
- b _081B0696
-_081B0694:
- movs r0, 0x8
-_081B0696:
- bl sub_81B06C0
-_081B069A:
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
-_081B069E:
- movs r0, 0x86
- lsls r0, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _081B06B4
- .pool
-_081B06B0:
- movs r0, 0x1
- b _081B06B6
-_081B06B4:
- movs r0, 0
-_081B06B6:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B05C8
-
- thumb_func_start sub_81B06C0
-sub_81B06C0: @ 81B06C0
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 28
- ldr r5, =gPlttBufferUnfaded + 0x60
- lsrs r4, 23
- adds r1, r5, 0
- subs r1, 0x60
- adds r1, r4, r1
- adds r0, r5, 0
- movs r2, 0x10
- bl CpuSet
- ldr r0, =gPlttBufferFaded
- adds r4, r0
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x10
- bl CpuSet
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B06C0
-
- thumb_func_start sub_81B06F4
-sub_81B06F4: @ 81B06F4
- push {lr}
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- cmp r0, 0
- beq _081B0702
- bl Free
-_081B0702:
- ldr r0, =gUnknown_0203CEE4
- ldr r0, [r0]
- cmp r0, 0
- beq _081B070E
- bl Free
-_081B070E:
- ldr r0, =gUnknown_0203CEE0
- ldr r0, [r0]
- cmp r0, 0
- beq _081B071A
- bl Free
-_081B071A:
- ldr r0, =gUnknown_0203CEDC
- ldr r0, [r0]
- cmp r0, 0
- beq _081B0726
- bl Free
-_081B0726:
- bl FreeAllWindowBuffers
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B06F4
-
- thumb_func_start sub_81B0740
-sub_81B0740: @ 81B0740
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, =gUnknown_0203CEDC
- movs r0, 0x60
- bl Alloc
- str r0, [r4]
- movs r5, 0
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 4
- mov r8, r0
- movs r6, 0xFF
- mov r9, r4
-_081B0764:
- ldr r2, [r4]
- lsls r3, r5, 4
- adds r2, r3, r2
- ldr r0, =gUnknown_086156E4
- mov r12, r0
- str r0, [r2]
- lsls r0, r5, 3
- ldr r1, =gUnknown_08615704
- adds r0, r1
- add r0, r8
- str r0, [r2, 0x4]
- strb r5, [r2, 0x8]
- ldr r1, [r4]
- adds r1, r3, r1
- ldrb r0, [r1, 0x9]
- orrs r0, r6
- strb r0, [r1, 0x9]
- ldr r1, [r4]
- adds r1, r3, r1
- ldrb r0, [r1, 0xA]
- orrs r0, r6
- strb r0, [r1, 0xA]
- ldr r1, [r4]
- adds r1, r3, r1
- ldrb r0, [r1, 0xB]
- orrs r0, r6
- strb r0, [r1, 0xB]
- ldr r0, [r4]
- adds r3, r0
- ldrb r0, [r3, 0xC]
- orrs r0, r6
- strb r0, [r3, 0xC]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _081B0764
- mov r1, r9
- ldr r0, [r1]
- mov r1, r12
- subs r1, 0x20
- str r1, [r0]
- cmp r7, 0x3
- bne _081B07CC
- str r1, [r0, 0x30]
- b _081B07D2
- .pool
-_081B07CC:
- cmp r7, 0
- beq _081B07D2
- str r1, [r0, 0x10]
-_081B07D2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0740
-
- thumb_func_start sub_81B07E0
-sub_81B07E0: @ 81B07E0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x5
- bne _081B085C
- cmp r5, 0x2
- bls _081B085C
- adds r0, r5, 0
- bl sub_81B0CEC
- ldr r0, =gUnknown_02022FF8
- subs r1, r5, 0x3
- lsls r1, 5
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _081B0828
- ldr r0, =gUnknown_0203CEDC
- lsls r4, r5, 4
- ldr r0, [r0]
- adds r0, r4
- movs r1, 0x40
- bl sub_81B2748
- b _081B0836
- .pool
-_081B0828:
- ldr r0, =gUnknown_0203CEDC
- lsls r4, r5, 4
- ldr r0, [r0]
- adds r0, r4
- movs r1, 0x8
- bl sub_81B2748
-_081B0836:
- adds r5, r4, 0
- ldr r4, =gUnknown_0203CEDC
- ldr r0, [r4]
- adds r0, r5, r0
- ldrb r0, [r0, 0x8]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- adds r0, r5, r0
- ldrb r0, [r0, 0x8]
- bl PutWindowTilemap
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- b _081B093E
- .pool
-_081B085C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- bne _081B089C
- ldr r4, =gUnknown_0203CEDC
- ldr r0, [r4]
- lsls r5, 4
- adds r0, r5, r0
- ldrb r0, [r0, 0x8]
- bl sub_81B2720
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0x40
- bl sub_81B2748
- ldr r0, [r4]
- adds r0, r5, r0
- ldrb r0, [r0, 0x8]
- movs r1, 0x2
- bl CopyWindowToVram
- b _081B092C
- .pool
-_081B089C:
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x8]
- movs r1, 0xF
- ands r1, r0
- cmp r1, 0x7
- bne _081B08B4
- adds r0, r5, 0
- bl sub_81B0B60
- b _081B08F6
- .pool
-_081B08B4:
- cmp r1, 0x2
- bne _081B08C0
- adds r0, r5, 0
- bl sub_81B0B08
- b _081B08F6
-_081B08C0:
- cmp r1, 0x4
- bne _081B08CC
- adds r0, r5, 0
- bl sub_81B0A9C
- b _081B08F6
-_081B08CC:
- cmp r1, 0xB
- bne _081B08D8
- adds r0, r5, 0
- bl sub_81B0B98
- b _081B08F6
-_081B08D8:
- cmp r1, 0xC
- bne _081B08E4
- adds r0, r5, 0
- bl sub_81B0BC4
- b _081B08F6
-_081B08E4:
- adds r0, r5, 0
- bl sub_81B0BFC
- lsls r0, 24
- cmp r0, 0
- bne _081B08F6
- adds r0, r5, 0
- bl sub_81B0948
-_081B08F6:
- ldr r2, =gUnknown_0203CEC8
- ldrb r1, [r2, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x5
- bne _081B0910
- adds r0, r5, 0
- movs r1, 0
- bl sub_81B0FCC
- b _081B092A
- .pool
-_081B0910:
- movs r0, 0x9
- ldrsb r0, [r2, r0]
- cmp r0, r5
- bne _081B0922
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81B0FCC
- b _081B092A
-_081B0922:
- adds r0, r5, 0
- movs r1, 0
- bl sub_81B0FCC
-_081B092A:
- lsls r5, 4
-_081B092C:
- ldr r0, =gUnknown_0203CEDC
- ldr r0, [r0]
- adds r0, r5, r0
- ldrb r0, [r0, 0x8]
- bl PutWindowTilemap
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
-_081B093E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B07E0
-
- thumb_func_start sub_81B0948
-sub_81B0948: @ 81B0948
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x64
- adds r1, r4, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r7, r1, r0
- adds r0, r7, 0
- movs r1, 0x2D
- bl GetMonData
- adds r2, r0, 0
- cmp r2, 0
- beq _081B09A0
- ldr r6, =gUnknown_0203CEDC
- ldr r0, [r6]
- lsls r5, r4, 4
- adds r0, r5, r0
- ldr r2, [r0]
- ldrb r0, [r0, 0x8]
- movs r1, 0
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- ldr r4, [r2]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl _call_via_r4
- ldr r1, [r6]
- adds r1, r5
- adds r0, r7, 0
- movs r2, 0
- bl sub_81B2A70
- b _081B0A02
- .pool
-_081B09A0:
- ldr r5, =gUnknown_0203CEDC
- ldr r0, [r5]
- lsls r4, 4
- adds r0, r4, r0
- ldr r1, [r0]
- ldrb r0, [r0, 0x8]
- str r2, [sp]
- str r2, [sp, 0x4]
- ldr r6, [r1]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl _call_via_r6
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- movs r2, 0
- bl sub_81B2A70
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- movs r2, 0
- bl sub_81B2AC8
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- movs r2, 0
- bl sub_81B2B8C
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- movs r2, 0
- bl sub_81B2CD4
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- movs r2, 0
- bl sub_81B2D74
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- bl sub_81B2E28
-_081B0A02:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B0948
-
- thumb_func_start sub_81B0A10
-sub_81B0A10: @ 81B0A10
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- movs r1, 0x64
- adds r2, r0, 0
- muls r2, r1
- ldr r1, =gPlayerParty
- adds r6, r2, r1
- ldr r7, =gUnknown_0203CEDC
- ldr r1, [r7]
- lsls r5, r0, 4
- adds r1, r5, r1
- ldr r2, [r1]
- ldrb r0, [r1, 0x8]
- movs r1, 0
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- ldr r4, [r2]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl _call_via_r4
- ldr r1, [r7]
- adds r1, r5
- adds r0, r6, 0
- movs r2, 0
- bl sub_81B2A70
- adds r0, r6, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _081B0A7C
- ldr r1, [r7]
- adds r1, r5
- adds r0, r6, 0
- movs r2, 0
- bl sub_81B2AC8
- ldr r1, [r7]
- adds r1, r5
- adds r0, r6, 0
- movs r2, 0
- bl sub_81B2B8C
-_081B0A7C:
- ldr r1, [r7]
- adds r1, r5
- mov r0, r8
- movs r2, 0
- bl sub_81B2FA8
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B0A10
-
- thumb_func_start sub_81B0A9C
-sub_81B0A9C: @ 81B0A9C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r6, =gSelectedOrderFromParty
- bl sub_81B85AC
- lsls r0, 24
- cmp r0, 0
- bne _081B0AD6
- adds r0, r5, 0
- movs r1, 0x7
- bl sub_81B0A10
- b _081B0B02
- .pool
-_081B0AC8:
- adds r1, r4, 0x2
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_81B0A10
- b _081B0B02
-_081B0AD6:
- movs r4, 0
- b _081B0AEE
-_081B0ADA:
- adds r1, r6, r4
- ldrb r0, [r1]
- cmp r0, 0
- beq _081B0AE8
- subs r0, 0x1
- cmp r0, r5
- beq _081B0AC8
-_081B0AE8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081B0AEE:
- bl sub_81B8830
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcc _081B0ADA
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81B0A10
-_081B0B02:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0A9C
-
- thumb_func_start sub_81B0B08
-sub_81B0B08: @ 81B0B08
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- bl sub_80DAE0C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _081B0B5A
- lsls r0, 2
- ldr r1, =_081B0B34
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B0B34:
- .4byte _081B0B48
- .4byte _081B0B52
- .4byte _081B0B52
- .4byte _081B0B48
- .4byte _081B0B48
-_081B0B48:
- adds r0, r4, 0
- movs r1, 0x7
- bl sub_81B0A10
- b _081B0B5A
-_081B0B52:
- adds r0, r4, 0
- movs r1, 0x6
- bl sub_81B0A10
-_081B0B5A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0B08
-
- thumb_func_start sub_81B0B60
-sub_81B0B60: @ 81B0B60
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- bl GetNumberOfRelearnableMoves
- lsls r0, 24
- cmp r0, 0
- bne _081B0B88
- adds r0, r4, 0
- movs r1, 0x9
- bl sub_81B0A10
- b _081B0B90
- .pool
-_081B0B88:
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_81B0A10
-_081B0B90:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0B60
-
- thumb_func_start sub_81B0B98
-sub_81B0B98: @ 81B0B98
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_81B218C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B0BB6
- adds r0, r4, 0
- movs r1, 0x6
- bl sub_81B0A10
- b _081B0BBE
-_081B0BB6:
- adds r0, r4, 0
- movs r1, 0x7
- bl sub_81B0A10
-_081B0BBE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0B98
-
- thumb_func_start sub_81B0BC4
-sub_81B0BC4: @ 81B0BC4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- cmp r0, 0
- beq _081B0BEC
- adds r0, r4, 0
- movs r1, 0xB
- bl sub_81B0A10
- b _081B0BF4
- .pool
-_081B0BEC:
- adds r0, r4, 0
- movs r1, 0xC
- bl sub_81B0A10
-_081B0BF4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0BC4
-
- thumb_func_start sub_81B0BFC
-sub_81B0BFC: @ 81B0BFC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r6, r1, r0
- ldr r0, =gSpecialVar_ItemId
- ldrh r4, [r0]
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xB]
- cmp r0, 0xC
- bne _081B0C40
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- ldr r0, =gSpecialVar_0x8005
- ldrb r2, [r0]
- adds r0, r5, 0
- movs r1, 0
- bl sub_81B0C94
- b _081B0C8A
- .pool
-_081B0C40:
- cmp r0, 0x3
- bne _081B0C56
- adds r0, r4, 0
- bl CheckIfItemIsTMHMOrEvolutionStone
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B0C5A
- cmp r0, 0x2
- beq _081B0C66
-_081B0C56:
- movs r0, 0
- b _081B0C8C
-_081B0C5A:
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_81B0C94
- b _081B0C8A
-_081B0C66:
- adds r0, r6, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _081B0C82
- adds r0, r6, 0
- movs r1, 0x3
- adds r2, r4, 0
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- cmp r0, 0
- bne _081B0C56
-_081B0C82:
- adds r0, r5, 0
- movs r1, 0
- bl sub_81B0A10
-_081B0C8A:
- movs r0, 0x1
-_081B0C8C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81B0BFC
-
- thumb_func_start sub_81B0C94
-sub_81B0C94: @ 81B0C94
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x64
- muls r0, r4
- ldr r3, =gPlayerParty
- adds r0, r3
- bl sub_81B22D8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _081B0CD2
- cmp r0, 0x2
- bgt _081B0CC4
- cmp r0, 0x1
- beq _081B0CC8
- b _081B0CDC
- .pool
-_081B0CC4:
- cmp r0, 0x3
- bne _081B0CDC
-_081B0CC8:
- adds r0, r4, 0
- movs r1, 0x9
- bl sub_81B0A10
- b _081B0CE4
-_081B0CD2:
- adds r0, r4, 0
- movs r1, 0xA
- bl sub_81B0A10
- b _081B0CE4
-_081B0CDC:
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_81B0A10
-_081B0CE4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0C94
-
- thumb_func_start sub_81B0CEC
-sub_81B0CEC: @ 81B0CEC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203CEDC
- lsls r2, r0, 4
- ldr r1, [r1]
- adds r6, r1, r2
- subs r0, 0x3
- lsls r0, 24
- ldr r5, =gUnknown_02022FF8
- lsrs r0, 19
- mov r8, r0
- adds r7, r0, r5
- ldrh r0, [r7]
- cmp r0, 0
- bne _081B0D24
- ldrb r0, [r6, 0x8]
- bl sub_81B2720
- b _081B0D8E
- .pool
-_081B0D24:
- ldr r2, [r6]
- ldrb r0, [r6, 0x8]
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r4, [r2]
- movs r2, 0
- movs r3, 0
- bl _call_via_r4
- ldr r4, =gStringVar1
- adds r5, 0x4
- add r5, r8
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringCopy
- adds r0, r4, 0
- bl StringGetEnd10
- adds r0, r4, 0
- bl sub_81DB52C
- ldrb r0, [r6, 0x8]
- ldr r3, [r6]
- adds r3, 0x4
- adds r1, r4, 0
- movs r2, 0
- bl sub_81B2A3C
- ldrb r0, [r7, 0xF]
- adds r1, r6, 0
- bl sub_81B2B40
- ldrb r0, [r7, 0x1C]
- ldrh r1, [r7]
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_81B2BF4
- ldrh r0, [r7, 0x10]
- adds r1, r6, 0
- bl sub_81B2D3C
- ldrh r0, [r7, 0x12]
- adds r1, r6, 0
- bl sub_81B2DDC
- ldrh r0, [r7, 0x10]
- ldrh r1, [r7, 0x12]
- adds r2, r6, 0
- bl sub_81B2E64
-_081B0D8E:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B0CEC
-
- thumb_func_start sub_81B0DA0
-sub_81B0DA0: @ 81B0DA0
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203CEC4
- ldr r0, [r5]
- movs r4, 0x86
- lsls r4, 2
- adds r0, r4
- ldrb r0, [r0]
- bl sub_81B07E0
- ldr r1, [r5]
- adds r1, r4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- beq _081B0DCC
- movs r0, 0
- b _081B0DCE
- .pool
-_081B0DCC:
- movs r0, 0x1
-_081B0DCE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81B0DA0
-
- thumb_func_start sub_81B0DD4
-sub_81B0DD4: @ 81B0DD4
- lsls r0, 16
- ldr r1, =gUnknown_0203CEE0
- lsrs r0, 11
- ldr r1, [r1]
- adds r1, r0
- adds r0, r1, 0
- bx lr
- .pool
- thumb_func_end sub_81B0DD4
-
- thumb_func_start party_menu_add_per_mon_objects_internal
-party_menu_add_per_mon_objects_internal: @ 81B0DE8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x5
- bne _081B0E98
- cmp r7, 0x2
- bls _081B0E98
- subs r0, r7, 0x3
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, =gUnknown_02022FF8
- mov r9, r0
- mov r2, r10
- lsls r2, 5
- mov r8, r2
- mov r6, r8
- add r6, r9
- ldrh r0, [r6]
- cmp r0, 0
- beq _081B0EDC
- mov r1, r9
- adds r1, 0x18
- add r1, r8
- ldr r1, [r1]
- ldr r4, =gUnknown_0203CEDC
- lsls r5, r7, 4
- ldr r2, [r4]
- adds r2, r5
- movs r3, 0
- str r3, [sp]
- bl party_menu_link_mon_icon_anim
- ldrh r0, [r6]
- ldrh r1, [r6, 0x2]
- ldr r2, [r4]
- adds r2, r5
- bl party_menu_link_mon_held_item_object
- ldrh r0, [r6]
- ldr r1, [r4]
- adds r1, r5
- bl party_menu_link_mon_pokeball_object
- ldrh r0, [r6, 0x10]
- cmp r0, 0
- bne _081B0E68
- movs r3, 0x7
- b _081B0E78
- .pool
-_081B0E68:
- mov r0, r9
- adds r0, 0x14
- add r0, r8
- ldr r0, [r0]
- bl pokemon_ailments_get_primary
- lsls r0, 24
- lsrs r3, r0, 24
-_081B0E78:
- ldr r1, =gUnknown_02022FF8
- mov r2, r10
- lsls r0, r2, 5
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, =gUnknown_0203CEDC
- ldr r2, [r1]
- adds r2, r5
- adds r1, r3, 0
- bl party_menu_link_mon_status_condition_object
- b _081B0EDC
- .pool
-_081B0E98:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r6, r1, r0
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B0EDC
- ldr r4, =gUnknown_0203CEDC
- lsls r5, r7, 4
- ldr r1, [r4]
- adds r1, r5
- adds r0, r6, 0
- adds r2, r7, 0
- bl party_menu_icon_anim
- ldr r1, [r4]
- adds r1, r5
- adds r0, r6, 0
- bl party_menu_held_item_object
- ldr r1, [r4]
- adds r1, r5
- adds r0, r6, 0
- bl party_menu_pokeball_object
- ldr r1, [r4]
- adds r1, r5
- adds r0, r6, 0
- bl party_menu_status_condition_object
-_081B0EDC:
- 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 party_menu_add_per_mon_objects_internal
-
- thumb_func_start party_menu_add_per_mon_objects
-party_menu_add_per_mon_objects: @ 81B0EF4
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203CEC4
- ldr r0, [r5]
- movs r4, 0x86
- lsls r4, 2
- adds r0, r4
- ldrb r0, [r0]
- bl party_menu_add_per_mon_objects_internal
- ldr r1, [r5]
- adds r1, r4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- beq _081B0F20
- movs r0, 0
- b _081B0F22
- .pool
-_081B0F20:
- movs r0, 0x1
-_081B0F22:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end party_menu_add_per_mon_objects
-
- thumb_func_start sub_81B0F28
-sub_81B0F28: @ 81B0F28
- push {r4,lr}
- sub sp, 0xC
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x5
- bne _081B0F54
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r1, 0xE
- movs r2, 0x17
- movs r3, 0x11
- bl FillBgTilemapBufferRect
- b _081B0FBC
- .pool
-_081B0F54:
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B0F94
- movs r0, 0xBF
- movs r1, 0x88
- bl sub_81B5F74
- ldr r3, [r4]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x7F
- ands r0, r1
- lsls r0, 4
- ldrh r2, [r3, 0x8]
- ldr r1, =0xfffff80f
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x8]
- bl sub_81B120C
- movs r0, 0xBF
- movs r1, 0x98
- bl sub_81B5F74
- b _081B0F9C
- .pool
-_081B0F94:
- movs r0, 0xC6
- movs r1, 0x94
- bl sub_81B5F34
-_081B0F9C:
- ldr r3, [r4]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x7F
- ands r0, r1
- lsls r0, 11
- ldr r1, [r3, 0x8]
- ldr r2, =0xfffc07ff
- ands r1, r2
- orrs r1, r0
- str r1, [r3, 0x8]
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x9]
- movs r1, 0x1
- bl sub_81B0FCC
-_081B0FBC:
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B0F28
-
- thumb_func_start sub_81B0FCC
-sub_81B0FCC: @ 81B0FCC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- cmp r7, 0x6
- beq _081B1038
- cmp r7, 0x7
- beq _081B1074
- movs r0, 0x64
- muls r0, r7
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B10E8
- ldr r6, =gUnknown_0203CEDC
- lsls r5, r7, 4
- ldr r4, [r6]
- adds r4, r5
- adds r0, r7, 0
- mov r1, r8
- bl sub_81B10F8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_81B2748
- ldr r0, [r6]
- adds r0, r5, r0
- ldrb r0, [r0, 0x9]
- mov r1, r8
- bl sub_81B5B6C
- ldr r0, [r6]
- adds r5, r0
- ldrb r0, [r5, 0xB]
- mov r1, r8
- bl sub_81B5F98
- b _081B10E8
- .pool
-_081B1038:
- mov r0, r8
- cmp r0, 0
- bne _081B1052
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r1, 0x17
- movs r2, 0x10
- movs r3, 0x7
- bl sub_8199C30
- b _081B1064
-_081B1052:
- movs r0, 0x2
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0x17
- movs r2, 0x10
- movs r3, 0x7
- bl sub_8199C30
-_081B1064:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrh r0, [r0, 0x8]
- lsls r0, 21
- b _081B10DA
- .pool
-_081B1074:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- bne _081B10A6
- mov r0, r8
- cmp r0, 0
- bne _081B1098
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r1, 0x17
- movs r2, 0x11
- b _081B10B8
- .pool
-_081B1098:
- movs r0, 0x2
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0x17
- movs r2, 0x11
- b _081B10B8
-_081B10A6:
- mov r0, r8
- cmp r0, 0
- bne _081B10C0
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r1, 0x17
- movs r2, 0x12
-_081B10B8:
- movs r3, 0x7
- bl sub_8199C30
- b _081B10D2
-_081B10C0:
- movs r0, 0x2
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0x17
- movs r2, 0x12
- movs r3, 0x7
- bl sub_8199C30
-_081B10D2:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- lsls r0, 14
-_081B10DA:
- lsrs r0, 25
- mov r1, r8
- bl sub_81B5F98
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
-_081B10E8:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B0FCC
-
- thumb_func_start sub_81B10F8
-sub_81B10F8: @ 81B10F8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r4, 0
- cmp r1, 0x1
- bne _081B110A
- movs r4, 0x1
-_081B110A:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _081B1120
- movs r0, 0x2
- orrs r4, r0
-_081B1120:
- adds r0, r5, 0
- bl sub_81B118C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B1136
- movs r0, 0x8
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_081B1136:
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0xB]
- adds r2, r0, 0
- cmp r1, 0x9
- bne _081B1148
- movs r0, 0x10
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_081B1148:
- cmp r1, 0x8
- bne _081B1164
- movs r0, 0x9
- ldrsb r0, [r2, r0]
- cmp r5, r0
- beq _081B115C
- movs r0, 0xA
- ldrsb r0, [r2, r0]
- cmp r5, r0
- bne _081B1164
-_081B115C:
- movs r0, 0x4
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_081B1164:
- ldrb r0, [r2, 0xB]
- cmp r0, 0xA
- bne _081B117A
- movs r0, 0x9
- ldrsb r0, [r2, r0]
- cmp r5, r0
- bne _081B117A
- movs r0, 0x20
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_081B117A:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B10F8
-
- thumb_func_start sub_81B118C
-sub_81B118C: @ 81B118C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0x20
- bne _081B11B4
- cmp r2, 0x1
- beq _081B11AA
- cmp r2, 0x4
- beq _081B11AA
- cmp r2, 0x5
- bne _081B11B4
-_081B11AA:
- movs r0, 0x1
- b _081B11F8
- .pool
-_081B11B4:
- cmp r2, 0x2
- bhi _081B11F6
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- beq _081B11F6
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B11F6
- adds r0, r2, 0
- bl sub_81B8F38
- ldr r1, =gBattleStruct
- ldr r1, [r1]
- movs r2, 0xA8
- lsls r2, 2
- adds r1, r2
- ldrb r1, [r1]
- lsls r0, 24
- lsrs r0, 24
- asrs r1, r0
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- bne _081B11F8
-_081B11F6:
- movs r0, 0
-_081B11F8:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B118C
-
- thumb_func_start sub_81B120C
-sub_81B120C: @ 81B120C
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r1, =gUnknown_086157C4
- movs r6, 0x7
- str r6, [sp]
- movs r5, 0x2
- str r5, [sp, 0x4]
- movs r4, 0x11
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r2, 0x17
- movs r3, 0x10
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r1, =gUnknown_086157E0
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r2, 0x17
- movs r3, 0x12
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B120C
-
- thumb_func_start sub_81B1250
-sub_81B1250: @ 81B1250
- push {lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x49
- ands r0, r1
- cmp r0, 0x49
- bne _081B1280
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B1280
- movs r0, 0x1
- b _081B1282
- .pool
-_081B1280:
- movs r0, 0
-_081B1282:
- pop {r1}
- bx r1
- thumb_func_end sub_81B1250
-
- thumb_func_start sub_81B1288
-sub_81B1288: @ 81B1288
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- movs r0, 0x64
- bl Alloc
- adds r5, r0, 0
- adds r1, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r5, 0
- bl Free
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81B1288
-
- thumb_func_start sub_81B12C0
-sub_81B12C0: @ 81B12C0
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =c3_0811FAB4
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B12C0
-
- thumb_func_start c3_0811FAB4
-c3_0811FAB4: @ 81B12F8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B134C
- ldr r4, =gUnknown_0203CEC8
- ldrb r1, [r4, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- bne _081B131A
- bl sub_81B9080
-_081B131A:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0
- beq _081B1338
- bl SetMainCallback2
- b _081B133E
- .pool
-_081B1338:
- ldr r0, [r4]
- bl SetMainCallback2
-_081B133E:
- bl ResetSpriteData
- bl sub_81B06F4
- adds r0, r5, 0
- bl DestroyTask
-_081B134C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end c3_0811FAB4
-
- thumb_func_start GetCursorSelectionMonId
-GetCursorSelectionMonId: @ 81B1354
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x9]
- bx lr
- .pool
- thumb_func_end GetCursorSelectionMonId
-
- thumb_func_start sub_81B1360
-sub_81B1360: @ 81B1360
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x8]
- lsls r0, 28
- lsrs r0, 28
- bx lr
- .pool
- thumb_func_end sub_81B1360
-
- thumb_func_start sub_81B1370
-sub_81B1370: @ 81B1370
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B13E0
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B13E0
- bl sub_81B13EC
- adds r4, r0, 0
- bl sub_81B1760
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- beq _081B13C0
- cmp r0, 0x2
- bgt _081B13B0
- cmp r0, 0x1
- beq _081B13B6
- b _081B13E0
- .pool
-_081B13B0:
- cmp r0, 0x8
- beq _081B13CA
- b _081B13E0
-_081B13B6:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81B140C
- b _081B13E0
-_081B13C0:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_81B15D0
- b _081B13E0
-_081B13CA:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B13E0
- movs r0, 0x5
- bl PlaySE
- bl sub_81B4F88
-_081B13E0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1370
-
- thumb_func_start sub_81B13EC
-sub_81B13EC: @ 81B13EC
- push {lr}
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0xB]
- cmp r1, 0x8
- beq _081B13FA
- cmp r1, 0xA
- bne _081B1404
-_081B13FA:
- adds r0, 0xA
- b _081B1406
- .pool
-_081B1404:
- adds r0, 0x9
-_081B1406:
- pop {r1}
- bx r1
- thumb_func_end sub_81B13EC
-
- thumb_func_start sub_81B140C
-sub_81B140C: @ 81B140C
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x6
- bne _081B142C
- ldr r0, =gUnknown_0203CEC8
- ldr r1, [r0, 0x4]
- adds r0, r5, 0
- bl _call_via_r1
- b _081B159E
- .pool
-_081B142C:
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xB]
- subs r0, 0x3
- cmp r0, 0xA
- bls _081B1438
- b _081B1592
-_081B1438:
- lsls r0, 2
- ldr r1, =_081B144C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B144C:
- .4byte _081B149C
- .4byte _081B1592
- .4byte _081B1538
- .4byte _081B1538
- .4byte _081B1510
- .4byte _081B1560
- .4byte _081B1592
- .4byte _081B1478
- .4byte _081B156E
- .4byte _081B14E8
- .4byte _081B157C
-_081B1478:
- adds r0, r4, 0
- bl sub_81B15A4
- lsls r0, 24
- cmp r0, 0
- bne _081B1486
- b _081B159E
-_081B1486:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- adds r0, r5, 0
- bl sub_81615A8
- b _081B159E
- .pool
-_081B149C:
- adds r0, r4, 0
- bl sub_81B15A4
- lsls r0, 24
- cmp r0, 0
- bne _081B14AA
- b _081B159E
-_081B14AA:
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- ldr r2, =gUnknown_0203CEC4
- cmp r0, 0x1
- bne _081B14BE
- ldr r1, [r2]
- ldr r0, =sub_81B9140
- str r0, [r1, 0x4]
-_081B14BE:
- ldr r0, [r2]
- adds r0, 0xD
- bl sub_81B302C
- ldr r0, =gUnknown_03006328
- ldr r1, =sub_81B6794
- ldr r2, [r0]
- adds r0, r5, 0
- bl _call_via_r2
- b _081B159E
- .pool
-_081B14E8:
- adds r0, r4, 0
- bl sub_81B15A4
- lsls r0, 24
- cmp r0, 0
- beq _081B159E
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- adds r0, r5, 0
- bl sub_81B7E4C
- b _081B159E
- .pool
-_081B1510:
- adds r0, r4, 0
- bl sub_81B15A4
- lsls r0, 24
- cmp r0, 0
- beq _081B159E
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- adds r0, r5, 0
- bl sub_81B8474
- b _081B159E
- .pool
-_081B1538:
- adds r0, r4, 0
- bl sub_81B15A4
- lsls r0, 24
- cmp r0, 0
- beq _081B159E
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- adds r0, r5, 0
- bl sub_81B7FAC
- b _081B159E
- .pool
-_081B1560:
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_81B3938
- b _081B159E
-_081B156E:
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_81B12C0
- b _081B159E
-_081B157C:
- adds r0, r4, 0
- bl sub_81B15A4
- lsls r0, 24
- cmp r0, 0
- beq _081B159E
- ldrb r1, [r4]
- adds r0, r5, 0
- bl sub_81B21AC
- b _081B159E
-_081B1592:
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_81B36FC
-_081B159E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81B140C
-
- thumb_func_start sub_81B15A4
-sub_81B15A4: @ 81B15A4
- push {lr}
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0x1
- beq _081B15C4
- movs r0, 0x1
- b _081B15CC
- .pool
-_081B15C4:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0
-_081B15CC:
- pop {r1}
- bx r1
- thumb_func_end sub_81B15A4
-
- thumb_func_start sub_81B15D0
-sub_81B15D0: @ 81B15D0
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xB]
- cmp r0, 0x8
- beq _081B1602
- cmp r0, 0x8
- bgt _081B15F0
- cmp r0, 0x1
- beq _081B15FA
- b _081B161E
- .pool
-_081B15F0:
- cmp r0, 0xA
- beq _081B1602
- cmp r0, 0xD
- beq _081B1610
- b _081B161E
-_081B15FA:
- movs r0, 0x20
- bl PlaySE
- b _081B1652
-_081B1602:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_81B407C
- b _081B1652
-_081B1610:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_81B2210
- b _081B1652
-_081B161E:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_81B1660
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B1652
- bl sub_81221AC
- lsls r0, 24
- cmp r0, 0
- bne _081B1642
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0x7
- strh r0, [r1]
-_081B1642:
- ldr r0, =gUnknown_0203CEE8
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x7
- strb r0, [r5]
- adds r0, r4, 0
- bl sub_81B12C0
-_081B1652:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B15D0
-
- thumb_func_start sub_81B1660
-sub_81B1660: @ 81B1660
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x8]
- movs r1, 0xF
- ands r1, r0
- cmp r1, 0x2
- bne _081B1680
- ldr r5, =gText_CancelParticipation
- b _081B168A
- .pool
-_081B1680:
- cmp r1, 0x4
- bne _081B168A
- bl sub_81B88BC
- adds r5, r0, 0
-_081B168A:
- cmp r5, 0
- beq _081B16CC
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- ldr r4, =gStringVar4
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B16D4
- str r1, [r0]
- movs r0, 0x1
- b _081B16CE
- .pool
-_081B16CC:
- movs r0, 0
-_081B16CE:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81B1660
-
- thumb_func_start sub_81B16D4
-sub_81B16D4: @ 81B16D4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B16F8
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1708
- str r0, [r1]
-_081B16F8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B16D4
-
- thumb_func_start sub_81B1708
-sub_81B1708: @ 81B1708
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B172E
- cmp r1, 0
- bgt _081B1728
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B174C
- b _081B1758
-_081B1728:
- cmp r1, 0x1
- beq _081B1752
- b _081B1758
-_081B172E:
- ldr r0, =gUnknown_0203CEE8
- strb r1, [r0]
- ldr r1, =gUnknown_0203CEC8
- movs r0, 0x7
- strb r0, [r1, 0x9]
- bl sub_81B8558
- adds r0, r4, 0
- bl sub_81B12C0
- b _081B1758
- .pool
-_081B174C:
- movs r0, 0x5
- bl PlaySE
-_081B1752:
- adds r0, r4, 0
- bl sub_81B1C1C
-_081B1758:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B1708
-
- thumb_func_start sub_81B1760
-sub_81B1760: @ 81B1760
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gMain
- ldrh r1, [r0, 0x30]
- adds r3, r0, 0
- cmp r1, 0x20
- beq _081B178E
- cmp r1, 0x20
- bgt _081B177C
- cmp r1, 0x10
- beq _081B1792
- b _081B1796
- .pool
-_081B177C:
- cmp r1, 0x40
- beq _081B1786
- cmp r1, 0x80
- beq _081B178A
- b _081B1796
-_081B1786:
- movs r1, 0xFF
- b _081B17B2
-_081B178A:
- movs r1, 0x1
- b _081B17B2
-_081B178E:
- movs r1, 0xFE
- b _081B17B2
-_081B1792:
- movs r1, 0x2
- b _081B17B2
-_081B1796:
- bl sub_812210C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B17AA
- cmp r0, 0x2
- beq _081B17AE
- movs r1, 0
- b _081B17B0
-_081B17AA:
- movs r1, 0xFF
- b _081B17B0
-_081B17AE:
- movs r1, 0x1
-_081B17B0:
- ldr r3, =gMain
-_081B17B2:
- ldrh r2, [r3, 0x2E]
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _081B17C4
- movs r0, 0x8
- b _081B17F0
- .pool
-_081B17C4:
- lsls r0, r1, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B17D6
- adds r0, r4, 0
- bl sub_81B17F8
- movs r0, 0
- b _081B17F0
-_081B17D6:
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _081B17EA
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x7
- bne _081B17EA
- movs r0, 0x2
- b _081B17F0
-_081B17EA:
- ldrh r1, [r3, 0x2E]
- movs r0, 0x3
- ands r0, r1
-_081B17F0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B1760
-
- thumb_func_start sub_81B17F8
-sub_81B17F8: @ 81B17F8
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldrb r4, [r5]
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x8]
- lsls r0, 26
- lsrs r0, 30
- cmp r0, 0
- bne _081B1820
- lsls r1, 24
- asrs r1, 24
- adds r0, r5, 0
- bl sub_81B1854
- b _081B182A
- .pool
-_081B1820:
- lsls r1, 24
- asrs r1, 24
- adds r0, r5, 0
- bl sub_81B195C
-_081B182A:
- movs r1, 0
- ldrsb r1, [r5, r1]
- lsls r4, 24
- asrs r0, r4, 24
- cmp r1, r0
- beq _081B184C
- movs r0, 0x5
- bl PlaySE
- lsrs r0, r4, 24
- movs r1, 0
- bl sub_81B0FCC
- ldrb r0, [r5]
- movs r1, 0x1
- bl sub_81B0FCC
-_081B184C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81B17F8
-
- thumb_func_start sub_81B1854
-sub_81B1854: @ 81B1854
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B187A
- cmp r1, r0
- bgt _081B1870
- subs r0, 0x1
- cmp r1, r0
- beq _081B1924
- b _081B1952
-_081B1870:
- cmp r1, 0x1
- beq _081B18C0
- cmp r1, 0x2
- beq _081B18F8
- b _081B1952
-_081B187A:
- ldrb r0, [r4]
- movs r1, 0
- ldrsb r1, [r4, r1]
- cmp r1, 0
- bne _081B1888
- movs r0, 0x7
- b _081B1950
-_081B1888:
- cmp r1, 0x6
- bne _081B1898
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- b _081B1950
- .pool
-_081B1898:
- cmp r1, 0x7
- bne _081B18BC
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B18B0
- movs r0, 0x6
- b _081B1950
- .pool
-_081B18B0:
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- b _081B1950
- .pool
-_081B18BC:
- subs r0, 0x1
- b _081B1950
-_081B18C0:
- ldrb r2, [r4]
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x7
- beq _081B194E
- movs r1, 0
- ldrsb r1, [r4, r1]
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bne _081B18F4
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B18F0
- movs r0, 0x6
- b _081B1950
- .pool
-_081B18F0:
- movs r0, 0x7
- b _081B1950
-_081B18F4:
- adds r0, r2, 0x1
- b _081B1950
-_081B18F8:
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _081B1952
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _081B1952
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 28
- lsrs r0, 29
- cmp r0, 0
- bne _081B1950
- movs r0, 0x1
- b _081B1950
- .pool
-_081B1924:
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- beq _081B1952
- cmp r0, 0x6
- beq _081B1952
- cmp r0, 0x7
- beq _081B1952
- ldr r0, =gUnknown_0203CEC4
- ldr r3, [r0]
- movs r1, 0
- ldrsb r1, [r4, r1]
- movs r0, 0x7
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r3, 0x8]
- movs r0, 0xF
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x8]
-_081B194E:
- movs r0, 0
-_081B1950:
- strb r0, [r4]
-_081B1952:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1854
-
- thumb_func_start sub_81B195C
-sub_81B195C: @ 81B195C
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r2, r1, 24
- asrs r5, r1, 24
- movs r6, 0x1
- negs r6, r6
- cmp r5, r6
- beq _081B1988
- cmp r5, r6
- bgt _081B197E
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- bne _081B197C
- b _081B1A9C
-_081B197C:
- b _081B1AF4
-_081B197E:
- cmp r5, 0x1
- beq _081B19E4
- cmp r5, 0x2
- beq _081B1A24
- b _081B1AF4
-_081B1988:
- ldrb r1, [r4]
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _081B1996
- movs r0, 0x7
- b _081B1AF2
-_081B1996:
- cmp r0, 0x6
- bne _081B19A8
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- b _081B1AF2
- .pool
-_081B19A8:
- cmp r0, 0x7
- bne _081B19C4
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B19C0
- movs r0, 0x6
- b _081B1AF2
- .pool
-_081B19C0:
- subs r0, r1, 0x1
- strb r0, [r4]
-_081B19C4:
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r1, r2, 24
- asrs r1, 24
- bl sub_81B1B00
- lsls r0, 24
- lsrs r2, r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _081B19E0
- b _081B1AF4
-_081B19E0:
- strb r2, [r4]
- b _081B1AF4
-_081B19E4:
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x6
- bne _081B19F0
- movs r0, 0x7
- b _081B1AF2
-_081B19F0:
- cmp r0, 0x7
- bne _081B19F8
- movs r0, 0
- b _081B1AF2
-_081B19F8:
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r1, 0x1
- bl sub_81B1B00
- lsls r0, 24
- lsrs r2, r0, 24
- asrs r0, 24
- cmp r0, r6
- bne _081B19E0
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B1A20
- movs r0, 0x6
- b _081B1AF2
- .pool
-_081B1A20:
- movs r0, 0x7
- b _081B1AF2
-_081B1A24:
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _081B1A5C
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 28
- lsrs r6, r0, 29
- cmp r6, 0x3
- bne _081B1A54
- ldr r0, =gPlayerParty + 300
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B1AF4
- strb r6, [r4]
- b _081B1AF4
- .pool
-_081B1A54:
- ldr r0, =gPlayerParty + 200
- b _081B1A70
- .pool
-_081B1A5C:
- cmp r0, 0x1
- bne _081B1AF4
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 28
- lsrs r5, r0, 29
- cmp r5, 0x5
- bne _081B1A88
- ldr r0, =gPlayerParty + 500
-_081B1A70:
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B1AF4
- strb r5, [r4]
- b _081B1AF4
- .pool
-_081B1A88:
- ldr r0, =gPlayerParty + 400
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B1AF4
- movs r0, 0x4
- b _081B1AF2
- .pool
-_081B1A9C:
- ldrb r1, [r4]
- subs r0, r1, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _081B1ACC
- ldr r0, =gUnknown_0203CEC4
- ldr r3, [r0]
- movs r1, 0
- ldrsb r1, [r4, r1]
- movs r0, 0x7
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r3, 0x8]
- movs r0, 0xF
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x8]
- movs r0, 0
- b _081B1AF2
- .pool
-_081B1ACC:
- subs r0, r1, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _081B1AF4
- ldr r0, =gUnknown_0203CEC4
- ldr r3, [r0]
- movs r1, 0
- ldrsb r1, [r4, r1]
- movs r0, 0x7
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r3, 0x8]
- movs r0, 0xF
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x8]
- movs r0, 0x1
-_081B1AF2:
- strb r0, [r4]
-_081B1AF4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B195C
-
- thumb_func_start sub_81B1B00
-sub_81B1B00: @ 81B1B00
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- asrs r6, r1, 24
-_081B1B0A:
- lsls r0, r5, 24
- asrs r0, 24
- adds r0, r6
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, r5, 24
- lsrs r0, r1, 24
- cmp r0, 0x5
- bhi _081B1B38
- asrs r4, r1, 24
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B1B0A
- adds r0, r4, 0
- b _081B1B3C
- .pool
-_081B1B38:
- movs r0, 0x1
- negs r0, r0
-_081B1B3C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81B1B00
-
- thumb_func_start GetMonNickname
-@ u8 *GetMonNickname(struct pokemon *mon, u8 *dest)
-GetMonNickname: @ 81B1B44
- push {r4,lr}
- adds r4, r1, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl GetMonData
- adds r0, r4, 0
- bl StringGetEnd10
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetMonNickname
-
- thumb_func_start sub_81B1B5C
-sub_81B1B5C: @ 81B1B5C
- push {r4,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- bl sub_81B3300
- ldr r0, =sub_81B1B8C
- movs r1, 0x1
- 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, 0x8]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B1B5C
-
- thumb_func_start sub_81B1B8C
-sub_81B1B8C: @ 81B1B8C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- movs r0, 0x6
- bl RunTextPrintersRetIsActive
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- beq _081B1BC8
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _081B1BC2
- movs r0, 0x6
- movs r1, 0
- bl sub_8198070
- movs r0, 0x6
- bl ClearWindowTilemap
-_081B1BC2:
- adds r0, r5, 0
- bl DestroyTask
-_081B1BC8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1B8C
-
- thumb_func_start sub_81B1BD4
-sub_81B1BD4: @ 81B1BD4
- push {lr}
- ldr r0, =sub_81B1B8C
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B1BD4
-
- thumb_func_start sub_81B1BE8
-sub_81B1BE8: @ 81B1BE8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B1C0E
- movs r0, 0
- bl display_pokemon_menu_message
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1370
- str r0, [r1]
-_081B1C0E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1BE8
-
- thumb_func_start sub_81B1C1C
-sub_81B1C1C: @ 81B1C1C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B1C74
- movs r0, 0x6
- movs r1, 0
- bl sub_8198070
- movs r0, 0x6
- bl ClearWindowTilemap
- bl sub_81221AC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B1C60
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1BE8
- b _081B1C72
- .pool
-_081B1C60:
- movs r0, 0
- bl display_pokemon_menu_message
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1370
-_081B1C72:
- str r0, [r1]
-_081B1C74:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1C1C
-
- thumb_func_start sub_81B1C84
-sub_81B1C84: @ 81B1C84
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r1, =gStringVar2
- adds r0, r4, 0
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnWasGivenItem
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1C84
-
- thumb_func_start sub_81B1CD0
-sub_81B1CD0: @ 81B1CD0
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r1, =gStringVar2
- adds r0, r4, 0
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_RecievedItemFromPkmn
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1CD0
-
- thumb_func_start sub_81B1D1C
-sub_81B1D1C: @ 81B1D1C
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r1, =gStringVar2
- adds r0, r4, 0
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_SwitchPkmnItem
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1D1C
-
- thumb_func_start sub_81B1D68
-sub_81B1D68: @ 81B1D68
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r1, =gStringVar2
- adds r0, r4, 0
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_SwitchedPkmnItem
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1D68
-
- thumb_func_start sub_81B1DB8
-sub_81B1DB8: @ 81B1DB8
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- lsls r5, r1, 16
- lsrs r4, r5, 16
- adds r7, r4, 0
- adds r0, r4, 0
- bl ItemIsMail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B1DE2
- adds r0, r6, 0
- adds r1, r4, 0
- bl GiveMailToMon
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _081B1DF6
-_081B1DE2:
- mov r0, sp
- strb r7, [r0]
- mov r1, sp
- lsrs r0, r5, 24
- strb r0, [r1, 0x1]
- adds r0, r6, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
-_081B1DF6:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B1DB8
-
- thumb_func_start sub_81B1E00
-sub_81B1E00: @ 81B1E00
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r1, sp
- strh r0, [r1]
- cmp r0, 0
- bne _081B1E1C
- movs r0, 0
- b _081B1E3E
-_081B1E1C:
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- beq _081B1E3C
- movs r1, 0
- mov r0, sp
- strh r1, [r0]
- adds r0, r4, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- movs r0, 0x2
- b _081B1E3E
-_081B1E3C:
- movs r0, 0x1
-_081B1E3E:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B1E00
-
- thumb_func_start pokemon_item_not_removed
-pokemon_item_not_removed: @ 81B1E48
- push {lr}
- ldr r0, =gStringVar4
- ldr r1, =gText_BagFullCouldNotRemoveItem
- bl StringExpandPlaceholders
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemon_item_not_removed
-
- thumb_func_start sub_81B1E60
-sub_81B1E60: @ 81B1E60
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r7, r0, r1
- ldrh r0, [r7, 0x4]
- ldrh r1, [r7]
- adds r0, r1
- strh r0, [r7]
- ldrh r0, [r7, 0x6]
- subs r0, 0x1
- strh r0, [r7, 0x6]
- movs r2, 0x8
- ldrsh r0, [r7, r2]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x39
- adds r2, r7, 0
- bl SetMonData
- movs r3, 0x8
- ldrsh r2, [r7, r3]
- adds r0, r2, 0
- muls r0, r5
- adds r0, r4
- ldr r6, =gUnknown_0203CEDC
- lsls r2, 4
- ldr r1, [r6]
- adds r1, r2
- movs r2, 0x1
- bl sub_81B2CD4
- movs r0, 0x8
- ldrsh r2, [r7, r0]
- adds r0, r2, 0
- muls r0, r5
- adds r0, r4
- lsls r2, 4
- ldr r1, [r6]
- adds r1, r2
- bl sub_81B2E28
- movs r1, 0x6
- ldrsh r0, [r7, r1]
- cmp r0, 0
- beq _081B1EDC
- movs r2, 0
- ldrsh r1, [r7, r2]
- cmp r1, 0
- beq _081B1EDC
- movs r3, 0x2
- ldrsh r0, [r7, r3]
- cmp r1, r0
- bne _081B1EFE
-_081B1EDC:
- movs r0, 0
- ldrsh r1, [r7, r0]
- movs r2, 0xA
- ldrsh r0, [r7, r2]
- cmp r1, r0
- ble _081B1EF8
- ldr r0, =gStringVar2
- movs r3, 0xA
- ldrsh r2, [r7, r3]
- subs r1, r2
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
-_081B1EF8:
- mov r0, r8
- bl SwitchTaskToFollowupFunc
-_081B1EFE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1E60
-
- thumb_func_start sub_81B1F18
-sub_81B1F18: @ 81B1F18
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r0
- mov r9, r1
- adds r5, r2, 0
- mov r10, r3
- ldr r7, [sp, 0x20]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r5, 24
- lsrs r5, 24
- mov r0, r10
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- movs r0, 0x64
- mov r6, r9
- muls r6, r0
- ldr r0, =gPlayerParty
- adds r6, r0
- mov r0, r8
- lsls r4, r0, 2
- add r4, r8
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- adds r0, r6, 0
- movs r1, 0x39
- bl GetMonData
- strh r0, [r4]
- adds r0, r6, 0
- movs r1, 0x3A
- bl GetMonData
- strh r0, [r4, 0x2]
- lsls r5, 24
- asrs r5, 24
- strh r5, [r4, 0x4]
- mov r0, r10
- strh r0, [r4, 0x6]
- mov r0, r9
- strh r0, [r4, 0x8]
- ldrh r0, [r4]
- strh r0, [r4, 0xA]
- ldr r1, =sub_81B1E60
- mov r0, r8
- adds r2, r7, 0
- bl SetTaskFuncWithFollowupFunc
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1F18
-
- thumb_func_start sub_81B1FA8
-sub_81B1FA8: @ 81B1FA8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r3, r0, r1
- cmp r5, 0x5
- bhi _081B200A
- lsls r0, r5, 2
- ldr r1, =_081B1FD4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B1FD4:
- .4byte _081B1FEC
- .4byte _081B1FF2
- .4byte _081B1FF6
- .4byte _081B1FFA
- .4byte _081B1FFE
- .4byte _081B2002
-_081B1FEC:
- strh r2, [r3]
- strh r2, [r3, 0xA]
- b _081B200A
-_081B1FF2:
- strh r2, [r3, 0x2]
- b _081B200A
-_081B1FF6:
- strh r2, [r3, 0x4]
- b _081B200A
-_081B1FFA:
- strh r2, [r3, 0x6]
- b _081B200A
-_081B1FFE:
- strh r2, [r3, 0x8]
- b _081B200A
-_081B2002:
- ldr r1, =sub_81B1E60
- adds r0, r4, 0
- bl SetTaskFuncWithFollowupFunc
-_081B200A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1FA8
-
- thumb_func_start pokemon_ailments_get_primary
-pokemon_ailments_get_primary: @ 81B2014
- push {lr}
- adds r1, r0, 0
- movs r0, 0x88
- ands r0, r1
- cmp r0, 0
- beq _081B2024
- movs r0, 0x1
- b _081B2056
-_081B2024:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _081B2030
- movs r0, 0x2
- b _081B2056
-_081B2030:
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- beq _081B203C
- movs r0, 0x3
- b _081B2056
-_081B203C:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _081B2048
- movs r0, 0x4
- b _081B2056
-_081B2048:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _081B2054
- movs r0, 0
- b _081B2056
-_081B2054:
- movs r0, 0x5
-_081B2056:
- pop {r1}
- bx r1
- thumb_func_end pokemon_ailments_get_primary
-
- thumb_func_start sub_81B205C
-@ u8 sub_81B205C(struct pokemon *mon, int a2, void *a3)
-sub_81B205C: @ 81B205C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _081B206E
- movs r0, 0x7
- b _081B2096
-_081B206E:
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- bl pokemon_ailments_get_primary
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _081B2096
- adds r0, r4, 0
- movs r1, 0
- bl CheckPartyPokerus
- lsls r0, 24
- cmp r0, 0
- bne _081B2094
- movs r0, 0
- b _081B2096
-_081B2094:
- movs r0, 0x6
-_081B2096:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B205C
-
- thumb_func_start sub_81B209C
-sub_81B209C: @ 81B209C
- push {r4,r5,lr}
- ldr r2, =gUnknown_0203CEC8
- ldrb r1, [r2, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0xB
- bne _081B2126
- adds r5, r2, 0
- adds r5, 0xE
- movs r0, 0
- strh r0, [r2, 0xE]
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0
- bne _081B20FC
- movs r4, 0
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r4, r0
- bcs _081B2126
-_081B20C4:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- bl sub_81B2134
- lsls r0, 16
- lsrs r0, 16
- lsls r0, r4
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r4, r0
- bcc _081B20C4
- b _081B2126
- .pool
-_081B20FC:
- movs r4, 0
- b _081B211E
-_081B2100:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- bl sub_81B2164
- lsls r0, 16
- lsrs r0, 16
- lsls r0, r4
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081B211E:
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r4, r0
- bcc _081B2100
-_081B2126:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B209C
-
- thumb_func_start sub_81B2134
-sub_81B2134: @ 81B2134
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0x1
- beq _081B215A
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl sub_802C908
- cmp r0, 0
- beq _081B215A
- movs r0, 0x1
- b _081B215C
-_081B215A:
- movs r0, 0
-_081B215C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B2134
-
- thumb_func_start sub_81B2164
-sub_81B2164: @ 81B2164
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0x1
- beq _081B2182
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0x55
- bne _081B2182
- movs r0, 0x1
- b _081B2184
-_081B2182:
- movs r0, 0
-_081B2184:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B2164
-
- thumb_func_start sub_81B218C
-sub_81B218C: @ 81B218C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203CEC8
- movs r2, 0xE
- ldrsh r1, [r1, r2]
- asrs r1, r0
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- bne _081B21A4
- movs r0, 0
-_081B21A4:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B218C
-
- thumb_func_start sub_81B21AC
-sub_81B21AC: @ 81B21AC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- adds r0, r5, 0
- bl sub_81B218C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B21DC
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gSpecialVar_0x8004
- strh r5, [r0]
- adds r0, r4, 0
- bl sub_81B12C0
- b _081B21FE
- .pool
-_081B21DC:
- movs r0, 0x20
- bl PlaySE
- ldr r0, =gText_PkmnCantParticipate
- movs r1, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- str r1, [r0]
-_081B21FE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B21AC
-
- thumb_func_start sub_81B2210
-sub_81B2210: @ 81B2210
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gText_CancelParticipation
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B2248
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2210
-
- thumb_func_start sub_81B2248
-sub_81B2248: @ 81B2248
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B226C
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B227C
- str r0, [r1]
-_081B226C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2248
-
- thumb_func_start sub_81B227C
-sub_81B227C: @ 81B227C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B22A2
- cmp r1, 0
- bgt _081B229C
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B22B4
- b _081B22C8
-_081B229C:
- cmp r1, 0x1
- beq _081B22BA
- b _081B22C8
-_081B22A2:
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0x7
- strh r0, [r1]
- adds r0, r4, 0
- bl sub_81B12C0
- b _081B22C8
- .pool
-_081B22B4:
- movs r0, 0x5
- bl PlaySE
-_081B22BA:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1C1C
- str r0, [r1]
-_081B22C8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B227C
-
- thumb_func_start sub_81B22D8
-sub_81B22D8: @ 81B22D8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- adds r7, r4, 0
- lsls r2, 24
- lsrs r6, r2, 24
- mov r8, r6
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _081B22FA
- movs r0, 0x3
- b _081B2356
-_081B22FA:
- movs r0, 0x90
- lsls r0, 1
- cmp r4, r0
- bls _081B231C
- adds r1, r4, 0
- subs r1, 0x21
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl CanMonLearnTMHM
- cmp r0, 0
- beq _081B2334
- adds r0, r7, 0
- bl ItemIdToBattleMoveId
- b _081B233E
-_081B231C:
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl sub_81B2370
- lsls r0, 24
- cmp r0, 0
- bne _081B2338
-_081B2334:
- movs r0, 0x1
- b _081B2356
-_081B2338:
- mov r0, r8
- bl sub_81B2360
-_081B233E:
- lsls r0, 16
- lsrs r1, r0, 16
- adds r0, r5, 0
- bl pokemon_has_move
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B2354
- movs r0, 0
- b _081B2356
-_081B2354:
- movs r0, 0x2
-_081B2356:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81B22D8
-
- thumb_func_start sub_81B2360
-sub_81B2360: @ 81B2360
- lsls r0, 24
- ldr r1, =gUnknown_0861500C
- lsrs r0, 23
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_81B2360
-
- thumb_func_start sub_81B2370
-sub_81B2370: @ 81B2370
- push {lr}
- lsls r0, 16
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_08615048
- lsrs r0, 14
- adds r0, r2
- movs r2, 0x1
- lsls r2, r1
- ldr r0, [r0]
- ands r0, r2
- cmp r0, 0
- bne _081B2394
- movs r0, 0
- b _081B2396
- .pool
-_081B2394:
- movs r0, 0x1
-_081B2396:
- pop {r1}
- bx r1
- thumb_func_end sub_81B2370
-
- thumb_func_start sub_81B239C
-sub_81B239C: @ 81B239C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- beq _081B23C4
- cmp r0, 0x1
- bgt _081B23B2
- cmp r0, 0
- beq _081B23B8
- b _081B23DC
-_081B23B2:
- cmp r1, 0x2
- beq _081B23D0
- b _081B23DC
-_081B23B8:
- ldr r0, =gUnknown_08615810
- bl InitWindows
- b _081B23E2
- .pool
-_081B23C4:
- ldr r0, =gUnknown_08615850
- bl InitWindows
- b _081B23E2
- .pool
-_081B23D0:
- ldr r0, =gUnknown_08615890
- bl InitWindows
- b _081B23E2
- .pool
-_081B23DC:
- ldr r0, =gUnknown_086158D0
- bl InitWindows
-_081B23E2:
- bl DeactivateAllTextPrinters
- movs r4, 0
-_081B23E8:
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _081B23E8
- movs r0, 0
- movs r1, 0x4F
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx
- bl GetOverworldTextboxPalettePtr
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_0860F074
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B239C
-
- thumb_func_start sub_81B2428
-sub_81B2428: @ 81B2428
- push {r4-r6,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x5
- bne _081B243E
- b _081B2554
-_081B243E:
- cmp r2, 0x1
- bne _081B24B4
- ldr r0, =gUnknown_08615918
- bl AddWindow
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r5, =gMenuText_Confirm
- movs r0, 0
- adds r1, r5, 0
- movs r2, 0x30
- bl GetStringCenterAlignXOffset
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- ldr r0, =gUnknown_086157FC
- str r0, [sp, 0x8]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0xC]
- str r5, [sp, 0x10]
- adds r0, r4, 0
- movs r1, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized4
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, =gUnknown_08615910
- bl AddWindow
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- b _081B24C0
- .pool
-_081B24B4:
- ldr r0, =gUnknown_08615908
- bl AddWindow
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0x3
-_081B24C0:
- adds r0, r5, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0xA
- beq _081B2514
- ldr r4, =gText_Cancel
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x30
- bl GetStringCenterAlignXOffset
- lsls r0, 24
- lsrs r2, r0, 24
- adds r2, r6
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_086157FC
- str r0, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- b _081B2540
- .pool
-_081B2514:
- ldr r4, =gText_Cancel2
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x30
- bl GetStringCenterAlignXOffset
- lsls r0, 24
- lsrs r2, r0, 24
- adds r2, r6
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_086157FC
- str r0, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
-_081B2540:
- adds r0, r5, 0
- bl PutWindowTilemap
- adds r0, r5, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
-_081B2554:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2428
-
- thumb_func_start sub_81B2564
-sub_81B2564: @ 81B2564
- lsls r0, 24
- ldr r1, =gUnknown_0203CEC4
- lsrs r0, 23
- adds r0, 0x18
- ldr r1, [r1]
- adds r1, r0
- adds r0, r1, 0
- bx lr
- .pool
- thumb_func_end sub_81B2564
-
- thumb_func_start sub_81B2578
-sub_81B2578: @ 81B2578
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- str r1, [sp, 0xC]
- ldr r1, [sp, 0x4C]
- ldr r4, [sp, 0x50]
- ldr r5, [sp, 0x54]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x10]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x14]
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x18]
- lsls r4, 24
- lsrs r6, r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r10, r5
- mov r0, r10
- muls r0, r6
- lsls r0, 5
- bl AllocZeroed
- mov r9, r0
- cmp r0, 0
- beq _081B2646
- movs r5, 0
- ldr r0, [sp, 0x14]
- lsls r0, 19
- str r0, [sp, 0x1C]
- ldr r1, [sp, 0x18]
- lsls r1, 19
- str r1, [sp, 0x20]
- lsls r2, r6, 19
- str r2, [sp, 0x24]
- mov r0, r10
- lsls r0, 19
- str r0, [sp, 0x28]
- cmp r5, r10
- bcs _081B2624
-_081B25DA:
- movs r4, 0
- adds r1, r5, 0x1
- mov r8, r1
- cmp r4, r6
- bcs _081B261A
- ldr r2, [sp, 0x18]
- adds r0, r2, r5
- ldr r2, [sp, 0x10]
- adds r1, r0, 0
- muls r1, r2
- adds r7, r1, 0
-_081B25F0:
- ldr r1, [sp, 0x14]
- adds r0, r1, r4
- adds r0, r7
- ldr r2, [sp, 0xC]
- adds r0, r2, r0
- ldrb r0, [r0]
- bl sub_81B0DD4
- adds r1, r5, 0
- muls r1, r6
- adds r1, r4
- lsls r1, 5
- add r1, r9
- movs r2, 0x10
- bl CpuSet
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _081B25F0
-_081B261A:
- mov r1, r8
- lsls r0, r1, 24
- lsrs r5, r0, 24
- cmp r5, r10
- bcc _081B25DA
-_081B2624:
- ldr r0, [sp, 0x1C]
- lsrs r2, r0, 16
- ldr r1, [sp, 0x20]
- lsrs r3, r1, 16
- ldr r1, [sp, 0x24]
- lsrs r0, r1, 16
- str r0, [sp]
- ldr r1, [sp, 0x28]
- lsrs r0, r1, 16
- str r0, [sp, 0x4]
- ldr r0, [sp, 0x8]
- mov r1, r9
- bl BlitBitmapToWindow
- mov r0, r9
- bl Free
-_081B2646:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2578
-
- thumb_func_start sub_81B2658
-sub_81B2658: @ 81B2658
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r4, [sp, 0x1C]
- ldr r5, [sp, 0x20]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- cmp r3, 0
- bne _081B2684
- cmp r4, 0
- bne _081B2684
- movs r3, 0xA
- movs r4, 0x7
-_081B2684:
- cmp r5, 0
- bne _081B26A0
- ldr r1, =gUnknown_08615988
- str r2, [sp]
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r2, 0xA
- adds r3, r6, 0
- bl sub_81B2578
- b _081B26B0
- .pool
-_081B26A0:
- ldr r1, =gUnknown_086159CE
- str r2, [sp]
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r2, 0xA
- adds r3, r6, 0
- bl sub_81B2578
-_081B26B0:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2658
-
- thumb_func_start sub_81B26BC
-sub_81B26BC: @ 81B26BC
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r4, [sp, 0x1C]
- ldr r5, [sp, 0x20]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- cmp r3, 0
- bne _081B26E8
- cmp r4, 0
- bne _081B26E8
- movs r3, 0x12
- movs r4, 0x3
-_081B26E8:
- cmp r5, 0
- bne _081B2704
- ldr r1, =gUnknown_08615A14
- str r2, [sp]
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r2, 0x12
- adds r3, r6, 0
- bl sub_81B2578
- b _081B2714
- .pool
-_081B2704:
- ldr r1, =gUnknown_08615A4A
- str r2, [sp]
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r2, 0x12
- adds r3, r6, 0
- bl sub_81B2578
-_081B2714:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B26BC
-
- thumb_func_start sub_81B2720
-sub_81B2720: @ 81B2720
- push {lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_08615A80
- movs r2, 0
- str r2, [sp]
- movs r2, 0x12
- str r2, [sp, 0x4]
- movs r2, 0x3
- str r2, [sp, 0x8]
- movs r2, 0x12
- movs r3, 0
- bl sub_81B2578
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2720
-
- thumb_func_start sub_81B2748
-sub_81B2748: @ 81B2748
- push {r4-r7,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- adds r5, r4, 0
- ldrb r0, [r0, 0x8]
- movs r1, 0x5
- bl GetWindowAttribute
- lsls r0, 28
- lsrs r6, r0, 24
- adds r7, r6, 0
- movs r0, 0x40
- ands r0, r4
- cmp r0, 0
- beq _081B277C
- ldr r5, =gUnknown_08615AF1
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615AC0
- b _081B297E
- .pool
-_081B277C:
- movs r0, 0x20
- ands r0, r4
- cmp r0, 0
- beq _081B27D8
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _081B2794
- ldr r5, =gUnknown_08615ADF
- b _081B2942
- .pool
-_081B2794:
- ldr r5, =gUnknown_08615ADF
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AEE
- b _081B2976
- .pool
-_081B27D8:
- movs r0, 0x10
- ands r0, r4
- cmp r0, 0
- beq _081B2824
- ldr r5, =gUnknown_08615ADF
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AEE
- b _081B2976
- .pool
-_081B2824:
- movs r0, 0x4
- ands r0, r4
- cmp r0, 0
- beq _081B2880
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _081B283C
- ldr r5, =gUnknown_08615ADF
- b _081B2942
- .pool
-_081B283C:
- ldr r5, =gUnknown_08615ADF
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AEE
- b _081B2976
- .pool
-_081B2880:
- movs r0, 0x2
- ands r0, r4
- cmp r0, 0
- beq _081B28DC
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _081B2898
- ldr r5, =gUnknown_08615ADC
- b _081B2942
- .pool
-_081B2898:
- ldr r5, =gUnknown_08615AD3
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AE8
- b _081B2976
- .pool
-_081B28DC:
- movs r0, 0x8
- ands r0, r4
- cmp r0, 0
- beq _081B2938
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _081B28F4
- ldr r5, =gUnknown_08615AD9
- b _081B2942
- .pool
-_081B28F4:
- ldr r5, =gUnknown_08615AD0
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AE5
- b _081B2976
- .pool
-_081B2938:
- movs r0, 0x1
- ands r5, r0
- cmp r5, 0
- beq _081B29BC
- ldr r5, =gUnknown_08615AD6
-_081B2942:
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AEB
-_081B2976:
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABD
-_081B297E:
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- b _081B2A24
- .pool
-_081B29BC:
- ldr r5, =gUnknown_08615ACD
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AE2
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABD
- ldrb r1, [r4]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
-_081B2A24:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2748
-
- thumb_func_start sub_81B2A3C
-sub_81B2A3C: @ 81B2A3C
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- ldrb r5, [r3]
- ldrb r3, [r3, 0x1]
- lsls r4, r2, 1
- adds r4, r2
- ldr r2, =gUnknown_086157FC
- adds r4, r2
- str r4, [sp]
- movs r2, 0
- str r2, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0
- adds r2, r5, 0
- bl AddTextPrinterParameterized3
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2A3C
-
- thumb_func_start sub_81B2A70
-sub_81B2A70: @ 81B2A70
- push {r4-r7,lr}
- sub sp, 0x14
- adds r7, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r4, r2, 24
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B2AC0
- cmp r4, 0x1
- bne _081B2AAA
- ldr r5, [r6]
- ldrb r0, [r6, 0x8]
- ldrb r1, [r5, 0x4]
- lsrs r1, 3
- ldrb r2, [r5, 0x5]
- lsrs r2, 3
- ldrb r3, [r5, 0x6]
- lsrs r3, 3
- ldrb r4, [r5, 0x7]
- lsrs r4, 3
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r4, [r5]
- bl _call_via_r4
-_081B2AAA:
- adds r0, r7, 0
- add r1, sp, 0x8
- bl GetMonNickname
- ldrb r0, [r6, 0x8]
- ldr r3, [r6]
- adds r3, 0x4
- add r1, sp, 0x8
- movs r2, 0
- bl sub_81B2A3C
-_081B2AC0:
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2A70
-
- thumb_func_start sub_81B2AC8
-sub_81B2AC8: @ 81B2AC8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r6, r0, 0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r4, r2, 24
- mov r8, r4
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B2B34
- adds r0, r6, 0
- bl sub_81B205C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _081B2AF6
- cmp r0, 0x6
- bne _081B2B34
-_081B2AF6:
- cmp r4, 0
- beq _081B2B1C
- ldr r5, [r7]
- ldrb r0, [r7, 0x8]
- ldrb r1, [r5, 0x8]
- lsrs r1, 3
- ldrb r2, [r5, 0x9]
- lsrs r2, 3
- adds r2, 0x1
- ldrb r3, [r5, 0xA]
- lsrs r3, 3
- ldrb r4, [r5, 0xB]
- lsrs r4, 3
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r4, [r5]
- bl _call_via_r4
-_081B2B1C:
- mov r0, r8
- cmp r0, 0x2
- beq _081B2B34
- adds r0, r6, 0
- movs r1, 0x38
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- adds r1, r7, 0
- bl sub_81B2B40
-_081B2B34:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2AC8
-
- thumb_func_start sub_81B2B40
-sub_81B2B40: @ 81B2B40
- push {r4-r6,lr}
- adds r2, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r5, =gStringVar2
- adds r0, r5, 0
- adds r1, r2, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar1
- ldr r1, =gText_LevelSymbol
- adds r0, r4, 0
- bl StringCopy
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringAppend
- ldrb r0, [r6, 0x8]
- ldr r3, [r6]
- adds r3, 0x8
- adds r1, r4, 0
- movs r2, 0
- bl sub_81B2A3C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2B40
-
- thumb_func_start sub_81B2B8C
-sub_81B2B8C: @ 81B2B8C
- push {r4-r7,lr}
- sub sp, 0x14
- adds r6, r0, 0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r2, 24
- cmp r2, 0x1
- bne _081B2BBE
- ldr r5, [r7]
- ldrb r0, [r7, 0x8]
- ldrb r1, [r5, 0xC]
- lsrs r1, 3
- ldrb r2, [r5, 0xD]
- lsrs r2, 3
- adds r2, 0x1
- ldrb r3, [r5, 0xE]
- lsrs r3, 3
- ldrb r4, [r5, 0xF]
- lsrs r4, 3
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r4, [r5]
- bl _call_via_r4
-_081B2BBE:
- adds r0, r6, 0
- add r1, sp, 0x8
- bl GetMonNickname
- adds r0, r6, 0
- bl GetMonGender
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- add r2, sp, 0x8
- adds r3, r7, 0
- bl sub_81B2BF4
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2B8C
-
- thumb_func_start sub_81B2BF4
-sub_81B2BF4: @ 81B2BF4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r2
- adds r7, r3, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 16
- lsrs r4, r1, 16
- adds r5, r4, 0
- ldrb r0, [r7, 0x8]
- movs r1, 0x5
- bl GetWindowAttribute
- lsls r0, 28
- lsrs r6, r0, 24
- cmp r4, 0
- beq _081B2CBA
- cmp r4, 0x20
- beq _081B2C24
- cmp r4, 0x1D
- bne _081B2C38
-_081B2C24:
- movs r0, 0xB
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- mov r0, r9
- bl StringCompare
- cmp r0, 0
- beq _081B2CBA
-_081B2C38:
- mov r0, r8
- cmp r0, 0
- beq _081B2C48
- cmp r0, 0xFE
- beq _081B2C88
- b _081B2CBA
- .pool
-_081B2C48:
- ldr r5, =gUnknown_08615AC3
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615AB6
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r7, 0x8]
- ldr r1, =gText_MaleSymbol
- ldr r3, [r7]
- adds r3, 0xC
- movs r2, 0x2
- bl sub_81B2A3C
- b _081B2CBA
- .pool
-_081B2C88:
- ldr r5, =gUnknown_08615AC5
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615AB6
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r7, 0x8]
- ldr r1, =gText_FemaleSymbol
- ldr r3, [r7]
- adds r3, 0xC
- movs r2, 0x2
- bl sub_81B2A3C
-_081B2CBA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2BF4
-
- thumb_func_start sub_81B2CD4
-sub_81B2CD4: @ 81B2CD4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r7, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r4, r2, 24
- mov r8, r4
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B2D2E
- cmp r4, 0
- beq _081B2D16
- ldr r5, [r6]
- ldrb r0, [r6, 0x8]
- ldrb r1, [r5, 0x10]
- lsrs r1, 3
- ldrb r2, [r5, 0x11]
- lsrs r2, 3
- adds r2, 0x1
- ldrb r3, [r5, 0x12]
- lsrs r3, 3
- ldrb r4, [r5, 0x13]
- lsrs r4, 3
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r4, [r5]
- bl _call_via_r4
-_081B2D16:
- mov r0, r8
- cmp r0, 0x2
- beq _081B2D2E
- adds r0, r7, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl sub_81B2D3C
-_081B2D2E:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2CD4
-
- thumb_func_start sub_81B2D3C
-sub_81B2D3C: @ 81B2D3C
- push {r4,r5,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- lsls r2, 16
- lsrs r2, 16
- ldr r5, =gStringVar1
- adds r0, r5, 0
- adds r1, r2, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r1, 0xBA
- strb r1, [r0]
- movs r1, 0xFF
- strb r1, [r0, 0x1]
- ldrb r0, [r4, 0x8]
- ldr r3, [r4]
- adds r3, 0x10
- adds r1, r5, 0
- movs r2, 0
- bl sub_81B2A3C
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2D3C
-
- thumb_func_start sub_81B2D74
-sub_81B2D74: @ 81B2D74
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r7, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r4, r2, 24
- mov r8, r4
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B2DD0
- cmp r4, 0
- beq _081B2DB8
- ldr r5, [r6]
- ldrb r0, [r6, 0x8]
- ldrb r1, [r5, 0x14]
- lsrs r1, 3
- adds r1, 0x1
- ldrb r2, [r5, 0x15]
- lsrs r2, 3
- adds r2, 0x1
- ldrb r3, [r5, 0x16]
- lsrs r3, 3
- ldrb r4, [r5, 0x17]
- lsrs r4, 3
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r4, [r5]
- bl _call_via_r4
-_081B2DB8:
- mov r0, r8
- cmp r0, 0x2
- beq _081B2DD0
- adds r0, r7, 0
- movs r1, 0x3A
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl sub_81B2DDC
-_081B2DD0:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2D74
-
- thumb_func_start sub_81B2DDC
-sub_81B2DDC: @ 81B2DDC
- push {r4-r6,lr}
- adds r2, r0, 0
- adds r6, r1, 0
- lsls r2, 16
- lsrs r2, 16
- ldr r5, =gStringVar2
- adds r0, r5, 0
- adds r1, r2, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar1
- ldr r1, =gText_Slash
- adds r0, r4, 0
- bl StringCopy
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringAppend
- ldrb r0, [r6, 0x8]
- ldr r3, [r6]
- adds r3, 0x14
- adds r1, r4, 0
- movs r2, 0
- bl sub_81B2A3C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2DDC
-
- thumb_func_start sub_81B2E28
-sub_81B2E28: @ 81B2E28
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B2E5C
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- adds r2, r6, 0
- bl sub_81B2E64
-_081B2E5C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2E28
-
- thumb_func_start sub_81B2E64
-sub_81B2E64: @ 81B2E64
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- adds r6, r2, 0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldrb r0, [r6, 0x8]
- movs r1, 0x5
- bl GetWindowAttribute
- lsls r0, 28
- lsrs r7, r0, 24
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- mov r2, r9
- lsls r1, r2, 16
- asrs r1, 16
- bl GetHPBarLevel
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _081B2EB0
- cmp r0, 0x2
- blt _081B2EE0
- cmp r0, 0x4
- bgt _081B2EE0
- ldr r5, =gUnknown_08615AC7
- b _081B2EB2
- .pool
-_081B2EB0:
- ldr r5, =gUnknown_08615AC9
-_081B2EB2:
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615AB8
- ldrb r1, [r4]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- b _081B2F04
- .pool
-_081B2EE0:
- ldr r5, =gUnknown_08615ACB
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615AB8
- ldrb r1, [r4]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
-_081B2F04:
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- mov r2, r9
- lsls r1, r2, 16
- asrs r1, 16
- ldr r2, [r6]
- ldrb r2, [r2, 0x1A]
- bl GetScaledHPFraction
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6, 0x8]
- ldr r4, =gUnknown_08615AB8
- ldrb r1, [r4, 0x1]
- ldr r3, [r6]
- ldrb r2, [r3, 0x18]
- ldrb r3, [r3, 0x19]
- str r5, [sp]
- movs r7, 0x1
- str r7, [sp, 0x4]
- bl FillWindowPixelRect
- ldrb r0, [r6, 0x8]
- ldrb r1, [r4]
- ldr r3, [r6]
- ldrb r2, [r3, 0x18]
- ldrb r3, [r3, 0x19]
- adds r3, 0x1
- str r5, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- bl FillWindowPixelRect
- ldr r1, [r6]
- ldrb r0, [r1, 0x1A]
- cmp r5, r0
- beq _081B2F88
- ldrb r0, [r6, 0x8]
- ldrb r2, [r1, 0x18]
- adds r2, r5
- ldrb r3, [r1, 0x19]
- ldrb r1, [r1, 0x1A]
- subs r1, r5
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- str r7, [sp, 0x4]
- movs r1, 0xD
- bl FillWindowPixelRect
- ldrb r0, [r6, 0x8]
- ldr r1, [r6]
- ldrb r2, [r1, 0x18]
- adds r2, r5
- ldrb r3, [r1, 0x19]
- adds r3, 0x1
- ldrb r1, [r1, 0x1A]
- subs r1, r5
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- str r4, [sp, 0x4]
- movs r1, 0x2
- bl FillWindowPixelRect
-_081B2F88:
- ldrb r0, [r6, 0x8]
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2E64
-
- thumb_func_start sub_81B2FA8
-sub_81B2FA8: @ 81B2FA8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r6, r1, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r2, 24
- lsrs r7, r2, 24
- cmp r7, 0
- beq _081B2FF2
- ldr r5, [r6]
- ldrb r1, [r5, 0x1C]
- movs r4, 0x7
- adds r0, r1, 0
- ands r0, r4
- ldrb r2, [r5, 0x1E]
- adds r0, r2
- adds r3, r0, 0x7
- asrs r3, 3
- ldrb r2, [r5, 0x1D]
- adds r0, r2, 0
- ands r0, r4
- ldrb r4, [r5, 0x1F]
- adds r0, r4
- adds r4, r0, 0x7
- ldrb r0, [r6, 0x8]
- lsrs r1, 3
- lsrs r2, 3
- lsrs r4, 3
- str r4, [sp]
- movs r4, 0x1
- str r4, [sp, 0x4]
- ldr r4, [r5]
- bl _call_via_r4
-_081B2FF2:
- cmp r7, 0x2
- beq _081B3018
- ldrb r0, [r6, 0x8]
- ldr r1, [r6]
- ldrb r2, [r1, 0x1C]
- ldrb r3, [r1, 0x1D]
- ldr r1, =gUnknown_086157FC
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r4, =gUnknown_08615B60
- mov r5, r8
- lsls r1, r5, 2
- adds r1, r4
- ldr r1, [r1]
- str r1, [sp, 0x8]
- movs r1, 0x1
- bl AddTextPrinterParameterized3
-_081B3018:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2FA8
-
- thumb_func_start sub_81B302C
-sub_81B302C: @ 81B302C
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _081B304C
- movs r1, 0
- bl sub_8198070
- ldrb r0, [r4]
- bl RemoveWindow
- movs r0, 0xFF
- strb r0, [r4]
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
-_081B304C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B302C
-
- thumb_func_start display_pokemon_menu_message
-display_pokemon_menu_message: @ 81B3054
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r0, 0
- ldr r0, =gUnknown_0203CEC4
- ldr r4, [r0]
- adds r5, r4, 0
- adds r5, 0xD
- ldrb r0, [r4, 0xD]
- cmp r0, 0xFF
- beq _081B306E
- adds r0, r5, 0
- bl sub_81B302C
-_081B306E:
- cmp r6, 0x7F
- beq _081B313C
- adds r0, r6, 0
- subs r0, 0x15
- cmp r0, 0x5
- bhi _081B30D4
- lsls r0, 2
- ldr r1, =_081B308C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B308C:
- .4byte _081B30A4
- .4byte _081B30BC
- .4byte _081B30BC
- .4byte _081B30AC
- .4byte _081B30B4
- .4byte _081B30C4
-_081B30A4:
- ldr r0, =gUnknown_08615928
- b _081B30C6
- .pool
-_081B30AC:
- ldr r0, =gUnknown_08615930
- b _081B30C6
- .pool
-_081B30B4:
- ldr r0, =gUnknown_08615938
- b _081B30C6
- .pool
-_081B30BC:
- ldr r0, =gUnknown_08615940
- b _081B30C6
- .pool
-_081B30C4:
- ldr r0, =gUnknown_08615948
-_081B30C6:
- bl AddWindow
- strb r0, [r5]
- b _081B30DC
- .pool
-_081B30D4:
- ldr r0, =gUnknown_08615920
- bl AddWindow
- strb r0, [r4, 0xD]
-_081B30DC:
- cmp r6, 0
- bne _081B3104
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B30F8
- movs r6, 0x2
- b _081B3104
- .pool
-_081B30F8:
- bl sub_81B314C
- lsls r0, 24
- cmp r0, 0
- bne _081B3104
- movs r6, 0x1
-_081B3104:
- ldrb r0, [r5]
- movs r1, 0
- movs r2, 0x4F
- movs r3, 0xD
- bl SetWindowBorderStyle
- ldr r4, =gStringVar4
- ldr r1, =gUnknown_08615AF4
- lsls r0, r6, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldrb r0, [r5]
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
-_081B313C:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end display_pokemon_menu_message
-
- thumb_func_start sub_81B314C
-sub_81B314C: @ 81B314C
- push {r4-r7,lr}
- ldr r7, =gPlayerParty
- movs r6, 0
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xB]
- cmp r0, 0x1
- bne _081B3168
-_081B315A:
- movs r0, 0x1
- b _081B31AA
- .pool
-_081B3168:
- movs r5, 0
-_081B316A:
- movs r0, 0x64
- muls r0, r5
- adds r4, r7, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B319A
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _081B3194
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _081B319A
-_081B3194:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_081B319A:
- cmp r6, 0x1
- bhi _081B315A
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _081B316A
- movs r0, 0
-_081B31AA:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81B314C
-
- thumb_func_start sub_81B31B0
-sub_81B31B0: @ 81B31B0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- beq _081B320C
- cmp r4, 0x1
- bgt _081B31CC
- cmp r4, 0
- beq _081B31D2
- b _081B321C
-_081B31CC:
- cmp r4, 0x2
- beq _081B3214
- b _081B321C
-_081B31D2:
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- ldrb r0, [r1, 0x17]
- lsls r0, 1
- movs r3, 0x13
- subs r3, r0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0xA
- str r0, [sp]
- ldrb r0, [r1, 0x17]
- lsls r0, 25
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r0, 0xE
- str r0, [sp, 0x8]
- ldr r0, =0x000002e9
- str r0, [sp, 0xC]
- add r0, sp, 0x14
- movs r1, 0x2
- movs r2, 0x13
- bl SetWindowTemplateFields
- b _081B3226
- .pool
-_081B320C:
- ldr r0, =gUnknown_08615950
- b _081B321E
- .pool
-_081B3214:
- ldr r0, =gUnknown_08615958
- b _081B321E
- .pool
-_081B321C:
- ldr r0, =gUnknown_08615960
-_081B321E:
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x14]
- str r1, [sp, 0x18]
-_081B3226:
- add r0, sp, 0x14
- bl AddWindow
- ldr r6, =gUnknown_0203CEC4
- ldr r1, [r6]
- strb r0, [r1, 0xC]
- ldr r0, [r6]
- ldrb r0, [r0, 0xC]
- movs r1, 0
- movs r2, 0x4F
- movs r3, 0xD
- bl SetWindowBorderStyle
- cmp r4, 0x3
- bne _081B3250
- ldr r0, [r6]
- b _081B32E2
- .pool
-_081B3250:
- movs r0, 0x1
- movs r1, 0
- bl GetMenuCursorDimensionByFont
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r0, 0x1
- movs r1, 0x2
- bl GetFontAttribute
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0
- ldr r0, [r6]
- ldrb r0, [r0, 0x17]
- cmp r5, r0
- bcs _081B32CA
- adds r7, r6, 0
- movs r6, 0
-_081B327A:
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0xF
- adds r4, r0, r5
- ldrb r0, [r4]
- movs r2, 0x3
- cmp r0, 0x12
- bls _081B328C
- movs r2, 0x4
-_081B328C:
- ldrb r0, [r1, 0xC]
- lsls r3, r5, 4
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- mov r1, r8
- str r1, [sp]
- str r6, [sp, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- ldr r2, =gUnknown_086157FC
- adds r1, r2
- str r1, [sp, 0x8]
- str r6, [sp, 0xC]
- ldr r2, =gUnknown_08615C08
- ldrb r1, [r4]
- lsls r1, 3
- adds r1, r2
- ldr r1, [r1]
- str r1, [sp, 0x10]
- movs r1, 0x1
- mov r2, r9
- bl AddTextPrinterParameterized4
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r7]
- ldrb r0, [r0, 0x17]
- cmp r5, r0
- bcc _081B327A
-_081B32CA:
- ldr r4, =gUnknown_0203CEC4
- ldr r1, [r4]
- ldrb r0, [r1, 0xC]
- ldrb r1, [r1, 0x17]
- movs r2, 0
- movs r3, 0x1
- bl InitMenuInUpperLeftCorner
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, [r4]
-_081B32E2:
- ldrb r0, [r0, 0xC]
- add sp, 0x1C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B31B0
-
- thumb_func_start sub_81B3300
-sub_81B3300: @ 81B3300
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- movs r0, 0x6
- movs r1, 0
- movs r2, 0x4F
- movs r3, 0xD
- bl SetWindowBorderStyle
- ldr r2, =gTextFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- bl GetPlayerTextSpeedDelay
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0x6
- movs r1, 0x1
- adds r2, r4, 0
- bl AddTextPrinterParameterized2
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3300
-
- thumb_func_start sub_81B334C
-sub_81B334C: @ 81B334C
- push {lr}
- ldr r0, =gUnknown_08615968
- movs r1, 0x4F
- movs r2, 0xD
- movs r3, 0
- bl CreateYesNoMenu
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B334C
-
- thumb_func_start sub_81B3364
-sub_81B3364: @ 81B3364
- push {r4,lr}
- ldr r0, =gUnknown_08615970
- bl AddWindow
- ldr r4, =gUnknown_0203CEC4
- ldr r1, [r4]
- strb r0, [r1, 0xC]
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- movs r1, 0
- movs r2, 0x4F
- movs r3, 0xD
- bl SetWindowBorderStyle
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B3364
-
- thumb_func_start sub_81B3394
-sub_81B3394: @ 81B3394
- push {r4,lr}
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- bl ClearWindowTilemap
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3394
-
- thumb_func_start sub_81B33B4
-sub_81B33B4: @ 81B33B4
- push {r4,lr}
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- cmp r2, 0
- bne _081B33C8
- bl sub_81B3414
- b _081B3400
-_081B33C8:
- ldr r4, =gUnknown_0203CEC4
- ldr r1, [r4]
- ldr r0, =gUnknown_08615D70
- adds r0, r2, r0
- ldrb r0, [r0]
- strb r0, [r1, 0x17]
- movs r3, 0
- ldr r0, [r4]
- ldrb r0, [r0, 0x17]
- cmp r3, r0
- bcs _081B3400
- ldr r1, =gUnknown_08615D38
- lsls r0, r2, 2
- adds r2, r0, r1
-_081B33E4:
- ldr r1, [r4]
- adds r1, 0xF
- adds r1, r3
- ldr r0, [r2]
- adds r0, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, [r4]
- ldrb r0, [r0, 0x17]
- cmp r3, r0
- bcc _081B33E4
-_081B3400:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B33B4
-
- thumb_func_start sub_81B3414
-sub_81B3414: @ 81B3414
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r9, r0
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- ldr r2, =gUnknown_0203CEC4
- ldr r1, [r2]
- movs r0, 0
- strb r0, [r1, 0x17]
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0xF
- adds r1, 0x17
- movs r2, 0
- bl AppendToList
- movs r7, 0
- ldr r0, =gUnknown_08615D7E
- ldrh r0, [r0]
- str r0, [sp]
-_081B3446:
- movs r4, 0
- adds r0, r7, 0x1
- mov r8, r0
- ldr r1, [sp]
- cmp r1, 0xE
- beq _081B34A0
- movs r0, 0x64
- mov r6, r10
- muls r6, r0
- ldr r5, =gUnknown_08615D7E
-_081B345A:
- mov r1, r9
- adds r0, r1, r6
- adds r1, r7, 0
- adds r1, 0xD
- bl GetMonData
- lsls r1, r4, 1
- adds r1, r5
- ldrh r1, [r1]
- cmp r0, r1
- bne _081B3490
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xF
- adds r1, 0x17
- adds r2, r4, 0
- adds r2, 0x13
- lsls r2, 24
- lsrs r2, 24
- bl AppendToList
- b _081B34A0
- .pool
-_081B3490:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 1
- adds r0, r5
- ldrh r0, [r0]
- cmp r0, 0xE
- bne _081B345A
-_081B34A0:
- mov r1, r8
- lsls r0, r1, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _081B3446
- bl InBattlePike
- lsls r0, 24
- cmp r0, 0
- bne _081B3518
- mov r0, r9
- adds r0, 0x64
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B34D2
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xF
- adds r1, 0x17
- movs r2, 0x1
- bl AppendToList
-_081B34D2:
- movs r0, 0x64
- mov r1, r10
- muls r1, r0
- adds r0, r1, 0
- add r0, r9
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _081B3508
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xF
- adds r1, 0x17
- movs r2, 0x6
- bl AppendToList
- b _081B3518
- .pool
-_081B3508:
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xF
- adds r1, 0x17
- movs r2, 0x3
- bl AppendToList
-_081B3518:
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xF
- adds r1, 0x17
- movs r2, 0x2
- bl AppendToList
- 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_81B3414
-
- thumb_func_start sub_81B353C
-sub_81B353C: @ 81B353C
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, =gUnknown_0203CEC8
- ldrb r0, [r1, 0x8]
- lsls r0, 28
- lsrs r0, 28
- adds r2, r1, 0
- cmp r0, 0xC
- bhi _081B35FE
- lsls r0, 2
- ldr r1, =_081B3560
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B3560:
- .4byte _081B3594
- .4byte _081B35B0
- .4byte _081B35FE
- .4byte _081B35FE
- .4byte _081B35BC
- .4byte _081B35FE
- .4byte _081B35DC
- .4byte _081B35FE
- .4byte _081B35EE
- .4byte _081B35F2
- .4byte _081B35F6
- .4byte _081B35FE
- .4byte _081B35FA
-_081B3594:
- bl InMultiBattleRoom
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B35AC
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _081B35FE
-_081B35AC:
- movs r1, 0x1
- b _081B3600
-_081B35B0:
- adds r0, r4, 0
- bl sub_81B8A2C
- lsls r0, 24
- lsrs r1, r0, 24
- b _081B3600
-_081B35BC:
- movs r0, 0x9
- ldrsb r0, [r2, r0]
- bl sub_81B856C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _081B35D4
- cmp r0, 0x1
- beq _081B35D8
- movs r1, 0x7
- b _081B3600
-_081B35D4:
- movs r1, 0x4
- b _081B3600
-_081B35D8:
- movs r1, 0x5
- b _081B3600
-_081B35DC:
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- movs r1, 0x6
- cmp r0, 0
- beq _081B3600
- movs r1, 0x7
- b _081B3600
-_081B35EE:
- movs r1, 0xA
- b _081B3600
-_081B35F2:
- movs r1, 0xB
- b _081B3600
-_081B35F6:
- movs r1, 0xC
- b _081B3600
-_081B35FA:
- movs r1, 0xD
- b _081B3600
-_081B35FE:
- movs r1, 0
-_081B3600:
- adds r0, r1, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B353C
-
- thumb_func_start sub_81B3608
-sub_81B3608: @ 81B3608
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r4, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r7, =gPlayerParty
- adds r5, r0, r7
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- ldrb r1, [r4, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0xC
- beq _081B3674
- ldrb r4, [r4, 0x9]
- adds r0, r5, 0
- bl sub_81B353C
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_81B33B4
- movs r0, 0
- bl sub_81B31B0
- movs r0, 0x15
- bl display_pokemon_menu_message
- b _081B36EA
- .pool
-_081B3674:
- adds r0, r5, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0
- bne _081B36C0
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnNotHolding
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B469C
- str r1, [r0]
- movs r0, 0
- b _081B36EC
- .pool
-_081B36C0:
- ldrb r4, [r4, 0x9]
- adds r0, r5, 0
- bl sub_81B353C
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_81B33B4
- movs r0, 0x1
- bl sub_81B31B0
- ldr r1, =gStringVar2
- adds r0, r6, 0
- bl CopyItemName
- movs r0, 0x1A
- bl display_pokemon_menu_message
-_081B36EA:
- movs r0, 0x1
-_081B36EC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B3608
-
- thumb_func_start sub_81B36FC
-sub_81B36FC: @ 81B36FC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_81B3608
- lsls r0, 24
- cmp r0, 0
- beq _081B3720
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0xFF
- strh r1, [r0, 0x8]
- ldr r1, =sub_81B3730
- str r1, [r0]
-_081B3720:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B36FC
-
- thumb_func_start sub_81B3730
-sub_81B3730: @ 81B3730
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B37EE
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B37EE
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x17]
- cmp r0, 0x3
- bhi _081B3774
- bl Menu_ProcessInputNoWrapAround_other
- b _081B3778
- .pool
-_081B3774:
- bl ProcessMenuInput_other
-_081B3778:
- lsls r0, 24
- lsrs r4, r0, 24
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5]
- lsls r0, r4, 24
- asrs r5, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- beq _081B37EE
- adds r0, 0x1
- cmp r5, r0
- bne _081B37CC
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xE
- bl sub_81B302C
- ldr r2, =gUnknown_08615C08
- ldr r0, [r4]
- ldrb r1, [r0, 0x17]
- adds r0, r1
- ldrb r0, [r0, 0xE]
- lsls r0, 3
- adds r2, 0x4
- adds r0, r2
- ldr r1, [r0]
- adds r0, r6, 0
- bl _call_via_r1
- b _081B37EE
- .pool
-_081B37CC:
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xE
- bl sub_81B302C
- ldr r1, =gUnknown_08615C08
- ldr r0, [r4]
- adds r0, 0xF
- adds r0, r5
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r6, 0
- bl _call_via_r1
-_081B37EE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3730
-
- thumb_func_start sub_81B37FC
-sub_81B37FC: @ 81B37FC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- ldr r0, =sub_81B3828
- str r0, [r1, 0x4]
- adds r0, r4, 0
- bl sub_81B12C0
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B37FC
-
- thumb_func_start sub_81B3828
-sub_81B3828: @ 81B3828
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_0203CEC8
- ldrb r1, [r4, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- bne _081B3868
- bl pokemon_change_order
- ldr r1, =gPlayerParty
- ldrb r2, [r4, 0x9]
- ldr r0, =gPlayerPartyCount
- ldrb r3, [r0]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =sub_81B3894
- str r0, [sp]
- movs r0, 0x1
- bl ShowPokemonSummaryScreen
- b _081B3880
- .pool
-_081B3868:
- ldr r1, =gPlayerParty
- ldrb r2, [r4, 0x9]
- ldr r0, =gPlayerPartyCount
- ldrb r3, [r0]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =sub_81B3894
- str r0, [sp]
- movs r0, 0
- bl ShowPokemonSummaryScreen
-_081B3880:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3828
-
- thumb_func_start sub_81B3894
-sub_81B3894: @ 81B3894
- push {lr}
- sub sp, 0xC
- ldr r2, =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r3, =gUnknown_0203CEC8
- ldr r0, =gUnknown_0203CF20
- ldrb r0, [r0]
- strb r0, [r3, 0x9]
- ldrb r0, [r3, 0x8]
- lsls r0, 28
- lsrs r0, 28
- ldrb r2, [r3, 0xB]
- movs r1, 0x15
- str r1, [sp]
- ldr r1, =sub_81B36FC
- str r1, [sp, 0x4]
- ldr r1, [r3]
- str r1, [sp, 0x8]
- movs r1, 0xFF
- movs r3, 0x1
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3894
-
- thumb_func_start brm_switch
-brm_switch: @ 81B38DC
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- movs r0, 0x5
- bl PlaySE
- ldr r5, =gUnknown_0203CEC8
- movs r0, 0x8
- strb r0, [r5, 0xB]
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- movs r0, 0x3
- bl display_pokemon_menu_message
- ldrb r0, [r5, 0x9]
- movs r1, 0x1
- bl sub_81B0FCC
- ldrb r0, [r5, 0x9]
- strb r0, [r5, 0xA]
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1370
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end brm_switch
-
- thumb_func_start sub_81B3938
-sub_81B3938: @ 81B3938
- push {r4-r7,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- ldr r3, =gUnknown_0203CEC8
- movs r1, 0xA
- ldrsb r1, [r3, r1]
- movs r0, 0x9
- ldrsb r0, [r3, r0]
- cmp r1, r0
- bne _081B3968
- adds r0, r7, 0
- bl sub_81B407C
- b _081B3ABA
- .pool
-_081B3968:
- add r2, sp, 0x8
- movs r0, 0x9
- ldrsb r0, [r3, r0]
- ldr r1, =gUnknown_0203CEDC
- ldr r1, [r1]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- movs r4, 0
- strb r0, [r2]
- adds r0, r2, 0
- ldrb r0, [r0]
- movs r1, 0x1
- bl GetWindowAttribute
- strh r0, [r6]
- add r0, sp, 0x8
- ldrb r0, [r0]
- movs r1, 0x2
- bl GetWindowAttribute
- strh r0, [r6, 0x2]
- add r0, sp, 0x8
- ldrb r0, [r0]
- movs r1, 0x3
- bl GetWindowAttribute
- strh r0, [r6, 0x4]
- add r0, sp, 0x8
- ldrb r0, [r0]
- movs r1, 0x4
- bl GetWindowAttribute
- strh r0, [r6, 0x6]
- strh r4, [r6, 0x10]
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- cmp r0, 0xA
- bne _081B39C4
- movs r2, 0x1
- negs r2, r2
- adds r0, r2, 0
- b _081B39C6
- .pool
-_081B39C4:
- movs r0, 0x1
-_081B39C6:
- strh r0, [r6, 0x14]
- add r2, sp, 0x8
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xA]
- lsls r0, 24
- asrs r0, 24
- ldr r1, =gUnknown_0203CEDC
- ldr r1, [r1]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- movs r4, 0
- strb r0, [r2, 0x1]
- adds r0, r2, 0
- ldrb r0, [r0, 0x1]
- movs r1, 0x1
- bl GetWindowAttribute
- strh r0, [r6, 0x8]
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- movs r1, 0x2
- bl GetWindowAttribute
- strh r0, [r6, 0xA]
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- movs r1, 0x3
- bl GetWindowAttribute
- strh r0, [r6, 0xC]
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- movs r1, 0x4
- bl GetWindowAttribute
- strh r0, [r6, 0xE]
- strh r4, [r6, 0x12]
- movs r1, 0xC
- ldrsh r0, [r6, r1]
- cmp r0, 0xA
- bne _081B3A2C
- movs r2, 0x1
- negs r2, r2
- adds r0, r2, 0
- b _081B3A2E
- .pool
-_081B3A2C:
- movs r0, 0x1
-_081B3A2E:
- strh r0, [r6, 0x16]
- ldr r4, =gUnknown_0203CEF0
- movs r0, 0x4
- ldrsh r1, [r6, r0]
- movs r2, 0x6
- ldrsh r0, [r6, r2]
- lsls r0, 1
- muls r0, r1
- bl Alloc
- str r0, [r4]
- ldr r5, =gUnknown_0203CEF4
- movs r0, 0xC
- ldrsh r1, [r6, r0]
- movs r2, 0xE
- ldrsh r0, [r6, r2]
- lsls r0, 1
- muls r0, r1
- bl Alloc
- str r0, [r5]
- ldr r1, [r4]
- ldrb r2, [r6]
- ldrb r3, [r6, 0x2]
- ldrb r0, [r6, 0x4]
- str r0, [sp]
- ldrb r0, [r6, 0x6]
- str r0, [sp, 0x4]
- movs r0, 0
- bl sub_8199CBC
- ldr r1, [r5]
- ldrb r2, [r6, 0x8]
- ldrb r3, [r6, 0xA]
- ldrb r0, [r6, 0xC]
- str r0, [sp]
- ldrb r0, [r6, 0xE]
- str r0, [sp, 0x4]
- movs r0, 0
- bl sub_8199CBC
- add r0, sp, 0x8
- ldrb r0, [r0]
- bl ClearWindowTilemap
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl ClearWindowTilemap
- ldr r4, =gUnknown_0203CEC8
- movs r0, 0x9
- strb r0, [r4, 0xB]
- ldrb r0, [r4, 0x9]
- movs r1, 0x1
- bl sub_81B0FCC
- ldrb r0, [r4, 0xA]
- movs r1, 0x1
- bl sub_81B0FCC
- adds r0, r7, 0
- bl sub_81B3CC0
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B3D48
- str r1, [r0]
-_081B3ABA:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3938
-
- thumb_func_start sub_81B3AD8
-sub_81B3AD8: @ 81B3AD8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r2, 0
- mov r12, r3
- ldr r7, [sp, 0x18]
- lsls r0, 16
- lsrs r3, r0, 16
- adds r5, r3, 0
- lsls r1, 16
- lsrs r2, r1, 16
- mov r8, r2
- lsls r0, r3, 16
- asrs r1, r0, 16
- lsls r0, r2, 16
- asrs r0, 16
- adds r4, r1, r0
- cmp r4, 0
- blt _081B3B02
- cmp r1, 0x1F
- ble _081B3B06
-_081B3B02:
- movs r0, 0
- b _081B3B34
-_081B3B06:
- cmp r1, 0
- bge _081B3B1A
- negs r0, r1
- strb r0, [r6]
- movs r0, 0
- mov r1, r12
- strb r0, [r1]
- adds r0, r2, r3
- strb r0, [r7]
- b _081B3B32
-_081B3B1A:
- movs r0, 0
- strb r0, [r6]
- mov r0, r12
- strb r5, [r0]
- cmp r4, 0x1F
- ble _081B3B2E
- movs r0, 0x20
- subs r0, r5
- strb r0, [r7]
- b _081B3B32
-_081B3B2E:
- mov r1, r8
- strb r1, [r7]
-_081B3B32:
- movs r0, 0x1
-_081B3B34:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81B3AD8
-
- thumb_func_start sub_81B3B40
-sub_81B3B40: @ 81B3B40
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- str r0, [sp, 0x28]
- ldr r0, [sp, 0x54]
- ldr r4, [sp, 0x58]
- lsls r2, 16
- lsrs r2, 16
- mov r9, r2
- lsls r3, 16
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- lsls r4, 16
- lsrs r4, 16
- str r4, [sp, 0x30]
- lsls r1, 16
- asrs r7, r1, 16
- lsrs r0, r3, 16
- str r0, [sp, 0x2C]
- asrs r3, 16
- mov r8, r3
- mov r5, sp
- adds r5, 0x25
- mov r6, sp
- adds r6, 0x26
- str r6, [sp]
- adds r0, r7, 0
- mov r1, r8
- add r2, sp, 0x24
- adds r3, r5, 0
- bl sub_81B3AD8
- lsls r0, 24
- cmp r0, 0
- beq _081B3BFA
- ldrb r2, [r5]
- mov r1, r9
- lsls r0, r1, 24
- lsrs r0, 24
- mov r9, r0
- ldrb r0, [r6]
- str r0, [sp]
- mov r1, r10
- lsls r0, r1, 24
- lsrs r4, r0, 24
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- mov r3, r9
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, [sp, 0x30]
- lsls r0, r1, 16
- asrs r0, 16
- adds r0, r7, r0
- lsls r0, 16
- asrs r0, 16
- str r6, [sp]
- mov r1, r8
- add r2, sp, 0x24
- adds r3, r5, 0
- bl sub_81B3AD8
- lsls r0, 24
- cmp r0, 0
- beq _081B3BFA
- add r0, sp, 0x24
- ldrb r2, [r0]
- ldr r1, [sp, 0x2C]
- lsls r0, r1, 24
- lsrs r0, 24
- str r0, [sp]
- str r4, [sp, 0x4]
- ldrb r0, [r5]
- str r0, [sp, 0x8]
- mov r0, r9
- str r0, [sp, 0xC]
- ldrb r0, [r6]
- str r0, [sp, 0x10]
- str r4, [sp, 0x14]
- movs r0, 0x11
- str r0, [sp, 0x18]
- movs r0, 0
- str r0, [sp, 0x1C]
- str r0, [sp, 0x20]
- ldr r1, [sp, 0x28]
- movs r3, 0
- bl CopyRectToBgTilemapBufferRect
-_081B3BFA:
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B3B40
-
- thumb_func_start sub_81B3C0C
-sub_81B3C0C: @ 81B3C0C
- push {r4,lr}
- ldr r4, =gSprites
- ldrb r2, [r0, 0xB]
- lsls r3, r2, 4
- adds r3, r2
- lsls r3, 2
- adds r3, r4
- lsls r1, 16
- asrs r1, 13
- ldrh r2, [r3, 0x24]
- adds r2, r1
- strh r2, [r3, 0x24]
- ldrb r3, [r0, 0xA]
- lsls r2, r3, 4
- adds r2, r3
- lsls r2, 2
- adds r2, r4
- ldrh r3, [r2, 0x24]
- adds r3, r1
- strh r3, [r2, 0x24]
- ldrb r3, [r0, 0x9]
- lsls r2, r3, 4
- adds r2, r3
- lsls r2, 2
- adds r2, r4
- ldrh r3, [r2, 0x24]
- adds r3, r1
- strh r3, [r2, 0x24]
- ldrb r2, [r0, 0xC]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r4
- ldrh r2, [r0, 0x24]
- adds r2, r1
- strh r2, [r0, 0x24]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3C0C
-
- thumb_func_start sub_81B3C60
-sub_81B3C60: @ 81B3C60
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081B3C8E
- ldr r2, =gUnknown_0203CEDC
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- lsls r1, 4
- ldr r0, [r2]
- adds r0, r1
- movs r2, 0x14
- ldrsh r1, [r4, r2]
- bl sub_81B3C0C
-_081B3C8E:
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081B3CAC
- ldr r2, =gUnknown_0203CEDC
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0xA
- ldrsb r1, [r0, r1]
- lsls r1, 4
- ldr r0, [r2]
- adds r0, r1
- movs r2, 0x16
- ldrsh r1, [r4, r2]
- bl sub_81B3C0C
-_081B3CAC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3C60
-
- thumb_func_start sub_81B3CC0
-sub_81B3CC0: @ 81B3CC0
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r5, r1, r0
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _081B3D00
- ldr r0, =gUnknown_0203CEF0
- ldr r0, [r0]
- ldrh r1, [r5, 0x10]
- ldrh r2, [r5]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- movs r3, 0x2
- ldrsh r2, [r5, r3]
- movs r4, 0x4
- ldrsh r3, [r5, r4]
- movs r6, 0x6
- ldrsh r4, [r5, r6]
- str r4, [sp]
- movs r6, 0x14
- ldrsh r4, [r5, r6]
- str r4, [sp, 0x4]
- bl sub_81B3B40
-_081B3D00:
- movs r1, 0x16
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _081B3D2E
- ldr r0, =gUnknown_0203CEF4
- ldr r0, [r0]
- ldrh r1, [r5, 0x12]
- ldrh r2, [r5, 0x8]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- movs r3, 0xA
- ldrsh r2, [r5, r3]
- movs r4, 0xC
- ldrsh r3, [r5, r4]
- movs r6, 0xE
- ldrsh r4, [r5, r6]
- str r4, [sp]
- movs r6, 0x16
- ldrsh r4, [r5, r6]
- str r4, [sp, 0x4]
- bl sub_81B3B40
-_081B3D2E:
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3CC0
-
- thumb_func_start sub_81B3D48
-sub_81B3D48: @ 81B3D48
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r7, r0, 3
- ldr r0, =gTasks + 0x8
- mov r8, r0
- adds r6, r7, r0
- adds r0, r4, 0
- bl sub_81B3CC0
- adds r0, r4, 0
- bl sub_81B3C60
- ldrh r1, [r6, 0x14]
- ldrh r2, [r6, 0x10]
- adds r1, r2
- strh r1, [r6, 0x10]
- ldrh r0, [r6, 0x16]
- ldrh r3, [r6, 0x12]
- adds r0, r3
- strh r0, [r6, 0x12]
- add r2, sp, 0x8
- ldrh r0, [r6]
- adds r0, r1
- strh r0, [r2]
- adds r1, r2, 0
- ldrh r0, [r6, 0x12]
- ldrh r3, [r6, 0x8]
- adds r2, r0, r3
- strh r2, [r1, 0x2]
- adds r0, r1, 0
- ldrh r0, [r0]
- cmp r0, 0x21
- bls _081B3E3A
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r0, 0x21
- bls _081B3E3A
- movs r1, 0x14
- ldrsh r0, [r6, r1]
- negs r0, r0
- strh r0, [r6, 0x14]
- movs r2, 0x16
- ldrsh r0, [r6, r2]
- negs r0, r0
- strh r0, [r6, 0x16]
- bl swap_pokemon_and_oams
- ldr r4, =gUnknown_0203CEC8
- ldrb r0, [r4, 0x9]
- bl sub_81B0948
- ldrb r0, [r4, 0xA]
- bl sub_81B0948
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- ldr r5, =gUnknown_0203CEDC
- ldr r1, [r5]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bl PutWindowTilemap
- movs r0, 0xA
- ldrsb r0, [r4, r0]
- ldr r1, [r5]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bl PutWindowTilemap
- ldr r0, =gUnknown_0203CEF0
- ldr r1, [r0]
- ldrb r2, [r6]
- ldrb r3, [r6, 0x2]
- ldrb r0, [r6, 0x4]
- str r0, [sp]
- ldrb r0, [r6, 0x6]
- str r0, [sp, 0x4]
- movs r0, 0
- bl sub_8199CBC
- ldr r0, =gUnknown_0203CEF4
- ldr r1, [r0]
- ldrb r2, [r6, 0x8]
- ldrb r3, [r6, 0xA]
- ldrb r0, [r6, 0xC]
- str r0, [sp]
- ldrb r0, [r6, 0xE]
- str r0, [sp, 0x4]
- movs r0, 0
- bl sub_8199CBC
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- ldr r1, [r5]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bl ClearWindowTilemap
- movs r0, 0xA
- ldrsb r0, [r4, r0]
- ldr r1, [r5]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bl ClearWindowTilemap
- mov r0, r8
- subs r0, 0x8
- adds r0, r7, r0
- ldr r1, =sub_81B3E60
- str r1, [r0]
-_081B3E3A:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3D48
-
- thumb_func_start sub_81B3E60
-sub_81B3E60: @ 81B3E60
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- adds r0, r6, 0
- bl sub_81B3CC0
- adds r0, r6, 0
- bl sub_81B3C60
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081B3EE4
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _081B3EE4
- ldr r5, =gUnknown_0203CEC8
- movs r0, 0x9
- ldrsb r0, [r5, r0]
- ldr r4, =gUnknown_0203CEDC
- ldr r1, [r4]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bl PutWindowTilemap
- movs r0, 0xA
- ldrsb r0, [r5, r0]
- ldr r1, [r4]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bl PutWindowTilemap
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, =gUnknown_0203CEF0
- ldr r0, [r0]
- bl Free
- ldr r0, =gUnknown_0203CEF4
- ldr r0, [r0]
- bl Free
- adds r0, r6, 0
- bl sub_81B407C
- b _081B3F08
- .pool
-_081B3EE4:
- ldrh r1, [r4, 0x14]
- ldrh r0, [r4, 0x10]
- adds r1, r0
- strh r1, [r4, 0x10]
- ldrh r0, [r4, 0x16]
- ldrh r2, [r4, 0x12]
- adds r0, r2
- strh r0, [r4, 0x12]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0
- bne _081B3EFE
- strh r1, [r4, 0x14]
-_081B3EFE:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081B3F08
- strh r0, [r4, 0x16]
-_081B3F08:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81B3E60
-
- thumb_func_start oamt_swap_pos
-oamt_swap_pos: @ 81B3F10
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- ldrb r3, [r0]
- ldrb r2, [r1]
- strb r2, [r0]
- strb r3, [r1]
- ldr r5, =gSprites
- ldrb r2, [r0]
- lsls r3, r2, 4
- adds r3, r2
- lsls r3, 2
- adds r3, r5
- ldrh r6, [r3, 0x20]
- ldrh r2, [r3, 0x22]
- mov r8, r2
- ldrh r2, [r3, 0x24]
- mov r9, r2
- ldrh r2, [r3, 0x26]
- mov r10, r2
- ldrb r4, [r1]
- lsls r2, r4, 4
- adds r2, r4
- lsls r2, 2
- adds r2, r5
- ldrh r2, [r2, 0x20]
- strh r2, [r3, 0x20]
- ldrb r2, [r0]
- lsls r3, r2, 4
- adds r3, r2
- lsls r3, 2
- adds r3, r5
- ldrb r4, [r1]
- lsls r2, r4, 4
- adds r2, r4
- lsls r2, 2
- adds r2, r5
- ldrh r2, [r2, 0x22]
- strh r2, [r3, 0x22]
- ldrb r2, [r0]
- lsls r3, r2, 4
- adds r3, r2
- lsls r3, 2
- adds r3, r5
- ldrb r4, [r1]
- lsls r2, r4, 4
- adds r2, r4
- lsls r2, 2
- adds r2, r5
- ldrh r2, [r2, 0x24]
- strh r2, [r3, 0x24]
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r5
- ldrb r3, [r1]
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- adds r0, r5
- ldrh r0, [r0, 0x26]
- strh r0, [r2, 0x26]
- ldrb r2, [r1]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x20]
- ldrb r2, [r1]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r5
- mov r2, r8
- strh r2, [r0, 0x22]
- ldrb r2, [r1]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r5
- mov r2, r9
- strh r2, [r0, 0x24]
- ldrb r1, [r1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r10
- strh r1, [r0, 0x26]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end oamt_swap_pos
-
- thumb_func_start swap_pokemon_and_oams
-swap_pokemon_and_oams: @ 81B3FDC
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r1, =gUnknown_0203CEDC
- ldr r2, =gUnknown_0203CEC8
- movs r3, 0x9
- ldrsb r3, [r2, r3]
- lsls r0, r3, 4
- ldr r1, [r1]
- adds r0, r1, r0
- str r0, [sp]
- ldrb r2, [r2, 0xA]
- lsls r2, 24
- asrs r2, 24
- lsls r0, r2, 4
- adds r0, r1, r0
- str r0, [sp, 0x4]
- movs r1, 0x64
- adds r4, r3, 0
- muls r4, r1
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r5, r2, 0
- muls r5, r1
- adds r5, r0
- movs r0, 0x64
- bl Alloc
- adds r6, r0, 0
- adds r1, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r6, 0
- bl Free
- ldr r0, [sp]
- adds r0, 0xB
- ldr r1, [sp, 0x4]
- adds r1, 0xB
- bl oamt_swap_pos
- ldr r0, [sp]
- adds r0, 0xA
- ldr r1, [sp, 0x4]
- adds r1, 0xA
- bl oamt_swap_pos
- ldr r0, [sp]
- adds r0, 0x9
- ldr r1, [sp, 0x4]
- adds r1, 0x9
- bl oamt_swap_pos
- ldr r0, [sp]
- adds r0, 0xC
- ldr r1, [sp, 0x4]
- adds r1, 0xC
- bl oamt_swap_pos
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end swap_pokemon_and_oams
-
- thumb_func_start sub_81B407C
-sub_81B407C: @ 81B407C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- ldr r4, =gUnknown_0203CEC8
- movs r0, 0
- strb r0, [r4, 0xB]
- ldrb r0, [r4, 0x9]
- movs r1, 0
- bl sub_81B0FCC
- ldrb r0, [r4, 0xA]
- strb r0, [r4, 0x9]
- ldrb r0, [r4, 0xA]
- movs r1, 0x1
- bl sub_81B0FCC
- movs r0, 0
- bl display_pokemon_menu_message
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1370
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B407C
-
- thumb_func_start brm_cancel_1
-brm_cancel_1: @ 81B40D4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x6
- bne _081B4110
- movs r0, 0xF
- bl display_pokemon_menu_message
- b _081B4116
- .pool
-_081B4110:
- movs r0, 0
- bl display_pokemon_menu_message
-_081B4116:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1370
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end brm_cancel_1
-
- thumb_func_start sub_81B4134
-sub_81B4134: @ 81B4134
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- ldr r0, =gPlayerParty
- ldr r1, =gUnknown_0203CEC8
- ldrb r1, [r1, 0x9]
- movs r2, 0x8
- bl sub_81B33B4
- movs r0, 0x1
- bl sub_81B31B0
- movs r0, 0x18
- bl display_pokemon_menu_message
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0xFF
- strh r1, [r0, 0x8]
- ldr r1, =sub_81B3730
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4134
-
- thumb_func_start sub_81B4198
-sub_81B4198: @ 81B4198
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- ldr r0, =sub_81B41C4
- str r0, [r1, 0x4]
- adds r0, r4, 0
- bl sub_81B12C0
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4198
-
- thumb_func_start sub_81B41C4
-sub_81B41C4: @ 81B41C4
- push {lr}
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _081B41E0
- ldr r2, =c2_8123744
- movs r0, 0x2
- movs r1, 0x5
- bl GoToBagMenu
- b _081B41E8
- .pool
-_081B41E0:
- ldr r1, =c2_8123744
- movs r0, 0x2
- bl sub_81C4F98
-_081B41E8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B41C4
-
- thumb_func_start c2_8123744
-c2_8123744: @ 81B41F0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- ldr r6, =gSpecialVar_ItemId
- ldrh r0, [r6]
- cmp r0, 0
- bne _081B4224
- ldr r3, =gUnknown_0203CEC8
- ldrb r0, [r3, 0x8]
- lsls r0, 28
- lsrs r0, 28
- ldrb r2, [r3, 0xB]
- movs r1, 0x7F
- str r1, [sp]
- ldr r1, =sub_81B36FC
- str r1, [sp, 0x4]
- ldr r1, [r3]
- b _081B425A
- .pool
-_081B4224:
- ldr r4, =gUnknown_0203CEFC
- ldr r5, =gUnknown_0203CEC8
- movs r0, 0x9
- ldrsb r0, [r5, r0]
- movs r1, 0x64
- mov r8, r1
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r7, =gPlayerParty
- adds r0, r7
- movs r1, 0xC
- bl GetMonData
- strh r0, [r4]
- lsls r0, 16
- cmp r0, 0
- beq _081B4278
- ldrb r0, [r5, 0x8]
- lsls r0, 28
- lsrs r0, 28
- ldrb r2, [r5, 0xB]
- movs r1, 0x7F
- str r1, [sp]
- ldr r1, =sub_81B4350
- str r1, [sp, 0x4]
- ldr r1, [r5]
-_081B425A:
- str r1, [sp, 0x8]
- movs r1, 0xFF
- movs r3, 0x1
- bl sub_81B0038
- b _081B42C0
- .pool
-_081B4278:
- ldrh r0, [r6]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _081B42A4
- ldrh r0, [r6]
- movs r1, 0x1
- bl RemoveBagItem
- movs r0, 0x9
- ldrsb r0, [r5, r0]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r7
- ldrh r1, [r6]
- bl sub_81B1DB8
- bl sub_81B452C
- b _081B42C0
-_081B42A4:
- ldrb r0, [r5, 0x8]
- lsls r0, 28
- lsrs r0, 28
- ldrb r2, [r5, 0xB]
- movs r1, 0x7F
- str r1, [sp]
- ldr r1, =sub_81B42D0
- str r1, [sp, 0x4]
- ldr r1, [r5]
- str r1, [sp, 0x8]
- movs r1, 0xFF
- movs r3, 0x1
- bl sub_81B0038
-_081B42C0:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_8123744
-
- thumb_func_start sub_81B42D0
-sub_81B42D0: @ 81B42D0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B432C
- ldr r0, =gSpecialVar_ItemId
- ldrh r4, [r0]
- ldr r0, =gUnknown_0203CEC8
- mov r8, r0
- ldrb r0, [r0, 0x9]
- lsls r0, 24
- asrs r0, 24
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl sub_81B1C84
- mov r1, r8
- movs r0, 0x9
- ldrsb r0, [r1, r0]
- muls r0, r6
- adds r0, r5
- adds r1, r4, 0
- bl sub_81B1DB8
- adds r0, r4, 0
- movs r1, 0x1
- bl RemoveBagItem
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B469C
- str r1, [r0]
-_081B432C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B42D0
-
- thumb_func_start sub_81B4350
-sub_81B4350: @ 81B4350
- 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 _081B4388
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gUnknown_0203CEFC
- ldrh r1, [r1]
- movs r2, 0x1
- bl sub_81B1D1C
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B43A8
- str r1, [r0]
-_081B4388:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4350
-
- thumb_func_start sub_81B43A8
-sub_81B43A8: @ 81B43A8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B43CC
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B43DC
- str r0, [r1]
-_081B43CC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B43A8
-
- thumb_func_start sub_81B43DC
-sub_81B43DC: @ 81B43DC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B4402
- cmp r1, 0
- bgt _081B43FC
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B44D8
- b _081B44EC
-_081B43FC:
- cmp r1, 0x1
- beq _081B44DE
- b _081B44EC
-_081B4402:
- ldr r5, =gSpecialVar_ItemId
- ldrh r0, [r5]
- movs r1, 0x1
- bl RemoveBagItem
- ldr r6, =gUnknown_0203CEFC
- ldrh r0, [r6]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- bne _081B4458
- ldrh r0, [r5]
- movs r1, 0x1
- bl AddBagItem
- ldrh r0, [r6]
- bl pokemon_item_not_removed
- ldr r0, =gStringVar4
- movs r1, 0
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- str r1, [r0]
- b _081B44EC
- .pool
-_081B4458:
- ldrh r0, [r5]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _081B4498
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldrh r1, [r5]
- bl sub_81B1DB8
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B44FC
- str r1, [r0]
- b _081B44EC
- .pool
-_081B4498:
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldrh r1, [r5]
- bl sub_81B1DB8
- ldrh r0, [r5]
- ldrh r1, [r6]
- movs r2, 0x1
- bl sub_81B1D68
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B469C
- str r1, [r0]
- b _081B44EC
- .pool
-_081B44D8:
- movs r0, 0x5
- bl PlaySE
-_081B44DE:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1C1C
- str r0, [r1]
-_081B44EC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B43DC
-
- thumb_func_start sub_81B44FC
-sub_81B44FC: @ 81B44FC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B451C
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- ldr r0, =sub_81B452C
- str r0, [r1, 0x4]
- adds r0, r4, 0
- bl sub_81B12C0
-_081B451C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B44FC
-
- thumb_func_start sub_81B452C
-sub_81B452C: @ 81B452C
- push {lr}
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x40
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSaveBlock1Ptr
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 2
- ldr r0, =0x00002be0
- adds r2, r0
- ldr r1, [r1]
- adds r1, r2
- ldr r2, =sub_81B4578
- movs r0, 0x4
- movs r3, 0x3
- bl sub_811A20C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B452C
-
- thumb_func_start sub_81B4578
-sub_81B4578: @ 81B4578
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- ldr r6, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r6, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r0, =gSpecialVar_Result
- ldrh r7, [r0]
- cmp r7, 0
- bne _081B45F8
- adds r0, r5, 0
- bl TakeMailFromMon
- ldr r4, =gUnknown_0203CEFC
- adds r0, r5, 0
- movs r1, 0xC
- adds r2, r4, 0
- bl SetMonData
- ldrh r0, [r4]
- movs r1, 0x1
- bl RemoveBagItem
- mov r0, r8
- movs r1, 0x1
- bl AddBagItem
- ldrb r0, [r6, 0x8]
- lsls r0, 28
- lsrs r0, 28
- ldrb r2, [r6, 0xB]
- str r7, [sp]
- ldr r1, =sub_81B36FC
- str r1, [sp, 0x4]
- ldr r1, [r6]
- str r1, [sp, 0x8]
- movs r1, 0xFF
- movs r3, 0x1
- bl sub_81B0038
- b _081B4614
- .pool
-_081B45F8:
- ldrb r0, [r6, 0x8]
- lsls r0, 28
- lsrs r0, 28
- ldrb r2, [r6, 0xB]
- movs r1, 0x7F
- str r1, [sp]
- ldr r1, =sub_81B4624
- str r1, [sp, 0x4]
- ldr r1, [r6]
- str r1, [sp, 0x8]
- movs r1, 0xFF
- movs r3, 0x1
- bl sub_81B0038
-_081B4614:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4578
-
- thumb_func_start sub_81B4624
-sub_81B4624: @ 81B4624
- 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 _081B468A
- ldr r1, =gUnknown_0203CEFC
- ldrh r0, [r1]
- cmp r0, 0
- bne _081B4670
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gSpecialVar_ItemId
- ldrh r1, [r1]
- movs r2, 0
- movs r3, 0
- bl sub_81B1C84
- b _081B467C
- .pool
-_081B4670:
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- ldrh r1, [r1]
- movs r2, 0
- bl sub_81B1D68
-_081B467C:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B469C
- str r0, [r1]
-_081B468A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4624
-
- thumb_func_start sub_81B469C
-sub_81B469C: @ 81B469C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r4, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r6, r1, r0
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B471C
- ldr r5, =gUnknown_0203CEDC
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- lsls r0, 4
- ldr r1, [r5]
- adds r1, r0
- adds r0, r6, 0
- bl sub_81B5C94
- ldrb r1, [r4, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0xC
- bne _081B4716
- adds r0, r6, 0
- movs r1, 0xC
- bl GetMonData
- cmp r0, 0
- beq _081B4704
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- lsls r0, 4
- ldr r1, [r5]
- adds r1, r0
- movs r0, 0xB
- movs r2, 0x1
- bl sub_81B2FA8
- b _081B4716
- .pool
-_081B4704:
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- lsls r0, 4
- ldr r1, [r5]
- adds r1, r0
- movs r0, 0xC
- movs r2, 0x1
- bl sub_81B2FA8
-_081B4716:
- adds r0, r7, 0
- bl sub_81B1C1C
-_081B471C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B469C
-
- thumb_func_start sub_81B4724
-sub_81B4724: @ 81B4724
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- adds r0, r5, 0
- bl sub_81B1E00
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _081B4788
- cmp r0, 0x1
- beq _081B47AC
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x1
- bl sub_81B1CD0
- b _081B47BA
- .pool
-_081B4788:
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnNotHolding
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- b _081B47B4
- .pool
-_081B47AC:
- adds r0, r6, 0
- bl pokemon_item_not_removed
- ldr r0, =gStringVar4
-_081B47B4:
- movs r1, 0x1
- bl sub_81B1B5C
-_081B47BA:
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, =gTasks
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B469C
- str r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4724
-
- thumb_func_start sub_81B47E0
-sub_81B47E0: @ 81B47E0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r7, r1, r0
- adds r0, r7, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- cmp r5, 0
- bne _081B4864
- ldr r1, =gStringVar1
- adds r0, r7, 0
- bl GetMonNickname
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnNotHolding
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B469C
- b _081B488A
- .pool
-_081B4864:
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_ThrowAwayItem
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B48A8
-_081B488A:
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B47E0
-
- thumb_func_start sub_81B48A8
-sub_81B48A8: @ 81B48A8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B48CC
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B48DC
- str r0, [r1]
-_081B48CC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B48A8
-
- thumb_func_start sub_81B48DC
-sub_81B48DC: @ 81B48DC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B491A
- cmp r1, 0
- bgt _081B4914
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B4964
- b _081B4978
- .pool
-_081B4914:
- cmp r1, 0x1
- beq _081B496A
- b _081B4978
-_081B491A:
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_ItemThrownAway
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B4988
- str r1, [r0]
- b _081B4978
- .pool
-_081B4964:
- movs r0, 0x5
- bl PlaySE
-_081B496A:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1C1C
- str r0, [r1]
-_081B4978:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B48DC
-
- thumb_func_start sub_81B4988
-sub_81B4988: @ 81B4988
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r6, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r6, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B49EC
- movs r1, 0
- mov r0, sp
- strh r1, [r0]
- adds r0, r5, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- ldr r4, =gUnknown_0203CEDC
- movs r0, 0x9
- ldrsb r0, [r6, r0]
- lsls r0, 4
- ldr r1, [r4]
- adds r1, r0
- adds r0, r5, 0
- bl sub_81B5C94
- movs r0, 0x9
- ldrsb r0, [r6, r0]
- lsls r0, 4
- ldr r1, [r4]
- adds r1, r0
- movs r0, 0xC
- movs r2, 0x1
- bl sub_81B2FA8
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- str r1, [r0]
-_081B49EC:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4988
-
- thumb_func_start sub_81B4A08
-sub_81B4A08: @ 81B4A08
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- ldr r0, =gPlayerParty
- ldr r1, =gUnknown_0203CEC8
- ldrb r1, [r1, 0x9]
- movs r2, 0x9
- bl sub_81B33B4
- movs r0, 0x2
- bl sub_81B31B0
- movs r0, 0x19
- bl display_pokemon_menu_message
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0xFF
- strh r1, [r0, 0x8]
- ldr r1, =sub_81B3730
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4A08
-
- thumb_func_start sub_81B4A6C
-sub_81B4A6C: @ 81B4A6C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- ldr r0, =sub_81B4A98
- str r0, [r1, 0x4]
- adds r0, r4, 0
- bl sub_81B12C0
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4A6C
-
- thumb_func_start sub_81B4A98
-sub_81B4A98: @ 81B4A98
- push {lr}
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x40
- bl GetMonData
- ldr r2, =gSaveBlock1Ptr
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =0x00002be0
- adds r1, r0
- ldr r0, [r2]
- adds r0, r1
- ldr r1, =sub_81B4AE0
- movs r2, 0x1
- bl ReadMail
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4A98
-
- thumb_func_start sub_81B4AE0
-sub_81B4AE0: @ 81B4AE0
- push {lr}
- sub sp, 0xC
- ldr r2, =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r3, =gUnknown_0203CEC8
- ldrb r0, [r3, 0x8]
- lsls r0, 28
- lsrs r0, 28
- ldrb r2, [r3, 0xB]
- movs r1, 0x15
- str r1, [sp]
- ldr r1, =sub_81B36FC
- str r1, [sp, 0x4]
- ldr r1, [r3]
- str r1, [sp, 0x8]
- movs r1, 0xFF
- movs r3, 0x1
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4AE0
-
- thumb_func_start brm_take_2
-brm_take_2: @ 81B4B20
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- ldr r5, =gUnknown_0203CEC4
- ldr r0, [r5]
- adds r0, 0xD
- bl sub_81B302C
- ldr r0, [r5]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, =gText_SendMailToPC
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B4B6C
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end brm_take_2
-
- thumb_func_start sub_81B4B6C
-sub_81B4B6C: @ 81B4B6C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B4B90
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B4BA0
- str r0, [r1]
-_081B4B90:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4B6C
-
- thumb_func_start sub_81B4BA0
-sub_81B4BA0: @ 81B4BA0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B4BC6
- cmp r1, 0
- bgt _081B4BC0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B4C30
- b _081B4C4C
-_081B4BC0:
- cmp r1, 0x1
- beq _081B4C36
- b _081B4C4C
-_081B4BC6:
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl TakeMailFromMon2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _081B4C0C
- ldr r0, =gText_MailSentToPC
- movs r1, 0
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B469C
- b _081B4C4A
- .pool
-_081B4C0C:
- ldr r0, =gText_PCMailboxFull
- movs r1, 0
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- b _081B4C4A
- .pool
-_081B4C30:
- movs r0, 0x5
- bl PlaySE
-_081B4C36:
- ldr r0, =gText_MailMessageWillBeLost
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B4C60
-_081B4C4A:
- str r1, [r0]
-_081B4C4C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4BA0
-
- thumb_func_start sub_81B4C60
-sub_81B4C60: @ 81B4C60
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B4C84
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B4C94
- str r0, [r1]
-_081B4C84:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4C60
-
- thumb_func_start sub_81B4C94
-sub_81B4C94: @ 81B4C94
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B4CBE
- cmp r1, 0
- bgt _081B4CB8
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B4D50
- b _081B4D64
-_081B4CB8:
- cmp r1, 0x1
- beq _081B4D56
- b _081B4D64
-_081B4CBE:
- ldr r0, =gUnknown_0203CEC8
- mov r8, r0
- ldrb r0, [r0, 0x9]
- lsls r0, 24
- asrs r0, 24
- movs r7, 0x64
- muls r0, r7
- ldr r6, =gPlayerParty
- adds r0, r6
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B4D24
- mov r1, r8
- movs r0, 0x9
- ldrsb r0, [r1, r0]
- muls r0, r7
- adds r0, r6
- bl TakeMailFromMon
- ldr r0, =gText_MailTakenFromPkmn
- movs r1, 0
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B469C
- str r1, [r0]
- b _081B4D64
- .pool
-_081B4D24:
- adds r0, r4, 0
- bl pokemon_item_not_removed
- ldr r0, =gStringVar4
- movs r1, 0
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- str r1, [r0]
- b _081B4D64
- .pool
-_081B4D50:
- movs r0, 0x5
- bl PlaySE
-_081B4D56:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1C1C
- str r0, [r1]
-_081B4D64:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4C94
-
- thumb_func_start sub_81B4D78
-sub_81B4D78: @ 81B4D78
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r5, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r5, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r6, =gPlayerParty
- adds r7, r0, r6
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- ldrb r4, [r5, 0x9]
- adds r0, r7, 0
- bl sub_81B353C
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_81B33B4
- ldrb r1, [r5, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0xC
- beq _081B4DE4
- movs r0, 0
- bl sub_81B31B0
- movs r0, 0x15
- bl display_pokemon_menu_message
- b _081B4E02
- .pool
-_081B4DE4:
- movs r0, 0x1
- bl sub_81B31B0
- adds r0, r7, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gStringVar2
- bl CopyItemName
- movs r0, 0x1A
- bl display_pokemon_menu_message
-_081B4E02:
- ldr r1, =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0xFF
- strh r1, [r0, 0x8]
- ldr r1, =sub_81B3730
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4D78
-
- thumb_func_start brm_shift_sendout
-brm_shift_sendout: @ 81B4E2C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x5
- bl PlaySE
- ldr r5, =gUnknown_0203CEC4
- ldr r0, [r5]
- adds r0, 0xC
- bl sub_81B302C
- bl sub_81B8A7C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B4E5C
- adds r0, r4, 0
- bl sub_81B12C0
- b _081B4E7A
- .pool
-_081B4E5C:
- ldr r0, [r5]
- adds r0, 0xD
- bl sub_81B302C
- ldr r0, =gStringVar4
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- str r1, [r0]
-_081B4E7A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end brm_shift_sendout
-
- thumb_func_start sub_81B4E8C
-sub_81B4E8C: @ 81B4E8C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- bl sub_81B8830
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- cmp r5, r6
- bcs _081B4F36
- ldr r2, =gUnknown_0203CEC8
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- mov r8, r0
-_081B4EC6:
- ldr r0, =gSelectedOrderFromParty
- adds r4, r5, r0
- ldrb r0, [r4]
- cmp r0, 0
- bne _081B4F2C
- movs r0, 0x5
- str r2, [sp]
- bl PlaySE
- ldr r2, [sp]
- ldrb r0, [r2, 0x9]
- adds r0, 0x1
- strb r0, [r4]
- adds r0, r5, 0x2
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203CEDC
- ldrb r2, [r2, 0x9]
- lsls r2, 24
- asrs r2, 24
- lsls r2, 4
- ldr r1, [r1]
- adds r1, r2
- movs r2, 0x1
- bl sub_81B2FA8
- subs r0, r6, 0x1
- cmp r5, r0
- bne _081B4F04
- bl sub_81B4F88
-_081B4F04:
- movs r0, 0
- bl display_pokemon_menu_message
- ldr r0, =sub_81B1370
- mov r1, r8
- str r0, [r1]
- b _081B4F68
- .pool
-_081B4F2C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r6
- bcc _081B4EC6
-_081B4F36:
- ldr r0, =gStringVar1
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_NoMoreThanVar1Pkmn
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x20
- bl PlaySE
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- str r1, [r0]
-_081B4F68:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4E8C
-
- thumb_func_start sub_81B4F88
-sub_81B4F88: @ 81B4F88
- push {r4,lr}
- ldr r4, =gUnknown_0203CEC8
- ldrb r0, [r4, 0x9]
- movs r1, 0
- bl sub_81B0FCC
- movs r0, 0x6
- strb r0, [r4, 0x9]
- movs r1, 0x1
- bl sub_81B0FCC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4F88
-
- thumb_func_start sub_81B4FA8
-sub_81B4FA8: @ 81B4FA8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- bl sub_81B8830
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- cmp r4, r5
- bcs _081B502A
- ldr r6, =gSelectedOrderFromParty
- subs r2, r5, 0x1
- adds r7, r6, 0
- ldr r3, =gUnknown_0203CEC8
-_081B4FE2:
- adds r0, r4, r6
- ldrb r1, [r0]
- movs r0, 0x9
- ldrsb r0, [r3, r0]
- adds r0, 0x1
- cmp r1, r0
- bne _081B5020
- adds r0, r4, 0
- adds r4, r2, 0
- cmp r0, r4
- bge _081B500C
- adds r3, r7, 0
-_081B4FFA:
- adds r2, r0, r3
- adds r1, r0, 0x1
- adds r0, r1, r3
- ldrb r0, [r0]
- strb r0, [r2]
- lsls r1, 24
- lsrs r0, r1, 24
- cmp r0, r4
- blt _081B4FFA
-_081B500C:
- adds r1, r0, r6
- movs r0, 0
- strb r0, [r1]
- b _081B502A
- .pool
-_081B5020:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _081B4FE2
-_081B502A:
- ldr r6, =gUnknown_0203CEDC
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x9]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 4
- ldr r1, [r6]
- adds r1, r0
- movs r0, 0x1
- movs r2, 0x1
- bl sub_81B2FA8
- movs r4, 0
- subs r5, 0x1
- mov r0, r8
- lsls r7, r0, 2
- cmp r4, r5
- bge _081B5078
-_081B504E:
- ldr r0, =gSelectedOrderFromParty
- adds r1, r4, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _081B506E
- adds r0, r4, 0x2
- lsls r0, 24
- lsrs r0, 24
- ldrb r2, [r1]
- lsls r2, 4
- subs r2, 0x10
- ldr r1, [r6]
- adds r1, r2
- movs r2, 0x1
- bl sub_81B2FA8
-_081B506E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- blt _081B504E
-_081B5078:
- movs r0, 0
- bl display_pokemon_menu_message
- ldr r0, =gTasks
- mov r2, r8
- adds r1, r7, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1370
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4FA8
-
- thumb_func_start sub_81B50AC
-sub_81B50AC: @ 81B50AC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_81B12C0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B50AC
-
- thumb_func_start sub_81B50C8
-sub_81B50C8: @ 81B50C8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_0203CEC8
- mov r9, r0
- ldrb r0, [r0, 0x9]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x64
- mov r8, r1
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x41
- bl GetMonData
- adds r6, r0, 0
- lsls r6, 16
- lsrs r6, 16
- mov r1, r9
- movs r0, 0x9
- ldrsb r0, [r1, r0]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r4
- movs r1, 0xB
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- mov r1, r9
- movs r0, 0x9
- ldrsb r0, [r1, r0]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r4
- movs r1, 0x50
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_800F7DC
- ldr r0, [r0]
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_807A8D0
- cmp r0, 0x1
- beq _081B515C
- cmp r0, 0x2
- beq _081B5170
- movs r0, 0x5
- bl PlaySE
- adds r0, r7, 0
- bl sub_81B12C0
- b _081B51B0
- .pool
-_081B515C:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnCantBeTradedNow
- bl StringExpandPlaceholders
- b _081B5178
- .pool
-_081B5170:
- ldr r0, =gStringVar4
- ldr r1, =gText_EggCantBeTradedNow
- bl StringExpandPlaceholders
-_081B5178:
- movs r0, 0x20
- bl PlaySE
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- ldr r4, =gStringVar4
- ldr r1, =gText_PauseUntilPress
- adds r0, r4, 0
- bl StringAppend
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- str r1, [r0]
-_081B51B0:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B50C8
-
- thumb_func_start brm_trade_1
-brm_trade_1: @ 81B51D4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_0203CEC8
- mov r8, r0
- ldrb r0, [r0, 0x9]
- lsls r0, 24
- asrs r0, 24
- movs r6, 0x64
- muls r0, r6
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x41
- bl GetMonData
- mov r9, r0
- mov r1, r9
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- mov r1, r8
- movs r0, 0x9
- ldrsb r0, [r1, r0]
- muls r0, r6
- adds r0, r4
- movs r1, 0xB
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- mov r1, r8
- movs r0, 0x9
- ldrsb r0, [r1, r0]
- muls r0, r6
- adds r0, r4
- movs r1, 0x50
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_800F7DC
- ldr r0, [r0]
- ldr r1, =gUnknown_02022C38
- ldr r1, [r1]
- ldr r2, =gUnknown_02022C3C
- ldrh r3, [r2]
- ldr r2, =gUnknown_02022C3E
- ldrb r2, [r2]
- str r2, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- mov r2, r9
- bl sub_807A7E0
- cmp r0, 0
- beq _081B52C8
- ldr r5, =gStringVar4
- ldr r1, =gUnknown_08615E0C
- subs r0, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r5, 0
- bl StringExpandPlaceholders
- movs r0, 0x20
- bl PlaySE
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- ldr r1, =gText_PauseUntilPress
- adds r0, r5, 0
- bl StringAppend
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- str r1, [r0]
- b _081B52D4
- .pool
-_081B52C8:
- movs r0, 0x5
- bl PlaySE
- adds r0, r7, 0
- bl sub_81B12C0
-_081B52D4:
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end brm_trade_1
-
- thumb_func_start sub_81B52E4
-sub_81B52E4: @ 81B52E4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- ldr r0, =gPlayerParty
- ldr r1, =gUnknown_0203CEC8
- ldrb r1, [r1, 0x9]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl sub_807A918
- cmp r0, 0x2
- beq _081B5340
- cmp r0, 0x2
- bgt _081B5328
- cmp r0, 0x1
- beq _081B532E
- b _081B5368
- .pool
-_081B5328:
- cmp r0, 0x3
- beq _081B5354
- b _081B5368
-_081B532E:
- ldr r0, =gStringVar4
- ldr r1, =gText_OnlyPkmnForBattle
- bl StringExpandPlaceholders
- b _081B53C0
- .pool
-_081B5340:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnCantBeTradedNow
- bl StringExpandPlaceholders
- b _081B53C0
- .pool
-_081B5354:
- ldr r0, =gStringVar4
- ldr r1, =gText_EggCantBeTradedNow
- bl StringExpandPlaceholders
- b _081B53C0
- .pool
-_081B5368:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r4, =gStringVar4
- ldr r1, =gJPText_PutVar1IntoSpinner
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B53FC
- b _081B53E4
- .pool
-_081B53C0:
- movs r0, 0x20
- bl PlaySE
- ldr r4, =gStringVar4
- ldr r1, =gText_PauseUntilPress
- adds r0, r4, 0
- bl StringAppend
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
-_081B53E4:
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B52E4
-
- thumb_func_start sub_81B53FC
-sub_81B53FC: @ 81B53FC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B5420
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B5430
- str r0, [r1]
-_081B5420:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B53FC
-
- thumb_func_start sub_81B5430
-sub_81B5430: @ 81B5430
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B5456
- cmp r1, 0
- bgt _081B5450
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B545E
- b _081B546A
-_081B5450:
- cmp r1, 0x1
- beq _081B5464
- b _081B546A
-_081B5456:
- adds r0, r4, 0
- bl sub_81B12C0
- b _081B546A
-_081B545E:
- movs r0, 0x5
- bl PlaySE
-_081B5464:
- adds r0, r4, 0
- bl sub_81B1C1C
-_081B546A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B5430
-
- thumb_func_start sub_81B5470
-sub_81B5470: @ 81B5470
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- bl GetMenuCursorPos
- ldr r5, =gUnknown_0203CEC4
- ldr r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- adds r1, 0xF
- adds r1, r0
- ldrb r0, [r1]
- subs r0, 0x13
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gUnknown_08615D9C
- lsls r0, r4, 3
- adds r7, r0, r1
- ldr r0, [r7]
- cmp r0, 0
- bne _081B54A2
- b _081B5664
-_081B54A2:
- ldr r0, [r5]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r5]
- adds r0, 0xD
- bl sub_81B302C
- bl sub_81221AC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B54C6
- bl InUnionRoom
- cmp r0, 0x1
- bne _081B54E8
-_081B54C6:
- adds r0, r4, 0
- subs r0, 0xB
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _081B54E4
- movs r0, 0xD
- bl display_pokemon_menu_message
- b _081B5656
- .pool
-_081B54E4:
- ldrb r0, [r7, 0x4]
- b _081B5652
-_081B54E8:
- cmp r4, 0x7
- bhi _081B5524
- ldr r1, =0x00000867
- adds r0, r4, r1
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B5524
- ldr r0, =gText_CantUseUntilNewBadge
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- str r1, [r0]
- b _081B5664
- .pool
-_081B5524:
- ldr r1, =gUnknown_08615D9C
- lsls r0, r4, 3
- adds r5, r0, r1
- ldr r0, [r5]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B553A
- b _081B563C
-_081B553A:
- subs r0, r4, 0x5
- cmp r0, 0x7
- bhi _081B5624
- lsls r0, 2
- ldr r1, =_081B5554
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B5554:
- .4byte _081B5614
- .4byte _081B5624
- .4byte _081B5624
- .4byte _081B557C
- .4byte _081B55B8
- .4byte _081B5624
- .4byte _081B5574
- .4byte _081B5574
-_081B5574:
- adds r0, r6, 0
- bl sub_8161560
- b _081B5664
-_081B557C:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x1C
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x1D]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl Overworld_GetMapHeaderByGroupAndId
- adds r1, r0, 0
- ldr r0, =gStringVar1
- ldrb r1, [r1, 0x14]
- bl sub_81245DC
- ldr r0, =gStringVar4
- ldr r1, =gText_ReturnToHealingSpot
- b _081B55E8
- .pool
-_081B55B8:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r0, 16
- adds r1, 0x25
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl Overworld_GetMapHeaderByGroupAndId
- adds r1, r0, 0
- ldr r0, =gStringVar1
- ldrb r1, [r1, 0x14]
- bl sub_81245DC
- ldr r0, =gStringVar4
- ldr r1, =gText_EscapeFromHere
-_081B55E8:
- bl StringExpandPlaceholders
- adds r0, r6, 0
- bl sub_81B5674
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- strh r4, [r0]
- b _081B5664
- .pool
-_081B5614:
- ldr r1, =gUnknown_0203CEC8
- ldr r0, =MCB2_FlyMap
- b _081B5628
- .pool
-_081B5624:
- ldr r1, =gUnknown_0203CEC8
- ldr r0, =CB2_ReturnToField
-_081B5628:
- str r0, [r1]
- adds r0, r6, 0
- bl sub_81B12C0
- b _081B5664
- .pool
-_081B563C:
- cmp r4, 0x1
- beq _081B564A
- cmp r4, 0x4
- bne _081B5650
- bl sub_81B5864
- b _081B5656
-_081B564A:
- bl sub_81B57DC
- b _081B5656
-_081B5650:
- ldrb r0, [r5, 0x4]
-_081B5652:
- bl display_pokemon_menu_message
-_081B5656:
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =task_brm_cancel_1_on_keypad_a_or_b
- str r0, [r1]
-_081B5664:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5470
-
- thumb_func_start sub_81B5674
-sub_81B5674: @ 81B5674
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gStringVar4
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B56A4
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5674
-
- thumb_func_start sub_81B56A4
-sub_81B56A4: @ 81B56A4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B56C8
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B56D8
- str r0, [r1]
-_081B56C8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B56A4
-
- thumb_func_start sub_81B56D8
-sub_81B56D8: @ 81B56D8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B56FE
- cmp r1, 0
- bgt _081B56F8
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B5714
- b _081B572A
-_081B56F8:
- cmp r1, 0x1
- beq _081B571A
- b _081B572A
-_081B56FE:
- ldr r1, =gUnknown_0203CEC8
- ldr r0, =CB2_ReturnToField
- str r0, [r1]
- adds r0, r4, 0
- bl sub_81B12C0
- b _081B572A
- .pool
-_081B5714:
- movs r0, 0x5
- bl PlaySE
-_081B571A:
- ldr r0, =gFieldCallback2
- movs r1, 0
- str r1, [r0]
- ldr r0, =gPostMenuFieldCallback
- str r1, [r0]
- adds r0, r4, 0
- bl sub_81B1C1C
-_081B572A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B56D8
-
- thumb_func_start FieldCallback_PrepareFadeInFromMenu
-FieldCallback_PrepareFadeInFromMenu: @ 81B5738
- push {lr}
- bl pal_fill_black
- ldr r0, =task_launch_hm_phase_2
- movs r1, 0x8
- bl CreateTask
- movs r0, 0x1
- pop {r1}
- bx r1
- .pool
- thumb_func_end FieldCallback_PrepareFadeInFromMenu
-
- thumb_func_start task_launch_hm_phase_2
-task_launch_hm_phase_2: @ 81B5750
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsWeatherNotFadingIn
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B577C
- bl brm_get_selected_species
- ldr r1, =gFieldEffectArguments
- lsls r0, 16
- lsrs r0, 16
- str r0, [r1]
- ldr r0, =gPostMenuFieldCallback
- ldr r0, [r0]
- bl _call_via_r0
- adds r0, r4, 0
- bl DestroyTask
-_081B577C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_launch_hm_phase_2
-
- thumb_func_start brm_get_selected_species
-brm_get_selected_species: @ 81B578C
- push {lr}
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .pool
- thumb_func_end brm_get_selected_species
-
- thumb_func_start task_brm_cancel_1_on_keypad_a_or_b
-task_brm_cancel_1_on_keypad_a_or_b: @ 81B57B4
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081B57CE
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B57D4
-_081B57CE:
- adds r0, r2, 0
- bl brm_cancel_1
-_081B57D4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_brm_cancel_1_on_keypad_a_or_b
-
- thumb_func_start sub_81B57DC
-sub_81B57DC: @ 81B57DC
- push {lr}
- ldr r0, =0x00000888
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B57F8
- movs r0, 0xC
- bl display_pokemon_menu_message
- b _081B57FE
- .pool
-_081B57F8:
- movs r0, 0xD
- bl display_pokemon_menu_message
-_081B57FE:
- pop {r0}
- bx r0
- thumb_func_end sub_81B57DC
-
- thumb_func_start hm_surf_run_dp02scr
-hm_surf_run_dp02scr: @ 81B5804
- push {lr}
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- movs r0, 0x9
- bl FieldEffectStart
- pop {r0}
- bx r0
- .pool
- thumb_func_end hm_surf_run_dp02scr
-
- thumb_func_start sub_81B5820
-sub_81B5820: @ 81B5820
- push {lr}
- bl PartyHasMonWithSurf
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B585C
- bl IsPlayerFacingSurfableFishableWater
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B585C
- ldr r1, =gFieldCallback2
- ldr r0, =FieldCallback_PrepareFadeInFromMenu
- str r0, [r1]
- ldr r1, =gPostMenuFieldCallback
- ldr r0, =hm_surf_run_dp02scr
- str r0, [r1]
- movs r0, 0x1
- b _081B585E
- .pool
-_081B585C:
- movs r0, 0
-_081B585E:
- pop {r1}
- bx r1
- thumb_func_end sub_81B5820
-
- thumb_func_start sub_81B5864
-sub_81B5864: @ 81B5864
- push {lr}
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _081B587A
- movs r0, 0x9
- bl display_pokemon_menu_message
- b _081B5880
-_081B587A:
- movs r0, 0x8
- bl display_pokemon_menu_message
-_081B5880:
- pop {r0}
- bx r0
- thumb_func_end sub_81B5864
-
- thumb_func_start sub_81B5884
-sub_81B5884: @ 81B5884
- push {lr}
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- bl Overworld_MapTypeAllowsTeleportAndFly
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B58A0
- movs r0, 0
- b _081B58A2
- .pool
-_081B58A0:
- movs r0, 0x1
-_081B58A2:
- pop {r1}
- bx r1
- thumb_func_end sub_81B5884
-
- thumb_func_start sub_81B58A8
-sub_81B58A8: @ 81B58A8
- push {lr}
- sub sp, 0xC
- movs r0, 0
- str r0, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =CB2_ReturnToFieldWithOpenMenu
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B58A8
-
- thumb_func_start hm2_waterfall
-hm2_waterfall: @ 81B58D4
- push {lr}
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- movs r0, 0x2B
- bl FieldEffectStart
- pop {r0}
- bx r0
- .pool
- thumb_func_end hm2_waterfall
-
- thumb_func_start hm_prepare_waterfall
-hm_prepare_waterfall: @ 81B58F0
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsWaterfall
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B594C
- bl IsPlayerSurfingNorth
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B594C
- ldr r1, =gFieldCallback2
- ldr r0, =FieldCallback_PrepareFadeInFromMenu
- str r0, [r1]
- ldr r1, =gPostMenuFieldCallback
- ldr r0, =hm2_waterfall
- str r0, [r1]
- movs r0, 0x1
- b _081B594E
- .pool
-_081B594C:
- movs r0, 0
-_081B594E:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end hm_prepare_waterfall
-
- thumb_func_start sub_81B5958
-sub_81B5958: @ 81B5958
- push {lr}
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- movs r0, 0x2C
- bl FieldEffectStart
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5958
-
- thumb_func_start sub_81B5974
-sub_81B5974: @ 81B5974
- push {lr}
- bl TrySetDiveWarp
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1, 0x4]
- cmp r0, 0
- bne _081B5990
- movs r0, 0
- b _081B599E
- .pool
-_081B5990:
- ldr r1, =gFieldCallback2
- ldr r0, =FieldCallback_PrepareFadeInFromMenu
- str r0, [r1]
- ldr r1, =gPostMenuFieldCallback
- ldr r0, =sub_81B5958
- str r0, [r1]
- movs r0, 0x1
-_081B599E:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B5974
-
- thumb_func_start party_menu_icon_anim
-@ void party_menu_icon_anim(struct pokemon *mon, int a2, int a3)
-party_menu_icon_anim: @ 81B59B4
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r7, r1, 0
- adds r4, r2, 0
- movs r6, 0x1
- bl sub_81B1250
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B59EA
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B59EA
- ldr r0, =gUnknown_08616020
- adds r0, r4, r0
- ldrb r1, [r0]
- eors r1, r6
- negs r0, r1
- orrs r0, r1
- lsrs r6, r0, 31
-_081B59EA:
- adds r0, r5, 0
- movs r1, 0x41
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0
- bl GetMonData
- adds r1, r0, 0
- str r6, [sp]
- adds r0, r4, 0
- adds r2, r7, 0
- movs r3, 0x1
- bl party_menu_link_mon_icon_anim
- ldrb r0, [r7, 0x9]
- adds r1, r5, 0
- bl sub_81B5B38
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end party_menu_icon_anim
-
- thumb_func_start party_menu_link_mon_icon_anim
-@ void party_menu_link_mon_icon_anim(u16 speciesId, u32 personality, int a3, char a4, int a5)
-party_menu_link_mon_icon_anim: @ 81B5A2C
- push {r4-r7,lr}
- sub sp, 0xC
- adds r6, r1, 0
- adds r4, r2, 0
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r3, 24
- lsrs r7, r3, 24
- cmp r5, 0
- beq _081B5A7A
- ldr r1, =sub_80D3014
- ldr r0, [r4, 0x4]
- ldrb r2, [r0]
- ldrb r3, [r0, 0x1]
- movs r0, 0x4
- str r0, [sp]
- str r6, [sp, 0x4]
- ldr r0, [sp, 0x20]
- str r0, [sp, 0x8]
- adds r0, r5, 0
- bl CreateMonIcon
- strb r0, [r4, 0x9]
- ldr r2, =gSprites
- ldrb r0, [r4, 0x9]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x3
- adds r2, r7, 0
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
-_081B5A7A:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end party_menu_link_mon_icon_anim
-
- thumb_func_start sub_81B5A8C
-sub_81B5A8C: @ 81B5A8C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- adds r0, r1, 0
- adds r1, r2, 0
- bl GetHPBarLevel
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _081B5AEC
- cmp r0, 0x2
- bgt _081B5AB4
- cmp r0, 0x1
- beq _081B5B04
- b _081B5B1C
-_081B5AB4:
- cmp r0, 0x3
- beq _081B5AD4
- cmp r0, 0x4
- bne _081B5B1C
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0
- bl sub_80D32C8
- b _081B5B2C
- .pool
-_081B5AD4:
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x1
- bl sub_80D32C8
- b _081B5B2C
- .pool
-_081B5AEC:
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x2
- bl sub_80D32C8
- b _081B5B2C
- .pool
-_081B5B04:
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x3
- bl sub_80D32C8
- b _081B5B2C
- .pool
-_081B5B1C:
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x4
- bl sub_80D32C8
-_081B5B2C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5A8C
-
- thumb_func_start sub_81B5B38
-sub_81B5B38: @ 81B5B38
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r6, 0
- movs r1, 0x3A
- bl GetMonData
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81B5A8C
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81B5B38
-
- thumb_func_start sub_81B5B6C
-sub_81B5B6C: @ 81B5B6C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- ldr r5, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r6, r0, 2
- adds r2, r6, r5
- movs r7, 0
- movs r3, 0
- strh r3, [r2, 0x2E]
- mov r12, r5
- cmp r1, 0
- bne _081B5BC4
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- cmp r0, 0x10
- bne _081B5BA4
- strh r3, [r2, 0x24]
- ldr r0, =0x0000fffc
- strh r0, [r2, 0x26]
- b _081B5BAA
- .pool
-_081B5BA4:
- ldr r0, =0x0000fffc
- strh r0, [r2, 0x24]
- strh r3, [r2, 0x26]
-_081B5BAA:
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- mov r1, r12
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_81B5C08
- b _081B5BD0
- .pool
-_081B5BC4:
- strh r3, [r2, 0x24]
- strh r3, [r2, 0x26]
- adds r0, r5, 0
- adds r0, 0x1C
- adds r0, r6, r0
- ldr r1, =sub_81B5BDC
-_081B5BD0:
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5B6C
-
- thumb_func_start sub_81B5BDC
-sub_81B5BDC: @ 81B5BDC
- push {r4,lr}
- adds r4, r0, 0
- bl UpdateMonIconFrame
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _081B5C02
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081B5C00
- ldr r0, =0x0000fffd
- strh r0, [r4, 0x26]
- b _081B5C02
- .pool
-_081B5C00:
- strh r1, [r4, 0x26]
-_081B5C02:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B5BDC
-
- thumb_func_start sub_81B5C08
-sub_81B5C08: @ 81B5C08
- push {lr}
- bl UpdateMonIconFrame
- pop {r0}
- bx r0
- thumb_func_end sub_81B5C08
-
- thumb_func_start party_menu_held_item_object
-party_menu_held_item_object: @ 81B5C14
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B5C3C
- ldr r0, =gSpriteTemplate_8615EC0
- ldr r2, [r4, 0x4]
- ldrb r1, [r2, 0x2]
- ldrb r2, [r2, 0x3]
- movs r3, 0
- bl CreateSprite
- strb r0, [r4, 0xA]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81B5C94
-_081B5C3C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end party_menu_held_item_object
-
- thumb_func_start party_menu_link_mon_held_item_object
-party_menu_link_mon_held_item_object: @ 81B5C48
- push {r4,r5,lr}
- adds r4, r2, 0
- lsls r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- cmp r0, 0
- beq _081B5C84
- ldr r0, =gSpriteTemplate_8615EC0
- ldr r2, [r4, 0x4]
- ldrb r1, [r2, 0x2]
- ldrb r2, [r2, 0x3]
- movs r3, 0
- bl CreateSprite
- strb r0, [r4, 0xA]
- ldr r2, =gSprites
- ldrb r0, [r4, 0xA]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81B5CB0
-_081B5C84:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end party_menu_link_mon_held_item_object
-
- thumb_func_start sub_81B5C94
-sub_81B5C94: @ 81B5C94
- push {r4,lr}
- adds r4, r1, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl sub_81B5CB0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B5C94
-
- thumb_func_start sub_81B5CB0
-sub_81B5CB0: @ 81B5CB0
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _081B5CD8
- ldr r2, =gSprites
- ldrb r1, [r4, 0xA]
- 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 _081B5D24
- .pool
-_081B5CD8:
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _081B5CFC
- ldrb r1, [r4, 0xA]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- b _081B5D0E
- .pool
-_081B5CFC:
- ldrb r1, [r4, 0xA]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0
- bl StartSpriteAnim
-_081B5D0E:
- ldr r2, =gSprites
- ldrb r1, [r4, 0xA]
- 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
-_081B5D24:
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5CB0
-
- thumb_func_start sub_81B5D30
-sub_81B5D30: @ 81B5D30
- push {lr}
- ldr r0, =gUnknown_08615EB0
- bl LoadSpriteSheet
- ldr r0, =gUnknown_08615EB8
- bl LoadSpritePalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5D30
-
- thumb_func_start sub_81B5D4C
-sub_81B5D4C: @ 81B5D4C
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r2, 24
- cmp r2, 0
- beq _081B5D60
- cmp r2, 0x1
- beq _081B5DA8
- b _081B5DE4
-_081B5D60:
- movs r5, 0
- ldrb r0, [r6]
- cmp r5, r0
- bcs _081B5DE4
-_081B5D68:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _081B5D94
- adds r0, r7, r5
- ldrb r4, [r0]
- adds r0, r1, 0
- bl ItemIsMail
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_81B5DF0
-_081B5D94:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrb r0, [r6]
- cmp r5, r0
- bcc _081B5D68
- b _081B5DE4
- .pool
-_081B5DA8:
- movs r5, 0
- b _081B5DDE
-_081B5DAC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _081B5DD8
- adds r0, r5, r7
- ldrb r4, [r0, 0x6]
- adds r0, r1, 0
- bl ItemIsMail
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_81B5DF0
-_081B5DD8:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_081B5DDE:
- ldrb r0, [r6, 0x1]
- cmp r5, r0
- bcc _081B5DAC
-_081B5DE4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5D4C
-
- thumb_func_start sub_81B5DF0
-sub_81B5DF0: @ 81B5DF0
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r6, r0, 0
- mov r9, r1
- lsls r6, 24
- lsrs r6, 24
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, =gSprites
- mov r8, r0
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- add r0, r8
- adds r0, 0x43
- ldrb r3, [r0]
- ldr r0, =gSpriteTemplate_8615EC0
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0xFA
- movs r2, 0xAA
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- mov r0, r8
- adds r5, r4, r0
- movs r0, 0x4
- strh r0, [r5, 0x24]
- movs r0, 0xA
- strh r0, [r5, 0x26]
- movs r0, 0x1C
- add r8, r0
- add r4, r8
- ldr r0, =sub_81B5E74
- str r0, [r4]
- strh r6, [r5, 0x3C]
- adds r0, r5, 0
- mov r1, r9
- bl StartSpriteAnim
- ldr r1, [r4]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5DF0
-
- thumb_func_start sub_81B5E74
-sub_81B5E74: @ 81B5E74
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x3C]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r2
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _081B5EA8
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _081B5EC6
- .pool
-_081B5EA8:
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- ldrh r0, [r2, 0x24]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x26]
- ldrh r2, [r2, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
-_081B5EC6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B5E74
-
- thumb_func_start party_menu_pokeball_object
-party_menu_pokeball_object: @ 81B5ECC
- push {r4,lr}
- adds r4, r1, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B5EEA
- ldr r0, =gSpriteTemplate_8615F08
- ldr r2, [r4, 0x4]
- ldrb r1, [r2, 0x6]
- ldrb r2, [r2, 0x7]
- movs r3, 0x8
- bl CreateSprite
- strb r0, [r4, 0xB]
-_081B5EEA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end party_menu_pokeball_object
-
- thumb_func_start party_menu_link_mon_pokeball_object
-party_menu_link_mon_pokeball_object: @ 81B5EF4
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- cmp r0, 0
- beq _081B5F24
- ldr r0, =gSpriteTemplate_8615F08
- ldr r2, [r4, 0x4]
- ldrb r1, [r2, 0x6]
- ldrb r2, [r2, 0x7]
- movs r3, 0x8
- bl CreateSprite
- strb r0, [r4, 0xB]
- ldr r2, =gSprites
- ldrb r0, [r4, 0xB]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
-_081B5F24:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end party_menu_link_mon_pokeball_object
-
- thumb_func_start sub_81B5F34
-sub_81B5F34: @ 81B5F34
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 24
- lsrs r3, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gSpriteTemplate_8615F08
- adds r1, r3, 0
- movs r3, 0x8
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r3, [r1, 0x5]
- movs r2, 0xD
- negs r2, r2
- ands r2, r3
- movs r3, 0x8
- orrs r2, r3
- strb r2, [r1, 0x5]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B5F34
-
- thumb_func_start sub_81B5F74
-sub_81B5F74: @ 81B5F74
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 24
- lsrs r3, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gSpriteTemplate_8615F78
- adds r1, r3, 0
- movs r3, 0x8
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B5F74
-
- thumb_func_start sub_81B5F98
-sub_81B5F98: @ 81B5F98
- push {lr}
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r2, =gSprites
- adds r0, r2
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5F98
-
- thumb_func_start sub_81B5FBC
-sub_81B5FBC: @ 81B5FBC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- cmp r6, 0
- bne _081B6000
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- mov r8, r0
- add r4, r8
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- lsls r5, r7, 4
- adds r5, r7
- lsls r5, 2
- add r5, r8
- adds r0, r5, 0
- movs r1, 0x4
- bl StartSpriteAnim
- strh r6, [r4, 0x26]
- strh r6, [r5, 0x26]
- b _081B602C
- .pool
-_081B6000:
- lsls r5, r0, 4
- adds r5, r0
- lsls r5, 2
- ldr r0, =gSprites
- mov r8, r0
- add r5, r8
- adds r0, r5, 0
- movs r1, 0x3
- bl StartSpriteAnim
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- add r4, r8
- adds r0, r4, 0
- movs r1, 0x5
- bl StartSpriteAnim
- ldr r0, =0x0000fffc
- strh r0, [r5, 0x26]
- movs r0, 0x4
- strh r0, [r4, 0x26]
-_081B602C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5FBC
-
- thumb_func_start sub_81B6040
-sub_81B6040: @ 81B6040
- push {lr}
- ldr r0, =gUnknown_08615EF8
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_08615F70
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_08615F00
- bl LoadCompressedObjectPalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6040
-
- thumb_func_start party_menu_status_condition_object
-party_menu_status_condition_object: @ 81B6064
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B608C
- ldr r0, =gSpriteTemplate_8616008
- ldr r2, [r4, 0x4]
- ldrb r1, [r2, 0x4]
- ldrb r2, [r2, 0x5]
- movs r3, 0
- bl CreateSprite
- strb r0, [r4, 0xC]
- adds r0, r5, 0
- adds r1, r4, 0
- bl party_menu_get_status_condition_and_update_object
-_081B608C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end party_menu_status_condition_object
-
- thumb_func_start party_menu_link_mon_status_condition_object
-party_menu_link_mon_status_condition_object: @ 81B6098
- push {r4,r5,lr}
- adds r4, r2, 0
- lsls r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r0, 0
- beq _081B60D4
- ldr r0, =gSpriteTemplate_8616008
- ldr r2, [r4, 0x4]
- ldrb r1, [r2, 0x4]
- ldrb r2, [r2, 0x5]
- movs r3, 0
- bl CreateSprite
- strb r0, [r4, 0xC]
- adds r0, r5, 0
- adds r1, r4, 0
- bl party_menu_update_status_condition_object
- ldr r2, =gSprites
- ldrb r0, [r4, 0xC]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
-_081B60D4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end party_menu_link_mon_status_condition_object
-
- thumb_func_start party_menu_get_status_condition_and_update_object
-@ void party_menu_get_status_condition_and_update_object(struct pokemon *mon, void *a2, void *a3)
-party_menu_get_status_condition_and_update_object: @ 81B60E4
- push {r4,lr}
- adds r4, r1, 0
- bl sub_81B205C
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl party_menu_update_status_condition_object
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end party_menu_get_status_condition_and_update_object
-
- thumb_func_start party_menu_update_status_condition_object
-@ void party_menu_update_status_condition_object(u8 a1, void *a2)
-party_menu_update_status_condition_object: @ 81B60FC
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _081B610C
- cmp r2, 0x6
- bne _081B6128
-_081B610C:
- ldr r2, =gSprites
- ldrb r1, [r5, 0xC]
- 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 _081B6152
- .pool
-_081B6128:
- ldrb r1, [r5, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- subs r1, r2, 0x1
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- ldrb r1, [r5, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
-_081B6152:
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end party_menu_update_status_condition_object
-
- thumb_func_start sub_81B6160
-sub_81B6160: @ 81B6160
- push {lr}
- ldr r0, =gUnknown_08615FF8
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_08616000
- bl LoadCompressedObjectPalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6160
-
- thumb_func_start sub_81B617C
-sub_81B617C: @ 81B617C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- ldr r0, =c2_815ABFC
- mov r8, r0
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B61BC
- movs r7, 0x1
- bl sub_81B8984
- lsls r0, 24
- lsrs r6, r0, 24
- b _081B61C0
- .pool
-_081B61B0:
- ldr r0, =gUnknown_0203CEC8
- strb r5, [r0, 0x9]
- b _081B6204
- .pool
-_081B61BC:
- movs r7, 0
- movs r6, 0
-_081B61C0:
- ldr r4, =gSpecialVar_ItemId
- ldrh r0, [r4]
- bl GetItemEffectType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA
- bne _081B621C
- ldr r1, =gUnknown_0203CEC8
- movs r0, 0
- strb r0, [r1, 0x9]
- movs r5, 0
-_081B61D8:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B61FA
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _081B61B0
-_081B61FA:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _081B61D8
-_081B6204:
- ldr r0, =sub_81B6280
- movs r1, 0x7F
- b _081B6230
- .pool
-_081B621C:
- ldrh r0, [r4]
- bl GetPocketByItemId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x5
- cmp r0, 0x3
- bne _081B622E
- movs r1, 0x4
-_081B622E:
- ldr r0, =sub_81B1370
-_081B6230:
- str r1, [sp]
- str r0, [sp, 0x4]
- mov r0, r8
- str r0, [sp, 0x8]
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x3
- movs r3, 0x1
- bl sub_81B0038
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B617C
-
- thumb_func_start c2_815ABFC
-c2_815ABFC: @ 81B6254
- push {lr}
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _081B626C
- movs r0, 0xC
- movs r1, 0x5
- movs r2, 0
- bl GoToBagMenu
- b _081B6276
-_081B626C:
- ldr r0, =gPyramidBagCursorData
- ldr r1, [r0]
- movs r0, 0x4
- bl sub_81C4F98
-_081B6276:
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_815ABFC
-
- thumb_func_start sub_81B6280
-sub_81B6280: @ 81B6280
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B62B2
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- bne _081B62A6
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- ldr r0, =sub_81B9140
- str r0, [r1, 0x4]
-_081B62A6:
- ldr r0, =gUnknown_03006328
- ldr r1, =sub_81B6794
- ldr r2, [r0]
- adds r0, r3, 0
- bl _call_via_r2
-_081B62B2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6280
-
- thumb_func_start IsHPRecoveryItem
-@ bool8 IsHPRecoveryItem(u16 itemId)
-IsHPRecoveryItem: @ 81B62D0
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _081B62EC
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003214
- adds r0, r1
- b _081B62F6
- .pool
-_081B62EC:
- ldr r1, =gItemEffectTable
- subs r0, 0xD
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
-_081B62F6:
- ldrb r1, [r0, 0x4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _081B6308
- movs r0, 0
- b _081B630A
- .pool
-_081B6308:
- movs r0, 0x1
-_081B630A:
- pop {r1}
- bx r1
- thumb_func_end IsHPRecoveryItem
-
- thumb_func_start GetMedicineItemEffectMessage
-@ void GetMedicineItemEffectMessage(u16 itemId)
-GetMedicineItemEffectMessage: @ 81B6310
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl GetItemEffectType
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x3
- cmp r0, 0x12
- bls _081B6326
- b _081B64BC
-_081B6326:
- lsls r0, 2
- ldr r1, =_081B6334
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B6334:
- .4byte _081B6380
- .4byte _081B6394
- .4byte _081B63A8
- .4byte _081B63BC
- .4byte _081B63D0
- .4byte _081B63E4
- .4byte _081B63F8
- .4byte _081B64BC
- .4byte _081B640C
- .4byte _081B6430
- .4byte _081B6420
- .4byte _081B6460
- .4byte _081B6470
- .4byte _081B6450
- .4byte _081B6440
- .4byte _081B64BC
- .4byte _081B6494
- .4byte _081B6494
- .4byte _081B64A8
-_081B6380:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnCuredOfPoison
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B6394:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnWokeUp2
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B63A8:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnBurnHealed
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B63BC:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnThawedOut
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B63D0:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnCuredOfParalysis
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B63E4:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnSnappedOutOfConfusion
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B63F8:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnGotOverInfatuation
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B640C:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnBecameHealthy
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B6420:
- ldr r0, =gStringVar2
- ldr r1, =gText_HP3
- b _081B6474
- .pool
-_081B6430:
- ldr r0, =gStringVar2
- ldr r1, =gText_Attack3
- b _081B6474
- .pool
-_081B6440:
- ldr r0, =gStringVar2
- ldr r1, =gText_Defense3
- b _081B6474
- .pool
-_081B6450:
- ldr r0, =gStringVar2
- ldr r1, =gText_Speed2
- b _081B6474
- .pool
-_081B6460:
- ldr r0, =gStringVar2
- ldr r1, =gText_SpAtk3
- b _081B6474
- .pool
-_081B6470:
- ldr r0, =gStringVar2
- ldr r1, =gText_SpDef3
-_081B6474:
- bl StringCopy
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnBaseVar2StatIncreased
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B6494:
- ldr r0, =gStringVar4
- ldr r1, =gText_MovesPPIncreased
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B64A8:
- ldr r0, =gStringVar4
- ldr r1, =gText_PPWasRestored
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B64BC:
- ldr r0, =gStringVar4
- ldr r1, =gText_WontHaveEffect
- bl StringExpandPlaceholders
-_081B64C4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end GetMedicineItemEffectMessage
-
- thumb_func_start UsingHPEVItemOnShedinja
-@ bool8 UsingHPEVItemOnShedinja(struct pokemon *mon, u16 itemId)
-UsingHPEVItemOnShedinja: @ 81B64D0
- push {r4,lr}
- adds r4, r0, 0
- lsls r0, r1, 16
- lsrs r0, 16
- bl GetItemEffectType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD
- bne _081B64FC
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- ldr r1, =0x0000012f
- cmp r0, r1
- bne _081B64FC
- movs r0, 0
- b _081B64FE
- .pool
-_081B64FC:
- movs r0, 0x1
-_081B64FE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end UsingHPEVItemOnShedinja
-
- thumb_func_start IsBlueYellowRedFlute
-@ bool8 IsBlueYellowRedFlute(u16 itemId)
-IsBlueYellowRedFlute: @ 81B6504
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x27
- beq _081B6516
- cmp r0, 0x29
- beq _081B6516
- cmp r0, 0x28
- bne _081B651A
-_081B6516:
- movs r0, 0x1
- b _081B651C
-_081B651A:
- movs r0, 0
-_081B651C:
- pop {r1}
- bx r1
- thumb_func_end IsBlueYellowRedFlute
-
- thumb_func_start ExecuteTableBasedItemEffect__
-@ bool8 ExecuteTableBasedItemEffect__(u8 partyMonIndex, u16 itemId, u8 monMoveIndex)
-ExecuteTableBasedItemEffect__: @ 81B6520
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _081B6558
- movs r0, 0x64
- muls r0, r3
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r5, 0
- adds r2, r3, 0
- b _081B6572
- .pool
-_081B6558:
- movs r0, 0x64
- adds r4, r3, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r3, 0
- bl sub_81B8F38
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
-_081B6572:
- adds r3, r6, 0
- bl ExecuteTableBasedItemEffect
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ExecuteTableBasedItemEffect__
-
- thumb_func_start ItemUseCB_Medicine
-ItemUseCB_Medicine: @ 81B6588
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- str r1, [sp, 0x4]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r0, 0
- mov r10, r0
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- ldr r0, =gSpecialVar_ItemId
- ldrh r6, [r0]
- adds r0, r5, 0
- adds r1, r6, 0
- bl UsingHPEVItemOnShedinja
- lsls r0, 24
- cmp r0, 0
- beq _081B6600
- adds r0, r6, 0
- bl IsHPRecoveryItem
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x1
- bne _081B65EE
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- adds r0, r5, 0
- movs r1, 0x3A
- bl GetMonData
- cmp r10, r0
- bne _081B65EE
- movs r1, 0
- mov r8, r1
-_081B65EE:
- ldr r4, =gUnknown_0203CEC8
- ldrb r0, [r4, 0x9]
- adds r1, r6, 0
- movs r2, 0
- bl ExecuteTableBasedItemEffect__
- lsls r0, 24
- cmp r0, 0
- beq _081B6624
-_081B6600:
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gText_WontHaveEffect
- b _081B66F4
- .pool
-_081B6624:
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r6, 0
- bl IsBlueYellowRedFlute
- lsls r0, 24
- cmp r0, 0
- bne _081B6650
- movs r0, 0x1
- bl PlaySE
- ldrb r0, [r4, 0xB]
- cmp r0, 0xE
- beq _081B6656
- adds r0, r6, 0
- movs r1, 0x1
- bl RemoveBagItem
- b _081B6656
- .pool
-_081B6650:
- movs r0, 0x75
- bl PlaySE
-_081B6656:
- ldr r4, =gUnknown_0203CEDC
- ldr r7, =gUnknown_0203CEC8
- movs r0, 0x9
- ldrsb r0, [r7, r0]
- lsls r0, 4
- ldr r1, [r4]
- adds r1, r0
- adds r0, r5, 0
- bl party_menu_get_status_condition_and_update_object
- ldr r2, =gSprites
- movs r0, 0x9
- ldrsb r0, [r7, r0]
- ldr r1, [r4]
- lsls r0, 4
- adds r3, r0, r1
- ldrb r1, [r3, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _081B6694
- adds r0, r5, 0
- adds r1, r3, 0
- movs r2, 0x1
- bl sub_81B2AC8
-_081B6694:
- mov r2, r8
- cmp r2, 0x1
- bne _081B66E4
- mov r0, r10
- cmp r0, 0
- bne _081B66A8
- ldrb r0, [r7, 0x9]
- movs r1, 0x1
- bl sub_81B0FCC
-_081B66A8:
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- adds r3, r0, 0
- mov r1, r10
- subs r3, r1
- lsls r3, 16
- asrs r3, 16
- ldrb r1, [r7, 0x9]
- ldr r0, =sub_81B672C
- str r0, [sp]
- mov r0, r9
- movs r2, 0x1
- bl sub_81B1F18
- mov r0, r9
- movs r1, 0
- mov r2, r10
- bl sub_81B1FA8
- b _081B6710
- .pool
-_081B66E4:
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- adds r0, r6, 0
- bl GetMedicineItemEffectMessage
- ldr r0, =gStringVar4
-_081B66F4:
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- mov r2, r9
- lsls r0, r2, 2
- add r0, r9
- lsls r0, 3
- adds r0, r1
- ldr r1, [sp, 0x4]
- str r1, [r0]
-_081B6710:
- 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 ItemUseCB_Medicine
-
- thumb_func_start sub_81B672C
-sub_81B672C: @ 81B672C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnHPRestoredByVar2
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- bl HandleBattleLowHpMusicChange
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6794
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B672C
-
- thumb_func_start sub_81B6794
-sub_81B6794: @ 81B6794
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B67BA
- ldr r0, =gUnknown_0203CEE8
- ldrb r1, [r0]
- cmp r1, 0
- bne _081B67B4
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- str r1, [r0, 0x4]
-_081B67B4:
- adds r0, r4, 0
- bl sub_81B12C0
-_081B67BA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6794
-
- thumb_func_start sub_81B67C8
-sub_81B67C8: @ 81B67C8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- str r1, [sp]
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r4, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r4, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- ldr r0, =gSpecialVar_ItemId
- ldrh r6, [r0]
- adds r0, r6, 0
- bl GetItemEffectType
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r5, 0
- movs r1, 0x20
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x4]
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_81B691C
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- ldrb r0, [r4, 0x9]
- adds r1, r6, 0
- movs r2, 0
- bl ExecuteTableBasedItemEffect__
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x20
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_81B691C
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r4, 0
- bne _081B6850
- ldr r0, [sp, 0x4]
- cmp r0, r9
- bne _081B6874
- ldr r1, [sp, 0x8]
- cmp r1, r8
- bne _081B6874
-_081B6850:
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gText_WontHaveEffect
- b _081B68E2
- .pool
-_081B6874:
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
- bl PlaySE
- adds r0, r6, 0
- movs r1, 0x1
- bl RemoveBagItem
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- ldr r1, =gStringVar2
- adds r0, r7, 0
- bl option_menu_get_string
- ldr r2, [sp, 0x4]
- cmp r2, r9
- beq _081B68D8
- ldr r0, [sp, 0x8]
- cmp r0, r8
- beq _081B68C4
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnFriendlyBaseVar2Fell
- bl StringExpandPlaceholders
- b _081B68E0
- .pool
-_081B68C4:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnFriendlyBaseVar2CantFall
- bl StringExpandPlaceholders
- b _081B68E0
- .pool
-_081B68D8:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnAdoresBaseVar2Fell
- bl StringExpandPlaceholders
-_081B68E0:
- ldr r0, =gStringVar4
-_081B68E2:
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- mov r2, r10
- lsls r0, r2, 2
- add r0, r10
- lsls r0, 3
- adds r0, r1
- ldr r1, [sp]
- str r1, [r0]
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B67C8
-
- thumb_func_start sub_81B691C
-sub_81B691C: @ 81B691C
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r1, 0
- subs r0, 0xC
- cmp r0, 0x5
- bhi _081B6992
- lsls r0, 2
- ldr r1, =_081B693C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B693C:
- .4byte _081B696C
- .4byte _081B6954
- .4byte _081B697E
- .4byte _081B6984
- .4byte _081B6978
- .4byte _081B6972
-_081B6954:
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- ldr r1, =0x0000012f
- cmp r0, r1
- beq _081B6992
- adds r0, r4, 0
- movs r1, 0x1A
- b _081B6988
- .pool
-_081B696C:
- adds r0, r4, 0
- movs r1, 0x1B
- b _081B6988
-_081B6972:
- adds r0, r4, 0
- movs r1, 0x1C
- b _081B6988
-_081B6978:
- adds r0, r4, 0
- movs r1, 0x1D
- b _081B6988
-_081B697E:
- adds r0, r4, 0
- movs r1, 0x1E
- b _081B6988
-_081B6984:
- adds r0, r4, 0
- movs r1, 0x1F
-_081B6988:
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- b _081B6994
-_081B6992:
- movs r0, 0
-_081B6994:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B691C
-
- thumb_func_start option_menu_get_string
-option_menu_get_string: @ 81B699C
- push {lr}
- adds r2, r1, 0
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0xC
- cmp r0, 0x5
- bhi _081B6A08
- lsls r0, 2
- ldr r1, =_081B69B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B69B8:
- .4byte _081B69D8
- .4byte _081B69D0
- .4byte _081B69F0
- .4byte _081B6A00
- .4byte _081B69E8
- .4byte _081B69E0
-_081B69D0:
- ldr r1, =gText_HP3
- b _081B69F2
- .pool
-_081B69D8:
- ldr r1, =gText_Attack3
- b _081B69F2
- .pool
-_081B69E0:
- ldr r1, =gText_Defense3
- b _081B69F2
- .pool
-_081B69E8:
- ldr r1, =gText_Speed2
- b _081B69F2
- .pool
-_081B69F0:
- ldr r1, =gText_SpAtk3
-_081B69F2:
- adds r0, r2, 0
- bl StringCopy
- b _081B6A08
- .pool
-_081B6A00:
- ldr r1, =gText_SpDef3
- adds r0, r2, 0
- bl StringCopy
-_081B6A08:
- pop {r0}
- bx r0
- .pool
- thumb_func_end option_menu_get_string
-
- thumb_func_start sub_81B6A10
-sub_81B6A10: @ 81B6A10
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r7, 0
- movs r0, 0x1
- mov r10, r0
- movs r0, 0x3
- bl sub_81B31B0
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r0, 0x64
- adds r1, r4, 0
- muls r1, r0
- mov r8, r1
- ldr r0, =gPlayerParty
- mov r9, r0
-_081B6A40:
- adds r1, r5, 0
- adds r1, 0xD
- mov r0, r8
- add r0, r9
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0xD
- adds r2, r4, 0
- muls r2, r0
- ldr r0, =gMoveNames
- adds r2, r0
- lsls r0, r5, 4
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r6, 0
- mov r1, r10
- movs r3, 0x8
- bl AddTextPrinterParameterized
- cmp r4, 0
- beq _081B6A82
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_081B6A82:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _081B6A40
- adds r0, r6, 0
- adds r1, r7, 0
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6A10
-
- thumb_func_start ether_effect_related_3
-ether_effect_related_3: @ 81B6AB4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl Menu_ProcessInput
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _081B6AF0
- adds r0, 0x1
- cmp r1, r0
- bne _081B6AE0
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_81B6BB4
- b _081B6AF0
-_081B6AE0:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- adds r0, r5, 0
- bl ether_effect_related_2
-_081B6AF0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ether_effect_related_3
-
- thumb_func_start dp05_ether
-dp05_ether: @ 81B6AFC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- cmp r0, 0xAF
- bne _081B6B20
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003214
- adds r0, r1
- b _081B6B2A
- .pool
-_081B6B20:
- ldr r1, =gItemEffectTable
- subs r0, 0xD
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
-_081B6B2A:
- ldrb r1, [r0, 0x4]
- movs r0, 0x10
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _081B6B4C
- ldr r0, =gUnknown_0203CEC8
- strh r1, [r0, 0xE]
- adds r0, r4, 0
- bl ether_effect_related
- b _081B6B6E
- .pool
-_081B6B4C:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x16
- bl display_pokemon_menu_message
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x9]
- bl sub_81B6A10
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =ether_effect_related_3
- str r1, [r0]
-_081B6B6E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp05_ether
-
- thumb_func_start ether_effect_related_2
-ether_effect_related_2: @ 81B6B80
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xC
- bl sub_81B302C
- bl GetMenuCursorPos
- ldr r1, =gUnknown_0203CEC8
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0xE]
- adds r0, r4, 0
- bl ether_effect_related
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ether_effect_related_2
-
- thumb_func_start sub_81B6BB4
-sub_81B6BB4: @ 81B6BB4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =sub_81B1370
- str r0, [r1]
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- movs r1, 0
- str r1, [r0, 0x4]
- adds r0, 0xC
- bl sub_81B302C
- movs r0, 0x5
- bl display_pokemon_menu_message
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6BB4
-
- thumb_func_start ether_effect_related
-ether_effect_related: @ 81B6BEC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- ldr r7, =gUnknown_0203CED6
- ldr r0, =gSpecialVar_ItemId
- ldrh r5, [r0]
- movs r0, 0xE
- negs r0, r0
- adds r0, r7
- mov r8, r0
- ldrb r0, [r0, 0x9]
- ldrb r2, [r7]
- adds r1, r5, 0
- bl ExecuteTableBasedItemEffect__
- lsls r0, 24
- cmp r0, 0
- beq _081B6C34
- ldr r0, =gUnknown_0203CEE8
- strb r4, [r0]
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gText_WontHaveEffect
- b _081B6C7E
- .pool
-_081B6C34:
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0x1
- strb r0, [r1]
- mov r0, r8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- adds r4, r1, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- movs r0, 0x1
- bl PlaySE
- adds r0, r5, 0
- movs r1, 0x1
- bl RemoveBagItem
- movs r0, 0
- ldrsh r1, [r7, r0]
- adds r1, 0xD
- adds r0, r4, 0
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =gStringVar1
- movs r1, 0xD
- muls r1, r4
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- adds r0, r5, 0
- bl GetMedicineItemEffectMessage
- ldr r0, =gStringVar4
-_081B6C7E:
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6794
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ether_effect_related
-
- thumb_func_start dp05_pp_up
-dp05_pp_up: @ 81B6CC0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x17
- bl display_pokemon_menu_message
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x9]
- bl sub_81B6A10
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =ether_effect_related_3
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp05_pp_up
-
- thumb_func_start ItemIdToBattleMoveId
-ItemIdToBattleMoveId: @ 81B6CFC
- lsls r0, 16
- ldr r1, =0xfedf0000
- adds r0, r1
- ldr r1, =gUnknown_08616040
- lsrs r0, 15
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .pool
- thumb_func_end ItemIdToBattleMoveId
-
- thumb_func_start sub_81B6D14
-sub_81B6D14: @ 81B6D14
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0
- ldr r3, =gUnknown_08616040
-_081B6D1E:
- adds r0, r1, 0
- adds r0, 0x32
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, r2
- bne _081B6D34
- movs r0, 0x1
- b _081B6D40
- .pool
-_081B6D34:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x7
- bls _081B6D1E
- movs r0, 0
-_081B6D40:
- pop {r1}
- bx r1
- thumb_func_end sub_81B6D14
-
- thumb_func_start pokemon_has_move
-pokemon_has_move: @ 81B6D44
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- movs r4, 0
-_081B6D4E:
- adds r1, r4, 0
- adds r1, 0xD
- adds r0, r6, 0
- bl GetMonData
- cmp r0, r5
- bne _081B6D60
- movs r0, 0x1
- b _081B6D6C
-_081B6D60:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081B6D4E
- movs r0, 0
-_081B6D6C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end pokemon_has_move
-
- thumb_func_start sub_81B6D74
-sub_81B6D74: @ 81B6D74
- push {r4,lr}
- adds r1, r0, 0
- ldr r4, =gStringVar4
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6D74
-
- thumb_func_start sub_81B6D98
-sub_81B6D98: @ 81B6D98
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_81B6D74
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6794
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6D98
-
- thumb_func_start sub_81B6DC4
-sub_81B6DC4: @ 81B6DC4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0x5
- bl PlaySE
- ldr r7, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r7, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- movs r0, 0xE
- adds r0, r7
- mov r8, r0
- ldr r0, =gSpecialVar_ItemId
- ldrh r4, [r0]
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- adds r0, r4, 0
- bl ItemIdToBattleMoveId
- strh r0, [r7, 0xE]
- ldr r0, =gStringVar2
- movs r1, 0xE
- ldrsh r2, [r7, r1]
- movs r1, 0xD
- muls r1, r2
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- movs r0, 0
- mov r1, r8
- strh r0, [r1, 0x2]
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_81B22D8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B6E70
- cmp r0, 0x2
- beq _081B6E78
- ldrh r1, [r7, 0xE]
- adds r0, r5, 0
- bl GiveMoveToMon
- lsls r0, 16
- ldr r1, =0xffff0000
- cmp r0, r1
- beq _081B6E88
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B6EB4
- str r0, [r1]
- b _081B6E9C
- .pool
-_081B6E70:
- ldr r1, =gText_PkmnCantLearnMove
- b _081B6E7A
- .pool
-_081B6E78:
- ldr r1, =gText_PkmnAlreadyKnows
-_081B6E7A:
- adds r0, r6, 0
- bl sub_81B6D98
- b _081B6E9C
- .pool
-_081B6E88:
- ldr r0, =gText_PkmnNeedsToReplaceMove
- bl sub_81B6D74
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6FF4
- str r1, [r0]
-_081B6E9C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6DC4
-
- thumb_func_start sub_81B6EB4
-sub_81B6EB4: @ 81B6EB4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r2, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- adds r6, r2, 0
- adds r6, 0xE
- ldr r0, =gSpecialVar_ItemId
- ldrh r4, [r0]
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _081B6EF0
- adds r0, r5, 0
- movs r1, 0x4
- bl AdjustFriendship
- movs r0, 0xA9
- lsls r0, 1
- cmp r4, r0
- bhi _081B6EF0
- adds r0, r4, 0
- movs r1, 0x1
- bl RemoveBagItem
-_081B6EF0:
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- ldr r0, =gStringVar2
- movs r1, 0
- ldrsh r2, [r6, r1]
- movs r1, 0xD
- muls r1, r2
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnLearnedMove3
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6F60
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6EB4
-
- thumb_func_start sub_81B6F60
-sub_81B6F60: @ 81B6F60
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B6F86
- ldr r0, =0x0000016f
- bl PlayFanfare
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6F98
- str r1, [r0]
-_081B6F86:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6F60
-
- thumb_func_start sub_81B6F98
-sub_81B6F98: @ 81B6F98
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _081B6FEA
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _081B6FC0
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B6FEA
-_081B6FC0:
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x10
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bne _081B6FDC
- adds r0, r4, 0
- bl sub_81B77AC
- b _081B6FEA
- .pool
-_081B6FDC:
- cmp r0, 0x2
- bne _081B6FE4
- ldr r0, =gSpecialVar_Result
- strh r2, [r0]
-_081B6FE4:
- adds r0, r5, 0
- bl sub_81B12C0
-_081B6FEA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6F98
-
- thumb_func_start sub_81B6FF4
-sub_81B6FF4: @ 81B6FF4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B7018
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B7028
- str r0, [r1]
-_081B7018:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6FF4
-
- thumb_func_start sub_81B7028
-sub_81B7028: @ 81B7028
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B704E
- cmp r1, 0
- bgt _081B7048
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B7074
- b _081B7080
-_081B7048:
- cmp r1, 0x1
- beq _081B707A
- b _081B7080
-_081B704E:
- ldr r0, =gText_WhichMoveToForget
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B7088
- str r1, [r0]
- b _081B7080
- .pool
-_081B7074:
- movs r0, 0x5
- bl PlaySE
-_081B707A:
- adds r0, r4, 0
- bl sub_81B7230
-_081B7080:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B7028
-
- thumb_func_start sub_81B7088
-sub_81B7088: @ 81B7088
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B70A8
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- ldr r0, =sub_81B70B8
- str r0, [r1, 0x4]
- adds r0, r4, 0
- bl sub_81B12C0
-_081B70A8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7088
-
- thumb_func_start sub_81B70B8
-sub_81B70B8: @ 81B70B8
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gPlayerParty
- ldr r4, =gUnknown_0203CEC8
- ldrb r1, [r4, 0x9]
- ldr r2, =gPlayerPartyCount
- ldrb r2, [r2]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldr r3, =sub_81B70F0
- ldrh r4, [r4, 0xE]
- str r4, [sp]
- bl ShowSelectMovePokemonSummaryScreen
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B70B8
-
- thumb_func_start sub_81B70F0
-sub_81B70F0: @ 81B70F0
- push {lr}
- sub sp, 0xC
- movs r0, 0x7F
- str r0, [sp]
- ldr r0, =sub_81B711C
- str r0, [sp, 0x4]
- ldr r0, =gUnknown_0203CEC8
- ldr r0, [r0]
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B70F0
-
- thumb_func_start sub_81B711C
-sub_81B711C: @ 81B711C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B714E
- bl sub_81C1B94
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- beq _081B7148
- adds r0, r4, 0
- bl sub_81B7154
- b _081B714E
- .pool
-_081B7148:
- adds r0, r5, 0
- bl sub_81B7230
-_081B714E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81B711C
-
- thumb_func_start sub_81B7154
-sub_81B7154: @ 81B7154
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- adds r5, r1, 0
- muls r5, r0
- ldr r0, =gPlayerParty
- adds r5, r0
- bl sub_81C1B94
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r1, 0xD
- adds r0, r5, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- ldr r0, =gStringVar2
- movs r1, 0xD
- muls r1, r4
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r0, =gText_12PoofForgotMove
- bl sub_81B6D74
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B71D4
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7154
-
- thumb_func_start sub_81B71D4
-sub_81B71D4: @ 81B71D4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B7220
- ldr r5, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r5, r1]
- movs r0, 0x64
- adds r4, r1, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- bl sub_81C1B94
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl RemoveMonPPBonus
- ldrh r5, [r5, 0xE]
- bl sub_81C1B94
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl SetMonMoveSlot
- adds r0, r6, 0
- bl sub_81B6EB4
-_081B7220:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B71D4
-
- thumb_func_start sub_81B7230
-sub_81B7230: @ 81B7230
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gStringVar2
- ldr r1, =gUnknown_0203CEC8
- movs r3, 0xE
- ldrsh r2, [r1, r3]
- movs r1, 0xD
- muls r1, r2
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r4, =gStringVar4
- ldr r1, =gText_StopLearningMove2
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B7294
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7230
-
- thumb_func_start sub_81B7294
-sub_81B7294: @ 81B7294
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B72B8
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B72C8
- str r0, [r1]
-_081B72B8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7294
-
- thumb_func_start sub_81B72C8
-sub_81B72C8: @ 81B72C8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r7, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r7, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r5, r0, 24
- cmp r5, 0
- beq _081B7306
- cmp r5, 0
- bgt _081B7300
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- beq _081B738C
- b _081B73C2
- .pool
-_081B7300:
- cmp r5, 0x1
- beq _081B7392
- b _081B73C2
-_081B7306:
- ldr r1, =gStringVar1
- adds r0, r4, 0
- bl GetMonNickname
- ldr r0, =gStringVar2
- movs r1, 0xE
- ldrsh r2, [r7, r1]
- movs r1, 0xD
- muls r1, r2
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r4, =gStringVar4
- ldr r1, =gText_MoveNotLearned
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- movs r3, 0x10
- ldrsh r0, [r7, r3]
- cmp r0, 0x1
- bne _081B7368
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B73E4
- str r0, [r1]
- b _081B73C2
- .pool
-_081B7368:
- cmp r0, 0x2
- bne _081B7370
- ldr r0, =gSpecialVar_Result
- strh r5, [r0]
-_081B7370:
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B6794
- str r0, [r1]
- b _081B73C2
- .pool
-_081B738C:
- movs r0, 0x5
- bl PlaySE
-_081B7392:
- ldr r1, =gStringVar1
- adds r0, r4, 0
- bl GetMonNickname
- ldr r0, =gStringVar2
- ldr r1, =gUnknown_0203CEC8
- movs r3, 0xE
- ldrsh r2, [r1, r3]
- movs r1, 0xD
- muls r1, r2
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r0, =gText_PkmnNeedsToReplaceMove
- bl sub_81B6D74
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6FF4
- str r1, [r0]
-_081B73C2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B72C8
-
- thumb_func_start sub_81B73E4
-sub_81B73E4: @ 81B73E4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B73FC
- adds r0, r4, 0
- bl sub_81B77AC
-_081B73FC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B73E4
-
- thumb_func_start dp05_rare_candy
-dp05_rare_candy: @ 81B7404
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r1
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_0203CEC8
- mov r9, r0
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- ldr r0, =gUnknown_0203CEC4
- ldr r6, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r4, r6, r1
- ldr r2, =gSpecialVar_ItemId
- mov r8, r2
- adds r0, r5, 0
- movs r1, 0x38
- bl GetMonData
- cmp r0, 0x64
- beq _081B7478
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81B79A0
- mov r1, r9
- ldrb r0, [r1, 0x9]
- mov r2, r8
- ldrh r1, [r2]
- movs r2, 0
- bl ExecuteTableBasedItemEffect__
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x89
- lsls r0, 2
- adds r1, r6, r0
- adds r0, r5, 0
- bl sub_81B79A0
- b _081B747A
- .pool
-_081B7478:
- movs r4, 0x1
-_081B747A:
- movs r0, 0x5
- bl PlaySE
- cmp r4, 0
- beq _081B74B4
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0
- strb r0, [r1]
- ldr r0, =gText_WontHaveEffect
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- mov r1, r10
- b _081B7516
- .pool
-_081B74B4:
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0
- bl PlayFanfareByFanfareNum
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x9]
- adds r1, r5, 0
- bl sub_81B754C
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- movs r1, 0x1
- bl RemoveBagItem
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- ldr r4, =gStringVar2
- adds r0, r5, 0
- movs r1, 0x38
- bl GetMonData
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnElevatedToLvVar2
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B75D4
-_081B7516:
- str r1, [r0]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp05_rare_candy
-
- thumb_func_start sub_81B754C
-sub_81B754C: @ 81B754C
- push {r4-r7,lr}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r0, 24
- adds r7, r0, 0
- ldr r6, =gUnknown_0203CEDC
- lsls r4, r7, 4
- ldr r1, [r6]
- adds r1, r4
- adds r0, r5, 0
- bl party_menu_get_status_condition_and_update_object
- ldr r2, =gSprites
- ldr r0, [r6]
- adds r3, r4, r0
- ldrb r1, [r3, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _081B7588
- adds r0, r5, 0
- adds r1, r3, 0
- movs r2, 0x1
- bl sub_81B2AC8
-_081B7588:
- ldr r1, [r6]
- adds r1, r4
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_81B2CD4
- ldr r1, [r6]
- adds r1, r4
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_81B2D74
- ldr r1, [r6]
- adds r1, r4
- adds r0, r5, 0
- bl sub_81B2E28
- ldr r0, [r6]
- adds r0, r4, r0
- ldrb r0, [r0, 0x9]
- adds r1, r5, 0
- bl sub_81B5B38
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_81B0FCC
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B754C
-
- thumb_func_start sub_81B75D4
-sub_81B75D4: @ 81B75D4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- bl WaitFanfare
- lsls r0, 24
- cmp r0, 0
- beq _081B7620
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B7620
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081B7606
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B7620
-_081B7606:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_81B767C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B7634
- str r0, [r1]
-_081B7620:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B75D4
-
- thumb_func_start sub_81B7634
-sub_81B7634: @ 81B7634
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081B764E
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B7668
-_081B764E:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_81B76C8
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B7704
- str r0, [r1]
-_081B7668:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7634
-
- thumb_func_start sub_81B767C
-sub_81B767C: @ 81B767C
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, =gUnknown_0203CEC4
- ldr r5, [r0]
- movs r0, 0x86
- lsls r0, 2
- adds r4, r5, r0
- bl sub_81B3364
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x18]
- ldrh r0, [r4, 0x18]
- movs r1, 0x89
- lsls r1, 2
- adds r2, r5, r1
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0x3
- str r1, [sp, 0x4]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_81D3640
- ldrb r0, [r4, 0x18]
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B767C
-
- thumb_func_start sub_81B76C8
-sub_81B76C8: @ 81B76C8
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- movs r0, 0x86
- lsls r0, 2
- adds r4, r1, r0
- ldrh r0, [r4, 0x18]
- movs r2, 0x89
- lsls r2, 2
- adds r1, r2
- movs r2, 0x3
- str r2, [sp]
- movs r2, 0x1
- movs r3, 0x2
- bl sub_81D3784
- ldrb r0, [r4, 0x18]
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B76C8
-
- thumb_func_start sub_81B7704
-sub_81B7704: @ 81B7704
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0
- bl WaitFanfare
- lsls r0, 24
- cmp r0, 0
- beq _081B77A6
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r6, 0x1
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _081B772C
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B77A6
-_081B772C:
- bl sub_81B3394
- ldr r4, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r4, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1
- bl MonTryLearningNewMove
- lsls r0, 16
- lsrs r1, r0, 16
- strh r6, [r4, 0x10]
- ldr r0, =0x0000fffe
- cmp r1, r0
- beq _081B7788
- cmp r1, r0
- bgt _081B776C
- cmp r1, 0
- beq _081B7778
- b _081B77A0
- .pool
-_081B776C:
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _081B7780
- b _081B77A0
- .pool
-_081B7778:
- adds r0, r5, 0
- bl sub_81B7810
- b _081B77A6
-_081B7780:
- adds r0, r5, 0
- bl sub_81B787C
- b _081B77A6
-_081B7788:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B77AC
- str r0, [r1]
- b _081B77A6
- .pool
-_081B77A0:
- adds r0, r5, 0
- bl sub_81B7910
-_081B77A6:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81B7704
-
- thumb_func_start sub_81B77AC
-sub_81B77AC: @ 81B77AC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0
- bl MonTryLearningNewMove
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =0x0000fffe
- cmp r1, r0
- beq _081B780A
- cmp r1, r0
- bgt _081B77E8
- cmp r1, 0
- beq _081B77F4
- b _081B7804
- .pool
-_081B77E8:
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _081B77FC
- b _081B7804
- .pool
-_081B77F4:
- adds r0, r4, 0
- bl sub_81B7810
- b _081B780A
-_081B77FC:
- adds r0, r4, 0
- bl sub_81B787C
- b _081B780A
-_081B7804:
- adds r0, r4, 0
- bl sub_81B7910
-_081B780A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B77AC
-
- thumb_func_start sub_81B7810
-sub_81B7810: @ 81B7810
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r6, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r6, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r7, r1, r0
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _081B7860
- bl sub_81B06F4
- ldr r0, =gCB2_AfterEvolution
- ldr r1, [r6]
- str r1, [r0]
- ldrb r3, [r6, 0x9]
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl BeginEvolutionScene
- adds r0, r5, 0
- bl DestroyTask
- b _081B786E
- .pool
-_081B7860:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B6794
- str r0, [r1]
-_081B786E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7810
-
- thumb_func_start sub_81B787C
-sub_81B787C: @ 81B787C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_0203CEC8
- mov r8, r0
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r0, =gStringVar2
- ldr r6, =gMoveToLearn
- ldrh r2, [r6]
- movs r1, 0xD
- muls r1, r2
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnNeedsToReplaceMove
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldrh r0, [r6]
- mov r1, r8
- strh r0, [r1, 0xE]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6FF4
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B787C
-
- thumb_func_start sub_81B7910
-sub_81B7910: @ 81B7910
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r6, r0, 0
- adds r5, r1, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r5, 16
- lsrs r5, 16
- ldr r0, =gUnknown_0203CEC8
- mov r8, r0
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r0, =gStringVar2
- movs r1, 0xD
- muls r1, r5
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnLearnedMove3
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- mov r0, r8
- strh r5, [r0, 0xE]
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6F60
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7910
-
- thumb_func_start sub_81B79A0
-sub_81B79A0: @ 81B79A0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r1, 0x3A
- bl GetMonData
- strh r0, [r5]
- adds r0, r4, 0
- movs r1, 0x3B
- bl GetMonData
- strh r0, [r5, 0x2]
- adds r0, r4, 0
- movs r1, 0x3C
- bl GetMonData
- strh r0, [r5, 0x4]
- adds r0, r4, 0
- movs r1, 0x3E
- bl GetMonData
- strh r0, [r5, 0x8]
- adds r0, r4, 0
- movs r1, 0x3F
- bl GetMonData
- strh r0, [r5, 0xA]
- adds r0, r4, 0
- movs r1, 0x3D
- bl GetMonData
- strh r0, [r5, 0x6]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81B79A0
-
- thumb_func_start sub_81B79E8
-sub_81B79E8: @ 81B79E8
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203CEC4
- ldr r2, [r1]
- movs r3, 0x86
- lsls r3, 2
- adds r1, r2, r3
- movs r3, 0
- strh r3, [r1]
- ldr r4, =0x0000021a
- adds r1, r2, r4
- strh r3, [r1]
- ldr r1, =gUnknown_0203CEC8
- ldrb r1, [r1, 0x9]
- lsls r1, 24
- asrs r1, 24
- movs r3, 0x87
- lsls r3, 2
- adds r2, r3
- strh r1, [r2]
- bl sub_81B7A28
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B79E8
-
- thumb_func_start sub_81B7A28
-sub_81B7A28: @ 81B7A28
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- mov r8, r4
- ldr r6, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r6, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B7A6E
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- ldrb r0, [r6, 0x9]
- ldr r1, =gSpecialVar_ItemId
- ldrh r1, [r1]
- movs r2, 0
- bl ExecuteTableBasedItemEffect__
- lsls r0, 24
- cmp r0, 0
- beq _081B7A94
-_081B7A6E:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =task_intro_gamefreak
- str r0, [r1]
- b _081B7B2A
- .pool
-_081B7A94:
- movs r0, 0x1
- bl PlaySE
- ldr r4, =gUnknown_0203CEDC
- movs r0, 0x9
- ldrsb r0, [r6, r0]
- lsls r0, 4
- ldr r1, [r4]
- adds r1, r0
- adds r0, r5, 0
- bl party_menu_get_status_condition_and_update_object
- ldr r2, =gSprites
- movs r0, 0x9
- ldrsb r0, [r6, r0]
- ldr r1, [r4]
- lsls r0, 4
- adds r3, r0, r1
- ldrb r1, [r3, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _081B7AD6
- adds r0, r5, 0
- adds r1, r3, 0
- movs r2, 0x1
- bl sub_81B2AC8
-_081B7AD6:
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- movs r1, 0x87
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_81B0FCC
- ldrb r0, [r6, 0x9]
- movs r1, 0x1
- bl sub_81B0FCC
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- adds r3, r0, 0
- subs r3, r7
- lsls r3, 16
- asrs r3, 16
- ldrb r1, [r6, 0x9]
- ldr r0, =sub_81B7C10
- str r0, [sp]
- mov r0, r8
- movs r2, 0x1
- bl sub_81B1F18
- mov r0, r8
- movs r1, 0
- adds r2, r7, 0
- bl sub_81B1FA8
- ldr r0, [r4]
- movs r2, 0x86
- lsls r2, 2
- adds r1, r0, r2
- movs r2, 0x1
- strh r2, [r1]
- ldr r1, =0x0000021a
- adds r0, r1
- strh r2, [r0]
-_081B7B2A:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7A28
-
- thumb_func_start task_intro_gamefreak
-task_intro_gamefreak: @ 81B7B4C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B7C0A
- ldr r5, =gUnknown_0203CEC4
- ldr r2, [r5]
- movs r0, 0x86
- lsls r0, 2
- adds r1, r2, r0
- movs r3, 0
- ldrsh r0, [r1, r3]
- ldr r3, =gUnknown_0203CEC8
- cmp r0, 0x1
- bne _081B7B82
- movs r0, 0
- strh r0, [r1]
- movs r1, 0x9
- ldrsb r1, [r3, r1]
- movs r6, 0x87
- lsls r6, 2
- adds r0, r2, r6
- strh r1, [r0]
-_081B7B82:
- ldrb r0, [r3, 0x9]
- adds r0, 0x1
- strb r0, [r3, 0x9]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x6
- bne _081B7C04
- ldr r0, [r5]
- ldr r1, =0x0000021a
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- cmp r1, 0
- bne _081B7BC8
- ldr r0, =gUnknown_0203CEE8
- strb r1, [r0]
- ldr r0, =gText_WontHaveEffect
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- b _081B7BD8
- .pool
-_081B7BC8:
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- movs r1, 0x1
- bl RemoveBagItem
-_081B7BD8:
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6794
- str r1, [r0]
- ldr r1, =gUnknown_0203CEC8
- movs r0, 0
- strb r0, [r1, 0x9]
- b _081B7C0A
- .pool
-_081B7C04:
- adds r0, r4, 0
- bl sub_81B7A28
-_081B7C0A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end task_intro_gamefreak
-
- thumb_func_start sub_81B7C10
-sub_81B7C10: @ 81B7C10
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnHPRestoredByVar2
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_intro_gamefreak
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7C10
-
- thumb_func_start sub_81B7C74
-sub_81B7C74: @ 81B7C74
- push {r4-r6,lr}
- adds r6, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gCB2_AfterEvolution
- ldr r1, =gUnknown_0203CEC8
- ldr r0, [r1]
- str r0, [r2]
- ldrb r0, [r1, 0x9]
- ldr r4, =gSpecialVar_ItemId
- ldrh r1, [r4]
- movs r2, 0
- bl ExecuteTableBasedItemEffect__
- lsls r0, 24
- cmp r0, 0
- beq _081B7CD8
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0
- strb r0, [r1]
- ldr r0, =gText_WontHaveEffect
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- str r6, [r0]
- b _081B7CE4
- .pool
-_081B7CD8:
- ldrh r0, [r4]
- movs r1, 0x1
- bl RemoveBagItem
- bl sub_81B06F4
-_081B7CE4:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81B7C74
-
- thumb_func_start GetItemEffectType
-@ u8 GetItemEffectType(u16 itemId)
-GetItemEffectType: @ 81B7CEC
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r1, 0
- subs r2, 0xD
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r0, 0xA5
- bls _081B7D00
- b _081B7E40
-_081B7D00:
- cmp r1, 0xAF
- bne _081B7D18
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003214
- adds r4, r0, r1
- b _081B7D20
- .pool
-_081B7D18:
- ldr r1, =gItemEffectTable
- lsls r0, r2, 2
- adds r0, r1
- ldr r4, [r0]
-_081B7D20:
- ldrb r1, [r4]
- movs r5, 0x3F
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _081B7D42
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- bne _081B7D42
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _081B7D42
- ldrb r3, [r4, 0x3]
- movs r0, 0x80
- ands r0, r3
- cmp r0, 0
- beq _081B7D4C
-_081B7D42:
- movs r0, 0
- b _081B7E46
- .pool
-_081B7D4C:
- movs r2, 0x40
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _081B7D5A
- movs r0, 0xA
- b _081B7E46
-_081B7D5A:
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- beq _081B7D66
- movs r0, 0x1
- b _081B7E46
-_081B7D66:
- adds r2, r5, 0
- ands r2, r3
- cmp r2, 0
- bne _081B7D74
- lsrs r0, r1, 7
- cmp r0, 0
- beq _081B7DB6
-_081B7D74:
- cmp r2, 0x20
- bne _081B7D7C
- movs r0, 0x4
- b _081B7E46
-_081B7D7C:
- cmp r2, 0x10
- bne _081B7D84
- movs r0, 0x3
- b _081B7E46
-_081B7D84:
- cmp r2, 0x8
- bne _081B7D8C
- movs r0, 0x5
- b _081B7E46
-_081B7D8C:
- cmp r2, 0x4
- bne _081B7D94
- movs r0, 0x6
- b _081B7E46
-_081B7D94:
- cmp r2, 0x2
- bne _081B7D9C
- movs r0, 0x7
- b _081B7E46
-_081B7D9C:
- cmp r2, 0x1
- bne _081B7DA4
- movs r0, 0x8
- b _081B7E46
-_081B7DA4:
- lsrs r0, r1, 7
- cmp r0, 0
- beq _081B7DB2
- cmp r2, 0
- bne _081B7DB2
- movs r0, 0x9
- b _081B7E46
-_081B7DB2:
- movs r0, 0xB
- b _081B7E46
-_081B7DB6:
- ldrb r1, [r4, 0x4]
- movs r0, 0x44
- ands r0, r1
- adds r2, r1, 0
- cmp r0, 0
- beq _081B7DC6
- movs r0, 0x2
- b _081B7E46
-_081B7DC6:
- movs r5, 0x2
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _081B7DD4
- movs r0, 0xC
- b _081B7E46
-_081B7DD4:
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r2
- cmp r0, 0
- beq _081B7DE2
- movs r0, 0xD
- b _081B7E46
-_081B7DE2:
- ldrb r1, [r4, 0x5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _081B7DF0
- movs r0, 0xE
- b _081B7E46
-_081B7DF0:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _081B7DFC
- movs r0, 0xF
- b _081B7E46
-_081B7DFC:
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _081B7E08
- movs r0, 0x10
- b _081B7E46
-_081B7E08:
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _081B7E14
- movs r0, 0x11
- b _081B7E46
-_081B7E14:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _081B7E20
- movs r0, 0x12
- b _081B7E46
-_081B7E20:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _081B7E2C
- movs r0, 0x13
- b _081B7E46
-_081B7E2C:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _081B7E38
- movs r0, 0x14
- b _081B7E46
-_081B7E38:
- movs r0, 0x18
- ands r0, r2
- cmp r0, 0
- bne _081B7E44
-_081B7E40:
- movs r0, 0x16
- b _081B7E46
-_081B7E44:
- movs r0, 0x15
-_081B7E46:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GetItemEffectType
-
- thumb_func_start sub_81B7E4C
-sub_81B7E4C: @ 81B7E4C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B7F1C
- ldr r7, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r7, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- movs r0, 0xE
- adds r0, r7
- mov r8, r0
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- ldr r4, =gSpecialVar_0x8005
- ldrb r0, [r4]
- bl sub_81B2360
- strh r0, [r7, 0xE]
- ldr r0, =gStringVar2
- movs r1, 0xE
- ldrsh r2, [r7, r1]
- movs r1, 0xD
- muls r1, r2
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- movs r0, 0x2
- mov r1, r8
- strh r0, [r1, 0x2]
- ldrb r2, [r4]
- adds r0, r5, 0
- movs r1, 0
- bl sub_81B22D8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B7EF0
- cmp r0, 0x2
- beq _081B7EF8
- ldrh r1, [r7, 0xE]
- adds r0, r5, 0
- bl GiveMoveToMon
- lsls r0, 16
- ldr r1, =0xffff0000
- cmp r0, r1
- beq _081B7F08
- adds r0, r6, 0
- bl sub_81B6EB4
- b _081B7F1C
- .pool
-_081B7EF0:
- ldr r1, =gText_PkmnCantLearnMove
- b _081B7EFA
- .pool
-_081B7EF8:
- ldr r1, =gText_PkmnAlreadyKnows
-_081B7EFA:
- adds r0, r6, 0
- bl sub_81B6D98
- b _081B7F1C
- .pool
-_081B7F08:
- ldr r0, =gText_PkmnNeedsToReplaceMove
- bl sub_81B6D74
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6FF4
- str r1, [r0]
-_081B7F1C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7E4C
-
- thumb_func_start CB2_PartyMenuFromStartMenu
-CB2_PartyMenuFromStartMenu: @ 81B7F34
- push {lr}
- sub sp, 0xC
- movs r0, 0
- str r0, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =CB2_ReturnToFieldWithOpenMenu
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end CB2_PartyMenuFromStartMenu
-
- thumb_func_start sub_81B7F60
-sub_81B7F60: @ 81B7F60
- push {lr}
- sub sp, 0xC
- bl InBattlePyramid
- lsls r0, 24
- ldr r1, =sub_81C4F84
- cmp r0, 0
- bne _081B7F72
- ldr r1, =c2_815ABFC
-_081B7F72:
- movs r0, 0x6
- str r0, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0x5
- movs r3, 0
- bl sub_81B0038
- ldr r1, =gUnknown_0203CEC8
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- strh r0, [r1, 0xC]
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7F60
-
- thumb_func_start sub_81B7FAC
-sub_81B7FAC: @ 81B7FAC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- ldr r5, =gUnknown_0203CEFC
- ldr r0, =gUnknown_0203CEC8
- mov r9, r0
- ldrb r0, [r0, 0x9]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x64
- mov r8, r1
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r7, =gPlayerParty
- adds r0, r7
- movs r1, 0xC
- bl GetMonData
- strh r0, [r5]
- lsls r0, 16
- cmp r0, 0
- bne _081B7FF8
- adds r0, r4, 0
- bl sub_81B8044
- b _081B8030
- .pool
-_081B7FF8:
- ldrh r0, [r5]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _081B800C
- adds r0, r4, 0
- bl sub_81B83B8
- b _081B8030
-_081B800C:
- mov r1, r9
- movs r0, 0x9
- ldrsb r0, [r1, r0]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r7
- ldrh r1, [r5]
- movs r2, 0x1
- bl sub_81B1D1C
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B82A0
- str r1, [r0]
-_081B8030:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7FAC
-
- thumb_func_start sub_81B8044
-sub_81B8044: @ 81B8044
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, =gUnknown_0203CEC8
- ldrh r0, [r5, 0xC]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _081B807C
- ldrh r0, [r5, 0xC]
- bl sub_81B83F0
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- ldr r0, =sub_81B814C
- str r0, [r1, 0x4]
- adds r0, r4, 0
- bl sub_81B12C0
- b _081B8082
- .pool
-_081B807C:
- adds r0, r4, 0
- bl sub_81B8088
-_081B8082:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81B8044
-
- thumb_func_start sub_81B8088
-sub_81B8088: @ 81B8088
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B80E4
- ldr r4, =gUnknown_0203CEC8
- ldrh r5, [r4, 0xC]
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- movs r1, 0x64
- mov r8, r1
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r6, =gPlayerParty
- adds r0, r6
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_81B1C84
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r6
- adds r1, r5, 0
- bl sub_81B1DB8
- adds r0, r5, 0
- bl sub_81B83F0
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B8104
- str r1, [r0]
-_081B80E4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8088
-
- thumb_func_start sub_81B8104
-sub_81B8104: @ 81B8104
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gUnknown_0203CEC8
- ldrb r4, [r0, 0x9]
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B8138
- lsls r2, r4, 24
- asrs r2, 24
- movs r0, 0x64
- muls r0, r2
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gUnknown_0203CEDC
- lsls r2, 4
- ldr r1, [r1]
- adds r1, r2
- bl sub_81B5C94
- adds r0, r5, 0
- bl sub_81B12C0
-_081B8138:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8104
-
- thumb_func_start sub_81B814C
-sub_81B814C: @ 81B814C
- push {r4-r6,lr}
- ldr r4, =gUnknown_0203CEC8
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- ldrh r1, [r4, 0xC]
- bl sub_81B1DB8
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- muls r0, r6
- adds r0, r5
- movs r1, 0x40
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSaveBlock1Ptr
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 2
- ldr r0, =0x00002be0
- adds r2, r0
- ldr r1, [r1]
- adds r1, r2
- ldr r2, =sub_81B81A8
- movs r0, 0x4
- movs r3, 0x3
- bl sub_811A20C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B814C
-
- thumb_func_start sub_81B81A8
-sub_81B81A8: @ 81B81A8
- push {r4-r7,lr}
- sub sp, 0xC
- ldr r6, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r6, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0
- bne _081B8208
- adds r0, r5, 0
- bl TakeMailFromMon
- ldr r4, =gUnknown_0203CEFC
- adds r0, r5, 0
- movs r1, 0xC
- adds r2, r4, 0
- bl SetMonData
- ldrh r0, [r4]
- movs r1, 0x1
- bl RemoveBagItem
- adds r0, r7, 0
- bl sub_81B841C
- ldr r0, [r6]
- bl SetMainCallback2
- b _081B8224
- .pool
-_081B8208:
- ldrb r0, [r6, 0x8]
- lsls r0, 28
- lsrs r0, 28
- ldrb r2, [r6, 0xB]
- movs r1, 0x7F
- str r1, [sp]
- ldr r1, =sub_81B8230
- str r1, [sp, 0x4]
- ldr r1, [r6]
- str r1, [sp, 0x8]
- movs r1, 0xFF
- movs r3, 0x1
- bl sub_81B0038
-_081B8224:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B81A8
-
- thumb_func_start sub_81B8230
-sub_81B8230: @ 81B8230
- 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 _081B828A
- ldr r1, =gUnknown_0203CEFC
- ldrh r0, [r1]
- cmp r0, 0
- beq _081B8264
- ldr r0, =gUnknown_0203CEC8
- ldrh r0, [r0, 0xC]
- ldrh r1, [r1]
- movs r2, 0
- bl sub_81B1D68
- b _081B827C
- .pool
-_081B8264:
- ldr r2, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r2, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldrh r1, [r2, 0xC]
- movs r2, 0
- movs r3, 0x1
- bl sub_81B1C84
-_081B827C:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B8104
- str r0, [r1]
-_081B828A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8230
-
- thumb_func_start sub_81B82A0
-sub_81B82A0: @ 81B82A0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B82C4
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B82D4
- str r0, [r1]
-_081B82C4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B82A0
-
- thumb_func_start sub_81B82D4
-sub_81B82D4: @ 81B82D4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B82FA
- cmp r1, 0
- bgt _081B82F4
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B8394
- b _081B83A8
-_081B82F4:
- cmp r1, 0x1
- beq _081B839A
- b _081B83A8
-_081B82FA:
- ldr r7, =gUnknown_0203CEC8
- ldrh r4, [r7, 0xC]
- adds r0, r4, 0
- bl sub_81B83F0
- ldr r6, =gUnknown_0203CEFC
- ldrh r0, [r6]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- bne _081B8338
- adds r0, r4, 0
- bl sub_81B841C
- ldrh r0, [r6]
- bl pokemon_item_not_removed
- ldr r0, =gStringVar4
- movs r1, 0
- bl sub_81B1B5C
- b _081B8378
- .pool
-_081B8338:
- adds r0, r4, 0
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _081B835C
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- ldr r0, =sub_81B814C
- str r0, [r1, 0x4]
- adds r0, r5, 0
- bl sub_81B12C0
- b _081B83A8
- .pool
-_081B835C:
- movs r1, 0x9
- ldrsb r1, [r7, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r4, 0
- bl sub_81B1DB8
- ldrh r1, [r6]
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_81B1D68
-_081B8378:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B8104
- str r1, [r0]
- b _081B83A8
- .pool
-_081B8394:
- movs r0, 0x5
- bl PlaySE
-_081B839A:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B8104
- str r0, [r1]
-_081B83A8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B82D4
-
- thumb_func_start sub_81B83B8
-sub_81B83B8: @ 81B83B8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gText_RemoveMailBeforeItem
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B8104
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B83B8
-
- thumb_func_start sub_81B83F0
-sub_81B83F0: @ 81B83F0
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xB]
- cmp r0, 0x6
- bne _081B8410
- lsls r0, r1, 24
- lsrs r0, 24
- movs r1, 0x1
- bl RemovePCItem
- b _081B8418
- .pool
-_081B8410:
- adds r0, r1, 0
- movs r1, 0x1
- bl RemoveBagItem
-_081B8418:
- pop {r0}
- bx r0
- thumb_func_end sub_81B83F0
-
- thumb_func_start sub_81B841C
-sub_81B841C: @ 81B841C
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xB]
- cmp r0, 0x5
- beq _081B8438
- adds r0, r1, 0
- movs r1, 0x1
- bl AddPCItem
- b _081B8440
- .pool
-_081B8438:
- adds r0, r1, 0
- movs r1, 0x1
- bl AddBagItem
-_081B8440:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_81B841C
-
- thumb_func_start sub_81B8448
-sub_81B8448: @ 81B8448
- push {lr}
- sub sp, 0xC
- movs r0, 0x6
- str r0, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =Mailbox_ReturnToMailListAfterDeposit
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0x7
- movs r3, 0
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8448
-
- thumb_func_start sub_81B8474
-sub_81B8474: @ 81B8474
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0
- strb r0, [r1]
- ldr r2, =gSaveBlock1Ptr
- ldr r0, =playerPCItemPageInfo
- ldrh r1, [r0]
- adds r1, 0x6
- ldrh r0, [r0, 0x2]
- adds r1, r0
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =0x00002be0
- adds r0, r1
- ldr r1, [r2]
- adds r4, r1, r0
- adds r0, r5, 0
- movs r1, 0xC
- bl GetMonData
- cmp r0, 0
- beq _081B84DC
- ldr r0, =gText_PkmnHoldingItemCantHoldMail
- movs r1, 0x1
- bl sub_81B1B5C
- b _081B84F2
- .pool
-_081B84DC:
- adds r0, r5, 0
- adds r1, r4, 0
- bl GiveMailToMon2
- adds r0, r4, 0
- bl ClearMailStruct
- ldr r0, =gText_MailTransferredFromMailbox
- movs r1, 0x1
- bl sub_81B1B5C
-_081B84F2:
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B8104
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8474
-
- thumb_func_start sub_81B8518
-sub_81B8518: @ 81B8518
- push {lr}
- sub sp, 0xC
- bl sub_81B8558
- movs r0, 0
- str r0, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
- str r0, [sp, 0x8]
- movs r0, 0x4
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_81B0038
- ldr r1, =gUnknown_0203CEC8
- ldr r0, =sub_81B879C
- str r0, [r1, 0x4]
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8518
-
- thumb_func_start sub_81B8558
-sub_81B8558: @ 81B8558
- push {lr}
- ldr r0, =gSelectedOrderFromParty
- movs r1, 0
- movs r2, 0x4
- bl memset
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8558
-
- thumb_func_start sub_81B856C
-sub_81B856C: @ 81B856C
- push {r4,lr}
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- bl sub_81B85AC
- lsls r0, 24
- cmp r0, 0
- bne _081B858C
- movs r0, 0x2
- b _081B85A4
- .pool
-_081B858C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r0, 24
- bl sub_81B8770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B85A2
- movs r0, 0
- b _081B85A4
-_081B85A2:
- movs r0, 0x1
-_081B85A4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B856C
-
- thumb_func_start sub_81B85AC
-sub_81B85AC: @ 81B85AC
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r6, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _081B8608
- adds r0, r5, 0
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- bl sub_81B8888
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bhi _081B8608
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, =0x0000191a
- cmp r1, r0
- bne _081B85EA
- adds r0, r5, 0
- movs r1, 0xC
- bl GetMonData
- cmp r0, 0
- bne _081B8608
-_081B85EA:
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x8
- beq _081B864A
- cmp r0, 0x9
- bne _081B8618
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _081B864A
-_081B8608:
- movs r0, 0
- b _081B864C
- .pool
-_081B8618:
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r3, =gFrontierBannedSpecies
- lsls r1, r6, 1
- adds r0, r1, r3
- ldrh r0, [r0]
- ldr r2, =0x0000ffff
- cmp r0, r2
- beq _081B864A
-_081B8632:
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, r4
- beq _081B8608
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, r6, 1
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, r2
- bne _081B8632
-_081B864A:
- movs r0, 0x1
-_081B864C:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B85AC
-
- thumb_func_start sub_81B865C
-sub_81B865C: @ 81B865C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- bl sub_81B885C
- lsls r0, 24
- lsrs r2, r0, 24
- adds r1, r2, 0
- ldr r3, =gSelectedOrderFromParty
- adds r0, r2, r3
- subs r0, 0x1
- ldrb r0, [r0]
- cmp r0, 0
- bne _081B869C
- cmp r2, 0x1
- bne _081B8688
- movs r0, 0xE
- b _081B8758
- .pool
-_081B8688:
- ldr r0, =gStringVar1
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- movs r0, 0x11
- b _081B8758
- .pool
-_081B869C:
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 24
- movs r1, 0xF8
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x1
- bhi _081B86C0
- b _081B8756
- .pool
-_081B86B8:
- movs r0, 0x12
- b _081B8758
-_081B86BC:
- movs r0, 0x13
- b _081B8758
-_081B86C0:
- bl sub_81B8830
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0
- b _081B8750
-_081B86CE:
- ldr r3, =gSelectedOrderFromParty
- adds r4, r3, r5
- ldrb r0, [r4]
- movs r1, 0x64
- muls r0, r1
- subs r0, 0x64
- ldr r3, =gPlayerParty
- adds r0, r3, r0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- ldrb r0, [r4]
- movs r1, 0x64
- muls r0, r1
- subs r0, 0x64
- ldr r3, =gPlayerParty
- adds r0, r3, r0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- adds r1, r5, 0x1
- lsls r0, r1, 24
- lsrs r4, r0, 24
- mov r9, r1
- cmp r4, r8
- bcs _081B8748
- movs r7, 0x64
-_081B870E:
- ldr r0, =gSelectedOrderFromParty
- adds r5, r0, r4
- ldrb r0, [r5]
- muls r0, r7
- subs r0, 0x64
- ldr r1, =gPlayerParty
- adds r0, r1, r0
- movs r1, 0xB
- bl GetMonData
- cmp r10, r0
- beq _081B86B8
- cmp r6, 0
- beq _081B873E
- ldrb r0, [r5]
- muls r0, r7
- subs r0, 0x64
- ldr r3, =gPlayerParty
- adds r0, r3, r0
- movs r1, 0xC
- bl GetMonData
- cmp r6, r0
- beq _081B86BC
-_081B873E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r8
- bcc _081B870E
-_081B8748:
- mov r1, r9
- lsls r0, r1, 24
- lsrs r5, r0, 24
- mov r0, r8
-_081B8750:
- subs r0, 0x1
- cmp r5, r0
- blt _081B86CE
-_081B8756:
- movs r0, 0xFF
-_081B8758:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B865C
-
- thumb_func_start sub_81B8770
-sub_81B8770: @ 81B8770
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- ldr r3, =gSelectedOrderFromParty
-_081B877A:
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _081B878C
- movs r0, 0x1
- b _081B8798
- .pool
-_081B878C:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _081B877A
- movs r0, 0
-_081B8798:
- pop {r1}
- bx r1
- thumb_func_end sub_81B8770
-
- thumb_func_start sub_81B879C
-sub_81B879C: @ 81B879C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_81B865C
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xFF
- beq _081B87D4
- movs r0, 0x20
- bl PlaySE
- adds r0, r4, 0
- bl display_pokemon_menu_message
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B87E8
- str r0, [r1]
- b _081B87E0
- .pool
-_081B87D4:
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_81B12C0
-_081B87E0:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81B879C
-
- thumb_func_start sub_81B87E8
-sub_81B87E8: @ 81B87E8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081B8802
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B881C
-_081B8802:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl display_pokemon_menu_message
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1370
- str r0, [r1]
-_081B881C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B87E8
-
- thumb_func_start sub_81B8830
-sub_81B8830: @ 81B8830
- push {lr}
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x8
- beq _081B884C
- cmp r0, 0x9
- bne _081B8850
- movs r0, 0x3
- b _081B8854
- .pool
-_081B884C:
- movs r0, 0x2
- b _081B8854
-_081B8850:
- ldr r0, =gSpecialVar_0x8005
- ldrb r0, [r0]
-_081B8854:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B8830
-
- thumb_func_start sub_81B885C
-sub_81B885C: @ 81B885C
- push {lr}
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x8
- beq _081B8878
- cmp r0, 0x9
- bne _081B887C
- movs r0, 0x1
- b _081B8880
- .pool
-_081B8878:
- movs r0, 0x2
- b _081B8880
-_081B887C:
- ldr r0, =gSpecialVar_0x8005
- ldrb r0, [r0]
-_081B8880:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B885C
-
- thumb_func_start sub_81B8888
-sub_81B8888: @ 81B8888
- push {lr}
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x8
- beq _081B88A4
- cmp r0, 0x9
- bne _081B88A8
-_081B889C:
- movs r0, 0x64
- b _081B88B2
- .pool
-_081B88A4:
- movs r0, 0x1E
- b _081B88B2
-_081B88A8:
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _081B889C
- movs r0, 0x32
-_081B88B2:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B8888
-
- thumb_func_start sub_81B88BC
-sub_81B88BC: @ 81B88BC
- push {lr}
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xF8
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x1
- bhi _081B88E0
- ldr r0, =gText_CancelBattle
- b _081B88FA
- .pool
-_081B88E0:
- cmp r1, 0x1
- bne _081B88F8
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x2
- bne _081B88F8
- ldr r0, =gText_ReturnToWaitingRoom
- b _081B88FA
- .pool
-_081B88F8:
- ldr r0, =gText_CancelChallenge
-_081B88FA:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B88BC
-
- thumb_func_start sub_81B8904
-sub_81B8904: @ 81B8904
- push {lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- str r2, [sp]
- ldr r2, =sub_81B1370
- str r2, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8904
-
- thumb_func_start sub_81B892C
-sub_81B892C: @ 81B892C
- push {lr}
- sub sp, 0xC
- movs r0, 0x4
- str r0, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0xC
- movs r3, 0
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B892C
-
- thumb_func_start sub_81B8958
-sub_81B8958: @ 81B8958
- push {lr}
- sub sp, 0xC
- movs r0, 0x1
- str r0, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
- str r0, [sp, 0x8]
- movs r0, 0xB
- movs r1, 0
- movs r2, 0xD
- movs r3, 0
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8958
-
- thumb_func_start sub_81B8984
-sub_81B8984: @ 81B8984
- push {lr}
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _081B8994
- movs r0, 0
- b _081B89A6
-_081B8994:
- bl sub_81B1250
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B89A4
- movs r0, 0x1
- b _081B89A6
-_081B89A4:
- movs r0, 0x2
-_081B89A6:
- pop {r1}
- bx r1
- thumb_func_end sub_81B8984
-
- thumb_func_start OpenPartyMenuInBattle
-OpenPartyMenuInBattle: @ 81B89AC
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_81B8984
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- str r0, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =SetCB2ToReshowScreenAfterMenu
- str r0, [sp, 0x8]
- movs r0, 0x1
- adds r2, r4, 0
- movs r3, 0
- bl sub_81B0038
- bl nullsub_35
- bl pokemon_change_order
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end OpenPartyMenuInBattle
-
- thumb_func_start sub_81B89F0
-sub_81B89F0: @ 81B89F0
- push {lr}
- sub sp, 0xC
- bl sub_81B8984
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x5
- str r0, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =c2_815ABFC
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r2, 0x3
- movs r3, 0
- bl sub_81B0038
- bl nullsub_35
- bl pokemon_change_order
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B89F0
-
- thumb_func_start sub_81B8A2C
-sub_81B8A2C: @ 81B8A2C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gPlayerParty + 0x64
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B8A74
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _081B8A74
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xB]
- cmp r0, 0x1
- bne _081B8A5C
- movs r0, 0x3
- b _081B8A76
- .pool
-_081B8A5C:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- bne _081B8A74
- movs r0, 0x2
- b _081B8A76
- .pool
-_081B8A74:
- movs r0, 0x7
-_081B8A76:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B8A2C
-
- thumb_func_start sub_81B8A7C
-sub_81B8A7C: @ 81B8A7C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_81B1250
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B8AC4
- cmp r5, 0x1
- beq _081B8AA2
- cmp r5, 0x4
- beq _081B8AA2
- cmp r5, 0x5
- bne _081B8AC4
-_081B8AA2:
- ldr r4, =gStringVar1
- bl GetTrainerPartnerName
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldr r0, =gStringVar4
- ldr r1, =gText_CantSwitchWithAlly
- b _081B8C42
- .pool
-_081B8AC4:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _081B8AF8
- ldr r1, =gStringVar1
- adds r0, r4, 0
- bl GetMonNickname
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnHasNoEnergy
- b _081B8C42
- .pool
-_081B8AF8:
- movs r4, 0
- b _081B8B24
-_081B8AFC:
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _081B8B1E
- adds r0, r5, 0
- bl sub_81B8F38
- lsls r0, 24
- ldr r2, =gBattlerPartyIndexes
- lsls r1, r4, 1
- adds r1, r2
- lsrs r0, 24
- ldrh r1, [r1]
- cmp r0, r1
- beq _081B8BFC
-_081B8B1E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081B8B24:
- ldr r0, =gBattlersCount
- ldrb r0, [r0]
- cmp r4, r0
- bcc _081B8AFC
- movs r7, 0x64
- adds r0, r5, 0
- muls r0, r7
- ldr r1, =gPlayerParty
- mov r8, r1
- adds r6, r0, r1
- adds r0, r6, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _081B8B60
- ldr r0, =gStringVar4
- ldr r1, =gText_EggCantBattle
- b _081B8C42
- .pool
-_081B8B60:
- adds r0, r5, 0
- bl sub_81B8F38
- ldr r1, =gBattleStruct
- ldr r1, [r1]
- adds r1, 0x8B
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _081B8B94
- ldr r1, =gStringVar1
- adds r0, r6, 0
- bl GetMonNickname
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnAlreadySelected
- b _081B8C42
- .pool
-_081B8B94:
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xB]
- cmp r0, 0x4
- bne _081B8BA8
- bl SetMonPreventsSwitchingString
- b _081B8C46
- .pool
-_081B8BA8:
- cmp r0, 0x2
- beq _081B8C20
- adds r0, r5, 0
- bl sub_81B8F38
- ldr r1, =gUnknown_0203CEE9
- strb r0, [r1]
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, =gBattlerPartyIndexes
- ldr r0, =gBattlerInMenuId
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrb r0, [r0]
- bl pokemon_order_func
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81B8FB0
- adds r0, r4, 0
- muls r0, r7
- add r0, r8
- adds r1, r6, 0
- bl sub_81B1288
- movs r0, 0x1
- b _081B8C48
- .pool
-_081B8BFC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnAlreadyInBattle
- b _081B8C42
- .pool
-_081B8C20:
- ldr r0, =gBattlerInMenuId
- ldrb r0, [r0]
- ldr r1, =gBattlerPartyIndexes
- lsls r0, 1
- adds r0, r1
- ldrb r0, [r0]
- bl pokemon_order_func
- lsls r0, 24
- lsrs r0, 24
- muls r0, r7
- add r0, r8
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnCantSwitchOut
-_081B8C42:
- bl StringExpandPlaceholders
-_081B8C46:
- movs r0, 0
-_081B8C48:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B8A7C
-
- thumb_func_start sub_81B8C68
-sub_81B8C68: @ 81B8C68
- push {r4,lr}
- ldr r4, =gUnknown_0203CF00
- bl sub_806D7EC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_81B8C88
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8C68
-
- thumb_func_start sub_81B8C88
-sub_81B8C88: @ 81B8C88
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- bl sub_81B1250
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B8CBE
- cmp r4, 0
- beq _081B8CB0
- movs r0, 0x30
- strb r0, [r6]
- movs r0, 0x45
- strb r0, [r6, 0x1]
- movs r0, 0x12
- strb r0, [r6, 0x2]
- b _081B8D58
-_081B8CB0:
- movs r0, 0x3
- strb r0, [r6]
- movs r0, 0x12
- strb r0, [r6, 0x1]
- movs r0, 0x45
- strb r0, [r6, 0x2]
- b _081B8D58
-_081B8CBE:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _081B8CFC
- movs r5, 0x1
- movs r0, 0
- bl GetBattlerAtPosition
- mov r2, sp
- ldr r1, =gBattlerPartyIndexes
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r0, [r0]
- strb r0, [r2]
- movs r4, 0
- mov r1, sp
-_081B8CE2:
- ldrb r0, [r1]
- cmp r4, r0
- beq _081B8CF0
- mov r2, sp
- adds r0, r2, r5
- strb r4, [r0]
- adds r5, 0x1
-_081B8CF0:
- adds r4, 0x1
- cmp r4, 0x5
- ble _081B8CE2
- b _081B8D40
- .pool
-_081B8CFC:
- movs r5, 0x2
- movs r0, 0
- bl GetBattlerAtPosition
- mov r1, sp
- ldr r4, =gBattlerPartyIndexes
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- ldrh r0, [r0]
- strb r0, [r1]
- movs r0, 0x2
- bl GetBattlerAtPosition
- mov r1, sp
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- ldrh r0, [r0]
- strb r0, [r1, 0x1]
- movs r4, 0
-_081B8D26:
- ldrb r0, [r1]
- cmp r4, r0
- beq _081B8D3A
- ldrb r0, [r1, 0x1]
- cmp r4, r0
- beq _081B8D3A
- mov r2, sp
- adds r0, r2, r5
- strb r4, [r0]
- adds r5, 0x1
-_081B8D3A:
- adds r4, 0x1
- cmp r4, 0x5
- ble _081B8D26
-_081B8D40:
- movs r4, 0
- mov r3, sp
-_081B8D44:
- adds r0, r6, r4
- ldrb r1, [r3]
- lsls r1, 4
- ldrb r2, [r3, 0x1]
- orrs r1, r2
- strb r1, [r0]
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, 0x2
- ble _081B8D44
-_081B8D58:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8C88
-
- thumb_func_start sub_81B8D64
-sub_81B8D64: @ 81B8D64
- push {lr}
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =gBattleStruct
- lsls r3, r2, 1
- adds r3, r2
- adds r3, 0x60
- ldr r0, [r0]
- adds r0, r3
- bl sub_81B8D88
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8D64
-
- thumb_func_start sub_81B8D88
-sub_81B8D88: @ 81B8D88
- push {r4-r7,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r0, r2, 0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _081B8DB0
- movs r0, 0
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x2
- b _081B8DBC
-_081B8DB0:
- movs r0, 0x1
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x3
-_081B8DBC:
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r6, r0, 24
- bl sub_81B1250
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B8DF0
- cmp r7, 0
- beq _081B8DE2
- movs r0, 0x30
- strb r0, [r5]
- movs r0, 0x45
- strb r0, [r5, 0x1]
- movs r0, 0x12
- strb r0, [r5, 0x2]
- b _081B8E72
-_081B8DE2:
- movs r0, 0x3
- strb r0, [r5]
- movs r0, 0x12
- strb r0, [r5, 0x1]
- movs r0, 0x45
- strb r0, [r5, 0x2]
- b _081B8E72
-_081B8DF0:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _081B8E28
- movs r3, 0x1
- mov r2, sp
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r1
- ldrh r0, [r0]
- strb r0, [r2]
- movs r4, 0
- mov r1, sp
-_081B8E0C:
- ldrb r0, [r1]
- cmp r4, r0
- beq _081B8E1A
- mov r2, sp
- adds r0, r2, r3
- strb r4, [r0]
- adds r3, 0x1
-_081B8E1A:
- adds r4, 0x1
- cmp r4, 0x5
- ble _081B8E0C
- b _081B8E5A
- .pool
-_081B8E28:
- movs r3, 0x2
- mov r1, sp
- ldr r2, =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r2
- ldrh r0, [r0]
- strb r0, [r1]
- lsls r0, r6, 1
- adds r0, r2
- ldrh r0, [r0]
- strb r0, [r1, 0x1]
- movs r4, 0
-_081B8E40:
- ldrb r0, [r1]
- cmp r4, r0
- beq _081B8E54
- ldrb r0, [r1, 0x1]
- cmp r4, r0
- beq _081B8E54
- mov r2, sp
- adds r0, r2, r3
- strb r4, [r0]
- adds r3, 0x1
-_081B8E54:
- adds r4, 0x1
- cmp r4, 0x5
- ble _081B8E40
-_081B8E5A:
- movs r4, 0
- mov r3, sp
-_081B8E5E:
- adds r0, r5, r4
- ldrb r1, [r3]
- lsls r1, 4
- ldrb r2, [r3, 0x1]
- orrs r1, r2
- strb r1, [r0]
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, 0x2
- ble _081B8E5E
-_081B8E72:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8D88
-
- thumb_func_start sub_81B8E80
-sub_81B8E80: @ 81B8E80
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- movs r7, 0
- bl sub_81B1250
- lsls r0, 24
- cmp r0, 0
- beq _081B8F2E
- ldr r0, =gBattleStruct
- lsls r1, r4, 1
- adds r1, r4
- adds r1, 0x60
- ldr r0, [r0]
- adds r4, r0, r1
- movs r2, 0
- add r6, sp
- mov r12, r6
- movs r6, 0xF
- mov r3, sp
-_081B8EB2:
- adds r1, r4, r2
- ldrb r0, [r1]
- lsrs r0, 4
- strb r0, [r3]
- adds r3, 0x1
- ldrb r1, [r1]
- adds r0, r6, 0
- ands r0, r1
- strb r0, [r3]
- adds r3, 0x1
- adds r2, 0x1
- cmp r2, 0x2
- ble _081B8EB2
- mov r0, r12
- ldrb r3, [r0]
- movs r2, 0
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, r5
- bne _081B8EE8
- mov r0, sp
- ldrb r7, [r0]
- strb r3, [r0]
- b _081B8EFC
- .pool
-_081B8EE8:
- adds r2, 0x1
- cmp r2, 0x5
- bgt _081B8EFC
- mov r0, sp
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, r5
- bne _081B8EE8
- adds r7, r0, 0
- strb r3, [r1]
-_081B8EFC:
- cmp r2, 0x6
- beq _081B8F2E
- mov r0, r12
- strb r7, [r0]
- mov r0, sp
- ldrb r0, [r0]
- lsls r0, 4
- mov r1, sp
- ldrb r1, [r1, 0x1]
- orrs r0, r1
- strb r0, [r4]
- mov r0, sp
- ldrb r0, [r0, 0x2]
- lsls r0, 4
- mov r1, sp
- ldrb r1, [r1, 0x3]
- orrs r0, r1
- strb r0, [r4, 0x1]
- mov r0, sp
- ldrb r0, [r0, 0x4]
- lsls r0, 4
- mov r1, sp
- ldrb r1, [r1, 0x5]
- orrs r0, r1
- strb r0, [r4, 0x2]
-_081B8F2E:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B8E80
-
- thumb_func_start sub_81B8F38
-sub_81B8F38: @ 81B8F38
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0x1
- ands r1, r2
- lsrs r2, r0, 25
- cmp r1, 0
- beq _081B8F58
- ldr r0, =gUnknown_0203CF00
- adds r0, r2, r0
- ldrb r0, [r0]
- movs r1, 0xF
- ands r1, r0
- b _081B8F60
- .pool
-_081B8F58:
- ldr r0, =gUnknown_0203CF00
- adds r0, r2, r0
- ldrb r0, [r0]
- lsrs r1, r0, 4
-_081B8F60:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B8F38
-
- thumb_func_start sub_81B8F6C
-sub_81B8F6C: @ 81B8F6C
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- movs r1, 0x1
- ands r1, r3
- lsrs r3, r0, 25
- cmp r1, 0
- beq _081B8F94
- ldr r0, =gUnknown_0203CF00
- adds r0, r3, r0
- ldrb r2, [r0]
- movs r1, 0xF0
- ands r1, r2
- orrs r1, r4
- strb r1, [r0]
- b _081B8FA4
- .pool
-_081B8F94:
- ldr r2, =gUnknown_0203CF00
- adds r2, r3, r2
- ldrb r1, [r2]
- movs r0, 0xF
- ands r0, r1
- lsls r1, r4, 4
- orrs r0, r1
- strb r0, [r2]
-_081B8FA4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8F6C
-
- thumb_func_start sub_81B8FB0
-sub_81B8FB0: @ 81B8FB0
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- adds r0, r5, 0
- bl sub_81B8F38
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- bl sub_81B8F38
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_81B8F6C
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_81B8F6C
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81B8FB0
-
- thumb_func_start pokemon_order_func
-pokemon_order_func: @ 81B8FEC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r3, 0
- movs r2, 0
- ldr r5, =gUnknown_0203CF00
-_081B8FF8:
- adds r0, r3, r5
- ldrb r1, [r0]
- lsrs r0, r1, 4
- cmp r0, r4
- beq _081B9010
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0xF
- ands r0, r1
- cmp r0, r4
- bne _081B9018
-_081B9010:
- adds r0, r2, 0
- b _081B902A
- .pool
-_081B9018:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x2
- bls _081B8FF8
- movs r0, 0
-_081B902A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end pokemon_order_func
-
- thumb_func_start pokemon_change_order
-pokemon_change_order: @ 81B9030
- push {r4-r6,lr}
- movs r4, 0x96
- lsls r4, 2
- adds r0, r4, 0
- bl Alloc
- adds r5, r0, 0
- ldr r1, =gPlayerParty
- adds r2, r4, 0
- bl memcpy
- movs r4, 0
- movs r6, 0x64
-_081B904A:
- adds r0, r4, 0
- bl pokemon_order_func
- lsls r0, 24
- lsrs r0, 24
- muls r0, r6
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r4, 0
- muls r1, r6
- adds r1, r5
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _081B904A
- adds r0, r5, 0
- bl Free
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemon_change_order
-
- thumb_func_start sub_81B9080
-sub_81B9080: @ 81B9080
- push {r4-r6,lr}
- movs r4, 0x96
- lsls r4, 2
- adds r0, r4, 0
- bl Alloc
- adds r5, r0, 0
- ldr r1, =gPlayerParty
- adds r2, r4, 0
- bl memcpy
- movs r4, 0
- movs r6, 0x64
-_081B909A:
- adds r0, r4, 0
- bl sub_81B8F38
- lsls r0, 24
- lsrs r0, 24
- muls r0, r6
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r4, 0
- muls r1, r6
- adds r1, r5
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _081B909A
- adds r0, r5, 0
- bl Free
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9080
-
- thumb_func_start sub_81B90D0
-sub_81B90D0: @ 81B90D0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0x1
- movs r7, 0x64
- ldr r0, =gPlayerParty
- mov r8, r0
-_081B90DE:
- adds r0, r6, 0
- bl sub_81B8F38
- lsls r0, 24
- lsrs r0, 24
- muls r0, r7
- mov r1, r8
- adds r5, r0, r1
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B912C
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _081B912C
- movs r0, 0
- bl sub_81B8F38
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- adds r1, r6, 0
- bl sub_81B8FB0
- adds r0, r4, 0
- muls r0, r7
- add r0, r8
- adds r1, r5, 0
- bl sub_81B1288
- b _081B9136
- .pool
-_081B912C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x5
- bls _081B90DE
-_081B9136:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B90D0
-
- thumb_func_start sub_81B9140
-sub_81B9140: @ 81B9140
- push {lr}
- ldr r0, =SetCB2ToReshowScreenAfterMenu
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9140
-
- thumb_func_start sub_81B9150
-sub_81B9150: @ 81B9150
- push {lr}
- sub sp, 0xC
- movs r0, 0x7F
- str r0, [sp]
- ldr r0, =sub_81B917C
- str r0, [sp, 0x4]
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
- str r0, [sp, 0x8]
- movs r0, 0x5
- movs r1, 0x3
- movs r2, 0
- movs r3, 0
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9150
-
- thumb_func_start sub_81B917C
-sub_81B917C: @ 81B917C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- movs r1, 0x80
- lsls r1, 1
- strh r1, [r4, 0x8]
- bl sub_81B9294
- movs r1, 0x80
- lsls r1, 9
- movs r0, 0x2
- movs r2, 0
- bl ChangeBgX
- ldr r0, =sub_81B91B4
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B917C
-
- thumb_func_start sub_81B91B4
-sub_81B91B4: @ 81B91B4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r6, r5, 2
- adds r0, r6, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B9220
- ldrh r0, [r4]
- subs r0, 0x8
- strh r0, [r4]
- adds r0, r5, 0
- bl sub_81B9294
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081B9220
- movs r4, 0x3
- ldr r7, =gUnknown_02022FF8
-_081B91E8:
- subs r0, r4, 0x3
- lsls r0, 5
- adds r0, r7
- ldrh r0, [r0]
- cmp r0, 0
- beq _081B9204
- ldr r0, =gUnknown_0203CEDC
- ldr r1, [r0]
- lsls r0, r4, 4
- adds r0, r1
- ldrb r0, [r0, 0x9]
- movs r1, 0
- bl sub_81B5B6C
-_081B9204:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _081B91E8
- movs r0, 0x78
- bl PlaySE
- ldr r0, =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B9240
- str r0, [r1]
-_081B9220:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B91B4
-
- thumb_func_start sub_81B9240
-sub_81B9240: @ 81B9240
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- lsls r1, 16
- movs r0, 0x80
- lsls r0, 17
- cmp r1, r0
- bne _081B9266
- adds r0, r2, 0
- bl sub_81B12C0
-_081B9266:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9240
-
- thumb_func_start sub_81B9270
-sub_81B9270: @ 81B9270
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 16
- lsrs r3, r1, 16
- cmp r1, 0
- blt _081B928A
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- strh r3, [r0, 0x24]
-_081B928A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9270
-
- thumb_func_start sub_81B9294
-sub_81B9294: @ 81B9294
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r5, r1, r0
- movs r6, 0x3
- ldr r7, =gUnknown_0203CEDC
-_081B92A8:
- ldr r0, =gUnknown_02022FF8
- subs r1, r6, 0x3
- lsls r1, 5
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _081B9300
- ldr r0, [r7]
- lsls r4, r6, 4
- adds r0, r4, r0
- ldrb r0, [r0, 0x9]
- ldrh r1, [r5]
- subs r1, 0x8
- lsls r1, 16
- asrs r1, 16
- bl sub_81B9270
- ldr r0, [r7]
- adds r0, r4, r0
- ldrb r0, [r0, 0xA]
- ldrh r1, [r5]
- subs r1, 0x8
- lsls r1, 16
- asrs r1, 16
- bl sub_81B9270
- ldr r0, [r7]
- adds r0, r4, r0
- ldrb r0, [r0, 0xB]
- ldrh r1, [r5]
- subs r1, 0x8
- lsls r1, 16
- asrs r1, 16
- bl sub_81B9270
- ldr r0, [r7]
- adds r4, r0
- ldrb r0, [r4, 0xC]
- ldrh r1, [r5]
- subs r1, 0x8
- lsls r1, 16
- asrs r1, 16
- bl sub_81B9270
-_081B9300:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x5
- bls _081B92A8
- movs r1, 0x80
- lsls r1, 4
- movs r0, 0x2
- movs r2, 0x1
- bl ChangeBgX
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9294
-
- thumb_func_start sub_81B9328
-sub_81B9328: @ 81B9328
- push {lr}
- sub sp, 0xC
- movs r0, 0xF
- str r0, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =sub_81B9390
- str r0, [sp, 0x8]
- movs r0, 0x6
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9328
-
- thumb_func_start sub_81B9354
-sub_81B9354: @ 81B9354
- push {lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gFieldCallback2
- ldr r1, =hm_add_c3_without_phase_2
- str r1, [r2]
- movs r1, 0
- str r1, [sp]
- ldr r1, =sub_81B1370
- str r1, [sp, 0x4]
- ldr r1, =CB2_ReturnToField
- str r1, [sp, 0x8]
- movs r1, 0
- movs r2, 0xB
- movs r3, 0
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9354
-
- thumb_func_start sub_81B9390
-sub_81B9390: @ 81B9390
- push {r4,lr}
- ldr r4, =gSpecialVar_0x8004
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- cmp r0, 0x5
- bls _081B93A6
- movs r0, 0xFF
- strh r0, [r4]
-_081B93A6:
- ldr r0, =gFieldCallback2
- ldr r1, =hm_add_c3_without_phase_2
- str r1, [r0]
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9390
-
- thumb_func_start hm_add_c3_without_phase_2
-hm_add_c3_without_phase_2: @ 81B93C8
- push {lr}
- bl pal_fill_black
- ldr r0, =task_hm_without_phase_2
- movs r1, 0xA
- bl CreateTask
- movs r0, 0x1
- pop {r1}
- bx r1
- .pool
- thumb_func_end hm_add_c3_without_phase_2
-
- thumb_func_start task_hm_without_phase_2
-task_hm_without_phase_2: @ 81B93E0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsWeatherNotFadingIn
- lsls r0, 24
- cmp r0, 0
- beq _081B93FE
- adds r0, r4, 0
- bl DestroyTask
- bl ScriptContext2_Disable
- bl EnableBothScriptContexts
-_081B93FE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end task_hm_without_phase_2
-
- thumb_func_start sub_81B9404
-sub_81B9404: @ 81B9404
- push {lr}
- bl ScriptContext2_Enable
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- ldr r0, =sub_81B9424
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9404
-
- thumb_func_start sub_81B9424
-sub_81B9424: @ 81B9424
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _081B945C
- bl overworld_free_bg_tilemaps
- str r4, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =sub_81B9470
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0xB
- movs r3, 0
- bl sub_81B0038
- adds r0, r5, 0
- bl DestroyTask
-_081B945C:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9424
-
- thumb_func_start sub_81B9470
-sub_81B9470: @ 81B9470
- push {lr}
- bl GetCursorSelectionMonId
- ldr r2, =gUnknown_02039F24
- strb r0, [r2]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bls _081B9486
- movs r0, 0xFF
- strb r0, [r2]
-_081B9486:
- ldr r1, =gSpecialVar_0x8004
- ldrb r0, [r2]
- strh r0, [r1]
- ldr r1, =gFieldCallback2
- ldr r0, =hm_add_c3_without_phase_2
- str r0, [r1]
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9470
-
- thumb_func_start sub_81B94B0
-sub_81B94B0: @ 81B94B0
- push {lr}
- bl ScriptContext2_Enable
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- ldr r0, =sub_81B94D0
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B94B0
-
- thumb_func_start sub_81B94D0
-sub_81B94D0: @ 81B94D0
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _081B9508
- bl overworld_free_bg_tilemaps
- str r4, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =sub_81B9390
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0xB
- movs r3, 0
- bl sub_81B0038
- adds r0, r5, 0
- bl DestroyTask
-_081B9508:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B94D0
-
- thumb_func_start sub_81B951C
-sub_81B951C: @ 81B951C
- push {lr}
- bl ScriptContext2_Enable
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- ldr r0, =sub_81B953C
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B951C
-
- thumb_func_start sub_81B953C
-sub_81B953C: @ 81B953C
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _081B9574
- bl overworld_free_bg_tilemaps
- str r4, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =sub_81B9588
- str r0, [sp, 0x8]
- movs r0, 0x7
- movs r1, 0
- movs r2, 0xB
- movs r3, 0
- bl sub_81B0038
- adds r0, r5, 0
- bl DestroyTask
-_081B9574:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B953C
-
- thumb_func_start sub_81B9588
-sub_81B9588: @ 81B9588
- push {r4,r5,lr}
- ldr r5, =gSpecialVar_0x8004
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5]
- cmp r0, 0x5
- bls _081B95A4
- movs r0, 0xFF
- strh r0, [r5]
- b _081B95BA
- .pool
-_081B95A4:
- ldr r4, =gSpecialVar_0x8005
- ldrh r1, [r5]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl GetNumberOfRelearnableMoves
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
-_081B95BA:
- ldr r0, =gFieldCallback2
- ldr r1, =hm_add_c3_without_phase_2
- str r1, [r0]
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9588
-
- thumb_func_start sub_81B95E0
-sub_81B95E0: @ 81B95E0
- push {r4,r5,lr}
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- movs r4, 0
- adds r5, r1, 0
- b _081B95FA
- .pool
-_081B95F4:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081B95FA:
- cmp r4, 0x2
- bhi _081B9614
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- cmp r0, 0
- beq _081B95F4
- movs r0, 0x1
- strh r0, [r5]
-_081B9614:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B95E0
-
- thumb_func_start sub_81B9620
-sub_81B9620: @ 81B9620
- push {lr}
- bl ScriptContext2_Enable
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- ldr r0, =sub_81B9640
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9620
-
- thumb_func_start sub_81B9640
-sub_81B9640: @ 81B9640
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _081B9678
- bl overworld_free_bg_tilemaps
- str r4, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =sub_81B9390
- str r0, [sp, 0x8]
- movs r0, 0xC
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_81B0038
- adds r0, r5, 0
- bl DestroyTask
-_081B9678:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9640
-
- thumb_func_start sub_81B968C
-sub_81B968C: @ 81B968C
- push {lr}
- sub sp, 0x4
- ldr r1, =gPlayerParty
- ldr r0, =gSpecialVar_0x8004
- ldrb r2, [r0]
- ldr r0, =gPlayerPartyCount
- ldrb r3, [r0]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =CB2_ReturnToField
- str r0, [sp]
- movs r0, 0x3
- bl ShowPokemonSummaryScreen
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF168
- str r0, [r1]
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B968C
-
- thumb_func_start sub_81B96D0
-sub_81B96D0: @ 81B96D0
- push {r4,r5,lr}
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- movs r4, 0
- adds r5, r1, 0
-_081B96DC:
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r4, 0
- adds r1, 0xD
- bl GetMonData
- cmp r0, 0
- beq _081B96FA
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_081B96FA:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081B96DC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B96D0
-
- thumb_func_start sub_81B9718
-sub_81B9718: @ 81B9718
- push {r4,r5,lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- adds r5, r1, 0
- muls r5, r0
- ldr r0, =gPlayerParty
- adds r5, r0
- ldr r0, =gSpecialVar_0x8005
- ldrh r1, [r0]
- adds r1, 0xD
- adds r0, r5, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- ldr r0, =gStringVar2
- movs r1, 0xD
- muls r1, r4
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9718
-
- thumb_func_start sub_81B9770
-sub_81B9770: @ 81B9770
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, =gSpecialVar_0x8004
- mov r8, r0
- ldrh r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- ldr r4, =gSpecialVar_0x8005
- ldrb r2, [r4]
- movs r1, 0
- bl SetMonMoveSlot
- mov r1, r8
- ldrh r0, [r1]
- muls r0, r6
- adds r0, r5
- ldrb r1, [r4]
- bl RemoveMonPPBonus
- ldrh r4, [r4]
- cmp r4, 0x2
- bhi _081B97C4
-_081B97A2:
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- lsls r1, r4, 24
- lsrs r1, 24
- adds r4, 0x1
- lsls r2, r4, 24
- lsrs r2, 24
- bl sub_81B97DC
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x2
- bls _081B97A2
-_081B97C4:
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9770
-
- thumb_func_start sub_81B97DC
-sub_81B97DC: @ 81B97DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- mov r8, r0
- adds r5, r1, 0
- adds r4, r2, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r0, 0xD
- str r0, [sp, 0x8]
- mov r0, r8
- ldr r1, [sp, 0x8]
- bl GetMonData
- mov r1, sp
- adds r1, 0x2
- str r1, [sp, 0x14]
- strh r0, [r1]
- adds r3, r4, 0
- adds r3, 0xD
- str r3, [sp, 0xC]
- mov r0, r8
- adds r1, r3, 0
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- adds r7, r5, 0
- adds r7, 0x11
- str r7, [sp, 0x10]
- mov r0, r8
- adds r1, r7, 0
- bl GetMonData
- mov r1, sp
- adds r1, 0x5
- str r1, [sp, 0x18]
- strb r0, [r1]
- adds r3, r4, 0
- adds r3, 0x11
- str r3, [sp, 0x1C]
- mov r0, r8
- adds r1, r3, 0
- bl GetMonData
- add r7, sp, 0x4
- mov r10, r7
- strb r0, [r7]
- mov r0, r8
- movs r1, 0x15
- bl GetMonData
- mov r6, sp
- adds r6, 0x6
- strb r0, [r6]
- ldr r1, =gUnknown_08329D22
- adds r0, r5, r1
- ldrb r0, [r0]
- mov r9, r0
- ldrb r0, [r6]
- adds r2, r0, 0
- mov r3, r9
- ands r2, r3
- lsls r5, 1
- asrs r2, r5
- lsls r2, 24
- lsrs r2, 24
- adds r1, r4, r1
- ldrb r3, [r1]
- adds r1, r0, 0
- ands r1, r3
- lsls r4, 1
- asrs r1, r4
- lsls r1, 24
- lsrs r1, 24
- mov r7, r9
- bics r0, r7
- strb r0, [r6]
- ldrb r0, [r6]
- bics r0, r3
- strb r0, [r6]
- lsls r2, r4
- lsls r1, r5
- adds r2, r1
- ldrb r0, [r6]
- orrs r0, r2
- strb r0, [r6]
- mov r0, r8
- ldr r1, [sp, 0x8]
- mov r2, sp
- bl SetMonData
- mov r0, r8
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x14]
- bl SetMonData
- mov r0, r8
- ldr r1, [sp, 0x10]
- mov r2, r10
- bl SetMonData
- mov r0, r8
- ldr r1, [sp, 0x1C]
- ldr r2, [sp, 0x18]
- bl SetMonData
- mov r0, r8
- movs r1, 0x15
- adds r2, r6, 0
- bl SetMonData
- 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_81B97DC
-
- thumb_func_start sub_81B98DC
-sub_81B98DC: @ 81B98DC
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2D
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0
- beq _081B990C
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- b _081B9910
- .pool
-_081B990C:
- ldr r0, =gSpecialVar_Result
- strh r1, [r0]
-_081B9910:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B98DC
-
- thumb_func_start sub_81B9918
-sub_81B9918: @ 81B9918
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gSpecialVar_0x8005
- ldrh r1, [r1]
- adds r1, 0xD
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0x39
- bne _081B999C
- movs r6, 0
- b _081B9980
- .pool
-_081B9958:
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r6, r0
- beq _081B997E
- movs r4, 0
- movs r0, 0x64
- adds r5, r6, 0
- muls r5, r0
- ldr r7, =gPlayerParty
-_081B996A:
- adds r1, r4, 0
- adds r1, 0xD
- adds r0, r5, r7
- bl GetMonData
- cmp r0, 0x39
- beq _081B999C
- adds r4, 0x1
- cmp r4, 0x3
- bls _081B996A
-_081B997E:
- adds r6, 0x1
-_081B9980:
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- bcc _081B9958
- mov r0, r8
- bl sub_80D23A8
- cmp r0, 0x1
- beq _081B999C
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
-_081B999C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9918
-
- .align 2, 0 @ Don't pad with nop.
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..c1cd01c27 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
diff --git a/asm/psychic.s b/asm/psychic.s
deleted file mode 100644
index 0a39ea856..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 sub_80A8364
- 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 sub_80A8364
- 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 InitAnimSpritePos
- b _0810F610
- .pool
-_0810F608:
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80A6980
-_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 sub_80A8364
- 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..b90c9701e 100644
--- a/asm/rom_8011DC0.s
+++ b/asm/rom_8011DC0.s
@@ -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
@@ -14596,7 +14596,7 @@ _0801E1B4:
movs r0, 0x5
bl PlaySE
movs r0, 0x1
- bl MoveMenuCursor
+ bl Menu_MoveCursor
b _0801E23A
.pool
_0801E1D4:
@@ -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
@@ -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
@@ -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
index f5768e7c2..dd5ff89c5 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -6,160 +6,6 @@
.text
- 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}
@@ -810,7 +656,7 @@ _0807AD94:
_0807ADB2:
mov r0, r8
bl GetMonSpritePalStruct
- bl LoadCompressedObjectPalette
+ bl LoadCompressedSpritePalette
ldr r0, =gUnknown_020322A0
ldr r1, [r0]
adds r0, r1, 0
diff --git a/asm/trainer_card.s b/asm/trainer_card.s
index e0cb5e21e..10e4d6d8f 100644
--- a/asm/trainer_card.s
+++ b/asm/trainer_card.s
@@ -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
@@ -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
diff --git a/asm/water.s b/asm/water.s
deleted file mode 100644
index 693aceddd..000000000
--- a/asm/water.s
+++ /dev/null
@@ -1,3607 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start AnimTask_CreateRaindrops
-AnimTask_CreateRaindrops: @ 8107188
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _081071B0
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- strh r0, [r5, 0xA]
- ldrh r0, [r1, 0x2]
- strh r0, [r5, 0xC]
- ldrh r0, [r1, 0x4]
- strh r0, [r5, 0xE]
-_081071B0:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- bl __modsi3
- cmp r0, 0x1
- bne _081071F8
- bl Random2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF0
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl Random2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x50
- bl __umodsi3
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_08595020
- adds r1, r4, 0
- movs r3, 0x4
- bl CreateSprite
-_081071F8:
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bne _0810720A
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_0810720A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_CreateRaindrops
-
- thumb_func_start sub_810721C
-sub_810721C: @ 810721C
- ldr r1, =sub_8107228
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end sub_810721C
-
- thumb_func_start sub_8107228
-sub_8107228: @ 8107228
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD
- bgt _08107246
- ldrh r0, [r2, 0x24]
- adds r0, 0x1
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x26]
- adds r0, 0x4
- strh r0, [r2, 0x26]
-_08107246:
- adds r0, r2, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0810725A
- adds r0, r2, 0
- bl DestroySprite
-_0810725A:
- pop {r0}
- bx r0
- thumb_func_end sub_8107228
-
- thumb_func_start sub_8107260
-sub_8107260: @ 8107260
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08107290
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gBattleAnimArgs
- ldrh r1, [r4]
- subs r0, r1
- b _081072A2
- .pool
-_08107290:
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r4, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r4]
- adds r0, r1
-_081072A2:
- strh r0, [r6, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x2]
- adds r0, r4
- strh r0, [r6, 0x22]
- adds r2, r6, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _081072D8
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_081072D8:
- ldr r5, =gBattleAnimArgs
- ldrh r0, [r5, 0xC]
- strh r0, [r6, 0x2E]
- ldrh r0, [r6, 0x20]
- strh r0, [r6, 0x30]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x32]
- ldrh r0, [r6, 0x22]
- strh r0, [r6, 0x34]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x36]
- adds r0, r6, 0
- bl InitAnimLinearTranslation
- ldr r0, =SpriteCallbackDummy
- bl CreateInvisibleSpriteWithCallback
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- strh r4, [r6, 0x38]
- ldrb r0, [r5, 0x8]
- movs r2, 0x4
- ldrsh r1, [r5, r2]
- bl Sin
- ldrh r1, [r6, 0x20]
- subs r1, r0
- strh r1, [r6, 0x20]
- ldrb r0, [r5, 0x8]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl Cos
- ldrh r1, [r6, 0x22]
- subs r1, r0
- strh r1, [r6, 0x22]
- ldr r0, =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r5, 0x4]
- strh r0, [r1, 0x2E]
- ldrh r0, [r5, 0x6]
- strh r0, [r1, 0x30]
- ldrh r0, [r5, 0xA]
- strh r0, [r1, 0x32]
- ldrb r0, [r5, 0x8]
- lsls r0, 8
- strh r0, [r1, 0x34]
- ldrh r0, [r5, 0xC]
- strh r0, [r1, 0x36]
- ldr r1, =sub_8107380
- str r1, [r6, 0x1C]
- adds r0, r6, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107260
-
- thumb_func_start sub_8107380
-sub_8107380: @ 8107380
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r1, [r5, 0x38]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r7, r0, r2
- ldrh r4, [r7, 0x36]
- lsls r4, 24
- lsrs r4, 24
- ldrh r0, [r7, 0x34]
- mov r8, r0
- movs r0, 0x1
- strh r0, [r5, 0x2E]
- adds r0, r5, 0
- bl TranslateAnimLinear
- mov r1, r8
- lsrs r6, r1, 8
- movs r0, 0x2E
- ldrsh r1, [r7, r0]
- adds r0, r6, 0
- bl Sin
- ldrh r1, [r5, 0x24]
- adds r0, r1
- strh r0, [r5, 0x24]
- movs r0, 0x30
- ldrsh r1, [r7, r0]
- adds r0, r6, 0
- bl Cos
- ldrh r1, [r5, 0x26]
- adds r0, r1
- strh r0, [r5, 0x26]
- ldrh r0, [r7, 0x32]
- mov r1, r8
- adds r1, r0
- strh r1, [r7, 0x34]
- subs r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- cmp r4, 0
- beq _081073EC
- strh r4, [r7, 0x36]
- b _081073F6
- .pool
-_081073EC:
- ldr r0, =sub_8107408
- str r0, [r5, 0x1C]
- adds r0, r7, 0
- bl DestroySprite
-_081073F6:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107380
-
- thumb_func_start sub_8107408
-sub_8107408: @ 8107408
- push {lr}
- adds r3, r0, 0
- adds r3, 0x2C
- ldrb r2, [r3]
- movs r1, 0x41
- negs r1, r1
- ands r1, r2
- strb r1, [r3]
- ldr r1, =RunStoredCallbackWhenAnimEnds
- str r1, [r0, 0x1C]
- ldr r1, =sub_8107430
- bl StoreSpriteCallbackInData6
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107408
-
- thumb_func_start sub_8107430
-sub_8107430: @ 8107430
- push {lr}
- movs r1, 0xA
- strh r1, [r0, 0x2E]
- ldr r1, =WaitAnimForDuration
- str r1, [r0, 0x1C]
- ldr r1, =DestroySpriteAndMatrix
- bl StoreSpriteCallbackInData6
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107430
-
- thumb_func_start sub_810744C
-sub_810744C: @ 810744C
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r1, 0x1
- bl InitAnimSpritePos
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810747C
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- lsls r0, 16
- lsrs r6, r0, 16
- adds r7, r1, 0
- b _08107482
- .pool
-_0810747C:
- ldr r0, =gBattleAnimArgs
- ldrh r6, [r0, 0x4]
- adds r7, r0, 0
-_08107482:
- ldrh r0, [r7, 0x8]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, r6
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r7, [r7, 0x6]
- adds r0, r7
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl InitAnimLinearTranslation
- ldr r0, =sub_81074E4
- str r0, [r5, 0x1C]
- adds r2, r5, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldr r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810744C
-
- thumb_func_start sub_81074E4
-sub_81074E4: @ 81074E4
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0, 0xE]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _08107506
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
-_08107506:
- adds r0, r4, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- beq _08107518
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08107518:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81074E4
-
- thumb_func_start sub_8107528
-sub_8107528: @ 8107528
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0]
- strh r0, [r4, 0x8]
- ldr r0, =0x0000279c
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- strh r0, [r4, 0xC]
- ldr r0, =sub_810756C
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107528
-
- thumb_func_start sub_810756C
-sub_810756C: @ 810756C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- ldrh r0, [r2, 0x1C]
- adds r0, 0x1
- strh r0, [r2, 0x1C]
- lsls r0, 16
- asrs r0, 16
- mov r12, r1
- cmp r0, 0x3
- bne _081075BE
- movs r0, 0
- strh r0, [r2, 0x1C]
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, =gPlttBufferFaded
- lsls r0, r5, 1
- adds r0, r1
- ldrh r6, [r0]
- adds r7, r1, 0
- adds r3, r0, 0x2
- movs r1, 0x6
- adds r2, r0, 0
-_081075A8:
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _081075A8
- adds r0, r5, 0x7
- lsls r0, 1
- adds r0, r7
- strh r6, [r0]
-_081075BE:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- add r0, r12
- ldrh r1, [r0, 0x1E]
- adds r1, 0x1
- strh r1, [r0, 0x1E]
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- cmp r1, r0
- bne _081075DE
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_081075DE:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810756C
-
- thumb_func_start sub_81075EC
-sub_81075EC: @ 81075EC
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x1
- bl InitAnimSpritePos
- movs r0, 0x1E
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl InitAnimLinearTranslation
- movs r0, 0x2E
- ldrsh r1, [r5, r0]
- movs r0, 0xD2
- lsls r0, 8
- bl __divsi3
- strh r0, [r5, 0x38]
- ldr r0, =gBattleAnimArgs
- ldrh r2, [r0, 0x6]
- strh r2, [r5, 0x3C]
- ldrh r1, [r0, 0xE]
- movs r3, 0xE
- ldrsh r0, [r0, r3]
- cmp r0, 0x7F
- ble _0810765C
- adds r0, r1, 0
- subs r0, 0x7F
- lsls r0, 8
- strh r0, [r5, 0x3A]
- negs r0, r2
- strh r0, [r5, 0x3C]
- b _08107660
- .pool
-_0810765C:
- lsls r0, r1, 8
- strh r0, [r5, 0x3A]
-_08107660:
- ldr r1, =sub_8107674
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81075EC
-
- thumb_func_start sub_8107674
-sub_8107674: @ 8107674
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- beq _08107688
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08107688:
- ldrh r0, [r4, 0x3A]
- lsls r0, 16
- asrs r0, 24
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- adds r0, r1
- asrs r0, 8
- cmp r0, 0x7F
- ble _081076B8
- movs r0, 0
- strh r0, [r4, 0x3A]
- ldrh r0, [r4, 0x3C]
- negs r0, r0
- strh r0, [r4, 0x3C]
- b _081076C0
-_081076B8:
- ldrh r0, [r4, 0x38]
- ldrh r1, [r4, 0x3A]
- adds r0, r1
- strh r0, [r4, 0x3A]
-_081076C0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8107674
-
- thumb_func_start sub_81076C8
-sub_81076C8: @ 81076C8
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, =gBattleAnimArgs
- ldrh r0, [r3]
- movs r2, 0
- strh r0, [r1, 0x8]
- strh r2, [r3, 0xE]
- ldr r0, =sub_81076F4
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81076C8
-
- thumb_func_start sub_81076F4
-sub_81076F4: @ 81076F4
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r2, 0xE]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r2, 0xE]
- ldr r1, =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- subs r1, 0x1
- strh r1, [r0, 0x8]
- lsls r1, 16
- cmp r1, 0
- bne _08107722
- adds r0, r3, 0
- bl DestroyAnimVisualTask
-_08107722:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81076F4
-
- thumb_func_start sub_8107730
-sub_8107730: @ 8107730
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r7, =gBattleAnimAttacker
- ldrb r0, [r7]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- ldrb r0, [r7]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- ldr r6, =0x0000fff6
- strh r6, [r4, 0x26]
- ldrb r0, [r7]
- bl GetBattlerSpriteSubpriority
- lsls r0, 24
- lsrs r5, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810778A
- ldrb r0, [r7]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08107784
- movs r0, 0xA
- strh r0, [r4, 0x24]
- b _0810778C
- .pool
-_08107784:
- strh r6, [r4, 0x24]
- subs r0, r5, 0x2
- b _0810778E
-_0810778A:
- strh r6, [r4, 0x24]
-_0810778C:
- adds r0, r5, 0x2
-_0810778E:
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- ldr r0, =sub_81077A4
- str r0, [r4, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107730
-
- thumb_func_start sub_81077A4
-sub_81077A4: @ 81077A4
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _081077BA
- adds r0, r2, 0
- bl DestroyAnimSprite
-_081077BA:
- pop {r0}
- bx r0
- thumb_func_end sub_81077A4
-
- thumb_func_start sub_81077C0
-sub_81077C0: @ 81077C0
- push {r4-r7,lr}
- adds r6, r0, 0
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- bl GetBattlerSide
- adds r4, r0, 0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _0810780A
- ldr r4, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r4, r1]
- negs r0, r0
- strh r0, [r4]
- ldrb r0, [r5]
- bl GetBattlerPosition
- lsls r0, 24
- cmp r0, 0
- beq _08107802
- ldrb r0, [r5]
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0810780A
-_08107802:
- movs r1, 0
- ldrsh r0, [r4, r1]
- negs r0, r0
- strh r0, [r4]
-_0810780A:
- ldr r5, =gBattleAnimArgs
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0
- cmp r0, 0
- bne _0810781E
- movs r1, 0x1
-_0810781E:
- ldrb r0, [r5, 0xA]
- movs r7, 0x1
- cmp r0, 0
- bne _08107828
- movs r7, 0x3
-_08107828:
- adds r0, r6, 0
- bl InitAnimSpritePos
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08107842
- ldrh r0, [r5, 0x4]
- negs r0, r0
- strh r0, [r5, 0x4]
-_08107842:
- ldrh r0, [r5, 0x8]
- strh r0, [r6, 0x2E]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrb r0, [r4]
- adds r1, r7, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r5, [r5, 0x6]
- adds r0, r5
- strh r0, [r6, 0x36]
- ldr r0, =StartAnimLinearTranslation
- str r0, [r6, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r6, 0
- bl StoreSpriteCallbackInData6
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81077C0
-
- thumb_func_start sub_8107894
-sub_8107894: @ 8107894
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A6980
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0, 0x8]
- strh r1, [r4, 0x2E]
- ldrh r0, [r0, 0x4]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- adds r1, r0
- strh r1, [r4, 0x36]
- ldr r0, =StartAnimLinearTranslation
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107894
-
- thumb_func_start sub_81078D0
-sub_81078D0: @ 81078D0
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _081078EC
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80A6980
- b _081078F4
- .pool
-_081078EC:
- adds r0, r4, 0
- movs r1, 0x1
- bl InitAnimSpritePos
-_081078F4:
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x3C]
- ldr r0, =sub_810790C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81078D0
-
- thumb_func_start sub_810790C
-sub_810790C: @ 810790C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0xB
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x4
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x30]
- adds r0, 0x30
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3C]
- subs r0, 0x1
- strh r0, [r4, 0x3C]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0810794C
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810794C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810790C
-
- thumb_func_start AnimTask_CreateSurfWave
-AnimTask_CreateSurfWave: @ 8107954
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- 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, 0x1
- bl SetAnimBgAttribute
- mov r0, sp
- bl sub_80A6B30
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _081079E0
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- bl SetAnimBgAttribute
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081079D0
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, =gUnknown_08D95E00
- bl sub_80A6D48
- b _081079EA
- .pool
-_081079D0:
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, =gUnknown_08D960D0
- bl sub_80A6D48
- b _081079EA
- .pool
-_081079E0:
- ldr r1, =gUnknown_08D963A4
- mov r0, sp
- movs r2, 0x1
- bl sub_80A6D60
-_081079EA:
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, =gBattleAnimBackgroundImage_Surf
- mov r2, sp
- ldrh r2, [r2, 0xA]
- bl sub_80A6CC0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08107A24
- ldr r0, =gBattleAnimBackgroundPalette_Surf
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- b _08107A32
- .pool
-_08107A24:
- ldr r0, =gBattleAnimBackgroundImageMuddyWater_Pal
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
-_08107A32:
- ldr r0, =sub_8107D58
- ldr r4, =gTasks
- mov r2, r10
- lsls r5, r2, 2
- adds r1, r5, r2
- lsls r1, 3
- adds r6, r1, r4
- ldrb r1, [r6, 0x7]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0
- mov r9, r0
- mov r1, r8
- strh r1, [r6, 0x26]
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r7, r0, r4
- mov r0, r9
- strh r0, [r7, 0x8]
- movs r0, 0x80
- lsls r0, 5
- strh r0, [r7, 0xA]
- strh r0, [r7, 0xC]
- bl IsContest
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08107AB4
- ldr r1, =0x0000ffb0
- adds r0, r1, 0
- ldr r2, =gBattle_BG1_X
- strh r0, [r2]
- adds r1, 0x20
- adds r0, r1, 0
- ldr r2, =gBattle_BG1_Y
- strh r0, [r2]
- movs r0, 0x2
- strh r0, [r6, 0x8]
- movs r0, 0x1
- strh r0, [r6, 0xA]
- mov r0, r9
- strh r0, [r7, 0xE]
- b _08107B0E
- .pool
-_08107AB4:
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bne _08107AF8
- ldr r2, =0x0000ff20
- adds r0, r2, 0
- ldr r2, =gBattle_BG1_X
- strh r0, [r2]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- ldr r2, =gBattle_BG1_Y
- strh r0, [r2]
- movs r0, 0x2
- strh r0, [r6, 0x8]
- ldr r0, =0x0000ffff
- strh r0, [r6, 0xA]
- strh r1, [r7, 0xE]
- b _08107B0E
- .pool
-_08107AF8:
- ldr r0, =gBattle_BG1_X
- strh r4, [r0]
- ldr r1, =0x0000ffd0
- adds r0, r1, 0
- ldr r2, =gBattle_BG1_Y
- strh r0, [r2]
- ldr r0, =0x0000fffe
- strh r0, [r6, 0x8]
- movs r0, 0x1
- strh r0, [r6, 0xA]
- strh r4, [r7, 0xE]
-_08107B0E:
- ldr r0, =gBattle_BG1_X
- ldrh r1, [r0]
- movs r0, 0x14
- bl SetGpuReg
- ldr r2, =gBattle_BG1_Y
- ldrh r1, [r2]
- movs r0, 0x16
- bl SetGpuReg
- ldr r1, =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r1, r0, r1
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08107B54
- movs r0, 0x30
- strh r0, [r1, 0x10]
- movs r0, 0x70
- b _08107B58
- .pool
-_08107B54:
- movs r0, 0
- strh r0, [r1, 0x10]
-_08107B58:
- strh r0, [r1, 0x12]
- ldr r1, =gTasks
- mov r2, r10
- adds r0, r5, r2
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x14]
- ldr r1, =sub_8107B84
- str r1, [r0]
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_CreateSurfWave
-
- thumb_func_start sub_8107B84
-sub_8107B84: @ 8107B84
- push {r4-r7,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gBattle_BG1_X
- ldr r2, =gBattle_BG1_Y
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r4, 0x8]
- ldrh r3, [r1]
- adds r0, r3
- strh r0, [r1]
- ldrh r0, [r4, 0xA]
- ldrh r1, [r2]
- adds r0, r1
- strh r0, [r2]
- mov r0, sp
- bl sub_80A6B30
- ldrh r0, [r4, 0xA]
- ldrh r3, [r4, 0xC]
- adds r0, r3
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _08107C18
- ldr r1, =gPlttBufferFaded
- mov r0, sp
- ldrb r0, [r0, 0x8]
- lsls r0, 4
- adds r0, 0x7
- lsls r0, 1
- adds r0, r1
- ldrh r6, [r0]
- movs r2, 0x6
- adds r7, r1, 0
- adds r3, r7, 0
- mov r4, sp
-_08107BDE:
- ldrb r0, [r4, 0x8]
- lsls r0, 4
- adds r1, r2, 0x1
- adds r0, r1
- lsls r1, r0, 1
- adds r1, r3
- subs r0, 0x1
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r1]
- subs r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _08107BDE
- mov r0, sp
- ldrb r0, [r0, 0x8]
- lsls r0, 4
- adds r0, 0x1
- lsls r0, 1
- adds r0, r7
- strh r6, [r0]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x12]
-_08107C18:
- ldr r1, =gTasks
- lsls r2, r5, 2
- adds r0, r2, r5
- lsls r0, 3
- adds r3, r0, r1
- ldrh r0, [r3, 0x14]
- adds r0, 0x1
- strh r0, [r3, 0x14]
- lsls r0, 16
- asrs r0, 16
- adds r4, r1, 0
- adds r6, r2, 0
- cmp r0, 0x1
- ble _08107C86
- movs r0, 0
- strh r0, [r3, 0x14]
- ldrh r0, [r3, 0xE]
- adds r2, r0, 0x1
- strh r2, [r3, 0xE]
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0xD
- bgt _08107C62
- movs r1, 0x26
- ldrsh r0, [r3, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- movs r0, 0x10
- subs r0, r2
- lsls r0, 8
- orrs r2, r0
- strh r2, [r1, 0xA]
- ldrh r0, [r3, 0x10]
- adds r0, 0x1
- strh r0, [r3, 0x10]
-_08107C62:
- movs r1, 0xE
- ldrsh r0, [r3, r1]
- cmp r0, 0x36
- ble _08107C86
- ldrh r2, [r3, 0x10]
- subs r2, 0x1
- strh r2, [r3, 0x10]
- movs r1, 0x26
- ldrsh r0, [r3, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- movs r0, 0x10
- subs r0, r2
- lsls r0, 8
- orrs r2, r0
- strh r2, [r1, 0xA]
-_08107C86:
- adds r0, r6, r5
- lsls r0, 3
- adds r2, r0, r4
- movs r3, 0x26
- ldrsh r1, [r2, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- ldrh r0, [r0, 0xA]
- movs r3, 0x1F
- ands r3, r0
- cmp r3, 0
- bne _08107CA8
- strh r3, [r2, 0x8]
- ldr r0, =sub_8107CC4
- str r0, [r2]
-_08107CA8:
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107B84
-
- thumb_func_start sub_8107CC4
-sub_8107CC4: @ 8107CC4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r7, =gBattle_BG1_X
- ldr r0, =gBattle_BG1_Y
- mov r8, r0
- ldr r6, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r6
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08107D08
- movs r0, 0x1
- bl sub_80A6C68
- movs r0, 0x2
- bl sub_80A6C68
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08107D4A
- .pool
-_08107D08:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _08107D1C
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- bl SetAnimBgAttribute
-_08107D1C:
- movs r0, 0
- strh r0, [r7]
- mov r1, r8
- strh r0, [r1]
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- ldr r1, =0x0000ffff
- strh r1, [r0, 0x26]
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_08107D4A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107CC4
-
- thumb_func_start sub_8107D58
-sub_8107D58: @ 8107D58
- push {r4-r7,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _08107D74
- b _08107EAC
-_08107D74:
- cmp r0, 0x1
- bgt _08107D84
- cmp r0, 0
- beq _08107D8C
- b _08108022
- .pool
-_08107D84:
- cmp r0, 0x2
- bne _08107D8A
- b _08107F78
-_08107D8A:
- b _08108022
-_08107D8C:
- movs r3, 0
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- ldr r1, =gScanlineEffectRegBuffers
- mov r12, r1
- cmp r3, r0
- bge _08107DCA
- mov r7, r12
- movs r5, 0xF0
- lsls r5, 3
- add r5, r12
- ldr r6, =0x0000ffff
-_08107DA4:
- lsls r2, r3, 16
- asrs r2, 16
- lsls r1, r2, 1
- adds r3, r1, r7
- adds r1, r5
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
- ldrh r1, [r4, 0xC]
- adds r0, r6, 0
- ands r0, r1
- strh r0, [r3]
- adds r2, 0x1
- lsls r2, 16
- lsrs r3, r2, 16
- asrs r2, 16
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r2, r0
- blt _08107DA4
-_08107DCA:
- ldrh r3, [r4, 0x10]
- lsls r2, r3, 16
- asrs r1, r2, 16
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bge _08107E04
- ldr r5, =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r5, r0
- ldr r7, =0x0000ffff
-_08107DE2:
- asrs r2, 16
- lsls r1, r2, 1
- adds r3, r1, r5
- adds r1, r6
- ldrh r0, [r4, 0xA]
- strh r0, [r1]
- ldrh r1, [r4, 0xA]
- adds r0, r7, 0
- ands r0, r1
- strh r0, [r3]
- adds r2, 0x1
- lsls r2, 16
- asrs r1, r2, 16
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- blt _08107DE2
-_08107E04:
- ldrh r3, [r4, 0x12]
- lsls r2, r3, 16
- asrs r0, r2, 16
- cmp r0, 0x9F
- bgt _08107E3A
- ldr r5, =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r5, r0
- ldr r7, =0x0000ffff
-_08107E18:
- asrs r2, 16
- lsls r1, r2, 1
- adds r3, r1, r5
- adds r1, r6
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
- ldrh r1, [r4, 0xC]
- adds r0, r7, 0
- ands r0, r1
- strh r0, [r3]
- adds r2, 0x1
- lsls r2, 16
- lsrs r3, r2, 16
- lsls r2, r3, 16
- asrs r0, r2, 16
- cmp r0, 0x9F
- ble _08107E18
-_08107E3A:
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08107E64
- lsls r0, r3, 16
- asrs r0, 15
- mov r3, r12
- adds r2, r0, r3
- movs r1, 0xF0
- lsls r1, 3
- add r1, r12
- adds r0, r1
- ldrh r1, [r4, 0xA]
- strh r1, [r0]
- ldrh r0, [r4, 0xA]
- b _08107E7A
- .pool
-_08107E64:
- lsls r0, r3, 16
- asrs r0, 15
- mov r1, r12
- adds r2, r0, r1
- movs r1, 0xF0
- lsls r1, 3
- add r1, r12
- adds r0, r1
- ldrh r1, [r4, 0xC]
- strh r1, [r0]
- ldrh r0, [r4, 0xC]
-_08107E7A:
- strh r0, [r2]
- ldr r0, =0x04000052
- str r0, [sp]
- 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
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08108022
- .pool
-_08107EAC:
- movs r2, 0xE
- ldrsh r1, [r4, r2]
- cmp r1, 0
- bne _08107EC4
- ldrh r0, [r4, 0x10]
- subs r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- cmp r0, 0
- bgt _08107ED8
- strh r1, [r4, 0x10]
- b _08107ED2
-_08107EC4:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6F
- ble _08107ED8
-_08107ED2:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08107ED8:
- movs r3, 0
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r3, r0
- bge _08107F0C
- ldr r6, =gScanlineEffectRegBuffers
- ldr r5, =gScanlineEffect
-_08107EE6:
- lsls r1, r3, 16
- asrs r1, 16
- lsls r3, r1, 1
- ldrb r2, [r5, 0x14]
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 7
- adds r3, r0
- adds r3, r6
- ldrh r0, [r4, 0xC]
- strh r0, [r3]
- adds r1, 0x1
- lsls r1, 16
- lsrs r3, r1, 16
- asrs r1, 16
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r1, r0
- blt _08107EE6
-_08107F0C:
- ldrh r3, [r4, 0x10]
- lsls r2, r3, 16
- asrs r1, r2, 16
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bge _08107F40
- ldr r6, =gScanlineEffectRegBuffers
- ldr r5, =gScanlineEffect
-_08107F1E:
- asrs r3, r2, 16
- lsls r2, r3, 1
- ldrb r1, [r5, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r6
- ldrh r0, [r4, 0xA]
- strh r0, [r2]
- adds r3, 0x1
- lsls r2, r3, 16
- asrs r1, r2, 16
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- blt _08107F1E
-_08107F40:
- ldrh r3, [r4, 0x12]
- lsls r1, r3, 16
- asrs r0, r1, 16
- cmp r0, 0x9F
- bgt _08108022
- ldr r6, =gScanlineEffectRegBuffers
- ldr r5, =gScanlineEffect
-_08107F4E:
- asrs r3, r1, 16
- lsls r2, r3, 1
- ldrb r1, [r5, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r6
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- lsls r1, r3, 16
- asrs r0, r1, 16
- cmp r0, 0x9F
- ble _08107F4E
- b _08108022
- .pool
-_08107F78:
- movs r3, 0
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r3, r0
- bge _08107FAC
- ldr r6, =gScanlineEffectRegBuffers
- ldr r5, =gScanlineEffect
-_08107F86:
- lsls r1, r3, 16
- asrs r1, 16
- lsls r3, r1, 1
- ldrb r2, [r5, 0x14]
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 7
- adds r3, r0
- adds r3, r6
- ldrh r0, [r4, 0xC]
- strh r0, [r3]
- adds r1, 0x1
- lsls r1, 16
- lsrs r3, r1, 16
- asrs r1, 16
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r1, r0
- blt _08107F86
-_08107FAC:
- ldrh r3, [r4, 0x10]
- lsls r2, r3, 16
- asrs r1, r2, 16
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bge _08107FE0
- ldr r6, =gScanlineEffectRegBuffers
- ldr r5, =gScanlineEffect
-_08107FBE:
- asrs r3, r2, 16
- lsls r2, r3, 1
- ldrb r1, [r5, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r6
- ldrh r0, [r4, 0xA]
- strh r0, [r2]
- adds r3, 0x1
- lsls r2, r3, 16
- asrs r1, r2, 16
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- blt _08107FBE
-_08107FE0:
- ldrh r3, [r4, 0x12]
- lsls r1, r3, 16
- asrs r0, r1, 16
- cmp r0, 0x9F
- bgt _0810800C
- ldr r6, =gScanlineEffectRegBuffers
- ldr r5, =gScanlineEffect
-_08107FEE:
- asrs r3, r1, 16
- lsls r2, r3, 1
- ldrb r1, [r5, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r6
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- lsls r1, r3, 16
- asrs r0, r1, 16
- cmp r0, 0x9F
- ble _08107FEE
-_0810800C:
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _08108022
- bl ScanlineEffect_Stop
- adds r0, r7, 0
- bl DestroyTask
-_08108022:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107D58
-
- thumb_func_start sub_8108034
-sub_8108034: @ 8108034
- 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 sub_80A6980
- 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 _0810807A
- subs r0, r6, r0
- lsls r0, 16
- lsrs r1, r0, 16
-_0810807A:
- strh r5, [r4, 0x30]
- strh r1, [r4, 0x32]
- ldr r0, =sub_8108098
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8108034
-
- thumb_func_start sub_8108098
-sub_8108098: @ 8108098
- 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 _081080BC
- lsls r0, r3, 16
- asrs r0, 24
- negs r0, r0
- b _081080C0
-_081080BC:
- lsls r0, r3, 16
- asrs r0, 24
-_081080C0:
- 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 _081080DE
- adds r0, r2, 0
- bl DestroyAnimSprite
-_081080DE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8108098
-
- thumb_func_start sub_81080E4
-sub_81080E4: @ 81080E4
- 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
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x26]
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x22]
- strh r0, [r4, 0x12]
- bl sub_8108384
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl PrepareBattlerSpriteForRotScale
- ldr r0, =sub_8108140
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81080E4
-
- thumb_func_start sub_8108140
-sub_8108140: @ 8108140
- push {r4-r6,lr}
- sub sp, 0xC
- 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, 0x7
- bls _0810815C
- b _0810837A
-_0810815C:
- lsls r0, 2
- ldr r1, =_08108170
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08108170:
- .4byte _08108190
- .4byte _081081B6
- .4byte _08108248
- .4byte _0810827E
- .4byte _08108292
- .4byte _081082A0
- .4byte _08108320
- .4byte _0810836C
-_08108190:
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0x80
- lsls r3, 1
- movs r0, 0xE0
- str r0, [sp]
- movs r0, 0x80
- lsls r0, 2
- str r0, [sp, 0x4]
- movs r0, 0x20
- str r0, [sp, 0x8]
- adds r0, r4, 0
- adds r2, r3, 0
- bl sub_80A805C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_081081B6:
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08108212
- movs r0, 0
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08108200
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3
- strh r1, [r0, 0x24]
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- adds r1, 0x1
- strh r1, [r0, 0x22]
- b _08108212
- .pool
-_08108200:
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =0x0000fffd
- strh r1, [r0, 0x24]
-_08108212:
- adds r0, r4, 0
- bl sub_80A80C8
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _08108222
- b _0810837A
-_08108222:
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl SetBattlerSpriteYOffsetFromYScale
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r5, [r0, 0x24]
- strh r5, [r4, 0xE]
- b _0810835C
- .pool
-_08108248:
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bgt _08108258
- b _0810837A
-_08108258:
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0x80
- lsls r3, 2
- movs r0, 0xC0
- lsls r0, 1
- str r0, [sp]
- movs r0, 0xE0
- str r0, [sp, 0x4]
- movs r0, 0x8
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r2, 0xE0
- bl sub_80A805C
- movs r0, 0
- strh r0, [r4, 0xE]
- b _0810835E
-_0810827E:
- adds r0, r4, 0
- bl sub_80A80C8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0810837A
- strh r0, [r4, 0xE]
- strh r0, [r4, 0x10]
- b _0810835E
-_08108292:
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_8108408
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_081082A0:
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0810837A
- movs r0, 0
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081082D8
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- adds r1, 0x2
- b _081082EA
- .pool
-_081082D8:
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- subs r1, 0x2
-_081082EA:
- strh r1, [r0, 0x26]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0xA
- bne _0810837A
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0xC0
- lsls r2, 1
- movs r0, 0x80
- lsls r0, 1
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x8
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r3, 0xE0
- bl sub_80A805C
- movs r0, 0
- strh r0, [r4, 0xE]
- strh r0, [r4, 0x10]
- b _0810835E
- .pool
-_08108320:
- ldr r6, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r1, [r0, 0x22]
- subs r1, 0x1
- strh r1, [r0, 0x22]
- adds r0, r4, 0
- bl sub_80A80C8
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0810837A
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl ResetSpriteRotScale
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r1, [r4, 0x12]
- strh r1, [r0, 0x22]
-_0810835C:
- strh r5, [r4, 0x10]
-_0810835E:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0810837A
- .pool
-_0810836C:
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0810837A
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_0810837A:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8108140
-
- thumb_func_start sub_8108384
-sub_8108384: @ 8108384
- push {r4,r5,lr}
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _081083B8
- ldr r1, =gBattlerPartyIndexes
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- b _081083C8
- .pool
-_081083B4:
- adds r0, r2, 0
- b _081083FA
-_081083B8:
- ldr r1, =gBattlerPartyIndexes
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gEnemyParty
-_081083C8:
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x3A
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r3, r0, 16
- lsrs r4, 18
- movs r2, 0
-_081083E6:
- adds r1, r2, 0x1
- adds r0, r4, 0
- muls r0, r1
- cmp r3, r0
- blt _081083B4
- lsls r0, r1, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _081083E6
- movs r0, 0x3
-_081083FA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8108384
-
- thumb_func_start sub_8108408
-sub_8108408: @ 8108408
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r7, r0, 0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0xAC
- ldrb r0, [r4]
- bl GetBattlerSpriteSubpriority
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- ldrh r1, [r7, 0xA]
- movs r0, 0x4
- subs r0, r1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r0, 0
- bgt _08108458
- movs r1, 0x1
-_08108458:
- movs r0, 0
- str r0, [sp, 0x4]
- lsls r0, r1, 16
- mov r10, r8
- mov r9, r6
- mov r1, r10
- lsls r1, 4
- str r1, [sp, 0xC]
- mov r1, r9
- lsls r1, 4
- str r1, [sp, 0x10]
- asrs r0, 16
- mov r8, r0
-_08108472:
- ldr r0, =gUnknown_08595268
- mov r1, r10
- mov r2, r9
- ldr r3, [sp, 0x8]
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r6, r5, 16
- cmp r2, 0x40
- beq _081084DA
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r5, r0, r1
- mov r0, sp
- ldrh r0, [r0, 0x4]
- strh r0, [r5, 0x30]
- mov r1, sp
- ldrh r1, [r1, 0xC]
- strh r1, [r5, 0x32]
- mov r0, sp
- ldrh r0, [r0, 0x10]
- strh r0, [r5, 0x34]
- asrs r4, r6, 16
- adds r0, r4, 0
- movs r1, 0x40
- bl Cos
- strh r0, [r5, 0x36]
- adds r0, r4, 0
- movs r1, 0x40
- bl Sin
- strh r0, [r5, 0x38]
- mov r1, sp
- ldrh r1, [r1]
- strh r1, [r5, 0x3A]
- movs r0, 0x2
- strh r0, [r5, 0x3C]
- ldrh r1, [r7, 0xC]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081084D4
- adds r0, r5, 0
- bl sub_810851C
-_081084D4:
- ldrh r0, [r7, 0xC]
- adds r0, 0x1
- strh r0, [r7, 0xC]
-_081084DA:
- mov r1, r8
- lsls r0, r1, 1
- asrs r1, r6, 16
- adds r1, r0
- lsls r1, 16
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r5, r0, 16
- ldr r1, [sp, 0x4]
- lsls r0, r1, 16
- asrs r0, 16
- add r0, r8
- lsls r0, 16
- lsrs r1, r0, 16
- str r1, [sp, 0x4]
- asrs r0, 16
- cmp r0, 0x13
- ble _08108472
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8108408
-
- thumb_func_start sub_810851C
-sub_810851C: @ 810851C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0810852E
- cmp r0, 0x1
- beq _08108564
- b _081085BE
-_0810852E:
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- movs r1, 0x6
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 1
- adds r1, r0
- ldrh r0, [r4, 0x36]
- adds r1, r0
- strh r1, [r4, 0x36]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 1
- adds r1, r0
- ldrh r2, [r4, 0x38]
- adds r1, r2
- strh r1, [r4, 0x38]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_08108564:
- ldrh r0, [r4, 0x36]
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x38]
- ldrh r2, [r4, 0x34]
- adds r1, r2
- strh r1, [r4, 0x34]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x20]
- lsls r1, 16
- asrs r2, r1, 20
- strh r2, [r4, 0x22]
- adds r0, 0x8
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 17
- cmp r0, r1
- bhi _0810859A
- adds r1, r2, 0
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- blt _0810859A
- cmp r1, 0x78
- ble _081085BE
-_0810859A:
- 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
-_081085BE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810851C
-
- thumb_func_start sub_81085C8
-sub_81085C8: @ 81085C8
- 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
- bl sub_8108384
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xA]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08108600
- movs r0, 0x88
- strh r0, [r4, 0x10]
- movs r0, 0x28
- b _08108606
- .pool
-_08108600:
- movs r0, 0x10
- strh r0, [r4, 0x10]
- movs r0, 0x50
-_08108606:
- strh r0, [r4, 0x14]
- movs r0, 0x62
- strh r0, [r4, 0x12]
- ldrh r0, [r4, 0x10]
- adds r0, 0x31
- strh r0, [r4, 0x16]
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, 0x5
- strh r0, [r4, 0x20]
- ldr r0, =sub_810862C
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81085C8
-
- thumb_func_start sub_810862C
-sub_810862C: @ 810862C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r7, =gTasks
- adds r4, r0, r7
- movs r0, 0x8
- ldrsh r2, [r4, r0]
- cmp r2, 0
- beq _08108654
- cmp r2, 0x1
- beq _08108704
- b _08108712
- .pool
-_08108654:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _0810866A
- strh r2, [r4, 0xC]
- adds r0, r4, 0
- bl sub_810871C
-_0810866A:
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081086E4
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _081086E4
- ldr r5, =gBattleAnimArgs
- movs r1, 0x1
- mov r8, r1
- mov r2, r8
- strh r2, [r5]
- strh r0, [r5, 0x2]
- movs r0, 0xC
- strh r0, [r5, 0x4]
- ldr r6, =sub_81152DC
- adds r0, r6, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _081086B4
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r7
- ldr r1, [r0]
- adds r0, r2, 0
- bl _call_via_r1
- ldr r1, =gAnimVisualTaskCount
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_081086B4:
- movs r0, 0x3
- strh r0, [r5]
- adds r0, r6, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _081086E0
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r7
- ldr r1, [r0]
- adds r0, r2, 0
- bl _call_via_r1
- ldr r1, =gAnimVisualTaskCount
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_081086E0:
- mov r0, r8
- strh r0, [r4, 0x22]
-_081086E4:
- movs r2, 0x1E
- ldrsh r1, [r4, r2]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r1, r0
- blt _08108712
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08108712
- .pool
-_08108704:
- movs r2, 0x1A
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08108712
- adds r0, r1, 0
- bl DestroyAnimVisualTask
-_08108712:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_810862C
-
- thumb_func_start sub_810871C
-sub_810871C: @ 810871C
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r1, =gSineTable
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r0, 0x3
- asrs r0, 4
- ldrh r2, [r4, 0x14]
- adds r0, r2
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =gUnknown_08595268
- movs r2, 0x16
- ldrsh r1, [r4, r2]
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _08108776
- 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_81087C0
- str r2, [r1]
- adds r0, r3
- strh r5, [r0, 0x38]
- strh r6, [r0, 0x3A]
- movs r1, 0x9
- strh r1, [r0, 0x3C]
- ldrh r0, [r4, 0x1A]
- adds r0, 0x1
- strh r0, [r4, 0x1A]
-_08108776:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- ldrh r0, [r4, 0x18]
- adds r0, 0x27
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x18]
- movs r0, 0x16
- ldrsh r1, [r4, r0]
- ldr r0, =0x41c64e6d
- muls r0, r1
- ldr r1, =0x00003039
- adds r0, r1
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl __modsi3
- ldrh r1, [r4, 0x10]
- adds r1, r0
- strh r1, [r4, 0x16]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810871C
-
- thumb_func_start sub_81087C0
-sub_81087C0: @ 81087C0
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08108856
- ldrh r0, [r5, 0x22]
- adds r0, 0x8
- strh r0, [r5, 0x22]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x38
- ldrsh r1, [r5, r2]
- cmp r0, r1
- blt _08108856
- ldr r2, =gTasks
- movs r3, 0x3A
- ldrsh r1, [r5, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x1
- strh r1, [r0, 0x1C]
- ldr r0, =gUnknown_08597388
- movs r2, 0x20
- ldrsh r1, [r5, r2]
- movs r3, 0x22
- ldrsh r2, [r5, r3]
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x30]
- cmp r0, 0x40
- beq _08108850
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- movs r1, 0x3
- bl StartSpriteAffineAnim
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r5, 0x3A]
- strh r1, [r0, 0x3A]
- movs r3, 0x30
- ldrsh r1, [r5, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r5, 0x3C]
- strh r1, [r0, 0x3C]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, =sub_810886C
- str r1, [r0]
-_08108850:
- adds r0, r5, 0
- bl DestroySprite
-_08108856:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81087C0
-
- thumb_func_start sub_810886C
-sub_810886C: @ 810886C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _081088D8
- movs r0, 0
- strh r0, [r4, 0x30]
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- 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
- strb r0, [r3]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bne _081088D8
- 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
-_081088D8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810886C
-
- thumb_func_start sub_81088E4
-sub_81088E4: @ 81088E4
- 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
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0
- strh r0, [r5, 0xE]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x10]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- movs r2, 0x1
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0
- bne _08108928
- movs r1, 0x1
-_08108928:
- strh r1, [r5, 0x16]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0810893C
- movs r1, 0x16
- ldrsh r0, [r5, r1]
- negs r0, r0
- strh r0, [r5, 0x16]
-_0810893C:
- movs r2, 0x16
- ldrsh r0, [r5, r2]
- lsls r0, 3
- ldrh r1, [r5, 0xE]
- adds r0, r1
- strh r0, [r5, 0x12]
- movs r2, 0x16
- ldrsh r1, [r5, r2]
- lsls r1, 3
- ldrh r0, [r5, 0x10]
- subs r0, r1
- strh r0, [r5, 0x14]
- ldr r0, =0x0000ffe0
- strh r0, [r5, 0x1A]
- strh r6, [r5, 0xA]
- strh r6, [r5, 0x8]
- ldr r0, =sub_8108978
- str r0, [r5]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81088E4
-
- thumb_func_start sub_8108978
-sub_8108978: @ 8108978
- 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, 0x6
- bls _08108992
- b _08108AB2
-_08108992:
- lsls r0, 2
- ldr r1, =_081089A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081089A4:
- .4byte _081089C0
- .4byte _081089D0
- .4byte _081089EA
- .4byte _08108A2C
- .4byte _08108A4E
- .4byte _08108A7C
- .4byte _08108AA2
-_081089C0:
- adds r0, r4, 0
- bl sub_8108AC0
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08108AB8
- b _08108AAA
-_081089D0:
- adds r0, r4, 0
- bl sub_8108AC0
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _08108AB8
- movs r0, 0
- strh r0, [r4, 0xA]
- b _08108AAA
-_081089EA:
- adds r0, r4, 0
- bl sub_8108AC0
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- ldrh r0, [r4, 0x12]
- adds r1, r0
- movs r2, 0
- strh r1, [r4, 0x12]
- adds r1, 0x10
- lsls r1, 16
- movs r0, 0x88
- lsls r0, 17
- cmp r1, r0
- bls _08108AB8
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _08108A28
- movs r0, 0x1
- strh r0, [r4, 0x22]
- movs r0, 0x6
- strh r0, [r4, 0x8]
- strh r2, [r4, 0xA]
- b _08108AB8
-_08108A28:
- strh r2, [r4, 0xA]
- b _08108AAA
-_08108A2C:
- adds r0, r4, 0
- bl sub_8108AC0
- movs r0, 0x16
- ldrsh r1, [r4, r0]
- lsls r1, 1
- ldrh r0, [r4, 0x14]
- subs r0, r1
- strh r0, [r4, 0x14]
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _08108AB8
- b _08108AAA
-_08108A4E:
- adds r0, r4, 0
- bl sub_8108AC0
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- ldrh r0, [r4, 0x12]
- subs r0, r1
- strh r0, [r4, 0x12]
- adds r0, 0x10
- lsls r0, 16
- movs r1, 0x88
- lsls r1, 17
- cmp r0, r1
- bls _08108AB8
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- movs r0, 0
- strh r0, [r4, 0xA]
- b _08108AAA
-_08108A7C:
- adds r0, r4, 0
- bl sub_8108AC0
- movs r0, 0x16
- ldrsh r1, [r4, r0]
- lsls r1, 1
- ldrh r0, [r4, 0x14]
- subs r0, r1
- strh r0, [r4, 0x14]
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _08108AB8
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _08108AB8
-_08108AA2:
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08108AB8
-_08108AAA:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08108AB8
-_08108AB2:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_08108AB8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8108978
-
- thumb_func_start sub_8108AC0
-sub_8108AC0: @ 8108AC0
- push {r4-r6,lr}
- adds r6, r0, 0
- ldrh r0, [r6, 0xC]
- adds r0, 0x1
- strh r0, [r6, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08108B1A
- movs r0, 0
- strh r0, [r6, 0xC]
- ldr r0, =gUnknown_08595268
- movs r2, 0xE
- ldrsh r1, [r6, r2]
- movs r3, 0x10
- ldrsh r2, [r6, r3]
- movs r3, 0xA
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _08108B1A
- ldr r5, =gSprites
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r0, r4, r5
- movs r1, 0x10
- strh r1, [r0, 0x2E]
- ldrh r1, [r6, 0x12]
- strh r1, [r0, 0x32]
- ldrh r1, [r6, 0x14]
- strh r1, [r0, 0x36]
- ldrh r1, [r6, 0x1A]
- strh r1, [r0, 0x38]
- bl InitAnimArcTranslation
- adds r5, 0x1C
- adds r4, r5
- ldr r0, =sub_8108B2C
- str r0, [r4]
- ldrh r0, [r6, 0x18]
- adds r0, 0x1
- strh r0, [r6, 0x18]
-_08108B1A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8108AC0
-
- thumb_func_start sub_8108B2C
-sub_8108B2C: @ 8108B2C
- push {r4-r6,lr}
- adds r6, r0, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _08108B86
- ldrh r0, [r6, 0x24]
- ldrh r1, [r6, 0x20]
- adds r0, r1
- strh r0, [r6, 0x20]
- ldrh r0, [r6, 0x26]
- ldrh r1, [r6, 0x22]
- adds r0, r1
- strh r0, [r6, 0x22]
- movs r0, 0x6
- strh r0, [r6, 0x2E]
- bl Random2
- movs r4, 0x1F
- adds r1, r4, 0
- ands r1, r0
- ldr r5, =0x0000fff0
- adds r1, r5
- ldrh r0, [r6, 0x20]
- adds r1, r0
- strh r1, [r6, 0x32]
- bl Random2
- ands r4, r0
- adds r4, r5
- ldrh r1, [r6, 0x22]
- adds r4, r1
- strh r4, [r6, 0x36]
- bl Random2
- movs r1, 0x7
- ands r1, r0
- mvns r1, r1
- strh r1, [r6, 0x38]
- adds r0, r6, 0
- bl InitAnimArcTranslation
- ldr r0, =sub_8108B94
- str r0, [r6, 0x1C]
-_08108B86:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8108B2C
-
- thumb_func_start sub_8108B94
-sub_8108B94: @ 8108B94
- push {r4-r6,lr}
- adds r5, r0, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _08108BD0
- movs r4, 0
- ldr r6, =gTasks
-_08108BA6:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r6
- ldr r1, [r2]
- ldr r0, =sub_8108978
- cmp r1, r0
- bne _08108BC6
- movs r0, 0x1
- strh r0, [r2, 0x1C]
- ldrh r0, [r2, 0x18]
- subs r0, 0x1
- strh r0, [r2, 0x18]
- adds r0, r5, 0
- bl DestroySprite
-_08108BC6:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xF
- bls _08108BA6
-_08108BD0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8108B94
-
- thumb_func_start sub_8108BE0
-sub_8108BE0: @ 8108BE0
- ldr r2, =gBattleAnimArgs
- ldrh r1, [r2]
- strh r1, [r0, 0x20]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x22]
- ldrh r1, [r2, 0x4]
- strh r1, [r0, 0x2E]
- ldrh r1, [r2, 0x6]
- strh r1, [r0, 0x30]
- ldrh r1, [r2, 0x8]
- strh r1, [r0, 0x32]
- ldrh r1, [r2, 0xA]
- strh r1, [r0, 0x34]
- ldr r1, =sub_8108C08
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end sub_8108BE0
-
- thumb_func_start sub_8108C08
-sub_8108C08: @ 8108C08
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x36]
- ldrh r1, [r4, 0x2E]
- subs r0, r1
- strh r0, [r4, 0x36]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl __divsi3
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- ldrh r2, [r4, 0x38]
- adds r0, r2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- cmp r0, 0
- bne _08108C4C
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08108C4C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8108C08
-
- thumb_func_start sub_8108C54
-sub_8108C54: @ 8108C54
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x34]
- adds r0, r1
- strh r0, [r4, 0x34]
- ldrh r1, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- adds r1, r2
- strh r1, [r4, 0x36]
- lsls r0, 16
- asrs r0, 23
- strh r0, [r4, 0x24]
- lsls r1, 16
- asrs r1, 23
- strh r1, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _08108C8C
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
-_08108C8C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8108C54
-
- thumb_func_start sub_8108C94
-sub_8108C94: @ 8108C94
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl InitAnimSpritePos
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x30]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x34]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x36]
- ldr r0, =sub_8108CDC
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8108C94
-
- thumb_func_start sub_8108CDC
-sub_8108CDC: @ 8108CDC
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- subs r6, r1, r0
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- subs r5, r1, r0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- muls r0, r6
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl __divsi3
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- muls r0, r5
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl __divsi3
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _08108D34
- movs r0, 0
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_8108D54
-_08108D34:
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _08108D46
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08108D46:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8108CDC
-
- thumb_func_start sub_8108D54
-sub_8108D54: @ 8108D54
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- adds r4, r1, 0
- adds r5, r2, 0
- movs r2, 0x2E
- ldrsh r1, [r0, r2]
- lsrs r2, r1, 31
- adds r1, r2
- lsls r1, 15
- lsrs r1, 16
- str r1, [sp]
- ldrh r1, [r0, 0x24]
- ldrh r3, [r0, 0x20]
- adds r1, r3
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- ldrh r1, [r0, 0x26]
- ldrh r0, [r0, 0x22]
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- bl Random2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r0, r5, r0
- subs r0, 0x5
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- bl Random2
- negs r4, r4
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r4, r0
- subs r4, 0x5
- lsls r4, 16
- lsrs r7, r4, 16
- movs r6, 0
- mov r0, r8
- lsls r0, 16
- mov r8, r0
- mov r1, r10
- lsls r1, 16
- str r1, [sp, 0xC]
- ldr r2, [sp]
- lsls r2, 16
- str r2, [sp, 0x10]
- asrs r1, 16
- lsls r0, r7, 16
- asrs r5, r0, 16
- str r0, [sp, 0x14]
- negs r3, r5
- str r3, [sp, 0x4]
- asrs r0, r2, 16
- adds r1, r0
- lsls r1, 16
- mov r10, r1
-_08108DE2:
- ldr r0, =gUnknown_08595310
- mov r2, r8
- asrs r1, r2, 16
- mov r3, r10
- asrs r2, r3, 16
- movs r3, 0x82
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r4, r0, r1
- movs r0, 0x14
- strh r0, [r4, 0x2E]
- mov r0, r9
- strh r0, [r4, 0x30]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSpriteSubpriority
- subs r0, 0x1
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- cmp r5, 0
- bge _08108E30
- mov r1, sp
- ldrh r1, [r1, 0x4]
- strh r1, [r4, 0x32]
- b _08108E32
- .pool
-_08108E30:
- strh r7, [r4, 0x32]
-_08108E32:
- lsls r0, r6, 16
- movs r2, 0x80
- lsls r2, 9
- adds r0, r2
- lsrs r6, r0, 16
- cmp r0, 0
- ble _08108DE2
- movs r6, 0
- ldr r3, [sp, 0xC]
- asrs r1, r3, 16
- ldr r0, [sp, 0x14]
- asrs r5, r0, 16
- negs r2, r5
- str r2, [sp, 0x8]
- ldr r3, [sp, 0x10]
- asrs r0, r3, 16
- subs r1, r0
- lsls r1, 16
- mov r10, r1
-_08108E58:
- ldr r0, =gUnknown_08595310
- mov r2, r8
- asrs r1, r2, 16
- mov r3, r10
- asrs r2, r3, 16
- movs r3, 0x82
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r4, r0, r1
- movs r0, 0x14
- strh r0, [r4, 0x2E]
- mov r0, r9
- strh r0, [r4, 0x30]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSpriteSubpriority
- subs r0, 0x1
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- cmp r5, 0
- ble _08108EA8
- mov r1, sp
- ldrh r1, [r1, 0x8]
- strh r1, [r4, 0x32]
- b _08108EAA
- .pool
-_08108EA8:
- strh r7, [r4, 0x32]
-_08108EAA:
- lsls r0, r6, 16
- movs r2, 0x80
- lsls r2, 9
- adds r0, r2
- lsrs r6, r0, 16
- cmp r0, 0
- ble _08108E58
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8108D54
-
- .align 2, 0