summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2018-08-19 13:26:22 -0500
committerMarcus Huderle <huderlem@gmail.com>2018-08-19 13:26:22 -0500
commitbbe876153c2a0903a30b37734874bf63ca6d8a10 (patch)
tree7efa03650e784e7ff6ac7d479b5315194a4081fb /asm
parent300f2274f381b5a700b6a67847c3b9f97c67a541 (diff)
parentc2218920d57c883dc83078c2d1d7cf3af82babbb (diff)
Merge remote-tracking branch 'upstream/master' into ice
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_anim_812C144.s4783
-rw-r--r--asm/contest_painting_effects.s1362
-rw-r--r--asm/pokemon_storage_system.s1485
-rw-r--r--asm/pokenav.s8261
4 files changed, 3 insertions, 15888 deletions
diff --git a/asm/battle_anim_812C144.s b/asm/battle_anim_812C144.s
index 4fea7049b..8a062e352 100644
--- a/asm/battle_anim_812C144.s
+++ b/asm/battle_anim_812C144.s
@@ -5,4789 +5,6 @@
.text
- thumb_func_start sub_812F474
-sub_812F474: @ 812F474
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _0812F4A8 @ =gTasks
- adds r6, r0, r1
- ldrb r0, [r6, 0x12]
- bl GetBattlerPosition_permutated
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0812F4B4
- ldr r0, _0812F4AC @ =gBattle_BG1_X
- ldrh r0, [r0]
- str r0, [sp, 0x4]
- ldr r0, _0812F4B0 @ =gBattle_BG1_Y
- b _0812F4BC
- .align 2, 0
-_0812F4A8: .4byte gTasks
-_0812F4AC: .4byte gBattle_BG1_X
-_0812F4B0: .4byte gBattle_BG1_Y
-_0812F4B4:
- ldr r0, _0812F4D4 @ =gBattle_BG2_X
- ldrh r0, [r0]
- str r0, [sp, 0x4]
- ldr r0, _0812F4D8 @ =gBattle_BG2_Y
-_0812F4BC:
- ldrh r0, [r0]
- str r0, [sp, 0x8]
- movs r1, 0x8
- ldrsh r0, [r6, r1]
- cmp r0, 0x1
- bne _0812F4CA
- b _0812F6A6
-_0812F4CA:
- cmp r0, 0x1
- bgt _0812F4DC
- cmp r0, 0
- beq _0812F4EA
- b _0812F712
- .align 2, 0
-_0812F4D4: .4byte gBattle_BG2_X
-_0812F4D8: .4byte gBattle_BG2_Y
-_0812F4DC:
- cmp r0, 0x2
- bne _0812F4E2
- b _0812F6C4
-_0812F4E2:
- cmp r0, 0x3
- bne _0812F4E8
- b _0812F70C
-_0812F4E8:
- b _0812F712
-_0812F4EA:
- movs r2, 0x24
- ldrsh r0, [r6, r2]
- lsls r0, 17
- lsrs r5, r0, 16
- movs r3, 0
- str r3, [sp]
- mov r9, r3
- movs r4, 0
- ldrh r0, [r6, 0xA]
- adds r0, 0x2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r6, 0xA]
- ldrh r7, [r6, 0xA]
- mov r8, r7
- movs r0, 0x14
- ldrsh r1, [r6, r0]
- movs r0, 0xFC
- lsls r0, 3
- bl __divsi3
- strh r0, [r6, 0x1A]
- movs r1, 0x16
- ldrsh r0, [r6, r1]
- lsls r0, 1
- movs r2, 0x1A
- ldrsh r1, [r6, r2]
- bl __divsi3
- negs r0, r0
- strh r0, [r6, 0x1C]
- ldrh r0, [r6, 0x16]
- strh r0, [r6, 0x1E]
- lsls r0, 16
- asrs r0, 21
- lsls r0, 16
- lsrs r7, r0, 16
- strh r7, [r6, 0x20]
- ldrh r2, [r6, 0x24]
- lsls r3, r2, 16
- mov r12, r3
- asrs r1, r3, 16
- movs r3, 0x22
- ldrsh r0, [r6, r3]
- cmp r1, r0
- ble _0812F60A
- ldr r0, _0812F660 @ =gScanlineEffect
- mov r10, r0
- ldr r1, [sp, 0x4]
- lsls r0, r1, 16
- asrs r0, 16
- str r0, [sp, 0x10]
- ldr r2, [sp, 0x8]
- lsls r0, r2, 16
- asrs r0, 16
- str r0, [sp, 0xC]
-_0812F55A:
- lsls r5, 16
- asrs r5, 16
- adds r2, r5, 0x1
- lsls r2, 1
- mov r3, r10
- ldrb r1, [r3, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- ldr r0, _0812F664 @ =gScanlineEffectRegBuffers
- adds r2, r0
- lsls r4, 16
- asrs r4, 16
- mov r1, r9
- lsls r0, r1, 16
- asrs r0, 16
- subs r0, r4, r0
- ldr r3, [sp, 0xC]
- adds r0, r3, r0
- strh r0, [r2]
- lsls r3, r5, 1
- mov r0, r10
- ldrb r1, [r0, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r3, r0
- ldr r1, _0812F664 @ =gScanlineEffectRegBuffers
- adds r3, r1
- lsls r1, r7, 16
- asrs r1, 16
- ldr r2, [sp, 0x10]
- adds r1, r2, r1
- mov r7, r8
- lsls r2, r7, 16
- asrs r2, 16
- lsls r0, r2, 1
- ldr r7, _0812F668 @ =gSineTable
- adds r0, r7
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 21
- adds r1, r0
- strh r1, [r3]
- adds r2, 0xA
- mov r8, r2
- movs r0, 0xFF
- mov r1, r8
- ands r1, r0
- mov r8, r1
- ldrh r0, [r6, 0x1C]
- ldrh r2, [r6, 0x1E]
- adds r0, r2
- strh r0, [r6, 0x1E]
- lsls r0, 16
- asrs r0, 21
- lsls r0, 16
- lsrs r7, r0, 16
- strh r7, [r6, 0x20]
- adds r4, 0x1
- lsls r4, 16
- lsrs r4, 16
- subs r5, 0x2
- lsls r5, 16
- lsrs r5, 16
- ldr r3, [sp]
- lsls r0, r3, 16
- asrs r0, 16
- ldrh r1, [r6, 0x14]
- adds r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- str r2, [sp]
- asrs r0, 21
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- ldr r0, _0812F66C @ =0xffff0000
- add r0, r12
- lsrs r2, r0, 16
- lsls r3, r2, 16
- mov r12, r3
- asrs r1, r3, 16
- movs r3, 0x22
- ldrsh r0, [r6, r3]
- cmp r1, r0
- bgt _0812F55A
-_0812F60A:
- lsls r1, r2, 17
- cmp r1, 0
- blt _0812F636
- ldr r4, _0812F664 @ =gScanlineEffectRegBuffers
- ldr r7, [sp, 0x4]
- lsls r0, r7, 16
- asrs r0, 16
- adds r3, r0, 0
- adds r3, 0xF0
- movs r0, 0xF0
- lsls r0, 3
- adds r5, r4, r0
-_0812F622:
- asrs r2, r1, 16
- lsls r1, r2, 1
- adds r0, r1, r4
- strh r3, [r0]
- adds r1, r5
- strh r3, [r1]
- subs r2, 0x2
- lsls r1, r2, 16
- cmp r1, 0
- bge _0812F622
-_0812F636:
- ldrh r0, [r6, 0x14]
- adds r0, 0x1
- strh r0, [r6, 0x14]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3F
- ble _0812F69C
- movs r0, 0x40
- strh r0, [r6, 0x14]
- ldrh r0, [r6, 0xC]
- adds r0, 0x1
- strh r0, [r6, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0812F670
- ldrh r0, [r6, 0xE]
- subs r0, 0x1
- strh r0, [r6, 0xE]
- b _0812F676
- .align 2, 0
-_0812F660: .4byte gScanlineEffect
-_0812F664: .4byte gScanlineEffectRegBuffers
-_0812F668: .4byte gSineTable
-_0812F66C: .4byte 0xffff0000
-_0812F670:
- ldrh r0, [r6, 0x10]
- adds r0, 0x1
- strh r0, [r6, 0x10]
-_0812F676:
- ldr r0, _0812F698 @ =REG_BLDALPHA
- ldrh r1, [r6, 0x10]
- lsls r1, 8
- ldrh r2, [r6, 0xE]
- orrs r1, r2
- strh r1, [r0]
- movs r2, 0xE
- ldrsh r1, [r6, r2]
- cmp r1, 0
- bne _0812F712
- movs r3, 0x10
- ldrsh r0, [r6, r3]
- cmp r0, 0x10
- bne _0812F712
- strh r1, [r6, 0xC]
- strh r1, [r6, 0xE]
- b _0812F700
- .align 2, 0
-_0812F698: .4byte REG_BLDALPHA
-_0812F69C:
- ldrh r0, [r6, 0x18]
- ldrh r7, [r6, 0x16]
- adds r0, r7
- strh r0, [r6, 0x16]
- b _0812F712
-_0812F6A6:
- ldrh r0, [r6, 0xC]
- adds r0, 0x1
- strh r0, [r6, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- ble _0812F712
- ldr r1, _0812F6C0 @ =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
- movs r0, 0
- strh r0, [r6, 0xC]
- b _0812F700
- .align 2, 0
-_0812F6C0: .4byte gScanlineEffect
-_0812F6C4:
- ldrh r0, [r6, 0xC]
- adds r0, 0x1
- strh r0, [r6, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0812F6DA
- ldrh r0, [r6, 0xE]
- adds r0, 0x1
- strh r0, [r6, 0xE]
- b _0812F6E0
-_0812F6DA:
- ldrh r0, [r6, 0x10]
- subs r0, 0x1
- strh r0, [r6, 0x10]
-_0812F6E0:
- ldr r2, _0812F708 @ =REG_BLDALPHA
- ldrh r0, [r6, 0x10]
- lsls r0, 8
- ldrh r1, [r6, 0xE]
- orrs r0, r1
- strh r0, [r2]
- movs r1, 0xE
- ldrsh r0, [r6, r1]
- cmp r0, 0x10
- bne _0812F712
- movs r2, 0x10
- ldrsh r0, [r6, r2]
- cmp r0, 0
- bne _0812F712
- strh r0, [r6, 0xC]
- strh r0, [r6, 0xE]
-_0812F700:
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- b _0812F712
- .align 2, 0
-_0812F708: .4byte REG_BLDALPHA
-_0812F70C:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_0812F712:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_812F474
-
- thumb_func_start sub_812F724
-sub_812F724: @ 812F724
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _0812F75C @ =gTasks
- adds r4, r0
- movs r0, 0
- strh r0, [r4, 0x8]
- ldr r0, _0812F760 @ =gBattleAnimArgs
- ldrb r0, [r0]
- bl GetAnimBattlerSpriteId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- strh r1, [r4, 0x26]
- ldr r2, _0812F764 @ =gUnknown_08402750
- adds r0, r4, 0
- bl sub_80798F4
- ldr r0, _0812F768 @ =sub_812F76C
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0812F75C: .4byte gTasks
-_0812F760: .4byte gBattleAnimArgs
-_0812F764: .4byte gUnknown_08402750
-_0812F768: .4byte sub_812F76C
- thumb_func_end sub_812F724
-
- thumb_func_start sub_812F76C
-sub_812F76C: @ 812F76C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r2, _0812F7C4 @ =gTasks
- adds r3, r0, r2
- ldrh r0, [r3, 0x8]
- adds r1, r0, 0x1
- movs r5, 0
- strh r1, [r3, 0x8]
- subs r0, 0x14
- lsls r0, 16
- lsrs r0, 16
- adds r6, r2, 0
- cmp r0, 0x16
- bhi _0812F7D0
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0812F7E0
- strh r5, [r3, 0xA]
- ldrh r0, [r3, 0xC]
- adds r0, 0x1
- strh r0, [r3, 0xC]
- movs r5, 0x1
- ands r0, r5
- cmp r0, 0
- bne _0812F7D0
- ldr r2, _0812F7C8 @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, _0812F7CC @ =0x0000ffff
- strh r1, [r0, 0x24]
- b _0812F7E0
- .align 2, 0
-_0812F7C4: .4byte gTasks
-_0812F7C8: .4byte gSprites
-_0812F7CC: .4byte 0x0000ffff
-_0812F7D0:
- ldr r2, _0812F800 @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r5, [r0, 0x24]
-_0812F7E0:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r6
- bl sub_807992C
- lsls r0, 24
- cmp r0, 0
- bne _0812F7F8
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_0812F7F8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0812F800: .4byte gSprites
- thumb_func_end sub_812F76C
-
- thumb_func_start sub_812F804
-sub_812F804: @ 812F804
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r5, r2, 0
- adds r0, r3, 0
- ldr r4, [sp, 0x14]
- ldr r6, [sp, 0x18]
- lsls r1, 16
- lsrs r1, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r6, 16
- lsrs r6, 16
- mov r2, r8
- strh r1, [r2, 0x20]
- strh r5, [r2, 0x22]
- lsls r1, 16
- asrs r1, 16
- lsls r2, r1, 4
- mov r3, r8
- strh r2, [r3, 0x36]
- lsls r5, 16
- asrs r5, 16
- lsls r2, r5, 4
- strh r2, [r3, 0x38]
- lsls r0, 16
- asrs r0, 16
- subs r0, r1
- lsls r0, 4
- adds r1, r6, 0
- bl __divsi3
- mov r1, r8
- strh r0, [r1, 0x3A]
- lsls r4, 16
- asrs r4, 16
- subs r4, r5
- lsls r4, 4
- adds r0, r4, 0
- adds r1, r6, 0
- bl __divsi3
- mov r2, r8
- strh r0, [r2, 0x3C]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_812F804
-
- thumb_func_start sub_812F86C
-sub_812F86C: @ 812F86C
- ldrh r1, [r0, 0x3A]
- ldrh r2, [r0, 0x36]
- adds r1, r2
- strh r1, [r0, 0x36]
- ldrh r2, [r0, 0x3C]
- ldrh r3, [r0, 0x38]
- adds r2, r3
- strh r2, [r0, 0x38]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r0, 0x20]
- lsls r2, 16
- asrs r2, 20
- strh r2, [r0, 0x22]
- bx lr
- thumb_func_end sub_812F86C
-
- thumb_func_start sub_812F88C
-sub_812F88C: @ 812F88C
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldrh r6, [r4, 0x20]
- ldrh r5, [r4, 0x22]
- bl sub_8078650
- ldr r0, _0812F8D4 @ =gBattleAnimArgs
- ldrb r1, [r0]
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- movs r0, 0x20
- ldrsh r1, [r4, r0]
- movs r0, 0x22
- ldrsh r2, [r4, r0]
- lsls r6, 16
- asrs r6, 16
- lsls r5, 16
- asrs r5, 16
- str r5, [sp]
- movs r0, 0x40
- str r0, [sp, 0x4]
- adds r0, r4, 0
- adds r3, r6, 0
- bl sub_812F804
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldr r0, _0812F8D8 @ =sub_812F8DC
- str r0, [r4, 0x1C]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0812F8D4: .4byte gBattleAnimArgs
-_0812F8D8: .4byte sub_812F8DC
- thumb_func_end sub_812F88C
-
- thumb_func_start sub_812F8DC
-sub_812F8DC: @ 812F8DC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- movs r0, 0x2E
- ldrsh r4, [r5, r0]
- lsls r4, 3
- movs r0, 0xFF
- ands r4, r0
- adds r0, r5, 0
- bl sub_812F86C
- adds r0, r4, 0
- movs r1, 0x8
- bl Sin
- strh r0, [r5, 0x26]
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x3A
- ble _0812F942
- ldrh r0, [r5, 0x30]
- adds r0, 0x1
- strh r0, [r5, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0812F942
- movs r0, 0
- strh r0, [r5, 0x30]
- ldrh r1, [r5, 0x32]
- adds r1, 0x1
- strh r1, [r5, 0x32]
- movs r0, 0x1
- ands r1, r0
- adds r3, r5, 0
- adds r3, 0x3E
- lsls r1, 2
- ldrb r2, [r3]
- subs r0, 0x6
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- cmp r0, 0x3
- ble _0812F942
- adds r0, r5, 0
- bl move_anim_8074EE0
-_0812F942:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_812F8DC
-
- thumb_func_start sub_812F948
-sub_812F948: @ 812F948
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, _0812F9A0 @ =gBattleAnimArgs
- ldrh r0, [r6, 0x6]
- strh r0, [r5, 0x2E]
- ldrb r1, [r6]
- adds r0, r5, 0
- bl StartSpriteAffineAnim
- ldr r0, _0812F9A4 @ =gAnimBankTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0812F96E
- ldrh r0, [r6, 0x2]
- negs r0, r0
- strh r0, [r6, 0x2]
-_0812F96E:
- ldr r4, _0812F9A8 @ =gAnimBankAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x2]
- adds r0, r1
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r6, [r6, 0x4]
- adds r0, r6
- strh r0, [r5, 0x22]
- ldr r0, _0812F9AC @ =sub_80DA48C
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0812F9A0: .4byte gBattleAnimArgs
-_0812F9A4: .4byte gAnimBankTarget
-_0812F9A8: .4byte gAnimBankAttacker
-_0812F9AC: .4byte sub_80DA48C
- thumb_func_end sub_812F948
-
- thumb_func_start sub_812F9B0
-sub_812F9B0: @ 812F9B0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r7, 0
- ldr r2, _0812FA00 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r3, r0, r2
- ldrh r0, [r3, 0x8]
- subs r0, 0x1
- strh r0, [r3, 0x8]
- movs r1, 0x14
- ldrsh r0, [r3, r1]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- mov r8, r2
- cmp r0, 0
- beq _0812FA32
- ldrh r0, [r3, 0xA]
- subs r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0812FA32
- movs r2, 0x1A
- ldrsh r0, [r3, r2]
- cmp r0, 0
- bne _0812FA04
- ldrh r0, [r3, 0x10]
- strh r0, [r3, 0x1A]
- negs r0, r0
- strh r0, [r3, 0x10]
- b _0812FA06
- .align 2, 0
-_0812FA00: .4byte gTasks
-_0812FA04:
- strh r7, [r3, 0x1A]
-_0812FA06:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- mov r2, r8
- adds r1, r0, r2
- movs r2, 0x1C
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0812FA22
- ldrh r0, [r1, 0x12]
- strh r0, [r1, 0x1C]
- negs r0, r0
- strh r0, [r1, 0x12]
- b _0812FA26
-_0812FA22:
- movs r0, 0
- strh r0, [r1, 0x1C]
-_0812FA26:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- add r0, r8
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0xA]
-_0812FA32:
- lsls r2, r5, 2
- adds r0, r2, r5
- lsls r0, 3
- mov r1, r8
- adds r4, r0, r1
- ldrh r6, [r4, 0x16]
- ldrh r7, [r4, 0x18]
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- mov r12, r2
- cmp r0, 0
- beq _0812FA70
- ldr r3, _0812FA6C @ =gSprites
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- lsrs r2, r6, 8
- ldrh r0, [r4, 0x1A]
- subs r0, r2
- strh r0, [r1, 0x24]
- adds r2, r3, 0
- b _0812FA86
- .align 2, 0
-_0812FA6C: .4byte gSprites
-_0812FA70:
- ldr r2, _0812FAB4 @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- lsrs r1, r6, 8
- ldrh r4, [r4, 0x1A]
- adds r1, r4
- strh r1, [r0, 0x24]
-_0812FA86:
- mov r1, r12
- adds r0, r1, r5
- lsls r0, 3
- mov r1, r8
- adds r4, r0, r1
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _0812FAB8
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- lsrs r2, r7, 8
- ldrh r0, [r4, 0x1C]
- subs r0, r2
- b _0812FACA
- .align 2, 0
-_0812FAB4: .4byte gSprites
-_0812FAB8:
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- lsrs r0, r7, 8
- ldrh r4, [r4, 0x1C]
- adds r0, r4
-_0812FACA:
- strh r0, [r1, 0x26]
- mov r2, r12
- adds r0, r2, r5
- lsls r0, 3
- add r0, r8
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bgt _0812FAEA
- adds r0, r5, 0
- bl DestroyTask
- ldr r1, _0812FAF4 @ =gAnimVisualTaskCount
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
-_0812FAEA:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0812FAF4: .4byte gAnimVisualTaskCount
- thumb_func_end sub_812F9B0
-
- thumb_func_start sub_812FAF8
-sub_812FAF8: @ 812FAF8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r7, 0
- ldr r2, _0812FB4C @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r3, r0, r2
- ldrh r0, [r3, 0x8]
- subs r0, 0x1
- strh r0, [r3, 0x8]
- movs r1, 0x14
- ldrsh r0, [r3, r1]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- mov r8, r2
- cmp r0, 0
- beq _0812FB7E
- ldrh r0, [r3, 0xA]
- subs r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0812FB7E
- movs r2, 0x1A
- ldrsh r0, [r3, r2]
- cmp r0, 0
- bne _0812FB50
- ldrh r0, [r3, 0x10]
- strh r0, [r3, 0x1A]
- negs r0, r0
- strh r0, [r3, 0x10]
- b _0812FB52
- .align 2, 0
-_0812FB4C: .4byte gTasks
-_0812FB50:
- strh r7, [r3, 0x1A]
-_0812FB52:
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- mov r2, r8
- adds r1, r0, r2
- movs r2, 0x1C
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0812FB6E
- ldrh r0, [r1, 0x12]
- strh r0, [r1, 0x1C]
- negs r0, r0
- strh r0, [r1, 0x12]
- b _0812FB72
-_0812FB6E:
- movs r0, 0
- strh r0, [r1, 0x1C]
-_0812FB72:
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- add r0, r8
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0xA]
-_0812FB7E:
- lsls r3, r6, 2
- adds r0, r3, r6
- lsls r0, 3
- mov r1, r8
- adds r4, r0, r1
- ldrh r2, [r4, 0xC]
- ldr r1, _0812FBD0 @ =0x00007fff
- adds r0, r1, 0
- ands r0, r2
- ldrh r2, [r4, 0x16]
- adds r0, r2
- lsls r5, r0, 16
- lsrs r0, r5, 16
- mov r9, r0
- ldrh r0, [r4, 0xE]
- ands r1, r0
- ldrh r2, [r4, 0x18]
- adds r1, r2
- lsls r1, 16
- lsrs r7, r1, 16
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- mov r12, r3
- cmp r0, 0
- beq _0812FBD8
- ldr r3, _0812FBD4 @ =gSprites
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- lsrs r2, r5, 24
- ldrh r0, [r4, 0x1A]
- subs r0, r2
- strh r0, [r1, 0x24]
- adds r2, r3, 0
- b _0812FBEE
- .align 2, 0
-_0812FBD0: .4byte 0x00007fff
-_0812FBD4: .4byte gSprites
-_0812FBD8:
- ldr r2, _0812FC1C @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- lsrs r1, r5, 24
- ldrh r4, [r4, 0x1A]
- adds r1, r4
- strh r1, [r0, 0x24]
-_0812FBEE:
- mov r1, r12
- adds r0, r1, r6
- lsls r0, 3
- mov r1, r8
- adds r4, r0, r1
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _0812FC20
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- lsrs r2, r7, 8
- ldrh r0, [r4, 0x1C]
- subs r0, r2
- b _0812FC32
- .align 2, 0
-_0812FC1C: .4byte gSprites
-_0812FC20:
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- lsrs r0, r7, 8
- ldrh r4, [r4, 0x1C]
- adds r0, r4
-_0812FC32:
- strh r0, [r1, 0x26]
- mov r2, r12
- adds r0, r2, r6
- lsls r0, 3
- mov r1, r8
- adds r2, r0, r1
- mov r0, r9
- strh r0, [r2, 0x16]
- strh r7, [r2, 0x18]
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bgt _0812FC58
- movs r0, 0x1E
- strh r0, [r2, 0x8]
- movs r0, 0
- strh r0, [r2, 0x22]
- ldr r0, _0812FC64 @ =sub_812F9B0
- str r0, [r2]
-_0812FC58:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0812FC64: .4byte sub_812F9B0
- thumb_func_end sub_812FAF8
-
- thumb_func_start sub_812FC68
-sub_812FC68: @ 812FC68
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _0812FCC8 @ =gTasks
- mov r8, r0
- lsls r7, r6, 2
- adds r0, r7, r6
- lsls r0, 3
- mov r1, r8
- adds r4, r0, r1
- ldr r1, _0812FCCC @ =gBankSpriteIds
- ldr r2, _0812FCD0 @ =gAnimBankAttacker
- ldrb r0, [r2]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r4, 0x26]
- ldr r5, _0812FCD4 @ =gBattleAnimArgs
- ldrh r0, [r5]
- strh r0, [r4, 0x24]
- ldrh r0, [r5]
- strh r0, [r4, 0x8]
- ldrh r0, [r5, 0xC]
- strh r0, [r4, 0x22]
- movs r3, 0x6
- ldrsh r0, [r5, r3]
- cmp r0, 0
- beq _0812FCAC
- ldrh r0, [r4, 0x14]
- ldr r3, _0812FCD8 @ =0xffff8000
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r4, 0x14]
-_0812FCAC:
- ldrb r0, [r2]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0812FCDC
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0xC]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0xE]
- mov r3, r8
- adds r4, r7, 0
- b _0812FD4C
- .align 2, 0
-_0812FCC8: .4byte gTasks
-_0812FCCC: .4byte gBankSpriteIds
-_0812FCD0: .4byte gAnimBankAttacker
-_0812FCD4: .4byte gBattleAnimArgs
-_0812FCD8: .4byte 0xffff8000
-_0812FCDC:
- movs r7, 0x2
- ldrsh r0, [r5, r7]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _0812FCF8
- ldrh r1, [r5, 0x2]
- ldr r0, _0812FCF4 @ =0x00007fff
- ands r0, r1
- b _0812FD00
- .align 2, 0
-_0812FCF4: .4byte 0x00007fff
-_0812FCF8:
- ldrh r0, [r5, 0x2]
- ldr r2, _0812FD28 @ =0xffff8000
- adds r1, r2, 0
- orrs r0, r1
-_0812FD00:
- strh r0, [r4, 0xC]
- ldr r0, _0812FD2C @ =gBattleAnimArgs
- movs r3, 0x4
- ldrsh r1, [r0, r3]
- movs r2, 0x80
- lsls r2, 8
- ands r1, r2
- adds r5, r0, 0
- cmp r1, 0
- beq _0812FD38
- ldr r3, _0812FD30 @ =gTasks
- lsls r4, r6, 2
- adds r1, r4, r6
- lsls r1, 3
- adds r1, r3
- ldrh r2, [r5, 0x4]
- ldr r0, _0812FD34 @ =0x00007fff
- ands r0, r2
- b _0812FD4A
- .align 2, 0
-_0812FD28: .4byte 0xffff8000
-_0812FD2C: .4byte gBattleAnimArgs
-_0812FD30: .4byte gTasks
-_0812FD34: .4byte 0x00007fff
-_0812FD38:
- ldr r3, _0812FD70 @ =gTasks
- lsls r4, r6, 2
- adds r1, r4, r6
- lsls r1, 3
- adds r1, r3
- ldrh r2, [r5, 0x4]
- ldr r7, _0812FD74 @ =0xffff8000
- adds r0, r7, 0
- orrs r0, r2
-_0812FD4A:
- strh r0, [r1, 0xE]
-_0812FD4C:
- adds r0, r4, r6
- lsls r0, 3
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x18]
- strh r1, [r0, 0x16]
- ldrh r1, [r5, 0x8]
- strh r1, [r0, 0x10]
- ldrh r1, [r5, 0xA]
- strh r1, [r0, 0x12]
- ldr r1, _0812FD78 @ =sub_812FAF8
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0812FD70: .4byte gTasks
-_0812FD74: .4byte 0xffff8000
-_0812FD78: .4byte sub_812FAF8
- thumb_func_end sub_812FC68
-
- thumb_func_start sub_812FD7C
-sub_812FD7C: @ 812FD7C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _0812FDB4 @ =gTasks
- adds r5, r0, r1
- ldr r4, _0812FDB8 @ =gBattleAnimArgs
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0812FD9C
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_0812FD9C:
- movs r0, 0
- strh r0, [r5, 0x8]
- strh r0, [r5, 0xA]
- strh r0, [r5, 0xC]
- ldrh r0, [r4, 0x2]
- strh r0, [r5, 0xE]
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0812FDC0
- ldr r0, _0812FDBC @ =gAnimBankAttacker
- b _0812FDC2
- .align 2, 0
-_0812FDB4: .4byte gTasks
-_0812FDB8: .4byte gBattleAnimArgs
-_0812FDBC: .4byte gAnimBankAttacker
-_0812FDC0:
- ldr r0, _0812FE10 @ =gAnimBankTarget
-_0812FDC2:
- ldrb r4, [r0]
- adds r0, r4, 0
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x10]
- adds r0, r4, 0
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x12]
- adds r0, r4, 0
- bl sub_8079E90
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x14]
- ldr r0, _0812FE14 @ =gBattleAnimArgs
- ldrb r0, [r0]
- bl GetAnimBattlerSpriteId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- strh r1, [r5, 0x26]
- ldr r2, _0812FE18 @ =gUnknown_084028AC
- adds r0, r5, 0
- bl sub_80798F4
- ldr r0, _0812FE1C @ =sub_812FE20
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0812FE10: .4byte gAnimBankTarget
-_0812FE14: .4byte gBattleAnimArgs
-_0812FE18: .4byte gUnknown_084028AC
-_0812FE1C: .4byte sub_812FE20
- thumb_func_end sub_812FD7C
-
- thumb_func_start sub_812FE20
-sub_812FE20: @ 812FE20
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _0812FE40 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0812FE44
- cmp r0, 0x1
- beq _0812FEA4
- b _0812FEB2
- .align 2, 0
-_0812FE40: .4byte gTasks
-_0812FE44:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- bne _0812FE5A
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_812FEB8
-_0812FE5A:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x12
- bne _0812FE6A
- adds r0, r5, 0
- movs r1, 0
- bl sub_812FEB8
-_0812FE6A:
- adds r0, r4, 0
- bl sub_807992C
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0812FEB2
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- cmp r0, 0
- bne _0812FE8C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0812FEB2
-_0812FE8C:
- strh r1, [r4, 0xA]
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _0812FEA0 @ =gUnknown_084028AC
- adds r0, r4, 0
- bl sub_80798F4
- b _0812FEB2
- .align 2, 0
-_0812FEA0: .4byte gUnknown_084028AC
-_0812FEA4:
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0812FEB2
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_0812FEB2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_812FE20
-
- thumb_func_start sub_812FEB8
-sub_812FEB8: @ 812FEB8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r2, _0812FEDC @ =gTasks
- adds r4, r0, r2
- cmp r1, 0
- bne _0812FEE0
- movs r1, 0x12
- movs r3, 0xEC
- b _0812FEE4
- .align 2, 0
-_0812FEDC: .4byte gTasks
-_0812FEE0:
- movs r1, 0x1E
- movs r3, 0x14
-_0812FEE4:
- mov r2, sp
- ldrh r0, [r4, 0x10]
- subs r0, r1
- strh r0, [r2]
- ldrh r0, [r4, 0x10]
- subs r0, r1
- subs r0, 0x4
- strh r0, [r2, 0x2]
- ldrh r0, [r4, 0x10]
- adds r0, r1
- strh r0, [r2, 0x4]
- ldrh r0, [r4, 0x10]
- adds r0, r1
- adds r0, 0x4
- strh r0, [r2, 0x6]
- add r2, sp, 0x8
- lsls r1, r3, 24
- asrs r1, 24
- ldrh r0, [r4, 0x12]
- adds r0, r1
- strh r0, [r2]
- ldrh r0, [r4, 0x12]
- adds r0, r1
- adds r0, 0x6
- strh r0, [r2, 0x2]
- movs r5, 0
- mov r8, r2
- ldr r7, _0812FF88 @ =gSprites
-_0812FF1C:
- lsls r0, r5, 1
- add r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- ands r0, r5
- lsls r0, 1
- add r0, r8
- movs r3, 0
- ldrsh r2, [r0, r3]
- ldrb r3, [r4, 0x14]
- subs r3, 0x5
- lsls r3, 24
- lsrs r3, 24
- ldr r0, _0812FF8C @ =gSpriteTemplate_84028CC
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0812FF70
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r7
- movs r0, 0
- strh r0, [r1, 0x2E]
- movs r0, 0x2
- cmp r5, 0x1
- bhi _0812FF5E
- movs r2, 0x2
- negs r2, r2
- adds r0, r2, 0
-_0812FF5E:
- strh r0, [r1, 0x30]
- ldr r0, _0812FF90 @ =0x0000ffff
- strh r0, [r1, 0x32]
- strh r6, [r1, 0x34]
- movs r0, 0x2
- strh r0, [r1, 0x36]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
-_0812FF70:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _0812FF1C
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0812FF88: .4byte gSprites
-_0812FF8C: .4byte gSpriteTemplate_84028CC
-_0812FF90: .4byte 0x0000ffff
- thumb_func_end sub_812FEB8
-
- thumb_func_start sub_812FF94
-sub_812FF94: @ 812FF94
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x32]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- ble _0812FFDA
- ldr r3, _0812FFE0 @ =gTasks
- movs r0, 0x36
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x34
- 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
-_0812FFDA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0812FFE0: .4byte gTasks
- thumb_func_end sub_812FF94
-
- thumb_func_start sub_812FFE4
-sub_812FFE4: @ 812FFE4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0813002C @ =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- movs r0, 0
- strh r0, [r4, 0x8]
- ldr r1, _08130030 @ =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0xA]
- ldrb r0, [r1]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08130034 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- adds r0, r1
- strh r0, [r4, 0xC]
- ldr r0, _08130038 @ =sub_813003C
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813002C: .4byte gTasks
-_08130030: .4byte gBattleAnimArgs
-_08130034: .4byte gSprites
-_08130038: .4byte sub_813003C
- thumb_func_end sub_812FFE4
-
- thumb_func_start sub_813003C
-sub_813003C: @ 813003C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _08130084 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0813008C
- ldrh r0, [r4, 0xC]
- ldr r2, _08130088 @ =gUnknown_084028E4
- movs r3, 0x8
- ldrsh r1, [r4, r3]
- lsls r1, 1
- adds r1, r2
- ldrh r3, [r1]
- movs r1, 0x10
- movs r2, 0x8
- bl BlendPalette
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x17
- ble _0813007C
- movs r0, 0
- strh r0, [r4, 0x8]
-_0813007C:
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- b _0813009E
- .align 2, 0
-_08130084: .4byte gTasks
-_08130088: .4byte gUnknown_084028E4
-_0813008C:
- ldrh r0, [r4, 0xC]
- movs r1, 0x10
- movs r2, 0
- movs r3, 0
- bl BlendPalette
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_0813009E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_813003C
-
- thumb_func_start sub_81300A4
-sub_81300A4: @ 81300A4
- push {lr}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0xD0
- lsls r2, 1
- ldr r1, _081300E0 @ =gAnimBankAttacker
- ldrb r3, [r1]
- ldr r1, _081300E4 @ =gBattleAnimArgs
- ldrb r1, [r1]
- str r1, [sp]
- movs r1, 0xA
- str r1, [sp, 0x4]
- movs r1, 0x2
- str r1, [sp, 0x8]
- movs r1, 0x1E
- str r1, [sp, 0xC]
- ldr r1, _081300E8 @ =gUnknown_08D2E014
- str r1, [sp, 0x10]
- ldr r1, _081300EC @ =gUnknown_08D2E170
- str r1, [sp, 0x14]
- ldr r1, _081300F0 @ =gUnknown_08D2E150
- str r1, [sp, 0x18]
- movs r1, 0
- bl sub_80E3C4C
- add sp, 0x1C
- pop {r0}
- bx r0
- .align 2, 0
-_081300E0: .4byte gAnimBankAttacker
-_081300E4: .4byte gBattleAnimArgs
-_081300E8: .4byte gUnknown_08D2E014
-_081300EC: .4byte gUnknown_08D2E170
-_081300F0: .4byte gUnknown_08D2E150
- thumb_func_end sub_81300A4
-
- thumb_func_start sub_81300F4
-sub_81300F4: @ 81300F4
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, _0813014C @ =gAnimBankAttacker
- ldrb r0, [r6]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08130110
- ldr r1, _08130150 @ =gBattleAnimArgs
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
-_08130110:
- ldrb r0, [r6]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r4, _08130150 @ =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 r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r5, 0x22]
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08130158
- movs r0, 0xA0
- lsls r0, 2
- strh r0, [r5, 0x2E]
- ldr r0, _08130154 @ =0x0000fd80
- strh r0, [r5, 0x30]
- b _08130180
- .align 2, 0
-_0813014C: .4byte gAnimBankAttacker
-_08130150: .4byte gBattleAnimArgs
-_08130154: .4byte 0x0000fd80
-_08130158:
- cmp r0, 0x1
- bne _08130172
- adds r2, r5, 0
- adds r2, 0x3F
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0xA0
- lsls r0, 2
- strh r0, [r5, 0x2E]
- strh r0, [r5, 0x30]
- b _08130180
-_08130172:
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
- movs r0, 0xA0
- lsls r0, 2
- strh r0, [r5, 0x2E]
-_08130180:
- ldr r0, _081301AC @ =gAnimBankAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _081301A0
- ldrh r0, [r5, 0x2E]
- negs r0, r0
- strh r0, [r5, 0x2E]
- adds r2, r5, 0
- adds r2, 0x3F
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
-_081301A0:
- ldr r0, _081301B0 @ =sub_81301B4
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081301AC: .4byte gAnimBankAttacker
-_081301B0: .4byte sub_81301B4
- thumb_func_end sub_81300F4
-
- thumb_func_start sub_81301B4
-sub_81301B4: @ 81301B4
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x3A]
- adds r0, r1
- strh r0, [r2, 0x3A]
- ldrh r1, [r2, 0x30]
- ldrh r3, [r2, 0x3C]
- adds r1, r3
- strh r1, [r2, 0x3C]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r2, 0x24]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r2, 0x26]
- ldrh r0, [r2, 0x38]
- adds r0, 0x1
- strh r0, [r2, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xE
- bne _081301E8
- adds r0, r2, 0
- bl DestroyAnimSprite
-_081301E8:
- pop {r0}
- bx r0
- thumb_func_end sub_81301B4
-
- thumb_func_start sub_81301EC
-sub_81301EC: @ 81301EC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08130218 @ =gTasks
- adds r6, r1, r0
- bl IsContest
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0813021C
- movs r0, 0x8
- strh r0, [r6, 0x12]
- movs r0, 0x3
- strh r0, [r6, 0x14]
- movs r0, 0x1
- strh r0, [r6, 0x16]
- b _08130226
- .align 2, 0
-_08130218: .4byte gTasks
-_0813021C:
- movs r0, 0xC
- strh r0, [r6, 0x12]
- movs r0, 0x3
- strh r0, [r6, 0x14]
- strh r1, [r6, 0x16]
-_08130226:
- ldr r5, _0813025C @ =gAnimBankAttacker
- ldrb r0, [r5]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08130260
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- adds r4, r0, 0
- ldrb r0, [r5]
- movs r1, 0
- bl sub_807A100
- lsls r4, 24
- lsrs r4, 24
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _08130254
- adds r0, 0x3
-_08130254:
- asrs r0, 2
- adds r0, r4, r0
- b _08130284
- .align 2, 0
-_0813025C: .4byte gAnimBankAttacker
-_08130260:
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- adds r4, r0, 0
- ldrb r0, [r5]
- movs r1, 0
- bl sub_807A100
- lsls r4, 24
- lsrs r4, 24
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _08130280
- adds r0, 0x3
-_08130280:
- asrs r0, 2
- subs r0, r4, r0
-_08130284:
- strh r0, [r6, 0x1E]
- ldr r5, _081302D8 @ =gAnimBankAttacker
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- adds r4, r0, 0
- ldrb r0, [r5]
- movs r1, 0
- bl sub_807A100
- lsls r4, 24
- lsrs r4, 24
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _081302A8
- adds r0, 0x3
-_081302A8:
- asrs r0, 2
- subs r0, r4, r0
- strh r0, [r6, 0x20]
- ldr r4, _081302DC @ =gAnimBankTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x22]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x24]
- ldr r0, _081302E0 @ =sub_81302E4
- str r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081302D8: .4byte gAnimBankAttacker
-_081302DC: .4byte gAnimBankTarget
-_081302E0: .4byte sub_81302E4
- thumb_func_end sub_81301EC
-
- thumb_func_start sub_81302E4
-sub_81302E4: @ 81302E4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, _0813030C @ =gTasks
- adds r5, r0, r1
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- cmp r1, 0
- beq _08130310
- cmp r1, 0x1
- bne _08130308
- b _08130408
-_08130308:
- b _08130416
- .align 2, 0
-_0813030C: .4byte gTasks
-_08130310:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _08130416
- strh r1, [r5, 0xA]
- movs r1, 0x1E
- ldrsh r0, [r5, r1]
- movs r2, 0x20
- ldrsh r1, [r5, r2]
- movs r3, 0x22
- ldrsh r2, [r5, r3]
- movs r4, 0x24
- ldrsh r3, [r5, r4]
- ldrb r4, [r5, 0x12]
- str r4, [sp]
- ldrb r4, [r5, 0xC]
- str r4, [sp, 0x4]
- add r4, sp, 0x10
- str r4, [sp, 0x8]
- adds r4, 0x2
- str r4, [sp, 0xC]
- bl sub_8130424
- movs r6, 0
- mov r8, r4
- ldr r4, _08130384 @ =gSprites
-_0813034A:
- add r0, sp, 0x10
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r3, r8
- movs r0, 0
- ldrsh r2, [r3, r0]
- ldr r0, _08130388 @ =gSpriteTemplate_840294C
- movs r3, 0x23
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _081303DE
- movs r1, 0x16
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0813039E
- cmp r6, 0
- bne _0813038C
- lsls r2, r3, 4
- adds r1, r2, r3
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r5, 0x14]
- negs r0, r0
- strh r0, [r1, 0x26]
- strh r0, [r1, 0x24]
- b _081303C6
- .align 2, 0
-_08130384: .4byte gSprites
-_08130388: .4byte gSpriteTemplate_840294C
-_0813038C:
- lsls r2, r3, 4
- adds r1, r2, r3
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r5, 0x14]
- strh r0, [r1, 0x26]
- ldrh r0, [r5, 0x14]
- strh r0, [r1, 0x24]
- b _081303C6
-_0813039E:
- cmp r6, 0
- bne _081303B4
- lsls r2, r3, 4
- adds r1, r2, r3
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r5, 0x14]
- negs r0, r0
- strh r0, [r1, 0x24]
- ldrh r0, [r5, 0x14]
- b _081303C4
-_081303B4:
- lsls r2, r3, 4
- adds r1, r2, r3
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r5, 0x14]
- strh r0, [r1, 0x24]
- ldrh r0, [r5, 0x14]
- negs r0, r0
-_081303C4:
- strh r0, [r1, 0x26]
-_081303C6:
- ldr r1, _08130404 @ =gSprites
- adds r0, r2, r3
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x2E]
- strh r7, [r0, 0x30]
- movs r1, 0xA
- strh r1, [r0, 0x32]
- ldrh r0, [r5, 0x1C]
- adds r0, 0x1
- strh r0, [r5, 0x1C]
-_081303DE:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x1
- bls _0813034A
- ldrh r2, [r5, 0xC]
- movs r3, 0xC
- ldrsh r1, [r5, r3]
- movs r4, 0x12
- ldrsh r0, [r5, r4]
- cmp r1, r0
- bne _081303FC
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_081303FC:
- adds r0, r2, 0x1
- strh r0, [r5, 0xC]
- b _08130416
- .align 2, 0
-_08130404: .4byte gSprites
-_08130408:
- movs r1, 0x1C
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08130416
- adds r0, r7, 0
- bl DestroyAnimVisualTask
-_08130416:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81302E4
-
- thumb_func_start sub_8130424
-sub_8130424: @ 8130424
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r4, [sp, 0x28]
- ldr r5, [sp, 0x2C]
- ldr r6, [sp, 0x30]
- mov r9, r6
- ldr r6, [sp, 0x34]
- mov r10, r6
- lsls r0, 16
- lsrs r0, 16
- mov r12, r0
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- lsls r2, 16
- lsrs r2, 16
- adds r7, r2, 0
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp, 0x4]
- lsls r4, 24
- lsrs r6, r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r8, r5
- cmp r5, 0
- bne _0813046C
- mov r2, r9
- strh r0, [r2]
- mov r6, r10
- strh r1, [r6]
- b _081304CA
-_0813046C:
- cmp r5, r6
- bcc _0813047A
- mov r0, r9
- strh r2, [r0]
- mov r1, r10
- strh r3, [r1]
- b _081304CA
-_0813047A:
- subs r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- mov r2, r12
- lsls r1, r2, 16
- asrs r1, 16
- lsls r5, r1, 8
- lsls r0, r7, 16
- asrs r0, 16
- subs r0, r1
- lsls r0, 8
- adds r1, r6, 0
- bl __divsi3
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r5, r0
- ldr r2, [sp]
- lsls r1, r2, 16
- asrs r1, 16
- lsls r4, r1, 8
- ldr r2, [sp, 0x4]
- lsls r0, r2, 16
- asrs r0, 16
- subs r0, r1
- lsls r0, 8
- adds r1, r6, 0
- bl __divsi3
- mov r6, r8
- muls r6, r0
- adds r0, r6, 0
- adds r4, r0
- asrs r5, 8
- mov r0, r9
- strh r5, [r0]
- asrs r4, 8
- mov r1, r10
- strh r4, [r1]
-_081304CA:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8130424
-
- thumb_func_start sub_81304DC
-sub_81304DC: @ 81304DC
- 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, 0x24
- ble _08130512
- ldr r3, _08130518 @ =gTasks
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x30
- 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
-_08130512:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08130518: .4byte gTasks
- thumb_func_end sub_81304DC
-
- thumb_func_start sub_813051C
-sub_813051C: @ 813051C
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _08130548 @ =gBattleAnimArgs
- ldrh r0, [r1]
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x22]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x32]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x36]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x2E]
- ldr r1, _0813054C @ =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData
- ldr r0, _08130550 @ =sub_8078CC0
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08130548: .4byte gBattleAnimArgs
-_0813054C: .4byte DestroyAnimSprite
-_08130550: .4byte sub_8078CC0
- thumb_func_end sub_813051C
-
- thumb_func_start sub_8130554
-sub_8130554: @ 8130554
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r0, 2
- add r0, r9
- lsls r0, 3
- ldr r1, _08130674 @ =gTasks
- adds r7, r0, r1
- ldr r0, _08130678 @ =gAnimBankAttacker
- mov r10, r0
- ldrb r0, [r0]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0x1E]
- mov r1, r10
- ldrb r0, [r1]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0x20]
- ldr r0, _0813067C @ =gAnimBankTarget
- mov r8, r0
- ldrb r0, [r0]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0x22]
- mov r1, r8
- ldrb r0, [r1]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- adds r4, r0, 0
- mov r1, r8
- ldrb r0, [r1]
- movs r1, 0
- bl sub_807A100
- lsls r4, 24
- lsrs r4, 24
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _081305C6
- adds r0, 0x3
-_081305C6:
- asrs r0, 2
- adds r0, r4, r0
- strh r0, [r7, 0x24]
- ldr r4, _08130680 @ =gSpriteTemplate_84029AC
- movs r0, 0x1E
- ldrsh r5, [r7, r0]
- movs r1, 0x20
- ldrsh r6, [r7, r1]
- mov r1, r8
- ldrb r0, [r1]
- bl sub_8079E90
- adds r3, r0, 0
- subs r3, 0x5
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0x26]
- cmp r0, 0x40
- beq _08130690
- ldr r4, _08130684 @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r7, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x10
- strh r1, [r0, 0x2E]
- movs r0, 0x26
- ldrsh r1, [r7, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r7, 0x22]
- strh r1, [r0, 0x32]
- movs r0, 0x26
- ldrsh r1, [r7, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r7, 0x24]
- strh r1, [r0, 0x36]
- movs r0, 0x26
- ldrsh r1, [r7, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _08130688 @ =0x0000ffe0
- strh r1, [r0, 0x38]
- movs r0, 0x26
- ldrsh r1, [r7, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl InitAnimArcTranslation
- mov r1, r10
- ldrb r0, [r1]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0813066E
- movs r0, 0x26
- ldrsh r1, [r7, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_0813066E:
- ldr r0, _0813068C @ =sub_81306A4
- str r0, [r7]
- b _08130696
- .align 2, 0
-_08130674: .4byte gTasks
-_08130678: .4byte gAnimBankAttacker
-_0813067C: .4byte gAnimBankTarget
-_08130680: .4byte gSpriteTemplate_84029AC
-_08130684: .4byte gSprites
-_08130688: .4byte 0x0000ffe0
-_0813068C: .4byte sub_81306A4
-_08130690:
- mov r0, r9
- bl DestroyAnimVisualTask
-_08130696:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8130554
-
- thumb_func_start sub_81306A4
-sub_81306A4: @ 81306A4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _081306C8 @ =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _0813070C
- cmp r1, 0x1
- bgt _081306CC
- cmp r1, 0
- beq _081306D6
- b _081307AA
- .align 2, 0
-_081306C8: .4byte gTasks
-_081306CC:
- cmp r1, 0x2
- beq _08130730
- cmp r1, 0x3
- beq _081307A4
- b _081307AA
-_081306D6:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _081307AA
- strh r1, [r4, 0xA]
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08130708 @ =gSprites
- adds r0, r1
- bl TranslateAnimArc
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _081307AA
- b _08130796
- .align 2, 0
-_08130708: .4byte gSprites
-_0813070C:
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0813072C @ =gSprites
- adds r0, r1
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _081307AA
- movs r0, 0
- strh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- b _08130796
- .align 2, 0
-_0813072C: .4byte gSprites
-_08130730:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _081307AA
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r2, [r4, 0xC]
- adds r2, 0x1
- strh r2, [r4, 0xC]
- ldr r5, _081307A0 @ =gSprites
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- movs r0, 0x1
- ands r2, r0
- adds r1, 0x3E
- lsls r2, 2
- ldrb r3, [r1]
- subs r0, 0x6
- ands r0, r3
- orrs r0, r2
- strb r0, [r1]
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x10
- bne _081307AA
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
-_08130796:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _081307AA
- .align 2, 0
-_081307A0: .4byte gSprites
-_081307A4:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_081307AA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81306A4
-
- thumb_func_start sub_81307B0
-sub_81307B0: @ 81307B0
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r0, _081307C4 @ =gBattleAnimArgs
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r6, r0, 0
- cmp r1, 0
- bne _081307CC
- ldr r0, _081307C8 @ =gAnimBankAttacker
- b _081307CE
- .align 2, 0
-_081307C4: .4byte gBattleAnimArgs
-_081307C8: .4byte gAnimBankAttacker
-_081307CC:
- ldr r0, _08130834 @ =gAnimBankTarget
-_081307CE:
- ldrb r5, [r0]
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x10
- ldr r3, _08130838 @ =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r0, _0813083C @ =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- adds r1, r6, 0
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x3A]
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- movs r1, 0x1
- cmp r0, 0
- bne _081307FC
- movs r3, 0x1
- negs r3, r3
- adds r1, r3, 0
-_081307FC:
- strh r1, [r4, 0x3C]
- adds r0, r5, 0
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _08130840
- ldrb r2, [r4, 0x3]
- lsls r1, r2, 26
- lsrs r1, 27
- movs r0, 0x8
- orrs r1, r0
- lsls r1, 1
- subs r0, 0x47
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x3]
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_807A100
- subs r0, 0x8
- b _0813084A
- .align 2, 0
-_08130834: .4byte gAnimBankTarget
-_08130838: .4byte 0x000003ff
-_0813083C: .4byte 0xfffffc00
-_08130840:
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_807A100
- adds r0, 0x8
-_0813084A:
- strh r0, [r4, 0x20]
- ldr r0, _08130858 @ =sub_813085C
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08130858: .4byte sub_813085C
- thumb_func_end sub_81307B0
-
- thumb_func_start sub_813085C
-sub_813085C: @ 813085C
- push {lr}
- adds r2, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r2, r0]
- cmp r1, 0x1
- beq _081308A4
- cmp r1, 0x1
- bgt _08130872
- cmp r1, 0
- beq _0813087C
- b _08130914
-_08130872:
- cmp r1, 0x2
- beq _081308B4
- cmp r1, 0x3
- beq _081308DA
- b _08130914
-_0813087C:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08130914
- strh r1, [r2, 0x30]
- ldrh r0, [r2, 0x3C]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x32]
- adds r0, 0x1
- strh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bne _08130914
- b _081308D2
-_081308A4:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- bne _08130914
- b _081308CE
-_081308B4:
- movs r0, 0x3C
- ldrsh r1, [r2, r0]
- lsls r1, 2
- ldrh r0, [r2, 0x24]
- subs r0, r1
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- bne _08130914
-_081308CE:
- movs r0, 0
- strh r0, [r2, 0x30]
-_081308D2:
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- b _08130914
-_081308DA:
- movs r0, 0x3C
- ldrsh r1, [r2, r0]
- lsls r0, r1, 1
- adds r0, r1
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- bne _08130914
- ldrh r0, [r2, 0x3A]
- subs r0, 0x1
- strh r0, [r2, 0x3A]
- lsls r0, 16
- cmp r0, 0
- beq _0813090E
- movs r0, 0
- strh r0, [r2, 0x30]
- ldrh r0, [r2, 0x2E]
- subs r0, 0x1
- strh r0, [r2, 0x2E]
- b _08130914
-_0813090E:
- adds r0, r2, 0
- bl DestroyAnimSprite
-_08130914:
- pop {r0}
- bx r0
- thumb_func_end sub_813085C
-
- thumb_func_start sub_8130918
-sub_8130918: @ 8130918
- push {r4,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r2, _08130930 @ =gBattleAnimArgs
- movs r3, 0
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _08130934
- adds r0, r1, 0
- bl DestroyAnimVisualTask
- b _0813095C
- .align 2, 0
-_08130930: .4byte gBattleAnimArgs
-_08130934:
- ldr r0, _08130964 @ =gTasks
- lsls r4, r1, 2
- adds r4, r1
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r2, 0x2]
- strh r0, [r4, 0x8]
- ldrb r0, [r2]
- bl GetAnimBattlerSpriteId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- strh r1, [r4, 0x26]
- ldr r2, _08130968 @ =gUnknown_084029DC
- adds r0, r4, 0
- bl sub_80798F4
- ldr r0, _0813096C @ =sub_8130970
- str r0, [r4]
-_0813095C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08130964: .4byte gTasks
-_08130968: .4byte gUnknown_084029DC
-_0813096C: .4byte sub_8130970
- thumb_func_end sub_8130918
-
- thumb_func_start sub_8130970
-sub_8130970: @ 8130970
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _081309B0 @ =gTasks
- adds r4, r0, r1
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _081309CA
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r1, [r4, 0xC]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081309B8
- ldr r2, _081309B4 @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2
- b _081309C8
- .align 2, 0
-_081309B0: .4byte gTasks
-_081309B4: .4byte gSprites
-_081309B8:
- ldr r2, _08130A10 @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, _08130A14 @ =0x0000fffe
-_081309C8:
- strh r1, [r0, 0x24]
-_081309CA:
- adds r0, r4, 0
- bl sub_807992C
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _08130A26
- ldr r2, _08130A10 @ =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]
- ldrh r0, [r4, 0x8]
- subs r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- cmp r0, 0
- beq _08130A20
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _08130A18 @ =gTasks
- adds r0, r1
- ldrh r1, [r0, 0x26]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _08130A1C @ =gUnknown_084029DC
- bl sub_80798F4
- strh r5, [r4, 0xA]
- strh r5, [r4, 0xC]
- b _08130A26
- .align 2, 0
-_08130A10: .4byte gSprites
-_08130A14: .4byte 0x0000fffe
-_08130A18: .4byte gTasks
-_08130A1C: .4byte gUnknown_084029DC
-_08130A20:
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_08130A26:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8130970
-
- thumb_func_start sub_8130A2C
-sub_8130A2C: @ 8130A2C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _08130A40 @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08130A48
- ldr r4, _08130A44 @ =gAnimBankAttacker
- b _08130A4A
- .align 2, 0
-_08130A40: .4byte gBattleAnimArgs
-_08130A44: .4byte gAnimBankAttacker
-_08130A48:
- ldr r4, _08130A88 @ =gAnimBankTarget
-_08130A4A:
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_807A100
- strh r0, [r5, 0x22]
- movs r1, 0x22
- ldrsh r0, [r5, r1]
- cmp r0, 0x7
- bgt _08130A6E
- movs r0, 0x8
- strh r0, [r5, 0x22]
-_08130A6E:
- movs r2, 0
- strh r2, [r5, 0x2E]
- ldr r1, _08130A8C @ =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- strh r0, [r5, 0x30]
- strh r2, [r5, 0x32]
- ldrh r0, [r1, 0x4]
- strh r0, [r5, 0x34]
- ldr r0, _08130A90 @ =sub_8130A94
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08130A88: .4byte gAnimBankTarget
-_08130A8C: .4byte gBattleAnimArgs
-_08130A90: .4byte sub_8130A94
- thumb_func_end sub_8130A2C
-
- thumb_func_start sub_8130A94
-sub_8130A94: @ 8130A94
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x30
- ldrsh r1, [r3, r2]
- cmp r0, r1
- blt _08130AE8
- movs r0, 0
- strh r0, [r3, 0x2E]
- ldrh r1, [r3, 0x32]
- adds r1, 0x1
- movs r0, 0x1
- ands r1, r0
- strh r1, [r3, 0x32]
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- lsls r1, 2
- ldrb r2, [r0]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- movs r2, 0x32
- ldrsh r0, [r3, r2]
- cmp r0, 0
- beq _08130AE8
- ldrh r0, [r3, 0x34]
- subs r0, 0x1
- strh r0, [r3, 0x34]
- lsls r0, 16
- cmp r0, 0
- bne _08130AE8
- adds r0, r3, 0
- bl DestroyAnimSprite
-_08130AE8:
- pop {r0}
- bx r0
- thumb_func_end sub_8130A94
-
- thumb_func_start sub_8130AEC
-sub_8130AEC: @ 8130AEC
- push {lr}
- adds r3, r0, 0
- ldr r0, _08130B18 @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08130B1C
- ldrb r2, [r3, 0x3]
- lsls r1, r2, 26
- lsrs r1, 27
- movs r0, 0x8
- orrs r1, r0
- lsls r1, 1
- subs r0, 0x47
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x3]
- movs r0, 0x64
- strh r0, [r3, 0x20]
- movs r0, 0x1
- b _08130B22
- .align 2, 0
-_08130B18: .4byte gBattleAnimArgs
-_08130B1C:
- movs r0, 0x8C
- strh r0, [r3, 0x20]
- ldr r0, _08130B30 @ =0x0000ffff
-_08130B22:
- strh r0, [r3, 0x3C]
- movs r0, 0x38
- strh r0, [r3, 0x22]
- ldr r0, _08130B34 @ =sub_8130B38
- str r0, [r3, 0x1C]
- pop {r0}
- bx r0
- .align 2, 0
-_08130B30: .4byte 0x0000ffff
-_08130B34: .4byte sub_8130B38
- thumb_func_end sub_8130AEC
-
- thumb_func_start sub_8130B38
-sub_8130B38: @ 8130B38
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x8
- bls _08130B46
- b _08130D18
-_08130B46:
- lsls r0, 2
- ldr r1, _08130B50 @ =_08130B54
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08130B50: .4byte _08130B54
- .align 2, 0
-_08130B54:
- .4byte _08130B78
- .4byte _08130BAA
- .4byte _08130BBC
- .4byte _08130BFC
- .4byte _08130C0E
- .4byte _08130C4C
- .4byte _08130CB0
- .4byte _08130CD0
- .4byte _08130CF6
-_08130B78:
- movs r3, 0x3C
- ldrsh r0, [r4, r3]
- lsls r0, 1
- ldrh r1, [r4, 0x22]
- subs r1, r0
- strh r1, [r4, 0x22]
- ldrh r2, [r4, 0x30]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08130B9A
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- lsls r1, 1
- ldrh r0, [r4, 0x20]
- subs r0, r1
- strh r0, [r4, 0x20]
-_08130B9A:
- adds r0, r2, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- beq _08130BA8
- b _08130D18
-_08130BA8:
- b _08130CEA
-_08130BAA:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- beq _08130BBA
- b _08130D18
-_08130BBA:
- b _08130CEA
-_08130BBC:
- ldrh r2, [r4, 0x30]
- adds r2, 0x1
- strh r2, [r4, 0x30]
- movs r3, 0x3C
- ldrsh r1, [r4, r3]
- lsls r0, r1, 1
- adds r0, r1
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldr r3, _08130BF8 @ =gSineTable
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 19
- ldrh r1, [r4, 0x3C]
- muls r0, r1
- strh r0, [r4, 0x24]
- lsls r2, 16
- asrs r2, 16
- cmp r2, 0xC
- beq _08130BF4
- b _08130D18
-_08130BF4:
- b _08130CEA
- .align 2, 0
-_08130BF8: .4byte gSineTable
-_08130BFC:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- beq _08130C0C
- b _08130D18
-_08130C0C:
- b _08130CEA
-_08130C0E:
- ldrh r2, [r4, 0x30]
- adds r2, 0x1
- strh r2, [r4, 0x30]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- lsls r1, r0, 1
- adds r1, r0
- ldrh r0, [r4, 0x22]
- subs r0, r1
- strh r0, [r4, 0x22]
- ldr r3, _08130C48 @ =gSineTable
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 19
- ldrh r1, [r4, 0x3C]
- muls r0, r1
- strh r0, [r4, 0x24]
- lsls r2, 16
- asrs r2, 16
- cmp r2, 0xC
- bne _08130D18
- b _08130CEE
- .align 2, 0
-_08130C48: .4byte gSineTable
-_08130C4C:
- ldrh r2, [r4, 0x30]
- adds r2, 0x1
- strh r2, [r4, 0x30]
- movs r3, 0x3C
- ldrsh r1, [r4, r3]
- lsls r0, r1, 1
- adds r0, r1
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldr r3, _08130CA4 @ =gSineTable
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 19
- ldrh r1, [r4, 0x3C]
- muls r0, r1
- strh r0, [r4, 0x24]
- lsls r2, 16
- asrs r2, 16
- cmp r2, 0xF
- bne _08130C98
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x10
- ldr r3, _08130CA8 @ =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r0, _08130CAC @ =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
-_08130C98:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x12
- bne _08130D18
- b _08130CEA
- .align 2, 0
-_08130CA4: .4byte gSineTable
-_08130CA8: .4byte 0x000003ff
-_08130CAC: .4byte 0xfffffc00
-_08130CB0:
- movs r3, 0x3C
- ldrsh r0, [r4, r3]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- ldrh r0, [r4, 0x20]
- adds r1, r0
- strh r1, [r4, 0x20]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- bne _08130D18
- b _08130CEA
-_08130CD0:
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- lsls r0, 1
- ldrh r3, [r4, 0x20]
- adds r0, r3
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _08130D18
-_08130CEA:
- movs r0, 0
- strh r0, [r4, 0x30]
-_08130CEE:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _08130D18
-_08130CF6:
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- lsls r1, r0, 1
- adds r1, r0
- ldrh r0, [r4, 0x20]
- subs r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _08130D18
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08130D18:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8130B38
-
- thumb_func_start sub_8130D20
-sub_8130D20: @ 8130D20
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08130D7C @ =gTasks
- adds r6, r1, r0
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x26]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _08130DA8
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x1
- bne _08130D8C
- ldr r5, _08130D80 @ =gAnimBankAttacker
- ldrb r0, [r5]
- movs r1, 0
- bl GetBattlerSpriteCoord
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldrb r1, [r5]
- movs r0, 0x2
- eors r0, r1
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- ble _08130D84
- strh r7, [r6, 0x24]
- b _08130DAC
- .align 2, 0
-_08130D7C: .4byte gTasks
-_08130D80: .4byte gAnimBankAttacker
-_08130D84:
- ldr r0, _08130D88 @ =0x0000ffff
- b _08130DAA
- .align 2, 0
-_08130D88: .4byte 0x0000ffff
-_08130D8C:
- ldr r0, _08130DA0 @ =gAnimBankAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08130DA8
- ldr r0, _08130DA4 @ =0x0000ffff
- b _08130DAA
- .align 2, 0
-_08130DA0: .4byte gAnimBankAttacker
-_08130DA4: .4byte 0x0000ffff
-_08130DA8:
- movs r0, 0x1
-_08130DAA:
- strh r0, [r6, 0x24]
-_08130DAC:
- ldr r0, _08130DB8 @ =sub_8130DBC
- str r0, [r6]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08130DB8: .4byte sub_8130DBC
- thumb_func_end sub_8130D20
-
- thumb_func_start sub_8130DBC
-sub_8130DBC: @ 8130DBC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _08130DE0 @ =gTasks
- adds r3, r0, r1
- movs r1, 0x8
- ldrsh r0, [r3, r1]
- cmp r0, 0x8
- bls _08130DD6
- b _08130F50
-_08130DD6:
- lsls r0, 2
- ldr r1, _08130DE4 @ =_08130DE8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08130DE0: .4byte gTasks
-_08130DE4: .4byte _08130DE8
- .align 2, 0
-_08130DE8:
- .4byte _08130E0C
- .4byte _08130E1E
- .4byte _08130E50
- .4byte _08130E80
- .4byte _08130EA6
- .4byte _08130ED0
- .4byte _08130EE0
- .4byte _08130F00
- .4byte _08130F38
-_08130E0C:
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD
- beq _08130E1C
- b _08130F50
-_08130E1C:
- b _08130F28
-_08130E1E:
- ldr r2, _08130E4C @ =gSprites
- movs r1, 0x26
- ldrsh r0, [r3, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r2, 0x24
- ldrsh r0, [r3, r2]
- lsls r2, r0, 1
- adds r2, r0
- ldrh r0, [r1, 0x24]
- subs r0, r2
- strh r0, [r1, 0x24]
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- beq _08130E4A
- b _08130F50
-_08130E4A:
- b _08130F28
- .align 2, 0
-_08130E4C: .4byte gSprites
-_08130E50:
- ldr r2, _08130E7C @ =gSprites
- movs r1, 0x26
- ldrsh r0, [r3, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x24
- ldrsh r2, [r3, r0]
- lsls r0, r2, 1
- adds r0, r2
- ldrh r2, [r1, 0x24]
- adds r0, r2
- strh r0, [r1, 0x24]
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- bne _08130F50
- b _08130F28
- .align 2, 0
-_08130E7C: .4byte gSprites
-_08130E80:
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _08130F50
- movs r0, 0
- strh r0, [r3, 0xA]
- ldrh r1, [r3, 0xC]
- movs r2, 0xC
- ldrsh r0, [r3, r2]
- cmp r0, 0
- bne _08130F2C
- adds r0, r1, 0x1
- strh r0, [r3, 0xC]
- movs r0, 0x1
- strh r0, [r3, 0x8]
- b _08130F50
-_08130EA6:
- ldr r2, _08130ECC @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x24]
- ldrh r2, [r0, 0x24]
- adds r1, r2
- strh r1, [r0, 0x24]
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _08130F50
- b _08130F28
- .align 2, 0
-_08130ECC: .4byte gSprites
-_08130ED0:
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- bne _08130F50
- b _08130F28
-_08130EE0:
- ldr r2, _08130EFC @ =gSprites
- movs r1, 0x26
- ldrsh r0, [r3, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x24
- ldrsh r2, [r3, r0]
- lsls r2, 2
- ldrh r0, [r1, 0x24]
- subs r0, r2
- b _08130F18
- .align 2, 0
-_08130EFC: .4byte gSprites
-_08130F00:
- ldr r2, _08130F34 @ =gSprites
- movs r1, 0x26
- ldrsh r0, [r3, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r2, 0x24
- ldrsh r0, [r3, r2]
- lsls r0, 2
- ldrh r2, [r1, 0x24]
- adds r0, r2
-_08130F18:
- strh r0, [r1, 0x24]
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _08130F50
-_08130F28:
- movs r0, 0
- strh r0, [r3, 0xA]
-_08130F2C:
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
- b _08130F50
- .align 2, 0
-_08130F34: .4byte gSprites
-_08130F38:
- ldr r2, _08130F58 @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x24]
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_08130F50:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08130F58: .4byte gSprites
- thumb_func_end sub_8130DBC
-
- thumb_func_start sub_8130F5C
-sub_8130F5C: @ 8130F5C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _08130F78 @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08130F80
- adds r0, r4, 0
- movs r1, 0x1
- bl InitAnimSpritePos
- ldr r0, _08130F7C @ =gAnimBankAttacker
- b _08130F82
- .align 2, 0
-_08130F78: .4byte gBattleAnimArgs
-_08130F7C: .4byte gAnimBankAttacker
-_08130F80:
- ldr r0, _08130FD8 @ =gAnimBankTarget
-_08130F82:
- ldrb r0, [r0]
- strh r0, [r4, 0x3C]
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08130FA6
- ldrb r0, [r4, 0x3]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r0
- movs r0, 0x10
- orrs r1, r0
- strb r1, [r4, 0x3]
-_08130FA6:
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8079ED4
- movs r2, 0x3
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- adds r0, r1, 0
- ands r0, r3
- orrs r0, r2
- strb r0, [r4, 0x5]
- ldrb r0, [r4, 0x1]
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r4, 0x1]
- ldr r0, _08130FDC @ =sub_8130FE0
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08130FD8: .4byte gAnimBankTarget
-_08130FDC: .4byte sub_8130FE0
- thumb_func_end sub_8130F5C
-
- thumb_func_start sub_8130FE0
-sub_8130FE0: @ 8130FE0
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _08130FEE
- b _081311DE
-_08130FEE:
- lsls r0, 2
- ldr r1, _08130FF8 @ =_08130FFC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08130FF8: .4byte _08130FFC
- .align 2, 0
-_08130FFC:
- .4byte _08131010
- .4byte _08131110
- .4byte _08131178
- .4byte _0813118C
- .4byte _081311D8
-_08131010:
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- cmp r0, 0x5
- bhi _08131040
- lsls r0, 2
- ldr r1, _08131024 @ =_08131028
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08131024: .4byte _08131028
- .align 2, 0
-_08131028:
- .4byte _08131044
- .4byte _08131060
- .4byte _08131082
- .4byte _0813109E
- .4byte _08131044
- .4byte _081310C4
-_08131040:
- movs r0, 0
- strh r0, [r4, 0x3A]
-_08131044:
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x5
- bl sub_807A100
- subs r0, 0x4
- lsls r0, 16
- lsrs r5, r0, 16
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- b _081310B8
-_08131060:
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x5
- bl sub_807A100
- subs r0, 0x4
- lsls r0, 16
- lsrs r5, r0, 16
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl sub_807A100
- adds r0, 0x4
- b _081310BE
-_08131082:
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x4
- bl sub_807A100
- adds r0, 0x4
- lsls r0, 16
- lsrs r5, r0, 16
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- b _081310B8
-_0813109E:
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x4
- bl sub_807A100
- adds r0, 0x4
- lsls r0, 16
- lsrs r5, r0, 16
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
-_081310B8:
- bl sub_807A100
- subs r0, 0x4
-_081310BE:
- lsls r0, 16
- lsrs r1, r0, 16
- b _081310E4
-_081310C4:
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r5, r0, 24
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r1, r0, 24
-_081310E4:
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- cmp r0, 0x4
- bne _081310F0
- movs r0, 0x18
- b _081310FA
-_081310F0:
- cmp r0, 0x5
- bne _081310F8
- movs r0, 0x6
- b _081310FA
-_081310F8:
- movs r0, 0xC
-_081310FA:
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- strh r5, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- strh r1, [r4, 0x36]
- adds r0, r4, 0
- bl InitAnimLinearTranslation
- b _081311CA
-_08131110:
- adds r0, r4, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- beq _081311DE
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- beq _08131148
- cmp r0, 0x5
- beq _08131168
- 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, 0x2E]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- b _08131160
-_08131148:
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- 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, 0x38]
-_08131160:
- ldrh r0, [r4, 0x3A]
- adds r0, 0x1
- strh r0, [r4, 0x3A]
- b _081311DE
-_08131168:
- movs r0, 0
- strh r0, [r4, 0x2E]
- movs r1, 0x10
- strh r1, [r4, 0x30]
- strh r0, [r4, 0x32]
- movs r0, 0x3
- strh r0, [r4, 0x38]
- b _081311DE
-_08131178:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _081311DE
- movs r0, 0
- strh r0, [r4, 0x38]
- b _081311DE
-_0813118C:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0813119E
- ldrh r0, [r4, 0x30]
- subs r0, 0x1
- strh r0, [r4, 0x30]
- b _081311A4
-_0813119E:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
-_081311A4:
- ldr r2, _081311D4 @ =REG_BLDALPHA
- ldrh r0, [r4, 0x32]
- lsls r0, 8
- ldrh r1, [r4, 0x30]
- orrs r0, r1
- strh r0, [r2]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x20
- bne _081311DE
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_081311CA:
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- b _081311DE
- .align 2, 0
-_081311D4: .4byte REG_BLDALPHA
-_081311D8:
- adds r0, r4, 0
- bl DestroyAnimSprite
-_081311DE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8130FE0
-
- thumb_func_start sub_81311E4
-sub_81311E4: @ 81311E4
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- subs r0, r1
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- muls r0, r1
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl __divsi3
- adds r5, r0, 0
- strh r5, [r4, 0x24]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- subs r0, r1
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- muls r0, r1
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl __divsi3
- adds r3, r0, 0
- strh r3, [r4, 0x26]
- ldrh r1, [r4, 0x38]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08131242
- ldr r0, _08131260 @ =gSpriteTemplate_8402500
- ldrh r1, [r4, 0x20]
- adds r1, r5
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r4, 0x22]
- adds r2, r3
- lsls r2, 16
- asrs r2, 16
- movs r3, 0x5
- bl CreateSprite
-_08131242:
- movs r0, 0x38
- ldrsh r1, [r4, r0]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _08131254
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08131254:
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08131260: .4byte gSpriteTemplate_8402500
- thumb_func_end sub_81311E4
-
- thumb_func_start sub_8131264
-sub_8131264: @ 8131264
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _081312A0 @ =gAnimBankTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08131290
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _081312A8
-_08131290:
- ldr r2, _081312A4 @ =gBattleAnimArgs
- ldrh r1, [r5, 0x20]
- ldrh r0, [r2]
- subs r0, r1, r0
- strh r0, [r5, 0x2E]
- ldrh r0, [r2, 0x4]
- subs r1, r0
- b _081312B6
- .align 2, 0
-_081312A0: .4byte gAnimBankTarget
-_081312A4: .4byte gBattleAnimArgs
-_081312A8:
- ldr r2, _081312DC @ =gBattleAnimArgs
- ldrh r1, [r5, 0x20]
- ldrh r0, [r2]
- adds r0, r1, r0
- strh r0, [r5, 0x2E]
- ldrh r0, [r2, 0x4]
- adds r1, r0
-_081312B6:
- strh r1, [r5, 0x32]
- adds r3, r2, 0
- ldrh r1, [r5, 0x22]
- ldrh r2, [r3, 0x2]
- adds r2, r1, r2
- strh r2, [r5, 0x30]
- ldrh r0, [r3, 0x6]
- adds r1, r0
- strh r1, [r5, 0x34]
- ldrh r0, [r3, 0x8]
- strh r0, [r5, 0x36]
- ldrh r0, [r5, 0x2E]
- strh r0, [r5, 0x20]
- strh r2, [r5, 0x22]
- ldr r0, _081312E0 @ =sub_81311E4
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081312DC: .4byte gBattleAnimArgs
-_081312E0: .4byte sub_81311E4
- thumb_func_end sub_8131264
-
- thumb_func_start sub_81312E4
-sub_81312E4: @ 81312E4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r5, r0, 24
- adds r2, r5, 0
- ldr r0, _08131328 @ =gTasks
- mov r9, r0
- lsls r7, r6, 2
- adds r0, r7, r6
- lsls r0, 3
- mov r8, r0
- mov r4, r8
- add r4, r9
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0813132C
- adds r0, r5, 0
- movs r1, 0
- bl sub_8078E70
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- b _08131378
- .align 2, 0
-_08131328: .4byte gTasks
-_0813132C:
- cmp r0, 0x1
- bne _08131384
- ldrh r0, [r4, 0xA]
- adds r0, 0x60
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- subs r0, 0xD
- strh r0, [r4, 0xC]
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- movs r0, 0xC
- ldrsh r2, [r4, r0]
- adds r0, r5, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- bne _081313E8
- movs r0, 0
- strh r0, [r4, 0xE]
- adds r0, r5, 0
- bl sub_8078F40
- ldr r1, _08131380 @ =gSprites
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_08131378:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _081313E8
- .align 2, 0
-_08131380: .4byte gSprites
-_08131384:
- ldr r4, _081313F4 @ =gAnimBankAttacker
- ldrb r0, [r4]
- movs r1, 0
- bl refresh_graphics_maybe
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _081313C6
- ldr r3, _081313F8 @ =gSprites
- ldr r2, _081313FC @ =gBankSpriteIds
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x10
- adds r0, r1
- ldr r1, _08131400 @ =gSpriteAffineAnimTable_81E7C18
- str r1, [r0]
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0
- bl StartSpriteAffineAnim
-_081313C6:
- mov r4, r9
- adds r3, r7, 0
- ldr r5, _08131404 @ =sub_8131408
- movs r1, 0xF
- mov r2, r8
- adds r0, r4, r2
- adds r0, 0x26
- movs r2, 0
-_081313D6:
- strh r2, [r0]
- subs r0, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _081313D6
- adds r0, r3, r6
- lsls r0, 3
- adds r0, r4
- str r5, [r0]
-_081313E8:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081313F4: .4byte gAnimBankAttacker
-_081313F8: .4byte gSprites
-_081313FC: .4byte gBankSpriteIds
-_08131400: .4byte gSpriteAffineAnimTable_81E7C18
-_08131404: .4byte sub_8131408
- thumb_func_end sub_81312E4
-
- thumb_func_start sub_8131408
-sub_8131408: @ 8131408
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, _08131434 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r5, [r4, r0]
- cmp r5, 0x1
- beq _0813146C
- cmp r5, 0x1
- bgt _08131438
- cmp r5, 0
- beq _08131442
- b _0813155A
- .align 2, 0
-_08131434: .4byte gTasks
-_08131438:
- cmp r5, 0x2
- beq _081314D8
- cmp r5, 0x3
- beq _08131514
- b _0813155A
-_08131442:
- ldr r0, _08131464 @ =gSprites
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- adds r1, r0
- ldr r0, _08131468 @ =0x0000ff38
- strh r0, [r1, 0x26]
- movs r0, 0xC8
- strh r0, [r1, 0x24]
- adds r1, 0x3E
- ldrb r2, [r1]
- subs r0, 0xCD
- ands r0, r2
- strb r0, [r1]
- strh r5, [r4, 0x1C]
- b _08131506
- .align 2, 0
-_08131464: .4byte gSprites
-_08131468: .4byte 0x0000ff38
-_0813146C:
- ldrh r1, [r4, 0x1C]
- adds r1, 0x70
- movs r5, 0
- strh r1, [r4, 0x1C]
- ldr r2, _081314D0 @ =gSprites
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- adds r2, r0, r2
- lsls r1, 16
- asrs r1, 24
- ldrh r3, [r2, 0x26]
- adds r1, r3
- strh r1, [r2, 0x26]
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- movs r3, 0x26
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- blt _0813149C
- strh r5, [r2, 0x24]
-_0813149C:
- movs r1, 0x26
- ldrsh r0, [r2, r1]
- cmp r0, 0
- ble _081314A6
- strh r5, [r2, 0x26]
-_081314A6:
- movs r3, 0x26
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _0813155A
- movs r0, 0x40
- negs r0, r0
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x7D
- bl PlaySE12WithPanning
- ldr r1, _081314D4 @ =0xfffff800
- adds r0, r1, 0
- ldrh r2, [r4, 0x1C]
- adds r0, r2
- strh r0, [r4, 0x1C]
- b _08131506
- .align 2, 0
-_081314D0: .4byte gSprites
-_081314D4: .4byte 0xfffff800
-_081314D8:
- ldrh r0, [r4, 0x1C]
- subs r0, 0x70
- strh r0, [r4, 0x1C]
- lsls r0, 16
- cmp r0, 0
- bge _081314E8
- movs r0, 0
- strh r0, [r4, 0x1C]
-_081314E8:
- ldr r0, _08131510 @ =gSprites
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r4, 0x1C]
- lsls r2, 16
- asrs r2, 24
- ldrh r0, [r1, 0x26]
- subs r0, r2
- strh r0, [r1, 0x26]
- movs r3, 0x1C
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _0813155A
-_08131506:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0813155A
- .align 2, 0
-_08131510: .4byte gSprites
-_08131514:
- ldrh r0, [r4, 0x1C]
- adds r0, 0x70
- strh r0, [r4, 0x1C]
- ldr r2, _08131560 @ =gSprites
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- adds r1, r2
- lsls r0, 16
- asrs r0, 24
- ldrh r2, [r1, 0x26]
- adds r0, r2
- strh r0, [r1, 0x26]
- lsls r0, 16
- cmp r0, 0
- ble _08131538
- movs r0, 0
- strh r0, [r1, 0x26]
-_08131538:
- movs r3, 0x26
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _0813155A
- movs r0, 0x40
- negs r0, r0
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x7D
- bl PlaySE12WithPanning
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_0813155A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08131560: .4byte gSprites
- thumb_func_end sub_8131408
-
- thumb_func_start sub_8131564
-sub_8131564: @ 8131564
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _08131588 @ =gAnimBankTarget
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08131590
- ldrb r0, [r4]
- bl sub_8079E90
- subs r0, 0x2
- adds r1, r5, 0
- adds r1, 0x43
- strb r0, [r1]
- ldr r4, _0813158C @ =0x0000ff70
- b _081315A0
- .align 2, 0
-_08131588: .4byte gAnimBankTarget
-_0813158C: .4byte 0x0000ff70
-_08131590:
- ldrb r0, [r4]
- bl sub_8079E90
- adds r0, 0x2
- adds r1, r5, 0
- adds r1, 0x43
- strb r0, [r1]
- ldr r4, _081315BC @ =0x0000ffa0
-_081315A0:
- ldr r0, _081315C0 @ =gAnimBankTarget
- ldrb r0, [r0]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- strh r4, [r5, 0x26]
- ldr r0, _081315C4 @ =sub_81315C8
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081315BC: .4byte 0x0000ffa0
-_081315C0: .4byte gAnimBankTarget
-_081315C4: .4byte sub_81315C8
- thumb_func_end sub_8131564
-
- thumb_func_start sub_81315C8
-sub_81315C8: @ 81315C8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _081315D6
- b _081316F2
-_081315D6:
- lsls r0, 2
- ldr r1, _081315E0 @ =_081315E4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081315E0: .4byte _081315E4
- .align 2, 0
-_081315E4:
- .4byte _081315F8
- .4byte _0813161C
- .4byte _0813165C
- .4byte _0813168C
- .4byte _081316B8
-_081315F8:
- ldrh r0, [r4, 0x26]
- adds r0, 0xA
- strh r0, [r4, 0x26]
- lsls r0, 16
- cmp r0, 0
- blt _081316F2
- movs r0, 0x3F
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xCD
- bl PlaySE12WithPanning
- movs r0, 0
- strh r0, [r4, 0x26]
- b _081316B0
-_0813161C:
- ldrh r1, [r4, 0x30]
- adds r1, 0x4
- movs r5, 0
- strh r1, [r4, 0x30]
- ldr r2, _08131658 @ =gSineTable
- movs r3, 0x30
- ldrsh r0, [r4, r3]
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 19
- negs r0, r0
- strh r0, [r4, 0x26]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x7F
- ble _081316F2
- movs r0, 0x3F
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xCD
- bl PlaySE12WithPanning
- strh r5, [r4, 0x30]
- strh r5, [r4, 0x26]
- b _081316B0
- .align 2, 0
-_08131658: .4byte gSineTable
-_0813165C:
- ldrh r1, [r4, 0x30]
- adds r1, 0x6
- movs r3, 0
- strh r1, [r4, 0x30]
- ldr r2, _08131688 @ =gSineTable
- movs r5, 0x30
- ldrsh r0, [r4, r5]
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 20
- negs r0, r0
- strh r0, [r4, 0x26]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x7F
- ble _081316F2
- strh r3, [r4, 0x30]
- strh r3, [r4, 0x26]
- b _081316B0
- .align 2, 0
-_08131688: .4byte gSineTable
-_0813168C:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _081316F2
- movs r0, 0x3F
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xC0
- bl PlaySE12WithPanning
- movs r0, 0
- strh r0, [r4, 0x30]
-_081316B0:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _081316F2
-_081316B8:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _081316F2
- movs r0, 0
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x32]
- adds r1, 0x1
- strh r1, [r4, 0x32]
- movs r0, 0x1
- ands r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- lsls r1, 2
- ldrb r2, [r3]
- subs r0, 0x6
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- bne _081316F2
- adds r0, r4, 0
- bl DestroyAnimSprite
-_081316F2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81315C8
-
- thumb_func_start sub_81316F8
-sub_81316F8: @ 81316F8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r4, r0, 24
- mov r10, r4
- bl IsContest
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0813173E
- movs r0, 0x1
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- lsls r0, 16
- asrs r7, r0, 16
- cmp r7, 0
- blt _0813173E
- movs r0, 0x1
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _0813174C
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, _08131748 @ =gSprites
- adds r0, r1
- bl obj_delete_but_dont_free_vram
-_0813173E:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _081317EE
- .align 2, 0
-_08131748: .4byte gSprites
-_0813174C:
- ldr r1, _081317FC @ =gSprites
- mov r9, r1
- lsls r1, r0, 4
- mov r8, r1
- add r8, r0
- mov r0, r8
- lsls r0, 2
- mov r8, r0
- mov r4, r8
- add r4, r9
- ldrh r0, [r4, 0x24]
- adds r0, 0x18
- strh r0, [r4, 0x24]
- lsls r6, r7, 4
- adds r6, r7
- lsls r6, 2
- mov r1, r9
- adds r2, r6, r1
- ldrh r0, [r2, 0x24]
- subs r0, 0x18
- strh r0, [r2, 0x24]
- strh r5, [r4, 0x2E]
- strh r5, [r2, 0x2E]
- strh r5, [r4, 0x30]
- strh r5, [r2, 0x30]
- strh r5, [r4, 0x32]
- strh r5, [r2, 0x32]
- movs r0, 0x10
- strh r0, [r4, 0x34]
- ldr r0, _08131800 @ =0x0000fff0
- strh r0, [r2, 0x34]
- strh r5, [r4, 0x36]
- movs r0, 0x80
- strh r0, [r2, 0x36]
- movs r0, 0x18
- strh r0, [r4, 0x38]
- strh r0, [r2, 0x38]
- mov r0, r10
- strh r0, [r4, 0x3A]
- strh r0, [r2, 0x3A]
- strh r5, [r4, 0x3C]
- strh r5, [r2, 0x3C]
- ldr r0, _08131804 @ =gTasks
- mov r1, r10
- lsls r3, r1, 2
- add r3, r10
- lsls r3, 3
- adds r3, r0
- movs r0, 0x2
- strh r0, [r3, 0x8]
- adds r5, r4, 0
- adds r5, 0x3E
- ldrb r1, [r5]
- subs r0, 0x7
- ands r0, r1
- strb r0, [r5]
- adds r5, r2, 0
- adds r5, 0x3E
- ldrb r0, [r5]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r5]
- ldrb r5, [r4, 0x1]
- movs r1, 0xD
- negs r1, r1
- adds r0, r1, 0
- ands r0, r5
- strb r0, [r4, 0x1]
- ldrb r0, [r2, 0x1]
- ands r1, r0
- strb r1, [r2, 0x1]
- movs r0, 0x1C
- add r9, r0
- add r8, r9
- ldr r0, _08131808 @ =sub_8131838
- mov r1, r8
- str r0, [r1]
- add r6, r9
- str r0, [r6]
- ldr r0, _0813180C @ =sub_8131810
- str r0, [r3]
-_081317EE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081317FC: .4byte gSprites
-_08131800: .4byte 0x0000fff0
-_08131804: .4byte gTasks
-_08131808: .4byte sub_8131838
-_0813180C: .4byte sub_8131810
- thumb_func_end sub_81316F8
-
- thumb_func_start sub_8131810
-sub_8131810: @ 8131810
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _08131834 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0813182E
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_0813182E:
- pop {r0}
- bx r0
- .align 2, 0
-_08131834: .4byte gTasks
- thumb_func_end sub_8131810
-
- thumb_func_start sub_8131838
-sub_8131838: @ 8131838
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08131868
- strh r5, [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]
-_08131868:
- ldrh r0, [r4, 0x34]
- ldrh r1, [r4, 0x36]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x36]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08131890
- cmp r0, 0x1
- beq _081318A8
- b _081318E6
-_08131890:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- bne _081318E6
- strh r5, [r4, 0x32]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _081318E6
-_081318A8:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- cmp r0, 0
- ble _081318E6
- strh r5, [r4, 0x32]
- ldrh r0, [r4, 0x38]
- subs r0, 0x2
- strh r0, [r4, 0x38]
- lsls r0, 16
- cmp r0, 0
- bge _081318E6
- ldr r3, _081318EC @ =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]
- adds r0, r4, 0
- bl obj_delete_but_dont_free_vram
-_081318E6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081318EC: .4byte gTasks
- thumb_func_end sub_8131838
-
thumb_func_start sub_81318F0
sub_81318F0: @ 81318F0
push {r4,lr}
diff --git a/asm/contest_painting_effects.s b/asm/contest_painting_effects.s
index bc72a6ef5..0c403c093 100644
--- a/asm/contest_painting_effects.s
+++ b/asm/contest_painting_effects.s
@@ -5,1366 +5,6 @@
.text
- thumb_func_start sub_80FCB5C
-sub_80FCB5C: @ 80FCB5C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r2, 0
- ldr r0, _080FCC00 @ =gUnknown_03005DF8
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FCBF2
- ldr r0, _080FCC04 @ =gUnknown_03005DEC
- mov r8, r0
- ldr r3, _080FCC08 @ =gUnknown_03005E04
-_080FCB74:
- ldr r0, _080FCC0C @ =gUnknown_03005DFC
- ldrb r1, [r0]
- ldrb r0, [r3]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, _080FCC10 @ =gUnknown_03005DE8
- ldrb r0, [r0]
- adds r0, r2
- lsls r0, 1
- adds r4, r1, r0
- ldrh r1, [r4]
- mov r0, sp
- strh r1, [r0]
- movs r5, 0x1
- ldrb r0, [r3]
- lsls r0, 1
- adds r4, r0
- ldr r0, _080FCC14 @ =gUnknown_03005DF0
- ldrb r0, [r0]
- subs r0, 0x1
- adds r7, r2, 0x1
- cmp r5, r0
- bge _080FCBE6
- ldr r6, _080FCC08 @ =gUnknown_03005E04
-_080FCBAA:
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 8
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _080FCBD0
- ldrb r2, [r6]
- lsls r2, 1
- adds r2, r4, r2
- mov r0, sp
- adds r1, r4, 0
- str r3, [sp, 0x4]
- bl sub_80FD68C
- strh r0, [r4]
- mov r1, sp
- strh r0, [r1]
- ldr r3, [sp, 0x4]
-_080FCBD0:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6]
- lsls r0, 1
- adds r4, r0
- ldr r0, _080FCC14 @ =gUnknown_03005DF0
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r5, r0
- blt _080FCBAA
-_080FCBE6:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, _080FCC00 @ =gUnknown_03005DF8
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FCB74
-_080FCBF2:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCC00: .4byte gUnknown_03005DF8
-_080FCC04: .4byte gUnknown_03005DEC
-_080FCC08: .4byte gUnknown_03005E04
-_080FCC0C: .4byte gUnknown_03005DFC
-_080FCC10: .4byte gUnknown_03005DE8
-_080FCC14: .4byte gUnknown_03005DF0
- thumb_func_end sub_80FCB5C
-
- thumb_func_start sub_80FCC18
-sub_80FCC18: @ 80FCC18
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r2, 0
- ldr r0, _080FCCA4 @ =gUnknown_03005DF0
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FCC94
- ldr r0, _080FCCA8 @ =gUnknown_03005DEC
- mov r9, r0
- ldr r3, _080FCCAC @ =gUnknown_03005DF8
-_080FCC38:
- ldr r0, _080FCCB0 @ =gUnknown_03005DFC
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080FCCB4 @ =gUnknown_03005E04
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r9
- ldr r1, [r4]
- adds r1, r0
- ldr r0, _080FCCB8 @ =gUnknown_03005DE8
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _080FCC88
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_080FCC64:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _080FCC7A
- adds r0, r4, 0
- mov r1, r8
- str r3, [sp]
- bl sub_80FD3D0
- strh r0, [r4]
- ldr r3, [sp]
-_080FCC7A:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _080FCC64
-_080FCC88:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, _080FCCA4 @ =gUnknown_03005DF0
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FCC38
-_080FCC94:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCCA4: .4byte gUnknown_03005DF0
-_080FCCA8: .4byte gUnknown_03005DEC
-_080FCCAC: .4byte gUnknown_03005DF8
-_080FCCB0: .4byte gUnknown_03005DFC
-_080FCCB4: .4byte gUnknown_03005E04
-_080FCCB8: .4byte gUnknown_03005DE8
- thumb_func_end sub_80FCC18
-
- thumb_func_start sub_80FCCBC
-sub_80FCCBC: @ 80FCCBC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, _080FCD3C @ =gUnknown_03005DF0
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FCD2E
- ldr r0, _080FCD40 @ =gUnknown_03005DEC
- mov r8, r0
- ldr r3, _080FCD44 @ =gUnknown_03005DF8
-_080FCCD4:
- ldr r0, _080FCD48 @ =gUnknown_03005DFC
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080FCD4C @ =gUnknown_03005E04
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, _080FCD50 @ =gUnknown_03005DE8
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _080FCD22
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_080FCD00:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _080FCD14
- adds r0, r4, 0
- str r3, [sp]
- bl sub_80FD4DC
- strh r0, [r4]
- ldr r3, [sp]
-_080FCD14:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _080FCD00
-_080FCD22:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, _080FCD3C @ =gUnknown_03005DF0
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FCCD4
-_080FCD2E:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCD3C: .4byte gUnknown_03005DF0
-_080FCD40: .4byte gUnknown_03005DEC
-_080FCD44: .4byte gUnknown_03005DF8
-_080FCD48: .4byte gUnknown_03005DFC
-_080FCD4C: .4byte gUnknown_03005E04
-_080FCD50: .4byte gUnknown_03005DE8
- thumb_func_end sub_80FCCBC
-
- thumb_func_start sub_80FCD54
-sub_80FCD54: @ 80FCD54
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r7, 0
- ldr r0, _080FCE8C @ =gUnknown_03005DF0
- ldrb r0, [r0]
- cmp r7, r0
- bcs _080FCDE0
- ldr r0, _080FCE90 @ =gUnknown_03005DEC
- mov r8, r0
-_080FCD6A:
- ldr r0, _080FCE94 @ =gUnknown_03005DFC
- ldrb r1, [r0]
- adds r1, r7
- ldr r0, _080FCE98 @ =gUnknown_03005E04
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r2, r8
- ldr r1, [r2]
- adds r1, r0
- ldr r0, _080FCE9C @ =gUnknown_03005DE8
- ldrb r0, [r0]
- lsls r0, 1
- adds r5, r1, r0
- adds r4, r5, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80FD50C
- strh r0, [r5]
- movs r6, 0x1
- adds r5, r4, 0
- ldr r0, _080FCEA0 @ =gUnknown_03005DF8
- ldrb r0, [r0]
- subs r0, 0x1
- adds r7, 0x1
- cmp r6, r0
- bge _080FCDCA
-_080FCDA2:
- adds r4, r5, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80FD50C
- strh r0, [r5]
- subs r1, r5, 0x2
- adds r0, r5, 0
- bl sub_80FD50C
- strh r0, [r5]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r5, r4, 0
- ldr r0, _080FCEA0 @ =gUnknown_03005DF8
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r6, r0
- blt _080FCDA2
-_080FCDCA:
- subs r1, r5, 0x2
- adds r0, r5, 0
- bl sub_80FD50C
- strh r0, [r5]
- lsls r0, r7, 24
- lsrs r7, r0, 24
- ldr r0, _080FCE8C @ =gUnknown_03005DF0
- ldrb r0, [r0]
- cmp r7, r0
- bcc _080FCD6A
-_080FCDE0:
- movs r6, 0
- ldr r0, _080FCEA0 @ =gUnknown_03005DF8
- ldrb r0, [r0]
- cmp r6, r0
- bcs _080FCE80
- ldr r3, _080FCE90 @ =gUnknown_03005DEC
- mov r9, r3
- ldr r0, _080FCE98 @ =gUnknown_03005E04
- mov r8, r0
-_080FCDF2:
- ldr r0, _080FCE94 @ =gUnknown_03005DFC
- ldrb r0, [r0]
- mov r2, r8
- ldrb r1, [r2]
- muls r0, r1
- lsls r0, 1
- mov r3, r9
- ldr r2, [r3]
- adds r2, r0
- ldr r0, _080FCE9C @ =gUnknown_03005DE8
- ldrb r0, [r0]
- adds r0, r6
- lsls r0, 1
- adds r5, r2, r0
- lsls r1, 1
- adds r1, r5, r1
- adds r0, r5, 0
- bl sub_80FD50C
- strh r0, [r5]
- movs r7, 0x1
- mov r1, r8
- ldrb r0, [r1]
- lsls r0, 1
- adds r5, r0
- ldr r0, _080FCE8C @ =gUnknown_03005DF0
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, 0x1
- cmp r7, r0
- bge _080FCE64
- ldr r4, _080FCE98 @ =gUnknown_03005E04
-_080FCE32:
- ldrb r1, [r4]
- lsls r1, 1
- adds r1, r5, r1
- adds r0, r5, 0
- bl sub_80FD50C
- strh r0, [r5]
- ldrb r1, [r4]
- lsls r1, 1
- subs r1, r5, r1
- adds r0, r5, 0
- bl sub_80FD50C
- strh r0, [r5]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r4]
- lsls r0, 1
- adds r5, r0
- ldr r0, _080FCE8C @ =gUnknown_03005DF0
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r7, r0
- blt _080FCE32
-_080FCE64:
- mov r2, r8
- ldrb r1, [r2]
- lsls r1, 1
- subs r1, r5, r1
- adds r0, r5, 0
- bl sub_80FD50C
- strh r0, [r5]
- lsls r0, r6, 24
- lsrs r6, r0, 24
- ldr r0, _080FCEA0 @ =gUnknown_03005DF8
- ldrb r0, [r0]
- cmp r6, r0
- bcc _080FCDF2
-_080FCE80:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCE8C: .4byte gUnknown_03005DF0
-_080FCE90: .4byte gUnknown_03005DEC
-_080FCE94: .4byte gUnknown_03005DFC
-_080FCE98: .4byte gUnknown_03005E04
-_080FCE9C: .4byte gUnknown_03005DE8
-_080FCEA0: .4byte gUnknown_03005DF8
- thumb_func_end sub_80FCD54
-
- thumb_func_start sub_80FCEA4
-sub_80FCEA4: @ 80FCEA4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, _080FCF24 @ =gUnknown_03005DF0
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FCF16
- ldr r0, _080FCF28 @ =gUnknown_03005DEC
- mov r8, r0
- ldr r3, _080FCF2C @ =gUnknown_03005DF8
-_080FCEBC:
- ldr r0, _080FCF30 @ =gUnknown_03005DFC
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080FCF34 @ =gUnknown_03005E04
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, _080FCF38 @ =gUnknown_03005DE8
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _080FCF0A
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_080FCEE8:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _080FCEFC
- adds r0, r4, 0
- str r3, [sp]
- bl sub_80FD53C
- strh r0, [r4]
- ldr r3, [sp]
-_080FCEFC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _080FCEE8
-_080FCF0A:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, _080FCF24 @ =gUnknown_03005DF0
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FCEBC
-_080FCF16:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCF24: .4byte gUnknown_03005DF0
-_080FCF28: .4byte gUnknown_03005DEC
-_080FCF2C: .4byte gUnknown_03005DF8
-_080FCF30: .4byte gUnknown_03005DFC
-_080FCF34: .4byte gUnknown_03005E04
-_080FCF38: .4byte gUnknown_03005DE8
- thumb_func_end sub_80FCEA4
-
- thumb_func_start sub_80FCF3C
-sub_80FCF3C: @ 80FCF3C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r0, _080FD068 @ =gUnknown_03005DEC
- ldr r4, [r0]
- movs r6, 0
- movs r0, 0x80
- lsls r0, 8
- adds r5, r0, 0
-_080FCF54:
- movs r7, 0
-_080FCF56:
- ldrh r0, [r4]
- ands r0, r5
- cmp r0, 0
- bne _080FCF66
- adds r0, r4, 0
- bl sub_80FD53C
- strh r0, [r4]
-_080FCF66:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r4, 0x2
- cmp r7, 0x3F
- bls _080FCF56
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3F
- bls _080FCF54
- movs r7, 0
- ldr r1, _080FD068 @ =gUnknown_03005DEC
- mov r10, r1
- mov r3, sp
- movs r2, 0x80
- lsls r2, 8
- mov r9, r2
-_080FCF8A:
- lsls r0, r7, 1
- mov r2, r10
- ldr r1, [r2]
- adds r4, r1, r0
- ldrh r1, [r4]
- strh r1, [r3]
- mov r1, r9
- strh r1, [r4]
- movs r6, 0x1
- adds r4, 0x80
- adds r5, r0, 0
-_080FCFA0:
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 8
- ands r0, r2
- cmp r0, 0
- bne _080FCFC0
- adds r2, r4, 0
- adds r2, 0x80
- mov r0, sp
- adds r1, r4, 0
- str r3, [sp, 0x4]
- bl sub_80FD7AC
- strh r0, [r4]
- ldr r3, [sp, 0x4]
- strh r0, [r3]
-_080FCFC0:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, 0x80
- cmp r6, 0x3E
- bls _080FCFA0
- mov r0, r9
- strh r0, [r4]
- mov r1, r10
- ldr r0, [r1]
- adds r4, r0, r5
- ldrh r0, [r4]
- strh r0, [r3]
- mov r2, r9
- strh r2, [r4]
- movs r6, 0x1
- adds r4, 0x80
- movs r0, 0x80
- lsls r0, 8
- mov r8, r0
-_080FCFE8:
- ldrh r0, [r4]
- mov r1, r8
- ands r0, r1
- adds r5, r4, 0
- adds r5, 0x80
- cmp r0, 0
- bne _080FD008
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- str r3, [sp, 0x4]
- bl sub_80FD7AC
- strh r0, [r4]
- ldr r3, [sp, 0x4]
- strh r0, [r3]
-_080FD008:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, r5, 0
- cmp r6, 0x3E
- bls _080FCFE8
- mov r2, r9
- strh r2, [r4]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3F
- bls _080FCF8A
- ldr r0, _080FD068 @ =gUnknown_03005DEC
- ldr r4, [r0]
- movs r6, 0
- movs r0, 0x80
- lsls r0, 8
- mov r8, r0
-_080FD02E:
- movs r7, 0
- adds r5, r6, 0x1
-_080FD032:
- ldrh r0, [r4]
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _080FD044
- adds r0, r4, 0
- bl sub_80FD53C
- strh r0, [r4]
-_080FD044:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r4, 0x2
- cmp r7, 0x3F
- bls _080FD032
- lsls r0, r5, 24
- lsrs r6, r0, 24
- cmp r6, 0x3F
- bls _080FD02E
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FD068: .4byte gUnknown_03005DEC
- thumb_func_end sub_80FCF3C
-
- thumb_func_start sub_80FD06C
-sub_80FD06C: @ 80FD06C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, _080FD0FC @ =gUnknown_03005DF0
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FD0EE
- ldr r0, _080FD100 @ =gUnknown_03005DEC
- mov r8, r0
-_080FD082:
- ldr r0, _080FD104 @ =gUnknown_03005DFC
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080FD108 @ =gUnknown_03005E04
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, _080FD10C @ =gUnknown_03005DE8
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- ldrh r1, [r4]
- mov r0, sp
- strh r1, [r0]
- movs r5, 0x1
- adds r4, 0x2
- ldr r0, _080FD110 @ =gUnknown_03005DF8
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, r2, 0x1
- cmp r5, r0
- bge _080FD0E2
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_080FD0BA:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _080FD0D0
- mov r0, sp
- adds r1, r4, 0
- bl sub_80FD568
- strh r0, [r4]
- mov r1, sp
- strh r0, [r1]
-_080FD0D0:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, _080FD110 @ =gUnknown_03005DF8
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r5, r0
- blt _080FD0BA
-_080FD0E2:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, _080FD0FC @ =gUnknown_03005DF0
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FD082
-_080FD0EE:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FD0FC: .4byte gUnknown_03005DF0
-_080FD100: .4byte gUnknown_03005DEC
-_080FD104: .4byte gUnknown_03005DFC
-_080FD108: .4byte gUnknown_03005E04
-_080FD10C: .4byte gUnknown_03005DE8
-_080FD110: .4byte gUnknown_03005DF8
- thumb_func_end sub_80FD06C
-
- thumb_func_start sub_80FD114
-sub_80FD114: @ 80FD114
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r2, 0
- ldr r0, _080FD1B0 @ =gUnknown_03005DF8
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FD1A2
- ldr r0, _080FD1B4 @ =gUnknown_03005DEC
- mov r8, r0
- ldr r7, _080FD1B8 @ =gUnknown_03005E04
-_080FD12C:
- ldr r0, _080FD1BC @ =gUnknown_03005DFC
- ldrb r1, [r0]
- ldrb r0, [r7]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, _080FD1C0 @ =gUnknown_03005DE8
- ldrb r0, [r0]
- adds r0, r2
- lsls r0, 1
- adds r4, r1, r0
- ldrh r1, [r4]
- mov r0, sp
- strh r1, [r0]
- movs r5, 0x1
- ldrb r0, [r7]
- lsls r0, 1
- adds r4, r0
- ldr r0, _080FD1C4 @ =gUnknown_03005DF0
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, r2, 0x1
- cmp r5, r0
- bge _080FD196
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_080FD166:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- bne _080FD180
- mov r0, sp
- adds r1, r4, 0
- str r2, [sp, 0x4]
- bl sub_80FD568
- strh r0, [r4]
- mov r1, sp
- strh r0, [r1]
- ldr r2, [sp, 0x4]
-_080FD180:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r7]
- lsls r0, 1
- adds r4, r0
- ldr r0, _080FD1C4 @ =gUnknown_03005DF0
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r5, r0
- blt _080FD166
-_080FD196:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, _080FD1B0 @ =gUnknown_03005DF8
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FD12C
-_080FD1A2:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FD1B0: .4byte gUnknown_03005DF8
-_080FD1B4: .4byte gUnknown_03005DEC
-_080FD1B8: .4byte gUnknown_03005E04
-_080FD1BC: .4byte gUnknown_03005DFC
-_080FD1C0: .4byte gUnknown_03005DE8
-_080FD1C4: .4byte gUnknown_03005DF0
- thumb_func_end sub_80FD114
-
- thumb_func_start sub_80FD1C8
-sub_80FD1C8: @ 80FD1C8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- mov r2, sp
- ldr r3, _080FD234 @ =gUnknown_083E7A50
- lsls r1, r0, 1
- add r1, r10
- adds r0, r1, r3
- ldrb r0, [r0]
- strb r0, [r2]
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- strb r0, [r2, 0x1]
- mov r5, sp
- adds r0, r3, 0x2
- adds r1, r0
- ldrb r4, [r1]
- lsls r2, r4, 24
- lsrs r1, r2, 27
- movs r0, 0x7
- ands r1, r0
- strh r1, [r5, 0x2]
- lsrs r2, 25
- mov r9, r2
- movs r0, 0x3
- ands r2, r0
- mov r9, r2
- movs r5, 0x1
- ands r5, r4
- movs r4, 0x1
- mov r8, r4
- cmp r8, r1
- bcs _080FD27A
- mov r3, sp
-_080FD21A:
- cmp r5, 0
- bne _080FD238
- mov r0, r8
- lsls r2, r0, 2
- mov r4, sp
- adds r1, r4, r2
- ldrb r0, [r3]
- mov r4, r8
- subs r0, r4
- strb r0, [r1]
- ldrb r0, [r3, 0x1]
- add r0, r8
- b _080FD24A
- .align 2, 0
-_080FD234: .4byte gUnknown_083E7A50
-_080FD238:
- mov r0, r8
- lsls r2, r0, 2
- mov r4, sp
- adds r1, r4, r2
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r1]
- ldrb r0, [r3, 0x1]
- subs r0, 0x1
-_080FD24A:
- strb r0, [r1, 0x1]
- add r2, sp
- ldrb r0, [r2]
- cmp r0, 0x3F
- bhi _080FD25A
- ldrb r0, [r2, 0x1]
- cmp r0, 0x3F
- bls _080FD262
-_080FD25A:
- mov r0, r8
- subs r0, 0x1
- strh r0, [r3, 0x2]
- b _080FD27A
-_080FD262:
- ldrh r0, [r3, 0x2]
- mov r1, r8
- subs r0, r1
- strh r0, [r2, 0x2]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrh r0, [r3, 0x2]
- cmp r8, r0
- bcc _080FD21A
-_080FD27A:
- movs r2, 0
- mov r8, r2
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r8, r0
- bcc _080FD288
- b _080FD38A
-_080FD288:
- movs r3, 0x1F
-_080FD28A:
- ldr r1, _080FD2E8 @ =gUnknown_03005DEC
- mov r4, r8
- lsls r0, r4, 2
- mov r2, sp
- adds r6, r2, r0
- ldrb r0, [r6, 0x1]
- lsls r0, 7
- ldr r1, [r1]
- adds r1, r0
- ldrb r0, [r6]
- lsls r0, 1
- adds r2, r1, r0
- ldrh r1, [r2]
- movs r4, 0x80
- lsls r4, 8
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _080FD376
- movs r7, 0x1F
- ands r7, r1
- lsls r0, r1, 16
- lsrs r5, r0, 21
- ands r5, r3
- lsrs r4, r0, 26
- ands r4, r3
- mov r0, r9
- cmp r0, 0
- blt _080FD36C
- cmp r0, 0x1
- ble _080FD2EC
- cmp r0, 0x3
- bgt _080FD36C
- ldrh r0, [r6, 0x2]
- adds r1, r7, r0
- lsls r1, 16
- lsrs r7, r1, 16
- adds r1, r5, r0
- lsls r1, 16
- lsrs r5, r1, 16
- adds r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r7, 0x1F
- bls _080FD360
- movs r7, 0x1F
- b _080FD360
- .align 2, 0
-_080FD2E8: .4byte gUnknown_03005DEC
-_080FD2EC:
- mov r1, r10
- lsls r0, r1, 1
- add r0, r10
- ldr r1, _080FD320 @ =gUnknown_083E7A50
- adds r1, 0x2
- adds r0, r1
- ldrb r0, [r0]
- lsrs r0, 3
- movs r1, 0x7
- ands r0, r1
- movs r1, 0x3
- str r2, [sp, 0x18]
- str r3, [sp, 0x1C]
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- cmp r0, 0x1
- beq _080FD33C
- cmp r0, 0x1
- bgt _080FD324
- cmp r0, 0
- beq _080FD32A
- b _080FD36C
- .align 2, 0
-_080FD320: .4byte gUnknown_083E7A50
-_080FD324:
- cmp r0, 0x2
- beq _080FD34E
- b _080FD36C
-_080FD32A:
- ldrh r0, [r6, 0x2]
- cmp r7, r0
- bcc _080FD338
- subs r0, r7, r0
- lsls r0, 16
- lsrs r7, r0, 16
- b _080FD36C
-_080FD338:
- movs r7, 0
- b _080FD36C
-_080FD33C:
- ldrh r0, [r6, 0x2]
- cmp r5, r0
- bcc _080FD34A
- subs r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- b _080FD36C
-_080FD34A:
- movs r5, 0
- b _080FD36C
-_080FD34E:
- ldrh r0, [r6, 0x2]
- cmp r4, r0
- bcc _080FD35C
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- b _080FD36C
-_080FD35C:
- movs r4, 0
- b _080FD36C
-_080FD360:
- cmp r5, 0x1F
- bls _080FD366
- movs r5, 0x1F
-_080FD366:
- cmp r4, 0x1F
- bls _080FD36C
- movs r4, 0x1F
-_080FD36C:
- lsls r0, r4, 10
- lsls r1, r5, 5
- orrs r0, r1
- orrs r7, r0
- strh r7, [r2]
-_080FD376:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r8, r0
- bcs _080FD38A
- b _080FD28A
-_080FD38A:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FD1C8
-
- thumb_func_start sub_80FD39C
-sub_80FD39C: @ 80FD39C
- push {lr}
- ldrh r1, [r0]
- movs r3, 0x1F
- movs r0, 0x1F
- ands r0, r1
- lsls r1, 16
- lsrs r2, r1, 21
- ands r2, r3
- lsrs r1, 26
- ands r1, r3
- adds r0, r2
- adds r0, r1
- movs r1, 0x3
- bl __divsi3
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r0, r1, 10
- lsls r2, r1, 5
- orrs r0, r2
- orrs r0, r1
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80FD39C
-
- thumb_func_start sub_80FD3D0
-sub_80FD3D0: @ 80FD3D0
- push {r4,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- ldrh r0, [r0]
- movs r2, 0x1F
- movs r1, 0x1F
- ands r1, r0
- lsls r0, 16
- lsrs r3, r0, 21
- ands r3, r2
- lsrs r0, 26
- ands r0, r2
- cmp r1, 0x10
- bhi _080FD400
- cmp r3, 0x10
- bhi _080FD400
- cmp r0, 0x10
- bhi _080FD400
- adds r0, r4, 0
- bl sub_80FD40C
- lsls r0, 16
- lsrs r0, 16
- b _080FD402
-_080FD400:
- ldr r0, _080FD408 @ =0x00007fff
-_080FD402:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080FD408: .4byte 0x00007fff
- thumb_func_end sub_80FD3D0
-
- thumb_func_start sub_80FD40C
-sub_80FD40C: @ 80FD40C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- mov r8, r0
- movs r6, 0
- movs r7, 0
- adds r0, r4, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bhi _080FD4C4
- lsls r0, 2
- ldr r1, _080FD450 @ =_080FD454
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FD450: .4byte _080FD454
- .align 2, 0
-_080FD454:
- .4byte _080FD46C
- .4byte _080FD47C
- .4byte _080FD48C
- .4byte _080FD49A
- .4byte _080FD4A8
- .4byte _080FD4B6
-_080FD46C:
- movs r0, 0x15
- subs r0, r5
- lsls r0, 16
- lsrs r6, r0, 16
- adds r7, r6, 0
- movs r1, 0
- mov r8, r1
- b _080FD4C4
-_080FD47C:
- movs r7, 0
- movs r0, 0x15
- subs r0, r5
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- mov r6, r8
- b _080FD4C4
-_080FD48C:
- movs r0, 0x15
- subs r0, r5
- lsls r0, 16
- lsrs r7, r0, 16
- movs r6, 0
- mov r8, r7
- b _080FD4C4
-_080FD49A:
- movs r7, 0
- movs r6, 0
- movs r0, 0x17
- subs r0, r5
- lsls r0, 16
- lsrs r0, 16
- b _080FD4C2
-_080FD4A8:
- movs r0, 0x17
- subs r0, r5
- lsls r0, 16
- lsrs r7, r0, 16
- movs r6, 0
- mov r8, r6
- b _080FD4C4
-_080FD4B6:
- movs r7, 0
- movs r0, 0x17
- subs r0, r5
- lsls r0, 16
- lsrs r6, r0, 16
- movs r0, 0
-_080FD4C2:
- mov r8, r0
-_080FD4C4:
- lsls r0, r7, 10
- lsls r1, r6, 5
- orrs r0, r1
- mov r1, r8
- orrs r1, r0
- lsls r0, r1, 16
- lsrs r0, 16
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FD40C
-
- thumb_func_start sub_80FD4DC
-sub_80FD4DC: @ 80FD4DC
- push {lr}
- ldrh r0, [r0]
- movs r2, 0x1F
- movs r1, 0x1F
- ands r1, r0
- lsls r0, 16
- lsrs r3, r0, 21
- ands r3, r2
- lsrs r0, 26
- ands r0, r2
- cmp r1, 0x10
- bhi _080FD500
- cmp r3, 0x10
- bhi _080FD500
- cmp r0, 0x10
- bhi _080FD500
- movs r0, 0
- b _080FD502
-_080FD500:
- ldr r0, _080FD508 @ =0x00007fff
-_080FD502:
- pop {r1}
- bx r1
- .align 2, 0
-_080FD508: .4byte 0x00007fff
- thumb_func_end sub_80FD4DC
-
- thumb_func_start sub_80FD50C
-sub_80FD50C: @ 80FD50C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r3, [r4]
- cmp r3, 0
- beq _080FD534
- movs r2, 0x80
- lsls r2, 8
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- beq _080FD526
- adds r0, r2, 0
- b _080FD536
-_080FD526:
- ldrh r1, [r1]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _080FD534
- ldrh r0, [r4]
- b _080FD536
-_080FD534:
- movs r0, 0
-_080FD536:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FD50C
-
- thumb_func_start sub_80FD53C
-sub_80FD53C: @ 80FD53C
- push {r4,lr}
- ldrh r1, [r0]
- movs r0, 0x1F
- movs r3, 0x1F
- ands r3, r1
- lsls r1, 16
- lsrs r2, r1, 21
- lsrs r1, 26
- subs r3, r0, r3
- adds r4, r0, 0
- bics r4, r2
- adds r2, r4, 0
- bics r0, r1
- lsls r0, 10
- lsls r2, 5
- orrs r0, r2
- orrs r0, r3
- lsls r0, 16
- lsrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FD53C
-
thumb_func_start sub_80FD568
sub_80FD568: @ 80FD568
push {r4-r7,lr}
@@ -2479,7 +1119,7 @@ _080FDDD8: .4byte gUnknown_03005DF8
_080FDDDC: .4byte gUnknown_03005E0C
_080FDDE0:
adds r0, r4, 0
- bl sub_80FD4DC
+ bl ConvertToBlackOrWhite
lsls r0, 16
cmp r0, 0
bne _080FDDF2
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
deleted file mode 100644
index 67655e63f..000000000
--- a/asm/pokemon_storage_system.s
+++ /dev/null
@@ -1,1485 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "include/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_809C85C
-@ u8 sub_809C85C(void)
-sub_809C85C: @ 809C85C
- push {r4-r6,lr}
- ldr r0, _0809C894 @ =gPokemonStorageSystemPtr
- ldr r2, [r0]
- ldr r1, _0809C898 @ =0x000011df
- adds r0, r2, r1
- movs r1, 0
- strb r1, [r0]
- ldr r3, _0809C89C @ =0x000011de
- adds r0, r2, r3
- strb r1, [r0]
- ldr r0, _0809C8A0 @ =0x000011e3
- adds r2, r0
- strb r1, [r2]
- ldr r1, _0809C8A4 @ =gMain
- ldrh r3, [r1, 0x30]
- movs r0, 0x40
- ands r0, r3
- cmp r0, 0
- bne _0809C91A
- movs r0, 0x80
- ands r0, r3
- cmp r0, 0
- beq _0809C8A8
- movs r4, 0x1
- movs r0, 0
- movs r5, 0x2
- b _0809C922
- .align 2, 0
-_0809C894: .4byte gPokemonStorageSystemPtr
-_0809C898: .4byte 0x000011df
-_0809C89C: .4byte 0x000011de
-_0809C8A0: .4byte 0x000011e3
-_0809C8A4: .4byte gMain
-_0809C8A8:
- ldrh r2, [r1, 0x2C]
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- bne _0809C8CC
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- bne _0809C8DE
- ldr r0, _0809C8D0 @ =gSaveBlock2
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _0809C8E2
- movs r0, 0x80
- lsls r0, 2
- ands r0, r2
- cmp r0, 0
- beq _0809C8D4
-_0809C8CC:
- movs r0, 0xA
- b _0809C93E
- .align 2, 0
-_0809C8D0: .4byte gSaveBlock2
-_0809C8D4:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r2
- cmp r0, 0
- beq _0809C8E2
-_0809C8DE:
- movs r0, 0x9
- b _0809C93E
-_0809C8E2:
- ldrh r1, [r1, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809C8FA
- movs r0, 0
- bl sub_809A860
- bl sub_809CA8C
- movs r0, 0x7
- b _0809C93E
-_0809C8FA:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809C906
- movs r0, 0x10
- b _0809C93E
-_0809C906:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0809C916
- bl sub_809CD88
- movs r0, 0
- b _0809C93E
-_0809C916:
- movs r4, 0
- b _0809C93C
-_0809C91A:
- movs r4, 0x1
- movs r0, 0x3
- movs r5, 0
- strb r4, [r2]
-_0809C922:
- cmp r4, 0
- beq _0809C93C
- lsls r6, r0, 24
- cmp r0, 0x2
- beq _0809C932
- movs r0, 0
- bl sub_809A860
-_0809C932:
- lsrs r0, r6, 24
- lsls r1, r5, 24
- lsrs r1, 24
- bl sub_809AF18
-_0809C93C:
- adds r0, r4, 0
-_0809C93E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809C85C
-
- thumb_func_start sub_809C944
-@ u8 sub_809C944(void)
-sub_809C944: @ 809C944
- push {r4-r7,lr}
- ldr r0, _0809C988 @ =gUnknown_020384E4
- ldrb r0, [r0]
- mov r12, r0
- ldr r7, _0809C98C @ =gUnknown_020384E5
- ldrb r3, [r7]
- ldr r0, _0809C990 @ =gPokemonStorageSystemPtr
- ldr r1, [r0]
- ldr r0, _0809C994 @ =0x000011df
- adds r5, r1, r0
- movs r0, 0
- strb r0, [r5]
- ldr r2, _0809C998 @ =0x000011de
- adds r4, r1, r2
- strb r0, [r4]
- adds r2, 0x5
- adds r1, r2
- strb r0, [r1]
- ldr r6, _0809C99C @ =gMain
- ldrh r2, [r6, 0x30]
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- bne _0809CA14
- movs r0, 0x88
- ands r0, r2
- cmp r0, 0
- beq _0809C9A0
- movs r6, 0x1
- movs r0, 0x2
- mov r12, r0
- movs r3, 0
- b _0809CA2A
- .align 2, 0
-_0809C988: .4byte gUnknown_020384E4
-_0809C98C: .4byte gUnknown_020384E5
-_0809C990: .4byte gPokemonStorageSystemPtr
-_0809C994: .4byte 0x000011df
-_0809C998: .4byte 0x000011de
-_0809C99C: .4byte gMain
-_0809C9A0:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _0809C9C0
- movs r6, 0x1
- lsls r0, r3, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r3, r0, 24
- cmp r0, 0
- bge _0809CA2C
- movs r0, 0xFF
- strb r0, [r5]
- movs r3, 0x1
- b _0809CA2C
-_0809C9C0:
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _0809C9E0
- movs r6, 0x1
- lsls r0, r3, 24
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r3, r0, 24
- asrs r0, 24
- cmp r0, 0x1
- ble _0809CA2C
- strb r6, [r5]
- movs r3, 0
- b _0809CA2C
-_0809C9E0:
- ldrh r1, [r6, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809C9F4
- movs r0, 0x4
- cmp r3, 0
- bne _0809CA3A
- movs r0, 0x5
- b _0809CA3A
-_0809C9F4:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809CA00
- movs r0, 0x10
- b _0809CA3A
-_0809CA00:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0809CA10
- bl sub_809CD88
- movs r0, 0
- b _0809CA3A
-_0809CA10:
- movs r6, 0
- b _0809CA38
-_0809CA14:
- movs r6, 0x1
- movs r0, 0
- mov r12, r0
- movs r0, 0xFF
- strb r0, [r4]
- movs r0, 0
- ldrsb r0, [r7, r0]
- movs r3, 0x1D
- cmp r0, 0
- bne _0809CA2A
- movs r3, 0x18
-_0809CA2A:
- strb r6, [r1]
-_0809CA2C:
- cmp r6, 0
- beq _0809CA38
- mov r0, r12
- adds r1, r3, 0
- bl sub_809AF18
-_0809CA38:
- adds r0, r6, 0
-_0809CA3A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809C944
-
- thumb_func_start sub_809CA40
-sub_809CA40: @ 809CA40
- push {r4,r5,lr}
- movs r3, 0
- ldr r0, _0809CA6C @ =gUnknown_083BBBD4
- ldr r1, [r0]
- adds r4, r0, 0
- cmp r1, 0
- beq _0809CA84
- ldr r5, _0809CA70 @ =gUnknown_020384E4
-_0809CA50:
- 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 _0809CA74
- ldr r0, [r2]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- b _0809CA86
- .align 2, 0
-_0809CA6C: .4byte gUnknown_083BBBD4
-_0809CA70: .4byte gUnknown_020384E4
-_0809CA74:
- 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 _0809CA50
-_0809CA84:
- movs r0, 0
-_0809CA86:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809CA40
-
- thumb_func_start sub_809CA8C
-sub_809CA8C: @ 809CA8C
- push {lr}
- bl sub_809CDCC
- movs r0, 0x9
- bl sub_809CDEC
- movs r0, 0xA
- bl sub_809CDEC
- movs r0, 0xB
- bl sub_809CDEC
- movs r0, 0
- bl sub_809CDEC
- pop {r0}
- bx r0
- thumb_func_end sub_809CA8C
-
-.if DEBUG
- thumb_func_start debug_sub_80AA40C
-debug_sub_80AA40C:
-.syntax divided
- push {lr}
- bl sub_809AB8C
- lsl r0, r0, #0x10
- cmp r0, #0
- beq ._2084 @cond_branch
- bl sub_809CDCC
- mov r0, #0x20
- bl sub_809CDEC
- mov r0, #0x6
- bl sub_809CDEC
- mov r0, #0x1
- b ._2085
-._2084:
- mov r0, #0x0
-._2085:
- pop {r1}
- bx r1
-.syntax unified
- thumb_func_end debug_sub_80AA40C
-.endif
-
-.if DEBUG
- thumb_func_start sub_809CAB0
-sub_809CAB0:
-.syntax divided
- push {lr}
- ldr r0, ._2088 @ unk_2038790
- ldrb r0, [r0]
- cmp r0, #0
- beq ._2086 @cond_branch
- bl debug_sub_80AA40C
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- b ._2110
-._2089:
- .align 2, 0
-._2088:
- .word unk_2038790
-._2086:
- bl sub_809CDCC
- bl sub_809AB8C
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- ldr r0, ._2094 @ gPokemonStorageSystemPtr
- ldr r0, [r0]
- ldrb r0, [r0, #0x5]
- cmp r0, #0x1
- beq ._2090 @cond_branch
- cmp r0, #0x1
- bgt ._2091 @cond_branch
- cmp r0, #0
- beq ._2092 @cond_branch
- b ._2108
-._2095:
- .align 2, 0
-._2094:
- .word gPokemonStorageSystemPtr
-._2091:
- cmp r0, #0x2
- beq ._2096 @cond_branch
- b ._2108
-._2090:
- cmp r1, #0
- beq ._2108 @cond_branch
- mov r0, #0x1
- bl sub_809CDEC
- b ._2109
-._2092:
- cmp r1, #0
- beq ._2108 @cond_branch
- mov r0, #0x2
- bl sub_809CDEC
- b ._2109
-._2096:
- ldr r0, ._2105 @ gUnknown_020384E6
- ldrb r0, [r0]
- cmp r0, #0
- beq ._2102 @cond_branch
- cmp r1, #0
- beq ._2103 @cond_branch
- mov r0, #0x4
- bl sub_809CDEC
- b ._2109
-._2106:
- .align 2, 0
-._2105:
- .word gUnknown_020384E6
-._2103:
- mov r0, #0x5
- bl sub_809CDEC
- b ._2109
-._2102:
- cmp r1, #0
- beq ._2108 @cond_branch
- mov r0, #0x3
- bl sub_809CDEC
- b ._2109
-._2108:
- mov r0, #0x0
- b ._2110
-._2109:
- mov r0, #0x6
- bl sub_809CDEC
- ldr r0, ._2114 @ gPokemonStorageSystemPtr
- ldr r0, [r0]
- ldrb r0, [r0, #0x5]
- cmp r0, #0x2
- bne ._2113 @cond_branch
- ldr r0, ._2114 + 4 @ gUnknown_020384E4
- ldrb r0, [r0]
- lsl r0, r0, #0x18
- asr r0, r0, #0x18
- cmp r0, #0
- bne ._2112 @cond_branch
- mov r0, #0x2
- bl sub_809CDEC
- b ._2113
-._2115:
- .align 2, 0
-._2114:
- .word gPokemonStorageSystemPtr
- .word gUnknown_020384E4
-._2112:
- mov r0, #0x1
- bl sub_809CDEC
-._2113:
- mov r0, #0x8
- bl sub_809CDEC
- mov r0, #0x7
- bl sub_809CDEC
- mov r0, #0x0
- bl sub_809CDEC
- mov r0, #0x1
-._2110:
- pop {r1}
- bx r1
-.syntax unified
- thumb_func_end sub_809CAB0
-.else
- thumb_func_start sub_809CAB0
-sub_809CAB0: @ 809CAB0
- push {lr}
- bl sub_809CDCC
- bl sub_809AB8C
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _0809CAD4 @ =gPokemonStorageSystemPtr
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- cmp r0, 0x1
- beq _0809CADE
- cmp r0, 0x1
- bgt _0809CAD8
- cmp r0, 0
- beq _0809CAEA
- b _0809CB24
- .align 2, 0
-_0809CAD4: .4byte gPokemonStorageSystemPtr
-_0809CAD8:
- cmp r0, 0x2
- beq _0809CAF6
- b _0809CB24
-_0809CADE:
- cmp r1, 0
- beq _0809CB24
- movs r0, 0x1
- bl sub_809CDEC
- b _0809CB28
-_0809CAEA:
- cmp r1, 0
- beq _0809CB24
- movs r0, 0x2
- bl sub_809CDEC
- b _0809CB28
-_0809CAF6:
- ldr r0, _0809CB0C @ =gUnknown_020384E6
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809CB18
- cmp r1, 0
- beq _0809CB10
- movs r0, 0x4
- bl sub_809CDEC
- b _0809CB28
- .align 2, 0
-_0809CB0C: .4byte gUnknown_020384E6
-_0809CB10:
- movs r0, 0x5
- bl sub_809CDEC
- b _0809CB28
-_0809CB18:
- cmp r1, 0
- beq _0809CB24
- movs r0, 0x3
- bl sub_809CDEC
- b _0809CB28
-_0809CB24:
- movs r0, 0
- b _0809CB6E
-_0809CB28:
- movs r0, 0x6
- bl sub_809CDEC
- ldr r0, _0809CB4C @ =gPokemonStorageSystemPtr
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- cmp r0, 0x2
- bne _0809CB5A
- ldr r0, _0809CB50 @ =gUnknown_020384E4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _0809CB54
- movs r0, 0x2
- bl sub_809CDEC
- b _0809CB5A
- .align 2, 0
-_0809CB4C: .4byte gPokemonStorageSystemPtr
-_0809CB50: .4byte gUnknown_020384E4
-_0809CB54:
- movs r0, 0x1
- bl sub_809CDEC
-_0809CB5A:
- movs r0, 0x8
- bl sub_809CDEC
- movs r0, 0x7
- bl sub_809CDEC
- movs r0, 0
- bl sub_809CDEC
- movs r0, 0x1
-_0809CB6E:
- pop {r1}
- bx r1
- thumb_func_end sub_809CAB0
-.endif
-
- thumb_func_start sub_809CB74
-sub_809CB74: @ 809CB74
- ldr r1, _0809CB90 @ =gPokemonStorageSystemPtr
- ldr r1, [r1]
- movs r2, 0x8E
- lsls r2, 5
- 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
- .align 2, 0
-_0809CB90: .4byte gPokemonStorageSystemPtr
- thumb_func_end sub_809CB74
-
- thumb_func_start debug_sub_809CB94
-debug_sub_809CB94: @ 809CB94
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _0809CBBC @ =gUnknown_020384E4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _0809CBC8
- ldr r2, _0809CBC0 @ =gPlayerParty
- ldr r0, _0809CBC4 @ =gUnknown_020384E5
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r1, r0
- adds r1, r2
- adds r0, r4, 0
- movs r2, 0x50
- bl memcpy
- b _0809CBF6
- .align 2, 0
-_0809CBBC: .4byte gUnknown_020384E4
-_0809CBC0: .4byte gPlayerParty
-_0809CBC4: .4byte gUnknown_020384E5
-_0809CBC8:
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _0809CBFC @ =gPokemonStorage
- ldr r1, _0809CC00 @ =gUnknown_020384E5
- movs r2, 0
- ldrsb r2, [r1, r2]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- lsls r2, r0, 2
- adds r2, r0
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 5
- adds r1, r0
- adds r1, r3
- adds r1, 0x4
- adds r0, r4, 0
- movs r2, 0x50
- bl memcpy
-_0809CBF6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809CBFC: .4byte gPokemonStorage
-_0809CC00: .4byte gUnknown_020384E5
- thumb_func_end debug_sub_809CB94
-
- thumb_func_start sub_809CC04
-sub_809CC04: @ 809CC04
- push {r4-r7,lr}
- sub sp, 0x34
- mov r1, sp
- ldr r0, _0809CCB0 @ =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, _0809CCB4 @ =gHandCursorSpritePalettes
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- mov r0, sp
- bl LoadSpriteSheets
- adds r0, r4, 0
- bl LoadSpritePalettes
- ldr r0, _0809CCB8 @ =0x0000dac6
- bl IndexOfSpritePaletteTag
- ldr r1, _0809CCBC @ =gPokemonStorageSystemPtr
- ldr r6, [r1]
- ldr r4, _0809CCC0 @ =0x000011e4
- adds r7, r6, r4
- strb r0, [r7]
- ldr r0, _0809CCC4 @ =0x0000dad1
- bl IndexOfSpritePaletteTag
- ldr r5, _0809CCC8 @ =0x000011e5
- adds r1, r6, r5
- strb r0, [r1]
- ldr r0, _0809CCCC @ =gUnknown_020384E4
- ldrb r0, [r0]
- ldr r1, _0809CCD0 @ =gUnknown_020384E5
- ldrb r1, [r1]
- add r4, sp, 0x30
- mov r5, sp
- adds r5, 0x32
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_809AACC
- ldr r0, _0809CCD4 @ =gSpriteTemplate_83BBC70
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0
- ldrsh r2, [r5, r3]
- movs r3, 0x6
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _0809CCE4
- movs r5, 0x8E
- lsls r5, 5
- adds r4, r6, r5
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r0, _0809CCD8 @ =gSprites
- adds r1, r0
- str r1, [r4]
- ldr r0, _0809CCDC @ =gUnknown_020384E9
- ldrb r0, [r0]
- adds r0, r7, r0
- ldrb r2, [r0]
- lsls r2, 4
- ldrb r3, [r1, 0x5]
- movs r0, 0xF
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldr r0, _0809CCE0 @ =gUnknown_020384E6
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809CCEE
- ldr r0, [r4]
- movs r1, 0x3
- bl StartSpriteAnim
- b _0809CCEE
- .align 2, 0
-_0809CCB0: .4byte gHandCursorSpriteSheets
-_0809CCB4: .4byte gHandCursorSpritePalettes
-_0809CCB8: .4byte 0x0000dac6
-_0809CCBC: .4byte gPokemonStorageSystemPtr
-_0809CCC0: .4byte 0x000011e4
-_0809CCC4: .4byte 0x0000dad1
-_0809CCC8: .4byte 0x000011e5
-_0809CCCC: .4byte gUnknown_020384E4
-_0809CCD0: .4byte gUnknown_020384E5
-_0809CCD4: .4byte gSpriteTemplate_83BBC70
-_0809CCD8: .4byte gSprites
-_0809CCDC: .4byte gUnknown_020384E9
-_0809CCE0: .4byte gUnknown_020384E6
-_0809CCE4:
- movs r0, 0x8E
- lsls r0, 5
- adds r1, r6, r0
- movs r0, 0
- str r0, [r1]
-_0809CCEE:
- ldr r0, _0809CD00 @ =gUnknown_020384E4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _0809CD04
- movs r3, 0xC
- movs r5, 0x1
- b _0809CD08
- .align 2, 0
-_0809CD00: .4byte gUnknown_020384E4
-_0809CD04:
- movs r3, 0x14
- movs r5, 0x2
-_0809CD08:
- ldr r0, _0809CD58 @ =gSpriteTemplate_83BBC88
- movs r1, 0
- movs r2, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _0809CD6C
- ldr r0, _0809CD5C @ =gPokemonStorageSystemPtr
- ldr r0, [r0]
- ldr r1, _0809CD60 @ =0x000011c4
- adds r4, r0, r1
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r0, _0809CD64 @ =gSprites
- adds r1, r0
- str r1, [r4]
- lsls r3, r5, 2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldr r0, _0809CD68 @ =gUnknown_020384E4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _0809CD78
- ldr r0, [r4]
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _0809CD78
- .align 2, 0
-_0809CD58: .4byte gSpriteTemplate_83BBC88
-_0809CD5C: .4byte gPokemonStorageSystemPtr
-_0809CD60: .4byte 0x000011c4
-_0809CD64: .4byte gSprites
-_0809CD68: .4byte gUnknown_020384E4
-_0809CD6C:
- ldr r0, _0809CD80 @ =gPokemonStorageSystemPtr
- ldr r0, [r0]
- ldr r2, _0809CD84 @ =0x000011c4
- adds r0, r2
- movs r1, 0
- str r1, [r0]
-_0809CD78:
- add sp, 0x34
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809CD80: .4byte gPokemonStorageSystemPtr
-_0809CD84: .4byte 0x000011c4
- thumb_func_end sub_809CC04
-
- thumb_func_start sub_809CD88
-sub_809CD88: @ 809CD88
- push {lr}
- ldr r2, _0809CDC0 @ =gUnknown_020384E9
- movs r1, 0
- ldrb r0, [r2]
- cmp r0, 0
- bne _0809CD96
- movs r1, 0x1
-_0809CD96:
- strb r1, [r2]
- ldr r0, _0809CDC4 @ =gPokemonStorageSystemPtr
- ldr r0, [r0]
- movs r3, 0x8E
- lsls r3, 5
- adds r1, r0, r3
- ldr r3, [r1]
- ldr r1, _0809CDC8 @ =0x000011e4
- 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
- .align 2, 0
-_0809CDC0: .4byte gUnknown_020384E9
-_0809CDC4: .4byte gPokemonStorageSystemPtr
-_0809CDC8: .4byte 0x000011e4
- thumb_func_end sub_809CD88
-
-// file boundary here
-
- thumb_func_start sub_809CDCC
-sub_809CDCC: @ 809CDCC
- ldr r0, _0809CDE0 @ =gPokemonStorageSystemPtr
- ldr r0, [r0]
- ldr r2, _0809CDE4 @ =0x000011b8
- adds r1, r0, r2
- movs r2, 0
- strb r2, [r1]
- ldr r1, _0809CDE8 @ =0x000011b9
- adds r0, r1
- strb r2, [r0]
- bx lr
- .align 2, 0
-_0809CDE0: .4byte gPokemonStorageSystemPtr
-_0809CDE4: .4byte 0x000011b8
-_0809CDE8: .4byte 0x000011b9
- thumb_func_end sub_809CDCC
-
- thumb_func_start sub_809CDEC
-sub_809CDEC: @ 809CDEC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, _0809CE3C @ =gPokemonStorageSystemPtr
- ldr r5, [r0]
- ldr r0, _0809CE40 @ =0x000011b8
- adds r4, r5, r0
- ldrb r0, [r4]
- cmp r0, 0x6
- bhi _0809CE36
- adds r1, r0, 0
- lsls r1, 3
- movs r2, 0x8C
- lsls r2, 5
- adds r1, r2
- adds r1, r5, r1
- ldr r2, _0809CE44 @ =gUnknown_083BBCA0
- lsls r0, r3, 2
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- str r3, [r1, 0x4]
- bl GetStringWidthInMenuWindow
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0x7
- lsrs r1, 3
- ldr r2, _0809CE48 @ =0x000011b9
- adds r0, r5, r2
- ldrb r2, [r0]
- cmp r1, r2
- bls _0809CE30
- strb r1, [r0]
-_0809CE30:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_0809CE36:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809CE3C: .4byte gPokemonStorageSystemPtr
-_0809CE40: .4byte 0x000011b8
-_0809CE44: .4byte gUnknown_083BBCA0
-_0809CE48: .4byte 0x000011b9
- thumb_func_end sub_809CDEC
-
- thumb_func_start sub_809CE4C
-sub_809CE4C: @ 809CE4C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0809CE70 @ =gPokemonStorageSystemPtr
- ldr r1, [r0]
- ldr r3, _0809CE74 @ =0x000011b8
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r2, r0
- bcs _0809CE7C
- lsls r0, r2, 3
- ldr r2, _0809CE78 @ =0x00001184
- adds r1, r2
- adds r1, r0
- movs r0, 0
- ldrsb r0, [r1, r0]
- b _0809CE80
- .align 2, 0
-_0809CE70: .4byte gPokemonStorageSystemPtr
-_0809CE74: .4byte 0x000011b8
-_0809CE78: .4byte 0x00001184
-_0809CE7C:
- movs r0, 0x1
- negs r0, r0
-_0809CE80:
- pop {r1}
- bx r1
- thumb_func_end sub_809CE4C
-
- thumb_func_start sub_809CE84
-sub_809CE84: @ 809CE84
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x8
- ldr r0, _0809CF20 @ =gPokemonStorageSystemPtr
- ldr r4, [r0]
- ldr r0, _0809CF24 @ =0x000011b8
- adds r0, r4
- mov r8, r0
- ldrb r0, [r0]
- lsls r0, 1
- movs r1, 0xE
- subs r1, r0
- ldr r3, _0809CF28 @ =0x000011bc
- adds r6, r4, r3
- movs r0, 0
- mov r10, r0
- strh r1, [r6]
- ldr r1, _0809CF2C @ =0x000011b9
- adds r1, r4
- mov r9, r1
- ldrb r1, [r1]
- movs r0, 0x1C
- subs r0, r1
- subs r3, 0x2
- adds r5, r4, r3
- strh r0, [r5]
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r6]
- movs r2, 0x1D
- movs r3, 0xF
- bl Menu_DrawStdWindowFrame
- ldrb r0, [r5]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r6]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- mov r3, r8
- ldrb r2, [r3]
- movs r3, 0x8C
- lsls r3, 5
- adds r4, r3
- adds r3, r4, 0
- bl Menu_PrintItems
- ldrb r1, [r5]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r6]
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- mov r4, r8
- ldrb r3, [r4]
- mov r0, r10
- str r0, [sp]
- mov r4, r9
- ldrb r0, [r4]
- str r0, [sp, 0x4]
- movs r0, 0
- bl InitMenu
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809CF20: .4byte gPokemonStorageSystemPtr
-_0809CF24: .4byte 0x000011b8
-_0809CF28: .4byte 0x000011bc
-_0809CF2C: .4byte 0x000011b9
- thumb_func_end sub_809CE84
-
- thumb_func_start sub_809CF30
-sub_809CF30: @ 809CF30
- push {r4,r5,lr}
- movs r5, 0x2
- negs r5, r5
- ldr r4, _0809CF6C @ =gMain
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0809CF86
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809CF52
- movs r0, 0x5
- bl PlaySE
- adds r5, 0x1
-_0809CF52:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0809CF70
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl Menu_MoveCursor
- b _0809CF8E
- .align 2, 0
-_0809CF6C: .4byte gMain
-_0809CF70:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809CF8E
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl Menu_MoveCursor
- b _0809CF8E
-_0809CF86:
- bl Menu_GetCursorPos
- lsls r0, 24
- lsrs r5, r0, 24
-_0809CF8E:
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- beq _0809CFB2
- bl Menu_DestroyCursor
- ldr r0, _0809CFD0 @ =gPokemonStorageSystemPtr
- ldr r1, [r0]
- ldr r2, _0809CFD4 @ =0x000011ba
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- movs r2, 0x1D
- movs r3, 0xF
- bl Menu_EraseWindowRect
-_0809CFB2:
- cmp r5, 0
- blt _0809CFC4
- ldr r0, _0809CFD0 @ =gPokemonStorageSystemPtr
- ldr r0, [r0]
- lsls r1, r5, 3
- ldr r2, _0809CFD8 @ =0x00001184
- adds r0, r2
- adds r0, r1
- ldr r5, [r0]
-_0809CFC4:
- lsls r0, r5, 16
- asrs r0, 16
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809CFD0: .4byte gPokemonStorageSystemPtr
-_0809CFD4: .4byte 0x000011ba
-_0809CFD8: .4byte 0x00001184
- thumb_func_end sub_809CF30
-
- thumb_func_start sub_809CFDC
-sub_809CFDC: @ 809CFDC
- ldr r3, _0809CFEC @ =gUnknown_020384EC
- str r0, [r3]
- str r1, [r0]
- movs r1, 0
- strb r2, [r0, 0x5]
- strb r1, [r0, 0x4]
- bx lr
- .align 2, 0
-_0809CFEC: .4byte gUnknown_020384EC
- thumb_func_end sub_809CFDC
-
- thumb_func_start sub_809CFF0
-sub_809CFF0: @ 809CFF0
- push {r4,r5,lr}
- ldr r2, _0809D030 @ =gUnknown_020384EC
- ldr r1, [r2]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _0809D02A
- movs r4, 0
- ldrb r1, [r1, 0x4]
- cmp r4, r1
- bcs _0809D022
- adds r5, r2, 0
-_0809D006:
- ldr r0, [r5]
- lsls r1, r4, 4
- ldr r0, [r0]
- adds r0, r1
- ldr r1, [r0, 0xC]
- 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 _0809D006
-_0809D022:
- ldr r0, _0809D030 @ =gUnknown_020384EC
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x4]
-_0809D02A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D030: .4byte gUnknown_020384EC
- thumb_func_end sub_809CFF0
-
- thumb_func_start sub_809D034
-sub_809D034: @ 809D034
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r0
- mov r9, r3
- ldr r0, [sp, 0x20]
- ldr r3, [sp, 0x24]
- ldr r4, [sp, 0x28]
- ldr r5, [sp, 0x2C]
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- lsls r2, 16
- lsrs r6, r2, 16
- lsls r0, 16
- lsrs r0, 16
- mov r12, r0
- lsls r3, 16
- lsrs r3, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r0, _0809D0A4 @ =gUnknown_020384EC
- ldr r2, [r0]
- ldrb r0, [r2, 0x4]
- adds r1, r0, 0
- ldrb r7, [r2, 0x5]
- cmp r1, r7
- bcs _0809D0AC
- adds r0, 0x1
- strb r0, [r2, 0x4]
- lsls r0, r1, 4
- ldr r2, [r2]
- adds r2, r0
- lsls r0, r4, 1
- strh r0, [r2, 0x8]
- lsls r0, r6, 6
- add r0, r8
- mov r4, r10
- lsls r1, r4, 1
- adds r0, r1
- str r0, [r2, 0x4]
- lsls r0, r3, 6
- add r0, r9
- mov r7, r12
- lsls r1, r7, 1
- adds r0, r1
- str r0, [r2]
- strh r5, [r2, 0xA]
- ldr r0, _0809D0A8 @ =sub_809D0BC
- str r0, [r2, 0xC]
- movs r0, 0x1
- b _0809D0AE
- .align 2, 0
-_0809D0A4: .4byte gUnknown_020384EC
-_0809D0A8: .4byte sub_809D0BC
-_0809D0AC:
- movs r0, 0
-_0809D0AE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809D034
-
- thumb_func_start sub_809D0BC
-sub_809D0BC: @ 809D0BC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r6, [r0]
- ldr r5, [r0, 0x4]
- ldrh r7, [r0, 0xA]
- ldrh r2, [r0, 0x8]
- movs r4, 0
- cmp r4, r7
- bcs _0809D0F2
- lsrs r2, 1
- mov r8, r2
- ldr r0, _0809D100 @ =0x001fffff
- mov r9, r0
-_0809D0DA:
- adds r0, r6, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- ands r2, r3
- bl CpuSet
- adds r5, 0x40
- adds r6, 0x40
- adds r4, 0x1
- cmp r4, r7
- bcc _0809D0DA
-_0809D0F2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D100: .4byte 0x001fffff
- thumb_func_end sub_809D0BC
-
- thumb_func_start sub_809D104
-sub_809D104: @ 809D104
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r5, [sp, 0x18]
- ldr r4, [sp, 0x1C]
- ldr r6, [sp, 0x20]
- mov r8, r6
- ldr r6, [sp, 0x24]
- lsls r1, 16
- lsls r2, 16
- lsrs r2, 16
- lsls r5, 16
- lsls r4, 16
- mov r7, r8
- lsls r7, 16
- lsls r6, 16
- lsrs r6, 16
- lsrs r4, 10
- adds r3, r4
- lsrs r5, 15
- adds r5, r3, r5
- lsls r3, r2, 6
- adds r3, r0, r3
- lsrs r1, 15
- adds r4, r3, r1
- adds r2, r6
- lsls r2, 6
- adds r6, r0, r2
- lsrs r2, r7, 15
- cmp r4, r6
- bcs _0809D15C
- lsrs r7, r2, 1
- ldr r0, _0809D168 @ =0x001fffff
- mov r8, r0
-_0809D148:
- adds r0, r5, 0
- adds r1, r4, 0
- mov r2, r8
- ands r2, r7
- bl CpuSet
- adds r4, 0x40
- adds r5, 0x40
- cmp r4, r6
- bcc _0809D148
-_0809D15C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D168: .4byte 0x001fffff
- thumb_func_end sub_809D104
-
- thumb_func_start sub_809D16C
-sub_809D16C: @ 809D16C
- 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, _0809D1B4 @ =gUnknown_020384EC
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- adds r2, r0, 0
- ldrb r7, [r1, 0x5]
- cmp r2, r7
- bcs _0809D1BC
- adds r0, 0x1
- strb r0, [r1, 0x4]
- lsls r0, r2, 4
- ldr r1, [r1]
- 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, 0xA]
- ldr r0, _0809D1B8 @ =sub_809D1C4
- str r0, [r1, 0xC]
- movs r0, 0x1
- b _0809D1BE
- .align 2, 0
-_0809D1B4: .4byte gUnknown_020384EC
-_0809D1B8: .4byte sub_809D1C4
-_0809D1BC:
- movs r0, 0
-_0809D1BE:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809D16C
-
- thumb_func_start sub_809D1C4
-sub_809D1C4: @ 809D1C4
- 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, 0xA]
- cmp r0, r1
- bcs _0809D252
- movs r7, 0x80
- lsls r7, 5
- mov r5, sp
- ldr r2, _0809D210 @ =0x040000d4
- mov r8, r2
- movs r1, 0x81
- lsls r1, 24
- mov r10, r1
-_0809D1EA:
- ldr r2, [r6, 0x4]
- ldrh r3, [r6, 0x8]
- mov r12, r2
- adds r0, 0x1
- mov r9, r0
- cmp r3, r7
- bhi _0809D214
- 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 _0809D23C
- .align 2, 0
-_0809D210: .4byte 0x040000d4
-_0809D214:
- movs r4, 0
- strh r4, [r5]
- ldr r1, _0809D264 @ =0x040000d4
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, _0809D268 @ =0x81000800
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r7
- subs r3, r7
- cmp r3, r7
- bhi _0809D214
- strh r4, [r5]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 1
- mov r2, r10
- orrs r0, r2
-_0809D23C:
- 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, 0xA]
- cmp r0, r2
- bcc _0809D1EA
-_0809D252:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D264: .4byte 0x040000d4
-_0809D268: .4byte 0x81000800
- thumb_func_end sub_809D1C4
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 7fc2348f5..331c2e8f1 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -5,8263 +5,6 @@
.text
- thumb_func_start sub_80F063C
-sub_80F063C: @ 80F063C
- push {r4-r7,lr}
- lsls r0, 16
- ldr r3, _080F0664 @ =gUnknown_083DFEC4
- ldr r2, [r3]
- lsrs r5, r0, 16
- asrs r4, r0, 16
- lsls r1, r4, 4
- ldr r6, _080F0668 @ =0x0000877c
- adds r0, r2, r6
- strh r1, [r0]
- adds r7, r3, 0
- cmp r4, 0x1
- beq _080F065E
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- bne _080F066C
-_080F065E:
- movs r1, 0x4
- b _080F066E
- .align 2, 0
-_080F0664: .4byte gUnknown_083DFEC4
-_080F0668: .4byte 0x0000877c
-_080F066C:
- movs r1, 0x8
-_080F066E:
- ldr r3, _080F06C0 @ =0x0000877a
- adds r0, r2, r3
- strh r1, [r0]
- lsls r0, r5, 16
- asrs r3, r0, 16
- cmp r3, 0
- bge _080F06CC
- ldr r4, [r7]
- ldr r6, _080F06C0 @ =0x0000877a
- adds r1, r4, r6
- movs r2, 0
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1]
- subs r6, 0x2
- adds r1, r4, r6
- lsls r0, r3, 1
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, _080F06C4 @ =0x00008770
- adds r0, r4, r1
- ldrh r0, [r0]
- adds r0, r3, r0
- lsls r0, 16
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _080F06B8
- ldr r2, _080F06C8 @ =0x00008774
- adds r1, r4, r2
- adds r0, 0x1
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
-_080F06B8:
- negs r0, r3
- lsls r0, 16
- lsrs r5, r0, 16
- b _080F06E6
- .align 2, 0
-_080F06C0: .4byte 0x0000877a
-_080F06C4: .4byte 0x00008770
-_080F06C8: .4byte 0x00008774
-_080F06CC:
- ldr r1, [r7]
- ldr r3, _080F070C @ =0x00008778
- adds r0, r1, r3
- ldrh r0, [r0]
- adds r0, 0x10
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, _080F0710 @ =0x00008772
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
-_080F06E6:
- ldr r0, [r7]
- ldr r1, _080F0714 @ =0x00008774
- adds r0, r1
- lsls r1, r2, 16
- asrs r1, 16
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r1, r0
- ble _080F06FA
- movs r2, 0
-_080F06FA:
- movs r1, 0x1F
- adds r0, r2, 0
- ands r1, r6
- adds r2, r5, 0
- bl sub_80F0954
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F070C: .4byte 0x00008778
-_080F0710: .4byte 0x00008772
-_080F0714: .4byte 0x00008774
- thumb_func_end sub_80F063C
-
- thumb_func_start sub_80F0718
-sub_80F0718: @ 80F0718
- push {r4,r5,lr}
- bl sub_80F098C
- lsls r0, 24
- cmp r0, 0
- bne _080F0790
- ldr r0, _080F073C @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r0, _080F0740 @ =0x0000877c
- adds r3, r4, r0
- ldrh r2, [r3]
- movs r1, 0
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080F0744
- movs r0, 0
- b _080F0792
- .align 2, 0
-_080F073C: .4byte gUnknown_083DFEC4
-_080F0740: .4byte 0x0000877c
-_080F0744:
- ldr r0, _080F0780 @ =0x0000877a
- adds r1, r4, r0
- ldrh r0, [r1]
- subs r0, r2, r0
- strh r0, [r3]
- ldr r0, _080F0784 @ =0x00008776
- adds r2, r4, r0
- ldrh r0, [r1]
- ldrh r1, [r2]
- adds r0, r1
- movs r5, 0xFF
- ands r0, r5
- strh r0, [r2]
- ldr r1, _080F0788 @ =REG_BG3VOFS
- strh r0, [r1]
- movs r1, 0
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080F0790
- movs r1, 0
- ldrsh r0, [r2, r1]
- adds r0, 0x8
- ands r0, r5
- asrs r1, r0, 3
- ldr r2, _080F078C @ =0x00008778
- adds r0, r4, r2
- strh r1, [r0]
- movs r0, 0
- b _080F0792
- .align 2, 0
-_080F0780: .4byte 0x0000877a
-_080F0784: .4byte 0x00008776
-_080F0788: .4byte REG_BG3VOFS
-_080F078C: .4byte 0x00008778
-_080F0790:
- movs r0, 0x1
-_080F0792:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80F0718
-
- thumb_func_start ShowMapNamePopUpWindow
-ShowMapNamePopUpWindow: @ 80F0798
- push {lr}
- ldr r0, _080F07B0 @ =gUnknown_083DFEC4
- ldr r2, [r0]
- ldr r1, _080F07B4 @ =0x000087ca
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F07B8
- cmp r0, 0x1
- beq _080F07E0
- b _080F080A
- .align 2, 0
-_080F07B0: .4byte gUnknown_083DFEC4
-_080F07B4: .4byte 0x000087ca
-_080F07B8:
- ldr r3, _080F07D8 @ =0x00008788
- adds r0, r2, r3
- subs r3, 0x1A
- adds r1, r2, r3
- movs r3, 0
- ldrsh r1, [r1, r3]
- lsls r1, 2
- adds r1, r2, r1
- ldr r2, _080F07DC @ =0x0000893e
- adds r1, r2
- ldrh r1, [r1]
- lsls r1, 18
- lsrs r1, 23
- bl sub_80F443C
- b _080F07F4
- .align 2, 0
-_080F07D8: .4byte 0x00008788
-_080F07DC: .4byte 0x0000893e
-_080F07E0:
- ldr r3, _080F0810 @ =0x00008788
- adds r0, r2, r3
- subs r3, 0x1A
- adds r1, r2, r3
- ldrh r1, [r1]
- adds r1, 0x1
- lsls r1, 16
- lsrs r1, 16
- bl sub_80F445C
-_080F07F4:
- ldr r0, _080F0814 @ =gWindowTemplate_81E710C
- bl BasicInitMenuWindow
- ldr r0, _080F0818 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F0810 @ =0x00008788
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x6
- bl Menu_PrintText
-_080F080A:
- pop {r0}
- bx r0
- .align 2, 0
-_080F0810: .4byte 0x00008788
-_080F0814: .4byte gWindowTemplate_81E710C
-_080F0818: .4byte gUnknown_083DFEC4
- thumb_func_end ShowMapNamePopUpWindow
-
- thumb_func_start sub_80F081C
-sub_80F081C: @ 80F081C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080F0838 @ =gWindowTemplate_81E710C
- bl BasicInitMenuWindow
- cmp r5, 0x4
- bhi _080F08C6
- lsls r0, r5, 2
- ldr r1, _080F083C @ =_080F0840
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F0838: .4byte gWindowTemplate_81E710C
-_080F083C: .4byte _080F0840
- .align 2, 0
-_080F0840:
- .4byte _080F0854
- .4byte _080F0854
- .4byte _080F0862
- .4byte _080F088C
- .4byte _080F089A
-_080F0854:
- ldr r0, _080F08CC @ =gOtherText_NumberRegistered
- movs r1, 0xA
- movs r2, 0x9
- bl MenuPrint_RightAligned
- cmp r5, 0
- bne _080F08C6
-_080F0862:
- ldr r0, _080F08D0 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F08D4 @ =0x00008788
- adds r4, r0, r1
- ldr r2, _080F08D8 @ =0x00008774
- adds r0, r2
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r1, 0x1
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- adds r0, r4, 0
- movs r1, 0xA
- movs r2, 0xB
- bl MenuPrint_RightAligned
- cmp r5, 0
- bne _080F08C6
-_080F088C:
- ldr r0, _080F08DC @ =gOtherText_NumberBattles
- movs r1, 0xA
- movs r2, 0xD
- bl MenuPrint_RightAligned
- cmp r5, 0
- bne _080F08C6
-_080F089A:
- movs r0, 0x9
- bl GetGameStat
- adds r1, r0, 0
- ldr r0, _080F08E0 @ =0x0001869f
- cmp r1, r0
- bls _080F08AA
- adds r1, r0, 0
-_080F08AA:
- ldr r0, _080F08D0 @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r0, _080F08D4 @ =0x00008788
- adds r4, r0
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- adds r0, r4, 0
- movs r1, 0xA
- movs r2, 0xF
- bl MenuPrint_RightAligned
-_080F08C6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F08CC: .4byte gOtherText_NumberRegistered
-_080F08D0: .4byte gUnknown_083DFEC4
-_080F08D4: .4byte 0x00008788
-_080F08D8: .4byte 0x00008774
-_080F08DC: .4byte gOtherText_NumberBattles
-_080F08E0: .4byte 0x0001869f
- thumb_func_end sub_80F081C
-
- thumb_func_start sub_80F08E4
-sub_80F08E4: @ 80F08E4
- push {lr}
- ldr r0, _080F08FC @ =gWindowTemplate_81E710C
- bl BasicInitMenuWindow
- movs r0, 0
- movs r1, 0x9
- movs r2, 0xB
- movs r3, 0x10
- bl Menu_EraseWindowRect
- pop {r0}
- bx r0
- .align 2, 0
-_080F08FC: .4byte gWindowTemplate_81E710C
- thumb_func_end sub_80F08E4
-
- thumb_func_start sub_80F0900
-sub_80F0900: @ 80F0900
- push {r4,r5,lr}
- ldr r0, _080F093C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080F0940 @ =0x00008772
- adds r1, r0, r2
- subs r2, 0x2
- adds r5, r0, r2
- ldrh r0, [r1]
- ldrh r1, [r5]
- subs r0, r1
- adds r0, 0x1
- lsls r4, r0, 16
- asrs r0, r4, 16
- cmp r0, 0x7
- bgt _080F092A
- movs r0, 0xC
- movs r1, 0x1
- movs r2, 0x1F
- movs r3, 0xF
- bl Menu_EraseWindowRect
-_080F092A:
- ldrh r0, [r5]
- lsrs r2, r4, 16
- movs r1, 0
- bl sub_80F0954
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F093C: .4byte gUnknown_083DFEC4
-_080F0940: .4byte 0x00008772
- thumb_func_end sub_80F0900
-
- thumb_func_start sub_80F0944
-sub_80F0944: @ 80F0944
- push {lr}
- bl sub_80F098C
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80F0944
-
- thumb_func_start sub_80F0954
-sub_80F0954: @ 80F0954
- push {r4,r5,lr}
- ldr r3, _080F097C @ =gUnknown_083DFEC4
- ldr r3, [r3]
- ldr r5, _080F0980 @ =0x0000877e
- adds r4, r3, r5
- movs r5, 0
- strh r0, [r4]
- ldr r4, _080F0984 @ =0x00008780
- adds r0, r3, r4
- strh r1, [r0]
- ldr r1, _080F0988 @ =0x00008784
- adds r0, r3, r1
- strh r2, [r0]
- adds r4, 0x6
- adds r3, r4
- strh r5, [r3]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F097C: .4byte gUnknown_083DFEC4
-_080F0980: .4byte 0x0000877e
-_080F0984: .4byte 0x00008780
-_080F0988: .4byte 0x00008784
- thumb_func_end sub_80F0954
-
- thumb_func_start sub_80F098C
-sub_80F098C: @ 80F098C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _080F09A4 @ =gUnknown_083DFEC4
- ldr r6, [r0]
- ldr r0, _080F09A8 @ =0x00008784
- adds r7, r6, r0
- ldrh r0, [r7]
- cmp r0, 0
- bne _080F09AC
-_080F09A0:
- movs r0, 0
- b _080F0A02
- .align 2, 0
-_080F09A4: .4byte gUnknown_083DFEC4
-_080F09A8: .4byte 0x00008784
-_080F09AC:
- movs r1, 0
- mov r8, r1
- ldr r1, _080F0A0C @ =gUnknown_083E3270
- ldr r2, _080F0A10 @ =0x000087ca
- adds r0, r6, r2
- ldrb r2, [r0]
- lsls r2, 2
- adds r2, r1
- ldr r0, _080F0A14 @ =0x0000877e
- adds r4, r6, r0
- ldrh r0, [r4]
- ldr r1, _080F0A18 @ =0x00008780
- adds r5, r6, r1
- ldrh r1, [r5]
- ldr r2, [r2]
- bl _call_via_r2
- ldrh r0, [r7]
- subs r0, 0x1
- strh r0, [r7]
- ldr r2, _080F0A1C @ =0x0000ffff
- adds r1, r2, 0
- lsls r0, 16
- cmp r0, 0
- beq _080F09A0
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ands r0, r1
- ldr r2, _080F0A20 @ =0x00008774
- adds r1, r6, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- cmp r0, r1
- ble _080F09F6
- mov r0, r8
- strh r0, [r4]
-_080F09F6:
- ldrh r0, [r5]
- adds r0, 0x2
- movs r1, 0x1F
- ands r0, r1
- strh r0, [r5]
- movs r0, 0x1
-_080F0A02:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080F0A0C: .4byte gUnknown_083E3270
-_080F0A10: .4byte 0x000087ca
-_080F0A14: .4byte 0x0000877e
-_080F0A18: .4byte 0x00008780
-_080F0A1C: .4byte 0x0000ffff
-_080F0A20: .4byte 0x00008774
- thumb_func_end sub_80F098C
-
- thumb_func_start sub_80F0A24
-sub_80F0A24: @ 80F0A24
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r0, _080F0A64 @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r1, _080F0A68 @ =0x000087c8
- adds r0, r4, r1
- ldrb r0, [r0]
- movs r2, 0x1
- cmp r0, 0
- bne _080F0A40
- movs r2, 0x2
-_080F0A40:
- ldr r0, _080F0A6C @ =0x00008788
- adds r4, r0
- adds r0, r4, 0
- adds r1, r3, 0
- bl sub_80F4428
- ldr r0, _080F0A70 @ =gWindowTemplate_81E70D4
- bl BasicInitMenuWindow
- lsls r2, r5, 24
- lsrs r2, 24
- adds r0, r4, 0
- movs r1, 0xD
- bl Menu_PrintText
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F0A64: .4byte gUnknown_083DFEC4
-_080F0A68: .4byte 0x000087c8
-_080F0A6C: .4byte 0x00008788
-_080F0A70: .4byte gWindowTemplate_81E70D4
- thumb_func_end sub_80F0A24
-
- thumb_func_start sub_80F0A74
-sub_80F0A74: @ 80F0A74
- push {r4-r7,lr}
- sub sp, 0x14
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r7, r1, 16
- ldr r0, _080F0ADC @ =gUnknown_083DFEC4
- ldr r5, [r0]
- ldr r0, _080F0AE0 @ =0x00008788
- adds r4, r5, r0
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80F700C
- movs r0, 0x1F
- ands r7, r0
- ldr r0, _080F0AE4 @ =gWindowTemplate_81E70D4
- bl BasicInitMenuWindow
- lsls r2, r7, 3
- adds r0, r4, 0
- movs r1, 0x61
- movs r3, 0
- bl Menu_PrintTextPixelCoords
- ldr r1, _080F0AE8 @ =0x0000d158
- adds r0, r5, r1
- ldrh r0, [r0]
- cmp r6, r0
- bcs _080F0AF8
- lsls r0, r6, 3
- adds r0, r5, r0
- ldr r1, _080F0AEC @ =0x0000ceed
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F0AF8
- ldr r0, _080F0AF0 @ =0x0600f000
- ldr r3, _080F0AF4 @ =gUnknown_083E039C
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r2, 0x1
- str r2, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- str r2, [sp, 0x10]
- movs r1, 0x1D
- adds r2, r7, 0
- bl sub_8095C8C
- b _080F0B14
- .align 2, 0
-_080F0ADC: .4byte gUnknown_083DFEC4
-_080F0AE0: .4byte 0x00008788
-_080F0AE4: .4byte gWindowTemplate_81E70D4
-_080F0AE8: .4byte 0x0000d158
-_080F0AEC: .4byte 0x0000ceed
-_080F0AF0: .4byte 0x0600f000
-_080F0AF4: .4byte gUnknown_083E039C
-_080F0AF8:
- ldr r0, _080F0B1C @ =0x0600f000
- ldr r3, _080F0B20 @ =gUnknown_083E03A0
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r2, 0x1
- str r2, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- str r2, [sp, 0x10]
- movs r1, 0x1D
- adds r2, r7, 0
- bl sub_8095C8C
-_080F0B14:
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F0B1C: .4byte 0x0600f000
-_080F0B20: .4byte gUnknown_083E03A0
- thumb_func_end sub_80F0A74
-
- thumb_func_start sub_80F0B24
-sub_80F0B24: @ 80F0B24
- ldr r0, _080F0B38 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080F0B3C @ =0x0000d15c
- adds r1, r0, r2
- movs r2, 0
- strh r2, [r1]
- ldr r1, _080F0B40 @ =0x00000306
- adds r0, r1
- strh r2, [r0]
- bx lr
- .align 2, 0
-_080F0B38: .4byte gUnknown_083DFEC4
-_080F0B3C: .4byte 0x0000d15c
-_080F0B40: .4byte 0x00000306
- thumb_func_end sub_80F0B24
-
- thumb_func_start sub_80F0B44
-sub_80F0B44: @ 80F0B44
- push {r4-r6,lr}
- ldr r0, _080F0B58 @ =gUnknown_083DFEC4
- ldr r5, [r0]
- ldr r0, _080F0B5C @ =0x0000d15c
- adds r6, r5, r0
- ldrh r0, [r6]
- cmp r0, 0x8
- bls _080F0B60
- movs r0, 0
- b _080F0C22
- .align 2, 0
-_080F0B58: .4byte gUnknown_083DFEC4
-_080F0B5C: .4byte 0x0000d15c
-_080F0B60:
- ldr r0, _080F0BBC @ =0x00000306
- adds r1, r5, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _080F0C20
- movs r0, 0
- strh r0, [r1]
- ldrh r0, [r6]
- cmp r0, 0x7
- bhi _080F0BCC
- ldr r0, _080F0BC0 @ =0x00008778
- adds r1, r5, r0
- ldrh r2, [r6]
- lsls r0, r2, 1
- ldrh r1, [r1]
- adds r4, r0, r1
- movs r0, 0x1F
- ands r4, r0
- ldr r1, _080F0BC4 @ =0x0000876c
- adds r0, r5, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r2, r0
- beq _080F0BAA
- ldr r0, _080F0BC8 @ =gWindowTemplate_81E70D4
- bl BasicInitMenuWindow
- adds r1, r4, 0
- adds r3, r1, 0x1
- movs r0, 0xC
- movs r2, 0x1F
- bl Menu_EraseWindowRect
-_080F0BAA:
- ldrh r0, [r6]
- cmp r0, 0
- bne _080F0BB4
- bl sub_80F08E4
-_080F0BB4:
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- b _080F0C20
- .align 2, 0
-_080F0BBC: .4byte 0x00000306
-_080F0BC0: .4byte 0x00008778
-_080F0BC4: .4byte 0x0000876c
-_080F0BC8: .4byte gWindowTemplate_81E70D4
-_080F0BCC:
- ldr r0, _080F0C10 @ =gWindowTemplate_81E70D4
- bl BasicInitMenuWindow
- ldr r1, _080F0C14 @ =0x00008778
- adds r0, r5, r1
- ldrh r0, [r0]
- adds r4, r0, 0
- adds r4, 0x10
- movs r0, 0x1F
- ands r4, r0
- movs r5, 0
-_080F0BE2:
- adds r3, r4, 0x1
- movs r0, 0xC
- adds r1, r4, 0
- movs r2, 0x1F
- bl Menu_EraseWindowRect
- adds r4, 0x2
- movs r0, 0x1F
- ands r4, r0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x7
- bls _080F0BE2
- ldr r0, _080F0C18 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F0C1C @ =0x0000d15c
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0
- b _080F0C22
- .align 2, 0
-_080F0C10: .4byte gWindowTemplate_81E70D4
-_080F0C14: .4byte 0x00008778
-_080F0C18: .4byte gUnknown_083DFEC4
-_080F0C1C: .4byte 0x0000d15c
-_080F0C20:
- movs r0, 0x1
-_080F0C22:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80F0B44
-
- thumb_func_start sub_80F0C28
-sub_80F0C28: @ 80F0C28
- ldr r0, _080F0C3C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080F0C40 @ =0x0000d15c
- adds r1, r0, r2
- movs r2, 0
- strh r2, [r1]
- ldr r1, _080F0C44 @ =0x00000306
- adds r0, r1
- strh r2, [r0]
- bx lr
- .align 2, 0
-_080F0C3C: .4byte gUnknown_083DFEC4
-_080F0C40: .4byte 0x0000d15c
-_080F0C44: .4byte 0x00000306
- thumb_func_end sub_80F0C28
-
- thumb_func_start sub_80F0C48
-sub_80F0C48: @ 80F0C48
- push {r4-r6,lr}
- ldr r0, _080F0C5C @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r0, _080F0C60 @ =0x0000d15c
- adds r5, r4, r0
- ldrh r0, [r5]
- cmp r0, 0x7
- bls _080F0C64
- movs r0, 0
- b _080F0CD2
- .align 2, 0
-_080F0C5C: .4byte gUnknown_083DFEC4
-_080F0C60: .4byte 0x0000d15c
-_080F0C64:
- ldr r2, _080F0CBC @ =0x00000306
- adds r1, r4, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldr r2, _080F0CC0 @ =0x0000ffff
- adds r6, r2, 0
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _080F0CD0
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080F0CC4 @ =gWindowTemplate_81E70D4
- bl BasicInitMenuWindow
- ldr r0, _080F0CC8 @ =0x00008770
- adds r1, r4, r0
- ldrh r0, [r5]
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _080F0CCC @ =0x00008778
- adds r2, r4, r1
- ldrh r1, [r5]
- lsls r1, 1
- ldrh r2, [r2]
- adds r1, r2
- lsls r1, 16
- lsrs r1, 16
- bl sub_80F0A74
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- ands r0, r6
- cmp r0, 0x7
- bls _080F0CD0
- movs r0, 0
- bl sub_80F081C
- movs r0, 0
- b _080F0CD2
- .align 2, 0
-_080F0CBC: .4byte 0x00000306
-_080F0CC0: .4byte 0x0000ffff
-_080F0CC4: .4byte gWindowTemplate_81E70D4
-_080F0CC8: .4byte 0x00008770
-_080F0CCC: .4byte 0x00008778
-_080F0CD0:
- movs r0, 0x1
-_080F0CD2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80F0C48
-
- thumb_func_start sub_80F0CD8
-sub_80F0CD8: @ 80F0CD8
- push {r4,r5,lr}
- ldr r4, _080F0D40 @ =gUnknown_083DFEC4
- ldr r1, [r4]
- ldr r2, _080F0D44 @ =0x00000306
- adds r0, r1, r2
- movs r2, 0
- strh r2, [r0]
- ldr r3, _080F0D48 @ =0x0000d15c
- adds r0, r1, r3
- strh r2, [r0]
- ldr r2, _080F0D4C @ =0x0000876e
- adds r0, r1, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- lsls r0, 3
- adds r0, r1, r0
- ldr r2, _080F0D50 @ =0x0000ceec
- adds r0, r2
- ldrb r0, [r0]
- ldr r3, _080F0D54 @ =0x0000d110
- adds r1, r3
- ldr r2, _080F0D58 @ =gTrainerEyeDescriptions
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- adds r2, r0, 0
- movs r1, 0
- adds r5, r4, 0
- adds r4, r3, 0
-_080F0D14:
- ldrb r0, [r2]
- adds r3, r1, 0x1
- cmp r0, 0xFF
- beq _080F0D24
-_080F0D1C:
- adds r2, 0x1
- ldrb r0, [r2]
- cmp r0, 0xFF
- bne _080F0D1C
-_080F0D24:
- ldr r0, [r5]
- lsls r1, r3, 2
- adds r0, r4
- adds r0, r1
- adds r2, 0x1
- str r2, [r0]
- lsls r0, r3, 16
- lsrs r1, r0, 16
- cmp r1, 0x2
- bls _080F0D14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F0D40: .4byte gUnknown_083DFEC4
-_080F0D44: .4byte 0x00000306
-_080F0D48: .4byte 0x0000d15c
-_080F0D4C: .4byte 0x0000876e
-_080F0D50: .4byte 0x0000ceec
-_080F0D54: .4byte 0x0000d110
-_080F0D58: .4byte gTrainerEyeDescriptions
- thumb_func_end sub_80F0CD8
-
- thumb_func_start sub_80F0D5C
-sub_80F0D5C: @ 80F0D5C
- push {r4,r5,lr}
- ldr r0, _080F0D70 @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r0, _080F0D74 @ =0x0000d15c
- adds r5, r4, r0
- ldrh r0, [r5]
- cmp r0, 0x7
- bne _080F0D78
-_080F0D6C:
- movs r0, 0
- b _080F0EB0
- .align 2, 0
-_080F0D70: .4byte gUnknown_083DFEC4
-_080F0D74: .4byte 0x0000d15c
-_080F0D78:
- ldr r0, _080F0DB8 @ =0x00000306
- adds r1, r4, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080F0D8C
- b _080F0EAE
-_080F0D8C:
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080F0DBC @ =gWindowTemplate_81E70D4
- bl BasicInitMenuWindow
- ldr r0, _080F0DC0 @ =0x00008778
- adds r1, r4, r0
- ldrh r3, [r5]
- lsls r0, r3, 1
- adds r0, 0x2
- ldrh r1, [r1]
- adds r5, r0, r1
- movs r0, 0x1F
- ands r5, r0
- cmp r3, 0x6
- bhi _080F0D6C
- lsls r0, r3, 2
- ldr r1, _080F0DC4 @ =_080F0DC8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F0DB8: .4byte 0x00000306
-_080F0DBC: .4byte gWindowTemplate_81E70D4
-_080F0DC0: .4byte 0x00008778
-_080F0DC4: .4byte _080F0DC8
- .align 2, 0
-_080F0DC8:
- .4byte _080F0DE4
- .4byte _080F0DF0
- .4byte _080F0E08
- .4byte _080F0E14
- .4byte _080F0E2C
- .4byte _080F0E38
- .4byte _080F0E6C
-_080F0DE4:
- ldr r0, _080F0DEC @ =gOtherText_Strategy
- lsls r2, r5, 3
- b _080F0E54
- .align 2, 0
-_080F0DEC: .4byte gOtherText_Strategy
-_080F0DF0:
- ldr r0, _080F0DFC @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F0E00 @ =0x00008788
- adds r4, r0, r1
- ldr r1, _080F0E04 @ =0x0000d110
- b _080F0E42
- .align 2, 0
-_080F0DFC: .4byte gUnknown_083DFEC4
-_080F0E00: .4byte 0x00008788
-_080F0E04: .4byte 0x0000d110
-_080F0E08:
- ldr r0, _080F0E10 @ =gOtherText_TrainersPokemon
- lsls r2, r5, 3
- b _080F0E54
- .align 2, 0
-_080F0E10: .4byte gOtherText_TrainersPokemon
-_080F0E14:
- ldr r0, _080F0E20 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F0E24 @ =0x00008788
- adds r4, r0, r1
- ldr r1, _080F0E28 @ =0x0000d114
- b _080F0E42
- .align 2, 0
-_080F0E20: .4byte gUnknown_083DFEC4
-_080F0E24: .4byte 0x00008788
-_080F0E28: .4byte 0x0000d114
-_080F0E2C:
- ldr r0, _080F0E34 @ =gOtherText_SelfIntroduction
- lsls r2, r5, 3
- b _080F0E54
- .align 2, 0
-_080F0E34: .4byte gOtherText_SelfIntroduction
-_080F0E38:
- ldr r0, _080F0E60 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F0E64 @ =0x00008788
- adds r4, r0, r1
- ldr r1, _080F0E68 @ =0x0000d118
-_080F0E42:
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- movs r2, 0x88
- movs r3, 0
- bl AlignStringInMenuWindow
- lsls r2, r5, 3
- adds r0, r4, 0
-_080F0E54:
- movs r1, 0x61
- movs r3, 0
- bl Menu_PrintTextPixelCoords
- b _080F0EA0
- .align 2, 0
-_080F0E60: .4byte gUnknown_083DFEC4
-_080F0E64: .4byte 0x00008788
-_080F0E68: .4byte 0x0000d118
-_080F0E6C:
- ldr r0, _080F0E94 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F0E98 @ =0x00008788
- adds r4, r0, r1
- ldr r1, _080F0E9C @ =0x0000d11c
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- movs r2, 0x88
- movs r3, 0
- bl AlignStringInMenuWindow
- lsls r2, r5, 3
- adds r0, r4, 0
- movs r1, 0x61
- movs r3, 0
- bl Menu_PrintTextPixelCoords
- b _080F0D6C
- .align 2, 0
-_080F0E94: .4byte gUnknown_083DFEC4
-_080F0E98: .4byte 0x00008788
-_080F0E9C: .4byte 0x0000d11c
-_080F0EA0:
- ldr r0, _080F0EB8 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F0EBC @ =0x0000d15c
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F0EAE:
- movs r0, 0x1
-_080F0EB0:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080F0EB8: .4byte gUnknown_083DFEC4
-_080F0EBC: .4byte 0x0000d15c
- thumb_func_end sub_80F0D5C
-
- thumb_func_start sub_80F0EC0
-sub_80F0EC0: @ 80F0EC0
- push {lr}
- ldr r0, _080F0EE4 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080F0EE8 @ =0x00000306
- adds r1, r0, r2
- movs r2, 0
- strh r2, [r1]
- ldr r3, _080F0EEC @ =0x0000d15c
- adds r1, r0, r3
- strh r2, [r1]
- ldr r1, _080F0EF0 @ =0x00008788
- adds r0, r1
- movs r1, 0
- movs r2, 0x10
- bl StringFill
- pop {r0}
- bx r0
- .align 2, 0
-_080F0EE4: .4byte gUnknown_083DFEC4
-_080F0EE8: .4byte 0x00000306
-_080F0EEC: .4byte 0x0000d15c
-_080F0EF0: .4byte 0x00008788
- thumb_func_end sub_80F0EC0
-
- thumb_func_start sub_80F0EF4
-sub_80F0EF4: @ 80F0EF4
- push {r4,r5,lr}
- ldr r0, _080F0F08 @ =gUnknown_083DFEC4
- ldr r2, [r0]
- ldr r0, _080F0F0C @ =0x0000d15c
- adds r5, r2, r0
- ldrh r0, [r5]
- cmp r0, 0x6
- bls _080F0F10
- movs r0, 0
- b _080F0F52
- .align 2, 0
-_080F0F08: .4byte gUnknown_083DFEC4
-_080F0F0C: .4byte 0x0000d15c
-_080F0F10:
- ldr r0, _080F0F58 @ =0x00000306
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _080F0F50
- movs r0, 0
- strh r0, [r1]
- ldr r1, _080F0F5C @ =0x00008778
- adds r0, r2, r1
- ldrh r4, [r5]
- lsls r4, 1
- adds r4, 0x2
- ldrh r0, [r0]
- adds r4, r0
- movs r0, 0x1F
- ands r4, r0
- ldr r0, _080F0F60 @ =gWindowTemplate_81E70D4
- bl BasicInitMenuWindow
- adds r3, r4, 0x1
- movs r0, 0xC
- adds r1, r4, 0
- movs r2, 0x1F
- bl Menu_EraseWindowRect
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_080F0F50:
- movs r0, 0x1
-_080F0F52:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080F0F58: .4byte 0x00000306
-_080F0F5C: .4byte 0x00008778
-_080F0F60: .4byte gWindowTemplate_81E70D4
- thumb_func_end sub_80F0EF4
-
- thumb_func_start sub_80F0F64
-sub_80F0F64: @ 80F0F64
- push {r4,lr}
- ldr r0, _080F0F90 @ =gUnknown_083DFEC4
- ldr r3, [r0]
- ldr r1, _080F0F94 @ =0x0000876c
- adds r0, r3, r1
- movs r4, 0
- ldrsh r2, [r0, r4]
- lsls r1, r2, 4
- ldr r4, _080F0F98 @ =0x0000877c
- adds r0, r3, r4
- strh r1, [r0]
- movs r1, 0x8
- cmp r2, 0x1
- bne _080F0F82
- movs r1, 0x4
-_080F0F82:
- ldr r2, _080F0F9C @ =0x0000877a
- adds r0, r3, r2
- strh r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F0F90: .4byte gUnknown_083DFEC4
-_080F0F94: .4byte 0x0000876c
-_080F0F98: .4byte 0x0000877c
-_080F0F9C: .4byte 0x0000877a
- thumb_func_end sub_80F0F64
-
- thumb_func_start sub_80F0FA0
-sub_80F0FA0: @ 80F0FA0
- push {r4,lr}
- ldr r0, _080F0FDC @ =gUnknown_083DFEC4
- ldr r3, [r0]
- ldr r1, _080F0FE0 @ =0x0000876c
- adds r0, r3, r1
- movs r4, 0
- ldrsh r0, [r0, r4]
- negs r0, r0
- lsls r0, 16
- asrs r0, 16
- lsls r2, r0, 4
- ldr r4, _080F0FE4 @ =0x0000877c
- adds r1, r3, r4
- strh r2, [r1]
- movs r1, 0x1
- negs r1, r1
- movs r4, 0x8
- negs r4, r4
- adds r2, r4, 0
- cmp r0, r1
- bne _080F0FD0
- movs r0, 0x4
- negs r0, r0
- adds r2, r0, 0
-_080F0FD0:
- ldr r1, _080F0FE8 @ =0x0000877a
- adds r0, r3, r1
- strh r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F0FDC: .4byte gUnknown_083DFEC4
-_080F0FE0: .4byte 0x0000876c
-_080F0FE4: .4byte 0x0000877c
-_080F0FE8: .4byte 0x0000877a
- thumb_func_end sub_80F0FA0
-
- thumb_func_start sub_80F0FEC
-sub_80F0FEC: @ 80F0FEC
- push {lr}
- bl sub_80F0718
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80F0FEC
-
- thumb_func_start sub_80F0FFC
-sub_80F0FFC: @ 80F0FFC
- push {r4,r5,lr}
- lsls r0, 24
- ldr r1, _080F1048 @ =gUnknown_083DFEC4
- ldr r4, [r1]
- ldr r1, _080F104C @ =0x00008788
- adds r5, r4, r1
- lsrs r0, 21
- adds r0, r4, r0
- ldr r1, _080F1050 @ =0x0000ceea
- adds r0, r1
- ldrh r1, [r0]
- adds r0, r5, 0
- movs r2, 0
- bl GetMapSectionName
- ldr r0, _080F1054 @ =gWindowTemplate_81E710C
- bl BasicInitMenuWindow
- adds r0, r5, 0
- bl sub_80F19DC
- ldr r0, _080F1058 @ =0x0000d138
- adds r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x58
- movs r3, 0x2
- bl AlignStringInMenuWindow
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x5
- bl Menu_PrintText
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F1048: .4byte gUnknown_083DFEC4
-_080F104C: .4byte 0x00008788
-_080F1050: .4byte 0x0000ceea
-_080F1054: .4byte gWindowTemplate_81E710C
-_080F1058: .4byte 0x0000d138
- thumb_func_end sub_80F0FFC
-
- thumb_func_start sub_80F105C
-sub_80F105C: @ 80F105C
- push {lr}
- ldr r0, _080F1078 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080F107C @ =0x0000876e
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r2, 0xA
- adds r1, r2
- ldrh r1, [r1]
- bl sub_80F0A74
- pop {r0}
- bx r0
- .align 2, 0
-_080F1078: .4byte gUnknown_083DFEC4
-_080F107C: .4byte 0x0000876e
- thumb_func_end sub_80F105C
-
- thumb_func_start sub_80F1080
-sub_80F1080: @ 80F1080
- push {r4,lr}
- ldr r1, _080F10A0 @ =gUnknown_083DFEC4
- ldr r0, [r1]
- ldr r2, _080F10A4 @ =0x0000d160
- adds r0, r2
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, 0xE
- bls _080F1094
- b _080F1204
-_080F1094:
- lsls r0, 2
- ldr r1, _080F10A8 @ =_080F10AC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F10A0: .4byte gUnknown_083DFEC4
-_080F10A4: .4byte 0x0000d160
-_080F10A8: .4byte _080F10AC
- .align 2, 0
-_080F10AC:
- .4byte _080F10E8
- .4byte _080F1104
- .4byte _080F1110
- .4byte _080F111C
- .4byte _080F1128
- .4byte _080F112E
- .4byte _080F1134
- .4byte _080F1142
- .4byte _080F1160
- .4byte _080F1166
- .4byte _080F116C
- .4byte _080F1180
- .4byte _080F1194
- .4byte _080F11DC
- .4byte _080F11E2
-_080F10E8:
- bl sub_80EEDE8
- ldr r0, _080F10FC @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r3, _080F1100 @ =0x0000d162
- adds r0, r3
- movs r1, 0xB
- strb r1, [r0]
- b _080F1218
- .align 2, 0
-_080F10FC: .4byte gUnknown_083DFEC4
-_080F1100: .4byte 0x0000d162
-_080F1104:
- ldr r0, _080F110C @ =gWindowTemplate_81E70B8
- bl Text_LoadWindowTemplate
- b _080F1218
- .align 2, 0
-_080F110C: .4byte gWindowTemplate_81E70B8
-_080F1110:
- ldr r0, _080F1118 @ =gWindowTemplate_81E70B8
- bl MultistepInitMenuWindowBegin
- b _080F1218
- .align 2, 0
-_080F1118: .4byte gWindowTemplate_81E70B8
-_080F111C:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- beq _080F1126
- b _080F1218
-_080F1126:
- b _080F1226
-_080F1128:
- bl Menu_EraseScreen
- b _080F1218
-_080F112E:
- bl sub_80F1614
- b _080F1218
-_080F1134:
- movs r0, 0x1
- bl sub_80F162C
- lsls r0, 24
- cmp r0, 0
- beq _080F1218
- b _080F1226
-_080F1142:
- ldr r0, _080F1154 @ =gUnknown_08E9FBA0
- ldr r1, _080F1158 @ =gUnknown_083DFEC4
- ldr r1, [r1]
- ldr r2, _080F115C @ =0x0000934c
- adds r1, r2
- bl LZ77UnCompWram
- b _080F1218
- .align 2, 0
-_080F1154: .4byte gUnknown_08E9FBA0
-_080F1158: .4byte gUnknown_083DFEC4
-_080F115C: .4byte 0x0000934c
-_080F1160:
- bl sub_80F1238
- b _080F1218
-_080F1166:
- bl sub_80F13FC
- b _080F1218
-_080F116C:
- ldr r0, _080F1178 @ =gPokenavRibbonView_Gfx
- ldr r1, _080F117C @ =0x06008000
- bl LZ77UnCompVram
- b _080F1218
- .align 2, 0
-_080F1178: .4byte gPokenavRibbonView_Gfx
-_080F117C: .4byte 0x06008000
-_080F1180:
- ldr r0, _080F118C @ =gUnknown_083E040C
- ldr r1, _080F1190 @ =0x06008200
- bl LZ77UnCompVram
- b _080F1218
- .align 2, 0
-_080F118C: .4byte gUnknown_083E040C
-_080F1190: .4byte 0x06008200
-_080F1194:
- ldr r0, _080F11CC @ =gPokenavRibbonView_Pal
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- ldr r4, _080F11D0 @ =gUnknown_083E03A8
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080F11D4 @ =gUnknown_083E3C60
- movs r1, 0x30
- movs r2, 0xA0
- bl LoadPalette
- ldr r0, _080F11D8 @ =gUnknownPalette_81E6692
- movs r1, 0xB0
- movs r2, 0x20
- bl LoadPalette
- adds r4, 0x1E
- adds r0, r4, 0
- movs r1, 0xBF
- movs r2, 0x2
- bl LoadPalette
- b _080F1218
- .align 2, 0
-_080F11CC: .4byte gPokenavRibbonView_Pal
-_080F11D0: .4byte gUnknown_083E03A8
-_080F11D4: .4byte gUnknown_083E3C60
-_080F11D8: .4byte gUnknownPalette_81E6692
-_080F11DC:
- bl sub_80F1438
- b _080F1218
-_080F11E2:
- ldr r1, _080F1208 @ =REG_BG2CNT
- ldr r3, _080F120C @ =0x00001e02
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r3, _080F1210 @ =0x0000170b
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x42
- movs r0, 0
- strh r0, [r1]
- ldr r1, [r2]
- ldr r0, _080F1214 @ =0x0000d160
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F1204:
- movs r0, 0
- b _080F1228
- .align 2, 0
-_080F1208: .4byte REG_BG2CNT
-_080F120C: .4byte 0x00001e02
-_080F1210: .4byte 0x0000170b
-_080F1214: .4byte 0x0000d160
-_080F1218:
- ldr r0, _080F1230 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080F1234 @ =0x0000d160
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F1226:
- movs r0, 0x1
-_080F1228:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F1230: .4byte gUnknown_083DFEC4
-_080F1234: .4byte 0x0000d160
- thumb_func_end sub_80F1080
-
- thumb_func_start sub_80F1238
-sub_80F1238: @ 80F1238
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r6, 0x8B
- ldr r0, _080F1318 @ =gUnknown_083DFEC4
- ldr r2, [r0]
- ldr r1, _080F131C @ =0x0000bc8e
- adds r0, r2, r1
- ldr r3, _080F1320 @ =0x0000bc8f
- adds r1, r2, r3
- ldrb r0, [r0]
- ldrb r1, [r1]
- subs r0, r1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r7, 0
- mov r5, sp
- adds r4, r2, 0
-_080F1264:
- movs r1, 0x80
- lsls r1, 6
- adds r0, r1, 0
- strh r0, [r5]
- lsls r1, r7, 5
- adds r1, r6, r1
- lsls r1, 1
- ldr r2, _080F1324 @ =0x0000934c
- adds r1, r2
- adds r1, r4, r1
- mov r0, sp
- ldr r2, _080F1328 @ =0x01000012
- bl CpuSet
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x7
- bls _080F1264
- ldr r3, [sp, 0x4]
- lsls r0, r3, 16
- movs r7, 0
- mov r9, r0
- cmp r0, 0
- beq _080F1342
- ldr r0, _080F1318 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- mov r8, r0
- ldr r1, _080F132C @ =gUnknown_083E4698
- mov r10, r1
- ldr r5, _080F1324 @ =0x0000934c
- add r5, r8
-_080F12A4:
- ldr r0, _080F1330 @ =0x0000bc4c
- add r0, r8
- adds r0, r7
- ldrb r1, [r0]
- lsls r1, 2
- mov r0, r10
- adds r0, 0x2
- adds r0, r1, r0
- ldrb r2, [r0]
- adds r2, 0x3
- lsls r2, 24
- add r1, r10
- ldrh r0, [r1]
- lsls r0, 25
- movs r3, 0x80
- lsls r3, 21
- adds r0, r3
- lsrs r4, r0, 24
- lsls r1, r6, 1
- adds r1, r5, r1
- lsrs r2, 12
- adds r0, r2, 0
- orrs r0, r4
- strh r0, [r1]
- adds r1, r6, 0x1
- lsls r1, 1
- adds r1, r5, r1
- movs r3, 0x80
- lsls r3, 3
- adds r0, r3, 0
- adds r3, r2, 0
- orrs r3, r0
- adds r0, r3, 0
- orrs r0, r4
- strh r0, [r1]
- adds r0, r6, 0
- adds r0, 0x20
- lsls r0, 1
- adds r0, r5, r0
- adds r1, r4, 0x1
- orrs r2, r1
- strh r2, [r0]
- adds r0, r6, 0
- adds r0, 0x21
- lsls r0, 1
- adds r0, r5, r0
- orrs r3, r1
- strh r3, [r0]
- adds r4, r7, 0x1
- adds r0, r4, 0
- movs r1, 0x9
- bl __modsi3
- cmp r0, 0
- bne _080F1334
- adds r0, r6, 0
- adds r0, 0x30
- b _080F1336
- .align 2, 0
-_080F1318: .4byte gUnknown_083DFEC4
-_080F131C: .4byte 0x0000bc8e
-_080F1320: .4byte 0x0000bc8f
-_080F1324: .4byte 0x0000934c
-_080F1328: .4byte 0x01000012
-_080F132C: .4byte gUnknown_083E4698
-_080F1330: .4byte 0x0000bc4c
-_080F1334:
- adds r0, r6, 0x2
-_080F1336:
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r0, r4, 16
- lsrs r7, r0, 16
- cmp r0, r9
- bcc _080F12A4
-_080F1342:
- ldr r6, _080F13E8 @ =0x0000014b
- movs r7, 0
- ldr r1, _080F13EC @ =gUnknown_083DFEC4
- ldr r0, [r1]
- ldr r2, _080F13F0 @ =0x0000bc8f
- adds r1, r0, r2
- ldrb r3, [r1]
- cmp r7, r3
- bcs _080F13D8
- subs r2, 0x43
- adds r2, r0
- mov r10, r2
- ldr r3, _080F13F4 @ =gUnknown_083E4698
- mov r8, r3
- ldr r2, _080F13F8 @ =0x0000934c
- adds r5, r0, r2
- mov r9, r1
-_080F1364:
- ldr r3, [sp, 0x4]
- adds r0, r3, r7
- add r0, r10
- ldrb r1, [r0]
- lsls r1, 2
- mov r0, r8
- adds r0, 0x2
- adds r0, r1, r0
- ldrb r2, [r0]
- adds r2, 0x3
- lsls r2, 24
- add r1, r8
- ldrh r0, [r1]
- lsls r0, 25
- movs r1, 0x80
- lsls r1, 21
- adds r0, r1
- lsrs r4, r0, 24
- lsls r1, r6, 1
- adds r1, r5, r1
- lsrs r2, 12
- adds r0, r2, 0
- orrs r0, r4
- strh r0, [r1]
- adds r1, r6, 0x1
- lsls r1, 1
- adds r1, r5, r1
- movs r3, 0x80
- lsls r3, 3
- adds r0, r3, 0
- adds r3, r2, 0
- orrs r3, r0
- adds r0, r3, 0
- orrs r0, r4
- strh r0, [r1]
- adds r0, r6, 0
- adds r0, 0x20
- lsls r0, 1
- adds r0, r5, r0
- adds r1, r4, 0x1
- orrs r2, r1
- strh r2, [r0]
- adds r0, r6, 0
- adds r0, 0x21
- lsls r0, 1
- adds r0, r5, r0
- orrs r3, r1
- strh r3, [r0]
- adds r0, r6, 0x2
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- mov r0, r9
- ldrb r0, [r0]
- cmp r7, r0
- bcc _080F1364
-_080F13D8:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F13E8: .4byte 0x0000014b
-_080F13EC: .4byte gUnknown_083DFEC4
-_080F13F0: .4byte 0x0000bc8f
-_080F13F4: .4byte gUnknown_083E4698
-_080F13F8: .4byte 0x0000934c
- thumb_func_end sub_80F1238
-
- thumb_func_start sub_80F13FC
-sub_80F13FC: @ 80F13FC
- ldr r0, _080F141C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F1420 @ =0x0000934c
- adds r0, r1
- ldr r2, _080F1424 @ =0x0600b800
- ldr r1, _080F1428 @ =0x040000d4
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, _080F142C @ =0x84000140
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, _080F1430 @ =gPlttBufferUnfaded
- ldr r0, _080F1434 @ =gPokenavRibbonView_Pal + 0x1C
- ldrh r0, [r0]
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080F141C: .4byte gUnknown_083DFEC4
-_080F1420: .4byte 0x0000934c
-_080F1424: .4byte 0x0600b800
-_080F1428: .4byte 0x040000d4
-_080F142C: .4byte 0x84000140
-_080F1430: .4byte gPlttBufferUnfaded
-_080F1434: .4byte gPokenavRibbonView_Pal + 0x1C
- thumb_func_end sub_80F13FC
-
- thumb_func_start sub_80F1438
-sub_80F1438: @ 80F1438
- push {r4,r5,lr}
- ldr r0, _080F1470 @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r1, _080F1474 @ =0x00008829
- adds r0, r4, r1
- movs r1, 0xD
- movs r2, 0x1
- bl Menu_PrintText
- ldr r0, _080F1478 @ =0x00008788
- adds r5, r4, r0
- ldr r1, _080F147C @ =0x0000876e
- adds r4, r1
- ldrh r1, [r4]
- adds r1, 0x1
- lsls r1, 16
- lsrs r1, 16
- adds r0, r5, 0
- bl sub_80F445C
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0x5
- bl Menu_PrintText
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F1470: .4byte gUnknown_083DFEC4
-_080F1474: .4byte 0x00008829
-_080F1478: .4byte 0x00008788
-_080F147C: .4byte 0x0000876e
- thumb_func_end sub_80F1438
-
- thumb_func_start sub_80F1480
-sub_80F1480: @ 80F1480
- push {lr}
- movs r0, 0xC
- movs r1, 0xD
- movs r2, 0x1B
- movs r3, 0x10
- bl Menu_EraseWindowRect
- pop {r0}
- bx r0
- thumb_func_end sub_80F1480
-
- thumb_func_start sub_80F1494
-sub_80F1494: @ 80F1494
- push {r4-r7,lr}
- ldr r0, _080F14D4 @ =gUnknown_083DFEC8
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 4
- adds r6, r0, r1
- ldr r2, _080F14D8 @ =0x00000a98
- adds r7, r0, r2
- ldr r0, _080F14DC @ =gUnknown_083DFEC4
- ldr r3, [r0]
- ldr r4, _080F14E0 @ =0x0000bc91
- adds r1, r3, r4
- ldrb r0, [r1]
- cmp r0, 0x2
- bhi _080F14F0
- ldr r5, _080F14E4 @ =gUnknown_020388B4
- adds r1, r0, 0
- lsls r0, r1, 3
- subs r4, 0x1
- adds r2, r3, r4
- adds r0, r1
- ldrb r2, [r2]
- adds r0, r2
- strh r0, [r5]
- ldr r1, _080F14E8 @ =0x0000bc4c
- adds r0, r3, r1
- ldrh r2, [r5]
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r5]
- ldr r4, _080F14EC @ =gRibbonDescriptions
- b _080F152E
- .align 2, 0
-_080F14D4: .4byte gUnknown_083DFEC8
-_080F14D8: .4byte 0x00000a98
-_080F14DC: .4byte gUnknown_083DFEC4
-_080F14E0: .4byte 0x0000bc91
-_080F14E4: .4byte gUnknown_020388B4
-_080F14E8: .4byte 0x0000bc4c
-_080F14EC: .4byte gRibbonDescriptions
-_080F14F0:
- ldr r5, _080F1558 @ =gUnknown_020388B4
- ldr r4, _080F155C @ =0x0000bc8e
- adds r0, r3, r4
- ldrb r0, [r0]
- ldr r2, _080F1560 @ =0x0000bc8f
- adds r1, r3, r2
- ldrb r1, [r1]
- subs r0, r1
- strh r0, [r5]
- ldrh r1, [r5]
- adds r4, 0x2
- adds r0, r3, r4
- ldrb r0, [r0]
- adds r1, r0
- subs r2, 0x43
- adds r0, r3, r2
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r5]
- ldr r0, _080F1564 @ =gSaveBlock1
- ldrh r1, [r5]
- adds r0, r1
- ldr r4, _080F1568 @ =0x000030f7
- adds r0, r4
- ldrb r0, [r0]
- strh r0, [r5]
- cmp r0, 0
- beq _080F1570
- subs r0, 0x1
- strh r0, [r5]
- ldr r4, _080F156C @ =gGiftRibbonDescriptions
-_080F152E:
- ldrh r0, [r5]
- lsls r0, 3
- adds r0, r4
- ldr r1, [r0]
- adds r0, r6, 0
- movs r2, 0x80
- movs r3, 0
- bl AlignStringInMenuWindow
- ldrh r0, [r5]
- lsls r0, 3
- adds r4, 0x4
- adds r0, r4
- ldr r1, [r0]
- adds r0, r7, 0
- movs r2, 0x80
- movs r3, 0
- bl AlignStringInMenuWindow
- b _080F158A
- .align 2, 0
-_080F1558: .4byte gUnknown_020388B4
-_080F155C: .4byte 0x0000bc8e
-_080F1560: .4byte 0x0000bc8f
-_080F1564: .4byte gSaveBlock1
-_080F1568: .4byte 0x000030f7
-_080F156C: .4byte gGiftRibbonDescriptions
-_080F1570:
- ldr r4, _080F15A4 @ =gEmptyString_81E72B0
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x80
- movs r3, 0
- bl AlignStringInMenuWindow
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0x80
- movs r3, 0
- bl AlignStringInMenuWindow
-_080F158A:
- adds r0, r6, 0
- movs r1, 0xC
- movs r2, 0xD
- bl Menu_PrintText
- adds r0, r7, 0
- movs r1, 0xC
- movs r2, 0xF
- bl Menu_PrintText
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F15A4: .4byte gEmptyString_81E72B0
- thumb_func_end sub_80F1494
-
- thumb_func_start sub_80F15A8
-sub_80F15A8: @ 80F15A8
- push {r4,r5,lr}
- movs r0, 0xC
- movs r1, 0xD
- movs r2, 0x1B
- movs r3, 0x10
- bl Menu_EraseWindowRect
- ldr r0, _080F1600 @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r0, _080F1604 @ =0x00008788
- adds r5, r4, r0
- ldr r1, _080F1608 @ =gOtherText_Ribbons
- adds r0, r5, 0
- bl StringCopy
- adds r2, r0, 0
- movs r0, 0
- strb r0, [r2]
- adds r2, 0x1
- ldr r1, _080F160C @ =0x000087dc
- adds r0, r4, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r0, 2
- adds r4, r0
- ldr r0, _080F1610 @ =0x0000893c
- adds r4, r0
- ldrb r1, [r4]
- adds r0, r2, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r2, r0, 0
- movs r0, 0xFF
- strb r0, [r2]
- adds r0, r5, 0
- movs r1, 0xC
- movs r2, 0xD
- bl Menu_PrintText
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F1600: .4byte gUnknown_083DFEC4
-_080F1604: .4byte 0x00008788
-_080F1608: .4byte gOtherText_Ribbons
-_080F160C: .4byte 0x000087dc
-_080F1610: .4byte 0x0000893c
- thumb_func_end sub_80F15A8
-
- thumb_func_start sub_80F1614
-sub_80F1614: @ 80F1614
- ldr r0, _080F1624 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F1628 @ =0x00008764
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080F1624: .4byte gUnknown_083DFEC4
-_080F1628: .4byte 0x00008764
- thumb_func_end sub_80F1614
-
- thumb_func_start sub_80F162C
-sub_80F162C: @ 80F162C
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080F164C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080F1650 @ =0x00008764
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _080F165E
- cmp r0, 0x1
- bgt _080F1654
- cmp r0, 0
- beq _080F16F0
- b _080F16D0
- .align 2, 0
-_080F164C: .4byte gUnknown_083DFEC4
-_080F1650: .4byte 0x00008764
-_080F1654:
- cmp r0, 0x2
- beq _080F1670
- cmp r0, 0x3
- beq _080F1694
- b _080F16D0
-_080F165E:
- ldr r0, _080F1668 @ =gUnknown_08E9FF58
- ldr r1, _080F166C @ =0x0600e800
- bl LZ77UnCompVram
- b _080F16F0
- .align 2, 0
-_080F1668: .4byte gUnknown_08E9FF58
-_080F166C: .4byte 0x0600e800
-_080F1670:
- ldr r1, _080F1684 @ =gPokenavRibbonPokeView_Gfx
- ldr r2, _080F1688 @ =0x0600e000
- ldr r0, _080F168C @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _080F1690 @ =0x80000070
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- b _080F16F0
- .align 2, 0
-_080F1684: .4byte gPokenavRibbonPokeView_Gfx
-_080F1688: .4byte 0x0600e000
-_080F168C: .4byte 0x040000d4
-_080F1690: .4byte 0x80000070
-_080F1694:
- cmp r1, 0
- bne _080F16A8
- ldr r0, _080F16A4 @ =gUnknown_083E0124
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- b _080F16B2
- .align 2, 0
-_080F16A4: .4byte gUnknown_083E0124
-_080F16A8:
- ldr r0, _080F16D4 @ =gUnknown_083E0144
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
-_080F16B2:
- ldr r0, _080F16D8 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r3, _080F16DC @ =0x00008766
- adds r2, r1, r3
- ldr r0, _080F16E0 @ =0x0000ffb0
- strh r0, [r2]
- ldr r2, _080F16E4 @ =REG_BG0CNT
- ldr r3, _080F16E8 @ =0x00001d0d
- adds r0, r3, 0
- strh r0, [r2]
- ldr r0, _080F16EC @ =0x00008764
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F16D0:
- movs r0, 0
- b _080F1700
- .align 2, 0
-_080F16D4: .4byte gUnknown_083E0144
-_080F16D8: .4byte gUnknown_083DFEC4
-_080F16DC: .4byte 0x00008766
-_080F16E0: .4byte 0x0000ffb0
-_080F16E4: .4byte REG_BG0CNT
-_080F16E8: .4byte 0x00001d0d
-_080F16EC: .4byte 0x00008764
-_080F16F0:
- ldr r0, _080F1704 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080F1708 @ =0x00008764
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
-_080F1700:
- pop {r1}
- bx r1
- .align 2, 0
-_080F1704: .4byte gUnknown_083DFEC4
-_080F1708: .4byte 0x00008764
- thumb_func_end sub_80F162C
-
- thumb_func_start sub_80F170C
-sub_80F170C: @ 80F170C
- push {lr}
- ldr r0, _080F1734 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080F1738 @ =0x00008766
- adds r1, r0, r2
- ldrh r0, [r1]
- adds r0, 0x10
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- ble _080F1726
- movs r0, 0
- strh r0, [r1]
-_080F1726:
- movs r0, 0
- ldrsh r1, [r1, r0]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- pop {r1}
- bx r1
- .align 2, 0
-_080F1734: .4byte gUnknown_083DFEC4
-_080F1738: .4byte 0x00008766
- thumb_func_end sub_80F170C
-
- thumb_func_start sub_80F173C
-sub_80F173C: @ 80F173C
- push {lr}
- ldr r0, _080F176C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080F1770 @ =0x00008766
- adds r1, r0, r2
- ldrh r0, [r1]
- subs r0, 0x10
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x50
- negs r2, r2
- cmp r0, r2
- bge _080F175C
- ldr r0, _080F1774 @ =0x0000ffb0
- strh r0, [r1]
-_080F175C:
- movs r0, 0
- ldrsh r1, [r1, r0]
- eors r1, r2
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- pop {r1}
- bx r1
- .align 2, 0
-_080F176C: .4byte gUnknown_083DFEC4
-_080F1770: .4byte 0x00008766
-_080F1774: .4byte 0x0000ffb0
- thumb_func_end sub_80F173C
-
- thumb_func_start sub_80F1778
-sub_80F1778: @ 80F1778
- push {r4,lr}
- sub sp, 0x14
- ldr r0, _080F1798 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F179C @ =0x0000d160
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x9
- bls _080F178C
- b _080F1910
-_080F178C:
- lsls r0, 2
- ldr r1, _080F17A0 @ =_080F17A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F1798: .4byte gUnknown_083DFEC4
-_080F179C: .4byte 0x0000d160
-_080F17A0: .4byte _080F17A4
- .align 2, 0
-_080F17A4:
- .4byte _080F17CC
- .4byte _080F17E8
- .4byte _080F17EE
- .4byte _080F17FE
- .4byte _080F1810
- .4byte _080F1830
- .4byte _080F1858
- .4byte _080F186C
- .4byte _080F18B8
- .4byte _080F18D8
-_080F17CC:
- bl sub_80EEDE8
- ldr r0, _080F17E0 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080F17E4 @ =0x0000d162
- adds r0, r2
- movs r1, 0x2
- strb r1, [r0]
- b _080F1914
- .align 2, 0
-_080F17E0: .4byte gUnknown_083DFEC4
-_080F17E4: .4byte 0x0000d162
-_080F17E8:
- bl sub_80F1614
- b _080F1914
-_080F17EE:
- movs r0, 0
- bl sub_80F162C
- lsls r0, 24
- cmp r0, 0
- bne _080F17FC
- b _080F1914
-_080F17FC:
- b _080F1922
-_080F17FE:
- ldr r0, _080F1808 @ =gPokenavConditionView_Gfx
- ldr r1, _080F180C @ =0x06005000
- bl LZ77UnCompVram
- b _080F1914
- .align 2, 0
-_080F1808: .4byte gPokenavConditionView_Gfx
-_080F180C: .4byte 0x06005000
-_080F1810:
- ldr r0, _080F1824 @ =gUnknown_08E9AC4C
- ldr r1, _080F1828 @ =0x0600f000
- bl LZ77UnCompVram
- ldr r0, _080F182C @ =gPokenavConditionMenu2_Pal
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- b _080F1914
- .align 2, 0
-_080F1824: .4byte gUnknown_08E9AC4C
-_080F1828: .4byte 0x0600f000
-_080F182C: .4byte gPokenavConditionMenu2_Pal
-_080F1830:
- ldr r0, _080F1850 @ =0x0600f000
- ldr r3, _080F1854 @ =gUnknown_083E01F4
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r2, 0xC
- str r2, [sp, 0x8]
- movs r1, 0x4
- str r1, [sp, 0xC]
- str r2, [sp, 0x10]
- movs r1, 0
- movs r2, 0xD
- bl sub_8095C8C
- b _080F1914
- .align 2, 0
-_080F1850: .4byte 0x0600f000
-_080F1854: .4byte gUnknown_083E01F4
-_080F1858:
- ldr r0, _080F1864 @ =gUnknown_08E9FEB4
- ldr r1, _080F1868 @ =0x0600b800
- bl LZ77UnCompVram
- b _080F1914
- .align 2, 0
-_080F1864: .4byte gUnknown_08E9FEB4
-_080F1868: .4byte 0x0600b800
-_080F186C:
- ldr r0, _080F18AC @ =gUnknown_083E0254
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080F18B0 @ =gUnknownPalette_81E6692
- movs r1, 0xB0
- movs r2, 0x20
- bl LoadPalette
- ldr r4, _080F18B4 @ =gPokenavConditionMenu2_Pal + 0x2
- adds r0, r4, 0
- movs r1, 0xB1
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- adds r0, 0xE
- movs r1, 0xB5
- movs r2, 0x2
- bl LoadPalette
- adds r4, 0x1C
- adds r0, r4, 0
- movs r1, 0xBF
- movs r2, 0x2
- bl LoadPalette
- bl sub_80F01A4
- b _080F1914
- .align 2, 0
-_080F18AC: .4byte gUnknown_083E0254
-_080F18B0: .4byte gUnknownPalette_81E6692
-_080F18B4: .4byte gPokenavConditionMenu2_Pal + 0x2
-_080F18B8:
- ldr r0, _080F18D0 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F18D4 @ =0x00008fe9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r0, 16
- bl sub_80F01E0
- b _080F1914
- .align 2, 0
-_080F18D0: .4byte gUnknown_083DFEC4
-_080F18D4: .4byte 0x00008fe9
-_080F18D8:
- ldr r1, _080F18FC @ =REG_BG3CNT
- ldr r2, _080F1900 @ =0x00001e03
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x2
- ldr r2, _080F1904 @ =0x00001702
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x44
- ldr r2, _080F1908 @ =0x00000844
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080F190C @ =0x0000040b
- adds r0, r2, 0
- strh r0, [r1]
- b _080F1914
- .align 2, 0
-_080F18FC: .4byte REG_BG3CNT
-_080F1900: .4byte 0x00001e03
-_080F1904: .4byte 0x00001702
-_080F1908: .4byte 0x00000844
-_080F190C: .4byte 0x0000040b
-_080F1910:
- movs r0, 0
- b _080F1924
-_080F1914:
- ldr r0, _080F192C @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F1930 @ =0x0000d160
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F1922:
- movs r0, 0x1
-_080F1924:
- add sp, 0x14
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F192C: .4byte gUnknown_083DFEC4
-_080F1930: .4byte 0x0000d160
- thumb_func_end sub_80F1778
-
- thumb_func_start sub_80F1934
-sub_80F1934: @ 80F1934
- push {r4,r5,lr}
- ldr r0, _080F1990 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F1994 @ =0x00008788
- adds r5, r1, r0
- ldr r3, _080F1998 @ =0x000087dc
- adds r2, r1, r3
- movs r3, 0
- ldrsh r0, [r2, r3]
- lsls r0, 2
- adds r1, r0
- ldr r0, _080F199C @ =0x0000893f
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- bge _080F19AC
- ldrb r0, [r2]
- bl sub_8137124
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _080F19A0 @ =gPlayerParty
- adds r0, r1
- bl GetNature
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080F19A4 @ =gOtherText_Nature2
- adds r0, r5, 0
- bl StringCopy
- adds r5, r0, 0
- ldr r0, _080F19A8 @ =gNatureNames
- lsls r4, 2
- adds r4, r0
- ldr r1, [r4]
- adds r0, r5, 0
- movs r2, 0x57
- movs r3, 0
- bl AlignStringInMenuWindow
- b _080F19B8
- .align 2, 0
-_080F1990: .4byte gUnknown_083DFEC4
-_080F1994: .4byte 0x00008788
-_080F1998: .4byte 0x000087dc
-_080F199C: .4byte 0x0000893f
-_080F19A0: .4byte gPlayerParty
-_080F19A4: .4byte gOtherText_Nature2
-_080F19A8: .4byte gNatureNames
-_080F19AC:
- ldr r1, _080F19D0 @ =gEmptyString_81E72B0
- adds r0, r5, 0
- movs r2, 0x57
- movs r3, 0
- bl AlignStringInMenuWindow
-_080F19B8:
- ldr r0, _080F19D4 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F19D8 @ =0x00008788
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x70
- movs r3, 0x1
- bl Menu_PrintTextPixelCoords
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F19D0: .4byte gEmptyString_81E72B0
-_080F19D4: .4byte gUnknown_083DFEC4
-_080F19D8: .4byte 0x00008788
- thumb_func_end sub_80F1934
-
- thumb_func_start sub_80F19DC
-sub_80F19DC: @ 80F19DC
- push {lr}
- adds r1, r0, 0
- b _080F19E4
-_080F19E2:
- adds r1, 0x1
-_080F19E4:
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _080F19F8
- cmp r0, 0xFC
- bne _080F19E2
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _080F19E2
- movs r0, 0xFF
- strb r0, [r1]
-_080F19F8:
- pop {r0}
- bx r0
- thumb_func_end sub_80F19DC
-
- thumb_func_start sub_80F19FC
-sub_80F19FC: @ 80F19FC
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _080F1A68 @ =gUnknown_020388B0
- ldrb r4, [r5]
- cmp r4, 0x1
- bne _080F1A60
- ldr r0, _080F1A6C @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080F1A70 @ =0x00006e2c
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0x3
- adds r1, r2
- ldrb r1, [r1]
- ldrb r2, [r5, 0x1]
- bl GetLandmarkName
- cmp r0, 0
- beq _080F1A46
- ldrb r2, [r5, 0x1]
- lsls r2, 20
- movs r1, 0xC0
- lsls r1, 14
- adds r2, r1
- lsrs r2, 16
- str r4, [sp]
- movs r1, 0x70
- movs r3, 0x78
- bl sub_8072A18
- ldrb r0, [r5, 0x1]
- adds r0, 0x1
- strb r0, [r5, 0x1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _080F1A60
-_080F1A46:
- ldrb r1, [r5, 0x1]
- lsls r1, 25
- movs r2, 0xC0
- lsls r2, 19
- adds r1, r2
- lsrs r1, 24
- movs r0, 0xE
- movs r2, 0x1C
- movs r3, 0xF
- bl Menu_BlankWindowRect
- movs r0, 0
- strb r0, [r5]
-_080F1A60:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F1A68: .4byte gUnknown_020388B0
-_080F1A6C: .4byte gUnknown_083DFEC4
-_080F1A70: .4byte 0x00006e2c
- thumb_func_end sub_80F19FC
-
- thumb_func_start sub_80F1A74
-sub_80F1A74: @ 80F1A74
- ldr r1, _080F1A7C @ =gUnknown_020388B0
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080F1A7C: .4byte gUnknown_020388B0
- thumb_func_end sub_80F1A74
-
- thumb_func_start sub_80F1A80
-sub_80F1A80: @ 80F1A80
- ldr r0, _080F1A8C @ =gUnknown_020388B0
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- strb r2, [r0, 0x1]
- bx lr
- .align 2, 0
-_080F1A8C: .4byte gUnknown_020388B0
- thumb_func_end sub_80F1A80
-
- thumb_func_start sub_80F1A90
-sub_80F1A90: @ 80F1A90
- push {lr}
- ldr r0, _080F1AB8 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F1ABC @ =0x00000306
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080F1AC0 @ =0x00006dac
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F1AB2
-_080F1AA8:
- bl sub_80F1AC4
- lsls r0, 24
- cmp r0, 0
- bne _080F1AA8
-_080F1AB2:
- pop {r0}
- bx r0
- .align 2, 0
-_080F1AB8: .4byte gUnknown_083DFEC4
-_080F1ABC: .4byte 0x00000306
-_080F1AC0: .4byte 0x00006dac
- thumb_func_end sub_80F1A90
-
- thumb_func_start sub_80F1AC4
-sub_80F1AC4: @ 80F1AC4
- push {r4,r5,lr}
- ldr r0, _080F1AE0 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080F1AE4 @ =0x00000306
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _080F1B34
- cmp r0, 0x1
- bgt _080F1AE8
- cmp r0, 0
- beq _080F1AF2
- b _080F1B6C
- .align 2, 0
-_080F1AE0: .4byte gUnknown_083DFEC4
-_080F1AE4: .4byte 0x00000306
-_080F1AE8:
- cmp r0, 0x2
- beq _080F1B40
- cmp r0, 0x3
- beq _080F1B54
- b _080F1B6C
-_080F1AF2:
- movs r0, 0
- movs r2, 0xC8
- lsls r2, 2
- adds r4, r1, r2
- movs r5, 0
-_080F1AFC:
- movs r2, 0
- adds r1, r0, 0x1
- lsls r3, r0, 4
-_080F1B02:
- lsls r0, r2, 2
- adds r0, r3
- adds r0, r4, r0
- str r5, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x3
- bls _080F1B02
- lsls r0, r1, 16
- lsrs r0, 16
- cmp r0, 0x5
- bls _080F1AFC
- ldr r0, _080F1B2C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F1B30 @ =0x00000311
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- b _080F1B6C
- .align 2, 0
-_080F1B2C: .4byte gUnknown_083DFEC4
-_080F1B30: .4byte 0x00000311
-_080F1B34:
- ldr r0, _080F1B3C @ =gPokenavMenuOptions_Gfx
- movs r2, 0xE2
- lsls r2, 2
- b _080F1B44
- .align 2, 0
-_080F1B3C: .4byte gPokenavMenuOptions_Gfx
-_080F1B40:
- ldr r0, _080F1B4C @ =gPokenavConditionMenu_Gfx
- ldr r2, _080F1B50 @ =0x00001788
-_080F1B44:
- adds r1, r2
- bl LZ77UnCompWram
- b _080F1B6C
- .align 2, 0
-_080F1B4C: .4byte gPokenavConditionMenu_Gfx
-_080F1B50: .4byte 0x00001788
-_080F1B54:
- ldr r0, _080F1B64 @ =gPokenavConditionSearch_Gfx
- ldr r2, _080F1B68 @ =0x00002388
- adds r1, r2
- bl LZ77UnCompWram
- movs r0, 0
- b _080F1B7C
- .align 2, 0
-_080F1B64: .4byte gPokenavConditionSearch_Gfx
-_080F1B68: .4byte 0x00002388
-_080F1B6C:
- ldr r0, _080F1B84 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F1B88 @ =0x00000306
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
-_080F1B7C:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080F1B84: .4byte gUnknown_083DFEC4
-_080F1B88: .4byte 0x00000306
- thumb_func_end sub_80F1AC4
-
- thumb_func_start sub_80F1B8C
-sub_80F1B8C: @ 80F1B8C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080F1BBC @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F1BC0 @ =0x00000306
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080F1BC4 @ =0x00006dac
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F1BB4
-_080F1BA8:
- adds r0, r4, 0
- bl sub_80F1BC8
- lsls r0, 24
- cmp r0, 0
- bne _080F1BA8
-_080F1BB4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F1BBC: .4byte gUnknown_083DFEC4
-_080F1BC0: .4byte 0x00000306
-_080F1BC4: .4byte 0x00006dac
- thumb_func_end sub_80F1B8C
-
- thumb_func_start sub_80F1BC8
-sub_80F1BC8: @ 80F1BC8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r1, _080F1BF4 @ =gUnknown_083DFEC4
- ldr r2, [r1]
- ldr r3, _080F1BF8 @ =0x00000306
- adds r0, r2, r3
- ldrh r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x1
- beq _080F1C0A
- cmp r0, 0x1
- bgt _080F1BFC
- cmp r0, 0
- beq _080F1C02
- b _080F1DC4
- .align 2, 0
-_080F1BF4: .4byte gUnknown_083DFEC4
-_080F1BF8: .4byte 0x00000306
-_080F1BFC:
- cmp r0, 0x2
- beq _080F1C12
- b _080F1DC4
-_080F1C02:
- mov r0, r9
- bl sub_80F2458
- b _080F1DC8
-_080F1C0A:
- mov r0, r9
- bl sub_80F2514
- b _080F1DC8
-_080F1C12:
- mov r4, r9
- cmp r4, 0x1
- beq _080F1C40
- cmp r4, 0x1
- bgt _080F1C22
- cmp r4, 0
- beq _080F1C2A
- b _080F1DC4
-_080F1C22:
- mov r5, r9
- cmp r5, 0x2
- beq _080F1C54
- b _080F1DC4
-_080F1C2A:
- movs r0, 0x2A
- str r0, [sp, 0x4]
- movs r1, 0x14
- str r1, [sp, 0x8]
- ldr r4, _080F1C3C @ =0x0000030e
- adds r1, r2, r4
- movs r0, 0x5
- b _080F1C62
- .align 2, 0
-_080F1C3C: .4byte 0x0000030e
-_080F1C40:
- movs r5, 0x38
- str r5, [sp, 0x4]
- movs r0, 0x14
- str r0, [sp, 0x8]
- ldr r4, _080F1C50 @ =0x0000030e
- adds r1, r2, r4
- movs r0, 0x3
- b _080F1C62
- .align 2, 0
-_080F1C50: .4byte 0x0000030e
-_080F1C54:
- movs r5, 0x28
- str r5, [sp, 0x4]
- movs r0, 0x10
- str r0, [sp, 0x8]
- ldr r4, _080F1CDC @ =0x0000030e
- adds r1, r2, r4
- movs r0, 0x6
-_080F1C62:
- strb r0, [r1]
- movs r5, 0
- str r5, [sp]
- mov r8, r5
- adds r1, r3, 0
- ldr r0, [r1]
- ldr r2, _080F1CDC @ =0x0000030e
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r8, r0
- blt _080F1C7E
- b _080F1DC8
-_080F1C7E:
- ldr r4, [sp, 0x8]
- mov r3, r8
- muls r3, r4
- ldr r5, [sp, 0x4]
- adds r0, r5, r3
- subs r0, 0x8
- lsls r0, 16
- lsrs r0, 16
- ldr r4, [r1]
- mov r2, r8
- lsls r1, r2, 1
- movs r5, 0xC5
- lsls r5, 2
- adds r2, r4, r5
- adds r2, r1
- lsls r1, r0, 8
- adds r0, 0x11
- orrs r1, r0
- strh r1, [r2]
- mov r0, r9
- cmp r0, 0
- bne _080F1CF2
- ldr r1, _080F1CE0 @ =0x00006db2
- adds r0, r4, r1
- mov r2, r8
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _080F1CE8
- movs r5, 0
- ldr r0, _080F1CE4 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- lsls r2, 4
- movs r3, 0xC8
- lsls r3, 2
- adds r1, r0, r3
- movs r3, 0
-_080F1CC8:
- lsls r0, r5, 2
- adds r0, r2
- adds r0, r1, r0
- str r3, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _080F1CC8
- b _080F1D92
- .align 2, 0
-_080F1CDC: .4byte 0x0000030e
-_080F1CE0: .4byte 0x00006db2
-_080F1CE4: .4byte gUnknown_083DFEC4
-_080F1CE8:
- ldrb r0, [r1]
- subs r0, 0x1
- lsls r0, 18
- lsrs r0, 16
- str r0, [sp]
-_080F1CF2:
- movs r5, 0
- ldr r4, [sp, 0x4]
- adds r0, r4, r3
- lsls r0, 16
- mov r10, r0
-_080F1CFC:
- lsls r6, r5, 5
- movs r0, 0x80
- lsls r0, 1
- adds r7, r6, r0
- lsls r1, r7, 16
- asrs r1, 16
- ldr r0, _080F1DB4 @ =gSpriteTemplate_83E4454
- mov r3, r10
- asrs r2, r3, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _080F1DC4
- ldr r0, _080F1DB8 @ =gUnknown_083DFEC4
- ldr r2, [r0]
- lsls r1, r5, 2
- mov r4, r8
- lsls r0, r4, 4
- adds r1, r0
- movs r0, 0xC8
- lsls r0, 2
- adds r2, r0
- adds r4, r2, r1
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- ldr r1, _080F1DBC @ =gSprites
- adds r0, r1
- str r0, [r4]
- mov r1, r8
- strh r1, [r0, 0x2E]
- ldr r0, [r4]
- strh r5, [r0, 0x30]
- ldr r1, [r4]
- adds r0, r6, 0
- adds r0, 0x98
- strh r0, [r1, 0x32]
- ldr r0, [r4]
- strh r7, [r0, 0x34]
- ldr r0, [r4]
- ldr r1, [sp]
- adds r2, r1, 0x1
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp]
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- mov r2, r9
- cmp r2, 0x2
- beq _080F1D6E
- cmp r2, 0
- bne _080F1D88
-_080F1D6E:
- mov r3, r8
- cmp r3, 0x2
- bls _080F1D88
- movs r0, 0x1
- bl IndexOfSpritePaletteTag
- ldr r3, [r4]
- lsls r0, 4
- ldrb r2, [r3, 0x5]
- movs r1, 0xF
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x5]
-_080F1D88:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _080F1CFC
-_080F1D92:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r1, _080F1DB8 @ =gUnknown_083DFEC4
- ldr r0, [r1]
- ldr r4, _080F1DC0 @ =0x0000030e
- adds r0, r4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r8, r0
- bge _080F1DB0
- b _080F1C7E
-_080F1DB0:
- b _080F1DC8
- .align 2, 0
-_080F1DB4: .4byte gSpriteTemplate_83E4454
-_080F1DB8: .4byte gUnknown_083DFEC4
-_080F1DBC: .4byte gSprites
-_080F1DC0: .4byte 0x0000030e
-_080F1DC4:
- movs r0, 0
- b _080F1DD8
-_080F1DC8:
- ldr r0, _080F1DE8 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r5, _080F1DEC @ =0x00000306
- adds r1, r5
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
-_080F1DD8:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080F1DE8: .4byte gUnknown_083DFEC4
-_080F1DEC: .4byte 0x00000306
- thumb_func_end sub_80F1BC8
-
- thumb_func_start sub_80F1DF0
-sub_80F1DF0: @ 80F1DF0
- push {r4-r6,lr}
- movs r2, 0
- ldr r0, _080F1E44 @ =gUnknown_083DFEC4
- ldr r3, [r0]
- ldr r0, _080F1E48 @ =0x0000030e
- adds r1, r3, r0
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r2, r0
- bge _080F1E38
- movs r0, 0xC8
- lsls r0, 2
- adds r4, r3, r0
- adds r6, r1, 0
- ldr r5, _080F1E4C @ =sub_80F2218
-_080F1E0E:
- movs r1, 0
- adds r3, r2, 0x1
- lsls r2, 4
-_080F1E14:
- lsls r0, r1, 2
- adds r0, r2
- adds r0, r4, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080F1E22
- str r5, [r0, 0x1C]
-_080F1E22:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _080F1E14
- lsls r0, r3, 16
- lsrs r2, r0, 16
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r2, r0
- blt _080F1E0E
-_080F1E38:
- movs r0, 0x6
- bl PlaySE
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F1E44: .4byte gUnknown_083DFEC4
-_080F1E48: .4byte 0x0000030e
-_080F1E4C: .4byte sub_80F2218
- thumb_func_end sub_80F1DF0
-
- thumb_func_start sub_80F1E50
-sub_80F1E50: @ 80F1E50
- push {lr}
- bl sub_80F22F8
- lsls r0, 24
- cmp r0, 0
- bne _080F1E60
- movs r0, 0x1
- b _080F1E66
-_080F1E60:
- bl sub_80F2108
- movs r0, 0
-_080F1E66:
- pop {r1}
- bx r1
- thumb_func_end sub_80F1E50
-
- thumb_func_start sub_80F1E6C
-sub_80F1E6C: @ 80F1E6C
- push {lr}
- bl sub_80F22F8
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _080F1E7C
- movs r1, 0x1
-_080F1E7C:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80F1E6C
-
- thumb_func_start sub_80F1E84
-sub_80F1E84: @ 80F1E84
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r5, _080F1EFC @ =gUnknown_083DFEC4
- ldr r4, [r5]
- ldr r1, _080F1F00 @ =0x0000030f
- adds r0, r4, r1
- movs r1, 0
- strb r1, [r0]
- bl sub_80F2148
- movs r2, 0
- ldr r3, _080F1F04 @ =0x0000030e
- adds r1, r4, r3
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r2, r0
- bge _080F1EF2
- ldr r0, _080F1F08 @ =0x00006dad
- adds r7, r4, r0
- adds r6, r1, 0
- mov r8, r5
- ldr r1, _080F1F0C @ =sub_80F2240
- mov r12, r1
-_080F1EB4:
- movs r0, 0
- ldrsb r0, [r7, r0]
- adds r5, r2, 0x1
- cmp r2, r0
- beq _080F1EE6
- movs r1, 0
- mov r3, r8
- ldr r0, [r3]
- lsls r3, r2, 4
- movs r4, 0xC8
- lsls r4, 2
- adds r2, r0, r4
- mov r4, r12
-_080F1ECE:
- lsls r0, r1, 2
- adds r0, r3
- adds r0, r2, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080F1EDC
- str r4, [r0, 0x1C]
-_080F1EDC:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _080F1ECE
-_080F1EE6:
- lsls r0, r5, 16
- lsrs r2, r0, 16
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r2, r0
- blt _080F1EB4
-_080F1EF2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F1EFC: .4byte gUnknown_083DFEC4
-_080F1F00: .4byte 0x0000030f
-_080F1F04: .4byte 0x0000030e
-_080F1F08: .4byte 0x00006dad
-_080F1F0C: .4byte sub_80F2240
- thumb_func_end sub_80F1E84
-
- thumb_func_start sub_80F1F10
-sub_80F1F10: @ 80F1F10
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _080F1F2C @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r1, _080F1F30 @ =0x0000030f
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F1F34
- cmp r0, 0x1
- beq _080F1FC0
- b _080F1FE4
- .align 2, 0
-_080F1F2C: .4byte gUnknown_083DFEC4
-_080F1F30: .4byte 0x0000030f
-_080F1F34:
- bl sub_80F2360
- lsls r0, 24
- cmp r0, 0
- beq _080F1FE4
- movs r6, 0
- adds r7, r4, 0
- movs r0, 0xC8
- lsls r0, 2
- adds r0, r7
- mov r8, r0
-_080F1F4A:
- lsls r5, r6, 2
- ldr r1, _080F1FAC @ =0x00006dad
- adds r0, r7, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 4
- adds r0, r5, r0
- add r0, r8
- ldr r4, [r0]
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _080F1FB0 @ =gSpriteAffineAnimTable_83E4450
- str r0, [r4, 0x10]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- subs r5, 0x6
- strh r5, [r4, 0x36]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r4, 0x36]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- lsls r0, 3
- strh r0, [r4, 0x38]
- ldr r0, _080F1FB4 @ =sub_80F2240
- str r0, [r4, 0x1C]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x3
- bls _080F1F4A
- bl sub_80F2170
- ldr r0, _080F1FB8 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F1FBC @ =0x0000030f
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080F1FE4
- .align 2, 0
-_080F1FAC: .4byte 0x00006dad
-_080F1FB0: .4byte gSpriteAffineAnimTable_83E4450
-_080F1FB4: .4byte sub_80F2240
-_080F1FB8: .4byte gUnknown_083DFEC4
-_080F1FBC: .4byte 0x0000030f
-_080F1FC0:
- bl sub_80F23C8
- lsls r0, 24
- cmp r0, 0
- beq _080F1FE4
- bl sub_80F21F8
- movs r0, 0
- bl FreeSpriteTilesByTag
- movs r0, 0
- bl FreeSpritePaletteByTag
- movs r0, 0x1
- bl FreeSpritePaletteByTag
- movs r0, 0
- b _080F1FE6
-_080F1FE4:
- movs r0, 0x1
-_080F1FE6:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80F1F10
-
- thumb_func_start sub_80F1FF0
-sub_80F1FF0: @ 80F1FF0
- push {r4,lr}
- ldr r0, _080F203C @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r1, _080F2040 @ =0x00000311
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080F2058
- ldr r2, _080F2044 @ =REG_WIN0V
- ldr r3, _080F2048 @ =0x00006dad
- adds r0, r4, r3
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r1, 1
- movs r3, 0xC5
- lsls r3, 2
- adds r0, r4, r3
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- ldr r3, _080F204C @ =REG_BLDY
- ldr r1, _080F2050 @ =gSineTable
- ldr r0, _080F2054 @ =0x00000312
- adds r2, r4, r0
- ldrh r0, [r2]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 21
- strh r0, [r3]
- ldrh r0, [r2]
- adds r0, 0x3
- movs r1, 0x7F
- ands r0, r1
- strh r0, [r2]
- b _080F2078
- .align 2, 0
-_080F203C: .4byte gUnknown_083DFEC4
-_080F2040: .4byte 0x00000311
-_080F2044: .4byte REG_WIN0V
-_080F2048: .4byte 0x00006dad
-_080F204C: .4byte REG_BLDY
-_080F2050: .4byte gSineTable
-_080F2054: .4byte 0x00000312
-_080F2058:
- cmp r0, 0x2
- bne _080F2078
- ldr r2, _080F2080 @ =REG_BLDALPHA
- ldr r1, _080F2084 @ =gUnknown_083E42F8
- ldr r0, _080F2088 @ =0x00000312
- adds r3, r4, r0
- ldrh r0, [r3]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- ldrh r0, [r3]
- cmp r0, 0xE
- bhi _080F2078
- adds r0, 0x1
- strh r0, [r3]
-_080F2078:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2080: .4byte REG_BLDALPHA
-_080F2084: .4byte gUnknown_083E42F8
-_080F2088: .4byte 0x00000312
- thumb_func_end sub_80F1FF0
-
- thumb_func_start sub_80F208C
-sub_80F208C: @ 80F208C
- push {lr}
- bl sub_80F2148
- pop {r0}
- bx r0
- thumb_func_end sub_80F208C
-
- thumb_func_start sub_80F2098
-sub_80F2098: @ 80F2098
- ldr r1, _080F20DC @ =REG_WIN0H
- ldr r2, _080F20E0 @ =0x000077f0
- adds r0, r2, 0
- strh r0, [r1]
- ldr r2, _080F20E4 @ =REG_WIN0V
- ldr r0, _080F20E8 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r3, _080F20EC @ =0x00006dad
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 1
- movs r3, 0xC5
- lsls r3, 2
- adds r1, r3
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r2]
- ldr r1, _080F20F0 @ =REG_WININ
- movs r0, 0x3F
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x1F
- strh r0, [r1]
- subs r2, 0x44
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 6
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- bx lr
- .align 2, 0
-_080F20DC: .4byte REG_WIN0H
-_080F20E0: .4byte 0x000077f0
-_080F20E4: .4byte REG_WIN0V
-_080F20E8: .4byte gUnknown_083DFEC4
-_080F20EC: .4byte 0x00006dad
-_080F20F0: .4byte REG_WININ
- thumb_func_end sub_80F2098
-
- thumb_func_start sub_80F20F4
-sub_80F20F4: @ 80F20F4
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _080F2104 @ =0x0000dfff
- ands r0, r1
- strh r0, [r2]
- bx lr
- .align 2, 0
-_080F2104: .4byte 0x0000dfff
- thumb_func_end sub_80F20F4
-
- thumb_func_start sub_80F2108
-sub_80F2108: @ 80F2108
- push {lr}
- ldr r0, _080F2134 @ =gUnknown_083DFEC4
- ldr r3, [r0]
- ldr r0, _080F2138 @ =0x00000311
- adds r1, r3, r0
- ldrb r2, [r1]
- cmp r2, 0
- bne _080F2130
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _080F213C @ =0x00000312
- adds r0, r3, r1
- strh r2, [r0]
- ldr r1, _080F2140 @ =REG_BLDCNT
- movs r0, 0x90
- strh r0, [r1]
- ldr r0, _080F2144 @ =REG_BLDY
- strh r2, [r0]
- bl sub_80F2098
-_080F2130:
- pop {r0}
- bx r0
- .align 2, 0
-_080F2134: .4byte gUnknown_083DFEC4
-_080F2138: .4byte 0x00000311
-_080F213C: .4byte 0x00000312
-_080F2140: .4byte REG_BLDCNT
-_080F2144: .4byte REG_BLDY
- thumb_func_end sub_80F2108
-
- thumb_func_start sub_80F2148
-sub_80F2148: @ 80F2148
- push {lr}
- ldr r0, _080F2164 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F2168 @ =0x00000311
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080F216C @ =REG_BLDCNT
- strh r1, [r0]
- bl sub_80F20F4
- pop {r0}
- bx r0
- .align 2, 0
-_080F2164: .4byte gUnknown_083DFEC4
-_080F2168: .4byte 0x00000311
-_080F216C: .4byte REG_BLDCNT
- thumb_func_end sub_80F2148
-
- thumb_func_start sub_80F2170
-sub_80F2170: @ 80F2170
- push {r4-r7,lr}
- ldr r7, _080F21E4 @ =gUnknown_083DFEC4
- ldr r4, [r7]
- ldr r1, _080F21E8 @ =0x00000311
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F21DC
- bl sub_80F20F4
- movs r3, 0
- ldr r2, _080F21EC @ =0x00006dad
- adds r5, r4, r2
- movs r0, 0xC8
- lsls r0, 2
- adds r4, r0
- movs r1, 0xD
- negs r1, r1
- mov r12, r1
- movs r6, 0x4
-_080F2198:
- lsls r1, r3, 2
- movs r0, 0
- ldrsb r0, [r5, r0]
- lsls r0, 4
- adds r1, r0
- adds r1, r4, r1
- ldr r2, [r1]
- ldrb r1, [r2, 0x1]
- mov r0, r12
- ands r0, r1
- orrs r0, r6
- strb r0, [r2, 0x1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080F2198
- ldr r1, [r7]
- ldr r0, _080F21E8 @ =0x00000311
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0x2
- strb r0, [r2]
- ldr r2, _080F21F0 @ =0x00000312
- adds r1, r2
- strh r3, [r1]
- ldr r1, _080F21F4 @ =REG_BLDCNT
- movs r2, 0xFD
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x10
- strh r0, [r1]
-_080F21DC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F21E4: .4byte gUnknown_083DFEC4
-_080F21E8: .4byte 0x00000311
-_080F21EC: .4byte 0x00006dad
-_080F21F0: .4byte 0x00000312
-_080F21F4: .4byte REG_BLDCNT
- thumb_func_end sub_80F2170
-
- thumb_func_start sub_80F21F8
-sub_80F21F8: @ 80F21F8
- ldr r0, _080F220C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F2210 @ =0x00000311
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080F2214 @ =REG_BLDCNT
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080F220C: .4byte gUnknown_083DFEC4
-_080F2210: .4byte 0x00000311
-_080F2214: .4byte REG_BLDCNT
- thumb_func_end sub_80F21F8
-
- thumb_func_start sub_80F2218
-sub_80F2218: @ 80F2218
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x20]
- subs r0, 0x8
- strh r0, [r2, 0x20]
- lsls r0, 16
- asrs r0, 16
- ldrh r3, [r2, 0x32]
- movs r4, 0x32
- ldrsh r1, [r2, r4]
- cmp r0, r1
- bgt _080F2236
- strh r3, [r2, 0x20]
- ldr r0, _080F223C @ =sub_80F22B0
- str r0, [r2, 0x1C]
-_080F2236:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F223C: .4byte sub_80F22B0
- thumb_func_end sub_80F2218
-
- thumb_func_start sub_80F2240
-sub_80F2240: @ 80F2240
- push {r4,lr}
- adds r2, r0, 0
- ldr r0, _080F2288 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F228C @ =0x00006dad
- adds r0, r1
- movs r3, 0x2E
- ldrsh r1, [r2, r3]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- bne _080F2290
- ldrh r3, [r2, 0x38]
- movs r4, 0x38
- ldrsh r0, [r2, r4]
- cmp r0, 0
- beq _080F2270
- ldrh r0, [r2, 0x36]
- ldrh r4, [r2, 0x20]
- adds r1, r0, r4
- strh r1, [r2, 0x20]
- subs r0, r3, r0
- strh r0, [r2, 0x38]
-_080F2270:
- adds r0, r2, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080F22A8
- adds r0, r2, 0
- bl sub_80F240C
- b _080F22A8
- .align 2, 0
-_080F2288: .4byte gUnknown_083DFEC4
-_080F228C: .4byte 0x00006dad
-_080F2290:
- ldrh r0, [r2, 0x20]
- adds r0, 0x8
- strh r0, [r2, 0x20]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x34
- ldrsh r1, [r2, r3]
- cmp r0, r1
- blt _080F22A8
- adds r0, r2, 0
- bl sub_80F240C
-_080F22A8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80F2240
-
- thumb_func_start sub_80F22B0
-sub_80F22B0: @ 80F22B0
- push {lr}
- adds r2, r0, 0
- ldr r0, _080F22DC @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F22E0 @ =0x00006dad
- adds r0, r1
- movs r3, 0x2E
- ldrsh r1, [r2, r3]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- bne _080F22E4
- ldrh r3, [r2, 0x24]
- movs r0, 0x24
- ldrsh r1, [r2, r0]
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- ble _080F22F2
- subs r0, r3, 0x4
- b _080F22F0
- .align 2, 0
-_080F22DC: .4byte gUnknown_083DFEC4
-_080F22E0: .4byte 0x00006dad
-_080F22E4:
- ldrh r1, [r2, 0x24]
- movs r3, 0x24
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bge _080F22F2
- adds r0, r1, 0x4
-_080F22F0:
- strh r0, [r2, 0x24]
-_080F22F2:
- pop {r0}
- bx r0
- thumb_func_end sub_80F22B0
-
- thumb_func_start sub_80F22F8
-sub_80F22F8: @ 80F22F8
- push {r4-r7,lr}
- movs r3, 0
- ldr r0, _080F233C @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080F2340 @ =0x00006dae
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r3, r0
- bge _080F2358
- movs r7, 0xC8
- lsls r7, 2
- adds r4, r1, r7
- movs r5, 0x10
- negs r5, r5
- adds r6, r0, 0
-_080F231A:
- movs r1, 0
- lsls r2, r3, 4
-_080F231E:
- lsls r0, r1, 2
- adds r0, r2
- adds r0, r4, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080F2358
- movs r7, 0x24
- ldrsh r0, [r0, r7]
- cmp r0, 0
- beq _080F2344
- cmp r0, r5
- beq _080F2344
- movs r0, 0
- b _080F235A
- .align 2, 0
-_080F233C: .4byte gUnknown_083DFEC4
-_080F2340: .4byte 0x00006dae
-_080F2344:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _080F231E
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r6
- blt _080F231A
-_080F2358:
- movs r0, 0x1
-_080F235A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80F22F8
-
- thumb_func_start sub_80F2360
-sub_80F2360: @ 80F2360
- push {r4-r7,lr}
- movs r4, 0
- ldr r0, _080F23A0 @ =gUnknown_083DFEC4
- ldr r2, [r0]
- ldr r1, _080F23A4 @ =0x0000030e
- adds r0, r2, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- cmp r4, r1
- bge _080F23C0
- ldr r3, _080F23A8 @ =0x00006dad
- adds r0, r2, r3
- movs r6, 0
- ldrsb r6, [r0, r6]
- adds r5, r1, 0
-_080F237E:
- cmp r4, r6
- beq _080F23B6
- movs r1, 0
- ldr r0, _080F23A0 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- lsls r3, r4, 4
- movs r7, 0xC8
- lsls r7, 2
- adds r2, r0, r7
-_080F2390:
- lsls r0, r1, 2
- adds r0, r3
- adds r0, r2, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080F23AC
- movs r0, 0
- b _080F23C2
- .align 2, 0
-_080F23A0: .4byte gUnknown_083DFEC4
-_080F23A4: .4byte 0x0000030e
-_080F23A8: .4byte 0x00006dad
-_080F23AC:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _080F2390
-_080F23B6:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r5
- blt _080F237E
-_080F23C0:
- movs r0, 0x1
-_080F23C2:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80F2360
-
- thumb_func_start sub_80F23C8
-sub_80F23C8: @ 80F23C8
- push {lr}
- movs r2, 0
- ldr r0, _080F23F4 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r3, _080F23F8 @ =0x00006dad
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r3, r0, 4
- movs r0, 0xC8
- lsls r0, 2
- adds r1, r0
-_080F23E2:
- lsls r0, r2, 2
- adds r0, r3
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080F23FC
- movs r0, 0
- b _080F2408
- .align 2, 0
-_080F23F4: .4byte gUnknown_083DFEC4
-_080F23F8: .4byte 0x00006dad
-_080F23FC:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x3
- bls _080F23E2
- movs r0, 0x1
-_080F2408:
- pop {r1}
- bx r1
- thumb_func_end sub_80F23C8
-
- thumb_func_start sub_80F240C
-sub_80F240C: @ 80F240C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080F2454 @ =gUnknown_083DFEC4
- ldr r2, [r0]
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- lsls r1, 2
- movs r3, 0x2E
- ldrsh r0, [r4, r3]
- lsls r0, 4
- adds r1, r0
- movs r0, 0xC8
- lsls r0, 2
- adds r2, r0
- adds r2, r1
- movs r0, 0
- str r0, [r2]
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080F2446
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
-_080F2446:
- adds r0, r4, 0
- bl DestroySprite
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2454: .4byte gUnknown_083DFEC4
- thumb_func_end sub_80F240C
-
- thumb_func_start sub_80F2458
-sub_80F2458: @ 80F2458
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- beq _080F24A0
- cmp r4, 0x1
- bgt _080F246C
- cmp r4, 0
- beq _080F2472
- b _080F2502
-_080F246C:
- cmp r4, 0x2
- beq _080F24D0
- b _080F2502
-_080F2472:
- ldr r2, _080F2498 @ =gUnknown_083DFEC4
- ldr r3, [r2]
- movs r0, 0xE0
- lsls r0, 2
- adds r1, r3, r0
- movs r5, 0xE2
- lsls r5, 2
- adds r0, r3, r5
- str r0, [r1]
- movs r0, 0xE1
- lsls r0, 2
- adds r1, r3, r0
- movs r0, 0xA0
- lsls r0, 5
- strh r0, [r1]
- ldr r1, _080F249C @ =0x00000386
- adds r0, r3, r1
- strh r4, [r0]
- b _080F24F6
- .align 2, 0
-_080F2498: .4byte gUnknown_083DFEC4
-_080F249C: .4byte 0x00000386
-_080F24A0:
- ldr r4, _080F24C4 @ =gUnknown_083DFEC4
- ldr r1, [r4]
- movs r3, 0xE0
- lsls r3, 2
- adds r2, r1, r3
- ldr r5, _080F24C8 @ =0x00001788
- adds r0, r1, r5
- str r0, [r2]
- movs r0, 0xE1
- lsls r0, 2
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0xC0
- lsls r0, 4
- strh r0, [r2]
- ldr r5, _080F24CC @ =0x00000386
- adds r1, r5
- b _080F24F2
- .align 2, 0
-_080F24C4: .4byte gUnknown_083DFEC4
-_080F24C8: .4byte 0x00001788
-_080F24CC: .4byte 0x00000386
-_080F24D0:
- ldr r4, _080F2508 @ =gUnknown_083DFEC4
- ldr r1, [r4]
- movs r0, 0xE0
- lsls r0, 2
- adds r2, r1, r0
- ldr r3, _080F250C @ =0x00002388
- adds r0, r1, r3
- str r0, [r2]
- movs r5, 0xE1
- lsls r5, 2
- adds r2, r1, r5
- movs r3, 0
- movs r0, 0xC0
- lsls r0, 5
- strh r0, [r2]
- ldr r0, _080F2510 @ =0x00000386
- adds r1, r0
-_080F24F2:
- strh r3, [r1]
- adds r2, r4, 0
-_080F24F6:
- ldr r0, [r2]
- movs r1, 0xE0
- lsls r1, 2
- adds r0, r1
- bl LoadSpriteSheet
-_080F2502:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2508: .4byte gUnknown_083DFEC4
-_080F250C: .4byte 0x00002388
-_080F2510: .4byte 0x00000386
- thumb_func_end sub_80F2458
-
- thumb_func_start sub_80F2514
-sub_80F2514: @ 80F2514
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- beq _080F2558
- cmp r0, 0x1
- bgt _080F252C
- cmp r0, 0
- beq _080F2532
- b _080F2586
-_080F252C:
- cmp r1, 0x2
- beq _080F2568
- b _080F2586
-_080F2532:
- ldr r0, _080F254C @ =gPokenavMenuOptions1_Pal
- str r0, [sp]
- ldr r1, _080F2550 @ =0xffff0000
- mov r4, sp
- ldr r0, [sp, 0x4]
- ands r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpritePalette
- ldr r0, _080F2554 @ =gPokenavMenuOptions2_Pal
- b _080F257A
- .align 2, 0
-_080F254C: .4byte gPokenavMenuOptions1_Pal
-_080F2550: .4byte 0xffff0000
-_080F2554: .4byte gPokenavMenuOptions2_Pal
-_080F2558:
- ldr r0, _080F2564 @ =gPokenavConditionMenu_Pal
- str r0, [sp]
- mov r1, sp
- movs r0, 0
- strh r0, [r1, 0x4]
- b _080F2580
- .align 2, 0
-_080F2564: .4byte gPokenavConditionMenu_Pal
-_080F2568:
- ldr r0, _080F2590 @ =gPokenavCondition6_Pal
- str r0, [sp]
- mov r4, sp
- movs r0, 0
- strh r0, [r4, 0x4]
- mov r0, sp
- bl LoadSpritePalette
- ldr r0, _080F2594 @ =gPokenavCondition7_Pal
-_080F257A:
- str r0, [sp]
- movs r0, 0x1
- strh r0, [r4, 0x4]
-_080F2580:
- mov r0, sp
- bl LoadSpritePalette
-_080F2586:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2590: .4byte gPokenavCondition6_Pal
-_080F2594: .4byte gPokenavCondition7_Pal
- thumb_func_end sub_80F2514
-
- thumb_func_start sub_80F2598
-sub_80F2598: @ 80F2598
- push {r4,lr}
- ldr r0, _080F25F0 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F25F4 @ =0x00006d9c
- adds r4, r0, r1
- movs r0, 0
- str r0, [r4]
- ldr r1, _080F25F8 @ =gSaveBlock1
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl DoesSomeoneWantRematchIn
- cmp r0, 0x1
- bne _080F2618
- ldr r0, _080F25FC @ =gSpriteSheet_PokenavBlueLight
- bl LoadSpriteSheet
- ldr r0, _080F2600 @ =gSpritePalette_PokenavBlueLight
- bl LoadSpritePalette
- ldr r0, _080F2604 @ =gSpriteTemplate_83E4484
- movs r1, 0xC
- movs r2, 0x60
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080F260C
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F2608 @ =gSprites
- adds r0, r1
- str r0, [r4]
- b _080F2618
- .align 2, 0
-_080F25F0: .4byte gUnknown_083DFEC4
-_080F25F4: .4byte 0x00006d9c
-_080F25F8: .4byte gSaveBlock1
-_080F25FC: .4byte gSpriteSheet_PokenavBlueLight
-_080F2600: .4byte gSpritePalette_PokenavBlueLight
-_080F2604: .4byte gSpriteTemplate_83E4484
-_080F2608: .4byte gSprites
-_080F260C:
- movs r0, 0x19
- bl FreeSpriteTilesByTag
- movs r0, 0x11
- bl FreeSpritePaletteByTag
-_080F2618:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80F2598
-
- thumb_func_start sub_80F2620
-sub_80F2620: @ 80F2620
- push {r4,lr}
- ldr r0, _080F264C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F2650 @ =0x00006d9c
- adds r4, r0, r1
- ldr r0, [r4]
- cmp r0, 0
- beq _080F2644
- bl DestroySprite
- movs r0, 0x19
- bl FreeSpriteTilesByTag
- movs r0, 0x11
- bl FreeSpritePaletteByTag
- movs r0, 0
- str r0, [r4]
-_080F2644:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F264C: .4byte gUnknown_083DFEC4
-_080F2650: .4byte 0x00006d9c
- thumb_func_end sub_80F2620
-
- thumb_func_start sub_80F2654
-sub_80F2654: @ 80F2654
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- ble _080F2682
- movs r0, 0
- strh r0, [r3, 0x2E]
- adds r3, 0x3E
- ldrb r2, [r3]
- lsrs r1, r2, 2
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_080F2682:
- pop {r0}
- bx r0
- thumb_func_end sub_80F2654
-
- thumb_func_start sub_80F2688
-sub_80F2688: @ 80F2688
- push {lr}
- ldr r0, _080F26B0 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F26B4 @ =0x00000306
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080F26B8 @ =0x00006dac
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F26AA
-_080F26A0:
- bl sub_80F26BC
- lsls r0, 24
- cmp r0, 0
- bne _080F26A0
-_080F26AA:
- pop {r0}
- bx r0
- .align 2, 0
-_080F26B0: .4byte gUnknown_083DFEC4
-_080F26B4: .4byte 0x00000306
-_080F26B8: .4byte 0x00006dac
- thumb_func_end sub_80F2688
-
- thumb_func_start sub_80F26BC
-sub_80F26BC: @ 80F26BC
- push {lr}
- ldr r0, _080F26D8 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F26DC @ =0x00000306
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x7
- bls _080F26CE
- b _080F27BC
-_080F26CE:
- lsls r0, 2
- ldr r1, _080F26E0 @ =_080F26E4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F26D8: .4byte gUnknown_083DFEC4
-_080F26DC: .4byte 0x00000306
-_080F26E0: .4byte _080F26E4
- .align 2, 0
-_080F26E4:
- .4byte _080F2704
- .4byte _080F271C
- .4byte _080F2734
- .4byte _080F274C
- .4byte _080F2764
- .4byte _080F277C
- .4byte _080F2794
- .4byte _080F27B0
-_080F2704:
- ldr r0, _080F2710 @ =gPokenavMainMenu_Gfx
- ldr r1, _080F2714 @ =gUnknown_083DFEC4
- ldr r1, [r1]
- ldr r2, _080F2718 @ =0x00003b98
- b _080F279C
- .align 2, 0
-_080F2710: .4byte gPokenavMainMenu_Gfx
-_080F2714: .4byte gUnknown_083DFEC4
-_080F2718: .4byte 0x00003b98
-_080F271C:
- ldr r0, _080F2728 @ =gPokenavConditionMenuHeader_Gfx
- ldr r1, _080F272C @ =gUnknown_083DFEC4
- ldr r1, [r1]
- ldr r2, _080F2730 @ =0x00004198
- b _080F279C
- .align 2, 0
-_080F2728: .4byte gPokenavConditionMenuHeader_Gfx
-_080F272C: .4byte gUnknown_083DFEC4
-_080F2730: .4byte 0x00004198
-_080F2734:
- ldr r0, _080F2740 @ =gPokenavRibbonsHeader_Gfx
- ldr r1, _080F2744 @ =gUnknown_083DFEC4
- ldr r1, [r1]
- ldr r2, _080F2748 @ =0x00004d98
- b _080F279C
- .align 2, 0
-_080F2740: .4byte gPokenavRibbonsHeader_Gfx
-_080F2744: .4byte gUnknown_083DFEC4
-_080F2748: .4byte 0x00004d98
-_080F274C:
- ldr r0, _080F2758 @ =gPokenavHoennMapHeader_Gfx
- ldr r1, _080F275C @ =gUnknown_083DFEC4
- ldr r1, [r1]
- ldr r2, _080F2760 @ =0x00005398
- b _080F279C
- .align 2, 0
-_080F2758: .4byte gPokenavHoennMapHeader_Gfx
-_080F275C: .4byte gUnknown_083DFEC4
-_080F2760: .4byte 0x00005398
-_080F2764:
- ldr r0, _080F2770 @ =gPokenavConditionMenuOptions_Gfx
- ldr r1, _080F2774 @ =gUnknown_083DFEC4
- ldr r1, [r1]
- ldr r2, _080F2778 @ =0x00005f98
- b _080F279C
- .align 2, 0
-_080F2770: .4byte gPokenavConditionMenuOptions_Gfx
-_080F2774: .4byte gUnknown_083DFEC4
-_080F2778: .4byte 0x00005f98
-_080F277C:
- ldr r0, _080F2788 @ =gPokenavConditionMenuOptions2_Gfx
- ldr r1, _080F278C @ =gUnknown_083DFEC4
- ldr r1, [r1]
- ldr r2, _080F2790 @ =0x00006798
- b _080F279C
- .align 2, 0
-_080F2788: .4byte gPokenavConditionMenuOptions2_Gfx
-_080F278C: .4byte gUnknown_083DFEC4
-_080F2790: .4byte 0x00006798
-_080F2794:
- ldr r0, _080F27A4 @ =gPokenavTrainersEyesHeader_Gfx
- ldr r1, _080F27A8 @ =gUnknown_083DFEC4
- ldr r1, [r1]
- ldr r2, _080F27AC @ =0x00004798
-_080F279C:
- adds r1, r2
- bl LZ77UnCompWram
- b _080F27C0
- .align 2, 0
-_080F27A4: .4byte gPokenavTrainersEyesHeader_Gfx
-_080F27A8: .4byte gUnknown_083DFEC4
-_080F27AC: .4byte 0x00004798
-_080F27B0:
- ldr r0, _080F27B8 @ =gUnknown_083E449C
- bl LoadSpritePalettes
- b _080F27C0
- .align 2, 0
-_080F27B8: .4byte gUnknown_083E449C
-_080F27BC:
- movs r0, 0
- b _080F27D0
-_080F27C0:
- ldr r0, _080F27D4 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F27D8 @ =0x00000306
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
-_080F27D0:
- pop {r1}
- bx r1
- .align 2, 0
-_080F27D4: .4byte gUnknown_083DFEC4
-_080F27D8: .4byte 0x00000306
- thumb_func_end sub_80F26BC
-
- thumb_func_start sub_80F27DC
-sub_80F27DC: @ 80F27DC
- push {lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB
- bls _080F27EA
- b _080F29A0
-_080F27EA:
- lsls r0, 2
- ldr r1, _080F27F4 @ =_080F27F8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F27F4: .4byte _080F27F8
- .align 2, 0
-_080F27F8:
- .4byte _080F2828
- .4byte _080F2858
- .4byte _080F28B8
- .4byte _080F2888
- .4byte _080F28E8
- .4byte _080F2918
- .4byte _080F2928
- .4byte _080F2978
- .4byte _080F2938
- .4byte _080F2948
- .4byte _080F2968
- .4byte _080F2958
-_080F2828:
- ldr r0, _080F2848 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F284C @ =0x00003b98
- adds r0, r1
- str r0, [sp]
- ldr r1, _080F2850 @ =0xffff0000
- ldr r0, [sp, 0x4]
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 3
- orrs r0, r1
- ldr r1, _080F2854 @ =0x0000ffff
- ands r0, r1
- adds r1, 0x1
- b _080F2996
- .align 2, 0
-_080F2848: .4byte gUnknown_083DFEC4
-_080F284C: .4byte 0x00003b98
-_080F2850: .4byte 0xffff0000
-_080F2854: .4byte 0x0000ffff
-_080F2858:
- ldr r0, _080F2878 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F287C @ =0x00004198
- adds r0, r1
- str r0, [sp]
- ldr r1, _080F2880 @ =0xffff0000
- ldr r0, [sp, 0x4]
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 3
- orrs r0, r1
- ldr r1, _080F2884 @ =0x0000ffff
- ands r0, r1
- adds r1, 0x1
- b _080F2996
- .align 2, 0
-_080F2878: .4byte gUnknown_083DFEC4
-_080F287C: .4byte 0x00004198
-_080F2880: .4byte 0xffff0000
-_080F2884: .4byte 0x0000ffff
-_080F2888:
- ldr r0, _080F28A8 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F28AC @ =0x00004798
- adds r0, r1
- str r0, [sp]
- ldr r1, _080F28B0 @ =0xffff0000
- ldr r0, [sp, 0x4]
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 3
- orrs r0, r1
- ldr r1, _080F28B4 @ =0x0000ffff
- ands r0, r1
- adds r1, 0x1
- b _080F2996
- .align 2, 0
-_080F28A8: .4byte gUnknown_083DFEC4
-_080F28AC: .4byte 0x00004798
-_080F28B0: .4byte 0xffff0000
-_080F28B4: .4byte 0x0000ffff
-_080F28B8:
- ldr r0, _080F28D8 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F28DC @ =0x00004d98
- adds r0, r1
- str r0, [sp]
- ldr r1, _080F28E0 @ =0xffff0000
- ldr r0, [sp, 0x4]
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 3
- orrs r0, r1
- ldr r1, _080F28E4 @ =0x0000ffff
- ands r0, r1
- adds r1, 0x1
- b _080F2996
- .align 2, 0
-_080F28D8: .4byte gUnknown_083DFEC4
-_080F28DC: .4byte 0x00004d98
-_080F28E0: .4byte 0xffff0000
-_080F28E4: .4byte 0x0000ffff
-_080F28E8:
- ldr r0, _080F2908 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F290C @ =0x00005398
- adds r0, r1
- str r0, [sp]
- ldr r1, _080F2910 @ =0xffff0000
- ldr r0, [sp, 0x4]
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 4
- orrs r0, r1
- ldr r1, _080F2914 @ =0x0000ffff
- ands r0, r1
- adds r1, 0x1
- b _080F2996
- .align 2, 0
-_080F2908: .4byte gUnknown_083DFEC4
-_080F290C: .4byte 0x00005398
-_080F2910: .4byte 0xffff0000
-_080F2914: .4byte 0x0000ffff
-_080F2918:
- ldr r0, _080F2920 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F2924 @ =0x00005f98
- b _080F297E
- .align 2, 0
-_080F2920: .4byte gUnknown_083DFEC4
-_080F2924: .4byte 0x00005f98
-_080F2928:
- ldr r0, _080F2930 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F2934 @ =0x00006198
- b _080F297E
- .align 2, 0
-_080F2930: .4byte gUnknown_083DFEC4
-_080F2934: .4byte 0x00006198
-_080F2938:
- ldr r0, _080F2940 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F2944 @ =0x00006398
- b _080F297E
- .align 2, 0
-_080F2940: .4byte gUnknown_083DFEC4
-_080F2944: .4byte 0x00006398
-_080F2948:
- ldr r0, _080F2950 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F2954 @ =0x00006598
- b _080F297E
- .align 2, 0
-_080F2950: .4byte gUnknown_083DFEC4
-_080F2954: .4byte 0x00006598
-_080F2958:
- ldr r0, _080F2960 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F2964 @ =0x00006998
- b _080F297E
- .align 2, 0
-_080F2960: .4byte gUnknown_083DFEC4
-_080F2964: .4byte 0x00006998
-_080F2968:
- ldr r0, _080F2970 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F2974 @ =0x00006798
- b _080F297E
- .align 2, 0
-_080F2970: .4byte gUnknown_083DFEC4
-_080F2974: .4byte 0x00006798
-_080F2978:
- ldr r0, _080F29A8 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F29AC @ =0x00006b98
-_080F297E:
- adds r0, r1
- str r0, [sp]
- ldr r1, _080F29B0 @ =0xffff0000
- ldr r0, [sp, 0x4]
- ands r0, r1
- movs r1, 0x80
- lsls r1, 2
- orrs r0, r1
- ldr r1, _080F29B4 @ =0x0000ffff
- ands r0, r1
- movs r1, 0x80
- lsls r1, 10
-_080F2996:
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
-_080F29A0:
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080F29A8: .4byte gUnknown_083DFEC4
-_080F29AC: .4byte 0x00006b98
-_080F29B0: .4byte 0xffff0000
-_080F29B4: .4byte 0x0000ffff
- thumb_func_end sub_80F27DC
-
- thumb_func_start sub_80F29B8
-sub_80F29B8: @ 80F29B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r7, r0, 24
- movs r0, 0
- mov r8, r0
- cmp r7, 0xB
- bls _080F29D2
- b _080F2BA6
-_080F29D2:
- lsls r0, r7, 2
- ldr r1, _080F29DC @ =_080F29E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F29DC: .4byte _080F29E0
- .align 2, 0
-_080F29E0:
- .4byte _080F2A10
- .4byte _080F2A10
- .4byte _080F2A10
- .4byte _080F2A10
- .4byte _080F2A58
- .4byte _080F2A94
- .4byte _080F2A94
- .4byte _080F2A98
- .4byte _080F2A94
- .4byte _080F2A94
- .4byte _080F2A98
- .4byte _080F2A98
-_080F2A10:
- ldr r3, _080F2A44 @ =0x0000ffa0
- ldr r0, _080F2A48 @ =gUnknown_083DFEC4
- ldr r2, [r0]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r2, r1
- ldrh r1, [r0]
- movs r0, 0x31
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- movs r4, 0x8
- str r4, [sp]
- movs r1, 0x20
- str r1, [sp, 0x4]
- movs r1, 0x40
- ldr r4, _080F2A4C @ =0x00003b88
- adds r4, r2
- mov r9, r4
- ldr r2, _080F2A50 @ =gSpriteTemplate_83E44F8
- mov r8, r2
- cmp r7, 0x3
- beq _080F2AC8
- ldr r4, _080F2A54 @ =gSpriteTemplate_83E44E0
- mov r8, r4
- b _080F2AC8
- .align 2, 0
-_080F2A44: .4byte 0x0000ffa0
-_080F2A48: .4byte gUnknown_083DFEC4
-_080F2A4C: .4byte 0x00003b88
-_080F2A50: .4byte gSpriteTemplate_83E44F8
-_080F2A54: .4byte gSpriteTemplate_83E44E0
-_080F2A58:
- movs r3, 0x88
- lsls r3, 1
- ldr r0, _080F2A84 @ =gUnknown_083DFEC4
- ldr r2, [r0]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r2, r1
- ldrh r1, [r0]
- movs r0, 0x31
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080F2A88 @ =0x0000fff8
- str r4, [sp]
- movs r1, 0x98
- str r1, [sp, 0x4]
- movs r1, 0x40
- ldr r4, _080F2A8C @ =gSpriteTemplate_83E44E0
- mov r8, r4
- ldr r4, _080F2A90 @ =0x00003b88
- b _080F2AC4
- .align 2, 0
-_080F2A84: .4byte gUnknown_083DFEC4
-_080F2A88: .4byte 0x0000fff8
-_080F2A8C: .4byte gSpriteTemplate_83E44E0
-_080F2A90: .4byte 0x00003b88
-_080F2A94:
- ldr r0, _080F2B40 @ =gSpriteTemplate_83E4530
- mov r8, r0
-_080F2A98:
- mov r1, r8
- cmp r1, 0
- bne _080F2AA2
- ldr r2, _080F2B44 @ =gSpriteTemplate_83E4548
- mov r8, r2
-_080F2AA2:
- ldr r3, _080F2B48 @ =0x0000ffa0
- ldr r0, _080F2B4C @ =gUnknown_083DFEC4
- ldr r2, [r0]
- movs r4, 0xC3
- lsls r4, 2
- adds r0, r2, r4
- ldrh r1, [r0]
- movs r0, 0x44
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x8
- str r1, [sp]
- movs r4, 0x10
- str r4, [sp, 0x4]
- movs r1, 0x20
- ldr r4, _080F2B50 @ =0x00003b90
-_080F2AC4:
- adds r4, r2
- mov r9, r4
-_080F2AC8:
- movs r6, 0
- lsls r1, 16
- str r1, [sp, 0x10]
- lsls r3, 16
- str r3, [sp, 0x8]
- lsls r0, 16
- str r0, [sp, 0xC]
- ldr r0, _080F2B54 @ =gSprites
- mov r10, r0
-_080F2ADA:
- ldr r1, [sp, 0x10]
- asrs r0, r1, 16
- adds r5, r6, 0
- muls r5, r0
- ldr r2, [sp, 0x8]
- asrs r1, r2, 16
- adds r1, r5
- lsls r1, 16
- asrs r1, 16
- mov r0, r8
- ldr r3, [sp, 0xC]
- asrs r2, r3, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x40
- beq _080F2B9C
- lsls r0, r4, 4
- adds r1, r0, r4
- lsls r1, 2
- mov r2, r10
- adds r3, r1, r2
- mov r1, sp
- ldrh r1, [r1]
- strh r1, [r3, 0x2E]
- ldr r2, [sp, 0x4]
- adds r1, r2, r5
- strh r1, [r3, 0x30]
- strh r6, [r3, 0x32]
- strh r7, [r3, 0x34]
- adds r5, r0, 0
- cmp r7, 0x4
- bne _080F2B5C
- cmp r6, 0x1
- bne _080F2B5C
- ldr r0, _080F2B4C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F2B58 @ =0x00006e90
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- cmp r0, 0
- bne _080F2B36
- movs r1, 0x1
-_080F2B36:
- adds r0, r3, 0
- bl StartSpriteAnim
- b _080F2B6A
- .align 2, 0
-_080F2B40: .4byte gSpriteTemplate_83E4530
-_080F2B44: .4byte gSpriteTemplate_83E4548
-_080F2B48: .4byte 0x0000ffa0
-_080F2B4C: .4byte gUnknown_083DFEC4
-_080F2B50: .4byte 0x00003b90
-_080F2B54: .4byte gSprites
-_080F2B58: .4byte 0x00006e90
-_080F2B5C:
- adds r0, r5, r4
- lsls r0, 2
- add r0, r10
- lsls r1, r6, 24
- lsrs r1, 24
- bl StartSpriteAnim
-_080F2B6A:
- ldr r2, _080F2BB8 @ =gSprites
- mov r12, r2
- cmp r7, 0x3
- bhi _080F2B90
- cmp r6, 0x1
- bne _080F2B90
- adds r2, r5, r4
- lsls r2, 2
- add r2, r10
- ldrb r3, [r2, 0x1]
- movs r1, 0x3F
- adds r0, r1, 0
- ands r0, r3
- strb r0, [r2, 0x1]
- ldrb r0, [r2, 0x3]
- ands r1, r0
- movs r0, 0x80
- orrs r1, r0
- strb r1, [r2, 0x3]
-_080F2B90:
- lsls r1, r6, 2
- add r1, r9
- adds r0, r5, r4
- lsls r0, 2
- add r0, r12
- str r0, [r1]
-_080F2B9C:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x1
- bls _080F2ADA
-_080F2BA6:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2BB8: .4byte gSprites
- thumb_func_end sub_80F29B8
-
- thumb_func_start sub_80F2BBC
-sub_80F2BBC: @ 80F2BBC
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x20]
- ldrh r1, [r2, 0x2E]
- adds r3, r0, r1
- strh r3, [r2, 0x20]
- lsls r0, 16
- asrs r4, r0, 16
- movs r0, 0x30
- ldrsh r1, [r2, r0]
- cmp r4, r1
- bgt _080F2BE0
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, r1
- bge _080F2BE8
- cmp r4, r1
- blt _080F2C08
-_080F2BE0:
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, r1
- bgt _080F2C08
-_080F2BE8:
- ldrh r0, [r2, 0x30]
- strh r0, [r2, 0x20]
- movs r1, 0x34
- ldrsh r0, [r2, r1]
- cmp r0, 0x4
- bne _080F2C04
- movs r1, 0x32
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _080F2C04
- ldr r0, _080F2C00 @ =sub_80F2C58
- b _080F2C06
- .align 2, 0
-_080F2C00: .4byte sub_80F2C58
-_080F2C04:
- ldr r0, _080F2C10 @ =SpriteCallbackDummy
-_080F2C06:
- str r0, [r2, 0x1C]
-_080F2C08:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2C10: .4byte SpriteCallbackDummy
- thumb_func_end sub_80F2BBC
-
- thumb_func_start sub_80F2C14
-sub_80F2C14: @ 80F2C14
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- ldrh r1, [r4, 0x2E]
- subs r0, r1
- strh r0, [r4, 0x20]
- adds r0, 0x20
- lsls r0, 16
- movs r1, 0x98
- lsls r1, 17
- cmp r0, r1
- bls _080F2C50
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _080F2C4A
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bgt _080F2C44
- movs r0, 0x1
- bl FreeSpriteTilesByTag
- b _080F2C4A
-_080F2C44:
- movs r0, 0x2
- bl FreeSpriteTilesByTag
-_080F2C4A:
- adds r0, r4, 0
- bl DestroySprite
-_080F2C50:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80F2C14
-
- thumb_func_start sub_80F2C58
-sub_80F2C58: @ 80F2C58
- push {lr}
- adds r2, r0, 0
- ldr r0, _080F2C78 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F2C7C @ =0x00006e90
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- cmp r0, 0
- bne _080F2C6E
- movs r1, 0x1
-_080F2C6E:
- adds r0, r2, 0
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .align 2, 0
-_080F2C78: .4byte gUnknown_083DFEC4
-_080F2C7C: .4byte 0x00006e90
- thumb_func_end sub_80F2C58
-
- thumb_func_start sub_80F2C80
-sub_80F2C80: @ 80F2C80
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080F2CB0 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F2CB4 @ =0x00000306
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080F2CB8 @ =0x00006dac
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F2CA8
-_080F2C9C:
- adds r0, r4, 0
- bl sub_80F2CBC
- lsls r0, 24
- cmp r0, 0
- bne _080F2C9C
-_080F2CA8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2CB0: .4byte gUnknown_083DFEC4
-_080F2CB4: .4byte 0x00000306
-_080F2CB8: .4byte 0x00006dac
- thumb_func_end sub_80F2C80
-
- thumb_func_start sub_80F2CBC
-sub_80F2CBC: @ 80F2CBC
- push {r4,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080F2CD8 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080F2CDC @ =0x00000306
- adds r4, r0, r2
- ldrh r0, [r4]
- cmp r0, 0
- beq _080F2CE0
- cmp r0, 0x1
- beq _080F2CF0
- b _080F2CFC
- .align 2, 0
-_080F2CD8: .4byte gUnknown_083DFEC4
-_080F2CDC: .4byte 0x00000306
-_080F2CE0:
- adds r0, r1, 0
- bl sub_80F27DC
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- movs r0, 0x1
- b _080F2CFE
-_080F2CF0:
- adds r0, r1, 0
- bl sub_80F29B8
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080F2CFC:
- movs r0, 0
-_080F2CFE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80F2CBC
-
- thumb_func_start sub_80F2D04
-sub_80F2D04: @ 80F2D04
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080F2D3C
- movs r1, 0
- ldr r0, _080F2D30 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r3, _080F2D34 @ =0x00003b88
- adds r2, r0, r3
- ldr r3, _080F2D38 @ =sub_80F2C14
-_080F2D1A:
- lsls r0, r1, 2
- adds r0, r2, r0
- ldr r0, [r0]
- str r3, [r0, 0x1C]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1
- bls _080F2D1A
- b _080F2D5A
- .align 2, 0
-_080F2D30: .4byte gUnknown_083DFEC4
-_080F2D34: .4byte 0x00003b88
-_080F2D38: .4byte sub_80F2C14
-_080F2D3C:
- movs r1, 0
- ldr r0, _080F2D60 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r3, _080F2D64 @ =0x00003b90
- adds r2, r0, r3
- ldr r3, _080F2D68 @ =sub_80F2C14
-_080F2D48:
- lsls r0, r1, 2
- adds r0, r2, r0
- ldr r0, [r0]
- str r3, [r0, 0x1C]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1
- bls _080F2D48
-_080F2D5A:
- pop {r0}
- bx r0
- .align 2, 0
-_080F2D60: .4byte gUnknown_083DFEC4
-_080F2D64: .4byte 0x00003b90
-_080F2D68: .4byte sub_80F2C14
- thumb_func_end sub_80F2D04
-
- thumb_func_start sub_80F2D6C
-sub_80F2D6C: @ 80F2D6C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080F2DA4
- movs r0, 0x1
- bl FreeSpriteTilesByTag
- movs r4, 0
- ldr r0, _080F2D9C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F2DA0 @ =0x00003b88
- adds r5, r0, r1
-_080F2D86:
- lsls r0, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080F2D86
- b _080F2DC8
- .align 2, 0
-_080F2D9C: .4byte gUnknown_083DFEC4
-_080F2DA0: .4byte 0x00003b88
-_080F2DA4:
- movs r0, 0x2
- bl FreeSpriteTilesByTag
- movs r4, 0
- ldr r0, _080F2DD0 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F2DD4 @ =0x00003b90
- adds r5, r0, r1
-_080F2DB4:
- lsls r0, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080F2DB4
-_080F2DC8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2DD0: .4byte gUnknown_083DFEC4
-_080F2DD4: .4byte 0x00003b90
- thumb_func_end sub_80F2D6C
-
- thumb_func_start sub_80F2DD8
-sub_80F2DD8: @ 80F2DD8
- push {lr}
- movs r0, 0x7
- movs r1, 0x7
- bl CreateRegionMapCursor
- movs r0, 0x8
- movs r1, 0x8
- bl CreateRegionMapPlayerIcon
- bl sub_80FBF94
- pop {r0}
- bx r0
- thumb_func_end sub_80F2DD8
-
- thumb_func_start sub_80F2DF4
-sub_80F2DF4: @ 80F2DF4
- push {lr}
- bl FreeRegionMapIconResources
- pop {r0}
- bx r0
- thumb_func_end sub_80F2DF4
-
- thumb_func_start sub_80F2E00
-sub_80F2E00: @ 80F2E00
- ldr r1, _080F2E10 @ =gUnknown_083DFEC4
- ldr r1, [r1]
- ldr r2, _080F2E14 @ =0x00008766
- adds r1, r2
- ldrh r1, [r1]
- adds r1, 0x26
- strh r1, [r0, 0x20]
- bx lr
- .align 2, 0
-_080F2E10: .4byte gUnknown_083DFEC4
-_080F2E14: .4byte 0x00008766
- thumb_func_end sub_80F2E00
-
- thumb_func_start sub_80F2E18
-sub_80F2E18: @ 80F2E18
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x28
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, _080F2EA8 @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r0, _080F2EAC @ =0x00008768
- adds r7, r4, r0
- ldr r1, [r7]
- mov r8, r1
- cmp r1, 0
- bne _080F2EFC
- ldr r0, _080F2EB0 @ =gUnknown_083E4568
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- mov r1, sp
- ldr r0, _080F2EB4 @ =gSpriteTemplate_83E4570
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldr r0, _080F2EB8 @ =gUnknown_083E4588
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- lsls r0, r3, 13
- ldr r1, _080F2EBC @ =0x0000d1e4
- adds r0, r1
- adds r0, r4, r0
- str r0, [sp, 0x20]
- lsls r0, r3, 7
- adds r0, r4, r0
- str r0, [sp, 0x18]
- add r0, sp, 0x18
- bl LoadSpritePalette
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080F2EC0 @ =0x0000d1dc
- adds r5, r4, r2
- strh r0, [r5]
- add r0, sp, 0x20
- bl LoadSpriteSheet
- ldr r1, _080F2EC4 @ =0x0000d1de
- adds r6, r4, r1
- strh r0, [r6]
- mov r0, sp
- movs r1, 0x26
- movs r2, 0x68
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- bne _080F2EC8
- movs r0, 0x6
- bl FreeSpriteTilesByTag
- movs r0, 0x6
- bl FreeSpritePaletteByTag
- mov r2, r8
- str r2, [r7]
- b _080F2F26
- .align 2, 0
-_080F2EA8: .4byte gUnknown_083DFEC4
-_080F2EAC: .4byte 0x00008768
-_080F2EB0: .4byte gUnknown_083E4568
-_080F2EB4: .4byte gSpriteTemplate_83E4570
-_080F2EB8: .4byte gUnknown_083E4588
-_080F2EBC: .4byte 0x0000d1e4
-_080F2EC0: .4byte 0x0000d1dc
-_080F2EC4: .4byte 0x0000d1de
-_080F2EC8:
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F2EF0 @ =gSprites
- adds r0, r1
- str r0, [r7]
- ldr r0, _080F2EF4 @ =0x0000d1e0
- adds r1, r4, r0
- ldrh r0, [r6]
- lsls r0, 5
- ldr r2, _080F2EF8 @ =0x06010000
- adds r0, r2
- str r0, [r1]
- ldrh r0, [r5]
- lsls r0, 4
- movs r6, 0x80
- lsls r6, 1
- adds r0, r6
- strh r0, [r5]
- b _080F2F26
- .align 2, 0
-_080F2EF0: .4byte gSprites
-_080F2EF4: .4byte 0x0000d1e0
-_080F2EF8: .4byte 0x06010000
-_080F2EFC:
- lsls r0, r3, 13
- ldr r1, _080F2F34 @ =0x0000d1e4
- adds r0, r1
- adds r0, r4, r0
- ldr r2, _080F2F38 @ =0x0000d1e0
- adds r1, r4, r2
- ldr r2, [r1]
- ldr r1, _080F2F3C @ =0x040000d4
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, _080F2F40 @ =0x80000400
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- lsls r0, r3, 7
- adds r0, r4, r0
- ldr r5, _080F2F44 @ =0x0000d1dc
- adds r1, r4, r5
- ldrh r1, [r1]
- movs r2, 0x20
- bl LoadPalette
-_080F2F26:
- add sp, 0x28
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2F34: .4byte 0x0000d1e4
-_080F2F38: .4byte 0x0000d1e0
-_080F2F3C: .4byte 0x040000d4
-_080F2F40: .4byte 0x80000400
-_080F2F44: .4byte 0x0000d1dc
- thumb_func_end sub_80F2E18
-
- thumb_func_start sub_80F2F48
-sub_80F2F48: @ 80F2F48
- push {r4,lr}
- ldr r0, _080F2F74 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F2F78 @ =0x00008768
- adds r4, r0, r1
- ldr r0, [r4]
- cmp r0, 0
- beq _080F2F6C
- bl DestroySprite
- movs r0, 0x6
- bl FreeSpriteTilesByTag
- movs r0, 0x6
- bl FreeSpritePaletteByTag
- movs r0, 0
- str r0, [r4]
-_080F2F6C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2F74: .4byte gUnknown_083DFEC4
-_080F2F78: .4byte 0x00008768
- thumb_func_end sub_80F2F48
-
- thumb_func_start sub_80F2F7C
-sub_80F2F7C: @ 80F2F7C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80F2E18
- ldr r0, _080F2FA0 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F2FA4 @ =0x0000ced0
- adds r2, r0, r1
- ldr r1, _080F2FA8 @ =0x00008768
- adds r0, r1
- ldr r1, [r0]
- str r1, [r2]
- ldr r0, _080F2FAC @ =sub_80F2FEC
- str r0, [r1, 0x1C]
- pop {r0}
- bx r0
- .align 2, 0
-_080F2FA0: .4byte gUnknown_083DFEC4
-_080F2FA4: .4byte 0x0000ced0
-_080F2FA8: .4byte 0x00008768
-_080F2FAC: .4byte sub_80F2FEC
- thumb_func_end sub_80F2F7C
-
- thumb_func_start sub_80F2FB0
-sub_80F2FB0: @ 80F2FB0
- push {r4,r5,lr}
- ldr r0, _080F2FE0 @ =gUnknown_083DFEC4
- ldr r5, [r0]
- ldr r0, _080F2FE4 @ =0x0000ced0
- adds r4, r5, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080F2FDA
- bl DestroySprite
- movs r0, 0x6
- bl FreeSpriteTilesByTag
- movs r0, 0x6
- bl FreeSpritePaletteByTag
- movs r1, 0
- str r1, [r4]
- ldr r2, _080F2FE8 @ =0x00008768
- adds r0, r5, r2
- str r1, [r0]
-_080F2FDA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2FE0: .4byte gUnknown_083DFEC4
-_080F2FE4: .4byte 0x0000ced0
-_080F2FE8: .4byte 0x00008768
- thumb_func_end sub_80F2FB0
-
- thumb_func_start sub_80F2FEC
-sub_80F2FEC: @ 80F2FEC
- ldr r1, _080F3000 @ =gUnknown_083DFEC4
- ldr r1, [r1]
- ldr r2, _080F3004 @ =0x0000d15a
- adds r1, r2
- ldrh r1, [r1]
- adds r1, 0x28
- strh r1, [r0, 0x20]
- movs r1, 0x68
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_080F3000: .4byte gUnknown_083DFEC4
-_080F3004: .4byte 0x0000d15a
- thumb_func_end sub_80F2FEC
-
- thumb_func_start sub_80F3008
-sub_80F3008: @ 80F3008
- push {r4,r5,lr}
- sub sp, 0x20
- lsls r0, 24
- lsrs r2, r0, 24
- mov r1, sp
- ldr r0, _080F3060 @ =gUnknown_083E4590
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r0, _080F3064 @ =gUnknown_083E45A8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- cmp r2, 0x2
- bgt _080F3032
- cmp r2, 0x1
- blt _080F3032
- ldr r0, _080F3068 @ =gUnknown_08E9F988
- str r0, [sp, 0x18]
-_080F3032:
- mov r0, sp
- bl LoadSpriteSheets
- add r0, sp, 0x18
- bl LoadSpritePalette
- ldr r0, _080F306C @ =gSpriteTemplate_83E45B8
- movs r1, 0x5F
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- bne _080F3078
- ldr r0, _080F3070 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F3074 @ =0x000087cc
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- b _080F3120
- .align 2, 0
-_080F3060: .4byte gUnknown_083E4590
-_080F3064: .4byte gUnknown_083E45A8
-_080F3068: .4byte gUnknown_08E9F988
-_080F306C: .4byte gSpriteTemplate_83E45B8
-_080F3070: .4byte gUnknown_083DFEC4
-_080F3074: .4byte 0x000087cc
-_080F3078:
- ldr r0, _080F30F4 @ =gUnknown_083DFEC4
- ldr r2, [r0]
- ldr r3, _080F30F8 @ =0x000087cc
- adds r2, r3
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F30FC @ =gSprites
- adds r0, r1
- str r0, [r2]
- movs r4, 0
- movs r5, 0
-_080F3090:
- lsls r2, r4, 7
- adds r2, 0x8
- lsls r2, 16
- asrs r2, 16
- ldr r0, _080F3100 @ =gSpriteTemplate_83E45F0
- movs r1, 0xA8
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080F3108
- ldr r0, _080F30F4 @ =gUnknown_083DFEC4
- ldr r2, [r0]
- lsls r0, r4, 2
- ldr r3, _080F3104 @ =0x000087d0
- adds r2, r3
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F30FC @ =gSprites
- adds r3, r0, r1
- str r3, [r2]
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- strh r5, [r3, 0x2E]
- strh r5, [r3, 0x30]
- movs r0, 0x1
- cmp r4, 0
- bne _080F30DE
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
-_080F30DE:
- strh r0, [r3, 0x32]
- strh r4, [r3, 0x34]
- movs r0, 0x1
- strh r0, [r3, 0x36]
- lsls r1, r4, 24
- lsrs r1, 24
- adds r0, r3, 0
- bl StartSpriteAnim
- b _080F3116
- .align 2, 0
-_080F30F4: .4byte gUnknown_083DFEC4
-_080F30F8: .4byte 0x000087cc
-_080F30FC: .4byte gSprites
-_080F3100: .4byte gSpriteTemplate_83E45F0
-_080F3104: .4byte 0x000087d0
-_080F3108:
- ldr r0, _080F3128 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, _080F312C @ =0x000087d0
- adds r0, r2
- adds r0, r1
- str r5, [r0]
-_080F3116:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080F3090
-_080F3120:
- add sp, 0x20
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3128: .4byte gUnknown_083DFEC4
-_080F312C: .4byte 0x000087d0
- thumb_func_end sub_80F3008
-
- thumb_func_start sub_80F3130
-sub_80F3130: @ 80F3130
- push {r4-r6,lr}
- ldr r0, _080F3184 @ =gUnknown_083DFEC4
- ldr r6, [r0]
- ldr r0, _080F3188 @ =0x000087cc
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080F3154
- bl DestroySprite
- movs r0, 0x9
- bl FreeSpriteTilesByTag
- movs r0, 0x9
- bl FreeSpritePaletteByTag
- movs r0, 0
- str r0, [r4]
-_080F3154:
- movs r5, 0
- ldr r0, _080F318C @ =0x000087d0
- adds r6, r0
-_080F315A:
- lsls r0, r5, 2
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080F316C
- bl DestroySprite
- movs r0, 0
- str r0, [r4]
-_080F316C:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080F315A
- movs r0, 0xA
- bl FreeSpriteTilesByTag
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3184: .4byte gUnknown_083DFEC4
-_080F3188: .4byte 0x000087cc
-_080F318C: .4byte 0x000087d0
- thumb_func_end sub_80F3130
-
- thumb_func_start sub_80F3190
-sub_80F3190: @ 80F3190
- ldr r1, _080F31A4 @ =gUnknown_083DFEC4
- ldr r1, [r1]
- ldr r2, _080F31A8 @ =0x0000876c
- adds r1, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- lsls r1, 4
- adds r1, 0x10
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_080F31A4: .4byte gUnknown_083DFEC4
-_080F31A8: .4byte 0x0000876c
- thumb_func_end sub_80F3190
-
- thumb_func_start sub_80F31AC
-sub_80F31AC: @ 80F31AC
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r0, _080F31E8 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080F31EC @ =0x000087c9
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F325C
- movs r4, 0x36
- ldrsh r0, [r3, r4]
- cmp r0, 0
- beq _080F3226
- movs r5, 0x34
- ldrsh r0, [r3, r5]
- cmp r0, 0
- bne _080F31F4
- movs r2, 0
- ldr r4, _080F31F0 @ =0x00008770
- adds r0, r1, r4
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r0, 0
- bne _080F31DE
- movs r2, 0x1
-_080F31DE:
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- lsls r2, 2
- b _080F3214
- .align 2, 0
-_080F31E8: .4byte gUnknown_083DFEC4
-_080F31EC: .4byte 0x000087c9
-_080F31F0: .4byte 0x00008770
-_080F31F4:
- movs r4, 0
- ldr r2, _080F3250 @ =0x00008772
- adds r0, r1, r2
- ldr r5, _080F3254 @ =0x00008774
- adds r1, r5
- movs r5, 0
- ldrsh r2, [r0, r5]
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r2, r0
- bne _080F320C
- movs r4, 0x1
-_080F320C:
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- lsls r2, r4, 2
-_080F3214:
- ldrb r1, [r0]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- mov r1, r12
- strb r0, [r1]
- movs r0, 0
- strh r0, [r3, 0x36]
-_080F3226:
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _080F325C
- strh r1, [r3, 0x2E]
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bgt _080F3258
- ldrh r0, [r3, 0x32]
- ldrh r2, [r3, 0x26]
- adds r0, r2
- strh r0, [r3, 0x26]
- b _080F325C
- .align 2, 0
-_080F3250: .4byte 0x00008772
-_080F3254: .4byte 0x00008774
-_080F3258:
- strh r1, [r3, 0x30]
- strh r1, [r3, 0x26]
-_080F325C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80F31AC
-
- thumb_func_start sub_80F3264
-sub_80F3264: @ 80F3264
- push {lr}
- movs r1, 0
- ldr r0, _080F328C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r3, _080F3290 @ =0x000087d0
- adds r2, r0, r3
- movs r3, 0x1
-_080F3272:
- lsls r0, r1, 2
- adds r0, r2, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080F327E
- strh r3, [r0, 0x36]
-_080F327E:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1
- bls _080F3272
- pop {r0}
- bx r0
- .align 2, 0
-_080F328C: .4byte gUnknown_083DFEC4
-_080F3290: .4byte 0x000087d0
- thumb_func_end sub_80F3264
-
- thumb_func_start sub_80F3294
-sub_80F3294: @ 80F3294
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _080F32F4 @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r1, _080F32F8 @ =0x000087cc
- adds r0, r4, r1
- ldr r2, [r0]
- adds r2, 0x3E
- movs r0, 0x1
- adds r1, r6, 0
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r5, 0x5
- negs r5, r5
- adds r0, r5, 0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldr r2, _080F32FC @ =0x000087c9
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F331A
- cmp r6, 0x1
- bne _080F3308
- ldr r1, _080F3300 @ =0x000087d0
- adds r0, r4, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r1]
- ldr r2, _080F3304 @ =0x000087d4
- adds r0, r4, r2
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r3
- strb r0, [r1]
- b _080F331A
- .align 2, 0
-_080F32F4: .4byte gUnknown_083DFEC4
-_080F32F8: .4byte 0x000087cc
-_080F32FC: .4byte 0x000087c9
-_080F3300: .4byte 0x000087d0
-_080F3304: .4byte 0x000087d4
-_080F3308:
- ldr r1, _080F3320 @ =0x000087d0
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- strh r1, [r0, 0x36]
- ldr r2, _080F3324 @ =0x000087d4
- adds r0, r4, r2
- ldr r0, [r0]
- strh r1, [r0, 0x36]
-_080F331A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3320: .4byte 0x000087d0
-_080F3324: .4byte 0x000087d4
- thumb_func_end sub_80F3294
-
- thumb_func_start sub_80F3328
-sub_80F3328: @ 80F3328
- push {lr}
- adds r2, r0, 0
- ldr r0, _080F334C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F3350 @ =0x000087dc
- adds r0, r1
- movs r3, 0x2E
- ldrsh r1, [r2, r3]
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r1, r0
- bne _080F3354
- adds r0, r2, 0
- movs r1, 0
- bl StartSpriteAnim
- b _080F335C
- .align 2, 0
-_080F334C: .4byte gUnknown_083DFEC4
-_080F3350: .4byte 0x000087dc
-_080F3354:
- adds r0, r2, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_080F335C:
- pop {r0}
- bx r0
- thumb_func_end sub_80F3328
-
- thumb_func_start sub_80F3360
-sub_80F3360: @ 80F3360
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080F3384 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080F3388 @ =0x000087dc
- adds r1, r0, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- ldr r2, _080F338C @ =0x000087da
- adds r0, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- subs r0, 0x1
- cmp r1, r0
- bne _080F3390
- movs r0, 0x4
- b _080F3392
- .align 2, 0
-_080F3384: .4byte gUnknown_083DFEC4
-_080F3388: .4byte 0x000087dc
-_080F338C: .4byte 0x000087da
-_080F3390:
- movs r0, 0x5
-_080F3392:
- bl IndexOfSpritePaletteTag
- lsls r0, 4
- ldrb r2, [r4, 0x5]
- movs r1, 0xF
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x5]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80F3360
-
- thumb_func_start sub_80F33A8
-sub_80F33A8: @ 80F33A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x50
- mov r1, sp
- ldr r0, _080F3440 @ =gUnknown_083E4628
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldm r0!, {r3,r4}
- stm r1!, {r3,r4}
- add r4, sp, 0x20
- adds r1, r4, 0
- ldr r0, _080F3444 @ =gUnknown_083E4648
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- add r5, sp, 0x38
- adds r1, r5, 0
- ldr r0, _080F3448 @ =gSpriteTemplate_83E4660
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- mov r0, sp
- bl LoadSpriteSheets
- adds r0, r4, 0
- bl LoadSpritePalettes
- movs r6, 0
- ldr r2, _080F344C @ =gUnknown_083DFEC4
- ldr r1, [r2]
- ldr r3, _080F3450 @ =0x000087da
- adds r0, r1, r3
- movs r4, 0
- ldrsh r0, [r0, r4]
- subs r0, 0x1
- adds r7, r5, 0
- cmp r6, r0
- bge _080F347A
- adds r5, r2, 0
- adds r0, r3, 0
- adds r0, r1
- mov r8, r0
-_080F3406:
- lsls r4, r6, 2
- adds r2, r4, r6
- lsls r2, 18
- movs r1, 0x80
- lsls r1, 12
- adds r2, r1
- asrs r2, 16
- adds r0, r7, 0
- movs r1, 0xE2
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _080F345C
- ldr r0, [r5]
- ldr r2, _080F3454 @ =0x000087e4
- adds r0, r2
- adds r0, r4
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- ldr r2, _080F3458 @ =gSprites
- adds r1, r2
- str r1, [r0]
- strh r6, [r1, 0x2E]
- b _080F3468
- .align 2, 0
-_080F3440: .4byte gUnknown_083E4628
-_080F3444: .4byte gUnknown_083E4648
-_080F3448: .4byte gSpriteTemplate_83E4660
-_080F344C: .4byte gUnknown_083DFEC4
-_080F3450: .4byte 0x000087da
-_080F3454: .4byte 0x000087e4
-_080F3458: .4byte gSprites
-_080F345C:
- ldr r0, [r5]
- ldr r3, _080F34C8 @ =0x000087e4
- adds r0, r3
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_080F3468:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- mov r4, r8
- movs r1, 0
- ldrsh r0, [r4, r1]
- subs r0, 0x1
- cmp r6, r0
- blt _080F3406
-_080F347A:
- movs r0, 0x4
- strh r0, [r7]
- ldr r0, _080F34CC @ =SpriteCallbackDummy
- str r0, [r7, 0x14]
- cmp r6, 0x5
- bhi _080F34EE
- ldr r5, _080F34D0 @ =gUnknown_083DFEC4
-_080F3488:
- lsls r4, r6, 2
- adds r2, r4, r6
- lsls r2, 18
- movs r3, 0x80
- lsls r3, 12
- adds r2, r3
- asrs r2, 16
- adds r0, r7, 0
- movs r1, 0xE6
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _080F34D8
- ldr r2, [r5]
- ldr r0, _080F34C8 @ =0x000087e4
- adds r2, r0
- adds r2, r4
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- ldr r0, _080F34D4 @ =gSprites
- adds r1, r0
- str r1, [r2]
- ldrb r2, [r1, 0x3]
- movs r0, 0x3F
- ands r0, r2
- strb r0, [r1, 0x3]
- b _080F34E4
- .align 2, 0
-_080F34C8: .4byte 0x000087e4
-_080F34CC: .4byte SpriteCallbackDummy
-_080F34D0: .4byte gUnknown_083DFEC4
-_080F34D4: .4byte gSprites
-_080F34D8:
- ldr r0, [r5]
- ldr r1, _080F3548 @ =0x000087e4
- adds r0, r1
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_080F34E4:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _080F3488
-_080F34EE:
- movs r0, 0x5
- strh r0, [r7]
- ldr r0, _080F354C @ =sub_80F3360
- str r0, [r7, 0x14]
- lsls r5, r6, 2
- adds r2, r5, r6
- lsls r2, 18
- movs r3, 0x80
- lsls r3, 12
- adds r2, r3
- asrs r2, 16
- adds r0, r7, 0
- movs r1, 0xDE
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _080F3558
- ldr r0, _080F3550 @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r6, _080F3548 @ =0x000087e4
- adds r4, r6
- adds r4, r5
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- ldr r0, _080F3554 @ =gSprites
- adds r1, r0
- str r1, [r4]
- ldrb r3, [r1, 0x1]
- movs r2, 0x3F
- adds r0, r2, 0
- ands r0, r3
- movs r3, 0x40
- orrs r0, r3
- strb r0, [r1, 0x1]
- ldr r1, [r4]
- ldrb r0, [r1, 0x3]
- ands r2, r0
- movs r0, 0x80
- orrs r2, r0
- strb r2, [r1, 0x3]
- b _080F3566
- .align 2, 0
-_080F3548: .4byte 0x000087e4
-_080F354C: .4byte sub_80F3360
-_080F3550: .4byte gUnknown_083DFEC4
-_080F3554: .4byte gSprites
-_080F3558:
- ldr r0, _080F3574 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F3578 @ =0x000087e4
- adds r0, r1
- adds r0, r5
- movs r1, 0
- str r1, [r0]
-_080F3566:
- add sp, 0x50
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3574: .4byte gUnknown_083DFEC4
-_080F3578: .4byte 0x000087e4
- thumb_func_end sub_80F33A8
-
- thumb_func_start sub_80F357C
-sub_80F357C: @ 80F357C
- push {r4-r6,lr}
- movs r5, 0
- ldr r0, _080F35AC @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F35B0 @ =0x000087e4
- adds r6, r0, r1
-_080F3588:
- lsls r0, r5, 2
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080F359A
- bl DestroySprite
- movs r0, 0
- str r0, [r4]
-_080F359A:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x6
- bls _080F3588
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F35AC: .4byte gUnknown_083DFEC4
-_080F35B0: .4byte 0x000087e4
- thumb_func_end sub_80F357C
-
- thumb_func_start sub_80F35B4
-sub_80F35B4: @ 80F35B4
- push {r4,lr}
- ldr r0, _080F35FC @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r1, _080F3600 @ =0x000076b0
- adds r0, r4, r1
- movs r1, 0x1C
- strh r1, [r0]
- ldr r1, _080F3604 @ =0x000076b2
- adds r2, r4, r1
- movs r1, 0x13
- strh r1, [r2]
- bl sub_80F727C
- bl sub_80F7404
- ldr r2, _080F3608 @ =gUnknown_083E4678
- movs r0, 0x1B
- movs r1, 0x15
- bl sub_80F7920
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0xC0
- strh r1, [r0, 0x20]
- movs r1, 0x20
- strh r1, [r0, 0x22]
- ldr r1, _080F360C @ =sub_80F363C
- str r1, [r0, 0x1C]
- ldr r1, _080F3610 @ =0x000076ac
- adds r4, r1
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F35FC: .4byte gUnknown_083DFEC4
-_080F3600: .4byte 0x000076b0
-_080F3604: .4byte 0x000076b2
-_080F3608: .4byte gUnknown_083E4678
-_080F360C: .4byte sub_80F363C
-_080F3610: .4byte 0x000076ac
- thumb_func_end sub_80F35B4
-
- thumb_func_start sub_80F3614
-sub_80F3614: @ 80F3614
- push {lr}
- ldr r0, _080F3634 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F3638 @ =0x000076ac
- adds r0, r1
- ldr r0, [r0]
- bl DestroySprite
- movs r0, 0x1B
- bl FreeSpriteTilesByTag
- movs r0, 0x15
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .align 2, 0
-_080F3634: .4byte gUnknown_083DFEC4
-_080F3638: .4byte 0x000076ac
- thumb_func_end sub_80F3614
-
- thumb_func_start sub_80F363C
-sub_80F363C: @ 80F363C
- push {lr}
- ldr r1, _080F365C @ =gUnknown_083DFEC4
- ldr r1, [r1]
- ldr r3, _080F3660 @ =0x00008fe9
- adds r2, r1, r3
- ldrb r2, [r2]
- lsls r2, 24
- asrs r2, 24
- ldr r3, _080F3664 @ =0x00008934
- adds r1, r3
- adds r1, r2
- ldrb r1, [r1]
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .align 2, 0
-_080F365C: .4byte gUnknown_083DFEC4
-_080F3660: .4byte 0x00008fe9
-_080F3664: .4byte 0x00008934
- thumb_func_end sub_80F363C
-
- thumb_func_start sub_80F3668
-sub_80F3668: @ 80F3668
- push {lr}
- ldr r0, _080F368C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080F3690 @ =0x00008fe9
- adds r1, r0, r2
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldr r2, _080F3694 @ =0x00008934
- adds r0, r2
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0xB0
- movs r2, 0x20
- bl sub_80F7418
- pop {r0}
- bx r0
- .align 2, 0
-_080F368C: .4byte gUnknown_083DFEC4
-_080F3690: .4byte 0x00008fe9
-_080F3694: .4byte 0x00008934
- thumb_func_end sub_80F3668
-
- thumb_func_start sub_80F3698
-sub_80F3698: @ 80F3698
- push {r4,lr}
- ldr r0, _080F36DC @ =gUnknown_083DFEC4
- ldr r3, [r0]
- ldr r1, _080F36E0 @ =0x000087dc
- adds r0, r3, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r1, 2
- ldr r4, _080F36E4 @ =0x0000893c
- adds r1, r4
- adds r1, r3, r1
- ldr r2, _080F36E8 @ =0x00008fe9
- adds r0, r3, r2
- movs r2, 0
- ldrsb r2, [r0, r2]
- subs r4, 0x8
- adds r0, r3, r4
- adds r0, r2
- ldr r2, _080F36EC @ =0x000076b4
- adds r3, r2
- ldrb r2, [r3]
- strb r2, [r0]
- ldrb r0, [r1, 0x1]
- ldr r1, [r1]
- lsls r1, 11
- lsrs r1, 27
- ldrb r2, [r3]
- bl sub_80F4548
- bl sub_80F7470
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F36DC: .4byte gUnknown_083DFEC4
-_080F36E0: .4byte 0x000087dc
-_080F36E4: .4byte 0x0000893c
-_080F36E8: .4byte 0x00008fe9
-_080F36EC: .4byte 0x000076b4
- thumb_func_end sub_80F3698
-
- thumb_func_start sub_80F36F0
-sub_80F36F0: @ 80F36F0
- push {lr}
- ldr r0, _080F3718 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F371C @ =0x00000306
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080F3720 @ =0x00006dac
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F3712
-_080F3708:
- bl sub_80F3724
- lsls r0, 24
- cmp r0, 0
- bne _080F3708
-_080F3712:
- pop {r0}
- bx r0
- .align 2, 0
-_080F3718: .4byte gUnknown_083DFEC4
-_080F371C: .4byte 0x00000306
-_080F3720: .4byte 0x00006dac
- thumb_func_end sub_80F36F0
-
- thumb_func_start sub_80F3724
-sub_80F3724: @ 80F3724
- push {r4,lr}
- ldr r0, _080F3740 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F3744 @ =0x00000306
- adds r4, r1, r0
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _080F3764
- cmp r0, 0x1
- bgt _080F3748
- cmp r0, 0
- beq _080F374E
- b _080F377A
- .align 2, 0
-_080F3740: .4byte gUnknown_083DFEC4
-_080F3744: .4byte 0x00000306
-_080F3748:
- cmp r0, 0x2
- beq _080F376E
- b _080F377A
-_080F374E:
- ldr r0, _080F375C @ =gUnknown_083E3D00
- ldr r2, _080F3760 @ =0x0000984c
- adds r1, r2
- bl LZ77UnCompWram
- b _080F377E
- .align 2, 0
-_080F375C: .4byte gUnknown_083E3D00
-_080F3760: .4byte 0x0000984c
-_080F3764:
- bl sub_80F379C
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080F376E:
- bl sub_80F37D0
- lsls r0, 24
- cmp r0, 0
- beq _080F377E
- b _080F378C
-_080F377A:
- movs r0, 0
- b _080F378E
-_080F377E:
- ldr r0, _080F3794 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F3798 @ =0x00000306
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F378C:
- movs r0, 0x1
-_080F378E:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F3794: .4byte gUnknown_083DFEC4
-_080F3798: .4byte 0x00000306
- thumb_func_end sub_80F3724
-
- thumb_func_start sub_80F379C
-sub_80F379C: @ 80F379C
- push {lr}
- ldr r0, _080F37C4 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F37C8 @ =0x0000bc93
- adds r2, r0, r1
- movs r1, 0
- strb r1, [r2]
- ldr r1, _080F37CC @ =0x00006dac
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F37BE
-_080F37B4:
- bl sub_80F37D0
- lsls r0, 24
- cmp r0, 0
- bne _080F37B4
-_080F37BE:
- pop {r0}
- bx r0
- .align 2, 0
-_080F37C4: .4byte gUnknown_083DFEC4
-_080F37C8: .4byte 0x0000bc93
-_080F37CC: .4byte 0x00006dac
- thumb_func_end sub_80F379C
-
- thumb_func_start sub_80F37D0
-sub_80F37D0: @ 80F37D0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _080F3898 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080F389C @ =0x0000bc93
- adds r1, r2
- ldrb r1, [r1]
- adds r2, r0, 0
- cmp r1, 0xB
- bhi _080F38A8
- movs r3, 0
- mov r8, r3
- movs r7, 0xF
- mov r9, r7
-_080F37F0:
- ldr r2, [r2]
- ldr r1, _080F389C @ =0x0000bc93
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r0, r1, 8
- ldr r3, _080F38A0 @ =0x0000984c
- adds r0, r3
- adds r4, r2, r0
- lsls r1, 9
- ldr r7, _080F38A4 @ =0x0000a44c
- adds r1, r7
- adds r5, r2, r1
- movs r6, 0
-_080F380A:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x10
- bl CpuFastSet
- adds r5, 0x40
- adds r4, 0x20
- movs r1, 0
- adds r6, 0x1
- mov r12, r6
-_080F381E:
- movs r0, 0
- adds r6, r1, 0x1
-_080F3822:
- adds r4, 0x4
- movs r2, 0
- adds r3, r0, 0x1
-_080F3828:
- subs r4, 0x1
- ldrb r0, [r4]
- lsls r1, r0, 4
- lsrs r0, 4
- mov r7, r9
- ands r0, r7
- orrs r1, r0
- strb r1, [r5]
- adds r5, 0x1
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080F3828
- adds r4, 0x4
- lsls r0, r3, 24
- lsrs r0, 24
- cmp r0, 0x7
- bls _080F3822
- subs r4, 0x40
- lsls r0, r6, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bls _080F381E
- adds r4, 0x60
- mov r1, r12
- lsls r0, r1, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _080F380A
- ldr r2, _080F3898 @ =gUnknown_083DFEC4
- ldr r3, [r2]
- ldr r7, _080F389C @ =0x0000bc93
- adds r1, r3, r7
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB
- bhi _080F38A8
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0x1
- bls _080F37F0
- adds r1, r7, 0
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0xB
- bhi _080F38A8
- movs r0, 0x1
- b _080F38AA
- .align 2, 0
-_080F3898: .4byte gUnknown_083DFEC4
-_080F389C: .4byte 0x0000bc93
-_080F38A0: .4byte 0x0000984c
-_080F38A4: .4byte 0x0000a44c
-_080F38A8:
- movs r0, 0
-_080F38AA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80F37D0
-
- thumb_func_start sub_80F38B8
-sub_80F38B8: @ 80F38B8
- push {lr}
- ldr r0, _080F38E0 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F38E4 @ =0x00000306
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080F38E8 @ =0x00006dac
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F38DA
-_080F38D0:
- bl sub_80F38EC
- lsls r0, 24
- cmp r0, 0
- bne _080F38D0
-_080F38DA:
- pop {r0}
- bx r0
- .align 2, 0
-_080F38E0: .4byte gUnknown_083DFEC4
-_080F38E4: .4byte 0x00000306
-_080F38E8: .4byte 0x00006dac
- thumb_func_end sub_80F38B8
-
- thumb_func_start sub_80F38EC
-sub_80F38EC: @ 80F38EC
- push {r4,lr}
- ldr r0, _080F3908 @ =gUnknown_083DFEC4
- ldr r2, [r0]
- ldr r0, _080F390C @ =0x00000306
- adds r4, r2, r0
- ldrh r1, [r4]
- cmp r1, 0x1
- beq _080F3930
- cmp r1, 0x1
- bgt _080F3910
- cmp r1, 0
- beq _080F391A
- b _080F394E
- .align 2, 0
-_080F3908: .4byte gUnknown_083DFEC4
-_080F390C: .4byte 0x00000306
-_080F3910:
- cmp r1, 0x2
- beq _080F3938
- cmp r1, 0x3
- beq _080F3942
- b _080F394E
-_080F391A:
- ldr r3, _080F3928 @ =0x00009348
- adds r0, r2, r3
- str r1, [r0]
- ldr r3, _080F392C @ =0x0000bc92
- adds r0, r2, r3
- strb r1, [r0]
- b _080F3952
- .align 2, 0
-_080F3928: .4byte 0x00009348
-_080F392C: .4byte 0x0000bc92
-_080F3930:
- movs r0, 0
- bl sub_80F2E18
- b _080F3952
-_080F3938:
- bl sub_80F3970
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080F3942:
- bl sub_80F39A4
- lsls r0, 24
- cmp r0, 0
- beq _080F3952
- b _080F3960
-_080F394E:
- movs r0, 0
- b _080F3962
-_080F3952:
- ldr r0, _080F3968 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F396C @ =0x00000306
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F3960:
- movs r0, 0x1
-_080F3962:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F3968: .4byte gUnknown_083DFEC4
-_080F396C: .4byte 0x00000306
- thumb_func_end sub_80F38EC
-
- thumb_func_start sub_80F3970
-sub_80F3970: @ 80F3970
- push {lr}
- ldr r0, _080F3998 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F399C @ =0x0000bc93
- adds r2, r0, r1
- movs r1, 0
- strb r1, [r2]
- ldr r1, _080F39A0 @ =0x00006dac
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F3992
-_080F3988:
- bl sub_80F39A4
- lsls r0, 24
- cmp r0, 0
- bne _080F3988
-_080F3992:
- pop {r0}
- bx r0
- .align 2, 0
-_080F3998: .4byte gUnknown_083DFEC4
-_080F399C: .4byte 0x0000bc93
-_080F39A0: .4byte 0x00006dac
- thumb_func_end sub_80F3970
-
- thumb_func_start sub_80F39A4
-sub_80F39A4: @ 80F39A4
- push {r4,r5,lr}
- sub sp, 0x10
- ldr r0, _080F3A18 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F3A1C @ =0x0000bc93
- adds r4, r1, r0
- ldrb r0, [r4]
- cmp r0, 0xB
- bhi _080F3A30
- ldrb r0, [r4]
- lsls r0, 9
- ldr r2, _080F3A20 @ =0x0000a44c
- adds r0, r2
- adds r0, r1, r0
- str r0, [sp]
- ldr r5, _080F3A24 @ =0xffff0000
- ldr r2, [sp, 0x4]
- ands r2, r5
- movs r0, 0x80
- lsls r0, 2
- orrs r2, r0
- str r2, [sp, 0x4]
- ldrb r1, [r4]
- adds r1, 0xB
- lsls r1, 16
- ldr r0, _080F3A28 @ =0x0000ffff
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- ldrb r0, [r4]
- cmp r0, 0x4
- bhi _080F3A04
- lsls r0, 5
- ldr r1, _080F3A2C @ =gUnknown_083E3C60
- adds r0, r1
- str r0, [sp, 0x8]
- ldrb r2, [r4]
- adds r2, 0xA
- add r0, sp, 0x8
- ldr r1, [r0, 0x4]
- ands r1, r5
- orrs r1, r2
- str r1, [r0, 0x4]
- bl LoadSpritePalette
-_080F3A04:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB
- bhi _080F3A30
- movs r0, 0x1
- b _080F3A32
- .align 2, 0
-_080F3A18: .4byte gUnknown_083DFEC4
-_080F3A1C: .4byte 0x0000bc93
-_080F3A20: .4byte 0x0000a44c
-_080F3A24: .4byte 0xffff0000
-_080F3A28: .4byte 0x0000ffff
-_080F3A2C: .4byte gUnknown_083E3C60
-_080F3A30:
- movs r0, 0
-_080F3A32:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80F39A4
-
- thumb_func_start sub_80F3A3C
-sub_80F3A3C: @ 80F3A3C
- push {r4-r7,lr}
- sub sp, 0x18
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- cmp r4, 0x2
- bhi _080F3A60
- lsls r0, r4, 3
- adds r0, r4
- adds r0, r5, r0
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r2, _080F3A5C @ =gUnknown_083DFEC4
- b _080F3A78
- .align 2, 0
-_080F3A5C: .4byte gUnknown_083DFEC4
-_080F3A60:
- ldr r2, _080F3AD0 @ =gUnknown_083DFEC4
- ldr r1, [r2]
- ldr r3, _080F3AD4 @ =0x0000bc8e
- adds r0, r1, r3
- ldrb r0, [r0]
- ldr r6, _080F3AD8 @ =0x0000bc8f
- adds r1, r6
- ldrb r1, [r1]
- subs r0, r1
- adds r0, r5, r0
- lsls r0, 16
- lsrs r1, r0, 16
-_080F3A78:
- ldr r0, [r2]
- ldr r7, _080F3ADC @ =0x0000bc4c
- adds r0, r7
- adds r0, r1
- ldrb r2, [r0]
- mov r1, sp
- ldr r0, _080F3AE0 @ =gSpriteTemplate_83E476C
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- mov r3, sp
- ldr r1, _080F3AE4 @ =gUnknown_083E4698
- lsls r2, 2
- adds r0, r2, r1
- ldrh r0, [r0]
- adds r0, 0xB
- strh r0, [r3]
- adds r1, 0x2
- adds r2, r1
- ldrh r0, [r2]
- adds r0, 0xA
- strh r0, [r3, 0x2]
- lsls r1, r5, 20
- movs r0, 0xC0
- lsls r0, 15
- adds r1, r0
- asrs r1, 16
- lsls r2, r4, 20
- movs r3, 0xA0
- lsls r3, 14
- adds r2, r3
- asrs r2, 16
- mov r0, sp
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- bne _080F3AE8
- movs r0, 0
- b _080F3AF2
- .align 2, 0
-_080F3AD0: .4byte gUnknown_083DFEC4
-_080F3AD4: .4byte 0x0000bc8e
-_080F3AD8: .4byte 0x0000bc8f
-_080F3ADC: .4byte 0x0000bc4c
-_080F3AE0: .4byte gSpriteTemplate_83E476C
-_080F3AE4: .4byte gUnknown_083E4698
-_080F3AE8:
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F3AFC @ =gSprites
- adds r0, r1
-_080F3AF2:
- add sp, 0x18
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080F3AFC: .4byte gSprites
- thumb_func_end sub_80F3A3C
-
- thumb_func_start sub_80F3B00
-sub_80F3B00: @ 80F3B00
- push {r4,lr}
- ldr r0, _080F3B34 @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r1, _080F3B38 @ =0x0000bc90
- adds r0, r4, r1
- ldrb r0, [r0]
- ldr r2, _080F3B3C @ =0x0000bc91
- adds r1, r4, r2
- ldrb r1, [r1]
- bl sub_80F3A3C
- adds r2, r0, 0
- ldr r1, _080F3B40 @ =0x00009348
- adds r0, r4, r1
- str r2, [r0]
- cmp r2, 0
- beq _080F3B48
- adds r0, r2, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r2, _080F3B44 @ =0x0000bc92
- adds r1, r4, r2
- movs r0, 0x1
- strb r0, [r1]
- b _080F3B4E
- .align 2, 0
-_080F3B34: .4byte gUnknown_083DFEC4
-_080F3B38: .4byte 0x0000bc90
-_080F3B3C: .4byte 0x0000bc91
-_080F3B40: .4byte 0x00009348
-_080F3B44: .4byte 0x0000bc92
-_080F3B48:
- ldr r1, _080F3B54 @ =0x0000bc92
- adds r0, r4, r1
- strb r2, [r0]
-_080F3B4E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3B54: .4byte 0x0000bc92
- thumb_func_end sub_80F3B00
-
- thumb_func_start sub_80F3B58
-sub_80F3B58: @ 80F3B58
- push {lr}
- ldr r0, _080F3B6C @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F3B70 @ =0x0000bc92
- adds r2, r1, r0
- ldrb r0, [r2]
- cmp r0, 0
- bne _080F3B74
- movs r0, 0
- b _080F3B8A
- .align 2, 0
-_080F3B6C: .4byte gUnknown_083DFEC4
-_080F3B70: .4byte 0x0000bc92
-_080F3B74:
- ldr r3, _080F3B90 @ =0x00009348
- adds r0, r1, r3
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r0, [r0]
- lsrs r0, 5
- movs r1, 0x1
- eors r0, r1
- ands r0, r1
- strb r0, [r2]
- ldrb r0, [r2]
-_080F3B8A:
- pop {r1}
- bx r1
- .align 2, 0
-_080F3B90: .4byte 0x00009348
- thumb_func_end sub_80F3B58
-
- thumb_func_start sub_80F3B94
-sub_80F3B94: @ 80F3B94
- push {r4,lr}
- ldr r0, _080F3BB8 @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r1, _080F3BBC @ =0x00009348
- adds r0, r4, r1
- ldr r2, [r0]
- cmp r2, 0
- beq _080F3BC4
- adds r0, r2, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- ldr r0, _080F3BC0 @ =0x0000bc92
- adds r1, r4, r0
- movs r0, 0x1
- strb r0, [r1]
- b _080F3BCA
- .align 2, 0
-_080F3BB8: .4byte gUnknown_083DFEC4
-_080F3BBC: .4byte 0x00009348
-_080F3BC0: .4byte 0x0000bc92
-_080F3BC4:
- ldr r1, _080F3BD0 @ =0x0000bc92
- adds r0, r4, r1
- strb r2, [r0]
-_080F3BCA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3BD0: .4byte 0x0000bc92
- thumb_func_end sub_80F3B94
-
- thumb_func_start sub_80F3BD4
-sub_80F3BD4: @ 80F3BD4
- push {r4-r6,lr}
- ldr r0, _080F3C18 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F3C1C @ =0x0000bc92
- adds r5, r1, r0
- ldrb r0, [r5]
- cmp r0, 0
- beq _080F3C24
- ldr r0, _080F3C20 @ =0x00009348
- adds r4, r1, r0
- ldr r0, [r4]
- adds r0, 0x3F
- ldrb r0, [r0]
- lsrs r0, 5
- movs r1, 0x1
- eors r0, r1
- ands r0, r1
- strb r0, [r5]
- adds r6, r0, 0
- cmp r6, 0
- bne _080F3C12
- ldr r0, [r4]
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldr r0, [r4]
- bl DestroySprite
- str r6, [r4]
-_080F3C12:
- ldrb r0, [r5]
- b _080F3C26
- .align 2, 0
-_080F3C18: .4byte gUnknown_083DFEC4
-_080F3C1C: .4byte 0x0000bc92
-_080F3C20: .4byte 0x00009348
-_080F3C24:
- movs r0, 0
-_080F3C26:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80F3BD4
-
- thumb_func_start sub_80F3C2C
-sub_80F3C2C: @ 80F3C2C
- push {r4,lr}
- ldr r0, _080F3C8C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F3C90 @ =0x00009348
- adds r4, r0, r1
- ldr r0, [r4]
- cmp r0, 0
- beq _080F3C50
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldr r0, [r4]
- bl DestroySprite
- movs r0, 0
- str r0, [r4]
-_080F3C50:
- movs r4, 0
-_080F3C52:
- adds r0, r4, 0
- adds r0, 0xB
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpriteTilesByTag
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xB
- bls _080F3C52
- movs r4, 0
-_080F3C6A:
- adds r0, r4, 0
- adds r0, 0xA
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpritePaletteByTag
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _080F3C6A
- bl sub_80F2F48
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3C8C: .4byte gUnknown_083DFEC4
-_080F3C90: .4byte 0x00009348
- thumb_func_end sub_80F3C2C
-
- thumb_func_start sub_80F3C94
-sub_80F3C94: @ 80F3C94
- push {lr}
- sub sp, 0x10
- ldr r0, _080F3CDC @ =gUnknown_083E4784
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, _080F3CE0 @ =gUnknown_083E478C
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- mov r0, sp
- bl LoadSpriteSheet
- add r0, sp, 0x8
- bl LoadSpritePalette
- movs r1, 0
- ldr r0, _080F3CE4 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- movs r3, 0x88
- lsls r3, 8
- adds r2, r0, r3
- movs r3, 0
-_080F3CC6:
- lsls r0, r1, 2
- adds r0, r2, r0
- str r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x9
- bls _080F3CC6
- add sp, 0x10
- pop {r0}
- bx r0
- .align 2, 0
-_080F3CDC: .4byte gUnknown_083E4784
-_080F3CE0: .4byte gUnknown_083E478C
-_080F3CE4: .4byte gUnknown_083DFEC4
- thumb_func_end sub_80F3C94
-
- thumb_func_start sub_80F3CE8
-sub_80F3CE8: @ 80F3CE8
- push {lr}
- bl move_anim_execute
- movs r0, 0x17
- bl FreeSpriteTilesByTag
- movs r0, 0xF
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- thumb_func_end sub_80F3CE8
-
- thumb_func_start sub_80F3D00
-sub_80F3D00: @ 80F3D00
- push {r4,r5,lr}
- ldr r0, _080F3D34 @ =gUnknown_083DFEC4
- ldr r2, [r0]
- ldr r1, _080F3D38 @ =0x000087dc
- adds r0, r2, r1
- movs r3, 0
- ldrsh r0, [r0, r3]
- lsls r0, 2
- ldr r1, _080F3D3C @ =0x0000893c
- adds r0, r1
- adds r0, r2, r0
- ldrb r1, [r0, 0x3]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080F3D94
- ldr r3, _080F3D40 @ =0x00008fe9
- adds r0, r2, r3
- movs r1, 0
- ldrsb r1, [r0, r1]
- ldr r3, _080F3D44 @ =0x00008931
- adds r0, r2, r3
- adds r0, r1
- ldrb r5, [r0]
- movs r4, 0
- b _080F3D86
- .align 2, 0
-_080F3D34: .4byte gUnknown_083DFEC4
-_080F3D38: .4byte 0x000087dc
-_080F3D3C: .4byte 0x0000893c
-_080F3D40: .4byte 0x00008fe9
-_080F3D44: .4byte 0x00008931
-_080F3D48:
- ldr r0, _080F3D9C @ =gSpriteTemplate_83E4800
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080F3D8C
- ldr r0, _080F3DA0 @ =gUnknown_083DFEC4
- ldr r2, [r0]
- lsls r0, r4, 2
- movs r3, 0x88
- lsls r3, 8
- adds r2, r3
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F3DA4 @ =gSprites
- adds r0, r1
- str r0, [r2]
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_080F3D86:
- adds r0, r5, 0x1
- cmp r4, r0
- blt _080F3D48
-_080F3D8C:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80F3F20
-_080F3D94:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3D9C: .4byte gSpriteTemplate_83E4800
-_080F3DA0: .4byte gUnknown_083DFEC4
-_080F3DA4: .4byte gSprites
- thumb_func_end sub_80F3D00
-
- thumb_func_start move_anim_execute
-move_anim_execute: @ 80F3DA8
- push {r4-r6,lr}
- movs r5, 0
- ldr r0, _080F3DD8 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- movs r1, 0x88
- lsls r1, 8
- adds r6, r0, r1
-_080F3DB6:
- lsls r0, r5, 2
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080F3DD2
- bl DestroySprite
- movs r0, 0
- str r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x9
- bls _080F3DB6
-_080F3DD2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3DD8: .4byte gUnknown_083DFEC4
- thumb_func_end move_anim_execute
-
- thumb_func_start sub_80F3DDC
-sub_80F3DDC: @ 80F3DDC
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _080F3DFE
- movs r0, 0
- strh r0, [r1, 0x30]
- ldrh r0, [r1, 0x32]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_80F3F20
-_080F3DFE:
- pop {r0}
- bx r0
- thumb_func_end sub_80F3DDC
-
- thumb_func_start sub_80F3E04
-sub_80F3E04: @ 80F3E04
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080F3E1C
- movs r0, 0
- strh r0, [r2, 0x30]
- ldr r0, _080F3E20 @ =sub_80F3DDC
- str r0, [r2, 0x1C]
-_080F3E1C:
- pop {r0}
- bx r0
- .align 2, 0
-_080F3E20: .4byte sub_80F3DDC
- thumb_func_end sub_80F3E04
-
- thumb_func_start sub_80F3E24
-sub_80F3E24: @ 80F3E24
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r0, _080F3E64 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F3E68 @ =0x00008768
- adds r4, r0, r1
- ldr r0, [r4]
- cmp r0, 0
- beq _080F3E70
- ldrh r1, [r0, 0x24]
- ldrh r0, [r0, 0x20]
- adds r1, r0
- ldr r2, _080F3E6C @ =gUnknown_083E4794
- movs r5, 0x2E
- ldrsh r0, [r3, r5]
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0]
- adds r0, r1
- strh r0, [r3, 0x20]
- ldr r0, [r4]
- ldrh r1, [r0, 0x26]
- ldrh r0, [r0, 0x22]
- adds r1, r0
- movs r4, 0x2E
- ldrsh r0, [r3, r4]
- lsls r0, 2
- adds r2, 0x2
- adds r0, r2
- ldrh r0, [r0]
- adds r0, r1
- b _080F3E8E
- .align 2, 0
-_080F3E64: .4byte gUnknown_083DFEC4
-_080F3E68: .4byte 0x00008768
-_080F3E6C: .4byte gUnknown_083E4794
-_080F3E70:
- ldr r1, _080F3E98 @ =gUnknown_083E4794
- movs r5, 0x2E
- ldrsh r0, [r3, r5]
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0]
- adds r0, 0x28
- strh r0, [r3, 0x20]
- movs r2, 0x2E
- ldrsh r0, [r3, r2]
- lsls r0, 2
- adds r1, 0x2
- adds r0, r1
- ldrh r0, [r0]
- adds r0, 0x68
-_080F3E8E:
- strh r0, [r3, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3E98: .4byte gUnknown_083E4794
- thumb_func_end sub_80F3E24
-
- thumb_func_start sub_80F3E9C
-sub_80F3E9C: @ 80F3E9C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080F3ECA
- subs r0, r1, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080F3F14
- adds r0, r4, 0
- movs r1, 0
- bl SeekSpriteAnim
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080F3ECA:
- adds r0, r4, 0
- bl sub_80F3E24
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080F3F14
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080F3F10
- cmp r1, 0x9
- bne _080F3F08
- bl sub_80F3FAC
- ldr r0, _080F3F04 @ =sub_80F3E04
- b _080F3F12
- .align 2, 0
-_080F3F04: .4byte sub_80F3E04
-_080F3F08:
- ldr r0, _080F3F0C @ =sub_80F3DDC
- b _080F3F12
- .align 2, 0
-_080F3F0C: .4byte sub_80F3DDC
-_080F3F10:
- ldr r0, _080F3F1C @ =SpriteCallbackDummy
-_080F3F12:
- str r0, [r4, 0x1C]
-_080F3F14:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3F1C: .4byte SpriteCallbackDummy
- thumb_func_end sub_80F3E9C
-
- thumb_func_start sub_80F3F20
-sub_80F3F20: @ 80F3F20
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- movs r5, 0
- ldr r0, _080F3F6C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- movs r1, 0x88
- lsls r1, 8
- adds r7, r0, r1
-_080F3F3C:
- lsls r0, r5, 2
- adds r4, r7, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080F3F92
- strh r5, [r0, 0x2E]
- ldr r1, [r4]
- lsls r0, r5, 4
- adds r0, 0x1
- strh r0, [r1, 0x30]
- ldr r0, [r4]
- strh r6, [r0, 0x32]
- ldr r0, [r4]
- strh r5, [r0, 0x34]
- mov r3, r8
- cmp r3, 0
- beq _080F3F62
- cmp r6, 0x9
- beq _080F3F74
-_080F3F62:
- ldr r1, [r4]
- ldr r0, _080F3F70 @ =sub_80F3E9C
- str r0, [r1, 0x1C]
- b _080F3F92
- .align 2, 0
-_080F3F6C: .4byte gUnknown_083DFEC4
-_080F3F70: .4byte sub_80F3E9C
-_080F3F74:
- ldr r0, [r4]
- bl sub_80F3E24
- bl sub_80F3FAC
- ldr r2, [r4]
- ldr r0, _080F3FA8 @ =sub_80F3E04
- str r0, [r2, 0x1C]
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r3, 0x5
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- strb r0, [r2]
-_080F3F92:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x9
- bls _080F3F3C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3FA8: .4byte sub_80F3E04
- thumb_func_end sub_80F3F20
-
- thumb_func_start sub_80F3FAC
-sub_80F3FAC: @ 80F3FAC
- push {r4-r7,lr}
- movs r5, 0
- ldr r0, _080F3FEC @ =gUnknown_083DFEC4
- ldr r0, [r0]
- movs r1, 0x88
- lsls r1, 8
- adds r6, r0, r1
- movs r0, 0x5
- negs r0, r0
- adds r7, r0, 0
-_080F3FC0:
- lsls r0, r5, 2
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080F3FDA
- movs r1, 0
- bl SeekSpriteAnim
- ldr r1, [r4]
- adds r1, 0x3E
- ldrb r0, [r1]
- ands r0, r7
- strb r0, [r1]
-_080F3FDA:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x9
- bls _080F3FC0
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3FEC: .4byte gUnknown_083DFEC4
- thumb_func_end sub_80F3FAC
-
- thumb_func_start sub_80F3FF0
-sub_80F3FF0: @ 80F3FF0
- push {lr}
- ldr r0, _080F4018 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F401C @ =0x00000306
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080F4020 @ =0x00006dac
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F4012
-_080F4008:
- bl sub_80F4024
- lsls r0, 24
- cmp r0, 0
- bne _080F4008
-_080F4012:
- pop {r0}
- bx r0
- .align 2, 0
-_080F4018: .4byte gUnknown_083DFEC4
-_080F401C: .4byte 0x00000306
-_080F4020: .4byte 0x00006dac
- thumb_func_end sub_80F3FF0
-
- thumb_func_start sub_80F4024
-sub_80F4024: @ 80F4024
- push {r4,lr}
- sub sp, 0x10
- ldr r0, _080F4040 @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r1, _080F4044 @ =0x00000306
- adds r0, r4, r1
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _080F4068
- cmp r0, 0x1
- bgt _080F4048
- cmp r0, 0
- beq _080F4052
- b _080F4106
- .align 2, 0
-_080F4040: .4byte gUnknown_083DFEC4
-_080F4044: .4byte 0x00000306
-_080F4048:
- cmp r0, 0x2
- beq _080F4084
- cmp r0, 0x3
- beq _080F40B8
- b _080F4106
-_080F4052:
- ldr r0, _080F4060 @ =gUnknown_083E329C
- ldr r2, _080F4064 @ =0x000131e4
- adds r1, r4, r2
- bl LZ77UnCompWram
- b _080F4118
- .align 2, 0
-_080F4060: .4byte gUnknown_083E329C
-_080F4064: .4byte 0x000131e4
-_080F4068:
- ldr r1, _080F407C @ =0x000131e4
- adds r0, r4, r1
- str r0, [sp]
- ldr r0, _080F4080 @ =0x00181000
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- b _080F4118
- .align 2, 0
-_080F407C: .4byte 0x000131e4
-_080F4080: .4byte 0x00181000
-_080F4084:
- ldr r0, _080F40B4 @ =gUnknown_083E4818
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- add r0, sp, 0x8
- bl LoadSpritePalette
- movs r0, 0x10
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xC2
- lsls r1, 2
- adds r2, r4, r1
- adds r0, 0x10
- movs r1, 0x1
- lsls r1, r0
- movs r0, 0x3
- negs r0, r0
- bics r0, r1
- str r0, [r2]
- b _080F4118
- .align 2, 0
-_080F40B4: .4byte gUnknown_083E4818
-_080F40B8:
- ldr r0, _080F40E4 @ =gSpriteTemplate_83E4850
- movs r1, 0xDA
- movs r2, 0xE
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080F40F0
- ldr r0, _080F40E8 @ =0x00006d98
- adds r2, r4, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F40EC @ =gSprites
- adds r0, r1
- str r0, [r2]
- movs r1, 0
- strh r1, [r0, 0x2E]
- b _080F40F8
- .align 2, 0
-_080F40E4: .4byte gSpriteTemplate_83E4850
-_080F40E8: .4byte 0x00006d98
-_080F40EC: .4byte gSprites
-_080F40F0:
- ldr r2, _080F410C @ =0x00006d98
- adds r1, r4, r2
- movs r0, 0
- str r0, [r1]
-_080F40F8:
- ldr r0, _080F4110 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F4114 @ =0x00000306
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F4106:
- movs r0, 0
- b _080F4128
- .align 2, 0
-_080F410C: .4byte 0x00006d98
-_080F4110: .4byte gUnknown_083DFEC4
-_080F4114: .4byte 0x00000306
-_080F4118:
- ldr r0, _080F4130 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080F4134 @ =0x00000306
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
-_080F4128:
- add sp, 0x10
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F4130: .4byte gUnknown_083DFEC4
-_080F4134: .4byte 0x00000306
- thumb_func_end sub_80F4024
-
- thumb_func_start sub_80F4138
-sub_80F4138: @ 80F4138
- push {lr}
- adds r2, r0, 0
- ldr r0, _080F4170 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- ldrh r0, [r0]
- negs r0, r0
- strh r0, [r2, 0x26]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bgt _080F4174
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _080F418E
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x1
- b _080F418C
- .align 2, 0
-_080F4170: .4byte gUnknown_083DFEC4
-_080F4174:
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _080F418E
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r3]
- movs r0, 0
-_080F418C:
- strh r0, [r2, 0x2E]
-_080F418E:
- pop {r0}
- bx r0
- thumb_func_end sub_80F4138
-
- thumb_func_start sub_80F4194
-sub_80F4194: @ 80F4194
- push {r4-r7,lr}
- sub sp, 0x4
- adds r7, r0, 0
- adds r2, r1, 0
- ldr r0, _080F42A4 @ =gUnknown_083DFEC8
- ldr r6, [r0]
- mov r0, sp
- ldr r1, _080F42A8 @ =0x00001111
- adds r5, r1, 0
- strh r5, [r0]
- ldr r4, _080F42AC @ =0x040000d4
- str r0, [r4]
- str r6, [r4, 0x4]
- ldr r3, _080F42B0 @ =0x81000140
- str r3, [r4, 0x8]
- ldr r0, [r4, 0x8]
- movs r0, 0x80
- lsls r0, 3
- adds r1, r6, r0
- mov r0, sp
- strh r5, [r0]
- str r0, [r4]
- str r1, [r4, 0x4]
- str r3, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _080F42B4 @ =gWindowTemplate_81E70F0
- adds r1, r6, 0
- bl Text_InitWindow8004E3C
- movs r3, 0x88
- lsls r3, 2
- adds r1, r6, r3
- mov r0, sp
- movs r3, 0
- strh r3, [r0]
- str r0, [r4]
- str r1, [r4, 0x4]
- ldr r2, _080F42B8 @ =0x81000030
- str r2, [r4, 0x8]
- ldr r0, [r4, 0x8]
- movs r0, 0xC4
- lsls r0, 3
- adds r1, r6, r0
- mov r0, sp
- strh r3, [r0]
- str r0, [r4]
- str r1, [r4, 0x4]
- str r2, [r4, 0x8]
- ldr r0, [r4, 0x8]
- movs r1, 0x80
- lsls r1, 2
- adds r2, r6, r1
- ldr r0, [r2]
- ldr r1, _080F42BC @ =0x0fffffff
- ands r0, r1
- str r0, [r2]
- ldr r0, [r2, 0x4]
- ands r0, r1
- str r0, [r2, 0x4]
- ldr r0, [r2, 0x8]
- ands r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0xC]
- ands r0, r1
- str r0, [r2, 0xC]
- ldr r0, [r2, 0x10]
- ands r0, r1
- str r0, [r2, 0x10]
- ldr r0, [r2, 0x14]
- ands r0, r1
- str r0, [r2, 0x14]
- ldr r0, [r2, 0x18]
- ands r0, r1
- str r0, [r2, 0x18]
- ldr r0, [r2, 0x1C]
- ands r0, r1
- str r0, [r2, 0x1C]
- movs r3, 0xC0
- lsls r3, 3
- adds r2, r6, r3
- ldr r0, [r2]
- ands r0, r1
- str r0, [r2]
- ldr r0, [r2, 0x4]
- ands r0, r1
- str r0, [r2, 0x4]
- ldr r0, [r2, 0x8]
- ands r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0xC]
- ands r0, r1
- str r0, [r2, 0xC]
- ldr r0, [r2, 0x10]
- ands r0, r1
- str r0, [r2, 0x10]
- ldr r0, [r2, 0x14]
- ands r0, r1
- str r0, [r2, 0x14]
- ldr r0, [r2, 0x18]
- ands r0, r1
- str r0, [r2, 0x18]
- ldr r0, [r2, 0x1C]
- ands r0, r1
- str r0, [r2, 0x1C]
- movs r1, 0
- ldr r2, _080F42C0 @ =0x80000040
-_080F4268:
- lsls r0, r1, 7
- adds r0, r6, r0
- str r0, [r4]
- lsls r0, r1, 8
- adds r0, r7, r0
- str r0, [r4, 0x4]
- str r2, [r4, 0x8]
- ldr r0, [r4, 0x8]
- lsls r0, r1, 7
- movs r3, 0x80
- lsls r3, 3
- adds r0, r3
- adds r0, r6, r0
- str r0, [r4]
- lsls r0, r1, 3
- adds r0, 0x4
- lsls r0, 5
- adds r0, r7, r0
- str r0, [r4, 0x4]
- str r2, [r4, 0x8]
- ldr r0, [r4, 0x8]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _080F4268
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F42A4: .4byte gUnknown_083DFEC8
-_080F42A8: .4byte 0x00001111
-_080F42AC: .4byte 0x040000d4
-_080F42B0: .4byte 0x81000140
-_080F42B4: .4byte gWindowTemplate_81E70F0
-_080F42B8: .4byte 0x81000030
-_080F42BC: .4byte 0x0fffffff
-_080F42C0: .4byte 0x80000040
- thumb_func_end sub_80F4194
-
- thumb_func_start sub_80F42C4
-sub_80F42C4: @ 80F42C4
- push {r4-r7,lr}
- sub sp, 0x8
- adds r1, r0, 0
- ldr r0, _080F433C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080F4340 @ =0x0000d1e4
- adds r0, r2
- str r0, [sp]
- ldr r2, _080F4344 @ =0x001a0500
- str r2, [sp, 0x4]
- bl sub_80F4194
- mov r0, sp
- bl LoadSpriteSheet
- ldr r0, _080F4348 @ =gUnknown_083E4868
- bl LoadSpritePalette
- movs r5, 0
- movs r4, 0
- ldr r6, _080F434C @ =gSprites
-_080F42EE:
- lsls r1, r4, 21
- movs r7, 0xE2
- lsls r7, 15
- adds r1, r7
- asrs r1, 16
- ldr r0, _080F4350 @ =gSpriteTemplate_83E4878
- movs r2, 0x10
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080F4360
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- adds r3, r6
- ldrh r2, [r3, 0x4]
- lsls r0, r2, 22
- lsrs r0, 22
- adds r0, r5, r0
- ldr r7, _080F4354 @ =0x000003ff
- adds r1, r7, 0
- ands r0, r1
- ldr r7, _080F4358 @ =0xfffffc00
- adds r1, r7, 0
- ands r2, r1
- orrs r2, r0
- strh r2, [r3, 0x4]
- ldr r0, _080F433C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, _080F435C @ =0x0000ced4
- adds r0, r2
- adds r0, r1
- str r3, [r0]
- b _080F4370
- .align 2, 0
-_080F433C: .4byte gUnknown_083DFEC4
-_080F4340: .4byte 0x0000d1e4
-_080F4344: .4byte 0x001a0500
-_080F4348: .4byte gUnknown_083E4868
-_080F434C: .4byte gSprites
-_080F4350: .4byte gSpriteTemplate_83E4878
-_080F4354: .4byte 0x000003ff
-_080F4358: .4byte 0xfffffc00
-_080F435C: .4byte 0x0000ced4
-_080F4360:
- ldr r0, _080F438C @ =gUnknown_083DFEC4
- ldr r1, [r0]
- lsls r0, r4, 2
- ldr r7, _080F4390 @ =0x0000ced4
- adds r1, r7
- adds r1, r0
- movs r0, 0
- str r0, [r1]
-_080F4370:
- adds r0, r5, 0
- adds r0, 0x8
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _080F42EE
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F438C: .4byte gUnknown_083DFEC4
-_080F4390: .4byte 0x0000ced4
- thumb_func_end sub_80F42C4
-
- thumb_func_start sub_80F4394
-sub_80F4394: @ 80F4394
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, _080F43CC @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F43D0 @ =0x0000ced4
- adds r5, r0, r1
-_080F43A0:
- lsls r0, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080F43AE
- bl DestroySprite
-_080F43AE:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _080F43A0
- movs r0, 0x1A
- bl FreeSpriteTilesByTag
- movs r0, 0x12
- bl FreeSpritePaletteByTag
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F43CC: .4byte gUnknown_083DFEC4
-_080F43D0: .4byte 0x0000ced4
- thumb_func_end sub_80F4394
-
- thumb_func_start sub_80F43D4
-sub_80F43D4: @ 80F43D4
- push {r4,lr}
- adds r1, r0, 0
- ldr r0, _080F4410 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080F4414 @ =0x0000d1e4
- adds r4, r0, r2
- adds r0, r4, 0
- bl sub_80F4194
- movs r0, 0x1A
- bl GetSpriteTileStartByTag
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _080F4418 @ =0x0000ffff
- cmp r1, r0
- beq _080F4408
- lsls r0, r1, 5
- ldr r1, _080F441C @ =0x06010000
- adds r0, r1
- ldr r1, _080F4420 @ =0x040000d4
- str r4, [r1]
- str r0, [r1, 0x4]
- ldr r0, _080F4424 @ =0x84000140
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
-_080F4408:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F4410: .4byte gUnknown_083DFEC4
-_080F4414: .4byte 0x0000d1e4
-_080F4418: .4byte 0x0000ffff
-_080F441C: .4byte 0x06010000
-_080F4420: .4byte 0x040000d4
-_080F4424: .4byte 0x84000140
- thumb_func_end sub_80F43D4
-
- thumb_func_start sub_80F4428
-sub_80F4428: @ 80F4428
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r2, 24
- bl sub_80F6514
- pop {r1}
- bx r1
- thumb_func_end sub_80F4428
-
- thumb_func_start sub_80F443C
-sub_80F443C: @ 80F443C
- push {r4,lr}
- lsls r4, r1, 16
- lsrs r4, 16
- ldr r1, _080F4458 @ =gOtherText_Number
- bl StringCopy
- adds r1, r4, 0
- movs r2, 0x38
- movs r3, 0x1
- bl AlignInt1InMenuWindow
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F4458: .4byte gOtherText_Number
- thumb_func_end sub_80F443C
-
- thumb_func_start sub_80F445C
-sub_80F445C: @ 80F445C
- push {r4,lr}
- lsls r1, 16
- lsrs r1, 16
- movs r2, 0x17
- movs r3, 0x1
- bl AlignInt1InMenuWindow
- adds r4, r0, 0
- movs r3, 0xFC
- strb r3, [r4]
- movs r2, 0x11
- strb r2, [r4, 0x1]
- movs r1, 0x1
- strb r1, [r4, 0x2]
- adds r4, 0x3
- movs r0, 0xBA
- strb r0, [r4]
- adds r4, 0x1
- strb r3, [r4]
- strb r2, [r4, 0x1]
- strb r1, [r4, 0x2]
- adds r4, 0x3
- ldr r0, _080F44A8 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F44AC @ =0x00008774
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r1, 0x1
- adds r0, r4, 0
- movs r2, 0x32
- movs r3, 0x1
- bl AlignInt1InMenuWindow
- adds r4, r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F44A8: .4byte gUnknown_083DFEC4
-_080F44AC: .4byte 0x00008774
- thumb_func_end sub_80F445C
-
- thumb_func_start sub_80F44B0
-sub_80F44B0: @ 80F44B0
- push {r4,lr}
- adds r4, r2, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r2, r1, 16
- cmp r0, 0xE
- bne _080F44F4
- cmp r4, 0x2
- beq _080F44C8
- cmp r4, 0x7
- bne _080F44E0
-_080F44C8:
- movs r0, 0x64
- muls r0, r2
- ldr r1, _080F44DC @ =gPlayerParty
- adds r0, r1
- adds r1, r4, 0
- adds r2, r3, 0
- bl GetMonData
- b _080F453C
- .align 2, 0
-_080F44DC: .4byte gPlayerParty
-_080F44E0:
- movs r0, 0x64
- muls r0, r2
- ldr r1, _080F44F0 @ =gPlayerParty
- adds r0, r1
- adds r1, r4, 0
- bl GetMonData
- b _080F453C
- .align 2, 0
-_080F44F0: .4byte gPlayerParty
-_080F44F4:
- cmp r4, 0x2
- beq _080F44FC
- cmp r4, 0x7
- bne _080F4520
-_080F44FC:
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- ldr r2, _080F451C @ =gPokemonStorage + 0x4
- adds r1, r2
- adds r0, r1
- adds r1, r4, 0
- adds r2, r3, 0
- bl GetBoxMonData
- b _080F453C
- .align 2, 0
-_080F451C: .4byte gPokemonStorage + 0x4
-_080F4520:
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- ldr r2, _080F4544 @ =gPokemonStorage + 0x4
- adds r1, r2
- adds r0, r1
- adds r1, r4, 0
- bl GetBoxMonData
-_080F453C:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F4544: .4byte gPokemonStorage + 0x4
- thumb_func_end sub_80F44B0
-
- thumb_func_start sub_80F4548
-sub_80F4548: @ 80F4548
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- mov r0, sp
- strb r2, [r0]
- cmp r3, 0xE
- bne _080F4574
- movs r0, 0x64
- muls r0, r4
- ldr r1, _080F4570 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x8
- mov r2, sp
- bl SetMonData
- b _080F4592
- .align 2, 0
-_080F4570: .4byte gPlayerParty
-_080F4574:
- lsls r1, r3, 2
- adds r1, r3
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- ldr r2, _080F459C @ =gPokemonStorage + 0x4
- adds r1, r2
- adds r0, r1
- movs r1, 0x8
- mov r2, sp
- bl SetBoxMonData
-_080F4592:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F459C: .4byte gPokemonStorage + 0x4
- thumb_func_end sub_80F4548
-
- thumb_func_start sub_80F45A0
-sub_80F45A0: @ 80F45A0
- push {r4-r7,lr}
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r1, _080F45F0 @ =gUnknown_083DFEC4
- ldr r5, [r1]
- lsls r1, r0, 16
- asrs r0, r1, 14
- adds r4, r5, r0
- ldr r2, _080F45F4 @ =0x0000893f
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 25
- lsrs r7, r0, 31
- cmp r7, 0
- beq _080F4644
- lsls r0, r6, 6
- ldr r2, _080F45F8 @ =0x00008829
- adds r0, r2
- adds r0, r5, r0
- lsrs r1, 16
- movs r2, 0
- bl sub_80F4428
- ldr r1, _080F45FC @ =0x0000893d
- adds r0, r4, r1
- ldrb r2, [r0]
- cmp r2, 0xE
- bne _080F4608
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 3
- ldr r2, _080F4600 @ =0x000088e9
- adds r0, r2
- adds r0, r5, r0
- ldr r1, _080F4604 @ =gOtherText_InParty
- movs r2, 0x40
- movs r3, 0
- bl AlignStringInMenuWindow
- b _080F4624
- .align 2, 0
-_080F45F0: .4byte gUnknown_083DFEC4
-_080F45F4: .4byte 0x0000893f
-_080F45F8: .4byte 0x00008829
-_080F45FC: .4byte 0x0000893d
-_080F4600: .4byte 0x000088e9
-_080F4604: .4byte gOtherText_InParty
-_080F4608:
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 3
- ldr r1, _080F4634 @ =0x000088e9
- adds r0, r1
- adds r0, r5, r0
- lsls r1, r2, 3
- adds r1, r2
- ldr r2, _080F4638 @ =gPokemonStorage + 0x8344
- adds r1, r2
- movs r2, 0x40
- movs r3, 0
- bl AlignStringInMenuWindow
-_080F4624:
- ldr r0, _080F463C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080F4640 @ =0x00008937
- adds r0, r2
- adds r0, r6
- movs r1, 0x1
- strb r1, [r0]
- b _080F4676
- .align 2, 0
-_080F4634: .4byte 0x000088e9
-_080F4638: .4byte gPokemonStorage + 0x8344
-_080F463C: .4byte gUnknown_083DFEC4
-_080F4640: .4byte 0x00008937
-_080F4644:
- lsls r0, r6, 6
- ldr r1, _080F467C @ =0x00008829
- adds r0, r1
- adds r0, r5, r0
- ldr r4, _080F4680 @ =gEmptyString_81E72B0
- adds r1, r4, 0
- movs r2, 0x68
- movs r3, 0
- bl AlignStringInMenuWindow
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 3
- ldr r2, _080F4684 @ =0x000088e9
- adds r0, r2
- adds r0, r5, r0
- adds r1, r4, 0
- movs r2, 0x40
- movs r3, 0
- bl AlignStringInMenuWindow
- ldr r1, _080F4688 @ =0x00008937
- adds r0, r5, r1
- adds r0, r6
- strb r7, [r0]
-_080F4676:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F467C: .4byte 0x00008829
-_080F4680: .4byte gEmptyString_81E72B0
-_080F4684: .4byte 0x000088e9
-_080F4688: .4byte 0x00008937
- thumb_func_end sub_80F45A0
-
thumb_func_start sub_80F468C
sub_80F468C: @ 80F468C
push {r4-r7,lr}
@@ -12998,7 +4741,7 @@ _080F6B54:
bl sub_80F66E0
b _080F6BC6
_080F6B6E:
- bl sub_80F1238
+ bl DrawMonRibbonIcons
ldr r0, _080F6B7C @ =gUnknown_083DFEC4
ldr r1, [r0]
ldr r2, _080F6B80 @ =0x000087de
@@ -13715,7 +5458,7 @@ _080F7194: .4byte 0x00008788
_080F7198: .4byte 0x0000876e
_080F719C: .4byte 0x000087de
_080F71A0:
- bl sub_80F0CD8
+ bl LoadTrainerEyesDescriptionLines
ldr r0, _080F71D4 @ =gUnknown_083DFEC4
ldr r1, [r0]
ldr r0, _080F71D8 @ =0x0000bc95