diff options
author | who-knows-who <j.williams.8@warwick.ac.uk> | 2018-08-28 00:26:14 +0100 |
---|---|---|
committer | who-knows-who <j.williams.8@warwick.ac.uk> | 2018-08-28 00:26:14 +0100 |
commit | 70bb9b8f6f9a3169b83b98b266baa3e9923fba3e (patch) | |
tree | 27c6ef336e50779dd090a6468cbf73ad7f39c7a9 /asm | |
parent | 6a7b3033eadef95b9fb8788b3bf7251bc4ee27ae (diff) | |
parent | 3f1288e3e055013e0ab847ba5fea4b566bc31996 (diff) |
Merge branch 'master' of github.com:pret/pokeruby into flying
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_anim_812C144.s | 4783 | ||||
-rw-r--r-- | asm/pokenav.s | 10179 |
2 files changed, 2 insertions, 14960 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/pokenav.s b/asm/pokenav.s index 7fc2348f5..562211a00 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -5,10181 +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} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - ldr r1, _080F475C @ =gUnknown_083DFEC4 - ldr r7, [r1] - lsls r0, 16 - asrs r0, 14 - adds r1, r7, r0 - ldr r2, _080F4760 @ =0x0000893f - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, 25 - cmp r0, 0 - blt _080F46B2 - b _080F47C4 -_080F46B2: - ldr r3, _080F4764 @ =0x0000893d - adds r0, r1, r3 - ldrb r5, [r0] - subs r2, 0x1 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, 27 - lsrs r6, r0, 27 - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0x16 - movs r3, 0 - bl sub_80F44B0 - mov r3, r9 - lsls r3, 2 - mov r8, r3 - mov r4, r8 - add r4, r9 - ldr r2, _080F4768 @ =0x00008ff0 - adds r1, r7, r2 - adds r1, r4 - strb r0, [r1] - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0x2F - movs r3, 0 - bl sub_80F44B0 - ldr r3, _080F476C @ =0x00008ff1 - adds r1, r7, r3 - adds r1, r4 - strb r0, [r1] - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0x21 - movs r3, 0 - bl sub_80F44B0 - ldr r2, _080F4770 @ =0x00008ff2 - adds r1, r7, r2 - adds r1, r4 - strb r0, [r1] - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0x18 - movs r3, 0 - bl sub_80F44B0 - ldr r3, _080F4774 @ =0x00008ff3 - adds r1, r7, r3 - adds r1, r4 - strb r0, [r1] - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0x17 - movs r3, 0 - bl sub_80F44B0 - ldr r2, _080F4778 @ =0x00008ff4 - adds r1, r7, r2 - adds r1, r4 - strb r0, [r1] - ldr r3, _080F477C @ =0x00008931 - adds r0, r7, r3 - mov r7, r9 - adds r4, r0, r7 - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0x30 - movs r3, 0 - bl sub_80F44B0 - cmp r0, 0xFF - beq _080F4780 - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0x30 - movs r3, 0 - bl sub_80F44B0 - movs r1, 0x1D - bl __udivsi3 - b _080F4782 - .align 2, 0 -_080F475C: .4byte gUnknown_083DFEC4 -_080F4760: .4byte 0x0000893f -_080F4764: .4byte 0x0000893d -_080F4768: .4byte 0x00008ff0 -_080F476C: .4byte 0x00008ff1 -_080F4770: .4byte 0x00008ff2 -_080F4774: .4byte 0x00008ff3 -_080F4778: .4byte 0x00008ff4 -_080F477C: .4byte 0x00008931 -_080F4780: - movs r0, 0x9 -_080F4782: - strb r0, [r4] - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0x8 - movs r3, 0 - bl sub_80F44B0 - ldr r1, _080F47B4 @ =gUnknown_083DFEC4 - ldr r1, [r1] - ldr r3, _080F47B8 @ =0x00008934 - adds r2, r1, r3 - add r2, r9 - strb r0, [r2] - mov r2, r8 - add r2, r9 - ldr r7, _080F47BC @ =0x00008ff0 - adds r0, r2, r7 - adds r0, r1, r0 - lsls r2, 2 - ldr r3, _080F47C0 @ =0x00009004 - adds r2, r3 - adds r1, r2 - bl sub_80F55AC - b _080F480A - .align 2, 0 -_080F47B4: .4byte gUnknown_083DFEC4 -_080F47B8: .4byte 0x00008934 -_080F47BC: .4byte 0x00008ff0 -_080F47C0: .4byte 0x00009004 -_080F47C4: - movs r3, 0 - mov r0, r9 - lsls r0, 2 - mov r8, r0 - adds r4, r7, 0 - mov r2, r8 - add r2, r9 - ldr r1, _080F4818 @ =0x00008ff0 - adds r6, r4, r1 - lsls r5, r2, 2 - mov r9, r3 - ldr r7, _080F481C @ =0x00009004 - mov r8, r7 - movs r0, 0x9B - mov r12, r0 -_080F47E2: - adds r0, r3, r2 - adds r0, r6, r0 - mov r1, r9 - strb r1, [r0] - lsls r0, r3, 2 - adds r0, r5 - adds r0, r4, r0 - mov r7, r8 - adds r1, r0, r7 - mov r7, r12 - strh r7, [r1] - ldr r1, _080F4820 @ =0x00009006 - adds r0, r1 - movs r1, 0x5B - strh r1, [r0] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x4 - bls _080F47E2 -_080F480A: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F4818: .4byte 0x00008ff0 -_080F481C: .4byte 0x00009004 -_080F4820: .4byte 0x00009006 - thumb_func_end sub_80F468C - - thumb_func_start sub_80F4824 -sub_80F4824: @ 80F4824 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - ldr r1, _080F48E0 @ =gUnknown_083DFEC4 - ldr r7, [r1] - lsls r0, 16 - asrs r0, 14 - adds r1, r7, r0 - ldr r2, _080F48E4 @ =0x0000893f - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, 25 - cmp r0, 0 - bge _080F48D0 - ldr r6, _080F48E8 @ =0x0000893d - adds r0, r1, r6 - ldrb r6, [r0] - subs r2, 0x1 - adds r0, r1, r2 - ldrb r4, [r0] - lsls r4, 27 - lsrs r4, 27 - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0x41 - movs r3, 0 - bl sub_80F44B0 - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0x1 - movs r3, 0 - bl sub_80F44B0 - mov r8, r0 - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl sub_80F44B0 - adds r4, r0, 0 - lsls r0, r5, 3 - ldr r1, _080F48EC @ =gMonFrontPicTable - adds r0, r1 - ldr r2, _080F48F0 @ =gMonFrontPicCoords - lsls r1, r5, 2 - adds r1, r2 - ldrb r1, [r1] - ldr r6, _080F48F4 @ =0x000131e4 - adds r3, r7, r6 - mov r6, r9 - lsls r2, r6, 13 - ldr r6, _080F48F8 @ =0x0000d1e4 - adds r2, r6 - adds r2, r7, r2 - str r2, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r2, 0x1 - bl HandleLoadSpecialPokePic - adds r0, r5, 0 - mov r1, r8 - adds r2, r4, 0 - bl GetMonSpritePalFromOtIdPersonality - mov r2, r9 - lsls r1, r2, 7 - adds r1, r7, r1 - bl LZ77UnCompWram - mov r6, r9 - lsls r1, r6, 1 - ldr r2, _080F48FC @ =0x0000d1d6 - adds r0, r7, r2 - adds r0, r1 - strh r5, [r0] -_080F48D0: - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F48E0: .4byte gUnknown_083DFEC4 -_080F48E4: .4byte 0x0000893f -_080F48E8: .4byte 0x0000893d -_080F48EC: .4byte gMonFrontPicTable -_080F48F0: .4byte gMonFrontPicCoords -_080F48F4: .4byte 0x000131e4 -_080F48F8: .4byte 0x0000d1e4 -_080F48FC: .4byte 0x0000d1d6 - thumb_func_end sub_80F4824 - - thumb_func_start sub_80F4900 -sub_80F4900: @ 80F4900 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80F45A0 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80F468C - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80F4824 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80F4900 - - thumb_func_start sub_80F492C -sub_80F492C: @ 80F492C - ldr r0, _080F493C @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r1, _080F4940 @ =0x00008fe4 - adds r0, r1 - movs r1, 0 - strh r1, [r0] - bx lr - .align 2, 0 -_080F493C: .4byte gUnknown_083DFEC4 -_080F4940: .4byte 0x00008fe4 - thumb_func_end sub_80F492C - - thumb_func_start sub_80F4944 -sub_80F4944: @ 80F4944 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r12, r0 - movs r2, 0 - ldr r1, _080F4978 @ =gUnknown_083DFEC4 - ldr r5, [r1] - ldr r3, _080F497C @ =0x00008fe4 - adds r0, r5, r3 - ldrh r4, [r0] - lsrs r3, r4, 1 - mov r8, r1 - cmp r4, r3 - beq _080F499C - adds r6, r5, 0 - mov r0, r12 - ldrb r5, [r0] - ldr r7, _080F4980 @ =0x0000893c -_080F4968: - lsls r0, r3, 2 - adds r0, r6, r0 - adds r0, r7 - ldrb r0, [r0] - cmp r5, r0 - bls _080F4984 - adds r4, r3, 0 - b _080F498A - .align 2, 0 -_080F4978: .4byte gUnknown_083DFEC4 -_080F497C: .4byte 0x00008fe4 -_080F4980: .4byte 0x0000893c -_080F4984: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 -_080F498A: - subs r0, r4, r2 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, r2, r0 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r4, r3 - bne _080F4968 -_080F499C: - mov r1, r8 - ldr r2, [r1] - ldr r1, _080F49EC @ =0x00008fe4 - adds r0, r2, r1 - ldrh r4, [r0] - lsls r6, r3, 2 - cmp r4, r3 - bls _080F49C6 - ldr r0, _080F49F0 @ =0x0000893c - adds r5, r2, r0 -_080F49B0: - lsls r2, r4, 2 - adds r2, r5, r2 - subs r1, r4, 0x1 - lsls r0, r1, 2 - adds r0, r5, r0 - ldr r0, [r0] - str r0, [r2] - lsls r1, 16 - lsrs r4, r1, 16 - cmp r4, r3 - bhi _080F49B0 -_080F49C6: - mov r1, r8 - ldr r2, [r1] - ldr r3, _080F49F0 @ =0x0000893c - adds r0, r2, r3 - adds r0, r6 - mov r3, r12 - ldr r1, [r3] - str r1, [r0] - ldr r0, _080F49EC @ =0x00008fe4 - adds r2, r0 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F49EC: .4byte 0x00008fe4 -_080F49F0: .4byte 0x0000893c - thumb_func_end sub_80F4944 - - thumb_func_start sub_80F49F4 -sub_80F49F4: @ 80F49F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r3, _080F4A64 @ =gUnknown_083DFEC4 - ldr r4, [r3] - ldr r7, _080F4A68 @ =0x0000893e - adds r2, r4, r7 - ldrh r1, [r2] - ldr r0, _080F4A6C @ =0xffffc01f - mov r12, r0 - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strh r0, [r2] - movs r5, 0x1 - ldr r1, _080F4A70 @ =0x00008fe4 - adds r0, r4, r1 - ldrh r3, [r0] - cmp r5, r3 - bcs _080F4A9E - adds r6, r4, 0 - ldr r1, _080F4A74 @ =0x0000893c - mov r8, r1 - ldr r3, _080F4A78 @ =0x000001ff - mov r10, r3 - mov r9, r0 -_080F4A2C: - lsls r0, r5, 2 - adds r3, r6, r0 - mov r0, r8 - adds r2, r3, r0 - subs r0, r5, 0x1 - lsls r0, 2 - adds r4, r6, r0 - mov r0, r8 - adds r1, r4, r0 - ldrb r0, [r2] - ldrb r1, [r1] - cmp r0, r1 - bne _080F4A7C - adds r0, r4, r7 - ldrh r0, [r0] - lsls r0, 18 - lsrs r0, 23 - adds r3, r7 - ldr r1, _080F4A78 @ =0x000001ff - ands r1, r0 - lsls r1, 5 - ldrh r2, [r3] - mov r0, r12 - ands r0, r2 - orrs r0, r1 - strh r0, [r3] - adds r4, r5, 0x1 - b _080F4A92 - .align 2, 0 -_080F4A64: .4byte gUnknown_083DFEC4 -_080F4A68: .4byte 0x0000893e -_080F4A6C: .4byte 0xffffc01f -_080F4A70: .4byte 0x00008fe4 -_080F4A74: .4byte 0x0000893c -_080F4A78: .4byte 0x000001ff -_080F4A7C: - adds r4, r5, 0x1 - adds r3, r7 - adds r1, r4, 0 - mov r0, r10 - ands r1, r0 - lsls r1, 5 - ldrh r2, [r3] - mov r0, r12 - ands r0, r2 - orrs r0, r1 - strh r0, [r3] -_080F4A92: - lsls r0, r4, 16 - lsrs r5, r0, 16 - mov r1, r9 - ldrh r1, [r1] - cmp r5, r1 - bcc _080F4A2C -_080F4A9E: - ldr r3, _080F4AC4 @ =gUnknown_083DFEC4 - ldr r2, [r3] - ldr r1, _080F4AC8 @ =0x0000876c - adds r0, r2, r1 - movs r1, 0 - strh r1, [r0] - ldr r3, _080F4ACC @ =0x00008770 - adds r0, r2, r3 - strh r1, [r0] - subs r3, 0x2 - adds r0, r2, r3 - strh r1, [r0] - ldr r1, _080F4AD0 @ =0x00008fe4 - adds r0, r2, r1 - ldrh r0, [r0] - cmp r0, 0x8 - bhi _080F4AD4 - subs r1, r0, 0x1 - b _080F4AD6 - .align 2, 0 -_080F4AC4: .4byte gUnknown_083DFEC4 -_080F4AC8: .4byte 0x0000876c -_080F4ACC: .4byte 0x00008770 -_080F4AD0: .4byte 0x00008fe4 -_080F4AD4: - movs r1, 0x7 -_080F4AD6: - ldr r3, _080F4B10 @ =0x00008772 - adds r0, r2, r3 - strh r1, [r0] - ldr r0, _080F4B14 @ =gUnknown_083DFEC4 - ldr r2, [r0] - ldr r1, _080F4B18 @ =0x00008fe4 - adds r0, r2, r1 - ldrh r0, [r0] - subs r0, 0x1 - adds r3, 0x2 - adds r1, r2, r3 - strh r0, [r1] - movs r1, 0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _080F4AFA - movs r1, 0x1 -_080F4AFA: - ldr r3, _080F4B1C @ =0x000087c9 - adds r0, r2, r3 - strb r1, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F4B10: .4byte 0x00008772 -_080F4B14: .4byte gUnknown_083DFEC4 -_080F4B18: .4byte 0x00008fe4 -_080F4B1C: .4byte 0x000087c9 - thumb_func_end sub_80F49F4 - - thumb_func_start sub_80F4B20 -sub_80F4B20: @ 80F4B20 - push {r4-r6,lr} - ldr r0, _080F4B5C @ =gUnknown_083DFEC4 - ldr r4, [r0] - ldr r0, _080F4B60 @ =0x000087dc - adds r5, r4, r0 - movs r1, 0 - ldrsh r0, [r5, r1] - movs r1, 0 - bl sub_80F4900 - movs r0, 0 - bl sub_80F2E18 - ldr r0, _080F4B64 @ =0x000087da - adds r2, r4, r0 - movs r1, 0 - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bne _080F4B6C - ldr r2, _080F4B68 @ =0x00008fe9 - adds r0, r4, r2 - movs r1, 0 - strb r1, [r0] - adds r2, 0x1 - adds r0, r4, r2 - strb r1, [r0] - adds r2, 0x1 - adds r0, r4, r2 - strb r1, [r0] - b _080F4BBE - .align 2, 0 -_080F4B5C: .4byte gUnknown_083DFEC4 -_080F4B60: .4byte 0x000087dc -_080F4B64: .4byte 0x000087da -_080F4B68: .4byte 0x00008fe9 -_080F4B6C: - ldr r0, _080F4BC4 @ =0x00008fe9 - adds r1, r4, r0 - movs r0, 0 - strb r0, [r1] - ldr r0, _080F4BC8 @ =0x00008fea - adds r1, r4, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r0, _080F4BCC @ =0x00008feb - adds r1, r4, r0 - movs r0, 0x2 - strb r0, [r1] - ldrh r3, [r5] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - ldrh r6, [r2] - movs r4, 0 - ldrsh r1, [r2, r4] - cmp r0, r1 - blt _080F4B9A - movs r5, 0 -_080F4B9A: - subs r0, r3, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r0, 0 - bge _080F4BAA - subs r0, r6, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_080F4BAA: - lsls r0, r5, 16 - asrs r0, 16 - movs r1, 0x1 - bl sub_80F4900 - lsls r0, r4, 16 - asrs r0, 16 - movs r1, 0x2 - bl sub_80F4900 -_080F4BBE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080F4BC4: .4byte 0x00008fe9 -_080F4BC8: .4byte 0x00008fea -_080F4BCC: .4byte 0x00008feb - thumb_func_end sub_80F4B20 - - thumb_func_start sub_80F4BD0 -sub_80F4BD0: @ 80F4BD0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r6, 0 - movs r7, 0 - ldr r0, _080F4CC4 @ =gUnknown_083DFEC4 - ldr r2, [r0] - ldr r3, _080F4CC8 @ =0x00008828 - adds r1, r2, r3 - mov r9, r0 - ldrb r1, [r1] - cmp r7, r1 - bcs _080F4C66 - mov r10, r9 - adds r4, r3, 0 - adds r4, r2 - mov r8, r4 -_080F4BF6: - movs r0, 0x64 - muls r0, r6 - ldr r1, _080F4CCC @ =gPlayerParty - adds r0, r1 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _080F4C58 - mov r0, r10 - ldr r3, [r0] - lsls r0, r7, 2 - adds r3, r0 - ldr r2, _080F4CD0 @ =0x0000893d - adds r1, r3, r2 - movs r0, 0xE - strb r0, [r1] - ldr r4, _080F4CD4 @ =0x0000893e - adds r5, r3, r4 - movs r0, 0x1F - adds r2, r6, 0 - ands r2, r0 - ldrb r0, [r5] - movs r4, 0x20 - negs r4, r4 - adds r1, r4, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5] - adds r4, r7, 0x1 - ldr r7, _080F4CD8 @ =0x000001ff - adds r0, r7, 0 - adds r2, r4, 0 - ands r2, r0 - lsls r2, 5 - ldrh r0, [r5] - ldr r7, _080F4CDC @ =0xffffc01f - adds r1, r7, 0 - ands r0, r1 - orrs r0, r2 - strh r0, [r5] - ldr r0, _080F4CE0 @ =0x0000893f - adds r3, r0 - ldrb r0, [r3] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r3] - lsls r4, 16 - lsrs r7, r4, 16 -_080F4C58: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - mov r1, r8 - ldrb r1, [r1] - cmp r6, r1 - bcc _080F4BF6 -_080F4C66: - mov r2, r9 - ldr r4, [r2] - lsls r1, r7, 2 - adds r1, r4, r1 - ldr r3, _080F4CD0 @ =0x0000893d - adds r0, r1, r3 - movs r5, 0 - strb r5, [r0] - ldr r0, _080F4CD4 @ =0x0000893e - adds r2, r1, r0 - ldrb r3, [r2] - movs r0, 0x20 - negs r0, r0 - ands r0, r3 - strb r0, [r2] - ldrh r3, [r2] - ldr r0, _080F4CDC @ =0xffffc01f - ands r0, r3 - strh r0, [r2] - ldr r2, _080F4CE0 @ =0x0000893f - adds r1, r2 - ldrb r2, [r1] - movs r0, 0x41 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r3, _080F4CE4 @ =0x000087dc - adds r0, r4, r3 - strh r5, [r0] - adds r1, r7, 0x1 - ldr r7, _080F4CE8 @ =0x000087da - adds r0, r4, r7 - strh r1, [r0] - bl sub_80F4B20 - ldr r0, _080F4CEC @ =0x000087cb - adds r4, r0 - movs r0, 0x1 - strb r0, [r4] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F4CC4: .4byte gUnknown_083DFEC4 -_080F4CC8: .4byte 0x00008828 -_080F4CCC: .4byte gPlayerParty -_080F4CD0: .4byte 0x0000893d -_080F4CD4: .4byte 0x0000893e -_080F4CD8: .4byte 0x000001ff -_080F4CDC: .4byte 0xffffc01f -_080F4CE0: .4byte 0x0000893f -_080F4CE4: .4byte 0x000087dc -_080F4CE8: .4byte 0x000087da -_080F4CEC: .4byte 0x000087cb - thumb_func_end sub_80F4BD0 - - thumb_func_start sub_80F4CF0 -sub_80F4CF0: @ 80F4CF0 - push {r4,lr} - ldr r0, _080F4D1C @ =gUnknown_083DFEC4 - ldr r4, [r0] - ldr r1, _080F4D20 @ =0x0000876e - adds r0, r4, r1 - ldrh r1, [r0] - ldr r2, _080F4D24 @ =0x000087dc - adds r0, r4, r2 - strh r1, [r0] - bl sub_80F4B20 - ldr r1, _080F4D28 @ =0x00008774 - adds r0, r4, r1 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _080F4D30 - ldr r0, _080F4D2C @ =0x000087cb - adds r1, r4, r0 - movs r0, 0 - b _080F4D36 - .align 2, 0 -_080F4D1C: .4byte gUnknown_083DFEC4 -_080F4D20: .4byte 0x0000876e -_080F4D24: .4byte 0x000087dc -_080F4D28: .4byte 0x00008774 -_080F4D2C: .4byte 0x000087cb -_080F4D30: - ldr r2, _080F4D40 @ =0x000087cb - adds r1, r4, r2 - movs r0, 0x1 -_080F4D36: - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F4D40: .4byte 0x000087cb - thumb_func_end sub_80F4CF0 - - thumb_func_start sub_80F4D44 -sub_80F4D44: @ 80F4D44 - push {r4,lr} - ldr r0, _080F4D78 @ =gUnknown_083DFEC4 - ldr r4, [r0] - ldr r1, _080F4D7C @ =0x00008fe6 - adds r0, r4, r1 - movs r1, 0 - strb r1, [r0] - ldr r2, _080F4D80 @ =0x00008fe7 - adds r0, r4, r2 - strb r1, [r0] - bl sub_80F492C - ldr r0, _080F4D84 @ =0x00006dac - adds r4, r0 - ldrb r0, [r4] - cmp r0, 0 - bne _080F4D70 -_080F4D66: - bl sub_80F4D88 - lsls r0, 24 - cmp r0, 0 - bne _080F4D66 -_080F4D70: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F4D78: .4byte gUnknown_083DFEC4 -_080F4D7C: .4byte 0x00008fe6 -_080F4D80: .4byte 0x00008fe7 -_080F4D84: .4byte 0x00006dac - thumb_func_end sub_80F4D44 - - thumb_func_start sub_80F4D88 -sub_80F4D88: @ 80F4D88 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r6, _080F4E98 @ =gUnknown_083DFEC4 - ldr r4, [r6] - ldr r1, _080F4E9C @ =0x00008fe6 - adds r0, r4, r1 - ldrb r3, [r0] - cmp r3, 0xE - bne _080F4DA4 - b _080F4EB8 -_080F4DA4: - cmp r3, 0xF - bne _080F4DAA - b _080F4F60 -_080F4DAA: - movs r1, 0x80 - lsls r1, 23 - ldr r0, [sp] - orrs r0, r1 - str r0, [sp] - movs r7, 0 - mov r10, r6 - ldr r2, _080F4E9C @ =0x00008fe6 - adds r6, r4, r2 - ldr r3, _080F4EA0 @ =0x00008fe7 - adds r5, r4, r3 - ldr r0, _080F4EA4 @ =0x000087d8 - adds r0, r4 - mov r9, r0 - ldr r1, _080F4EA8 @ =gPokemonStorage + 0x4 - mov r8, r1 -_080F4DCA: - ldrb r0, [r6] - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - ldrb r2, [r5] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 4 - add r1, r8 - adds r0, r1 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _080F4E60 - ldrb r0, [r6] - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - ldrb r2, [r5] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 4 - add r1, r8 - adds r0, r1 - movs r1, 0x2D - bl GetBoxMonData - cmp r0, 0 - bne _080F4E60 - ldrb r1, [r6] - lsls r1, 8 - ldr r2, _080F4EAC @ =0xffff00ff - ldr r0, [sp] - ands r0, r2 - orrs r0, r1 - str r0, [sp] - ldrb r2, [r5] - movs r1, 0x1F - ands r2, r1 - lsls r2, 16 - ldr r1, _080F4EB0 @ =0xffe0ffff - ands r0, r1 - orrs r0, r2 - str r0, [sp] - ldrb r0, [r6] - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - ldrb r2, [r5] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 4 - add r1, r8 - adds r0, r1 - mov r2, r9 - ldrb r1, [r2] - bl GetBoxMonData - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080F4EB4 @ =0xffffff00 - ldr r1, [sp] - ands r1, r2 - orrs r1, r0 - str r1, [sp] - mov r0, sp - bl sub_80F4944 -_080F4E60: - mov r3, r10 - ldr r1, [r3] - ldr r0, _080F4EA0 @ =0x00008fe7 - adds r2, r1, r0 - ldrb r0, [r2] - adds r0, 0x1 - movs r4, 0 - strb r0, [r2] - movs r3, 0xFF - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1E - bne _080F4E8C - strb r4, [r2] - ldr r2, _080F4E9C @ =0x00008fe6 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ands r0, r3 - cmp r0, 0xE - beq _080F4F64 -_080F4E8C: - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0xE - bls _080F4DCA - b _080F4F64 - .align 2, 0 -_080F4E98: .4byte gUnknown_083DFEC4 -_080F4E9C: .4byte 0x00008fe6 -_080F4EA0: .4byte 0x00008fe7 -_080F4EA4: .4byte 0x000087d8 -_080F4EA8: .4byte gPokemonStorage + 0x4 -_080F4EAC: .4byte 0xffff00ff -_080F4EB0: .4byte 0xffe0ffff -_080F4EB4: .4byte 0xffffff00 -_080F4EB8: - mov r2, sp - ldrb r0, [r2, 0x3] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2, 0x3] - strb r3, [r2, 0x1] - movs r7, 0 - ldr r3, _080F4F44 @ =0x00008828 - adds r0, r4, r3 - ldrb r0, [r0] - cmp r7, r0 - bcs _080F4F24 - mov r5, sp - mov r8, r6 - adds r6, r4, r3 -_080F4ED6: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, _080F4F48 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _080F4F18 - movs r0, 0x1F - adds r2, r7, 0 - ands r2, r0 - ldrb r0, [r5, 0x2] - movs r3, 0x20 - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x2] - mov r1, r8 - ldr r0, [r1] - ldr r2, _080F4F4C @ =0x000087d8 - adds r0, r2 - ldrb r1, [r0] - adds r0, r4, 0 - bl GetMonData - strb r0, [r5] - mov r0, sp - bl sub_80F4944 -_080F4F18: - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - ldrb r3, [r6] - cmp r7, r3 - bcc _080F4ED6 -_080F4F24: - bl sub_80F49F4 - ldr r0, _080F4F50 @ =gUnknown_083DFEC4 - ldr r1, [r0] - ldr r2, _080F4F54 @ =0x00008fe4 - adds r0, r1, r2 - ldrh r2, [r0] - ldr r3, _080F4F58 @ =0x000087da - adds r0, r1, r3 - strh r2, [r0] - ldr r0, _080F4F5C @ =0x00008fe6 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080F4F64 - .align 2, 0 -_080F4F44: .4byte 0x00008828 -_080F4F48: .4byte gPlayerParty -_080F4F4C: .4byte 0x000087d8 -_080F4F50: .4byte gUnknown_083DFEC4 -_080F4F54: .4byte 0x00008fe4 -_080F4F58: .4byte 0x000087da -_080F4F5C: .4byte 0x00008fe6 -_080F4F60: - movs r0, 0 - b _080F4F66 -_080F4F64: - movs r0, 0x1 -_080F4F66: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80F4D88 - - thumb_func_start sub_80F4F78 -sub_80F4F78: @ 80F4F78 - push {lr} - ldr r0, _080F4FA4 @ =gUnknown_083DFEC4 - ldr r1, [r0] - ldr r2, _080F4FA8 @ =0x00009040 - adds r0, r1, r2 - ldr r3, _080F4FAC @ =0x00008fe9 - adds r2, r1, r3 - movs r3, 0 - ldrsb r3, [r2, r3] - lsls r2, r3, 2 - adds r2, r3 - lsls r2, 2 - ldr r3, _080F4FB0 @ =0x00009004 - adds r2, r3 - adds r1, r2 - bl sub_80F53EC - bl sub_80F5504 - pop {r0} - bx r0 - .align 2, 0 -_080F4FA4: .4byte gUnknown_083DFEC4 -_080F4FA8: .4byte 0x00009040 -_080F4FAC: .4byte 0x00008fe9 -_080F4FB0: .4byte 0x00009004 - thumb_func_end sub_80F4F78 - - thumb_func_start sub_80F4FB4 -sub_80F4FB4: @ 80F4FB4 - push {r4,lr} - bl sub_80F5504 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80F170C - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - cmp r4, 0 - bne _080F4FD2 - cmp r0, 0 - beq _080F4FD4 -_080F4FD2: - movs r1, 0x1 -_080F4FD4: - adds r0, r1, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80F4FB4 - - thumb_func_start sub_80F4FDC -sub_80F4FDC: @ 80F4FDC - push {lr} - ldr r0, _080F5020 @ =gUnknown_083DFEC4 - ldr r2, [r0] - ldr r1, _080F5024 @ =0x000076aa - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080F4FFE - ldr r3, _080F5028 @ =0x000087dc - adds r0, r2, r3 - movs r3, 0 - ldrsh r1, [r0, r3] - ldr r3, _080F502C @ =0x00008828 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r1, r0 - beq _080F501A -_080F4FFE: - ldr r1, _080F5030 @ =0x00008fe9 - adds r0, r2, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r3, _080F5034 @ =0x00009004 - adds r0, r3 - adds r0, r2, r0 - adds r3, 0x3C - adds r1, r2, r3 - bl sub_80F53EC -_080F501A: - pop {r0} - bx r0 - .align 2, 0 -_080F5020: .4byte gUnknown_083DFEC4 -_080F5024: .4byte 0x000076aa -_080F5028: .4byte 0x000087dc -_080F502C: .4byte 0x00008828 -_080F5030: .4byte 0x00008fe9 -_080F5034: .4byte 0x00009004 - thumb_func_end sub_80F4FDC - - thumb_func_start sub_80F5038 -sub_80F5038: @ 80F5038 - push {r4,lr} - bl sub_80F5504 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80F173C - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - cmp r4, 0 - bne _080F5056 - cmp r0, 0 - beq _080F5058 -_080F5056: - movs r1, 0x1 -_080F5058: - adds r0, r1, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80F5038 - - thumb_func_start sub_80F5060 -sub_80F5060: @ 80F5060 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0 - beq _080F507C - ldr r0, _080F5074 @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r1, _080F5078 @ =0x00008feb - adds r0, r1 - b _080F5084 - .align 2, 0 -_080F5074: .4byte gUnknown_083DFEC4 -_080F5078: .4byte 0x00008feb -_080F507C: - ldr r0, _080F50FC @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r2, _080F5100 @ =0x00008fea - adds r0, r2 -_080F5084: - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, _080F50FC @ =gUnknown_083DFEC4 - ldr r4, [r0] - ldr r3, _080F5104 @ =0x00008fe9 - adds r5, r4, r3 - movs r1, 0 - ldrsb r1, [r5, r1] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r2, _080F5108 @ =0x00009004 - adds r0, r2 - adds r0, r4, r0 - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 2 - adds r1, r2 - adds r1, r4, r1 - bl sub_80F53EC - ldr r0, _080F510C @ =0x000087dc - adds r3, r4, r0 - movs r1, 0 - ldrsh r0, [r3, r1] - lsls r0, 2 - adds r0, r4, r0 - ldr r2, _080F5110 @ =0x0000893f - adds r0, r2 - ldrb r0, [r0] - lsls r0, 25 - lsrs r0, 31 - mov r12, r0 - cmp r7, 0 - beq _080F5158 - ldr r7, _080F5100 @ =0x00008fea - adds r1, r4, r7 - ldrb r0, [r1] - adds r7, 0x1 - adds r2, r4, r7 - strb r0, [r2] - ldrb r0, [r5] - strb r0, [r1] - strb r6, [r5] - ldrb r1, [r2] - ldr r2, _080F5114 @ =0x00008fec - adds r0, r4, r2 - strb r1, [r0] - adds r5, r4, 0 - ldrh r1, [r3] - movs r7, 0 - ldrsh r0, [r3, r7] - cmp r0, 0 - beq _080F5118 - subs r2, r1, 0x1 - b _080F5120 - .align 2, 0 -_080F50FC: .4byte gUnknown_083DFEC4 -_080F5100: .4byte 0x00008fea -_080F5104: .4byte 0x00008fe9 -_080F5108: .4byte 0x00009004 -_080F510C: .4byte 0x000087dc -_080F5110: .4byte 0x0000893f -_080F5114: .4byte 0x00008fec -_080F5118: - ldr r1, _080F513C @ =0x000087da - adds r0, r4, r1 - ldrh r0, [r0] - subs r2, r0, 0x1 -_080F5120: - ldr r1, _080F5140 @ =0x000087dc - adds r0, r5, r1 - strh r2, [r0] - ldr r2, _080F5144 @ =gUnknown_083DFEC4 - ldr r3, [r2] - adds r1, r3, r1 - ldrh r4, [r1] - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r0, 0 - beq _080F5148 - subs r1, r4, 0x1 - b _080F51CE - .align 2, 0 -_080F513C: .4byte 0x000087da -_080F5140: .4byte 0x000087dc -_080F5144: .4byte gUnknown_083DFEC4 -_080F5148: - ldr r7, _080F5154 @ =0x000087da - adds r0, r3, r7 - ldrh r0, [r0] - subs r1, r0, 0x1 - b _080F51CE - .align 2, 0 -_080F5154: .4byte 0x000087da -_080F5158: - ldr r7, _080F518C @ =0x00008feb - adds r1, r4, r7 - ldrb r0, [r1] - subs r7, 0x1 - adds r2, r4, r7 - strb r0, [r2] - ldrb r0, [r5] - strb r0, [r1] - strb r6, [r5] - ldrb r1, [r2] - ldr r2, _080F5190 @ =0x00008fec - adds r0, r4, r2 - strb r1, [r0] - adds r2, r4, 0 - movs r4, 0 - ldrsh r1, [r3, r4] - ldr r5, _080F5194 @ =0x000087da - adds r0, r2, r5 - movs r7, 0 - ldrsh r0, [r0, r7] - subs r0, 0x1 - cmp r1, r0 - bge _080F5198 - ldrh r0, [r3] - adds r3, r0, 0x1 - b _080F519A - .align 2, 0 -_080F518C: .4byte 0x00008feb -_080F5190: .4byte 0x00008fec -_080F5194: .4byte 0x000087da -_080F5198: - movs r3, 0 -_080F519A: - ldr r1, _080F51C0 @ =0x000087dc - adds r0, r2, r1 - strh r3, [r0] - ldr r2, _080F51C4 @ =gUnknown_083DFEC4 - ldr r3, [r2] - adds r4, r3, r1 - movs r0, 0 - ldrsh r1, [r4, r0] - ldr r5, _080F51C8 @ =0x000087da - adds r0, r3, r5 - movs r7, 0 - ldrsh r0, [r0, r7] - subs r0, 0x1 - cmp r1, r0 - bge _080F51CC - ldrh r0, [r4] - adds r1, r0, 0x1 - b _080F51CE - .align 2, 0 -_080F51C0: .4byte 0x000087dc -_080F51C4: .4byte gUnknown_083DFEC4 -_080F51C8: .4byte 0x000087da -_080F51CC: - movs r1, 0 -_080F51CE: - ldr r4, _080F51FC @ =0x00008fee - adds r0, r3, r4 - strh r1, [r0] - ldr r1, [r2] - ldr r5, _080F5200 @ =0x000087dc - adds r0, r1, r5 - movs r7, 0 - ldrsh r0, [r0, r7] - lsls r0, 2 - adds r0, r1, r0 - ldr r3, _080F5204 @ =0x0000893f - adds r0, r3 - ldrb r0, [r0] - lsls r0, 25 - lsrs r0, 31 - mov r4, r12 - cmp r4, 0 - bne _080F520C - adds r5, 0x4 - adds r1, r5 - ldr r0, _080F5208 @ =sub_80F5264 - b _080F5226 - .align 2, 0 -_080F51FC: .4byte 0x00008fee -_080F5200: .4byte 0x000087dc -_080F5204: .4byte 0x0000893f -_080F5208: .4byte sub_80F5264 -_080F520C: - cmp r0, 0 - bne _080F5220 - ldr r7, _080F5218 @ =0x000087e0 - adds r1, r7 - ldr r0, _080F521C @ =sub_80F52F8 - b _080F5226 - .align 2, 0 -_080F5218: .4byte 0x000087e0 -_080F521C: .4byte sub_80F52F8 -_080F5220: - ldr r0, _080F5238 @ =0x000087e0 - adds r1, r0 - ldr r0, _080F523C @ =sub_80F5364 -_080F5226: - str r0, [r1] - ldr r0, [r2] - ldr r1, _080F5240 @ =0x000087de - adds r0, r1 - movs r1, 0 - strb r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F5238: .4byte 0x000087e0 -_080F523C: .4byte sub_80F5364 -_080F5240: .4byte 0x000087de - thumb_func_end sub_80F5060 - - thumb_func_start gpu_sync_bg_show -gpu_sync_bg_show: @ 80F5244 - push {lr} - ldr r0, _080F525C @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r1, _080F5260 @ =0x000087e0 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_080F525C: .4byte gUnknown_083DFEC4 -_080F5260: .4byte 0x000087e0 - thumb_func_end gpu_sync_bg_show - - thumb_func_start sub_80F5264 -sub_80F5264: @ 80F5264 - push {r4,r5,lr} - ldr r0, _080F5280 @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r1, _080F5284 @ =0x000087de - adds r5, r0, r1 - ldrb r1, [r5] - cmp r1, 0x1 - beq _080F52AA - cmp r1, 0x1 - bgt _080F5288 - cmp r1, 0 - beq _080F528E - b _080F52F0 - .align 2, 0 -_080F5280: .4byte gUnknown_083DFEC4 -_080F5284: .4byte 0x000087de -_080F5288: - cmp r1, 0x2 - beq _080F52EC - b _080F52F0 -_080F528E: - ldr r2, _080F52D8 @ =0x00008fe9 - adds r4, r0, r2 - ldrb r0, [r4] - bl sub_80F2E18 - movs r0, 0 - ldrsb r0, [r4, r0] - lsls r0, 16 - lsrs r0, 16 - bl sub_80F01E0 - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] -_080F52AA: - bl sub_80F4FB4 - lsls r0, 24 - cmp r0, 0 - bne _080F52F0 - ldr r0, _080F52DC @ =gUnknown_083DFEC4 - ldr r4, [r0] - ldr r1, _080F52E0 @ =0x00008fee - adds r0, r4, r1 - movs r2, 0 - ldrsh r0, [r0, r2] - ldr r2, _080F52E4 @ =0x00008fec - adds r1, r4, r2 - ldrb r1, [r1] - bl sub_80F4900 - ldr r0, _080F52E8 @ =0x000087de - adds r4, r0 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _080F52F0 - .align 2, 0 -_080F52D8: .4byte 0x00008fe9 -_080F52DC: .4byte gUnknown_083DFEC4 -_080F52E0: .4byte 0x00008fee -_080F52E4: .4byte 0x00008fec -_080F52E8: .4byte 0x000087de -_080F52EC: - movs r0, 0 - b _080F52F2 -_080F52F0: - movs r0, 0x1 -_080F52F2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80F5264 - - thumb_func_start sub_80F52F8 -sub_80F52F8: @ 80F52F8 - push {r4,r5,lr} - ldr r0, _080F5310 @ =gUnknown_083DFEC4 - ldr r4, [r0] - ldr r0, _080F5314 @ =0x000087de - adds r5, r4, r0 - ldrb r0, [r5] - cmp r0, 0 - beq _080F5318 - cmp r0, 0x1 - beq _080F5358 - b _080F535C - .align 2, 0 -_080F5310: .4byte gUnknown_083DFEC4 -_080F5314: .4byte 0x000087de -_080F5318: - bl sub_80F5038 - lsls r0, 24 - cmp r0, 0 - bne _080F535C - ldr r1, _080F5350 @ =0x00008fe9 - adds r0, r4, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r0, 16 - bl sub_80F01E0 - ldr r2, _080F5354 @ =0x00008fee - adds r0, r4, r2 - movs r1, 0 - ldrsh r0, [r0, r1] - subs r2, 0x2 - adds r1, r4, r2 - ldrb r1, [r1] - bl sub_80F4900 - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - b _080F535C - .align 2, 0 -_080F5350: .4byte 0x00008fe9 -_080F5354: .4byte 0x00008fee -_080F5358: - movs r0, 0 - b _080F535E -_080F535C: - movs r0, 0x1 -_080F535E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80F52F8 - - thumb_func_start sub_80F5364 -sub_80F5364: @ 80F5364 - push {r4,r5,lr} - ldr r0, _080F5380 @ =gUnknown_083DFEC4 - ldr r4, [r0] - ldr r0, _080F5384 @ =0x000087de - adds r5, r4, r0 - ldrb r0, [r5] - cmp r0, 0x1 - beq _080F53B8 - cmp r0, 0x1 - bgt _080F5388 - cmp r0, 0 - beq _080F538E - b _080F53E4 - .align 2, 0 -_080F5380: .4byte gUnknown_083DFEC4 -_080F5384: .4byte 0x000087de -_080F5388: - cmp r0, 0x2 - beq _080F53CA - b _080F53E4 -_080F538E: - bl sub_80F5504 - bl sub_80F173C - lsls r0, 24 - cmp r0, 0 - bne _080F53E4 - ldr r1, _080F53B4 @ =0x00008fe9 - adds r4, r1 - ldrb r0, [r4] - bl sub_80F2E18 - movs r0, 0 - ldrsb r0, [r4, r0] - lsls r0, 16 - lsrs r0, 16 - bl sub_80F01E0 - b _080F53C2 - .align 2, 0 -_080F53B4: .4byte 0x00008fe9 -_080F53B8: - bl sub_80F4FB4 - lsls r0, 24 - cmp r0, 0 - bne _080F53E4 -_080F53C2: - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - b _080F53E4 -_080F53CA: - ldr r2, _080F53E0 @ =0x00008fee - adds r0, r4, r2 - movs r1, 0 - ldrsh r0, [r0, r1] - subs r2, 0x2 - adds r1, r4, r2 - ldrb r1, [r1] - bl sub_80F4900 - movs r0, 0 - b _080F53E6 - .align 2, 0 -_080F53E0: .4byte 0x00008fee -_080F53E4: - movs r0, 0x1 -_080F53E6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80F5364 - - thumb_func_start sub_80F53EC -sub_80F53EC: @ 80F53EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - str r0, [sp] - mov r9, r1 - movs r7, 0 - ldr r0, _080F54F4 @ =gUnknown_083DFEC4 - ldr r0, [r0] - str r0, [sp, 0x4] -_080F5404: - lsls r4, r7, 2 - ldr r1, [sp] - adds r0, r4, r1 - ldrh r1, [r0] - lsls r5, r1, 8 - mov r2, r9 - adds r0, r4, r2 - ldrh r0, [r0] - subs r0, r1 - lsls r0, 8 - movs r1, 0xA - bl __divsi3 - adds r6, r0, 0 - movs r3, 0 - adds r7, 0x1 - mov r10, r7 - mov r8, r4 -_080F5428: - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - add r0, r8 - ldr r7, [sp, 0x4] - adds r0, r7, r0 - asrs r2, r5, 8 - asrs r1, r5, 7 - movs r7, 0x1 - ands r1, r7 - adds r2, r1 - ldr r1, _080F54F8 @ =0x00009054 - adds r0, r1 - strh r2, [r0] - adds r5, r6 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x8 - bls _080F5428 - ldr r2, _080F54F4 @ =gUnknown_083DFEC4 - ldr r1, [r2] - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - adds r0, r4, r0 - adds r1, r0 - mov r3, r9 - adds r2, r4, r3 - ldrh r0, [r2] - ldr r7, _080F54F8 @ =0x00009054 - adds r1, r7 - strh r0, [r1] - ldr r1, [sp] - adds r0, r4, r1 - ldrh r1, [r0, 0x2] - lsls r5, r1, 8 - ldrh r0, [r2, 0x2] - subs r0, r1 - lsls r0, 8 - movs r1, 0xA - bl __divsi3 - adds r6, r0, 0 - movs r3, 0 - ldr r0, _080F54F4 @ =gUnknown_083DFEC4 - ldr r0, [r0] - mov r12, r0 - str r4, [sp, 0x8] - movs r2, 0x1 - mov r8, r2 -_080F548E: - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - ldr r7, [sp, 0x8] - adds r0, r7, r0 - add r0, r12 - asrs r2, r5, 8 - asrs r1, r5, 7 - mov r7, r8 - ands r1, r7 - adds r2, r1 - ldr r1, _080F54FC @ =0x00009056 - adds r0, r1 - strh r2, [r0] - adds r5, r6 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x8 - bls _080F548E - ldr r7, _080F54F4 @ =gUnknown_083DFEC4 - ldr r2, [r7] - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - adds r0, r4, r0 - adds r0, r2, r0 - mov r3, r9 - adds r1, r4, r3 - ldrh r1, [r1, 0x2] - ldr r7, _080F54FC @ =0x00009056 - adds r0, r7 - strh r1, [r0] - mov r1, r10 - lsls r0, r1, 16 - lsrs r7, r0, 16 - cmp r7, 0x4 - bls _080F5404 - ldr r3, _080F5500 @ =0x00009342 - adds r1, r2, r3 - movs r0, 0 - strh r0, [r1] - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F54F4: .4byte gUnknown_083DFEC4 -_080F54F8: .4byte 0x00009054 -_080F54FC: .4byte 0x00009056 -_080F5500: .4byte 0x00009342 - thumb_func_end sub_80F53EC - - thumb_func_start sub_80F5504 -sub_80F5504: @ 80F5504 - push {r4,lr} - ldr r0, _080F551C @ =gUnknown_083DFEC4 - ldr r2, [r0] - ldr r0, _080F5520 @ =0x00009342 - adds r4, r2, r0 - ldrh r0, [r4] - adds r1, r0, 0 - cmp r1, 0x9 - bls _080F5524 - movs r0, 0 - b _080F5544 - .align 2, 0 -_080F551C: .4byte gUnknown_083DFEC4 -_080F5520: .4byte 0x00009342 -_080F5524: - adds r0, 0x1 - strh r0, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r1, _080F554C @ =0x00009054 - adds r0, r1 - adds r0, r2, r0 - bl sub_80F556C - ldrh r1, [r4] - movs r0, 0xA - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 -_080F5544: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080F554C: .4byte 0x00009054 - thumb_func_end sub_80F5504 - - thumb_func_start sub_80F5550 -sub_80F5550: @ 80F5550 - push {lr} - bl sub_80F53EC - pop {r0} - bx r0 - thumb_func_end sub_80F5550 - - thumb_func_start sub_80F555C -sub_80F555C: @ 80F555C - push {lr} - bl sub_80F5504 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80F555C - - thumb_func_start sub_80F556C -sub_80F556C: @ 80F556C - push {r4,r5,lr} - adds r4, r0, 0 - movs r2, 0 - ldr r5, _080F55A0 @ =gUnknown_083DFEC4 - ldr r0, [r5] - ldr r1, _080F55A4 @ =0x0000911c - adds r3, r0, r1 -_080F557A: - lsls r0, r2, 2 - adds r1, r3, r0 - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x4 - bls _080F557A - ldr r0, [r5] - ldr r1, _080F55A8 @ =0x00009344 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080F55A0: .4byte gUnknown_083DFEC4 -_080F55A4: .4byte 0x0000911c -_080F55A8: .4byte 0x00009344 - thumb_func_end sub_80F556C - thumb_func_start sub_80F55AC sub_80F55AC: @ 80F55AC push {r4-r7,lr} @@ -12998,7 +2823,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 +3540,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 |