diff options
author | garak <garakmon@gmail.com> | 2018-12-16 20:05:31 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-16 20:05:31 -0500 |
commit | e292d0ca8375a8c54907d6bcf404e2e084344156 (patch) | |
tree | b9c59449d47bf73d98d3e38fa26804a163d871ab /asm | |
parent | 10237e8d13b35474ea999b4e9139f9a48a80c53d (diff) | |
parent | d1e6e705ccf05f93933ae4494b1d388550d81d26 (diff) |
Merge branch 'master' into fldeff
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_anim_8170478.s | 5832 | ||||
-rw-r--r-- | asm/battle_anim_effects_1.s | 9550 | ||||
-rw-r--r-- | asm/battle_intro.s | 2035 | ||||
-rw-r--r-- | asm/cable_car.s | 2882 | ||||
-rw-r--r-- | asm/contest_painting.s | 1197 | ||||
-rw-r--r-- | asm/contest_painting_effects.s (renamed from asm/cute_sketch.s) | 0 | ||||
-rw-r--r-- | asm/field_screen.s | 10509 | ||||
-rw-r--r-- | asm/fire.s | 2397 | ||||
-rw-r--r-- | asm/ghost.s | 3251 | ||||
-rw-r--r-- | asm/ice.s | 4 | ||||
-rw-r--r-- | asm/international_string_util.s | 355 | ||||
-rw-r--r-- | asm/link_rfu.s | 2021 | ||||
-rw-r--r-- | asm/macros/battle_ai_script.inc | 170 | ||||
-rw-r--r-- | asm/macros/battle_anim_script.inc | 112 | ||||
-rw-r--r-- | asm/macros/battle_script.inc | 438 | ||||
-rw-r--r-- | asm/macros/event.inc | 466 | ||||
-rw-r--r-- | asm/normal.s | 1876 | ||||
-rw-r--r-- | asm/pokedex_area_screen.s | 1892 | ||||
-rw-r--r-- | asm/pokedex_cry_screen.s | 1010 | ||||
-rw-r--r-- | asm/rom_8011DC0.s | 2342 | ||||
-rw-r--r-- | asm/roulette_util.s | 1431 | ||||
-rw-r--r-- | asm/trade.s | 16 |
22 files changed, 632 insertions, 49154 deletions
diff --git a/asm/battle_anim_8170478.s b/asm/battle_anim_8170478.s deleted file mode 100644 index c0881e682..000000000 --- a/asm/battle_anim_8170478.s +++ /dev/null @@ -1,5832 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8170478 -sub_8170478: @ 8170478 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] - ldr r0, =gBattleAnimAttacker - ldrb r4, [r0] - ldr r0, =gBattle_WIN0H - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_WIN0V - strh r1, [r0] - ldr r1, =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - ldr r1, =0x00003f3d - movs r0, 0x4A - bl SetGpuReg - movs r1, 0x80 - lsls r1, 8 - movs r0, 0 - bl SetGpuRegBits - ldr r1, =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetAnimBgAttribute - ldr r0, =gHealthboxSpriteIds - adds r4, r0 - ldrb r0, [r4] - ldr r1, =gSprites - mov r9, r1 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - add r4, r9 - ldrb r7, [r4, 0x6] - ldrh r6, [r4, 0x38] - lsls r6, 24 - lsrs r6, 24 - ldr r0, =SpriteCallbackDummy - bl CreateInvisibleSpriteWithCallback - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x14] - ldr r0, =SpriteCallbackDummy - bl CreateInvisibleSpriteWithCallback - mov r10, r0 - mov r2, r10 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - ldrb r1, [r4, 0x5] - movs r3, 0xD - negs r3, r3 - adds r0, r3, 0 - ands r0, r1 - movs r1, 0x4 - mov r8, r1 - mov r2, r8 - orrs r0, r2 - strb r0, [r4, 0x5] - lsls r5, r7, 4 - adds r5, r7 - lsls r5, 2 - add r5, r9 - ldrb r1, [r5, 0x5] - adds r0, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - add r1, r9 - ldrb r2, [r1, 0x5] - adds r0, r3, 0 - ands r0, r2 - mov r2, r8 - orrs r0, r2 - strb r0, [r1, 0x5] - ldr r0, [sp, 0x14] - lsls r6, r0, 4 - adds r6, r0 - lsls r6, 2 - mov r1, r9 - adds r7, r6, r1 - adds r0, r7, 0 - adds r1, r4, 0 - movs r2, 0x44 - str r3, [sp, 0x18] - bl memcpy - mov r2, r10 - lsls r4, r2, 4 - add r4, r10 - lsls r4, 2 - adds r0, r4, 0 - add r0, r9 - mov r8, r0 - adds r1, r5, 0 - movs r2, 0x44 - bl memcpy - ldrb r1, [r7, 0x1] - ldr r3, [sp, 0x18] - adds r0, r3, 0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r7, 0x1] - mov r2, r8 - ldrb r0, [r2, 0x1] - ands r3, r0 - orrs r3, r1 - strb r3, [r2, 0x1] - movs r0, 0x1C - add r9, r0 - add r6, r9 - ldr r1, =SpriteCallbackDummy - str r1, [r6] - add r4, r9 - str r1, [r4] - mov r0, sp - bl sub_80A6B30 - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, =gUnknown_08C2EA9C - bl sub_80A6D48 - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, =gUnknown_08C2EA50 - mov r2, sp - ldrh r2, [r2, 0xA] - bl sub_80A6CC0 - ldr r0, =gUnknown_08C2DDA4 - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r1, =gBattle_BG1_X - ldrh r0, [r7, 0x20] - negs r0, r0 - adds r0, 0x20 - strh r0, [r1] - ldr r1, =gBattle_BG1_Y - ldrh r0, [r7, 0x22] - negs r0, r0 - subs r0, 0x20 - strh r0, [r1] - ldr r1, =gTasks - ldr r2, [sp, 0x10] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - movs r1, 0xA0 - lsls r1, 2 - strh r1, [r0, 0xA] - mov r1, sp - ldrh r1, [r1, 0x14] - strh r1, [r0, 0x8] - mov r2, r10 - strh r2, [r0, 0xC] - ldr r1, =sub_8170660 - str r1, [r0] - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8170478 - - thumb_func_start sub_8170660 -sub_8170660: @ 8170660 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - mov r8, r0 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r5, r0, r1 - ldrh r1, [r5, 0xA] - ldrh r0, [r5, 0x22] - adds r1, r0 - movs r3, 0 - strh r1, [r5, 0x22] - ldr r2, =gBattle_BG1_Y - lsls r0, r1, 16 - lsrs r0, 24 - ldrh r4, [r2] - adds r0, r4 - strh r0, [r2] - movs r0, 0xFF - ands r1, r0 - strh r1, [r5, 0x22] - movs r1, 0x26 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _081706F0 - cmp r0, 0x1 - bgt _081706B4 - cmp r0, 0 - beq _081706BA - b _08170814 - .pool -_081706B4: - cmp r0, 0x2 - beq _08170708 - b _08170814 -_081706BA: - ldrh r0, [r5, 0x1E] - adds r1, r0, 0x1 - strh r1, [r5, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bgt _081706CA - b _08170814 -_081706CA: - strh r3, [r5, 0x1E] - ldrh r1, [r5, 0x20] - adds r1, 0x1 - strh r1, [r5, 0x20] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r2, 0x20 - ldrsh r0, [r5, r2] - cmp r0, 0x8 - beq _081706EE - b _08170814 -_081706EE: - b _08170700 -_081706F0: - ldrh r0, [r5, 0x1C] - adds r0, 0x1 - strh r0, [r5, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1E - beq _08170700 - b _08170814 -_08170700: - ldrh r0, [r5, 0x26] - adds r0, 0x1 - strh r0, [r5, 0x26] - b _08170814 -_08170708: - ldrh r0, [r5, 0x1E] - adds r1, r0, 0x1 - strh r1, [r5, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _08170814 - strh r3, [r5, 0x1E] - ldrh r1, [r5, 0x20] - subs r1, 0x1 - strh r1, [r5, 0x20] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x20 - ldrsh r4, [r5, r0] - cmp r4, 0 - bne _08170814 - movs r0, 0 - bl sub_80A477C - ldr r0, =gBattle_WIN0H - strh r4, [r0] - ldr r0, =gBattle_WIN0V - strh r4, [r0] - ldr r4, =0x00003f3f - movs r0, 0x48 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x4A - adds r1, r4, 0 - bl SetGpuReg - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0817076C - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl SetAnimBgAttribute -_0817076C: - movs r0, 0 - bl GetGpuReg - adds r1, r0, 0 - movs r2, 0x80 - lsls r2, 8 - adds r0, r2, 0 - eors r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r4, 0x8 - ldrsh r1, [r5, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r6, =gSprites - adds r0, r6 - bl DestroySprite - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - bl DestroySprite - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl SetAnimBgAttribute - ldr r0, =gHealthboxSpriteIds - add r0, r8 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r2, [r1, 0x6] - mov r8, r2 - ldrh r4, [r1, 0x38] - lsls r4, 24 - lsrs r4, 24 - ldrb r3, [r1, 0x5] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - movs r5, 0x4 - orrs r0, r5 - strb r0, [r1, 0x5] - mov r0, r8 - lsls r1, r0, 4 - add r1, r8 - lsls r1, 2 - adds r1, r6 - ldrb r3, [r1, 0x5] - adds r0, r2, 0 - ands r0, r3 - orrs r0, r5 - strb r0, [r1, 0x5] - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0, 0x5] - ands r2, r1 - orrs r2, r5 - strb r2, [r0, 0x5] - adds r0, r7, 0 - bl DestroyAnimVisualTask -_08170814: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8170660 - - thumb_func_start sub_8170834 -sub_8170834: @ 8170834 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r9, r0 - adds r7, r1, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gHealthboxSpriteIds - adds r2, r0 - ldrb r0, [r2] - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - ldr r0, =gSprites - adds r5, r0 - ldrb r1, [r5, 0x6] - mov r10, r1 - ldrh r4, [r5, 0x38] - lsls r4, 24 - lsrs r4, 24 - ldr r0, =0x0000d709 - bl AllocSpritePalette - mov r2, r9 - strb r0, [r2] - ldr r0, =0x0000d70a - bl AllocSpritePalette - strb r0, [r7] - ldrb r0, [r5, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r1, 0x80 - lsls r1, 1 - adds r3, r1, 0 - orrs r0, r3 - lsls r6, r4, 4 - adds r6, r4 - lsls r6, 2 - ldr r2, =gSprites - adds r6, r2 - ldrb r4, [r6, 0x5] - lsrs r4, 4 - lsls r4, 4 - orrs r4, r3 - lsls r0, 1 - ldr r1, =gPlttBufferUnfaded - mov r8, r1 - add r0, r8 - mov r2, r9 - ldrb r1, [r2] - lsls r1, 4 - adds r1, r3, r1 - movs r2, 0x20 - str r3, [sp] - bl LoadPalette - lsls r4, 1 - add r4, r8 - ldrb r0, [r7] - lsls r0, 4 - ldr r3, [sp] - adds r3, r0 - adds r0, r4, 0 - adds r1, r3, 0 - movs r2, 0x20 - bl LoadPalette - mov r0, r9 - ldrb r1, [r0] - lsls r1, 4 - ldrb r2, [r5, 0x5] - movs r3, 0xF - adds r0, r3, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - mov r2, r10 - lsls r1, r2, 4 - add r1, r10 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - mov r0, r9 - ldrb r2, [r0] - lsls r2, 4 - ldrb r4, [r1, 0x5] - adds r0, r3, 0 - ands r0, r4 - orrs r0, r2 - strb r0, [r1, 0x5] - ldrb r0, [r7] - lsls r0, 4 - ldrb r1, [r6, 0x5] - ands r3, r1 - orrs r3, r0 - strb r3, [r6, 0x5] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8170834 - - thumb_func_start sub_8170920 -sub_8170920: @ 8170920 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r1, sp - adds r1, 0x1 - ldr r0, =gBattleAnimAttacker - ldrb r2, [r0] - mov r0, sp - bl sub_8170834 - adds r0, r4, 0 - bl DestroyAnimVisualTask - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8170920 - - thumb_func_start sub_817094C -sub_817094C: @ 817094C - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gHealthboxSpriteIds - adds r0, r1 - ldrb r0, [r0] - ldr r1, =gSprites - mov r8, r1 - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - add r5, r8 - ldrb r0, [r5, 0x6] - mov r9, r0 - ldrh r6, [r5, 0x38] - lsls r6, 24 - lsrs r6, 24 - ldr r0, =0x0000d709 - bl FreeSpritePaletteByTag - ldr r0, =0x0000d70a - bl FreeSpritePaletteByTag - ldr r0, =0x0000d6ff - bl IndexOfSpritePaletteTag - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =0x0000d704 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsls r4, 4 - ldrb r2, [r5, 0x5] - movs r3, 0xF - adds r1, r3, 0 - ands r1, r2 - orrs r1, r4 - strb r1, [r5, 0x5] - mov r1, r9 - lsls r2, r1, 4 - add r2, r9 - lsls r2, 2 - add r2, r8 - ldrb r5, [r2, 0x5] - adds r1, r3, 0 - ands r1, r5 - orrs r1, r4 - strb r1, [r2, 0x5] - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - add r1, r8 - lsrs r0, 20 - ldrb r2, [r1, 0x5] - ands r3, r2 - orrs r3, r0 - strb r3, [r1, 0x5] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817094C - - thumb_func_start sub_81709EC -sub_81709EC: @ 81709EC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_817094C - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81709EC - - thumb_func_start sub_8170A0C -sub_8170A0C: @ 8170A0C - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, =gBattleAnimArgs - ldrh r0, [r2] - strh r0, [r1, 0x1C] - ldrh r0, [r2, 0x2] - strh r0, [r1, 0x1E] - ldr r0, =sub_8170A38 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8170A0C - - thumb_func_start sub_8170A38 -sub_8170A38: @ 8170A38 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r6, 0 - adds r1, r0, 0x1 - strh r1, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x1E - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _08170AF8 - strh r6, [r4, 0x8] - ldr r0, =0x0000d709 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r2, r0, 24 - movs r3, 0x1C - ldrsh r0, [r4, r3] - movs r1, 0x2 - cmp r0, 0 - bne _08170A76 - movs r1, 0x6 -_08170A76: - movs r3, 0xA - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _08170A8C - cmp r0, 0x1 - beq _08170AC8 - b _08170AF8 - .pool -_08170A8C: - ldrh r0, [r4, 0xC] - adds r0, 0x2 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _08170A9E - movs r0, 0x10 - strh r0, [r4, 0xC] -_08170A9E: - lsls r0, r2, 4 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2 - orrs r0, r1 - ldrb r2, [r4, 0xC] - ldr r3, =0x00007f74 - movs r1, 0x1 - bl BlendPalette - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0x10 - bne _08170AF8 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - b _08170AF8 - .pool -_08170AC8: - ldrh r0, [r4, 0xC] - subs r0, 0x2 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bge _08170AD6 - strh r6, [r4, 0xC] -_08170AD6: - lsls r0, r2, 4 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2 - orrs r0, r1 - ldrb r2, [r4, 0xC] - ldr r3, =0x00007f74 - movs r1, 0x1 - bl BlendPalette - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _08170AF8 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_08170AF8: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8170A38 - - thumb_func_start sub_8170B04 -sub_8170B04: @ 8170B04 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r5, [r0] - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08170B52 - cmp r0, 0x1 - bgt _08170B3C - cmp r0, 0 - beq _08170B42 - b _08170BA4 - .pool -_08170B3C: - cmp r0, 0x2 - beq _08170B84 - b _08170BA4 -_08170B42: - adds r0, r5, 0 - movs r1, 0 - bl sub_80A7270 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r4, 0x1C] - b _08170B76 -_08170B52: - ldrh r0, [r4, 0x1C] - adds r0, 0x30 - strh r0, [r4, 0x1C] - movs r0, 0x1C - ldrsh r2, [r4, r0] - adds r0, r5, 0 - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - adds r0, r5, 0 - bl sub_80A7E6C - movs r0, 0x1C - ldrsh r1, [r4, r0] - ldr r0, =0x000002cf - cmp r1, r0 - ble _08170BA4 -_08170B76: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08170BA4 - .pool -_08170B84: - adds r0, r5, 0 - bl sub_80A7344 - ldr r1, =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] - adds r0, r6, 0 - bl DestroyAnimVisualTask -_08170BA4: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8170B04 - - thumb_func_start sub_8170BB0 -sub_8170BB0: @ 8170BB0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gBattlerSpriteIds - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - adds r1, r0, r1 - ldrb r1, [r1] - mov r9, r1 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08170BF8 - ldr r1, =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - b _08170C08 - .pool -_08170BF8: - ldr r1, =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty -_08170C08: - adds r0, r1 - movs r1, 0x26 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl ItemIdToBallId - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r2, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r6, r0, r2 - movs r0, 0x8 - ldrsh r7, [r6, r0] - cmp r7, 0 - beq _08170C44 - cmp r7, 0x1 - beq _08170CC4 - b _08170CEE - .pool -_08170C44: - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0 - bl GetBattlerSpriteCoord - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r5] - movs r1, 0x1 - bl GetBattlerSpriteCoord - adds r1, r0, 0 - lsls r1, 24 - ldr r2, =gSprites - mov r3, r9 - lsls r0, r3, 4 - add r0, r9 - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0, 0x5] - lsls r2, 28 - lsrs r2, 30 - adds r0, 0x43 - ldrb r3, [r0] - movs r0, 0x80 - lsls r0, 22 - adds r1, r0 - lsrs r1, 24 - mov r0, r8 - str r0, [sp] - adds r0, r4, 0 - bl LaunchBallStarsTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x1C] - str r7, [sp] - str r7, [sp, 0x4] - str r7, [sp, 0x8] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80A75AC - adds r2, r0, 0 - ldrb r1, [r5] - movs r0, 0 - mov r3, r8 - bl LaunchBallFadeMonTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x1E] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - b _08170CEE - .pool -_08170CC4: - movs r1, 0x1C - ldrsh r0, [r6, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0 - bne _08170CEE - movs r3, 0x1E - ldrsh r0, [r6, r3] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0 - bne _08170CEE - adds r0, r5, 0 - bl DestroyAnimVisualTask -_08170CEE: - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8170BB0 - - thumb_func_start sub_8170CFC -sub_8170CFC: @ 8170CFC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gLastUsedItem - ldrh r0, [r0] - bl ItemIdToBallId - lsls r0, 24 - lsrs r0, 24 - bl LoadBallGfx - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8170CFC - - thumb_func_start sub_8170D24 -sub_8170D24: @ 8170D24 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gLastUsedItem - ldrh r0, [r0] - bl ItemIdToBallId - lsls r0, 24 - lsrs r0, 24 - bl FreeBallGfx - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8170D24 - - thumb_func_start AnimTask_IsBallBlockedByTrainer -AnimTask_IsBallBlockedByTrainer: @ 8170D4C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x8] - cmp r0, 0x5 - bne _08170D70 - ldr r1, =gBattleAnimArgs - ldr r0, =0x0000ffff - b _08170D74 - .pool -_08170D70: - ldr r1, =gBattleAnimArgs - movs r0, 0 -_08170D74: - strh r0, [r1, 0xE] - adds r0, r2, 0 - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .pool - thumb_func_end AnimTask_IsBallBlockedByTrainer - - thumb_func_start ItemIdToBallId -ItemIdToBallId: @ 8170D84 - push {lr} - lsls r0, 16 - lsrs r0, 16 - subs r0, 0x1 - cmp r0, 0xB - bhi _08170DFC - lsls r0, 2 - ldr r1, =_08170DA0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08170DA0: - .4byte _08170DD0 - .4byte _08170DD4 - .4byte _08170DD8 - .4byte _08170DFC - .4byte _08170DDC - .4byte _08170DE0 - .4byte _08170DE4 - .4byte _08170DE8 - .4byte _08170DEC - .4byte _08170DF0 - .4byte _08170DF4 - .4byte _08170DF8 -_08170DD0: - movs r0, 0x4 - b _08170DFE -_08170DD4: - movs r0, 0x3 - b _08170DFE -_08170DD8: - movs r0, 0x1 - b _08170DFE -_08170DDC: - movs r0, 0x2 - b _08170DFE -_08170DE0: - movs r0, 0x5 - b _08170DFE -_08170DE4: - movs r0, 0x6 - b _08170DFE -_08170DE8: - movs r0, 0x7 - b _08170DFE -_08170DEC: - movs r0, 0x8 - b _08170DFE -_08170DF0: - movs r0, 0x9 - b _08170DFE -_08170DF4: - movs r0, 0xA - b _08170DFE -_08170DF8: - movs r0, 0xB - b _08170DFE -_08170DFC: - movs r0, 0 -_08170DFE: - pop {r1} - bx r1 - thumb_func_end ItemIdToBallId - - thumb_func_start sub_8170E04 -sub_8170E04: @ 8170E04 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - mov r10, r0 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, =gLastUsedItem - ldrh r0, [r0] - bl ItemIdToBallId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - ldr r1, =gBallSpriteTemplates - adds r0, r1 - movs r1, 0x20 - movs r2, 0x50 - movs r3, 0x1D - bl CreateSprite - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r1, =gSprites - mov r9, r1 - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - adds r6, r4, r1 - movs r0, 0x22 - strh r0, [r6, 0x2E] - ldr r2, =gBattleAnimTarget - mov r8, r2 - ldrb r0, [r2] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x30] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x10 - strh r0, [r6, 0x32] - mov r0, r9 - adds r0, 0x1C - adds r4, r0 - ldr r0, =sub_8171104 - str r0, [r4] - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r3, [r0, 0x8] - ldr r1, =gBattlerSpriteIds - mov r2, r8 - ldrb r0, [r2] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - adds r0, 0x3E - ldrb r1, [r0] - lsls r1, 29 - lsrs r1, 31 - lsls r1, 1 - ldrb r2, [r3, 0x9] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x9] - ldr r1, =gTasks - mov r2, r10 - lsls r0, r2, 2 - add r0, r10 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x8] - ldr r1, =sub_8170EF0 - str r1, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8170E04 - - thumb_func_start sub_8170EF0 -sub_8170EF0: @ 8170EF0 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0x8] - ldr r2, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x2E] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _08170F1A - adds r0, r3, 0 - bl DestroyAnimVisualTask -_08170F1A: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8170EF0 - - thumb_func_start sub_8170F2C -sub_8170F2C: @ 8170F2C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 2 - ands r0, r1 - cmp r0, 0 - beq _08170F50 - movs r6, 0x20 - movs r5, 0xB - b _08170F54 - .pool -_08170F50: - movs r6, 0x17 - movs r5, 0x5 -_08170F54: - ldr r0, =gLastUsedItem - ldrh r0, [r0] - bl ItemIdToBallId - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - bl sub_80A82E4 - adds r3, r0, 0 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - ldr r1, =gBallSpriteTemplates - adds r0, r1 - adds r1, r6, 0 - adds r1, 0x20 - movs r2, 0x50 - orrs r5, r2 - adds r2, r5, 0 - bl CreateSprite - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gSprites - mov r9, r0 - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - adds r6, r4, r0 - movs r0, 0x22 - strh r0, [r6, 0x2E] - ldr r1, =gBattleAnimTarget - mov r8, r1 - ldrb r0, [r1] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x30] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x10 - strh r0, [r6, 0x32] - movs r0, 0x1C - add r9, r0 - add r4, r9 - ldr r0, =SpriteCallbackDummy - str r0, [r4] - movs r0, 0 - bl GetBattlerAtPosition - ldr r1, =gBattlerSpriteIds - lsls r0, 24 - lsrs r0, 24 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - ldr r1, =sub_8039E84 - str r1, [r0] - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x8] - ldr r1, =sub_8171030 - str r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8170F2C - - thumb_func_start sub_8171030 -sub_8171030: @ 8171030 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, =gSprites - movs r0, 0 - bl GetBattlerAtPosition - ldr r1, =gBattlerSpriteIds - lsls r0, 24 - lsrs r0, 24 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x1 - bne _0817108A - movs r0, 0x3D - movs r1, 0 - bl PlaySE12WithPanning - ldr r0, =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r6, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_8171104 - str r1, [r0] - ldr r0, =sub_81710A8 - movs r1, 0xA - bl CreateTask - ldr r0, =sub_8170EF0 - str r0, [r4] -_0817108A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8171030 - - thumb_func_start sub_81710A8 -sub_81710A8: @ 81710A8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, =gSprites - movs r0, 0 - bl GetBattlerAtPosition - ldr r4, =gBattlerSpriteIds - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - bge _081710F4 - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0 - bl StartSpriteAnim - adds r0, r5, 0 - bl DestroyTask -_081710F4: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81710A8 - - thumb_func_start sub_8171104 -sub_8171104: @ 8171104 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - ldrh r2, [r4, 0x32] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - strh r1, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - strh r2, [r4, 0x36] - ldr r0, =0x0000ffd8 - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl InitAnimArcTranslation - ldr r0, =sub_8171134 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8171104 - - thumb_func_start sub_8171134 -sub_8171134: @ 8171134 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - beq _081711D2 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x8] - cmp r0, 0x5 - bne _08171160 - ldr r0, =sub_8171CAC - str r0, [r4, 0x1C] - b _081711D2 - .pool -_08171160: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - 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, 0x24] - strh r1, [r4, 0x26] - adds r1, r4, 0 - adds r1, 0x2E - movs r2, 0 - adds r0, r4, 0 - adds r0, 0x3C -_08171188: - strh r2, [r0] - subs r0, 0x2 - cmp r0, r1 - bge _08171188 - movs r0, 0 - strh r0, [r4, 0x38] - ldr r0, =sub_81711E8 - str r0, [r4, 0x1C] - ldr r0, =gLastUsedItem - ldrh r0, [r0] - bl ItemIdToBallId - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xB - bgt _081711D2 - cmp r5, 0 - blt _081711D2 - ldrh r0, [r4, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - str r5, [sp] - movs r2, 0x1 - movs r3, 0x1C - bl LaunchBallStarsTask - ldr r0, =gBattleAnimTarget - ldrb r1, [r0] - movs r0, 0 - movs r2, 0xE - adds r3, r5, 0 - bl LaunchBallFadeMonTask -_081711D2: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8171134 - - thumb_func_start sub_81711E8 -sub_81711E8: @ 81711E8 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _08171224 - ldr r0, =TaskDummy - movs r1, 0x32 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x38] - ldr r0, =sub_8171240 - str r0, [r4, 0x1C] - ldr r2, =gSprites - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x30] -_08171224: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81711E8 - - thumb_func_start sub_8171240 -sub_8171240: @ 8171240 - push {r4-r7,lr} - adds r7, r0, 0 - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - adds r0, r1 - ldrb r4, [r0] - ldrh r0, [r7, 0x38] - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - bne _08171272 - movs r0, 0x3C - bl PlaySE -_08171272: - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _081712E8 - cmp r0, 0x1 - bgt _08171290 - cmp r0, 0 - beq _08171296 - b _08171354 - .pool -_08171290: - cmp r0, 0x2 - beq _0817132C - b _08171354 -_08171296: - adds r0, r4, 0 - movs r1, 0 - bl sub_80A7270 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r5, 0x1C] - ldr r1, =gUnknown_030062DC - movs r0, 0x1C - str r0, [r1] - ldr r2, =gUnknown_030062E4 - ldr r1, =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r1, r0 - ldrh r0, [r7, 0x26] - ldrh r7, [r7, 0x22] - adds r0, r7 - subs r1, r0 - strh r1, [r2] - ldr r4, =gUnknown_030062E0 - ldrh r0, [r2] - lsls r0, 8 - movs r1, 0x1C - bl __udivsi3 - strh r0, [r4] - strh r0, [r5, 0xC] - b _08171346 - .pool -_081712E8: - ldrh r0, [r5, 0x1C] - adds r0, 0x20 - strh r0, [r5, 0x1C] - movs r0, 0x1C - ldrsh r2, [r5, r0] - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrh r0, [r5, 0xC] - ldrh r1, [r5, 0xE] - adds r0, r1 - strh r0, [r5, 0xE] - ldr r0, =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - movs r2, 0xE - ldrsh r0, [r5, r2] - negs r0, r0 - asrs r0, 8 - strh r0, [r1, 0x26] - movs r0, 0x1C - ldrsh r1, [r5, r0] - ldr r0, =0x0000047f - cmp r1, r0 - ble _0817137C - b _08171346 - .pool -_0817132C: - adds r0, r4, 0 - bl sub_80A7344 - ldr r1, =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_08171346: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _0817137C - .pool -_08171354: - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0xA - ble _0817137C - adds r0, r6, 0 - bl DestroyTask - adds r0, r7, 0 - movs r1, 0x2 - bl StartSpriteAnim - movs r0, 0 - strh r0, [r7, 0x38] - ldr r0, =sub_817138C - str r0, [r7, 0x1C] -_0817137C: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8171240 - - thumb_func_start sub_817138C -sub_817138C: @ 817138C - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081713C6 - movs r1, 0 - strh r1, [r4, 0x34] - movs r0, 0x28 - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - movs r0, 0 - movs r1, 0x28 - bl Cos - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - movs r0, 0x36 - ldrsh r1, [r4, r0] - movs r0, 0 - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldr r0, =sub_81713D0 - str r0, [r4, 0x1C] -_081713C6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817138C - - thumb_func_start sub_81713D0 -sub_81713D0: @ 81713D0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r5, 0 - ldrh r0, [r4, 0x34] - movs r1, 0xFF - ands r1, r0 - cmp r1, 0 - beq _081713E6 - cmp r1, 0x1 - beq _0817145A - b _08171486 -_081713E6: - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x38] - adds r1, 0x4 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 24 - adds r1, r0 - strh r1, [r4, 0x38] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x3F - ble _08171486 - ldrh r0, [r4, 0x36] - subs r0, 0xA - strh r0, [r4, 0x36] - ldr r1, =0x00000101 - adds r0, r2, r1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 24 - cmp r0, 0x4 - bne _08171422 - movs r5, 0x1 -_08171422: - cmp r0, 0x2 - beq _08171442 - cmp r0, 0x2 - bgt _08171434 - cmp r0, 0x1 - beq _0817143A - b _08171452 - .pool -_08171434: - cmp r0, 0x3 - beq _0817144A - b _08171452 -_0817143A: - movs r0, 0x38 - bl PlaySE - b _08171486 -_08171442: - movs r0, 0x39 - bl PlaySE - b _08171486 -_0817144A: - movs r0, 0x3A - bl PlaySE - b _08171486 -_08171452: - movs r0, 0x3B - bl PlaySE - b _08171486 -_0817145A: - movs r2, 0x38 - ldrsh r0, [r4, r2] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x38] - subs r1, 0x4 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 24 - subs r1, r0 - strh r1, [r4, 0x38] - lsls r1, 16 - cmp r1, 0 - bgt _08171486 - strh r5, [r4, 0x38] - ldr r0, =0xffffff00 - ands r0, r2 - strh r0, [r4, 0x34] -_08171486: - cmp r5, 0 - beq _081714CA - movs r5, 0 - strh r5, [r4, 0x34] - movs r0, 0x40 - movs r1, 0x28 - bl Cos - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - strh r5, [r4, 0x26] - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _081714C0 - strh r5, [r4, 0x38] - ldr r0, =sub_81717B4 - str r0, [r4, 0x1C] - b _081714CA - .pool -_081714C0: - ldr r0, =sub_81714D4 - str r0, [r4, 0x1C] - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r5, [r4, 0x38] -_081714CA: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81713D0 - - thumb_func_start sub_81714D4 -sub_81714D4: @ 81714D4 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x34] - adds r0, 0x1 - movs r5, 0 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _08171510 - strh r5, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - strh r5, [r0, 0xC] - ldr r0, =sub_8171520 - str r0, [r4, 0x1C] - movs r0, 0x17 - bl PlaySE -_08171510: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81714D4 - - thumb_func_start sub_8171520 -sub_8171520: @ 8171520 - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x34] - movs r1, 0xFF - ands r1, r0 - cmp r1, 0x6 - bls _08171530 - b _08171768 -_08171530: - lsls r0, r1, 2 - ldr r1, =_08171540 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08171540: - .4byte _0817155C - .4byte _081715AE - .4byte _081715F4 - .4byte _08171654 - .4byte _081716A4 - .4byte _08171708 - .4byte _08171768 -_0817155C: - ldr r1, =gBattleSpritesDataPtr - ldr r5, [r1] - ldr r2, [r5, 0x8] - ldrh r3, [r2, 0xC] - movs r6, 0xC - ldrsh r0, [r2, r6] - adds r6, r1, 0 - cmp r0, 0xFF - ble _08171584 - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - ldr r1, [r5, 0x8] - ldrb r0, [r1, 0xC] - strh r0, [r1, 0xC] - b _0817158A - .pool -_08171584: - adds r0, r3, 0 - adds r0, 0xB0 - strh r0, [r2, 0xC] -_0817158A: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - movs r3, 0 - strh r0, [r4, 0x38] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x38] - adds r0, 0x7 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xE - bhi _081715AC - b _081717AE -_081715AC: - b _08171644 -_081715AE: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _08171660 - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x36] - negs r0, r0 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - movs r6, 0x36 - ldrsh r0, [r4, r6] - cmp r0, 0 - bge _081715EA - adds r0, r4, 0 - movs r1, 0x2 - bl ChangeSpriteAffineAnim - b _081717AE -_081715EA: - adds r0, r4, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim - b _081717AE -_081715F4: - ldr r1, =gBattleSpritesDataPtr - ldr r5, [r1] - ldr r2, [r5, 0x8] - ldrh r3, [r2, 0xC] - movs r6, 0xC - ldrsh r0, [r2, r6] - adds r6, r1, 0 - cmp r0, 0xFF - ble _0817161C - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - ldr r1, [r5, 0x8] - ldrb r0, [r1, 0xC] - strh r0, [r1, 0xC] - b _08171622 - .pool -_0817161C: - adds r0, r3, 0 - adds r0, 0xB0 - strh r0, [r2, 0xC] -_08171622: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - movs r3, 0 - strh r0, [r4, 0x38] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x38] - adds r0, 0xC - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x18 - bhi _08171644 - b _081717AE -_08171644: - ldr r0, [r6] - ldr r0, [r0, 0x8] - strh r3, [r0, 0xC] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - strh r3, [r4, 0x38] - b _081717AE -_08171654: - ldrh r0, [r4, 0x38] - adds r1, r0, 0x1 - strh r1, [r4, 0x38] - lsls r0, 16 - cmp r0, 0 - bge _0817166E -_08171660: - adds r0, r4, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - b _081717AE -_0817166E: - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x36] - negs r0, r0 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - movs r6, 0x36 - ldrsh r0, [r4, r6] - cmp r0, 0 - bge _0817169C - adds r0, r4, 0 - movs r1, 0x2 - bl ChangeSpriteAffineAnim - b _081716A4 -_0817169C: - adds r0, r4, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim -_081716A4: - ldr r1, =gBattleSpritesDataPtr - ldr r5, [r1] - ldr r2, [r5, 0x8] - ldrh r3, [r2, 0xC] - movs r6, 0xC - ldrsh r0, [r2, r6] - adds r6, r1, 0 - cmp r0, 0xFF - ble _081716CC - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - ldr r1, [r5, 0x8] - ldrb r0, [r1, 0xC] - strh r0, [r1, 0xC] - b _081716D2 - .pool -_081716CC: - adds r0, r3, 0 - adds r0, 0xB0 - strh r0, [r2, 0xC] -_081716D2: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - movs r3, 0 - strh r0, [r4, 0x38] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x38] - adds r0, 0x4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x8 - bls _081717AE - ldr r0, [r6] - ldr r0, [r0, 0x8] - strh r3, [r0, 0xC] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - strh r3, [r4, 0x38] - ldrh r0, [r4, 0x36] - negs r0, r0 - strh r0, [r4, 0x36] - b _081717AE -_08171708: - movs r6, 0x80 - lsls r6, 1 - adds r0, r6, 0 - ldrh r1, [r4, 0x34] - adds r0, r1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r1, r0, 24 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x8] - cmp r1, r0 - bne _08171740 - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r0, =sub_81717B4 - str r0, [r4, 0x1C] - b _081717AE - .pool -_08171740: - cmp r0, 0x4 - bne _08171754 - cmp r1, 0x3 - bne _08171754 - ldr r0, =sub_81717D8 - str r0, [r4, 0x1C] - b _0817175A - .pool -_08171754: - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] -_0817175A: - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - b _081717AE -_08171768: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _081717AE - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r1, [r4, 0x34] - ldr r0, =0xffffff00 - ands r0, r1 - strh r0, [r4, 0x34] - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAffineAnim - movs r6, 0x36 - ldrsh r0, [r4, r6] - cmp r0, 0 - bge _081717A0 - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - b _081717A8 - .pool -_081717A0: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_081717A8: - movs r0, 0x17 - bl PlaySE -_081717AE: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8171520 - - thumb_func_start sub_81717B4 -sub_81717B4: @ 81717B4 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x38] - adds r0, 0x1 - strh r0, [r1, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _081717CE - movs r0, 0 - strh r0, [r1, 0x38] - ldr r0, =sub_8171AE4 - str r0, [r1, 0x1C] -_081717CE: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81717B4 - - thumb_func_start sub_81717D8 -sub_81717D8: @ 81717D8 - adds r3, r0, 0 - adds r3, 0x2C - ldrb r1, [r3] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r3] - ldr r1, =sub_81717F8 - str r1, [r0, 0x1C] - movs r1, 0 - strh r1, [r0, 0x34] - strh r1, [r0, 0x36] - strh r1, [r0, 0x38] - bx lr - .pool - thumb_func_end sub_81717D8 - - thumb_func_start sub_81717F8 -sub_81717F8: @ 81717F8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r6, r0, 0 - ldr r7, =gBattleAnimTarget - ldrh r0, [r6, 0x36] - adds r0, 0x1 - movs r1, 0 - mov r8, r1 - strh r0, [r6, 0x36] - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0x28 - bne _0817183C - movs r0, 0xFE - bl PlaySE - ldrb r1, [r6, 0x5] - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 9 - lsls r0, r1 - movs r1, 0x6 - movs r2, 0 - bl BlendPalettes - adds r0, r6, 0 - bl sub_81719EC - b _081718BC - .pool -_0817183C: - cmp r1, 0x3C - bne _0817185A - ldrb r1, [r6, 0x5] - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 9 - lsls r0, r1 - mov r1, r8 - str r1, [sp] - movs r1, 0x2 - movs r2, 0x6 - movs r3, 0 - bl BeginNormalPaletteFade - b _081718BC -_0817185A: - cmp r1, 0x5F - bne _08171880 - ldr r0, =gDoingBattleAnim - movs r1, 0 - strb r1, [r0] - movs r0, 0x1 - bl UpdateOamPriorityInAllHealthboxes - bl m4aMPlayAllStop - ldr r0, =0x00000213 - bl PlaySE - b _081718BC - .pool -_08171880: - ldr r0, =0x0000013b - cmp r1, r0 - bne _081718BC - ldr r5, =gSprites - ldr r4, =gBattlerSpriteIds - ldrb r0, [r7] - adds r0, r4 - ldrb r1, [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 - ldrb r0, [r7] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - mov r0, r8 - strh r0, [r6, 0x2E] - ldr r0, =sub_81718D8 - str r0, [r6, 0x1C] -_081718BC: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81717F8 - - thumb_func_start sub_81718D8 -sub_81718D8: @ 81718D8 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08171944 - cmp r0, 0x1 - bgt _081718F0 - cmp r0, 0 - beq _081718F6 - b _0817198A -_081718F0: - cmp r0, 0x2 - beq _08171976 - b _0817198A -_081718F6: - strh r0, [r4, 0x30] - strh r0, [r4, 0x32] - ldrb r1, [r4, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4, 0x1] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0x10 - bl SetGpuReg - ldr r0, [r4, 0x14] - ldrh r0, [r0, 0x2] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - movs r1, 0x1 - lsls r1, r0 - ldr r0, =0x00007fff - str r0, [sp] - adds r0, r1, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _08171982 - .pool -_08171944: - ldrh r0, [r4, 0x30] - adds r1, r0, 0x1 - strh r1, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - ble _081719B0 - movs r0, 0 - strh r0, [r4, 0x30] - ldrh r2, [r4, 0x32] - adds r2, 0x1 - strh r2, [r4, 0x32] - lsls r1, r2, 8 - movs r0, 0x10 - subs r0, r2 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _081719B0 - b _08171982 -_08171976: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_08171982: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _081719B0 -_0817198A: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _081719B0 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - strh r5, [r4, 0x2E] - ldr r0, =sub_81719C0 - str r0, [r4, 0x1C] -_081719B0: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81718D8 - - thumb_func_start sub_81719C0 -sub_81719C0: @ 81719C0 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _081719D8 - ldr r0, =0x0000ffff - strh r0, [r4, 0x2E] - b _081719E4 - .pool -_081719D8: - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite -_081719E4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81719C0 - - thumb_func_start sub_81719EC -sub_81719EC: @ 81719EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - adds r1, r6, 0 - adds r1, 0x43 - ldrb r0, [r1] - cmp r0, 0 - beq _08171A0C - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - b _08171A14 -_08171A0C: - movs r0, 0 - mov r8, r0 - movs r0, 0x1 - strb r0, [r1] -_08171A14: - movs r0, 0x4 - bl sub_8171D60 - movs r7, 0 - ldr r2, =gSprites - mov r9, r2 - movs r0, 0x1C - add r0, r9 - mov r10, r0 -_08171A26: - movs r2, 0x20 - ldrsh r1, [r6, r2] - movs r0, 0x22 - ldrsh r2, [r6, r0] - ldr r0, =gUnknown_085E5250 - mov r3, r8 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08171A82 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - mov r2, r9 - adds r5, r4, r2 - movs r0, 0x18 - strh r0, [r5, 0x2E] - ldr r0, =gUnknown_085E5088 - lsls r1, r7, 2 - adds r1, r0 - movs r0, 0 - ldrsb r0, [r1, r0] - ldrh r2, [r6, 0x20] - adds r0, r2 - strh r0, [r5, 0x32] - movs r0, 0x1 - ldrsb r0, [r1, r0] - ldrh r2, [r6, 0x22] - adds r0, r2 - strh r0, [r5, 0x36] - movs r0, 0x2 - ldrsb r0, [r1, r0] - strh r0, [r5, 0x38] - adds r0, r5, 0 - bl InitAnimArcTranslation - add r4, r10 - ldr r0, =sub_8171AAC - str r0, [r4] - ldr r0, =gUnknown_085E51B4 - ldrb r1, [r0, 0x4] - adds r0, r5, 0 - bl StartSpriteAnim -_08171A82: - adds r7, 0x1 - cmp r7, 0x2 - bls _08171A26 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81719EC - - thumb_func_start sub_8171AAC -sub_8171AAC: @ 8171AAC - push {r4,lr} - adds r4, r0, 0 - adds r3, r4, 0 - 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] - adds r0, r4, 0 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - beq _08171ADC - adds r0, r4, 0 - bl DestroySprite -_08171ADC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8171AAC - - thumb_func_start sub_8171AE4 -sub_8171AE4: @ 8171AE4 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAffineAnim - ldr r0, =sub_8171BAC - str r0, [r4, 0x1C] - ldr r0, =gLastUsedItem - ldrh r0, [r0] - bl ItemIdToBallId - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xB - bgt _08171B36 - cmp r5, 0 - blt _08171B36 - ldrh r0, [r4, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - str r5, [sp] - movs r2, 0x1 - movs r3, 0x1C - bl LaunchBallStarsTask - ldr r0, =gBattleAnimTarget - ldrb r1, [r0] - movs r0, 0x1 - movs r2, 0xE - adds r3, r5, 0 - bl LaunchBallFadeMonTask -_08171B36: - ldr r6, =gSprites - ldr r5, =gBattlerSpriteIds - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - bl AnimateSprite - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x80 - lsls r1, 5 - strh r1, [r0, 0x30] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8171AE4 - - thumb_func_start sub_8171BAC -sub_8171BAC: @ 8171BAC - push {r4-r7,lr} - adds r7, r0, 0 - movs r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08171BCA - adds r2, r7, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_08171BCA: - ldr r4, =gSprites - ldr r3, =gBattlerSpriteIds - ldr r2, =gBattleAnimTarget - ldrb r0, [r2] - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r4 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _08171C04 - adds r0, r1, 0 - movs r1, 0 - bl StartSpriteAffineAnim - movs r5, 0x1 - b _08171C24 - .pool -_08171C04: - ldr r6, =0xfffffee0 - adds r0, r6, 0 - ldrh r6, [r1, 0x30] - adds r0, r6 - strh r0, [r1, 0x30] - ldrb r0, [r2] - adds r0, r3 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 24 - strh r0, [r1, 0x26] -_08171C24: - adds r0, r7, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08171C8A - cmp r5, 0 - beq _08171C8A - ldr r4, =gSprites - ldr r3, =gBattlerSpriteIds - ldr r2, =gBattleAnimTarget - ldrb r0, [r2] - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r6, 0 - movs r5, 0 - strh r5, [r0, 0x26] - ldrb r0, [r2] - adds r0, r3 - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x9] - lsls r1, 30 - adds r2, 0x3E - lsrs r1, 31 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - strh r5, [r7, 0x2E] - ldr r0, =sub_81719C0 - str r0, [r7, 0x1C] - ldr r0, =gDoingBattleAnim - strb r6, [r0] - movs r0, 0x1 - bl UpdateOamPriorityInAllHealthboxes -_08171C8A: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8171BAC - - thumb_func_start sub_8171CAC -sub_8171CAC: @ 8171CAC - push {r4,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x24] - ldrh r1, [r2, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r2, 0x20] - ldrh r0, [r2, 0x26] - ldrh r3, [r2, 0x22] - adds r0, r3 - strh r0, [r2, 0x22] - strh r1, [r2, 0x26] - strh r1, [r2, 0x24] - ldr r4, =sub_8171CE8 - movs r3, 0 - movs r1, 0x5 - adds r0, r2, 0 - adds r0, 0x38 -_08171CD0: - strh r3, [r0] - subs r0, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _08171CD0 - str r4, [r2, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8171CAC - - thumb_func_start sub_8171CE8 -sub_8171CE8: @ 8171CE8 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x80 - lsls r0, 4 - adds r2, r0, 0 - ldrh r1, [r4, 0x2E] - adds r2, r1 - movs r0, 0xD0 - lsls r0, 3 - adds r3, r0, 0 - ldrh r1, [r4, 0x30] - adds r3, r1 - lsls r1, r3, 16 - asrs r1, 24 - ldrh r0, [r4, 0x24] - subs r0, r1 - strh r0, [r4, 0x24] - lsls r0, r2, 16 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - movs r0, 0xFF - ands r2, r0 - strh r2, [r4, 0x2E] - ands r3, r0 - strh r3, [r4, 0x30] - movs r2, 0x22 - ldrsh r0, [r4, r2] - movs r2, 0x26 - ldrsh r1, [r4, r2] - adds r0, r1 - cmp r0, 0xA0 - bgt _08171D3E - movs r1, 0x20 - ldrsh r0, [r4, r1] - movs r2, 0x24 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0x8 - negs r1, r1 - cmp r0, r1 - bge _08171D52 -_08171D3E: - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, =sub_81719C0 - str r0, [r4, 0x1C] - ldr r1, =gDoingBattleAnim - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - bl UpdateOamPriorityInAllHealthboxes -_08171D52: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8171CE8 - - thumb_func_start sub_8171D60 -sub_8171D60: @ 8171D60 - push {r4,r5,lr} - lsls r0, 24 - ldr r1, =gUnknown_085E5094 - lsrs r5, r0, 21 - adds r4, r5, r1 - ldrh r0, [r4, 0x6] - bl GetSpriteTileStartByTag - lsls r0, 16 - ldr r1, =0xffff0000 - cmp r0, r1 - bne _08171D86 - adds r0, r4, 0 - bl LoadCompressedObjectPicUsingHeap - ldr r0, =gUnknown_085E50F4 - adds r0, r5, r0 - bl LoadCompressedObjectPaletteUsingHeap -_08171D86: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8171D60 - - thumb_func_start LaunchBallStarsTask -LaunchBallStarsTask: @ 8171D98 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - adds r6, r0, 0 - mov r8, r1 - mov r9, r2 - mov r10, r3 - ldr r5, [sp, 0x1C] - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r5, 0 - bl sub_8171D60 - ldr r1, =gUnknown_085E51C0 - lsls r0, r5, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x5 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0xA] - mov r1, r8 - strh r1, [r0, 0xC] - mov r1, r9 - strh r1, [r0, 0xE] - mov r1, r10 - strh r1, [r0, 0x10] - strh r5, [r0, 0x26] - movs r0, 0xF - bl PlaySE - adds r0, r4, 0 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end LaunchBallStarsTask - - thumb_func_start sub_8171E20 -sub_8171E20: @ 8171E20 - push {lr} - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08171E3E - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0, 0x8] - ldrb r0, [r1, 0xA] - adds r0, 0x1 - strb r0, [r1, 0xA] -_08171E3E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8171E20 - - thumb_func_start sub_8171E50 -sub_8171E50: @ 8171E50 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r6, r0, r1 - ldrh r0, [r6, 0x26] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r2, 0x8 - ldrsh r0, [r6, r2] - adds r2, r1, 0 - cmp r0, 0xF - bgt _08171F48 - ldrb r1, [r6, 0xA] - ldrb r2, [r6, 0xC] - ldrb r4, [r6, 0xE] - mov r9, r4 - ldrb r3, [r6, 0x10] - ldr r4, [sp] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - ldr r4, =gUnknown_085E51F0 - adds r0, r4 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - cmp r0, 0x40 - beq _08171EEC - bl sub_8171E20 - mov r0, r10 - lsls r4, r0, 4 - add r4, r10 - lsls r4, 2 - ldr r5, =gSprites - adds r7, r4, r5 - ldr r0, =gUnknown_085E51B4 - ldr r1, [sp] - adds r0, r1, r0 - ldrb r1, [r0] - adds r0, r7, 0 - bl StartSpriteAnim - adds r5, 0x1C - adds r4, r5 - ldr r0, =sub_8171F68 - str r0, [r4] - movs r0, 0x3 - mov r2, r9 - ands r2, r0 - lsls r2, 2 - ldrb r1, [r7, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r7, 0x5] - ldrb r0, [r6, 0x8] - cmp r0, 0x7 - bls _08171EE8 - subs r0, 0x8 - lsls r0, 24 - lsrs r0, 24 -_08171EE8: - lsls r0, 5 - strh r0, [r7, 0x2E] -_08171EEC: - ldr r0, =gTasks - mov r4, r8 - lsls r1, r4, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r2, 0x8 - ldrsh r1, [r1, r2] - adds r2, r0, 0 - cmp r1, 0xF - bne _08171F48 - ldr r0, =gMain - ldr r4, =0x00000439 - adds r0, r4 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08171F22 - ldr r0, =gSprites - mov r2, r10 - lsls r1, r2, 4 - add r1, r10 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] -_08171F22: - mov r0, r8 - bl DestroyTask - b _08171F58 - .pool -_08171F48: - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] -_08171F58: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8171E50 - - thumb_func_start sub_8171F68 -sub_8171F68: @ 8171F68 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x30] - movs r3, 0x30 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _08171F80 - ldr r0, =sub_8171F88 - str r0, [r1, 0x1C] - b _08171F84 - .pool -_08171F80: - subs r0, r2, 0x1 - strh r0, [r1, 0x30] -_08171F84: - pop {r0} - bx r0 - thumb_func_end sub_8171F68 - - thumb_func_start sub_8171F88 -sub_8171F88: @ 8171F88 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x2 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x32 - bne _08171FBC - adds r0, r4, 0 - bl sub_8172944 -_08171FBC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8171F88 - - thumb_func_start sub_8171FC4 -sub_8171FC4: @ 8171FC4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, =gTasks - mov r2, r9 - lsls r1, r2, 2 - add r1, r9 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x26] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r3, [r1, 0xA] - str r3, [sp] - ldrb r0, [r1, 0xC] - str r0, [sp, 0x4] - ldrb r2, [r1, 0xE] - str r2, [sp, 0x8] - ldrb r1, [r1, 0x10] - str r1, [sp, 0xC] - movs r7, 0 - ldr r3, =gSprites - mov r10, r3 - mov r1, r8 - lsls r0, r1, 1 - add r0, r8 - lsls r0, 3 - str r0, [sp, 0x10] -_0817200A: - ldr r0, =gUnknown_085E51F0 - ldr r2, [sp, 0x10] - adds r0, r2, r0 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _0817206A - bl sub_8171E20 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - mov r3, r10 - adds r5, r4, r3 - ldr r0, =gUnknown_085E51B4 - add r0, r8 - ldrb r1, [r0] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r0, =gSprites + 0x1C - adds r4, r0 - ldr r0, =sub_8172508 - str r0, [r4] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r5, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - lsls r0, r7, 5 - strh r0, [r5, 0x2E] - movs r0, 0xA - strh r0, [r5, 0x36] - movs r0, 0x2 - strh r0, [r5, 0x38] - movs r0, 0x1 - strh r0, [r5, 0x3A] -_0817206A: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x7 - bls _0817200A - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08172092 - ldr r0, =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] -_08172092: - mov r0, r9 - bl DestroyTask - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8171FC4 - - thumb_func_start sub_81720C8 -sub_81720C8: @ 81720C8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, =gTasks - mov r2, r9 - lsls r1, r2, 2 - add r1, r9 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x26] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r3, [r1, 0xA] - str r3, [sp] - ldrb r0, [r1, 0xC] - str r0, [sp, 0x4] - ldrb r2, [r1, 0xE] - str r2, [sp, 0x8] - ldrb r1, [r1, 0x10] - str r1, [sp, 0xC] - movs r7, 0 - ldr r3, =gSprites - mov r10, r3 - mov r1, r8 - lsls r0, r1, 1 - add r0, r8 - lsls r0, 3 - str r0, [sp, 0x10] -_0817210E: - ldr r0, =gUnknown_085E51F0 - ldr r2, [sp, 0x10] - adds r0, r2, r0 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _0817216E - bl sub_8171E20 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - mov r3, r10 - adds r5, r4, r3 - ldr r0, =gUnknown_085E51B4 - add r0, r8 - ldrb r1, [r0] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r0, =gSprites + 0x1C - adds r4, r0 - ldr r0, =sub_8172508 - str r0, [r4] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r5, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - lsls r0, r7, 5 - strh r0, [r5, 0x2E] - movs r0, 0xA - strh r0, [r5, 0x36] - movs r0, 0x1 - strh r0, [r5, 0x38] - movs r0, 0x2 - strh r0, [r5, 0x3A] -_0817216E: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x7 - bls _0817210E - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08172196 - ldr r0, =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] -_08172196: - mov r0, r9 - bl DestroyTask - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81720C8 - - thumb_func_start sub_81721CC -sub_81721CC: @ 81721CC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r1, =gTasks - lsls r0, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r0, 0xA] - str r2, [sp] - ldrb r3, [r0, 0xC] - str r3, [sp, 0x4] - ldrb r2, [r0, 0xE] - str r2, [sp, 0x8] - ldrb r0, [r0, 0x10] - str r0, [sp, 0xC] - movs r7, 0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - str r0, [sp, 0x10] - ldr r3, =gSprites - mov r8, r3 - ldr r0, =gUnknown_085E51B4 - adds r1, r0 - mov r10, r1 -_08172212: - ldr r0, =gUnknown_085E51F0 - ldr r1, [sp, 0x10] - adds r0, r1, r0 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _0817226E - bl sub_8171E20 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - mov r2, r8 - adds r5, r4, r2 - mov r3, r10 - ldrb r1, [r3] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r0, =gSprites + 0x1C - adds r4, r0 - ldr r0, =sub_8172508 - str r0, [r4] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r5, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - lsls r0, r7, 5 - strh r0, [r5, 0x2E] - movs r0, 0x4 - strh r0, [r5, 0x36] - movs r0, 0x1 - strh r0, [r5, 0x38] - strh r0, [r5, 0x3A] -_0817226E: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x7 - bls _08172212 - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08172296 - ldr r0, =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] -_08172296: - mov r0, r9 - bl DestroyTask - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81721CC - - thumb_func_start sub_81722CC -sub_81722CC: @ 81722CC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, =gTasks - mov r2, r9 - lsls r1, r2, 2 - add r1, r9 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x26] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r3, [r1, 0xA] - str r3, [sp] - ldrb r0, [r1, 0xC] - str r0, [sp, 0x4] - ldrb r2, [r1, 0xE] - str r2, [sp, 0x8] - ldrb r1, [r1, 0x10] - str r1, [sp, 0xC] - movs r7, 0 - ldr r3, =gSprites - mov r10, r3 - mov r1, r8 - lsls r0, r1, 1 - add r0, r8 - lsls r0, 3 - str r0, [sp, 0x10] -_08172312: - ldr r0, =gUnknown_085E51F0 - ldr r2, [sp, 0x10] - adds r0, r2, r0 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _08172376 - bl sub_8171E20 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - mov r3, r10 - adds r5, r4, r3 - ldr r0, =gUnknown_085E51B4 - add r0, r8 - ldrb r1, [r0] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r0, =gSprites + 0x1C - adds r4, r0 - ldr r0, =sub_8172508 - str r0, [r4] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r5, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 3 - adds r0, r7 - strh r0, [r5, 0x2E] - movs r0, 0x5 - strh r0, [r5, 0x36] - movs r0, 0x1 - strh r0, [r5, 0x38] - strh r0, [r5, 0x3A] -_08172376: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x9 - bls _08172312 - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0817239E - ldr r0, =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] -_0817239E: - mov r0, r9 - bl DestroyTask - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81722CC - - thumb_func_start sub_81723D4 -sub_81723D4: @ 81723D4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, =gTasks - lsls r2, r0, 2 - adds r0, r2, r0 - lsls r0, 3 - adds r3, r0, r1 - ldrh r1, [r3, 0x16] - movs r4, 0x16 - ldrsh r0, [r3, r4] - cmp r0, 0 - beq _08172404 - subs r0, r1, 0x1 - strh r0, [r3, 0x16] - b _081724D6 - .pool -_08172404: - ldrh r0, [r3, 0x26] - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r3, 0xA] - str r1, [sp] - ldrb r4, [r3, 0xC] - str r4, [sp, 0x4] - ldrb r1, [r3, 0xE] - str r1, [sp, 0x8] - ldrb r3, [r3, 0x10] - str r3, [sp, 0xC] - movs r7, 0 - str r2, [sp, 0x14] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - str r1, [sp, 0x10] - ldr r3, =gSprites - mov r9, r3 - ldr r1, =gUnknown_085E51B4 - adds r0, r1 - mov r10, r0 -_08172430: - ldr r0, =gUnknown_085E51F0 - ldr r4, [sp, 0x10] - adds r0, r4, r0 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _0817248C - bl sub_8171E20 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - mov r0, r9 - adds r5, r4, r0 - mov r3, r10 - ldrb r1, [r3] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r0, =gSprites + 0x1C - adds r4, r0 - ldr r0, =sub_8172508 - str r0, [r4] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r5, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - lsls r0, r7, 5 - strh r0, [r5, 0x2E] - movs r0, 0x8 - strh r0, [r5, 0x36] - movs r0, 0x2 - strh r0, [r5, 0x38] - strh r0, [r5, 0x3A] -_0817248C: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x7 - bls _08172430 - ldr r0, =gTasks - ldr r1, [sp, 0x14] - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x8 - strh r0, [r1, 0x16] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0x2 - bne _081724D6 - ldr r0, =gMain - ldr r4, =0x00000439 - adds r0, r4 - ldrb r1, [r0] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _081724D0 - ldr r0, =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] -_081724D0: - mov r0, r8 - bl DestroyTask -_081724D6: - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81723D4 - - thumb_func_start sub_8172508 -sub_8172508: @ 8172508 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x32 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x2E] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x38] - ldrh r2, [r4, 0x30] - adds r0, r2 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x33 - bne _08172558 - adds r0, r4, 0 - bl sub_8172944 -_08172558: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8172508 - - thumb_func_start sub_8172560 -sub_8172560: @ 8172560 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r1, =gTasks - lsls r0, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r0, 0xA] - str r2, [sp] - ldrb r3, [r0, 0xC] - str r3, [sp, 0x4] - ldrb r2, [r0, 0xE] - str r2, [sp, 0x8] - ldrb r0, [r0, 0x10] - str r0, [sp, 0xC] - movs r7, 0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - str r0, [sp, 0x10] - ldr r3, =gSprites - mov r8, r3 - ldr r0, =gUnknown_085E51B4 - adds r1, r0 - mov r10, r1 -_081725A6: - ldr r0, =gUnknown_085E51F0 - ldr r1, [sp, 0x10] - adds r0, r1, r0 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _081725FE - bl sub_8171E20 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - mov r2, r8 - adds r5, r4, r2 - mov r3, r10 - ldrb r1, [r3] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r0, =gSprites + 0x1C - adds r4, r0 - ldr r0, =sub_817265C - str r0, [r4] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r5, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 2 - adds r0, r7 - strh r0, [r5, 0x2E] -_081725FE: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0xB - bls _081725A6 - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08172626 - ldr r0, =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] -_08172626: - mov r0, r9 - bl DestroyTask - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8172560 - - thumb_func_start sub_817265C -sub_817265C: @ 817265C - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - movs r2, 0x30 - ldrsh r1, [r5, r2] - bl Sin - strh r0, [r5, 0x24] - movs r0, 0x2E - ldrsh r4, [r5, r0] - movs r2, 0x32 - ldrsh r1, [r5, r2] - adds r0, r4, 0 - bl Sin - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl Cos - strh r0, [r5, 0x26] - ldrh r0, [r5, 0x2E] - adds r0, 0x6 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x33 - bne _081726B4 - adds r0, r5, 0 - bl sub_8172944 -_081726B4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_817265C - - thumb_func_start sub_81726BC -sub_81726BC: @ 81726BC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - ldr r0, =gTasks - ldr r2, [sp] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x26] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldrb r3, [r1, 0xA] - str r3, [sp, 0x4] - ldrb r0, [r1, 0xC] - str r0, [sp, 0x8] - ldrb r2, [r1, 0xE] - str r2, [sp, 0xC] - ldrb r1, [r1, 0x10] - str r1, [sp, 0x10] - movs r3, 0 - mov r8, r3 - mov r1, r9 - lsls r0, r1, 1 - add r0, r9 - lsls r0, 3 - str r0, [sp, 0x14] -_08172700: - movs r7, 0 - movs r2, 0x1 - add r2, r8 - mov r10, r2 -_08172708: - ldr r0, =gUnknown_085E51F0 - ldr r3, [sp, 0x14] - adds r0, r3, r0 - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - ldr r3, [sp, 0x10] - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _08172790 - bl sub_8171E20 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - ldr r0, =gSprites - adds r5, r4, r0 - ldr r0, =gUnknown_085E51B4 - add r0, r9 - ldrb r1, [r0] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r1, =gSprites + 0x1C - adds r4, r1 - ldr r0, =sub_8172508 - str r0, [r4] - movs r0, 0x3 - ldr r1, [sp, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r0, [r5, 0x5] - movs r3, 0xD - negs r3, r3 - adds r2, r3, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - lsls r0, r7, 5 - strh r0, [r5, 0x2E] - movs r0, 0x8 - strh r0, [r5, 0x36] - mov r0, r8 - cmp r0, 0 - bne _08172788 - movs r0, 0x2 - strh r0, [r5, 0x38] - movs r0, 0x1 - b _0817278E - .pool -_08172788: - movs r0, 0x1 - strh r0, [r5, 0x38] - movs r0, 0x2 -_0817278E: - strh r0, [r5, 0x3A] -_08172790: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x7 - bls _08172708 - mov r1, r10 - lsls r0, r1, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0x1 - bls _08172700 - ldr r0, =gMain - ldr r2, =0x00000439 - adds r0, r2 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081727C4 - ldr r0, =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] -_081727C4: - ldr r0, [sp] - bl DestroyTask - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81726BC - - thumb_func_start sub_81727E8 -sub_81727E8: @ 81727E8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r1, =gTasks - lsls r0, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r0, 0xA] - str r2, [sp] - ldrb r3, [r0, 0xC] - str r3, [sp, 0x4] - ldrb r2, [r0, 0xE] - str r2, [sp, 0x8] - ldrb r0, [r0, 0x10] - str r0, [sp, 0xC] - movs r7, 0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - str r0, [sp, 0x10] - ldr r3, =gSprites - mov r8, r3 - ldr r0, =gUnknown_085E51B4 - adds r1, r0 - mov r10, r1 -_0817282E: - ldr r0, =gUnknown_085E51F0 - ldr r1, [sp, 0x10] - adds r0, r1, r0 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _08172880 - bl sub_8171E20 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - mov r2, r8 - adds r5, r4, r2 - mov r3, r10 - ldrb r1, [r3] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r0, =gSprites + 0x1C - adds r4, r0 - ldr r0, =sub_81728E0 - str r0, [r4] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r5, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - lsls r0, r7, 5 - strh r0, [r5, 0x2E] -_08172880: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x7 - bls _0817282E - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081728A8 - ldr r0, =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] -_081728A8: - mov r0, r9 - bl DestroyTask - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81727E8 - - thumb_func_start sub_81728E0 -sub_81728E0: @ 81728E0 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - movs r2, 0x30 - ldrsh r1, [r5, r2] - bl Sin - strh r0, [r5, 0x24] - movs r0, 0x2E - ldrsh r4, [r5, r0] - ldrh r1, [r5, 0x2E] - movs r0, 0x3F - ands r0, r1 - movs r2, 0x32 - ldrsh r1, [r5, r2] - bl Sin - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl Cos - strh r0, [r5, 0x26] - ldrh r0, [r5, 0x2E] - adds r0, 0xA - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x33 - bne _0817293C - adds r0, r5, 0 - bl sub_8172944 -_0817293C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81728E0 - - thumb_func_start sub_8172944 -sub_8172944: @ 8172944 - push {r4-r7,lr} - adds r7, r0, 0 - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08172970 - movs r1, 0x3C - ldrsh r0, [r7, r1] - cmp r0, 0x1 - bne _081729CA - adds r0, r7, 0 - bl DestroySpriteAndFreeResources - b _081729E2 - .pool -_08172970: - ldr r2, =gBattleSpritesDataPtr - ldr r0, [r2] - ldr r1, [r0, 0x8] - ldrb r0, [r1, 0xA] - subs r0, 0x1 - strb r0, [r1, 0xA] - ldr r0, [r2] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0xA] - cmp r0, 0 - bne _081729DC - movs r4, 0 - ldr r5, =gUnknown_085E51C0 - b _08172998 - .pool -_08172994: - adds r5, 0x4 - adds r4, 0x1 -_08172998: - cmp r4, 0xB - bgt _081729AA - ldr r0, [r5] - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08172994 -_081729AA: - cmp r4, 0xC - bne _081729CA - movs r6, 0 - ldr r5, =gUnknown_085E5094 - ldr r4, =gUnknown_085E50F4 -_081729B4: - ldrh r0, [r5, 0x6] - bl FreeSpriteTilesByTag - ldrh r0, [r4, 0x4] - bl FreeSpritePaletteByTag - adds r5, 0x8 - adds r4, 0x8 - adds r6, 0x1 - cmp r6, 0xB - ble _081729B4 -_081729CA: - adds r0, r7, 0 - bl DestroySprite - b _081729E2 - .pool -_081729DC: - adds r0, r7, 0 - bl DestroySprite -_081729E2: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8172944 - - thumb_func_start LaunchBallFadeMonTask -LaunchBallFadeMonTask: @ 81729E8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r4, r0, 0 - mov r9, r2 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r3, 24 - lsrs r7, r3, 24 - ldr r0, =sub_8172AB0 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r5, r0, r1 - strh r7, [r5, 0x26] - strh r6, [r5, 0xE] - mov r0, r9 - strh r0, [r5, 0x1C] - mov r1, r9 - lsrs r0, r1, 16 - strh r0, [r5, 0x1E] - cmp r4, 0 - bne _08172A58 - lsls r0, r6, 20 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r0, 16 - ldr r2, =gUnknown_085E5310 - lsls r1, r7, 1 - adds r1, r2 - ldrh r3, [r1] - movs r1, 0x10 - movs r2, 0 - bl BlendPalette - movs r0, 0x1 - strh r0, [r5, 0xA] - b _08172A7E - .pool -_08172A58: - lsls r0, r6, 20 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - ldr r2, =gUnknown_085E5310 - lsls r1, r7, 1 - adds r1, r2 - ldrh r3, [r1] - movs r1, 0x10 - movs r2, 0x10 - bl BlendPalette - movs r0, 0x10 - strh r0, [r5, 0x8] - ldr r0, =0x0000ffff - strh r0, [r5, 0xA] - ldr r0, =sub_8172B40 - str r0, [r5] -_08172A7E: - ldr r0, =0x00007fff - str r0, [sp] - mov r0, r9 - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - mov r0, r8 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end LaunchBallFadeMonTask - - thumb_func_start sub_8172AB0 -sub_8172AB0: @ 8172AB0 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0x10 - bgt _08172B08 - movs r2, 0xE - ldrsh r0, [r4, r2] - lsls r0, 20 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r0, 16 - ldrb r2, [r4, 0x8] - ldr r3, =gUnknown_085E5310 - lsls r1, 1 - adds r1, r3 - ldrh r3, [r1] - movs r1, 0x10 - bl BlendPalette - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x8] - adds r0, r1 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - b _08172B30 - .pool -_08172B08: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08172B30 - ldrh r0, [r4, 0x1C] - ldrh r1, [r4, 0x1E] - lsls r1, 16 - orrs r0, r1 - ldr r1, =0x00007fff - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - adds r0, r5, 0 - bl DestroyTask -_08172B30: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8172AB0 - - thumb_func_start sub_8172B40 -sub_8172B40: @ 8172B40 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08172B78 - ldr r0, =gTasks - lsls r4, r2, 2 - adds r4, r2 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r4, 0x1C] - ldrh r1, [r4, 0x1E] - lsls r1, 16 - orrs r0, r1 - ldr r1, =0x00007fff - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =sub_8172B90 - str r0, [r4] -_08172B78: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8172B40 - - thumb_func_start sub_8172B90 -sub_8172B90: @ 8172B90 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r1, r0, 24 - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0x10 - bgt _08172BE4 - movs r2, 0xE - ldrsh r0, [r4, r2] - lsls r0, 20 - movs r3, 0x80 - lsls r3, 17 - adds r0, r3 - lsrs r0, 16 - ldrb r2, [r4, 0x8] - ldr r3, =gUnknown_085E5310 - lsls r1, 1 - adds r1, r3 - ldrh r3, [r1] - movs r1, 0x10 - bl BlendPalette - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x8] - adds r0, r1 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - b _08172BEA - .pool -_08172BE4: - adds r0, r2, 0 - bl DestroyTask -_08172BEA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8172B90 - - thumb_func_start sub_8172BF0 -sub_8172BF0: @ 8172BF0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0 - mov r8, r0 - ldr r0, =gBattlerSpriteIds - ldr r3, =gBattleAnimAttacker - ldrb r2, [r3] - adds r0, r2, r0 - ldrb r6, [r0] - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x1C - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _08172CC8 - cmp r0, 0x1 - bgt _08172C30 - cmp r0, 0 - beq _08172C36 - b _08172D8A - .pool -_08172C30: - cmp r0, 0x2 - beq _08172CDA - b _08172D8A -_08172C36: - ldr r0, =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r5, 0x1E] - movs r2, 0xA0 - lsls r2, 3 - adds r0, r2, 0 - ldrh r4, [r5, 0x8] - adds r0, r4 - strh r0, [r5, 0x8] - ldrb r0, [r3] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08172C78 - ldr r2, =gSprites - lsls r3, r6, 4 - adds r1, r3, r6 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r5, 0x8] - lsls r0, 16 - asrs r0, 24 - ldrh r4, [r1, 0x24] - adds r0, r4 - strh r0, [r1, 0x24] - adds r4, r3, 0 - b _08172C90 - .pool -_08172C78: - ldr r3, =gSprites - lsls r4, r6, 4 - adds r2, r4, r6 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r5, 0x8] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r2, 0x24] - subs r0, r1 - strh r0, [r2, 0x24] - adds r2, r3, 0 -_08172C90: - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r3, r0, r1 - ldrb r0, [r3, 0x8] - strh r0, [r3, 0x8] - adds r0, r4, r6 - lsls r0, 2 - adds r0, r2 - movs r2, 0x20 - ldrsh r1, [r0, r2] - movs r4, 0x24 - ldrsh r0, [r0, r4] - adds r1, r0 - adds r1, 0x20 - movs r0, 0x98 - lsls r0, 1 - cmp r1, r0 - bls _08172D8A - ldrh r0, [r3, 0x1C] - adds r0, 0x1 - strh r0, [r3, 0x1C] - b _08172D8A - .pool -_08172CC8: - ldrb r1, [r5, 0x1E] - adds r0, r2, 0 - adds r2, r6, 0 - bl LoadBattleMonGfxAndAnimate - ldrh r0, [r5, 0x1C] - adds r0, 0x1 - strh r0, [r5, 0x1C] - b _08172D8A -_08172CDA: - movs r1, 0xA0 - lsls r1, 3 - adds r0, r1, 0 - ldrh r2, [r5, 0x8] - adds r0, r2 - strh r0, [r5, 0x8] - ldrb r0, [r3] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08172D10 - ldr r0, =gSprites - lsls r3, r6, 4 - adds r2, r3, r6 - lsls r2, 2 - adds r2, r0 - ldrh r1, [r5, 0x8] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r2, 0x24] - subs r0, r1 - strh r0, [r2, 0x24] - adds r4, r3, 0 - b _08172D28 - .pool -_08172D10: - ldr r0, =gSprites - lsls r2, r6, 4 - adds r1, r2, r6 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r5, 0x8] - lsls r0, 16 - asrs r0, 24 - ldrh r3, [r1, 0x24] - adds r0, r3 - strh r0, [r1, 0x24] - adds r4, r2, 0 -_08172D28: - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0x8] - strh r1, [r0, 0x8] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _08172D68 - ldr r0, =gSprites - adds r1, r4, r6 - lsls r1, 2 - adds r1, r0 - movs r4, 0x24 - ldrsh r0, [r1, r4] - cmp r0, 0 - bgt _08172D7E - movs r0, 0 - strh r0, [r1, 0x24] - b _08172D84 - .pool -_08172D68: - ldr r0, =gSprites - adds r1, r4, r6 - lsls r1, 2 - adds r1, r0 - movs r3, 0x24 - ldrsh r0, [r1, r3] - cmp r0, 0 - blt _08172D7E - strh r2, [r1, 0x24] - movs r4, 0x1 - mov r8, r4 -_08172D7E: - mov r0, r8 - cmp r0, 0 - beq _08172D8A -_08172D84: - adds r0, r7, 0 - bl DestroyAnimVisualTask -_08172D8A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8172BF0 - - thumb_func_start sub_8172D98 -sub_8172D98: @ 8172D98 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x26 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08172E14 - cmp r0, 0x1 - bgt _08172DC0 - cmp r0, 0 - beq _08172DC6 - b _08172E84 - .pool -_08172DC0: - cmp r0, 0x2 - beq _08172E4E - b _08172E84 -_08172DC6: - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80A8364 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08172DE8 - ldr r1, =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - b _08172DF0 - .pool -_08172DE8: - ldr r1, =0x00003f44 - movs r0, 0x50 - bl SetGpuReg -_08172DF0: - movs r0, 0x52 - movs r1, 0x10 - bl SetGpuReg - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x26] - adds r0, 0x1 - strh r0, [r1, 0x26] - b _08172E84 - .pool -_08172E14: - ldrh r0, [r4, 0xA] - adds r1, r0, 0x1 - strh r1, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _08172E84 - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r2, [r4, 0x8] - adds r2, 0x1 - strh r2, [r4, 0x8] - lsls r1, r2, 8 - movs r0, 0x10 - subs r0, r2 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _08172E84 - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - b _08172E84 -_08172E4E: - ldr r1, =gBattlerSpriteIds - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - adds r0, r1 - ldrb r1, [r0] - ldr r2, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x4] - lsls r1, 22 - lsrs r1, 17 - ldr r0, =0x06010000 - adds r1, r0 - movs r2, 0x80 - lsls r2, 4 - movs r0, 0 - movs r3, 0x1 - bl RequestDma3Fill - ldrb r0, [r4] - bl ClearBehindSubstituteBit - adds r0, r5, 0 - bl DestroyAnimVisualTask -_08172E84: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8172D98 - - thumb_func_start sub_8172E9C -sub_8172E9C: @ 8172E9C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gBattleAnimArgs - ldr r1, =gBattleSpritesDataPtr - ldr r2, [r1] - ldr r1, =gBattleAnimAttacker - ldrb r1, [r1] - ldr r2, [r2] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - lsls r1, 29 - lsrs r1, 31 - strh r1, [r3, 0xE] - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_8172E9C - - thumb_func_start sub_8172ED0 -sub_8172ED0: @ 8172ED0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gBattleAnimTarget - ldr r1, =gEffectBattler - ldrb r1, [r1] - strb r1, [r2] - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_8172ED0 - - thumb_func_start sub_8172EF0 -sub_8172EF0: @ 8172EF0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r1, 0 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0 - mov r8, r0 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - adds r5, r0, 0 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - adds r4, r0, 0 - adds r0, r6, 0 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _08172FC8 - lsrs r0, r5, 16 - ldr r7, =0x0000ffff - ands r5, r7 - eors r0, r5 - lsrs r1, r4, 16 - eors r0, r1 - ands r4, r7 - eors r0, r4 - cmp r0, 0x7 - bhi _08172F4E - movs r0, 0x1 - mov r8, r0 -_08172F4E: - mov r0, r8 - cmp r0, 0 - beq _08172FC8 - ldr r0, =0x000027f9 - bl GetSpriteTileStartByTag - lsls r0, 16 - lsrs r0, 16 - cmp r0, r7 - bne _08172F6E - ldr r0, =gBattleAnimPicTable + 0x748 - bl LoadCompressedObjectPicUsingHeap - ldr r0, =gBattleAnimPaletteTable + 0x748 - bl LoadCompressedObjectPaletteUsingHeap -_08172F6E: - ldr r5, =sub_8172FEC - adds r0, r5, 0 - movs r1, 0xA - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gTasks - lsls r2, r4, 2 - adds r2, r4 - lsls r2, 3 - adds r2, r3 - movs r4, 0 - strh r6, [r2, 0x8] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - strh r6, [r1, 0x8] - strh r4, [r2, 0xA] - movs r0, 0x1 - strh r0, [r1, 0xA] - b _08172FDE - .pool -_08172FC8: - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x1] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x1] -_08172FDE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8172EF0 - - thumb_func_start sub_8172FEC -sub_8172FEC: @ 8172FEC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0x22] - movs r2, 0x22 - ldrsh r0, [r4, r2] - cmp r0, 0x3B - bgt _08173018 - adds r0, r1, 0x1 - strh r0, [r4, 0x22] - b _08173190 - .pool -_08173018: - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0xA] - cmp r0, 0 - beq _08173026 - b _08173190 -_08173026: - ldrh r0, [r4, 0x1C] - adds r1, r0, 0x1 - strh r1, [r4, 0x1C] - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - cmp r1, 0 - beq _0817303A - b _08173190 -_0817303A: - ldrb r0, [r4, 0x8] - mov r8, r0 - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r8 - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0x1E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08173074 - ldr r0, =gUnknown_085CE388 - adds r1, r5, 0 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - b _081730D6 - .pool -_08173074: - cmp r0, 0 - blt _081730A8 - cmp r0, 0x3 - bgt _081730A8 - ldr r0, =gUnknown_085CE3A0 - adds r1, r5, 0 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gSprites - lsls r2, r5, 4 - adds r2, r5 - lsls r2, 2 - adds r2, r0 - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x4 - b _081730C8 - .pool -_081730A8: - ldr r0, =gUnknown_085CE3A0 - adds r1, r5, 0 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gSprites - lsls r2, r5, 4 - adds r2, r5 - lsls r2, 2 - adds r2, r0 - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x5 -_081730C8: - ldr r4, =0x000003ff - adds r0, r4, 0 - ands r1, r0 - ldr r0, =0xfffffc00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, 0x4] -_081730D6: - ldr r2, =gTasks - lsls r1, r7, 2 - adds r0, r1, r7 - lsls r0, 3 - adds r6, r0, r2 - movs r2, 0xA - ldrsh r0, [r6, r2] - mov r9, r1 - cmp r0, 0 - bne _08173118 - ldr r1, =gSprites - lsls r2, r5, 4 - adds r0, r2, r5 - lsls r0, 2 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_81731FC - str r1, [r0] - adds r4, r2, 0 - b _08173160 - .pool -_08173118: - ldr r3, =gSprites - lsls r4, r5, 4 - adds r1, r4, r5 - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x1C - adds r0, r1, r0 - ldr r2, =sub_8173250 - str r2, [r0] - adds r1, r3 - ldr r0, =0x0000ffe0 - strh r0, [r1, 0x24] - movs r0, 0x20 - strh r0, [r1, 0x26] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - movs r1, 0x1E - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _08173160 - mov r0, r8 - bl GetBattlerSide - lsls r0, 24 - movs r1, 0x3F - cmp r0, 0 - bne _08173156 - movs r1, 0xC0 -_08173156: - lsls r1, 24 - asrs r1, 24 - movs r0, 0x66 - bl PlaySE12WithPanning -_08173160: - ldr r1, =gSprites - adds r0, r4, r5 - lsls r0, 2 - adds r0, r1 - strh r7, [r0, 0x2E] - ldr r1, =gTasks - mov r2, r9 - adds r0, r2, r7 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0x1E] - adds r0, 0x1 - strh r0, [r1, 0x1E] - cmp r5, 0x40 - beq _08173184 - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] -_08173184: - movs r4, 0x1E - ldrsh r0, [r1, r4] - cmp r0, 0x5 - bne _08173190 - ldr r0, =sub_81731B0 - str r0, [r1] -_08173190: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8172FEC - - thumb_func_start sub_81731B0 -sub_81731B0: @ 81731B0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r3, r0, 0 - ldr r1, =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r1, r0, r1 - movs r2, 0x20 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _081731F0 - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _081731EA - ldrb r1, [r1, 0x8] - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r2, [r0, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x1] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x1] -_081731EA: - adds r0, r3, 0 - bl DestroyTask -_081731F0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81731B0 - - thumb_func_start sub_81731FC -sub_81731FC: @ 81731FC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x18 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x18 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0xC - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _08173246 - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x1 - strh r1, [r0, 0x20] - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite -_08173246: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81731FC - - thumb_func_start sub_8173250 -sub_8173250: @ 8173250 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - bgt _08173264 - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - b _081732A6 -_08173264: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldrh r1, [r4, 0x24] - adds r1, 0x5 - strh r1, [r4, 0x24] - ldrh r0, [r4, 0x26] - subs r0, 0x5 - strh r0, [r4, 0x26] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x20 - ble _081732A6 - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x1 - strh r1, [r0, 0x20] - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite -_081732A6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8173250 - - thumb_func_start sub_81732B0 -sub_81732B0: @ 81732B0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gBattleAnimPicTable + 0x868 - bl LoadCompressedObjectPicUsingHeap - ldr r0, =gBattleAnimPaletteTable + 0x868 - bl LoadCompressedObjectPaletteUsingHeap - ldr r0, =0x0000281d - bl IndexOfSpritePaletteTag - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81732B0 - - thumb_func_start sub_81732E4 -sub_81732E4: @ 81732E4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =0x0000281d - adds r0, r5, 0 - bl FreeSpriteTilesByTag - adds r0, r5, 0 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81732E4 - - thumb_func_start sub_817330C -sub_817330C: @ 817330C - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0 - bl InitAnimSpritePos - movs r0, 0x1E - strh r0, [r4, 0x2E] - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - ldr r5, =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r5, 0x4] - adds r0, r1 - strh r0, [r4, 0x32] - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r5, [r5, 0x6] - adds r0, r5 - strh r0, [r4, 0x36] - ldr r0, =0x0000ffe0 - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl InitAnimArcTranslation - ldr r2, =gSprites - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_8039E84 - str r1, [r0] - ldr r0, =sub_817339C - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817330C - - thumb_func_start sub_817339C -sub_817339C: @ 817339C - push {lr} - adds r3, r0, 0 - ldr r2, =gSprites - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x1 - bne _081733C0 - ldr r0, =sub_81733D4 - str r0, [r3, 0x1C] -_081733C0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_817339C - - thumb_func_start sub_81733D4 -sub_81733D4: @ 81733D4 - push {r4,lr} - adds r4, r0, 0 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - beq _081733F6 - movs r0, 0 - strh r0, [r4, 0x2E] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =sub_8173400 - str r0, [r4, 0x1C] -_081733F6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81733D4 - - thumb_func_start sub_8173400 -sub_8173400: @ 8173400 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gSprites - ldr r3, =gBattlerSpriteIds - ldr r2, =gBattleAnimAttacker - ldrb r0, [r2] - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - bge _08173448 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - ble _08173448 - ldrb r0, [r2] - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl DestroyAnimSprite -_08173448: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8173400 - - thumb_func_start sub_817345C -sub_817345C: @ 817345C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08173478 - cmp r0, 0x1 - beq _0817348C - b _081734A0 - .pool -_08173478: - movs r0, 0 - bl GetBattlerAtPosition - ldr r1, =gBattleAnimAttacker - strb r0, [r1] - movs r0, 0x1 - b _08173498 - .pool -_0817348C: - movs r0, 0x1 - bl GetBattlerAtPosition - ldr r1, =gBattleAnimAttacker - strb r0, [r1] - movs r0, 0 -_08173498: - bl GetBattlerAtPosition - ldr r1, =gBattleAnimTarget - strb r0, [r1] -_081734A0: - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817345C - - thumb_func_start AnimTask_GetTrappedMoveAnimId -AnimTask_GetTrappedMoveAnimId: @ 81734B4 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrh r1, [r0] - cmp r1, 0x53 - bne _081734D4 - ldr r1, =gBattleAnimArgs - movs r0, 0x1 - b _0817350C - .pool -_081734D4: - cmp r1, 0xFA - bne _081734E4 - ldr r1, =gBattleAnimArgs - movs r0, 0x2 - b _0817350C - .pool -_081734E4: - cmp r1, 0x80 - bne _081734F4 - ldr r1, =gBattleAnimArgs - movs r0, 0x3 - b _0817350C - .pool -_081734F4: - movs r0, 0xA4 - lsls r0, 1 - cmp r1, r0 - bne _08173508 - ldr r1, =gBattleAnimArgs - movs r0, 0x4 - b _0817350C - .pool -_08173508: - ldr r1, =gBattleAnimArgs - movs r0, 0 -_0817350C: - strh r0, [r1] - adds r0, r2, 0 - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .pool - thumb_func_end AnimTask_GetTrappedMoveAnimId - - thumb_func_start sub_817351C -sub_817351C: @ 817351C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gBattleAnimAttacker - ldr r1, =gBattleSpritesDataPtr - ldr r2, [r1] - ldr r1, [r2, 0x8] - ldrh r1, [r1] - strb r1, [r3] - ldr r3, =gBattleAnimTarget - ldr r1, [r2, 0x8] - ldrh r1, [r1] - lsrs r1, 8 - strb r1, [r3] - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_817351C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_effects_1.s b/asm/battle_anim_effects_1.s deleted file mode 100644 index 910b09b8c..000000000 --- a/asm/battle_anim_effects_1.s +++ /dev/null @@ -1,9550 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80FE840 -sub_80FE840: @ 80FE840 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gBattleAnimArgs - ldrh r0, [r5] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x30] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080FE87C - ldrh r0, [r5, 0x8] - negs r0, r0 - b _080FE87E - .pool -_080FE87C: - ldrh r0, [r5, 0x8] -_080FE87E: - strh r0, [r4, 0x34] - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0xA] - strh r0, [r4, 0x36] - ldr r0, =sub_80FE898 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE840 - - thumb_func_start sub_80FE898 -sub_80FE898: @ 80FE898 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080FE8D4 - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - ldrh r1, [r4, 0x32] - lsls r0, r1, 16 - asrs r0, 24 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r1, r0 - strh r1, [r4, 0x32] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x34 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x38] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - b _080FE8DA -_080FE8D4: - adds r0, r4, 0 - bl DestroyAnimSprite -_080FE8DA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FE898 - - thumb_func_start sub_80FE8E0 -sub_80FE8E0: @ 80FE8E0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x2E] - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - ldr r0, =StartAnimLinearTranslation - str r0, [r4, 0x1C] - ldr r1, =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE8E0 - - thumb_func_start sub_80FE930 -sub_80FE930: @ 80FE930 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r5, =gBattleAnimArgs - ldrb r1, [r5, 0x6] - adds r0, r4, 0 - bl StartSpriteAnim - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x2E] - ldr r5, =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - ldr r0, =StartAnimLinearTranslation - str r0, [r4, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE930 - - thumb_func_start sub_80FE988 -sub_80FE988: @ 80FE988 - push {r4-r6,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r6, =gBattleAnimArgs - ldrh r0, [r6, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldr r5, =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl InitAnimLinearTranslation - ldrh r0, [r6, 0x6] - strh r0, [r4, 0x38] - ldr r1, =sub_80FE9E4 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE988 - - thumb_func_start sub_80FE9E4 -sub_80FE9E4: @ 80FE9E4 - push {r4,lr} - adds r4, r0, 0 - bl TranslateAnimLinear - lsls r0, 24 - cmp r0, 0 - beq _080FE9FA - adds r0, r4, 0 - bl DestroySprite - b _080FEA4E -_080FE9FA: - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x7F - ble _080FEA14 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl sub_80A82E4 - adds r0, 0x1 - b _080FEA1E - .pool -_080FEA14: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl sub_80A82E4 - adds r0, 0x6 -_080FEA1E: - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x5 - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0xE - bl Cos - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x38] - adds r0, 0xF - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] -_080FEA4E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE9E4 - - thumb_func_start sub_80FEA58 -sub_80FEA58: @ 80FEA58 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - ldrh r0, [r5, 0x8] - subs r0, 0x1 - movs r2, 0 - strh r0, [r5, 0x8] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080FEAB2 - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - movs r0, 0x6 - strh r0, [r5, 0x8] - ldr r1, =gBattleAnimArgs - movs r0, 0xF - strh r0, [r1] - strh r2, [r1, 0x2] - movs r0, 0x50 - strh r0, [r1, 0x4] - strh r2, [r1, 0x6] - ldr r4, =gUnknown_08592210 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl sub_80A82E4 - adds r3, r0, 0 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl CreateSpriteAndAnimate -_080FEAB2: - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0xF - bne _080FEAC0 - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080FEAC0: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FEA58 - - thumb_func_start sub_80FEAD8 -sub_80FEAD8: @ 80FEAD8 - push {r4-r6,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_80A6980 - ldr r6, =gBattleAnimArgs - ldrh r0, [r6, 0x6] - strh r0, [r4, 0x2E] - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - ldrh r0, [r6, 0x4] - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl InitAnimArcTranslation - ldr r0, =sub_80FEB28 - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FEAD8 - - thumb_func_start sub_80FEB28 -sub_80FEB28: @ 80FEB28 - push {r4,lr} - adds r4, r0, 0 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - beq _080FEB3C - adds r0, r4, 0 - bl DestroyAnimSprite -_080FEB3C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FEB28 - - thumb_func_start sub_80FEB44 -sub_80FEB44: @ 80FEB44 - push {r4,r5,lr} - adds r5, r0, 0 - bl Random2 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x7 - ands r1, r0 - adds r0, r5, 0 - bl StartSpriteAnim - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080FEB90 - ldrh r0, [r5, 0x20] - subs r0, 0x14 - b _080FEB94 - .pool -_080FEB90: - ldrh r0, [r5, 0x20] - adds r0, 0x14 -_080FEB94: - strh r0, [r5, 0x20] - bl Random2 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1F - ands r0, r1 - adds r0, 0x40 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl sub_80A7160 - bl Random2 - movs r1, 0xFF - ands r1, r0 - strh r1, [r5, 0x38] - adds r0, r5, 0 - adds r0, 0x43 - ldrb r0, [r0] - strh r0, [r5, 0x3A] - ldr r1, =sub_80FEBFC - str r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FEB44 - - thumb_func_start sub_80FEBFC -sub_80FEBFC: @ 80FEBFC - push {r4,lr} - adds r4, r0, 0 - bl sub_80A70E8 - lsls r0, 24 - cmp r0, 0 - beq _080FEC12 - adds r0, r4, 0 - bl DestroyAnimSprite - b _080FEC42 -_080FEC12: - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0xC - bl Cos - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x7E - bgt _080FEC2E - ldrh r0, [r4, 0x3A] - b _080FEC32 -_080FEC2E: - ldrh r0, [r4, 0x3A] - adds r0, 0x1 -_080FEC32: - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrh r0, [r4, 0x38] - adds r0, 0x18 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] -_080FEC42: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FEBFC - - thumb_func_start sub_80FEC48 -sub_80FEC48: @ 80FEC48 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080FEC68 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080FEC68: - ldr r4, =gBattleAnimArgs - ldrh r0, [r4, 0x8] - strh r0, [r6, 0x2E] - ldr r5, =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x4] - adds r0, r1 - strh r0, [r6, 0x32] - ldrb r0, [r5] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x6] - adds r0, r1 - strh r0, [r6, 0x36] - ldrh r0, [r4, 0xA] - strh r0, [r6, 0x38] - adds r0, r6, 0 - bl InitAnimArcTranslation - ldr r0, =sub_80FECB8 - str r0, [r6, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FEC48 - - thumb_func_start sub_80FECB8 -sub_80FECB8: @ 80FECB8 - push {r4,lr} - adds r4, r0, 0 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - beq _080FECE2 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r0, 0xA - strh r0, [r4, 0x2E] - ldr r0, =WaitAnimForDuration - str r0, [r4, 0x1C] - ldr r1, =sub_80FECF0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 -_080FECE2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FECB8 - - thumb_func_start sub_80FECF0 -sub_80FECF0: @ 80FECF0 - push {r4,lr} - adds r4, r0, 0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - movs r0, 0x3C - strh r0, [r4, 0x2E] - ldr r0, =WaitAnimForDuration - str r0, [r4, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FECF0 - - thumb_func_start sub_80FED28 -sub_80FED28: @ 80FED28 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_80A6980 - ldr r5, =gBattleAnimArgs - ldrb r1, [r5, 0x8] - adds r0, r4, 0 - bl StartSpriteAnim - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _080FED52 - ldrb r0, [r4, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r4, 0x1] -_080FED52: - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x30] - ldr r1, =sub_80FED74 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FED28 - - thumb_func_start sub_80FED74 -sub_80FED74: @ 80FED74 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x20 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x3 - negs r1, r1 - bl Cos - ldrh r1, [r4, 0x32] - adds r1, 0x18 - strh r1, [r4, 0x32] - lsls r1, 16 - asrs r1, 24 - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7F - bhi _080FEDC8 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl sub_80A8328 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - b _080FEDEC - .pool -_080FEDC8: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl sub_80A8328 - adds r0, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _080FEDDC - movs r2, 0x3 -_080FEDDC: - movs r0, 0x3 - ands r2, r0 - lsls r2, 2 - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r2 -_080FEDEC: - strb r0, [r4, 0x5] - ldrh r0, [r4, 0x30] - adds r0, 0x2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080FEE10 - adds r0, r4, 0 - bl DestroyAnimSprite -_080FEE10: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FED74 - - thumb_func_start sub_80FEE1C -sub_80FEE1C: @ 80FEE1C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _080FEE36 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _080FEE3E -_080FEE36: - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _080FEE70 -_080FEE3E: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl sub_80A8364 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FEE60 - movs r0, 0x2 - movs r1, 0x4 - movs r2, 0x3 - bl SetAnimBgAttribute - b _080FEE6A - .pool -_080FEE60: - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute -_080FEE6A: - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080FEE70: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FEE1C - - thumb_func_start sub_80FEE78 -sub_80FEE78: @ 80FEE78 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0 - bl InitAnimSpritePos - ldr r5, =gBattleAnimArgs - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r5, [r5, 0x4] - adds r0, r5 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl InitAnimLinearTranslation - movs r0, 0x40 - strh r0, [r4, 0x38] - ldr r1, =sub_80FEECC - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FEE78 - - thumb_func_start sub_80FEECC -sub_80FEECC: @ 80FEECC - push {r4,lr} - adds r4, r0, 0 - bl TranslateAnimLinear - lsls r0, 24 - cmp r0, 0 - bne _080FEF38 - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x20 - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x5 - negs r1, r1 - bl Cos - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x38] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7F - bhi _080FEF18 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80A82E4 - subs r0, 0x1 - b _080FEF22 - .pool -_080FEF18: - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80A82E4 - adds r0, 0x1 -_080FEF22: - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrh r0, [r4, 0x38] - adds r0, 0x5 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - b _080FEF3E - .pool -_080FEF38: - adds r0, r4, 0 - bl DestroyAnimSprite -_080FEF3E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FEECC - - thumb_func_start sub_80FEF44 -sub_80FEF44: @ 80FEF44 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r5, =gBattleAnimArgs - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r5, [r5, 0x4] - adds r0, r5 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl InitAnimLinearTranslation - movs r0, 0x40 - strh r0, [r4, 0x38] - ldr r1, =sub_80FEF98 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FEF44 - - thumb_func_start sub_80FEF98 -sub_80FEF98: @ 80FEF98 - push {r4,lr} - adds r4, r0, 0 - bl TranslateAnimLinear - lsls r0, 24 - cmp r0, 0 - bne _080FEFF0 - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - ldrh r1, [r4, 0x38] - adds r0, r1, 0 - subs r0, 0x3B - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bls _080FEFD0 - adds r0, r1, 0 - subs r0, 0xBB - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bhi _080FEFE4 -_080FEFD0: - ldrb r2, [r4, 0x3] - lsls r1, r2, 26 - lsrs r1, 27 - movs r0, 0x8 - eors r1, r0 - lsls r1, 1 - subs r0, 0x47 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x3] -_080FEFE4: - ldrh r0, [r4, 0x38] - adds r0, 0x5 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - b _080FEFF6 -_080FEFF0: - adds r0, r4, 0 - bl DestroyAnimSprite -_080FEFF6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FEF98 - - thumb_func_start sub_80FEFFC -sub_80FEFFC: @ 80FEFFC - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x32] - ldr r0, =sub_80FF044 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FEFFC - - thumb_func_start sub_80FF044 -sub_80FF044: @ 80FF044 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x32] - movs r2, 0x32 - ldrsh r3, [r1, r2] - cmp r3, 0 - bne _080FF078 - ldrh r0, [r1, 0x30] - movs r2, 0x1 - ands r2, r0 - cmp r2, 0 - beq _080FF066 - movs r0, 0x80 - strh r0, [r1, 0x2E] - strh r3, [r1, 0x30] - strh r3, [r1, 0x32] - b _080FF06C -_080FF066: - strh r2, [r1, 0x2E] - strh r2, [r1, 0x30] - strh r2, [r1, 0x32] -_080FF06C: - ldr r0, =sub_80FF090 - str r0, [r1, 0x1C] - b _080FF08C - .pool -_080FF078: - subs r0, 0x1 - strh r0, [r1, 0x32] - ldrh r0, [r1, 0x2E] - ldrh r2, [r1, 0x20] - adds r0, r2 - strh r0, [r1, 0x20] - ldrh r0, [r1, 0x30] - ldrh r2, [r1, 0x22] - adds r0, r2 - strh r0, [r1, 0x22] -_080FF08C: - pop {r0} - bx r0 - thumb_func_end sub_80FF044 - - thumb_func_start sub_80FF090 -sub_80FF090: @ 80FF090 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080FF0B4 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x19 - bl Sin - negs r0, r0 - b _080FF0BE - .pool -_080FF0B4: - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x19 - bl Sin -_080FF0BE: - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x2E] - adds r0, 0x2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080FF0DE - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] -_080FF0DE: - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x50 - ble _080FF0EC - adds r0, r4, 0 - bl DestroyAnimSprite -_080FF0EC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FF090 - - thumb_func_start sub_80FF0F4 -sub_80FF0F4: @ 80FF0F4 - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080FF114 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080FF114: - ldr r6, =gBattleAnimArgs - ldrh r0, [r6, 0x8] - strh r0, [r5, 0x2E] - movs r1, 0xC - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080FF154 - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x4] - adds r0, r1 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x6] - adds r0, r6 - b _080FF174 - .pool -_080FF154: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - adds r2, r5, 0 - adds r2, 0x32 - adds r3, r5, 0 - adds r3, 0x36 - movs r1, 0x1 - bl SetAverageBattlerPositions - ldrh r0, [r6, 0x4] - ldrh r1, [r5, 0x32] - adds r0, r1 - strh r0, [r5, 0x32] - ldrh r0, [r6, 0x6] - ldrh r1, [r5, 0x36] - adds r0, r1 -_080FF174: - strh r0, [r5, 0x36] - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0xA] - strh r0, [r5, 0x38] - adds r0, r5, 0 - bl InitAnimArcTranslation - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - adds r4, r0, 0 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _080FF1AC - movs r0, 0x1 - b _080FF1AE - .pool -_080FF1AC: - movs r0, 0 -_080FF1AE: - strh r0, [r5, 0x2E] - ldr r0, =sub_80FF1C0 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FF0F4 - - thumb_func_start sub_80FF1C0 -sub_80FF1C0: @ 80FF1C0 - push {r4-r7,lr} - adds r6, r0, 0 - movs r7, 0 - ldrh r5, [r6, 0x2E] - ldrh r4, [r6, 0x3C] - movs r0, 0x1 - strh r0, [r6, 0x2E] - adds r0, r6, 0 - bl TranslateAnimArc - ldrh r0, [r6, 0x3C] - strh r5, [r6, 0x2E] - lsls r4, 16 - asrs r4, 16 - cmp r4, 0xC8 - ble _080FF1F2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x37 - bgt _080FF1F2 - ldrh r0, [r6, 0x6] - cmp r0, 0 - bne _080FF1F8 - adds r0, 0x1 - strh r0, [r6, 0x6] -_080FF1F2: - ldrh r0, [r6, 0x6] - cmp r0, 0 - beq _080FF22A -_080FF1F8: - movs r1, 0x2E - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _080FF22A - adds r3, r6, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r6, 0x6] - adds r0, 0x1 - strh r0, [r6, 0x6] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1E - bne _080FF22A - movs r7, 0x1 -_080FF22A: - movs r2, 0x20 - ldrsh r0, [r6, r2] - movs r2, 0x24 - ldrsh r1, [r6, r2] - adds r0, r1 - adds r0, 0x10 - movs r1, 0x88 - lsls r1, 1 - cmp r0, r1 - bhi _080FF254 - movs r0, 0x22 - ldrsh r1, [r6, r0] - movs r2, 0x26 - ldrsh r0, [r6, r2] - adds r1, r0 - cmp r1, 0xA0 - bgt _080FF254 - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bge _080FF256 -_080FF254: - movs r7, 0x1 -_080FF256: - cmp r7, 0 - beq _080FF260 - adds r0, r6, 0 - bl DestroyAnimSprite -_080FF260: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80FF1C0 - - thumb_func_start AnimMoveTwisterParticle -AnimMoveTwisterParticle: @ 80FF268 - push {r4,lr} - adds r4, r0, 0 - bl IsDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FF28A - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - movs r1, 0x1 - bl SetAverageBattlerPositions -_080FF28A: - ldrh r0, [r4, 0x22] - adds r0, 0x20 - strh r0, [r4, 0x22] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x32] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x34] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x36] - ldr r0, =sub_80FF2BC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end AnimMoveTwisterParticle - - thumb_func_start sub_80FF2BC -sub_80FF2BC: @ 80FF2BC - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0xFF - bne _080FF2D2 - ldrh r0, [r4, 0x22] - subs r0, 0x2 - strh r0, [r4, 0x22] - b _080FF2E0 -_080FF2D2: - cmp r0, 0 - ble _080FF2E0 - ldrh r0, [r4, 0x22] - subs r0, 0x2 - strh r0, [r4, 0x22] - subs r0, r1, 0x2 - strh r0, [r4, 0x30] -_080FF2E0: - ldrh r3, [r4, 0x32] - ldrh r5, [r4, 0x38] - adds r2, r3, r5 - strh r2, [r4, 0x38] - movs r0, 0x2E - ldrsh r1, [r4, r0] - movs r5, 0x36 - ldrsh r0, [r4, r5] - cmp r1, r0 - bge _080FF2F8 - adds r0, r2, r3 - strh r0, [r4, 0x38] -_080FF2F8: - ldrh r1, [r4, 0x38] - movs r0, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x34 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x24] - movs r5, 0x38 - ldrsh r0, [r4, r5] - movs r1, 0x5 - bl Sin - strh r0, [r4, 0x26] - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x7F - bgt _080FF338 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl sub_80A8328 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - b _080FF346 - .pool -_080FF338: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl sub_80A8328 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 -_080FF346: - movs r1, 0x3 - ands r0, r1 - lsls r0, 2 - ldrb r2, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x5] - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _080FF36A - adds r0, r4, 0 - bl DestroyAnimSprite -_080FF36A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FF2BC - - thumb_func_start sub_80FF374 -sub_80FF374: @ 80FF374 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0 - bl sub_80A6980 - adds r2, r5, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r4, =gBattleAnimArgs - ldrb r1, [r4, 0x4] - adds r0, r5, 0 - bl StartSpriteAffineAnim - ldrh r0, [r4, 0x4] - strh r0, [r5, 0x3A] - ldrh r0, [r4, 0x6] - strh r0, [r5, 0x3C] - ldr r0, =sub_80FF3B0 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FF374 - - thumb_func_start sub_80FF3B0 -sub_80FF3B0: @ 80FF3B0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _080FF3DA - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - movs r0, 0x1 - bl GetAnimBattlerSpriteId - movs r0, 0x80 - lsls r0, 1 - strh r0, [r4, 0x2E] - ldr r0, =sub_80FF3EC - str r0, [r4, 0x1C] -_080FF3DA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FF3B0 - - thumb_func_start sub_80FF3EC -sub_80FF3EC: @ 80FF3EC - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1 - bl GetAnimBattlerSpriteId - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080FF404 - ldrh r0, [r4, 0x2E] - adds r0, 0xB - b _080FF408 -_080FF404: - ldrh r0, [r4, 0x2E] - subs r0, 0xB -_080FF408: - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - bne _080FF424 - movs r0, 0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x32] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x32] -_080FF424: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080FF452 - ldrh r0, [r4, 0x3C] - subs r0, 0x1 - strh r0, [r4, 0x3C] - lsls r0, 16 - cmp r0, 0 - ble _080FF44C - ldrh r1, [r4, 0x3A] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAffineAnim - b _080FF452 -_080FF44C: - adds r0, r4, 0 - bl DestroyAnimSprite -_080FF452: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FF3EC - - thumb_func_start sub_80FF458 -sub_80FF458: @ 80FF458 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, =gSprites - mov r10, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - mov r2, r10 - adds r7, r0, r2 - adds r0, r7, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _080FF498 - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _080FF51C - .pool -_080FF498: - adds r0, r1, 0 - movs r1, 0x1 - bl sub_80A7270 - ldr r0, =gTasks - lsls r6, r4, 2 - adds r6, r4 - lsls r6, 3 - adds r6, r0 - ldrb r0, [r7, 0x5] - lsls r0, 28 - lsrs r0, 30 - strh r0, [r6, 0x24] - ldr r0, =gBattleAnimTarget - mov r9, r0 - ldrb r0, [r0] - bl sub_80A8328 - movs r1, 0x3 - mov r8, r1 - mov r1, r8 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r7, 0x5] - movs r5, 0xD - negs r5, r5 - adds r0, r5, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r7, 0x5] - movs r0, 0x3 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r1, r0, 24 - lsls r4, r1, 4 - adds r4, r1 - lsls r4, 2 - add r4, r10 - ldrb r0, [r4, 0x5] - lsls r0, 28 - lsrs r0, 30 - strh r0, [r6, 0x26] - mov r2, r9 - ldrb r1, [r2] - movs r0, 0x2 - eors r0, r1 - bl sub_80A8328 - mov r1, r8 - ands r1, r0 - lsls r1, 2 - ldrb r0, [r4, 0x5] - ands r5, r0 - orrs r5, r1 - strb r5, [r4, 0x5] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r6, 0x8] - ldrh r0, [r1, 0x2] - strh r0, [r6, 0xA] - movs r0, 0x80 - lsls r0, 1 - strh r0, [r6, 0x1E] - ldr r0, =sub_80FF53C - str r0, [r6] -_080FF51C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FF458 - - thumb_func_start sub_80FF53C -sub_80FF53C: @ 80FF53C - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0x8] - ldrh r0, [r4, 0x1C] - adds r1, r0 - strh r1, [r4, 0x1C] - ldr r2, =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r5, r0, r2 - lsls r1, 16 - asrs r1, 24 - strh r1, [r5, 0x24] - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080FF586 - ldrh r0, [r5, 0x24] - negs r0, r0 - strh r0, [r5, 0x24] -_080FF586: - ldrh r0, [r4, 0x1E] - adds r0, 0x10 - strh r0, [r4, 0x1E] - movs r0, 0x1E - ldrsh r2, [r4, r0] - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - adds r0, r6, 0 - bl sub_80A7E6C - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _080FF5B4 - strh r0, [r4, 0x8] - ldr r0, =sub_80FF5CC - str r0, [r4] -_080FF5B4: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FF53C - - thumb_func_start sub_80FF5CC -sub_80FF5CC: @ 80FF5CC - push {r4-r7,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _080FF660 - ldr r0, =gTasks - lsls r2, r3, 2 - adds r1, r2, r3 - lsls r1, 3 - adds r7, r1, r0 - movs r1, 0x8 - ldrsh r5, [r7, r1] - adds r4, r0, 0 - cmp r5, 0 - bne _080FF674 - movs r0, 0x1 - bl GetAnimBattlerSpriteId - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80A7344 - ldr r6, =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r6 - strh r5, [r1, 0x24] - strh r5, [r1, 0x26] - movs r5, 0x3 - ldrh r2, [r7, 0x24] - ands r2, r5 - lsls r2, 2 - ldrb r3, [r1, 0x5] - movs r4, 0xD - negs r4, r4 - adds r0, r4, 0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] - movs r0, 0x3 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrh r0, [r7, 0x26] - ands r0, r5 - lsls r0, 2 - ldrb r2, [r1, 0x5] - ands r4, r2 - orrs r4, r0 - strb r4, [r1, 0x5] - ldrh r0, [r7, 0x8] - adds r0, 0x1 - strh r0, [r7, 0x8] - b _080FF68E - .pool -_080FF660: - ldr r1, =gTasks - lsls r2, r3, 2 - adds r0, r2, r3 - lsls r0, 3 - adds r0, r1 - movs r4, 0x8 - ldrsh r0, [r0, r4] - adds r4, r1, 0 - cmp r0, 0 - beq _080FF68E -_080FF674: - adds r1, r2, r3 - lsls r1, 3 - adds r1, r4 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080FF68E - adds r0, r3, 0 - bl DestroyAnimVisualTask -_080FF68E: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FF5CC - - thumb_func_start sub_80FF698 -sub_80FF698: @ 80FF698 - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080FF6AA - cmp r0, 0x1 - beq _080FF704 - b _080FF756 -_080FF6AA: - ldr r6, =gBattleAnimTarget - ldrb r0, [r6] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080FF6C2 - ldr r1, =gBattleAnimArgs - movs r2, 0 - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1] -_080FF6C2: - ldrb r0, [r6] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - ldr r4, =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4] - adds r0, r1 - strh r0, [r5, 0x20] - ldrb r0, [r6] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x2] - adds r0, r4 - strh r0, [r5, 0x22] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _080FF756 - .pool -_080FF704: - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080FF756 - adds r0, r5, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim - movs r0, 0x19 - strh r0, [r5, 0x2E] - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - ldr r0, =sub_80A70C0 - str r0, [r5, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 -_080FF756: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FF698 - - thumb_func_start sub_80FF768 -sub_80FF768: @ 80FF768 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080FF7D4 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r4, =gBattleAnimArgs - ldrh r0, [r4] - strh r0, [r5, 0x24] - ldrh r0, [r4, 0x2] - strh r0, [r5, 0x26] - ldrb r0, [r4, 0x4] - adds r0, 0x1E - adds r1, r5, 0 - adds r1, 0x43 - strb r0, [r1] - ldrb r1, [r4, 0x6] - adds r0, r5, 0 - bl StartSpriteAnim - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - movs r2, 0x22 - ldrsh r0, [r5, r2] - movs r2, 0x26 - ldrsh r1, [r5, r2] - adds r0, r1 - cmp r0, 0x78 - ble _080FF7D4 - ldrh r0, [r5, 0x22] - adds r1, r0, 0 - subs r1, 0x78 - ldrh r2, [r5, 0x26] - adds r0, r2 - adds r1, r0 - strh r1, [r5, 0x22] -_080FF7D4: - ldr r0, =sub_80FF8DC - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FF768 - - thumb_func_start sub_80FF7EC -sub_80FF7EC: @ 80FF7EC - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x4 - mov r9, r0 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - mov r8, r0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r6, =gBattleAnimTarget - ldrb r0, [r6] - movs r1, 0x2 - bl GetBattlerSpriteCoord - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r6] - movs r1, 0x3 - bl GetBattlerSpriteCoord - adds r2, r0, 0 - lsls r2, 24 - subs r4, r5 - lsls r4, 16 - lsrs r2, 24 - mov r1, r8 - subs r2, r1 - lsls r2, 16 - lsrs r2, 16 - lsrs r3, r4, 16 - mov r10, r3 - asrs r4, 16 - ldr r6, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r6, r1] - muls r0, r4 - movs r1, 0x64 - str r2, [sp] - bl __divsi3 - adds r5, r0 - mov r3, r9 - strh r5, [r3, 0x20] - ldr r2, [sp] - lsls r0, r2, 16 - asrs r0, 16 - movs r3, 0 - ldrsh r1, [r6, r3] - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - add r8, r0 - mov r1, r8 - mov r0, r9 - strh r1, [r0, 0x22] - ldrh r0, [r6, 0x2] - mov r3, r9 - strh r0, [r3, 0x24] - ldrh r0, [r6, 0x4] - strh r0, [r3, 0x26] - ldrb r0, [r6, 0x6] - adds r0, 0x1E - mov r1, r9 - adds r1, 0x43 - strb r0, [r1] - ldrb r1, [r6, 0x8] - mov r0, r9 - bl StartSpriteAnim - ldrh r0, [r6, 0xA] - mov r1, r9 - strh r0, [r1, 0x32] - ldr r0, =sub_80FF8DC - str r0, [r1, 0x1C] - ldr r1, =gUnknown_0203A0F8 - mov r3, r9 - ldrh r0, [r3, 0x20] - strh r0, [r1] - ldrh r0, [r3, 0x22] - strh r0, [r1, 0x2] - mov r0, r10 - strh r0, [r1, 0x4] - ldr r2, [sp] - strh r2, [r1, 0x6] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FF7EC - - thumb_func_start sub_80FF8DC -sub_80FF8DC: @ 80FF8DC - push {lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x2E] - adds r1, 0x1 - strh r1, [r3, 0x2E] - lsls r1, 16 - asrs r1, 16 - movs r2, 0x32 - ldrsh r0, [r3, r2] - subs r0, 0xA - cmp r1, r0 - ble _080FF91C - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsrs r0, r1, 31 - adds r0, r1, r0 - asrs r0, 1 - lsls r0, 1 - subs r1, r0 - movs r2, 0x3E - adds r2, r3 - mov r12, r2 - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] -_080FF91C: - movs r2, 0x2E - ldrsh r1, [r3, r2] - movs r2, 0x32 - ldrsh r0, [r3, r2] - cmp r1, r0 - ble _080FF92E - adds r0, r3, 0 - bl DestroyAnimSprite -_080FF92E: - pop {r0} - bx r0 - thumb_func_end sub_80FF8DC - - thumb_func_start sub_80FF934 -sub_80FF934: @ 80FF934 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x2E - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080FF974 - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - ldr r4, =gBattleAnimArgs - lsrs r0, 24 - ldrh r2, [r4] - adds r0, r2 - strh r0, [r6, 0x20] - ldrb r0, [r5] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r6, 0x22] - ldrh r0, [r4, 0x4] - strh r0, [r6, 0x30] - ldrh r0, [r4, 0x6] - strh r0, [r6, 0x32] - ldrh r0, [r4, 0x8] - strh r0, [r6, 0x34] -_080FF974: - ldrh r0, [r6, 0x2E] - adds r0, 0x1 - strh r0, [r6, 0x2E] - ldrh r1, [r6, 0x30] - muls r0, r1 - strh r0, [r6, 0x24] - movs r2, 0x2E - ldrsh r1, [r6, r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - movs r1, 0xFF - ands r0, r1 - movs r2, 0x32 - ldrsh r1, [r6, r2] - bl Sin - strh r0, [r6, 0x26] - movs r0, 0x2E - ldrsh r1, [r6, r0] - movs r2, 0x34 - ldrsh r0, [r6, r2] - cmp r1, r0 - ble _080FF9AA - adds r0, r6, 0 - bl DestroyAnimSprite -_080FF9AA: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FF934 - - thumb_func_start sub_80FF9B8 -sub_80FF9B8: @ 80FF9B8 - push {r4,r5,lr} - movs r2, 0x20 - ldrsh r4, [r0, r2] - lsls r4, 8 - movs r3, 0x22 - ldrsh r2, [r0, r3] - orrs r4, r2 - movs r5, 0x3A - ldrsh r2, [r0, r5] - lsls r2, 8 - movs r5, 0x3C - ldrsh r3, [r0, r5] - orrs r2, r3 - lsls r1, 8 - strh r4, [r0, 0x38] - strh r2, [r0, 0x3A] - strh r1, [r0, 0x3C] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80FF9B8 - - thumb_func_start sub_80FF9E0 -sub_80FF9E0: @ 80FF9E0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r8, r0 - ldrh r0, [r0, 0x38] - lsrs r1, r0, 8 - mov r10, r1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - mov r1, r8 - ldrh r0, [r1, 0x3A] - lsrs r2, r0, 8 - lsls r0, 24 - lsrs r4, r0, 24 - ldrh r1, [r1, 0x3C] - lsls r0, r1, 16 - asrs r0, 24 - lsls r0, 16 - lsrs r6, r0, 16 - movs r3, 0xFF - ands r3, r1 - cmp r2, 0 - bne _080FFA1A - movs r2, 0x20 - negs r2, r2 - b _080FFA22 -_080FFA1A: - cmp r2, 0xFF - bne _080FFA22 - movs r2, 0x88 - lsls r2, 1 -_080FFA22: - mov r0, r9 - subs r4, r0 - lsls r4, 16 - lsrs r4, 16 - mov r1, r10 - subs r0, r2, r1 - lsls r5, r3, 16 - asrs r5, 16 - muls r0, r5 - lsls r1, r6, 16 - asrs r7, r1, 16 - adds r1, r7, 0 - bl __divsi3 - adds r6, r0, 0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - muls r0, r5 - adds r1, r7, 0 - bl __divsi3 - add r6, r10 - mov r1, r8 - strh r6, [r1, 0x20] - add r0, r9 - strh r0, [r1, 0x22] - adds r5, 0x1 - lsls r5, 16 - lsrs r3, r5, 16 - asrs r5, 16 - cmp r5, r7 - beq _080FFA74 - lsls r1, r7, 8 - lsls r0, r3, 16 - asrs r0, 16 - orrs r0, r1 - mov r1, r8 - strh r0, [r1, 0x3C] - movs r0, 0 - b _080FFA76 -_080FFA74: - movs r0, 0x1 -_080FFA76: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80FF9E0 - - thumb_func_start sub_80FFA84 -sub_80FFA84: @ 80FFA84 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0xA - bne _080FFA98 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_080FFA98: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x32 - ble _080FFAAC - adds r0, r4, 0 - bl DestroyAnimSprite -_080FFAAC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FFA84 - - thumb_func_start sub_80FFAB4 -sub_80FFAB4: @ 80FFAB4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - lsls r0, 7 - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl __divsi3 - ldrh r1, [r4, 0x2E] - adds r1, r0 - movs r5, 0 - strh r1, [r4, 0x2E] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x7F - ble _080FFADE - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - strh r5, [r4, 0x2E] -_080FFADE: - ldrh r0, [r4, 0x2E] - adds r0, 0x80 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x30 - ldrsh r2, [r4, r1] - lsls r2, 3 - movs r1, 0x1E - subs r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Sin - strh r0, [r4, 0x26] - adds r0, r4, 0 - bl sub_80FF9E0 - lsls r0, 24 - cmp r0, 0 - beq _080FFB0E - strh r5, [r4, 0x26] - strh r5, [r4, 0x2E] - ldr r0, =sub_80FFA84 - str r0, [r4, 0x1C] -_080FFB0E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FFAB4 - - thumb_func_start sub_80FFB18 -sub_80FFB18: @ 80FFB18 - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0 - bl InitAnimSpritePos - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gBattleAnimAttacker - ldrb r1, [r0] - movs r0, 0x2 - eors r0, r1 - ldrb r4, [r4] - cmp r0, r4 - bne _080FFB68 - strh r6, [r5, 0x3A] - adds r0, r2, 0 - adds r0, 0xA - strh r0, [r5, 0x3C] - adds r0, r5, 0 - movs r1, 0x3C - bl sub_80FF9B8 - movs r0, 0x1 - b _080FFB7A - .pool -_080FFB68: - strh r6, [r5, 0x3A] - adds r0, r2, 0 - adds r0, 0xA - strh r0, [r5, 0x3C] - adds r0, r5, 0 - movs r1, 0x3C - bl sub_80FF9B8 - movs r0, 0x3 -_080FFB7A: - strh r0, [r5, 0x34] - movs r0, 0x3C - strh r0, [r5, 0x36] - ldr r0, =sub_80FFAB4 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FFB18 - - thumb_func_start sub_80FFB90 -sub_80FFB90: @ 80FFB90 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - lsls r0, 7 - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl __divsi3 - ldrh r1, [r4, 0x2E] - adds r1, r0 - movs r5, 0 - strh r1, [r4, 0x2E] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x7F - ble _080FFBBA - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - strh r5, [r4, 0x2E] -_080FFBBA: - ldrh r0, [r4, 0x2E] - adds r0, 0x80 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x30 - ldrsh r2, [r4, r1] - lsls r2, 3 - movs r1, 0x1E - subs r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Sin - strh r0, [r4, 0x26] - adds r0, r4, 0 - bl sub_80FF9E0 - lsls r0, 24 - cmp r0, 0 - beq _080FFBEC - strh r5, [r4, 0x26] - strh r5, [r4, 0x2E] - adds r0, r4, 0 - bl DestroyAnimSprite -_080FFBEC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80FFB90 - - thumb_func_start sub_80FFBF4 -sub_80FFBF4: @ 80FFBF4 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080FFC38 - strh r0, [r5, 0x3A] - adds r0, r6, 0 - adds r0, 0xA - strh r0, [r5, 0x3C] - adds r0, r5, 0 - movs r1, 0x28 - bl sub_80FF9B8 - movs r0, 0x3 - strh r0, [r5, 0x34] - movs r0, 0x3C - strh r0, [r5, 0x36] - ldr r0, =sub_80FFAB4 - b _080FFC62 - .pool -_080FFC38: - movs r0, 0xFF - strh r0, [r5, 0x3A] - adds r0, r6, 0 - adds r0, 0xA - strh r0, [r5, 0x3C] - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080FFC50 - movs r0, 0 - strh r0, [r5, 0x3A] -_080FFC50: - adds r0, r5, 0 - movs r1, 0x28 - bl sub_80FF9B8 - movs r0, 0x3 - strh r0, [r5, 0x34] - movs r0, 0x3C - strh r0, [r5, 0x36] - ldr r0, =sub_80FFB90 -_080FFC62: - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FFBF4 - - thumb_func_start sub_80FFC70 -sub_80FFC70: @ 80FFC70 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080FFC8A - adds r0, r4, 0 - movs r1, 0 - bl sub_80A6980 - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x30] -_080FFC8A: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - ldrh r1, [r4, 0x30] - muls r0, r1 - strh r0, [r4, 0x26] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080FFCAA - adds r0, r4, 0 - bl DestroyAnimSprite -_080FFCAA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FFC70 - - thumb_func_start sub_80FFCB4 -sub_80FFCB4: @ 80FFCB4 - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0 - bl sub_80A6980 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gBattleAnimTarget - ldrb r1, [r0] - movs r0, 0x2 - eors r0, r1 - ldrb r4, [r4] - cmp r0, r4 - bne _080FFD04 - strh r6, [r5, 0x3A] - adds r0, r2, 0 - adds r0, 0xA - strh r0, [r5, 0x3C] - adds r0, r5, 0 - movs r1, 0x3C - bl sub_80FF9B8 - movs r0, 0x1 - b _080FFD16 - .pool -_080FFD04: - strh r6, [r5, 0x3A] - adds r0, r2, 0 - adds r0, 0xA - strh r0, [r5, 0x3C] - adds r0, r5, 0 - movs r1, 0x3C - bl sub_80FF9B8 - movs r0, 0x3 -_080FFD16: - strh r0, [r5, 0x34] - movs r0, 0x3C - strh r0, [r5, 0x36] - ldr r0, =sub_80FFD2C - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FFCB4 - - thumb_func_start sub_80FFD2C -sub_80FFD2C: @ 80FFD2C - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - lsls r0, 7 - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl __divsi3 - ldrh r1, [r4, 0x2E] - adds r1, r0 - movs r5, 0 - strh r1, [r4, 0x2E] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x7F - ble _080FFD56 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - strh r5, [r4, 0x2E] -_080FFD56: - ldrh r0, [r4, 0x2E] - adds r0, 0x80 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x30 - ldrsh r2, [r4, r1] - lsls r2, 3 - movs r1, 0x1E - subs r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Sin - strh r0, [r4, 0x26] - lsls r0, 16 - cmp r0, 0 - bne _080FFD8A - movs r0, 0x3F - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x7D - bl PlaySE12WithPanning -_080FFD8A: - adds r0, r4, 0 - bl sub_80FF9E0 - lsls r0, 24 - cmp r0, 0 - beq _080FFDB2 - strh r5, [r4, 0x26] - strh r5, [r4, 0x2E] - ldr r0, =sub_80FFA84 - str r0, [r4, 0x1C] - movs r0, 0x40 - negs r0, r0 - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x7D - bl PlaySE12WithPanning -_080FFDB2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FFD2C - - thumb_func_start sub_80FFDBC -sub_80FFDBC: @ 80FFDBC - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080FFE50 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _080FFDE4 - ldr r0, =gBattleAnimArgs - ldrh r1, [r0, 0x2] - strh r1, [r4, 0x30] - movs r1, 0x78 - strh r1, [r4, 0x20] - adds r5, r0, 0 - b _080FFE06 - .pool -_080FFDE4: - ldr r0, =gBattleAnimArgs - movs r1, 0x2 - ldrsh r3, [r0, r1] - adds r1, r3, 0 - subs r1, 0x20 - adds r2, r1, 0 - adds r5, r0, 0 - cmp r1, 0 - bge _080FFDFA - adds r2, r3, 0 - adds r2, 0xDF -_080FFDFA: - asrs r0, r2, 8 - lsls r0, 8 - subs r0, r1, r0 - strh r0, [r4, 0x30] - movs r0, 0x46 - strh r0, [r4, 0x20] -_080FFE06: - ldrh r0, [r5] - strh r0, [r4, 0x22] - strh r0, [r4, 0x32] - movs r0, 0x14 - strh r0, [r4, 0x36] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x3C - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x14 - bl Sin - strh r0, [r4, 0x26] - ldr r0, =sub_80FFE58 - str r0, [r4, 0x1C] - ldrh r0, [r4, 0x30] - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xBE - bhi _080FFE48 - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1F - b _080FFE4E - .pool -_080FFE48: - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1D -_080FFE4E: - strb r0, [r1] -_080FFE50: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80FFDBC - - thumb_func_start sub_80FFE58 -sub_80FFE58: @ 80FFE58 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080FFE6A - cmp r0, 0x1 - beq _080FFE9A - b _080FFEBA -_080FFE6A: - ldrh r5, [r4, 0x32] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x4E - ble _080FFE82 - movs r0, 0x1 - strh r0, [r4, 0x34] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _080FFEBA -_080FFE82: - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl __divsi3 - adds r0, r5, r0 - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x36] - adds r1, 0x3 - strh r1, [r4, 0x36] - strh r0, [r4, 0x22] - b _080FFEBA -_080FFE9A: - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080FFEBA - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080FFEBA - movs r0, 0 - strh r0, [r4, 0x2E] - strh r0, [r4, 0x32] - ldr r0, =sub_80FFEC4 - str r0, [r4, 0x1C] -_080FFEBA: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FFE58 - - thumb_func_start sub_80FFEC4 -sub_80FFEC4: @ 80FFEC4 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r5, =gUnknown_08592700 - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r3, r0, r1 - adds r0, r5, 0x1 - adds r0, r3, r0 - ldrh r2, [r4, 0x32] - movs r6, 0x32 - ldrsh r1, [r4, r6] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - bne _080FFF10 - adds r0, r5, 0x2 - adds r0, r3, r0 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x7F - bne _080FFEFC - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, =sub_80FFF7C - str r0, [r4, 0x1C] -_080FFEFC: - movs r0, 0 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080FFF76 - .pool -_080FFF10: - adds r0, r2, 0x1 - strh r0, [r4, 0x32] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - adds r1, r0, r5 - movs r2, 0 - ldrsb r2, [r1, r2] - adds r1, r5, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - muls r0, r2 - ldrh r1, [r4, 0x30] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _080FFF5E - ldrh r0, [r4, 0x30] - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xBE - bhi _080FFF56 - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1F - b _080FFF5C -_080FFF56: - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1D -_080FFF5C: - strb r0, [r1] -_080FFF5E: - movs r6, 0x30 - ldrsh r0, [r4, r6] - movs r1, 0x3C - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x14 - bl Sin - strh r0, [r4, 0x26] -_080FFF76: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80FFEC4 - - thumb_func_start sub_80FFF7C -sub_80FFF7C: @ 80FFF7C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x14 - ble _080FFF8E - adds r0, r4, 0 - bl DestroyAnimSprite -_080FFF8E: - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r0, r1, r0 - asrs r0, 1 - lsls r0, 1 - subs r1, r0 - adds r3, r4, 0 - adds r3, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FFF7C - - thumb_func_start sub_80FFFC0 -sub_80FFFC0: @ 80FFFC0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - bl sub_80A82E4 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - strh r0, [r5, 0x10] - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x14] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x16] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_80A861C - strh r0, [r5, 0x1C] - ldrb r0, [r4] - movs r1, 0 - bl sub_80A861C - strh r0, [r5, 0x1E] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x1 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0x1 - bne _08100028 - movs r1, 0x1 -_08100028: - strh r1, [r5, 0x12] - movs r3, 0x12 - ldrsh r0, [r5, r3] - lsls r0, 6 - movs r1, 0x38 - subs r1, r0 - strh r1, [r5, 0x1A] - ldrh r0, [r5, 0x16] - subs r0, r1 - ldrh r1, [r5, 0x14] - adds r0, r1 - strh r0, [r5, 0x18] - ldr r0, =gUnknown_08592778 - movs r2, 0x18 - ldrsh r1, [r5, r2] - movs r3, 0x1A - ldrsh r2, [r5, r3] - ldrb r3, [r5, 0x10] - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xC] - cmp r0, 0x40 - bne _08100060 - adds r0, r6, 0 - bl DestroyAnimVisualTask -_08100060: - ldr r4, =gSprites - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xA - strh r1, [r0, 0x2E] - movs r2, 0xC - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r5, 0x18] - strh r1, [r0, 0x30] - movs r3, 0xC - ldrsh r0, [r5, r3] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - movs r1, 0x1C - ldrsh r0, [r5, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r3, 0x12 - ldrsh r1, [r5, r3] - muls r1, r0 - ldrh r0, [r5, 0x14] - subs r0, r1 - strh r0, [r2, 0x32] - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r5, 0x1A] - strh r1, [r0, 0x34] - movs r1, 0xC - ldrsh r0, [r5, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r2, 0x1E - ldrsh r0, [r5, r2] - lsrs r2, r0, 31 - adds r0, r2 - asrs r0, 1 - adds r0, 0xA - movs r3, 0x12 - ldrsh r2, [r5, r3] - muls r0, r2 - ldrh r2, [r5, 0x16] - adds r0, r2 - strh r0, [r1, 0x36] - movs r3, 0xC - ldrsh r1, [r5, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl sub_8100504 - movs r1, 0xC - ldrsh r2, [r5, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - strh r0, [r1, 0x38] - movs r2, 0xC - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl InitAnimArcTranslation - ldr r0, =sub_8100128 - str r0, [r5] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FFFC0 - - thumb_func_start sub_8100128 -sub_8100128: @ 8100128 - push {r4-r6,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - movs r0, 0xC - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r5, [r6, r1] - cmp r5, 0x7 - bne _08100150 - b _08100380 -_08100150: - cmp r5, 0x7 - bgt _0810019E - cmp r5, 0x3 - bne _0810015A - b _08100272 -_0810015A: - cmp r5, 0x3 - bgt _08100174 - cmp r5, 0x1 - beq _08100204 - cmp r5, 0x1 - bgt _08100254 - cmp r5, 0 - beq _081001E6 - b _081004FC - .pool -_08100174: - cmp r5, 0x5 - bne _0810017A - b _081002E8 -_0810017A: - cmp r5, 0x5 - ble _08100180 - b _08100362 -_08100180: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_8100524 - adds r0, r4, 0 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - bne _08100196 - b _081004FC -_08100196: - movs r0, 0x5 - strh r0, [r6, 0x26] - movs r0, 0xFF - b _081004FA -_0810019E: - cmp r5, 0xB - bne _081001A4 - b _08100464 -_081001A4: - cmp r5, 0xB - bgt _081001D2 - cmp r5, 0x9 - bne _081001AE - b _081003D2 -_081001AE: - cmp r5, 0x9 - ble _081001B4 - b _08100448 -_081001B4: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_8100524 - adds r0, r4, 0 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - bne _081001CA - b _081004FC -_081001CA: - movs r0, 0x9 - strh r0, [r6, 0x26] - movs r0, 0xFF - b _081004FA -_081001D2: - cmp r5, 0xD - bne _081001D8 - b _081004D6 -_081001D8: - cmp r5, 0xD - bge _081001DE - b _081004B6 -_081001DE: - cmp r5, 0xFF - bne _081001E4 - b _081004E6 -_081001E4: - b _081004FC -_081001E6: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_8100524 - adds r0, r4, 0 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - bne _081001FC - b _081004FC -_081001FC: - movs r0, 0x1 - strh r0, [r6, 0x26] - movs r0, 0xFF - b _081004FA -_08100204: - ldrh r2, [r4, 0x24] - ldrh r3, [r4, 0x20] - adds r2, r3 - movs r0, 0 - strh r2, [r4, 0x20] - ldrh r1, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r1, r3 - strh r1, [r4, 0x22] - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r2, [r4, 0x30] - ldrh r0, [r6, 0x14] - strh r0, [r4, 0x32] - strh r1, [r4, 0x34] - ldrh r0, [r6, 0x16] - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_8100504 - strh r0, [r4, 0x38] - ldrh r0, [r6, 0x10] - adds r0, 0x2 - strh r0, [r6, 0x10] - strh r5, [r6, 0xE] - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl InitAnimArcTranslation - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _081004FA -_08100254: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_8100524 - adds r0, r4, 0 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - bne _0810026A - b _081004FC -_0810026A: - movs r0, 0x3 - strh r0, [r6, 0x26] - movs r0, 0xFF - b _081004FA -_08100272: - ldrh r1, [r4, 0x24] - ldrh r0, [r4, 0x20] - adds r1, r0 - movs r0, 0 - strh r1, [r4, 0x20] - ldrh r2, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r2, r3 - strh r2, [r4, 0x22] - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - movs r1, 0x1C - ldrsh r0, [r6, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r3, 0x12 - ldrsh r1, [r6, r3] - muls r1, r0 - ldrh r0, [r6, 0x14] - subs r0, r1 - strh r0, [r4, 0x32] - strh r2, [r4, 0x34] - movs r1, 0x1E - ldrsh r0, [r6, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r2, 0x12 - ldrsh r1, [r6, r2] - muls r1, r0 - ldrh r0, [r6, 0x16] - subs r0, r1 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_8100504 - strh r0, [r4, 0x38] - movs r0, 0x2 - strh r0, [r6, 0xE] - ldrh r0, [r6, 0x10] - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl InitAnimArcTranslation - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _081004FA -_081002E8: - ldrh r1, [r4, 0x24] - ldrh r3, [r4, 0x20] - adds r1, r3 - movs r0, 0 - strh r1, [r4, 0x20] - ldrh r2, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r2, r3 - strh r2, [r4, 0x22] - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - movs r1, 0x1C - ldrsh r0, [r6, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r3, 0x12 - ldrsh r1, [r6, r3] - muls r0, r1 - ldrh r1, [r6, 0x14] - adds r0, r1 - strh r0, [r4, 0x32] - strh r2, [r4, 0x34] - movs r2, 0x1E - ldrsh r0, [r6, r2] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r3, 0x12 - ldrsh r1, [r6, r3] - muls r0, r1 - ldrh r1, [r6, 0x16] - adds r0, r1 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_8100504 - strh r0, [r4, 0x38] - ldrh r1, [r6, 0x10] - subs r1, 0x2 - strh r1, [r6, 0x10] - movs r0, 0x3 - strh r0, [r6, 0xE] - adds r0, r4, 0 - adds r0, 0x43 - strb r1, [r0] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl InitAnimArcTranslation - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _081004FA -_08100362: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_8100524 - adds r0, r4, 0 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - bne _08100378 - b _081004FC -_08100378: - movs r0, 0x7 - strh r0, [r6, 0x26] - movs r0, 0xFF - b _081004FA -_08100380: - ldrh r2, [r4, 0x24] - ldrh r3, [r4, 0x20] - adds r2, r3 - movs r0, 0 - strh r2, [r4, 0x20] - ldrh r1, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r1, r3 - strh r1, [r4, 0x22] - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r2, [r4, 0x30] - ldrh r0, [r6, 0x14] - strh r0, [r4, 0x32] - strh r1, [r4, 0x34] - ldrh r0, [r6, 0x16] - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_8100504 - strh r0, [r4, 0x38] - ldrh r1, [r6, 0x10] - adds r1, 0x2 - strh r1, [r6, 0x10] - movs r0, 0x4 - strh r0, [r6, 0xE] - adds r0, r4, 0 - adds r0, 0x43 - strb r1, [r0] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl InitAnimArcTranslation - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _081004FA -_081003D2: - ldrh r1, [r4, 0x24] - ldrh r0, [r4, 0x20] - adds r1, r0 - movs r0, 0 - strh r1, [r4, 0x20] - ldrh r2, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r2, r3 - strh r2, [r4, 0x22] - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - movs r1, 0x1C - ldrsh r0, [r6, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r3, 0x12 - ldrsh r1, [r6, r3] - muls r1, r0 - ldrh r0, [r6, 0x14] - subs r0, r1 - strh r0, [r4, 0x32] - strh r2, [r4, 0x34] - movs r1, 0x1E - ldrsh r0, [r6, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r2, 0x12 - ldrsh r1, [r6, r2] - muls r0, r1 - ldrh r3, [r6, 0x16] - adds r0, r3 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_8100504 - strh r0, [r4, 0x38] - movs r0, 0x5 - strh r0, [r6, 0xE] - ldrh r0, [r6, 0x10] - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl InitAnimArcTranslation - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _081004FA -_08100448: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_8100524 - adds r0, r4, 0 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - beq _081004FC - movs r0, 0xB - strh r0, [r6, 0x26] - movs r0, 0xFF - b _081004FA -_08100464: - ldrh r2, [r4, 0x24] - ldrh r0, [r4, 0x20] - adds r2, r0 - movs r0, 0 - strh r2, [r4, 0x20] - ldrh r1, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r1, r3 - strh r1, [r4, 0x22] - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r2, [r4, 0x30] - ldrh r0, [r6, 0x18] - strh r0, [r4, 0x32] - strh r1, [r4, 0x34] - ldrh r0, [r6, 0x1A] - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_8100504 - strh r0, [r4, 0x38] - ldrh r1, [r6, 0x10] - subs r1, 0x2 - strh r1, [r6, 0x10] - movs r0, 0x6 - strh r0, [r6, 0xE] - adds r0, r4, 0 - adds r0, 0x43 - strb r1, [r0] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl InitAnimArcTranslation - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _081004FA -_081004B6: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_8100524 - adds r0, r4, 0 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - beq _081004FC - adds r0, r4, 0 - bl DestroySprite - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _081004FA -_081004D6: - movs r1, 0x20 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _081004FC - adds r0, r2, 0 - bl DestroyAnimVisualTask - b _081004FC -_081004E6: - ldrh r0, [r6, 0xA] - adds r0, 0x1 - strh r0, [r6, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _081004FC - movs r0, 0 - strh r0, [r6, 0xA] - ldrh r0, [r6, 0x26] -_081004FA: - strh r0, [r6, 0x8] -_081004FC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8100128 - - thumb_func_start sub_8100504 -sub_8100504: @ 8100504 - push {lr} - movs r2, 0x8 - movs r3, 0x36 - ldrsh r1, [r0, r3] - movs r3, 0x22 - ldrsh r0, [r0, r3] - cmp r1, r0 - bge _0810051A - negs r0, r2 - lsls r0, 16 - lsrs r2, r0, 16 -_0810051A: - lsls r0, r2, 16 - asrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_8100504 - - thumb_func_start sub_8100524 -sub_8100524: @ 8100524 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - ldrh r0, [r6, 0x24] - adds r0, 0x1 - strh r0, [r6, 0x24] - lsls r0, 16 - cmp r0, 0 - ble _081005BA - movs r0, 0 - strh r0, [r6, 0x24] - ldr r0, =gSprites - mov r8, r0 - movs r2, 0xC - ldrsh r1, [r6, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrh r1, [r0, 0x24] - ldrh r2, [r0, 0x20] - adds r1, r2 - ldrh r2, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r2, r0 - ldr r0, =gUnknown_08592778 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - ldrb r3, [r6, 0x10] - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _081005BA - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - mov r0, r8 - adds r4, r5, r0 - strh r7, [r4, 0x3A] - movs r0, 0xC - strh r0, [r4, 0x3C] - ldr r0, =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - ldrh r2, [r6, 0x22] - movs r0, 0x1 - ands r0, r2 - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x22] - adds r0, 0x1 - strh r0, [r1, 0x22] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - ldrh r0, [r6, 0x10] - adds r4, 0x43 - strb r0, [r4] - mov r0, r8 - adds r0, 0x1C - adds r5, r0 - ldr r0, =sub_81005D4 - str r0, [r5] -_081005BA: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8100524 - - thumb_func_start sub_81005D4 -sub_81005D4: @ 81005D4 - 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, 0x1 - ble _08100636 - movs r0, 0 - strh r0, [r4, 0x2E] - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _08100636 - ldr r3, =gTasks - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_08100636: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81005D4 - - thumb_func_start sub_8100640 -sub_8100640: @ 8100640 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimArgs - movs r1, 0xC - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0810065C - ldr r0, =gBattleAnimAttacker - b _0810065E - .pool -_0810065C: - ldr r0, =gBattleAnimTarget -_0810065E: - ldrb r6, [r0] - adds r0, r6, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08100688 - movs r0, 0 - strh r0, [r4, 0x36] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x32] - ldr r0, =0x0000fff0 - b _08100698 - .pool -_08100688: - movs r0, 0x1 - strh r0, [r4, 0x36] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x6] - negs r0, r0 - strh r0, [r4, 0x32] - movs r0, 0x80 - lsls r0, 1 -_08100698: - strh r0, [r4, 0x20] - adds r7, r1, 0 - adds r5, r7, 0 - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x30] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x34] - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _081006CE - cmp r0, 0x1 - bgt _081006C0 - cmp r0, 0 - beq _081006CA - b _08100738 - .pool -_081006C0: - cmp r0, 0x2 - beq _081006D4 - cmp r0, 0x3 - beq _08100700 - b _08100738 -_081006CA: - ldrh r0, [r5] - b _081006E4 -_081006CE: - ldrh r0, [r5] - strh r0, [r4, 0x22] - b _0810071A -_081006D4: - adds r0, r6, 0 - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r5, [r5] - adds r0, r5 -_081006E4: - strh r0, [r4, 0x22] - adds r0, r6, 0 - bl sub_80A8328 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - b _08100738 -_08100700: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r7, [r7] - adds r0, r7 - strh r0, [r4, 0x22] - movs r0, 0x1 - bl GetAnimBattlerSpriteId -_0810071A: - adds r0, r6, 0 - bl sub_80A8328 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - lsls r0, 2 - ldrb r2, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x5] -_08100738: - ldr r0, =sub_810074C - str r0, [r4, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8100640 - - thumb_func_start sub_810074C -sub_810074C: @ 810074C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x3C - ldrsh r3, [r4, r0] - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - movs r1, 0x30 - ldrsh r2, [r4, r1] - ldr r1, =gSineTable - movs r5, 0x2E - ldrsh r0, [r4, r5] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - muls r0, r2 - asrs r0, 8 - strh r0, [r4, 0x26] - movs r2, 0x32 - ldrsh r0, [r4, r2] - muls r0, r3 - strh r0, [r4, 0x24] - movs r5, 0x34 - ldrsh r0, [r4, r5] - muls r0, r3 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081007A4 - movs r2, 0x24 - ldrsh r0, [r4, r2] - movs r5, 0x20 - ldrsh r1, [r4, r5] - adds r0, r1 - cmp r0, 0xF7 - ble _081007BC - b _081007B6 - .pool -_081007A4: - movs r1, 0x24 - ldrsh r0, [r4, r1] - movs r2, 0x20 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bgt _081007BC -_081007B6: - adds r0, r4, 0 - bl move_anim_8074EE0 -_081007BC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_810074C - - thumb_func_start sub_81007C4 -sub_81007C4: @ 81007C4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _081007E8 - cmp r0, 0x1 - beq _0810081C - b _08100876 - .pool -_081007E8: - ldr r0, =0x0000274f - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - movs r2, 0x80 - lsls r2, 1 - adds r4, r2, 0 - adds r0, r4 - strh r0, [r5, 0x18] - ldr r0, =0x000027b0 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - adds r0, r4 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _08100876 - .pool -_0810081C: - ldrh r0, [r5, 0x1A] - adds r0, 0x1 - movs r7, 0 - strh r0, [r5, 0x1A] - lsls r0, 16 - cmp r0, 0 - blt _08100876 - strh r7, [r5, 0x1A] - ldrh r0, [r5, 0x18] - ldrb r2, [r5, 0x1C] - ldr r4, =gUnknown_08592878 - movs r3, 0x1E - ldrsh r1, [r5, r3] - lsls r1, 1 - adds r1, r4 - ldrh r3, [r1] - movs r1, 0x10 - bl BlendPalette - ldrh r0, [r5, 0x20] - ldrb r2, [r5, 0x1C] - movs r3, 0x1E - ldrsh r1, [r5, r3] - lsls r1, 1 - adds r1, r4 - ldrh r3, [r1] - movs r1, 0x10 - bl BlendPalette - ldrh r0, [r5, 0x1C] - adds r0, 0x1 - strh r0, [r5, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x11 - bne _08100876 - strh r7, [r5, 0x1C] - ldrh r0, [r5, 0x1E] - adds r0, 0x1 - strh r0, [r5, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - bne _08100876 - strh r7, [r5, 0x1E] -_08100876: - ldr r0, =gBattleAnimArgs - movs r2, 0xE - ldrsh r1, [r0, r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0810088A - adds r0, r6, 0 - bl DestroyAnimVisualTask -_0810088A: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81007C4 - - thumb_func_start sub_8100898 -sub_8100898: @ 8100898 - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldr r1, =gBattleAnimArgs - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _081008B4 - adds r0, r6, 0 - bl DestroyAnimSprite - b _0810098E - .pool -_081008B4: - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _081008C4 - ldr r4, =gBattleAnimAttacker - b _081008C6 - .pool -_081008C4: - ldr r4, =gBattleAnimTarget -_081008C6: - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gBattleAnimArgs - ldrh r1, [r0, 0x8] - strh r1, [r6, 0x2E] - movs r3, 0x2 - ldrsh r1, [r0, r3] - adds r7, r0, 0 - cmp r1, 0 - bne _08100908 - ldrh r0, [r7, 0x4] - adds r0, r5 - strh r0, [r6, 0x20] - ldrh r0, [r7, 0x6] - adds r0, r2 - strh r0, [r6, 0x22] - strh r5, [r6, 0x38] - strh r2, [r6, 0x3A] - b _08100918 - .pool -_08100908: - strh r5, [r6, 0x20] - strh r2, [r6, 0x22] - ldrh r0, [r7, 0x4] - adds r0, r5 - strh r0, [r6, 0x38] - ldrh r0, [r7, 0x6] - adds r0, r2 - strh r0, [r6, 0x3A] -_08100918: - ldrh r4, [r6, 0x20] - lsls r0, r4, 4 - strh r0, [r6, 0x30] - ldrh r5, [r6, 0x22] - lsls r0, r5, 4 - strh r0, [r6, 0x32] - movs r1, 0x38 - ldrsh r0, [r6, r1] - movs r2, 0x20 - ldrsh r1, [r6, r2] - subs r0, r1 - lsls r0, 4 - movs r3, 0x8 - ldrsh r1, [r7, r3] - bl __divsi3 - strh r0, [r6, 0x34] - movs r1, 0x3A - ldrsh r0, [r6, r1] - movs r2, 0x22 - ldrsh r1, [r6, r2] - subs r0, r1 - lsls r0, 4 - movs r3, 0x8 - ldrsh r1, [r7, r3] - bl __divsi3 - strh r0, [r6, 0x36] - ldrh r0, [r6, 0x38] - subs r0, r4 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r6, 0x3A] - subs r1, r5 - lsls r1, 16 - asrs r1, 16 - bl ArcTan2Neg - lsls r0, 16 - lsrs r4, r0, 16 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0810097A - ldr r1, =0xffff8000 - adds r0, r4, r1 - lsls r0, 16 - lsrs r4, r0, 16 -_0810097A: - movs r3, 0x80 - lsls r3, 1 - str r4, [sp] - adds r0, r6, 0 - movs r1, 0 - adds r2, r3, 0 - bl sub_80A73E0 - ldr r0, =sub_81009A0 - str r0, [r6, 0x1C] -_0810098E: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8100898 - - thumb_func_start sub_81009A0 -sub_81009A0: @ 81009A0 - push {r4,lr} - adds r2, r0, 0 - ldrh r3, [r2, 0x2E] - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _081009D0 - ldrh r0, [r2, 0x34] - ldrh r4, [r2, 0x30] - adds r0, r4 - strh r0, [r2, 0x30] - ldrh r1, [r2, 0x36] - ldrh r4, [r2, 0x32] - adds r1, r4 - strh r1, [r2, 0x32] - lsls r0, 16 - asrs r0, 20 - strh r0, [r2, 0x20] - lsls r1, 16 - asrs r1, 20 - strh r1, [r2, 0x22] - subs r0, r3, 0x1 - strh r0, [r2, 0x2E] - b _081009D6 -_081009D0: - adds r0, r2, 0 - bl move_anim_8074EE0 -_081009D6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81009A0 - - thumb_func_start sub_81009DC -sub_81009DC: @ 81009DC - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081009F2 - adds r0, r2, 0 - bl DestroyAnimSprite -_081009F2: - pop {r0} - bx r0 - thumb_func_end sub_81009DC - - thumb_func_start sub_81009F8 -sub_81009F8: @ 81009F8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08100A20 - ldr r2, =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - b _08100A2C - .pool -_08100A20: - ldr r0, =gBattleAnimArgs - ldrh r1, [r0] - ldrh r2, [r4, 0x20] - adds r1, r2 - strh r1, [r4, 0x20] - ldrh r0, [r0, 0x2] -_08100A2C: - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r0, =sub_80A67D8 - str r0, [r4, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81009F8 - - thumb_func_start sub_8100A50 -sub_8100A50: @ 8100A50 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08100A6A - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim -_08100A6A: - ldr r0, =sub_81009DC - str r0, [r5, 0x1C] - ldr r4, =gBattleAnimArgs - movs r0, 0 - ldrsh r1, [r4, r0] - adds r0, r5, 0 - bl sub_80A6864 - ldrh r0, [r4, 0x2] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8100A50 - - thumb_func_start sub_8100A94 -sub_8100A94: @ 8100A94 - push {r4,lr} - adds r4, r0, 0 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x34] - ldrh r0, [r1, 0xA] - strh r0, [r4, 0x38] - ldrb r1, [r1, 0xC] - adds r0, r4, 0 - bl StartSpriteAffineAnim - ldr r1, =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A66DC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8100A94 - - thumb_func_start sub_8100AE0 -sub_8100AE0: @ 8100AE0 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08100B14 - ldrh r0, [r5, 0x22] - adds r0, 0x8 - strh r0, [r5, 0x22] -_08100B14: - ldr r0, =sub_8100CCC - str r0, [r5, 0x1C] - ldr r0, =gBattleAnimArgs - movs r2, 0x4 - ldrsh r1, [r0, r2] - adds r3, r0, 0 - cmp r1, 0 - bne _08100B3C - ldrh r0, [r3] - ldrh r1, [r5, 0x20] - adds r0, r1 - strh r0, [r5, 0x20] - b _08100B50 - .pool -_08100B3C: - ldrh r0, [r5, 0x20] - ldrh r1, [r3] - subs r0, r1 - strh r0, [r5, 0x20] - adds r2, r5, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_08100B50: - ldrh r0, [r3, 0x2] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - ldr r1, =0xfffffc00 - adds r0, r1, 0 - ldrh r2, [r5, 0x30] - adds r1, r0, r2 - strh r1, [r5, 0x30] - movs r2, 0x80 - lsls r2, 3 - adds r0, r2, 0 - ldrh r2, [r5, 0x32] - adds r0, r2 - strh r0, [r5, 0x32] - ldrh r0, [r3, 0x4] - strh r0, [r5, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _08100B7E - negs r0, r1 - strh r0, [r5, 0x30] -_08100B7E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8100AE0 - - thumb_func_start sub_8100B88 -sub_8100B88: @ 8100B88 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldr r0, =gBattleAnimArgs - movs r1, 0x6 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - beq _08100BA8 - cmp r0, 0x1 - ble _08100C24 - cmp r0, 0x2 - beq _08100BC8 - b _08100C24 - .pool -_08100BA8: - ldr r5, =gBattleAnimTarget - ldrb r0, [r5] - movs r4, 0x2 - eors r0, r4 - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r5] - eors r4, r0 - adds r0, r4, 0 - b _08100C34 - .pool -_08100BC8: - ldr r5, =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r5] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r5] - movs r2, 0x2 - mov r8, r2 - mov r1, r8 - eors r0, r1 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _08100C3E - ldrb r0, [r5] - mov r2, r8 - eors r0, r2 - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, r7 - lsrs r7, r0, 1 - ldrb r0, [r5] - mov r1, r8 - eors r0, r1 - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - lsrs r4, r0, 1 - b _08100C3E - .pool -_08100C24: - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r4] -_08100C34: - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r4, r0, 24 -_08100C3E: - strh r7, [r6, 0x20] - strh r4, [r6, 0x22] - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08100C56 - ldrh r0, [r6, 0x22] - adds r0, 0x8 - strh r0, [r6, 0x22] -_08100C56: - ldr r0, =sub_8100CCC - str r0, [r6, 0x1C] - ldr r0, =gBattleAnimArgs - movs r2, 0x4 - ldrsh r1, [r0, r2] - adds r3, r0, 0 - cmp r1, 0 - bne _08100C7C - ldrh r0, [r3] - ldrh r1, [r6, 0x20] - adds r0, r1 - strh r0, [r6, 0x20] - b _08100C90 - .pool -_08100C7C: - ldrh r0, [r6, 0x20] - ldrh r1, [r3] - subs r0, r1 - strh r0, [r6, 0x20] - adds r2, r6, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_08100C90: - ldrh r0, [r3, 0x2] - ldrh r2, [r6, 0x22] - adds r0, r2 - strh r0, [r6, 0x22] - ldr r1, =0xfffffc00 - adds r0, r1, 0 - ldrh r2, [r6, 0x30] - adds r1, r0, r2 - strh r1, [r6, 0x30] - movs r2, 0x80 - lsls r2, 3 - adds r0, r2, 0 - ldrh r2, [r6, 0x32] - adds r0, r2 - strh r0, [r6, 0x32] - ldrh r0, [r3, 0x4] - strh r0, [r6, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _08100CBE - negs r0, r1 - strh r0, [r6, 0x30] -_08100CBE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8100B88 - - thumb_func_start sub_8100CCC -sub_8100CCC: @ 8100CCC - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - ldrh r2, [r4, 0x34] - adds r0, r1, r2 - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x36] - adds r0, r2 - strh r0, [r4, 0x36] - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08100CEE - adds r0, r1, 0 - adds r0, 0x18 - b _08100CF2 -_08100CEE: - adds r0, r1, 0 - subs r0, 0x18 -_08100CF2: - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x32] - subs r0, 0x18 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bne _08100D28 - ldr r1, =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - movs r0, 0x3 - strh r0, [r4, 0x2E] - ldr r0, =WaitAnimForDuration - str r0, [r4, 0x1C] -_08100D28: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8100CCC - - thumb_func_start sub_8100D38 -sub_8100D38: @ 8100D38 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5, 0x32] - movs r2, 0x32 - ldrsh r0, [r5, r2] - cmp r0, 0x1 - ble _08100DDC - ldrh r1, [r5, 0x34] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08100D94 - adds r3, r5, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r1 - strb r0, [r3] - ldr r4, =gSprites - movs r0, 0x2E - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r3, [r0] - adds r1, r2, 0 - ands r1, r3 - strb r1, [r0] - movs r0, 0x30 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - b _08100DCA - .pool -_08100D94: - adds r1, r5, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r3, =gSprites - movs r0, 0x2E - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - movs r0, 0x30 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] -_08100DCA: - movs r0, 0 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - b _08100DE0 - .pool -_08100DDC: - adds r0, r1, 0x1 - strh r0, [r5, 0x32] -_08100DE0: - movs r1, 0x34 - ldrsh r0, [r5, r1] - cmp r0, 0xA - bne _08100E10 - movs r2, 0x2E - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl DestroySprite - movs r0, 0x30 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - adds r0, r5, 0 - bl DestroyAnimSprite -_08100E10: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8100D38 - - thumb_func_start sub_8100E1C -sub_8100E1C: @ 8100E1C - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =gBattleAnimArgs - ldrh r0, [r4, 0x4] - strh r0, [r5, 0x2E] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08100E44 - ldrh r0, [r5, 0x20] - ldrh r1, [r4] - subs r0, r1 - b _08100E4A - .pool -_08100E44: - ldrh r0, [r4] - ldrh r1, [r5, 0x20] - adds r0, r1 -_08100E4A: - strh r0, [r5, 0x20] - ldr r4, =gBattleAnimArgs - ldrb r1, [r4, 0xA] - adds r0, r5, 0 - bl StartSpriteAnim - ldrh r0, [r4, 0x6] - negs r0, r0 - strh r0, [r5, 0x30] - ldrh r0, [r4, 0x2] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x34] - ldr r1, =sub_8100E80 - str r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8100E1C - - thumb_func_start sub_8100E80 -sub_8100E80: @ 8100E80 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x64 - bl Cos - strh r0, [r4, 0x24] - movs r2, 0x2E - ldrsh r0, [r4, r2] - movs r1, 0x14 - bl Sin - strh r0, [r4, 0x26] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x7F - bgt _08100EAC - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0 - b _08100EB2 -_08100EAC: - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0xE -_08100EB2: - strb r0, [r1] - ldrh r0, [r4, 0x30] - ldrh r2, [r4, 0x2E] - adds r0, r2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x38] - adds r0, 0x82 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x34 - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _08100EE8 - adds r0, r4, 0 - bl DestroyAnimSprite -_08100EE8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8100E80 - - thumb_func_start sub_8100EF0 -sub_8100EF0: @ 8100EF0 - push {r4-r6,lr} - adds r5, r0, 0 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _08100F06 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x2] - adds r0, 0x8 - strh r0, [r1, 0x2] -_08100F06: - ldr r6, =gBattleAnimAttacker - ldrb r0, [r6] - movs r1, 0 - bl GetBattlerSpriteCoord2 - lsls r0, 24 - ldr r4, =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4] - adds r0, r1 - strh r0, [r5, 0x20] - ldrb r0, [r6] - movs r1, 0x1 - bl GetBattlerSpriteCoord2 - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x2] - adds r0, r4 - strh r0, [r5, 0x22] - ldrb r0, [r6] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08100F44 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _08100F6C -_08100F44: - ldrb r0, [r6] - bl sub_80A8328 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - lsls r0, 2 - ldrb r2, [r5, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x5] - b _08100F84 - .pool -_08100F6C: - ldrb r0, [r6] - bl sub_80A8328 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] -_08100F84: - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r5, 0x2E] - ldr r0, =0x00002828 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r0, [r5, 0x32] - movs r4, 0x10 - movs r0, 0x10 - strh r0, [r5, 0x3C] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldrh r0, [r5, 0x3C] - lsls r1, r0, 8 - subs r4, r0 - orrs r1, r4 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldr r0, =sub_8100FD4 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8100EF0 - - thumb_func_start sub_8100FD4 -sub_8100FD4: @ 8100FD4 - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x38] - adds r0, 0x60 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 24 - negs r0, r0 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _08101032 - movs r0, 0 - strh r0, [r4, 0x30] - ldr r1, =gPlttBufferFaded - movs r2, 0x32 - ldrsh r0, [r4, r2] - adds r0, 0x1 - lsls r0, 1 - adds r0, r1 - ldrh r5, [r0] - movs r2, 0 - adds r6, r1, 0 - adds r3, r6, 0 -_0810100C: - movs r1, 0x32 - ldrsh r0, [r4, r1] - adds r2, 0x1 - adds r0, r2 - lsls r1, r0, 1 - adds r1, r3 - adds r0, 0x1 - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strh r0, [r1] - cmp r2, 0x5 - ble _0810100C - movs r2, 0x32 - ldrsh r0, [r4, r2] - adds r0, 0x7 - lsls r0, 1 - adds r0, r6 - strh r5, [r0] -_08101032: - ldrh r2, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x6 - ble _0810106C - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - ble _08101080 - ldrh r0, [r4, 0x3A] - adds r0, 0x1 - strh r0, [r4, 0x3A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0810106C - movs r0, 0 - strh r0, [r4, 0x3A] - subs r2, 0x1 - strh r2, [r4, 0x3C] - lsls r1, r2, 8 - movs r0, 0x10 - subs r0, r2 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg -_0810106C: - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _08101080 - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - b _081010C2 - .pool -_08101080: - ldrh r0, [r4, 0x3A] - adds r0, 0x1 - strh r0, [r4, 0x3A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _081010C2 - movs r0, 0 - strh r0, [r4, 0x3A] - ldrh r2, [r4, 0x3C] - adds r2, 0x1 - strh r2, [r4, 0x3C] - lsls r1, r2, 8 - movs r0, 0x10 - subs r0, r2 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _081010C2 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =sub_80A67F4 - str r0, [r4, 0x1C] -_081010C2: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8100FD4 - - thumb_func_start sub_81010CC -sub_81010CC: @ 81010CC - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, =gBattleAnimTarget - ldrb r0, [r6] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0x20] - ldrb r0, [r6] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldr r1, =0x0000ffe8 - adds r0, r1 - strh r0, [r4, 0x22] - strh r5, [r4, 0x2E] - strh r5, [r4, 0x30] - strh r5, [r4, 0x32] - strh r5, [r4, 0x34] - strh r5, [r4, 0x36] - strh r5, [r4, 0x3A] - movs r0, 0x10 - strh r0, [r4, 0x3C] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldrh r1, [r4, 0x3C] - lsls r1, 8 - ldrh r0, [r4, 0x3A] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldr r0, =sub_8101138 - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81010CC - - thumb_func_start sub_8101138 -sub_8101138: @ 8101138 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bls _08101146 - b _08101290 -_08101146: - lsls r0, 2 - ldr r1, =_08101154 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08101154: - .4byte _08101168 - .4byte _081011CC - .4byte _081011E8 - .4byte _08101266 - .4byte _0810127A -_08101168: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - cmp r0, 0 - bgt _08101176 - b _08101290 -_08101176: - movs r0, 0 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08101198 - ldrh r1, [r4, 0x3A] - movs r2, 0x3A - ldrsh r0, [r4, r2] - cmp r0, 0xF - bgt _081011A6 - adds r0, r1, 0x1 - strh r0, [r4, 0x3A] - b _081011A6 -_08101198: - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _081011A6 - subs r0, r1, 0x1 - strh r0, [r4, 0x3C] -_081011A6: - ldrh r1, [r4, 0x3C] - lsls r1, 8 - ldrh r0, [r4, 0x3A] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _08101290 - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08101290 - strh r0, [r4, 0x30] - b _08101272 -_081011CC: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _08101290 - movs r0, 0 - strh r0, [r4, 0x30] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _08101272 -_081011E8: - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0x4 - bl sub_8101298 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _0810120A - movs r0, 0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - adds r0, 0x1 - strh r0, [r4, 0x22] -_0810120A: - ldrh r0, [r4, 0x32] - adds r1, r0, 0x1 - strh r1, [r4, 0x32] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x1D - ble _08101290 - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - beq _08101230 - ldrh r1, [r4, 0x3A] - movs r2, 0x3A - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _0810123E - subs r0, r1, 0x1 - strh r0, [r4, 0x3A] - b _0810123E -_08101230: - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0xF - bgt _0810123E - adds r0, r1, 0x1 - strh r0, [r4, 0x3C] -_0810123E: - ldrh r1, [r4, 0x3C] - lsls r1, 8 - ldrh r0, [r4, 0x3A] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x3A - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _08101290 - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0x10 - bne _08101290 - strh r1, [r4, 0x30] - strh r1, [r4, 0x32] - b _08101272 -_08101266: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_08101272: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _08101290 -_0810127A: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimSprite -_08101290: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8101138 - - thumb_func_start sub_8101298 -sub_8101298: @ 8101298 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0xB - bgt _081012AA - ldrh r0, [r4, 0x36] - adds r0, 0x2 - strh r0, [r4, 0x36] -_081012AA: - ldrh r5, [r4, 0x34] - adds r0, r5, 0 - subs r0, 0x12 - lsls r0, 16 - lsrs r0, 16 - adds r1, r5, 0 - cmp r0, 0x17 - bhi _081012C0 - ldrh r0, [r4, 0x36] - subs r0, 0x2 - strh r0, [r4, 0x36] -_081012C0: - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x2F - ble _081012CE - ldrh r0, [r4, 0x36] - adds r0, 0x2 - strh r0, [r4, 0x36] -_081012CE: - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r1, 0x9 - bl __divsi3 - strh r0, [r4, 0x24] - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r1, 0xE - bl __divsi3 - strh r0, [r4, 0x26] - lsls r0, 16 - cmp r0, 0 - bge _081012F4 - movs r1, 0x26 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0x26] -_081012F4: - adds r0, r5, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3B - ble _08101304 - movs r0, 0 - strh r0, [r4, 0x34] -_08101304: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8101298 - - thumb_func_start sub_810130C -sub_810130C: @ 810130C - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _08101320 - adds r0, r4, 0 - bl sub_80A6838 -_08101320: - movs r0, 0 - ldrsh r1, [r5, r0] - adds r0, r4, 0 - bl sub_80A6864 - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r5, 0xA] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x30] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x32] - ldr r1, =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A656C - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810130C - - thumb_func_start sub_810135C -sub_810135C: @ 810135C - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08101378 - ldr r0, =gBattleAnimAttacker - b _0810137A - .pool -_08101378: - ldr r0, =gBattleAnimTarget -_0810137A: - ldrb r6, [r0] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _081013C4 - movs r1, 0x2 - adds r0, r6, 0 - eors r0, r1 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _081013C4 - ldr r4, =gBattleAnimArgs - ldrb r1, [r4, 0xC] - adds r2, r5, 0 - adds r2, 0x20 - adds r3, r5, 0 - adds r3, 0x22 - adds r0, r6, 0 - bl SetAverageBattlerPositions - movs r2, 0 - ldrsh r1, [r4, r2] - adds r0, r5, 0 - bl sub_80A6864 - ldrh r0, [r4, 0x2] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - b _08101414 - .pool -_081013C4: - ldr r4, =gBattleAnimArgs - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _081013E8 - adds r0, r6, 0 - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - adds r0, r6, 0 - movs r1, 0x1 - b _081013FA - .pool -_081013E8: - adds r0, r6, 0 - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - adds r0, r6, 0 - movs r1, 0x3 -_081013FA: - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x2] - adds r0, r4 - strh r0, [r5, 0x22] - ldr r0, =gBattleAnimArgs - movs r2, 0 - ldrsh r1, [r0, r2] - adds r0, r5, 0 - bl sub_80A6864 -_08101414: - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0xA] - strh r0, [r5, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r5, 0x30] - ldrh r0, [r1, 0x8] - strh r0, [r5, 0x32] - ldr r1, =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A656C - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810135C - - thumb_func_start sub_8101440 -sub_8101440: @ 8101440 - push {r4,lr} - adds r4, r0, 0 - bl sub_80A6838 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08101474 - ldr r0, =gBattleAnimArgs - ldrh r1, [r0] - ldrh r2, [r4, 0x20] - adds r1, r2 - strh r1, [r4, 0x20] - ldrh r0, [r0, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - b _0810148E - .pool -_08101474: - ldr r2, =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim -_0810148E: - ldr r0, =sub_81014A0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8101440 - - thumb_func_start sub_81014A0 -sub_81014A0: @ 81014A0 - 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, 0x1E - ble _081014D8 - movs r0, 0x2E - ldrsh r1, [r4, r0] - movs r0, 0x1E - subs r0, r1 - movs r1, 0x3 - bl __divsi3 - strh r0, [r4, 0x26] - movs r1, 0x30 - ldrsh r0, [r4, r1] - lsls r0, 18 - asrs r0, 16 - movs r1, 0x3 - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] -_081014D8: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081014EC - adds r0, r4, 0 - bl DestroyAnimSprite -_081014EC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81014A0 - - thumb_func_start sub_81014F4 -sub_81014F4: @ 81014F4 - push {r4,lr} - adds r4, r0, 0 - bl sub_80A6838 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0810152C - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - movs r0, 0x1 - strh r0, [r4, 0x34] - b _0810154A - .pool -_0810152C: - ldr r2, =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldr r0, =0x0000ffff - strh r0, [r4, 0x34] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_0810154A: - ldr r0, =sub_8101560 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81014F4 - - thumb_func_start sub_8101560 -sub_8101560: @ 8101560 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x28 - bl __divsi3 - negs r0, r0 - strh r0, [r4, 0x26] - movs r2, 0x36 - ldrsh r0, [r4, r2] - movs r1, 0xA - bl __divsi3 - strh r0, [r4, 0x24] - movs r1, 0x34 - ldrsh r0, [r4, r1] - lsls r0, 1 - ldrh r2, [r4, 0x36] - adds r0, r2 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x30] - ldrh r2, [r4, 0x2E] - adds r1, r0, r2 - strh r1, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _081015A4 - adds r0, r4, 0 - bl move_anim_8074EE0 -_081015A4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8101560 - - thumb_func_start sub_81015AC -sub_81015AC: @ 81015AC - push {lr} - ldrh r1, [r0, 0x20] - subs r1, 0x20 - strh r1, [r0, 0x20] - ldrh r1, [r0, 0x22] - subs r1, 0x20 - strh r1, [r0, 0x22] - movs r1, 0x14 - strh r1, [r0, 0x2E] - ldr r1, =WaitAnimForDuration - str r1, [r0, 0x1C] - ldr r1, =sub_81015D4 - bl StoreSpriteCallbackInData6 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81015AC - - thumb_func_start sub_81015D4 -sub_81015D4: @ 81015D4 - push {r4-r6,lr} - adds r5, r0, 0 - ldrh r6, [r5, 0x38] - movs r1, 0x1 - adds r0, r1, 0 - ands r0, r6 - cmp r0, 0 - beq _081015EA - cmp r0, 0x1 - beq _08101604 - b _0810166A -_081015EA: - strh r1, [r5, 0x2E] - ldr r0, =WaitAnimForDuration - str r0, [r5, 0x1C] - ldr r1, =sub_81015D4 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - b _0810166A - .pool -_08101604: - ldrh r3, [r5, 0x24] - ldrh r0, [r5, 0x20] - adds r3, r0 - movs r0, 0 - strh r3, [r5, 0x20] - ldrh r4, [r5, 0x26] - ldrh r1, [r5, 0x22] - adds r4, r1 - strh r4, [r5, 0x22] - strh r0, [r5, 0x26] - strh r0, [r5, 0x24] - movs r0, 0x8 - strh r0, [r5, 0x2E] - ldr r2, =gUnknown_08592CD0 - lsls r0, r6, 16 - asrs r0, 24 - lsls r0, 1 - adds r1, r0, r2 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - adds r3, r1 - strh r3, [r5, 0x32] - adds r2, 0x1 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r4, r0 - strh r4, [r5, 0x36] - ldr r0, =StartAnimLinearTranslation - str r0, [r5, 0x1C] - ldr r1, =sub_8101684 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - ldrh r1, [r5, 0x38] - adds r0, r1 - strh r0, [r5, 0x38] - movs r0, 0x3F - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xD2 - bl PlaySE12WithPanning -_0810166A: - ldrh r0, [r5, 0x38] - movs r1, 0x1 - eors r0, r1 - strh r0, [r5, 0x38] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81015D4 - - thumb_func_start sub_8101684 -sub_8101684: @ 8101684 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x38] - lsls r0, 16 - asrs r0, 24 - cmp r0, 0x4 - bne _081016AC - movs r0, 0xA - strh r0, [r2, 0x2E] - ldr r0, =WaitAnimForDuration - str r0, [r2, 0x1C] - ldr r1, =sub_81016B8 - adds r0, r2, 0 - bl StoreSpriteCallbackInData6 - b _081016B0 - .pool -_081016AC: - ldr r0, =sub_81015D4 - str r0, [r2, 0x1C] -_081016B0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8101684 - - thumb_func_start sub_81016B8 -sub_81016B8: @ 81016B8 - push {r4-r7,lr} - adds r5, r0, 0 - ldrh r1, [r5, 0x6] - cmp r1, 0 - bne _081016E0 - movs r0, 0x3 - strh r0, [r5, 0x2E] - strh r1, [r5, 0x30] - strh r1, [r5, 0x32] - ldr r0, =WaitAnimForDuration - str r0, [r5, 0x1C] - ldr r1, =sub_8101774 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - b _08101760 - .pool -_081016E0: - ldrh r0, [r5, 0x6] - cmp r0, 0x2 - beq _08101700 - cmp r0, 0x2 - bgt _081016F0 - cmp r0, 0x1 - beq _081016F6 - b _08101714 -_081016F0: - cmp r0, 0x3 - beq _08101708 - b _08101714 -_081016F6: - ldr r6, =0x0000fff8 - adds r7, r6, 0 - b _08101718 - .pool -_08101700: - ldr r7, =0x0000fff8 - b _08101716 - .pool -_08101708: - movs r7, 0x8 - ldr r6, =0x0000fff8 - b _08101718 - .pool -_08101714: - movs r7, 0x8 -_08101716: - movs r6, 0x8 -_08101718: - ldrh r0, [r5, 0x24] - ldrh r1, [r5, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x26] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - strh r1, [r5, 0x26] - strh r1, [r5, 0x24] - movs r0, 0x6 - strh r0, [r5, 0x2E] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, r7 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, r6 - strh r0, [r5, 0x36] - ldr r0, =StartAnimLinearTranslation - str r0, [r5, 0x1C] - ldr r1, =sub_8101820 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 -_08101760: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81016B8 - - thumb_func_start sub_8101774 -sub_8101774: @ 8101774 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08101794 - ldrh r0, [r4, 0x30] - adds r0, 0x3 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _081017A4 - movs r0, 0x10 - b _081017A2 -_08101794: - ldrh r0, [r4, 0x30] - subs r0, 0x3 - strh r0, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - bge _081017A4 - movs r0, 0 -_081017A2: - strh r0, [r4, 0x30] -_081017A4: - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x1 - bl sub_80A75AC - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldr r2, =0x00007fff - bl BlendPalettes - movs r3, 0x30 - ldrsh r0, [r4, r3] - cmp r0, 0x10 - bne _0810180C - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - ldrb r1, [r4, 0x5] - lsrs r1, 4 - lsls r0, r1, 5 - ldr r2, =gPlttBufferUnfaded + 0x210 - adds r0, r2 - lsls r1, 4 - ldr r3, =0x00000101 - adds r2, r3, 0 - orrs r1, r2 - movs r2, 0x4 - bl LoadPalette - movs r0, 0x3F - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xC0 - bl PlaySE12WithPanning - b _08101814 - .pool -_0810180C: - cmp r0, 0 - bne _08101814 - ldr r0, =sub_8101820 - str r0, [r4, 0x1C] -_08101814: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8101774 - - thumb_func_start sub_8101820 -sub_8101820: @ 8101820 - push {lr} - adds r2, r0, 0 - ldr r0, =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _08101838 - movs r0, 0 - strh r0, [r2, 0x30] - strh r0, [r2, 0x2E] - ldr r0, =sub_8101848 - str r0, [r2, 0x1C] -_08101838: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8101820 - - thumb_func_start sub_8101848 -sub_8101848: @ 8101848 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _0810187C - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_0810187C: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x8 - bne _08101890 - adds r0, r4, 0 - bl DestroyAnimSprite -_08101890: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8101848 - - thumb_func_start sub_8101898 -sub_8101898: @ 8101898 - push {r4,lr} - adds r3, r0, 0 - ldr r0, =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r3, 0x6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _081018BC - ldrh r0, [r3, 0x20] - subs r0, 0x18 - strh r0, [r3, 0x20] - ldrh r0, [r3, 0x22] - subs r0, 0x18 - strh r0, [r3, 0x22] - b _0810190E - .pool -_081018BC: - cmp r0, 0x2 - bne _081018D8 - ldrh r0, [r3, 0x20] - subs r0, 0x18 - strh r0, [r3, 0x20] - ldrh r0, [r3, 0x22] - adds r0, 0x18 - strh r0, [r3, 0x22] - ldrb r1, [r3, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x20 - b _0810190A -_081018D8: - cmp r0, 0x3 - bne _081018F4 - ldrh r0, [r3, 0x20] - adds r0, 0x18 - strh r0, [r3, 0x20] - ldrh r0, [r3, 0x22] - subs r0, 0x18 - strh r0, [r3, 0x22] - ldrb r1, [r3, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x10 - b _0810190A -_081018F4: - ldrh r0, [r3, 0x20] - adds r0, 0x18 - strh r0, [r3, 0x20] - ldrh r0, [r3, 0x22] - adds r0, 0x18 - strh r0, [r3, 0x22] - ldrb r1, [r3, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x30 -_0810190A: - orrs r0, r1 - strb r0, [r3, 0x3] -_0810190E: - ldrh r2, [r3, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x10 - ldr r4, =0x000003ff - adds r0, r4, 0 - ands r1, r0 - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x4] - ldr r1, =sub_81015AC - str r1, [r3, 0x1C] - adds r0, r3, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8101898 - - thumb_func_start sub_8101940 -sub_8101940: @ 8101940 - push {lr} - adds r3, r0, 0 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r0, 0 - strh r0, [r3, 0x2E] - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - beq _0810197C - cmp r0, 0x1 - bgt _0810196C - cmp r0, 0 - beq _08101972 - b _0810198C - .pool -_0810196C: - cmp r0, 0x2 - beq _08101984 - b _0810198C -_08101972: - ldr r0, =sub_8101998 - b _0810198E - .pool -_0810197C: - ldr r0, =sub_8101A74 - b _0810198E - .pool -_08101984: - ldr r0, =sub_8101AC4 - b _0810198E - .pool -_0810198C: - ldr r0, =sub_8101B84 -_0810198E: - str r0, [r3, 0x1C] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8101940 - - thumb_func_start sub_8101998 -sub_8101998: @ 8101998 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - strh r0, [r4, 0x2E] - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - bl GetBattlerSide - lsls r0, 24 - movs r2, 0x2 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - beq _081019B6 - movs r1, 0x2 -_081019B6: - strh r1, [r4, 0x30] - movs r0, 0 - strh r0, [r4, 0x32] - ldr r1, =gBattlerSpriteIds - ldrb r0, [r5] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r4, 0x34] - ldr r1, =sub_81019E8 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A6630 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8101998 - - thumb_func_start sub_81019E8 -sub_81019E8: @ 81019E8 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x2E - ldrsh r6, [r5, r0] - cmp r6, 0 - bne _08101A24 - ldr r1, =gBattlerSpriteIds - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r5, 0x34] - movs r1, 0 - bl sub_80A7270 - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x3A] - ldr r2, =0xfffffd00 - adds r1, r2, 0 - cmp r0, 0 - beq _08101A20 - movs r0, 0xC0 - lsls r0, 2 - adds r1, r0, 0 -_08101A20: - strh r1, [r5, 0x36] - strh r6, [r5, 0x38] -_08101A24: - ldrh r0, [r5, 0x36] - ldrh r1, [r5, 0x38] - adds r0, r1 - strh r0, [r5, 0x38] - ldrh r0, [r5, 0x34] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r5, 0x38] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrh r0, [r5, 0x34] - lsls r0, 24 - lsrs r0, 24 - bl sub_80A73A0 - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _08101A5E - movs r0, 0 - strh r0, [r5, 0x2E] - ldr r0, =sub_8101B84 - str r0, [r5, 0x1C] -_08101A5E: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81019E8 - - thumb_func_start sub_8101A74 -sub_8101A74: @ 8101A74 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x4 - strh r0, [r4, 0x2E] - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - bl GetBattlerSide - lsls r0, 24 - movs r1, 0x3 - cmp r0, 0 - beq _08101A92 - movs r0, 0x3 - negs r0, r0 - adds r1, r0, 0 -_08101A92: - strh r1, [r4, 0x30] - movs r0, 0 - strh r0, [r4, 0x32] - ldr r1, =gBattlerSpriteIds - ldrb r0, [r5] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r4, 0x34] - ldr r1, =sub_8101B84 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A6630 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8101A74 - - thumb_func_start sub_8101AC4 -sub_8101AC4: @ 8101AC4 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _08101ADE - movs r0, 0 - strh r0, [r1, 0x2E] - ldr r0, =sub_8101AE8 - str r0, [r1, 0x1C] -_08101ADE: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8101AC4 - - thumb_func_start sub_8101AE8 -sub_8101AE8: @ 8101AE8 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _08101B38 - ldr r1, =gBattlerSpriteIds - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r5, 0x34] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x3A] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08101B2C - movs r0, 0xFC - lsls r0, 8 - strh r0, [r5, 0x36] - movs r0, 0xC0 - lsls r0, 4 - b _08101B36 - .pool -_08101B2C: - movs r0, 0x80 - lsls r0, 3 - strh r0, [r5, 0x36] - movs r0, 0xF4 - lsls r0, 8 -_08101B36: - strh r0, [r5, 0x38] -_08101B38: - ldrh r0, [r5, 0x36] - ldrh r1, [r5, 0x38] - adds r0, r1 - strh r0, [r5, 0x38] - ldrh r0, [r5, 0x34] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r5, 0x38] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrh r0, [r5, 0x34] - lsls r0, 24 - lsrs r0, 24 - bl sub_80A73A0 - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _08101B78 - ldrh r0, [r5, 0x34] - lsls r0, 24 - lsrs r0, 24 - bl sub_80A7344 - ldr r0, =sub_8101B84 - str r0, [r5, 0x1C] -_08101B78: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8101AE8 - - thumb_func_start sub_8101B84 -sub_8101B84: @ 8101B84 - push {lr} - bl DestroyAnimSprite - pop {r0} - bx r0 - thumb_func_end sub_8101B84 - - thumb_func_start sub_8101B90 -sub_8101B90: @ 8101B90 - movs r1, 0 - strh r1, [r0, 0x2E] - ldr r1, =sub_8101BA0 - str r1, [r0, 0x1C] - bx lr - .pool - thumb_func_end sub_8101B90 - - thumb_func_start sub_8101BA0 -sub_8101BA0: @ 8101BA0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x2E - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _08101BFA - cmp r5, 0x1 - bgt _08101BB6 - cmp r5, 0 - beq _08101BBC - b _08101C8E -_08101BB6: - cmp r5, 0x2 - beq _08101C4C - b _08101C8E -_08101BBC: - strh r5, [r4, 0x30] - ldr r1, =gBattlerSpriteIds - ldr r2, =gBattleAnimAttacker - ldrb r0, [r2] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r4, 0x32] - ldrb r0, [r2] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x34] - ldr r2, =0xfffffe00 - adds r1, r2, 0 - cmp r0, 0 - beq _08101BE4 - movs r0, 0x80 - lsls r0, 2 - adds r1, r0, 0 -_08101BE4: - strh r1, [r4, 0x36] - strh r5, [r4, 0x38] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_80A7270 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_08101BFA: - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x38] - adds r0, r1 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x38] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80A73A0 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _08101C8E - movs r0, 0 - strh r0, [r4, 0x30] - movs r2, 0x36 - ldrsh r0, [r4, r2] - negs r0, r0 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _08101C8E - .pool -_08101C4C: - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x38] - adds r0, r1 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x38] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80A73A0 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _08101C8E - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80A7344 - adds r0, r4, 0 - bl DestroyAnimSprite -_08101C8E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8101BA0 - - thumb_func_start sub_8101C94 -sub_8101C94: @ 8101C94 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - ldr r1, =gBattlerSpriteIds - ldr r2, =gBattleAnimAttacker - ldrb r0, [r2] - adds r0, r1 - ldrb r0, [r0] - movs r4, 0 - strh r0, [r5, 0x8] - ldrb r0, [r2] - bl GetBattlerSide - lsls r0, 24 - lsrs r2, r0, 24 - strh r2, [r5, 0xA] - strh r4, [r5, 0xC] - ldr r0, =gBattleAnimArgs - movs r3, 0 - ldrsh r1, [r0, r3] - cmp r1, 0 - beq _08101CE8 - cmp r1, 0x1 - beq _08101D04 - adds r0, r6, 0 - bl DestroyAnimVisualTask - b _08101D22 - .pool -_08101CE8: - strh r1, [r5, 0xC] - movs r0, 0x8 - strh r0, [r5, 0xE] - strh r1, [r5, 0x10] - movs r0, 0x3 - strh r0, [r5, 0x12] - cmp r2, 0 - bne _08101CFC - negs r0, r0 - strh r0, [r5, 0x12] -_08101CFC: - ldr r0, =sub_8101D2C - b _08101D20 - .pool -_08101D04: - movs r0, 0x8 - strh r0, [r5, 0xE] - movs r0, 0xC0 - lsls r0, 3 - strh r0, [r5, 0x10] - movs r1, 0xC0 - strh r1, [r5, 0x12] - cmp r2, 0 - bne _08101D1E - negs r0, r0 - strh r0, [r5, 0x10] - negs r0, r1 - strh r0, [r5, 0x12] -_08101D1E: - ldr r0, =sub_8101EEC -_08101D20: - str r0, [r5] -_08101D22: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8101C94 - - thumb_func_start sub_8101D2C -sub_8101D2C: @ 8101D2C - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bls _08101D46 - b _08101EE6 -_08101D46: - lsls r0, 2 - ldr r1, =_08101D58 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08101D58: - .4byte _08101D6C - .4byte _08101D9E - .4byte _08101DF8 - .4byte _08101E70 - .4byte _08101EB4 -_08101D6C: - movs r2, 0xE - ldrsh r1, [r4, r2] - cmp r1, 0 - beq _08101D7C - ldrh r2, [r4, 0x12] - ldrh r3, [r4, 0x10] - adds r2, r3 - b _08101EC2 -_08101D7C: - movs r0, 0x8 - strh r0, [r4, 0xE] - strh r1, [r4, 0x10] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r1, 0xC0 - cmp r0, 0 - bne _08101D92 - movs r2, 0xC0 - negs r2, r2 - adds r1, r2, 0 -_08101D92: - strh r1, [r4, 0x12] - ldrb r0, [r4, 0x8] - movs r1, 0 - bl sub_80A7270 - b _08101EA8 -_08101D9E: - movs r3, 0xE - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _08101DC4 - ldrh r0, [r4, 0x12] - ldrh r1, [r4, 0x10] - adds r0, r1 - strh r0, [r4, 0x10] - ldrb r0, [r4, 0x8] - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x10] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrb r0, [r4, 0x8] - bl sub_80A73A0 - b _08101ED4 -_08101DC4: - movs r0, 0x8 - strh r0, [r4, 0xE] - ldr r2, =gSprites - movs r3, 0x8 - ldrsh r1, [r4, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x24] - strh r0, [r4, 0x10] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r2, 0x2 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - bne _08101DEA - movs r1, 0x2 -_08101DEA: - strh r1, [r4, 0x12] - movs r0, 0x1 - strh r0, [r4, 0x14] - b _08101EA8 - .pool -_08101DF8: - ldrh r2, [r4, 0xE] - movs r3, 0xE - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _08101E54 - ldrh r1, [r4, 0x14] - movs r3, 0x14 - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _08101E12 - subs r0, r1, 0x1 - strh r0, [r4, 0x14] - b _08101EE6 -_08101E12: - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _08101E34 - ldr r2, =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x12] - ldrh r2, [r4, 0x10] - adds r1, r2 - b _08101E48 - .pool -_08101E34: - ldr r2, =gSprites - movs r3, 0x8 - ldrsh r1, [r4, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x10] - ldrh r2, [r4, 0x12] - subs r1, r2 -_08101E48: - strh r1, [r0, 0x24] - movs r0, 0x1 - strh r0, [r4, 0x14] - b _08101ED4 - .pool -_08101E54: - ldr r2, =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x10] - strh r1, [r0, 0x24] - movs r0, 0xC - strh r0, [r4, 0xE] - b _08101EA8 - .pool -_08101E70: - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08101E80 - subs r0, r1, 0x1 - strh r0, [r4, 0xE] - b _08101EE6 -_08101E80: - movs r0, 0x3 - strh r0, [r4, 0xE] - ldr r2, =gSprites - movs r3, 0x8 - ldrsh r1, [r4, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x24] - strh r0, [r4, 0x10] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r2, 0x8 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - bne _08101EA6 - movs r1, 0x8 -_08101EA6: - strh r1, [r4, 0x12] -_08101EA8: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - b _08101EE6 - .pool -_08101EB4: - movs r3, 0xE - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _08101EE0 - ldrh r2, [r4, 0x12] - ldrh r0, [r4, 0x10] - adds r2, r0 -_08101EC2: - strh r2, [r4, 0x10] - ldr r3, =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r2, [r0, 0x24] -_08101ED4: - ldrh r0, [r4, 0xE] - subs r0, 0x1 - strh r0, [r4, 0xE] - b _08101EE6 - .pool -_08101EE0: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_08101EE6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8101D2C - - thumb_func_start sub_8101EEC -sub_8101EEC: @ 8101EEC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08101F2C - ldrh r0, [r4, 0x10] - ldrh r1, [r4, 0x12] - subs r0, r1 - strh r0, [r4, 0x10] - ldrb r0, [r4, 0x8] - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x10] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrb r0, [r4, 0x8] - bl sub_80A73A0 - ldrh r0, [r4, 0xE] - subs r0, 0x1 - strh r0, [r4, 0xE] - b _08101F38 - .pool -_08101F2C: - ldrb r0, [r4, 0x8] - bl sub_80A7344 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_08101F38: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8101EEC - - thumb_func_start sub_8101F40 -sub_8101F40: @ 8101F40 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _08101F5C - ldr r4, =gBattleAnimAttacker - b _08101F5E - .pool -_08101F5C: - ldr r4, =gBattleAnimTarget -_08101F5E: - 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] - movs r0, 0 - strh r0, [r5, 0x2E] - strh r0, [r5, 0x30] - ldr r1, =sub_810208C - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A67D8 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8101F40 - - thumb_func_start sub_8101FA8 -sub_8101FA8: @ 8101FA8 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldr r1, =0x0000ffd0 - adds r0, r1 - strh r0, [r4, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - ldr r1, =sub_8102044 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A67D8 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8101FA8 - - thumb_func_start sub_8101FF0 -sub_8101FF0: @ 8101FF0 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r5, =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gBattleAnimArgs - ldr r2, =0x0000ffd0 - adds r0, r2 - ldrh r1, [r1] - adds r0, r1 - movs r6, 0 - strh r0, [r4, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - strh r6, [r4, 0x2E] - strh r6, [r4, 0x30] - ldr r0, =sub_810208C - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8101FF0 - - thumb_func_start sub_8102044 -sub_8102044: @ 8102044 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _0810206E - movs r0, 0xC - strh r0, [r4, 0x2E] - movs r0, 0x8 - strh r0, [r4, 0x30] - movs r0, 0 - strh r0, [r4, 0x32] - ldr r1, =sub_810207C - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A653C - str r0, [r4, 0x1C] -_0810206E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8102044 - - thumb_func_start sub_810207C -sub_810207C: @ 810207C - movs r1, 0 - strh r1, [r0, 0x2E] - strh r1, [r0, 0x30] - ldr r1, =sub_810208C - str r1, [r0, 0x1C] - bx lr - .pool - thumb_func_end sub_810207C - - thumb_func_start sub_810208C -sub_810208C: @ 810208C - 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, 0x1 - ble _081020D4 - movs r0, 0 - strh r0, [r3, 0x2E] - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - 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 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _081020D4 - adds r0, r3, 0 - bl DestroyAnimSprite -_081020D4: - pop {r0} - bx r0 - thumb_func_end sub_810208C - - thumb_func_start sub_81020D8 -sub_81020D8: @ 81020D8 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _081020F4 - ldr r4, =gBattleAnimAttacker - b _081020F6 - .pool -_081020F4: - ldr r4, =gBattleAnimTarget -_081020F6: - ldrb r0, [r4] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x2] - adds r0, r1 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x4] - adds r0, r6 - strh r0, [r5, 0x22] - movs r0, 0 - strh r0, [r5, 0x2E] - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x6] - strh r0, [r5, 0x30] - ldr r0, =sub_810213C - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81020D8 - - thumb_func_start sub_810213C -sub_810213C: @ 810213C - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x30 - ldrsh r1, [r2, r3] - cmp r0, r1 - ble _0810215C - movs r0, 0 - strh r0, [r2, 0x2E] - ldrh r0, [r2, 0x22] - subs r0, 0x1 - strh r0, [r2, 0x22] -_0810215C: - ldrh r0, [r2, 0x22] - ldrh r1, [r2, 0x2E] - subs r0, r1 - strh r0, [r2, 0x22] - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08102178 - adds r0, r2, 0 - bl DestroyAnimSprite -_08102178: - pop {r0} - bx r0 - thumb_func_end sub_810213C - - thumb_func_start sub_810217C -sub_810217C: @ 810217C - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, =gBattleAnimAttacker - ldrb r0, [r6] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0x20] - ldrb r0, [r6] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - subs r0, 0xC - strh r0, [r4, 0x22] - strh r5, [r4, 0x2E] - movs r0, 0x2 - strh r0, [r4, 0x30] - strh r5, [r4, 0x32] - strh r5, [r4, 0x34] - strh r5, [r4, 0x36] - subs r0, 0x42 - bl BattleAnimAdjustPanning - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0x38] - ldr r0, =sub_81021CC - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810217C - - thumb_func_start sub_81021CC -sub_81021CC: @ 81021CC - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x30 - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _08102238 - adds r3, r4, 0 - 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] - movs r1, 0x4 - ands r0, r1 - cmp r0, 0 - bne _0810221E - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0810221E - ldrh r1, [r4, 0x38] - lsls r1, 24 - asrs r1, 24 - movs r0, 0xC2 - bl PlaySE12WithPanning -_0810221E: - movs r1, 0 - strh r1, [r4, 0x2E] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _08102238 - strh r1, [r4, 0x32] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] -_08102238: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08102262 - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x10 - ble _08102262 - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08102262 - adds r0, r4, 0 - bl DestroyAnimSprite -_08102262: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81021CC - - thumb_func_start sub_8102268 -sub_8102268: @ 8102268 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x2E - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _081022B2 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - ldr r5, =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r5] - adds r0, r1 - strh r0, [r6, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r5, [r5, 0x2] - adds r0, r5 - strh r0, [r6, 0x22] - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _081022AC - ldrh r0, [r6, 0x22] - adds r0, 0xA - strh r0, [r6, 0x22] -_081022AC: - ldrh r0, [r6, 0x2E] - adds r0, 0x1 - strh r0, [r6, 0x2E] -_081022B2: - ldr r0, =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _081022C2 - adds r0, r6, 0 - bl DestroyAnimSprite -_081022C2: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8102268 - - thumb_func_start sub_81022D4 -sub_81022D4: @ 81022D4 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _08102300 - ldr r1, =gBattleAnimArgs - ldr r0, =0x0000ffff - strh r0, [r1, 0xE] - b _0810233E - .pool -_08102300: - cmp r0, 0x2 - bne _0810230C - adds r0, r2, 0 - bl DestroyAnimVisualTask - b _08102344 -_0810230C: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _08102344 - movs r0, 0 - strh r0, [r4, 0x8] - ldrh r2, [r4, 0xA] - adds r2, 0x1 - strh r2, [r4, 0xA] - lsls r1, r2, 8 - movs r0, 0x10 - subs r0, r2 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _08102344 -_0810233E: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] -_08102344: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81022D4 - - thumb_func_start sub_810234C -sub_810234C: @ 810234C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_80A6980 - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x2E] - ldr r0, =sub_810237C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810234C - - thumb_func_start sub_810237C -sub_810237C: @ 810237C - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5, 0x2E] - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _08102390 - subs r0, r1, 0x1 - strh r0, [r5, 0x2E] - b _081023CC -_08102390: - adds r2, r5, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - movs r0, 0x1E - strh r0, [r5, 0x2E] - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - ldr r0, =StartAnimLinearTranslation - str r0, [r5, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 -_081023CC: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810237C - - thumb_func_start sub_81023E0 -sub_81023E0: @ 81023E0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _08102428 - movs r0, 0 - strh r0, [r4, 0x8] - ldrh r1, [r4, 0xA] - adds r1, 0x1 - strh r1, [r4, 0xA] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _08102428 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_08102428: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81023E0 - - thumb_func_start sub_8102434 -sub_8102434: @ 8102434 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - movs r4, 0 - ldr r0, =gBattlersCount - ldrb r0, [r0] - cmp r4, r0 - bcs _08102490 - ldr r6, =gBattleAnimArgs - ldr r5, =gHealthboxSpriteIds -_08102448: - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0x1 - bne _08102464 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08102464 - adds r0, r4, r5 - ldrb r0, [r0] - bl SetHealthboxSpriteInvisible -_08102464: - movs r1, 0x2 - ldrsh r0, [r6, r1] - cmp r0, 0x1 - bne _08102482 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08102482 - adds r0, r4, r5 - ldrb r0, [r0] - bl SetHealthboxSpriteInvisible -_08102482: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gBattlersCount - ldrb r0, [r0] - cmp r4, r0 - bcc _08102448 -_08102490: - adds r0, r7, 0 - bl DestroyAnimVisualTask - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8102434 - - thumb_func_start sub_81024A8 -sub_81024A8: @ 81024A8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - b _081024C2 -_081024B2: - ldr r0, =gHealthboxSpriteIds - adds r0, r4, r0 - ldrb r0, [r0] - bl SetHealthboxSpriteVisible - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_081024C2: - ldr r0, =gBattlersCount - ldrb r0, [r0] - cmp r4, r0 - bcc _081024B2 - adds r0, r5, 0 - bl DestroyAnimVisualTask - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81024A8 - - thumb_func_start sub_81024E0 -sub_81024E0: @ 81024E0 - push {r4,lr} - adds r4, r0, 0 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _081024F6 - movs r0, 0x30 - strh r0, [r4, 0x20] - movs r0, 0x28 - b _081024FE -_081024F6: - ldr r0, =gBattleAnimArgs - ldrh r1, [r0] - strh r1, [r4, 0x20] - ldrh r0, [r0, 0x2] -_081024FE: - strh r0, [r4, 0x22] - ldrb r1, [r4, 0x1] - movs r0, 0x3F - ands r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - movs r1, 0xC0 - orrs r0, r1 - strb r0, [r4, 0x3] - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, =sub_8102528 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81024E0 - - thumb_func_start sub_8102528 -sub_8102528: @ 8102528 - push {lr} - adds r1, r0, 0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0810253A - adds r0, r1, 0 - bl DestroyAnimSprite -_0810253A: - pop {r0} - bx r0 - thumb_func_end sub_8102528 - - thumb_func_start sub_8102540 -sub_8102540: @ 8102540 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - ldr r2, =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r2] - adds r0, r1 - movs r1, 0 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - strh r0, [r4, 0x22] - strh r1, [r4, 0x2E] - strh r1, [r4, 0x30] - strh r1, [r4, 0x32] - strh r1, [r4, 0x34] - movs r0, 0x1 - strh r0, [r4, 0x36] - ldr r0, =sub_8102584 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8102540 - - thumb_func_start sub_8102584 -sub_8102584: @ 8102584 - 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, 0x1 - ble _081025AE - movs r0, 0 - strh r0, [r1, 0x30] - ldrh r2, [r1, 0x32] - movs r3, 0x32 - ldrsh r0, [r1, r3] - cmp r0, 0x77 - bgt _081025AE - ldrh r0, [r1, 0x22] - adds r0, 0x1 - strh r0, [r1, 0x22] - adds r0, r2, 0x1 - strh r0, [r1, 0x32] -_081025AE: - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _081025BC - adds r0, r1, 0 - bl DestroyAnimSprite -_081025BC: - pop {r0} - bx r0 - thumb_func_end sub_8102584 - - thumb_func_start sub_81025C0 -sub_81025C0: @ 81025C0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r7, r0, 24 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80A75AC - mov r8, r0 - ldr r0, =0x0000ffff - mov r1, r8 - ands r1, r0 - mov r8, r1 - ldr r0, =gTasks - mov r9, r0 - lsls r5, r7, 2 - adds r5, r7 - lsls r5, 3 - adds r6, r5, r0 - strh r4, [r6, 0x8] - strh r4, [r6, 0xA] - strh r4, [r6, 0xC] - strh r1, [r6, 0xE] - strh r4, [r6, 0x10] - strh r4, [r6, 0x12] - strh r4, [r6, 0x14] - movs r0, 0xD - strh r0, [r6, 0x16] - movs r0, 0xE - strh r0, [r6, 0x18] - movs r0, 0xF - strh r0, [r6, 0x1A] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x1 - bl sub_80A76C4 - mov r10, r0 - mov r1, r8 - orrs r1, r0 - mov r8, r1 - movs r0, 0x8 - add r9, r0 - add r5, r9 - adds r0, r5, 0 - adds r0, 0x1C - adds r5, 0x1E - adds r1, r5, 0 - mov r2, r8 - bl sub_80A8048 - ldr r0, =0x000027d2 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - movs r4, 0x80 - lsls r4, 9 - adds r1, r4, 0 - lsls r1, r0 - mov r0, r10 - orrs r0, r1 - mov r10, r0 - ldr r0, =0x000027d3 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0 - mov r1, r10 - orrs r4, r1 - ldr r0, =0x00007fbb - str r0, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =sub_81026A8 - str r1, [r6] - adds r0, r7, 0 - bl _call_via_r1 - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81025C0 - - thumb_func_start sub_81026A8 -sub_81026A8: @ 81026A8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _08102794 - cmp r1, 0x1 - bgt _081026D4 - cmp r1, 0 - beq _081026E2 - b _08102832 - .pool -_081026D4: - cmp r1, 0x2 - bne _081026DA - b _081027EC -_081026DA: - cmp r1, 0x3 - bne _081026E0 - b _08102820 -_081026E0: - b _08102832 -_081026E2: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bgt _081026F0 - b _08102832 -_081026F0: - strh r1, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bgt _0810273C - ldrh r0, [r4, 0x16] - ldrh r1, [r4, 0x10] - adds r0, r1 - strh r0, [r4, 0x10] - ldrh r2, [r4, 0x18] - ldrh r3, [r4, 0x12] - adds r2, r3 - strh r2, [r4, 0x12] - ldrh r1, [r4, 0x1A] - ldrh r5, [r4, 0x14] - adds r1, r5 - strh r1, [r4, 0x14] - lsls r0, 16 - asrs r0, 19 - lsls r0, 16 - lsrs r0, 16 - lsls r2, 16 - asrs r2, 19 - lsls r2, 16 - lsls r1, 16 - asrs r1, 19 - lsls r1, 16 - lsrs r2, 11 - orrs r0, r2 - lsrs r1, 6 - orrs r0, r1 - lsls r0, 16 - lsrs r0, 16 - mov r12, r0 - b _08102746 -_0810273C: - ldr r7, =0x00007fbb - mov r12, r7 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08102746: - movs r2, 0x1 - movs r3, 0 - movs r1, 0 -_0810274C: - movs r5, 0xE - ldrsh r0, [r4, r5] - ands r0, r2 - lsls r5, r2, 17 - adds r6, r3, 0 - adds r6, 0x10 - adds r1, 0x1 - mov r8, r1 - cmp r0, 0 - beq _08102778 - movs r1, 0x1 - ldr r2, =gPlttBufferFaded -_08102764: - adds r0, r3, r1 - lsls r0, 1 - adds r0, r2 - mov r7, r12 - strh r7, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xF - bls _08102764 -_08102778: - lsrs r2, r5, 16 - lsls r0, r6, 16 - lsrs r3, r0, 16 - mov r1, r8 - lsls r0, r1, 16 - lsrs r1, r0, 16 - cmp r1, 0xF - bls _0810274C - b _08102832 - .pool -_08102794: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08102832 - movs r2, 0 - ldr r3, =gSprites - movs r5, 0x14 - adds r5, r3 - mov r12, r5 - ldr r7, =gUnknown_08592EBC - mov r8, r7 - ldr r6, =gBattleAnimSpriteTemplate_8592EEC - movs r5, 0x1 -_081027B2: - lsls r0, r2, 4 - adds r0, r2 - lsls r1, r0, 2 - mov r7, r12 - adds r0, r1, r7 - ldr r0, [r0] - cmp r0, r8 - beq _081027C6 - cmp r0, r6 - bne _081027CA -_081027C6: - adds r0, r1, r3 - strh r5, [r0, 0x2E] -_081027CA: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3F - bls _081027B2 - movs r0, 0 - strh r0, [r4, 0xA] - b _08102814 - .pool -_081027EC: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1E - ble _08102832 - movs r1, 0x24 - ldrsh r0, [r4, r1] - movs r2, 0x26 - ldrsh r1, [r4, r2] - bl sub_80A8050 - ldr r1, =0x00007fbb - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_08102814: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08102832 - .pool -_08102820: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08102832 - adds r0, r2, 0 - bl DestroyAnimVisualTask -_08102832: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81026A8 - - thumb_func_start sub_8102844 -sub_8102844: @ 8102844 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0x1 - bgt _08102856 - movs r0, 0x2 - strh r0, [r6, 0x4] -_08102856: - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0x7F - ble _08102862 - movs r0, 0x7F - strh r0, [r6, 0x4] -_08102862: - movs r0, 0 - strh r0, [r5, 0x2E] - ldrh r0, [r6, 0x4] - strh r0, [r5, 0x30] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6] - adds r0, r1 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x2] - adds r0, r6 - strh r0, [r5, 0x22] - ldrh r1, [r5, 0x20] - strh r1, [r5, 0x3A] - strh r0, [r5, 0x3C] - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _081028D4 - ldrb r1, [r5, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r5, 0x3] - ldrh r0, [r5, 0x20] - adds r0, 0x28 - strh r0, [r5, 0x20] - ldrh r4, [r5, 0x22] - adds r4, 0x14 - strh r4, [r5, 0x22] - lsls r0, 7 - strh r0, [r5, 0x32] - movs r0, 0x30 - ldrsh r1, [r5, r0] - ldr r0, =0xffffec00 - b _081028FA - .pool -_081028D4: - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0810291C - ldrh r0, [r5, 0x20] - subs r0, 0x28 - strh r0, [r5, 0x20] - ldrh r4, [r5, 0x22] - adds r4, 0x14 - strh r4, [r5, 0x22] - lsls r0, 7 - strh r0, [r5, 0x32] - movs r0, 0x30 - ldrsh r1, [r5, r0] - movs r0, 0xA0 - lsls r0, 5 -_081028FA: - bl __divsi3 - strh r0, [r5, 0x34] - lsls r4, 7 - strh r4, [r5, 0x36] - movs r0, 0x30 - ldrsh r1, [r5, r0] - ldr r0, =0xfffff600 - bl __divsi3 - strh r0, [r5, 0x38] - b _08102958 - .pool -_0810291C: - ldrh r0, [r5, 0x20] - adds r0, 0x28 - strh r0, [r5, 0x20] - ldrh r4, [r5, 0x22] - subs r4, 0x14 - strh r4, [r5, 0x22] - lsls r0, 7 - strh r0, [r5, 0x32] - movs r0, 0x30 - ldrsh r1, [r5, r0] - ldr r0, =0xffffec00 - bl __divsi3 - strh r0, [r5, 0x34] - lsls r4, 7 - strh r4, [r5, 0x36] - movs r0, 0x30 - ldrsh r1, [r5, r0] - movs r0, 0xA0 - lsls r0, 4 - bl __divsi3 - strh r0, [r5, 0x38] - ldrb r1, [r5, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x30 - orrs r0, r1 - strb r0, [r5, 0x3] -_08102958: - ldr r0, =sub_810296C - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8102844 - - thumb_func_start sub_810296C -sub_810296C: @ 810296C - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x34] - ldrh r1, [r2, 0x32] - adds r0, r1 - strh r0, [r2, 0x32] - ldrh r1, [r2, 0x38] - ldrh r3, [r2, 0x36] - adds r1, r3 - strh r1, [r2, 0x36] - lsls r0, 16 - asrs r0, 23 - strh r0, [r2, 0x20] - lsls r1, 16 - asrs r1, 23 - strh r1, [r2, 0x22] - ldrh r0, [r2, 0x30] - subs r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _081029A2 - ldrh r0, [r2, 0x3A] - strh r0, [r2, 0x20] - ldrh r0, [r2, 0x3C] - strh r0, [r2, 0x22] -_081029A2: - movs r1, 0x30 - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _081029B0 - adds r0, r2, 0 - bl DestroyAnimSprite -_081029B0: - pop {r0} - bx r0 - thumb_func_end sub_810296C - - thumb_func_start sub_81029B4 -sub_81029B4: @ 81029B4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, 2 - add r0, r8 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x8] - ldr r0, =0x00002771 - bl AllocSpritePalette - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0xA] - movs r1, 0xA - ldrsh r0, [r6, r1] - lsls r0, 20 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r3, r0, 16 - ldr r2, =gSprites - movs r0, 0x8 - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - adds r0, 0x10 - lsls r4, r0, 4 - movs r5, 0x1 - ldr r2, =gPlttBufferUnfaded -_08102A0C: - adds r1, r3, r5 - lsls r1, 1 - adds r1, r2 - adds r0, r4, r5 - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xF - bls _08102A0C - adds r0, r3, 0 - movs r1, 0x10 - movs r2, 0xB - movs r3, 0 - bl BlendPalette - movs r0, 0 - strh r0, [r6, 0xE] - movs r5, 0 - ldr r7, =gSprites - movs r1, 0x1C - adds r1, r7 - mov r9, r1 - b _08102A88 - .pool -_08102A54: - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r4, r2, r7 - ldrb r1, [r6, 0xA] - lsls r1, 4 - ldrb r3, [r4, 0x5] - movs r0, 0xF - ands r0, r3 - orrs r0, r1 - strb r0, [r4, 0x5] - movs r0, 0 - strh r0, [r4, 0x2E] - lsls r0, r5, 7 - strh r0, [r4, 0x30] - mov r0, r8 - strh r0, [r4, 0x32] - add r2, r9 - ldr r0, =sub_8102B3C - str r0, [r2] - ldrh r0, [r6, 0xE] - adds r0, 0x1 - strh r0, [r6, 0xE] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_08102A88: - cmp r5, 0x1 - bhi _08102A9A - movs r0, 0 - bl duplicate_obj_of_side_rel2move_in_transparent_mode - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08102A54 -_08102A9A: - ldr r0, =sub_8102AE0 - str r0, [r6] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80A8364 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08102AC8 - movs r1, 0x80 - lsls r1, 2 - movs r0, 0 - bl ClearGpuRegBits - b _08102AD2 - .pool -_08102AC8: - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - bl ClearGpuRegBits -_08102AD2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81029B4 - - thumb_func_start sub_8102AE0 -sub_8102AE0: @ 8102AE0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r0, r1 - movs r1, 0xE - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08102B32 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80A8364 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08102B1C - movs r1, 0x80 - lsls r1, 2 - movs r0, 0 - bl SetGpuRegBits - b _08102B26 - .pool -_08102B1C: - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - bl SetGpuRegBits -_08102B26: - ldr r0, =0x00002771 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - bl DestroyAnimVisualTask -_08102B32: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8102AE0 - - thumb_func_start sub_8102B3C -sub_8102B3C: @ 8102B3C - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _08102B58 - movs r0, 0 - strh r0, [r5, 0x34] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] -_08102B58: - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x40 - ble _08102B80 - ldr r2, =gTasks - movs r0, 0x32 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0xE] - subs r1, 0x1 - strh r1, [r0, 0xE] - adds r0, r5, 0 - bl obj_delete_but_dont_free_vram - b _08102BC2 - .pool -_08102B80: - ldr r4, =gSineTable - movs r1, 0x2E - ldrsh r0, [r5, r1] - lsls r0, 1 - adds r0, r4 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r1, 0x6 - bl __divsi3 - strh r0, [r5, 0x36] - movs r1, 0x2E - ldrsh r0, [r5, r1] - lsls r0, 1 - adds r0, r4 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r1, 0xD - bl __divsi3 - strh r0, [r5, 0x38] - ldrh r1, [r5, 0x30] - adds r1, r0 - movs r0, 0xFF - ands r1, r0 - strh r1, [r5, 0x30] - movs r1, 0x30 - ldrsh r0, [r5, r1] - movs r2, 0x36 - ldrsh r1, [r5, r2] - bl Sin - strh r0, [r5, 0x24] -_08102BC2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8102B3C - - thumb_func_start sub_8102BCC -sub_8102BCC: @ 8102BCC - push {r4,lr} - adds r4, r0, 0 - ldr r1, =DestroyAnimSprite - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A67D8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8102BCC - - thumb_func_start sub_8102BE8 -sub_8102BE8: @ 8102BE8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r4, =gUnknown_08593020 - ldrh r0, [r4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xFF - beq _08102C2C - lsls r0, r3, 20 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r3, r0, 16 - movs r2, 0x1 - ldr r5, =gPlttBufferFaded -_08102C14: - adds r1, r3, r2 - lsls r1, 1 - adds r1, r5 - lsls r0, r2, 1 - adds r0, r4 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x5 - bls _08102C14 -_08102C2C: - movs r4, 0x1 - ldr r0, =gUnknown_08593020 - mov r8, r0 -_08102C32: - lsls r0, r4, 1 - adds r0, r4 - lsls r5, r0, 2 - mov r1, r8 - adds r0, r5, r1 - ldrh r0, [r0] - bl AllocSpritePalette - lsls r0, 24 - lsrs r3, r0, 24 - adds r4, 0x1 - mov r12, r4 - cmp r3, 0xFF - beq _08102C7A - lsls r0, r3, 20 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r3, r0, 16 - movs r2, 0x1 - ldr r7, =gPlttBufferFaded - ldr r6, =gUnknown_08593020 - adds r4, r5, 0 -_08102C60: - adds r1, r3, r2 - lsls r1, 1 - adds r1, r7 - lsls r0, r2, 1 - adds r0, r4 - adds r0, r6 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x5 - bls _08102C60 -_08102C7A: - mov r1, r12 - lsls r0, r1, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _08102C32 - mov r0, r9 - bl DestroyAnimVisualTask - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8102BE8 - - thumb_func_start sub_8102CA0 -sub_8102CA0: @ 8102CA0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0x1 - ldr r6, =gUnknown_08593020 -_08102CAA: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r6 - ldrh r0, [r0] - bl FreeSpritePaletteByTag - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _08102CAA - adds r0, r5, 0 - bl DestroyAnimVisualTask - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8102CA0 - - thumb_func_start sub_8102CD4 -sub_8102CD4: @ 8102CD4 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - bl sub_80A6838 - ldr r4, =gBattleAnimArgs - ldrb r1, [r4] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r2, =gUnknown_08593020 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08102D10 - lsls r2, r0, 4 - ldrb r1, [r5, 0x5] - movs r0, 0xF - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] -_08102D10: - ldrh r0, [r4, 0x2] - movs r1, 0 - strh r0, [r5, 0x30] - strh r1, [r5, 0x32] - ldrh r0, [r4, 0x4] - strh r0, [r5, 0x34] - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _08102D34 - movs r6, 0x30 - movs r3, 0x28 - b _08102D4E - .pool -_08102D34: - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r3, r0, 24 -_08102D4E: - ldrh r0, [r5, 0x20] - lsls r1, r0, 4 - strh r1, [r5, 0x36] - ldrh r1, [r5, 0x22] - lsls r2, r1, 4 - strh r2, [r5, 0x38] - subs r0, r6, r0 - lsls r0, 16 - asrs r0, 16 - subs r1, r3, r1 - lsls r1, 16 - asrs r1, 16 - adds r2, r5, 0 - adds r2, 0x3A - adds r3, r5, 0 - adds r3, 0x3C - movs r4, 0x28 - str r4, [sp] - bl sub_8102D8C - ldr r0, =sub_8102DE4 - str r0, [r5, 0x1C] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8102CD4 - - thumb_func_start sub_8102D8C -sub_8102D8C: @ 8102D8C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r2, 0 - mov r8, r3 - ldr r2, [sp, 0x18] - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 24 - lsrs r1, r2, 24 - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - bge _08102DAE - lsls r0, r1, 24 - negs r0, r0 - lsrs r1, r0, 24 -_08102DAE: - lsls r5, r2, 8 - lsls r1, 24 - asrs r1, 24 - adds r0, r5, 0 - bl __divsi3 - adds r4, r0, 0 - cmp r4, 0 - bne _08102DC2 - movs r4, 0x1 -_08102DC2: - adds r0, r5, 0 - adds r1, r4, 0 - bl __divsi3 - strh r0, [r7] - lsls r0, r6, 16 - asrs r0, 8 - adds r1, r4, 0 - bl __divsi3 - mov r1, r8 - strh r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8102D8C - - thumb_func_start sub_8102DE4 -sub_8102DE4: @ 8102DE4 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - movs r5, 0 - strh r0, [r4, 0x2E] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r1, r0, r1 - adds r0, r1, 0 - cmp r1, 0 - bge _08102E00 - adds r0, 0xFF -_08102E00: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - ldrh r1, [r4, 0x3A] - ldrh r2, [r4, 0x36] - adds r1, r2 - strh r1, [r4, 0x36] - ldrh r2, [r4, 0x3C] - ldrh r3, [r4, 0x38] - adds r2, r3 - strh r2, [r4, 0x38] - lsls r1, 16 - asrs r1, 20 - strh r1, [r4, 0x20] - lsls r2, 16 - asrs r2, 20 - strh r2, [r4, 0x22] - lsls r0, 16 - asrs r0, 16 - movs r1, 0xF - bl Sin - strh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - ldrh r0, [r4, 0x20] - adds r0, 0x10 - lsls r0, 16 - movs r1, 0x88 - lsls r1, 17 - cmp r0, r1 - bhi _08102E4E - lsls r0, r2, 16 - asrs r1, r0, 16 - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - blt _08102E4E - cmp r1, 0x80 - ble _08102E56 -_08102E4E: - adds r0, r4, 0 - bl move_anim_8074EE0 - b _08102EA6 -_08102E56: - movs r0, 0x34 - ldrsh r1, [r4, r0] - cmp r1, 0 - beq _08102EA6 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, r1 - ble _08102EA6 - strh r5, [r4, 0x32] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _08102E7E - strh r5, [r4, 0x30] -_08102E7E: - ldr r2, =gUnknown_08593020 - movs r3, 0x30 - ldrsh r1, [r4, r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08102EA6 - lsls r2, r0, 4 - ldrb r1, [r4, 0x5] - movs r0, 0xF - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] -_08102EA6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8102DE4 - - thumb_func_start sub_8102EB0 -sub_8102EB0: @ 8102EB0 - push {r4-r7,lr} - adds r6, r0, 0 - ldr r7, =gBattleAnimAttacker - ldrb r0, [r7] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08102ECE - ldr r1, =gBattleAnimArgs - movs r2, 0x2 - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1, 0x2] -_08102ECE: - ldrb r0, [r7] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - ldr r4, =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4, 0x2] - adds r0, r1 - movs r5, 0 - strh r0, [r6, 0x20] - ldrb r0, [r7] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r2, [r4, 0x4] - adds r0, r2 - strh r0, [r6, 0x22] - ldrb r1, [r4] - adds r0, r6, 0 - bl StartSpriteAnim - strh r5, [r6, 0x32] - strh r5, [r6, 0x34] - ldrh r0, [r6, 0x20] - lsls r0, 4 - strh r0, [r6, 0x36] - ldrh r0, [r6, 0x22] - lsls r0, 4 - strh r0, [r6, 0x38] - movs r1, 0x2 - ldrsh r0, [r4, r1] - lsls r0, 4 - movs r1, 0x5 - bl __divsi3 - strh r0, [r6, 0x3A] - movs r2, 0x4 - ldrsh r0, [r4, r2] - lsls r0, 7 - movs r1, 0x5 - bl __divsi3 - strh r0, [r6, 0x3C] - ldr r0, =sub_8102F40 - str r0, [r6, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8102EB0 - - thumb_func_start sub_8102F40 -sub_8102F40: @ 8102F40 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x36] - adds r0, r1 - strh r0, [r4, 0x36] - ldrh r1, [r4, 0x3C] - ldrh r2, [r4, 0x38] - adds r1, r2 - strh r1, [r4, 0x38] - lsls r0, 16 - asrs r0, 20 - strh r0, [r4, 0x20] - lsls r1, 16 - asrs r1, 20 - strh r1, [r4, 0x22] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x5 - ble _08102F9E - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08102F9E - ldrh r0, [r4, 0x32] - adds r0, 0x10 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0x12 - bl Cos - strh r0, [r4, 0x24] - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0x12 - bl Sin - strh r0, [r4, 0x26] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08102F9E - movs r0, 0x1 - strh r0, [r4, 0x34] -_08102F9E: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x30 - bne _08102FB2 - adds r0, r4, 0 - bl move_anim_8074EE0 -_08102FB2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8102F40 - - thumb_func_start sub_8102FB8 -sub_8102FB8: @ 8102FB8 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - bne _08102FDC - ldrb r0, [r5, 0x3] - movs r1, 0x3F - negs r1, r1 - ands r1, r0 - movs r0, 0x10 - orrs r1, r0 - strb r1, [r5, 0x3] - movs r6, 0x10 - b _08102FDE - .pool -_08102FDC: - ldr r6, =0x0000fff0 -_08102FDE: - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, r6 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x8 - strh r0, [r5, 0x22] - movs r0, 0x8 - strh r0, [r5, 0x2E] - ldr r0, =WaitAnimForDuration - str r0, [r5, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8102FB8 - - thumb_func_start sub_8103028 -sub_8103028: @ 8103028 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_80A6838 - ldrh r0, [r4, 0x22] - adds r0, 0x8 - strh r0, [r4, 0x22] - ldr r5, =gBattleAnimArgs - ldrb r1, [r5, 0x2] - adds r0, r4, 0 - bl StartSpriteAnim - ldr r2, =gUnknown_08593020 - movs r0, 0x4 - ldrsh r1, [r5, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08103068 - lsls r2, r0, 4 - ldrb r1, [r4, 0x5] - movs r0, 0xF - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] -_08103068: - movs r1, 0 - ldrsh r0, [r5, r1] - movs r2, 0x20 - cmp r0, 0 - bne _08103074 - ldr r2, =0x0000ffe0 -_08103074: - movs r0, 0x28 - strh r0, [r4, 0x2E] - ldrh r1, [r4, 0x20] - strh r1, [r4, 0x30] - lsls r0, r2, 16 - asrs r0, 16 - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - subs r0, 0x28 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl InitAnimLinearTranslation - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x38] - ldr r0, =sub_81030B0 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8103028 - - thumb_func_start sub_81030B0 -sub_81030B0: @ 81030B0 - push {r4,lr} - adds r4, r0, 0 - bl TranslateAnimLinear - lsls r0, 24 - cmp r0, 0 - bne _08103100 - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - lsls r0, 16 - lsrs r1, r0, 16 - ldrh r2, [r4, 0x24] - movs r3, 0x24 - ldrsh r0, [r4, r3] - cmp r0, 0 - bge _081030DC - lsls r0, r1, 16 - negs r0, r0 - lsrs r1, r0, 16 -_081030DC: - lsls r0, r1, 16 - asrs r0, 16 - adds r0, r2 - strh r0, [r4, 0x24] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x4 - bl Sin - ldrh r3, [r4, 0x26] - adds r0, r3 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x38] - adds r0, 0x8 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - b _08103106 -_08103100: - adds r0, r4, 0 - bl DestroyAnimSprite -_08103106: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81030B0 - - thumb_func_start sub_810310C -sub_810310C: @ 810310C - push {r4-r6,lr} - adds r6, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0810312C - adds r0, r5, 0 - movs r1, 0x5 - bl sub_80A861C - adds r0, 0x8 - b _08103136 -_0810312C: - adds r0, r5, 0 - movs r1, 0x4 - bl sub_80A861C - subs r0, 0x8 -_08103136: - strh r0, [r6, 0x20] - adds r0, r5, 0 - movs r1, 0x3 - bl GetBattlerSpriteCoord - adds r4, r0, 0 - adds r0, r5, 0 - movs r1, 0 - bl sub_80A861C - lsls r4, 24 - lsrs r4, 24 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08103158 - adds r0, 0x3 -_08103158: - asrs r0, 2 - subs r0, r4, r0 - strh r0, [r6, 0x22] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_810310C - - thumb_func_start sub_8103164 -sub_8103164: @ 8103164 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08103180 - ldr r0, =gBattleAnimAttacker - b _08103182 - .pool -_08103180: - ldr r0, =gBattleAnimTarget -_08103182: - ldrb r4, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_810310C - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - negs r1, r0 - orrs r1, r0 - lsrs r1, 31 - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x2] - strh r0, [r5, 0x2E] - adds r0, r1, 0x2 - strh r0, [r5, 0x30] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r1, =sub_81031D0 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A67D8 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8103164 - - thumb_func_start sub_81031D0 -sub_81031D0: @ 81031D0 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _081031F8 - ldr r1, =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldr r0, =sub_80A67D8 - str r0, [r4, 0x1C] -_081031F8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81031D0 - - thumb_func_start sub_8103208 -sub_8103208: @ 8103208 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08103224 - ldr r0, =gBattleAnimAttacker - b _08103226 - .pool -_08103224: - ldr r0, =gBattleAnimTarget -_08103226: - ldrb r0, [r0] - adds r1, r4, 0 - bl sub_810310C - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r1, =sub_8103250 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A67BC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8103208 - - thumb_func_start sub_8103250 -sub_8103250: @ 8103250 - 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, 0x10 - ble _08103276 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r1, =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A67BC - str r0, [r4, 0x1C] -_08103276: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8103250 - - thumb_func_start sub_8103284 -sub_8103284: @ 8103284 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _081032A0 - ldr r0, =gBattleAnimAttacker - b _081032A2 - .pool -_081032A0: - ldr r0, =gBattleAnimTarget -_081032A2: - ldrb r5, [r0] - adds r0, r5, 0 - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - movs r6, 0 - strh r0, [r4, 0x20] - adds r0, r5, 0 - movs r1, 0x2 - bl sub_80A861C - strh r0, [r4, 0x22] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - bgt _081032CA - movs r0, 0xA - strh r0, [r4, 0x22] -_081032CA: - movs r0, 0x1 - strh r0, [r4, 0x2E] - strh r6, [r4, 0x30] - adds r1, r4, 0 - adds r1, 0x43 - ldrb r0, [r1] - strh r0, [r4, 0x32] - ldrb r0, [r1] - adds r0, 0x4 - strh r0, [r4, 0x34] - strh r6, [r4, 0x36] - ldr r1, =sub_8103300 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A67BC - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8103284 - - thumb_func_start sub_8103300 -sub_8103300: @ 8103300 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x36] - adds r0, 0x1 - strh r0, [r1, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - ble _08103316 - ldr r0, =sub_8103320 - str r0, [r1, 0x1C] -_08103316: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8103300 - - thumb_func_start sub_8103320 -sub_8103320: @ 8103320 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - adds r1, r0, 0x4 - strh r1, [r2, 0x30] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFE - ble _08103352 - ldrh r0, [r2, 0x2E] - subs r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _0810334C - strh r0, [r2, 0x24] - ldr r0, =sub_8103250 - str r0, [r2, 0x1C] - b _08103388 - .pool -_0810334C: - movs r0, 0xFF - ands r1, r0 - strh r1, [r2, 0x30] -_08103352: - movs r1, 0x30 - ldrsh r0, [r2, r1] - cmp r0, 0x4F - ble _08103362 - ldrh r0, [r2, 0x34] - adds r1, r2, 0 - adds r1, 0x43 - strb r0, [r1] -_08103362: - movs r3, 0x30 - ldrsh r0, [r2, r3] - cmp r0, 0x9F - ble _08103372 - ldrh r0, [r2, 0x32] - adds r1, r2, 0 - adds r1, 0x43 - strb r0, [r1] -_08103372: - ldr r1, =gSineTable - movs r3, 0x30 - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 19 - asrs r1, r0, 1 - adds r0, r1 - strh r0, [r2, 0x24] -_08103388: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8103320 - - thumb_func_start sub_8103390 -sub_8103390: @ 8103390 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _081033AC - ldr r0, =gBattleAnimAttacker - b _081033AE - .pool -_081033AC: - ldr r0, =gBattleAnimTarget -_081033AE: - ldrb r4, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_810310C - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _081033D4 - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAnim - movs r0, 0x2 - b _081033DE - .pool -_081033D4: - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim - movs r0, 0x3 -_081033DE: - strh r0, [r5, 0x2E] - ldr r0, =sub_81033F0 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8103390 - - thumb_func_start sub_81033F0 -sub_81033F0: @ 81033F0 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - ble _0810341E - movs r0, 0 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x2E] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldr r1, =sub_810342C - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A67D8 - str r0, [r4, 0x1C] -_0810341E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81033F0 - - thumb_func_start sub_810342C -sub_810342C: @ 810342C - 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, 0x5 - ble _08103444 - adds r0, r1, 0 - bl DestroyAnimSprite -_08103444: - pop {r0} - bx r0 - thumb_func_end sub_810342C - - .align 2, 0 diff --git a/asm/battle_intro.s b/asm/battle_intro.s deleted file mode 100644 index 04a0301ce..000000000 --- a/asm/battle_intro.s +++ /dev/null @@ -1,2035 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start SetAnimBgAttribute -SetAnimBgAttribute: @ 811802C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - cmp r6, 0x3 - bls _08118040 - b _08118132 -_08118040: - ldr r0, =gUnknown_0859741A - adds r0, r6, r0 - ldrb r0, [r0] - bl GetGpuReg - ldr r1, =gUnknown_0203A114 - strh r0, [r1] - cmp r5, 0x6 - bhi _08118124 - lsls r0, r5, 2 - ldr r1, =_08118068 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08118068: - .4byte _08118084 - .4byte _08118098 - .4byte _081180B0 - .4byte _081180C8 - .4byte _081180E0 - .4byte _081180FC - .4byte _08118110 -_08118084: - ldr r2, =gUnknown_0203A114 - lsls r3, r4, 6 - ldrb r1, [r2, 0x1] - movs r0, 0x3F - ands r0, r1 - orrs r0, r3 - strb r0, [r2, 0x1] - b _08118124 - .pool -_08118098: - ldr r3, =gUnknown_0203A114 - movs r0, 0x1 - adds r1, r4, 0 - ands r1, r0 - lsls r1, 5 - ldrb r2, [r3, 0x1] - movs r0, 0x21 - negs r0, r0 - b _0811811E - .pool -_081180B0: - ldr r3, =gUnknown_0203A114 - movs r0, 0x1 - adds r1, r4, 0 - ands r1, r0 - lsls r1, 6 - ldrb r2, [r3] - movs r0, 0x41 - negs r0, r0 - b _081180EE - .pool -_081180C8: - ldr r3, =gUnknown_0203A114 - movs r0, 0x3 - adds r1, r4, 0 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0xD - negs r0, r0 - b _081180EE - .pool -_081180E0: - ldr r3, =gUnknown_0203A114 - movs r0, 0x3 - adds r1, r4, 0 - ands r1, r0 - ldrb r2, [r3] - movs r0, 0x4 - negs r0, r0 -_081180EE: - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _08118124 - .pool -_081180FC: - ldr r2, =gUnknown_0203A114 - lsls r3, r4, 7 - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - orrs r0, r3 - strb r0, [r2] - b _08118124 - .pool -_08118110: - ldr r3, =gUnknown_0203A114 - movs r0, 0x1F - adds r1, r4, 0 - ands r1, r0 - ldrb r2, [r3, 0x1] - movs r0, 0x20 - negs r0, r0 -_0811811E: - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x1] -_08118124: - ldr r0, =gUnknown_0859741A - adds r0, r6, r0 - ldrb r0, [r0] - ldr r1, =gUnknown_0203A114 - ldrh r1, [r1] - bl SetGpuReg -_08118132: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end SetAnimBgAttribute - - thumb_func_start GetAnimBgAttribute -GetAnimBgAttribute: @ 8118140 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r2, 0x3 - bhi _081181C8 - ldr r0, =gUnknown_0859741E - adds r0, r2, r0 - ldrb r0, [r0] - bl GetGpuReg - mov r1, sp - strh r0, [r1] - cmp r4, 0x6 - bhi _081181C8 - lsls r0, r4, 2 - ldr r1, =_08118174 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08118174: - .4byte _08118190 - .4byte _08118198 - .4byte _081181A0 - .4byte _081181A8 - .4byte _081181B0 - .4byte _081181B8 - .4byte _081181C0 -_08118190: - ldr r0, [sp] - lsls r0, 16 - lsrs r0, 30 - b _081181CA -_08118198: - ldr r0, [sp] - lsls r0, 18 - lsrs r0, 31 - b _081181CA -_081181A0: - ldr r0, [sp] - lsls r0, 25 - lsrs r0, 31 - b _081181CA -_081181A8: - ldr r0, [sp] - lsls r0, 28 - lsrs r0, 30 - b _081181CA -_081181B0: - ldr r0, [sp] - lsls r0, 30 - lsrs r0, 30 - b _081181CA -_081181B8: - ldr r0, [sp] - lsls r0, 24 - lsrs r0, 31 - b _081181CA -_081181C0: - ldr r0, [sp] - lsls r0, 19 - lsrs r0, 27 - b _081181CA -_081181C8: - movs r0, 0 -_081181CA: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetAnimBgAttribute - - thumb_func_start HandleIntroSlide -HandleIntroSlide: @ 81181D4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, =gBattleTypeFlags - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 15 - ands r0, r1 - cmp r0, 0 - beq _08118208 - ldr r0, =gPartnerTrainerId - ldrh r1, [r0] - ldr r0, =0x00000c03 - cmp r1, r0 - beq _08118208 - ldr r0, =sub_8118D68 - b _08118258 - .pool -_08118208: - ldr r2, [r2] - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _0811821C - ldr r0, =task00_battle_intro_wireless - b _08118258 - .pool -_0811821C: - ldr r0, =0x003f0100 - ands r0, r2 - cmp r0, 0 - beq _08118230 - ldr r0, =task_battle_intro_anim - b _08118258 - .pool -_08118230: - movs r0, 0x80 - lsls r0, 5 - ands r2, r0 - cmp r2, 0 - beq _08118250 - ldr r0, =gGameVersion - ldrb r0, [r0] - cmp r0, 0x2 - beq _08118250 - movs r4, 0x3 - ldr r0, =task00_battle_intro_80BC6C8 - b _08118258 - .pool -_08118250: - ldr r1, =gUnknown_08597424 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] -_08118258: - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x8] - strh r4, [r1, 0xA] - strh r0, [r1, 0xC] - strh r0, [r1, 0xE] - strh r0, [r1, 0x10] - strh r0, [r1, 0x12] - strh r0, [r1, 0x14] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end HandleIntroSlide - - thumb_func_start sub_811828C -sub_811828C: @ 811828C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - ldr r0, =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG1_Y - strh r1, [r0] - ldr r0, =gBattle_BG2_X - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r4, =0x00003f3f - movs r0, 0x48 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x4A - adds r1, r4, 0 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811828C - - thumb_func_start task_battle_intro_80BC47C -task_battle_intro_80BC47C: @ 81182EC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gBattle_BG1_X - ldrh r0, [r1] - adds r0, 0x6 - strh r0, [r1] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - mov r8, r1 - cmp r0, 0x4 - bls _08118318 - b _0811852A -_08118318: - lsls r0, 2 - ldr r1, =_08118330 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08118330: - .4byte _08118344 - .4byte _08118374 - .4byte _0811839C - .4byte _081183E4 - .4byte _08118524 -_08118344: - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08118360 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - add r0, r8 - movs r1, 0x10 - b _0811836A - .pool -_08118360: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - add r0, r8 - movs r1, 0x1 -_0811836A: - strh r1, [r0, 0xC] - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _0811852A -_08118374: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - mov r3, r8 - adds r1, r0, r3 - ldrh r0, [r1, 0xC] - subs r0, 0x1 - strh r0, [r1, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _0811838C - b _0811852A -_0811838C: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - b _0811852A -_0811839C: - ldr r1, =gBattle_WIN0V - ldrh r0, [r1] - subs r0, 0xFF - strh r0, [r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - movs r1, 0xC0 - lsls r1, 6 - cmp r0, r1 - beq _081183B4 - b _0811852A -_081183B4: - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - add r1, r8 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0xF0 - strh r0, [r1, 0xC] - movs r0, 0x20 - strh r0, [r1, 0xE] - ldr r2, =gIntroSlideFlags - ldrh r1, [r2] - ldr r0, =0x0000fffe - ands r0, r1 - strh r0, [r2] - b _0811852A - .pool -_081183E4: - lsls r0, r4, 2 - adds r1, r0, r4 - lsls r1, 3 - mov r5, r8 - adds r2, r1, r5 - ldrh r3, [r2, 0xE] - movs r5, 0xE - ldrsh r1, [r2, r5] - mov r12, r0 - cmp r1, 0 - beq _08118400 - subs r0, r3, 0x1 - strh r0, [r2, 0xE] - b _0811842E -_08118400: - movs r1, 0xA - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bne _08118420 - ldr r2, =gBattle_BG1_Y - ldrh r1, [r2] - ldr r0, =0x0000ffb0 - cmp r1, r0 - beq _0811842E - subs r0, r1, 0x2 - b _0811842C - .pool -_08118420: - ldr r2, =gBattle_BG1_Y - ldrh r1, [r2] - ldr r0, =0x0000ffc8 - cmp r1, r0 - beq _0811842E - subs r0, r1, 0x1 -_0811842C: - strh r0, [r2] -_0811842E: - ldr r2, =gBattle_WIN0V - ldrh r1, [r2] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _08118442 - ldr r3, =0xfffffc04 - adds r0, r1, r3 - strh r0, [r2] -_08118442: - mov r5, r12 - adds r0, r5, r4 - lsls r0, 3 - mov r2, r8 - adds r1, r0, r2 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _0811845A - subs r0, r2, 0x2 - strh r0, [r1, 0xC] -_0811845A: - movs r3, 0 - ldr r5, =gScanlineEffect - mov r9, r5 - ldr r7, =gScanlineEffectRegBuffers - mov r6, r9 - adds r5, r1, 0 -_08118466: - lsls r2, r3, 1 - ldrb r1, [r6, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r7 - ldrh r0, [r5, 0xC] - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x4F - ble _08118466 - cmp r3, 0x9F - bgt _081184AA - ldr r7, =gScanlineEffectRegBuffers - ldr r6, =gScanlineEffect - ldr r1, =gTasks - mov r2, r12 - adds r0, r2, r4 - lsls r0, 3 - adds r5, r0, r1 -_08118490: - lsls r2, r3, 1 - ldrb r1, [r6, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r7 - ldrh r0, [r5, 0xC] - negs r0, r0 - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x9F - ble _08118490 -_081184AA: - mov r3, r12 - adds r0, r3, r4 - lsls r0, 3 - mov r5, r8 - adds r1, r0, r5 - movs r0, 0xC - ldrsh r2, [r1, r0] - cmp r2, 0 - bne _0811852A - movs r0, 0x3 - mov r3, r9 - strb r0, [r3, 0x15] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - str r2, [sp] - ldr r1, =0x0600e000 - ldr r2, =0x05000200 - mov r0, sp - bl CpuSet - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r1, 0x9C - lsls r1, 8 - movs r0, 0xA - bl SetGpuReg - movs r1, 0xBC - lsls r1, 7 - movs r0, 0xC - bl SetGpuReg - b _0811852A - .pool -_08118524: - adds r0, r4, 0 - bl sub_811828C -_0811852A: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end task_battle_intro_80BC47C - - thumb_func_start task00_battle_intro_80BC6C8 -task00_battle_intro_80BC6C8: @ 8118538 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0xA - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x3 - beq _08118578 - cmp r0, 0x3 - bgt _08118568 - cmp r0, 0x2 - beq _0811856C - b _08118580 - .pool -_08118568: - cmp r0, 0x4 - bne _08118580 -_0811856C: - ldr r1, =gBattle_BG1_X - ldrh r0, [r1] - adds r0, 0x8 - b _0811857E - .pool -_08118578: - ldr r1, =gBattle_BG1_X - ldrh r0, [r1] - adds r0, 0x6 -_0811857E: - strh r0, [r1] -_08118580: - lsls r0, r5, 2 - adds r1, r0, r5 - lsls r1, 3 - adds r4, r1, r2 - movs r3, 0xA - ldrsh r1, [r4, r3] - adds r6, r0, 0 - cmp r1, 0x4 - bne _081185E4 - ldr r7, =gBattle_BG1_Y - ldrh r0, [r4, 0x14] - bl Cos2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _081185A6 - ldr r1, =0x000001ff - adds r0, r1 -_081185A6: - asrs r0, 9 - subs r0, 0x8 - strh r0, [r7] - ldrh r1, [r4, 0x14] - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0xB3 - bgt _081185C8 - adds r0, r1, 0x4 - b _081185CA - .pool -_081185C8: - adds r0, r1, 0x6 -_081185CA: - strh r0, [r4, 0x14] - ldr r2, =gTasks - adds r0, r6, r5 - lsls r0, 3 - adds r3, r0, r2 - movs r0, 0x14 - ldrsh r1, [r3, r0] - movs r0, 0xB4 - lsls r0, 1 - cmp r1, r0 - bne _081185E4 - movs r0, 0 - strh r0, [r3, 0x14] -_081185E4: - adds r0, r6, r5 - lsls r0, 3 - adds r0, r2 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0x4 - bls _081185F4 - b _0811881A -_081185F4: - lsls r0, 2 - ldr r1, =_08118608 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08118608: - .4byte _0811861C - .4byte _0811864C - .4byte _08118678 - .4byte _081186C8 - .4byte _08118814 -_0811861C: - ldr r1, =gTasks - adds r0, r6, r5 - lsls r0, 3 - adds r2, r0, r1 - movs r3, 0x10 - strh r3, [r2, 0x10] - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08118640 - strh r3, [r2, 0xC] - b _08118644 - .pool -_08118640: - movs r0, 0x1 - strh r0, [r2, 0xC] -_08118644: - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _0811881A -_0811864C: - ldr r0, =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xC] - subs r0, 0x1 - strh r0, [r1, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _08118662 - b _0811881A -_08118662: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - b _0811881A - .pool -_08118678: - ldr r1, =gBattle_WIN0V - ldrh r0, [r1] - subs r0, 0xFF - strh r0, [r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - movs r1, 0xC0 - lsls r1, 6 - cmp r0, r1 - beq _08118690 - b _0811881A -_08118690: - ldr r0, =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0xF0 - strh r0, [r1, 0xC] - movs r0, 0x20 - strh r0, [r1, 0xE] - movs r0, 0x1 - strh r0, [r1, 0x12] - ldr r2, =gIntroSlideFlags - ldrh r1, [r2] - ldr r0, =0x0000fffe - ands r0, r1 - strh r0, [r2] - b _0811881A - .pool -_081186C8: - ldr r0, =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0xE] - movs r3, 0xE - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08118708 - subs r0, r2, 0x1 - strh r0, [r1, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _08118728 - ldr r1, =0x00001842 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0xF - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - b _08118728 - .pool -_08118708: - ldrh r2, [r1, 0x10] - movs r0, 0x1F - ands r0, r2 - cmp r0, 0 - beq _08118728 - ldrh r0, [r1, 0x12] - subs r0, 0x1 - strh r0, [r1, 0x12] - lsls r0, 16 - cmp r0, 0 - bne _08118728 - adds r0, r2, 0 - adds r0, 0xFF - strh r0, [r1, 0x10] - movs r0, 0x4 - strh r0, [r1, 0x12] -_08118728: - ldr r2, =gBattle_WIN0V - ldrh r1, [r2] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _0811873C - ldr r3, =0xfffffc04 - adds r0, r1, r3 - strh r0, [r2] -_0811873C: - ldr r0, =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08118752 - subs r0, r2, 0x2 - strh r0, [r1, 0xC] -_08118752: - movs r3, 0 - ldr r0, =gScanlineEffect - mov r8, r0 - ldr r2, =gScanlineEffectRegBuffers - mov r12, r2 - mov r7, r8 - adds r4, r1, 0 -_08118760: - lsls r2, r3, 1 - ldrb r1, [r7, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - add r2, r12 - ldrh r0, [r4, 0xC] - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x4F - ble _08118760 - cmp r3, 0x9F - bgt _081187A4 - ldr r0, =gScanlineEffectRegBuffers - mov r12, r0 - ldr r7, =gScanlineEffect - ldr r1, =gTasks - adds r0, r6, r5 - lsls r0, 3 - adds r4, r0, r1 -_0811878A: - lsls r2, r3, 1 - ldrb r1, [r7, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - add r2, r12 - ldrh r0, [r4, 0xC] - negs r0, r0 - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x9F - ble _0811878A -_081187A4: - ldr r1, =gTasks - adds r0, r6, r5 - lsls r0, 3 - adds r1, r0, r1 - movs r3, 0xC - ldrsh r2, [r1, r3] - cmp r2, 0 - bne _0811881A - movs r0, 0x3 - mov r3, r8 - strb r0, [r3, 0x15] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - str r2, [sp] - ldr r1, =0x0600e000 - ldr r2, =0x05000200 - mov r0, sp - bl CpuSet - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r1, 0x9C - lsls r1, 8 - movs r0, 0xA - bl SetGpuReg - movs r1, 0xBC - lsls r1, 7 - movs r0, 0xC - bl SetGpuReg - b _0811881A - .pool -_08118814: - adds r0, r5, 0 - bl sub_811828C -_0811881A: - ldr r0, =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0x4 - beq _08118832 - ldrh r1, [r1, 0x10] - movs r0, 0x52 - bl SetGpuReg -_08118832: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end task00_battle_intro_80BC6C8 - - thumb_func_start task_battle_intro_anim -task_battle_intro_anim: @ 8118844 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gBattle_BG1_X - ldrh r0, [r1] - adds r0, 0x8 - strh r0, [r1] - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r4, r1, 0 - cmp r0, 0x4 - bls _0811886E - b _08118A96 -_0811886E: - lsls r0, 2 - ldr r1, =_08118884 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08118884: - .4byte _08118898 - .4byte _081188F0 - .4byte _0811891C - .4byte _0811896C - .4byte _08118A90 -_08118898: - ldr r1, =0x00001842 - movs r0, 0x50 - bl SetGpuReg - ldr r4, =0x00000808 - movs r0, 0x52 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r2, r0, r1 - strh r4, [r2, 0x10] - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - ldr r1, =0x02000002 - ands r0, r1 - cmp r0, 0 - beq _081188E4 - movs r0, 0x10 - b _081188E6 - .pool -_081188E4: - movs r0, 0x1 -_081188E6: - strh r0, [r2, 0xC] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _08118A96 -_081188F0: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xC] - subs r0, 0x1 - strh r0, [r1, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _08118908 - b _08118A96 -_08118908: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - b _08118A96 - .pool -_0811891C: - ldr r1, =gBattle_WIN0V - ldrh r0, [r1] - subs r0, 0xFF - strh r0, [r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - movs r1, 0xC0 - lsls r1, 6 - cmp r0, r1 - beq _08118934 - b _08118A96 -_08118934: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0xF0 - strh r0, [r1, 0xC] - movs r0, 0x20 - strh r0, [r1, 0xE] - movs r0, 0x1 - strh r0, [r1, 0x12] - ldr r2, =gIntroSlideFlags - ldrh r1, [r2] - ldr r0, =0x0000fffe - ands r0, r1 - strh r0, [r2] - b _08118A96 - .pool -_0811896C: - lsls r0, r5, 2 - adds r1, r0, r5 - lsls r1, 3 - adds r2, r1, r4 - ldrh r3, [r2, 0xE] - movs r6, 0xE - ldrsh r1, [r2, r6] - mov r12, r0 - cmp r1, 0 - beq _08118986 - subs r0, r3, 0x1 - strh r0, [r2, 0xE] - b _081189A6 -_08118986: - ldrh r1, [r2, 0x10] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - beq _081189A6 - ldrh r0, [r2, 0x12] - subs r0, 0x1 - strh r0, [r2, 0x12] - lsls r0, 16 - cmp r0, 0 - bne _081189A6 - adds r0, r1, 0 - adds r0, 0xFF - strh r0, [r2, 0x10] - movs r0, 0x6 - strh r0, [r2, 0x12] -_081189A6: - ldr r2, =gBattle_WIN0V - ldrh r1, [r2] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _081189BA - ldr r3, =0xfffffc04 - adds r0, r1, r3 - strh r0, [r2] -_081189BA: - mov r6, r12 - adds r0, r6, r5 - lsls r0, 3 - adds r1, r0, r4 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _081189D0 - subs r0, r2, 0x2 - strh r0, [r1, 0xC] -_081189D0: - movs r3, 0 - ldr r6, =gScanlineEffect - mov r8, r6 - ldr r7, =gScanlineEffectRegBuffers - adds r4, r1, 0 -_081189DA: - lsls r2, r3, 1 - ldrb r1, [r6, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r7 - ldrh r0, [r4, 0xC] - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x4F - ble _081189DA - cmp r3, 0x9F - bgt _08118A1E - ldr r7, =gScanlineEffectRegBuffers - ldr r6, =gScanlineEffect - ldr r1, =gTasks - mov r2, r12 - adds r0, r2, r5 - lsls r0, 3 - adds r4, r0, r1 -_08118A04: - lsls r2, r3, 1 - ldrb r1, [r6, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r7 - ldrh r0, [r4, 0xC] - negs r0, r0 - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x9F - ble _08118A04 -_08118A1E: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r1 - movs r3, 0xC - ldrsh r2, [r1, r3] - cmp r2, 0 - bne _08118A96 - movs r0, 0x3 - mov r6, r8 - strb r0, [r6, 0x15] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - str r2, [sp] - ldr r1, =0x0600e000 - ldr r2, =0x05000200 - mov r0, sp - bl CpuSet - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r1, 0x9C - lsls r1, 8 - movs r0, 0xA - bl SetGpuReg - movs r1, 0xBC - lsls r1, 7 - movs r0, 0xC - bl SetGpuReg - b _08118A96 - .pool -_08118A90: - adds r0, r5, 0 - bl sub_811828C -_08118A96: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0x4 - beq _08118AB0 - ldrh r1, [r1, 0x10] - movs r0, 0x52 - bl SetGpuReg -_08118AB0: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end task_battle_intro_anim - - thumb_func_start task00_battle_intro_wireless -task00_battle_intro_wireless: @ 8118AC0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r7, r0, r1 - movs r1, 0x8 - ldrsh r0, [r7, r1] - cmp r0, 0x1 - ble _08118B36 - movs r2, 0x10 - ldrsh r0, [r7, r2] - cmp r0, 0 - bne _08118B36 - ldr r2, =gBattle_BG1_X - ldrh r1, [r2] - movs r0, 0x80 - lsls r0, 8 - ands r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - bne _08118AFE - cmp r1, 0x4F - bhi _08118B18 -_08118AFE: - adds r0, r1, 0x3 - strh r0, [r2] - ldr r1, =gBattle_BG2_X - ldrh r0, [r1] - subs r0, 0x3 - strh r0, [r1] - b _08118B36 - .pool -_08118B18: - str r5, [sp] - ldr r1, =0x0600e000 - ldr r4, =0x05000200 - mov r0, sp - adds r2, r4, 0 - bl CpuSet - str r5, [sp, 0x4] - add r0, sp, 0x4 - ldr r1, =0x0600f000 - adds r2, r4, 0 - bl CpuSet - movs r0, 0x1 - strh r0, [r7, 0x10] -_08118B36: - ldr r0, =gTasks - lsls r2, r6, 2 - adds r1, r2, r6 - lsls r1, 3 - adds r1, r0 - movs r3, 0x8 - ldrsh r1, [r1, r3] - mov r9, r0 - adds r5, r2, 0 - cmp r1, 0x4 - bls _08118B4E - b _08118D5A -_08118B4E: - lsls r0, r1, 2 - ldr r1, =_08118B6C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08118B6C: - .4byte _08118B80 - .4byte _08118B92 - .4byte _08118C38 - .4byte _08118C7C - .4byte _08118D54 -_08118B80: - adds r0, r5, r6 - lsls r0, 3 - add r0, r9 - movs r1, 0x20 - strh r1, [r0, 0xC] - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _08118D5A -_08118B92: - adds r0, r5, r6 - lsls r0, 3 - mov r2, r9 - adds r1, r0, r2 - ldrh r0, [r1, 0xC] - subs r0, 0x1 - strh r0, [r1, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _08118BA8 - b _08118D5A -_08118BA8: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - ldr r4, =gSprites - ldr r5, =gBattleStruct - ldr r0, [r5] - adds r0, 0x7D - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r3, [r1, 0x1] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - movs r3, 0x8 - mov r9, r3 - mov r3, r9 - orrs r0, r3 - strb r0, [r1, 0x1] - ldr r3, [r5] - adds r0, r3, 0 - adds r0, 0x7D - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - movs r1, 0x1C - adds r1, r4 - mov r8, r1 - add r0, r8 - ldr r6, =sub_8038B74 - str r6, [r0] - adds r3, 0x7E - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - ands r2, r1 - mov r3, r9 - orrs r2, r3 - strb r2, [r0, 0x1] - ldr r0, [r5] - adds r0, 0x7E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - str r6, [r0] - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - ldr r1, =0x00003f06 - movs r0, 0x4A - bl SetGpuReg - b _08118D5A - .pool -_08118C38: - ldr r1, =gBattle_WIN0V - ldrh r0, [r1] - subs r0, 0xFF - strh r0, [r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - movs r1, 0xC0 - lsls r1, 6 - cmp r0, r1 - beq _08118C50 - b _08118D5A -_08118C50: - adds r1, r5, r6 - lsls r1, 3 - add r1, r9 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0xF0 - strh r0, [r1, 0xC] - movs r0, 0x20 - strh r0, [r1, 0xE] - ldr r2, =gIntroSlideFlags - ldrh r1, [r2] - ldr r0, =0x0000fffe - ands r0, r1 - strh r0, [r2] - b _08118D5A - .pool -_08118C7C: - ldr r2, =gBattle_WIN0V - ldrh r1, [r2] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _08118C90 - ldr r3, =0xfffffc04 - adds r0, r1, r3 - strh r0, [r2] -_08118C90: - adds r0, r5, r6 - lsls r0, 3 - mov r2, r9 - adds r1, r0, r2 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08118CA6 - subs r0, r2, 0x2 - strh r0, [r1, 0xC] -_08118CA6: - movs r3, 0 - ldr r0, =gScanlineEffect - mov r12, r0 - ldr r2, =gScanlineEffectRegBuffers - mov r8, r2 - mov r7, r12 - adds r4, r1, 0 -_08118CB4: - lsls r2, r3, 1 - ldrb r1, [r7, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - add r2, r8 - ldrh r0, [r4, 0xC] - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x4F - ble _08118CB4 - cmp r3, 0x9F - bgt _08118CF8 - ldr r0, =gScanlineEffectRegBuffers - mov r8, r0 - ldr r7, =gScanlineEffect - ldr r1, =gTasks - adds r0, r5, r6 - lsls r0, 3 - adds r4, r0, r1 -_08118CDE: - lsls r2, r3, 1 - ldrb r1, [r7, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - add r2, r8 - ldrh r0, [r4, 0xC] - negs r0, r0 - strh r0, [r2] - adds r3, 0x1 - cmp r3, 0x9F - ble _08118CDE -_08118CF8: - adds r0, r5, r6 - lsls r0, 3 - mov r2, r9 - adds r1, r0, r2 - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _08118D5A - movs r0, 0x3 - mov r2, r12 - strb r0, [r2, 0x15] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r1, 0x9C - lsls r1, 8 - movs r0, 0xA - bl SetGpuReg - movs r1, 0xBC - lsls r1, 7 - movs r0, 0xC - bl SetGpuReg - b _08118D5A - .pool -_08118D54: - adds r0, r6, 0 - bl sub_811828C -_08118D5A: - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end task00_battle_intro_wireless - - thumb_func_start sub_8118D68 -sub_8118D68: @ 8118D68 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r6, r1, 0 - cmp r0, 0x5 - bls _08118D86 - b _08118FB2 -_08118D86: - lsls r0, 2 - ldr r1, =_08118D98 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08118D98: - .4byte _08118DB0 - .4byte _08118DBE - .4byte _08118E4C - .4byte _08118EA8 - .4byte _08118F00 - .4byte _08118FAC -_08118DB0: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r6 - movs r1, 0x1 - strh r1, [r0, 0xC] - b _08118F84 -_08118DBE: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r6 - ldrh r0, [r1, 0xC] - subs r0, 0x1 - strh r0, [r1, 0xC] - lsls r0, 16 - cmp r0, 0 - beq _08118DD4 - b _08118FB2 -_08118DD4: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - ldr r1, =0x00005c0a - movs r0, 0xA - bl SetGpuReg - ldr r1, =0x00005e0a - movs r0, 0xC - bl SetGpuReg - movs r0, 0 - bl GetGpuReg - adds r1, r0, 0 - ldr r2, =0x0000f040 - adds r0, r2, 0 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - bl SetGpuReg - movs r1, 0xF8 - lsls r1, 6 - movs r0, 0x48 - bl SetGpuReg - ldr r1, =0x00003f3f - movs r0, 0x4A - bl SetGpuReg - ldr r1, =gBattle_BG0_Y - ldr r2, =0x0000ffd0 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, =gBattle_BG1_X - movs r0, 0xF0 - strh r0, [r1] - ldr r1, =gBattle_BG2_X - subs r2, 0xC0 - adds r0, r2, 0 - strh r0, [r1] - b _08118FB2 - .pool -_08118E4C: - ldr r2, =gBattle_WIN0V - ldrh r3, [r2] - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - adds r1, r3, r0 - strh r1, [r2] - movs r5, 0xFF - lsls r5, 8 - ands r1, r5 - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - beq _08118E6E - adds r0, r3, 0 - adds r0, 0xFF - strh r0, [r2] -_08118E6E: - ldrh r0, [r2] - adds r1, r5, 0 - ands r1, r0 - movs r0, 0x80 - lsls r0, 6 - cmp r1, r0 - beq _08118E7E - b _08118FB2 -_08118E7E: - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r6 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0xF0 - strh r0, [r1, 0xC] - ldr r2, =gIntroSlideFlags - ldrh r1, [r2] - ldr r0, =0x0000fffe - ands r0, r1 - strh r0, [r2] - b _08118FB2 - .pool -_08118EA8: - ldr r3, =gBattle_WIN0V - ldrh r2, [r3] - movs r0, 0xFF - lsls r0, 8 - ands r0, r2 - movs r1, 0x98 - lsls r1, 7 - cmp r0, r1 - beq _08118EC2 - movs r1, 0xFF - lsls r1, 2 - adds r0, r2, r1 - strh r0, [r3] -_08118EC2: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r3, r0, r6 - ldrh r1, [r3, 0xC] - movs r2, 0xC - ldrsh r0, [r3, r2] - cmp r0, 0 - beq _08118ED8 - subs r0, r1, 0x2 - strh r0, [r3, 0xC] -_08118ED8: - ldr r1, =gBattle_BG1_X - ldrh r0, [r3, 0xC] - strh r0, [r1] - ldr r2, =gBattle_BG2_X - negs r1, r0 - strh r1, [r2] - lsls r0, 16 - cmp r0, 0 - bne _08118FB2 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] - b _08118FB2 - .pool -_08118F00: - ldr r1, =gBattle_BG0_Y - ldrh r0, [r1] - adds r3, r0, 0x2 - strh r3, [r1] - ldr r1, =gBattle_BG2_Y - ldrh r0, [r1] - adds r0, 0x2 - strh r0, [r1] - ldr r5, =gBattle_WIN0V - ldrh r2, [r5] - movs r0, 0xFF - lsls r0, 8 - ands r0, r2 - movs r1, 0xA0 - lsls r1, 7 - cmp r0, r1 - beq _08118F28 - adds r0, r2, 0 - adds r0, 0xFF - strh r0, [r5] -_08118F28: - lsls r0, r3, 16 - lsrs r0, 16 - cmp r0, 0 - bne _08118FB2 - str r0, [sp] - ldr r1, =0x0600e000 - ldr r2, =0x05000800 - mov r0, sp - bl CpuSet - movs r0, 0 - bl GetGpuReg - ldr r1, =0x0000bfff - ands r1, r0 - movs r0, 0 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r1, 0x9C - lsls r1, 8 - movs r0, 0xA - bl SetGpuReg - movs r1, 0xBC - lsls r1, 7 - movs r0, 0xC - bl SetGpuReg - ldr r1, =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 -_08118F84: - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _08118FB2 - .pool -_08118FAC: - adds r0, r4, 0 - bl sub_811828C -_08118FB2: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8118D68 - - thumb_func_start sub_8118FBC -sub_8118FBC: @ 8118FBC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - str r0, [sp] - adds r6, r2, 0 - adds r4, r3, 0 - ldr r0, [sp, 0x24] - ldr r7, [sp, 0x28] - ldr r2, [sp, 0x2C] - mov r9, r2 - ldr r5, [sp, 0x30] - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r6, 24 - lsrs r6, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gMonSpritesGfxPtr - ldr r2, [r1] - lsls r4, 2 - adds r2, 0x4 - adds r2, r4 - ldr r1, =gBattleMonForms - adds r0, r1 - ldrb r1, [r0] - lsls r1, 11 - ldr r0, [r2] - adds r0, r1 - movs r2, 0x80 - lsls r2, 3 - adds r1, r7, 0 - bl CpuSet - ldr r1, [sp] - lsls r0, r1, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 5 - adds r1, r7, 0 - adds r3, r5, 0 - bl LoadBgTiles - adds r0, r6, 0 - adds r0, 0x8 - cmp r6, r0 - bge _08119068 - mov r12, r0 - mov r2, r8 - lsls r7, r2, 1 -_0811903A: - mov r1, r8 - adds r2, r1, 0 - adds r2, 0x8 - adds r4, r6, 0x1 - cmp r1, r2 - bge _08119062 - mov r0, r10 - lsls r3, r0, 12 - lsls r0, r6, 6 - add r0, r9 - adds r6, r7, r0 - subs r1, r2, r1 -_08119052: - adds r0, r5, 0 - orrs r0, r3 - strh r0, [r6] - adds r5, 0x1 - adds r6, 0x2 - subs r1, 0x1 - cmp r1, 0 - bne _08119052 -_08119062: - adds r6, r4, 0 - cmp r6, r12 - blt _0811903A -_08119068: - ldr r1, [sp] - lsls r0, r1, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 4 - mov r1, r9 - movs r3, 0 - bl LoadBgTilemap - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8118FBC - - thumb_func_start sub_8119094 -sub_8119094: @ 8119094 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, [sp, 0x24] - ldr r5, [sp, 0x28] - mov r8, r5 - ldr r5, [sp, 0x2C] - ldr r6, [sp, 0x30] - mov r9, r6 - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - lsls r1, 24 - lsls r2, 24 - lsls r3, 24 - lsls r4, 24 - lsrs r4, 24 - mov r10, r4 - mov r7, r8 - lsls r7, 16 - lsrs r6, r7, 16 - lsls r5, 24 - lsrs r5, 24 - mov r0, r9 - lsls r0, 24 - mov r9, r0 - ldr r4, =0x040000d4 - ldr r0, =gMonSpritesGfxPtr - ldr r0, [r0] - lsrs r2, 22 - adds r0, 0x4 - adds r0, r2 - lsrs r3, 13 - ldr r0, [r0] - adds r0, r3 - str r0, [r4] - movs r0, 0xC0 - lsls r0, 19 - adds r6, r0 - str r6, [r4, 0x4] - ldr r0, =0x80000400 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - adds r2, r7, 0 - lsrs r2, 21 - mov r6, r9 - lsrs r6, 15 - subs r4, r2, r6 - lsrs r0, r1, 24 - adds r1, r0, 0 - adds r1, 0x8 - cmp r0, r1 - bge _08119148 - mov r9, r1 - mov r7, r12 - lsls r7, 1 - mov r8, r7 - lsls r5, 11 - str r5, [sp] -_08119110: - mov r2, r12 - adds r3, r2, 0 - adds r3, 0x8 - adds r5, r0, 0x1 - cmp r2, r3 - bge _08119142 - mov r1, r10 - lsls r6, r1, 12 - lsls r0, 6 - movs r7, 0xC0 - lsls r7, 19 - adds r0, r7 - ldr r1, [sp] - adds r0, r1, r0 - mov r7, r8 - adds r1, r7, r0 - subs r2, r3, r2 -_08119132: - adds r0, r4, 0 - orrs r0, r6 - strh r0, [r1] - adds r4, 0x1 - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bne _08119132 -_08119142: - adds r0, r5, 0 - cmp r0, r9 - blt _08119110 -_08119148: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119094 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/cable_car.s b/asm/cable_car.s deleted file mode 100644 index 276b878e2..000000000 --- a/asm/cable_car.s +++ /dev/null @@ -1,2882 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_814FC70 -sub_814FC70: @ 814FC70 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0814FC8E - ldr r0, =sub_814FCC8 - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_0814FC8E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814FC70 - - thumb_func_start sub_814FC9C -sub_814FC9C: @ 814FC9C - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, =sub_814FC70 - movs r1, 0x1 - bl CreateTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_814FC9C - - thumb_func_start sub_814FCC8 -sub_814FCC8: @ 814FCC8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - movs r4, 0 - str r4, [sp, 0x14] - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r6, r1, 0 - cmp r0, 0x9 - bhi _0814FD20 - lsls r0, 2 - ldr r1, =_0814FCF8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0814FCF8: - .4byte _0814FD20 - .4byte _0814FDD8 - .4byte _0814FE90 - .4byte _0814FF50 - .4byte _0814FF7C - .4byte _0814FF98 - .4byte _0814FFF8 - .4byte _08150090 - .4byte _08150190 - .4byte _081501C8 -_0814FD20: - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl sub_8150B6C - bl ScanlineEffect_Stop - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r0, sp, 0x10 - mov r9, r0 - add r2, sp, 0xC - movs r6, 0 - ldr r1, =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r8, r0 -_0814FD4E: - strh r6, [r2] - add r0, sp, 0xC - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _0814FD4E - strh r6, [r2] - add r2, sp, 0xC - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r3, r8 - orrs r0, r3 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0x10] - ldr r2, =0x040000d4 - mov r1, r9 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - add r0, sp, 0xC - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - ldr r4, =gUnknown_0203ABAC - ldr r0, =0x00004110 - bl AllocZeroed - str r0, [r4] - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - b _08150224 - .pool -_0814FDD8: - bl ResetSpriteData - bl ResetTasks - bl FreeAllSpritePalettes - bl ResetPaletteFade - bl reset_temp_tile_data_buffers - bl sub_80AAFA4 - movs r4, 0 - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xF0 - movs r2, 0 -_0814FDFC: - lsls r0, r4, 2 - adds r0, r1, r0 - str r2, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x13 - bls _0814FDFC - bl InitMapMusic - bl ResetMapMusic - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085CD66C - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r4, =gUnknown_0203ABAC - ldr r1, [r4] - adds r1, 0xFC - movs r0, 0 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r3, =0x000010fc - adds r1, r3 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x000020fc - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r2, =0x000030fc - adds r1, r2 - movs r0, 0x3 - bl SetBgTilemapBuffer - ldr r2, =gSpriteCoordOffsetX - ldr r1, =gSpriteCoordOffsetY - movs r0, 0 - strh r0, [r1] - strh r0, [r2] - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - b _08150224 - .pool -_0814FE90: - movs r4, 0 - add r5, sp, 0x14 - ldr r6, =gUnknown_085CDB54 -_0814FE96: - lsls r0, r4, 3 - adds r0, r6 - bl LoadCompressedObjectPic - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0814FE96 - ldr r0, =gUnknown_085CDB74 - bl LoadSpritePalettes - ldr r0, =gCableCarMtChimneyTilemap - adds r1, r5, 0 - bl malloc_and_decompress - ldr r4, =gUnknown_0203ABAC - ldr r1, [r4] - ldr r2, =0x000040fc - adds r1, r2 - str r0, [r1] - ldr r0, =gCableCarTreeTilemap - adds r1, r5, 0 - bl malloc_and_decompress - ldr r1, [r4] - movs r3, 0x82 - lsls r3, 7 - adds r1, r3 - str r0, [r1] - ldr r0, =gCableCarMountainTilemap - adds r1, r5, 0 - bl malloc_and_decompress - ldr r1, [r4] - ldr r2, =0x00004104 - adds r1, r2 - str r0, [r1] - ldr r0, =gCableCarPylonStemTilemap - adds r1, r5, 0 - bl malloc_and_decompress - ldr r1, [r4] - ldr r3, =0x0000410c - adds r2, r1, r3 - str r0, [r2] - ldr r0, =0x00004108 - adds r1, r0 - ldr r0, =gCableCarPylonHookTilemapEntries - str r0, [r1] - ldr r1, =gUnknown_08DBA5B8 - movs r0, 0 - str r0, [sp] - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - b _08150224 - .pool -_0814FF50: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _0814FF5C - b _08150226 -_0814FF5C: - ldr r0, =gUnknown_08DBA518 - movs r1, 0 - movs r2, 0x80 - bl LoadPalette - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - b _08150224 - .pool -_0814FF7C: - bl sub_8150D28 - bl RunTasks - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - b _08150224 - .pool -_0814FF98: - ldr r0, =gUnknown_0203ABAC - ldr r0, [r0] - ldrb r0, [r0, 0x2] - cmp r0, 0x7 - bne _0814FFB4 - movs r2, 0x87 - lsls r2, 3 - adds r1, r6, r2 - ldrb r0, [r1] - adds r0, 0x1 - b _08150224 - .pool -_0814FFB4: - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xF0 - ldr r0, [r1] - cmp r0, 0 - bne _0814FFC4 - b _08150226 -_0814FFC4: - movs r4, 0 - adds r3, r1, 0 - movs r5, 0xD - negs r5, r5 -_0814FFCC: - lsls r0, r4, 2 - adds r0, r3, r0 - ldr r2, [r0] - cmp r2, 0 - beq _0814FFDE - ldrb r1, [r2, 0x5] - adds r0, r5, 0 - ands r0, r1 - strb r0, [r2, 0x5] -_0814FFDE: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x13 - bls _0814FFCC - movs r3, 0x87 - lsls r3, 3 - adds r1, r6, r3 - ldrb r0, [r1] - adds r0, 0x1 - b _08150224 - .pool -_0814FFF8: - ldr r6, =gUnknown_0203ABAC - ldr r0, [r6] - movs r1, 0x82 - lsls r1, 7 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x20 - str r0, [sp] - movs r0, 0xF - str r0, [sp, 0x4] - movs r5, 0x11 - str r5, [sp, 0x8] - movs r0, 0x1 - movs r2, 0 - movs r3, 0x11 - bl CopyToBgTilemapBufferRect_ChangePalette - ldr r0, [r6] - ldr r2, =0x00004104 - adds r0, r2 - ldr r1, [r0] - movs r0, 0x1E - str r0, [sp] - movs r3, 0x14 - mov r8, r3 - str r3, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - ldr r0, [r6] - ldr r1, =0x00004108 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x5 - str r0, [sp] - movs r4, 0x2 - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - ldr r0, [r6] - ldr r2, =0x0000410c - adds r0, r2 - ldr r1, [r0] - str r4, [sp] - mov r3, r8 - str r3, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x3 - movs r2, 0 - movs r3, 0x2 - bl CopyToBgTilemapBufferRect_ChangePalette - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - b _08150224 - .pool -_08150090: - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - bl sub_81514C8 - ldr r1, =gUnknown_0203ABAC - mov r9, r1 - ldr r0, [r1] - ldr r2, =0x000040fc - mov r8, r2 - add r0, r8 - ldr r1, [r0] - adds r1, 0x90 - movs r6, 0xC - str r6, [sp] - movs r5, 0x3 - str r5, [sp, 0x4] - movs r4, 0x11 - str r4, [sp, 0x8] - movs r0, 0 - movs r2, 0 - movs r3, 0xE - bl CopyToBgTilemapBufferRect_ChangePalette - mov r3, r9 - ldr r0, [r3] - add r0, r8 - ldr r1, [r0] - adds r1, 0xD8 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r2, 0xC - movs r3, 0x11 - bl CopyToBgTilemapBufferRect_ChangePalette - mov r1, r9 - ldr r0, [r1] - add r0, r8 - ldr r1, [r0] - movs r2, 0x90 - lsls r2, 1 - adds r1, r2 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r2, 0x18 - movs r3, 0x14 - bl CopyToBgTilemapBufferRect_ChangePalette - mov r3, r9 - ldr r0, [r3] - add r0, r8 - ldr r1, [r0] - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r2, 0 - movs r3, 0x11 - bl CopyToBgTilemapBufferRect_ChangePalette - mov r1, r9 - ldr r0, [r1] - add r0, r8 - ldr r1, [r0] - adds r1, 0x48 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r2, 0 - movs r3, 0x14 - bl CopyToBgTilemapBufferRect_ChangePalette - mov r2, r9 - ldr r0, [r2] - add r0, r8 - ldr r1, [r0] - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r2, 0xC - movs r3, 0x14 - bl CopyToBgTilemapBufferRect_ChangePalette - mov r3, r9 - ldr r0, [r3] - add r0, r8 - ldr r1, [r0] - adds r1, 0x48 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r2, 0xC - movs r3, 0x17 - bl CopyToBgTilemapBufferRect_ChangePalette - mov r1, r9 - ldr r0, [r1] - add r0, r8 - ldr r1, [r0] - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r2, 0x18 - movs r3, 0x17 - bl CopyToBgTilemapBufferRect_ChangePalette - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - b _08150224 - .pool -_08150190: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r1, 0x3 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =0x000001a9 - movs r1, 0x1 - bl FadeInNewBGM - movs r0, 0x1 - bl sub_8150B6C - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - b _08150224 - .pool -_081501C8: - ldr r3, =0x04000208 - ldrh r2, [r3] - movs r0, 0 - strh r0, [r3] - ldr r4, =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r0, =sub_8150800 - bl SetVBlankCallback - ldr r0, =mainloop - bl SetMainCallback2 - ldr r0, =sub_81503E4 - movs r1, 0 - bl CreateTask - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08150218 - ldr r0, =sub_8150550 - b _0815021A - .pool -_08150218: - ldr r0, =sub_8150664 -_0815021A: - movs r1, 0x1 - bl CreateTask - ldr r1, =gUnknown_0203ABAC - ldr r1, [r1] -_08150224: - strb r0, [r1] -_08150226: - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814FCC8 - - thumb_func_start mainloop -mainloop: @ 815023C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - bl MapMusicMain - pop {r0} - bx r0 - thumb_func_end mainloop - - thumb_func_start c2_8011A1C -c2_8011A1C: @ 8150258 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r4, 0 - movs r0, 0 - bl HideBg - movs r0, 0x1 - bl HideBg - movs r0, 0x2 - bl HideBg - movs r0, 0x3 - bl HideBg - movs r0, 0 - bl sub_8150B6C - ldr r0, =gSpriteCoordOffsetX - strh r4, [r0] - movs r0, 0 - bl sub_80AB130 - add r0, sp, 0x4 - mov r8, r0 - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xF0 - movs r2, 0 -_08150298: - lsls r0, r4, 2 - adds r0, r1, r0 - str r2, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x13 - bls _08150298 - bl ResetTasks - bl ResetSpriteData - bl ResetPaletteFade - movs r0, 0 - bl UnsetBgTilemapBuffer - movs r0, 0x1 - bl UnsetBgTilemapBuffer - movs r0, 0x2 - bl UnsetBgTilemapBuffer - movs r0, 0x3 - bl UnsetBgTilemapBuffer - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r6, =gUnknown_0203ABAC - ldr r0, [r6] - ldr r2, =0x00004108 - adds r1, r0, r2 - movs r5, 0 - str r5, [r1] - ldr r4, =0x0000410c - adds r0, r4 - ldr r0, [r0] - bl Free - ldr r0, [r6] - adds r4, r0, r4 - str r5, [r4] - ldr r4, =0x00004104 - adds r0, r4 - ldr r0, [r0] - bl Free - ldr r0, [r6] - adds r4, r0, r4 - str r5, [r4] - movs r4, 0x82 - lsls r4, 7 - adds r0, r4 - ldr r0, [r0] - bl Free - ldr r0, [r6] - adds r4, r0, r4 - str r5, [r4] - ldr r4, =0x000040fc - adds r0, r4 - ldr r0, [r0] - bl Free - ldr r0, [r6] - adds r4, r0, r4 - str r5, [r4] - bl Free - str r5, [r6] - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0xC0 - lsls r3, 9 - mov r4, sp - movs r6, 0 - ldr r1, =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_08150340: - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r5 - subs r3, r5 - cmp r3, r5 - bhi _08150340 - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0x4] - ldr r2, =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - mov r0, sp - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - bl WarpIntoMap - ldr r0, =gFieldCallback - str r4, [r0] - ldr r0, =CB2_LoadMap - bl SetMainCallback2 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end c2_8011A1C - - thumb_func_start sub_81503E4 -sub_81503E4: @ 81503E4 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - ldr r5, =gUnknown_0203ABAC - ldr r3, [r5] - ldrh r0, [r3, 0x6] - adds r0, 0x1 - strh r0, [r3, 0x6] - ldrb r2, [r3, 0x1] - adds r7, r5, 0 - cmp r2, 0x2 - beq _081504EA - cmp r2, 0x2 - bgt _08150414 - cmp r2, 0 - beq _08150422 - cmp r2, 0x1 - beq _0815043C - b _08150542 - .pool -_08150414: - cmp r2, 0x3 - bne _0815041A - b _08150510 -_0815041A: - cmp r2, 0xFF - bne _08150420 - b _08150528 -_08150420: - b _08150542 -_08150422: - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r3, 0x4] - cmp r0, r1 - beq _0815042E - b _08150542 -_0815042E: - ldrb r0, [r3, 0x2] - bl weather_set - ldr r1, [r5] - movs r0, 0x1 - strb r0, [r1, 0x1] - b _08150542 -_0815043C: - ldrb r0, [r3, 0x2] - cmp r0, 0x2 - beq _08150490 - cmp r0, 0x7 - beq _08150448 - b _08150542 -_08150448: - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - adds r2, r0, 0 - adds r2, 0xF0 - ldr r0, [r2] - cmp r0, 0 - beq _08150542 - ldrb r1, [r0, 0x5] - movs r0, 0xC - ands r0, r1 - cmp r0, 0 - beq _08150542 - adds r3, r2, 0 - movs r5, 0xD - negs r5, r5 -_08150466: - lsls r0, r4, 2 - adds r0, r3, r0 - ldr r2, [r0] - cmp r2, 0 - beq _08150478 - ldrb r1, [r2, 0x5] - adds r0, r5, 0 - ands r0, r1 - strb r0, [r2, 0x5] -_08150478: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x13 - bls _08150466 - ldr r1, [r7] - movs r0, 0x2 - strb r0, [r1, 0x1] - b _08150542 - .pool -_08150490: - ldr r0, =gUnknown_0854C14C - ldr r2, [r0] - movs r1, 0xDA - lsls r1, 3 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x2 - bne _081504A8 - strb r0, [r3, 0x1] - b _08150542 - .pool -_081504A8: - ldrh r1, [r3, 0x6] - ldrh r0, [r3, 0x4] - adds r0, 0x8 - cmp r1, r0 - blt _08150542 - adds r6, r2, 0 - adds r6, 0xF0 - movs r5, 0x1 - movs r7, 0x5 - negs r7, r7 -_081504BC: - lsls r0, r4, 2 - adds r0, r6, r0 - ldr r0, [r0] - cmp r0, 0 - beq _081504DE - adds r3, r0, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r1, r2, 29 - lsrs r1, 31 - eors r1, r5 - ands r1, r5 - lsls r1, 2 - adds r0, r7, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_081504DE: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x13 - bls _081504BC - b _08150542 -_081504EA: - lsls r1, r0, 16 - ldr r0, =0x023a0000 - cmp r1, r0 - bne _08150542 - movs r0, 0x3 - strb r0, [r3, 0x1] - subs r0, 0x4 - str r4, [sp] - movs r1, 0x3 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x4 - bl FadeOutBGM - b _08150542 - .pool -_08150510: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08150542 - movs r0, 0xFF - strb r0, [r3, 0x1] - b _08150542 - .pool -_08150528: - movs r0, 0 - bl SetVBlankCallback - adds r0, r6, 0 - bl DestroyTask - ldr r0, [r5] - ldrb r0, [r0] - bl DestroyTask - ldr r0, =c2_8011A1C - bl SetMainCallback2 -_08150542: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81503E4 - - thumb_func_start sub_8150550 -sub_8150550: @ 8150550 - push {r4-r6,lr} - sub sp, 0xC - ldr r6, =gUnknown_0203ABAC - ldr r1, [r6] - ldrb r0, [r1, 0x1] - cmp r0, 0xFF - beq _08150630 - ldrb r0, [r1, 0x14] - subs r0, 0x1 - strb r0, [r1, 0x14] - ldr r1, [r6] - ldrh r0, [r1, 0x6] - movs r3, 0x1 - ands r0, r3 - cmp r0, 0 - bne _08150576 - ldrb r0, [r1, 0x15] - subs r0, 0x1 - strb r0, [r1, 0x15] -_08150576: - ldr r2, [r6] - ldrh r0, [r2, 0x6] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - bne _08150590 - ldrb r0, [r2, 0xC] - subs r0, 0x1 - strb r0, [r2, 0xC] - ldr r1, [r6] - ldrb r0, [r1, 0xD] - subs r0, 0x1 - strb r0, [r1, 0xD] -_08150590: - ldr r0, [r6] - ldrb r1, [r0, 0x14] - cmp r1, 0x20 - beq _081505DC - cmp r1, 0x20 - bgt _081505A8 - cmp r1, 0x10 - beq _081505F4 - b _08150630 - .pool -_081505A8: - cmp r1, 0x28 - beq _081505CA - cmp r1, 0xAF - bne _08150630 - movs r0, 0x2 - str r0, [sp] - movs r0, 0xA - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0x16 - bl FillBgTilemapBufferRect - b _08150630 -_081505CA: - movs r0, 0x2 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0 - movs r2, 0x3 - b _081505EC -_081505DC: - str r3, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0 - movs r2, 0x2 -_081505EC: - movs r3, 0 - bl FillBgTilemapBufferRect - b _08150630 -_081505F4: - ldr r1, =0x00004108 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x5 - str r0, [sp] - movs r4, 0x2 - str r4, [sp, 0x4] - movs r5, 0x11 - str r5, [sp, 0x8] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - ldr r0, [r6] - ldr r1, =0x0000410c - adds r0, r1 - ldr r1, [r0] - str r4, [sp] - movs r0, 0x1E - str r0, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x3 - movs r2, 0 - movs r3, 0x2 - bl CopyToBgTilemapBufferRect_ChangePalette - ldr r1, [r6] - movs r0, 0x40 - strb r0, [r1, 0x15] -_08150630: - bl sub_815115C - ldr r3, =gSpriteCoordOffsetX - movs r0, 0 - ldrsh r2, [r3, r0] - adds r1, r2, 0x1 - adds r0, r1, 0 - cmp r1, 0 - bge _08150646 - adds r0, r2, 0 - adds r0, 0x80 -_08150646: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - strh r0, [r3] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8150550 - - thumb_func_start sub_8150664 -sub_8150664: @ 8150664 - push {r4-r7,lr} - sub sp, 0xC - ldr r7, =gUnknown_0203ABAC - ldr r1, [r7] - ldrb r0, [r1, 0x1] - cmp r0, 0xFF - bne _08150674 - b _081507B6 -_08150674: - ldrb r0, [r1, 0x14] - adds r0, 0x1 - strb r0, [r1, 0x14] - ldr r1, [r7] - ldrh r0, [r1, 0x6] - movs r6, 0x1 - ands r0, r6 - cmp r0, 0 - bne _0815068C - ldrb r0, [r1, 0x15] - adds r0, 0x1 - strb r0, [r1, 0x15] -_0815068C: - ldr r2, [r7] - ldrh r0, [r2, 0x6] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - bne _081506A6 - ldrb r0, [r2, 0xC] - adds r0, 0x1 - strb r0, [r2, 0xC] - ldr r1, [r7] - ldrb r0, [r1, 0xD] - adds r0, 0x1 - strb r0, [r1, 0xD] -_081506A6: - ldr r0, [r7] - ldrb r1, [r0, 0x14] - cmp r1, 0x20 - beq _0815071A - cmp r1, 0x20 - bgt _081506BC - cmp r1, 0x10 - beq _081506E8 - b _081507B6 - .pool -_081506BC: - cmp r1, 0x28 - beq _08150784 - cmp r1, 0xB0 - bne _081507B6 - ldr r1, =0x0000410c - adds r0, r1 - ldr r1, [r0] - movs r0, 0x2 - str r0, [sp] - movs r0, 0x1E - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x3 - movs r2, 0 - movs r3, 0x2 - bl CopyToBgTilemapBufferRect_ChangePalette - b _081507B6 - .pool -_081506E8: - movs r0, 0x3 - str r0, [sp] - movs r4, 0x2 - str r4, [sp, 0x4] - movs r5, 0x11 - str r5, [sp, 0x8] - movs r1, 0 - movs r2, 0x2 - movs r3, 0 - bl FillBgTilemapBufferRect - str r4, [sp] - movs r0, 0xA - str r0, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0x16 - bl FillBgTilemapBufferRect - ldr r1, [r7] - movs r0, 0xC0 - strb r0, [r1, 0x15] - b _081507B6 -_0815071A: - ldr r5, =0x00004108 - adds r0, r5 - ldr r0, [r0] - ldrh r1, [r0, 0x4] - str r6, [sp] - str r6, [sp, 0x4] - movs r4, 0x11 - str r4, [sp, 0x8] - movs r0, 0x3 - movs r2, 0x2 - movs r3, 0 - bl FillBgTilemapBufferRect - ldr r0, [r7] - adds r0, r5 - ldr r0, [r0] - ldrh r1, [r0, 0x6] - str r6, [sp] - str r6, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x3 - movs r2, 0x3 - movs r3, 0 - bl FillBgTilemapBufferRect - ldr r0, [r7] - adds r0, r5 - ldr r0, [r0] - ldrh r1, [r0, 0xE] - str r6, [sp] - str r6, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x3 - movs r2, 0x2 - movs r3, 0x1 - bl FillBgTilemapBufferRect - ldr r0, [r7] - adds r0, r5 - ldr r0, [r0] - ldrh r1, [r0, 0x10] - str r6, [sp] - str r6, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x3 - movs r2, 0x3 - movs r3, 0x1 - bl FillBgTilemapBufferRect - b _081507B6 - .pool -_08150784: - ldr r5, =0x00004108 - adds r0, r5 - ldr r0, [r0] - ldrh r1, [r0, 0x8] - str r6, [sp] - str r6, [sp, 0x4] - movs r4, 0x11 - str r4, [sp, 0x8] - movs r0, 0x3 - movs r2, 0x4 - movs r3, 0 - bl FillBgTilemapBufferRect - ldr r0, [r7] - adds r0, r5 - ldr r0, [r0] - ldrh r1, [r0, 0x12] - str r6, [sp] - str r6, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x3 - movs r2, 0x4 - movs r3, 0x1 - bl FillBgTilemapBufferRect -_081507B6: - bl sub_81511B8 - ldr r0, =gUnknown_0203ABAC - ldr r1, [r0] - ldrh r0, [r1, 0x6] - ldrh r1, [r1, 0x4] - cmp r0, r1 - bcs _081507DC - ldr r4, =gSpriteCoordOffsetX - movs r1, 0 - ldrsh r0, [r4, r1] - b _081507E6 - .pool -_081507DC: - ldr r0, =gUnknown_0854C14C - ldr r4, [r0] - ldr r0, =0x000006fc - adds r4, r0 - ldrh r0, [r4] -_081507E6: - adds r0, 0xF7 - movs r1, 0xF8 - bl __modsi3 - strh r0, [r4] - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8150664 - - thumb_func_start sub_8150800 -sub_8150800: @ 8150800 - push {r4,lr} - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - ldr r4, =gUnknown_0203ABAC - ldr r0, [r4] - ldrb r1, [r0, 0x14] - movs r0, 0x1C - bl SetGpuReg - ldr r0, [r4] - ldrb r1, [r0, 0x15] - movs r0, 0x1E - bl SetGpuReg - ldr r0, [r4] - ldrb r1, [r0, 0xC] - movs r0, 0x14 - bl SetGpuReg - ldr r0, [r4] - ldrb r1, [r0, 0xD] - movs r0, 0x16 - bl SetGpuReg - ldr r0, [r4] - ldrb r1, [r0, 0x8] - movs r0, 0x10 - bl SetGpuReg - ldr r0, [r4] - ldrb r1, [r0, 0x9] - movs r0, 0x12 - bl SetGpuReg - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8150800 - - thumb_func_start nullsub_58 -nullsub_58: @ 8150864 - bx lr - thumb_func_end nullsub_58 - - thumb_func_start sub_8150868 -sub_8150868: @ 8150868 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, =gUnknown_0203ABAC - ldr r6, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0xFF - beq _08150934 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _081508E4 - movs r0, 0x6 - ldrsh r4, [r6, r0] - adds r0, r4, 0 - bl __floatsisf - cmp r4, 0 - bge _08150892 - ldr r1, =0x47800000 - bl __addsf3 -_08150892: - ldr r1, =0x3e0f5c29 - bl __mulsf3 - bl __fixunssfsi - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x2E] - subs r1, r0 - strh r1, [r5, 0x20] - movs r1, 0x6 - ldrsh r4, [r6, r1] - adds r0, r4, 0 - bl __floatsisf - cmp r4, 0 - bge _081508BA - ldr r1, =0x47800000 - bl __addsf3 -_081508BA: - ldr r1, =0x3d89374c - bl __mulsf3 - bl __fixunssfsi - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x30] - subs r1, r0 - strh r1, [r5, 0x22] - b _08150934 - .pool -_081508E4: - movs r0, 0x6 - ldrsh r4, [r6, r0] - adds r0, r4, 0 - bl __floatsisf - cmp r4, 0 - bge _081508F8 - ldr r1, =0x47800000 - bl __addsf3 -_081508F8: - ldr r1, =0x3e0f5c29 - bl __mulsf3 - bl __fixunssfsi - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x2E] - adds r0, r1 - strh r0, [r5, 0x20] - movs r0, 0x6 - ldrsh r4, [r6, r0] - adds r0, r4, 0 - bl __floatsisf - cmp r4, 0 - bge _08150920 - ldr r1, =0x47800000 - bl __addsf3 -_08150920: - ldr r1, =0x3d89374c - bl __mulsf3 - bl __fixunssfsi - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x30] - adds r0, r1 - strh r0, [r5, 0x22] -_08150934: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8150868 - - thumb_func_start sub_8150948 -sub_8150948: @ 8150948 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, =gUnknown_0203ABAC - ldr r6, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0xFF - bne _08150958 - b _08150A60 -_08150958: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _081509C8 - movs r0, 0x6 - ldrsh r4, [r6, r0] - adds r0, r4, 0 - bl __floatsisf - cmp r4, 0 - bge _08150974 - ldr r1, =0x47800000 - bl __addsf3 -_08150974: - ldr r1, =0x3e0f5c29 - bl __mulsf3 - bl __fixunssfsi - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x2E] - subs r1, r0 - strh r1, [r5, 0x20] - movs r1, 0x6 - ldrsh r4, [r6, r1] - adds r0, r4, 0 - bl __floatsisf - cmp r4, 0 - bge _0815099C - ldr r1, =0x47800000 - bl __addsf3 -_0815099C: - ldr r1, =0x3d89374c - bl __mulsf3 - bl __fixunssfsi - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x30] - subs r1, r0 - strh r1, [r5, 0x22] - b _08150A18 - .pool -_081509C8: - movs r0, 0x6 - ldrsh r4, [r6, r0] - adds r0, r4, 0 - bl __floatsisf - cmp r4, 0 - bge _081509DC - ldr r1, =0x47800000 - bl __addsf3 -_081509DC: - ldr r1, =0x3e0f5c29 - bl __mulsf3 - bl __fixunssfsi - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x2E] - adds r0, r1 - strh r0, [r5, 0x20] - movs r0, 0x6 - ldrsh r4, [r6, r0] - adds r0, r4, 0 - bl __floatsisf - cmp r4, 0 - bge _08150A04 - ldr r1, =0x47800000 - bl __addsf3 -_08150A04: - ldr r1, =0x3d89374c - bl __mulsf3 - bl __fixunssfsi - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x30] - adds r0, r1 - strh r0, [r5, 0x22] -_08150A18: - movs r0, 0x32 - ldrsh r2, [r5, r0] - cmp r2, 0 - bne _08150A48 - movs r0, 0x11 - strh r0, [r5, 0x26] - ldrh r0, [r5, 0x34] - adds r1, r0, 0x1 - strh r1, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - ble _08150A60 - strh r2, [r5, 0x34] - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - b _08150A60 - .pool -_08150A48: - movs r2, 0 - movs r0, 0x10 - strh r0, [r5, 0x26] - ldrh r0, [r5, 0x34] - adds r1, r0, 0x1 - strh r1, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - ble _08150A60 - strh r2, [r5, 0x34] - strh r2, [r5, 0x32] -_08150A60: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8150948 - - thumb_func_start sub_8150A68 -sub_8150A68: @ 8150A68 - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _08150A98 - adds r0, r2, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 1 - ldrh r3, [r2, 0x20] - adds r0, r3 - strh r0, [r2, 0x20] - ldrh r1, [r2, 0x22] - adds r1, 0x10 - adds r0, r2, 0 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - strh r0, [r2, 0x22] -_08150A98: - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x32 - ldrsh r1, [r2, r3] - cmp r0, r1 - blt _08150AEE - movs r0, 0x30 - ldrsh r1, [r2, r0] - cmp r1, 0 - beq _08150AB8 - cmp r1, 0x1 - beq _08150AC2 - b _08150AE0 -_08150AB8: - ldrh r0, [r2, 0x20] - adds r0, 0x1 - strh r0, [r2, 0x20] - ldrh r0, [r2, 0x2E] - b _08150AD2 -_08150AC2: - ldrh r0, [r2, 0x2E] - ands r0, r1 - cmp r0, 0 - beq _08150AE0 - ldrh r0, [r2, 0x20] - adds r0, 0x1 - strh r0, [r2, 0x20] - ldrh r0, [r2, 0x20] -_08150AD2: - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08150AE0 - ldrh r0, [r2, 0x22] - adds r0, 0x1 - strh r0, [r2, 0x22] -_08150AE0: - movs r1, 0x22 - ldrsh r0, [r2, r1] - cmp r0, 0xA0 - ble _08150AEE - adds r0, r2, 0 - bl DestroySprite -_08150AEE: - pop {r0} - bx r0 - thumb_func_end sub_8150A68 - - thumb_func_start sub_8150AF4 -sub_8150AF4: @ 8150AF4 - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _08150B12 - ldrh r1, [r2, 0x22] - adds r1, 0x10 - adds r0, r2, 0 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - strh r0, [r2, 0x22] -_08150B12: - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x32 - ldrsh r1, [r2, r3] - cmp r0, r1 - blt _08150B68 - movs r0, 0x30 - ldrsh r1, [r2, r0] - cmp r1, 0 - beq _08150B32 - cmp r1, 0x1 - beq _08150B3C - b _08150B5A -_08150B32: - ldrh r0, [r2, 0x20] - subs r0, 0x1 - strh r0, [r2, 0x20] - ldrh r0, [r2, 0x2E] - b _08150B4C -_08150B3C: - ldrh r0, [r2, 0x2E] - ands r0, r1 - cmp r0, 0 - beq _08150B5A - ldrh r0, [r2, 0x20] - subs r0, 0x1 - strh r0, [r2, 0x20] - ldrh r0, [r2, 0x20] -_08150B4C: - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08150B5A - ldrh r0, [r2, 0x22] - subs r0, 0x1 - strh r0, [r2, 0x22] -_08150B5A: - movs r1, 0x22 - ldrsh r0, [r2, r1] - cmp r0, 0x4F - bgt _08150B68 - adds r0, r2, 0 - bl DestroySprite -_08150B68: - pop {r0} - bx r0 - thumb_func_end sub_8150AF4 - - thumb_func_start sub_8150B6C -sub_8150B6C: @ 8150B6C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08150B7A - cmp r0, 0x1 - beq _08150C1C -_08150B7A: - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x42 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x46 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0xE - movs r1, 0 - bl SetGpuReg - movs r0, 0xC - movs r1, 0 - bl SetGpuReg - movs r0, 0xA - movs r1, 0 - bl SetGpuReg - movs r0, 0x8 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1C - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - b _08150D1C -_08150C1C: - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x42 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x46 - movs r1, 0 - bl SetGpuReg - ldr r0, =gSpecialVar_0x8004 - ldrh r3, [r0] - cmp r3, 0 - bne _08150C74 - ldr r1, =gUnknown_0203ABAC - ldr r2, [r1] - movs r0, 0xB0 - strb r0, [r2, 0x14] - ldr r2, [r1] - movs r0, 0x10 - strb r0, [r2, 0x15] - ldr r0, [r1] - strb r3, [r0, 0xC] - ldr r2, [r1] - movs r0, 0x50 - b _08150C8C - .pool -_08150C74: - ldr r1, =gUnknown_0203ABAC - ldr r2, [r1] - movs r3, 0 - movs r0, 0x60 - strb r0, [r2, 0x14] - ldr r2, [r1] - movs r0, 0xE8 - strb r0, [r2, 0x15] - ldr r0, [r1] - strb r3, [r0, 0xC] - ldr r2, [r1] - movs r0, 0x4 -_08150C8C: - strb r0, [r2, 0xD] - ldr r0, [r1] - strb r3, [r0, 0x9] - ldr r0, [r1] - strb r3, [r0, 0x9] - adds r4, r1, 0 - ldr r0, [r4] - ldrb r1, [r0, 0x14] - movs r0, 0x1C - bl SetGpuReg - ldr r0, [r4] - ldrb r1, [r0, 0x15] - movs r0, 0x1E - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - ldr r0, [r4] - ldrb r1, [r0, 0xC] - movs r0, 0x14 - bl SetGpuReg - ldr r0, [r4] - ldrb r1, [r0, 0xD] - movs r0, 0x16 - bl SetGpuReg - ldr r0, [r4] - ldrb r1, [r0, 0x8] - movs r0, 0x10 - bl SetGpuReg - ldr r0, [r4] - ldrb r1, [r0, 0x9] - movs r0, 0x12 - bl SetGpuReg - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r1, 0xFC - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg -_08150D1C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8150B6C - - thumb_func_start sub_8150D28 -sub_8150D28: @ 8150D28 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - ldr r1, =gCableCarPlayerGraphicsIDs - add r0, sp, 0xC - movs r2, 0x2 - bl memcpy - bl Random - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - add r6, sp, 0x10 - ldr r1, =gMtChimneyHikerGraphicsIDs - adds r0, r6, 0 - movs r2, 0x4 - bl memcpy - add r5, sp, 0x14 - ldr r1, =gMtChimneyHikerCoords - adds r0, r5, 0 - movs r2, 0x8 - bl memcpy - add r4, sp, 0x1C - ldr r1, =gMtChimneyHikerMovementDelayTable - adds r0, r4, 0 - movs r2, 0x4 - bl memcpy - ldr r0, =gUnknown_085CDBF8 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x20] - str r1, [sp, 0x24] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - mov r8, r6 - mov r10, r5 - cmp r0, 0 - beq _08150D86 - cmp r0, 0x1 - beq _08150E68 -_08150D86: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - add r0, sp - adds r0, 0xC - ldrb r0, [r0] - ldr r1, =sub_8150948 - movs r2, 0x66 - str r2, [sp] - movs r2, 0xC8 - movs r3, 0x49 - bl AddPseudoEventObject - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _08150DD0 - ldr r0, =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x8 - orrs r0, r2 - strb r0, [r1, 0x5] - movs r0, 0x8 - strh r0, [r1, 0x24] - movs r0, 0x10 - strh r0, [r1, 0x26] - movs r0, 0xC8 - strh r0, [r1, 0x2E] - movs r0, 0x49 - strh r0, [r1, 0x30] -_08150DD0: - ldr r4, =gSpriteTemplate_85CDB9C - adds r0, r4, 0 - movs r1, 0xB0 - movs r2, 0x2B - movs r3, 0x67 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r5 - movs r1, 0x20 - strh r1, [r0, 0x26] - strh r1, [r0, 0x24] - movs r1, 0xB0 - strh r1, [r0, 0x2E] - movs r1, 0x2B - strh r1, [r0, 0x30] - adds r4, 0x18 - adds r0, r4, 0 - movs r1, 0xC8 - movs r2, 0x63 - movs r3, 0x65 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r5 - movs r1, 0x8 - strh r1, [r0, 0x24] - movs r1, 0x4 - strh r1, [r0, 0x26] - movs r1, 0xC8 - strh r1, [r0, 0x2E] - movs r1, 0x63 - strh r1, [r0, 0x30] - ldr r2, =gUnknown_0203ABAC - ldr r1, [r2] - movs r0, 0x7 - strb r0, [r1, 0x2] - ldr r1, [r2] - movs r0, 0xAF - lsls r0, 1 - strh r0, [r1, 0x4] - movs r0, 0x2 - bl sub_80AB130 - b _08150F3A - .pool -_08150E68: - ldr r7, =gUnknown_0203ABAC - ldr r0, [r7] - ldr r1, =0x000040fc - adds r0, r1 - ldr r1, [r0] - adds r1, 0x48 - movs r0, 0xC - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r2, 0x18 - movs r3, 0x1A - bl CopyToBgTilemapBufferRect_ChangePalette - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - add r0, sp - adds r0, 0xC - ldrb r0, [r0] - ldr r1, =sub_8150948 - movs r2, 0x66 - str r2, [sp] - movs r2, 0x80 - movs r3, 0x27 - bl AddPseudoEventObject - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _08150ED4 - ldr r0, =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x8 - orrs r0, r2 - strb r0, [r1, 0x5] - movs r0, 0x8 - strh r0, [r1, 0x24] - movs r0, 0x10 - strh r0, [r1, 0x26] - movs r0, 0x80 - strh r0, [r1, 0x2E] - movs r0, 0x27 - strh r0, [r1, 0x30] -_08150ED4: - ldr r4, =gSpriteTemplate_85CDB9C - adds r0, r4, 0 - movs r1, 0x68 - movs r2, 0x9 - movs r3, 0x67 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r5 - movs r1, 0x20 - strh r1, [r0, 0x26] - strh r1, [r0, 0x24] - movs r1, 0x68 - strh r1, [r0, 0x2E] - movs r1, 0x9 - strh r1, [r0, 0x30] - adds r4, 0x18 - adds r0, r4, 0 - movs r1, 0x80 - movs r2, 0x41 - movs r3, 0x65 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r5 - movs r1, 0x8 - strh r1, [r0, 0x24] - movs r1, 0x4 - strh r1, [r0, 0x26] - movs r1, 0x80 - strh r1, [r0, 0x2E] - movs r1, 0x41 - strh r1, [r0, 0x30] - ldr r1, [r7] - movs r0, 0x2 - strb r0, [r1, 0x2] - ldr r1, [r7] - ldr r0, =0x00000109 - strh r0, [r1, 0x4] - movs r0, 0x7 - bl sub_80AB130 -_08150F3A: - movs r4, 0 - ldr r5, =gSprites -_08150F3E: - lsls r1, r4, 20 - movs r2, 0xC0 - lsls r2, 15 - adds r1, r2 - asrs r1, 16 - lsls r2, r4, 19 - ldr r3, =0xfff80000 - adds r2, r3 - asrs r2, 16 - ldr r0, =gSpriteTemplate_85CDBCC - movs r3, 0x68 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r5 - movs r1, 0x8 - strh r1, [r0, 0x24] - strh r1, [r0, 0x26] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x8 - bls _08150F3E - movs r0, 0x3F - mov r4, r9 - ands r0, r4 - cmp r0, 0 - bne _08151074 - mov r0, r9 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - add r0, r8 - ldrb r0, [r0] - ldr r5, =gSpecialVar_0x8004 - ldrh r4, [r5] - lsls r4, 2 - add r1, sp, 0x20 - adds r1, r4, r1 - ldr r1, [r1] - mov r3, r10 - adds r2, r3, r4 - movs r3, 0 - ldrsh r2, [r2, r3] - mov r3, sp - adds r3, 0x16 - adds r3, r4 - movs r4, 0 - ldrsh r3, [r3, r4] - movs r4, 0x6A - str r4, [sp] - bl AddPseudoEventObject - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _08151074 - ldr r1, =gSprites - lsls r2, r6, 4 - adds r0, r2, r6 - lsls r0, 2 - adds r4, r0, r1 - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4, 0x5] - adds r0, r4, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - negs r0, r0 - strh r0, [r4, 0x24] - adds r0, r4, 0 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r0, [r5] - mov r8, r2 - cmp r0, 0 - bne _08151036 - movs r7, 0x1 - mov r5, r9 - ands r5, r7 - cmp r5, 0 - beq _08151030 - adds r0, r4, 0 - movs r1, 0x6 - b _08151044 - .pool -_08151030: - adds r0, r4, 0 - movs r1, 0x7 - b _08151056 -_08151036: - movs r7, 0x1 - mov r5, r9 - ands r5, r7 - cmp r5, 0 - beq _08151052 - adds r0, r4, 0 - movs r1, 0x7 -_08151044: - bl StartSpriteAnim - strh r7, [r4, 0x30] - ldrh r0, [r4, 0x22] - adds r0, 0x2 - strh r0, [r4, 0x22] - b _0815105C -_08151052: - adds r0, r4, 0 - movs r1, 0x6 -_08151056: - bl StartSpriteAnim - strh r5, [r4, 0x30] -_0815105C: - ldr r0, =gSprites - mov r2, r8 - adds r1, r2, r6 - lsls r1, 2 - adds r1, r0 - movs r0, 0x3 - mov r3, r9 - ands r0, r3 - add r0, sp - adds r0, 0x1C - ldrb r0, [r0] - strh r0, [r1, 0x32] -_08151074: - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8150D28 - - thumb_func_start sub_8151088 -sub_8151088: @ 8151088 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r3, 0 - mov r9, r3 - ldr r2, =gUnknown_0203ABAC - ldr r0, [r2] - ldrb r1, [r0, 0x1B] - adds r1, 0x2 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 26 - lsrs r0, 24 - mov r12, r0 -_081510AA: - movs r7, 0 - lsls r0, r3, 1 - adds r1, r3, 0x3 - adds r2, r3, 0x6 - adds r4, r3, 0x1 - str r4, [sp, 0x4] - adds r0, r3 - lsls r0, 3 - str r0, [sp] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - mov r10, r0 - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - mov r8, r0 -_081510CC: - ldr r0, =gUnknown_0203ABAC - ldr r6, [r0] - lsls r3, r7, 1 - ldr r1, [sp] - adds r2, r3, r1 - adds r4, r6, 0 - adds r4, 0x22 - adds r2, r4, r2 - mov r1, r12 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - ldr r0, =0x000040fc - adds r5, r6, r0 - ldr r0, [r5] - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - strh r0, [r2] - mov r1, r10 - adds r2, r3, r1 - adds r2, r4, r2 - str r2, [sp, 0x8] - ldr r0, [r5] - mov r2, r9 - lsls r1, r2, 1 - adds r0, r1, r0 - ldrh r0, [r0] - ldr r2, [sp, 0x8] - strh r0, [r2] - add r3, r8 - adds r4, r3 - ldr r0, [r5] - adds r1, r0 - adds r1, 0x48 - ldrh r0, [r1] - strh r0, [r4] - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0xB - bls _081510CC - ldr r4, [sp, 0x4] - lsls r0, r4, 24 - lsrs r3, r0, 24 - cmp r3, 0x2 - bls _081510AA - ldrb r0, [r6, 0x1B] - adds r0, 0x1 - movs r1, 0x3 - bl __modsi3 - strb r0, [r6, 0x1B] - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8151088 - - thumb_func_start sub_815115C -sub_815115C: @ 815115C - push {r4,r5,lr} - ldr r5, =gUnknown_0203ABAC - ldr r4, [r5] - ldrb r0, [r4, 0x1C] - adds r0, 0x1 - movs r1, 0x60 - bl __modsi3 - strb r0, [r4, 0x1C] - ldr r1, [r5] - ldrb r0, [r1, 0x1F] - ldrb r2, [r1, 0x1D] - subs r0, r2 - strb r0, [r1, 0x8] - ldr r2, [r5] - adds r0, r2, 0 - adds r0, 0x20 - ldrb r0, [r0] - ldrb r1, [r2, 0x1E] - subs r0, r1 - strb r0, [r2, 0x9] - ldr r1, [r5] - ldrb r0, [r1, 0x1D] - adds r0, 0x1 - strb r0, [r1, 0x1D] - ldr r2, [r5] - ldrb r0, [r2, 0x1D] - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081511A0 - ldrb r0, [r2, 0x1E] - adds r0, 0x1 - strb r0, [r2, 0x1E] -_081511A0: - ldr r0, [r5] - ldrb r0, [r0, 0x1D] - cmp r0, 0x10 - bls _081511AC - bl sub_8151214 -_081511AC: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815115C - - thumb_func_start sub_81511B8 -sub_81511B8: @ 81511B8 - push {r4,r5,lr} - ldr r5, =gUnknown_0203ABAC - ldr r4, [r5] - ldrb r0, [r4, 0x1C] - adds r0, 0x1 - movs r1, 0x60 - bl __modsi3 - strb r0, [r4, 0x1C] - ldr r1, [r5] - ldrb r0, [r1, 0x1D] - ldrb r2, [r1, 0x1F] - adds r0, r2 - strb r0, [r1, 0x8] - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x20 - ldrb r0, [r1, 0x1E] - ldrb r2, [r2] - adds r0, r2 - strb r0, [r1, 0x9] - ldr r1, [r5] - ldrb r0, [r1, 0x1D] - adds r0, 0x1 - strb r0, [r1, 0x1D] - ldr r2, [r5] - ldrb r0, [r2, 0x1D] - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081511FC - ldrb r0, [r2, 0x1E] - adds r0, 0x1 - strb r0, [r2, 0x1E] -_081511FC: - ldr r0, [r5] - ldrb r0, [r0, 0x1D] - cmp r0, 0x10 - bls _08151208 - bl sub_8151388 -_08151208: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81511B8 - - thumb_func_start sub_8151214 -sub_8151214: @ 8151214 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r7, 0 - ldr r3, =gUnknown_0203ABAC - ldr r0, [r3] - strb r7, [r0, 0x1E] - strb r7, [r0, 0x1D] - ldr r1, [r3] - ldrb r0, [r1, 0x8] - strb r0, [r1, 0x1F] - ldr r0, [r3] - ldrb r1, [r0, 0x9] - adds r0, 0x20 - strb r1, [r0] - ldr r4, [r3] - ldrb r1, [r4, 0x19] - adds r2, r1, 0 - adds r2, 0x1E - adds r0, r2, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r2, r0 - strb r0, [r4, 0x19] - ldr r1, [r3] - ldrb r0, [r1, 0x18] - subs r0, 0x2 - strb r0, [r1, 0x18] - ldr r4, =gUnknown_0203ABB2 - ldr r0, [r3] - ldrb r1, [r0, 0x1A] - adds r2, r1, 0 - adds r2, 0x17 - adds r0, r2, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r2, r0 - strb r0, [r4] - ldr r6, =gUnknown_0203ABB0 - mov r9, r3 - ldr r0, =gUnknown_0203ABB1 - mov r8, r0 -_0815126E: - mov r1, r9 - ldr r2, [r1] - ldrb r0, [r2, 0x19] - strb r0, [r6] - ldr r0, =gUnknown_0203ABB2 - ldrb r0, [r0] - adds r1, r0, r7 - adds r0, r1, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r1, r0 - mov r1, r8 - strb r0, [r1] - ldrb r1, [r2, 0x18] - lsls r1, 1 - lsls r0, r7, 1 - adds r0, r7 - lsls r5, r0, 3 - adds r1, r5 - adds r0, r2, 0 - adds r0, 0x22 - adds r0, r1 - ldrh r1, [r0] - ldrb r2, [r6] - mov r0, r8 - ldrb r3, [r0] - movs r4, 0x1 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x11 - mov r10, r0 - str r0, [sp, 0x8] - movs r0, 0 - bl FillBgTilemapBufferRect - ldrb r1, [r6] - adds r2, r1, 0x1 - adds r0, r2, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r2, r0 - strb r0, [r6] - mov r0, r9 - ldr r1, [r0] - ldrb r0, [r1, 0x18] - adds r0, 0x1 - lsls r0, 1 - adds r0, r5 - adds r1, 0x22 - adds r1, r0 - ldrh r1, [r1] - ldrb r2, [r6] - mov r0, r8 - ldrb r3, [r0] - str r4, [sp] - str r4, [sp, 0x4] - mov r0, r10 - str r0, [sp, 0x8] - movs r0, 0 - bl FillBgTilemapBufferRect - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x8 - bls _0815126E - ldr r5, =gUnknown_0203ABB0 - ldr r4, =gUnknown_0203ABAC - ldr r0, [r4] - ldrb r1, [r0, 0x19] - adds r2, r1, 0 - adds r2, 0x1E - adds r0, r2, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r2, r0 - strb r0, [r5] - ldrb r2, [r5] - movs r0, 0x2 - str r0, [sp] - movs r6, 0x20 - str r6, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - ldr r1, [r4] - ldrb r0, [r1, 0x18] - cmp r0, 0 - bne _08151368 - ldrb r2, [r1, 0x1A] - adds r3, r2, 0 - adds r3, 0x1D - adds r0, r3, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r3, r0 - strb r0, [r1, 0x1A] - ldr r1, [r4] - movs r0, 0xC - strb r0, [r1, 0x18] - bl sub_8151088 - ldr r0, [r4] - ldrb r1, [r0, 0x1A] - adds r2, r1, 0x1 - adds r0, r2, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r2, r0 - strb r0, [r5] - ldrb r3, [r5] - str r6, [sp] - movs r0, 0x9 - str r0, [sp, 0x4] - mov r1, r10 - str r1, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl FillBgTilemapBufferRect -_08151368: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8151214 - - thumb_func_start sub_8151388 -sub_8151388: @ 8151388 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r7, 0 - ldr r2, =gUnknown_0203ABAC - ldr r0, [r2] - strb r7, [r0, 0x1E] - strb r7, [r0, 0x1D] - ldr r1, [r2] - ldrb r0, [r1, 0x8] - strb r0, [r1, 0x1F] - ldr r0, [r2] - ldrb r1, [r0, 0x9] - adds r0, 0x20 - strb r1, [r0] - ldr r4, [r2] - ldrb r1, [r4, 0x19] - adds r3, r1, 0x2 - adds r0, r3, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r3, r0 - strb r0, [r4, 0x19] - ldr r1, [r2] - ldrb r0, [r1, 0x18] - adds r0, 0x2 - strb r0, [r1, 0x18] - ldr r1, =gUnknown_0203ABB5 - ldr r0, [r2] - ldrb r0, [r0, 0x1A] - strb r0, [r1] - ldr r6, =gUnknown_0203ABB3 - mov r10, r2 - ldr r0, =gUnknown_0203ABB4 - mov r9, r0 -_081513D4: - mov r1, r10 - ldr r2, [r1] - ldrb r0, [r2, 0x19] - strb r0, [r6] - ldr r0, =gUnknown_0203ABB5 - ldrb r0, [r0] - adds r1, r0, r7 - adds r0, r1, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r1, r0 - mov r1, r9 - strb r0, [r1] - ldrb r1, [r2, 0x18] - lsls r1, 1 - lsls r0, r7, 1 - adds r0, r7 - lsls r5, r0, 3 - adds r1, r5 - adds r0, r2, 0 - adds r0, 0x22 - adds r0, r1 - ldrh r1, [r0] - ldrb r2, [r6] - mov r0, r9 - ldrb r3, [r0] - movs r4, 0x1 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x11 - mov r8, r0 - str r0, [sp, 0x8] - movs r0, 0 - bl FillBgTilemapBufferRect - ldrb r1, [r6] - adds r2, r1, 0x1 - adds r0, r2, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r2, r0 - strb r0, [r6] - mov r0, r10 - ldr r1, [r0] - ldrb r0, [r1, 0x18] - adds r0, 0x1 - lsls r0, 1 - adds r0, r5 - adds r1, 0x22 - adds r1, r0 - ldrh r1, [r1] - ldrb r2, [r6] - mov r0, r9 - ldrb r3, [r0] - str r4, [sp] - str r4, [sp, 0x4] - mov r0, r8 - str r0, [sp, 0x8] - movs r0, 0 - bl FillBgTilemapBufferRect - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x8 - bls _081513D4 - ldr r4, =gUnknown_0203ABB4 - ldr r5, =gUnknown_0203ABAC - ldr r3, [r5] - ldrb r1, [r3, 0x1A] - adds r2, r1, 0 - adds r2, 0x17 - adds r0, r2, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r2, r0 - strb r0, [r4] - ldrb r2, [r3, 0x19] - ldrb r3, [r4] - movs r0, 0x2 - str r0, [sp] - movs r0, 0x9 - str r0, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - movs r0, 0 - movs r1, 0 - bl FillBgTilemapBufferRect - ldr r1, [r5] - ldrb r0, [r1, 0x18] - cmp r0, 0xA - bne _081514A6 - ldrb r2, [r1, 0x1A] - adds r3, r2, 0x3 - adds r0, r3, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r3, r0 - strb r0, [r1, 0x1A] - ldr r1, [r5] - movs r0, 0xFE - strb r0, [r1, 0x18] - bl sub_8151088 -_081514A6: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8151388 - - thumb_func_start sub_81514C8 -sub_81514C8: @ 81514C8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _081514D6 - cmp r0, 0x1 - beq _08151500 -_081514D6: - ldr r1, =gUnknown_0203ABAC - ldr r2, [r1] - movs r3, 0 - movs r0, 0x2 - strb r0, [r2, 0x1B] - ldr r0, [r1] - strb r3, [r0, 0x19] - ldr r2, [r1] - movs r0, 0x14 - strb r0, [r2, 0x1A] - ldr r1, [r1] - movs r0, 0xC - strb r0, [r1, 0x18] - bl sub_8151088 - bl sub_8151214 - b _08151522 - .pool -_08151500: - ldr r1, =gUnknown_0203ABAC - ldr r2, [r1] - movs r0, 0x2 - strb r0, [r2, 0x1B] - ldr r2, [r1] - movs r0, 0x1C - strb r0, [r2, 0x19] - ldr r2, [r1] - movs r0, 0x14 - strb r0, [r2, 0x1A] - ldr r1, [r1] - movs r0, 0x4 - strb r0, [r1, 0x18] - bl sub_8151088 - bl sub_8151388 -_08151522: - ldr r0, =gUnknown_0203ABAC - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x1C] - pop {r0} - bx r0 - .pool - thumb_func_end sub_81514C8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/contest_painting.s b/asm/contest_painting.s deleted file mode 100644 index f7c146e3e..000000000 --- a/asm/contest_painting.s +++ /dev/null @@ -1,1197 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_812FDA8 -sub_812FDA8: @ 812FDA8 - push {r4-r7,lr} - ldr r3, =gUnknown_02039F5D - ldr r4, =gUnknown_02039F5C - ldr r1, =gSaveBlock1Ptr - ldr r2, [r1] - subs r0, 0x1 - lsls r1, r0, 5 - adds r2, r1 - ldr r1, =gUnknown_02039F3C - ldr r5, =0x00002e90 - adds r2, r5 - ldm r2!, {r5-r7} - stm r1!, {r5-r7} - ldm r2!, {r5-r7} - stm r1!, {r5-r7} - ldm r2!, {r6,r7} - stm r1!, {r6,r7} - strb r0, [r3] - movs r0, 0 - strb r0, [r4] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812FDA8 - - thumb_func_start sub_812FDEC -sub_812FDEC: @ 812FDEC - push {lr} - bl sub_812FE58 - pop {r0} - bx r0 - thumb_func_end sub_812FDEC - - thumb_func_start sub_812FDF8 -sub_812FDF8: @ 812FDF8 - push {lr} - bl sub_812FFC8 - bl RunTextPrinters - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_812FDF8 - - thumb_func_start sub_812FE0C -sub_812FE0C: @ 812FE0C - push {r4,r5,lr} - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 - ldr r4, =gUnknown_030061C4 - ldr r0, [r4] - bl Free - movs r5, 0 - str r5, [r4] - ldr r4, =gUnknown_03006190 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r0, =gUnknown_030011F7 - ldrb r0, [r0] - bl RemoveWindow - movs r0, 0x1 - bl GetBgTilemapBuffer - bl Free - bl FreeMonSpritesGfx - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812FE0C - - thumb_func_start sub_812FE58 -sub_812FE58: @ 812FE58 - push {r4-r7,lr} - sub sp, 0x4 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0x4 - bls _0812FE6E - b _0812FFA0 -_0812FE6E: - lsls r0, 2 - ldr r1, =_0812FE80 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0812FE80: - .4byte _0812FE94 - .4byte _0812FEC8 - .4byte _0812FF14 - .4byte _0812FF2A - .4byte _0812FF54 -_0812FE94: - bl ScanlineEffect_Stop - movs r0, 0 - bl SetVBlankCallback - bl AllocateMonSpritesGfx - ldr r1, =gUnknown_030061C0 - ldr r0, =gUnknown_02039F3C - str r0, [r1] - movs r0, 0x1 - bl sub_8130238 - bl sub_81301EC - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0812FF3E - .pool -_0812FEC8: - bl ResetPaletteFade - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0xC0 - lsls r3, 9 - movs r5, 0 - ldr r1, =0x040000d4 - movs r4, 0x80 - lsls r4, 5 - ldr r6, =0x85000400 - movs r7, 0x85 - lsls r7, 24 -_0812FEE2: - str r5, [sp] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _0812FEE2 - str r5, [sp] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetSpriteData - b _0812FF36 - .pool -_0812FF14: - ldrh r0, [r4, 0x20] - bl SeedRng - bl InitKeys - bl sub_8130098 - movs r0, 0x87 - lsls r0, 3 - adds r1, r4, r0 - b _0812FF3E -_0812FF2A: - ldr r0, =gUnknown_02039F5D - ldrb r0, [r0] - ldr r1, =gUnknown_02039F5C - ldrb r1, [r1] - bl sub_8130884 -_0812FF36: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 -_0812FF3E: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0812FFA0 - .pool -_0812FF54: - ldr r0, =gUnknown_02039F5D - ldrb r0, [r0] - ldr r1, =gUnknown_02039F5C - ldrb r1, [r1] - bl sub_813010C - ldr r0, =gUnknown_085B0838 - movs r1, 0 - movs r2, 0x2 - bl LoadPalette - movs r1, 0xA0 - lsls r1, 19 - movs r4, 0 - str r4, [sp] - ldr r0, =0x040000d4 - mov r2, sp - str r2, [r0] - str r1, [r0, 0x4] - ldr r1, =0x85000100 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - movs r0, 0x2 - bl BeginFastPaletteFade - ldr r0, =sub_81302D0 - bl SetVBlankCallback - ldr r0, =gUnknown_030011F0 - strb r4, [r0] - movs r1, 0x9A - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, =sub_812FDF8 - bl SetMainCallback2 -_0812FFA0: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812FE58 - - thumb_func_start sub_812FFC8 -sub_812FFC8: @ 812FFC8 - push {lr} - sub sp, 0x4 - ldr r3, =gUnknown_030011F0 - ldrb r1, [r3] - cmp r1, 0x1 - beq _0813001C - cmp r1, 0x1 - bgt _0812FFE4 - cmp r1, 0 - beq _0812FFEA - b _08130082 - .pool -_0812FFE4: - cmp r1, 0x2 - beq _0813005C - b _08130082 -_0812FFEA: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812FFFA - movs r0, 0x1 - strb r0, [r3] -_0812FFFA: - ldr r0, =gUnknown_030011F6 - ldrb r0, [r0] - cmp r0, 0 - beq _08130082 - ldr r1, =gUnknown_030011F4 - ldrh r0, [r1] - cmp r0, 0 - beq _08130082 - subs r0, 0x1 - b _08130080 - .pool -_0813001C: - ldr r0, =gMain - ldrh r2, [r0, 0x2E] - ands r1, r2 - cmp r1, 0 - bne _0813002E - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _08130040 -_0813002E: - movs r0, 0x2 - strb r0, [r3] - subs r0, 0x3 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_08130040: - ldr r0, =gUnknown_030011F6 - ldrb r0, [r0] - cmp r0, 0 - beq _08130082 - ldr r1, =gUnknown_030011F4 - movs r0, 0 - b _08130080 - .pool -_0813005C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0813006E - ldr r0, =sub_812FE0C - bl SetMainCallback2 -_0813006E: - ldr r0, =gUnknown_030011F6 - ldrb r0, [r0] - cmp r0, 0 - beq _08130082 - ldr r1, =gUnknown_030011F4 - ldrh r0, [r1] - cmp r0, 0x1D - bhi _08130082 - adds r0, 0x1 -_08130080: - strh r0, [r1] -_08130082: - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_812FFC8 - - thumb_func_start sub_8130098 -sub_8130098: @ 8130098 - push {r4,lr} - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085B07E8 - movs r0, 0 - movs r2, 0x1 - bl InitBgsFromTemplates - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x80 - lsls r0, 4 - bl AllocZeroed - adds r1, r0, 0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r4, =gUnknown_030011F7 - ldr r0, =gUnknown_085B07EC - bl AddWindow - strb r0, [r4] - bl DeactivateAllTextPrinters - ldrb r0, [r4] - movs r1, 0 - bl FillWindowPixelBuffer - ldrb r0, [r4] - bl PutWindowTilemap - ldrb r0, [r4] - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x1 - bl ShowBg - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8130098 - - thumb_func_start sub_813010C -sub_813010C: @ 813010C - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x1 - beq _081301D4 - ldr r6, =gUnknown_030061C0 - ldr r1, [r6] - ldrb r5, [r1, 0xA] - cmp r0, 0x7 - bhi _08130190 - ldr r4, =gStringVar1 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_818E868 - ldr r1, =gText_Space - adds r0, r4, 0 - bl StringAppend - ldr r1, =gContestRankTextPointers - ldr r0, [r6] - ldrb r0, [r0, 0x1E] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringAppend - ldr r4, =gStringVar2 - ldr r1, [r6] - adds r1, 0x16 - adds r0, r4, 0 - bl StringCopy - adds r0, r4, 0 - bl sub_81DB5AC - ldr r0, =gStringVar3 - ldr r1, [r6] - adds r1, 0xB - bl StringCopy - ldr r0, =gStringVar4 - ldr r1, =gUnknown_0827EA0C - bl StringExpandPlaceholders - b _081301A6 - .pool -_08130190: - ldr r0, =gStringVar1 - adds r1, 0xB - bl StringCopy - ldr r0, =gStringVar4 - ldr r2, =gContestPaintingDescriptionPointers - lsls r1, r5, 2 - adds r1, r2 - ldr r1, [r1] - bl StringExpandPlaceholders -_081301A6: - ldr r4, =gStringVar4 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xD0 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - ldr r0, =gUnknown_030011F7 - ldrb r0, [r0] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - adds r2, r4, 0 - bl AddTextPrinterParameterized - movs r0, 0x1 - bl CopyBgTilemapBufferToVram -_081301D4: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813010C - - thumb_func_start sub_81301EC -sub_81301EC: @ 81301EC - push {lr} - movs r0, 0 - movs r1, 0 - bl SetGpuReg - ldr r2, =0x04000200 - ldrh r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r2] - ldr r1, =0x00000c42 - movs r0, 0x8 - bl SetGpuReg - ldr r1, =0x00000a45 - movs r0, 0xA - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_81301EC - - thumb_func_start sub_8130238 -sub_8130238: @ 8130238 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _0813025C - ldr r0, =gUnknown_030011F6 - strb r1, [r0] - ldr r0, =gUnknown_030011F2 - strh r1, [r0] - ldr r0, =gUnknown_030011F4 - strh r1, [r0] - b _0813026E - .pool -_0813025C: - ldr r1, =gUnknown_030011F6 - movs r0, 0x1 - strb r0, [r1] - ldr r1, =gUnknown_030011F2 - movs r0, 0xF - strh r0, [r1] - ldr r1, =gUnknown_030011F4 - movs r0, 0x1E - strh r0, [r1] -_0813026E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8130238 - - thumb_func_start sub_8130280 -sub_8130280: @ 8130280 - push {lr} - ldr r0, =gUnknown_030011F6 - ldrb r0, [r0] - cmp r0, 0 - bne _08130298 - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - b _081302C0 - .pool -_08130298: - ldr r1, =0x00000a45 - movs r0, 0xA - bl SetGpuReg - ldr r1, =gUnknown_030011F2 - ldr r0, =gUnknown_030011F4 - ldrh r0, [r0] - lsrs r0, 1 - strh r0, [r1] - lsls r1, r0, 12 - lsls r2, r0, 8 - orrs r1, r2 - lsls r2, r0, 4 - orrs r1, r2 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4C - bl SetGpuReg -_081302C0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8130280 - - thumb_func_start sub_81302D0 -sub_81302D0: @ 81302D0 - push {lr} - bl sub_8130280 - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_81302D0 - - thumb_func_start sub_81302E8 -sub_81302E8: @ 81302E8 - push {r4-r7,lr} - adds r4, r1, 0 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r4, 24 - lsrs r4, 24 - ldr r6, =gUnknown_030061C0 - ldr r0, [r6] - ldr r1, [r0, 0x4] - ldr r2, [r0] - adds r0, r5, 0 - bl GetFrontSpritePalFromSpeciesAndPersonality - ldr r7, =gUnknown_030061C4 - ldr r1, [r7] - bl LZDecompressVram - cmp r4, 0 - bne _08130348 - lsls r0, r5, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r4, =gMonSpritesGfxPtr - ldr r1, [r4] - ldr r1, [r1, 0x8] - ldr r2, [r6] - ldr r3, [r2] - adds r2, r5, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldr r1, [r7] - ldr r2, =gUnknown_03006190 - ldr r2, [r2] - bl sub_8130380 - b _0813036C - .pool -_08130348: - lsls r0, r5, 3 - ldr r1, =gMonBackPicTable - adds r0, r1 - ldr r4, =gMonSpritesGfxPtr - ldr r1, [r4] - ldr r1, [r1, 0x4] - ldr r2, [r6] - ldr r3, [r2] - adds r2, r5, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys - ldr r0, [r4] - ldr r0, [r0, 0x4] - ldr r1, [r7] - ldr r2, =gUnknown_03006190 - ldr r2, [r2] - bl sub_8130380 -_0813036C: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81302E8 - - thumb_func_start sub_8130380 -sub_8130380: @ 8130380 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - mov r10, r0 - mov r9, r1 - str r2, [sp] - movs r0, 0 -_08130394: - movs r3, 0 - adds r1, r0, 0x1 - str r1, [sp, 0x4] - lsls r0, 3 - str r0, [sp, 0x8] -_0813039E: - movs r1, 0 - adds r2, r3, 0x1 - mov r8, r2 - ldr r7, [sp, 0x8] - adds r0, r7, r3 - lsls r0, 5 - mov r12, r0 - lsls r4, r3, 3 -_081303AE: - movs r3, 0 - lsls r0, r1, 2 - adds r6, r1, 0x1 - mov r2, r12 - adds r5, r2, r0 - ldr r7, [sp, 0x8] - adds r0, r7, r1 - lsls r0, 7 - ldr r1, [sp] - adds r2, r0, r1 -_081303C2: - lsrs r0, r3, 1 - adds r0, r5, r0 - add r0, r10 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _081303D6 - lsrs r1, 4 - b _081303DA -_081303D6: - movs r0, 0xF - ands r1, r0 -_081303DA: - cmp r1, 0 - bne _081303EC - adds r0, r4, r3 - lsls r0, 1 - adds r0, r2 - movs r7, 0x80 - lsls r7, 8 - adds r1, r7, 0 - b _081303F8 -_081303EC: - adds r0, r4, r3 - lsls r0, 1 - adds r0, r2 - lsls r1, 1 - add r1, r9 - ldrh r1, [r1] -_081303F8: - strh r1, [r0] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x7 - bls _081303C2 - lsls r0, r6, 16 - lsrs r1, r0, 16 - cmp r1, 0x7 - bls _081303AE - mov r1, r8 - lsls r0, r1, 16 - lsrs r3, r0, 16 - cmp r3, 0x7 - bls _0813039E - ldr r2, [sp, 0x4] - lsls r0, r2, 16 - lsrs r0, 16 - cmp r0, 0x7 - bls _08130394 - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8130380 - - thumb_func_start sub_8130430 -sub_8130430: @ 8130430 - push {r4-r7,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_085A989C - movs r2, 0x80 - lsls r2, 1 - movs r1, 0 - bl LoadPalette - cmp r4, 0x1 - beq _0813044E - b _081305A4 -_0813044E: - ldr r0, =gUnknown_030061C0 - ldr r0, [r0] - ldrb r0, [r0, 0xA] - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _0813050C - lsls r0, 2 - ldr r1, =_08130478 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08130478: - .4byte _0813048C - .4byte _081304A4 - .4byte _081304BC - .4byte _081304D4 - .4byte _081304F8 -_0813048C: - ldr r0, =gUnknown_085A9A9C - movs r1, 0xC0 - lsls r1, 19 - bl RLUnCompVram - ldr r0, =gUnknown_085AE974 - b _081304E0 - .pool -_081304A4: - ldr r0, =gUnknown_085AAB20 - movs r1, 0xC0 - lsls r1, 19 - bl RLUnCompVram - ldr r0, =gUnknown_085AEE80 - b _081304E0 - .pool -_081304BC: - ldr r0, =gUnknown_085AB750 - movs r1, 0xC0 - lsls r1, 19 - bl RLUnCompVram - ldr r0, =gUnknown_085AF38C - b _081304E0 - .pool -_081304D4: - ldr r0, =gUnknown_085AC288 - movs r1, 0xC0 - lsls r1, 19 - bl RLUnCompVram - ldr r0, =gUnknown_085AF898 -_081304E0: - ldr r1, =gUnknown_03006190 - ldr r1, [r1] - bl RLUnCompWram - b _0813050C - .pool -_081304F8: - ldr r0, =gUnknown_085AD240 - movs r1, 0xC0 - lsls r1, 19 - bl RLUnCompVram - ldr r0, =gUnknown_085AFDA4 - ldr r1, =gUnknown_03006190 - ldr r1, [r1] - bl RLUnCompWram -_0813050C: - movs r1, 0 - ldr r5, =0x06006000 - ldr r0, =0x00001015 - adds r4, r0, 0 -_08130514: - movs r3, 0 - lsls r2, r1, 5 -_08130518: - adds r0, r2, r3 - lsls r0, 1 - adds r0, r5 - strh r4, [r0] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1F - bls _08130518 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x13 - bls _08130514 - movs r1, 0 - ldr r0, =0x0600608c - mov r12, r0 - ldr r7, =gUnknown_03006190 -_0813053C: - movs r3, 0 - adds r6, r1, 0x1 - lsls r5, r1, 5 - lsls r4, r1, 6 -_08130544: - adds r2, r5, r3 - lsls r2, 1 - add r2, r12 - ldr r0, [r7] - adds r0, r4, r0 - lsls r1, r3, 1 - adds r0, r1 - adds r0, 0x8C - ldrh r0, [r0] - strh r0, [r2] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x11 - bls _08130544 - lsls r0, r6, 24 - lsrs r1, r0, 24 - cmp r1, 0x9 - bls _0813053C - movs r3, 0 - ldr r4, =0x0600608e - ldr r2, =gUnknown_03006190 -_08130570: - lsls r1, r3, 1 - adds r1, r4 - ldr r0, [r2] - adds r0, 0x8E - ldrh r0, [r0] - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xF - bls _08130570 - b _08130676 - .pool -_081305A4: - cmp r5, 0x7 - bhi _081305C0 - ldr r0, =gUnknown_085AE370 - movs r1, 0xC0 - lsls r1, 19 - bl RLUnCompVram - ldr r0, =gUnknown_085B02B0 - b _08130650 - .pool -_081305C0: - ldr r0, =gUnknown_030061C0 - ldr r0, [r0] - ldrb r0, [r0, 0xA] - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _08130676 - lsls r0, 2 - ldr r1, =_081305E8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081305E8: - .4byte _081305FC - .4byte _08130614 - .4byte _0813062C - .4byte _08130644 - .4byte _08130664 -_081305FC: - ldr r0, =gUnknown_085A9A9C - movs r1, 0xC0 - lsls r1, 19 - bl RLUnCompVram - ldr r0, =gUnknown_085AE974 - b _08130650 - .pool -_08130614: - ldr r0, =gUnknown_085AAB20 - movs r1, 0xC0 - lsls r1, 19 - bl RLUnCompVram - ldr r0, =gUnknown_085AEE80 - b _08130650 - .pool -_0813062C: - ldr r0, =gUnknown_085AB750 - movs r1, 0xC0 - lsls r1, 19 - bl RLUnCompVram - ldr r0, =gUnknown_085AF38C - b _08130650 - .pool -_08130644: - ldr r0, =gUnknown_085AC288 - movs r1, 0xC0 - lsls r1, 19 - bl RLUnCompVram - ldr r0, =gUnknown_085AF898 -_08130650: - ldr r1, =0x06006000 - bl RLUnCompVram - b _08130676 - .pool -_08130664: - ldr r0, =gUnknown_085AD240 - movs r1, 0xC0 - lsls r1, 19 - bl RLUnCompVram - ldr r0, =gUnknown_085AFDA4 - ldr r1, =0x06006000 - bl RLUnCompVram -_08130676: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8130430 - - thumb_func_start sub_8130688 -sub_8130688: @ 8130688 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gMain - ldr r1, =gUnknown_085B0830 - ldr r2, [r1, 0x4] - ldr r1, [r1] - str r1, [r3, 0x38] - str r2, [r3, 0x3C] - ldrh r2, [r3, 0x3C] - ldr r1, =0xfffffc00 - ands r1, r2 - strh r1, [r3, 0x3C] - ldrh r1, [r3, 0x3A] - ldr r0, =0xfffffe00 - ands r0, r1 - movs r1, 0x58 - orrs r0, r1 - strh r0, [r3, 0x3A] - adds r1, r3, 0 - adds r1, 0x38 - movs r0, 0x18 - strb r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8130688 - - thumb_func_start sub_81306CC -sub_81306CC: @ 81306CC - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x7 - bhi _081306E4 - ldr r0, =gUnknown_030061C0 - ldr r0, [r0] - ldrb r0, [r0, 0xA] - b _081306F4 - .pool -_081306E4: - ldr r0, =gUnknown_030061C0 - ldr r0, [r0] - ldrb r0, [r0, 0xA] - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 -_081306F4: - cmp r0, 0x4 - bhi _08130732 - lsls r0, 2 - ldr r1, =_0813070C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813070C: - .4byte _08130720 - .4byte _08130724 - .4byte _08130728 - .4byte _0813072C - .4byte _08130730 -_08130720: - movs r0, 0x9 - b _08130732 -_08130724: - movs r0, 0xD - b _08130732 -_08130728: - movs r0, 0x2 - b _08130732 -_0813072C: - movs r0, 0x24 - b _08130732 -_08130730: - movs r0, 0x6 -_08130732: - pop {r1} - bx r1 - thumb_func_end sub_81306CC - - thumb_func_start sub_8130738 -sub_8130738: @ 8130738 - push {r4,lr} - ldr r4, =gUnknown_030061C4 - movs r0, 0x80 - lsls r0, 2 - bl AllocZeroed - str r0, [r4] - ldr r4, =gUnknown_03006190 - movs r0, 0x80 - lsls r0, 6 - bl AllocZeroed - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8130738 - - thumb_func_start sub_8130760 -sub_8130760: @ 8130760 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, =gUnknown_030061A0 - ldr r0, =gUnknown_03006190 - ldr r0, [r0] - str r0, [r1, 0x4] - ldr r0, =gUnknown_030061C4 - ldr r0, [r0] - str r0, [r1, 0x8] - movs r2, 0 - strb r2, [r1, 0x18] - ldr r0, =gUnknown_030061C0 - ldr r0, [r0] - ldrb r0, [r0] - strb r0, [r1, 0x1F] - strb r2, [r1, 0x19] - strb r2, [r1, 0x1A] - movs r0, 0x40 - strb r0, [r1, 0x1B] - strb r0, [r1, 0x1C] - strb r0, [r1, 0x1D] - strb r0, [r1, 0x1E] - subs r0, r3, 0x2 - adds r4, r1, 0 - cmp r0, 0x22 - bhi _08130844 - lsls r0, 2 - ldr r1, =_081307B4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081307B4: - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130840 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130844 - .4byte _08130840 -_08130840: - movs r0, 0x3 - b _08130846 -_08130844: - movs r0, 0x1 -_08130846: - strh r0, [r4, 0x14] - movs r0, 0x2 - strh r0, [r4, 0x16] - strb r3, [r4] - ldr r0, =0x06010000 - str r0, [r4, 0x10] - adds r0, r4, 0 - bl sub_8124F2C - adds r0, r4, 0 - bl sub_81261A4 - adds r0, r4, 0 - bl sub_8126058 - ldr r0, =gUnknown_030061C4 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 1 - movs r2, 0x80 - lsls r2, 2 - bl LoadPalette - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8130760 - - thumb_func_start sub_8130884 -sub_8130884: @ 8130884 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - bl sub_8130738 - ldr r0, =gUnknown_030061C0 - ldr r0, [r0] - ldrh r0, [r0, 0x8] - movs r1, 0 - bl sub_81302E8 - adds r0, r4, 0 - bl sub_81306CC - lsls r0, 24 - lsrs r0, 24 - bl sub_8130760 - adds r0, r4, 0 - bl sub_8130688 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8130430 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8130884 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/cute_sketch.s b/asm/contest_painting_effects.s index 36ef184b9..36ef184b9 100644 --- a/asm/cute_sketch.s +++ b/asm/contest_painting_effects.s diff --git a/asm/field_screen.s b/asm/field_screen.s deleted file mode 100644 index 8a97644ac..000000000 --- a/asm/field_screen.s +++ /dev/null @@ -1,10509 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80AAFA4 -@ void sub_80AAFA4() -sub_80AAFA4: @ 80AAFA4 - push {r4-r6,lr} - ldr r0, =sub_80AB1B0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - bne _080AB060 - movs r0, 0x90 - lsls r0, 5 - bl AllocSpritePalette - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gUnknown_0854C270 - lsls r1, r5, 5 - ldr r2, =gPlttBufferUnfaded + 0x200 - adds r1, r2 - ldr r2, =0x04000008 - bl CpuSet - bl sub_80AB294 - ldr r4, =gUnknown_02038454 - ldr r1, =0x000006d5 - adds r0, r4, r1 - strb r5, [r0] - ldr r0, =0x00001201 - bl AllocSpritePalette - ldr r2, =0x000006d4 - adds r1, r4, r2 - strb r0, [r1] - ldr r1, =0x000006da - adds r0, r4, r1 - strb r6, [r0] - adds r2, 0x4 - adds r0, r4, r2 - strb r6, [r0] - adds r1, 0x4 - adds r0, r4, r1 - strb r6, [r0] - adds r2, 0xC - adds r0, r4, r2 - strb r6, [r0] - adds r1, 0x22 - adds r0, r4, r1 - strb r6, [r0] - adds r2, 0x17 - adds r0, r4, r2 - strb r6, [r0] - adds r1, 0x24 - adds r0, r4, r1 - strb r6, [r0] - adds r2, 0x1B - adds r0, r4, r2 - strb r6, [r0] - subs r1, 0xD - adds r0, r4, r1 - strb r6, [r0] - adds r2, 0x18 - adds r0, r4, r2 - strb r6, [r0] - subs r1, 0x1D - adds r0, r4, r1 - strb r6, [r0] - movs r0, 0x10 - movs r1, 0 - bl sub_80AC124 - movs r2, 0xDA - lsls r2, 3 - adds r0, r4, r2 - strb r6, [r0] - ldr r0, =0x000006c6 - adds r1, r4, r0 - movs r0, 0x3 - strb r0, [r1] - movs r1, 0xD9 - lsls r1, 3 - adds r0, r4, r1 - strb r6, [r0] - adds r2, 0x3 - adds r1, r4, r2 - movs r0, 0x1 - strb r0, [r1] - ldr r0, =sub_80AB160 - movs r1, 0x50 - bl CreateTask - ldr r1, =0x000006c9 - adds r4, r1 - strb r0, [r4] -_080AB060: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AAFA4 - - thumb_func_start weather_set -weather_set: @ 80AB098 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - beq _080AB0AE - cmp r4, 0x5 - beq _080AB0AE - cmp r4, 0xD - beq _080AB0AE - bl play_some_sound -_080AB0AE: - ldr r1, =gUnknown_02038454 - ldr r2, =0x000006d1 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, r4 - beq _080AB0D2 - movs r3, 0xDA - lsls r3, 3 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, r4 - bne _080AB0D2 - ldr r0, =gUnknown_0854C150 - lsls r1, r4, 4 - adds r1, r0 - ldr r0, [r1] - bl _call_via_r0 -_080AB0D2: - ldr r1, =gUnknown_02038454 - ldr r2, =0x000006d3 - adds r0, r1, r2 - movs r2, 0 - strb r2, [r0] - ldr r3, =0x000006d1 - adds r0, r1, r3 - strb r4, [r0] - ldr r0, =0x000006ce - adds r1, r0 - strh r2, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end weather_set - - thumb_func_start sub_80AB104 -sub_80AB104: @ 80AB104 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl play_some_sound - ldr r0, =gUnknown_02038454 - movs r2, 0xDA - lsls r2, 3 - adds r1, r0, r2 - strb r4, [r1] - ldr r1, =0x000006d1 - adds r0, r1 - strb r4, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AB104 - - thumb_func_start sub_80AB130 -sub_80AB130: @ 80AB130 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl play_some_sound - ldr r1, =gUnknown_02038454 - movs r2, 0xDA - lsls r2, 3 - adds r0, r1, r2 - strb r4, [r0] - adds r2, 0x1 - adds r0, r1, r2 - strb r4, [r0] - movs r0, 0xD9 - lsls r0, 3 - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AB130 - - thumb_func_start sub_80AB160 -sub_80AB160: @ 80AB160 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, =gUnknown_02038454 - movs r1, 0xD9 - lsls r1, 3 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080AB198 - ldr r1, =gUnknown_0854C150 - movs r3, 0xDA - lsls r3, 3 - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, 4 - adds r1, 0x8 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80AB1B0 - str r1, [r0] -_080AB198: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AB160 - - thumb_func_start sub_80AB1B0 -sub_80AB1B0: @ 80AB1B0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r5, =gUnknown_02038454 - movs r0, 0xDA - lsls r0, 3 - adds r6, r5, r0 - ldr r1, =0x000006d1 - adds r7, r5, r1 - ldrb r0, [r6] - ldrb r2, [r7] - cmp r0, r2 - beq _080AB22C - ldr r0, =gUnknown_0854C150 - mov r9, r0 - ldrb r0, [r6] - lsls r0, 4 - mov r1, r9 - adds r1, 0xC - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080AB23C - ldr r1, =0x000006c6 - adds r1, r5 - mov r8, r1 - ldrb r0, [r1] - cmp r0, 0x2 - beq _080AB23C - ldrb r0, [r7] - lsls r0, 4 - add r0, r9 - ldr r0, [r0] - bl _call_via_r0 - ldr r2, =0x000006c3 - adds r0, r5, r2 - strb r4, [r0] - mov r0, r8 - strb r4, [r0] - ldrb r0, [r7] - strb r0, [r6] - adds r2, 0x10 - adds r1, r5, r2 - movs r0, 0x1 - strb r0, [r1] - b _080AB23C - .pool -_080AB22C: - ldr r0, =gUnknown_0854C150 - ldrb r1, [r6] - lsls r1, 4 - adds r0, 0x4 - adds r1, r0 - ldr r0, [r1] - bl _call_via_r0 -_080AB23C: - ldr r1, =gUnknown_0854C240 - ldr r0, =gUnknown_02038454 - ldr r2, =0x000006c6 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AB1B0 - - thumb_func_start sub_80AB26C -sub_80AB26C: @ 80AB26C - ldr r0, =gUnknown_02038454 - ldr r2, =0x000006c1 - adds r1, r0, r2 - movs r2, 0 - strb r2, [r1] - ldr r1, =0x000006c2 - adds r0, r1 - strb r2, [r0] - bx lr - .pool - thumb_func_end sub_80AB26C - - thumb_func_start nullsub_36 -nullsub_36: @ 80AB28C - bx lr - thumb_func_end nullsub_36 - - thumb_func_start sub_80AB290 -sub_80AB290: @ 80AB290 - movs r0, 0 - bx lr - thumb_func_end sub_80AB290 - - thumb_func_start sub_80AB294 -sub_80AB294: @ 80AB294 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r1, =gUnknown_03000F50 - ldr r0, =gUnknown_0854C250 - str r0, [r1] - movs r0, 0 - mov r12, r0 - ldr r1, =gUnknown_020388B4 - mov r10, r1 -_080AB2AC: - mov r7, r10 - mov r0, r12 - cmp r0, 0 - bne _080AB2B8 - ldr r1, =0xfffffda0 - adds r7, r1 -_080AB2B8: - movs r5, 0 - movs r0, 0x1 - add r0, r12 - mov r9, r0 -_080AB2C0: - lsls r1, r5, 8 - lsls r0, r5, 24 - lsrs r2, r0, 16 - mov r0, r12 - cmp r0, 0 - bne _080AB2E4 - adds r0, r1, 0 - lsls r0, 12 - lsrs r4, r0, 16 - b _080AB2E6 - .pool -_080AB2E4: - movs r4, 0 -_080AB2E6: - movs r3, 0 - adds r1, r5, 0x1 - mov r8, r1 -_080AB2EC: - subs r1, r2, r4 - lsls r1, 16 - lsrs r2, r1, 16 - lsls r0, r3, 5 - adds r0, r7 - adds r0, r5 - lsrs r1, 24 - strb r1, [r0] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x2 - bls _080AB2EC - adds r6, r2, 0 - movs r0, 0xF8 - lsls r0, 5 - subs r0, r2 - cmp r0, 0 - bge _080AB314 - adds r0, 0xF -_080AB314: - lsls r0, 12 - lsrs r4, r0, 16 - cmp r5, 0xB - bhi _080AB35E - cmp r3, 0x12 - bhi _080AB384 -_080AB320: - adds r0, r2, r4 - lsls r0, 16 - lsrs r2, r0, 16 - subs r0, r2, r6 - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - ble _080AB33C - lsrs r0, 31 - adds r0, r1, r0 - asrs r0, 1 - subs r0, r2, r0 - lsls r0, 16 - lsrs r2, r0, 16 -_080AB33C: - lsls r0, r3, 5 - adds r0, r7 - adds r1, r0, r5 - lsrs r0, r2, 8 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _080AB352 - movs r0, 0x1F - strb r0, [r1] -_080AB352: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x12 - bls _080AB320 - b _080AB384 -_080AB35E: - cmp r3, 0x12 - bhi _080AB384 - movs r6, 0x1F -_080AB364: - adds r1, r2, r4 - lsls r1, 16 - lsrs r2, r1, 16 - lsls r0, r3, 5 - adds r0, r7 - adds r0, r5 - lsrs r1, 24 - strb r1, [r0] - cmp r1, 0x1F - bls _080AB37A - strb r6, [r0] -_080AB37A: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x12 - bls _080AB364 -_080AB384: - mov r1, r8 - lsls r0, r1, 16 - lsrs r5, r0, 16 - cmp r5, 0x1F - bls _080AB2C0 - mov r1, r9 - lsls r0, r1, 16 - lsrs r0, 16 - mov r12, r0 - cmp r0, 0x1 - bls _080AB2AC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80AB294 - - thumb_func_start sub_80AB3A8 -sub_80AB3A8: @ 80AB3A8 - push {r4-r7,lr} - ldr r0, =gUnknown_02038454 - ldr r1, =0x000006c6 - adds r2, r0, r1 - ldrb r1, [r2] - adds r3, r0, 0 - cmp r1, 0x2 - beq _080AB42C - movs r7, 0xD8 - lsls r7, 3 - adds r4, r3, r7 - ldr r1, =0x000006c1 - adds r0, r3, r1 - ldrb r7, [r4] - mov r12, r7 - movs r6, 0 - ldrsb r6, [r4, r6] - movs r5, 0 - ldrsb r5, [r0, r5] - cmp r6, r5 - bne _080AB3E4 - movs r0, 0x3 - strb r0, [r2] - b _080AB42C - .pool -_080AB3E4: - ldr r0, =0x000006c3 - adds r2, r3, r0 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - ldr r7, =0x000006c2 - adds r1, r3, r7 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bcc _080AB42C - movs r0, 0 - strb r0, [r2] - mov r0, r12 - cmp r6, r5 - bge _080AB414 - adds r0, 0x1 - b _080AB418 - .pool -_080AB414: - mov r0, r12 - subs r0, 0x1 -_080AB418: - strb r0, [r4] - movs r1, 0xD8 - lsls r1, 3 - adds r0, r3, r1 - movs r2, 0 - ldrsb r2, [r0, r2] - movs r0, 0 - movs r1, 0x20 - bl pal_fade_2 -_080AB42C: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80AB3A8 - - thumb_func_start sub_80AB434 -sub_80AB434: @ 80AB434 - push {lr} - ldr r2, =gUnknown_02038454 - ldr r0, =0x000006cb - adds r1, r2, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _080AB452 - ldr r3, =0x000006ca - adds r1, r2, r3 - movs r0, 0 - strb r0, [r1] -_080AB452: - movs r1, 0xDA - lsls r1, 3 - adds r0, r2, r1 - ldrb r0, [r0] - subs r0, 0x3 - cmp r0, 0xA - bhi _080AB51C - lsls r0, 2 - ldr r1, =_080AB47C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080AB47C: - .4byte _080AB4A8 - .4byte _080AB4A8 - .4byte _080AB4A8 - .4byte _080AB4F4 - .4byte _080AB51C - .4byte _080AB51C - .4byte _080AB51C - .4byte _080AB51C - .4byte _080AB4A8 - .4byte _080AB4D0 - .4byte _080AB4A8 -_080AB4A8: - bl sub_80AB54C - lsls r0, 24 - cmp r0, 0 - bne _080AB53C - ldr r0, =gUnknown_02038454 - movs r2, 0xD8 - lsls r2, 3 - adds r1, r0, r2 - movs r2, 0x3 - strb r2, [r1] - ldr r3, =0x000006c6 - adds r0, r3 - strb r2, [r0] - b _080AB53C - .pool -_080AB4D0: - bl sub_80AB5AC - lsls r0, 24 - cmp r0, 0 - bne _080AB53C - ldr r1, =gUnknown_02038454 - movs r0, 0xD8 - lsls r0, 3 - adds r2, r1, r0 - movs r0, 0xFA - strb r0, [r2] - ldr r2, =0x000006c6 - adds r1, r2 - b _080AB538 - .pool -_080AB4F4: - bl sub_80AB604 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _080AB53C - ldr r0, =gUnknown_02038454 - movs r3, 0xD8 - lsls r3, 3 - adds r1, r0, r3 - strb r2, [r1] - ldr r1, =0x000006c6 - adds r0, r1 - movs r1, 0x3 - strb r1, [r0] - b _080AB53C - .pool -_080AB51C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080AB53C - ldr r3, =0x000006c1 - adds r0, r2, r3 - ldrb r1, [r0] - subs r3, 0x1 - adds r0, r2, r3 - strb r1, [r0] - ldr r0, =0x000006c6 - adds r1, r2, r0 -_080AB538: - movs r0, 0x3 - strb r0, [r1] -_080AB53C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AB434 - - thumb_func_start sub_80AB54C -sub_80AB54C: @ 80AB54C - push {r4,lr} - sub sp, 0x4 - ldr r2, =gUnknown_02038454 - ldr r0, =0x000006c7 - adds r4, r2, r0 - ldrb r0, [r4] - cmp r0, 0x10 - beq _080AB5A2 - adds r1, r0, 0x1 - strb r1, [r4] - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, 0xF - bhi _080AB594 - movs r3, 0x10 - subs r3, r1 - lsls r3, 24 - lsrs r3, 24 - ldr r1, =0x000006c4 - adds r0, r2, r1 - ldrh r0, [r0] - str r0, [sp] - movs r0, 0 - movs r1, 0x20 - movs r2, 0x3 - bl sub_80AB848 - movs r0, 0x1 - b _080AB5A4 - .pool -_080AB594: - movs r0, 0 - movs r1, 0x20 - movs r2, 0x3 - bl pal_fade_2 - movs r0, 0x10 - strb r0, [r4] -_080AB5A2: - movs r0, 0 -_080AB5A4: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80AB54C - - thumb_func_start sub_80AB5AC -sub_80AB5AC: @ 80AB5AC - push {r4,lr} - ldr r2, =gUnknown_02038454 - ldr r0, =0x000006c7 - adds r4, r2, r0 - ldrb r0, [r4] - cmp r0, 0x10 - beq _080AB5FC - adds r3, r0, 0x1 - strb r3, [r4] - lsls r0, r3, 24 - lsrs r0, 24 - cmp r0, 0xF - bhi _080AB5EC - movs r0, 0x6 - negs r0, r0 - movs r1, 0x10 - subs r1, r3 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =0x000006c4 - adds r2, r3 - ldrh r2, [r2] - bl sub_80AB990 - movs r0, 0x1 - b _080AB5FE - .pool -_080AB5EC: - movs r2, 0x6 - negs r2, r2 - movs r0, 0 - movs r1, 0x20 - bl pal_fade_2 - movs r0, 0x10 - strb r0, [r4] -_080AB5FC: - movs r0, 0 -_080AB5FE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80AB5AC - - thumb_func_start sub_80AB604 -sub_80AB604: @ 80AB604 - push {lr} - ldr r2, =gUnknown_02038454 - ldr r1, =0x000006c7 - adds r0, r2, r1 - ldrb r1, [r0] - cmp r1, 0x10 - beq _080AB638 - adds r1, 0x1 - strb r1, [r0] - movs r0, 0x10 - subs r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldr r3, =0x000006c4 - adds r1, r2, r3 - ldrh r1, [r1] - bl sub_80ABAB0 - movs r0, 0x1 - b _080AB63A - .pool -_080AB638: - movs r0, 0 -_080AB63A: - pop {r1} - bx r1 - thumb_func_end sub_80AB604 - - thumb_func_start nullsub_94 -nullsub_94: @ 80AB640 - bx lr - thumb_func_end nullsub_94 - - thumb_func_start pal_fade_2 -pal_fade_2: @ 80AB644 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r3, r0, 24 - adds r4, r3, 0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - asrs r0, r2, 24 - cmp r0, 0 - ble _080AB754 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - lsls r6, r3, 4 - adds r0, r1, r3 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - cmp r4, r9 - bcc _080AB67C - b _080AB82E -_080AB67C: - ldr r1, [sp] - lsls r0, r1, 24 - asrs r0, 19 - str r0, [sp, 0x4] -_080AB684: - ldr r0, =gUnknown_03000F50 - ldr r0, [r0] - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _080AB6C0 - lsls r1, r6, 1 - ldr r0, =gPlttBufferUnfaded - adds r0, r1, r0 - ldr r2, =gPlttBufferFaded - adds r1, r2 - movs r2, 0x8 - bl CpuFastSet - adds r0, r6, 0 - adds r0, 0x10 - lsls r0, 16 - lsrs r6, r0, 16 - mov r2, r9 - lsls r2, 16 - mov r8, r2 - adds r4, 0x1 - mov r12, r4 - b _080AB73E - .pool -_080AB6C0: - cmp r0, 0x2 - beq _080AB6D4 - adds r1, r4, 0 - subs r1, 0x10 - ldr r2, =gUnknown_02038454 - ldr r3, =0x000006d5 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r1, r0 - bne _080AB6E4 -_080AB6D4: - ldr r0, =gUnknown_020388B4 - b _080AB6EA - .pool -_080AB6E4: - movs r3, 0x80 - lsls r3, 2 - adds r0, r2, r3 -_080AB6EA: - ldr r1, [sp, 0x4] - adds r5, r1, r0 - movs r7, 0 - mov r2, r9 - lsls r2, 16 - mov r8, r2 - adds r4, 0x1 - mov r12, r4 - ldr r3, =gPlttBufferFaded - mov r10, r3 -_080AB6FE: - adds r2, r6, 0 - lsls r0, r2, 1 - ldr r1, =gPlttBufferUnfaded - adds r0, r1 - ldr r1, [r0] - lsls r0, r1, 27 - lsrs r0, 27 - adds r0, r5, r0 - ldrb r4, [r0] - lsls r0, r1, 22 - lsrs r0, 27 - adds r0, r5, r0 - ldrb r3, [r0] - lsls r1, 17 - lsrs r1, 27 - adds r1, r5, r1 - ldrb r1, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r2, 1 - add r2, r10 - lsls r1, 10 - lsls r3, 5 - orrs r1, r3 - orrs r1, r4 - strh r1, [r2] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0xF - bls _080AB6FE -_080AB73E: - mov r2, r12 - lsls r0, r2, 16 - lsrs r4, r0, 16 - cmp r0, r8 - bcc _080AB684 - b _080AB82E - .pool -_080AB754: - cmp r0, 0 - bge _080AB81C - mvns r0, r0 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - lsls r6, r3, 4 - adds r0, r1, r3 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - adds r4, r3, 0 - cmp r4, r9 - bcs _080AB82E -_080AB770: - ldr r0, =gUnknown_03000F50 - ldr r0, [r0] - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _080AB7AC - lsls r1, r6, 1 - ldr r0, =gPlttBufferUnfaded - adds r0, r1, r0 - ldr r2, =gPlttBufferFaded - adds r1, r2 - movs r2, 0x8 - bl CpuFastSet - adds r0, r6, 0 - adds r0, 0x10 - lsls r0, 16 - lsrs r6, r0, 16 - mov r3, r9 - lsls r3, 16 - mov r8, r3 - adds r4, 0x1 - mov r12, r4 - b _080AB804 - .pool -_080AB7AC: - movs r7, 0 - mov r0, r9 - lsls r0, 16 - mov r8, r0 - adds r4, 0x1 - mov r12, r4 - ldr r1, =gUnknown_0854014C - mov r10, r1 - ldr r2, [sp] - lsls r0, r2, 24 - asrs r5, r0, 11 -_080AB7C2: - lsls r0, r6, 1 - ldr r3, =gPlttBufferFaded - adds r4, r0, r3 - ldr r1, =gPlttBufferUnfaded - adds r0, r1 - ldrh r3, [r0] - lsls r3, 16 - lsrs r0, r3, 17 - movs r1, 0xF - ands r0, r1 - lsrs r1, r3, 18 - movs r2, 0xF0 - ands r1, r2 - orrs r0, r1 - lsrs r3, 19 - movs r2, 0xF0 - lsls r2, 4 - adds r1, r2, 0 - ands r3, r1 - orrs r0, r3 - lsls r0, 1 - adds r0, r5 - add r0, r10 - ldrh r0, [r0] - strh r0, [r4] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0xF - bls _080AB7C2 -_080AB804: - mov r3, r12 - lsls r0, r3, 16 - lsrs r4, r0, 16 - cmp r0, r8 - bcc _080AB770 - b _080AB82E - .pool -_080AB81C: - lsls r1, r4, 5 - ldr r0, =gPlttBufferUnfaded - adds r0, r1, r0 - ldr r2, =gPlttBufferFaded - adds r1, r2 - mov r3, r9 - lsls r2, r3, 3 - bl CpuFastSet -_080AB82E: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end pal_fade_2 - - thumb_func_start sub_80AB848 -sub_80AB848: @ 80AB848 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - ldr r4, [sp, 0x34] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - mov r1, sp - strh r4, [r1] - ldr r1, [sp] - lsls r3, r1, 27 - lsrs r3, 27 - str r3, [sp, 0x4] - lsls r3, r1, 22 - lsrs r3, 27 - str r3, [sp, 0x8] - lsls r1, 17 - lsrs r1, 27 - str r1, [sp, 0xC] - lsls r6, r0, 4 - mov r3, r10 - adds r1, r3, r0 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r2, 24 - movs r1, 0xFF - lsls r1, 24 - adds r2, r1 - lsrs r2, 24 - adds r4, r0, 0 - cmp r4, r10 - bcs _080AB974 - lsls r0, r2, 24 - asrs r0, 19 - str r0, [sp, 0x10] -_080AB8A0: - ldr r0, =gUnknown_03000F50 - ldr r0, [r0] - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _080AB8D4 - mov r0, sp - ldrh r3, [r0] - adds r0, r6, 0 - movs r1, 0x10 - mov r2, r8 - bl BlendPalette - adds r0, r6, 0 - adds r0, 0x10 - lsls r0, 16 - lsrs r6, r0, 16 - mov r3, r10 - lsls r3, 16 - mov r9, r3 - adds r4, 0x1 - mov r12, r4 - b _080AB96A - .pool -_080AB8D4: - cmp r0, 0x1 - bne _080AB8E4 - ldr r0, =gUnknown_02038654 - ldr r1, [sp, 0x10] - adds r5, r1, r0 - b _080AB8EA - .pool -_080AB8E4: - ldr r0, =gUnknown_020388B4 - ldr r3, [sp, 0x10] - adds r5, r3, r0 -_080AB8EA: - movs r7, 0 - mov r0, r10 - lsls r0, 16 - mov r9, r0 - adds r4, 0x1 - mov r12, r4 -_080AB8F6: - adds r4, r6, 0 - lsls r0, r4, 1 - ldr r1, =gPlttBufferUnfaded - adds r0, r1 - ldr r1, [r0] - lsls r0, r1, 27 - lsrs r0, 27 - adds r0, r5, r0 - ldrb r3, [r0] - lsls r0, r1, 22 - lsrs r0, 27 - adds r0, r5, r0 - ldrb r2, [r0] - lsls r1, 17 - lsrs r1, 27 - adds r1, r5, r1 - ldrb r1, [r1] - ldr r6, [sp, 0x4] - subs r0, r6, r3 - mov r6, r8 - muls r6, r0 - adds r0, r6, 0 - asrs r0, 4 - adds r3, r0 - lsls r3, 24 - lsrs r3, 24 - ldr r6, [sp, 0x8] - subs r0, r6, r2 - mov r6, r8 - muls r6, r0 - adds r0, r6, 0 - asrs r0, 4 - adds r2, r0 - lsls r2, 24 - ldr r6, [sp, 0xC] - subs r0, r6, r1 - mov r6, r8 - muls r6, r0 - adds r0, r6, 0 - asrs r0, 4 - adds r1, r0 - lsls r1, 24 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r4, 1 - ldr r0, =gPlttBufferFaded - adds r4, r0 - lsrs r1, 14 - lsrs r2, 19 - orrs r1, r2 - orrs r1, r3 - strh r1, [r4] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0xF - bls _080AB8F6 -_080AB96A: - mov r1, r12 - lsls r0, r1, 16 - lsrs r4, r0, 16 - cmp r0, r9 - bcc _080AB8A0 -_080AB974: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AB848 - - thumb_func_start sub_80AB990 -sub_80AB990: @ 80AB990 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r1, 24 - lsrs r6, r1, 24 - mov r1, sp - strh r2, [r1] - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - eors r0, r1 - lsrs r0, 24 - str r0, [sp, 0x4] - ldr r0, [sp] - lsls r1, r0, 27 - lsrs r1, 27 - str r1, [sp, 0x8] - lsls r1, r0, 22 - lsrs r1, 27 - str r1, [sp, 0xC] - lsls r0, 17 - lsrs r0, 27 - mov r10, r0 - movs r5, 0 - movs r4, 0 -_080AB9C8: - ldr r0, =gUnknown_03000F50 - ldr r0, [r0] - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _080AB9F4 - mov r0, sp - ldrh r3, [r0] - adds r0, r5, 0 - movs r1, 0x10 - adds r2, r6, 0 - bl BlendPalette - adds r0, r5, 0 - adds r0, 0x10 - lsls r0, 16 - lsrs r5, r0, 16 - adds r4, 0x1 - mov r8, r4 - b _080ABA8A - .pool -_080AB9F4: - movs r0, 0 - mov r12, r0 - ldr r1, [sp, 0x4] - lsls r0, r1, 24 - adds r4, 0x1 - mov r8, r4 - movs r7, 0x1E - asrs r0, 11 - mov r9, r0 -_080ABA06: - adds r4, r5, 0 - lsls r0, r4, 1 - ldr r5, =gPlttBufferUnfaded - adds r0, r5 - ldr r0, [r0] - lsls r2, r0, 27 - lsrs r2, 27 - lsls r1, r0, 22 - lsrs r1, 27 - lsls r0, 17 - lsrs r0, 27 - ands r0, r7 - lsls r0, 7 - ands r1, r7 - lsls r1, 3 - orrs r0, r1 - ands r2, r7 - lsls r0, 1 - orrs r0, r2 - add r0, r9 - ldr r1, =gUnknown_0854014C - adds r0, r1 - ldr r1, [r0] - lsls r3, r1, 27 - lsrs r3, 27 - lsls r2, r1, 22 - lsrs r2, 27 - lsls r1, 17 - lsrs r1, 27 - ldr r5, [sp, 0x8] - subs r0, r5, r3 - muls r0, r6 - asrs r0, 4 - adds r3, r0 - lsls r3, 24 - lsrs r3, 24 - ldr r5, [sp, 0xC] - subs r0, r5, r2 - muls r0, r6 - asrs r0, 4 - adds r2, r0 - lsls r2, 24 - mov r5, r10 - subs r0, r5, r1 - muls r0, r6 - asrs r0, 4 - adds r1, r0 - lsls r1, 24 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r4, 1 - ldr r0, =gPlttBufferFaded - adds r4, r0 - lsrs r1, 14 - lsrs r2, 19 - orrs r1, r2 - orrs r1, r3 - strh r1, [r4] - mov r0, r12 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r12, r0 - cmp r0, 0xF - bls _080ABA06 -_080ABA8A: - mov r1, r8 - lsls r0, r1, 16 - lsrs r4, r0, 16 - cmp r4, 0x1F - bls _080AB9C8 - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AB990 - - thumb_func_start sub_80ABAB0 -sub_80ABAB0: @ 80ABAB0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - adds r3, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r3, 16 - lsrs r3, 16 - mov r0, sp - strh r3, [r0] - movs r1, 0x80 - lsls r1, 1 - movs r0, 0 - adds r2, r7, 0 - bl BlendPalette - ldr r0, [sp] - lsls r1, r0, 27 - lsrs r1, 27 - str r1, [sp, 0x4] - lsls r1, r0, 22 - lsrs r1, 27 - str r1, [sp, 0x8] - lsls r0, 17 - lsrs r0, 27 - mov r10, r0 - movs r4, 0x10 -_080ABAEC: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_80ABC00 - lsls r0, 24 - cmp r0, 0 - beq _080ABB9C - adds r0, r4, 0x1 - lsls r1, r0, 20 - lsrs r1, 16 - mov r12, r1 - lsls r1, r4, 20 - lsrs r6, r1, 16 - mov r9, r0 - cmp r6, r12 - bcs _080ABBB0 - movs r0, 0x1C - mov r8, r0 -_080ABB10: - lsls r5, r6, 1 - ldr r0, =gPlttBufferUnfaded - adds r0, r5, r0 - ldr r2, [r0] - lsls r4, r2, 27 - lsrs r4, 27 - lsls r3, r2, 22 - lsrs r3, 27 - lsls r2, 17 - lsrs r2, 27 - mov r0, r8 - subs r1, r0, r4 - lsls r0, r1, 1 - adds r0, r1 - asrs r0, 2 - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - movs r1, 0x1F - subs r1, r3 - lsls r0, r1, 1 - adds r0, r1 - asrs r0, 2 - adds r3, r0 - lsls r3, 24 - lsrs r3, 24 - mov r0, r8 - subs r1, r0, r2 - lsls r0, r1, 1 - adds r0, r1 - asrs r0, 2 - adds r2, r0 - lsls r2, 24 - lsrs r2, 24 - ldr r1, [sp, 0x4] - subs r0, r1, r4 - muls r0, r7 - asrs r0, 4 - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, [sp, 0x8] - subs r0, r1, r3 - muls r0, r7 - asrs r0, 4 - adds r3, r0 - lsls r3, 24 - mov r1, r10 - subs r0, r1, r2 - muls r0, r7 - asrs r0, 4 - adds r2, r0 - lsls r2, 24 - ldr r0, =gPlttBufferFaded - adds r5, r0 - lsrs r2, 14 - lsrs r3, 19 - orrs r2, r3 - orrs r2, r4 - strh r2, [r5] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, r12 - bcc _080ABB10 - b _080ABBB0 - .pool -_080ABB9C: - lsls r0, r4, 20 - lsrs r0, 16 - mov r1, sp - ldrh r3, [r1] - movs r1, 0x10 - adds r2, r7, 0 - bl BlendPalette - adds r4, 0x1 - mov r9, r4 -_080ABBB0: - mov r1, r9 - lsls r0, r1, 16 - lsrs r4, r0, 16 - cmp r4, 0x1F - bls _080ABAEC - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80ABAB0 - - thumb_func_start sub_80ABBCC -sub_80ABBCC: @ 80ABBCC - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r3, =gUnknown_02038454 - ldr r0, =0x000006fa - adds r1, r3, r0 - ldrb r0, [r1] - cmp r0, 0x5 - bhi _080ABBEE - ldr r4, =0x000006f4 - adds r0, r3, r4 - ldrb r3, [r1] - adds r0, r3 - strb r2, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080ABBEE: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80ABBCC - - thumb_func_start sub_80ABC00 -sub_80ABC00: @ 80ABC00 - push {r4,r5,lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r1, 0 - ldr r2, =gUnknown_02038454 - ldr r4, =0x000006fa - adds r0, r2, r4 - ldrb r0, [r0] - cmp r1, r0 - bcs _080ABC3E - ldr r5, =0x000006f4 - adds r4, r2, r5 - adds r2, r0, 0 -_080ABC1A: - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, r3 - bne _080ABC34 - movs r0, 0x1 - b _080ABC40 - .pool -_080ABC34: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r2 - bcc _080ABC1A -_080ABC3E: - movs r0, 0 -_080ABC40: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80ABC00 - - thumb_func_start sub_80ABC48 -sub_80ABC48: @ 80ABC48 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, =gUnknown_02038454 - ldr r1, =0x000006c6 - adds r0, r5, r1 - ldrb r0, [r0] - cmp r0, 0x3 - bne _080ABC6E - lsls r2, r4, 24 - asrs r2, 24 - movs r0, 0 - movs r1, 0x20 - bl pal_fade_2 - movs r1, 0xD8 - lsls r1, 3 - adds r0, r5, r1 - strb r4, [r0] -_080ABC6E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80ABC48 - - thumb_func_start sub_80ABC7C -sub_80ABC7C: @ 80ABC7C - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r3, =gUnknown_02038454 - ldr r0, =0x000006c6 - adds r2, r3, r0 - ldrb r0, [r2] - cmp r0, 0x3 - bne _080ABCBC - movs r1, 0 - strb r1, [r2] - movs r2, 0xD8 - lsls r2, 3 - adds r0, r3, r2 - strb r4, [r0] - adds r2, 0x1 - adds r0, r3, r2 - strb r5, [r0] - adds r2, 0x2 - adds r0, r3, r2 - strb r1, [r0] - ldr r1, =0x000006c2 - adds r0, r3, r1 - strb r6, [r0] - lsls r0, r4, 24 - asrs r0, 24 - bl sub_80ABC48 -_080ABCBC: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80ABC7C - - thumb_func_start FadeScreen -FadeScreen: @ 80ABCD0 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - cmp r0, 0x1 - beq _080ABD08 - cmp r0, 0x1 - bgt _080ABCEC - cmp r0, 0 - beq _080ABCF6 - b _080ABDE4 -_080ABCEC: - cmp r2, 0x2 - beq _080ABCFC - cmp r2, 0x3 - beq _080ABD0C - b _080ABDE4 -_080ABCF6: - movs r4, 0 - movs r1, 0 - b _080ABD10 -_080ABCFC: - ldr r4, =0x0000ffff - movs r1, 0 - b _080ABD10 - .pool -_080ABD08: - movs r4, 0 - b _080ABD0E -_080ABD0C: - ldr r4, =0x0000ffff -_080ABD0E: - movs r1, 0x1 -_080ABD10: - ldr r0, =gUnknown_02038454 - movs r2, 0xDA - lsls r2, 3 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x3 - blt _080ABD38 - cmp r0, 0x6 - ble _080ABD2A - cmp r0, 0xD - bgt _080ABD38 - cmp r0, 0xB - blt _080ABD38 -_080ABD2A: - movs r2, 0x1 - b _080ABD3A - .pool -_080ABD38: - movs r2, 0 -_080ABD3A: - cmp r1, 0 - beq _080ABD7C - cmp r2, 0 - beq _080ABD4E - ldr r0, =gPlttBufferFaded - ldr r1, =gPlttBufferUnfaded - movs r2, 0x80 - lsls r2, 1 - bl CpuFastSet -_080ABD4E: - movs r0, 0x1 - negs r0, r0 - lsls r1, r5, 24 - asrs r1, 24 - str r4, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_02038454 - ldr r3, =0x000006c6 - adds r0, r3 - movs r1, 0x2 - strb r1, [r0] - b _080ABDE4 - .pool -_080ABD7C: - ldr r1, =gUnknown_02038454 - ldr r3, =0x000006c4 - adds r0, r1, r3 - strh r4, [r0] - cmp r2, 0 - beq _080ABDA0 - ldr r0, =0x000006c7 - adds r1, r0 - movs r0, 0 - strb r0, [r1] - b _080ABDB2 - .pool -_080ABDA0: - movs r0, 0x1 - negs r0, r0 - lsls r1, r5, 24 - asrs r1, 24 - str r4, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_080ABDB2: - ldr r4, =gUnknown_02038454 - ldr r1, =0x000006c6 - adds r0, r4, r1 - movs r1, 0 - movs r5, 0x1 - strb r5, [r0] - ldr r2, =0x000006ca - adds r0, r4, r2 - strb r5, [r0] - ldr r3, =0x000006cb - adds r0, r4, r3 - strb r1, [r0] - movs r1, 0xE6 - lsls r1, 3 - adds r0, r4, r1 - ldrb r0, [r0] - adds r2, 0x68 - adds r1, r4, r2 - ldrb r1, [r1] - bl sub_80AC124 - movs r3, 0xD9 - lsls r3, 3 - adds r4, r3 - strb r5, [r4] -_080ABDE4: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FadeScreen - - thumb_func_start IsWeatherNotFadingIn -IsWeatherNotFadingIn: @ 80ABDFC - ldr r0, =gUnknown_02038454 - ldr r1, =0x000006c6 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - bx lr - .pool - thumb_func_end IsWeatherNotFadingIn - - thumb_func_start UpdateSpritePaletteWithWeather -@ void UpdateSpritePaletteWithWeather(u8 a1) -UpdateSpritePaletteWithWeather: @ 80ABE18 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 8 - movs r1, 0x80 - lsls r1, 13 - adds r0, r1 - lsrs r4, r0, 16 - ldr r5, =gUnknown_02038454 - ldr r2, =0x000006c6 - adds r0, r5, r2 - ldrb r0, [r0] - adds r1, r5, 0 - cmp r0, 0x1 - beq _080ABE60 - cmp r0, 0x2 - beq _080ABEAC - adds r2, 0xA - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x6 - beq _080ABEE4 - lsls r0, r4, 24 - lsrs r0, 24 - subs r2, 0x10 - adds r1, r2 - movs r2, 0 - ldrsb r2, [r1, r2] - movs r1, 0x1 - bl pal_fade_2 - b _080ABEF4 - .pool -_080ABE60: - ldr r2, =0x000006ca - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080ABEF4 - adds r2, 0x6 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x6 - bne _080ABE7C - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_80ABBCC -_080ABE7C: - lsls r0, r4, 20 - lsrs r4, r0, 16 - movs r2, 0 - ldr r6, =gPlttBufferFaded - ldr r0, =0x000006c4 - adds r3, r5, r0 -_080ABE88: - adds r0, r4, r2 - lsls r0, 1 - adds r0, r6 - ldrh r1, [r3] - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0xF - bls _080ABE88 - b _080ABEF4 - .pool -_080ABEAC: - lsls r0, r4, 20 - lsrs r4, r0, 16 - lsls r1, r4, 1 - ldr r0, =gPlttBufferFaded - adds r0, r1, r0 - ldr r2, =gPlttBufferUnfaded - adds r1, r2 - movs r2, 0x8 - bl CpuFastSet - ldr r0, =gPaletteFade - ldrh r2, [r0, 0x4] - lsls r2, 21 - lsrs r2, 27 - ldrh r3, [r0, 0x6] - lsls r3, 17 - lsrs r3, 17 - adds r0, r4, 0 - movs r1, 0x10 - bl BlendPalette - b _080ABEF4 - .pool -_080ABEE4: - lsls r0, r4, 20 - lsrs r4, r0, 16 - ldr r3, =0x000073fc - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0xC - bl BlendPalette -_080ABEF4: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end UpdateSpritePaletteWithWeather - - thumb_func_start ApplyWeatherGammaShiftToPal -ApplyWeatherGammaShiftToPal: @ 80ABF00 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_02038454 - movs r2, 0xD8 - lsls r2, 3 - adds r1, r2 - movs r2, 0 - ldrsb r2, [r1, r2] - movs r1, 0x1 - bl pal_fade_2 - pop {r0} - bx r0 - .pool - thumb_func_end ApplyWeatherGammaShiftToPal - - thumb_func_start sub_80ABF20 -sub_80ABF20: @ 80ABF20 - push {lr} - ldr r1, =gUnknown_02038454 - ldr r2, =0x000006c6 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080ABF3C - movs r0, 0 - b _080ABF42 - .pool -_080ABF3C: - ldr r2, =0x000006ca - adds r0, r1, r2 - ldrb r0, [r0] -_080ABF42: - pop {r1} - bx r1 - .pool - thumb_func_end sub_80ABF20 - - thumb_func_start sub_80ABF4C -sub_80ABF4C: @ 80ABF4C - push {r4,lr} - ldr r4, =gUnknown_02038454 - ldr r1, =0x000006d4 - adds r4, r1 - ldrb r1, [r4] - lsls r1, 20 - movs r2, 0x80 - lsls r2, 17 - adds r1, r2 - lsrs r1, 16 - movs r2, 0x20 - bl LoadPalette - ldrb r0, [r4] - bl UpdateSpritePaletteWithWeather - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80ABF4C - - thumb_func_start sub_80ABF7C -sub_80ABF7C: @ 80ABF7C - movs r2, 0x20 - strb r2, [r0] - strb r2, [r1] - bx lr - thumb_func_end sub_80ABF7C - - thumb_func_start sub_80ABF84 -sub_80ABF84: @ 80ABF84 - ldr r0, =gUnknown_02038454 - ldr r2, =0x0000074d - adds r1, r0, r2 - movs r2, 0x1 - strb r2, [r1] - ldr r1, =0x0000074e - adds r0, r1 - strb r2, [r0] - bx lr - .pool - thumb_func_end sub_80ABF84 - - thumb_func_start sub_80ABFA4 -sub_80ABFA4: @ 80ABFA4 - push {r4,lr} - ldr r1, =gUnknown_02038454 - ldr r0, =0x0000074d - adds r4, r1, r0 - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0x1F - bgt _080ABFD8 - ldr r0, =0x0000074e - adds r1, r0 - adds r0, r4, 0 - bl sub_80ABF7C - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0x1F - bgt _080ABFD8 - movs r0, 0x1 - b _080ABFDA - .pool -_080ABFD8: - movs r0, 0 -_080ABFDA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80ABFA4 - - thumb_func_start sub_80ABFE0 -sub_80ABFE0: @ 80ABFE0 - push {lr} - lsls r0, 24 - asrs r0, 24 - mvns r0, r0 - bl sub_80ABC48 - pop {r0} - bx r0 - thumb_func_end sub_80ABFE0 - - thumb_func_start sub_80ABFF0 -sub_80ABFF0: @ 80ABFF0 - ldr r1, =gUnknown_02038454 - ldr r2, =0x0000073c - adds r0, r1, r2 - movs r2, 0 - strh r2, [r0] - movs r3, 0xE8 - lsls r3, 3 - adds r0, r1, r3 - strh r2, [r0] - adds r3, 0x2 - adds r0, r1, r3 - strh r2, [r0] - ldr r0, =0x0000073e - adds r1, r0 - strh r2, [r1] - bx lr - .pool - thumb_func_end sub_80ABFF0 - - thumb_func_start sub_80AC01C -sub_80AC01C: @ 80AC01C - push {r4-r7,lr} - ldr r5, =gUnknown_02038454 - ldr r0, =0x00000742 - adds r7, r5, r0 - movs r2, 0 - ldrsh r1, [r7, r2] - cmp r1, 0x1 - beq _080AC090 - cmp r1, 0x1 - bgt _080AC040 - cmp r1, 0 - beq _080AC046 - b _080AC118 - .pool -_080AC040: - cmp r1, 0x2 - beq _080AC0E4 - b _080AC118 -_080AC046: - movs r3, 0xE8 - lsls r3, 3 - adds r6, r5, r3 - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _080AC118 - strh r1, [r6] - ldr r0, =0x0000073c - adds r4, r5, r0 - ldrh r0, [r4] - adds r1, r0, 0x1 - strh r1, [r4] - lsls r0, 24 - asrs r0, 24 - bl sub_80ABFE0 - ldrh r1, [r4] - movs r2, 0 - ldrsh r0, [r4, r2] - cmp r0, 0x5 - ble _080AC118 - ldr r3, =0x0000073e - adds r0, r5, r3 - strh r1, [r0] - movs r0, 0x1 - strh r0, [r7] - movs r0, 0x3C - strh r0, [r6] - b _080AC118 - .pool -_080AC090: - movs r0, 0xE8 - lsls r0, 3 - adds r2, r5, r0 - ldrh r0, [r2] - adds r0, 0x3 - movs r1, 0x7F - ands r0, r1 - strh r0, [r2] - ldr r1, =gSineTable - movs r3, 0 - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - subs r0, 0x1 - asrs r0, 6 - adds r0, 0x2 - ldr r2, =0x0000073c - adds r6, r5, r2 - adds r2, r0, 0 - strh r0, [r6] - ldr r3, =0x0000073e - adds r4, r5, r3 - movs r3, 0 - ldrsh r1, [r4, r3] - cmp r0, r1 - beq _080AC0D0 - lsls r0, r2, 24 - asrs r0, 24 - bl sub_80ABFE0 -_080AC0D0: - ldrh r0, [r6] - strh r0, [r4] - b _080AC118 - .pool -_080AC0E4: - movs r0, 0xE8 - lsls r0, 3 - adds r1, r5, r0 - ldrh r0, [r1] - adds r0, 0x1 - movs r6, 0 - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _080AC118 - strh r6, [r1] - ldr r1, =0x0000073c - adds r4, r5, r1 - ldrh r0, [r4] - subs r0, 0x1 - strh r0, [r4] - lsls r0, 24 - asrs r0, 24 - bl sub_80ABFE0 - movs r2, 0 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - bne _080AC118 - strh r6, [r7] -_080AC118: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AC01C - - thumb_func_start sub_80AC124 -sub_80AC124: @ 80AC124 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_02038454 - movs r4, 0xE6 - lsls r4, 3 - adds r2, r3, r4 - strh r0, [r2] - adds r4, 0x2 - adds r2, r3, r4 - strh r1, [r2] - adds r4, 0x2 - adds r2, r3, r4 - strh r0, [r2] - ldr r2, =0x00000736 - adds r3, r2 - strh r1, [r3] - lsls r1, 8 - orrs r1, r0 - movs r0, 0x52 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AC124 - - thumb_func_start sub_80AC164 -sub_80AC164: @ 80AC164 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_02038454 - ldr r5, =0x00000734 - adds r4, r3, r5 - movs r5, 0 - strh r0, [r4] - ldr r4, =0x00000736 - adds r0, r3, r4 - strh r1, [r0] - ldr r1, =0x0000073a - adds r0, r3, r1 - strb r2, [r0] - adds r4, 0x3 - adds r0, r3, r4 - strb r5, [r0] - movs r0, 0xE7 - lsls r0, 3 - adds r3, r0 - strb r5, [r3] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AC164 - - thumb_func_start sub_80AC1A8 -sub_80AC1A8: @ 80AC1A8 - push {r4-r6,lr} - ldr r0, =gUnknown_02038454 - movs r1, 0xE6 - lsls r1, 3 - adds r3, r0, r1 - ldr r2, [r3] - ldr r6, =0x00000734 - adds r4, r0, r6 - ldr r1, [r4] - adds r5, r0, 0 - cmp r2, r1 - beq _080AC26C - ldr r0, =0x00000739 - adds r2, r5, r0 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - ldr r6, =0x0000073a - adds r1, r5, r6 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bls _080AC238 - movs r0, 0 - strb r0, [r2] - movs r0, 0xE7 - lsls r0, 3 - adds r1, r5, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AC210 - ldrh r1, [r3] - adds r2, r1, 0 - ldrh r0, [r4] - cmp r2, r0 - bcs _080AC230 - adds r0, r1, 0x1 - b _080AC236 - .pool -_080AC210: - ldr r1, =0x00000732 - adds r3, r5, r1 - ldr r2, =0x00000736 - adds r0, r5, r2 - ldrh r1, [r3] - adds r2, r1, 0 - ldrh r0, [r0] - cmp r2, r0 - bcs _080AC230 - adds r0, r1, 0x1 - b _080AC236 - .pool -_080AC230: - cmp r2, r0 - bls _080AC238 - subs r0, r1, 0x1 -_080AC236: - strh r0, [r3] -_080AC238: - ldr r6, =0x00000732 - adds r0, r5, r6 - ldrh r1, [r0] - lsls r1, 8 - movs r0, 0xE6 - lsls r0, 3 - adds r4, r5, r0 - ldrh r0, [r4] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldr r1, [r4] - ldr r2, =0x00000734 - adds r0, r5, r2 - ldr r0, [r0] - cmp r1, r0 - beq _080AC26C - movs r0, 0 - b _080AC26E - .pool -_080AC26C: - movs r0, 0x1 -_080AC26E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80AC1A8 - - thumb_func_start sub_80AC274 -sub_80AC274: @ 80AC274 - push {lr} - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x9 - bhi _080AC306 - lsls r0, 2 - ldr r1, =_080AC290 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080AC290: - .4byte _080AC2B8 - .4byte _080AC2C0 - .4byte _080AC2C8 - .4byte _080AC2D0 - .4byte _080AC2D8 - .4byte _080AC2E0 - .4byte _080AC2E8 - .4byte _080AC2F0 - .4byte _080AC2F8 - .4byte _080AC300 -_080AC2B8: - movs r0, 0x1 - bl SetWeather - b _080AC306 -_080AC2C0: - movs r0, 0x2 - bl SetWeather - b _080AC306 -_080AC2C8: - movs r0, 0x3 - bl SetWeather - b _080AC306 -_080AC2D0: - movs r0, 0x4 - bl SetWeather - b _080AC306 -_080AC2D8: - movs r0, 0x5 - bl SetWeather - b _080AC306 -_080AC2E0: - movs r0, 0x6 - bl SetWeather - b _080AC306 -_080AC2E8: - movs r0, 0x9 - bl SetWeather - b _080AC306 -_080AC2F0: - movs r0, 0x7 - bl SetWeather - b _080AC306 -_080AC2F8: - movs r0, 0x8 - bl SetWeather - b _080AC306 -_080AC300: - movs r0, 0xB - bl SetWeather -_080AC306: - pop {r0} - bx r0 - thumb_func_end sub_80AC274 - - thumb_func_start weather_get_current -weather_get_current: @ 80AC30C - ldr r0, =gUnknown_02038454 - movs r1, 0xDA - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end weather_get_current - - thumb_func_start sub_80AC31C -sub_80AC31C: @ 80AC31C - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - ldr r1, =gUnknown_02038454 - ldr r3, =0x000006c6 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0x2 - beq _080AC36E - cmp r2, 0x53 - beq _080AC354 - cmp r2, 0x53 - bgt _080AC344 - cmp r2, 0x51 - beq _080AC360 - b _080AC36E - .pool -_080AC344: - cmp r2, 0x55 - bne _080AC36E - ldr r0, =0x000006dd - adds r1, r0 - movs r0, 0 - b _080AC366 - .pool -_080AC354: - ldr r3, =0x000006dd - adds r1, r3 - movs r0, 0x1 - b _080AC366 - .pool -_080AC360: - ldr r0, =0x000006dd - adds r1, r0 - movs r0, 0x2 -_080AC366: - strb r0, [r1] - adds r0, r2, 0 - bl PlaySE -_080AC36E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AC31C - - thumb_func_start play_some_sound -play_some_sound: @ 80AC378 - push {lr} - bl IsSpecialSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _080AC3B6 - ldr r0, =gUnknown_02038454 - ldr r1, =0x000006dd - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080AC3A8 - cmp r0, 0x1 - bgt _080AC3B0 - cmp r0, 0 - bne _080AC3B0 - movs r0, 0x56 - bl PlaySE - b _080AC3B6 - .pool -_080AC3A8: - movs r0, 0x54 - bl PlaySE - b _080AC3B6 -_080AC3B0: - movs r0, 0x52 - bl PlaySE -_080AC3B6: - pop {r0} - bx r0 - thumb_func_end play_some_sound - - thumb_func_start IsWeatherChangeComplete -IsWeatherChangeComplete: @ 80AC3BC - ldr r0, =gUnknown_02038454 - ldr r1, =0x000006d3 - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end IsWeatherChangeComplete - - thumb_func_start sub_80AC3D0 -sub_80AC3D0: @ 80AC3D0 - ldr r0, =gUnknown_02038454 - ldr r1, =0x000006c6 - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] - bx lr - .pool - thumb_func_end sub_80AC3D0 - - thumb_func_start sub_80AC3E4 -sub_80AC3E4: @ 80AC3E4 - ldr r0, =gUnknown_02038454 - ldr r1, =0x000006c6 - adds r0, r1 - movs r1, 0x3 - strb r1, [r0] - bx lr - .pool - thumb_func_end sub_80AC3E4 - - thumb_func_start PreservePaletteInWeather -PreservePaletteInWeather: @ 80AC3F8 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_0854C250 - ldr r5, =gUnknown_02038BA4 - adds r1, r5, 0 - movs r2, 0x10 - bl CpuSet - adds r4, r5 - movs r0, 0 - strb r0, [r4] - ldr r0, =gUnknown_03000F50 - str r5, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end PreservePaletteInWeather - - thumb_func_start ResetPreservedPalettesInWeather -ResetPreservedPalettesInWeather: @ 80AC428 - ldr r1, =gUnknown_03000F50 - ldr r0, =gUnknown_0854C250 - str r0, [r1] - bx lr - .pool - thumb_func_end ResetPreservedPalettesInWeather - - thumb_func_start sub_80AC438 -sub_80AC438: @ 80AC438 - push {lr} - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r2, =0x000006c1 - adds r1, r0, r2 - movs r2, 0 - strb r2, [r1] - ldr r1, =0x000006c2 - adds r3, r0, r1 - movs r1, 0x14 - strb r1, [r3] - ldr r3, =0x000006d2 - adds r1, r0, r3 - strb r2, [r1] - subs r3, 0x6 - adds r1, r0, r3 - strh r2, [r1] - ldr r1, =0x000006de - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080AC46C - movs r0, 0 - movs r1, 0x10 - bl sub_80AC124 -_080AC46C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AC438 - - thumb_func_start sub_80AC484 -sub_80AC484: @ 80AC484 - push {r4,lr} - bl sub_80AC438 - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006d2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080AC4A4 - adds r4, r1, r2 -_080AC49A: - bl sub_80AC4B4 - ldrb r0, [r4] - cmp r0, 0 - beq _080AC49A -_080AC4A4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AC484 - - thumb_func_start sub_80AC4B4 -sub_80AC4B4: @ 80AC4B4 - push {r4,r5,lr} - ldr r0, =gUnknown_0854C14C - ldr r5, [r0] - ldr r0, =0x000006cc - adds r4, r5, r0 - ldrh r0, [r4] - cmp r0, 0x1 - beq _080AC4E4 - cmp r0, 0x1 - bgt _080AC4D8 - cmp r0, 0 - beq _080AC4DE - b _080AC508 - .pool -_080AC4D8: - cmp r0, 0x2 - beq _080AC4F0 - b _080AC508 -_080AC4DE: - bl sub_80AC594 - b _080AC502 -_080AC4E4: - movs r0, 0xC - movs r1, 0x8 - movs r2, 0x1 - bl sub_80AC164 - b _080AC502 -_080AC4F0: - bl sub_80AC1A8 - lsls r0, 24 - cmp r0, 0 - beq _080AC508 - ldr r0, =0x000006d2 - adds r1, r5, r0 - movs r0, 0x1 - strb r0, [r1] -_080AC502: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_080AC508: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AC4B4 - - thumb_func_start sub_80AC514 -sub_80AC514: @ 80AC514 - push {r4,lr} - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x000006ce - adds r4, r0, r1 - ldrh r0, [r4] - cmp r0, 0 - beq _080AC534 - cmp r0, 0x1 - beq _080AC540 - movs r0, 0 - b _080AC556 - .pool -_080AC534: - movs r0, 0 - movs r1, 0x10 - movs r2, 0x1 - bl sub_80AC164 - b _080AC54E -_080AC540: - bl sub_80AC1A8 - lsls r0, 24 - cmp r0, 0 - beq _080AC554 - bl sub_80AC660 -_080AC54E: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_080AC554: - movs r0, 0x1 -_080AC556: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80AC514 - - thumb_func_start sub_80AC55C -sub_80AC55C: @ 80AC55C - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r0, =0x000006c1 - adds r2, r1, r0 - movs r0, 0 - strb r0, [r2] - ldr r0, =0x000006c2 - adds r1, r0 - movs r0, 0x14 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_80AC55C - - thumb_func_start sub_80AC580 -sub_80AC580: @ 80AC580 - push {lr} - bl sub_80AC55C - pop {r0} - bx r0 - thumb_func_end sub_80AC580 - - thumb_func_start nullsub_95 -nullsub_95: @ 80AC58C - bx lr - thumb_func_end nullsub_95 - - thumb_func_start sub_80AC590 -sub_80AC590: @ 80AC590 - movs r0, 0 - bx lr - thumb_func_end sub_80AC590 - - thumb_func_start sub_80AC594 -sub_80AC594: @ 80AC594 - push {r4,r5,lr} - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x000006de - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080AC650 - ldr r0, =sCloudSpriteSheet - bl LoadSpriteSheet - ldr r0, =gUnknown_0854C290 - bl sub_80ABF4C - movs r5, 0 -_080AC5B2: - ldr r0, =sCloudSpriteTemplate - movs r1, 0 - movs r2, 0 - movs r3, 0xFF - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - beq _080AC628 - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - lsls r2, r5, 2 - movs r0, 0xFA - lsls r0, 1 - adds r1, r0 - adds r1, r2 - lsls r4, r3, 4 - adds r4, r3 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - str r4, [r1] - ldr r0, =gUnknown_0854FB50 - adds r2, r0 - ldrh r0, [r2] - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r2, 0x2] - adds r1, 0x7 - lsls r1, 16 - asrs r1, 16 - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - bl sub_8093038 - adds r4, 0x3E - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - b _080AC63A - .pool -_080AC628: - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - lsls r0, r5, 2 - movs r2, 0xFA - lsls r2, 1 - adds r1, r2 - adds r1, r0 - movs r0, 0 - str r0, [r1] -_080AC63A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x2 - bls _080AC5B2 - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x000006de - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] -_080AC650: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AC594 - - thumb_func_start sub_80AC660 -sub_80AC660: @ 80AC660 - push {r4,r5,lr} - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006de - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080AC6A4 - movs r4, 0 - movs r0, 0xFA - lsls r0, 1 - adds r5, r1, r0 -_080AC678: - lsls r0, r4, 2 - adds r0, r5, r0 - ldr r0, [r0] - cmp r0, 0 - beq _080AC686 - bl DestroySprite -_080AC686: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x2 - bls _080AC678 - movs r0, 0x90 - lsls r0, 5 - bl FreeSpriteTilesByTag - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x000006de - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_080AC6A4: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AC660 - - thumb_func_start sub_80AC6B4 -sub_80AC6B4: @ 80AC6B4 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - movs r1, 0x1 - ands r0, r1 - strh r0, [r2, 0x2E] - cmp r0, 0 - beq _080AC6CC - ldrh r0, [r2, 0x20] - subs r0, 0x1 - strh r0, [r2, 0x20] -_080AC6CC: - pop {r0} - bx r0 - thumb_func_end sub_80AC6B4 - - thumb_func_start sub_80AC6D0 -sub_80AC6D0: @ 80AC6D0 - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r0, =0x000006cc - adds r3, r1, r0 - movs r2, 0 - movs r0, 0 - strh r0, [r3] - ldr r3, =0x000006d2 - adds r0, r1, r3 - strb r2, [r0] - subs r3, 0x11 - adds r0, r1, r3 - strb r2, [r0] - ldr r0, =0x000006c2 - adds r1, r0 - strb r2, [r1] - bx lr - .pool - thumb_func_end sub_80AC6D0 - - thumb_func_start sub_80AC704 -sub_80AC704: @ 80AC704 - push {r4,lr} - bl sub_80AC6D0 - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006d2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080AC724 - adds r4, r1, r2 -_080AC71A: - bl sub_80AC734 - ldrb r0, [r4] - cmp r0, 0 - beq _080AC71A -_080AC724: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AC704 - - thumb_func_start sub_80AC734 -sub_80AC734: @ 80AC734 - push {lr} - ldr r1, =gUnknown_0854C14C - ldr r0, [r1] - ldr r2, =0x000006cc - adds r0, r2 - ldrh r0, [r0] - adds r2, r1, 0 - cmp r0, 0x4 - bhi _080AC810 - lsls r0, 2 - ldr r1, =_080AC75C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080AC75C: - .4byte _080AC770 - .4byte _080AC78C - .4byte _080AC7A4 - .4byte _080AC7C0 - .4byte _080AC7D8 -_080AC770: - ldr r1, [r2] - ldr r2, =0x000006c6 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080AC814 - ldr r0, =0x000006cc - adds r1, r0 - b _080AC7F8 - .pool -_080AC78C: - bl sub_80ABF84 - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006cc - adds r1, r2 - b _080AC7F8 - .pool -_080AC7A4: - bl sub_80ABFA4 - lsls r0, 24 - cmp r0, 0 - bne _080AC814 - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r0, =0x000006cc - adds r1, r0 - b _080AC7F8 - .pool -_080AC7C0: - bl sub_80ABFF0 - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006cc - adds r1, r2 - b _080AC7F8 - .pool -_080AC7D8: - bl sub_80AC01C - ldr r0, =gUnknown_0854C14C - ldr r2, [r0] - ldr r1, =0x0000073c - adds r0, r2, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x6 - bne _080AC814 - ldr r0, =0x000006d2 - adds r1, r2, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r0, =0x000006cc - adds r1, r2, r0 -_080AC7F8: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080AC814 - .pool -_080AC810: - bl sub_80AC01C -_080AC814: - pop {r0} - bx r0 - thumb_func_end sub_80AC734 - - thumb_func_start sub_80AC818 -sub_80AC818: @ 80AC818 - movs r0, 0 - bx lr - thumb_func_end sub_80AC818 - - thumb_func_start sub_80AC81C -sub_80AC81C: @ 80AC81C - push {lr} - ldr r0, =task50_0807B6D4 - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AC81C - - thumb_func_start task50_0807B6D4 -task50_0807B6D4: @ 80AC830 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bhi _080AC922 - lsls r0, 2 - ldr r1, =_080AC85C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080AC85C: - .4byte _080AC870 - .4byte _080AC89A - .4byte _080AC8C8 - .4byte _080AC8F8 - .4byte _080AC918 -_080AC870: - movs r0, 0 - strh r0, [r4, 0xA] - strh r0, [r4, 0xC] - ldr r0, =0x04000048 - ldrh r0, [r0] - strh r0, [r4, 0xE] - ldr r1, =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0x9E - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080AC89A: - ldrh r0, [r4, 0xA] - adds r0, 0x3 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _080AC8AC - movs r0, 0x10 - strh r0, [r4, 0xA] -_080AC8AC: - ldrh r1, [r4, 0xA] - movs r0, 0x54 - bl SetGpuReg - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0xF - ble _080AC922 - b _080AC910 - .pool -_080AC8C8: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - ble _080AC922 - strh r1, [r4, 0xC] - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bgt _080AC8EE - strh r1, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080AC8EE: - ldrh r1, [r4, 0xA] - movs r0, 0x54 - bl SetGpuReg - b _080AC922 -_080AC8F8: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r4, 0xE] - movs r0, 0x48 - bl SetGpuReg -_080AC910: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080AC922 -_080AC918: - bl EnableBothScriptContexts - adds r0, r5, 0 - bl DestroyTask -_080AC922: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end task50_0807B6D4 - - thumb_func_start sub_80AC928 -sub_80AC928: @ 80AC928 - push {r4,lr} - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006cc - adds r0, r1, r2 - movs r3, 0 - movs r2, 0 - strh r2, [r0] - ldr r4, =0x000006d2 - adds r0, r1, r4 - strb r3, [r0] - adds r4, 0x4 - adds r0, r1, r4 - strh r2, [r0] - ldr r0, =0x000006db - adds r2, r1, r0 - movs r0, 0x8 - strb r0, [r2] - ldr r2, =0x000006dc - adds r0, r1, r2 - strb r3, [r0] - adds r4, 0x3 - adds r2, r1, r4 - movs r0, 0xA - strb r0, [r2] - ldr r0, =0x000006c1 - adds r2, r1, r0 - movs r0, 0x3 - strb r0, [r2] - ldr r2, =0x000006c2 - adds r1, r2 - movs r0, 0x14 - strb r0, [r1] - movs r0, 0x55 - bl sub_80AC31C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AC928 - - thumb_func_start sub_80AC994 -sub_80AC994: @ 80AC994 - push {r4,lr} - bl sub_80AC928 - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006d2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080AC9B4 - adds r4, r1, r2 -_080AC9AA: - bl sub_80AC9C4 - ldrb r0, [r4] - cmp r0, 0 - beq _080AC9AA -_080AC9B4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AC994 - - thumb_func_start sub_80AC9C4 -sub_80AC9C4: @ 80AC9C4 - push {r4,r5,lr} - ldr r0, =gUnknown_0854C14C - ldr r5, [r0] - ldr r0, =0x000006cc - adds r4, r5, r0 - ldrh r0, [r4] - cmp r0, 0x1 - beq _080AC9F4 - cmp r0, 0x1 - bgt _080AC9E8 - cmp r0, 0 - beq _080AC9EE - b _080ACA18 - .pool -_080AC9E8: - cmp r0, 0x2 - beq _080ACA00 - b _080ACA18 -_080AC9EE: - bl sub_80ACD68 - b _080ACA12 -_080AC9F4: - bl sub_80ACD78 - lsls r0, 24 - cmp r0, 0 - bne _080ACA18 - b _080ACA12 -_080ACA00: - bl sub_80ACEAC - lsls r0, 24 - cmp r0, 0 - bne _080ACA18 - ldr r0, =0x000006d2 - adds r1, r5, r0 - movs r0, 0x1 - strb r0, [r1] -_080ACA12: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_080ACA18: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AC9C4 - - thumb_func_start sub_80ACA24 -sub_80ACA24: @ 80ACA24 - push {r4,r5,lr} - ldr r0, =gUnknown_0854C14C - ldr r2, [r0] - ldr r1, =0x000006ce - adds r3, r2, r1 - ldrh r1, [r3] - adds r4, r0, 0 - cmp r1, 0 - beq _080ACA48 - cmp r1, 0x1 - beq _080ACA7C - movs r0, 0 - b _080ACAAA - .pool -_080ACA48: - ldr r5, =0x000006d1 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, 0x3 - beq _080ACA5A - cmp r0, 0x5 - beq _080ACA5A - cmp r0, 0xD - bne _080ACA70 -_080ACA5A: - ldr r0, [r4] - ldr r1, =0x000006ce - adds r0, r1 - movs r1, 0xFF - strh r1, [r0] - movs r0, 0 - b _080ACAAA - .pool -_080ACA70: - ldr r4, =0x000006d9 - adds r0, r2, r4 - strb r1, [r0] - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r3] -_080ACA7C: - bl sub_80ACEAC - lsls r0, 24 - cmp r0, 0 - bne _080ACAA8 - bl sub_80ACF38 - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r5, =0x000006ce - adds r1, r5 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0 - b _080ACAAA - .pool -_080ACAA8: - movs r0, 0x1 -_080ACAAA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80ACA24 - - thumb_func_start sub_80ACAB0 -sub_80ACAB0: @ 80ACAB0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - movs r1, 0x30 - ldrsh r0, [r7, r1] - cmp r0, 0 - bne _080ACAC4 - ldr r0, =0x00000169 - strh r0, [r7, 0x30] -_080ACAC4: - movs r2, 0x30 - ldrsh r1, [r7, r2] - ldr r0, =0x41c64e6d - muls r0, r1 - ldr r3, =0x00003039 - adds r0, r3 - lsls r0, 1 - lsrs r0, 17 - movs r1, 0x96 - lsls r1, 2 - bl __umodsi3 - movs r1, 0 - mov r8, r1 - strh r0, [r7, 0x30] - ldr r1, =gUnknown_0854FC4C - ldr r0, =gUnknown_0854C14C - ldr r5, [r0] - ldr r2, =0x000006dc - adds r5, r2 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldrh r6, [r0] - movs r3, 0x30 - ldrsh r0, [r7, r3] - movs r1, 0x1E - bl __modsi3 - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - lsls r0, r4, 3 - strh r0, [r7, 0x32] - movs r1, 0x30 - ldrsh r0, [r7, r1] - movs r1, 0x1E - bl __divsi3 - lsls r0, 16 - lsls r4, 7 - strh r4, [r7, 0x32] - asrs r0, 9 - strh r0, [r7, 0x34] - ldr r2, =gUnknown_0854FC44 - ldrb r1, [r5] - lsls r1, 2 - adds r1, r2 - movs r3, 0 - ldrsh r1, [r1, r3] - muls r1, r6 - subs r4, r1 - strh r4, [r7, 0x32] - ldrb r1, [r5] - lsls r1, 2 - adds r2, 0x2 - adds r1, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - muls r1, r6 - subs r0, r1 - strh r0, [r7, 0x34] - adds r0, r7, 0 - movs r1, 0 - bl StartSpriteAnim - mov r3, r8 - strh r3, [r7, 0x36] - adds r2, r7, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - strh r6, [r7, 0x2E] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80ACAB0 - - thumb_func_start sub_80ACB84 -sub_80ACB84: @ 80ACB84 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x36 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080ACC60 - ldr r3, =gUnknown_0854FC44 - ldr r4, =gUnknown_0854C14C - ldr r2, [r4] - ldr r0, =0x000006dc - adds r2, r0 - ldrb r0, [r2] - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0] - ldrh r0, [r5, 0x32] - adds r1, r0 - strh r1, [r5, 0x32] - ldrb r0, [r2] - lsls r0, 2 - adds r3, 0x2 - adds r0, r3 - ldrh r0, [r0] - ldrh r2, [r5, 0x34] - adds r0, r2 - strh r0, [r5, 0x34] - lsls r1, 16 - asrs r1, 20 - strh r1, [r5, 0x20] - lsls r0, 16 - asrs r2, r0, 20 - strh r2, [r5, 0x22] - movs r3, 0x38 - ldrsh r0, [r5, r3] - adds r3, r4, 0 - cmp r0, 0 - beq _080ACC04 - adds r0, r1, 0 - adds r0, 0x8 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 17 - cmp r0, r1 - bhi _080ACC04 - adds r1, r2, 0 - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - blt _080ACC04 - cmp r1, 0xB0 - bgt _080ACC04 - adds r0, r5, 0 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - b _080ACC0E - .pool -_080ACC04: - adds r0, r5, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 -_080ACC0E: - strb r1, [r0] - adds r4, r0, 0 - ldrh r0, [r5, 0x2E] - subs r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _080ACC80 - ldr r0, [r3] - ldr r1, =0x000006dc - adds r0, r1 - ldrb r1, [r0] - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim - movs r0, 0x1 - strh r0, [r5, 0x36] - ldr r1, =gSpriteCoordOffsetX - ldrh r0, [r5, 0x20] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r5, 0x20] - ldr r1, =gSpriteCoordOffsetY - ldrh r0, [r5, 0x22] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r5, 0x22] - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - b _080ACC80 - .pool -_080ACC60: - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080ACC80 - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, 0 - bl sub_80ACAB0 -_080ACC80: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80ACB84 - - thumb_func_start sub_80ACC88 -sub_80ACC88: @ 80ACC88 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080ACCA8 - adds r0, r4, 0 - bl sub_80ACAB0 - ldr r0, =sub_80ACB84 - str r0, [r4, 0x1C] - b _080ACCAC - .pool -_080ACCA8: - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] -_080ACCAC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80ACC88 - - thumb_func_start sub_80ACCB4 -sub_80ACCB4: @ 80ACCB4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - lsls r5, r1, 16 - lsrs r5, 16 - ldr r2, =gUnknown_0854FC4C - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x000006dc - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r1, r0, r2 - ldrh r1, [r1] - mov r8, r1 - adds r2, 0x2 - adds r0, r2 - ldrh r4, [r0] - add r4, r8 - adds r0, r5, 0 - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl __modsi3 - lsls r0, 16 - lsrs r4, r0, 16 - subs r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =0x0000ffff - cmp r6, r0 - beq _080ACD12 - adds r5, r0, 0 -_080ACD02: - adds r0, r7, 0 - bl sub_80ACAB0 - subs r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, r5 - bne _080ACD02 -_080ACD12: - cmp r4, r8 - bcs _080ACD48 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x0000ffff - cmp r4, r0 - beq _080ACD34 - adds r5, r0, 0 -_080ACD24: - adds r0, r7, 0 - bl sub_80ACB84 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r5 - bne _080ACD24 -_080ACD34: - movs r0, 0 - b _080ACD5C - .pool -_080ACD48: - mov r1, r8 - subs r0, r4, r1 - strh r0, [r7, 0x2E] - adds r2, r7, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1 -_080ACD5C: - strh r0, [r7, 0x3A] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80ACCB4 - - thumb_func_start sub_80ACD68 -sub_80ACD68: @ 80ACD68 - push {lr} - ldr r0, =gUnknown_0854FC54 - bl LoadSpriteSheet - pop {r0} - bx r0 - .pool - thumb_func_end sub_80ACD68 - - thumb_func_start sub_80ACD78 -sub_80ACD78: @ 80ACD78 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, =gUnknown_0854C14C - ldr r4, [r0] - ldr r0, =0x000006da - adds r2, r4, r0 - ldrb r0, [r2] - cmp r0, 0x18 - bne _080ACD92 - b _080ACE98 -_080ACD92: - ldrb r7, [r2] - ldr r0, =gSpriteTemplate_854FC2C - ldr r2, =gUnknown_0854FB90 - lsls r6, r7, 2 - adds r2, r6, r2 - movs r3, 0 - ldrsh r1, [r2, r3] - movs r3, 0x2 - ldrsh r2, [r2, r3] - movs r3, 0x4E - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x40 - beq _080ACE40 - ldr r3, =gSprites - lsls r4, r5, 4 - adds r1, r4, r5 - lsls r1, 2 - adds r1, r3 - movs r0, 0 - strh r0, [r1, 0x38] - lsls r2, r7, 3 - adds r0, r2, r7 - lsls r0, 4 - adds r0, r7 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - ldr r1, =0x00000257 - mov r10, r6 - mov r9, r3 - mov r12, r4 - mov r8, r2 - cmp r0, r1 - ble _080ACDF6 - adds r2, r1, 0 -_080ACDDE: - adds r0, r4, r5 - lsls r0, 2 - ldr r6, =gSprites - adds r0, r6 - ldr r3, =0xfffffda8 - ldrh r6, [r0, 0x30] - adds r1, r3, r6 - strh r1, [r0, 0x30] - lsls r1, 16 - asrs r1, 16 - cmp r1, r2 - bgt _080ACDDE -_080ACDF6: - mov r0, r12 - adds r4, r0, r5 - lsls r4, 2 - add r4, r9 - adds r0, r4, 0 - bl sub_80ACAB0 - mov r3, r8 - adds r1, r3, r7 - adds r0, r4, 0 - bl sub_80ACCB4 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - add r0, r10 - str r4, [r0] - b _080ACE46 - .pool -_080ACE40: - adds r1, r4, r6 - movs r0, 0 - str r0, [r1] -_080ACE46: - ldr r0, =gUnknown_0854C14C - ldr r2, [r0] - ldr r6, =0x000006da - adds r1, r2, r6 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x18 - bne _080ACE9C - movs r3, 0 - adds r1, r2, 0 - ldr r5, =sub_80ACB84 - ldr r4, =sub_80ACC88 -_080ACE64: - lsls r0, r3, 2 - adds r0, r1, r0 - ldr r2, [r0] - cmp r2, 0 - beq _080ACE8E - movs r6, 0x3A - ldrsh r0, [r2, r6] - cmp r0, 0 - bne _080ACE8C - str r5, [r2, 0x1C] - b _080ACE8E - .pool -_080ACE8C: - str r4, [r2, 0x1C] -_080ACE8E: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x17 - bls _080ACE64 -_080ACE98: - movs r0, 0 - b _080ACE9E -_080ACE9C: - movs r0, 0x1 -_080ACE9E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80ACD78 - - thumb_func_start sub_80ACEAC -sub_80ACEAC: @ 80ACEAC - push {r4-r7,lr} - ldr r0, =gUnknown_0854C14C - ldr r3, [r0] - movs r0, 0xDB - lsls r0, 3 - adds r4, r3, r0 - ldr r1, =0x000006d9 - adds r5, r3, r1 - ldrb r0, [r4] - ldrb r7, [r5] - cmp r0, r7 - bne _080ACED0 - movs r0, 0 - b _080ACF32 - .pool -_080ACED0: - ldr r0, =0x000006d6 - adds r2, r3, r0 - ldrh r0, [r2] - adds r0, 0x1 - movs r6, 0 - strh r0, [r2] - ldr r7, =0x000006db - adds r1, r3, r7 - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1] - cmp r0, r1 - bls _080ACF30 - strh r6, [r2] - ldrb r0, [r4] - adds r1, r0, 0 - ldrb r5, [r5] - cmp r1, r5 - bcs _080ACF10 - adds r0, 0x1 - strb r0, [r4] - lsls r0, r1, 2 - adds r0, r3, r0 - ldr r1, [r0] - movs r0, 0x1 - strh r0, [r1, 0x38] - b _080ACF30 - .pool -_080ACF10: - subs r0, 0x1 - strb r0, [r4] - ldrb r0, [r4] - lsls r0, 2 - adds r0, r3, r0 - ldr r0, [r0] - strh r6, [r0, 0x38] - ldrb r0, [r4] - lsls r0, 2 - adds r0, r3, r0 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] -_080ACF30: - movs r0, 0x1 -_080ACF32: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80ACEAC - - thumb_func_start sub_80ACF38 -sub_80ACF38: @ 80ACF38 - push {r4-r7,lr} - movs r4, 0 - ldr r0, =gUnknown_0854C14C - ldr r2, [r0] - ldr r3, =0x000006da - adds r1, r2, r3 - adds r7, r0, 0 - ldrb r1, [r1] - cmp r4, r1 - bcs _080ACF6A - adds r5, r2, 0 - adds r6, r5, r3 -_080ACF50: - lsls r0, r4, 2 - adds r0, r5, r0 - ldr r0, [r0] - cmp r0, 0 - beq _080ACF5E - bl DestroySprite -_080ACF5E: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldrb r0, [r6] - cmp r4, r0 - bcc _080ACF50 -_080ACF6A: - ldr r0, [r7] - ldr r1, =0x000006da - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, =0x00001206 - bl FreeSpriteTilesByTag - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80ACF38 - - thumb_func_start sub_80ACF8C -sub_80ACF8C: @ 80ACF8C - push {r4,lr} - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006cc - adds r0, r1, r2 - movs r2, 0 - movs r3, 0 - strh r3, [r0] - ldr r4, =0x000006d2 - adds r0, r1, r4 - strb r2, [r0] - ldr r0, =0x000006c1 - adds r2, r1, r0 - movs r0, 0x3 - strb r0, [r2] - subs r4, 0x10 - adds r2, r1, r4 - movs r0, 0x14 - strb r0, [r2] - ldr r0, =0x000006e5 - adds r2, r1, r0 - movs r0, 0x10 - strb r0, [r2] - movs r2, 0xDC - lsls r2, 3 - adds r1, r2 - strh r3, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80ACF8C - - thumb_func_start sub_80ACFDC -sub_80ACFDC: @ 80ACFDC - push {r4-r7,lr} - mov r7, r8 - push {r7} - bl sub_80ACF8C - ldr r2, =gUnknown_0854C14C - ldr r1, [r2] - ldr r3, =0x000006d2 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _080AD032 - mov r8, r2 - adds r7, r1, r3 -_080ACFF8: - bl snowflakes_progress2 - movs r4, 0 - mov r1, r8 - ldr r0, [r1] - ldr r3, =0x000006e4 - adds r0, r3 - ldrb r0, [r0] - cmp r4, r0 - bcs _080AD02C - ldr r0, =gUnknown_0854C14C - ldr r5, [r0] - adds r6, r5, r3 -_080AD012: - lsls r1, r4, 2 - adds r0, r5, 0 - adds r0, 0x60 - adds r0, r1 - ldr r0, [r0] - bl sub_80AD30C - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldrb r0, [r6] - cmp r4, r0 - bcc _080AD012 -_080AD02C: - ldrb r0, [r7] - cmp r0, 0 - beq _080ACFF8 -_080AD032: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80ACFDC - - thumb_func_start snowflakes_progress2 -snowflakes_progress2: @ 80AD048 - push {r4,r5,lr} - ldr r0, =gUnknown_0854C14C - ldr r5, [r0] - ldr r0, =0x000006cc - adds r4, r5, r0 - ldrh r0, [r4] - cmp r0, 0 - bne _080AD070 - bl snowflakes_progress - lsls r0, 24 - cmp r0, 0 - bne _080AD070 - ldr r0, =0x000006d2 - adds r1, r5, r0 - movs r0, 0x1 - strb r0, [r1] - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_080AD070: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end snowflakes_progress2 - - thumb_func_start sub_80AD084 -sub_80AD084: @ 80AD084 - push {r4,lr} - ldr r0, =gUnknown_0854C14C - ldr r2, [r0] - ldr r0, =0x000006ce - adds r3, r2, r0 - ldrh r1, [r3] - cmp r1, 0 - beq _080AD0A4 - cmp r1, 0x1 - beq _080AD0B6 - movs r0, 0 - b _080AD0E2 - .pool -_080AD0A4: - ldr r4, =0x000006e5 - adds r0, r2, r4 - strb r1, [r0] - subs r4, 0x5 - adds r0, r2, r4 - strh r1, [r0] - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r3] -_080AD0B6: - bl snowflakes_progress - lsls r0, 24 - cmp r0, 0 - bne _080AD0E0 - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r0, =0x000006ce - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0 - b _080AD0E2 - .pool -_080AD0E0: - movs r0, 0x1 -_080AD0E2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80AD084 - - thumb_func_start snowflakes_progress -snowflakes_progress: @ 80AD0E8 - push {r4,lr} - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r0, =0x000006e4 - adds r3, r1, r0 - ldr r4, =0x000006e5 - adds r2, r1, r4 - ldrb r0, [r3] - ldrb r4, [r2] - cmp r0, r4 - bne _080AD110 - movs r0, 0 - b _080AD152 - .pool -_080AD110: - movs r0, 0xDC - lsls r0, 3 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x24 - bls _080AD13A - movs r0, 0 - strh r0, [r1] - ldrb r0, [r3] - ldrb r2, [r2] - cmp r0, r2 - bcs _080AD136 - bl snowflake_add - b _080AD13A -_080AD136: - bl snowflake_remove -_080AD13A: - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r2, =0x000006e4 - adds r1, r0, r2 - ldr r4, =0x000006e5 - adds r0, r4 - ldrb r1, [r1] - ldrb r0, [r0] - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 -_080AD152: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end snowflakes_progress - - thumb_func_start snowflake_add -snowflake_add: @ 80AD164 - push {r4-r6,lr} - ldr r0, =gUnknown_0854FC8C - movs r1, 0 - movs r2, 0 - movs r3, 0x4E - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080AD1C8 - ldr r0, =gSprites - lsls r4, r1, 4 - adds r4, r1 - lsls r4, 2 - adds r4, r0 - ldr r0, =gUnknown_0854C14C - ldr r5, [r0] - ldr r0, =0x000006e4 - adds r6, r5, r0 - ldrb r0, [r6] - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_80AD204 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r6] - adds r1, r0, 0x1 - strb r1, [r6] - lsls r0, 24 - lsrs r0, 22 - adds r5, 0x60 - adds r5, r0 - str r4, [r5] - movs r0, 0x1 - b _080AD1CA - .pool -_080AD1C8: - movs r0, 0 -_080AD1CA: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end snowflake_add - - thumb_func_start snowflake_remove -snowflake_remove: @ 80AD1D0 - push {lr} - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r0, =0x000006e4 - adds r2, r1, r0 - ldrb r0, [r2] - cmp r0, 0 - bne _080AD1EC - movs r0, 0 - b _080AD200 - .pool -_080AD1EC: - subs r0, 0x1 - strb r0, [r2] - lsls r0, 24 - lsrs r0, 22 - adds r1, 0x60 - adds r1, r0 - ldr r0, [r1] - bl DestroySprite - movs r0, 0x1 -_080AD200: - pop {r1} - bx r1 - thumb_func_end snowflake_remove - - thumb_func_start sub_80AD204 -sub_80AD204: @ 80AD204 - push {r4-r7,lr} - adds r5, r0, 0 - bl Random - movs r1, 0x36 - ldrsh r2, [r5, r1] - lsls r1, r2, 2 - adds r1, r2 - movs r2, 0x7 - ands r1, r2 - lsls r4, r1, 4 - subs r4, r1 - lsls r4, 1 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1E - bl __umodsi3 - adds r4, r0 - lsls r4, 16 - lsrs r4, 16 - ldr r1, =gSpriteCoordOffsetY - adds r0, r5, 0 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r1] - adds r0, r1 - movs r2, 0x3 - negs r2, r2 - adds r1, r2, 0 - subs r1, r0 - movs r7, 0 - strh r1, [r5, 0x22] - ldr r1, =gSpriteCoordOffsetX - adds r0, r5, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r1] - adds r0, r1 - subs r4, r0 - strh r4, [r5, 0x20] - movs r1, 0x22 - ldrsh r0, [r5, r1] - lsls r0, 7 - strh r0, [r5, 0x2E] - strh r7, [r5, 0x24] - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r6, r0, 0 - movs r4, 0x3 - ands r4, r6 - lsls r0, r4, 2 - adds r0, r4 - adds r0, 0x40 - strh r0, [r5, 0x30] - strh r0, [r5, 0x3C] - movs r1, 0x1 - bics r1, r6 - adds r0, r5, 0 - bl StartSpriteAnim - strh r7, [r5, 0x34] - movs r0, 0x1 - cmp r4, 0 - bne _080AD294 - movs r0, 0x2 -_080AD294: - strh r0, [r5, 0x32] - movs r0, 0x1F - ands r0, r6 - adds r0, 0xD2 - strh r0, [r5, 0x3A] - strh r7, [r5, 0x38] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AD204 - - thumb_func_start sub_80AD2B0 -sub_80AD2B0: @ 80AD2B0 - push {r4,lr} - adds r3, r0, 0 - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x000006e2 - adds r4, r0, r1 - ldrh r0, [r4] - cmp r0, 0x12 - bls _080AD2F6 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r0, =sub_80AD30C - str r0, [r3, 0x1C] - ldr r1, =gSpriteCoordOffsetY - adds r0, r3, 0 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r1] - adds r0, r1 - movs r1, 0xFA - subs r1, r0 - movs r2, 0 - strh r1, [r3, 0x22] - movs r1, 0x22 - ldrsh r0, [r3, r1] - lsls r0, 7 - strh r0, [r3, 0x2E] - strh r2, [r4] -_080AD2F6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AD2B0 - - thumb_func_start sub_80AD30C -sub_80AD30C: @ 80AD30C - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x2E] - adds r0, r1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 23 - strh r0, [r4, 0x22] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x34] - adds r0, r2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x34] - ldr r1, =gSineTable - movs r3, 0x34 - ldrsh r0, [r4, r3] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _080AD33E - adds r0, 0x3F -_080AD33E: - asrs r0, 6 - strh r0, [r4, 0x24] - adds r0, r4, 0 - adds r0, 0x28 - movs r5, 0 - ldrsb r5, [r0, r5] - ldrh r0, [r4, 0x20] - adds r0, r5 - ldr r1, =gSpriteCoordOffsetX - ldrh r1, [r1] - adds r3, r1, r0 - ldr r2, =0x000001ff - adds r0, r2, 0 - ands r3, r0 - adds r2, r3, 0 - movs r0, 0x80 - lsls r0, 1 - ands r0, r2 - cmp r0, 0 - beq _080AD370 - ldr r3, =0xffffff00 - adds r0, r3, 0 - orrs r2, r0 - lsls r0, r2, 16 - lsrs r3, r0, 16 -_080AD370: - lsls r0, r3, 16 - asrs r0, 16 - movs r2, 0x3 - negs r2, r2 - cmp r0, r2 - bge _080AD394 - adds r1, r5 - movs r0, 0xF2 - subs r0, r1 - b _080AD39C - .pool -_080AD394: - cmp r0, 0xF2 - ble _080AD39E - adds r0, r1, r5 - subs r0, r2, r0 -_080AD39C: - strh r0, [r4, 0x20] -_080AD39E: - adds r0, r4, 0 - adds r0, 0x29 - movs r3, 0 - ldrsb r3, [r0, r3] - ldrh r0, [r4, 0x22] - adds r0, r3 - ldr r1, =gSpriteCoordOffsetY - ldrh r1, [r1] - adds r2, r1, r0 - movs r0, 0xFF - ands r2, r0 - adds r0, r2, 0 - subs r0, 0xA4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x6 - bhi _080AD3E0 - adds r1, r3 - movs r0, 0xFA - subs r0, r1 - movs r1, 0 - strh r0, [r4, 0x22] - movs r2, 0x22 - ldrsh r0, [r4, r2] - lsls r0, 7 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x38] - movs r0, 0xDC - strh r0, [r4, 0x3A] - b _080AD40C - .pool -_080AD3E0: - adds r0, r2, 0 - subs r0, 0xF3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x6 - bhi _080AD40C - movs r1, 0 - movs r0, 0xA3 - strh r0, [r4, 0x22] - lsls r0, 7 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x38] - movs r0, 0xDC - strh r0, [r4, 0x3A] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =sub_80AD2B0 - str r0, [r4, 0x1C] -_080AD40C: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x3A - ldrsh r1, [r4, r3] - cmp r0, r1 - bne _080AD438 - adds r0, r4, 0 - bl sub_80AD204 - movs r0, 0xFA - strh r0, [r4, 0x22] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =sub_80AD2B0 - str r0, [r4, 0x1C] -_080AD438: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AD30C - - thumb_func_start sub_80AD444 -sub_80AD444: @ 80AD444 - push {r4,r5,lr} - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006cc - adds r0, r1, r2 - movs r3, 0 - movs r2, 0 - strh r2, [r0] - ldr r5, =0x000006d2 - adds r4, r1, r5 - strb r3, [r4] - adds r5, 0x4 - adds r0, r1, r5 - strh r2, [r0] - ldr r0, =0x000006db - adds r2, r1, r0 - movs r0, 0x4 - strb r0, [r2] - ldr r2, =0x000006dc - adds r0, r1, r2 - strb r3, [r0] - adds r5, 0x3 - adds r2, r1, r5 - movs r0, 0x10 - strb r0, [r2] - ldr r0, =0x000006c1 - adds r2, r1, r0 - movs r0, 0x3 - strb r0, [r2] - subs r5, 0x17 - adds r2, r1, r5 - movs r0, 0x14 - strb r0, [r2] - strb r3, [r4] - ldr r0, =0x000006ed - adds r1, r0 - strb r3, [r1] - movs r0, 0x51 - bl sub_80AC31C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AD444 - - thumb_func_start sub_80AD4B8 -sub_80AD4B8: @ 80AD4B8 - push {r4,lr} - bl sub_80AD444 - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006d2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080AD4D8 - adds r4, r1, r2 -_080AD4CE: - bl sub_80AD584 - ldrb r0, [r4] - cmp r0, 0 - beq _080AD4CE -_080AD4D8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AD4B8 - - thumb_func_start sub_80AD4E8 -sub_80AD4E8: @ 80AD4E8 - push {r4,r5,lr} - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006cc - adds r0, r1, r2 - movs r4, 0 - movs r2, 0 - strh r2, [r0] - ldr r5, =0x000006d2 - adds r3, r1, r5 - strb r4, [r3] - adds r5, 0x4 - adds r0, r1, r5 - strh r2, [r0] - ldr r0, =0x000006db - adds r2, r1, r0 - movs r0, 0x4 - strb r0, [r2] - adds r5, 0x6 - adds r2, r1, r5 - movs r0, 0x1 - strb r0, [r2] - ldr r0, =0x000006d9 - adds r2, r1, r0 - movs r0, 0x18 - strb r0, [r2] - subs r5, 0x1B - adds r2, r1, r5 - movs r0, 0x3 - strb r0, [r2] - ldr r0, =0x000006c2 - adds r1, r0 - movs r0, 0x14 - strb r0, [r1] - strb r4, [r3] - movs r0, 0x53 - bl sub_80AC31C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AD4E8 - - thumb_func_start sub_80AD554 -sub_80AD554: @ 80AD554 - push {r4,lr} - bl sub_80AD4E8 - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006d2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080AD574 - adds r4, r1, r2 -_080AD56A: - bl sub_80AD584 - ldrb r0, [r4] - cmp r0, 0 - beq _080AD56A -_080AD574: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AD554 - - thumb_func_start sub_80AD584 -sub_80AD584: @ 80AD584 - push {r4,r5,lr} - bl sub_80AD9F8 - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x000006cc - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0xE - bls _080AD59A - b _080AD8FA -_080AD59A: - lsls r0, 2 - ldr r1, =_080AD5B0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080AD5B0: - .4byte _080AD5EC - .4byte _080AD608 - .4byte _080AD62C - .4byte _080AD65C - .4byte _080AD680 - .4byte _080AD6B0 - .4byte _080AD6E0 - .4byte _080AD70C - .4byte _080AD72A - .4byte _080AD788 - .4byte _080AD80C - .4byte _080AD834 - .4byte _080AD864 - .4byte _080AD8A8 - .4byte _080AD8DC -_080AD5EC: - bl sub_80ACD68 - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006cc - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - b _080AD8F8 - .pool -_080AD608: - bl sub_80ACD78 - lsls r0, 24 - cmp r0, 0 - beq _080AD614 - b _080AD8FA -_080AD614: - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r3, =0x000006cc - adds r1, r3 - ldrh r0, [r1] - adds r0, 0x1 - b _080AD8F8 - .pool -_080AD62C: - bl sub_80ACEAC - lsls r0, 24 - cmp r0, 0 - beq _080AD638 - b _080AD8FA -_080AD638: - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r0, =0x000006d2 - adds r2, r1, r0 - movs r0, 0x1 - strb r0, [r2] - ldr r2, =0x000006cc - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - b _080AD8F8 - .pool -_080AD65C: - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r3, =0x000006c6 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _080AD66C - b _080AD8FA -_080AD66C: - ldr r0, =0x000006cc - adds r1, r0 - movs r0, 0x6 - b _080AD8F8 - .pool -_080AD680: - ldr r0, =gUnknown_0854C14C - ldr r4, [r0] - ldr r2, =0x000006ea - adds r1, r4, r2 - movs r0, 0x1 - strb r0, [r1] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r5, 0xB4 - lsls r5, 1 - adds r1, r5, 0 - bl __umodsi3 - adds r0, r5 - ldr r3, =0x000006e6 - adds r1, r4, r3 - strh r0, [r1] - ldr r0, =0x000006cc - adds r4, r0 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_080AD6B0: - ldr r0, =gUnknown_0854C14C - ldr r2, [r0] - ldr r3, =0x000006e6 - adds r1, r2, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - beq _080AD6C6 - b _080AD8FA -_080AD6C6: - ldr r0, =0x000006cc - adds r1, r2, r0 - ldrh r0, [r1] - adds r0, 0x1 - b _080AD8F8 - .pool -_080AD6E0: - ldr r0, =gUnknown_0854C14C - ldr r4, [r0] - ldr r1, =0x000006ea - adds r0, r4, r1 - movs r5, 0x1 - strb r5, [r0] - bl Random - lsls r0, 16 - lsrs r0, 16 - ands r0, r5 - ldr r2, =0x000006eb - adds r1, r4, r2 - strb r0, [r1] - b _080AD768 - .pool -_080AD70C: - bl Random - ldr r1, =gUnknown_0854C14C - ldr r2, [r1] - movs r1, 0x1 - ands r1, r0 - adds r1, 0x1 - ldr r3, =0x000006ec - adds r0, r2, r3 - strb r1, [r0] - ldr r0, =0x000006cc - adds r2, r0 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] -_080AD72A: - movs r0, 0x13 - bl sub_80ABC48 - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006eb - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080AD74E - ldr r3, =0x000006ec - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080AD74E - movs r0, 0x14 - bl sub_80AD9BC -_080AD74E: - bl Random - ldr r1, =gUnknown_0854C14C - ldr r4, [r1] - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - adds r0, 0x6 - ldr r2, =0x000006e6 - adds r1, r4, r2 - strh r0, [r1] -_080AD768: - ldr r3, =0x000006cc - adds r4, r3 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080AD8FA - .pool -_080AD788: - ldr r0, =gUnknown_0854C14C - ldr r4, [r0] - ldr r0, =0x000006e6 - adds r5, r4, r0 - ldrh r0, [r5] - subs r0, 0x1 - strh r0, [r5] - lsls r0, 16 - cmp r0, 0 - beq _080AD79E - b _080AD8FA -_080AD79E: - movs r0, 0x3 - bl sub_80ABC48 - ldr r2, =0x000006ea - adds r1, r4, r2 - movs r0, 0x1 - strb r0, [r1] - ldr r3, =0x000006ec - adds r1, r4, r3 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - beq _080AD7E8 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF - ands r0, r1 - adds r0, 0x3C - strh r0, [r5] - ldr r0, =0x000006cc - adds r1, r4, r0 - movs r0, 0xA - b _080AD8F8 - .pool -_080AD7E8: - ldr r1, =0x000006eb - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080AD800 - ldr r2, =0x000006cc - adds r1, r4, r2 - b _080AD8F6 - .pool -_080AD800: - ldr r3, =0x000006cc - adds r1, r4, r3 - movs r0, 0xB - b _080AD8F8 - .pool -_080AD80C: - ldr r0, =gUnknown_0854C14C - ldr r2, [r0] - ldr r0, =0x000006e6 - adds r1, r2, r0 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bne _080AD8FA - ldr r3, =0x000006cc - adds r1, r2, r3 - movs r0, 0x8 - b _080AD8F8 - .pool -_080AD834: - bl Random - ldr r1, =gUnknown_0854C14C - ldr r2, [r1] - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF - ands r0, r1 - adds r0, 0x3C - ldr r3, =0x000006e6 - adds r1, r2, r3 - strh r0, [r1] - ldr r0, =0x000006cc - adds r2, r0 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - b _080AD8FA - .pool -_080AD864: - ldr r0, =gUnknown_0854C14C - ldr r5, [r0] - ldr r1, =0x000006e6 - adds r4, r5, r1 - ldrh r0, [r4] - subs r0, 0x1 - strh r0, [r4] - lsls r0, 16 - cmp r0, 0 - bne _080AD8FA - movs r0, 0x64 - bl sub_80AD9BC - movs r0, 0x13 - bl sub_80ABC48 - bl Random - movs r1, 0xF - ands r1, r0 - adds r1, 0x1E - strh r1, [r4] - ldr r2, =0x000006cc - adds r1, r5, r2 - ldrh r0, [r1] - adds r0, 0x1 - b _080AD8F8 - .pool -_080AD8A8: - ldr r0, =gUnknown_0854C14C - ldr r4, [r0] - ldr r3, =0x000006e6 - adds r1, r4, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bne _080AD8FA - movs r0, 0x13 - movs r1, 0x3 - movs r2, 0x5 - bl sub_80ABC7C - ldr r0, =0x000006cc - adds r1, r4, r0 - ldrh r0, [r1] - adds r0, 0x1 - b _080AD8F8 - .pool -_080AD8DC: - ldr r0, =gUnknown_0854C14C - ldr r2, [r0] - ldr r1, =0x000006c6 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x3 - bne _080AD8FA - ldr r3, =0x000006ea - adds r1, r2, r3 - movs r0, 0x1 - strb r0, [r1] - ldr r0, =0x000006cc - adds r1, r2, r0 -_080AD8F6: - movs r0, 0x4 -_080AD8F8: - strh r0, [r1] -_080AD8FA: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AD584 - - thumb_func_start sub_80AD910 -sub_80AD910: @ 80AD910 - push {r4-r6,lr} - ldr r0, =gUnknown_0854C14C - ldr r6, [r0] - ldr r0, =0x000006ce - adds r5, r6, r0 - ldrh r1, [r5] - cmp r1, 0x1 - beq _080AD946 - cmp r1, 0x1 - bgt _080AD934 - cmp r1, 0 - beq _080AD93A - b _080AD9AC - .pool -_080AD934: - cmp r1, 0x2 - beq _080AD990 - b _080AD9AC -_080AD93A: - ldr r2, =0x000006ea - adds r0, r6, r2 - strb r1, [r0] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_080AD946: - bl sub_80AD584 - ldr r0, =gUnknown_0854C14C - ldr r2, [r0] - ldr r1, =0x000006ea - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080AD9B4 - subs r1, 0x19 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x3 - beq _080AD9AC - cmp r0, 0x5 - beq _080AD9AC - cmp r0, 0xD - beq _080AD9AC - ldr r0, =0x000006d9 - adds r1, r2, r0 - movs r0, 0 - strb r0, [r1] - ldr r0, =0x000006ce - adds r1, r2, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080AD9B4 - .pool -_080AD990: - bl sub_80ACEAC - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080AD9B4 - bl sub_80ACF38 - ldr r1, =0x000006ed - adds r0, r6, r1 - strb r4, [r0] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_080AD9AC: - movs r0, 0 - b _080AD9B6 - .pool -_080AD9B4: - movs r0, 0x1 -_080AD9B6: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80AD910 - - thumb_func_start sub_80AD9BC -sub_80AD9BC: @ 80AD9BC - push {r4-r6,lr} - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =gUnknown_0854C14C - ldr r4, [r0] - ldr r0, =0x000006ed - adds r5, r4, r0 - ldrb r0, [r5] - cmp r0, 0 - bne _080AD9EA - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r6, 0 - bl __umodsi3 - movs r2, 0xDD - lsls r2, 3 - adds r1, r4, r2 - strh r0, [r1] - movs r0, 0x1 - strb r0, [r5] -_080AD9EA: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AD9BC - - thumb_func_start sub_80AD9F8 -sub_80AD9F8: @ 80AD9F8 - push {r4,lr} - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006ed - adds r0, r1, r2 - ldrb r4, [r0] - cmp r4, 0x1 - bne _080ADA58 - movs r0, 0xDD - lsls r0, 3 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _080ADA54 - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - bne _080ADA58 - bl Random - ands r4, r0 - cmp r4, 0 - beq _080ADA38 - movs r0, 0x57 - bl PlaySE - b _080ADA3E - .pool -_080ADA38: - movs r0, 0x58 - bl PlaySE -_080ADA3E: - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x000006ed - adds r0, r1 - movs r1, 0 - strb r1, [r0] - b _080ADA58 - .pool -_080ADA54: - subs r0, 0x1 - strh r0, [r1] -_080ADA58: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AD9F8 - - thumb_func_start sub_80ADA60 -sub_80ADA60: @ 80ADA60 - push {lr} - ldr r0, =gUnknown_0854C14C - ldr r3, [r0] - ldr r0, =0x000006cc - adds r1, r3, r0 - movs r2, 0 - movs r0, 0 - strh r0, [r1] - ldr r1, =0x000006d2 - adds r0, r3, r1 - strb r2, [r0] - subs r1, 0x11 - adds r0, r3, r1 - strb r2, [r0] - ldr r2, =0x000006c2 - adds r1, r3, r2 - movs r0, 0x14 - strb r0, [r1] - ldr r1, =0x000006fb - adds r0, r3, r1 - ldrb r1, [r0] - cmp r1, 0 - bne _080ADAA8 - adds r2, 0x2E - adds r0, r3, r2 - strh r1, [r0] - adds r2, 0x2 - adds r0, r3, r2 - strh r1, [r0] - subs r2, 0x4 - adds r0, r3, r2 - strh r1, [r0] - movs r0, 0 - movs r1, 0x10 - bl sub_80AC124 -_080ADAA8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80ADA60 - - thumb_func_start sub_80ADAC0 -sub_80ADAC0: @ 80ADAC0 - push {r4,lr} - bl sub_80ADA60 - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006d2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080ADAE0 - adds r4, r1, r2 -_080ADAD6: - bl sub_80ADAF0 - ldrb r0, [r4] - cmp r0, 0 - beq _080ADAD6 -_080ADAE0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80ADAC0 - - thumb_func_start sub_80ADAF0 -sub_80ADAF0: @ 80ADAF0 - push {r4-r6,lr} - ldr r0, =gUnknown_0854C14C - ldr r6, [r0] - ldr r0, =gSpriteCoordOffsetX - ldr r1, =0x000006f2 - adds r2, r6, r1 - ldrh r0, [r0] - ldrh r1, [r2] - subs r0, r1 - movs r1, 0xFF - ands r0, r1 - ldr r3, =0x000006ee - adds r1, r6, r3 - strh r0, [r1] - movs r0, 0xDE - lsls r0, 3 - adds r1, r6, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - bls _080ADB2A - movs r0, 0 - strh r0, [r1] - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] -_080ADB2A: - ldr r1, =0x000006cc - adds r5, r6, r1 - ldrh r4, [r5] - cmp r4, 0 - beq _080ADB50 - cmp r4, 0x1 - beq _080ADB90 - b _080ADBA6 - .pool -_080ADB50: - bl sub_80ADCAC - movs r3, 0xDA - lsls r3, 3 - adds r0, r6, r3 - ldrb r0, [r0] - cmp r0, 0x6 - bne _080ADB6C - movs r0, 0xC - movs r1, 0x8 - movs r2, 0x3 - bl sub_80AC164 - b _080ADB76 -_080ADB6C: - movs r0, 0x4 - movs r1, 0x10 - movs r2, 0 - bl sub_80AC164 -_080ADB76: - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r0, =0x000006cc - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080ADBA6 - .pool -_080ADB90: - bl sub_80AC1A8 - lsls r0, 24 - cmp r0, 0 - beq _080ADBA6 - ldr r1, =0x000006d2 - adds r0, r6, r1 - strb r4, [r0] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_080ADBA6: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80ADAF0 - - thumb_func_start sub_80ADBB0 -sub_80ADBB0: @ 80ADBB0 - push {r4,lr} - ldr r0, =gUnknown_0854C14C - ldr r2, [r0] - ldr r0, =gSpriteCoordOffsetX - ldr r1, =0x000006f2 - adds r3, r2, r1 - ldrh r0, [r0] - ldrh r1, [r3] - subs r0, r1 - movs r1, 0xFF - ands r0, r1 - ldr r4, =0x000006ee - adds r1, r2, r4 - strh r0, [r1] - movs r0, 0xDE - lsls r0, 3 - adds r1, r2, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - bls _080ADBEA - movs r0, 0 - strh r0, [r1] - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r3] -_080ADBEA: - ldr r1, =0x000006ce - adds r4, r2, r1 - ldrh r0, [r4] - cmp r0, 0x1 - beq _080ADC26 - cmp r0, 0x1 - bgt _080ADC14 - cmp r0, 0 - beq _080ADC1A - b _080ADC3E - .pool -_080ADC14: - cmp r0, 0x2 - beq _080ADC32 - b _080ADC3E -_080ADC1A: - movs r0, 0 - movs r1, 0x10 - movs r2, 0x3 - bl sub_80AC164 - b _080ADC36 -_080ADC26: - bl sub_80AC1A8 - lsls r0, 24 - cmp r0, 0 - beq _080ADC42 - b _080ADC36 -_080ADC32: - bl sub_80ADD68 -_080ADC36: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080ADC42 -_080ADC3E: - movs r0, 0 - b _080ADC44 -_080ADC42: - movs r0, 0x1 -_080ADC44: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80ADBB0 - - thumb_func_start sub_80ADC4C -sub_80ADC4C: @ 80ADC4C - push {r4,lr} - adds r3, r0, 0 - ldr r0, =gSpriteCoordOffsetY - ldrb r0, [r0] - strh r0, [r3, 0x26] - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x000006ee - adds r2, r0, r1 - ldrh r1, [r2] - adds r1, 0x20 - movs r4, 0x2E - ldrsh r0, [r3, r4] - lsls r0, 6 - adds r1, r0 - strh r1, [r3, 0x20] - lsls r1, 16 - ldr r0, =0x010f0000 - cmp r1, r0 - ble _080ADC90 - movs r0, 0xF0 - lsls r0, 1 - adds r1, r0, 0 - ldrh r2, [r2] - adds r1, r2 - movs r4, 0x2E - ldrsh r2, [r3, r4] - movs r0, 0x4 - subs r0, r2 - lsls r0, 6 - subs r1, r0 - ldr r0, =0x000001ff - ands r1, r0 - strh r1, [r3, 0x20] -_080ADC90: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80ADC4C - - thumb_func_start sub_80ADCAC -sub_80ADCAC: @ 80ADCAC - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x000006fb - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080ADD56 - ldr r0, =gUnknown_0854FD30 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - movs r5, 0 -_080ADCD0: - ldr r0, =gSpriteTemplate_854FD18 - movs r1, 0 - movs r2, 0 - movs r3, 0xFF - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080ADD34 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - adds r0, r5, 0 - movs r1, 0x5 - bl __umodsi3 - strh r0, [r4, 0x2E] - lsls r0, 16 - lsrs r0, 10 - adds r0, 0x20 - strh r0, [r4, 0x20] - adds r0, r5, 0 - movs r1, 0x5 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 10 - adds r0, 0x20 - strh r0, [r4, 0x22] - ldr r2, =gUnknown_0854C14C - ldr r0, [r2] - lsls r1, r5, 2 - adds r0, 0xA0 - adds r0, r1 - str r4, [r0] - b _080ADD42 - .pool -_080ADD34: - ldr r2, =gUnknown_0854C14C - ldr r1, [r2] - lsls r0, r5, 2 - adds r1, 0xA0 - adds r1, r0 - movs r0, 0 - str r0, [r1] -_080ADD42: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x13 - bls _080ADCD0 - ldr r0, [r2] - ldr r1, =0x000006fb - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] -_080ADD56: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80ADCAC - - thumb_func_start sub_80ADD68 -sub_80ADD68: @ 80ADD68 - push {r4,r5,lr} - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006fb - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080ADDA8 - movs r4, 0 - adds r5, r1, 0 - adds r5, 0xA0 -_080ADD7E: - lsls r0, r4, 2 - adds r0, r5, r0 - ldr r0, [r0] - cmp r0, 0 - beq _080ADD8C - bl DestroySprite -_080ADD8C: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x13 - bls _080ADD7E - ldr r0, =0x00001201 - bl FreeSpriteTilesByTag - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x000006fb - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_080ADDA8: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80ADD68 - - thumb_func_start sub_80ADDBC -sub_80ADDBC: @ 80ADDBC - push {lr} - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r0, =0x000006cc - adds r2, r1, r0 - movs r3, 0 - movs r0, 0 - strh r0, [r2] - ldr r2, =0x000006d2 - adds r0, r1, r2 - strb r3, [r0] - subs r2, 0x11 - adds r0, r1, r2 - strb r3, [r0] - ldr r3, =0x000006c2 - adds r0, r1, r3 - movs r2, 0x14 - strb r2, [r0] - adds r3, 0x3C - adds r0, r1, r3 - strh r2, [r0] - movs r0, 0xE0 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - bne _080ADE04 - movs r0, 0 - movs r1, 0x10 - bl sub_80AC124 - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x52 - bl SetGpuReg -_080ADE04: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80ADDBC - - thumb_func_start sub_80ADE18 -sub_80ADE18: @ 80ADE18 - push {r4,lr} - bl sub_80ADDBC - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006d2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080ADE38 - adds r4, r1, r2 -_080ADE2E: - bl sub_80ADE48 - ldrb r0, [r4] - cmp r0, 0 - beq _080ADE2E -_080ADE38: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80ADE18 - - thumb_func_start sub_80ADE48 -sub_80ADE48: @ 80ADE48 - push {r4,r5,lr} - ldr r2, =gUnknown_0854C14C - ldr r1, [r2] - ldr r0, =gSpriteCoordOffsetX - ldrh r0, [r0] - ldr r3, =0x000001ff - ands r3, r0 - ldr r0, =0x000006fc - adds r1, r0 - strh r3, [r1] - cmp r3, 0xEF - bls _080ADE74 - adds r4, r1, 0 - adds r1, r3, 0 -_080ADE64: - adds r3, r1, 0 - subs r3, 0xF0 - adds r1, r3, 0 - lsls r0, r3, 16 - lsrs r0, 16 - cmp r0, 0xEF - bhi _080ADE64 - strh r3, [r4] -_080ADE74: - ldr r5, [r2] - ldr r1, =0x000006cc - adds r4, r5, r1 - ldrh r0, [r4] - cmp r0, 0x1 - beq _080ADEAC - cmp r0, 0x1 - bgt _080ADEA0 - cmp r0, 0 - beq _080ADEA6 - b _080ADEE8 - .pool -_080ADEA0: - cmp r0, 0x2 - beq _080ADEC8 - b _080ADEE8 -_080ADEA6: - bl sub_80ADF5C - b _080ADEDA -_080ADEAC: - movs r1, 0xE0 - lsls r1, 3 - adds r0, r5, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080ADEBC - bl sub_80ADF6C -_080ADEBC: - movs r0, 0x10 - movs r1, 0 - movs r2, 0x1 - bl sub_80AC164 - b _080ADEDA -_080ADEC8: - bl sub_80AC1A8 - lsls r0, 24 - cmp r0, 0 - beq _080ADEEC - ldr r0, =0x000006d2 - adds r1, r5, r0 - movs r0, 0x1 - strb r0, [r1] -_080ADEDA: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080ADEEC - .pool -_080ADEE8: - bl sub_80AC1A8 -_080ADEEC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80ADE48 - - thumb_func_start sub_80ADEF4 -sub_80ADEF4: @ 80ADEF4 - push {r4,lr} - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x000006ce - adds r4, r0, r1 - ldrh r0, [r4] - cmp r0, 0x1 - beq _080ADF2A - cmp r0, 0x1 - bgt _080ADF18 - cmp r0, 0 - beq _080ADF1E - b _080ADF4E - .pool -_080ADF18: - cmp r0, 0x2 - beq _080ADF40 - b _080ADF4E -_080ADF1E: - movs r0, 0 - movs r1, 0x10 - movs r2, 0x1 - bl sub_80AC164 - b _080ADF38 -_080ADF2A: - bl sub_80AC1A8 - lsls r0, 24 - cmp r0, 0 - beq _080ADF52 - bl sub_80AE014 -_080ADF38: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080ADF52 -_080ADF40: - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_080ADF4E: - movs r0, 0 - b _080ADF54 -_080ADF52: - movs r0, 0x1 -_080ADF54: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80ADEF4 - - thumb_func_start sub_80ADF5C -sub_80ADF5C: @ 80ADF5C - push {lr} - ldr r0, =gUnknown_0854FD38 - bl LoadSpriteSheet - pop {r0} - bx r0 - .pool - thumb_func_end sub_80ADF5C - - thumb_func_start sub_80ADF6C -sub_80ADF6C: @ 80ADF6C - push {r4,r5,lr} - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - movs r1, 0xE0 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080AE008 - movs r5, 0 -_080ADF80: - ldr r0, =gSpriteTemplate_854FD58 - movs r1, 0 - movs r2, 0 - movs r3, 0x4E - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080ADFE4 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - movs r0, 0 - strh r0, [r4, 0x30] - adds r0, r5, 0 - movs r1, 0x5 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - adds r0, r5, 0 - movs r1, 0x5 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x34] - movs r1, 0x34 - ldrsh r0, [r4, r1] - lsls r0, 6 - adds r0, 0x20 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_0854C14C - ldr r0, [r2] - lsls r1, r5, 2 - adds r0, 0xF0 - adds r0, r1 - str r4, [r0] - b _080ADFF2 - .pool -_080ADFE4: - ldr r2, =gUnknown_0854C14C - ldr r1, [r2] - lsls r0, r5, 2 - adds r1, 0xF0 - adds r1, r0 - movs r0, 0 - str r0, [r1] -_080ADFF2: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x13 - bls _080ADF80 - ldr r0, [r2] - movs r1, 0xE0 - lsls r1, 3 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] -_080AE008: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80ADF6C - - thumb_func_start sub_80AE014 -sub_80AE014: @ 80AE014 - push {r4,r5,lr} - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - movs r2, 0xE0 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080AE058 - movs r4, 0 - adds r5, r1, 0 - adds r5, 0xF0 -_080AE02C: - lsls r0, r4, 2 - adds r0, r5, r0 - ldr r0, [r0] - cmp r0, 0 - beq _080AE03A - bl DestroySprite -_080AE03A: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x13 - bls _080AE02C - ldr r0, =0x00001202 - bl FreeSpriteTilesByTag - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - movs r1, 0xE0 - lsls r1, 3 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_080AE058: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AE014 - - thumb_func_start sub_80AE068 -sub_80AE068: @ 80AE068 - push {r4,lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _080AE084 - movs r0, 0 - strh r0, [r3, 0x30] - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] -_080AE084: - ldr r1, =gSpriteCoordOffsetY - ldrh r0, [r3, 0x2E] - ldrh r1, [r1] - adds r0, r1 - strh r0, [r3, 0x22] - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x000006fc - adds r2, r0, r1 - ldrh r1, [r2] - adds r1, 0x20 - movs r4, 0x32 - ldrsh r0, [r3, r4] - lsls r0, 6 - adds r1, r0 - strh r1, [r3, 0x20] - lsls r1, 16 - ldr r0, =0x010f0000 - cmp r1, r0 - ble _080AE0C8 - movs r0, 0xF0 - lsls r0, 1 - adds r1, r0, 0 - ldrh r2, [r2] - adds r1, r2 - movs r4, 0x32 - ldrsh r2, [r3, r4] - movs r0, 0x4 - subs r0, r2 - lsls r0, 6 - subs r1, r0 - ldr r0, =0x000001ff - ands r1, r0 - strh r1, [r3, 0x20] -_080AE0C8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AE068 - - thumb_func_start sub_80AE0E4 -sub_80AE0E4: @ 80AE0E4 - push {r4,lr} - ldr r0, =gUnknown_0854C14C - ldr r3, [r0] - ldr r1, =0x000006cc - adds r0, r3, r1 - movs r1, 0 - movs r2, 0 - strh r2, [r0] - ldr r4, =0x000006d2 - adds r0, r3, r4 - strb r1, [r0] - subs r4, 0x11 - adds r0, r3, r4 - strb r1, [r0] - ldr r0, =0x000006c2 - adds r1, r3, r0 - movs r0, 0x14 - strb r0, [r1] - movs r1, 0xDE - lsls r1, 3 - adds r0, r3, r1 - strh r2, [r0] - adds r4, 0x31 - adds r1, r3, r4 - movs r0, 0x1 - strh r0, [r1] - ldr r1, =0x00000724 - adds r0, r3, r1 - ldrb r2, [r0] - cmp r2, 0 - bne _080AE14E - adds r4, 0x2A - adds r0, r3, r4 - strh r2, [r0] - subs r1, 0x6 - adds r0, r3, r1 - strh r2, [r0] - adds r4, 0x4 - adds r0, r3, r4 - strh r2, [r0] - adds r1, 0x4 - adds r0, r3, r1 - strh r2, [r0] - subs r4, 0x8 - adds r0, r3, r4 - strh r2, [r0] - subs r1, 0x8 - adds r0, r3, r1 - strh r2, [r0] - movs r0, 0 - movs r1, 0x10 - bl sub_80AC124 -_080AE14E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AE0E4 - - thumb_func_start sub_80AE168 -sub_80AE168: @ 80AE168 - push {r4,lr} - bl sub_80AE0E4 - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006d2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080AE188 - adds r4, r1, r2 -_080AE17E: - bl sub_80AE198 - ldrb r0, [r4] - cmp r0, 0 - beq _080AE17E -_080AE188: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AE168 - - thumb_func_start sub_80AE198 -sub_80AE198: @ 80AE198 - push {r4,r5,lr} - bl sub_80AE25C - ldr r0, =gUnknown_0854C14C - ldr r5, [r0] - ldr r0, =0x000006cc - adds r4, r5, r0 - ldrh r0, [r4] - cmp r0, 0x1 - beq _080AE1CC - cmp r0, 0x1 - bgt _080AE1C0 - cmp r0, 0 - beq _080AE1C6 - b _080AE1F0 - .pool -_080AE1C0: - cmp r0, 0x2 - beq _080AE1D8 - b _080AE1F0 -_080AE1C6: - bl sub_80AE2F0 - b _080AE1EA -_080AE1CC: - movs r0, 0xC - movs r1, 0x8 - movs r2, 0x8 - bl sub_80AC164 - b _080AE1EA -_080AE1D8: - bl sub_80AC1A8 - lsls r0, 24 - cmp r0, 0 - beq _080AE1F0 - ldr r0, =0x000006d2 - adds r1, r5, r0 - movs r0, 0x1 - strb r0, [r1] -_080AE1EA: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_080AE1F0: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AE198 - - thumb_func_start sub_80AE1FC -sub_80AE1FC: @ 80AE1FC - push {r4,lr} - bl sub_80AE25C - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x000006ce - adds r4, r0, r1 - ldrh r0, [r4] - cmp r0, 0x1 - beq _080AE236 - cmp r0, 0x1 - bgt _080AE224 - cmp r0, 0 - beq _080AE22A - b _080AE24E - .pool -_080AE224: - cmp r0, 0x2 - beq _080AE242 - b _080AE24E -_080AE22A: - movs r0, 0 - movs r1, 0x10 - movs r2, 0x1 - bl sub_80AC164 - b _080AE246 -_080AE236: - bl sub_80AC1A8 - lsls r0, 24 - cmp r0, 0 - beq _080AE252 - b _080AE246 -_080AE242: - bl sub_80AE3A8 -_080AE246: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080AE252 -_080AE24E: - movs r0, 0 - b _080AE254 -_080AE252: - movs r0, 0x1 -_080AE254: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80AE1FC - - thumb_func_start sub_80AE25C -sub_80AE25C: @ 80AE25C - push {r4,r5,lr} - ldr r0, =gUnknown_0854C14C - ldr r3, [r0] - ldr r0, =0x0000071c - adds r2, r3, r0 - ldrh r0, [r2] - adds r0, 0x1 - movs r5, 0 - strh r0, [r2] - ldr r1, =0x0000ffff - adds r4, r1, 0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bls _080AE288 - movs r0, 0xE4 - lsls r0, 3 - adds r1, r3, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - strh r5, [r2] -_080AE288: - ldr r1, =0x0000071e - adds r2, r3, r1 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - ands r0, r4 - cmp r0, 0x4 - bls _080AE2A4 - ldr r0, =0x00000722 - adds r1, r3, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - strh r5, [r2] -_080AE2A4: - ldr r0, =gSpriteCoordOffsetX - movs r2, 0xE4 - lsls r2, 3 - adds r1, r3, r2 - ldrh r0, [r0] - ldrh r1, [r1] - subs r0, r1 - movs r1, 0xFF - ands r0, r1 - subs r2, 0x8 - adds r1, r3, r2 - strh r0, [r1] - ldr r1, =gSpriteCoordOffsetY - adds r2, 0xA - adds r0, r3, r2 - ldrh r0, [r0] - ldrh r1, [r1] - adds r0, r1 - subs r2, 0x8 - adds r1, r3, r2 - strh r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AE25C - - thumb_func_start sub_80AE2F0 -sub_80AE2F0: @ 80AE2F0 - push {r4-r6,lr} - sub sp, 0x8 - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x00000724 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080AE396 - ldr r0, =gUnknown_0854FD70 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - movs r6, 0 -_080AE314: - adds r0, r6, 0 - movs r1, 0x5 - bl __udivsi3 - adds r5, r0, 0 - lsls r2, r5, 22 - asrs r2, 16 - ldr r0, =gSpriteTemplate_854FD8C - movs r1, 0 - movs r3, 0xFF - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080AE370 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - adds r0, r6, 0 - movs r1, 0x5 - bl __umodsi3 - strh r0, [r4, 0x2E] - strh r5, [r4, 0x30] - ldr r2, =gUnknown_0854C14C - ldr r0, [r2] - lsls r1, r6, 2 - movs r3, 0xA0 - lsls r3, 1 - adds r0, r3 - adds r0, r1 - str r4, [r0] - b _080AE382 - .pool -_080AE370: - ldr r2, =gUnknown_0854C14C - ldr r1, [r2] - lsls r0, r6, 2 - movs r3, 0xA0 - lsls r3, 1 - adds r1, r3 - adds r1, r0 - movs r0, 0 - str r0, [r1] -_080AE382: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x13 - bls _080AE314 - ldr r0, [r2] - ldr r1, =0x00000724 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] -_080AE396: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AE2F0 - - thumb_func_start sub_80AE3A8 -sub_80AE3A8: @ 80AE3A8 - push {r4,r5,lr} - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x00000724 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080AE3EA - movs r4, 0 - movs r0, 0xA0 - lsls r0, 1 - adds r5, r1, r0 -_080AE3C0: - lsls r0, r4, 2 - adds r0, r5, r0 - ldr r0, [r0] - cmp r0, 0 - beq _080AE3CE - bl DestroySprite -_080AE3CE: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x13 - bls _080AE3C0 - ldr r0, =0x00001203 - bl FreeSpriteTilesByTag - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x00000724 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_080AE3EA: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AE3A8 - - thumb_func_start sub_80AE3FC -sub_80AE3FC: @ 80AE3FC - push {r4,lr} - adds r3, r0, 0 - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x0000071a - adds r0, r1, r2 - ldrh r0, [r0] - strh r0, [r3, 0x26] - movs r4, 0xE3 - lsls r4, 3 - adds r2, r1, r4 - ldrh r1, [r2] - adds r1, 0x20 - movs r4, 0x2E - ldrsh r0, [r3, r4] - lsls r0, 6 - adds r1, r0 - strh r1, [r3, 0x20] - lsls r1, 16 - ldr r0, =0x010f0000 - cmp r1, r0 - ble _080AE444 - movs r0, 0xF0 - lsls r0, 1 - adds r1, r0, 0 - ldrh r2, [r2] - adds r1, r2 - movs r4, 0x2E - ldrsh r2, [r3, r4] - movs r0, 0x4 - subs r0, r2 - lsls r0, 6 - subs r1, r0 - ldr r0, =0x000001ff - ands r1, r0 - strh r1, [r3, 0x20] -_080AE444: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AE3FC - - thumb_func_start sub_80AE45C -sub_80AE45C: @ 80AE45C - push {r4,lr} - ldr r0, =gUnknown_0854C14C - ldr r3, [r0] - ldr r0, =0x000006cc - adds r1, r3, r0 - movs r2, 0 - movs r0, 0 - strh r0, [r1] - ldr r1, =0x000006d2 - adds r0, r3, r1 - strb r2, [r0] - ldr r4, =0x000006c1 - adds r0, r3, r4 - strb r2, [r0] - ldr r0, =0x000006c2 - adds r1, r3, r0 - movs r0, 0x14 - strb r0, [r1] - ldr r1, =0x00000716 - adds r0, r3, r1 - ldrb r2, [r0] - cmp r2, 0 - bne _080AE4B8 - adds r4, 0x43 - adds r1, r3, r4 - adds r4, 0x4 - adds r0, r3, r4 - str r2, [r0] - str r2, [r1] - ldr r0, =0x00000712 - adds r1, r3, r0 - movs r0, 0x8 - strh r0, [r1] - adds r4, 0xC - adds r0, r3, r4 - strh r2, [r0] - ldrh r2, [r1] - cmp r2, 0x5F - bls _080AE4B0 - movs r0, 0x80 - subs r0, r2 - strh r0, [r1] -_080AE4B0: - movs r0, 0 - movs r1, 0x10 - bl sub_80AC124 -_080AE4B8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AE45C - - thumb_func_start sub_80AE4DC -sub_80AE4DC: @ 80AE4DC - push {r4,lr} - bl sub_80AE45C - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006d2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080AE4FC - adds r4, r1, r2 -_080AE4F2: - bl sub_80AE50C - ldrb r0, [r4] - cmp r0, 0 - beq _080AE4F2 -_080AE4FC: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AE4DC - - thumb_func_start sub_80AE50C -sub_80AE50C: @ 80AE50C - push {r4,r5,lr} - bl sub_80AE624 - bl sub_80AE5EC - ldr r0, =gUnknown_0854C14C - ldr r5, [r0] - ldr r0, =0x00000712 - adds r1, r5, r0 - ldrh r0, [r1] - cmp r0, 0x5F - bls _080AE528 - movs r0, 0x20 - strh r0, [r1] -_080AE528: - ldr r0, =0x000006cc - adds r4, r5, r0 - ldrh r0, [r4] - cmp r0, 0x1 - beq _080AE558 - cmp r0, 0x1 - bgt _080AE548 - cmp r0, 0 - beq _080AE54E - b _080AE57C - .pool -_080AE548: - cmp r0, 0x2 - beq _080AE564 - b _080AE57C -_080AE54E: - bl sub_80AE738 - bl sub_80AE7F8 - b _080AE576 -_080AE558: - movs r0, 0x10 - movs r1, 0 - movs r2, 0 - bl sub_80AC164 - b _080AE576 -_080AE564: - bl sub_80AC1A8 - lsls r0, 24 - cmp r0, 0 - beq _080AE57C - ldr r0, =0x000006d2 - adds r1, r5, r0 - movs r0, 0x1 - strb r0, [r1] -_080AE576: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_080AE57C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AE50C - - thumb_func_start sub_80AE588 -sub_80AE588: @ 80AE588 - push {r4,lr} - bl sub_80AE624 - bl sub_80AE5EC - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x000006ce - adds r4, r0, r1 - ldrh r0, [r4] - cmp r0, 0x1 - beq _080AE5C6 - cmp r0, 0x1 - bgt _080AE5B4 - cmp r0, 0 - beq _080AE5BA - b _080AE5DE - .pool -_080AE5B4: - cmp r0, 0x2 - beq _080AE5D2 - b _080AE5DE -_080AE5BA: - movs r0, 0 - movs r1, 0x10 - movs r2, 0 - bl sub_80AC164 - b _080AE5D6 -_080AE5C6: - bl sub_80AC1A8 - lsls r0, 24 - cmp r0, 0 - beq _080AE5E2 - b _080AE5D6 -_080AE5D2: - bl sub_80AE6A4 -_080AE5D6: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080AE5E2 -_080AE5DE: - movs r0, 0 - b _080AE5E4 -_080AE5E2: - movs r0, 0x1 -_080AE5E4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80AE588 - - thumb_func_start sub_80AE5EC -sub_80AE5EC: @ 80AE5EC - push {lr} - ldr r0, =gUnknown_0854C14C - ldr r2, [r0] - ldr r0, =0x00000714 - adds r3, r2, r0 - ldrh r0, [r3] - adds r1, r0, 0x1 - strh r1, [r3] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bls _080AE612 - ldr r1, =0x00000712 - adds r0, r2, r1 - ldrh r1, [r0] - adds r1, 0x1 - movs r2, 0 - strh r1, [r0] - strh r2, [r3] -_080AE612: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AE5EC - - thumb_func_start sub_80AE624 -sub_80AE624: @ 80AE624 - push {r4-r6,lr} - ldr r0, =gUnknown_0854C14C - ldr r2, [r0] - ldr r0, =0x00000704 - adds r4, r2, r0 - ldr r6, =gSineTable - ldr r1, =0x00000712 - adds r5, r2, r1 - ldrh r0, [r5] - lsls r0, 1 - adds r0, r6 - movs r3, 0 - ldrsh r1, [r0, r3] - lsls r1, 2 - ldr r0, [r4] - subs r0, r1 - str r0, [r4] - movs r0, 0xE1 - lsls r0, 3 - adds r3, r2, r0 - ldrh r0, [r5] - lsls r0, 1 - adds r0, r6 - movs r5, 0 - ldrsh r1, [r0, r5] - ldr r0, [r3] - subs r0, r1 - str r0, [r3] - ldr r1, =gSpriteCoordOffsetX - ldr r0, [r4] - lsrs r0, 8 - ldrh r1, [r1] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - ldr r4, =0x0000070e - adds r1, r2, r4 - strh r0, [r1] - ldr r1, =gSpriteCoordOffsetY - ldr r0, [r3] - lsrs r0, 8 - ldrh r1, [r1] - adds r0, r1 - movs r5, 0xE2 - lsls r5, 3 - adds r2, r5 - strh r0, [r2] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AE624 - - thumb_func_start sub_80AE6A4 -sub_80AE6A4: @ 80AE6A4 - push {r4,r5,lr} - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x00000716 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080AE6E6 - movs r4, 0 - movs r0, 0xC8 - lsls r0, 1 - adds r5, r1, r0 -_080AE6BC: - lsls r0, r4, 2 - adds r0, r5, r0 - ldr r0, [r0] - cmp r0, 0 - beq _080AE6CA - bl DestroySprite -_080AE6CA: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x13 - bls _080AE6BC - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x00000716 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, =0x00001204 - bl FreeSpriteTilesByTag -_080AE6E6: - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x00000717 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080AE720 - movs r4, 0 - movs r0, 0xF0 - lsls r0, 1 - adds r5, r1, r0 -_080AE6FC: - lsls r0, r4, 2 - adds r0, r5, r0 - ldr r0, [r0] - cmp r0, 0 - beq _080AE70A - bl DestroySprite -_080AE70A: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _080AE6FC - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x00000717 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_080AE720: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AE6A4 - - thumb_func_start sub_80AE738 -sub_80AE738: @ 80AE738 - push {r4-r7,lr} - sub sp, 0x4 - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x00000716 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080AE7E6 - ldr r0, =gUnknown_0854FDDC - bl LoadSpriteSheet - ldr r0, =gUnknown_0854C2B0 - bl sub_80ABF4C - movs r7, 0 -_080AE758: - adds r0, r7, 0 - movs r1, 0x5 - bl __udivsi3 - adds r6, r0, 0 - lsls r2, r6, 22 - asrs r2, 16 - ldr r0, =gSpriteTemplate_854FDC4 - movs r1, 0 - movs r3, 0x1 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080AE7C0 - ldr r2, =gUnknown_0854C14C - ldr r5, [r2] - lsls r0, r7, 2 - movs r3, 0xC8 - lsls r3, 1 - adds r5, r3 - adds r5, r0 - lsls r4, r1, 4 - adds r4, r1 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - str r4, [r5] - adds r0, r7, 0 - movs r1, 0x5 - str r2, [sp] - bl __umodsi3 - strh r0, [r4, 0x2E] - ldr r0, [r5] - strh r6, [r0, 0x30] - ldr r2, [sp] - b _080AE7D2 - .pool -_080AE7C0: - ldr r2, =gUnknown_0854C14C - ldr r1, [r2] - lsls r0, r7, 2 - movs r3, 0xC8 - lsls r3, 1 - adds r1, r3 - adds r1, r0 - movs r0, 0 - str r0, [r1] -_080AE7D2: - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x13 - bls _080AE758 - ldr r0, [r2] - ldr r1, =0x00000716 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] -_080AE7E6: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AE738 - - thumb_func_start sub_80AE7F8 -sub_80AE7F8: @ 80AE7F8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, =gUnknown_0854C14C - ldr r0, [r4] - ldr r1, =0x00000717 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080AE8E4 - movs r7, 0 - mov r9, r4 - movs r2, 0 - mov r10, r2 -_080AE818: - lsls r0, r7, 1 - mov r8, r0 - adds r6, r0, r7 - lsls r5, r6, 4 - adds r1, r5, 0 - adds r1, 0x18 - lsls r1, 16 - asrs r1, 16 - ldr r0, =gSpriteTemplate_854FDC4 - movs r2, 0xD0 - movs r3, 0x1 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080AE8BC - mov r2, r9 - ldr r4, [r2] - lsls r0, r7, 2 - movs r2, 0xF0 - lsls r2, 1 - adds r4, r2 - adds r4, r0 - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - ldr r0, =gSprites - adds r2, r0 - str r2, [r4] - ldrb r1, [r2, 0x3] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x3] - ldr r1, [r4] - adds r0, r6, r5 - strh r0, [r1, 0x30] - ldr r1, [r4] - movs r0, 0x8 - strh r0, [r1, 0x2E] - ldr r0, [r4] - mov r1, r10 - strh r1, [r0, 0x32] - ldr r1, [r4] - ldr r0, =0x00006730 - strh r0, [r1, 0x36] - ldr r1, [r4] - ldr r0, =gUnknown_0854FDE4 - add r0, r8 - ldrh r0, [r0] - strh r0, [r1, 0x34] - ldr r0, [r4] - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, [r4] - movs r1, 0 - movs r2, 0x2 - movs r3, 0 - bl CalcCenterToCornerVec - ldr r1, [r4] - ldr r0, =sub_80AE958 - str r0, [r1, 0x1C] - b _080AE8CE - .pool -_080AE8BC: - mov r2, r9 - ldr r0, [r2] - lsls r1, r7, 2 - movs r2, 0xF0 - lsls r2, 1 - adds r0, r2 - adds r0, r1 - mov r1, r10 - str r1, [r0] -_080AE8CE: - mov r2, r9 - ldr r0, [r2] - ldr r1, =0x00000717 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x4 - bls _080AE818 -_080AE8E4: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AE7F8 - - thumb_func_start sub_80AE8F8 -sub_80AE8F8: @ 80AE8F8 - push {r4,lr} - adds r3, r0, 0 - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - movs r2, 0xE2 - lsls r2, 3 - adds r0, r1, r2 - ldrh r0, [r0] - strh r0, [r3, 0x26] - ldr r4, =0x0000070e - adds r2, r1, r4 - ldrh r1, [r2] - adds r1, 0x20 - movs r4, 0x2E - ldrsh r0, [r3, r4] - lsls r0, 6 - adds r1, r0 - strh r1, [r3, 0x20] - lsls r1, 16 - ldr r0, =0x010f0000 - cmp r1, r0 - ble _080AE940 - movs r0, 0xF0 - lsls r0, 1 - adds r1, r0, 0 - ldrh r2, [r2] - adds r1, r2 - movs r4, 0x2E - ldrsh r2, [r3, r4] - movs r0, 0x4 - subs r0, r2 - lsls r0, 6 - subs r1, r0 - ldr r0, =0x000001ff - ands r1, r0 - strh r1, [r3, 0x20] -_080AE940: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AE8F8 - - thumb_func_start sub_80AE958 -sub_80AE958: @ 80AE958 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x34] - subs r0, 0x1 - strh r0, [r2, 0x34] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080AE972 - ldr r0, =sub_80AE97C - str r0, [r2, 0x1C] -_080AE972: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AE958 - - thumb_func_start sub_80AE97C -sub_80AE97C: @ 80AE97C - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x22] - subs r0, 0x1 - strh r0, [r5, 0x22] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x30 - negs r1, r1 - cmp r0, r1 - bge _080AE99A - movs r0, 0xD0 - strh r0, [r5, 0x22] - movs r0, 0x4 - strh r0, [r5, 0x2E] -_080AE99A: - movs r0, 0x2E - ldrsh r4, [r5, r0] - ldr r3, =gSineTable - movs r2, 0x30 - ldrsh r1, [r5, r2] - lsls r0, r1, 1 - adds r0, r3 - movs r2, 0 - ldrsh r0, [r0, r2] - adds r2, r4, 0 - muls r2, r0 - adds r1, 0x40 - lsls r1, 1 - adds r1, r3 - movs r3, 0 - ldrsh r0, [r1, r3] - muls r0, r4 - lsrs r2, 8 - strh r2, [r5, 0x24] - lsrs r0, 8 - strh r0, [r5, 0x26] - ldrh r0, [r5, 0x30] - adds r0, 0xA - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080AE9E6 - movs r0, 0 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] -_080AE9E6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AE97C - - thumb_func_start sub_80AE9F0 -sub_80AE9F0: @ 80AE9F0 - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r0, =0x000006cc - adds r2, r1, r0 - movs r0, 0 - strh r0, [r2] - ldr r0, =0x000006c1 - adds r2, r1, r0 - movs r0, 0x3 - strb r0, [r2] - ldr r0, =0x000006c2 - adds r1, r0 - movs r0, 0x14 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_80AE9F0 - - thumb_func_start sub_80AEA20 -sub_80AEA20: @ 80AEA20 - push {lr} - bl sub_80AE9F0 - pop {r0} - bx r0 - thumb_func_end sub_80AEA20 - - thumb_func_start nullsub_96 -nullsub_96: @ 80AEA2C - bx lr - thumb_func_end nullsub_96 - - thumb_func_start sub_80AEA30 -sub_80AEA30: @ 80AEA30 - movs r0, 0 - bx lr - thumb_func_end sub_80AEA30 - - thumb_func_start sub_80AEA34 -sub_80AEA34: @ 80AEA34 - push {r4,r5,lr} - bl sub_80ADA60 - ldr r0, =gUnknown_0854C14C - ldr r4, [r0] - ldr r1, =0x0000072e - adds r0, r4, r1 - ldrb r5, [r0] - cmp r5, 0 - bne _080AEA6C - ldr r0, =gUnknown_0854FDF8 - bl LoadSpriteSheet - movs r2, 0xE5 - lsls r2, 3 - adds r0, r4, r2 - strh r5, [r0] - ldr r0, =gUnknown_0854FDF0 - ldrb r1, [r0] - subs r2, 0x2 - adds r0, r4, r2 - strh r1, [r0] - ldr r1, =0x0000072a - adds r0, r4, r1 - strh r5, [r0] - adds r2, 0x6 - adds r0, r4, r2 - strh r5, [r0] -_080AEA6C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AEA34 - - thumb_func_start sub_80AEA88 -sub_80AEA88: @ 80AEA88 - push {r4,lr} - bl sub_80AEA34 - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r2, =0x000006d2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080AEAA8 - adds r4, r1, r2 -_080AEA9E: - bl sub_80AEAB8 - ldrb r0, [r4] - cmp r0, 0 - beq _080AEA9E -_080AEAA8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AEA88 - - thumb_func_start sub_80AEAB8 -sub_80AEAB8: @ 80AEAB8 - push {r4-r7,lr} - bl sub_80ADAF0 - ldr r0, =gUnknown_0854C14C - ldr r5, [r0] - ldr r0, =0x00000726 - adds r4, r5, r0 - ldrh r0, [r4] - adds r0, 0x1 - movs r6, 0 - strh r0, [r4] - ldr r1, =0x0000ffff - adds r7, r1, 0 - ldr r2, =gUnknown_0854FDF0 - movs r1, 0xE5 - lsls r1, 3 - adds r3, r5, r1 - ldrh r1, [r3] - adds r1, r2 - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1] - cmp r0, r1 - bls _080AEB10 - strh r6, [r4] - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r3] - ands r0, r7 - cmp r0, 0x7 - bls _080AEAF8 - strh r6, [r3] -_080AEAF8: - ldr r0, =0x0000072a - adds r4, r5, r0 - ldrh r0, [r4] - bl sub_80AEB48 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - ands r0, r7 - cmp r0, 0xC - bls _080AEB10 - strh r6, [r4] -_080AEB10: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AEAB8 - - thumb_func_start sub_80AEB2C -sub_80AEB2C: @ 80AEB2C - push {lr} - bl sub_80ADBB0 - lsls r0, 24 - cmp r0, 0 - beq _080AEB3C - movs r0, 0x1 - b _080AEB42 -_080AEB3C: - bl sub_80AEBD0 - movs r0, 0 -_080AEB42: - pop {r1} - bx r1 - thumb_func_end sub_80AEB2C - - thumb_func_start sub_80AEB48 -sub_80AEB48: @ 80AEB48 - push {r4,lr} - lsls r0, 16 - ldr r1, =gUnknown_0854FE00 - lsrs r0, 14 - adds r3, r0, r1 - adds r1, 0x2 - adds r0, r1 - ldr r1, =gSpriteCoordOffsetY - ldrh r2, [r0] - ldrh r0, [r1] - subs r2, r0 - ldr r0, =gSpriteTemplate_854FE44 - movs r4, 0 - ldrsh r1, [r3, r4] - lsls r2, 16 - asrs r2, 16 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080AEBB0 - ldr r0, =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1, 0x5] - adds r3, r1, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r3] - movs r0, 0 - strh r0, [r1, 0x2E] - strh r0, [r1, 0x30] - strh r0, [r1, 0x32] - ldr r0, =gUnknown_0854C14C - ldr r1, [r0] - ldr r0, =0x0000072c - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080AEBB0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AEB48 - - thumb_func_start sub_80AEBD0 -sub_80AEBD0: @ 80AEBD0 - push {r4,r5,lr} - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x0000072c - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _080AEC1A - movs r4, 0 - ldr r5, =gSprites -_080AEBE4: - lsls r0, r4, 4 - adds r0, r4 - lsls r2, r0, 2 - adds r0, r5, 0 - adds r0, 0x14 - adds r0, r2, r0 - ldr r1, [r0] - ldr r0, =gSpriteTemplate_854FE44 - cmp r1, r0 - bne _080AEBFE - adds r0, r2, r5 - bl DestroySprite -_080AEBFE: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3F - bls _080AEBE4 - ldr r0, =0x00001205 - bl FreeSpriteTilesByTag - ldr r0, =gUnknown_0854C14C - ldr r0, [r0] - ldr r1, =0x0000072c - adds r0, r1 - movs r1, 0 - strh r1, [r0] -_080AEC1A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AEBD0 - - thumb_func_start sub_80AEC34 -sub_80AEC34: @ 80AEC34 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x2E] - movs r2, 0 - adds r0, 0x2 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080AEC74 - strh r2, [r1, 0x2E] - movs r3, 0x30 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _080AEC66 - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _080AEC74 - movs r0, 0x1 - strh r0, [r1, 0x30] - b _080AEC74 -_080AEC66: - ldrh r0, [r1, 0x24] - subs r0, 0x1 - strh r0, [r1, 0x24] - lsls r0, 16 - cmp r0, 0 - bgt _080AEC74 - strh r2, [r1, 0x30] -_080AEC74: - ldrh r0, [r1, 0x22] - subs r0, 0x3 - strh r0, [r1, 0x22] - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x77 - ble _080AEC8E - adds r0, r1, 0 - bl DestroySprite -_080AEC8E: - pop {r0} - bx r0 - thumb_func_end sub_80AEC34 - - thumb_func_start sub_80AEC94 -sub_80AEC94: @ 80AEC94 - ldr r2, =gUnknown_02038BC4 - strb r0, [r2] - ldr r0, =gUnknown_02038BC6 - strh r1, [r0] - bx lr - .pool - thumb_func_end sub_80AEC94 - - thumb_func_start sub_80AECA8 -sub_80AECA8: @ 80AECA8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080AECCC - cmp r0, 0x1 - beq _080AECF8 - b _080AED1C - .pool -_080AECCC: - ldrh r0, [r4, 0x1E] - subs r1, r0, 0x1 - strh r1, [r4, 0x1E] - lsls r0, 16 - cmp r0, 0 - bgt _080AED1C - ldrb r0, [r4, 0x2] - bl weather_set - ldr r1, =gUnknown_02038BC4 - ldrh r0, [r4, 0x2] - strb r0, [r1] - movs r1, 0x96 - lsls r1, 2 - adds r0, r1, 0 - strh r0, [r4, 0x1E] - ldrh r0, [r4] - adds r0, 0x1 - b _080AED1A - .pool -_080AECF8: - ldrh r0, [r4, 0x1E] - subs r1, r0, 0x1 - strh r1, [r4, 0x1E] - lsls r0, 16 - cmp r0, 0 - bgt _080AED1C - ldrb r0, [r4, 0x4] - bl weather_set - ldr r1, =gUnknown_02038BC4 - ldrh r0, [r4, 0x4] - strb r0, [r1] - movs r1, 0x96 - lsls r1, 2 - adds r0, r1, 0 - strh r0, [r4, 0x1E] - movs r0, 0 -_080AED1A: - strh r0, [r4] -_080AED1C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AECA8 - - thumb_func_start bag_add_task0_by_acit -bag_add_task0_by_acit: @ 80AED28 - push {lr} - ldr r0, =sub_80AECA8 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r1, r0 - movs r2, 0x96 - lsls r2, 2 - adds r0, r2, 0 - strh r0, [r1, 0x1E] - ldr r3, =gUnknown_02038BC4 - ldrb r2, [r3] - cmp r2, 0xD - bne _080AED60 - movs r0, 0xC - b _080AED66 - .pool -_080AED60: - cmp r2, 0xC - bne _080AED6C - movs r0, 0xD -_080AED66: - strh r0, [r1, 0x2] - strh r2, [r1, 0x4] - b _080AED78 -_080AED6C: - movs r0, 0xD - strb r0, [r3] - movs r0, 0xC - strh r0, [r1, 0x2] - movs r0, 0xD - strh r0, [r1, 0x4] -_080AED78: - pop {r0} - bx r0 - thumb_func_end bag_add_task0_by_acit - - thumb_func_start SetSav1Weather -SetSav1Weather: @ 80AED7C - push {r4,r5,lr} - ldr r4, =gSaveBlock1Ptr - ldr r1, [r4] - adds r1, 0x2E - ldrb r5, [r1] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AEEE8 - ldr r1, [r4] - adds r1, 0x2E - strb r0, [r1] - ldr r0, [r4] - adds r0, 0x2E - ldrb r0, [r0] - adds r1, r5, 0 - bl sub_80AEFDC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end SetSav1Weather - - thumb_func_start GetSav1Weather -GetSav1Weather: @ 80AEDAC - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0x2E - ldrb r0, [r0] - bx lr - .pool - thumb_func_end GetSav1Weather - - thumb_func_start SetSav1WeatherFromCurrMapHeader -SetSav1WeatherFromCurrMapHeader: @ 80AEDBC - push {r4,r5,lr} - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - adds r0, 0x2E - ldrb r5, [r0] - ldr r0, =gMapHeader - ldrb r0, [r0, 0x16] - bl sub_80AEEE8 - ldr r1, [r4] - adds r1, 0x2E - strb r0, [r1] - ldr r0, [r4] - adds r0, 0x2E - ldrb r0, [r0] - adds r1, r5, 0 - bl sub_80AEFDC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end SetSav1WeatherFromCurrMapHeader - - thumb_func_start SetWeather -SetWeather: @ 80AEDF0 - push {lr} - bl SetSav1Weather - bl GetSav1Weather - lsls r0, 24 - lsrs r0, 24 - bl weather_set - pop {r0} - bx r0 - thumb_func_end SetWeather - - thumb_func_start sub_80AEE08 -sub_80AEE08: @ 80AEE08 - push {lr} - bl SetSav1Weather - bl GetSav1Weather - lsls r0, 24 - lsrs r0, 24 - bl sub_80AB104 - pop {r0} - bx r0 - thumb_func_end sub_80AEE08 - - thumb_func_start DoCurrentWeather -DoCurrentWeather: @ 80AEE20 - push {r4,r5,lr} - bl GetSav1Weather - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bne _080AEE4C - ldr r0, =sub_80AECA8 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080AEE3E - bl bag_add_task0_by_acit -_080AEE3E: - ldr r0, =gUnknown_02038BC4 - ldrb r4, [r0] - b _080AEE6E - .pool -_080AEE4C: - ldr r5, =sub_80AECA8 - adds r0, r5, 0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _080AEE68 - adds r0, r5, 0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080AEE68: - ldr r1, =gUnknown_02038BC4 - movs r0, 0xD - strb r0, [r1] -_080AEE6E: - adds r0, r4, 0 - bl weather_set - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end DoCurrentWeather - - thumb_func_start sub_80AEE84 -sub_80AEE84: @ 80AEE84 - push {r4,r5,lr} - bl GetSav1Weather - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bne _080AEEB0 - ldr r0, =sub_80AECA8 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080AEEA2 - bl bag_add_task0_by_acit -_080AEEA2: - ldr r0, =gUnknown_02038BC4 - ldrb r4, [r0] - b _080AEED2 - .pool -_080AEEB0: - ldr r5, =sub_80AECA8 - adds r0, r5, 0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _080AEECC - adds r0, r5, 0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080AEECC: - ldr r1, =gUnknown_02038BC4 - movs r0, 0xD - strb r0, [r1] -_080AEED2: - adds r0, r4, 0 - bl sub_80AB104 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AEE84 - - thumb_func_start sub_80AEEE8 -sub_80AEEE8: @ 80AEEE8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x15 - bhi _080AEFB4 - lsls r0, 2 - ldr r1, =_080AEF00 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080AEF00: - .4byte _080AEFB4 - .4byte _080AEF58 - .4byte _080AEF5C - .4byte _080AEF60 - .4byte _080AEF64 - .4byte _080AEF68 - .4byte _080AEF6C - .4byte _080AEF70 - .4byte _080AEF74 - .4byte _080AEF78 - .4byte _080AEF7C - .4byte _080AEF80 - .4byte _080AEF84 - .4byte _080AEF88 - .4byte _080AEF8C - .4byte _080AEF90 - .4byte _080AEFB4 - .4byte _080AEFB4 - .4byte _080AEFB4 - .4byte _080AEFB4 - .4byte _080AEF94 - .4byte _080AEF9C -_080AEF58: - movs r0, 0x1 - b _080AEFB6 -_080AEF5C: - movs r0, 0x2 - b _080AEFB6 -_080AEF60: - movs r0, 0x3 - b _080AEFB6 -_080AEF64: - movs r0, 0x4 - b _080AEFB6 -_080AEF68: - movs r0, 0x5 - b _080AEFB6 -_080AEF6C: - movs r0, 0x6 - b _080AEFB6 -_080AEF70: - movs r0, 0x7 - b _080AEFB6 -_080AEF74: - movs r0, 0x8 - b _080AEFB6 -_080AEF78: - movs r0, 0x9 - b _080AEFB6 -_080AEF7C: - movs r0, 0xA - b _080AEFB6 -_080AEF80: - movs r0, 0xB - b _080AEFB6 -_080AEF84: - movs r0, 0xC - b _080AEFB6 -_080AEF88: - movs r0, 0xD - b _080AEFB6 -_080AEF8C: - movs r0, 0xE - b _080AEFB6 -_080AEF90: - movs r0, 0xF - b _080AEFB6 -_080AEF94: - ldr r1, =gUnknown_0854FE5C - b _080AEF9E - .pool -_080AEF9C: - ldr r1, =gUnknown_0854FE60 -_080AEF9E: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0x2F - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - b _080AEFB6 - .pool -_080AEFB4: - movs r0, 0 -_080AEFB6: - pop {r1} - bx r1 - thumb_func_end sub_80AEEE8 - - thumb_func_start UpdateWeatherPerDay -UpdateWeatherPerDay: @ 80AEFBC - lsls r0, 16 - ldr r1, =gSaveBlock1Ptr - ldr r2, [r1] - adds r2, 0x2F - lsrs r0, 16 - ldrb r1, [r2] - adds r0, r1 - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - lsrs r1, 16 - strb r1, [r2] - bx lr - .pool - thumb_func_end UpdateWeatherPerDay - - thumb_func_start sub_80AEFDC -sub_80AEFDC: @ 80AEFDC - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r2, r0, 24 - cmp r0, r1 - beq _080AEFF6 - cmp r2, 0x3 - beq _080AEFF0 - cmp r2, 0x5 - bne _080AEFF6 -_080AEFF0: - movs r0, 0x28 - bl IncrementGameStat -_080AEFF6: - pop {r0} - bx r0 - thumb_func_end sub_80AEFDC - - thumb_func_start palette_bg_faded_fill_white -palette_bg_faded_fill_white: @ 80AEFFC - push {lr} - sub sp, 0x4 - ldr r0, =0x7fff7fff - str r0, [sp] - ldr r1, =gPlttBufferFaded - ldr r2, =0x01000100 - mov r0, sp - bl CpuFastSet - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end palette_bg_faded_fill_white - - thumb_func_start palette_bg_faded_fill_black -palette_bg_faded_fill_black: @ 80AF020 - push {lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r1, =gPlttBufferFaded - ldr r2, =0x01000100 - mov r0, sp - bl CpuFastSet - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end palette_bg_faded_fill_black - - thumb_func_start pal_fill_for_maplights -pal_fill_for_maplights: @ 80AF040 - push {r4,lr} - bl GetLastUsedWarpMapType - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl Overworld_GetMapTypeOfSaveblockLocation - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl fade_type_for_given_maplight_pair - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080AF06A - cmp r0, 0x1 - beq _080AF078 - b _080AF084 -_080AF06A: - bl palette_bg_faded_fill_black - movs r0, 0 - movs r1, 0 - bl FadeScreen - b _080AF084 -_080AF078: - bl palette_bg_faded_fill_white - movs r0, 0x2 - movs r1, 0 - bl FadeScreen -_080AF084: - pop {r4} - pop {r0} - bx r0 - thumb_func_end pal_fill_for_maplights - - thumb_func_start sub_80AF08C -sub_80AF08C: @ 80AF08C - push {lr} - bl palette_bg_faded_fill_white - movs r0, 0x2 - movs r1, 0x8 - bl FadeScreen - pop {r0} - bx r0 - thumb_func_end sub_80AF08C - - thumb_func_start pal_fill_black -pal_fill_black: @ 80AF0A0 - push {lr} - bl palette_bg_faded_fill_black - movs r0, 0 - movs r1, 0 - bl FadeScreen - pop {r0} - bx r0 - thumb_func_end pal_fill_black - - thumb_func_start sub_80AF0B4 -sub_80AF0B4: @ 80AF0B4 - push {r4,lr} - bl Overworld_GetMapTypeOfSaveblockLocation - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl GetDestinationWarpMapHeader - ldrb r1, [r0, 0x17] - adds r0, r4, 0 - bl sub_8137360 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080AF0DA - cmp r0, 0x1 - beq _080AF0E4 - b _080AF0EC -_080AF0DA: - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - b _080AF0EC -_080AF0E4: - movs r0, 0x3 - movs r1, 0 - bl FadeScreen -_080AF0EC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AF0B4 - - thumb_func_start sub_80AF0F4 -sub_80AF0F4: @ 80AF0F4 - push {lr} - lsls r0, 24 - movs r1, 0 - cmp r0, 0 - bne _080AF100 - movs r1, 0x1 -_080AF100: - adds r0, r1, 0 - bl sub_808C0A8 - pop {r0} - bx r0 - thumb_func_end sub_80AF0F4 - - thumb_func_start task0A_nop_for_a_while -task0A_nop_for_a_while: @ 80AF10C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80AF71C - cmp r0, 0x1 - bne _080AF120 - adds r0, r4, 0 - bl DestroyTask -_080AF120: - pop {r4} - pop {r0} - bx r0 - thumb_func_end task0A_nop_for_a_while - - thumb_func_start sub_80AF128 -sub_80AF128: @ 80AF128 - push {lr} - bl ScriptContext2_Enable - bl Overworld_PlaySpecialMapMusic - bl pal_fill_black - ldr r0, =task0A_nop_for_a_while - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF128 - - thumb_func_start task0A_asap_script_env_2_enable_and_set_ctx_running -task0A_asap_script_env_2_enable_and_set_ctx_running: @ 80AF148 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80AF71C - cmp r0, 0x1 - bne _080AF160 - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_080AF160: - pop {r4} - pop {r0} - bx r0 - thumb_func_end task0A_asap_script_env_2_enable_and_set_ctx_running - - thumb_func_start sub_80AF168 -sub_80AF168: @ 80AF168 - push {lr} - bl ScriptContext2_Enable - bl Overworld_PlaySpecialMapMusic - bl pal_fill_black - ldr r0, =task0A_asap_script_env_2_enable_and_set_ctx_running - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF168 - - thumb_func_start sub_80AF188 -sub_80AF188: @ 80AF188 - push {lr} - bl ScriptContext2_Enable - bl pal_fill_black - ldr r0, =task0A_asap_script_env_2_enable_and_set_ctx_running - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF188 - - thumb_func_start task_mpl_807DD60 -task_mpl_807DD60: @ 80AF1A4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r2, =gTasks - adds r4, r0, r2 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080AF1DE - cmp r0, 0x1 - bgt _080AF1CC - cmp r0, 0 - beq _080AF1D2 - b _080AF20E - .pool -_080AF1CC: - cmp r0, 0x2 - beq _080AF1FC - b _080AF20E -_080AF1D2: - bl sub_80B3050 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xA] - b _080AF1F4 -_080AF1DE: - movs r1, 0xA - ldrsh r0, [r4, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0x1 - beq _080AF20E - bl pal_fill_for_maplights -_080AF1F4: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080AF20E -_080AF1FC: - bl sub_80AF71C - cmp r0, 0x1 - bne _080AF20E - bl ScriptContext2_Disable - adds r0, r5, 0 - bl DestroyTask -_080AF20E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end task_mpl_807DD60 - - thumb_func_start sub_80AF214 -sub_80AF214: @ 80AF214 - push {lr} - bl ScriptContext2_Enable - bl Overworld_PlaySpecialMapMusic - bl palette_bg_faded_fill_black - ldr r0, =task_mpl_807DD60 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF214 - - thumb_func_start sub_80AF234 -sub_80AF234: @ 80AF234 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080AF268 - cmp r0, 0x1 - bgt _080AF25C - cmp r0, 0 - beq _080AF262 - b _080AF2AE - .pool -_080AF25C: - cmp r0, 0x2 - beq _080AF298 - b _080AF2AE -_080AF262: - bl sub_800ADF8 - b _080AF290 -_080AF268: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - bne _080AF28C - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - movs r1, 0xE1 - lsls r1, 19 - cmp r0, r1 - ble _080AF2AE - movs r0, 0xC0 - lsls r0, 7 - bl sub_8011170 - b _080AF2AE -_080AF28C: - bl pal_fill_for_maplights -_080AF290: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080AF2AE -_080AF298: - bl sub_80AF71C - cmp r0, 0x1 - bne _080AF2AE - bl sub_8009F18 - bl ScriptContext2_Disable - adds r0, r5, 0 - bl DestroyTask -_080AF2AE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80AF234 - - thumb_func_start sub_80AF2B4 -sub_80AF2B4: @ 80AF2B4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080AF2E8 - cmp r0, 0x1 - bgt _080AF2DC - cmp r0, 0 - beq _080AF2E2 - b _080AF30C - .pool -_080AF2DC: - cmp r0, 0x2 - beq _080AF2FA - b _080AF30C -_080AF2E2: - bl sub_800ADF8 - b _080AF2F2 -_080AF2E8: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080AF30C -_080AF2F2: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080AF30C -_080AF2FA: - bl sub_8009F18 - bl sub_8086C2C - bl ScriptContext2_Disable - adds r0, r5, 0 - bl DestroyTask -_080AF30C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80AF2B4 - - thumb_func_start sub_80AF314 -sub_80AF314: @ 80AF314 - push {lr} - bl ScriptContext2_Enable - bl Overworld_PlaySpecialMapMusic - bl palette_bg_faded_fill_black - ldr r0, =sub_80AF234 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF314 - - thumb_func_start sub_80AF334 -sub_80AF334: @ 80AF334 - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsDoor - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080AF36C - ldr r1, =sub_80AF438 - b _080AF37E - .pool -_080AF36C: - adds r0, r4, 0 - bl MetatileBehavior_IsNonAnimDoor - lsls r0, 24 - lsrs r0, 24 - ldr r1, =task_map_chg_seq_0807E2CC - cmp r0, 0x1 - bne _080AF37E - ldr r1, =task_map_chg_seq_0807E20C -_080AF37E: - adds r0, r1, 0 - movs r1, 0xA - bl CreateTask - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF334 - - thumb_func_start mapldr_default -mapldr_default: @ 80AF398 - push {lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - bl sub_80AF334 - bl ScriptContext2_Enable - pop {r0} - bx r0 - thumb_func_end mapldr_default - - thumb_func_start sub_80AF3B0 -sub_80AF3B0: @ 80AF3B0 - push {lr} - bl Overworld_PlaySpecialMapMusic - bl sub_80AF08C - bl sub_80AF334 - bl ScriptContext2_Enable - pop {r0} - bx r0 - thumb_func_end sub_80AF3B0 - - thumb_func_start sub_80AF3C8 -sub_80AF3C8: @ 80AF3C8 - push {lr} - bl sub_81D6534 - cmp r0, 0 - bne _080AF3D6 - bl Overworld_PlaySpecialMapMusic -_080AF3D6: - bl pal_fill_black - bl sub_80AF334 - bl ScriptContext2_Enable - pop {r0} - bx r0 - thumb_func_end sub_80AF3C8 - - thumb_func_start sub_80AF3E8 -sub_80AF3E8: @ 80AF3E8 - push {lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - movs r0, 0x2E - bl PlaySE - ldr r0, =task0A_mpl_807E31C - movs r1, 0xA - bl CreateTask - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF3E8 - - thumb_func_start sub_80AF40C -sub_80AF40C: @ 80AF40C - push {lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - movs r0, 0x2E - bl PlaySE - ldr r0, =task_map_chg_seq_0807E2CC - movs r1, 0xA - bl CreateTask - bl ScriptContext2_Enable - movs r0, 0xE - bl sub_8085540 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF40C - - thumb_func_start sub_80AF438 -sub_80AF438: @ 80AF438 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - adds r6, r5, 0 - adds r6, 0xC - adds r7, r5, 0 - adds r7, 0xE - movs r2, 0x8 - ldrsh r0, [r5, r2] - adds r2, r1, 0 - cmp r0, 0x4 - bhi _080AF54A - lsls r0, 2 - ldr r1, =_080AF46C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080AF46C: - .4byte _080AF480 - .4byte _080AF4A4 - .4byte _080AF4DC - .4byte _080AF520 - .4byte _080AF540 -_080AF480: - movs r0, 0 - bl sub_80AF0F4 - bl FreezeEventObjects - adds r0, r6, 0 - adds r1, r7, 0 - bl PlayerGetDestCoords - movs r1, 0 - ldrsh r0, [r6, r1] - movs r2, 0 - ldrsh r1, [r7, r2] - bl FieldSetDoorOpened - movs r0, 0x1 - strh r0, [r5, 0x8] - b _080AF54A -_080AF4A4: - bl sub_80AF71C - cmp r0, 0 - beq _080AF54A - movs r0, 0x1 - bl sub_80AF0F4 - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetEventObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gEventObjects - adds r0, r1 - movs r1, 0x8 - bl EventObjectSetHeldMovement - movs r0, 0x2 - strh r0, [r5, 0x8] - b _080AF54A - .pool -_080AF4DC: - bl walkrun_is_standing_still - lsls r0, 24 - cmp r0, 0 - beq _080AF54A - movs r1, 0 - ldrsh r0, [r6, r1] - movs r2, 0 - ldrsh r1, [r7, r2] - bl FieldAnimateDoorClose - lsls r0, 24 - asrs r0, 24 - strh r0, [r5, 0xA] - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetEventObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gEventObjects - adds r0, r1 - bl EventObjectClearHeldMovementIfFinished - movs r0, 0x3 - strh r0, [r5, 0x8] - b _080AF54A - .pool -_080AF520: - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0 - blt _080AF536 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0x1 - beq _080AF54A -_080AF536: - bl UnfreezeEventObjects - movs r0, 0x4 - strh r0, [r5, 0x8] - b _080AF54A -_080AF540: - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask -_080AF54A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80AF438 - - thumb_func_start task_map_chg_seq_0807E20C -task_map_chg_seq_0807E20C: @ 80AF550 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - adds r6, r5, 0 - adds r6, 0xC - adds r7, r5, 0 - adds r7, 0xE - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080AF5A2 - cmp r0, 0x1 - bgt _080AF580 - cmp r0, 0 - beq _080AF58A - b _080AF60A - .pool -_080AF580: - cmp r0, 0x2 - beq _080AF5EC - cmp r0, 0x3 - beq _080AF600 - b _080AF60A -_080AF58A: - movs r0, 0 - bl sub_80AF0F4 - bl FreezeEventObjects - adds r0, r6, 0 - adds r1, r7, 0 - bl PlayerGetDestCoords - movs r0, 0x1 - strh r0, [r5, 0x8] - b _080AF60A -_080AF5A2: - bl sub_80AF71C - cmp r0, 0 - beq _080AF60A - movs r0, 0x1 - bl sub_80AF0F4 - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetEventObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gEventObjects - adds r4, r0 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl GetWalkNormalMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl EventObjectSetHeldMovement - movs r0, 0x2 - strh r0, [r5, 0x8] - b _080AF60A - .pool -_080AF5EC: - bl walkrun_is_standing_still - lsls r0, 24 - cmp r0, 0 - beq _080AF60A - bl UnfreezeEventObjects - movs r0, 0x3 - strh r0, [r5, 0x8] - b _080AF60A -_080AF600: - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask -_080AF60A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end task_map_chg_seq_0807E20C - - thumb_func_start task_map_chg_seq_0807E2CC -task_map_chg_seq_0807E2CC: @ 80AF610 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080AF634 - cmp r0, 0x1 - beq _080AF644 - b _080AF65A - .pool -_080AF634: - bl FreezeEventObjects - bl ScriptContext2_Enable - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080AF65A -_080AF644: - bl sub_80AF71C - cmp r0, 0 - beq _080AF65A - bl UnfreezeEventObjects - bl ScriptContext2_Disable - adds r0, r5, 0 - bl DestroyTask -_080AF65A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end task_map_chg_seq_0807E2CC - - thumb_func_start sub_80AF660 -sub_80AF660: @ 80AF660 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80AF71C - cmp r0, 0x1 - bne _080AF67C - adds r0, r4, 0 - bl DestroyTask - ldr r0, =sub_809FA34 - movs r1, 0x50 - bl CreateTask -_080AF67C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF660 - - thumb_func_start sub_80AF688 -sub_80AF688: @ 80AF688 - push {lr} - bl pal_fill_black - ldr r0, =sub_80AF660 - movs r1, 0x50 - bl CreateTask - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF688 - - thumb_func_start sub_80AF6A4 -sub_80AF6A4: @ 80AF6A4 - push {lr} - bl sub_809FA18 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_80AF6A4 - - thumb_func_start task_mpl_807E3C8 -task_mpl_807E3C8: @ 80AF6B0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80AF71C - cmp r0, 0x1 - bne _080AF6CC - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask - bl ScriptUnfreezeEventObjects -_080AF6CC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end task_mpl_807E3C8 - - thumb_func_start sub_80AF6D4 -sub_80AF6D4: @ 80AF6D4 - push {lr} - bl ScriptContext2_Enable - bl pal_fill_black - ldr r0, =task_mpl_807E3C8 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF6D4 - - thumb_func_start sub_80AF6F0 -sub_80AF6F0: @ 80AF6F0 - push {lr} - bl ScriptContext2_Enable - bl Overworld_PlaySpecialMapMusic - bl pal_fill_black - ldr r0, =task_mpl_807E3C8 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF6F0 - - thumb_func_start sub_80AF710 -sub_80AF710: @ 80AF710 - ldr r0, =gPaletteFade - ldrb r0, [r0, 0x7] - lsrs r0, 7 - bx lr - .pool - thumb_func_end sub_80AF710 - - thumb_func_start sub_80AF71C -sub_80AF71C: @ 80AF71C - push {lr} - bl IsWeatherNotFadingIn - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080AF72E - movs r0, 0 - b _080AF730 -_080AF72E: - movs r0, 0x1 -_080AF730: - pop {r1} - bx r1 - thumb_func_end sub_80AF71C - - thumb_func_start sub_80AF734 -sub_80AF734: @ 80AF734 - push {lr} - bl ScriptContext2_Enable - bl music_something - bl sub_80AF0B4 - bl play_some_sound - movs r0, 0x9 - bl PlaySE - ldr r0, =gFieldCallback - ldr r1, =mapldr_default - str r1, [r0] - ldr r0, =sub_80AFA0C - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF734 - - thumb_func_start sp13E_warp_to_last_warp -sp13E_warp_to_last_warp: @ 80AF76C - push {lr} - bl ScriptContext2_Enable - bl music_something - bl sub_80AF0B4 - bl play_some_sound - ldr r0, =gFieldCallback - ldr r1, =mapldr_default - str r1, [r0] - ldr r0, =sub_80AFA0C - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sp13E_warp_to_last_warp - - thumb_func_start sub_80AF79C -sub_80AF79C: @ 80AF79C - push {lr} - bl ScriptContext2_Enable - bl music_something - movs r0, 0x3 - movs r1, 0x8 - bl FadeScreen - bl play_some_sound - ldr r0, =gFieldCallback - ldr r1, =sub_80AF3B0 - str r1, [r0] - ldr r0, =sub_80AFA0C - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF79C - - thumb_func_start sub_80AF7D0 -sub_80AF7D0: @ 80AF7D0 - push {lr} - bl ScriptContext2_Enable - ldr r0, =gFieldCallback - ldr r1, =mapldr_default - str r1, [r0] - ldr r0, =sub_80AFA88 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF7D0 - - thumb_func_start sp13F_fall_to_last_warp -sp13F_fall_to_last_warp: @ 80AF7F4 - push {lr} - bl sp13E_warp_to_last_warp - ldr r1, =gFieldCallback - ldr r0, =sub_80B6B68 - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sp13F_fall_to_last_warp - - thumb_func_start sub_80AF80C -sub_80AF80C: @ 80AF80C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ScriptContext2_Enable - adds r0, r4, 0 - movs r1, 0xA - bl sub_80B6E4C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AF80C - - thumb_func_start sub_80AF828 -sub_80AF828: @ 80AF828 - push {lr} - bl ScriptContext2_Enable - movs r0, 0xA - bl sub_80B75D8 - pop {r0} - bx r0 - thumb_func_end sub_80AF828 - - thumb_func_start sub_80AF838 -sub_80AF838: @ 80AF838 - push {lr} - bl ScriptContext2_Enable - movs r0, 0xA - bl sub_80B7A74 - pop {r0} - bx r0 - thumb_func_end sub_80AF838 - - thumb_func_start sub_80AF848 -sub_80AF848: @ 80AF848 - push {lr} - bl ScriptContext2_Enable - bl music_something - bl sub_80AF0B4 - movs r0, 0x2D - bl PlaySE - ldr r0, =sub_80AFA0C - movs r1, 0xA - bl CreateTask - ldr r1, =gFieldCallback - ldr r0, =sub_80AF3E8 - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF848 - - thumb_func_start sub_80AF87C -sub_80AF87C: @ 80AF87C - push {lr} - movs r0, 0x1 - bl sub_8085540 - bl ScriptContext2_Enable - bl SaveEventObjects - bl music_something - bl sub_80AF0B4 - movs r0, 0x2D - bl PlaySE - ldr r0, =sub_80AFA0C - movs r1, 0xA - bl CreateTask - ldr r1, =gFieldCallback - ldr r0, =sub_80AF40C - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF87C - - thumb_func_start sub_80AF8B8 -sub_80AF8B8: @ 80AF8B8 - push {lr} - bl ScriptContext2_Enable - bl sub_80AF0B4 - ldr r0, =sub_80AFA0C - movs r1, 0xA - bl CreateTask - ldr r1, =gFieldCallback - ldr r0, =sub_80FB768 - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF8B8 - - thumb_func_start sub_80AF8E0 -sub_80AF8E0: @ 80AF8E0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080AF914 - cmp r0, 0x1 - bgt _080AF908 - cmp r0, 0 - beq _080AF90E - b _080AF93E - .pool -_080AF908: - cmp r0, 0x2 - beq _080AF92E - b _080AF93E -_080AF90E: - bl ScriptContext2_Enable - b _080AF926 -_080AF914: - bl sub_80AF710 - cmp r0, 0 - bne _080AF93E - bl BGMusicStopped - lsls r0, 24 - cmp r0, 0 - beq _080AF93E -_080AF926: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080AF93E -_080AF92E: - bl WarpIntoMap - ldr r0, =sub_8086074 - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_080AF93E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF8E0 - - thumb_func_start sub_80AF948 -sub_80AF948: @ 80AF948 - push {lr} - bl ScriptContext2_Enable - bl music_something - bl sub_80AF0B4 - movs r0, 0x9 - bl PlaySE - ldr r0, =sub_80AF8E0 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF948 - - thumb_func_start sub_80AF96C -sub_80AF96C: @ 80AF96C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080AF9B2 - cmp r0, 0x1 - bgt _080AF994 - cmp r0, 0 - beq _080AF99A - b _080AF9E8 - .pool -_080AF994: - cmp r0, 0x2 - beq _080AF9D0 - b _080AF9E8 -_080AF99A: - bl ClearLinkCallback_2 - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - bl music_something - movs r0, 0x9 - bl PlaySE - b _080AF9C8 -_080AF9B2: - bl sub_80AF710 - cmp r0, 0 - bne _080AF9E8 - bl BGMusicStopped - lsls r0, 24 - cmp r0, 0 - beq _080AF9E8 - bl sub_800AC34 -_080AF9C8: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080AF9E8 -_080AF9D0: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _080AF9E8 - bl WarpIntoMap - ldr r0, =CB2_LoadMap - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_080AF9E8: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF96C - - thumb_func_start sub_80AF9F8 -sub_80AF9F8: @ 80AF9F8 - push {lr} - ldr r0, =sub_80AF96C - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AF9F8 - - thumb_func_start sub_80AFA0C -sub_80AFA0C: @ 80AFA0C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _080AFA44 - cmp r5, 0x1 - bgt _080AFA34 - cmp r5, 0 - beq _080AFA3A - b _080AFA7C - .pool -_080AFA34: - cmp r5, 0x2 - beq _080AFA6C - b _080AFA7C -_080AFA3A: - bl FreezeEventObjects - bl ScriptContext2_Enable - b _080AFA64 -_080AFA44: - bl sub_80AF710 - cmp r0, 0 - bne _080AFA7C - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080AFA5A - bl sub_81BE72C - strh r5, [r4, 0xA] -_080AFA5A: - bl BGMusicStopped - lsls r0, 24 - cmp r0, 0 - beq _080AFA7C -_080AFA64: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080AFA7C -_080AFA6C: - bl WarpIntoMap - ldr r0, =CB2_LoadMap - bl SetMainCallback2 - adds r0, r6, 0 - bl DestroyTask -_080AFA7C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AFA0C - - thumb_func_start sub_80AFA88 -sub_80AFA88: @ 80AFA88 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r5, r1, r0 - adds r4, r5, 0 - adds r4, 0xC - adds r6, r5, 0 - adds r6, 0xE - movs r2, 0x8 - ldrsh r1, [r5, r2] - adds r2, r0, 0 - cmp r1, 0x4 - bls _080AFAAC - b _080AFBE8 -_080AFAAC: - lsls r0, r1, 2 - ldr r1, =_080AFAC0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080AFAC0: - .4byte _080AFAD4 - .4byte _080AFB10 - .4byte _080AFB6C - .4byte _080AFBB8 - .4byte _080AFBD4 -_080AFAD4: - bl FreezeEventObjects - adds r0, r4, 0 - adds r1, r6, 0 - bl PlayerGetDestCoords - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0 - ldrsh r1, [r6, r2] - subs r1, 0x1 - bl GetDoorSoundEffect - lsls r0, 16 - lsrs r0, 16 - bl PlaySE - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0 - ldrsh r1, [r6, r2] - subs r1, 0x1 - bl FieldAnimateDoorOpen - lsls r0, 24 - asrs r0, 24 - strh r0, [r5, 0xA] - movs r0, 0x1 - strh r0, [r5, 0x8] - b _080AFBE8 -_080AFB10: - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0 - blt _080AFB26 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0x1 - beq _080AFBE8 -_080AFB26: - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetEventObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r4, =gEventObjects - adds r0, r4 - bl EventObjectClearHeldMovementIfActive - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetEventObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x9 - bl EventObjectSetHeldMovement - movs r0, 0x2 - strh r0, [r5, 0x8] - b _080AFBE8 - .pool -_080AFB6C: - bl walkrun_is_standing_still - lsls r0, 24 - cmp r0, 0 - beq _080AFBE8 - movs r2, 0 - ldrsh r0, [r4, r2] - movs r2, 0 - ldrsh r1, [r6, r2] - subs r1, 0x1 - bl FieldAnimateDoorClose - lsls r0, 24 - asrs r0, 24 - strh r0, [r5, 0xA] - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetEventObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gEventObjects - adds r0, r1 - bl EventObjectClearHeldMovementIfFinished - movs r0, 0 - bl sub_80AF0F4 - movs r0, 0x3 - strh r0, [r5, 0x8] - b _080AFBE8 - .pool -_080AFBB8: - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0 - blt _080AFBCE - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0x1 - beq _080AFBE8 -_080AFBCE: - movs r0, 0x4 - strh r0, [r5, 0x8] - b _080AFBE8 -_080AFBD4: - bl music_something - bl sub_80AF0B4 - bl play_some_sound - movs r0, 0 - strh r0, [r5, 0x8] - ldr r0, =sub_80AFA0C - str r0, [r5] -_080AFBE8: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AFA88 - - thumb_func_start task0A_fade_n_map_maybe -task0A_fade_n_map_maybe: @ 80AFBF4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080AFC2C - cmp r0, 0x1 - bgt _080AFC1C - cmp r0, 0 - beq _080AFC22 - b _080AFC56 - .pool -_080AFC1C: - cmp r0, 0x2 - beq _080AFC46 - b _080AFC56 -_080AFC22: - bl FreezeEventObjects - bl ScriptContext2_Enable - b _080AFC3E -_080AFC2C: - bl sub_80AF710 - cmp r0, 0 - bne _080AFC56 - bl BGMusicStopped - lsls r0, 24 - cmp r0, 0 - beq _080AFC56 -_080AFC3E: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080AFC56 -_080AFC46: - bl WarpIntoMap - ldr r0, =sub_8086024 - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_080AFC56: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end task0A_fade_n_map_maybe - - thumb_func_start sub_80AFC60 -sub_80AFC60: @ 80AFC60 - push {lr} - bl ScriptContext2_Enable - bl music_something - bl sub_80AF0B4 - bl play_some_sound - movs r0, 0x9 - bl PlaySE - ldr r0, =gFieldCallback - ldr r1, =sub_80AF3C8 - str r1, [r0] - ldr r0, =task0A_fade_n_map_maybe - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AFC60 - - thumb_func_start sub_80AFC98 -sub_80AFC98: @ 80AFC98 - push {lr} - cmp r1, 0xA0 - bhi _080AFCC0 - cmp r2, 0 - bge _080AFCA4 - movs r2, 0 -_080AFCA4: - cmp r2, 0xFF - ble _080AFCAA - movs r2, 0xFF -_080AFCAA: - cmp r3, 0 - bge _080AFCB0 - movs r3, 0 -_080AFCB0: - cmp r3, 0xFF - ble _080AFCB6 - movs r3, 0xFF -_080AFCB6: - lsls r1, 1 - adds r1, r0 - lsls r0, r2, 8 - orrs r0, r3 - strh r0, [r1] -_080AFCC0: - pop {r0} - bx r0 - thumb_func_end sub_80AFC98 - - thumb_func_start sub_80AFCC4 -sub_80AFCC4: @ 80AFCC4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - str r0, [sp] - mov r10, r1 - mov r9, r2 - adds r6, r3, 0 - mov r8, r6 - movs r7, 0 - cmp r6, 0 - blt _080AFD40 -_080AFCE0: - mov r0, r9 - subs r1, r0, r7 - mov r0, r10 - subs r4, r0, r6 - adds r5, r0, r6 - ldr r0, [sp] - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_80AFC98 - mov r0, r9 - adds r1, r0, r7 - ldr r0, [sp] - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_80AFC98 - mov r0, r9 - subs r1, r0, r6 - mov r0, r10 - subs r4, r0, r7 - adds r5, r0, r7 - ldr r0, [sp] - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_80AFC98 - mov r0, r9 - adds r1, r0, r6 - ldr r0, [sp] - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_80AFC98 - mov r1, r8 - adds r1, 0x1 - lsls r0, r7, 1 - subs r1, r0 - mov r8, r1 - adds r7, 0x1 - cmp r1, 0 - bge _080AFD3C - subs r1, r6, 0x1 - lsls r0, r1, 1 - add r8, r0 - adds r6, r1, 0 -_080AFD3C: - cmp r6, r7 - bge _080AFCE0 -_080AFD40: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80AFCC4 - - thumb_func_start sub_80AFD50 -sub_80AFD50: @ 80AFD50 - push {lr} - cmp r1, 0xA0 - bhi _080AFD78 - cmp r2, 0 - bge _080AFD5C - movs r2, 0 -_080AFD5C: - cmp r2, 0xF0 - ble _080AFD62 - movs r2, 0xF0 -_080AFD62: - cmp r3, 0 - bge _080AFD68 - movs r3, 0 -_080AFD68: - cmp r3, 0xF0 - ble _080AFD6E - movs r3, 0xF0 -_080AFD6E: - lsls r1, 1 - adds r1, r0 - lsls r0, r2, 8 - orrs r0, r3 - strh r0, [r1] -_080AFD78: - pop {r0} - bx r0 - thumb_func_end sub_80AFD50 - - thumb_func_start sub_80AFD7C -sub_80AFD7C: @ 80AFD7C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - str r0, [sp] - mov r10, r1 - mov r9, r2 - adds r6, r3, 0 - mov r8, r6 - movs r7, 0 - cmp r6, 0 - blt _080AFDF8 -_080AFD98: - mov r0, r9 - subs r1, r0, r7 - mov r0, r10 - subs r4, r0, r6 - adds r5, r0, r6 - ldr r0, [sp] - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_80AFD50 - mov r0, r9 - adds r1, r0, r7 - ldr r0, [sp] - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_80AFD50 - mov r0, r9 - subs r1, r0, r6 - mov r0, r10 - subs r4, r0, r7 - adds r5, r0, r7 - ldr r0, [sp] - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_80AFD50 - mov r0, r9 - adds r1, r0, r6 - ldr r0, [sp] - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_80AFD50 - mov r1, r8 - adds r1, 0x1 - lsls r0, r7, 1 - subs r1, r0 - mov r8, r1 - adds r7, 0x1 - cmp r1, 0 - bge _080AFDF4 - subs r1, r6, 0x1 - lsls r0, r1, 1 - add r8, r0 - adds r6, r1, 0 -_080AFDF4: - cmp r6, r7 - bge _080AFD98 -_080AFDF8: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80AFD7C - - thumb_func_start sub_80AFE08 -sub_80AFE08: @ 80AFE08 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080AFE64 - cmp r0, 0x1 - bgt _080AFE30 - cmp r0, 0 - beq _080AFE36 - b _080AFEC6 - .pool -_080AFE30: - cmp r0, 0x2 - beq _080AFEBC - b _080AFEC6 -_080AFE36: - ldr r0, =gScanlineEffect - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - ldr r1, =gScanlineEffectRegBuffers - adds r0, r1 - movs r2, 0x2 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r5, 0x6 - ldrsh r3, [r4, r5] - bl sub_80AFCC4 - movs r0, 0x1 - strh r0, [r4] - b _080AFEC6 - .pool -_080AFE64: - ldr r0, =gScanlineEffect - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - ldr r1, =gScanlineEffectRegBuffers - adds r0, r1 - movs r6, 0x2 - ldrsh r1, [r4, r6] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r6, 0x6 - ldrsh r3, [r4, r6] - bl sub_80AFCC4 - movs r0, 0 - strh r0, [r4] - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x6] - adds r0, r1 - strh r0, [r4, 0x6] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x8 - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _080AFEC6 - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0x1 - bne _080AFEB4 - bl ScanlineEffect_Stop - movs r0, 0x2 - strh r0, [r4] - b _080AFEC6 - .pool -_080AFEB4: - adds r0, r5, 0 - bl DestroyTask - b _080AFEC6 -_080AFEBC: - bl ScanlineEffect_Clear - adds r0, r5, 0 - bl DestroyTask -_080AFEC6: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80AFE08 - - thumb_func_start sub_80AFECC -sub_80AFECC: @ 80AFECC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080AFF28 - cmp r0, 0x1 - bgt _080AFEF4 - cmp r0, 0 - beq _080AFEFA - b _080AFF8A - .pool -_080AFEF4: - cmp r0, 0x2 - beq _080AFF80 - b _080AFF8A -_080AFEFA: - ldr r0, =gScanlineEffect - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - ldr r1, =gScanlineEffectRegBuffers - adds r0, r1 - movs r2, 0x2 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r5, 0x6 - ldrsh r3, [r4, r5] - bl sub_80AFD7C - movs r0, 0x1 - strh r0, [r4] - b _080AFF8A - .pool -_080AFF28: - ldr r0, =gScanlineEffect - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - ldr r1, =gScanlineEffectRegBuffers - adds r0, r1 - movs r6, 0x2 - ldrsh r1, [r4, r6] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r6, 0x6 - ldrsh r3, [r4, r6] - bl sub_80AFD7C - movs r0, 0 - strh r0, [r4] - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x6] - adds r0, r1 - strh r0, [r4, 0x6] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x8 - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _080AFF8A - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0x1 - bne _080AFF78 - bl ScanlineEffect_Stop - movs r0, 0x2 - strh r0, [r4] - b _080AFF8A - .pool -_080AFF78: - adds r0, r5, 0 - bl DestroyTask - b _080AFF8A -_080AFF80: - bl ScanlineEffect_Clear - adds r0, r5, 0 - bl DestroyTask -_080AFF8A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80AFECC - - thumb_func_start sub_80AFF90 -sub_80AFF90: @ 80AFF90 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =sub_80AFE08 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080AFFAC - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_080AFFAC: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AFF90 - - thumb_func_start sub_80AFFB8 -sub_80AFFB8: @ 80AFFB8 - push {r4,lr} - ldr r4, =sub_80AFF90 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080AFFD0 - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask -_080AFFD0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AFFB8 - - thumb_func_start sub_80AFFDC -sub_80AFFDC: @ 80AFFDC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r8, r0 - mov r9, r1 - adds r5, r2, 0 - adds r4, r3, 0 - ldr r6, [sp, 0x1C] - ldr r0, [sp, 0x20] - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =sub_80AFE08 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r1, r0, r1 - strh r5, [r1, 0x6] - strh r4, [r1, 0x8] - mov r0, r8 - strh r0, [r1, 0x2] - mov r0, r9 - strh r0, [r1, 0x4] - strh r6, [r1, 0xC] - cmp r5, r4 - bge _080B0028 - strh r7, [r1, 0xA] - b _080B002C - .pool -_080B0028: - negs r0, r7 - strh r0, [r1, 0xA] -_080B002C: - adds r0, r2, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80AFFDC - - thumb_func_start sub_80B003C -sub_80B003C: @ 80B003C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r8, r0 - mov r9, r1 - adds r5, r2, 0 - adds r4, r3, 0 - ldr r6, [sp, 0x1C] - ldr r0, [sp, 0x20] - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =sub_80AFECC - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r1, r0, r1 - strh r5, [r1, 0x6] - strh r4, [r1, 0x8] - mov r0, r8 - strh r0, [r1, 0x2] - mov r0, r9 - strh r0, [r1, 0x4] - strh r6, [r1, 0xC] - cmp r5, r4 - bge _080B0088 - strh r7, [r1, 0xA] - b _080B008C - .pool -_080B0088: - negs r0, r7 - strh r0, [r1, 0xA] -_080B008C: - adds r0, r2, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80B003C - - thumb_func_start sub_80B009C -sub_80B009C: @ 80B009C - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - bl Overworld_GetFlashLevel - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - cmp r4, 0 - bne _080B00B6 - movs r5, 0x1 -_080B00B6: - ldr r1, =gUnknown_0854FE64 - lsls r0, 1 - adds r0, r1 - ldrh r2, [r0] - lsls r0, r4, 1 - adds r0, r1 - ldrh r3, [r0] - str r5, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0x78 - movs r1, 0x50 - bl sub_80AFFDC - bl sub_80AFFB8 - bl ScriptContext2_Enable - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B009C - - thumb_func_start sub_80B00E8 -sub_80B00E8: @ 80B00E8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080B0116 - ldr r4, =gScanlineEffectRegBuffers - ldr r1, =gUnknown_0854FE64 - lsls r0, 1 - adds r0, r1 - ldrh r3, [r0] - adds r0, r4, 0 - movs r1, 0x78 - movs r2, 0x50 - bl sub_80AFCC4 - movs r0, 0xF0 - lsls r0, 3 - adds r1, r4, r0 - movs r2, 0xF0 - lsls r2, 1 - adds r0, r4, 0 - bl CpuFastSet -_080B0116: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B00E8 - - thumb_func_start door_upload_tiles -door_upload_tiles: @ 80B0124 - push {r4,lr} - ldr r4, =gScanlineEffectRegBuffers - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000e68 - adds r0, r1 - ldrb r3, [r0] - adds r0, r4, 0 - movs r1, 0x78 - movs r2, 0x50 - bl sub_80AFCC4 - movs r0, 0xF0 - lsls r0, 3 - adds r1, r4, r0 - movs r2, 0xF0 - lsls r2, 1 - adds r0, r4, 0 - bl CpuFastSet - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end door_upload_tiles - - thumb_func_start task0A_mpl_807E31C -task0A_mpl_807E31C: @ 80B0160 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080B0184 - cmp r0, 0x1 - beq _080B0198 - b _080B01B6 - .pool -_080B0184: - bl FreezeEventObjects - bl ScriptContext2_Enable - bl sub_808D194 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080B01B6 -_080B0198: - bl sub_80AF71C - cmp r0, 0 - beq _080B01B6 - bl sub_808D1B4 - cmp r0, 0x1 - beq _080B01B6 - bl UnfreezeEventObjects - bl ScriptContext2_Disable - adds r0, r5, 0 - bl DestroyTask -_080B01B6: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end task0A_mpl_807E31C - - thumb_func_start sub_80B01BC -sub_80B01BC: @ 80B01BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080B0202 - cmp r0, 0x1 - bgt _080B01E4 - cmp r0, 0 - beq _080B01EE - b _080B023A - .pool -_080B01E4: - cmp r0, 0x2 - beq _080B0210 - cmp r0, 0x3 - beq _080B022A - b _080B023A -_080B01EE: - bl FreezeEventObjects - bl ScriptContext2_Enable - movs r0, 0x2D - bl PlaySE - bl sub_808D1C8 - b _080B0222 -_080B0202: - bl sub_808D1E8 - cmp r0, 0 - bne _080B023A - bl sub_80AF0B4 - b _080B0222 -_080B0210: - bl sub_80AF710 - cmp r0, 0 - bne _080B023A - bl BGMusicStopped - lsls r0, 24 - cmp r0, 0 - beq _080B023A -_080B0222: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080B023A -_080B022A: - bl WarpIntoMap - ldr r0, =CB2_LoadMap - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_080B023A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B01BC - - thumb_func_start sub_80B0244 -sub_80B0244: @ 80B0244 - push {lr} - bl ScriptContext2_Enable - ldr r0, =sub_80AFA0C - movs r1, 0xA - bl CreateTask - ldr r1, =gFieldCallback - ldr r0, =sub_80AF3E8 - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B0244 - - thumb_func_start sub_80B0268 -sub_80B0268: @ 80B0268 - push {lr} - bl ScriptContext2_Enable - ldr r0, =gFieldCallback - ldr r1, =mapldr_default - str r1, [r0] - ldr r0, =sub_80B01BC - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B0268 - - thumb_func_start sub_80B028C -sub_80B028C: @ 80B028C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - cmp r0, 0 - bne _080B029A - movs r1, 0x1F - b _080B02A0 -_080B029A: - movs r0, 0xF8 - lsls r0, 7 - adds r1, r0, 0 -_080B02A0: - mov r0, sp - strh r1, [r0] - movs r5, 0 - movs r4, 0xF0 - lsls r4, 16 -_080B02AA: - lsrs r1, r4, 16 - mov r0, sp - movs r2, 0x2 - bl LoadPalette - movs r0, 0x80 - lsls r0, 9 - adds r4, r0 - adds r5, 0x1 - cmp r5, 0xF - ble _080B02AA - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80B028C - - thumb_func_start sub_80B02C8 -sub_80B02C8: @ 80B02C8 - push {r4,r5,lr} - lsls r0, 16 - ldr r2, =0x04000052 - ldrh r1, [r2] - lsls r1, 24 - lsrs r5, r1, 24 - ldrh r1, [r2] - lsrs r4, r1, 8 - cmp r0, 0 - beq _080B02EC - cmp r5, 0 - beq _080B02F6 - subs r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - b _080B02F6 - .pool -_080B02EC: - cmp r4, 0xF - bhi _080B02F6 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_080B02F6: - lsls r1, r4, 8 - orrs r1, r5 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - cmp r5, 0 - bne _080B0310 - cmp r4, 0x10 - bne _080B0310 - movs r0, 0x1 - b _080B0312 -_080B0310: - movs r0, 0 -_080B0312: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B02C8 - - thumb_func_start sub_80B0318 -sub_80B0318: @ 80B0318 - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x7 - bls _080B0334 - b _080B052C -_080B0334: - lsls r0, 2 - ldr r1, =_080B0348 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080B0348: - .4byte _080B0368 - .4byte _080B0424 - .4byte _080B0450 - .4byte _080B046C - .4byte _080B0482 - .4byte _080B04F2 - .4byte _080B04AC - .4byte _080B04BA -_080B0368: - movs r0, 0x80 - lsls r0, 19 - ldrh r0, [r0] - strh r0, [r5, 0xC] - ldr r0, =0x04000050 - ldrh r0, [r0] - strh r0, [r5, 0xE] - ldr r0, =0x04000052 - ldrh r0, [r0] - strh r0, [r5, 0x10] - ldr r0, =0x04000048 - ldrh r0, [r0] - strh r0, [r5, 0x12] - ldr r0, =0x0400004a - ldrh r0, [r0] - strh r0, [r5, 0x14] - movs r1, 0x80 - lsls r1, 7 - movs r0, 0 - bl ClearGpuRegBits - ldr r0, =gUnknown_82EC7CC - ldrh r1, [r0] - movs r0, 0x50 - bl SetGpuRegBits - ldr r1, =0x0000070c - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x1E - bl SetGpuReg - movs r0, 0x14 - str r0, [sp] - movs r0, 0xF - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x1E - bl sub_8199C30 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r4, =gScanlineEffectRegBuffers - movs r2, 0x4 - ldrsh r1, [r5, r2] - movs r0, 0x6 - ldrsh r2, [r5, r0] - adds r0, r4, 0 - movs r3, 0x1 - bl sub_80AFD7C - movs r2, 0xF0 - lsls r2, 3 - adds r1, r4, r2 - movs r2, 0xF0 - lsls r2, 1 - adds r0, r4, 0 - bl CpuFastSet - ldr r2, =gUnknown_0854FE7C - ldr r0, [r2] - ldr r1, [r2, 0x4] - ldr r2, [r2, 0x8] - bl ScanlineEffect_SetParams - movs r0, 0x1 - strh r0, [r5] - b _080B052C - .pool -_080B0424: - movs r0, 0 - movs r1, 0x11 - movs r2, 0 - movs r3, 0x1 - bl sub_8199DF0 - ldrb r0, [r5, 0x2] - bl sub_80B028C - movs r1, 0x4 - ldrsh r0, [r5, r1] - movs r2, 0x6 - ldrsh r1, [r5, r2] - movs r2, 0x1 - str r2, [sp] - movs r4, 0x2 - str r4, [sp, 0x4] - movs r3, 0xA0 - bl sub_80B003C - strh r4, [r5] - b _080B052C -_080B0450: - ldr r0, =sub_80AFECC - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080B052C - bl EnableBothScriptContexts - movs r0, 0x3 - strh r0, [r5] - b _080B052C - .pool -_080B046C: - bl InstallCameraPanAheadCallback - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0 - strh r0, [r5, 0xA] - movs r0, 0x4 - strh r0, [r5, 0x8] - strh r0, [r5] - b _080B052C -_080B0482: - ldrh r0, [r5, 0x8] - subs r0, 0x1 - strh r0, [r5, 0x8] - lsls r0, 16 - cmp r0, 0 - bne _080B052C - movs r0, 0x4 - strh r0, [r5, 0x8] - ldrh r0, [r5, 0xA] - movs r1, 0x1 - eors r0, r1 - strh r0, [r5, 0xA] - movs r1, 0x4 - negs r1, r1 - cmp r0, 0 - beq _080B04A4 - movs r1, 0x4 -_080B04A4: - movs r0, 0 - bl SetCameraPanning - b _080B052C -_080B04AC: - bl InstallCameraPanAheadCallback - movs r0, 0x8 - strh r0, [r5, 0x8] - movs r0, 0x7 - strh r0, [r5] - b _080B052C -_080B04BA: - ldrh r0, [r5, 0x8] - subs r0, 0x1 - strh r0, [r5, 0x8] - lsls r0, 16 - cmp r0, 0 - bne _080B052C - movs r0, 0x8 - strh r0, [r5, 0x8] - ldrh r0, [r5, 0xA] - movs r1, 0x1 - eors r0, r1 - strh r0, [r5, 0xA] - ldrh r0, [r5, 0xA] - bl sub_80B02C8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B052C - movs r0, 0x5 - strh r0, [r5] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x1 - bl sub_8199DF0 - b _080B052C -_080B04F2: - movs r0, 0x40 - movs r1, 0xFF - bl SetGpuReg - ldrh r1, [r5, 0xC] - movs r0, 0 - bl SetGpuReg - ldrh r1, [r5, 0xE] - movs r0, 0x50 - bl SetGpuReg - ldrh r1, [r5, 0x10] - movs r0, 0x52 - bl SetGpuReg - ldrh r1, [r5, 0x12] - movs r0, 0x48 - bl SetGpuReg - ldrh r1, [r5, 0x14] - movs r0, 0x4A - bl SetGpuReg - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_080B052C: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80B0318 - - thumb_func_start sub_80B0534 -sub_80B0534: @ 80B0534 - push {lr} - ldr r0, =sub_80B0318 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r1, r0 - ldr r0, =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0 - bne _080B0568 - strh r0, [r1, 0x2] - movs r0, 0x68 - b _080B0580 - .pool -_080B0568: - cmp r0, 0x1 - bne _080B0572 - strh r0, [r1, 0x2] - movs r0, 0x88 - b _080B0580 -_080B0572: - cmp r0, 0x2 - bne _080B057A - movs r0, 0 - b _080B057C -_080B057A: - movs r0, 0x1 -_080B057C: - strh r0, [r1, 0x2] - movs r0, 0x78 -_080B0580: - strh r0, [r1, 0x4] - movs r0, 0x50 - strh r0, [r1, 0x6] - pop {r0} - bx r0 - thumb_func_end sub_80B0534 - - thumb_func_start sub_80B058C -sub_80B058C: @ 80B058C - push {lr} - ldr r0, =sub_80B0318 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x6 - strh r0, [r1, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B058C - - thumb_func_start sub_80B05B4 -sub_80B05B4: @ 80B05B4 - push {lr} - bl Overworld_FadeOutMapMusic - ldr r0, =task50_0807F0C8 - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B05B4 - - thumb_func_start task50_0807F0C8 -task50_0807F0C8: @ 80B05CC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl BGMusicStopped - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B05E8 - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_080B05E8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end task50_0807F0C8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/fire.s b/asm/fire.s deleted file mode 100644 index cd0339b9b..000000000 --- a/asm/fire.s +++ /dev/null @@ -1,2397 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8108EC8 -sub_8108EC8: @ 8108EC8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r4, 0x2E] - movs r0, 0x3C - strh r0, [r4, 0x30] - movs r0, 0x9 - strh r0, [r4, 0x32] - movs r0, 0x1E - strh r0, [r4, 0x34] - movs r0, 0xFE - lsls r0, 8 - strh r0, [r4, 0x36] - ldr r1, =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r1, =sub_80A634C - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8108EC8 - - thumb_func_start sub_8108F08 -sub_8108F08: @ 8108F08 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gBattleAnimArgs - movs r0, 0 - ldrsh r1, [r5, r0] - adds r0, r4, 0 - bl sub_80A6864 - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x30] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x32] - ldr r0, =sub_80A656C - str r0, [r4, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8108F08 - - thumb_func_start sub_8108F4C -sub_8108F4C: @ 8108F4C - push {r4,lr} - adds r4, r0, 0 - bl sub_80A6838 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08108F88 - ldr r2, =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r2, 0x8] - negs r0, r0 - strh r0, [r4, 0x32] - adds r1, r2, 0 - b _08108F9E - .pool -_08108F88: - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x32] -_08108F9E: - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x36] - ldrh r0, [r1, 0xA] - strh r0, [r4, 0x34] - ldr r0, =sub_8109028 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8108F4C - - thumb_func_start sub_8108FBC -sub_8108FBC: @ 8108FBC - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08108FF0 - ldr r2, =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r2, 0x8] - strh r0, [r4, 0x32] - adds r1, r2, 0 - b _08109008 - .pool -_08108FF0: - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x8] - negs r0, r0 - strh r0, [r4, 0x32] -_08109008: - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x36] - ldrh r0, [r1, 0xA] - strh r0, [r4, 0x34] - ldr r0, =sub_8109028 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8108FBC - - thumb_func_start sub_8109028 -sub_8109028: @ 8109028 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x36 - ldrsh r1, [r2, r3] - cmp r0, r1 - bge _0810904E - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x34] - ldrh r3, [r2, 0x26] - adds r0, r3 - strh r0, [r2, 0x26] -_0810904E: - movs r0, 0x2E - ldrsh r1, [r2, r0] - movs r3, 0x30 - ldrsh r0, [r2, r3] - cmp r1, r0 - bne _08109060 - adds r0, r2, 0 - bl move_anim_8074EE0 -_08109060: - pop {r0} - bx r0 - thumb_func_end sub_8109028 - - thumb_func_start sub_8109064 -sub_8109064: @ 8109064 - push {r4,lr} - adds r4, r0, 0 - bl sub_80A6838 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08109090 - ldr r0, =gBattleAnimArgs - ldrh r1, [r4, 0x20] - ldrh r2, [r0] - subs r1, r2 - strh r1, [r4, 0x20] - b _081090A2 - .pool -_08109090: - ldr r0, =gBattleAnimArgs - ldrh r1, [r0] - ldrh r2, [r4, 0x20] - adds r1, r2 - strh r1, [r4, 0x20] - adds r2, r4, 0 - adds r2, 0x43 - movs r1, 0x8 - strb r1, [r2] -_081090A2: - adds r2, r0, 0 - ldrh r0, [r2, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - movs r1, 0 - strh r0, [r4, 0x22] - ldrh r0, [r2, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r2, 0x6] - strh r0, [r4, 0x30] - ldrh r0, [r2, 0x8] - strh r0, [r4, 0x32] - ldrh r0, [r2, 0xA] - strh r0, [r4, 0x34] - ldrh r0, [r2, 0xC] - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - ldr r0, =sub_81090D8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8109064 - - thumb_func_start sub_81090D8 -sub_81090D8: @ 81090D8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08109160 - movs r2, 0x38 - ldrsh r1, [r4, r2] - ldr r0, =0x00002710 - cmp r1, r0 - ble _081090F6 - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1 - strb r0, [r1] -_081090F6: - movs r1, 0x2E - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x38] - lsls r1, 16 - asrs r1, 24 - ldrh r2, [r4, 0x30] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x38] - lsls r1, 16 - asrs r1, 24 - ldrh r2, [r4, 0x30] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x2E] - adds r1, r0, r2 - strh r1, [r4, 0x2E] - ldrh r0, [r4, 0x36] - ldrh r2, [r4, 0x38] - adds r0, r2 - strh r0, [r4, 0x38] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _0810914C - ldr r2, =0xffffff00 - b _08109154 - .pool -_0810914C: - cmp r0, 0 - bge _08109158 - movs r2, 0x80 - lsls r2, 1 -_08109154: - adds r0, r1, r2 - strh r0, [r4, 0x2E] -_08109158: - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x34] - b _08109166 -_08109160: - adds r0, r4, 0 - bl move_anim_8074EE0 -_08109166: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81090D8 - - thumb_func_start sub_810916C -sub_810916C: @ 810916C - push {lr} - movs r1, 0 - strh r1, [r0, 0x20] - strh r1, [r0, 0x22] - movs r1, 0x3C - strh r1, [r0, 0x2E] - movs r1, 0x8C - strh r1, [r0, 0x32] - movs r1, 0x50 - strh r1, [r0, 0x36] - ldr r1, =StartAnimLinearTranslation - str r1, [r0, 0x1C] - ldr r1, =DestroyAnimSprite - bl StoreSpriteCallbackInData6 - pop {r0} - bx r0 - .pool - thumb_func_end sub_810916C - - thumb_func_start sub_8109198 -sub_8109198: @ 8109198 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - bl GetBattlerSide - adds r4, r0, 0 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _081091DE - movs r0, 0x2 - bl GetBattlerAtPosition - ldrb r1, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - beq _081091D6 - movs r0, 0x3 - bl GetBattlerAtPosition - ldrb r1, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _081091DE -_081091D6: - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_081091DE: - ldr r1, =sub_80A7938 - str r1, [r6, 0x1C] - adds r0, r6, 0 - bl _call_via_r1 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8109198 - - thumb_func_start sub_8109200 -sub_8109200: @ 8109200 - ldr r2, =gBattleAnimArgs - ldrh r1, [r2] - negs r1, r1 - strh r1, [r2] - ldrh r1, [r2, 0x4] - negs r1, r1 - strh r1, [r2, 0x4] - ldr r1, =sub_80A7938 - str r1, [r0, 0x1C] - bx lr - .pool - thumb_func_end sub_8109200 - - thumb_func_start sub_810921C -sub_810921C: @ 810921C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x4] - movs r1, 0 - strh r0, [r4, 0x3C] - strh r1, [r4, 0x2E] - ldr r0, =sub_8109244 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810921C - - thumb_func_start sub_8109244 -sub_8109244: @ 8109244 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_8109338 - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x12 - bne _0810928E - movs r0, 0x19 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl InitAnimLinearTranslation - ldr r0, =sub_810929C - str r0, [r5, 0x1C] -_0810928E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8109244 - - thumb_func_start sub_810929C -sub_810929C: @ 810929C - push {r4-r6,lr} - adds r6, r0, 0 - bl TranslateAnimLinear - lsls r0, 24 - cmp r0, 0 - beq _081092E4 - movs r4, 0 - strh r4, [r6, 0x2E] - ldr r5, =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x22] - strh r4, [r6, 0x26] - strh r4, [r6, 0x24] - ldr r1, =sub_8109314 - str r1, [r6, 0x1C] - adds r0, r6, 0 - bl _call_via_r1 - b _0810930E - .pool -_081092E4: - movs r1, 0x3C - ldrsh r0, [r6, r1] - movs r1, 0x1C - bl Sin - ldrh r1, [r6, 0x24] - adds r0, r1 - strh r0, [r6, 0x24] - movs r1, 0x3C - ldrsh r0, [r6, r1] - movs r1, 0x1C - bl Cos - ldrh r1, [r6, 0x26] - adds r0, r1 - strh r0, [r6, 0x26] - ldrh r0, [r6, 0x3C] - adds r0, 0x14 - movs r1, 0xFF - ands r0, r1 - strh r0, [r6, 0x3C] -_0810930E: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_810929C - - thumb_func_start sub_8109314 -sub_8109314: @ 8109314 - push {r4,lr} - adds r4, r0, 0 - bl sub_8109338 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _08109330 - adds r0, r4, 0 - bl DestroyAnimSprite -_08109330: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8109314 - - thumb_func_start sub_8109338 -sub_8109338: @ 8109338 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x1C - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x1C - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3C] - adds r0, 0x14 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x3C] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8109338 - - thumb_func_start sub_8109364 -sub_8109364: @ 8109364 - push {r4,lr} - adds r4, r0, 0 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x32] - ldr r1, =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A653C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8109364 - - thumb_func_start sub_81093A4 -sub_81093A4: @ 81093A4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x2E] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =WaitAnimForDuration - str r0, [r4, 0x1C] - ldr r1, =sub_81093E4 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81093A4 - - thumb_func_start sub_81093E4 -sub_81093E4: @ 81093E4 - push {lr} - adds r3, r0, 0 - adds r3, 0x3E - ldrb r2, [r3] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r3] - ldrh r1, [r0, 0x30] - movs r2, 0 - strh r1, [r0, 0x2E] - strh r2, [r0, 0x30] - ldr r1, =sub_810940C - str r1, [r0, 0x1C] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81093E4 - - thumb_func_start sub_810940C -sub_810940C: @ 810940C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x32] - lsls r1, 16 - asrs r1, 24 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x32] - lsls r1, 16 - asrs r1, 24 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0xA - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x32] - adds r0, 0xD0 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _08109458 - adds r0, r4, 0 - bl DestroyAnimSprite -_08109458: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810940C - - thumb_func_start sub_8109460 -sub_8109460: @ 8109460 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0x26] - strh r5, [r4, 0x8] - strh r5, [r4, 0xA] - strh r5, [r4, 0xC] - strh r5, [r4, 0xE] - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x22] - strh r0, [r4, 0x10] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x12] - strh r5, [r4, 0x14] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_80A7270 - ldr r0, =sub_81094D0 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8109460 - - thumb_func_start sub_81094D0 -sub_81094D0: @ 81094D0 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bls _081094EC - b _081097AA -_081094EC: - lsls r0, 2 - ldr r1, =_08109500 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08109500: - .4byte _0810951C - .4byte _08109542 - .4byte _081095F4 - .4byte _08109654 - .4byte _08109672 - .4byte _08109748 - .4byte _0810979C -_0810951C: - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r3, 0x80 - lsls r3, 1 - movs r0, 0xE0 - str r0, [sp] - movs r0, 0x80 - lsls r0, 2 - str r0, [sp, 0x4] - movs r0, 0x20 - str r0, [sp, 0x8] - adds r0, r4, 0 - adds r2, r3, 0 - bl sub_80A805C - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08109542: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0810958A - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08109578 - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x3 - b _08109588 - .pool -_08109578: - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000fffd -_08109588: - strh r1, [r0, 0x24] -_0810958A: - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081095B8 - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _081095B8 - movs r0, 0 - strh r0, [r4, 0xE] - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - adds r1, 0x1 - strh r1, [r0, 0x22] -_081095B8: - adds r0, r4, 0 - bl sub_80A80C8 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _081095C8 - b _081097AA -_081095C8: - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_80A7E6C - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x24] - strh r5, [r4, 0xA] - strh r5, [r4, 0xC] - strh r5, [r4, 0xE] - b _08109790 - .pool -_081095F4: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bgt _08109604 - b _081097AA -_08109604: - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0810962E - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r3, 0x80 - lsls r3, 2 - movs r0, 0xC0 - lsls r0, 1 - str r0, [sp] - movs r0, 0xF0 - str r0, [sp, 0x4] - movs r0, 0x6 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r2, 0xE0 - bl sub_80A805C - b _0810964E -_0810962E: - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r3, 0x80 - lsls r3, 2 - movs r0, 0xC0 - lsls r0, 1 - str r0, [sp] - movs r0, 0xC0 - str r0, [sp, 0x4] - movs r0, 0x6 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r2, 0xE0 - bl sub_80A805C -_0810964E: - movs r0, 0 - strh r0, [r4, 0xA] - b _08109790 -_08109654: - adds r0, r4, 0 - bl sub_80A80C8 - lsls r0, 24 - cmp r0, 0 - beq _08109662 - b _081097AA -_08109662: - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - adds r1, r5, 0 - movs r2, 0x6 - bl sub_81097B4 - b _08109790 -_08109672: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _081096C0 - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081096AC - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - b _081096BE - .pool -_081096AC: - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - subs r1, 0x3 -_081096BE: - strh r1, [r0, 0x26] -_081096C0: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x18 - ble _081097AA - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081096FC - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r2, 0xC0 - lsls r2, 1 - movs r0, 0x80 - lsls r0, 1 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x8 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r3, 0xF0 - bl sub_80A805C - b _0810971A - .pool -_081096FC: - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r2, 0xC0 - lsls r2, 1 - movs r0, 0x80 - lsls r0, 1 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x8 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r3, 0xC0 - bl sub_80A805C -_0810971A: - ldrh r1, [r4, 0xC] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08109738 - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] -_08109738: - movs r0, 0 - strh r0, [r4, 0xA] - strh r0, [r4, 0xC] - strh r0, [r4, 0xE] - b _08109790 - .pool -_08109748: - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08109764 - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - subs r1, 0x1 - strh r1, [r0, 0x22] -_08109764: - adds r0, r4, 0 - bl sub_80A80C8 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _081097AA - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x10] - strh r1, [r0, 0x22] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_80A7344 - strh r5, [r4, 0xC] -_08109790: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _081097AA - .pool -_0810979C: - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081097AA - adds r0, r5, 0 - bl DestroyAnimVisualTask -_081097AA: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81094D0 - - thumb_func_start sub_81097B4 -sub_81097B4: @ 81097B4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - adds r0, r4, 0 - bl sub_8109930 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldr r1, =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r4, [r0, 0x20] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0810980C - adds r0, r4, 0 - subs r0, 0xC - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0x1 - b _08109816 - .pool -_0810980C: - adds r0, r4, 0 - adds r0, 0x10 - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0xFF -_08109816: - movs r6, 0 - movs r5, 0 - lsls r4, 16 - str r4, [sp, 0x8] - mov r1, r9 - lsls r1, 16 - str r1, [sp, 0x4] - ldr r2, =gUnknown_085955CC - mov r9, r2 - lsls r0, 24 - asrs r0, 24 - str r0, [sp] - mov r3, r8 - lsls r3, 1 - mov r10, r3 -_08109834: - ldr r0, =gUnknown_085955B4 - ldr r2, [sp, 0x8] - asrs r1, r2, 16 - ldr r3, [sp, 0x4] - asrs r2, r3, 16 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _081098B6 - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r4, r0, r1 - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - lsls r0, r5, 2 - adds r0, 0x40 - adds r1, r0 - ldr r3, =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r3, =0xfffffc00 - adds r0, r3, 0 - ands r2, r0 - orrs r2, r1 - strh r2, [r4, 0x4] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x4 - bls _0810987E - movs r5, 0 -_0810987E: - lsls r2, r6, 2 - mov r1, r9 - adds r0, r2, r1 - ldrh r0, [r0] - ldr r3, [sp] - adds r1, r0, 0 - muls r1, r3 - lsls r1, 16 - asrs r1, 16 - ldr r0, =gUnknown_085955CC+2 - adds r2, r0 - movs r3, 0 - ldrsh r2, [r2, r3] - adds r0, r4, 0 - bl sub_8109984 - strh r7, [r4, 0x3A] - mov r0, r8 - strh r0, [r4, 0x3C] - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - add r0, r10 - ldr r1, =gTasks + 0x8 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] -_081098B6: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x6 - bls _08109834 - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81097B4 - - thumb_func_start sub_81098EC -sub_81098EC: @ 81098EC - push {r4,lr} - adds r4, r0, 0 - bl sub_81099A0 - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08109926 - ldr r3, =gTasks - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_08109926: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81098EC - - thumb_func_start sub_8109930 -sub_8109930: @ 8109930 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r2, [r1, 0x26] - ldrh r0, [r1, 0x22] - adds r2, r0 - adds r1, 0x29 - movs r0, 0 - ldrsb r0, [r1, r0] - adds r0, r2 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08109970 - lsls r0, r4, 16 - movs r1, 0x94 - lsls r1, 15 - b _08109976 - .pool -_08109970: - lsls r0, r4, 16 - movs r1, 0xB0 - lsls r1, 14 -_08109976: - adds r0, r1 - lsrs r4, r0, 16 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8109930 - - thumb_func_start sub_8109984 -sub_8109984: @ 8109984 - movs r3, 0 - strh r3, [r0, 0x2E] - strh r3, [r0, 0x30] - ldrh r3, [r0, 0x20] - lsls r3, 3 - strh r3, [r0, 0x32] - ldrh r3, [r0, 0x22] - lsls r3, 3 - strh r3, [r0, 0x34] - lsls r1, 3 - strh r1, [r0, 0x36] - lsls r2, 3 - strh r2, [r0, 0x38] - bx lr - thumb_func_end sub_8109984 - - thumb_func_start sub_81099A0 -sub_81099A0: @ 81099A0 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _081099CA - movs r0, 0 - strh r0, [r2, 0x2E] - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - ldrh r0, [r2, 0x30] - adds r1, r0, 0 - muls r1, r0 - adds r0, r1, 0 - ldrh r3, [r2, 0x34] - adds r0, r3 - strh r0, [r2, 0x34] -_081099CA: - ldrh r0, [r2, 0x36] - ldrh r1, [r2, 0x32] - adds r0, r1 - strh r0, [r2, 0x32] - lsls r0, 16 - asrs r0, 19 - strh r0, [r2, 0x20] - ldrh r1, [r2, 0x38] - ldrh r3, [r2, 0x34] - adds r1, r3 - strh r1, [r2, 0x34] - lsls r1, 16 - asrs r3, r1, 19 - strh r3, [r2, 0x22] - adds r0, 0x8 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 17 - cmp r0, r1 - bhi _08109A00 - adds r1, r3, 0 - movs r0, 0x8 - negs r0, r0 - cmp r1, r0 - blt _08109A00 - cmp r1, 0x78 - ble _08109A0C -_08109A00: - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_08109A0C: - pop {r0} - bx r0 - thumb_func_end sub_81099A0 - - thumb_func_start sub_8109A10 -sub_8109A10: @ 8109A10 - push {r4,r5,lr} - ldr r3, =gBattleAnimArgs - ldrh r1, [r3] - movs r2, 0 - strh r1, [r0, 0x20] - ldrh r1, [r3, 0x2] - strh r1, [r0, 0x22] - strh r2, [r0, 0x2E] - strh r2, [r0, 0x30] - strh r2, [r0, 0x32] - ldrh r1, [r3, 0x4] - strh r1, [r0, 0x3A] - ldrh r1, [r3, 0x6] - strh r1, [r0, 0x3C] - ldrh r4, [r0, 0x4] - lsls r2, r4, 22 - lsrs r2, 22 - movs r5, 0x8 - ldrsh r1, [r3, r5] - lsls r1, 4 - adds r2, r1 - ldr r3, =0x000003ff - adds r1, r3, 0 - ands r2, r1 - ldr r1, =0xfffffc00 - ands r1, r4 - orrs r1, r2 - strh r1, [r0, 0x4] - ldr r1, =sub_8109A64 - str r1, [r0, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8109A10 - - thumb_func_start sub_8109A64 -sub_8109A64: @ 8109A64 - push {r4,lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0x1 - beq _08109A96 - cmp r0, 0x1 - bgt _08109A7A - cmp r0, 0 - beq _08109A80 - b _08109AF4 -_08109A7A: - cmp r0, 0x2 - beq _08109AB4 - b _08109AF4 -_08109A80: - ldrh r1, [r2, 0x3A] - movs r3, 0x3A - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _08109A90 - subs r0, r1, 0x1 - strh r0, [r2, 0x3A] - b _08109AF4 -_08109A90: - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] -_08109A96: - ldrh r0, [r2, 0x22] - adds r0, 0x8 - strh r0, [r2, 0x22] - lsls r0, 16 - asrs r0, 16 - ldrh r3, [r2, 0x3C] - movs r4, 0x3C - ldrsh r1, [r2, r4] - cmp r0, r1 - blt _08109AF4 - strh r3, [r2, 0x22] - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - b _08109AF4 -_08109AB4: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _08109AE0 - movs r0, 0 - strh r0, [r2, 0x30] - ldrh r0, [r2, 0x32] - adds r0, 0x1 - strh r0, [r2, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08109ADC - ldr r0, =0x0000fffd - b _08109ADE - .pool -_08109ADC: - movs r0, 0x3 -_08109ADE: - strh r0, [r2, 0x26] -_08109AE0: - ldrh r0, [r2, 0x34] - adds r0, 0x1 - strh r0, [r2, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _08109AF4 - adds r0, r2, 0 - bl DestroyAnimSprite -_08109AF4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8109A64 - - thumb_func_start sub_8109AFC -sub_8109AFC: @ 8109AFC - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _08109B70 - cmp r0, 0x1 - bgt _08109B12 - cmp r0, 0 - beq _08109B18 - b _08109C3E -_08109B12: - cmp r0, 0x2 - beq _08109BCE - b _08109C3E -_08109B18: - adds r0, r5, 0 - movs r1, 0 - bl InitAnimSpritePos - ldr r4, =gBattleAnimArgs - ldrb r1, [r4, 0x4] - adds r0, r5, 0 - bl StartSpriteAnim - ldrh r0, [r4, 0x4] - strh r0, [r5, 0x3C] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08109B48 - movs r0, 0x4 - b _08109B4A - .pool -_08109B48: - ldr r0, =0x0000fffc -_08109B4A: - strh r0, [r5, 0x36] - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl sub_80A8328 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - b _08109BC6 - .pool -_08109B70: - ldrh r0, [r5, 0x30] - adds r0, 0xC0 - strh r0, [r5, 0x30] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08109B94 - ldrh r0, [r5, 0x30] - lsls r0, 16 - asrs r0, 24 - negs r0, r0 - b _08109B9A - .pool -_08109B94: - ldrh r0, [r5, 0x30] - lsls r0, 16 - asrs r0, 24 -_08109B9A: - strh r0, [r5, 0x26] - movs r2, 0x32 - ldrsh r0, [r5, r2] - movs r2, 0x36 - ldrsh r1, [r5, r2] - bl Sin - strh r0, [r5, 0x24] - ldrh r0, [r5, 0x32] - adds r0, 0x4 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _08109C3E - movs r0, 0 - strh r0, [r5, 0x34] -_08109BC6: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _08109C3E -_08109BCE: - movs r1, 0x32 - ldrsh r0, [r5, r1] - movs r2, 0x36 - ldrsh r1, [r5, r2] - bl Sin - adds r2, r0, 0 - movs r3, 0 - strh r2, [r5, 0x24] - ldrh r0, [r5, 0x32] - adds r0, 0x4 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _08109C3E - ldrh r0, [r5, 0x20] - adds r1, r2, r0 - strh r1, [r5, 0x20] - ldrh r0, [r5, 0x26] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - strh r3, [r5, 0x26] - strh r3, [r5, 0x24] - movs r0, 0x80 - lsls r0, 1 - strh r0, [r5, 0x2E] - strh r1, [r5, 0x30] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl sub_80A6FD4 - ldr r0, =sub_8109C4C - str r0, [r5, 0x1C] -_08109C3E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8109AFC - - thumb_func_start sub_8109C4C -sub_8109C4C: @ 8109C4C - push {r4,lr} - adds r4, r0, 0 - bl TranslateAnimLinear - lsls r0, 24 - cmp r0, 0 - bne _08109CA4 - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x10 - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - ldrh r2, [r4, 0x38] - adds r0, r2, 0x4 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x38] - lsls r2, 16 - asrs r2, 16 - cmp r2, 0 - beq _08109C82 - cmp r2, 0xC4 - ble _08109CAA -_08109C82: - lsls r0, 16 - cmp r0, 0 - ble _08109CAA - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08109CAA - ldr r0, =gUnknown_02038440 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x90 - bl PlaySE12WithPanning - b _08109CAA - .pool -_08109CA4: - adds r0, r4, 0 - bl DestroyAnimSprite -_08109CAA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8109C4C - - thumb_func_start sub_8109CB0 -sub_8109CB0: @ 8109CB0 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08109CC8 - ldr r0, =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r4, 0x30] - adds r0, r1, 0x1 - strh r0, [r4, 0x2E] -_08109CC8: - movs r0, 0xC0 - lsls r0, 1 - adds r1, r0, 0 - ldrh r2, [r4, 0x34] - adds r1, r2 - strh r1, [r4, 0x34] - ldrh r0, [r4, 0x36] - adds r0, 0xA0 - strh r0, [r4, 0x36] - movs r2, 0x30 - ldrsh r0, [r4, r2] - lsls r1, 16 - asrs r1, 24 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x36] - lsls r1, 16 - asrs r1, 24 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x7 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _08109D64 - ldrh r0, [r4, 0x30] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x83 - bls _08109D3C - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl sub_80A8328 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - b _08109D80 - .pool -_08109D3C: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl sub_80A8328 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - lsls r0, 2 - ldrb r2, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x5] - b _08109D80 - .pool -_08109D64: - ldrh r0, [r4, 0x30] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x83 - bls _08109D78 - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1D - b _08109D7E -_08109D78: - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1F -_08109D7E: - strb r0, [r1] -_08109D80: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _08109DA8 - 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] -_08109DA8: - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0x1E - bne _08109DB6 - adds r0, r4, 0 - bl DestroyAnimSprite -_08109DB6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8109CB0 - - thumb_func_start sub_8109DBC -sub_8109DBC: @ 8109DBC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - movs r2, 0x1 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - bne _08109DE2 - movs r1, 0x1 -_08109DE2: - strh r1, [r4, 0x20] - ldr r0, =gBattleAnimTarget - ldrb r1, [r0] - movs r0, 0x2 - eors r0, r1 - bl IsBattlerSpriteVisible - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - strh r0, [r4, 0x22] - movs r0, 0x1 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x24] - movs r0, 0x3 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - ldr r0, =sub_8109E2C - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8109DBC - - thumb_func_start sub_8109E2C -sub_8109E2C: @ 8109E2C - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r2, r0, r1 - movs r0, 0x8 - ldrsh r3, [r2, r0] - cmp r3, 0x1 - beq _08109EF4 - cmp r3, 0x1 - bgt _08109E54 - cmp r3, 0 - beq _08109E62 - b _0810A054 - .pool -_08109E54: - cmp r3, 0x2 - bne _08109E5A - b _08109F7C -_08109E5A: - cmp r3, 0x3 - bne _08109E60 - b _0810A010 -_08109E60: - b _0810A054 -_08109E62: - movs r1, 0x20 - ldrsh r0, [r2, r1] - lsls r0, 1 - ldrh r5, [r2, 0x1C] - adds r0, r5 - strh r0, [r2, 0x1C] - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _08109E94 - strh r3, [r2, 0xA] - ldrh r0, [r2, 0xC] - adds r0, 0x1 - strh r0, [r2, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08109E90 - movs r0, 0x2 - b _08109E92 -_08109E90: - ldr r0, =0x0000fffe -_08109E92: - strh r0, [r2, 0x1E] -_08109E94: - movs r1, 0 - strh r1, [r2, 0xE] - movs r7, 0x22 - ldrsh r0, [r2, r7] - cmp r1, r0 - bge _08109ED6 - ldr r4, =gSprites - adds r3, r2, 0 - adds r3, 0x8 -_08109EA6: - movs r1, 0xE - ldrsh r0, [r2, r1] - adds r0, 0xE - lsls r0, 1 - adds r0, r3, r0 - movs r5, 0 - ldrsh r0, [r0, r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r2, 0x1E] - ldrh r7, [r2, 0x1C] - adds r0, r7 - strh r0, [r1, 0x24] - ldrh r0, [r2, 0xE] - adds r0, 0x1 - strh r0, [r2, 0xE] - lsls r0, 16 - asrs r0, 16 - movs r5, 0x22 - ldrsh r1, [r2, r5] - cmp r0, r1 - blt _08109EA6 -_08109ED6: - ldrh r0, [r2, 0x1A] - adds r0, 0x1 - strh r0, [r2, 0x1A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - beq _08109EE6 - b _0810A054 -_08109EE6: - movs r0, 0 - strh r0, [r2, 0x1A] - b _0810A000 - .pool -_08109EF4: - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _08109F1C - movs r0, 0 - strh r0, [r2, 0xA] - ldrh r0, [r2, 0xC] - adds r0, 0x1 - strh r0, [r2, 0xC] - ands r0, r3 - lsls r0, 16 - cmp r0, 0 - beq _08109F18 - movs r0, 0x2 - b _08109F1A -_08109F18: - ldr r0, =0x0000fffe -_08109F1A: - strh r0, [r2, 0x1E] -_08109F1C: - movs r1, 0 - strh r1, [r2, 0xE] - movs r7, 0x22 - ldrsh r0, [r2, r7] - cmp r1, r0 - bge _08109F5E - ldr r4, =gSprites - adds r3, r2, 0 - adds r3, 0x8 -_08109F2E: - movs r1, 0xE - ldrsh r0, [r2, r1] - adds r0, 0xE - lsls r0, 1 - adds r0, r3, r0 - movs r5, 0 - ldrsh r0, [r0, r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r2, 0x1E] - ldrh r7, [r2, 0x1C] - adds r0, r7 - strh r0, [r1, 0x24] - ldrh r0, [r2, 0xE] - adds r0, 0x1 - strh r0, [r2, 0xE] - lsls r0, 16 - asrs r0, 16 - movs r5, 0x22 - ldrsh r1, [r2, r5] - cmp r0, r1 - blt _08109F2E -_08109F5E: - ldrh r0, [r2, 0x1A] - adds r0, 0x1 - strh r0, [r2, 0x1A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x60 - bne _0810A054 - movs r0, 0 - strh r0, [r2, 0x1A] - b _0810A000 - .pool -_08109F7C: - movs r7, 0x20 - ldrsh r1, [r2, r7] - lsls r1, 1 - ldrh r0, [r2, 0x1C] - subs r0, r1 - strh r0, [r2, 0x1C] - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _08109FB0 - movs r0, 0 - strh r0, [r2, 0xA] - ldrh r0, [r2, 0xC] - adds r0, 0x1 - strh r0, [r2, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08109FAC - strh r3, [r2, 0x1E] - b _08109FB0 -_08109FAC: - ldr r0, =0x0000fffe - strh r0, [r2, 0x1E] -_08109FB0: - movs r1, 0 - strh r1, [r2, 0xE] - movs r3, 0x22 - ldrsh r0, [r2, r3] - cmp r1, r0 - bge _08109FF2 - ldr r4, =gSprites - adds r3, r2, 0 - adds r3, 0x8 -_08109FC2: - movs r5, 0xE - ldrsh r0, [r2, r5] - adds r0, 0xE - lsls r0, 1 - adds r0, r3, r0 - movs r7, 0 - ldrsh r0, [r0, r7] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r2, 0x1E] - ldrh r5, [r2, 0x1C] - adds r0, r5 - strh r0, [r1, 0x24] - ldrh r0, [r2, 0xE] - adds r0, 0x1 - strh r0, [r2, 0xE] - lsls r0, 16 - asrs r0, 16 - movs r7, 0x22 - ldrsh r1, [r2, r7] - cmp r0, r1 - blt _08109FC2 -_08109FF2: - ldrh r0, [r2, 0x1A] - adds r0, 0x1 - strh r0, [r2, 0x1A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - bne _0810A054 -_0810A000: - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _0810A054 - .pool -_0810A010: - movs r1, 0 - strh r1, [r2, 0xE] - movs r3, 0x22 - ldrsh r0, [r2, r3] - cmp r1, r0 - bge _0810A04E - ldr r6, =gSprites - adds r3, r2, 0 - adds r3, 0x8 - movs r5, 0 -_0810A024: - movs r7, 0xE - ldrsh r0, [r2, r7] - adds r0, 0xE - lsls r0, 1 - adds r0, r3, r0 - movs r7, 0 - ldrsh r1, [r0, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r5, [r0, 0x24] - ldrh r0, [r2, 0xE] - adds r0, 0x1 - strh r0, [r2, 0xE] - lsls r0, 16 - asrs r0, 16 - movs r7, 0x22 - ldrsh r1, [r2, r7] - cmp r0, r1 - blt _0810A024 -_0810A04E: - adds r0, r4, 0 - bl DestroyAnimVisualTask -_0810A054: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8109E2C - - thumb_func_start AnimTask_BlendBackground -AnimTask_BlendBackground: @ 810A060 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r0, sp - bl sub_80A6B30 - mov r0, sp - ldrb r0, [r0, 0x8] - lsls r0, 4 - ldr r1, =gBattleAnimArgs - ldrb r2, [r1] - ldrh r3, [r1, 0x2] - movs r1, 0x10 - bl BlendPalette - adds r0, r4, 0 - bl DestroyAnimVisualTask - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end AnimTask_BlendBackground - - thumb_func_start sub_810A094 -sub_810A094: @ 810A094 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r2, r0, r1 - movs r3, 0x8 - ldrsh r0, [r2, r3] - mov r9, r1 - ldr r4, =gBattleAnimArgs - mov r8, r4 - cmp r0, 0 - bne _0810A0CA - ldrh r0, [r4] - strh r0, [r2, 0xA] - ldrh r0, [r4, 0x2] - strh r0, [r2, 0xC] - ldrh r0, [r4, 0x4] - strh r0, [r2, 0xE] - ldrh r0, [r4, 0x6] - strh r0, [r2, 0x10] -_0810A0CA: - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - adds r0, r1 - ldrb r6, [r0] - movs r5, 0x10 - ldrsh r0, [r2, r5] - cmp r0, 0 - bne _0810A100 - ldr r4, =gUnknown_08595684 - movs r1, 0x8 - ldrsh r0, [r2, r1] - b _0810A106 - .pool -_0810A100: - ldr r4, =gUnknown_08595694 - movs r3, 0x8 - ldrsh r0, [r2, r3] -_0810A106: - movs r1, 0xA - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - adds r0, r4 - ldrb r5, [r0] - lsls r0, r7, 2 - adds r1, r0, r7 - lsls r1, 3 - add r1, r9 - movs r4, 0xE - ldrsh r1, [r1, r4] - mov r12, r0 - cmp r1, 0x1 - bne _0810A154 - ldr r2, =gSprites - lsls r3, r6, 4 - adds r0, r3, r6 - lsls r0, 2 - adds r0, r2 - mov r10, r0 - mov r0, r8 - movs r4, 0x2 - ldrsh r1, [r0, r4] - lsls r0, r5, 24 - asrs r0, 24 - muls r0, r1 - cmp r0, 0 - bge _0810A144 - negs r0, r0 -_0810A144: - mov r5, r10 - strh r0, [r5, 0x26] - b _0810A16E - .pool -_0810A154: - ldr r3, =gSprites - lsls r4, r6, 4 - adds r2, r4, r6 - lsls r2, 2 - adds r2, r3 - lsls r0, r5, 24 - asrs r0, 24 - mov r5, r8 - ldrh r1, [r5, 0x2] - muls r0, r1 - strh r0, [r2, 0x24] - adds r2, r3, 0 - adds r3, r4, 0 -_0810A16E: - mov r1, r12 - adds r0, r1, r7 - lsls r0, 3 - add r0, r9 - movs r4, 0x8 - ldrsh r1, [r0, r4] - movs r5, 0xA - ldrsh r0, [r0, r5] - cmp r1, r0 - bne _0810A194 - adds r0, r3, r6 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x24] - strh r1, [r0, 0x26] - adds r0, r7, 0 - bl DestroyAnimVisualTask -_0810A194: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810A094 - - .align 2, 0 diff --git a/asm/ghost.s b/asm/ghost.s deleted file mode 100644 index 5a0991468..000000000 --- a/asm/ghost.s +++ /dev/null @@ -1,3251 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_811160C -sub_811160C: @ 811160C - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldr r5, =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_80A6FD4 - ldr r0, =sub_8111674 - str r0, [r4, 0x1C] - movs r0, 0x10 - strh r0, [r4, 0x3A] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldrh r1, [r4, 0x3A] - movs r0, 0x52 - bl SetGpuReg - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811160C - - thumb_func_start sub_8111674 -sub_8111674: @ 8111674 - push {r4,lr} - adds r4, r0, 0 - bl sub_8111764 - adds r0, r4, 0 - bl TranslateAnimLinear - lsls r0, 24 - cmp r0, 0 - beq _08111694 - ldr r0, =sub_81116E8 - str r0, [r4, 0x1C] - b _081116DE - .pool -_08111694: - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0xF - bl Cos - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r2, [r4, 0x38] - adds r0, r2, 0x5 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x38] - lsls r2, 16 - asrs r2, 16 - cmp r2, 0 - beq _081116CC - cmp r2, 0xC4 - ble _081116DE -_081116CC: - lsls r0, 16 - cmp r0, 0 - ble _081116DE - ldr r0, =gUnknown_02038440 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0xC4 - bl PlaySE12WithPanning -_081116DE: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8111674 - - thumb_func_start sub_81116E8 -sub_81116E8: @ 81116E8 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl TranslateAnimLinear - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0xF - bl Cos - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r2, [r4, 0x38] - adds r0, r2, 0x5 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x38] - lsls r2, 16 - asrs r2, 16 - cmp r2, 0 - beq _0811172E - cmp r2, 0xC4 - ble _0811173A -_0811172E: - lsls r0, 16 - cmp r0, 0 - ble _0811173A - movs r0, 0xC4 - bl PlaySE -_0811173A: - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08111758 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =sub_80A67F4 - str r0, [r4, 0x1C] - b _0811175E - .pool -_08111758: - adds r0, r4, 0 - bl sub_8111764 -_0811175E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81116E8 - - thumb_func_start sub_8111764 -sub_8111764: @ 8111764 - push {r4,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x3A] - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0xFF - ble _08111788 - adds r0, r2, 0x1 - strh r0, [r4, 0x3A] - lsls r0, 16 - ldr r1, =0x010d0000 - cmp r0, r1 - bne _081117EE - movs r0, 0 - b _081117EC - .pool -_08111788: - ldrh r1, [r4, 0x3C] - adds r3, r1, 0x1 - strh r3, [r4, 0x3C] - movs r0, 0xFF - ands r0, r1 - cmp r0, 0 - bne _081117EE - ldr r1, =0xffffff00 - ands r1, r3 - strh r1, [r4, 0x3C] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _081117B0 - adds r0, r2, 0x1 - b _081117B2 - .pool -_081117B0: - subs r0, r2, 0x1 -_081117B2: - strh r0, [r4, 0x3A] - ldrh r0, [r4, 0x3A] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r2, 0x3A - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _081117D4 - cmp r0, 0x10 - bne _081117E0 -_081117D4: - ldrh r0, [r4, 0x3C] - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - eors r0, r1 - strh r0, [r4, 0x3C] -_081117E0: - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081117EE - movs r0, 0x80 - lsls r0, 1 -_081117EC: - strh r0, [r4, 0x3A] -_081117EE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8111764 - - thumb_func_start sub_81117F4 -sub_81117F4: @ 81117F4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_80A6980 - ldr r1, =sub_8111814 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81117F4 - - thumb_func_start sub_8111814 -sub_8111814: @ 8111814 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x20 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - subs r0, 0x41 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x82 - bhi _08111848 - ldrb r0, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - movs r0, 0x8 - b _08111852 -_08111848: - ldrb r0, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - movs r0, 0x4 -_08111852: - orrs r1, r0 - strb r1, [r4, 0x5] - ldrh r0, [r4, 0x2E] - adds r0, 0x13 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x32] - adds r0, 0x50 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3D - bne _08111884 - adds r0, r4, 0 - bl DestroyAnimSprite -_08111884: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8111814 - - thumb_func_start sub_811188C -sub_811188C: @ 811188C - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0 - bl GetAnimBattlerSpriteId - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80A7270 - adds r0, r4, 0 - movs r1, 0x80 - movs r2, 0x80 - movs r3, 0 - bl obj_id_set_rotscale - ldr r1, =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0 - movs r1, 0x80 - strh r1, [r0, 0x8] - ldr r1, =gBattleAnimArgs - ldrh r1, [r1] - strh r1, [r0, 0xA] - strh r2, [r0, 0xC] - movs r1, 0x10 - strh r1, [r0, 0xE] - ldr r1, =sub_8111914 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811188C - - thumb_func_start sub_8111914 -sub_8111914: @ 8111914 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _0811195C - movs r0, 0 - strh r0, [r4, 0x1C] - ldrh r1, [r4, 0xC] - adds r1, 0x1 - strh r1, [r4, 0xC] - ldrh r0, [r4, 0xE] - subs r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x9 - bne _0811195C - ldr r0, =sub_811196C - str r0, [r4] -_0811195C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8111914 - - thumb_func_start sub_811196C -sub_811196C: @ 811196C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _08111994 - subs r0, r1, 0x1 - strh r0, [r4, 0xA] - b _081119D8 - .pool -_08111994: - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r1, r0, 24 - ldrh r0, [r4, 0x8] - adds r0, 0x8 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xFF - bgt _081119BC - movs r0, 0x8 - ldrsh r2, [r4, r0] - adds r0, r1, 0 - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - b _081119D8 -_081119BC: - adds r0, r1, 0 - bl sub_80A7344 - adds r0, r5, 0 - bl DestroyAnimVisualTask - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg -_081119D8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_811196C - - thumb_func_start sub_81119E0 -sub_81119E0: @ 81119E0 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r5, [r4, 0x20] - ldrh r6, [r4, 0x22] - ldr r0, =gBattleAnimAttacker - mov r8, r0 - ldrb r0, [r0] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - mov r9, r1 - strh r0, [r4, 0x20] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - mov r1, r9 - strh r1, [r4, 0x2E] - ldr r2, =gBattleAnimArgs - ldrh r1, [r2] - strh r1, [r4, 0x30] - ldrh r1, [r2, 0x2] - strh r1, [r4, 0x32] - ldrh r1, [r2, 0x4] - strh r1, [r4, 0x34] - ldrh r1, [r4, 0x20] - lsls r1, 4 - strh r1, [r4, 0x36] - lsls r0, 4 - strh r0, [r4, 0x38] - lsls r5, 16 - asrs r5, 16 - movs r1, 0x20 - ldrsh r0, [r4, r1] - subs r5, r0 - lsls r5, 4 - movs r0, 0 - ldrsh r1, [r2, r0] - lsls r1, 1 - adds r0, r5, 0 - str r2, [sp] - bl __divsi3 - strh r0, [r4, 0x3A] - lsls r6, 16 - asrs r6, 16 - movs r1, 0x22 - ldrsh r0, [r4, r1] - subs r6, r0 - lsls r6, 4 - ldr r2, [sp] - movs r0, 0 - ldrsh r1, [r2, r0] - lsls r1, 1 - adds r0, r6, 0 - bl __divsi3 - strh r0, [r4, 0x3C] - ldr r0, =sub_8111A88 - str r0, [r4, 0x1C] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81119E0 - - thumb_func_start sub_8111A88 -sub_8111A88: @ 8111A88 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _08111AD2 - cmp r0, 0x1 - bgt _08111A9E - cmp r0, 0 - beq _08111AA8 - b _08111B96 -_08111A9E: - cmp r0, 0x2 - beq _08111B3C - cmp r0, 0x3 - beq _08111B90 - b _08111B96 -_08111AA8: - ldrh r0, [r5, 0x3A] - ldrh r2, [r5, 0x36] - adds r0, r2 - strh r0, [r5, 0x36] - ldrh r1, [r5, 0x3C] - ldrh r2, [r5, 0x38] - adds r1, r2 - strh r1, [r5, 0x38] - lsls r0, 16 - asrs r0, 20 - strh r0, [r5, 0x20] - lsls r1, 16 - asrs r1, 20 - strh r1, [r5, 0x22] - ldrh r0, [r5, 0x30] - subs r0, 0x1 - strh r0, [r5, 0x30] - lsls r0, 16 - cmp r0, 0 - bgt _08111B96 - b _08111B82 -_08111AD2: - ldrh r0, [r5, 0x32] - subs r0, 0x1 - strh r0, [r5, 0x32] - lsls r0, 16 - cmp r0, 0 - bgt _08111B96 - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x30] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x20] - lsls r0, 4 - strh r0, [r5, 0x36] - ldrh r0, [r5, 0x22] - lsls r0, 4 - strh r0, [r5, 0x38] - movs r1, 0x30 - ldrsh r0, [r5, r1] - movs r2, 0x20 - ldrsh r1, [r5, r2] - subs r0, r1 - lsls r0, 4 - movs r2, 0x34 - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r5, 0x3A] - movs r1, 0x32 - ldrsh r0, [r5, r1] - movs r2, 0x22 - ldrsh r1, [r5, r2] - subs r0, r1 - lsls r0, 4 - movs r2, 0x34 - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r5, 0x3C] - b _08111B82 - .pool -_08111B3C: - ldrh r0, [r5, 0x3A] - ldrh r1, [r5, 0x36] - adds r0, r1 - strh r0, [r5, 0x36] - ldrh r1, [r5, 0x3C] - ldrh r2, [r5, 0x38] - adds r1, r2 - strh r1, [r5, 0x38] - lsls r0, 16 - asrs r0, 20 - strh r0, [r5, 0x20] - lsls r1, 16 - asrs r1, 20 - strh r1, [r5, 0x22] - ldrh r0, [r5, 0x34] - subs r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - cmp r0, 0 - bgt _08111B96 - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] -_08111B82: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _08111B96 - .pool -_08111B90: - adds r0, r5, 0 - bl move_anim_8074EE0 -_08111B96: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8111A88 - - thumb_func_start sub_8111B9C -sub_8111B9C: @ 8111B9C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_80A6980 - ldr r0, =sub_8111BB4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8111B9C - - thumb_func_start sub_8111BB4 -sub_8111BB4: @ 8111BB4 - push {r4-r6,lr} - adds r3, r0, 0 - movs r5, 0 - movs r6, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08111C4A - adds r1, r3, 0 - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x4 - ands r0, r2 - adds r4, r1, 0 - cmp r0, 0 - bne _08111BDE - movs r0, 0x4 - orrs r0, r2 - strb r0, [r4] -_08111BDE: - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _08111BEE - cmp r0, 0x1 - beq _08111BF8 - movs r6, 0x1 - b _08111C02 -_08111BEE: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0x2 - bne _08111C02 - b _08111C06 -_08111BF8: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0x4 - bne _08111C02 - movs r5, 0x1 -_08111C02: - cmp r5, 0 - beq _08111C38 -_08111C06: - ldrb r2, [r4] - 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, [r4] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - movs r1, 0 - strh r0, [r3, 0x32] - strh r1, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _08111C4A - strh r1, [r3, 0x32] - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - b _08111C4A -_08111C38: - cmp r6, 0 - beq _08111C44 - adds r0, r3, 0 - bl DestroyAnimSprite - b _08111C4A -_08111C44: - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] -_08111C4A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8111BB4 - - thumb_func_start sub_8111C50 -sub_8111C50: @ 8111C50 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - movs r0, 0x1 - bl duplicate_obj_of_side_rel2move_in_transparent_mode - movs r6, 0 - movs r1, 0 - strh r0, [r5, 0x8] - lsls r0, 16 - cmp r0, 0 - bge _08111C80 - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _08111D5C - .pool -_08111C80: - strh r1, [r5, 0xA] - movs r0, 0xF - strh r0, [r5, 0xC] - movs r0, 0x2 - strh r0, [r5, 0xE] - strh r1, [r5, 0x10] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldrh r1, [r5, 0xE] - lsls r1, 8 - ldrh r0, [r5, 0xC] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldr r4, =gSprites - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x50 - strh r1, [r0, 0x2E] - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08111CF4 - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =0x0000ff70 - strh r1, [r0, 0x30] - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x70 - b _08111D12 - .pool -_08111CF4: - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x90 - strh r1, [r0, 0x30] - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =0x0000ff90 -_08111D12: - strh r1, [r0, 0x32] - ldr r4, =gSprites - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r2, 0 - strh r2, [r0, 0x34] - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r2, [r0, 0x36] - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =SpriteCallbackDummy - bl StoreSpriteCallbackInData6 - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, =sub_80A656C - str r1, [r0] - ldr r0, =sub_8111D78 - str r0, [r5] -_08111D5C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8111C50 - - thumb_func_start sub_8111D78 -sub_8111D78: @ 8111D78 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08111E1C - cmp r0, 0x1 - bgt _08111DA0 - cmp r0, 0 - beq _08111DA6 - b _08111E48 - .pool -_08111DA0: - cmp r0, 0x2 - beq _08111E42 - b _08111E48 -_08111DA6: - ldrh r1, [r4, 0xA] - adds r1, 0x1 - strh r1, [r4, 0xA] - movs r0, 0x3 - ands r0, r1 - strh r0, [r4, 0x12] - cmp r0, 0x1 - bne _08111DC4 - ldrh r1, [r4, 0xC] - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _08111DC4 - subs r0, r1, 0x1 - strh r0, [r4, 0xC] -_08111DC4: - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0x3 - bne _08111DDA - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0xF - bgt _08111DDA - adds r0, r1, 0x1 - strh r0, [r4, 0xE] -_08111DDA: - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0xC] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldr r1, [r4, 0xC] - movs r0, 0x80 - lsls r0, 13 - cmp r1, r0 - bne _08111E48 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x50 - ble _08111E48 - movs r2, 0x8 - ldrsh r1, [r4, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl obj_delete_but_dont_free_vram - movs r0, 0x1 - strh r0, [r4, 0x10] - b _08111E48 - .pool -_08111E1C: - ldrh r0, [r4, 0x14] - adds r0, 0x1 - strh r0, [r4, 0x14] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _08111E48 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - b _08111E48 -_08111E42: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_08111E48: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8111D78 - - thumb_func_start sub_8111E50 -sub_8111E50: @ 8111E50 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r2, =gTasks - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x26] - ldr r2, =sub_8111E78 - str r2, [r1] - bl _call_via_r2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8111E50 - - thumb_func_start sub_8111E78 -sub_8111E78: @ 8111E78 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl sub_80A8364 - lsls r0, 24 - lsrs r6, r0, 24 - movs r1, 0x26 - ldrsh r0, [r5, r1] - cmp r0, 0x4 - bls _08111EA4 - b _081120C6 -_08111EA4: - lsls r0, 2 - ldr r1, =_08111EBC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08111EBC: - .4byte _08111ED0 - .4byte _08111FD0 - .4byte _08112014 - .4byte _0811207C - .4byte _081120A8 -_08111ED0: - ldr r7, =0x00002771 - adds r0, r7, 0 - bl AllocSpritePalette - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - mov r8, r2 - strh r0, [r5, 0x24] - cmp r0, 0xFF - beq _08111EFE - cmp r0, 0xF - beq _08111EFE - movs r0, 0x1 - bl duplicate_obj_of_side_rel2move_in_transparent_mode - strh r0, [r5, 0x8] - lsls r0, 16 - cmp r0, 0 - bge _08111F0C - adds r0, r7, 0 - bl FreeSpritePaletteByTag -_08111EFE: - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _081120CC - .pool -_08111F0C: - ldr r4, =gSprites - movs r1, 0x8 - ldrsh r0, [r5, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r2, [r5, 0x24] - lsls r2, 4 - ldrb r3, [r1, 0x5] - movs r0, 0xF - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] - movs r2, 0x8 - ldrsh r0, [r5, r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1] - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x8 - ldrsh r0, [r5, r1] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldr r0, =gBattleSpritesDataPtr - ldr r1, [r0] - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - lsls r1, 31 - adds r2, 0x3E - lsrs r1, 31 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - mov r2, r8 - strh r2, [r5, 0xA] - strh r2, [r5, 0xC] - movs r0, 0x10 - strh r0, [r5, 0xE] - movs r0, 0x1 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - movs r0, 0x22 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - adds r0, 0x10 - lsls r0, 4 - strh r0, [r5, 0x10] - cmp r6, 0x1 - bne _08111FC4 - movs r1, 0x80 - lsls r1, 2 - b _08111FC8 - .pool -_08111FC4: - movs r1, 0x80 - lsls r1, 3 -_08111FC8: - movs r0, 0 - bl ClearGpuRegBits - b _081120C6 -_08111FD0: - movs r1, 0x24 - ldrsh r0, [r5, r1] - adds r0, 0x10 - lsls r0, 4 - strh r0, [r5, 0x24] - movs r2, 0x10 - ldrsh r0, [r5, r2] - lsls r0, 1 - ldr r1, =gPlttBufferUnfaded - adds r0, r1 - movs r2, 0x24 - ldrsh r1, [r5, r2] - lsls r1, 1 - ldr r2, =gPlttBufferFaded - adds r1, r2 - ldr r2, =0x04000008 - bl CpuSet - ldrh r0, [r5, 0x10] - ldr r3, =0x00003c0d - movs r1, 0x10 - movs r2, 0xA - bl BlendPalette - b _081120C6 - .pool -_08112014: - ldr r2, =gSprites - movs r0, 0x22 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r1, r0 - subs r1, 0x20 - lsls r1, 16 - lsrs r2, r1, 16 - cmp r1, 0 - bge _08112034 - movs r2, 0 -_08112034: - cmp r6, 0x1 - bne _08112054 - lsls r0, r2, 24 - lsrs r0, 24 - adds r1, r2, 0 - adds r1, 0x40 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - str r2, [sp] - movs r2, 0x4 - str r2, [sp, 0x4] - str r6, [sp, 0x8] - b _0811206C - .pool -_08112054: - lsls r0, r2, 24 - lsrs r0, 24 - adds r1, r2, 0 - adds r1, 0x40 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - str r2, [sp] - movs r2, 0x8 - str r2, [sp, 0x4] - movs r2, 0x1 - str r2, [sp, 0x8] -_0811206C: - movs r2, 0x2 - movs r3, 0x6 - bl ScanlineEffect_InitWave - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x1C] - b _081120C6 -_0811207C: - cmp r6, 0x1 - bne _08112090 - ldr r1, =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - b _08112098 - .pool -_08112090: - ldr r1, =0x00003f44 - movs r0, 0x50 - bl SetGpuReg -_08112098: - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - b _081120C6 - .pool -_081120A8: - cmp r6, 0x1 - bne _081120B8 - movs r1, 0x80 - lsls r1, 2 - movs r0, 0 - bl SetGpuRegBits - b _081120C2 -_081120B8: - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - bl SetGpuRegBits -_081120C2: - ldr r0, =sub_81120DC - str r0, [r5] -_081120C6: - ldrh r0, [r5, 0x26] - adds r0, 0x1 - strh r0, [r5, 0x26] -_081120CC: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8111E78 - - thumb_func_start sub_81120DC -sub_81120DC: @ 81120DC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - ldrh r1, [r4, 0xA] - adds r1, 0x1 - strh r1, [r4, 0xA] - movs r0, 0x1 - ands r0, r1 - strh r0, [r4, 0x12] - cmp r0, 0 - bne _08112114 - ldr r1, =gSineTable - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x12 - bl __divsi3 - strh r0, [r4, 0xC] -_08112114: - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0x1 - bne _08112136 - ldr r1, =gSineTable - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x12 - bl __divsi3 - movs r1, 0x10 - subs r1, r0 - strh r1, [r4, 0xE] -_08112136: - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0xC] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0x80 - bne _0811215E - movs r0, 0 - strh r0, [r4, 0x26] - ldr r1, =sub_8112170 - str r1, [r4] - adds r0, r5, 0 - bl _call_via_r1 -_0811215E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81120DC - - thumb_func_start sub_8112170 -sub_8112170: @ 8112170 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl sub_80A8364 - lsls r0, 24 - lsrs r6, r0, 24 - movs r1, 0x26 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _081121DC - cmp r0, 0x1 - bgt _081121A8 - cmp r0, 0 - beq _081121AE - b _08112258 - .pool -_081121A8: - cmp r0, 0x2 - beq _081121F0 - b _08112258 -_081121AE: - ldr r1, =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] - movs r0, 0x1 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x24] - cmp r6, 0x1 - bne _081121D0 - movs r1, 0x80 - lsls r1, 2 - b _081121D4 - .pool -_081121D0: - movs r1, 0x80 - lsls r1, 3 -_081121D4: - movs r0, 0 - bl ClearGpuRegBits - b _08112258 -_081121DC: - ldrh r0, [r4, 0x10] - ldr r3, =0x00003c0d - movs r1, 0x10 - movs r2, 0 - bl BlendPalette - b _08112258 - .pool -_081121F0: - ldr r3, =gSprites - movs r0, 0x24 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - bl obj_delete_but_dont_free_vram - ldr r0, =0x00002771 - bl FreeSpritePaletteByTag - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - cmp r6, 0x1 - bne _08112248 - movs r1, 0x80 - lsls r1, 2 - movs r0, 0 - bl SetGpuRegBits - b _08112252 - .pool -_08112248: - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - bl SetGpuRegBits -_08112252: - adds r0, r5, 0 - bl DestroyAnimVisualTask -_08112258: - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8112170 - - thumb_func_start sub_8112264 -sub_8112264: @ 8112264 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r7, r0, 0 - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _081122AC - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 8 - movs r2, 0xE0 - lsls r2, 13 - adds r0, r2 - lsrs r5, r0, 16 - ldr r4, =gBattleAnimTarget - b _081122D0 - .pool -_081122AC: - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 8 - movs r2, 0xE0 - lsls r2, 13 - adds r0, r2 - lsrs r5, r0, 16 - ldr r4, =gBattleAnimAttacker -_081122D0: - ldrb r0, [r4] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldrb r0, [r4] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 8 - movs r1, 0xE0 - lsls r1, 13 - adds r0, r1 - lsrs r0, 16 - mov r9, r0 - mov r8, r5 - mov r2, r9 - subs r4, r2, r5 - lsls r4, 16 - lsrs r4, 16 - lsls r0, r6, 4 - strh r0, [r7, 0x2E] - lsls r0, r5, 4 - strh r0, [r7, 0x30] - mov r1, r10 - subs r0, r1, r6 - lsls r0, 4 - ldr r5, =gBattleAnimArgs - movs r2, 0x2 - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r7, 0x32] - lsls r4, 16 - asrs r4, 12 - movs r0, 0x2 - ldrsh r1, [r5, r0] - adds r0, r4, 0 - bl __divsi3 - strh r0, [r7, 0x34] - ldrh r0, [r5, 0x2] - strh r0, [r7, 0x36] - mov r1, r10 - strh r1, [r7, 0x38] - mov r2, r9 - strh r2, [r7, 0x3A] - movs r1, 0x36 - ldrsh r0, [r7, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r7, 0x3C] - ldrb r1, [r7, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r7, 0x5] - strh r6, [r7, 0x20] - mov r2, r8 - strh r2, [r7, 0x22] - ldr r0, =sub_8112384 - str r0, [r7, 0x1C] - adds r2, r7, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8112264 - - thumb_func_start sub_8112384 -sub_8112384: @ 8112384 - push {r4,lr} - adds r2, r0, 0 - ldrh r3, [r2, 0x36] - movs r1, 0x36 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _081123BC - ldrh r0, [r2, 0x32] - ldrh r4, [r2, 0x2E] - adds r0, r4 - strh r0, [r2, 0x2E] - ldrh r1, [r2, 0x34] - ldrh r4, [r2, 0x30] - adds r1, r4 - strh r1, [r2, 0x30] - lsls r0, 16 - asrs r0, 20 - strh r0, [r2, 0x20] - lsls r1, 16 - asrs r1, 20 - strh r1, [r2, 0x22] - subs r0, r3, 0x1 - strh r0, [r2, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _081123BC - strh r0, [r2, 0x2E] -_081123BC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8112384 - - thumb_func_start sub_81123C4 -sub_81123C4: @ 81123C4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - str r1, [sp] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0 - ldr r1, [sp] - strh r0, [r1, 0x12] - strh r0, [r1, 0x14] - strh r0, [r1, 0x16] - strh r0, [r1, 0x18] - movs r0, 0x10 - strh r0, [r1, 0x1A] - ldr r2, =gBattleAnimArgs - ldrh r0, [r2] - strh r0, [r1, 0x1C] - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_80A861C - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x8] - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _08112434 - b _08112530 -_08112434: - movs r4, 0 -_08112436: - lsls r1, r4, 16 - asrs r3, r1, 16 - ldr r0, =gBattleAnimAttacker - ldrb r2, [r0] - str r1, [sp, 0x10] - cmp r3, r2 - beq _08112502 - movs r0, 0x2 - eors r2, r0 - cmp r3, r2 - beq _08112502 - lsls r0, r4, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _08112502 - ldr r6, [sp, 0x4] - ldr r3, [sp, 0x8] - lsls r0, r3, 16 - asrs r7, r0, 16 - ldr r0, =gUnknown_08596DB8 - adds r1, r6, 0 - adds r2, r7, 0 - movs r3, 0x37 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0x40 - beq _08112502 - adds r0, r4, 0 - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - adds r0, r4, 0 - movs r1, 0x3 - bl sub_80A861C - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - mov r0, r8 - lsls r5, r0, 4 - add r5, r8 - lsls r5, 2 - ldr r1, =gSprites - adds r4, r5, r1 - lsls r0, r6, 4 - strh r0, [r4, 0x2E] - lsls r0, r7, 4 - strh r0, [r4, 0x30] - mov r2, r10 - subs r0, r2, r6 - lsls r0, 4 - ldr r3, =gBattleAnimArgs - movs r2, 0x2 - ldrsh r1, [r3, r2] - bl __divsi3 - strh r0, [r4, 0x32] - mov r3, r9 - lsls r0, r3, 16 - asrs r0, 16 - subs r0, r7 - lsls r0, 4 - ldr r2, =gBattleAnimArgs - movs r3, 0x2 - ldrsh r1, [r2, r3] - bl __divsi3 - strh r0, [r4, 0x34] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x36] - mov r2, r10 - strh r2, [r4, 0x38] - mov r3, r9 - strh r3, [r4, 0x3A] - ldr r0, =gSprites + 0x1C - adds r5, r0 - ldr r0, =sub_8112384 - str r0, [r5] - ldr r2, [sp] - movs r3, 0x20 - ldrsh r1, [r2, r3] - adds r1, 0xD - lsls r1, 1 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r1 - mov r1, r8 - strh r1, [r0] - ldrh r0, [r2, 0x20] - adds r0, 0x1 - strh r0, [r2, 0x20] -_08112502: - ldr r2, [sp, 0x10] - movs r3, 0x80 - lsls r3, 9 - adds r0, r2, r3 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _08112436 - b _081125B4 - .pool -_08112530: - ldr r0, =gUnknown_08596DB8 - ldr r7, [sp, 0x4] - ldr r2, [sp, 0x8] - lsls r1, r2, 16 - asrs r1, 16 - str r1, [sp, 0xC] - adds r1, r7, 0 - ldr r2, [sp, 0xC] - movs r3, 0x37 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0x40 - beq _081125B4 - movs r3, 0x30 - mov r10, r3 - movs r0, 0x28 - mov r9, r0 - ldr r6, =gSprites - mov r1, r8 - lsls r5, r1, 4 - add r5, r8 - lsls r5, 2 - adds r4, r5, r6 - lsls r0, r7, 4 - strh r0, [r4, 0x2E] - ldr r2, [sp, 0xC] - lsls r0, r2, 4 - strh r0, [r4, 0x30] - subs r0, r3, r7 - lsls r0, 4 - ldr r3, =gBattleAnimArgs - movs r2, 0x2 - ldrsh r1, [r3, r2] - bl __divsi3 - strh r0, [r4, 0x32] - mov r3, r9 - ldr r1, [sp, 0xC] - subs r0, r3, r1 - lsls r0, 4 - ldr r2, =gBattleAnimArgs - movs r3, 0x2 - ldrsh r1, [r2, r3] - bl __divsi3 - strh r0, [r4, 0x34] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x36] - mov r2, r10 - strh r2, [r4, 0x38] - mov r3, r9 - strh r3, [r4, 0x3A] - adds r6, 0x1C - adds r5, r6 - ldr r0, =sub_8112384 - str r0, [r5] - mov r1, r8 - ldr r0, [sp] - strh r1, [r0, 0x22] - movs r0, 0x1 - ldr r2, [sp] - strh r0, [r2, 0x20] -_081125B4: - ldr r0, =sub_81125E0 - ldr r3, [sp] - str r0, [r3] - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81123C4 - - thumb_func_start sub_81125E0 -sub_81125E0: @ 81125E0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _08112696 - cmp r1, 0x1 - bgt _08112608 - cmp r1, 0 - beq _08112616 - b _08112752 - .pool -_08112608: - cmp r1, 0x2 - bne _0811260E - b _08112728 -_0811260E: - cmp r1, 0x3 - bne _08112614 - b _0811273C -_08112614: - b _08112752 -_08112616: - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0811267C - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0811267C - strh r1, [r4, 0x12] - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0811264C - ldrh r1, [r4, 0x18] - movs r2, 0x18 - ldrsh r0, [r4, r2] - cmp r0, 0xF - bgt _0811265A - adds r0, r1, 0x1 - strh r0, [r4, 0x18] - b _0811265A -_0811264C: - ldrh r1, [r4, 0x1A] - movs r2, 0x1A - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0811265A - subs r0, r1, 0x1 - strh r0, [r4, 0x1A] -_0811265A: - ldrh r1, [r4, 0x1A] - lsls r1, 8 - ldrh r0, [r4, 0x18] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x16 - ldrsh r0, [r4, r1] - cmp r0, 0x17 - ble _0811267C - movs r0, 0 - strh r0, [r4, 0x16] - movs r0, 0x1 - strh r0, [r4, 0x14] -_0811267C: - ldrh r1, [r4, 0x1C] - movs r2, 0x1C - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0811268C - subs r0, r1, 0x1 - strh r0, [r4, 0x1C] - b _08112752 -_0811268C: - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08112752 - b _08112734 -_08112696: - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _08112752 - movs r0, 0 - strh r0, [r4, 0x12] - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] - ands r0, r1 - lsls r0, 16 - cmp r0, 0 - beq _081126C6 - ldrh r1, [r4, 0x18] - movs r2, 0x18 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _081126D4 - subs r0, r1, 0x1 - strh r0, [r4, 0x18] - b _081126D4 -_081126C6: - ldrh r1, [r4, 0x1A] - movs r2, 0x1A - ldrsh r0, [r4, r2] - cmp r0, 0xF - bgt _081126D4 - adds r0, r1, 0x1 - strh r0, [r4, 0x1A] -_081126D4: - ldrh r1, [r4, 0x1A] - lsls r1, 8 - ldrh r0, [r4, 0x18] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldr r1, [r4, 0x18] - movs r0, 0x80 - lsls r0, 13 - cmp r1, r0 - bne _08112752 - movs r5, 0 - b _08112718 -_081126F4: - adds r1, r5, 0 - adds r1, 0xD - lsls r1, 1 - adds r0, r4, 0 - adds r0, 0x8 - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_08112718: - movs r1, 0x20 - ldrsh r0, [r4, r1] - cmp r5, r0 - blt _081126F4 - b _08112734 - .pool -_08112728: - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - cmp r0, 0 - ble _08112752 -_08112734: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08112752 -_0811273C: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyAnimVisualTask -_08112752: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81125E0 - - thumb_func_start sub_8112758 -sub_8112758: @ 8112758 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gBattle_WIN0H - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_WIN0V - strh r1, [r0] - ldr r1, =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - ldr r1, =0x00003f1f - movs r0, 0x4A - bl SetGpuReg - movs r0, 0x50 - movs r1, 0xC8 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0x10 - bl SetGpuReg - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _081127A0 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _081127B8 -_081127A0: - movs r6, 0x28 - b _081127BA - .pool -_081127B8: - movs r6, 0xC8 -_081127BA: - ldr r1, =gBattle_WIN0H - lsls r3, r6, 16 - asrs r2, r3, 16 - lsls r0, r2, 8 - orrs r0, r2 - strh r0, [r1] - ldr r1, =gBattle_WIN0V - movs r5, 0x28 - ldr r0, =0x00002828 - strh r0, [r1] - lsrs r3, 16 - movs r1, 0xF0 - subs r1, r2 - movs r4, 0x48 - ldr r2, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r2 - strh r3, [r0, 0xA] - strh r1, [r0, 0xC] - strh r5, [r0, 0xE] - strh r4, [r0, 0x10] - strh r6, [r0, 0x12] - strh r5, [r0, 0x14] - ldr r1, =sub_811280C - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8112758 - - thumb_func_start sub_811280C -sub_811280C: @ 811280C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0811292C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r1, [r4, 0x8] - adds r0, r1, 0x1 - strh r0, [r4, 0x8] - ldrh r5, [r4, 0xA] - ldrh r7, [r4, 0xC] - ldrh r0, [r4, 0xE] - mov r10, r0 - ldrh r2, [r4, 0x10] - str r2, [sp, 0xC] - ldrh r0, [r4, 0x12] - ldrh r2, [r4, 0x14] - mov r8, r2 - lsls r1, 16 - asrs r6, r1, 16 - cmp r6, 0xF - ble _08112848 - b _08112938 -_08112848: - lsls r0, 16 - asrs r0, 16 - bl __floatsidf - str r0, [sp, 0x10] - str r1, [sp, 0x14] - lsls r0, r5, 16 - asrs r0, 16 - bl __floatsidf - ldr r2, _08112930 @ =0x3FB00000 - ldr r3, _08112934 @ =0x00000000 - bl __muldf3 - adds r5, r1, 0 - adds r4, r0, 0 - adds r0, r6, 0 - bl __floatsidf - str r0, [sp, 0x18] - str r1, [sp, 0x1C] - adds r1, r5, 0 - adds r0, r4, 0 - ldr r2, [sp, 0x18] - ldr r3, [sp, 0x1C] - bl __muldf3 - adds r3, r1, 0 - adds r2, r0, 0 - ldr r0, [sp, 0x10] - ldr r1, [sp, 0x14] - bl __subdf3 - bl __fixunsdfsi - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - lsls r0, r7, 16 - asrs r0, 16 - bl __floatsidf - ldr r2, _08112930 @ =0x3FB00000 - ldr r3, _08112934 @ =0x00000000 - bl __muldf3 - ldr r2, [sp, 0x18] - ldr r3, [sp, 0x1C] - bl __muldf3 - adds r3, r1, 0 - adds r2, r0, 0 - ldr r0, [sp, 0x10] - ldr r1, [sp, 0x14] - bl __adddf3 - bl __fixunsdfsi - lsls r0, 16 - lsrs r7, r0, 16 - mov r1, r8 - lsls r0, r1, 16 - asrs r0, 16 - bl __floatsidf - adds r5, r1, 0 - adds r4, r0, 0 - mov r2, r10 - lsls r0, r2, 16 - asrs r0, 16 - bl __floatsidf - ldr r2, _08112930 @ =0x3FB00000 - ldr r3, _08112934 @ =0x00000000 - bl __muldf3 - ldr r2, [sp, 0x18] - ldr r3, [sp, 0x1C] - bl __muldf3 - adds r3, r1, 0 - adds r2, r0, 0 - adds r1, r5, 0 - adds r0, r4, 0 - bl __subdf3 - bl __fixunsdfsi - lsls r0, 16 - lsrs r6, r0, 16 - ldr r1, [sp, 0xC] - lsls r0, r1, 16 - asrs r0, 16 - bl __floatsidf - ldr r2, _08112930 @ =0x3FB00000 - ldr r3, _08112934 @ =0x00000000 - bl __muldf3 - ldr r2, [sp, 0x18] - ldr r3, [sp, 0x1C] - bl __muldf3 - adds r3, r1, 0 - adds r2, r0, 0 - adds r1, r5, 0 - adds r0, r4, 0 - bl __adddf3 - bl __fixunsdfsi - lsls r0, 16 - lsrs r5, r0, 16 - b _08112966 - .align 2, 0 -_0811292C: - .4byte gTasks -_08112930: - .4byte 0x3FB00000 -_08112934: - .4byte 0x00000000 -_08112938: - movs r2, 0 - mov r9, r2 - movs r7, 0xF0 - movs r6, 0 - movs r5, 0x70 - str r6, [sp] - str r6, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x1 - movs r1, 0 - movs r3, 0 - bl sub_80A75AC - lsls r0, 16 - lsrs r0, 16 - str r6, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _08112988 @=sub_8112994 - str r0, [r4] -_08112966: - ldr r1, _0811298C @=gBattle_WIN0H - mov r2, r9 - lsls r0, r2, 8 - orrs r7, r0 - strh r7, [r1] - ldr r1, _08112990 @=gBattle_WIN0V - lsls r0, r6, 8 - orrs r5, r0 - strh r5, [r1] - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08112988: - .4byte sub_8112994 -_0811298C: - .4byte gBattle_WIN0H -_08112990: - .4byte gBattle_WIN0V - thumb_func_end sub_811280C - - thumb_func_start sub_8112994 -sub_8112994: @ 8112994 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _081129DA - ldr r0, =gBattle_WIN0H - strh r1, [r0] - ldr r0, =gBattle_WIN0V - strh r1, [r0] - ldr r4, =0x00003f3f - movs r0, 0x48 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x4A - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyAnimVisualTask -_081129DA: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8112994 - - thumb_func_start sub_81129F0 -sub_81129F0: @ 81129F0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08112A24 - movs r2, 0x18 - ldr r3, =0x0000fffe - ldrb r0, [r4, 0x3] - movs r1, 0x3F - negs r1, r1 - ands r1, r0 - movs r0, 0x10 - orrs r1, r0 - strb r1, [r4, 0x3] - b _08112A28 - .pool -_08112A24: - ldr r2, =0x0000ffe8 - movs r3, 0x2 -_08112A28: - lsls r0, r2, 16 - asrs r0, 16 - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - strh r3, [r4, 0x30] - movs r0, 0x3C - strh r0, [r4, 0x2E] - ldr r0, =sub_8112A4C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81129F0 - - thumb_func_start sub_8112A4C -sub_8112A4C: @ 8112A4C - push {r4,lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x2E] - movs r2, 0x2E - ldrsh r0, [r3, r2] - cmp r0, 0 - ble _08112A5E - subs r0, r1, 0x1 - b _08112AC2 -_08112A5E: - ldrh r0, [r3, 0x30] - ldrh r4, [r3, 0x24] - adds r1, r0, r4 - strh r1, [r3, 0x24] - adds r0, r1, 0x7 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xE - bls _08112AC4 - ldrh r0, [r3, 0x20] - adds r0, r1 - strh r0, [r3, 0x20] - movs r0, 0 - strh r0, [r3, 0x24] - ldrh r2, [r3, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x8 - ldr r4, =0x000003ff - adds r0, r4, 0 - ands r1, r0 - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x4] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - strh r0, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _08112AC0 - movs r0, 0x1E - strh r0, [r3, 0x2E] - ldr r0, =WaitAnimForDuration - str r0, [r3, 0x1C] - ldr r1, =sub_8112ACC - adds r0, r3, 0 - bl StoreSpriteCallbackInData6 - b _08112AC4 - .pool -_08112AC0: - movs r0, 0x28 -_08112AC2: - strh r0, [r3, 0x2E] -_08112AC4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8112A4C - - thumb_func_start sub_8112ACC -sub_8112ACC: @ 8112ACC - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x2E - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08112AF6 - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0x10 - bl SetGpuReg - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - strh r5, [r4, 0x30] - strh r5, [r4, 0x32] - b _08112B3A -_08112AF6: - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0x1 - bgt _08112B06 - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - b _08112B3A -_08112B06: - movs r0, 0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - movs r1, 0x10 - subs r1, r0 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _08112B3A - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =sub_8112B44 - str r0, [r4, 0x1C] -_08112B3A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8112ACC - - thumb_func_start sub_8112B44 -sub_8112B44: @ 8112B44 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - ldr r0, =gBattle_WIN0H - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_WIN0V - strh r1, [r0] - adds r0, r4, 0 - bl DestroyAnimSprite - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8112B44 - - thumb_func_start sub_8112B78 -sub_8112B78: @ 8112B78 - push {r4-r7,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - movs r1, 0xC - bl Sin - strh r0, [r5, 0x24] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08112B9C - ldrh r0, [r5, 0x24] - negs r0, r0 - strh r0, [r5, 0x24] -_08112B9C: - ldrh r0, [r5, 0x2E] - adds r0, 0x6 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x2E] - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - ldrh r1, [r5, 0x30] - adds r0, r1 - strh r0, [r5, 0x30] - lsls r0, 16 - asrs r0, 24 - negs r0, r0 - strh r0, [r5, 0x26] - ldrh r0, [r5, 0x3C] - adds r0, 0x1 - strh r0, [r5, 0x3C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _08112BE8 - ldr r0, =0x0000050b - strh r0, [r5, 0x3A] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldrh r1, [r5, 0x3A] - movs r0, 0x52 - bl SetGpuReg - b _08112C40 - .pool -_08112BE8: - cmp r0, 0x1E - ble _08112C40 - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - ldrh r1, [r5, 0x3A] - lsls r0, r1, 16 - asrs r0, 24 - lsls r0, 16 - movs r6, 0xFF - ands r6, r1 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r7, r0, 16 - cmp r7, 0x10 - bls _08112C0C - movs r7, 0x10 -_08112C0C: - subs r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r0, 0 - bge _08112C18 - movs r6, 0 -_08112C18: - lsls r4, r7, 8 - orrs r4, r6 - lsls r1, r4, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - strh r4, [r5, 0x3A] - cmp r7, 0x10 - bne _08112C40 - cmp r6, 0 - bne _08112C40 - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =sub_8112C4C - str r0, [r5, 0x1C] -_08112C40: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8112B78 - - thumb_func_start sub_8112C4C -sub_8112C4C: @ 8112C4C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimSprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8112C4C - - thumb_func_start sub_8112C6C -sub_8112C6C: @ 8112C6C - push {r4-r6,lr} - mov r6, r8 - push {r6} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - movs r6, 0 - strh r6, [r4, 0x8] - movs r0, 0x10 - mov r8, r0 - mov r0, r8 - strh r0, [r4, 0xA] - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x1A] - ldrb r0, [r5] - bl GetBattlerYCoordWithElevation - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x1C] - ldrb r0, [r5] - movs r1, 0x1 - bl sub_80A861C - lsls r0, 16 - asrs r1, r0, 16 - lsrs r0, 31 - adds r1, r0 - asrs r1, 1 - adds r1, 0x8 - strh r1, [r4, 0x1E] - strh r6, [r4, 0x16] - ldrb r0, [r5] - bl sub_80A8328 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x12] - ldrb r0, [r5] - bl sub_80A82E4 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x2 - strh r0, [r4, 0x14] - strh r6, [r4, 0xE] - mov r0, r8 - strh r0, [r4, 0x10] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - strh r6, [r4, 0x18] - ldr r0, =sub_8112D10 - str r0, [r4] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8112C6C - - thumb_func_start sub_8112D10 -sub_8112D10: @ 8112D10 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bls _08112D2A - b _08112E96 -_08112D2A: - lsls r0, 2 - ldr r1, =_08112D3C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08112D3C: - .4byte _08112D54 - .4byte _08112DC4 - .4byte _08112E06 - .4byte _08112E1A - .4byte _08112E70 - .4byte _08112E80 -_08112D54: - movs r6, 0 -_08112D56: - movs r2, 0x1A - ldrsh r1, [r4, r2] - movs r0, 0x1C - ldrsh r2, [r4, r0] - ldrb r3, [r4, 0x14] - ldr r0, =gUnknown_08596E30 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _08112DAA - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r5, r0, r1 - strh r7, [r5, 0x2E] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - movs r1, 0 - lsls r0, 24 - cmp r0, 0 - bne _08112D8C - movs r1, 0x1 -_08112D8C: - strh r1, [r5, 0x30] - movs r0, 0x2A - muls r0, r6 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x32] - ldrh r0, [r4, 0x1E] - strh r0, [r5, 0x34] - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 1 - strh r0, [r5, 0x38] - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] -_08112DAA: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x5 - bls _08112D56 - b _08112E78 - .pool -_08112DC4: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08112DE2 - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0xD - bgt _08112DF0 - adds r0, r1, 0x1 - strh r0, [r4, 0xE] - b _08112DF0 -_08112DE2: - ldrh r1, [r4, 0x10] - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0x4 - ble _08112DF0 - subs r0, r1, 0x1 - strh r0, [r4, 0x10] -_08112DF0: - movs r1, 0xE - ldrsh r0, [r4, r1] - ldrh r2, [r4, 0xE] - ldrh r1, [r4, 0x10] - cmp r0, 0xE - bne _08112E60 - cmp r1, 0x4 - bne _08112E60 - movs r0, 0 - strh r0, [r4, 0xA] - b _08112E5A -_08112E06: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1E - ble _08112E96 - movs r0, 0 - strh r0, [r4, 0xA] - b _08112E78 -_08112E1A: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08112E38 - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _08112E46 - subs r0, r1, 0x1 - strh r0, [r4, 0xE] - b _08112E46 -_08112E38: - ldrh r1, [r4, 0x10] - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0xF - bgt _08112E46 - adds r0, r1, 0x1 - strh r0, [r4, 0x10] -_08112E46: - movs r1, 0xE - ldrsh r0, [r4, r1] - ldrh r2, [r4, 0xE] - ldrh r1, [r4, 0x10] - cmp r0, 0 - bne _08112E60 - cmp r1, 0x10 - bne _08112E60 - movs r0, 0x1 - strh r0, [r4, 0x18] -_08112E5A: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08112E60: - lsls r1, 8 - orrs r1, r2 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - b _08112E96 -_08112E70: - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08112E96 -_08112E78: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08112E96 -_08112E80: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r7, 0 - bl DestroyAnimVisualTask -_08112E96: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8112D10 - - thumb_func_start sub_8112E9C -sub_8112E9C: @ 8112E9C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08112EAE - ldrh r0, [r4, 0x32] - adds r0, 0x2 - b _08112EB2 -_08112EAE: - ldrh r0, [r4, 0x32] - subs r0, 0x2 -_08112EB2: - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x32] - movs r0, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r2, 0x34 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - subs r0, 0x41 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7E - bhi _08112EF4 - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x12] - adds r1, 0x1 - movs r0, 0x3 - ands r1, r0 - b _08112F08 - .pool -_08112EF4: - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x3 - ldrb r1, [r0, 0x12] - ands r1, r2 -_08112F08: - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - movs r1, 0x38 - ldrsh r0, [r4, r1] - lsls r0, 3 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x3A] - movs r2, 0x3A - ldrsh r0, [r4, r2] - movs r1, 0x7 - bl Sin - strh r0, [r4, 0x26] - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r2 - movs r2, 0x18 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _08112F56 - ldrh r0, [r1, 0x16] - subs r0, 0x1 - strh r0, [r1, 0x16] - adds r0, r4, 0 - bl DestroySprite -_08112F56: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8112E9C - - thumb_func_start sub_8112F60 -sub_8112F60: @ 8112F60 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r3] - ldr r2, =gBattlerSpriteIds - ldr r1, =gBattleAnimAttacker - ldrb r1, [r1] - adds r1, r2 - ldrb r1, [r1] - strh r1, [r0, 0x38] - movs r1, 0x80 - strh r1, [r0, 0x2E] - movs r1, 0xA - strh r1, [r0, 0x30] - ldr r2, =gBattleAnimArgs - ldrh r1, [r2] - strh r1, [r0, 0x32] - ldrh r1, [r2, 0x2] - strh r1, [r0, 0x34] - ldr r1, =sub_8112FB8 - str r1, [r0, 0x1C] - ldr r2, =gSprites - movs r3, 0x38 - ldrsh r1, [r0, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - bx lr - .pool - thumb_func_end sub_8112F60 - - thumb_func_start sub_8112FB8 -sub_8112FB8: @ 8112FB8 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x34] - movs r1, 0x34 - ldrsh r3, [r5, r1] - cmp r3, 0 - beq _08113020 - subs r0, 0x1 - strh r0, [r5, 0x34] - movs r2, 0x2E - ldrsh r0, [r5, r2] - movs r2, 0x30 - ldrsh r1, [r5, r2] - bl Sin - ldr r4, =gSprites - movs r1, 0x38 - ldrsh r2, [r5, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - strh r0, [r1, 0x24] - movs r2, 0x2E - ldrsh r0, [r5, r2] - movs r2, 0x30 - ldrsh r1, [r5, r2] - bl Cos - movs r1, 0x38 - ldrsh r2, [r5, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - strh r0, [r1, 0x26] - ldrh r0, [r5, 0x32] - ldrh r2, [r5, 0x2E] - adds r1, r0, r2 - strh r1, [r5, 0x2E] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _08113054 - ldr r2, =0xffffff00 - adds r0, r1, r2 - strh r0, [r5, 0x2E] - b _08113054 - .pool -_08113020: - ldr r2, =gSprites - movs r0, 0x38 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x24] - movs r0, 0x38 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x26] - movs r0, 0x38 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - subs r1, 0x8 - strh r1, [r0, 0x22] - ldr r0, =move_anim_8074EE0 - str r0, [r5, 0x1C] -_08113054: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8112FB8 - - .align 2, 0 @@ -1368,7 +1368,7 @@ _0810C0E2: mov r0, sp movs r2, 0 bl sub_80A6D60 - ldr r0, =gUnknown_0854C270 + ldr r0, =gUnknown_083970E8 mov r1, sp ldrb r1, [r1, 0x8] lsls r1, 4 @@ -1650,7 +1650,7 @@ _0810C366: mov r0, sp movs r2, 0 bl sub_80A6D60 - ldr r0, =gUnknown_0854C270 + ldr r0, =gUnknown_083970E8 mov r1, sp ldrb r1, [r1, 0x8] lsls r1, 4 diff --git a/asm/international_string_util.s b/asm/international_string_util.s deleted file mode 100644 index 469d88787..000000000 --- a/asm/international_string_util.s +++ /dev/null @@ -1,355 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start sub_81DB41C -sub_81DB41C: @ 81DB41C - push {r4-r7,lr} - adds r4, r0, 0 - ldr r1, [r4] - movs r7, 0 - movs r6, 0 - ldrh r0, [r4, 0xC] - cmp r7, r0 - bge _081DB44C - adds r5, r1, 0 -_081DB42E: - ldrb r0, [r4, 0x17] - lsls r0, 26 - lsrs r0, 26 - ldr r1, [r5] - movs r2, 0 - bl GetStringWidth - cmp r0, r7 - ble _081DB442 - adds r7, r0, 0 -_081DB442: - adds r5, 0x8 - adds r6, 0x1 - ldrh r0, [r4, 0xC] - cmp r6, r0 - blt _081DB42E -_081DB44C: - ldrb r0, [r4, 0x12] - adds r1, r7, r0 - adds r0, r1, 0 - adds r0, 0x9 - cmp r0, 0 - bge _081DB45A - adds r0, 0x7 -_081DB45A: - asrs r0, 3 - cmp r0, 0x1C - ble _081DB462 - movs r0, 0x1C -_081DB462: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81DB41C - - thumb_func_start CopyMonCategoryText -CopyMonCategoryText: @ 81DB468 - push {lr} - adds r2, r0, 0 - adds r0, r1, 0 - lsls r2, 5 - ldr r1, =gPokedexEntries - adds r2, r1 - adds r1, r2, 0 - bl StringCopy - movs r1, 0 - strb r1, [r0] - adds r0, 0x1 - ldr r1, =gText_Pokemon - bl StringCopy - pop {r0} - bx r0 - .pool - thumb_func_end CopyMonCategoryText - - thumb_func_start sub_81DB494 -sub_81DB494: @ 81DB494 - push {r4-r7,lr} - adds r6, r1, 0 - adds r5, r2, 0 - adds r7, r3, 0 - cmp r5, 0 - beq _081DB4B6 - adds r1, r5, 0 - bl StringCopy - adds r4, r0, 0 - lsls r0, r6, 24 - lsrs r0, 24 - adds r1, r5, 0 - movs r2, 0 - bl GetStringWidth - b _081DB4BA -_081DB4B6: - adds r4, r0, 0 - movs r0, 0 -_081DB4BA: - subs r3, r7, r0 - cmp r3, 0 - ble _081DB4D4 - movs r0, 0xFC - strb r0, [r4] - adds r4, 0x1 - movs r0, 0x11 - strb r0, [r4] - adds r4, 0x1 - strb r3, [r4] - adds r4, 0x1 - movs r0, 0xFF - strb r0, [r4] -_081DB4D4: - adds r0, r4, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81DB494 - - thumb_func_start PadNameString -PadNameString: @ 81DB4DC - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - bl StripExtCtrlCodes - adds r0, r4, 0 - bl StringLength - lsls r0, 24 - lsrs r1, r0, 24 - cmp r5, 0xFC - bne _081DB51A - cmp r1, 0x5 - bhi _081DB51E - movs r3, 0xFC - movs r2, 0x7 -_081DB4FE: - adds r0, r4, r1 - strb r3, [r0] - strb r2, [r0, 0x1] - adds r0, r1, 0x2 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x5 - bls _081DB4FE - b _081DB51E -_081DB510: - adds r0, r4, r1 - strb r5, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 -_081DB51A: - cmp r1, 0x5 - bls _081DB510 -_081DB51E: - adds r1, r4, r1 - movs r0, 0xFF - strb r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end PadNameString - - thumb_func_start sub_81DB52C -sub_81DB52C: @ 81DB52C - push {r4,lr} - adds r4, r0, 0 - bl StringLength - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5 - bhi _081DB546 - adds r0, r4, 0 - movs r1, 0x1 - bl ConvertInternationalString - b _081DB54C -_081DB546: - adds r0, r4, 0 - bl StripExtCtrlCodes -_081DB54C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81DB52C - - thumb_func_start sub_81DB554 -sub_81DB554: @ 81DB554 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - bl StringLength - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5 - bhi _081DB572 - adds r0, r4, 0 - movs r1, 0x1 - bl ConvertInternationalString - b _081DB5A4 -_081DB572: - cmp r5, 0xFC - bne _081DB57E - adds r0, r4, 0 - bl StripExtCtrlCodes - b _081DB5A4 -_081DB57E: - adds r1, r4, 0 - b _081DB584 -_081DB582: - adds r1, 0x1 -_081DB584: - ldrb r0, [r1, 0x1] - cmp r0, 0xFF - bne _081DB582 - cmp r1, r4 - bcc _081DB5A4 - ldrb r0, [r1] - cmp r0, r5 - bne _081DB5A4 - movs r2, 0xFF -_081DB596: - strb r2, [r1] - subs r1, 0x1 - cmp r1, r4 - bcc _081DB5A4 - ldrb r0, [r1] - cmp r0, r5 - beq _081DB596 -_081DB5A4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81DB554 - - thumb_func_start sub_81DB5AC -sub_81DB5AC: @ 81DB5AC - push {lr} - adds r2, r0, 0 - ldrb r0, [r2] - adds r2, 0x1 - cmp r0, 0xFC - bne _081DB5E4 - ldrb r0, [r2] - adds r2, 0x1 - cmp r0, 0x15 - bne _081DB5E4 - b _081DB5CE -_081DB5C2: - cmp r1, 0xFC - bne _081DB5CC - ldrb r0, [r2, 0x1] - cmp r0, 0x16 - beq _081DB5E4 -_081DB5CC: - adds r2, 0x1 -_081DB5CE: - ldrb r1, [r2] - adds r0, r1, 0 - cmp r0, 0xFF - bne _081DB5C2 - movs r0, 0xFC - strb r0, [r2] - adds r2, 0x1 - movs r0, 0x16 - strb r0, [r2] - movs r0, 0xFF - strb r0, [r2, 0x1] -_081DB5E4: - pop {r0} - bx r0 - thumb_func_end sub_81DB5AC - - thumb_func_start TVShowConvertInternationalString -TVShowConvertInternationalString: @ 81DB5E8 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r2, 0 - bl StringCopy - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl ConvertInternationalString - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end TVShowConvertInternationalString - - thumb_func_start sub_81DB604 -sub_81DB604: @ 81DB604 - push {lr} - adds r1, r0, 0 - ldrb r0, [r1] - cmp r0, 0xFC - bne _081DB618 - ldrb r0, [r1, 0x1] - cmp r0, 0x15 - bne _081DB618 - movs r0, 0x1 - b _081DB61A -_081DB618: - movs r0, 0x2 -_081DB61A: - pop {r1} - bx r1 - thumb_func_end sub_81DB604 - - thumb_func_start sub_81DB620 -sub_81DB620: @ 81DB620 - push {r4-r7,lr} - sub sp, 0x4 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 2 - ldr r0, =gWindows - adds r4, r0 - lsls r7, r3, 5 - ldrb r0, [r4, 0x3] - lsls r6, r0, 5 - muls r2, r6 - ldr r0, [r4, 0x8] - adds r0, r2 - lsls r1, 5 - adds r5, r0, r1 - ldr r0, [sp, 0x18] - cmp r0, 0 - ble _081DB66C - adds r4, r0, 0 -_081DB646: - ldr r0, =0x11111111 - str r0, [sp] - adds r2, r7, 0 - cmp r2, 0 - bge _081DB652 - adds r2, 0x3 -_081DB652: - lsls r2, 9 - lsrs r2, 11 - movs r0, 0x80 - lsls r0, 17 - orrs r2, r0 - mov r0, sp - adds r1, r5, 0 - bl CpuFastSet - adds r5, r6 - subs r4, 0x1 - cmp r4, 0 - bne _081DB646 -_081DB66C: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DB620 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/link_rfu.s b/asm/link_rfu.s deleted file mode 100644 index 1179b9866..000000000 --- a/asm/link_rfu.s +++ /dev/null @@ -1,2021 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8011404 -sub_8011404: @ 8011404 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x31 - bne _08011410 - b _08011570 -_08011410: - cmp r4, 0x31 - bgt _0801143E - cmp r4, 0x22 - beq _08011494 - cmp r4, 0x22 - bgt _0801142C - cmp r4, 0x20 - beq _0801147C - cmp r4, 0x20 - ble _08011426 - b _080115DE -_08011426: - cmp r4, 0 - beq _0801146E - b _080115DE -_0801142C: - cmp r4, 0x24 - beq _080114BA - cmp r4, 0x24 - blt _080114B0 - cmp r4, 0x25 - beq _08011504 - cmp r4, 0x30 - beq _0801150E - b _080115DE -_0801143E: - cmp r4, 0x44 - bgt _08011454 - cmp r4, 0x42 - blt _08011448 - b _080115DE -_08011448: - cmp r4, 0x33 - beq _08011522 - cmp r4, 0x33 - bge _08011452 - b _0801158C -_08011452: - b _080115DE -_08011454: - cmp r4, 0xF3 - bne _0801145A - b _080115AC -_0801145A: - cmp r4, 0xF3 - bgt _08011466 - cmp r4, 0xF0 - bge _08011464 - b _080115DE -_08011464: - b _080115C4 -_08011466: - cmp r4, 0xFF - bne _0801146C - b _080115C4 -_0801146C: - b _080115DE -_0801146E: - ldr r1, =gUnknown_03005000 - movs r0, 0x6 - strh r0, [r1, 0x4] - b _080115DE - .pool -_0801147C: - ldr r0, =gUnknown_03005000 - ldr r1, =gUnknown_03004140 - ldrh r1, [r1, 0x14] - ldr r2, =0x00000ccd - adds r0, r2 - b _080115DC - .pool -_08011494: - ldr r0, =gUnknown_03005000 - ldr r1, =gUnknown_03004140 - ldrh r1, [r1, 0x14] - ldr r2, =0x00000c3e - adds r0, r2 - ldrb r2, [r0] - b _080115DC - .pool -_080114B0: - movs r0, 0x2 - adds r1, r4, 0 - bl sub_8011A64 - b _080115DE -_080114BA: - ldr r4, =gUnknown_03005000 - movs r1, 0 - movs r0, 0xB - strh r0, [r4, 0x4] - ldr r2, =0x00000c85 - adds r0, r4, r2 - strb r1, [r0] - ldr r0, =0x00000c86 - adds r2, r4, r0 - strb r1, [r2] - ldr r1, =0x00000c3e - adds r5, r4, r1 - ldrb r1, [r5] - movs r0, 0x20 - movs r3, 0x1 - bl rfu_setRecvBuffer - ldrb r1, [r5] - ldr r2, =0x00000c3f - adds r4, r2 - movs r0, 0x10 - adds r2, r4, 0 - movs r3, 0x46 - bl rfu_setRecvBuffer - b _080115DE - .pool -_08011504: - movs r0, 0x2 - movs r1, 0x25 - bl sub_8011A64 - b _080115DE -_0801150E: - ldr r0, =gUnknown_03005000 - adds r2, r0, 0 - adds r2, 0xF0 - movs r1, 0x2 - strb r1, [r2] - ldr r1, =0x00000c86 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x6 - beq _080115DE -_08011522: - ldr r2, =gUnknown_03005000 - adds r1, r2, 0 - adds r1, 0xF0 - ldrb r0, [r1] - cmp r0, 0x2 - beq _08011532 - movs r0, 0x4 - strb r0, [r1] -_08011532: - ldr r1, =0x00000c86 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x9 - beq _08011544 - movs r0, 0x2 - adds r1, r4, 0 - bl sub_8011A64 -_08011544: - ldr r0, =gUnknown_082ED7FC - movs r1, 0x5 - movs r2, 0x5 - bl nullsub_5 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - bne _080115DE - adds r0, r4, 0 - bl sub_8011170 - b _080115DE - .pool -_08011570: - ldr r0, =gUnknown_03005000 - adds r0, 0xF0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, =gUnknown_082ED814 - movs r1, 0x5 - movs r2, 0x5 - bl nullsub_5 - b _080115DE - .pool -_0801158C: - ldr r1, =gUnknown_03005000 - adds r2, r1, 0 - adds r2, 0xF0 - movs r0, 0x3 - strb r0, [r2] - ldr r2, =0x00000c3c - adds r1, r2 - ldrb r0, [r1] - movs r0, 0x1 - strb r0, [r1] - b _080115DE - .pool -_080115AC: - movs r0, 0x1 - movs r1, 0xF3 - bl sub_8011A64 - movs r0, 0xF3 - bl sub_8011170 - ldr r0, =gUnknown_03005000 - adds r0, 0xEF - b _080115DA - .pool -_080115C4: - movs r0, 0x1 - adds r1, r4, 0 - bl sub_8011A64 - adds r0, r4, 0 - bl sub_8011170 - ldr r0, =gUnknown_03005000 - ldr r1, =0x00000cdb - adds r0, r1 - ldrb r1, [r0] -_080115DA: - movs r1, 0x1 -_080115DC: - strb r1, [r0] -_080115DE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8011404 - - thumb_func_start sub_80115EC -sub_80115EC: @ 80115EC - push {r4-r6,lr} - adds r3, r0, 0 - movs r2, 0 - movs r6, 0x1 - ldr r0, =gUnknown_03005000 - ldr r4, =0x00000cea - adds r1, r0, r4 - movs r5, 0 - movs r4, 0xFF -_080115FE: - adds r0, r3, 0 - asrs r0, r2 - ands r0, r6 - cmp r0, 0 - beq _08011610 - strb r5, [r1] - ldrb r0, [r1, 0x4] - orrs r0, r4 - strb r0, [r1, 0x4] -_08011610: - adds r1, 0x1 - adds r2, 0x1 - cmp r2, 0x3 - ble _080115FE - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80115EC - - thumb_func_start sub_8011628 -sub_8011628: @ 8011628 - push {r4-r7,lr} - adds r5, r0, 0 - movs r3, 0 - movs r2, 0 - movs r4, 0x1 - ldr r6, =gUnknown_03007890 - movs r7, 0x7F -_08011636: - adds r0, r5, 0 - asrs r0, r2 - ands r0, r4 - cmp r0, 0 - beq _0801165C - lsls r1, r2, 5 - adds r1, 0x14 - ldr r0, [r6] - adds r0, r1 - ldrb r1, [r0, 0x10] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0x45 - bne _0801165C - adds r0, r4, 0 - lsls r0, r2 - orrs r3, r0 - lsls r0, r3, 24 - lsrs r3, r0, 24 -_0801165C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _08011636 - adds r0, r3, 0 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8011628 - - thumb_func_start sub_8011674 -sub_8011674: @ 8011674 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x25 - bne _08011680 - b _080118EC -_08011680: - cmp r4, 0x25 - bgt _080116C2 - cmp r4, 0x14 - bne _0801168A - b _08011804 -_0801168A: - cmp r4, 0x14 - bgt _080116A2 - cmp r4, 0x11 - beq _08011722 - cmp r4, 0x11 - ble _08011698 - b _08011A42 -_08011698: - cmp r4, 0 - beq _0801170C - cmp r4, 0x10 - beq _08011718 - b _08011A42 -_080116A2: - cmp r4, 0x22 - bne _080116A8 - b _08011868 -_080116A8: - cmp r4, 0x22 - bgt _080116B4 - cmp r4, 0x20 - bne _080116B2 - b _08011850 -_080116B2: - b _08011A42 -_080116B4: - cmp r4, 0x23 - bne _080116BA - b _08011884 -_080116BA: - cmp r4, 0x24 - bne _080116C0 - b _080118BA -_080116C0: - b _08011A42 -_080116C2: - cmp r4, 0x44 - bgt _080116F2 - cmp r4, 0x42 - blt _080116CC - b _08011A42 -_080116CC: - cmp r4, 0x32 - bne _080116D2 - b _08011914 -_080116D2: - cmp r4, 0x32 - bgt _080116E4 - cmp r4, 0x30 - bne _080116DC - b _08011940 -_080116DC: - cmp r4, 0x31 - bne _080116E2 - b _080118F6 -_080116E2: - b _08011A42 -_080116E4: - cmp r4, 0x33 - bne _080116EA - b _08011948 -_080116EA: - cmp r4, 0x40 - bne _080116F0 - b _080119FC -_080116F0: - b _08011A42 -_080116F2: - cmp r4, 0xF3 - bne _080116F8 - b _08011A0C -_080116F8: - cmp r4, 0xF3 - bgt _08011704 - cmp r4, 0xF0 - bge _08011702 - b _08011A42 -_08011702: - b _08011A28 -_08011704: - cmp r4, 0xFF - bne _0801170A - b _08011A28 -_0801170A: - b _08011A42 -_0801170C: - ldr r1, =gUnknown_03005000 - movs r0, 0x11 - strh r0, [r1, 0x4] - b _08011A42 - .pool -_08011718: - movs r0, 0x4 - movs r1, 0 - bl sub_8011A64 - b _08011A42 -_08011722: - bl sub_800F7DC - ldrb r1, [r0, 0xA] - movs r0, 0x7F - ands r0, r1 - cmp r0, 0x45 - bne _080117DC - ldr r5, =gUnknown_03005000 - ldr r1, =0x00000cd9 - adds r0, r5, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080117DC - ldr r0, =gUnknown_03004140 - ldrh r0, [r0, 0x14] - bl sub_8011628 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _080117A6 - adds r0, r4, 0 - bl sub_800E87C - movs r2, 0x1 - mov r12, r2 - mov r1, r12 - lsls r1, r0 - lsls r1, 24 - lsrs r1, 24 - ldr r7, =0x00000ce6 - adds r6, r5, r7 - ldrb r2, [r6] - cmp r2, 0 - bne _08011798 - ldr r0, =0x00000ce8 - adds r3, r5, r0 - ldrb r0, [r3] - cmp r0, 0 - bne _08011798 - subs r7, 0x1 - adds r0, r5, r7 - strb r1, [r0] - eors r1, r4 - orrs r1, r2 - strb r1, [r6] - mov r0, r12 - strb r0, [r3] - b _080117A6 - .pool -_08011798: - ldr r0, =gUnknown_03005000 - ldr r1, =0x00000ce6 - adds r0, r1 - ldrb r2, [r0] - adds r1, r4, 0 - orrs r1, r2 - strb r1, [r0] -_080117A6: - ldr r0, =gUnknown_03004140 - ldrh r1, [r0, 0x14] - cmp r4, r1 - beq _080117F6 - ldr r2, =gUnknown_03005000 - ldr r7, =0x00000ce3 - adds r3, r2, r7 - adds r0, r4, 0 - eors r0, r1 - ldrb r1, [r3] - orrs r0, r1 - strb r0, [r3] - ldr r0, =0x00000ce4 - adds r2, r0 - movs r0, 0x2 - strb r0, [r2] - b _080117F6 - .pool -_080117DC: - bl sub_800F7DC - ldrb r1, [r0, 0xA] - movs r0, 0x7F - ands r0, r1 - cmp r0, 0x54 - bne _080117F6 - ldr r0, =gUnknown_03004140 - ldrb r0, [r0] - bl rfu_REQ_disconnect - bl rfu_waitREQComplete -_080117F6: - ldr r0, =gUnknown_03004140 - ldrh r0, [r0, 0x14] - bl sub_80115EC - b _08011A42 - .pool -_08011804: - bl sub_800F7DC - ldrb r1, [r0, 0xA] - movs r0, 0x7F - ands r0, r1 - cmp r0, 0x45 - beq _08011836 - ldr r4, =gUnknown_03004140 - ldrb r0, [r4, 0x1] - cmp r0, 0x1 - bls _08011836 - ldrb r0, [r4, 0x14] - bl sub_800E87C - movs r1, 0x80 - lsls r1, 17 - lsls r1, r0 - lsrs r1, 24 - ldrb r0, [r4] - eors r1, r0 - adds r0, r1, 0 - bl rfu_REQ_disconnect - bl rfu_waitREQComplete -_08011836: - ldr r1, =gUnknown_03005000 - ldrh r0, [r1, 0x4] - cmp r0, 0xF - beq _08011840 - b _08011A42 -_08011840: - movs r0, 0x10 - strh r0, [r1, 0x4] - b _08011A42 - .pool -_08011850: - ldr r0, =gUnknown_03005000 - ldr r1, =gUnknown_03004140 - ldrh r1, [r1, 0x14] - ldr r2, =0x00000ccd - adds r0, r2 - b _08011A40 - .pool -_08011868: - ldr r0, =gUnknown_03005000 - ldr r1, =gUnknown_03004140 - ldrh r1, [r1, 0x14] - ldr r7, =0x00000c3e - adds r0, r7 - ldrb r2, [r0] - b _08011A40 - .pool -_08011884: - ldr r1, =gUnknown_03005000 - movs r0, 0x12 - strh r0, [r1, 0x4] - ldr r0, =0x00000ccf - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x1 - bhi _080118B0 - adds r0, 0x1 - strb r0, [r1] - ldr r0, =sub_801209C - movs r1, 0x2 - bl CreateTask - b _08011A42 - .pool -_080118B0: - movs r0, 0x2 - movs r1, 0x23 - bl sub_8011A64 - b _08011A42 -_080118BA: - ldr r4, =gUnknown_03005000 - movs r0, 0xD - strh r0, [r4, 0x4] - movs r0, 0x3 - movs r1, 0 - bl sub_8011A64 - ldr r1, =0x00000c3e - adds r0, r4, r1 - ldrb r1, [r0] - ldr r2, =0x00000c3f - adds r4, r2 - movs r0, 0x10 - adds r2, r4, 0 - movs r3, 0x46 - bl rfu_setRecvBuffer - b _08011A42 - .pool -_080118EC: - movs r0, 0x2 - movs r1, 0x25 - bl sub_8011A64 - b _08011A42 -_080118F6: - ldr r0, =gUnknown_03004140 - ldrb r1, [r0] - ldrh r0, [r0, 0x14] - ands r1, r0 - cmp r1, 0 - bne _08011904 - b _08011A42 -_08011904: - ldr r0, =gUnknown_03005000 - adds r0, 0xF0 - movs r1, 0x1 - b _08011A40 - .pool -_08011914: - ldr r2, =gUnknown_03005000 - adds r1, r2, 0 - adds r1, 0xF0 - movs r0, 0x3 - strb r0, [r1] - ldr r0, =gUnknown_03007890 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0 - beq _0801192A - b _08011A42 -_0801192A: - ldr r7, =0x00000c3c - adds r0, r2, r7 - ldrb r1, [r0] - movs r1, 0x1 - b _08011A40 - .pool -_08011940: - ldr r0, =gUnknown_03005000 - adds r0, 0xF0 - movs r1, 0x2 - strb r1, [r0] -_08011948: - ldr r2, =gUnknown_03005000 - adds r1, r2, 0 - adds r1, 0xF0 - ldrb r0, [r1] - cmp r0, 0x2 - beq _08011958 - movs r0, 0x4 - strb r0, [r1] -_08011958: - ldrb r0, [r2, 0xC] - cmp r0, 0x1 - bne _08011996 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - bne _080119B4 - ldr r0, =0x00000ce2 - adds r2, r0 - ldr r0, =gUnknown_03004140 - ldrb r1, [r0, 0x14] - ldrb r0, [r2] - bics r0, r1 - strb r0, [r2] - cmp r0, 0 - bne _08011990 - adds r0, r4, 0 - bl sub_8011170 - b _080119B4 - .pool -_08011990: - bl sub_80111FC - b _080119B4 -_08011996: - ldr r1, =0x00000ce4 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x2 - beq _080119B4 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - bne _080119B4 - adds r0, r4, 0 - bl sub_8011170 - movs r0, 0 - bl sub_800C27C -_080119B4: - ldr r0, =gUnknown_03007890 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0xFF - bne _080119DA - ldr r0, =gUnknown_03004140 - ldrb r0, [r0, 0x7] - cmp r0, 0 - bne _080119DA - ldr r0, =sub_800EB44 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080119DA - ldr r1, =gUnknown_03005000 - movs r0, 0x11 - strh r0, [r1, 0x4] -_080119DA: - movs r0, 0x2 - adds r1, r4, 0 - bl sub_8011A64 - b _08011A42 - .pool -_080119FC: - ldr r0, =gUnknown_03005000 - ldr r2, =0x00000ce3 - adds r0, r2 - b _08011A3E - .pool -_08011A0C: - movs r0, 0x1 - movs r1, 0xF3 - bl sub_8011A64 - movs r0, 0xF3 - bl sub_8011170 - ldr r0, =gUnknown_03005000 - adds r0, 0xEF - movs r1, 0x1 - b _08011A40 - .pool -_08011A28: - adds r0, r4, 0 - bl sub_8011170 - movs r0, 0x1 - adds r1, r4, 0 - bl sub_8011A64 - ldr r0, =gUnknown_03005000 - ldr r7, =0x00000cdb - adds r0, r7 - ldrb r1, [r0] -_08011A3E: - movs r1, 0 -_08011A40: - strb r1, [r0] -_08011A42: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8011674 - - thumb_func_start sub_8011A50 -sub_8011A50: @ 8011A50 - ldr r0, =gUnknown_03005000 - ldr r1, =0x00000ce4 - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] - bx lr - .pool - thumb_func_end sub_8011A50 - - thumb_func_start sub_8011A64 -sub_8011A64: @ 8011A64 - ldr r2, =gUnknown_03005000 - adds r3, r2, 0 - adds r3, 0xF1 - strb r0, [r3] - strh r1, [r2, 0xA] - bx lr - .pool - thumb_func_end sub_8011A64 - - thumb_func_start sub_8011A74 -sub_8011A74: @ 8011A74 - ldr r0, =gUnknown_03005000 - adds r0, 0xF1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8011A74 - - thumb_func_start sub_8011A80 -sub_8011A80: @ 8011A80 - push {lr} - bl sub_8011A74 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x1 - bls _08011A94 - movs r0, 0 - b _08011A96 -_08011A94: - movs r0, 0x1 -_08011A96: - pop {r1} - bx r1 - thumb_func_end sub_8011A80 - - thumb_func_start sub_8011A9C -sub_8011A9C: @ 8011A9C - ldr r0, =gUnknown_03005000 - ldr r1, =0x00000ce8 - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8011A9C - - thumb_func_start Rfu_IsMaster -Rfu_IsMaster: @ 8011AB0 - ldr r0, =gUnknown_03005000 - ldrb r0, [r0, 0xC] - bx lr - .pool - thumb_func_end Rfu_IsMaster - - thumb_func_start RfuVSync -RfuVSync: @ 8011ABC - push {lr} - bl rfu_syncVBlank_ - pop {r0} - bx r0 - thumb_func_end RfuVSync - - thumb_func_start sub_8011AC8 -sub_8011AC8: @ 8011AC8 - push {lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r1, =gRecvCmds - ldr r2, =0x05000014 - mov r0, sp - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8011AC8 - - thumb_func_start sub_8011AE8 -sub_8011AE8: @ 8011AE8 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8011AE8 - - thumb_func_start sub_8011AFC -sub_8011AFC: @ 8011AFC - push {r4,lr} - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - bl ResetPaletteFade - ldr r0, =sub_8011AE8 - bl SetVBlankCallback - bl IsWirelessAdapterConnected - lsls r0, 24 - cmp r0, 0 - beq _08011B70 - ldr r1, =gLinkType - ldr r2, =0x00001111 - adds r0, r2, 0 - strh r0, [r1] - bl sub_800B488 - bl OpenLink - ldr r0, =gMain - ldrh r0, [r0, 0x24] - bl SeedRng - movs r4, 0 -_08011B38: - bl Random - ldr r1, =gSaveBlock2Ptr - ldr r1, [r1] - adds r1, 0xA - adds r1, r4 - strb r0, [r1] - adds r4, 0x1 - cmp r4, 0x3 - ble _08011B38 - movs r1, 0xAA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - bl sub_8011BA4 - ldr r0, =sub_8011BF8 - bl SetMainCallback2 -_08011B70: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8011AFC - - thumb_func_start sub_8011B90 -sub_8011B90: @ 8011B90 - push {lr} - ldr r0, =sub_800EB44 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8011B90 - - thumb_func_start sub_8011BA4 -sub_8011BA4: @ 8011BA4 - push {r4,lr} - ldr r4, =nullsub_89 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08011BC2 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - ldr r1, =gUnknown_03005000 - adds r1, 0x66 - strb r0, [r1] -_08011BC2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8011BA4 - - thumb_func_start sub_8011BD0 -sub_8011BD0: @ 8011BD0 - push {lr} - ldr r0, =nullsub_89 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08011BEA - ldr r0, =gUnknown_03005000 - adds r0, 0x66 - ldrb r0, [r0] - bl DestroyTask -_08011BEA: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8011BD0 - - thumb_func_start sub_8011BF8 -sub_8011BF8: @ 8011BF8 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8011BF8 - - thumb_func_start sub_8011C10 -sub_8011C10: @ 8011C10 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r1, =gUnknown_03005000 - movs r0, 0x1 - strb r0, [r1, 0xC] - bl sub_8010F48 - ldr r0, =sub_801120C - movs r1, 0 - bl sub_800BF4C - ldr r2, =gUnknown_02022B2C - adds r1, r2, 0 - ldr r0, =gUnknown_082ED608 - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldr r0, =gUnknown_082ED620 - subs r4, 0x1 - adds r4, r0 - ldrb r0, [r4] - strh r0, [r2, 0x2] - bl sub_800EE78 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8011C10 - - thumb_func_start sub_8011C5C -sub_8011C5C: @ 8011C5C - push {lr} - ldr r1, =gUnknown_03005000 - movs r0, 0 - strb r0, [r1, 0xC] - bl sub_8010F48 - ldr r0, =sub_8011404 - ldr r1, =sub_800ED34 - bl sub_800BF4C - bl sub_800EF00 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8011C5C - - thumb_func_start sub_8011C84 -sub_8011C84: @ 8011C84 - push {r4-r7,lr} - ldr r4, =gUnknown_03005000 - movs r5, 0 - movs r0, 0x2 - strb r0, [r4, 0xC] - bl sub_8010F48 - ldr r0, =sub_8011674 - movs r1, 0 - bl sub_800BF4C - ldr r2, =gUnknown_02022B2C - adds r1, r2, 0 - ldr r0, =gUnknown_082ED608 - ldm r0!, {r3,r6,r7} - stm r1!, {r3,r6,r7} - ldm r0!, {r3,r6,r7} - stm r1!, {r3,r6,r7} - strb r5, [r2, 0x11] - movs r0, 0x96 - lsls r0, 2 - strh r0, [r2, 0x12] - ldr r0, =sub_800EB44 - movs r1, 0x1 - bl CreateTask - adds r4, 0x67 - strb r0, [r4] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8011C84 - - thumb_func_start sub_8011CD8 -sub_8011CD8: @ 8011CD8 - ldrb r1, [r0, 0x1] - lsls r1, 8 - ldrb r0, [r0] - orrs r0, r1 - bx lr - thumb_func_end sub_8011CD8 - - thumb_func_start sub_8011CE4 -sub_8011CE4: @ 8011CE4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - str r0, [sp] - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - movs r0, 0xFF - mov r9, r0 - movs r7, 0 - ldr r1, =gUnknown_03007890 - mov r8, r1 -_08011D02: - lsls r4, r7, 5 - adds r5, r4, 0 - adds r5, 0x14 - mov r1, r8 - ldr r0, [r1] - adds r0, r5 - adds r0, 0x8 - bl sub_8011CD8 - lsls r0, 16 - lsrs r6, r0, 16 - mov r1, r8 - ldr r0, [r1] - adds r0, r4 - ldrh r0, [r0, 0x18] - bl sub_8010454 - cmp r0, 0 - beq _08011D4C - mov r0, r8 - ldr r1, [r0] - adds r1, r5 - adds r1, 0x15 - ldr r0, [sp] - bl StringCompare - cmp r0, 0 - bne _08011D4C - cmp r10, r6 - bne _08011D4C - mov r9, r7 - mov r1, r8 - ldr r0, [r1] - adds r0, r4 - ldrb r0, [r0, 0x16] - cmp r0, 0xFF - bne _08011D56 -_08011D4C: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x3 - bls _08011D02 -_08011D56: - mov r0, r9 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8011CE4 - - thumb_func_start sub_8011D6C -sub_8011D6C: @ 8011D6C - push {r4-r6,lr} - adds r6, r0, 0 - lsls r0, r6, 24 - lsrs r0, 24 - bl rfu_REQ_disconnect - bl rfu_waitREQComplete - ldr r4, =gUnknown_03005000 - ldr r0, =0x00000ce2 - adds r5, r4, r0 - ldrb r0, [r5] - bics r0, r6 - strb r0, [r5] - ldr r1, =0x00000cda - adds r6, r4, r1 - ldrb r1, [r6] - movs r0, 0x1 - bl rfu_clearSlot - ldrb r0, [r5] - ldr r1, =0x00000c87 - adds r4, r1 - adds r1, r4, 0 - movs r2, 0x46 - bl rfu_UNI_setSendData - ldrb r0, [r5] - bl sub_800E87C - strb r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8011D6C - - thumb_func_start sub_8011DC0 -sub_8011DC0: @ 8011DC0 - push {lr} - lsls r1, 16 - lsrs r1, 16 - bl sub_8011CE4 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _08011DDA - movs r0, 0x1 - lsls r0, r1 - bl sub_8011D6C -_08011DDA: - pop {r0} - bx r0 - thumb_func_end sub_8011DC0 - - thumb_func_start sub_8011DE0 -sub_8011DE0: @ 8011DE0 - push {r4-r6,lr} - adds r4, r0, 0 - cmp r4, 0 - beq _08011E20 - movs r3, 0 - movs r2, 0 - ldr r5, =gUnknown_03005000+0xCDE - adds r6, r5, 0x4 -_08011DF0: - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, r4 - bne _08011E0E - ldrb r0, [r6] - asrs r0, r2 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08011E0E - adds r0, r1, 0 - lsls r0, r2 - orrs r3, r0 - lsls r0, r3, 24 - lsrs r3, r0, 24 -_08011E0E: - adds r2, 0x1 - cmp r2, 0x3 - ble _08011DF0 - cmp r3, 0 - beq _08011E20 - adds r0, r3, 0 - movs r1, 0x2 - bl sub_8011E94 -_08011E20: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8011DE0 - - thumb_func_start sub_8011E2C -sub_8011E2C: @ 8011E2C - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r6, =gSendCmd - ldrh r0, [r6] - cmp r0, 0 - bne _08011E7A - ldr r5, =gUnknown_03005000 - ldr r1, =0x00000ce8 - adds r0, r5, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08011E7A - movs r0, 0xED - lsls r0, 8 - bl sub_800FD14 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - strh r1, [r6, 0x2] - ldrh r1, [r0, 0xA] - strh r1, [r6, 0x4] - ldr r1, =gUnknown_082ED695 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r0, r1 - ldrb r1, [r5, 0xD] - ldrb r0, [r0] - subs r1, r0 - strb r1, [r5, 0xD] - ldrb r0, [r5, 0xD] - strh r0, [r6, 0x6] - adds r0, r4, 0 - bl DestroyTask -_08011E7A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8011E2C - - thumb_func_start sub_8011E94 -sub_8011E94: @ 8011E94 - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - ldr r5, =sub_8011E2C - adds r0, r5, 0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - bne _08011ECC - adds r0, r5, 0 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - strh r4, [r0, 0x8] - b _08011EDC - .pool -_08011ECC: - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - orrs r4, r0 - strh r4, [r1, 0x8] -_08011EDC: - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0xA] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8011E94 - - thumb_func_start sub_8011EF4 -sub_8011EF4: @ 8011EF4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - bl sub_800EE94 - lsls r0, 24 - cmp r0, 0 - beq _08011FA4 - adds r0, r4, 0 - adds r0, 0x10 - bl sub_8011CD8 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_8011CE4 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _08011F8C - ldr r0, =gUnknown_03007890 - ldr r0, [r0] - lsls r1, r2, 5 - adds r0, r1 - ldrb r0, [r0, 0x16] - cmp r0, 0xFF - beq _08011F5C - ldr r0, =gUnknown_03005000 - ldr r1, =0x00000c3d - adds r0, r1 - strb r2, [r0] - bl sub_800EEBC - cmp r0, 0 - beq _08011FAA - b _08011F84 - .pool -_08011F5C: - bl sub_800F7DC - ldrb r1, [r0, 0xA] - movs r5, 0x7F - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0x15 - beq _08011FA4 - bl sub_800F7DC - ldrb r1, [r0, 0xA] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0x16 - beq _08011FA4 - movs r1, 0xE0 - lsls r1, 7 - movs r0, 0x2 - bl sub_8011A64 -_08011F84: - adds r0, r6, 0 - bl DestroyTask - b _08011FAA -_08011F8C: - ldrh r0, [r4, 0x1E] - adds r0, 0x1 - strh r0, [r4, 0x1E] - ldr r0, =gUnknown_03005000 - ldr r1, =0x00000c3d - adds r0, r1 - strb r2, [r0] - b _08011FAA - .pool -_08011FA4: - ldrh r0, [r4, 0x1E] - adds r0, 0x1 - strh r0, [r4, 0x1E] -_08011FAA: - movs r1, 0x1E - ldrsh r0, [r4, r1] - cmp r0, 0xF0 - ble _08011FC2 - movs r1, 0xE0 - lsls r1, 7 - movs r0, 0x2 - bl sub_8011A64 - adds r0, r6, 0 - bl DestroyTask -_08011FC2: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8011EF4 - - thumb_func_start sub_8011FC8 -sub_8011FC8: @ 8011FC8 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r5, r1, 16 - lsrs r5, 16 - ldr r0, =gUnknown_03005000 - adds r0, 0xF1 - movs r1, 0 - strb r1, [r0] - ldr r0, =sub_8011EF4 - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - adds r0, r4, 0 - adds r1, r6, 0 - bl StringCopy - strh r5, [r4, 0x10] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8011FC8 - - thumb_func_start sub_801200C -sub_801200C: @ 801200C - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 16 - lsrs r5, r0, 16 - bl sub_800F7DC - ldrb r1, [r0, 0xA] - movs r2, 0x7F - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0x45 - bne _08012032 - ldrb r1, [r4, 0xA] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0x45 - beq _08012092 -_0801202E: - movs r0, 0x1 - b _08012094 -_08012032: - ldrb r1, [r4, 0xA] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0x40 - bne _0801202E - cmp r5, 0x44 - bne _08012092 - ldr r5, =gUnknown_03005000+0x10A - ldrh r0, [r5, 0x8] - ldr r3, =0x000003ff - adds r2, r3, 0 - ands r2, r0 - movs r0, 0xCE - lsls r0, 1 - cmp r2, r0 - bne _08012068 - ldrh r1, [r4, 0x8] - adds r0, r3, 0 - ands r0, r1 - cmp r0, r2 - beq _08012092 - b _0801202E - .pool -_08012068: - ldrh r1, [r4, 0x8] - adds r0, r3, 0 - ands r0, r1 - cmp r0, r2 - bne _0801202E - ldrb r2, [r4, 0xB] - movs r0, 0xFE - ldrb r3, [r5, 0xB] - adds r1, r0, 0 - ands r1, r2 - ands r0, r3 - cmp r1, r0 - bne _0801202E - ldrb r2, [r4, 0x9] - movs r0, 0xFC - ldrb r3, [r5, 0x9] - adds r1, r0, 0 - ands r1, r2 - ands r0, r3 - cmp r1, r0 - bne _0801202E -_08012092: - movs r0, 0 -_08012094: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_801200C - - thumb_func_start sub_801209C -sub_801209C: @ 801209C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - mov r8, r5 - ldr r6, =gUnknown_03005000 - adds r0, r6, 0 - adds r0, 0xF1 - ldrb r0, [r0] - cmp r0, 0x4 - bne _080120BA - adds r0, r5, 0 - bl DestroyTask -_080120BA: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - movs r1, 0x96 - lsls r1, 17 - cmp r0, r1 - ble _080120E4 - movs r1, 0xE0 - lsls r1, 7 - movs r0, 0x2 - bl sub_8011A64 - adds r0, r5, 0 - bl DestroyTask -_080120E4: - ldr r1, =0x00000ccd - adds r0, r6, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0801217C - ldr r0, =gUnknown_03004140 - ldrb r0, [r0, 0x6] - cmp r0, 0 - bne _0801217C - movs r2, 0x86 - lsls r2, 1 - adds r0, r6, r2 - bl sub_8011CD8 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r2, =0x00000119 - adds r0, r6, r2 - bl sub_8011CE4 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _0801217C - movs r1, 0xA - ldrsh r0, [r4, r1] - ldr r7, =gUnknown_03007890 - lsls r4, r2, 5 - adds r2, r4, 0 - adds r2, 0x14 - ldr r1, [r7] - adds r1, r2 - adds r1, 0x6 - bl sub_801200C - cmp r0, 0 - bne _0801216C - ldr r0, [r7] - adds r1, r0, r4 - ldrb r0, [r1, 0x16] - cmp r0, 0xFF - beq _0801217C - ldrh r0, [r1, 0x14] - movs r1, 0x5A - bl sub_800C12C - lsls r0, 24 - cmp r0, 0 - bne _0801217C - movs r0, 0xA - strh r0, [r6, 0x4] - adds r0, r5, 0 - bl DestroyTask - b _0801217C - .pool -_0801216C: - movs r1, 0xE0 - lsls r1, 7 - movs r0, 0x2 - bl sub_8011A64 - mov r0, r8 - bl DestroyTask -_0801217C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_801209C - - thumb_func_start sub_8012188 -sub_8012188: @ 8012188 - push {r4-r7,lr} - adds r3, r0, 0 - adds r5, r1, 0 - lsls r4, r2, 24 - lsrs r4, 24 - ldr r6, =gUnknown_03005000 - ldr r1, =0x00000ccf - adds r0, r6, r1 - movs r7, 0 - strb r7, [r0] - adds r0, r6, 0 - adds r0, 0xF1 - strb r7, [r0] - ldr r1, =0x00000119 - adds r0, r6, r1 - adds r1, r3, 0 - bl StringCopy - movs r1, 0x85 - lsls r1, 1 - adds r0, r6, r1 - adds r1, r5, 0 - movs r2, 0xD - bl memcpy - bl sub_800D658 - ldr r0, =sub_801209C - movs r1, 0x2 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r5 - strh r4, [r1, 0xA] - ldr r0, =sub_800EB44 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - adds r2, r1, 0 - cmp r4, 0x45 - bne _08012210 - cmp r1, 0xFF - beq _0801221E - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r1, 0x1 - strh r1, [r0, 0x16] - b _0801221E - .pool -_08012210: - cmp r2, 0xFF - beq _0801221E - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r5 - strh r7, [r0, 0x16] -_0801221E: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8012188 - - thumb_func_start sub_8012224 -sub_8012224: @ 8012224 - push {lr} - ldr r0, =gUnknown_03005000 - adds r0, 0xF0 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08012238 - movs r0, 0 - b _0801223A - .pool -_08012238: - movs r0, 0x1 -_0801223A: - pop {r1} - bx r1 - thumb_func_end sub_8012224 - - thumb_func_start sub_8012240 -sub_8012240: @ 8012240 - push {r4,lr} - movs r1, 0 - ldr r0, =gUnknown_03004140 - ldrb r2, [r0] - ldr r4, =gUnknown_03005000+0xCD1 - movs r3, 0x1 -_0801224C: - adds r0, r2, 0 - asrs r0, r1 - ands r0, r3 - cmp r0, 0 - beq _0801226C - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _0801226C - movs r0, 0 - b _08012274 - .pool -_0801226C: - adds r1, 0x1 - cmp r1, 0x3 - ble _0801224C - movs r0, 0x1 -_08012274: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8012240 - - thumb_func_start sub_801227C -sub_801227C: @ 801227C - push {r4,lr} - movs r4, 0 -_08012280: - lsls r2, r4, 24 - lsrs r2, 24 - ldr r0, =gUnknown_082ED82C - movs r1, 0 - bl nullsub_5 - adds r4, 0x1 - cmp r4, 0x13 - ble _08012280 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_801227C - - thumb_func_start sub_801229C -sub_801229C: @ 801229C - push {r4-r7,lr} - mov r7, r8 - push {r7} - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1C - movs r2, 0x13 - movs r3, 0x2 - bl nullsub_13 - ldr r4, =gUnknown_03007890 - ldr r0, [r4] - ldrb r0, [r0, 0x2] - movs r1, 0x14 - movs r2, 0x1 - movs r3, 0x1 - bl nullsub_13 - ldr r0, [r4] - ldrb r0, [r0, 0x3] - movs r1, 0x17 - movs r2, 0x1 - movs r3, 0x1 - bl nullsub_13 - ldr r0, =gUnknown_03005000 - ldrb r0, [r0, 0xC] - cmp r0, 0x1 - bne _08012378 - movs r6, 0 - adds r7, r4, 0 - movs r5, 0x14 -_080122E0: - ldr r2, [r7] - ldrb r0, [r2, 0x7] - asrs r0, r6 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0801231E - lsls r0, r6, 5 - adds r0, r2, r0 - ldrh r0, [r0, 0x18] - adds r4, r6, 0x3 - lsls r4, 24 - lsrs r4, 24 - adds r2, r4, 0 - movs r3, 0x4 - bl nullsub_13 - ldr r0, [r7] - adds r0, r5 - adds r0, 0x6 - movs r1, 0x6 - adds r2, r4, 0 - bl nullsub_5 - ldr r0, [r7] - adds r0, r5 - adds r0, 0x15 - movs r1, 0x16 - adds r2, r4, 0 - bl nullsub_5 -_0801231E: - adds r5, 0x20 - adds r6, 0x1 - cmp r6, 0x3 - ble _080122E0 - movs r6, 0 - ldr r0, =gUnknown_03005000 - mov r8, r0 -_0801232C: - movs r5, 0 - adds r7, r6, 0x1 - lsls r0, r6, 3 - adds r2, r6, 0 - adds r2, 0xB - subs r0, r6 - lsls r0, 1 - mov r1, r8 - adds r1, 0x14 - adds r4, r0, r1 - lsls r6, r2, 24 -_08012342: - ldrb r0, [r4] - lsls r1, r5, 25 - lsrs r1, 24 - lsrs r2, r6, 24 - movs r3, 0x2 - bl nullsub_13 - adds r4, 0x1 - adds r5, 0x1 - cmp r5, 0xD - ble _08012342 - adds r6, r7, 0 - cmp r6, 0x3 - ble _0801232C - ldr r0, =gUnknown_082ED868 - movs r1, 0x1 - movs r2, 0xF - bl nullsub_5 - b _080124AA - .pool -_08012378: - ldr r1, [r4] - ldrb r0, [r1, 0x2] - cmp r0, 0 - beq _08012414 - ldrb r0, [r1, 0x7] - cmp r0, 0 - beq _08012414 - movs r6, 0 - movs r5, 0xC0 - lsls r5, 18 -_0801238C: - lsrs r4, r5, 24 - movs r0, 0 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x4 - bl nullsub_13 - ldr r0, =gUnknown_082ED84B - movs r1, 0x6 - adds r2, r4, 0 - bl nullsub_5 - ldr r0, =gUnknown_082ED85B - movs r1, 0x16 - adds r2, r4, 0 - bl nullsub_5 - movs r1, 0x80 - lsls r1, 17 - adds r5, r1 - adds r6, 0x1 - cmp r6, 0x3 - ble _0801238C - ldr r5, =gUnknown_03007890 - ldr r1, [r5] - ldr r4, =gUnknown_03005000 - ldr r0, =0x00000c3e - adds r4, r0 - ldrb r0, [r4] - lsls r0, 5 - adds r1, r0 - ldrh r0, [r1, 0x18] - movs r1, 0x1 - movs r2, 0x3 - movs r3, 0x4 - bl nullsub_13 - ldrb r1, [r4] - lsls r1, 5 - adds r1, 0x14 - ldr r0, [r5] - adds r0, r1 - adds r0, 0x6 - movs r1, 0x6 - movs r2, 0x3 - bl nullsub_5 - ldrb r1, [r4] - lsls r1, 5 - adds r1, 0x14 - ldr r0, [r5] - adds r0, r1 - adds r0, 0x15 - movs r1, 0x16 - movs r2, 0x3 - bl nullsub_5 - b _080124AA - .pool -_08012414: - movs r6, 0 - ldr r1, =gUnknown_03007890 - ldr r0, [r1] - ldrb r0, [r0, 0x8] - cmp r6, r0 - bge _08012470 - adds r7, r1, 0 - movs r1, 0x14 - mov r8, r1 -_08012426: - ldr r0, [r7] - lsls r5, r6, 5 - adds r1, r0, r5 - ldrb r0, [r1, 0x16] - cmp r0, 0xFF - beq _08012462 - ldrh r0, [r1, 0x18] - adds r4, r6, 0x3 - lsls r4, 24 - lsrs r4, 24 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x4 - bl nullsub_13 - ldr r0, [r7] - adds r0, r5 - ldrh r0, [r0, 0x14] - movs r1, 0x6 - adds r2, r4, 0 - movs r3, 0x4 - bl nullsub_13 - ldr r0, [r7] - add r0, r8 - adds r0, 0x15 - movs r1, 0x16 - adds r2, r4, 0 - bl nullsub_5 -_08012462: - movs r0, 0x20 - add r8, r0 - adds r6, 0x1 - ldr r0, [r7] - ldrb r0, [r0, 0x8] - cmp r6, r0 - blt _08012426 -_08012470: - cmp r6, 0x3 - bgt _080124AA - lsls r0, r6, 24 - movs r1, 0xC0 - lsls r1, 18 - adds r5, r0, r1 -_0801247C: - lsrs r4, r5, 24 - movs r0, 0 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x4 - bl nullsub_13 - ldr r0, =gUnknown_082ED84B - movs r1, 0x6 - adds r2, r4, 0 - bl nullsub_5 - ldr r0, =gUnknown_082ED85B - movs r1, 0x16 - adds r2, r4, 0 - bl nullsub_5 - movs r0, 0x80 - lsls r0, 17 - adds r5, r0 - adds r6, 0x1 - cmp r6, 0x3 - ble _0801247C -_080124AA: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_801229C - - thumb_func_start sub_80124C0 -sub_80124C0: @ 80124C0 - ldr r0, =gUnknown_03005000 - ldr r1, =0x00000c1a - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_80124C0 - - thumb_func_start sub_80124D4 -sub_80124D4: @ 80124D4 - ldr r0, =gUnknown_03005000 - ldr r1, =0x000009e6 - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_80124D4 - - .align 2, 0 @ don't pad with nop diff --git a/asm/macros/battle_ai_script.inc b/asm/macros/battle_ai_script.inc index 28f60be46..4c7646d6f 100644 --- a/asm/macros/battle_ai_script.inc +++ b/asm/macros/battle_ai_script.inc @@ -1,206 +1,206 @@ - .macro if_random_less_than param0, param1 + .macro if_random_less_than param0:req, param1:req .byte 0x0 .byte \param0 .4byte \param1 .endm - .macro if_random_greater_than param0, param1 + .macro if_random_greater_than param0:req, param1:req .byte 0x1 .byte \param0 .4byte \param1 .endm - .macro if_random_equal param0, param1 + .macro if_random_equal param0:req, param1:req .byte 0x2 .byte \param0 .4byte \param1 .endm - .macro if_random_not_equal param0, param1 + .macro if_random_not_equal param0:req, param1:req .byte 0x3 .byte \param0 .4byte \param1 .endm - .macro score param0 + .macro score param0:req .byte 0x4 .byte \param0 .endm - .macro if_hp_less_than battler, param1, param2 + .macro if_hp_less_than battler:req, param1:req, param2:req .byte 0x5 .byte \battler .byte \param1 .4byte \param2 .endm - .macro if_hp_more_than battler, param1, param2 + .macro if_hp_more_than battler:req, param1:req, param2:req .byte 0x6 .byte \battler .byte \param1 .4byte \param2 .endm - .macro if_hp_equal battler, param1, param2 + .macro if_hp_equal battler:req, param1:req, param2:req .byte 0x7 .byte \battler .byte \param1 .4byte \param2 .endm - .macro if_hp_not_equal battler, param1, param2 + .macro if_hp_not_equal battler:req, param1:req, param2:req .byte 0x8 .byte \battler .byte \param1 .4byte \param2 .endm - .macro if_status battler, status1, param2 + .macro if_status battler:req, status1:req, param2:req .byte 0x9 .byte \battler .4byte \status1 .4byte \param2 .endm - .macro if_not_status battler, status1, param2 + .macro if_not_status battler:req, status1:req, param2:req .byte 0xa .byte \battler .4byte \status1 .4byte \param2 .endm - .macro if_status2 battler, status2, param2 + .macro if_status2 battler:req, status2:req, param2:req .byte 0xb .byte \battler .4byte \status2 .4byte \param2 .endm - .macro if_not_status2 battler, status2, param2 + .macro if_not_status2 battler:req, status2:req, param2:req .byte 0xc .byte \battler .4byte \status2 .4byte \param2 .endm - .macro if_status3 battler, status3, param2 + .macro if_status3 battler:req, status3:req, param2:req .byte 0xd .byte \battler .4byte \status3 .4byte \param2 .endm - .macro if_not_status3 battler, status3, param2 + .macro if_not_status3 battler:req, status3:req, param2:req .byte 0xe .byte \battler .4byte \status3 .4byte \param2 .endm - .macro if_side_affecting battler, sidestatus, param2 + .macro if_side_affecting battler:req, sidestatus:req, param2:req .byte 0xf .byte \battler .4byte \sidestatus .4byte \param2 .endm - .macro if_not_side_affecting battler, sidestatus, param2 + .macro if_not_side_affecting battler:req, sidestatus:req, param2:req .byte 0x10 .byte \battler .4byte \sidestatus .4byte \param2 .endm - .macro if_less_than param0, param1 + .macro if_less_than param0:req, param1:req .byte 0x11 .byte \param0 .4byte \param1 .endm - .macro if_more_than param0, param1 + .macro if_more_than param0:req, param1:req .byte 0x12 .byte \param0 .4byte \param1 .endm - .macro if_equal param0, param1 + .macro if_equal param0:req, param1:req .byte 0x13 .byte \param0 .4byte \param1 .endm - .macro if_not_equal param0, param1 + .macro if_not_equal param0:req, param1:req .byte 0x14 .byte \param0 .4byte \param1 .endm - .macro if_less_than_ptr param0, param1 + .macro if_less_than_ptr param0:req, param1:req .byte 0x15 .4byte \param0 .4byte \param1 .endm - .macro if_more_than_ptr param0, param1 + .macro if_more_than_ptr param0:req, param1:req .byte 0x16 .4byte \param0 .4byte \param1 .endm - .macro if_equal_ptr param0, param1 + .macro if_equal_ptr param0:req, param1:req .byte 0x17 .4byte \param0 .4byte \param1 .endm - .macro if_not_equal_ptr param0, param1 + .macro if_not_equal_ptr param0:req, param1:req .byte 0x18 .4byte \param0 .4byte \param1 .endm - .macro if_move param0, param1 + .macro if_move param0:req, param1:req .byte 0x19 .2byte \param0 .4byte \param1 .endm - .macro if_not_move param0, param1 + .macro if_not_move param0:req, param1:req .byte 0x1a .2byte \param0 .4byte \param1 .endm - .macro if_in_bytes param0, param1 + .macro if_in_bytes param0:req, param1:req .byte 0x1b .4byte \param0 .4byte \param1 .endm - .macro if_not_in_bytes param0, param1 + .macro if_not_in_bytes param0:req, param1:req .byte 0x1c .4byte \param0 .4byte \param1 .endm - .macro if_in_hwords param0, param1 + .macro if_in_hwords param0:req, param1:req .byte 0x1d .4byte \param0 .4byte \param1 .endm - .macro if_not_in_hwords param0, param1 + .macro if_not_in_hwords param0:req, param1:req .byte 0x1e .4byte \param0 .4byte \param1 .endm - .macro if_user_has_attacking_move param0 + .macro if_user_has_attacking_move param0:req .byte 0x1f .4byte \param0 .endm - .macro if_user_has_no_attacking_moves param0 + .macro if_user_has_no_attacking_moves param0:req .byte 0x20 .4byte \param0 .endm @@ -209,7 +209,7 @@ .byte 0x21 .endm - .macro get_type param0 + .macro get_type param0:req .byte 0x22 .byte \param0 .endm @@ -222,30 +222,30 @@ .byte 0x24 .endm - .macro get_last_used_bank_move battler + .macro get_last_used_bank_move battler:req .byte 0x25 .byte \battler .endm - .macro if_equal_ param0, param1 + .macro if_equal_ param0:req, param1:req .byte 0x26 .byte \param0 .4byte \param1 .endm - .macro if_not_equal_ param0, param1 + .macro if_not_equal_ param0:req, param1:req .byte 0x27 .byte \param0 .4byte \param1 .endm - .macro if_user_goes param0, param1 + .macro if_user_goes param0:req, param1:req .byte 0x28 .byte \param0 .4byte \param1 .endm - .macro if_user_doesnt_go param0, param1 + .macro if_user_doesnt_go param0:req, param1:req .byte 0x29 .byte \param0 .4byte \param1 @@ -259,7 +259,7 @@ .byte 0x2b .endm - .macro count_usable_party_mons battler + .macro count_usable_party_mons battler:req .byte 0x2c .byte \battler .endm @@ -272,7 +272,7 @@ .byte 0x2e .endm - .macro get_ability battler + .macro get_ability battler:req .byte 0x2f .byte \battler .endm @@ -281,7 +281,7 @@ .byte 0x30 .endm - .macro if_type_effectiveness param0, param1 + .macro if_type_effectiveness param0:req, param1:req .byte 0x31 .byte \param0 .4byte \param1 @@ -295,14 +295,14 @@ .byte 0x33 .endm - .macro if_status_in_party battler, status1, param2 + .macro if_status_in_party battler:req, status1:req, param2:req .byte 0x34 .byte \battler .4byte \status1 .4byte \param2 .endm - .macro if_status_not_in_party battler, status1, param2 + .macro if_status_not_in_party battler:req, status1:req, param2:req .byte 0x35 .byte \battler .4byte \status1 @@ -313,19 +313,19 @@ .byte 0x36 .endm - .macro if_effect param0, param1 + .macro if_effect param0:req, param1:req .byte 0x37 .byte \param0 .4byte \param1 .endm - .macro if_not_effect param0, param1 + .macro if_not_effect param0:req, param1:req .byte 0x38 .byte \param0 .4byte \param1 .endm - .macro if_stat_level_less_than battler, stat, param2, param3 + .macro if_stat_level_less_than battler:req, stat:req, param2:req, param3:req .byte 0x39 .byte \battler .byte \stat @@ -333,7 +333,7 @@ .4byte \param3 .endm - .macro if_stat_level_more_than battler, stat, param2, param3 + .macro if_stat_level_more_than battler:req, stat:req, param2:req, param3:req .byte 0x3a .byte \battler .byte \stat @@ -341,7 +341,7 @@ .4byte \param3 .endm - .macro if_stat_level_equal battler, stat, param2, param3 + .macro if_stat_level_equal battler:req, stat:req, param2:req, param3:req .byte 0x3b .byte \battler .byte \stat @@ -349,7 +349,7 @@ .4byte \param3 .endm - .macro if_stat_level_not_equal battler, stat, param2, param3 + .macro if_stat_level_not_equal battler:req, stat:req, param2:req, param3:req .byte 0x3c .byte \battler .byte \stat @@ -357,52 +357,52 @@ .4byte \param3 .endm - .macro if_can_faint param0 + .macro if_can_faint param0:req .byte 0x3d .4byte \param0 .endm - .macro if_cant_faint param0 + .macro if_cant_faint param0:req .byte 0x3e .4byte \param0 .endm - .macro if_has_move battler, param1, param2 + .macro if_has_move battler:req, param1:req, param2:req .byte 0x3f .byte \battler .2byte \param1 .4byte \param2 .endm - .macro if_doesnt_have_move battler, param1, param2 + .macro if_doesnt_have_move battler:req, param1:req, param2:req .byte 0x40 .byte \battler .2byte \param1 .4byte \param2 .endm - .macro if_has_move_with_effect battler, param1, param2 + .macro if_has_move_with_effect battler:req, param1:req, param2:req .byte 0x41 .byte \battler .byte \param1 .4byte \param2 .endm - .macro if_doesnt_have_move_with_effect battler, param1, param2 + .macro if_doesnt_have_move_with_effect battler:req, param1:req, param2:req .byte 0x42 .byte \battler .byte \param1 .4byte \param2 .endm - .macro if_any_move_disabled_or_encored battler, param1, param2 + .macro if_any_move_disabled_or_encored battler:req, param1:req, param2:req .byte 0x43 .byte \battler .byte \param1 .4byte \param2 .endm - .macro if_curr_move_disabled_or_encored param0, param1 + .macro if_curr_move_disabled_or_encored param0:req, param1:req .byte 0x44 .byte \param0 .4byte \param1 @@ -412,7 +412,7 @@ .byte 0x45 .endm - .macro if_random_safari_flee param0 + .macro if_random_safari_flee param0:req .byte 0x46 .4byte \param0 .endm @@ -421,22 +421,22 @@ .byte 0x47 .endm - .macro get_hold_effect battler + .macro get_hold_effect battler:req .byte 0x48 .byte \battler .endm - .macro get_gender battler + .macro get_gender battler:req .byte 0x49 .byte \battler .endm - .macro is_first_turn_for battler + .macro is_first_turn_for battler:req .byte 0x4a .byte \battler .endm - .macro get_stockpile_count battler + .macro get_stockpile_count battler:req .byte 0x4b .byte \battler .endm @@ -445,7 +445,7 @@ .byte 0x4c .endm - .macro get_used_held_item battler + .macro get_used_held_item battler:req .byte 0x4d .byte \battler .endm @@ -462,7 +462,7 @@ .byte 0x50 .endm - .macro get_protect_count battler + .macro get_protect_count battler:req .byte 0x51 .byte \battler .endm @@ -491,12 +491,12 @@ .byte 0x57 .endm - .macro call param0 + .macro call param0:req .byte 0x58 .4byte \param0 .endm - .macro goto param0 + .macro goto param0:req .byte 0x59 .4byte \param0 .endm @@ -505,46 +505,46 @@ .byte 0x5a .endm - .macro if_level_cond param0, param1 + .macro if_level_cond param0:req, param1:req .byte 0x5b .byte \param0 .4byte \param1 .endm - .macro if_target_taunted param0 + .macro if_target_taunted param0:req .byte 0x5c .4byte \param0 .endm - .macro if_target_not_taunted param0 + .macro if_target_not_taunted param0:req .byte 0x5d .4byte \param0 .endm - .macro if_target_is_ally param0 + .macro if_target_is_ally param0:req .byte 0x5e .4byte \param0 .endm - .macro is_of_type battler, type + .macro is_of_type battler:req, type:req .byte 0x5f .byte \battler .byte \type .endm - .macro check_ability battler, ability + .macro check_ability battler:req, ability:req .byte 0x60 .byte \battler .byte \ability .endm - .macro if_flash_fired battler, param1 + .macro if_flash_fired battler:req, param1:req .byte 0x61 .byte \battler .4byte \param1 .endm - .macro if_holds_item battler, param1, param2 + .macro if_holds_item battler:req, param1:req, param2:req .byte 0x62 .byte \battler .2byte \param1 @@ -572,48 +572,48 @@ get_type AI_TYPE2_TARGET .endm - .macro if_ability battler, ability, ptr + .macro if_ability battler:req, ability:req, ptr:req check_ability \battler, \ability if_equal 1, \ptr .endm - .macro if_no_ability battler, ability, ptr + .macro if_no_ability battler:req, ability:req, ptr:req check_ability \battler, \ability if_equal 0, \ptr .endm - .macro if_type battler, type, ptr + .macro if_type battler:req, type:req, ptr:req is_of_type \battler, \type if_equal 1, \ptr .endm - .macro if_no_type battler, type, ptr + .macro if_no_type battler:req, type:req, ptr:req is_of_type \battler, \type if_equal 0, \ptr .endm - .macro if_target_faster ptr + .macro if_target_faster ptr:req if_user_goes 1, \ptr .endm - .macro if_user_faster ptr + .macro if_user_faster ptr:req if_user_goes 0, \ptr .endm - .macro if_double_battle ptr + .macro if_double_battle ptr:req is_double_battle if_equal 1, \ptr .endm - .macro if_not_double_battle ptr + .macro if_not_double_battle ptr:req is_double_battle if_equal 0, \ptr .endm - .macro if_any_move_disabled battler, ptr + .macro if_any_move_disabled battler:req, ptr:req if_any_move_disabled_or_encored \battler, 0, \ptr .endm - .macro if_any_move_encored battler, ptr + .macro if_any_move_encored battler:req, ptr:req if_any_move_disabled_or_encored \battler, 1, \ptr .endm diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc index ab27bc23d..6ccd8d505 100644 --- a/asm/macros/battle_anim_script.inc +++ b/asm/macros/battle_anim_script.inc @@ -1,16 +1,16 @@ @ commands - .macro loadspritegfx param0 + .macro loadspritegfx tag:req .byte 0x0 - .2byte \param0 + .2byte \tag .endm - .macro unloadspritegfx param0 + .macro unloadspritegfx tag:req .byte 0x1 - .2byte \param0 + .2byte \tag .endm -.macro createsprite template, anim_battler, subpriority_offset, argv:vararg +.macro createsprite template:req, anim_battler:req, subpriority_offset:req, argv:vararg .byte 0x02 .4byte \template .if \anim_battler == ANIM_TARGET @@ -24,7 +24,7 @@ .Lsprite_\@_2: .endm - .macro createvisualtask addr, priority, argv:vararg + .macro createvisualtask addr:req, priority:req, argv:vararg .byte 0x03 .4byte \addr .byte \priority @@ -34,7 +34,7 @@ .Lcreatetask_\@_2: .endm - .macro delay param0 + .macro delay param0:req .byte 0x4 .byte \param0 .endm @@ -55,22 +55,22 @@ .byte 0x8 .endm - .macro playse param0 + .macro playse se:req .byte 0x9 - .2byte \param0 + .2byte \se .endm - .macro monbg battler + .macro monbg battler:req .byte 0xa .byte \battler .endm - .macro clearmonbg battler + .macro clearmonbg battler:req .byte 0xb .byte \battler .endm - .macro setalpha eva, evb + .macro setalpha eva:req, evb:req .byte 0x0C .2byte ((\evb) << 8) | (\eva) .endm @@ -79,7 +79,7 @@ .byte 0xd .endm - .macro call param0 + .macro call param0:req .byte 0xe .4byte \param0 .endm @@ -88,32 +88,32 @@ .byte 0xf .endm - .macro setarg param0, param1 + .macro setarg param0:req, param1:req .byte 0x10 .byte \param0 .2byte \param1 .endm - .macro choosetwoturnanim param0, param1 + .macro choosetwoturnanim param0:req, param1:req .byte 0x11 .4byte \param0 .4byte \param1 .endm - .macro jumpifmoveturn param0, param1 + .macro jumpifmoveturn param0:req, ptr:req .byte 0x12 .byte \param0 - .4byte \param1 + .4byte \ptr .endm - .macro goto param0 + .macro goto ptr:req .byte 0x13 - .4byte \param0 + .4byte \ptr .endm - .macro fadetobg param0 + .macro fadetobg bg:req .byte 0x14 - .byte \param0 + .byte \bg .endm .macro restorebg @@ -128,52 +128,52 @@ .byte 0x17 .endm - .macro changebg param0 + .macro changebg bg:req .byte 0x18 - .byte \param0 + .byte \bg .endm - .macro playsewithpan param0, param1 + .macro playsewithpan se:req, pan:req .byte 0x19 - .2byte \param0 - .byte \param1 + .2byte \se + .byte \pan .endm - .macro setpan param0 + .macro setpan pan:req .byte 0x1a - .byte \param0 + .byte \pan .endm - .macro panse_1B param0, param1, param2, param3, param4 + .macro panse_1B se:req, param1:req, param2:req, param3:req, param4 .byte 0x1b - .2byte \param0 + .2byte \se .byte \param1 .byte \param2 .byte \param3 .byte \param4 .endm - .macro loopsewithpan param0, param1, param2, param3 + .macro loopsewithpan se:req, param1:req, param2:req, param3:req .byte 0x1c - .2byte \param0 + .2byte \se .byte \param1 .byte \param2 .byte \param3 .endm - .macro waitplaysewithpan param0, param1, param2 + .macro waitplaysewithpan se:req, param1:req, param2:req .byte 0x1d - .2byte \param0 + .2byte \se .byte \param1 .byte \param2 .endm - .macro setbldcnt param0 + .macro setbldcnt param0:req .byte 0x1e .2byte \param0 .endm - .macro createsoundtask addr, argv:vararg + .macro createsoundtask addr:req, argv:vararg .byte 0x1F .4byte \addr .byte (.Lcreatetask_1F_\@_2 - .Lcreatetask_1F_\@_1) / 2 @@ -186,54 +186,54 @@ .byte 0x20 .endm - .macro jumpargeq param0, param1, param2 + .macro jumpargeq param0:req, param1:req, ptr:req .byte 0x21 .byte \param0 .2byte \param1 - .4byte \param2 + .4byte \ptr .endm - .macro monbg_22 battler + .macro monbg_22 battler:req .byte 0x22 .byte \battler .endm - .macro clearmonbg_23 battler + .macro clearmonbg_23 battler:req .byte 0x23 .byte \battler .endm - .macro jumpifcontest param0 + .macro jumpifcontest ptr:req .byte 0x24 - .4byte \param0 + .4byte \ptr .endm - .macro fadetobgfromset param0, param1, param2 + .macro fadetobgfromset param0:req, param1:req, param2:req .byte 0x25 .byte \param0 .byte \param1 .byte \param2 .endm - .macro panse_26 param0, param1, param2, param3, param4 + .macro panse_26 se:req, param1:req, param2:req, param3:req, param4 .byte 0x26 - .2byte \param0 + .2byte \se .byte \param1 .byte \param2 .byte \param3 .byte \param4 .endm - .macro panse_27 param0, param1, param2, param3, param4 + .macro panse_27 se:req, param1:req, param2:req, param3:req, param4 .byte 0x27 - .2byte \param0 + .2byte \se .byte \param1 .byte \param2 .byte \param3 .byte \param4 .endm - .macro monbgprio_28 battler + .macro monbgprio_28 battler:req .byte 0x28 .byte \battler .endm @@ -242,27 +242,27 @@ .byte 0x29 .endm - .macro monbgprio_2A battler + .macro monbgprio_2A battler:req .byte 0x2a .byte \battler .endm - .macro invisible battler + .macro invisible battler:req .byte 0x2b .byte \battler .endm - .macro visible battler + .macro visible battler:req .byte 0x2c .byte \battler .endm - .macro doublebattle_2D battler + .macro doublebattle_2D battler:req .byte 0x2d .byte \battler .endm - .macro doublebattle_2E battler + .macro doublebattle_2E battler:req .byte 0x2e .byte \battler .endm @@ -272,14 +272,14 @@ .endm @ useful macros - .macro jumpreteq value, ptr + .macro jumpreteq value:req, ptr:req jumpargeq ARG_RET_ID, \value, \ptr .endm - .macro jumprettrue ptr + .macro jumprettrue ptr:req jumpreteq TRUE, \ptr .endm - .macro jumpretfalse ptr + .macro jumpretfalse ptr:req jumpreteq FALSE, \ptr .endm diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 8ab0f3ce5..6b0e285b6 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -3,7 +3,7 @@ .byte 0x0 .endm - .macro accuracycheck param0, param1 + .macro accuracycheck param0:req, param1:req .byte 0x1 .4byte \param0 .2byte \param1 @@ -45,12 +45,12 @@ .byte 0xa .endm - .macro healthbarupdate battler + .macro healthbarupdate battler:req .byte 0xb .byte \battler .endm - .macro datahpupdate battler + .macro datahpupdate battler:req .byte 0xc .byte \battler .endm @@ -67,29 +67,29 @@ .byte 0xf .endm - .macro printstring param0 + .macro printstring id:req .byte 0x10 - .2byte \param0 + .2byte \id .endm - .macro printselectionstring param0 + .macro printselectionstring id:req .byte 0x11 - .2byte \param0 + .2byte \id .endm - .macro waitmessage param0 + .macro waitmessage param0:req .byte 0x12 .2byte \param0 .endm - .macro printfromtable param0 + .macro printfromtable ptr:req .byte 0x13 - .4byte \param0 + .4byte \ptr .endm - .macro printselectionstringfromtable param0 + .macro printselectionstringfromtable ptr:req .byte 0x14 - .4byte \param0 + .4byte \ptr .endm .macro seteffectwithchance @@ -104,110 +104,110 @@ .byte 0x17 .endm - .macro clearstatusfromeffect battler + .macro clearstatusfromeffect battler:req .byte 0x18 .byte \battler .endm - .macro tryfaintmon battler, param1, param2 + .macro tryfaintmon battler:req, param1:req, ptr:req .byte 0x19 .byte \battler .byte \param1 - .4byte \param2 + .4byte \ptr .endm - .macro dofaintanimation battler + .macro dofaintanimation battler:req .byte 0x1a .byte \battler .endm - .macro cleareffectsonfaint battler + .macro cleareffectsonfaint battler:req .byte 0x1b .byte \battler .endm - .macro jumpifstatus battler, status1, param2 + .macro jumpifstatus battler:req, status1:req, ptr:req .byte 0x1c .byte \battler .4byte \status1 - .4byte \param2 + .4byte \ptr .endm - .macro jumpifstatus2 battler, status2, param2 + .macro jumpifstatus2 battler:req, status2:req, ptr:req .byte 0x1d .byte \battler .4byte \status2 - .4byte \param2 + .4byte \ptr .endm - .macro jumpifability param0, ability, param2 + .macro jumpifability param0:req, ability:req, ptr:req .byte 0x1e .byte \param0 .byte \ability - .4byte \param2 + .4byte \ptr .endm - .macro jumpifsideaffecting battler, sidestatus, param2 + .macro jumpifsideaffecting battler:req, sidestatus:req, ptr:req .byte 0x1f .byte \battler .2byte \sidestatus - .4byte \param2 + .4byte \ptr .endm - .macro jumpifstat battler, ifflag, stat, param3, param4 + .macro jumpifstat battler:req, ifflag:req, stat:req, value:req, ptr .byte 0x20 .byte \battler .byte \ifflag .byte \stat - .byte \param3 - .4byte \param4 + .byte \value + .4byte \ptr .endm - .macro jumpifstatus3condition battler, status3, param2, param3 + .macro jumpifstatus3condition battler:req, status3:req, param2:req, ptr:req .byte 0x21 .byte \battler .4byte \status3 .byte \param2 - .4byte \param3 + .4byte \ptr .endm - .macro jumpiftype battler, type, param2 + .macro jumpiftype battler:req, type:req, ptr:req .byte 0x22 .byte \battler .byte \type - .4byte \param2 + .4byte \ptr .endm - .macro getexp battler + .macro getexp battler:req .byte 0x23 .byte \battler .endm - .macro atk24 param0 + .macro atk24 ptr:req .byte 0x24 - .4byte \param0 + .4byte \ptr .endm .macro movevaluescleanup .byte 0x25 .endm - .macro setmultihit param0 + .macro setmultihit value:req .byte 0x26 - .byte \param0 + .byte \value .endm - .macro decrementmultihit param0 + .macro decrementmultihit value:req .byte 0x27 - .4byte \param0 + .4byte \value .endm - .macro goto param0 + .macro goto ptr:req .byte 0x28 - .4byte \param0 + .4byte \ptr .endm - .macro jumpifbyte ifflag, param1, param2, param3 + .macro jumpifbyte ifflag:req, param1:req, param2:req, param3:req .byte 0x29 .byte \ifflag .4byte \param1 @@ -215,7 +215,7 @@ .4byte \param3 .endm - .macro jumpifhalfword ifflag, param1, param2, param3 + .macro jumpifhalfword ifflag:req, param1:req, param2:req, param3:req .byte 0x2a .byte \ifflag .4byte \param1 @@ -223,7 +223,7 @@ .4byte \param3 .endm - .macro jumpifword ifflag, param1, param2, param3 + .macro jumpifword ifflag:req, param1:req, param2:req, param3:req .byte 0x2b .byte \ifflag .4byte \param1 @@ -231,7 +231,7 @@ .4byte \param3 .endm - .macro jumpifarrayequal param0, param1, param2, param3 + .macro jumpifarrayequal param0:req, param1:req, param2:req, param3:req .byte 0x2c .4byte \param0 .4byte \param1 @@ -239,7 +239,7 @@ .4byte \param3 .endm - .macro jumpifarraynotequal param0, param1, param2, param3 + .macro jumpifarraynotequal param0:req, param1:req, param2:req, param3:req .byte 0x2d .4byte \param0 .4byte \param1 @@ -247,32 +247,32 @@ .4byte \param3 .endm - .macro setbyte param0, param1 + .macro setbyte ptr:req, param1:req .byte 0x2e - .4byte \param0 + .4byte \ptr .byte \param1 .endm - .macro addbyte param0, param1 + .macro addbyte ptr:req, param1:req .byte 0x2f - .4byte \param0 + .4byte \ptr .byte \param1 .endm - .macro subbyte param0, param1 + .macro subbyte ptr:req, param1:req .byte 0x30 - .4byte \param0 + .4byte \ptr .byte \param1 .endm - .macro copyarray param0, param1, param2 + .macro copyarray param0:req, param1:req, param2:req .byte 0x31 .4byte \param0 .4byte \param1 .byte \param2 .endm - .macro copyarraywithindex param0, param1, param2, param3 + .macro copyarraywithindex param0:req, param1:req, param2:req, param3:req .byte 0x32 .4byte \param0 .4byte \param1 @@ -280,43 +280,43 @@ .byte \param3 .endm - .macro orbyte param0, param1 + .macro orbyte ptr:req, param1:req .byte 0x33 - .4byte \param0 + .4byte \ptr .byte \param1 .endm - .macro orhalfword param0, param1 + .macro orhalfword ptr:req, param1:req .byte 0x34 - .4byte \param0 + .4byte \ptr .2byte \param1 .endm - .macro orword param0, param1 + .macro orword ptr:req, param1:req .byte 0x35 - .4byte \param0 + .4byte \ptr .4byte \param1 .endm - .macro bicbyte param0, param1 + .macro bicbyte ptr:req, param1:req .byte 0x36 - .4byte \param0 + .4byte \ptr .byte \param1 .endm - .macro bichalfword param0, param1 + .macro bichalfword ptr:req, param1:req .byte 0x37 - .4byte \param0 + .4byte \ptr .2byte \param1 .endm - .macro bicword param0, param1 + .macro bicword ptr:req, param1:req .byte 0x38 - .4byte \param0 + .4byte \ptr .4byte \param1 .endm - .macro pause param0 + .macro pause param0:req .byte 0x39 .2byte \param0 .endm @@ -325,7 +325,7 @@ .byte 0x3a .endm - .macro healthbar_update battler + .macro healthbar_update battler:req .byte 0x3b .byte \battler .endm @@ -346,41 +346,41 @@ .byte 0x3f .endm - .macro jumpifaffectedbyprotect param0 + .macro jumpifaffectedbyprotect ptr:req .byte 0x40 - .4byte \param0 + .4byte \ptr .endm - .macro call param0 + .macro call ptr:req .byte 0x41 - .4byte \param0 + .4byte \ptr .endm - .macro jumpiftype2 battler, type, param2 + .macro jumpiftype2 battler:req, type:req, ptr:req .byte 0x42 .byte \battler .byte \type - .4byte \param2 + .4byte \ptr .endm - .macro jumpifabilitypresent ability, param1 + .macro jumpifabilitypresent ability:req, ptr:req .byte 0x43 .byte \ability - .4byte \param1 + .4byte \ptr .endm .macro endselectionscript .byte 0x44 .endm - .macro playanimation battler, param1, param2 + .macro playanimation battler:req, param1:req, param2:req .byte 0x45 .byte \battler .byte \param1 .4byte \param2 .endm - .macro playanimation2 battler, param1, param2 + .macro playanimation2 battler:req, param1:req, param2:req .byte 0x46 .byte \battler .4byte \param1 @@ -391,14 +391,14 @@ .byte 0x47 .endm - .macro playstatchangeanimation battler, param1, param2 + .macro playstatchangeanimation battler:req, param1:req, param2:req .byte 0x48 .byte \battler .byte \param1 .byte \param2 .endm - .macro moveend param0, param1 + .macro moveend param0:req, param1:req .byte 0x49 .byte \param0 .byte \param1 @@ -412,61 +412,61 @@ .byte 0x4b .endm - .macro getswitchedmondata battler + .macro getswitchedmondata battler:req .byte 0x4c .byte \battler .endm - .macro switchindataupdate battler + .macro switchindataupdate battler:req .byte 0x4d .byte \battler .endm - .macro switchinanim battler, dontclearsubstitutebit + .macro switchinanim battler:req, dontclearsubstitutebit:req .byte 0x4e .byte \battler .byte \dontclearsubstitutebit .endm - .macro jumpifcantswitch battler, param1 + .macro jumpifcantswitch battler:req, ptr:req .byte 0x4f .byte \battler - .4byte \param1 + .4byte \ptr .endm - .macro openpartyscreen param0, param1 + .macro openpartyscreen param0:req, param1:req .byte 0x50 .byte \param0 .4byte \param1 .endm - .macro switchhandleorder battler, param1 + .macro switchhandleorder battler:req, param1:req .byte 0x51 .byte \battler .byte \param1 .endm - .macro switchineffects battler + .macro switchineffects battler:req .byte 0x52 .byte \battler .endm - .macro trainerslidein battler + .macro trainerslidein battler:req .byte 0x53 .byte \battler .endm - .macro playse param0 + .macro playse param0:req .byte 0x54 .2byte \param0 .endm - .macro fanfare param0 + .macro fanfare param0:req .byte 0x55 .2byte \param0 .endm - .macro playfaintcry battler + .macro playfaintcry battler:req .byte 0x56 .byte \battler .endm @@ -475,29 +475,29 @@ .byte 0x57 .endm - .macro returntoball battler + .macro returntoball battler:req .byte 0x58 .byte \battler .endm - .macro handlelearnnewmove param0, param1, param2 + .macro handlelearnnewmove param0:req, param1:req, param2:req .byte 0x59 .4byte \param0 .4byte \param1 .byte \param2 .endm - .macro yesnoboxlearnmove param0 + .macro yesnoboxlearnmove param0:req .byte 0x5a .4byte \param0 .endm - .macro yesnoboxstoplearningmove param0 + .macro yesnoboxstoplearningmove param0:req .byte 0x5b .4byte \param0 .endm - .macro hitanimation battler + .macro hitanimation battler:req .byte 0x5c .byte \battler .endm @@ -506,7 +506,7 @@ .byte 0x5d .endm - .macro atk5E battler + .macro atk5E battler:req .byte 0x5e .byte \battler .endm @@ -515,38 +515,38 @@ .byte 0x5f .endm - .macro incrementgamestat param0 + .macro incrementgamestat param0:req .byte 0x60 .byte \param0 .endm - .macro drawpartystatussummary battler + .macro drawpartystatussummary battler:req .byte 0x61 .byte \battler .endm - .macro hidepartystatussummary battler + .macro hidepartystatussummary battler:req .byte 0x62 .byte \battler .endm - .macro jumptocalledmove param0 + .macro jumptocalledmove param0:req .byte 0x63 .byte \param0 .endm - .macro statusanimation battler + .macro statusanimation battler:req .byte 0x64 .byte \battler .endm - .macro status2animation battler, status2 + .macro status2animation battler:req, status2:req .byte 0x65 .byte \battler .4byte \status2 .endm - .macro chosenstatusanimation battler, param1, param2 + .macro chosenstatusanimation battler:req, param1:req, param2:req .byte 0x66 .byte \battler .byte \param1 @@ -565,7 +565,7 @@ .byte 0x69 .endm - .macro removeitem battler + .macro removeitem battler:req .byte 0x6a .byte \battler .endm @@ -586,12 +586,12 @@ .byte 0x6e .endm - .macro makevisible battler + .macro makevisible battler:req .byte 0x6f .byte \battler .endm - .macro recordlastability battler + .macro recordlastability battler:req .byte 0x70 .byte \battler .endm @@ -600,17 +600,17 @@ .byte 0x71 .endm - .macro jumpifplayerran param0 + .macro jumpifplayerran ptr:req .byte 0x72 - .4byte \param0 + .4byte \ptr .endm - .macro hpthresholds battler + .macro hpthresholds battler:req .byte 0x73 .byte \battler .endm - .macro hpthresholds2 battler + .macro hpthresholds2 battler:req .byte 0x74 .byte \battler .endm @@ -619,7 +619,7 @@ .byte 0x75 .endm - .macro various battler, param1 + .macro various battler:req, param1:req .byte 0x76 .byte \battler .byte \param1 @@ -637,12 +637,12 @@ .byte 0x79 .endm - .macro jumpifnexttargetvalid param0 + .macro jumpifnexttargetvalid ptr:req .byte 0x7a - .4byte \param0 + .4byte \ptr .endm - .macro tryhealhalfhealth param0, battler + .macro tryhealhalfhealth param0:req, battler:req .byte 0x7b .4byte \param0 .byte \battler @@ -664,26 +664,26 @@ .byte 0x7f .endm - .macro manipulatedamage param0 + .macro manipulatedamage param0:req .byte 0x80 .byte \param0 .endm - .macro trysetrest param0 + .macro trysetrest param0:req .byte 0x81 .4byte \param0 .endm - .macro jumpifnotfirstturn param0 + .macro jumpifnotfirstturn ptr:req .byte 0x82 - .4byte \param0 + .4byte \ptr .endm .macro nop .byte 0x83 .endm - .macro jumpifcantmakeasleep param0 + .macro jumpifcantmakeasleep param0:req .byte 0x84 .4byte \param0 .endm @@ -692,12 +692,12 @@ .byte 0x85 .endm - .macro stockpiletobasedamage param0 + .macro stockpiletobasedamage param0:req .byte 0x86 .4byte \param0 .endm - .macro stockpiletohpheal param0 + .macro stockpiletohpheal param0:req .byte 0x87 .4byte \param0 .endm @@ -706,7 +706,7 @@ .byte 0x88 .endm - .macro statbuffchange param0, param1 + .macro statbuffchange param0:req, param1:req .byte 0x89 .byte \param0 .4byte \param1 @@ -724,7 +724,7 @@ .byte 0x8c .endm - .macro setmultihitcounter param0 + .macro setmultihitcounter param0:req .byte 0x8d .byte \param0 .endm @@ -733,12 +733,12 @@ .byte 0x8e .endm - .macro forcerandomswitch param0 + .macro forcerandomswitch param0:req .byte 0x8f .4byte \param0 .endm - .macro tryconversiontypechange param0 + .macro tryconversiontypechange param0:req .byte 0x90 .4byte \param0 .endm @@ -751,7 +751,7 @@ .byte 0x92 .endm - .macro tryKO param0 + .macro tryKO param0:req .byte 0x93 .4byte \param0 .endm @@ -768,12 +768,12 @@ .byte 0x96 .endm - .macro tryinfatuating param0 + .macro tryinfatuating param0:req .byte 0x97 .4byte \param0 .endm - .macro updatestatusicon battler + .macro updatestatusicon battler:req .byte 0x98 .byte \battler .endm @@ -794,7 +794,7 @@ .byte 0x9c .endm - .macro mimicattackcopy param0 + .macro mimicattackcopy param0:req .byte 0x9d .4byte \param0 .endm @@ -811,32 +811,32 @@ .byte 0xa0 .endm - .macro counterdamagecalculator param0 + .macro counterdamagecalculator param0:req .byte 0xa1 .4byte \param0 .endm - .macro mirrorcoatdamagecalculator param0 + .macro mirrorcoatdamagecalculator param0:req .byte 0xa2 .4byte \param0 .endm - .macro disablelastusedattack param0 + .macro disablelastusedattack param0:req .byte 0xa3 .4byte \param0 .endm - .macro trysetencore param0 + .macro trysetencore param0:req .byte 0xa4 .4byte \param0 .endm - .macro painsplitdmgcalc param0 + .macro painsplitdmgcalc param0:req .byte 0xa5 .4byte \param0 .endm - .macro settypetorandomresistance param0 + .macro settypetorandomresistance param0:req .byte 0xa6 .4byte \param0 .endm @@ -845,12 +845,12 @@ .byte 0xa7 .endm - .macro copymovepermanently param0 + .macro copymovepermanently param0:req .byte 0xa8 .4byte \param0 .endm - .macro trychoosesleeptalkmove param0 + .macro trychoosesleeptalkmove param0:req .byte 0xa9 .4byte \param0 .endm @@ -867,7 +867,7 @@ .byte 0xac .endm - .macro tryspiteppreduce param0 + .macro tryspiteppreduce param0:req .byte 0xad .4byte \param0 .endm @@ -876,12 +876,12 @@ .byte 0xae .endm - .macro cursetarget param0 + .macro cursetarget param0:req .byte 0xaf .4byte \param0 .endm - .macro trysetspikes param0 + .macro trysetspikes param0:req .byte 0xb0 .4byte \param0 .endm @@ -890,7 +890,7 @@ .byte 0xb1 .endm - .macro trysetperishsong param0 + .macro trysetperishsong param0:req .byte 0xb2 .4byte \param0 .endm @@ -899,10 +899,10 @@ .byte 0xb3 .endm - .macro jumpifconfusedandstatmaxed stat, param1 + .macro jumpifconfusedandstatmaxed stat:req, ptr:req .byte 0xb4 .byte \stat - .4byte \param1 + .4byte \ptr .endm .macro furycuttercalc @@ -925,7 +925,7 @@ .byte 0xb9 .endm - .macro jumpifnopursuitswitchdmg param0 + .macro jumpifnopursuitswitchdmg param0:req .byte 0xba .4byte \param0 .endm @@ -934,12 +934,12 @@ .byte 0xbb .endm - .macro maxattackhalvehp param0 + .macro maxattackhalvehp param0:req .byte 0xbc .4byte \param0 .endm - .macro copyfoestats param0 + .macro copyfoestats param0:req .byte 0xbd .4byte \param0 .endm @@ -952,7 +952,7 @@ .byte 0xbf .endm - .macro recoverbasedonsunlight param0 + .macro recoverbasedonsunlight param0:req .byte 0xc0 .4byte \param0 .endm @@ -965,12 +965,12 @@ .byte 0xc2 .endm - .macro trysetfutureattack param0 + .macro trysetfutureattack param0:req .byte 0xc3 .4byte \param0 .endm - .macro trydobeatup param0, param1 + .macro trydobeatup param0:req, param1:req .byte 0xc4 .4byte \param0 .4byte \param1 @@ -992,9 +992,9 @@ .byte 0xc8 .endm - .macro jumpifattackandspecialattackcannotfall param0 + .macro jumpifattackandspecialattackcannotfall ptr:req .byte 0xc9 - .4byte \param0 + .4byte \ptr .endm .macro setforcedtarget @@ -1009,48 +1009,48 @@ .byte 0xcc .endm - .macro cureifburnedparalysedorpoisoned param0 + .macro cureifburnedparalysedorpoisoned param0:req .byte 0xcd .4byte \param0 .endm - .macro settorment param0 + .macro settorment param0:req .byte 0xce .4byte \param0 .endm - .macro jumpifnodamage param0 + .macro jumpifnodamage param0:req .byte 0xcf .4byte \param0 .endm - .macro settaunt param0 + .macro settaunt param0:req .byte 0xd0 .4byte \param0 .endm - .macro trysethelpinghand param0 + .macro trysethelpinghand param0:req .byte 0xd1 .4byte \param0 .endm - .macro tryswapitems param0 + .macro tryswapitems param0:req .byte 0xd2 .4byte \param0 .endm - .macro trycopyability param0 + .macro trycopyability param0:req .byte 0xd3 .4byte \param0 .endm - .macro trywish param0, param1 + .macro trywish param0:req, param1:req .byte 0xd4 .byte \param0 .4byte \param1 .endm - .macro trysetroots param0 + .macro trysetroots param0:req .byte 0xd5 .4byte \param0 .endm @@ -1059,12 +1059,12 @@ .byte 0xd6 .endm - .macro setyawn param0 + .macro setyawn param0:req .byte 0xd7 .4byte \param0 .endm - .macro setdamagetohealthdifference param0 + .macro setdamagetohealthdifference param0:req .byte 0xd8 .4byte \param0 .endm @@ -1073,17 +1073,17 @@ .byte 0xd9 .endm - .macro tryswapabilities param0 + .macro tryswapabilities param0:req .byte 0xda .4byte \param0 .endm - .macro tryimprision param0 + .macro tryimprision param0:req .byte 0xdb .4byte \param0 .endm - .macro trysetgrudge param0 + .macro trysetgrudge param0:req .byte 0xdc .4byte \param0 .endm @@ -1092,32 +1092,32 @@ .byte 0xdd .endm - .macro asistattackselect param0 + .macro asistattackselect param0:req .byte 0xde .4byte \param0 .endm - .macro trysetmagiccoat param0 + .macro trysetmagiccoat param0:req .byte 0xdf .4byte \param0 .endm - .macro trysetsnatch param0 + .macro trysetsnatch param0:req .byte 0xe0 .4byte \param0 .endm - .macro trygetintimidatetarget param0 + .macro trygetintimidatetarget param0:req .byte 0xe1 .4byte \param0 .endm - .macro switchoutabilities battler + .macro switchoutabilities battler:req .byte 0xe2 .byte \battler .endm - .macro jumpifhasnohp battler, param1 + .macro jumpifhasnohp battler:req, param1:req .byte 0xe3 .byte \battler .4byte \param1 @@ -1139,7 +1139,7 @@ .byte 0xe7 .endm - .macro settypebasedhalvers param0 + .macro settypebasedhalvers param0:req .byte 0xe8 .4byte \param0 .endm @@ -1148,17 +1148,17 @@ .byte 0xe9 .endm - .macro tryrecycleitem param0 + .macro tryrecycleitem param0:req .byte 0xea .4byte \param0 .endm - .macro settypetoterrain param0 + .macro settypetoterrain param0:req .byte 0xeb .4byte \param0 .endm - .macro pursuitrelated param0 + .macro pursuitrelated param0:req .byte 0xec .4byte \param0 .endm @@ -1179,7 +1179,7 @@ .byte 0xf0 .endm - .macro trysetcaughtmondexflags param0 + .macro trysetcaughtmondexflags param0:req .byte 0xf1 .4byte \param0 .endm @@ -1188,7 +1188,7 @@ .byte 0xf2 .endm - .macro trygivecaughtmonnick param0 + .macro trygivecaughtmonnick param0:req .byte 0xf3 .4byte \param0 .endm @@ -1209,45 +1209,45 @@ .byte 0xf7 .endm - .macro trainerslideout param0 + .macro trainerslideout param0:req .byte 0xf8 .byte \param0 .endm @ various command changed to more readable macros - .macro cancelmultiturnmoves battler + .macro cancelmultiturnmoves battler:req various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES .endm - .macro setmagiccoattarget battler + .macro setmagiccoattarget battler:req various \battler, VARIOUS_SET_MAGIC_COAT_TARGET .endm - .macro getifcantrunfrombattle battler + .macro getifcantrunfrombattle battler:req various \battler, VARIOUS_IS_RUNNING_IMPOSSIBLE .endm - .macro getmovetarget battler + .macro getmovetarget battler:req various \battler, VARIOUS_GET_MOVE_TARGET .endm - .macro various4 battler + .macro various4 battler:req various \battler, 4 .endm - .macro resetintrimidatetracebits battler + .macro resetintrimidatetracebits battler:req various \battler, VARIOUS_RESET_INTIMIDATE_TRACE_BITS .endm - .macro updatechoicemoveonlvlup battler + .macro updatechoicemoveonlvlup battler:req various \battler, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP .endm - .macro various7 battler + .macro various7 battler:req various \battler, 7 .endm - .macro various8 battler + .macro various8 battler:req various \battler, 8 .endm @@ -1267,35 +1267,35 @@ various BS_ATTACKER, VARIOUS_ARENA_BOTH_MONS_LOST .endm - .macro forfeityesnobox battler + .macro forfeityesnobox battler:req various \battler, VARIOUS_EMIT_YESNOBOX .endm - .macro various14 battler + .macro various14 battler:req various \battler, 14 .endm - .macro various15 battler + .macro various15 battler:req various \battler, 15 .endm - .macro arenajudmengtstring id + .macro arenajudmengtstring id:req various \id, VARIOUS_ARENA_JUDGMENT_STRING .endm - .macro arenawaitmessage id + .macro arenawaitmessage id:req various \id, VARIOUS_ARENA_WAIT_STRING .endm - .macro waitcry battler + .macro waitcry battler:req various \battler, VARIOUS_WAIT_CRY .endm - .macro returnopponentmon1toball battler + .macro returnopponentmon1toball battler:req various \battler, VARIOUS_RETURN_OPPONENT_MON1 .endm - .macro returnopponentmon2toball battler + .macro returnopponentmon2toball battler:req various \battler, VARIOUS_RETURN_OPPONENT_MON2 .endm @@ -1307,95 +1307,95 @@ various BS_ATTACKER, VARIOUS_VOLUME_UP .endm - .macro setalreadystatusedmoveattempt battler + .macro setalreadystatusedmoveattempt battler:req various \battler, 23 .endm - .macro various24 battler + .macro various24 battler:req various \battler, 24 .endm - .macro setoutcomeonteleport battler + .macro setoutcomeonteleport battler:req various \battler, VARIOUS_SET_TELEPORT_OUTCOME .endm - .macro playtrainerdefeatbgm battler + .macro playtrainerdefeatbgm battler:req various \battler, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC .endm @ helpful macros - .macro setstatchanger stat, stages, down + .macro setstatchanger stat:req, stages:req, down:req setbyte sSTATCHANGER \stat | \stages << 4 | \down << 7 .endm - .macro setmoveeffect effect + .macro setmoveeffect effect:req setbyte cEFFECT_CHOOSER \effect .endm - .macro chosenstatus1animation battler, status + .macro chosenstatus1animation battler:req, status:req chosenstatusanimation \battler 0x0 \status .endm - .macro chosenstatus2animation battler, status + .macro chosenstatus2animation battler:req, status:req chosenstatusanimation \battler 0x1 \status .endm - .macro sethword dst, value + .macro sethword dst:req, value:req setbyte \dst, \value & 0xFF setbyte \dst + 1, (\value >> 8) & 0xFF .endm - .macro setword dst, value + .macro setword dst:req, value:req setbyte \dst, \value & 0xFF setbyte \dst + 1, (\value >> 8) & 0xFF setbyte \dst + 2, (\value >> 16) & 0xFF setbyte \dst + 3, (\value >> 24) & 0xFF .endm - .macro copybyte dst, src + .macro copybyte dst:req, src:req copyarray \dst, \src, 0x1 .endm - .macro copyhword dst, src + .macro copyhword dst:req, src:req copyarray \dst, \src, 0x2 .endm - .macro copyword dst, src + .macro copyword dst:req, src:req copyarray \dst, \src, 0x4 .endm - .macro jumpifbytenotequal byte1, byte2, jumpptr + .macro jumpifbytenotequal byte1:req, byte2:req, jumpptr:req jumpifarraynotequal \byte1, \byte2, 0x1, \jumpptr .endm - .macro jumpifbyteequal byte1, byte2, jumpptr + .macro jumpifbyteequal byte1:req, byte2:req, jumpptr:req jumpifarrayequal \byte1, \byte2, 0x1, \jumpptr .endm - .macro jumpifmove move, jumpptr + .macro jumpifmove move:req, jumpptr:req jumpifhalfword CMP_EQUAL, gCurrentMove, \move, \jumpptr .endm - .macro jumpifnotmove move, jumpptr + .macro jumpifnotmove move:req, jumpptr:req jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, \move, \jumpptr .endm - .macro jumpifstatus3 battler, status, jumpptr + .macro jumpifstatus3 battler:req, status:req, jumpptr:req jumpifstatus3condition \battler, \status, 0x0, \jumpptr .endm - .macro jumpifnostatus3 battler, status, jumpptr + .macro jumpifnostatus3 battler:req, status:req, jumpptr:req jumpifstatus3condition \battler, \status, 0x1, \jumpptr .endm - .macro jumpifmovehadnoeffect jumpptr + .macro jumpifmovehadnoeffect jumpptr:req jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_NO_EFFECT, \jumpptr .endm - .macro jumpifbattletype flags, jumpptr + .macro jumpifbattletype flags:req, jumpptr:req jumpifword CMP_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr .endm - .macro jumpifnotbattletype flags, jumpptr + .macro jumpifnotbattletype flags:req, jumpptr:req jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr .endm diff --git a/asm/macros/event.inc b/asm/macros/event.inc index 6b9227442..c815f3753 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -19,52 +19,58 @@ .endm @ Jumps to destination and continues script execution from there. The location of the calling script is remembered and can be returned to later. - .macro call destination + .macro call destination:req .byte 0x04 .4byte \destination .endm @ Jumps to destination and continues script execution from there. - .macro goto destination + .macro goto destination:req .byte 0x05 .4byte \destination .endm @ If the result of the last comparison matches condition (see Comparison operators), jumps to destination and continues script execution from there. - .macro goto_if condition, destination + .macro goto_if condition:req, destination:req .byte 0x06 .byte \condition .4byte \destination .endm @ If the result of the last comparison matches condition (see Comparison operators), calls destination. - .macro call_if condition, destination + .macro call_if condition:req, destination:req .byte 0x07 .byte \condition .4byte \destination .endm @ Jumps to the standard function at index function. - .macro gotostd function + .macro gotostd function:req .byte 0x08 .byte \function .endm + @ callstd function names + STD_OBTAIN_ITEM = 0 + STD_FIND_ITEM = 1 + STD_OBTAIN_DECORATION = 7 + STD_REGISTER_MATCH_CALL = 8 + @ Calls the standard function at index function. - .macro callstd function + .macro callstd function:req .byte 0x09 .byte \function .endm @ If the result of the last comparison matches condition (see Comparison operators), jumps to the standard function at index function. - .macro gotostd_if condition, function + .macro gotostd_if condition:req, function:req .byte 0x0a .byte \condition .byte \function .endm @ If the result of the last comparison matches condition (see Comparison operators), calls the standard function at index function. - .macro callstd_if condition, function + .macro callstd_if condition:req, function:req .byte 0x0b .byte \condition .byte \function @@ -81,146 +87,146 @@ .endm @ Sets some status related to Mystery Event. - .macro setmysteryeventstatus value + .macro setmysteryeventstatus value:req .byte 0x0e .byte \value .endm @ Sets the specified script bank to value. - .macro loadword destination, value + .macro loadword destination:req, value:req .byte 0x0f .byte \destination .4byte \value .endm @ Sets the specified script bank to value. - .macro loadbyte destination, value + .macro loadbyte destination:req, value:req .byte 0x10 .byte \destination .byte \value .endm @ Sets the byte at offset to value. - .macro writebytetoaddr value, offset + .macro writebytetoaddr value:req, offset:req .byte 0x11 .byte \value .4byte \offset .endm @ Copies the byte value at source into the specified script bank. - .macro loadbytefromaddr destination, source + .macro loadbytefromaddr destination:req, source:req .byte 0x12 .byte \destination .4byte \source .endm @ Not sure. Judging from XSE's description I think it takes the least-significant byte in bank source and writes it to destination. - .macro setptrbyte source, destination + .macro setptrbyte source:req, destination:req .byte 0x13 .byte \source .4byte \destination .endm @ Copies the contents of bank source into bank destination. - .macro copylocal destination, source + .macro copylocal destination:req, source:req .byte 0x14 .byte \destination .byte \source .endm @ Copies the byte at source to destination, replacing whatever byte was previously there. - .macro copybyte destination, source + .macro copybyte destination:req, source:req .byte 0x15 .4byte \destination .4byte \source .endm @ Changes the value of destination to value. - .macro setvar destination, value + .macro setvar destination:req, value:req .byte 0x16 .2byte \destination .2byte \value .endm @ Changes the value of destination by adding value to it. Overflow is not prevented (0xFFFF + 1 = 0x0000). - .macro addvar destination, value + .macro addvar destination:req, value:req .byte 0x17 .2byte \destination .2byte \value .endm @ Changes the value of destination by subtracting value to it. Overflow is not prevented (0x0000 - 1 = 0xFFFF). - .macro subvar destination, value + .macro subvar destination:req, value:req .byte 0x18 .2byte \destination .2byte \value .endm @ Copies the value of source into destination. - .macro copyvar destination, source + .macro copyvar destination:req, source:req .byte 0x19 .2byte \destination .2byte \source .endm @ If source is not a variable, then this function acts like setvar. Otherwise, it acts like copyvar. - .macro setorcopyvar destination, source + .macro setorcopyvar destination:req, source:req .byte 0x1a .2byte \destination .2byte \source .endm @ Compares the values of script banks a and b, after forcing the values to bytes. - .macro compare_local_to_local byte1, byte2 + .macro compare_local_to_local byte1:req, byte2:req .byte 0x1b .byte \byte1 .byte \byte2 .endm @ Compares the least-significant byte of the value of script bank a to a fixed byte value (b). - .macro compare_local_to_value a, b + .macro compare_local_to_value a:req, b:req .byte 0x1c .byte \a .byte \b .endm @ Compares the least-significant byte of the value of script bank a to the byte located at offset b. - .macro compare_local_to_addr a, b + .macro compare_local_to_addr a:req, b:req .byte 0x1d .byte \a .4byte \b .endm @ Compares the byte located at offset a to the least-significant byte of the value of script bank b. - .macro compare_addr_to_local a, b + .macro compare_addr_to_local a:req, b:req .byte 0x1e .4byte \a .byte \b .endm @ Compares the byte located at offset a to a fixed byte value (b). - .macro compare_addr_to_value a, b + .macro compare_addr_to_value a:req, b:req .byte 0x1f .4byte \a .byte \b .endm @ Compares the byte located at offset a to the byte located at offset b. - .macro compare_addr_to_addr a, b + .macro compare_addr_to_addr a:req, b:req .byte 0x20 .4byte \a .4byte \b .endm @ Compares the value of `var` to a fixed word value (b). - .macro compare_var_to_value var, value + .macro compare_var_to_value var:req, value:req .byte 0x21 .2byte \var .2byte \value .endm @ Compares the value of `var1` to the value of `var2`. - .macro compare_var_to_var var1, var2 + .macro compare_var_to_var var1:req, var2:req .byte 0x22 .2byte \var1 .2byte \var2 @@ -228,7 +234,7 @@ @ Generic compare macro which attempts to deduce argument types based on their values @ Any values between 0x4000 to 0x4FFF and 0x8000 to 0x8FFF are considered event variable identifiers - .macro compare arg1, arg2 + .macro compare arg1:req, arg2:req .if ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && ((\arg2 >> 12) == 4 || (\arg2 >> 12) == 8) compare_var_to_var \arg1, \arg2 .elseif ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && (\arg2 >= 0 && \arg2 <= 0xFFFF) @@ -239,32 +245,32 @@ .endm @ Calls the native C function stored at `func`. - .macro callnative func + .macro callnative func:req .byte 0x23 .4byte \func .endm @ Replaces the script with the function stored at `func`. Execution returns to the bytecode script when func returns TRUE. - .macro gotonative func + .macro gotonative func:req .byte 0x24 .4byte \func .endm @ Calls a special function; that is, a function designed for use by scripts and listed in a table of pointers. - .macro special function + .macro special function:req .byte 0x25 .2byte SPECIAL_\function .endm @ Calls a special function. That function's output (if any) will be written to the variable you specify. - .macro specialvar output, function + .macro specialvar output:req, function:req .byte 0x26 .2byte \output .2byte SPECIAL_\function .endm - + @ temporary solution - .macro specialvar_ output, functionId + .macro specialvar_ output:req, functionId:req .byte 0x26 .2byte \output .2byte \functionId @@ -276,31 +282,31 @@ .endm @ Blocks script execution for time (frames? milliseconds?). - .macro delay time + .macro delay time:req .byte 0x28 .2byte \time .endm @ Sets a to 1. - .macro setflag a + .macro setflag a:req .byte 0x29 .2byte \a .endm @ Sets a to 0. - .macro clearflag a + .macro clearflag a:req .byte 0x2a .2byte \a .endm @ Compares a to 1. - .macro checkflag a + .macro checkflag a:req .byte 0x2b .2byte \a .endm @ Initializes the RTC`s local time offset to the given hour and minute. In FireRed, this command is a nop. - .macro initclock hour, minute + .macro initclock hour:req, minute:req .byte 0x2c .2byte \hour .2byte \minute @@ -317,7 +323,7 @@ .endm @ Plays the specified (sound_number) sound. Only one sound may play at a time, with newer ones interrupting older ones. - .macro playse sound_number + .macro playse sound_number:req .byte 0x2f .2byte \sound_number .endm @@ -328,7 +334,7 @@ .endm @ Plays the specified (fanfare_number) fanfare. - .macro playfanfare fanfare_number + .macro playfanfare fanfare_number:req .byte 0x31 .2byte \fanfare_number .endm @@ -339,14 +345,14 @@ .endm @ Plays the specified (song_number) song. The byte is apparently supposed to be 0x00. - .macro playbgm song_number, unknown + .macro playbgm song_number:req, unknown:req .byte 0x33 .2byte \song_number .byte \unknown .endm @ Saves the specified (song_number) song to be played later. - .macro savebgm song_number + .macro savebgm song_number:req .byte 0x34 .2byte \song_number .endm @@ -357,25 +363,25 @@ .endm @ Crossfades the currently-playng song into the specified (song_number) song. - .macro fadenewbgm song_number + .macro fadenewbgm song_number:req .byte 0x36 .2byte \song_number .endm @ Fades out the currently-playing song. - .macro fadeoutbgm speed + .macro fadeoutbgm speed:req .byte 0x37 .byte \speed .endm @ Fades the previously-playing song back in. - .macro fadeinbgm speed + .macro fadeinbgm speed:req .byte 0x38 .byte \speed .endm @ Sends the player to Warp warp on Map bank.map. If the specified warp is 0xFF, then the player will instead be sent to (X, Y) on the map. - .macro warp map, warp, X, Y + .macro warp map:req, warp:req, X:req, Y:req .byte 0x39 map \map .byte \warp @@ -384,7 +390,7 @@ .endm @ Clone of warp that does not play a sound effect. - .macro warpsilent map, warp, X, Y + .macro warpsilent map:req, warp:req, X:req, Y:req .byte 0x3a map \map .byte \warp @@ -393,7 +399,7 @@ .endm @ Clone of warp that plays a door opening animation before stepping upwards into it. - .macro warpdoor map, warp, X, Y + .macro warpdoor map:req, warp:req, X:req, Y:req .byte 0x3b map \map .byte \warp @@ -402,13 +408,13 @@ .endm @ Warps the player to another map using a hole animation. - .macro warphole map + .macro warphole map:req .byte 0x3c map \map .endm @ Clone of warp that uses a teleport effect. It is apparently only used in R/S/E. - .macro warpteleport map, warp, X, Y + .macro warpteleport map:req, warp:req, X:req, Y:req .byte 0x3d map \map .byte \warp @@ -417,7 +423,7 @@ .endm @ Sets the warp destination to be used later. - .macro setwarp map, warp, X, Y + .macro setwarp map:req, warp:req, X:req, Y:req .byte 0x3e map \map .byte \warp @@ -426,7 +432,7 @@ .endm @ Sets the warp destination that a warp to Warp 127 on Map 127.127 will connect to. Useful when a map has warps that need to go to script-controlled locations (i.e. elevators). - .macro setdynamicwarp map, warp, X, Y + .macro setdynamicwarp map:req, warp:req, X:req, Y:req .byte 0x3f map \map .byte \warp @@ -435,7 +441,7 @@ .endm @ Sets the destination that diving or emerging from a dive will take the player to. - .macro setdivewarp map, warp, X, Y + .macro setdivewarp map:req, warp:req, X:req, Y:req .byte 0x40 map \map .byte \warp @@ -444,7 +450,7 @@ .endm @ Sets the destination that falling into a hole will take the player to. - .macro setholewarp map, warp, X, Y + .macro setholewarp map:req, warp:req, X:req, Y:req .byte 0x41 map \map .byte \warp @@ -453,7 +459,7 @@ .endm @ Retrieves the player's zero-indexed X- and Y-coordinates in the map, and stores them in the specified variables. - .macro getplayerxy X, Y + .macro getplayerxy X:req, Y:req .byte 0x42 .2byte \X .2byte \Y @@ -465,80 +471,80 @@ .endm @ Attempts to add quantity of item index to the player's Bag. If the player has enough room, the item will be added and variable 0x800D (LASTRESULT) will be set to 0x0001; otherwise, LASTRESULT is set to 0x0000. - .macro giveitem index, quantity + .macro giveitem index:req, quantity:req .byte 0x44 .2byte \index .2byte \quantity .endm @ Removes quantity of item index from the player's Bag. - .macro takeitem index, quantity + .macro takeitem index:req, quantity:req .byte 0x45 .2byte \index .2byte \quantity .endm @ Checks if the player has enough space in their Bag to hold quantity more of item index. Sets variable 0x800D (LASTRESULT) to 0x0001 if there is room, or 0x0000 is there is no room. - .macro checkitemspace index, quantity + .macro checkitemspace index:req, quantity:req .byte 0x46 .2byte \index .2byte \quantity .endm @ Checks if the player has quantity or more of item index in their Bag. Sets variable 0x800D (LASTRESULT) to 0x0001 if the player has enough of the item, or 0x0000 if they have fewer than quantity of the item. - .macro checkitem index, quantity + .macro checkitem index:req, quantity:req .byte 0x47 .2byte \index .2byte \quantity .endm @ Checks which Bag pocket the specified (index) item belongs in, and writes the value to variable 0x800D (LASTRESULT). This script is used to show the name of the proper Bag pocket when the player receives an item via callstd (simplified to giveitem in XSE). - .macro checkitemtype index + .macro checkitemtype index:req .byte 0x48 .2byte \index .endm @ Adds a quantity amount of item index to the player's PC. Both arguments can be variables. - .macro givepcitem index, quantity + .macro givepcitem index:req, quantity:req .byte 0x49 .2byte \index .2byte \quantity .endm @ Checks for quantity amount of item index in the player's PC. Both arguments can be variables. - .macro checkpcitem index, quantity + .macro checkpcitem index:req, quantity:req .byte 0x4a .2byte \index .2byte \quantity .endm @ Adds decoration to the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.) - .macro givedecoration decoration + .macro givedecoration decoration:req .byte 0x4b .2byte \decoration .endm @ Removes a decoration from the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.) - .macro takedecoration decoration + .macro takedecoration decoration:req .byte 0x4c .2byte \decoration .endm @ Checks for decoration in the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.) - .macro checkdecor decoration + .macro checkdecor decoration:req .byte 0x4d .2byte \decoration .endm @ Checks if the player has enough space in their PC to hold decoration. Sets variable 0x800D (LASTRESULT) to 0x0001 if there is room, or 0x0000 is there is no room. In FireRed, this command is a nop. (The argument is read, but not used for anything.) - .macro checkdecorspace decoration + .macro checkdecorspace decoration:req .byte 0x4e .2byte \decoration .endm @ Applies the movement data at movements to the specified (index) Object. Also closes any standard message boxes that are still open. @ If no map is specified, then the current map is used. - .macro applymovement index, movements, map + .macro applymovement index:req, movements:req, map .ifb \map .byte 0x4f .2byte \index @@ -554,7 +560,7 @@ @ Blocks script execution until the movements being applied to the specified (index) Object finish. If the specified Object is 0x0000, then the command will block script execution until all Objects affected by applymovement finish their movements. If the specified Object is not currently being manipulated with applymovement, then this command does nothing. @ If no map is specified, then the current map is used. - .macro waitmovement index, map + .macro waitmovement index:req, map .ifb \map .byte 0x51 .2byte \index @@ -567,7 +573,7 @@ @ Attempts to hide the specified (index) Object on the specified (map_group, map_num) map, by setting its visibility flag if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing. @ If no map is specified, then the current map is used. - .macro removeobject index, map + .macro removeobject index:req, map .ifb \map .byte 0x53 .2byte \index @@ -580,7 +586,7 @@ @ Unsets the specified (index) Object's visibility flag on the specified (map_group, map_num) map if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing. @ If no map is specified, then the current map is used. - .macro addobject index, map + .macro addobject index:req, map .ifb \map .byte 0x55 .2byte \index @@ -592,20 +598,20 @@ .endm @ Sets the specified (index) Object's position on the current map. - .macro setobjectxy index, x, y + .macro setobjectxy index:req, x:req, y:req .byte 0x57 .2byte \index .2byte \x .2byte \y .endm - .macro showobjectat index, map + .macro showobjectat index:req, map:req .byte 0x58 .2byte \index map \map .endm - .macro hideobjectat index, map + .macro hideobjectat index:req, map:req .byte 0x59 .2byte \index map \map @@ -616,67 +622,108 @@ .byte 0x5a .endm - .macro turnobject index, direction + .macro turnobject index:req, direction:req .byte 0x5b .2byte \index .byte \direction .endm @ If the Trainer flag for Trainer index is not set, this command does absolutely nothing. - .macro trainerbattle type, trainer, word, pointer1, pointer2, pointer3, pointer4 + .macro trainerbattle type:req, trainer:req, local_id:req, pointer1:req, pointer2, pointer3, pointer4 .byte 0x5c .byte \type .2byte \trainer - .2byte \word - .if \type == 0 + .2byte \local_id + .if \type == TRAINER_BATTLE_SINGLE .4byte \pointer1 @ text .4byte \pointer2 @ text - .elseif \type == 1 + .elseif \type == TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC .4byte \pointer1 @ text .4byte \pointer2 @ text .4byte \pointer3 @ event script - .elseif \type == 2 + .elseif \type == TRAINER_BATTLE_CONTINUE_SCRIPT .4byte \pointer1 @ text .4byte \pointer2 @ text .4byte \pointer3 @ event script - .elseif \type == 3 + .elseif \type == TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT .4byte \pointer1 @ text - .elseif \type == 4 + .elseif \type == TRAINER_BATTLE_DOUBLE .4byte \pointer1 @ text .4byte \pointer2 @ text .4byte \pointer3 @ text - .elseif \type == 5 + .elseif \type == TRAINER_BATTLE_REMATCH .4byte \pointer1 @ text .4byte \pointer2 @ text - .elseif \type == 6 + .elseif \type == TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE .4byte \pointer1 @ text .4byte \pointer2 @ text .4byte \pointer3 @ text .4byte \pointer4 @ event script - .elseif \type == 7 + .elseif \type == TRAINER_BATTLE_REMATCH_DOUBLE .4byte \pointer1 @ text .4byte \pointer2 @ text .4byte \pointer3 @ text - .elseif \type == 8 + .elseif \type == TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC .4byte \pointer1 @ text .4byte \pointer2 @ text .4byte \pointer3 @ text .4byte \pointer4 @ event script - .elseif \type == 9 + .elseif \type == TRAINER_BATTLE_PYRAMID .4byte \pointer1 @ text .4byte \pointer2 @ text - .elseif \type == 10 + .elseif \type == TRAINER_BATTLE_SET_TRAINER_A .4byte \pointer1 @ text .4byte \pointer2 @ text - .elseif \type == 11 + .elseif \type == TRAINER_BATTLE_SET_TRAINER_B .4byte \pointer1 @ text .4byte \pointer2 @ text - .elseif \type == 12 + .elseif \type == TRAINER_BATTLE_12 .4byte \pointer1 @ text .4byte \pointer2 @ text .endif .endm + NO_MUSIC = FALSE + + @ Starts a single trainer battle, takes a trainer, intro text, loss text, and an optional event script + @ when used with an event script, you can also pass in an optional flag to disable music + .macro trainerbattle_single trainer:req, intro_text:req, lose_text:req, event_script=FALSE, music=TRUE + .if \event_script == FALSE + trainerbattle TRAINER_BATTLE_SINGLE, \trainer, 0, \intro_text, \lose_text + .elseif \music == TRUE + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, \trainer, 0, \intro_text, \lose_text, \event_script + .else + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC, \trainer, 0, \intro_text, \lose_text, \event_script + .endif + .endm + + @ Starts a double trainer battle, takes a trainer, intro text, loss text, text for when you have too few pokemon + @ and an optional event script, when used with an event script you can pass in an optional flag to disable music + .macro trainerbattle_double trainer:req, intro_text:req, lose_text:req, not_enough_pkmn_text:req, event_script=FALSE, music=TRUE + .if \event_script == FALSE + trainerbattle TRAINER_BATTLE_DOUBLE, \trainer, 0, \intro_text, \lose_text, \not_enough_pkmn_text + .elseif \music == TRUE + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE, \trainer, 0, \intro_text, \lose_text, \not_enough_pkmn_text, \event_script + .else + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC, \trainer, 0, \intro_text, \lose_text, \not_enough_pkmn_text, \event_script + .endif + .endm + + @ Starts a rematch battle, takes a trainer, intro text and loss text + .macro trainerbattle_rematch trainer:req, intro_text:req, lose_text:req + trainerbattle TRAINER_BATTLE_REMATCH, \trainer, 0, \intro_text, \lose_text + .endm + + @ Starts a rematch double battle, takes a trainer, intro text, loss text, and text for when you have too few pokemon + .macro trainerbattle_rematch_double trainer:req, intro_text:req, lose_text:req, not_enough_pkmn_text:req + trainerbattle TRAINER_BATTLE_REMATCH_DOUBLE, \trainer, 0, \intro_text, \lose_text, \not_enough_pkmn_text + .endm + + @ Starts a trainer battle, skipping intro text, takes a trainer and loss text + .macro trainerbattle_no_intro trainer:req, lose_text:req + trainerbattle TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT, \trainer, 0, \lose_text + .endm + @ Starts a trainer battle using the battle information stored in RAM (usually by trainerbattle, which actually calls this command behind-the-scenes), and blocks script execution until the battle finishes. .macro trainerbattlebegin @@ -694,36 +741,36 @@ .endm @ Compares Flag (trainer + 0x500) to 1. (If the flag is set, then the trainer has been defeated by the player.) - .macro checktrainerflag trainer + .macro checktrainerflag trainer:req .byte 0x60 .2byte \trainer .endm @ Sets Flag (trainer + 0x500). - .macro settrainerflag trainer + .macro settrainerflag trainer:req .byte 0x61 .2byte \trainer .endm @ Clears Flag (trainer + 0x500). - .macro cleartrainerflag trainer + .macro cleartrainerflag trainer:req .byte 0x62 .2byte \trainer .endm - .macro setobjectxyperm index, x, y + .macro setobjectxyperm index:req, x:req, y:req .byte 0x63 .2byte \index .2byte \x .2byte \y .endm - .macro moveobjectoffscreen index + .macro moveobjectoffscreen index:req .byte 0x64 .2byte \index .endm - .macro setobjectmovementtype word, byte + .macro setobjectmovementtype word:req, byte:req .byte 0x65 .2byte \word .byte \byte @@ -735,7 +782,7 @@ .endm @ Starts displaying a standard message box containing the specified text. If text is a pointer, then the string at that offset will be loaded and used. If text is script bank 0, then the value of script bank 0 will be treated as a pointer to the text. (You can use loadpointer to place a string pointer in a script bank.) - .macro message text + .macro message text:req .byte 0x67 .4byte \text .endm @@ -771,14 +818,14 @@ .endm @ Displays a YES/NO multichoice box at the specified coordinates, and blocks script execution until the user makes a selection. Their selection is stored in variable 0x800D (LASTRESULT); 0x0000 for "NO" or if the user pressed B, and 0x0001 for "YES". - .macro yesnobox x, y + .macro yesnobox x:req, y:req .byte 0x6e .byte \x .byte \y .endm @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button. - .macro multichoice x, y, list, b + .macro multichoice x:req, y:req, list:req, b:req .byte 0x6f .byte \x .byte \y @@ -787,7 +834,7 @@ .endm @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button. - .macro multichoicedefault x, y, list, default, b + .macro multichoicedefault x:req, y:req, list:req, default:req, b:req .byte 0x70 .byte \x .byte \y @@ -797,7 +844,7 @@ .endm @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The per_row argument determines how many list items will be shown on a single row of the box. - .macro multichoicegrid x, y, list, per_row, B + .macro multichoicegrid x:req, y:req, list:req, per_row:req, B:req .byte 0x71 .byte \x .byte \y @@ -812,7 +859,7 @@ .endm @ Nopped in Emerald, but still consumes parameters. - .macro erasebox byte1, byte2, byte3, byte4 + .macro erasebox byte1:req, byte2:req, byte3:req, byte4:req .byte 0x73 .byte \byte1 .byte \byte2 @@ -821,7 +868,7 @@ .endm @ Nopped in Emerald, but still consumes parameters. - .macro drawboxtext byte1, byte2, byte3, byte4 + .macro drawboxtext byte1:req, byte2:req, byte3:req, byte4:req .byte 0x74 .byte \byte1 .byte \byte2 @@ -830,7 +877,7 @@ .endm @ Displays a box containing the front sprite for the specified (species) Pokemon species. - .macro drawmonpic species, x, y + .macro drawmonpic species:req, x:req, y:req .byte 0x75 .2byte \species .byte \x @@ -843,19 +890,19 @@ .endm @ Draws an image of the winner of the contest. In FireRed, this command is a nop. (The argument is discarded.) - .macro drawcontestwinner a + .macro drawcontestwinner a:req .byte 0x77 .byte \a .endm @ Displays the string at pointer as braille text in a standard message box. The string must be formatted to use braille characters and needs to provide six extra starting characters that are skipped (in RS, these characters determined the box's size and position, but in Emerald these are calculated automatically). - .macro braillemessage text + .macro braillemessage text:req .byte 0x78 .4byte \text .endm @ Gives the player one of the specified (species) Pokemon at level level holding item. The unknown arguments should all be zeroes. - .macro givemon species, level, item, unknown1, unknown2, unknown3 + .macro givemon species:req, level:req, item:req, unknown1:req, unknown2:req, unknown3:req .byte 0x79 .2byte \species .byte \level @@ -865,12 +912,12 @@ .byte \unknown3 .endm - .macro giveegg species + .macro giveegg species:req .byte 0x7a .2byte \species .endm - .macro setmonmove index, slot, move + .macro setmonmove index:req, slot:req, move:req .byte 0x7b .byte \index .byte \slot @@ -878,99 +925,99 @@ .endm @ Checks if at least one Pokemon in the player's party knows the specified (index) attack. If so, variable 0x800D (LASTRESULT) is set to the (zero-indexed) slot number of the first Pokemon that knows the move. If not, LASTRESULT is set to 0x0006. Variable 0x8004 is also set to this Pokemon's species. - .macro checkpartymove index + .macro checkpartymove index:req .byte 0x7c .2byte \index .endm @ Writes the name of the Pokemon at index species to the specified buffer. - .macro bufferspeciesname out, species + .macro bufferspeciesname out:req, species:req .byte 0x7d .byte \out .2byte \species .endm @ Writes the name of the species of the first Pokemon in the player's party to the specified buffer. - .macro bufferleadmonspeciesname out + .macro bufferleadmonspeciesname out:req .byte 0x7e .byte \out .endm @ Writes the nickname of the Pokemon in slot slot (zero-indexed) of the player's party to the specified buffer. If an empty or invalid slot is specified, ten spaces ("") are written to the buffer. - .macro bufferpartymonnick out, slot + .macro bufferpartymonnick out:req, slot:req .byte 0x7f .byte \out .2byte \slot .endm @ Writes the name of the item at index item to the specified buffer. If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead. - .macro bufferitemname out, item + .macro bufferitemname out:req, item:req .byte 0x80 .byte \out .2byte \item .endm @ Writes the name of the decoration at index decoration to the specified buffer. In FireRed, this command is a nop. - .macro bufferdecorationname out, decoration + .macro bufferdecorationname out:req, decoration:req .byte 0x81 .byte \out .2byte \decoration .endm @ Writes the name of the move at index move to the specified buffer. - .macro buffermovename out, move + .macro buffermovename out:req, move:req .byte 0x82 .byte \out .2byte \move .endm @ Converts the value of input to a decimal string, and writes that string to the specified buffer. - .macro buffernumberstring out, input + .macro buffernumberstring out:req, input:req .byte 0x83 .byte \out .2byte \input .endm @ Writes the standard string identified by index to the specified buffer. This command has no protections in place at all, so specifying an invalid standard string (e.x. 0x2B) can and usually will cause data corruption. - .macro bufferstdstring out, index + .macro bufferstdstring out:req, index:req .byte 0x84 .byte \out .2byte \index .endm @ Copies the string at offset to the specified buffer. - .macro bufferstring out, offset + .macro bufferstring out:req, offset:req .byte 0x85 .byte \out .4byte \offset .endm @ Opens the Pokemart system, offering the specified products for sale. - .macro pokemart products + .macro pokemart products:req .byte 0x86 .4byte \products .endm @ Opens the Pokemart system and treats the list of items as decorations. - .macro pokemartdecoration products + .macro pokemartdecoration products:req .byte 0x87 .4byte \products .endm @ Apparent clone of pokemartdecoration. - .macro pokemartdecoration2 products + .macro pokemartdecoration2 products:req .byte 0x88 .4byte \products .endm @ Starts up the slot machine minigame. - .macro playslotmachine word + .macro playslotmachine word:req .byte 0x89 .2byte \word .endm @ Sets a berry tree's specific berry and growth stage. In FireRed, this command is a nop. - .macro setberrytree tree_id, berry, growth_stage + .macro setberrytree tree_id:req, berry:req, growth_stage:req .byte 0x8a .byte \tree_id .byte \berry @@ -998,34 +1045,34 @@ .endm @ Stores a random integer between 0 and limit in variable 0x800D (LASTRESULT). - .macro random limit + .macro random limit:req .byte 0x8f .2byte \limit .endm @ If check is 0x00, this command adds value to the player's money. - .macro givemoney value, check + .macro givemoney value:req, check:req .byte 0x90 .4byte \value .byte \check .endm @ If check is 0x00, this command subtracts value from the player's money. - .macro takemoney value, check + .macro takemoney value:req, check:req .byte 0x91 .4byte \value .byte \check .endm @ If check is 0x00, this command will check if the player has value or more money; script variable 0x800D (LASTRESULT) is set to 0x0001 if the player has enough money, or 0x0000 if the do not. - .macro checkmoney value, check + .macro checkmoney value:req, check:req .byte 0x92 .4byte \value .byte \check .endm @ Spawns a secondary box showing how much money the player has. - .macro showmoneybox x, y, check + .macro showmoneybox x:req, y:req, check:req .byte 0x93 .byte \x .byte \y @@ -1038,67 +1085,67 @@ .endm @ Updates the secondary box spawned by showmoney. Consumes but does not use arguments. - .macro updatemoneybox x, y + .macro updatemoneybox x:req, y:req .byte 0x95 .byte \x .byte \y .endm @ Gets the price reduction for the index given. In FireRed, this command is a nop. - .macro getpricereduction index + .macro getpricereduction index:req .byte 0x96 .2byte \index .endm @ Fades the screen to and from black and white. Mode 0x00 fades from black, mode 0x01 fades out to black, mode 0x2 fades in from white, and mode 0x3 fades out to white. - .macro fadescreen effect + .macro fadescreen effect:req .byte 0x97 .byte \effect .endm @ Fades the screen to and from black and white. Mode 0x00 fades from black, mode 0x01 fades out to black, mode 0x2 fades in from white, and mode 0x3 fades out to white. Other modes may exist. - .macro fadescreenspeed effect, speed + .macro fadescreenspeed effect:req, speed:req .byte 0x98 .byte \effect .byte \speed .endm - .macro setflashradius word + .macro setflashradius word:req .byte 0x99 .2byte \word .endm - .macro animateflash byte + .macro animateflash byte:req .byte 0x9a .byte \byte .endm - .macro messageautoscroll pointer + .macro messageautoscroll pointer:req .byte 0x9b .4byte \pointer .endm @ Executes the specified field move animation. - .macro dofieldeffect animation + .macro dofieldeffect animation:req .byte 0x9c .2byte \animation .endm @ Sets up the field effect argument argument with the value value. - .macro setfieldeffectargument argument, param + .macro setfieldeffectargument argument:req, param:req .byte 0x9d .byte \argument .2byte \param .endm @ Blocks script execution until all playing field move animations complete. - .macro waitfieldeffect animation + .macro waitfieldeffect animation:req .byte 0x9e .2byte \animation .endm @ Sets which healing place the player will return to if all of the Pokemon in their party faint. - .macro setrespawn heallocation + .macro setrespawn heallocation:req .byte 0x9f .2byte \heallocation .endm @@ -1109,14 +1156,14 @@ .endm @ Plays the specified (species) Pokemon's cry. You can use waitcry to block script execution until the sound finishes. - .macro playmoncry species, effect + .macro playmoncry species:req, effect:req .byte 0xa1 .2byte \species .2byte \effect .endm @ Changes the metatile at (x, y) on the current map. - .macro setmetatile x, y, metatile_number, tile_attrib + .macro setmetatile x:req, y:req, metatile_number:req, tile_attrib:req .byte 0xa2 .2byte \x .2byte \y @@ -1130,7 +1177,7 @@ .endm @ Queues a weather change to type weather. - .macro setweather type + .macro setweather type:req .byte 0xa4 .2byte \type .endm @@ -1141,30 +1188,30 @@ .endm @ This command manages cases in which maps have tiles that change state when stepped on (specifically, cracked/breakable floors). - .macro setstepcallback subroutine + .macro setstepcallback subroutine:req .byte 0xa6 .byte \subroutine .endm - .macro setmaplayoutindex index + .macro setmaplayoutindex index:req .byte 0xa7 .2byte \index .endm - .macro setobjectpriority index, map, priority + .macro setobjectpriority index:req, map:req, priority:req .byte 0xa8 .2byte \index map \map .byte \priority .endm - .macro resetobjectpriority index, map + .macro resetobjectpriority index:req, map:req .byte 0xa9 .2byte \index map \map .endm - .macro createvobject sprite, byte2, x, y, elevation, direction + .macro createvobject sprite:req, byte2:req, x:req, y:req, elevation, direction .byte 0xaa .byte \sprite .byte \byte2 @@ -1174,21 +1221,21 @@ .byte \direction .endm - .macro turnvobject index, direction + .macro turnvobject index:req, direction:req .byte 0xab .byte \index .byte \direction .endm @ Opens the door metatile at (X, Y) with an animation. - .macro opendoor x, y + .macro opendoor x:req, y:req .byte 0xac .2byte \x .2byte \y .endm @ Closes the door metatile at (X, Y) with an animation. - .macro closedoor x, y + .macro closedoor x:req, y:req .byte 0xad .2byte \x .2byte \y @@ -1200,21 +1247,21 @@ .endm @ Sets the door tile at (x, y) to be open without an animation. - .macro setdooropen x, y + .macro setdooropen x:req, y:req .byte 0xaf .2byte \x .2byte \y .endm @ Sets the door tile at (x, y) to be closed without an animation. - .macro setdoorclosed x, y + .macro setdoorclosed x:req, y:req .byte 0xb0 .2byte \x .2byte \y .endm @ In Emerald, this command consumes its parameters and does nothing. In FireRed, this command is a nop. - .macro addelevmenuitem a, b, c, d + .macro addelevmenuitem a:req, b:req, c:req, d:req .byte 0xb1 .byte \a .2byte \b @@ -1227,23 +1274,23 @@ .byte 0xb2 .endm - .macro checkcoins out + .macro checkcoins out:req .byte 0xb3 .2byte \out .endm - .macro givecoins count + .macro givecoins count:req .byte 0xb4 .2byte \count .endm - .macro takecoins count + .macro takecoins count:req .byte 0xb5 .2byte \count .endm @ Prepares to start a wild battle against a species at Level level holding item. Running this command will not affect normal wild battles. You start the prepared battle with dowildbattle. - .macro setwildbattle species, level, item + .macro setwildbattle species:req, level:req, item:req .byte 0xb6 .2byte \species .byte \level @@ -1255,78 +1302,78 @@ .byte 0xb7 .endm - .macro setvaddress pointer + .macro setvaddress pointer:req .byte 0xb8 .4byte \pointer .endm - .macro vgoto pointer + .macro vgoto pointer:req .byte 0xb9 .4byte \pointer .endm - .macro vcall pointer + .macro vcall pointer:req .byte 0xba .4byte \pointer .endm - .macro vgoto_if byte, pointer + .macro vgoto_if byte:req, pointer:req .byte 0xbb .byte \byte .4byte \pointer .endm - .macro vcall_if byte, pointer + .macro vcall_if byte:req, pointer:req .byte 0xbc .byte \byte .4byte \pointer .endm - .macro vmessage pointer + .macro vmessage pointer:req .byte 0xbd .4byte \pointer .endm - .macro vloadptr pointer + .macro vloadptr pointer:req .byte 0xbe .4byte \pointer .endm - .macro vbufferstring byte, pointer + .macro vbufferstring byte:req, pointer:req .byte 0xbf .byte \byte .4byte \pointer .endm @ Spawns a secondary box showing how many Coins the player has. - .macro showcoinsbox x, y + .macro showcoinsbox x:req, y:req .byte 0xc0 .byte \x .byte \y .endm @ Hides the secondary box spawned by showcoins. It consumes its arguments but doesn't use them. - .macro hidecoinsbox x, y + .macro hidecoinsbox x:req, y:req .byte 0xc1 .byte \x .byte \y .endm @ Updates the secondary box spawned by showcoins. It consumes its arguments but doesn't use them. - .macro updatecoinsbox x, y + .macro updatecoinsbox x:req, y:req .byte 0xc2 .byte \x .byte \y .endm @ Increases the value of the specified game stat by 1. The stat's value will not be allowed to exceed 0x00FFFFFF. - .macro incrementgamestat stat + .macro incrementgamestat stat:req .byte 0xc3 .byte \stat .endm @ Sets the destination that using an Escape Rope or Dig will take the player to. - .macro setescapewarp map, warp, x, y + .macro setescapewarp map:req, warp:req, x:req, y:req .byte 0xc4 map \map .byte \warp @@ -1340,20 +1387,20 @@ .endm @ Writes the name of the specified (box) PC box to the specified buffer. - .macro bufferboxname out, box + .macro bufferboxname out:req, box:req .byte 0xc6 .byte \out .2byte \box .endm @ Sets the color of the text in standard message boxes. 0x00 produces blue (male) text, 0x01 produces red (female) text, 0xFF resets the color to the default for the current OW's gender, and all other values produce black text. - .macro textcolor color + .macro textcolor color:req .byte 0xc7 .byte \color .endm @ The exact purpose of this command is unknown, but it is related to the blue help-text box that appears on the bottom of the screen when the Main Menu is opened. - .macro loadhelp pointer + .macro loadhelp pointer:req .byte 0xc8 .4byte \pointer .endm @@ -1374,20 +1421,20 @@ .endm @ Compares the value of a hidden variable to a dword. - .macro comparehiddenvar a, value + .macro comparehiddenvar a:req, value:req .byte 0xcc .byte \a .4byte \value .endm @ Makes the Pokemon in the specified slot of the player's party obedient. It will not randomly disobey orders in battle. - .macro setmonobedient slot + .macro setmonobedient slot:req .byte 0xcd .2byte \slot .endm @ Checks if the Pokemon in the specified slot of the player's party is obedient. If the Pokemon is disobedient, 0x0001 is written to script variable 0x800D (LASTRESULT). If the Pokemon is obedient (or if the specified slot is empty or invalid), 0x0000 is written. - .macro checkmonobedience slot + .macro checkmonobedience slot:req .byte 0xce .2byte \slot .endm @@ -1398,13 +1445,13 @@ .endm @ Sets worldmapflag to 1. This allows the player to Fly to the corresponding map, if that map has a flightspot. - .macro setworldmapflag worldmapflag + .macro setworldmapflag worldmapflag:req .byte 0xd0 .2byte \worldmapflag .endm @ Clone of warpteleport? It is apparently only used in FR/LG, and only with specials.[source] - .macro warpteleport2 map, warp, x, y + .macro warpteleport2 map:req, warp:req, x:req, y:req .byte 0xd1 map \map .byte \warp @@ -1413,13 +1460,13 @@ .endm @ Changes the location where the player caught the Pokemon in the specified slot of their party. - .macro setmonmetlocation slot, location + .macro setmonmetlocation slot:req, location:req .byte 0xd2 .2byte \slot .byte \location .endm - .macro mossdeepgym1 unknown + .macro mossdeepgym1 unknown:req .byte 0xd3 .2byte \unknown .endm @@ -1429,7 +1476,7 @@ .endm @ In FireRed, this command is a nop. - .macro mossdeepgym3 var + .macro mossdeepgym3 var:req .byte 0xd5 .2byte \var .endm @@ -1438,7 +1485,7 @@ .byte 0xd6 .endm - .macro warp7 map, byte, word1, word2 + .macro warp7 map:req, byte:req, word1:req, word2:req .byte 0xd7 map \map .byte \byte @@ -1458,34 +1505,34 @@ .byte 0xda .endm - .macro message3 pointer + .macro message3 pointer:req .byte 0xdb .4byte \pointer .endm - .macro fadescreenswapbuffers byte + .macro fadescreenswapbuffers byte:req .byte 0xdc .byte \byte .endm - .macro buffertrainerclassname out, class + .macro buffertrainerclassname out:req, class:req .byte 0xdd .byte \out .2byte \class .endm - .macro buffertrainername out, trainer + .macro buffertrainername out:req, trainer:req .byte 0xde .byte \out .2byte \trainer .endm - .macro pokenavcall pointer + .macro pokenavcall pointer:req .byte 0xdf .4byte \pointer .endm - .macro warp8 map, byte, word1, word2 + .macro warp8 map:req, byte:req, word1:req, word2:req .byte 0xe0 map \map .byte \byte @@ -1493,14 +1540,14 @@ .2byte \word2 .endm - .macro buffercontesttypestring out, word + .macro buffercontesttypestring out:req, word:req .byte 0xe1 .byte \out .2byte \word .endm @ Writes the name of the specified (item) item to the specified buffer. If the specified item is a Berry (0x85 - 0xAE) or Poke Ball (0x4) and if the quantity is 2 or more, the buffered string will be pluralized ("IES" or "S" appended). If the specified item is the Enigma Berry, I have no idea what this command does (but testing showed no pluralization). If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead. - .macro bufferitemnameplural out, item, quantity + .macro bufferitemnameplural out:req, item:req, quantity:req .byte 0xe2 .byte \out .2byte \item @@ -1510,37 +1557,48 @@ @ Supplementary - .macro goto_eq dest + .macro goto_eq dest:req goto_if 1, \dest .endm - .macro switch var + .macro switch var:req copyvar 0x8000, \var .endm - .macro case condition, dest + .macro case condition:req, dest:req compare 0x8000, \condition goto_eq \dest .endm - .macro msgbox text, type=4 - loadword 0, \text - callstd \type - .endm - @ Message box types + MSGBOX_NPC = 2 + MSGBOX_SIGN = 3 + MSGBOX_DEFAULT = 4 MSGBOX_YESNO = 5 + MSGBOX_AUTOCLOSE = 6 YES = 1 NO = 0 - .macro giveitem_std item, amount=1, function=0 + .macro msgbox text:req, type=MSGBOX_DEFAULT + loadword 0, \text + callstd \type + .endm + + .macro giveitem_std item:req, amount=1, function=0 setorcopyvar 0x8000, \item setorcopyvar 0x8001, \amount callstd \function .endm - .macro givedecoration_std decoration + .macro givedecoration_std decoration:req setorcopyvar 0x8000, \decoration - callstd 7 + callstd STD_OBTAIN_DECORATION + .endm + + .macro register_matchcall trainer:req + setvar VAR_0x8004, \trainer + special SetMatchCallRegisteredFlag + setorcopyvar VAR_0x8000, \trainer + callstd STD_REGISTER_MATCH_CALL .endm diff --git a/asm/normal.s b/asm/normal.s deleted file mode 100644 index 3ee1308c9..000000000 --- a/asm/normal.s +++ /dev/null @@ -1,1876 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_811572C -sub_811572C: @ 811572C - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gBattleAnimArgs - ldrh r0, [r5] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x2E] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _0811576C - ldrh r0, [r5, 0x6] - negs r0, r0 - strh r0, [r4, 0x30] - movs r0, 0x1 - strh r0, [r4, 0x36] - b _0811577A - .pool -_0811576C: - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x30] - strh r1, [r4, 0x36] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim -_0811577A: - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x8] - strh r0, [r4, 0x34] - ldr r1, =sub_8115798 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811572C - - thumb_func_start sub_8115798 -sub_8115798: @ 8115798 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x1E - bl Cos - strh r0, [r4, 0x24] - movs r2, 0x2E - ldrsh r0, [r4, r2] - movs r1, 0xA - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - cmp r0, 0x7F - bhi _081157CA - ldrb r0, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r4, 0x5] - b _081157D2 -_081157CA: - ldrb r0, [r4, 0x5] - movs r1, 0xC - orrs r0, r1 - strb r0, [r4, 0x5] -_081157D2: - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x2E] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x34 - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _081157F6 - adds r0, r4, 0 - bl DestroyAnimSprite -_081157F6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8115798 - - thumb_func_start sub_81157FC -sub_81157FC: @ 81157FC - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldr r4, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r4, r1] - bl sub_811583C - movs r1, 0x2 - ldrsb r1, [r4, r1] - ldrb r2, [r4, 0x4] - ldrb r3, [r4, 0x6] - ldrh r4, [r4, 0x8] - str r4, [sp] - bl BeginNormalPaletteFade - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =sub_8115884 - str r0, [r5, 0x1C] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81157FC - - thumb_func_start sub_811583C -sub_811583C: @ 811583C - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - lsls r0, 16 - lsrs r0, 16 - movs r4, 0x1 - mov r8, r0 - mov r1, r8 - ands r1, r4 - mov r8, r1 - lsls r0, 16 - asrs r1, r0, 17 - ands r1, r4 - asrs r2, r0, 18 - ands r2, r4 - asrs r3, r0, 19 - ands r3, r4 - asrs r6, r0, 20 - ands r6, r4 - asrs r5, r0, 21 - ands r5, r4 - asrs r0, 22 - ands r0, r4 - str r6, [sp] - str r5, [sp, 0x4] - str r0, [sp, 0x8] - mov r0, r8 - bl sub_80A75AC - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_811583C - - thumb_func_start sub_8115884 -sub_8115884: @ 8115884 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0811589A - adds r0, r2, 0 - bl DestroyAnimSprite -_0811589A: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8115884 - - thumb_func_start sub_81158A4 -sub_81158A4: @ 81158A4 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =gBattleAnimArgs - ldrh r0, [r4, 0x2] - strh r0, [r5, 0x2E] - strh r0, [r5, 0x30] - ldrh r0, [r4, 0x4] - strh r0, [r5, 0x32] - ldrh r0, [r4, 0x6] - strh r0, [r5, 0x34] - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x36] - ldrh r0, [r4, 0xA] - strh r0, [r5, 0x38] - ldrh r0, [r4, 0xC] - strh r0, [r5, 0x3A] - ldrh r0, [r4] - strh r0, [r5, 0x3C] - movs r1, 0x3C - ldrsh r0, [r5, r1] - bl sub_811583C - ldrb r1, [r4, 0x8] - ldrh r2, [r4, 0x6] - bl BlendPalettes - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =sub_81158F8 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81158A4 - - thumb_func_start sub_81158F8 -sub_81158F8: @ 81158F8 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _0811590C - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - b _0811597C -_0811590C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0811597C - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08115930 - ldr r0, =sub_8115984 - str r0, [r4, 0x1C] - b _0811597C - .pool -_08115930: - movs r2, 0x3C - ldrsh r0, [r4, r2] - bl sub_811583C - adds r3, r0, 0 - ldrh r1, [r4, 0x30] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _08115956 - ldrh r1, [r4, 0x36] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x34] - adds r0, r3, 0 - bl BlendPalettes - b _08115964 -_08115956: - ldrh r1, [r4, 0x3A] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x38] - adds r0, r3, 0 - bl BlendPalettes -_08115964: - ldrh r0, [r4, 0x30] - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - eors r0, r1 - strh r0, [r4, 0x30] - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x32] - subs r0, 0x1 - strh r0, [r4, 0x32] -_0811597C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81158F8 - - thumb_func_start sub_8115984 -sub_8115984: @ 8115984 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081159AA - movs r1, 0x3C - ldrsh r0, [r4, r1] - bl sub_811583C - movs r1, 0 - movs r2, 0 - bl BlendPalettes - adds r0, r4, 0 - bl DestroyAnimSprite -_081159AA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8115984 - - thumb_func_start sub_81159B4 -sub_81159B4: @ 81159B4 - push {r4,lr} - adds r4, r0, 0 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - movs r2, 0 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - strh r2, [r4, 0x2E] - movs r0, 0xA - strh r0, [r4, 0x30] - movs r0, 0x8 - strh r0, [r4, 0x32] - movs r0, 0x28 - strh r0, [r4, 0x34] - movs r0, 0x70 - strh r0, [r4, 0x36] - strh r2, [r4, 0x38] - ldr r1, =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r1, =sub_80A634C - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81159B4 - - thumb_func_start sub_8115A04 -sub_8115A04: @ 8115A04 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldr r3, =gBattleAnimArgs - ldrh r1, [r3] - movs r5, 0 - strh r1, [r4, 0x8] - ldrh r1, [r3, 0x2] - strh r1, [r4, 0xA] - ldrh r1, [r3, 0x4] - strh r1, [r4, 0xC] - ldrh r1, [r3, 0x6] - strh r1, [r4, 0xE] - ldrh r2, [r3, 0x8] - strh r2, [r4, 0x10] - ldrh r1, [r3, 0xA] - strh r1, [r4, 0x12] - strh r5, [r4, 0x18] - lsls r2, 24 - lsrs r2, 24 - movs r1, 0 - bl sub_8115A54 - ldr r0, =sub_8115AA4 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8115A04 - - thumb_func_start sub_8115A54 -sub_8115A54: @ 8115A54 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - bl sub_811583C - movs r1, 0xA - ldrsb r1, [r4, r1] - ldrh r2, [r4, 0x12] - str r2, [sp] - adds r2, r5, 0 - adds r3, r6, 0 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x18] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x18] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8115A54 - - thumb_func_start sub_8115AA4 -sub_8115AA4: @ 8115AA4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - adds r4, r3, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08115B06 - ldr r1, =gTasks - lsls r2, r3, 2 - adds r0, r2, r3 - lsls r0, 3 - adds r3, r0, r1 - movs r5, 0xC - ldrsh r0, [r3, r5] - adds r6, r1, 0 - adds r5, r2, 0 - cmp r0, 0 - ble _08115B00 - movs r1, 0x18 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _08115AE4 - ldrb r1, [r3, 0xE] - ldrb r2, [r3, 0x10] - b _08115AE8 - .pool -_08115AE4: - ldrb r1, [r3, 0x10] - ldrb r2, [r3, 0xE] -_08115AE8: - adds r0, r5, r4 - lsls r0, 3 - adds r0, r6 - movs r3, 0xC - ldrsh r0, [r0, r3] - cmp r0, 0x1 - bne _08115AF8 - movs r2, 0 -_08115AF8: - adds r0, r4, 0 - bl sub_8115A54 - b _08115B06 -_08115B00: - adds r0, r4, 0 - bl DestroyAnimVisualTask -_08115B06: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8115AA4 - - thumb_func_start sub_8115B0C -sub_8115B0C: @ 8115B0C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - ldr r3, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r3 - ldr r2, =gBattleAnimArgs - ldrh r1, [r2] - strh r1, [r0, 0x8] - ldrh r1, [r2, 0x2] - strh r1, [r0, 0xA] - ldrh r1, [r2, 0x4] - strh r1, [r0, 0xC] - ldrh r1, [r2, 0x6] - strh r1, [r0, 0xE] - ldrh r1, [r2, 0x8] - strh r1, [r0, 0x10] - ldrh r1, [r2, 0xA] - strh r1, [r0, 0x12] - strh r5, [r0, 0x18] - movs r4, 0 - ldr r0, =gBattlersCount - ldrb r1, [r0] - mov r9, r3 - mov r8, r2 - cmp r5, r1 - bge _08115B74 - ldr r0, =gBattleAnimAttacker - ldrb r3, [r0] - ldr r7, =gBattleAnimTarget - movs r0, 0x1 - mov r12, r0 - adds r2, r1, 0 -_08115B5A: - cmp r4, r3 - beq _08115B6E - ldrb r1, [r7] - cmp r4, r1 - beq _08115B6E - adds r1, r4, 0 - adds r1, 0x10 - mov r0, r12 - lsls r0, r1 - orrs r5, r0 -_08115B6E: - adds r4, 0x1 - cmp r4, r2 - blt _08115B5A -_08115B74: - mov r2, r8 - movs r1, 0 - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bne _08115B82 - movs r0, 0xE - orrs r5, r0 -_08115B82: - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - add r4, r9 - lsrs r0, r5, 16 - strh r0, [r4, 0x1A] - movs r0, 0xFF - ands r5, r0 - strh r5, [r4, 0x1C] - ldrb r2, [r4, 0x10] - adds r0, r6, 0 - movs r1, 0 - bl sub_8115BC8 - ldr r0, =sub_8115C18 - str r0, [r4] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8115B0C - - thumb_func_start sub_8115BC8 -sub_8115BC8: @ 8115BC8 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r1, 0 - adds r3, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrh r0, [r4, 0x1A] - lsls r0, 16 - ldrh r1, [r4, 0x1C] - orrs r0, r1 - movs r1, 0xA - ldrsb r1, [r4, r1] - ldrh r2, [r4, 0x12] - str r2, [sp] - adds r2, r5, 0 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x18] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x18] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8115BC8 - - thumb_func_start sub_8115C18 -sub_8115C18: @ 8115C18 - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - adds r4, r3, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08115C7A - ldr r1, =gTasks - lsls r2, r3, 2 - adds r0, r2, r3 - lsls r0, 3 - adds r3, r0, r1 - movs r5, 0xC - ldrsh r0, [r3, r5] - adds r6, r1, 0 - adds r5, r2, 0 - cmp r0, 0 - ble _08115C74 - movs r1, 0x18 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _08115C58 - ldrb r1, [r3, 0xE] - ldrb r2, [r3, 0x10] - b _08115C5C - .pool -_08115C58: - ldrb r1, [r3, 0x10] - ldrb r2, [r3, 0xE] -_08115C5C: - adds r0, r5, r4 - lsls r0, 3 - adds r0, r6 - movs r3, 0xC - ldrsh r0, [r0, r3] - cmp r0, 0x1 - bne _08115C6C - movs r2, 0 -_08115C6C: - adds r0, r4, 0 - bl sub_8115BC8 - b _08115C7A -_08115C74: - adds r0, r4, 0 - bl DestroyAnimVisualTask -_08115C7A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8115C18 - - thumb_func_start sub_8115C80 -sub_8115C80: @ 8115C80 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldr r3, =gBattleAnimArgs - ldrh r1, [r3] - movs r5, 0 - strh r1, [r4, 0x8] - ldrh r1, [r3, 0x2] - strh r1, [r4, 0xA] - ldrh r1, [r3, 0x4] - strh r1, [r4, 0xC] - ldrh r1, [r3, 0x6] - strh r1, [r4, 0xE] - ldrh r2, [r3, 0x8] - strh r2, [r4, 0x10] - ldrh r1, [r3, 0xA] - strh r1, [r4, 0x12] - strh r5, [r4, 0x18] - lsls r2, 24 - lsrs r2, 24 - movs r1, 0 - bl sub_8115CD0 - ldr r0, =sub_8115D2C - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8115C80 - - thumb_func_start sub_8115CD0 -sub_8115CD0: @ 8115CD0 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrh r0, [r4, 0x8] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - movs r2, 0x1 - lsls r2, r0 - movs r1, 0xA - ldrsb r1, [r4, r1] - ldrh r0, [r4, 0x12] - str r0, [sp] - adds r0, r2, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x18] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x18] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8115CD0 - - thumb_func_start sub_8115D2C -sub_8115D2C: @ 8115D2C - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - adds r4, r3, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08115D8E - ldr r1, =gTasks - lsls r2, r3, 2 - adds r0, r2, r3 - lsls r0, 3 - adds r3, r0, r1 - movs r5, 0xC - ldrsh r0, [r3, r5] - adds r6, r1, 0 - adds r5, r2, 0 - cmp r0, 0 - ble _08115D88 - movs r1, 0x18 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _08115D6C - ldrb r1, [r3, 0xE] - ldrb r2, [r3, 0x10] - b _08115D70 - .pool -_08115D6C: - ldrb r1, [r3, 0x10] - ldrb r2, [r3, 0xE] -_08115D70: - adds r0, r5, r4 - lsls r0, 3 - adds r0, r6 - movs r3, 0xC - ldrsh r0, [r0, r3] - cmp r0, 0x1 - bne _08115D80 - movs r2, 0 -_08115D80: - adds r0, r4, 0 - bl sub_8115CD0 - b _08115D8E -_08115D88: - adds r0, r4, 0 - bl DestroyAnimVisualTask -_08115D8E: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8115D2C - - thumb_func_start sub_8115D94 -sub_8115D94: @ 8115D94 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldr r5, =gBattleAnimArgs - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x8] - ldrh r0, [r5, 0x2] - strh r0, [r4, 0xA] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0xC] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0xE] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x10] - ldrh r0, [r5, 0xA] - strh r0, [r4, 0x12] - ldrh r0, [r5, 0xC] - strh r0, [r4, 0x14] - ldrh r0, [r5] - strh r0, [r4, 0x16] - ldrh r0, [r5] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - movs r1, 0x1 - lsls r1, r0 - ldrb r3, [r5, 0x8] - ldrh r0, [r5, 0x6] - str r0, [sp] - adds r0, r1, 0 - movs r1, 0 - adds r2, r3, 0 - bl BeginNormalPaletteFade - ldr r0, =sub_8115E00 - str r0, [r4] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8115D94 - - thumb_func_start sub_8115E00 -sub_8115E00: @ 8115E00 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0x8] - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _08115E28 - subs r0, r1, 0x1 - strh r0, [r4, 0x8] - b _08115EAC - .pool -_08115E28: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08115EAC - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _08115E4C - ldr r0, =sub_8115EB8 - str r0, [r4] - b _08115EAC - .pool -_08115E4C: - ldrh r0, [r4, 0x16] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - movs r2, 0x1 - lsls r2, r0 - ldrh r1, [r4, 0xA] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _08115E7A - ldrb r3, [r4, 0x10] - ldrh r0, [r4, 0xE] - str r0, [sp] - adds r0, r2, 0 - movs r1, 0 - adds r2, r3, 0 - bl BeginNormalPaletteFade - b _08115E8A -_08115E7A: - ldrb r3, [r4, 0x14] - ldrh r0, [r4, 0x12] - str r0, [sp] - adds r0, r2, 0 - movs r1, 0 - adds r2, r3, 0 - bl BeginNormalPaletteFade -_08115E8A: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xA] - movs r3, 0x80 - lsls r3, 1 - adds r2, r3, 0 - eors r0, r2 - strh r0, [r1, 0xA] - movs r2, 0xFF - ands r0, r2 - strh r0, [r1, 0x8] - ldrh r0, [r1, 0xC] - subs r0, 0x1 - strh r0, [r1, 0xC] -_08115EAC: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8115E00 - - thumb_func_start sub_8115EB8 -sub_8115EB8: @ 8115EB8 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _08115EFE - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x16] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - movs r1, 0x1 - lsls r1, r0 - str r5, [sp] - adds r0, r1, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl BeginNormalPaletteFade - adds r0, r4, 0 - bl DestroyAnimVisualTask -_08115EFE: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8115EB8 - - thumb_func_start sub_8115F10 -sub_8115F10: @ 8115F10 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r2, 0 - ldr r0, =gBattleAnimAttacker - ldrb r6, [r0] - ldr r0, =gBattleAnimTarget - ldrb r7, [r0] - ldr r4, =gBattleAnimArgs - ldrh r1, [r4] - movs r5, 0x80 - lsls r5, 1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _08115F4A - str r2, [sp] - str r2, [sp, 0x4] - str r2, [sp, 0x8] - movs r0, 0x1 - movs r1, 0 - movs r3, 0 - bl sub_80A75AC - adds r2, r0, 0 -_08115F4A: - ldrh r1, [r4, 0x2] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _08115F5C - movs r0, 0x80 - lsls r0, 9 - lsls r0, r6 - orrs r2, r0 -_08115F5C: - ldrh r1, [r4, 0x4] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _08115F6E - movs r0, 0x80 - lsls r0, 9 - lsls r0, r7 - orrs r2, r0 -_08115F6E: - adds r0, r2, 0 - bl InvertPlttBuffer - mov r0, r8 - bl DestroyAnimVisualTask - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8115F10 - - thumb_func_start sub_8115F94 -sub_8115F94: @ 8115F94 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r5, 0 - ldr r1, =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08115FD6 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r4, 0xC] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0xE] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x10] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0xA] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x12] - ldrh r0, [r1, 0xA] - strh r0, [r4, 0x14] - ldrh r0, [r1, 0xC] - strh r0, [r4, 0x16] -_08115FD6: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - mov r9, r0 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - mov r10, r0 - ldrh r1, [r4, 0xC] - movs r7, 0x80 - lsls r7, 1 - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _08115FF8 - ldr r5, =0x0000ffff -_08115FF8: - movs r6, 0x1 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _08116028 - ldr r2, =gSprites - ldr r0, =gHealthboxSpriteIds - add r0, r9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x14 - adds r0, r2 - ldr r0, [r0] - ldrh r0, [r0, 0x2] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - adds r1, r6, 0 - lsls r1, r0 - lsls r1, 16 - orrs r5, r1 -_08116028: - ldrh r1, [r4, 0xE] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _0811603C - adds r0, r6, 0 - mov r2, r9 - lsls r0, r2 - lsls r0, 16 - orrs r5, r0 -_0811603C: - ldrh r1, [r4, 0x10] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _08116050 - adds r0, r6, 0 - mov r1, r10 - lsls r0, r1 - lsls r0, 16 - orrs r5, r0 -_08116050: - movs r1, 0x12 - ldrsb r1, [r4, r1] - movs r2, 0x14 - ldrsb r2, [r4, r2] - movs r3, 0x16 - ldrsb r3, [r4, r3] - adds r0, r5, 0 - bl TintPlttBuffer - movs r2, 0x8 - ldrsh r1, [r4, r2] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _0811607A - adds r0, r5, 0 - bl UnfadePlttBuffer - mov r0, r8 - bl DestroyAnimVisualTask -_0811607A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8115F94 - - thumb_func_start sub_81160A4 -sub_81160A4: @ 81160A4 - push {r4,lr} - adds r4, r0, 0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - negs r0, r0 - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x30] - strh r0, [r4, 0x32] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x34] - movs r2, 0x6 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _081160EC - cmp r0, 0x1 - bgt _081160DC - cmp r0, 0 - beq _081160E2 - b _08116104 - .pool -_081160DC: - cmp r0, 0x2 - beq _081160F4 - b _08116104 -_081160E2: - ldr r1, =gBattle_BG3_X - b _081160F6 - .pool -_081160EC: - ldr r1, =gBattle_BG3_Y - b _081160F6 - .pool -_081160F4: - ldr r1, =gSpriteCoordOffsetX -_081160F6: - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - b _0811610C - .pool -_08116104: - ldr r1, =gSpriteCoordOffsetY - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 -_0811610C: - movs r0, 0x3A - ldrsh r1, [r4, r0] - movs r2, 0x3C - ldrsh r0, [r4, r2] - lsls r0, 16 - orrs r1, r0 - ldrh r0, [r1] - strh r0, [r4, 0x36] - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x6] - strh r0, [r4, 0x38] - subs r0, 0x2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _08116130 - bl sub_81161F4 -_08116130: - ldr r0, =sub_8116148 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81160A4 - - thumb_func_start sub_8116148 -sub_8116148: @ 8116148 - push {r4-r7,lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x34] - movs r2, 0x34 - ldrsh r0, [r3, r2] - cmp r0, 0 - ble _0811618A - subs r0, r1, 0x1 - strh r0, [r3, 0x34] - ldrh r1, [r3, 0x30] - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r0, 0 - ble _0811616A - subs r0, r1, 0x1 - strh r0, [r3, 0x30] - b _081161E2 -_0811616A: - ldrh r0, [r3, 0x32] - strh r0, [r3, 0x30] - movs r0, 0x3A - ldrsh r1, [r3, r0] - movs r2, 0x3C - ldrsh r0, [r3, r2] - lsls r0, 16 - orrs r1, r0 - ldrh r0, [r3, 0x2E] - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - ldrh r0, [r3, 0x2E] - negs r0, r0 - strh r0, [r3, 0x2E] - b _081161E2 -_0811618A: - movs r0, 0x3A - ldrsh r1, [r3, r0] - movs r2, 0x3C - ldrsh r0, [r3, r2] - lsls r0, 16 - orrs r1, r0 - ldrh r0, [r3, 0x36] - strh r0, [r1] - ldrh r0, [r3, 0x38] - subs r0, 0x2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _081161DC - movs r4, 0 - ldr r5, =gBattlersCount - ldrb r0, [r5] - cmp r4, r0 - bcs _081161DC - ldr r2, =gSprites - mov r12, r2 - ldr r6, =gBattlerSpriteIds - movs r7, 0x3 - negs r7, r7 -_081161BA: - adds r0, r4, r6 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r12 - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r7, 0 - ands r0, r2 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r5] - cmp r4, r0 - bcc _081161BA -_081161DC: - adds r0, r3, 0 - bl DestroyAnimSprite -_081161E2: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8116148 - - thumb_func_start sub_81161F4 -sub_81161F4: @ 81161F4 - push {r4-r6,lr} - ldr r6, =gSprites - ldr r4, =gBattlerSpriteIds - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x3 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r3, =gBattleAnimTarget - ldrb r0, [r3] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - ldr r0, =gBattleAnimArgs - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0x2 - bne _0811627C - ldrb r0, [r5] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] - ldrb r0, [r3] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - b _08116298 - .pool -_0811627C: - cmp r0, 0 - bne _08116284 - ldrb r0, [r5] - b _08116286 -_08116284: - ldrb r0, [r3] -_08116286: - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x2 -_08116298: - orrs r1, r2 - strb r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81161F4 - - thumb_func_start sub_81162A4 -sub_81162A4: @ 81162A4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r1 - ldr r3, =gBattleAnimArgs - ldrh r1, [r3] - strh r1, [r2, 0x8] - ldrh r1, [r3, 0x2] - strh r1, [r2, 0xA] - ldrh r1, [r3, 0x4] - strh r1, [r2, 0xC] - ldrh r1, [r3, 0x6] - strh r1, [r2, 0xE] - ldrh r1, [r3, 0x6] - strh r1, [r2, 0x18] - ldr r4, =gBattle_BG3_X - ldrh r1, [r3] - strh r1, [r4] - ldr r4, =gBattle_BG3_Y - ldrh r1, [r3, 0x2] - strh r1, [r4] - ldr r1, =sub_81162F8 - str r1, [r2] - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81162A4 - - thumb_func_start sub_81162F8 -sub_81162F8: @ 81162F8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r3, r0, r1 - ldrh r2, [r3, 0xE] - movs r4, 0xE - ldrsh r0, [r3, r4] - mov r12, r1 - cmp r0, 0 - bne _0811637E - ldr r0, =gBattle_BG3_X - ldrh r2, [r0] - movs r7, 0x8 - ldrsh r1, [r3, r7] - adds r6, r0, 0 - cmp r2, r1 - bne _08116330 - ldrh r0, [r3, 0x8] - negs r0, r0 - b _08116332 - .pool -_08116330: - ldrh r0, [r3, 0x8] -_08116332: - strh r0, [r6] - ldr r2, =gBattle_BG3_Y - ldrh r3, [r2] - lsls r1, r5, 2 - adds r0, r1, r5 - lsls r0, 3 - mov r7, r12 - adds r4, r0, r7 - movs r7, 0xA - ldrsh r0, [r4, r7] - cmn r3, r0 - bne _08116354 - movs r0, 0 - b _08116358 - .pool -_08116354: - ldrh r0, [r4, 0xA] - negs r0, r0 -_08116358: - strh r0, [r2] - adds r0, r1, r5 - lsls r0, 3 - add r0, r12 - ldrh r1, [r0, 0x18] - strh r1, [r0, 0xE] - ldrh r1, [r0, 0xC] - subs r1, 0x1 - strh r1, [r0, 0xC] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0 - bne _08116382 - strh r1, [r6] - strh r1, [r2] - adds r0, r5, 0 - bl DestroyAnimVisualTask - b _08116382 -_0811637E: - subs r0, r2, 0x1 - strh r0, [r3, 0xE] -_08116382: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81162F8 - - thumb_func_start sub_8116388 -sub_8116388: @ 8116388 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =gBattleAnimArgs - ldrb r1, [r4, 0x6] - bl StartSpriteAffineAnim - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081163AC - adds r0, r5, 0 - movs r1, 0x1 - bl InitAnimSpritePos - b _081163B4 - .pool -_081163AC: - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80A6980 -_081163B4: - ldr r0, =sub_80A67BC - str r0, [r5, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8116388 - - thumb_func_start sub_81163D0 -sub_81163D0: @ 81163D0 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =gBattleAnimArgs - ldrb r1, [r4, 0x6] - bl StartSpriteAffineAnim - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081163F4 - adds r0, r5, 0 - movs r1, 0x1 - bl InitAnimSpritePos - b _081163FC - .pool -_081163F4: - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80A6980 -_081163FC: - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x8] - strh r0, [r5, 0x2E] - ldr r0, =sub_80A67BC - str r0, [r5, 0x1C] - ldr r1, =sub_810E2C8 - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81163D0 - - thumb_func_start sub_8116420 -sub_8116420: @ 8116420 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08116444 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _08116444 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] -_08116444: - adds r0, r4, 0 - bl sub_8116388 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8116420 - - thumb_func_start sub_8116458 -sub_8116458: @ 8116458 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gBattleAnimArgs - movs r0, 0x2 - ldrsh r1, [r5, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _08116474 - bl Random2 - movs r1, 0x3 - ands r1, r0 - strh r1, [r5, 0x2] -_08116474: - ldrb r1, [r5, 0x2] - adds r0, r4, 0 - bl StartSpriteAffineAnim - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _08116494 - adds r0, r4, 0 - movs r1, 0 - bl InitAnimSpritePos - b _0811649C - .pool -_08116494: - adds r0, r4, 0 - movs r1, 0 - bl sub_80A6980 -_0811649C: - bl Random2 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x30 - bl __umodsi3 - ldr r1, =0x0000ffe8 - adds r0, r1 - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - bl Random2 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x18 - bl __umodsi3 - ldr r1, =0x0000fff4 - adds r0, r1 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldr r1, =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A67BC - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8116458 - - thumb_func_start sub_81164F0 -sub_81164F0: @ 81164F0 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gBattleAnimArgs - ldrb r0, [r5] - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - ldrh r0, [r0, 0x20] - adds r1, r0 - strh r1, [r4, 0x20] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r1, r0 - strh r1, [r4, 0x22] - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x24] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x26] - ldrb r1, [r5, 0x6] - adds r0, r4, 0 - bl StartSpriteAffineAnim - ldr r1, =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A67BC - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81164F0 - - thumb_func_start sub_8116560 -sub_8116560: @ 8116560 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0811657C - adds r0, r4, 0 - movs r1, 0x1 - bl InitAnimSpritePos - b _08116584 - .pool -_0811657C: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80A6980 -_08116584: - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x6] - strh r0, [r4, 0x2E] - ldr r1, =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =WaitAnimForDuration - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8116560 - - thumb_func_start sub_81165A8 -sub_81165A8: @ 81165A8 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =gBattleAnimArgs - ldrb r1, [r4, 0x6] - bl StartSpriteAffineAnim - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081165CC - adds r0, r5, 0 - movs r1, 0x1 - bl InitAnimSpritePos - b _081165D4 - .pool -_081165CC: - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80A6980 -_081165D4: - ldr r0, =sub_81165E4 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81165A8 - - thumb_func_start sub_81165E4 -sub_81165E4: @ 81165E4 - push {lr} - adds r3, r0, 0 - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r3, 0x2E] - adds r1, r0, 0x1 - strh r1, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - ble _0811661A - adds r0, r3, 0 - bl DestroyAnimSprite -_0811661A: - pop {r0} - bx r0 - thumb_func_end sub_81165E4 - - .align 2, 0 diff --git a/asm/pokedex_area_screen.s b/asm/pokedex_area_screen.s deleted file mode 100644 index 579788e14..000000000 --- a/asm/pokedex_area_screen.s +++ /dev/null @@ -1,1892 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_813CA54 -sub_813CA54: @ 813CA54 - ldr r0, =gUnknown_0203AB7C - ldr r0, [r0] - movs r1, 0x8A - lsls r1, 1 - adds r0, r1 - movs r1, 0 - strh r1, [r0] - bx lr - .pool - thumb_func_end sub_813CA54 - - thumb_func_start sub_813CA68 -sub_813CA68: @ 813CA68 - push {lr} - sub sp, 0x4 - ldr r0, =gUnknown_0203AB7C - ldr r0, [r0] - movs r1, 0x8A - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0x4 - bhi _0813CB20 - lsls r0, 2 - ldr r1, =_0813CA90 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813CA90: - .4byte _0813CAA4 - .4byte _0813CAB4 - .4byte _0813CABA - .4byte _0813CAEC - .4byte _0813CB10 -_0813CAA4: - ldr r0, =gUnknown_0203AB7C - ldr r0, [r0] - ldrh r0, [r0, 0xE] - bl sub_813CB40 - b _0813CB24 - .pool -_0813CAB4: - bl sub_813CF0C - b _0813CB24 -_0813CABA: - ldr r1, =gUnknown_085B3DB4 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r0, =gUnknown_0203AB7C - ldr r1, [r0] - movs r0, 0x8B - lsls r0, 1 - adds r1, r0 - movs r2, 0xA0 - lsls r2, 3 - movs r0, 0x2 - movs r3, 0 - bl LoadBgTilemap - b _0813CB24 - .pool -_0813CAEC: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _0813CB34 - ldr r0, =gUnknown_085B3D94 - ldr r1, =gPlttBufferUnfaded + 0x140 - ldr r2, =0x04000008 - bl CpuSet - b _0813CB24 - .pool -_0813CB10: - ldr r1, =0xfffff800 - movs r0, 0x2 - movs r2, 0 - bl ChangeBgY - b _0813CB24 - .pool -_0813CB20: - movs r0, 0 - b _0813CB36 -_0813CB24: - ldr r0, =gUnknown_0203AB7C - ldr r1, [r0] - movs r0, 0x8A - lsls r0, 1 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0813CB34: - movs r0, 0x1 -_0813CB36: - add sp, 0x4 - pop {r1} - bx r1 - .pool - thumb_func_end sub_813CA68 - - thumb_func_start sub_813CB40 -sub_813CB40: @ 813CB40 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 16 - lsrs r7, r0, 16 - ldr r5, =gUnknown_0203AB7C - ldr r0, [r5] - ldr r1, =0x000006e2 - adds r0, r1 - movs r4, 0 - strh r4, [r0] - ldr r0, =0x0000403e - bl VarGet - ldr r1, [r5] - ldr r2, =0x000006e4 - adds r1, r2 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x8 - bls _0813CB70 - strh r4, [r1] -_0813CB70: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r3, =0x000031dc - adds r0, r3 - ldrh r1, [r0, 0x8] - cmp r7, r1 - bne _0813CB80 - b _0813CCB8 -_0813CB80: - ldr r1, [r5] - movs r2, 0x88 - lsls r2, 1 - adds r0, r1, r2 - strh r4, [r0] - movs r3, 0x89 - lsls r3, 1 - adds r0, r1, r3 - strh r4, [r0] - movs r6, 0 - ldr r1, =gUnknown_085B3EE8 -_0813CB96: - lsls r0, r6, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r7 - bne _0813CBA2 - b _0813CCF8 -_0813CBA2: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - beq _0813CB96 - movs r6, 0 - ldr r4, =gUnknown_085B3EF0 - ldrh r0, [r4] - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _0813CC44 - mov r8, r4 - adds r5, r4, 0x4 - mov r9, r1 -_0813CBC0: - lsls r0, r6, 1 - adds r1, r0, r6 - lsls r2, r1, 1 - mov r3, r8 - adds r1, r2, r3 - adds r3, r0, 0 - ldrh r1, [r1] - cmp r7, r1 - bne _0813CC2E - adds r0, r4, 0x2 - adds r0, r2, r0 - ldrh r0, [r0] - cmp r0, 0x18 - beq _0813CC1A - cmp r0, 0x18 - bgt _0813CC08 - cmp r0, 0 - beq _0813CC0E - b _0813CC2E - .pool -_0813CC08: - cmp r0, 0x1A - beq _0813CC1A - b _0813CC2E -_0813CC0E: - adds r0, r2, r5 - ldrh r1, [r0] - movs r0, 0 - bl sub_813CD04 - b _0813CC2E -_0813CC1A: - adds r1, r3, r6 - lsls r1, 1 - mov r0, r8 - adds r0, 0x2 - adds r0, r1, r0 - ldrh r0, [r0] - adds r1, r5 - ldrh r1, [r1] - bl sub_813CD64 -_0813CC2E: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r4, =gUnknown_085B3EF0 - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r0, r9 - bne _0813CBC0 -_0813CC44: - movs r6, 0 - ldr r1, =gWildMonHeaders - ldrb r0, [r1] - cmp r0, 0xFF - beq _0813CCF8 -_0813CC4E: - lsls r4, r6, 2 - adds r0, r4, r6 - lsls r0, 2 - adds r5, r0, r1 - adds r0, r5, 0 - adds r1, r7, 0 - bl sub_813CE48 - lsls r0, 24 - cmp r0, 0 - beq _0813CC9C - ldrb r0, [r5] - cmp r0, 0x18 - beq _0813CC8C - cmp r0, 0x18 - bgt _0813CC7C - cmp r0, 0 - beq _0813CC82 - b _0813CC9C - .pool -_0813CC7C: - cmp r0, 0x1A - beq _0813CC8C - b _0813CC9C -_0813CC82: - ldrb r1, [r5, 0x1] - movs r0, 0 - bl sub_813CD04 - b _0813CC9C -_0813CC8C: - ldr r0, =gWildMonHeaders - adds r1, r4, r6 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - bl sub_813CD64 -_0813CC9C: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r1, =gWildMonHeaders - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0813CC4E - b _0813CCF8 - .pool -_0813CCB8: - ldr r2, [r5] - movs r3, 0x89 - lsls r3, 1 - adds r1, r2, r3 - strh r4, [r1] - ldrb r1, [r0, 0x13] - cmp r1, 0 - beq _0813CCF0 - adds r0, r2, 0 - adds r0, 0x10 - adds r1, r2, 0 - adds r1, 0x11 - bl GetRoamerLocation - ldr r1, [r5] - ldrb r0, [r1, 0x10] - ldrb r1, [r1, 0x11] - bl Overworld_GetMapHeaderByGroupAndId - ldr r1, [r5] - ldrb r0, [r0, 0x14] - strh r0, [r1, 0x12] - movs r0, 0x88 - lsls r0, 1 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1] - b _0813CCF8 -_0813CCF0: - movs r3, 0x88 - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] -_0813CCF8: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_813CB40 - - thumb_func_start sub_813CD04 -sub_813CD04: @ 813CD04 - push {r4,r5,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r3, r1, 16 - ldr r4, =gUnknown_0203AB7C - ldr r2, [r4] - movs r0, 0x88 - lsls r0, 1 - adds r1, r2, r0 - ldrh r0, [r1] - cmp r0, 0x3F - bhi _0813CD58 - lsls r0, 2 - adds r0, r2, r0 - strb r5, [r0, 0x10] - ldr r1, [r4] - movs r2, 0x88 - lsls r2, 1 - adds r0, r1, r2 - ldrh r0, [r0] - lsls r0, 2 - adds r1, r0 - strb r3, [r1, 0x11] - adds r0, r5, 0 - adds r1, r3, 0 - bl Overworld_GetMapHeaderByGroupAndId - ldrb r0, [r0, 0x14] - bl CorrectSpecialMapSecId - ldr r2, [r4] - movs r1, 0x88 - lsls r1, 1 - adds r3, r2, r1 - ldrh r1, [r3] - lsls r1, 2 - adds r2, r1 - strh r0, [r2, 0x12] - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r3] -_0813CD58: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813CD04 - - thumb_func_start sub_813CD64 -sub_813CD64: @ 813CD64 - push {r4-r7,lr} - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, 16 - lsrs r1, 16 - ldr r0, =gUnknown_0203AB7C - ldr r0, [r0] - movs r3, 0x89 - lsls r3, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, 0x1F - bhi _0813CE22 - lsls r0, r2, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - bl sub_813CE34 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xD4 - bhi _0813CE22 - movs r3, 0 - ldr r0, =gUnknown_085B3EEA -_0813CD96: - ldrh r4, [r0] - cmp r5, r4 - beq _0813CE22 - adds r0, 0x2 - adds r3, 0x1 - cmp r3, 0x2 - bls _0813CD96 - ldr r1, =gUnknown_085B3EFC - ldrh r0, [r1] - cmp r0, 0xD5 - beq _0813CDD2 - adds r4, r1, 0 - adds r7, r4, 0 - movs r6, 0 -_0813CDB2: - ldrh r0, [r4] - cmp r5, r0 - bne _0813CDC8 - adds r0, r7, 0x2 - adds r0, r6, r0 - ldrh r0, [r0] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813CE22 -_0813CDC8: - adds r4, 0x4 - adds r6, 0x4 - ldrh r0, [r4] - cmp r0, 0xD5 - bne _0813CDB2 -_0813CDD2: - movs r3, 0 - ldr r0, =gUnknown_0203AB7C - ldr r2, [r0] - movs r4, 0x89 - lsls r4, 1 - adds r1, r2, r4 - ldrh r4, [r1] - adds r1, r0, 0 - cmp r3, r4 - bge _0813CE02 - movs r6, 0xC4 - lsls r6, 3 - adds r0, r2, r6 - ldrh r0, [r0] - cmp r0, r5 - beq _0813CE02 - adds r2, r6 -_0813CDF4: - adds r2, 0x2 - adds r3, 0x1 - cmp r3, r4 - bge _0813CE02 - ldrh r0, [r2] - cmp r0, r5 - bne _0813CDF4 -_0813CE02: - ldr r1, [r1] - movs r0, 0x89 - lsls r0, 1 - adds r2, r1, r0 - ldrh r4, [r2] - cmp r3, r4 - bne _0813CE22 - lsls r0, r3, 1 - movs r6, 0xC4 - lsls r6, 3 - adds r1, r6 - adds r1, r0 - strh r5, [r1] - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] -_0813CE22: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813CD64 - - thumb_func_start sub_813CE34 -sub_813CE34: @ 813CE34 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - bl Overworld_GetMapHeaderByGroupAndId - ldrb r0, [r0, 0x14] - pop {r1} - bx r1 - thumb_func_end sub_813CE34 - - thumb_func_start sub_813CE48 -sub_813CE48: @ 813CE48 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - ldrb r0, [r4] - ldrb r1, [r4, 0x1] - bl sub_813CE34 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xD2 - bne _0813CE7C - ldr r0, =gUnknown_0203AB7C - ldr r2, [r0] - ldr r0, =0x000006e2 - adds r1, r2, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldrh r1, [r1] - ldr r0, =0x000006e4 - adds r2, r0 - ldrh r0, [r2] - adds r0, 0x1 - cmp r1, r0 - bne _0813CEBC -_0813CE7C: - ldr r0, [r4, 0x4] - adds r1, r5, 0 - movs r2, 0xC - bl sub_813CED4 - lsls r0, 24 - cmp r0, 0 - bne _0813CECC - ldr r0, [r4, 0x8] - adds r1, r5, 0 - movs r2, 0x5 - bl sub_813CED4 - lsls r0, 24 - cmp r0, 0 - bne _0813CECC - ldr r0, [r4, 0x10] - adds r1, r5, 0 - movs r2, 0xC - bl sub_813CED4 - lsls r0, 24 - cmp r0, 0 - bne _0813CECC - ldr r0, [r4, 0xC] - adds r1, r5, 0 - movs r2, 0x5 - bl sub_813CED4 - lsls r0, 24 - cmp r0, 0 - bne _0813CECC -_0813CEBC: - movs r0, 0 - b _0813CECE - .pool -_0813CECC: - movs r0, 0x1 -_0813CECE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_813CE48 - - thumb_func_start sub_813CED4 -sub_813CED4: @ 813CED4 - push {r4,lr} - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - cmp r0, 0 - beq _0813CF02 - movs r3, 0 - cmp r3, r2 - bcs _0813CF02 - ldr r1, [r0, 0x4] -_0813CEEA: - lsls r0, r3, 2 - adds r0, r1 - ldrh r0, [r0, 0x2] - cmp r0, r4 - bne _0813CEF8 - movs r0, 0x1 - b _0813CF04 -_0813CEF8: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r2 - bcc _0813CEEA -_0813CF02: - movs r0, 0 -_0813CF04: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813CED4 - - thumb_func_start sub_813CF0C -sub_813CF0C: @ 813CF0C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r4, 0 - ldr r2, =gUnknown_0203AB7C - adds r7, r2, 0 - movs r6, 0x8B - lsls r6, 1 - movs r5, 0 - ldr r3, =0x0000027f -_0813CF26: - ldr r0, [r7] - lsls r1, r4, 1 - adds r0, r6 - adds r0, r1 - strh r5, [r0] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r3 - bls _0813CF26 - movs r4, 0 - ldr r0, [r2] - movs r1, 0x88 - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r4, r0 - bcs _0813CFB2 - adds r3, r2, 0 -_0813CF4C: - movs r5, 0 - movs r6, 0 - adds r2, r4, 0x1 - mov r8, r2 - lsls r4, 2 - mov r9, r4 -_0813CF58: - movs r4, 0 -_0813CF5A: - adds r0, r4, 0 - adds r1, r6, 0 - str r3, [sp] - bl GetRegionMapSectionIdAt - ldr r3, [sp] - ldr r2, [r3] - mov r7, r9 - adds r1, r2, r7 - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r1, 0x12] - cmp r0, r1 - bne _0813CF84 - lsls r0, r5, 1 - movs r7, 0x8B - lsls r7, 1 - adds r1, r2, r7 - adds r1, r0 - ldr r0, =0x0000ffff - strh r0, [r1] -_0813CF84: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1F - bls _0813CF5A - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x13 - bls _0813CF58 - mov r1, r8 - lsls r0, r1, 16 - lsrs r4, r0, 16 - ldr r0, [r3] - movs r2, 0x88 - lsls r2, 1 - adds r0, r2 - ldrh r0, [r0] - cmp r4, r0 - bcc _0813CF4C -_0813CFB2: - movs r5, 0 - movs r6, 0 - ldr r7, =gUnknown_0203AB7C - mov r12, r7 - movs r7, 0x8B - lsls r7, 1 - ldr r3, =0x0000ffff -_0813CFC0: - movs r4, 0 - adds r1, r6, 0x1 - mov r9, r1 -_0813CFC6: - mov r2, r12 - ldr r0, [r2] - lsls r1, r5, 1 - adds r2, r0, r7 - adds r1, r2, r1 - ldrh r0, [r1] - adds r1, r5, 0x1 - mov r8, r1 - cmp r0, r3 - bne _0813D0D2 - cmp r4, 0 - beq _0813CFF0 - subs r0, r5, 0x1 - lsls r0, 1 - adds r1, r2, r0 - ldrh r2, [r1] - cmp r2, r3 - beq _0813CFF0 - movs r0, 0x2 - orrs r0, r2 - strh r0, [r1] -_0813CFF0: - adds r2, r5, 0x1 - mov r8, r2 - cmp r4, 0x1F - beq _0813D00E - mov r1, r12 - ldr r0, [r1] - lsls r1, r2, 1 - adds r0, r7 - adds r2, r0, r1 - ldrh r1, [r2] - cmp r1, r3 - beq _0813D00E - movs r0, 0x1 - orrs r0, r1 - strh r0, [r2] -_0813D00E: - cmp r6, 0 - beq _0813D02C - mov r2, r12 - ldr r1, [r2] - adds r0, r5, 0 - subs r0, 0x20 - lsls r0, 1 - adds r1, r7 - adds r1, r0 - ldrh r2, [r1] - cmp r2, r3 - beq _0813D02C - movs r0, 0x8 - orrs r0, r2 - strh r0, [r1] -_0813D02C: - cmp r6, 0x13 - beq _0813D04A - mov r0, r12 - ldr r1, [r0] - adds r0, r5, 0 - adds r0, 0x20 - lsls r0, 1 - adds r1, r7 - adds r1, r0 - ldrh r2, [r1] - cmp r2, r3 - beq _0813D04A - movs r0, 0x4 - orrs r0, r2 - strh r0, [r1] -_0813D04A: - cmp r4, 0 - beq _0813D06C - cmp r6, 0 - beq _0813D06C - mov r2, r12 - ldr r1, [r2] - adds r0, r5, 0 - subs r0, 0x21 - lsls r0, 1 - adds r1, r7 - adds r1, r0 - ldrh r2, [r1] - cmp r2, r3 - beq _0813D06C - movs r0, 0x10 - orrs r0, r2 - strh r0, [r1] -_0813D06C: - cmp r4, 0x1F - beq _0813D08E - cmp r6, 0 - beq _0813D08E - mov r0, r12 - ldr r1, [r0] - adds r0, r5, 0 - subs r0, 0x1F - lsls r0, 1 - adds r1, r7 - adds r1, r0 - ldrh r2, [r1] - cmp r2, r3 - beq _0813D08E - movs r0, 0x40 - orrs r0, r2 - strh r0, [r1] -_0813D08E: - cmp r4, 0 - beq _0813D0B0 - cmp r6, 0x13 - beq _0813D0B0 - mov r2, r12 - ldr r1, [r2] - adds r0, r5, 0 - adds r0, 0x1F - lsls r0, 1 - adds r1, r7 - adds r1, r0 - ldrh r2, [r1] - cmp r2, r3 - beq _0813D0B0 - movs r0, 0x20 - orrs r0, r2 - strh r0, [r1] -_0813D0B0: - cmp r4, 0x1F - beq _0813D0D2 - cmp r6, 0x13 - beq _0813D0D2 - mov r0, r12 - ldr r1, [r0] - adds r0, r5, 0 - adds r0, 0x21 - lsls r0, 1 - adds r1, r7 - adds r1, r0 - ldrh r2, [r1] - cmp r2, r3 - beq _0813D0D2 - movs r0, 0x80 - orrs r0, r2 - strh r0, [r1] -_0813D0D2: - mov r1, r8 - lsls r0, r1, 16 - lsrs r5, r0, 16 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1F - bhi _0813D0E4 - b _0813CFC6 -_0813D0E4: - mov r2, r9 - lsls r0, r2, 16 - lsrs r6, r0, 16 - cmp r6, 0x13 - bhi _0813D0F0 - b _0813CFC0 -_0813D0F0: - movs r4, 0 - ldr r6, =gUnknown_0203AB7C - movs r5, 0x8B - lsls r5, 1 - ldr r7, =0x0000ffff - mov r12, r7 - movs r0, 0xA0 - lsls r0, 8 - mov r9, r0 - ldr r7, =0x0000a010 - ldr r1, =0x0000ffcf - mov r8, r1 -_0813D108: - ldr r0, [r6] - lsls r3, r4, 1 - adds r0, r5 - adds r2, r0, r3 - ldrh r1, [r2] - adds r0, r1, 0 - cmp r0, r12 - bne _0813D130 - strh r7, [r2] - b _0813D198 - .pool -_0813D130: - cmp r0, 0 - beq _0813D198 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0813D142 - mov r0, r8 - ands r0, r1 - strh r0, [r2] -_0813D142: - ldr r0, [r6] - adds r0, r5 - adds r2, r0, r3 - ldrh r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0813D158 - ldr r0, =0x0000ff3f - ands r0, r1 - strh r0, [r2] -_0813D158: - ldr r0, [r6] - adds r0, r5 - adds r2, r0, r3 - ldrh r1, [r2] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0813D16E - ldr r0, =0x0000ffaf - ands r0, r1 - strh r0, [r2] -_0813D16E: - ldr r0, [r6] - adds r0, r5 - adds r2, r0, r3 - ldrh r1, [r2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0813D184 - ldr r0, =0x0000ff5f - ands r0, r1 - strh r0, [r2] -_0813D184: - ldr r1, [r6] - adds r1, r5 - adds r1, r3 - ldr r2, =gUnknown_085B3F18 - ldrh r0, [r1] - adds r0, r2 - ldrb r0, [r0] - mov r2, r9 - orrs r0, r2 - strh r0, [r1] -_0813D198: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x0000027f - cmp r4, r0 - bls _0813D108 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813CF0C - - thumb_func_start sub_813D1C8 -sub_813D1C8: @ 813D1C8 - push {lr} - ldr r1, =gUnknown_0203AB7C - ldr r2, [r1] - movs r3, 0x89 - lsls r3, 1 - adds r0, r2, r3 - ldrh r0, [r0] - adds r3, r1, 0 - cmp r0, 0 - beq _0813D1FC - movs r1, 0x88 - lsls r1, 1 - adds r0, r2, r1 - ldrh r0, [r0] - cmp r0, 0 - bne _0813D1FC - ldr r0, =0x0000061e - adds r1, r2, r0 - movs r0, 0x1 - strb r0, [r1] - b _0813D206 - .pool -_0813D1FC: - ldr r0, [r3] - ldr r1, =0x0000061e - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_0813D206: - ldr r1, [r3] - ldr r2, =0x00000616 - adds r0, r1, r2 - movs r2, 0 - strh r2, [r0] - movs r3, 0xC3 - lsls r3, 3 - adds r0, r1, r3 - strh r2, [r0] - adds r3, 0x2 - adds r0, r1, r3 - strh r2, [r0] - ldr r0, =0x0000061c - adds r2, r1, r0 - movs r0, 0x40 - strh r0, [r2] - ldr r2, =0x0000061f - adds r1, r2 - movs r0, 0x1 - strb r0, [r1] - ldr r1, =0x00003f44 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - bl sub_813D25C - pop {r0} - bx r0 - .pool - thumb_func_end sub_813D1C8 - - thumb_func_start sub_813D25C -sub_813D25C: @ 813D25C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, =gUnknown_0203AB7C - ldr r2, [r0] - ldr r3, =0x0000061e - adds r1, r2, r3 - ldrb r1, [r1] - adds r7, r0, 0 - cmp r1, 0 - bne _0813D32A - ldr r0, =0x00000616 - adds r1, r2, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _0813D324 - movs r1, 0xC3 - lsls r1, 3 - adds r0, r2, r1 - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - beq _0813D2A4 - subs r3, 0x4 - adds r0, r2, r3 - b _0813D2A8 - .pool -_0813D2A4: - ldr r1, =0x0000061c - adds r0, r2, r1 -_0813D2A8: - ldrh r1, [r0] - adds r1, 0x4 - movs r2, 0x7F - ands r1, r2 - strh r1, [r0] - ldr r3, =gSineTable - ldr r1, [r7] - ldr r2, =0x0000061a - adds r0, r1, r2 - ldrh r0, [r0] - lsls r0, 1 - adds r0, r3 - ldrh r2, [r0] - lsls r2, 16 - asrs r2, 20 - lsls r2, 16 - ldr r0, =0x0000061c - adds r1, r0 - ldrh r0, [r1] - lsls r0, 1 - adds r0, r3 - ldrh r1, [r0] - lsls r1, 16 - asrs r1, 20 - lsls r1, 24 - orrs r1, r2 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldr r1, [r7] - ldr r2, =0x00000616 - adds r0, r1, r2 - movs r3, 0 - strh r3, [r0] - movs r0, 0xC3 - lsls r0, 3 - adds r2, r1, r0 - ldrh r0, [r2] - cmp r0, 0x40 - bne _0813D3C6 - strh r3, [r2] - movs r2, 0x89 - lsls r2, 1 - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, 0 - beq _0813D3C6 - ldr r3, =0x0000061e - adds r1, r3 - movs r0, 0x1 - b _0813D3C4 - .pool -_0813D324: - subs r0, 0x1 - strh r0, [r1] - b _0813D3C6 -_0813D32A: - ldr r0, =0x00000616 - adds r1, r2, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC - bls _0813D3C6 - movs r0, 0 - strh r0, [r1] - ldr r3, =0x0000061f - adds r1, r2, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r4, 0 - ldr r0, [r7] - movs r6, 0x89 - lsls r6, 1 - adds r0, r6 - ldrh r0, [r0] - cmp r4, r0 - bcs _0813D3A0 - adds r5, r7, 0 - movs r0, 0x1 - mov r12, r0 - movs r1, 0x5 - negs r1, r1 - mov r8, r1 -_0813D366: - ldr r1, [r5] - lsls r2, r4, 2 - movs r3, 0xCC - lsls r3, 3 - adds r0, r1, r3 - adds r0, r2 - ldr r3, [r0] - ldr r0, =0x0000061f - adds r1, r0 - ldrb r0, [r1] - movs r1, 0x1 - adds r3, 0x3E - ands r1, r0 - mov r2, r12 - ands r1, r2 - lsls r1, 2 - ldrb r2, [r3] - mov r0, r8 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, [r5] - adds r0, r6 - ldrh r0, [r0] - cmp r4, r0 - bcc _0813D366 -_0813D3A0: - ldr r0, [r7] - ldr r3, =0x0000061f - adds r1, r0, r3 - ldrb r0, [r1] - cmp r0, 0x4 - bls _0813D3C6 - movs r0, 0x1 - strb r0, [r1] - ldr r1, [r7] - movs r2, 0x88 - lsls r2, 1 - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, 0 - beq _0813D3C6 - subs r3, 0x1 - adds r1, r3 - movs r0, 0 -_0813D3C4: - strb r0, [r1] -_0813D3C6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813D25C - - thumb_func_start sub_813D3D8 -sub_813D3D8: @ 813D3D8 - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r5, =gUnknown_0203AB7C - ldr r0, =0x000015bc - bl AllocZeroed - str r0, [r5] - movs r1, 0 - movs r5, 0 - strh r4, [r0, 0xE] - movs r2, 0xDD - lsls r2, 3 - adds r0, r2 - str r6, [r0] - strb r1, [r6] - ldr r0, =sub_813D42C - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813D3D8 - - thumb_func_start sub_813D42C -sub_813D42C: @ 813D42C - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0xB - bls _0813D44A - b _0813D584 -_0813D44A: - lsls r0, 2 - ldr r1, =_0813D45C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813D45C: - .4byte _0813D48C - .4byte _0813D4A8 - .4byte _0813D4D4 - .4byte _0813D4E6 - .4byte _0813D4EC - .4byte _0813D4F8 - .4byte _0813D520 - .4byte _0813D526 - .4byte _0813D52C - .4byte _0813D532 - .4byte _0813D544 - .4byte _0813D56C -_0813D48C: - bl ResetSpriteData - bl FreeAllSpritePalettes - movs r0, 0x3 - bl HideBg - movs r0, 0x2 - bl HideBg - movs r0, 0 - bl HideBg - b _0813D584 -_0813D4A8: - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0x3 - bl SetBgAttribute - ldr r0, =gUnknown_085B4018 - bl sub_81C4D70 - ldr r0, =gUnknown_0203AB7C - ldr r0, [r0] - movs r1, 0xF7 - lsls r1, 4 - adds r0, r1 - movs r1, 0 - movs r2, 0x10 - bl StringFill - b _0813D584 - .pool -_0813D4D4: - bl sub_81C4E90 - cmp r0, 0x1 - beq _0813D594 - movs r0, 0x8 - negs r0, r0 - bl sub_81C4ED0 - b _0813D584 -_0813D4E6: - bl sub_813CA54 - b _0813D584 -_0813D4EC: - bl sub_813CA68 - lsls r0, 24 - cmp r0, 0 - bne _0813D594 - b _0813D584 -_0813D4F8: - ldr r0, =gUnknown_0203AB7C - ldr r0, [r0] - ldr r2, =0x000006ec - adds r0, r2 - bl sub_8122D88 - movs r0, 0x1 - movs r1, 0x1 - bl CreateRegionMapPlayerIcon - movs r1, 0x8 - negs r1, r1 - movs r0, 0 - bl PokedexAreaScreen_UpdateRegionMapVariablesAndVideoRegs - b _0813D584 - .pool -_0813D520: - bl sub_813D6D0 - b _0813D584 -_0813D526: - bl sub_813D8A8 - b _0813D584 -_0813D52C: - bl sub_813D8E8 - b _0813D584 -_0813D532: - movs r0, 0x15 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _0813D584 -_0813D544: - ldr r1, =0x00003f41 - movs r0, 0x50 - bl SetGpuReg - bl sub_813D1C8 - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0 - bl SetGpuRegBits - b _0813D584 - .pool -_0813D56C: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r2 - ldr r1, =sub_813D5A0 - str r1, [r0] - movs r1, 0 - strh r1, [r0, 0x8] - b _0813D594 - .pool -_0813D584: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0813D594: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813D42C - - thumb_func_start sub_813D5A0 -sub_813D5A0: @ 813D5A0 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_813D25C - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r6, r0, r1 - movs r0, 0x8 - ldrsh r1, [r6, r0] - cmp r1, 0x1 - beq _0813D5F8 - cmp r1, 0x1 - bgt _0813D5CC - cmp r1, 0 - beq _0813D5E2 - b _0813D5D4 - .pool -_0813D5CC: - cmp r1, 0x2 - beq _0813D640 - cmp r1, 0x3 - beq _0813D652 -_0813D5D4: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x8] -_0813D5E2: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0813D6A8 - b _0813D698 - .pool -_0813D5F8: - ldr r0, =gMain - ldrh r2, [r0, 0x2E] - movs r3, 0x2 - adds r0, r3, 0 - ands r0, r2 - cmp r0, 0 - beq _0813D614 - strh r1, [r6, 0xA] - movs r0, 0x3 - bl PlaySE - b _0813D698 - .pool -_0813D614: - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - bne _0813D630 - movs r0, 0x80 - lsls r0, 1 - ands r0, r2 - cmp r0, 0 - beq _0813D6A8 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0x1 - bne _0813D6A8 -_0813D630: - strh r3, [r6, 0xA] - movs r0, 0x6D - bl PlaySE - b _0813D698 - .pool -_0813D640: - movs r0, 0x15 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _0813D698 -_0813D652: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0 - bne _0813D6A8 - bl sub_813D824 - ldr r4, =gUnknown_0203AB7C - ldr r0, [r4] - movs r1, 0xDD - lsls r1, 3 - adds r0, r1 - ldr r1, [r0] - ldrh r0, [r6, 0xA] - strb r0, [r1] - bl sub_813D6B4 - adds r0, r5, 0 - bl DestroyTask - bl sub_81C4EB4 - ldr r0, [r4] - bl Free - str r7, [r4] - b _0813D6A8 - .pool -_0813D698: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0813D6A8: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813D5A0 - - thumb_func_start sub_813D6B4 -sub_813D6B4: @ 813D6B4 - push {lr} - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r0, 0x3 - movs r1, 0x4 - movs r2, 0 - bl SetBgAttribute - pop {r0} - bx r0 - thumb_func_end sub_813D6B4 - - thumb_func_start sub_813D6D0 -sub_813D6D0: @ 813D6D0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, =gUnknown_085B401C - bl LoadSpriteSheet - ldr r0, =gUnknown_085B4024 - bl LoadSpritePalette - ldr r0, =gUnknown_03001204 - movs r1, 0 - strh r1, [r0] - ldr r2, =gUnknown_03001200 - strh r1, [r2] - ldr r1, =gUnknown_0203AB7C - ldr r0, [r1] - movs r3, 0x89 - lsls r3, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, 0 - beq _0813D7D8 - ldr r5, =gUnknown_03001202 - mov r10, r1 - adds r7, r2, 0 - ldr r0, =gUnknown_030011FC - mov r9, r0 - ldr r6, =gRegionMapEntries - ldr r1, =gUnknown_030011FE - mov r8, r1 -_0813D710: - mov r2, r10 - ldr r1, [r2] - movs r3, 0 - ldrsh r0, [r7, r3] - lsls r0, 1 - movs r2, 0xC4 - lsls r2, 3 - adds r1, r2 - adds r1, r0 - ldrh r0, [r1] - strh r0, [r5] - movs r3, 0 - ldrsh r0, [r5, r3] - lsls r0, 3 - adds r0, r6 - ldrb r1, [r0] - adds r1, 0x1 - lsls r1, 3 - adds r1, 0x4 - mov r0, r9 - strh r1, [r0] - movs r2, 0 - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r0, r6 - ldrb r2, [r0, 0x1] - lsls r2, 3 - adds r2, 0x1C - mov r3, r8 - strh r2, [r3] - movs r3, 0 - ldrsh r0, [r5, r3] - lsls r0, 3 - adds r0, r6 - ldrb r0, [r0, 0x2] - subs r0, 0x1 - lsls r0, 2 - adds r1, r0 - mov r0, r9 - strh r1, [r0] - movs r1, 0 - ldrsh r0, [r5, r1] - lsls r0, 3 - adds r0, r6 - ldrb r0, [r0, 0x3] - subs r0, 0x1 - lsls r0, 2 - adds r2, r0 - mov r3, r8 - strh r2, [r3] - mov r0, r9 - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r3, r0] - ldr r0, =gUnknown_085B4034 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0813D7BE - ldr r0, =gSprites - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] - mov r1, r10 - ldr r3, [r1] - ldr r4, =gUnknown_03001204 - ldrh r1, [r4] - adds r0, r1, 0x1 - strh r0, [r4] - lsls r1, 16 - asrs r1, 14 - movs r0, 0xCC - lsls r0, 3 - adds r3, r0 - adds r3, r1 - str r2, [r3] -_0813D7BE: - ldrh r0, [r7] - adds r0, 0x1 - strh r0, [r7] - movs r2, 0 - ldrsh r1, [r7, r2] - mov r3, r10 - ldr r0, [r3] - movs r2, 0x89 - lsls r2, 1 - adds r0, r2 - ldrh r0, [r0] - cmp r1, r0 - blt _0813D710 -_0813D7D8: - ldr r0, =gUnknown_0203AB7C - ldr r0, [r0] - ldr r1, =gUnknown_03001204 - ldrh r1, [r1] - movs r3, 0xDC - lsls r3, 3 - adds r0, r3 - strh r1, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813D6D0 - - thumb_func_start sub_813D824 -sub_813D824: @ 813D824 - push {r4,r5,lr} - movs r0, 0x2 - bl FreeSpriteTilesByTag - movs r0, 0x2 - bl FreeSpritePaletteByTag - movs r4, 0 - ldr r1, =gUnknown_0203AB7C - ldr r0, [r1] - movs r2, 0xDC - lsls r2, 3 - adds r0, r2 - ldrh r0, [r0] - cmp r4, r0 - bcs _0813D86C - adds r5, r1, 0 -_0813D846: - ldr r0, [r5] - lsls r1, r4, 2 - movs r2, 0xCC - lsls r2, 3 - adds r0, r2 - adds r0, r1 - ldr r0, [r0] - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, [r5] - movs r1, 0xDC - lsls r1, 3 - adds r0, r1 - ldrh r0, [r0] - cmp r4, r0 - bcc _0813D846 -_0813D86C: - movs r0, 0x3 - bl FreeSpriteTilesByTag - movs r0, 0x3 - bl FreeSpritePaletteByTag - movs r4, 0 -_0813D87A: - ldr r0, =gUnknown_0203AB7C - ldr r0, [r0] - lsls r1, r4, 2 - movs r2, 0xFB - lsls r2, 4 - adds r0, r2 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _0813D892 - bl DestroySprite -_0813D892: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x2 - bls _0813D87A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813D824 - - thumb_func_start sub_813D8A8 -sub_813D8A8: @ 813D8A8 - push {lr} - sub sp, 0x8 - ldr r0, =gUnknown_0203AB7C - ldr r1, [r0] - ldr r0, =0x00000fbc - adds r1, r0 - str r1, [sp] - ldr r0, =0x00030600 - str r0, [sp, 0x4] - ldr r0, =gPokedexAreaScreenAreaUnknown_Gfx - bl LZ77UnCompWram - mov r0, sp - bl LoadSpriteSheet - ldr r0, =gUnknown_085B40EC - bl LoadSpritePalette - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_813D8A8 - - thumb_func_start sub_813D8E8 -sub_813D8E8: @ 813D8E8 - push {r4-r6,lr} - ldr r1, =gUnknown_0203AB7C - ldr r0, [r1] - movs r2, 0x88 - lsls r2, 1 - adds r0, r2 - ldr r0, [r0] - cmp r0, 0 - beq _0813D920 - movs r4, 0 - adds r5, r1, 0 - movs r3, 0xFB - lsls r3, 4 - movs r2, 0 -_0813D904: - ldr r0, [r5] - lsls r1, r4, 2 - adds r0, r3 - adds r0, r1 - str r2, [r0] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x2 - bls _0813D904 - b _0813D9A4 - .pool -_0813D920: - movs r4, 0 - ldr r5, =gSprites -_0813D924: - lsls r1, r4, 21 - movs r6, 0xA0 - lsls r6, 16 - adds r1, r6 - asrs r1, 16 - ldr r0, =gSpriteTemplate_85B40FC - movs r2, 0x8C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0813D988 - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - adds r3, r5 - ldrh r2, [r3, 0x4] - lsls r0, r2, 22 - lsrs r0, 22 - lsls r1, r4, 4 - adds r0, r1 - ldr r6, =0x000003ff - adds r1, r6, 0 - ands r0, r1 - ldr r6, =0xfffffc00 - adds r1, r6, 0 - ands r2, r1 - orrs r2, r0 - strh r2, [r3, 0x4] - ldr r0, =gUnknown_0203AB7C - ldr r0, [r0] - lsls r1, r4, 2 - movs r2, 0xFB - lsls r2, 4 - adds r0, r2 - adds r0, r1 - str r3, [r0] - b _0813D99A - .pool -_0813D988: - ldr r0, =gUnknown_0203AB7C - ldr r1, [r0] - lsls r0, r4, 2 - movs r6, 0xFB - lsls r6, 4 - adds r1, r6 - adds r1, r0 - movs r0, 0 - str r0, [r1] -_0813D99A: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x2 - bls _0813D924 -_0813D9A4: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813D8E8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokedex_cry_screen.s b/asm/pokedex_cry_screen.s deleted file mode 100644 index 846b20881..000000000 --- a/asm/pokedex_cry_screen.s +++ /dev/null @@ -1,1010 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8145354 -sub_8145354: @ 8145354 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - movs r0, 0 - mov r8, r0 - ldr r0, =gUnknown_030061EC - ldrb r0, [r0] - cmp r0, 0x1 - beq _081453F8 - cmp r0, 0x1 - bgt _0814537C - cmp r0, 0 - beq _08145382 - b _0814544A - .pool -_0814537C: - cmp r0, 0x2 - beq _08145434 - b _0814544A -_08145382: - ldr r5, =gUnknown_0203AB90 - ldr r0, [r5] - cmp r0, 0 - bne _0814539E - movs r0, 0x1C - bl AllocZeroed - str r0, [r5] - ldr r4, =gUnknown_0203AB94 - adds r0, r7, 0 - movs r1, 0x7 - bl GetWindowAttribute - str r0, [r4] -_0814539E: - ldr r1, [r5] - ldrh r0, [r6] - movs r2, 0 - strh r0, [r1, 0x14] - ldrb r0, [r6, 0x5] - strb r0, [r1, 0x16] - ldr r0, [r5] - strb r2, [r0, 0x1A] - ldr r0, [r5] - strb r2, [r0, 0x1B] - ldr r0, [r5] - strb r2, [r0, 0x10] - ldr r1, [r5] - movs r0, 0x1C - strb r0, [r1, 0x12] - ldr r0, [r5] - strb r2, [r0, 0x11] - ldrb r1, [r6, 0x4] - lsls r1, 19 - negs r1, r1 - asrs r1, 16 - adds r0, r7, 0 - movs r2, 0x1 - bl sub_8145824 - movs r4, 0 -_081453D2: - adds r0, r7, 0 - ldr r1, =gUnknown_085B8C10 - movs r2, 0x20 - adds r3, r4, 0 - bl CopyToWindowPixelBuffer - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xDF - bls _081453D2 - b _08145420 - .pool -_081453F8: - movs r4, 0 - ldr r1, =gUnknown_0203AB90 - ldr r0, [r1] - ldrb r0, [r0, 0x16] - lsls r0, 3 - cmp r8, r0 - bge _08145420 - adds r5, r1, 0 -_08145408: - adds r0, r4, 0 - movs r1, 0 - bl sub_81456A8 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, [r5] - ldrb r0, [r0, 0x16] - lsls r0, 3 - cmp r4, r0 - blt _08145408 -_08145420: - ldr r1, =gUnknown_030061EC - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0814544A - .pool -_08145434: - adds r0, r7, 0 - bl sub_8145814 - ldr r0, =gUnknown_085B8BF0 - ldrb r1, [r6, 0x3] - lsls r1, 4 - movs r2, 0x20 - bl LoadPalette - movs r0, 0x1 - mov r8, r0 -_0814544A: - mov r0, r8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8145354 - - thumb_func_start sub_814545C -sub_814545C: @ 814545C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_8145814 - adds r0, r4, 0 - bl sub_8145648 - ldr r2, =gUnknown_0203AB90 - ldr r1, [r2] - ldrb r0, [r1, 0x1B] - cmp r0, 0 - beq _0814547E - subs r0, 0x1 - strb r0, [r1, 0x1B] -_0814547E: - ldr r1, [r2] - ldrb r0, [r1, 0x1A] - cmp r0, 0 - beq _081454A4 - subs r0, 0x1 - strb r0, [r1, 0x1A] - ldr r1, [r2] - ldrb r0, [r1, 0x1A] - cmp r0, 0 - bne _081454A4 - ldrh r0, [r1, 0x18] - bl sub_8145588 - bl sub_814560C - b _0814552A - .pool -_081454A4: - ldr r5, =gUnknown_0203AB90 - ldr r0, [r5] - ldrb r0, [r0, 0x10] - cmp r0, 0 - bne _081454B8 - bl sub_814560C - b _0814552A - .pool -_081454B8: - cmp r0, 0x1 - bne _081454C2 - bl sub_81455A8 - b _081454E6 -_081454C2: - cmp r0, 0x8 - bls _081454E6 - bl IsCryPlaying - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _081454DC - bl sub_814560C - ldr r0, [r5] - strb r4, [r0, 0x10] - b _0814552A -_081454DC: - bl sub_81455A8 - ldr r1, [r5] - movs r0, 0x1 - strb r0, [r1, 0x10] -_081454E6: - ldr r5, =gUnknown_0203AB90 - ldr r1, [r5] - ldrb r4, [r1, 0x10] - subs r4, 0x1 - lsls r4, 25 - lsrs r4, 24 - ldrb r0, [r1, 0x16] - lsls r0, 3 - ldrb r2, [r1, 0x11] - adds r0, r2 - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - adds r1, r4 - ldrb r1, [r1] - bl sub_81456A8 - ldr r1, [r5] - ldrb r0, [r1, 0x16] - lsls r0, 3 - ldrb r2, [r1, 0x11] - adds r0, r2 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - adds r4, 0x1 - adds r1, r4 - ldrb r1, [r1] - bl sub_81456A8 - ldr r1, [r5] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] -_0814552A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814545C - - thumb_func_start sub_8145534 -sub_8145534: @ 8145534 - push {r4-r6,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r5, r4, 0 - ldr r0, =gMPlayInfo_BGM - ldr r0, [r0, 0x4] - cmp r0, 0 - bge _08145582 - ldr r6, =gUnknown_0203AB90 - ldr r1, [r6] - ldrb r0, [r1, 0x1A] - cmp r0, 0 - bne _08145582 - ldrb r0, [r1, 0x1B] - cmp r0, 0 - bne _08145582 - movs r0, 0x4 - strb r0, [r1, 0x1B] - bl IsCryPlaying - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0814557C - bl StopCry - ldr r1, [r6] - strh r4, [r1, 0x18] - movs r0, 0x2 - strb r0, [r1, 0x1A] - b _08145582 - .pool -_0814557C: - adds r0, r5, 0 - bl sub_8145588 -_08145582: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8145534 - - thumb_func_start sub_8145588 -sub_8145588: @ 8145588 - push {lr} - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - movs r2, 0x7D - movs r3, 0xA - bl PlayCry2 - ldr r0, =gUnknown_0203AB90 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x10] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8145588 - - thumb_func_start sub_81455A8 -sub_81455A8: @ 81455A8 - push {r4,lr} - ldr r3, =gPcmDmaCounter - movs r0, 0 - ldrsb r0, [r3, r0] - cmp r0, 0x1 - bgt _081455C0 - ldr r0, =gSoundInfo + 0x350 - b _081455D8 - .pool -_081455C0: - ldr r2, =gSoundInfo - ldrb r1, [r2, 0xB] - movs r0, 0 - ldrsb r0, [r3, r0] - subs r0, 0x1 - subs r1, r0 - ldr r0, [r2, 0x10] - muls r0, r1 - movs r1, 0xD4 - lsls r1, 2 - adds r2, r1 - adds r0, r2 -_081455D8: - movs r1, 0xC6 - lsls r1, 3 - adds r3, r0, r1 - movs r2, 0 - ldr r4, =gUnknown_0203AB90 -_081455E2: - ldr r1, [r4] - adds r1, r2 - lsls r0, r2, 1 - adds r0, r3 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 1 - strb r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _081455E2 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81455A8 - - thumb_func_start sub_814560C -sub_814560C: @ 814560C - push {r4,lr} - ldr r4, =gUnknown_0203AB90 - ldr r1, [r4] - ldrb r0, [r1, 0x16] - lsls r0, 3 - ldrb r1, [r1, 0x11] - adds r0, r1 - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_81456A8 - ldr r1, [r4] - ldrb r0, [r1, 0x16] - lsls r0, 3 - ldrb r1, [r1, 0x11] - adds r0, r1 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_81456A8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814560C - - thumb_func_start sub_8145648 -sub_8145648: @ 8145648 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r4, =gUnknown_0203AB90 - ldr r0, [r4] - ldrb r1, [r0, 0x11] - adds r0, r6, 0 - movs r2, 0 - bl sub_8145824 - ldr r1, [r4] - ldrb r0, [r1, 0x11] - adds r0, 0x2 - strb r0, [r1, 0x11] - ldr r1, [r4] - ldrb r0, [r1, 0x11] - lsrs r0, 3 - ldrb r1, [r1, 0x16] - adds r1, r0, r1 - adds r2, r1, 0x1 - adds r0, r2, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r2, r0 - lsls r0, 16 - lsrs r5, r0, 16 - movs r4, 0 -_0814567E: - lsls r3, r4, 5 - adds r3, r5, r3 - lsls r3, 16 - lsrs r3, 16 - adds r0, r6, 0 - ldr r1, =gUnknown_085B8C10 - movs r2, 0x20 - bl CopyToWindowPixelBuffer - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - bls _0814567E - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8145648 - - thumb_func_start sub_81456A8 -sub_81456A8: @ 81456A8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r7, r0, 24 - lsrs r4, r7, 24 - lsls r1, 24 - movs r0, 0xFE - lsls r0, 23 - adds r1, r0 - lsrs r1, 16 - adds r0, r1, 0 - bl __floatsidf - ldr r3, _08145768 - ldr r2, _08145764 - bl __divdf3 - bl __fixunsdfsi - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x37 - bls _081456DE - movs r5, 0x37 -_081456DE: - str r5, [sp] - movs r6, 0x1 - ands r6, r4 - ldr r0, _0814576C - ldr r1, [r0] - lsrs r7, 27 - mov r8, r7 - ldr r0, _08145770 - ldrb r1, [r1, 0x12] - cmp r5, r1 - bls _08145780 - ldr r3, _08145774 - adds r0, r6, r0 - ldrb r0, [r0] - mov r9, r0 - movs r7, 0x7 - ands r7, r4 -_08145700: - lsls r1, r5, 1 - lsls r0, r7, 3 - adds r0, r7 - lsls r0, 4 - adds r1, r0 - ldr r2, _08145778 - adds r1, r2 - mov r4, r8 - lsls r0, r4, 5 - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r1, [r3] - adds r1, r2 - ldrb r0, [r1] - mov r4, r9 - ands r0, r4 - strb r0, [r1] - ldr r4, [r3] - adds r4, r2 - adds r0, r5, 0 - movs r1, 0x3 - str r3, [sp, 0x4] - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - movs r1, 0xF - ands r0, r1 - lsls r1, r6, 4 - adds r0, r1 - ldr r1, _0814577C - adds r0, r1 - ldrb r1, [r4] - ldrb r0, [r0] - orrs r1, r0 - strb r1, [r4] - subs r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, _0814576C - ldr r0, [r2] - ldr r3, [sp, 0x4] - ldrb r0, [r0, 0x12] - cmp r5, r0 - bhi _08145700 - b _081457EA - .align 2, 0 -_08145764: .4byte 0x40920000 -_08145768: .4byte 0x00000000 -_0814576C: .4byte gUnknown_0203AB90 -_08145770: .4byte gUnknown_085B8C30 -_08145774: .4byte gUnknown_0203AB94 -_08145778: .4byte gUnknown_085B8770 -_0814577C: .4byte gUnknown_085B8C32 -_08145780: - lsls r3, r6, 4 - mov r10, r3 - ldr r7, _08145804 - adds r0, r6, r0 - ldrb r0, [r0] - mov r9, r0 - movs r6, 0x7 - ands r6, r4 -_08145790: - lsls r1, r5, 1 - lsls r0, r6, 3 - adds r0, r6 - lsls r0, 4 - adds r1, r0 - ldr r4, _08145808 - adds r1, r4 - mov r2, r8 - lsls r0, r2, 5 - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r1, [r7] - adds r1, r2 - ldrb r0, [r1] - mov r3, r9 - ands r0, r3 - strb r0, [r1] - ldr r4, [r7] - adds r4, r2 - adds r0, r5, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - movs r1, 0xF - ands r0, r1 - add r0, r10 - ldr r1, _0814580C - adds r0, r1 - ldrb r1, [r4] - ldrb r0, [r0] - orrs r1, r0 - strb r1, [r4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, _08145810 - ldr r0, [r2] - ldrb r0, [r0, 0x12] - cmp r5, r0 - bcc _08145790 -_081457EA: - ldr r3, _08145810 - ldr r0, [r3] - mov r4, sp - ldrb r4, [r4] - strb r4, [r0, 0x12] - 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 -_08145804: .4byte gUnknown_0203AB94 -_08145808: .4byte gUnknown_085B8770 -_0814580C: .4byte gUnknown_085B8C32 -_08145810: .4byte gUnknown_0203AB90 - thumb_func_end sub_81456A8 - - thumb_func_start sub_8145814 -sub_8145814: @ 8145814 - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_8145814 - - thumb_func_start sub_8145824 -sub_8145824: @ 8145824 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 24 - cmp r2, 0 - bne _08145848 - movs r1, 0 - bl GetWindowAttribute - lsls r0, 24 - lsrs r0, 24 - lsls r1, r4, 16 - asrs r1, 8 - movs r2, 0 - bl ChangeBgX -_08145848: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8145824 - - thumb_func_start sub_8145850 -sub_8145850: @ 8145850 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - movs r0, 0 - mov r8, r0 - ldr r6, =gUnknown_030061EC - ldrb r0, [r6] - cmp r0, 0 - beq _08145874 - cmp r0, 0x1 - beq _081458B0 - b _081458F8 - .pool -_08145874: - ldr r5, =gUnknown_0203AB98 - ldr r0, [r5] - cmp r0, 0 - bne _08145884 - movs r0, 0x8 - bl AllocZeroed - str r0, [r5] -_08145884: - ldr r1, =gUnknown_085B8438 - adds r0, r7, 0 - movs r2, 0 - movs r3, 0 - bl CopyToWindowPixelBuffer - ldr r0, =gUnknown_085B8418 - ldrb r1, [r4, 0x3] - lsls r1, 4 - movs r2, 0x20 - bl LoadPalette - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - b _081458F8 - .pool -_081458B0: - ldr r0, =gCryMeterNeedleSpriteSheets - bl LoadSpriteSheets - ldr r0, =gCryMeterNeedleSpritePalettes - bl LoadSpritePalettes - ldr r0, =gUnknown_085B8C68 - ldrb r1, [r4, 0x4] - lsls r1, 19 - movs r2, 0xA0 - lsls r2, 14 - adds r1, r2 - asrs r1, 16 - ldrb r2, [r4, 0x5] - lsls r2, 19 - movs r3, 0xE0 - lsls r3, 14 - adds r2, r3 - asrs r2, 16 - movs r3, 0x1 - bl CreateSprite - ldr r2, =gUnknown_0203AB98 - ldr r3, [r2] - lsls r0, 24 - lsrs r0, 24 - movs r4, 0 - strh r0, [r3, 0x4] - movs r1, 0x20 - strb r1, [r3] - ldr r0, [r2] - strb r1, [r0, 0x1] - ldr r0, [r2] - strb r4, [r0, 0x2] - movs r0, 0x1 - mov r8, r0 -_081458F8: - mov r0, r8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8145850 - - thumb_func_start sub_8145914 -sub_8145914: @ 8145914 - push {r4-r6,lr} - ldr r4, =gSprites - ldr r6, =gUnknown_0203AB98 - ldr r0, [r6] - ldrh r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - bl GetSpritePaletteTagByPaletteNum - lsls r0, 16 - lsrs r0, 16 - bl FreeSpritePaletteByTag - ldr r0, [r6] - ldrh r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r4, =gUnknown_0203AB90 - ldr r0, [r4] - bl Free - movs r5, 0 - str r5, [r4] - ldr r0, [r6] - bl Free - str r5, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8145914 - - thumb_func_start sub_814596C -sub_814596C: @ 814596C - push {r4-r7,lr} - sub sp, 0x14 - adds r7, r0, 0 - ldr r3, =gSprites - ldr r4, =gUnknown_0203AB98 - ldr r0, [r4] - ldrh r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r2, [r0, 0x1] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x1] - ldr r2, [r4] - ldrh r1, [r2, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0 - strh r1, [r0, 0x6] - ldr r0, =gUnknown_0203AB90 - ldr r0, [r0] - ldrb r1, [r0, 0x10] - cmp r1, 0x2 - beq _081459E8 - cmp r1, 0x2 - bgt _081459C0 - cmp r1, 0 - beq _081459C6 - b _08145A2E - .pool -_081459C0: - cmp r1, 0x6 - beq _08145A20 - b _08145A2E -_081459C6: - movs r0, 0x20 - strb r0, [r2, 0x1] - ldr r1, [r4] - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0 - ble _081459E2 - ldrb r0, [r1, 0x2] - add r4, sp, 0xC - cmp r0, 0x1 - beq _08145A30 - subs r0, 0x1 - strb r0, [r1, 0x2] - b _08145A30 -_081459E2: - movs r0, 0x5 - strb r0, [r1, 0x2] - b _08145A2E -_081459E8: - movs r3, 0 - movs r2, 0 - add r4, sp, 0xC - adds r5, r0, 0 -_081459F0: - lsls r1, r3, 24 - asrs r1, 24 - adds r0, r5, r2 - ldrb r0, [r0] - cmp r1, r0 - bge _081459FE - adds r3, r0, 0 -_081459FE: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0xF - bls _081459F0 - lsls r0, r3, 24 - asrs r0, 24 - movs r1, 0xD0 - muls r0, r1 - cmp r0, 0 - bge _08145A16 - adds r0, 0xFF -_08145A16: - lsls r0, 16 - asrs r0, 24 - bl sub_8145B24 - b _08145A30 -_08145A20: - ldrb r1, [r0, 0xA] - movs r0, 0xD0 - muls r0, r1 - lsls r0, 16 - asrs r0, 24 - bl sub_8145B24 -_08145A2E: - add r4, sp, 0xC -_08145A30: - ldr r0, =gUnknown_0203AB98 - ldr r2, [r0] - ldrb r5, [r2] - movs r1, 0 - ldrsb r1, [r2, r1] - movs r3, 0x1 - ldrsb r3, [r2, r3] - adds r6, r0, 0 - cmp r1, r3 - beq _08145A82 - cmp r1, r3 - bge _08145A64 - ldrb r0, [r2, 0x2] - adds r0, r5, r0 - strb r0, [r2] - ldr r2, [r6] - movs r1, 0 - ldrsb r1, [r2, r1] - ldrb r3, [r2, 0x1] - movs r0, 0x1 - ldrsb r0, [r2, r0] - cmp r1, r0 - ble _08145A82 - b _08145A7A - .pool -_08145A64: - ldrb r0, [r2, 0x2] - subs r0, r5, r0 - strb r0, [r2] - ldr r2, [r6] - movs r1, 0 - ldrsb r1, [r2, r1] - ldrb r3, [r2, 0x1] - movs r0, 0x1 - ldrsb r0, [r2, r0] - cmp r1, r0 - bge _08145A82 -_08145A7A: - strb r3, [r2] - ldr r1, [r6] - movs r0, 0 - strb r0, [r1, 0x1] -_08145A82: - ldr r2, =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r2 - movs r1, 0x80 - lsls r1, 1 - orrs r0, r1 - ldr r1, =0x0000ffff - ands r0, r1 - movs r1, 0x80 - lsls r1, 17 - orrs r0, r1 - str r0, [sp, 0x4] - ldr r0, [r6] - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r1, 24 - lsrs r1, 16 - ldr r0, [sp, 0x8] - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x8] - add r0, sp, 0x4 - adds r1, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ObjAffineSet - add r0, sp, 0xC - ldrh r1, [r0] - ldrh r2, [r4, 0x2] - ldrh r3, [r4, 0x4] - ldrh r0, [r4, 0x6] - str r0, [sp] - movs r0, 0 - bl SetOamMatrix - ldr r2, =gSineTable - ldr r0, [r6] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, 0x7F - movs r1, 0xFF - ands r0, r1 - lsls r1, r0, 1 - adds r1, r2 - adds r0, 0x40 - lsls r0, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0 - ldrsh r1, [r1, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - cmp r0, 0 - bge _08145AF6 - adds r0, 0xFF -_08145AF6: - asrs r0, 8 - strh r0, [r7, 0x24] - lsls r1, r2, 16 - asrs r1, 16 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - cmp r0, 0 - bge _08145B0A - adds r0, 0xFF -_08145B0A: - asrs r0, 8 - strh r0, [r7, 0x26] - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814596C - - thumb_func_start sub_8145B24 -sub_8145B24: @ 8145B24 - push {lr} - lsls r0, 24 - asrs r0, 24 - movs r1, 0x20 - subs r2, r1, r0 - movs r0, 0xFF - ands r2, r0 - adds r0, r2, 0 - subs r0, 0x21 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xBE - bhi _08145B40 - movs r2, 0xE0 -_08145B40: - ldr r1, =gUnknown_0203AB98 - ldr r0, [r1] - strb r2, [r0, 0x1] - ldr r1, [r1] - movs r0, 0x5 - strb r0, [r1, 0x2] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8145B24 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index a52c2bc88..3e07135e6 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -5,2351 +5,9 @@ .text - thumb_func_start sub_80156E0 -sub_80156E0: @ 80156E0 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0 - ldr r0, =gUnknown_02022C30 - ldr r6, [r0] - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r7, r0, r1 - ldrb r0, [r6, 0x14] - cmp r0, 0x38 - bls _08015702 - bl _08016878 -_08015702: - lsls r0, 2 - ldr r1, =_08015718 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08015718: - .4byte _080157FC - .4byte _08015854 - .4byte _08015878 - .4byte _080158C8 - .4byte _080159A6 - .4byte _08015E5C - .4byte _08015C54 - .4byte _08015E5C - .4byte _08016864 - .4byte _080161C8 - .4byte _080162D4 - .4byte _080160AC - .4byte _080160C6 - .4byte _08016324 - .4byte _08016348 - .4byte _08016350 - .4byte _08016360 - .4byte _0801638E - .4byte _080163A2 - .4byte _08015F32 - .4byte _08015FB8 - .4byte _08015FD6 - .4byte _0801604A - .4byte _08015ADA - .4byte _08015B00 - .4byte _08015B78 - .4byte _08016838 - .4byte _08015D4C - .4byte _08015D34 - .4byte _08015DD0 - .4byte _08015C2A - .4byte _08015DA6 - .4byte _08015D9C - .4byte _08016158 - .4byte _08016178 - .4byte _080161B8 - .4byte _080162DC - .4byte _08016318 - .4byte _08015BF4 - .4byte _08016104 - .4byte _08015E94 - .4byte _08015EC4 - .4byte _080163CC - .4byte _0801645C - .4byte _080165A8 - .4byte _08016610 - .4byte _0801662C - .4byte _08016478 - .4byte _08016634 - .4byte _08016738 - .4byte _0801676C - .4byte _080167F4 - .4byte _0801652C - .4byte _080164E0 - .4byte _080164F4 - .4byte _0801658C - .4byte _080165DC -_080157FC: - movs r0, 0x70 - bl AllocZeroed - str r0, [r6, 0x4] - movs r0, 0x70 - bl AllocZeroed - str r0, [r6, 0xC] - movs r0, 0x80 - lsls r0, 1 - bl AllocZeroed - str r0, [r6] - movs r0, 0x20 - bl AllocZeroed - str r0, [r6, 0x8] - ldr r0, [r6] - movs r1, 0x8 - bl sub_8017580 - ldr r1, =gUnknown_02022C2C - movs r0, 0x40 - strb r0, [r1] - ldr r0, [r6, 0xC] - ldr r1, [r6, 0x4] - movs r2, 0x9 - bl sub_8016DF0 - adds r1, r6, 0 - adds r1, 0x20 - strb r0, [r1] - adds r0, r6, 0 - adds r0, 0xA0 - bl sub_8019BA8 - bl sub_8019F2C - movs r0, 0x1 - bl _08016876 - .pool -_08015854: - adds r0, r6, 0 - adds r0, 0x21 - movs r2, 0 - ldrsh r1, [r7, r2] - bl sub_8019E70 - ldrh r0, [r7] - adds r0, 0x1 - strh r0, [r7] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - beq _08015872 - bl _08016878 -_08015872: - movs r0, 0x2 - bl _08016876 -_08015878: - movs r0, 0x40 - movs r1, 0 - movs r2, 0 - bl sub_8010F84 - ldr r2, =gUnknown_02022C40 - ldrh r0, [r2, 0x2] - ldrh r1, [r2, 0xA] - ldrh r2, [r2, 0xC] - bl sub_8010FCC - bl sub_800B488 - bl OpenLink - bl sub_8011C84 - ldr r0, [r6, 0x8] - movs r1, 0x1 - bl sub_8017580 - ldr r0, [r6, 0x4] - movs r1, 0x4 - bl sub_80175EC - ldr r0, [r6, 0xC] - movs r1, 0x4 - bl sub_80175EC - ldr r1, =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - movs r0, 0x3 - bl _08016876 - .pool -_080158C8: - bl sub_81B1360 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8 - beq _080158E0 - bl sub_81B1360 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x9 - bne _080159A0 -_080158E0: - ldr r4, =gUnknown_02022C40 - ldrh r0, [r4] - cmp r0, 0 - beq _080159A0 - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r4] - cmp r0, 0x1 - beq _08015900 - cmp r0, 0x2 - beq _08015950 - b _0801598E - .pool -_08015900: - movs r0, 0x54 - movs r1, 0 - movs r2, 0x1 - bl sub_8011090 - cmp r5, 0x5 - bls _0801592C - adds r0, r4, 0 - bl sub_801807C - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_8010FCC - ldr r0, =gUnknown_082EF4FC - bl sub_801568C - b _0801598E - .pool -_0801592C: - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl sub_80180A0 - cmp r0, 0 - bne _0801594C - ldr r1, =gUnknown_082EF47C - movs r0, 0x34 - bl sub_8015664 - b _0801598E - .pool -_0801594C: - movs r0, 0x37 - b _0801598C -_08015950: - adds r0, r6, 0 - bl sub_80156C8 - ldrb r0, [r4, 0x8] - strh r0, [r7, 0x2] - cmp r5, 0x5 - bls _0801596C - ldr r0, =gUnknown_082EF544 - bl sub_801568C - b _0801598E - .pool -_0801596C: - movs r0, 0x54 - movs r1, 0 - movs r2, 0x1 - bl sub_8011090 - ldr r1, =gUnknown_02022C2C - movs r0, 0x44 - strb r0, [r1] - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl sub_80180E8 - movs r0, 0x33 -_0801598C: - strb r0, [r6, 0x14] -_0801598E: - ldr r1, =gUnknown_02022C40 - movs r0, 0 - strh r0, [r1] - bl _08016878 - .pool -_080159A0: - movs r0, 0x4 - bl _08016876 -_080159A6: - ldr r4, =gSpecialVar_Result - ldrh r0, [r4] - cmp r0, 0 - beq _08015A0A - cmp r0, 0x9 - bne _080159E0 - movs r0, 0x54 - movs r1, 0 - movs r2, 0x1 - bl sub_8011090 - movs r0, 0x2 - bl PlaySE - ldr r0, =gStringVar1 - ldr r1, =gSaveBlock2Ptr - ldr r1, [r1] - bl StringCopy - movs r1, 0 - movs r0, 0x2A - b _08015A02 - .pool -_080159E0: - cmp r0, 0xB - bne _080159F4 - movs r0, 0x54 - movs r1, 0 - movs r2, 0x1 - bl sub_8011090 - movs r1, 0 - movs r0, 0x17 - b _08015A02 -_080159F4: - movs r0, 0 - strh r0, [r7] - ldrh r0, [r4] - subs r0, 0x1 - strh r0, [r7, 0x2] - movs r1, 0 - movs r0, 0x18 -_08015A02: - strb r0, [r6, 0x14] - strh r1, [r4] - bl _08016878 -_08015A0A: - bl ScriptContext2_IsEnabled - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08015A1A - bl _08016878 -_08015A1A: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08015A80 - ldr r0, [r6] - adds r2, r7, 0x2 - adds r3, r6, 0 - adds r3, 0x21 - adds r1, r7, 0 - bl sub_801A2A8 - cmp r0, 0 - beq _08015A4C - movs r0, 0x5 - bl PlaySE - bl sub_80181CC - movs r0, 0x18 - bl _08016876 - .pool -_08015A4C: - bl sub_8017940 - cmp r0, 0 - beq _08015A80 - movs r0, 0x54 - movs r1, 0 - movs r2, 0x1 - bl sub_8011090 - movs r0, 0x2 - bl PlaySE - bl sub_80181CC - ldr r0, =gStringVar1 - ldr r1, =gSaveBlock2Ptr - ldr r1, [r1] - bl StringCopy - movs r0, 0x2D - bl _08016876 - .pool -_08015A80: - bl sub_8016B00 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _08015AA2 - cmp r0, 0x2 - bgt _08015A96 - cmp r0, 0x1 - beq _08015A9C - b _08015AD0 -_08015A96: - cmp r0, 0x4 - beq _08015AAA - b _08015AD0 -_08015A9C: - movs r0, 0x2 - bl PlaySE -_08015AA2: - adds r0, r6, 0 - bl sub_801A274 - b _08015AD0 -_08015AAA: - movs r0, 0xB - strb r0, [r6, 0x14] - bl sub_80181CC - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_8010FCC - adds r0, r6, 0 - bl sub_80181DC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x53 - movs r2, 0 - bl sub_8011090 -_08015AD0: - adds r0, r6, 0 - bl sub_801A284 - bl _08016878 -_08015ADA: - ldr r0, =sub_809FA34 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _08015AEA - bl _08016878 -_08015AEA: - movs r0, 0x40 - movs r1, 0 - movs r2, 0 - bl sub_8011090 - movs r0, 0x4 - bl _08016876 - .pool -_08015B00: - bl sub_801704C - movs r3, 0x2 - ldrsh r0, [r7, r3] - ldr r1, [r6] - bl sub_8017CF8 - adds r4, r0, 0 - movs r0, 0x54 - movs r1, 0 - movs r2, 0x1 - bl sub_8011090 - ldr r0, [r6] - ldrb r1, [r7] - ldrb r2, [r7, 0x2] - adds r3, r4, 0 - bl sub_80179D4 - cmp r0, 0x1 - beq _08015B44 - cmp r0, 0x1 - bgt _08015B36 - cmp r0, 0 - beq _08015B3E - bl _08016878 -_08015B36: - cmp r0, 0x2 - beq _08015B68 - bl _08016878 -_08015B3E: - movs r0, 0x1A - bl _08016876 -_08015B44: - movs r1, 0x2 - ldrsh r0, [r7, r1] - lsls r0, 5 - ldr r1, [r6] - adds r1, r0 - adds r0, r1, 0 - adds r0, 0x10 - ldr r2, =gUnknown_02022C2C - ldrb r2, [r2] - bl sub_8012188 - strh r5, [r6, 0x12] - movs r0, 0x19 - bl _08016876 - .pool -_08015B68: - ldr r1, =gStringVar4 - movs r0, 0x13 - bl sub_8015664 - bl _08016878 - .pool -_08015B78: - bl sub_801704C - bl sub_8011A74 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - blt _08015BBE - cmp r4, 0x2 - ble _08015B9A - cmp r4, 0x4 - bne _08015BBE - movs r0, 0x1 - bl sub_801818C - strb r4, [r6, 0x14] - b _08015BBE -_08015B9A: - bl sub_8011B90 - cmp r0, 0x1 - bne _08015BB0 - ldr r0, =gUnknown_082EE6C8 - bl sub_801568C - b _08015BB8 - .pool -_08015BB0: - ldr r1, =gUnknown_082EE6C8 - movs r0, 0x1E - bl sub_8015664 -_08015BB8: - ldr r1, =gUnknown_02022C2C - movs r0, 0x40 - strb r0, [r1] -_08015BBE: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08015BCA - bl _08016878 -_08015BCA: - ldr r0, =gBlockSendBuffer - movs r1, 0x1 - bl sub_80143E4 - ldr r0, =sub_80140E0 - movs r1, 0x5 - bl CreateTask - movs r0, 0x26 - bl _08016876 - .pool -_08015BF4: - ldr r0, =sub_80140E0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _08015C04 - bl _08016878 -_08015C04: - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - cmp r0, 0x44 - bne _08015C24 - ldr r1, =gUnknown_082EE004 - movs r0, 0x1F - bl sub_8015664 - bl _08016878 - .pool -_08015C24: - movs r0, 0x5 - bl _08016876 -_08015C2A: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08015C36 - bl _08016878 -_08015C36: - movs r0, 0 - bl sub_801818C - movs r2, 0 - ldrsh r0, [r7, r2] - movs r3, 0x2 - ldrsh r1, [r7, r3] - ldr r2, [r6] - bl sub_801A3D0 - movs r0, 0x2 - bl _08016876 - .pool -_08015C54: - adds r0, r6, 0 - adds r0, 0x16 - adds r1, r6, 0 - adds r1, 0x1B - adds r2, r6, 0 - adds r2, 0x1C - ldr r3, =gUnknown_082F021C - ldr r4, =gUnknown_082F0244 - str r4, [sp] - bl sub_8017178 - adds r5, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - bne _08015C78 - bl _08016878 -_08015C78: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08015C94 - movs r0, 0x1C - bl _08016876 - .pool -_08015C94: - adds r1, r6, 0 - adds r1, 0x98 - movs r0, 0 - strh r0, [r1] - movs r2, 0x2 - ldrsh r0, [r7, r2] - ldr r1, [r6] - bl sub_8017CF8 - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _08015CB2 - cmp r5, 0x40 - bne _08015CE4 -_08015CB2: - adds r0, r6, 0 - adds r0, 0x4C - movs r1, 0x40 - strh r1, [r0] - bl sub_800FE50 - ldr r0, =gStringVar4 - ldr r2, =gUnknown_082EEB80 - ldr r1, =gLinkPlayers - ldrb r1, [r1, 0x13] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - movs r0, 0x20 - bl _08016876 - .pool -_08015CE4: - ldr r0, =gUnknown_02022C2C - strb r5, [r0] - ldr r1, =gUnknown_02022C2D - lsrs r0, r5, 8 - strb r0, [r1] - lsls r0, r5, 24 - lsrs r0, 24 - cmp r0, 0x41 - bne _08015D18 - bl sub_8018024 - cmp r0, 0 - bne _08015D18 - ldr r1, =gUnknown_082EEBD0 - movs r0, 0x5 - bl sub_8015664 - bl _08016878 - .pool -_08015D18: - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - movs r1, 0x40 - orrs r1, r0 - adds r0, r6, 0 - adds r0, 0x4C - strh r1, [r0] - bl sub_800FE50 - movs r0, 0x1B - bl _08016876 - .pool -_08015D34: - ldr r0, =gStringVar4 - ldr r1, =gUnknown_082EEB88 - bl StringCopy - movs r0, 0x24 - bl _08016876 - .pool -_08015D4C: - adds r0, r6, 0 - bl sub_8017FD8 - movs r3, 0x2 - ldrsh r0, [r7, r3] - ldr r1, [r6] - bl sub_8017CF8 - adds r4, r0, 0 - adds r0, r6, 0 - adds r0, 0x4C - ldrh r1, [r0] - movs r0, 0x3F - ands r0, r1 - bl sub_8017984 - adds r5, r0, 0 - adds r0, r6, 0 - adds r0, 0x16 - ldr r3, =gUnknown_082EE82C - lsls r1, r5, 2 - lsls r2, r4, 4 - adds r1, r2 - adds r1, r3 - ldr r1, [r1] - bl PrintOnTextbox - lsls r0, 24 - cmp r0, 0 - bne _08015D8C - bl _08016878 -_08015D8C: - movs r0, 0 - strh r0, [r7, 0x6] - movs r0, 0x1D - bl _08016876 - .pool -_08015D9C: - bl sub_800AC34 - movs r0, 0x24 - bl _08016876 -_08015DA6: - adds r0, r6, 0 - adds r0, 0x4C - movs r1, 0x44 - strh r1, [r0] - ldr r2, =gUnknown_02022C40 - ldrh r1, [r2, 0xE] - adds r3, r6, 0 - adds r3, 0x4E - strh r1, [r3] - ldrh r2, [r2, 0x10] - adds r1, r6, 0 - adds r1, 0x50 - strh r2, [r1] - bl sub_800FE50 - movs r0, 0x1D - bl _08016876 - .pool -_08015DD0: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08015DF4 - ldr r0, =gStringVar4 - ldr r1, =gUnknown_082EEB88 - bl StringCopy - movs r0, 0x1C - bl _08016876 - .pool -_08015DF4: - adds r0, r6, 0 - bl sub_8017FD8 - adds r0, r6, 0 - adds r0, 0x98 - ldrh r0, [r0] - cmp r0, 0x51 - bne _08015E2A - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - cmp r0, 0x8 - bne _08015E24 - ldr r0, =gStringVar4 - adds r1, r6, 0 - movs r2, 0 - bl sub_8018220 - movs r0, 0x28 - bl _08016876 - .pool -_08015E24: - movs r0, 0xD - bl _08016876 -_08015E2A: - cmp r0, 0x52 - beq _08015E32 - bl _08016878 -_08015E32: - movs r5, 0 - movs r0, 0x20 - strb r0, [r6, 0x14] - ldr r0, =gStringVar4 - ldr r4, =gUnknown_02022C2C - ldrb r2, [r4] - movs r1, 0x40 - orrs r1, r2 - ldr r2, =gLinkPlayers - ldrb r2, [r2, 0x13] - bl sub_8017D9C - strb r5, [r4] - bl _08016878 - .pool -_08015E5C: - movs r0, 0x2 - ldrsh r1, [r7, r0] - lsls r1, 5 - ldr r0, [r6] - adds r0, r1 - bl sub_80179AC - adds r5, r0, 0 - movs r1, 0x2 - ldrsh r0, [r7, r1] - ldr r1, [r6] - bl sub_8017CF8 - adds r4, r0, 0 - ldr r2, =gUnknown_082EE24C - lsls r0, r4, 2 - lsls r1, r5, 3 - adds r0, r1 - adds r0, r2 - ldr r1, [r0] - movs r0, 0x6 - bl sub_8015664 - bl _08016878 - .pool -_08015E94: - adds r0, r6, 0 - adds r0, 0x16 - ldr r1, =gStringVar4 - bl PrintOnTextbox - lsls r0, 24 - cmp r0, 0 - bne _08015EA8 - bl _08016878 -_08015EA8: - movs r4, 0 - movs r0, 0x29 - strb r0, [r6, 0x14] - bl sub_800ADF8 - adds r0, r6, 0 - adds r0, 0x98 - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - bl _08016878 - .pool -_08015EC4: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - bne _08015ED2 - bl _08016878 -_08015ED2: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _08015F2C - ldr r5, =gStringVar1 - bl GetMultiplayerId - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r4, =gLinkPlayers + 8 - adds r1, r4 - adds r0, r5, 0 - bl StringCopy - ldrh r0, [r4, 0x18] - adds r4, 0x1C - adds r1, r4, 0 - bl sub_800E540 - adds r5, r0, 0 - ldr r0, =gStringVar4 - ldr r2, =gUnknown_082EE378 - lsls r1, r5, 2 - adds r1, r2 - ldr r1, [r1] - bl StringExpandPlaceholders - movs r0, 0x21 - bl _08016876 - .pool -_08015F2C: - movs r0, 0x7 - bl _08016876 -_08015F32: - adds r0, r6, 0 - adds r0, 0x16 - movs r1, 0 - bl sub_80170B8 - lsls r0, 24 - asrs r5, r0, 24 - cmp r5, 0 - beq _08015F5C - cmp r5, 0 - bgt _08015F54 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - beq _08015F98 - bl _08016878 -_08015F54: - cmp r5, 0x1 - beq _08015F98 - bl _08016878 -_08015F5C: - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r4, =gUnknown_02022C2C - movs r0, 0x45 - strb r0, [r4] - movs r0, 0x45 - movs r1, 0 - movs r2, 0x1 - bl sub_8011090 - movs r2, 0x2 - ldrsh r0, [r7, r2] - lsls r0, 5 - ldr r1, [r6] - adds r1, r0 - adds r0, r1, 0 - adds r0, 0x10 - ldrb r2, [r4] - bl sub_8012188 - ldrh r0, [r7, 0x2] - strh r0, [r6, 0x12] - movs r0, 0x14 - strb r0, [r6, 0x14] - strh r5, [r7, 0x6] - bl _08016878 - .pool -_08015F98: - movs r3, 0x2 - ldrsh r0, [r7, r3] - ldr r1, [r6] - bl sub_8017CF8 - adds r4, r0, 0 - ldr r1, =gUnknown_082EEC9C - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - bl sub_801568C - bl _08016878 - .pool -_08015FB8: - ldrh r0, [r7, 0x4] - adds r0, 0x1 - strh r0, [r7, 0x4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - bgt _08015FCA - bl _08016878 -_08015FCA: - movs r1, 0 - movs r0, 0x15 - strb r0, [r6, 0x14] - strh r1, [r7, 0x4] - bl _08016878 -_08015FD6: - bl sub_8011A74 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - beq _0801603C - cmp r4, 0x3 - ble _08015FF4 - cmp r4, 0x4 - bne _08016040 - movs r0, 0x1 - bl sub_801818C - strb r4, [r6, 0x14] - b _08016040 -_08015FF4: - cmp r4, 0x1 - blt _08016040 - movs r1, 0x2 - ldrsh r0, [r7, r1] - ldr r1, [r6] - bl sub_8017CF8 - adds r4, r0, 0 - movs r0, 0x54 - movs r1, 0 - movs r2, 0x1 - bl sub_8011090 - bl sub_8011B90 - cmp r0, 0x1 - bne _08016028 - ldr r0, =gUnknown_082EED3C - lsls r1, r4, 2 - adds r1, r0 - ldr r0, [r1] - bl sub_801568C - b _08016040 - .pool -_08016028: - ldr r0, =gUnknown_082EED3C - lsls r1, r4, 2 - adds r1, r0 - ldr r1, [r1] - movs r0, 0x1E - bl sub_8015664 - b _08016040 - .pool -_0801603C: - movs r0, 0x16 - strb r0, [r6, 0x14] -_08016040: - ldrh r0, [r7, 0x6] - adds r0, 0x1 - strh r0, [r7, 0x6] - bl _08016878 -_0801604A: - bl sub_8011A80 - cmp r0, 0 - beq _08016092 - movs r2, 0x2 - ldrsh r0, [r7, r2] - ldr r1, [r6] - bl sub_8017CF8 - adds r4, r0, 0 - movs r0, 0x54 - movs r1, 0 - movs r2, 0x1 - bl sub_8011090 - bl sub_8011B90 - cmp r0, 0x1 - bne _08016084 - ldr r0, =gUnknown_082EED3C - lsls r1, r4, 2 - adds r1, r0 - ldr r0, [r1] - bl sub_801568C - b _08016092 - .pool -_08016084: - ldr r0, =gUnknown_082EED3C - lsls r1, r4, 2 - adds r1, r0 - ldr r1, [r1] - movs r0, 0x1E - bl sub_8015664 -_08016092: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0801609E - bl _08016878 -_0801609E: - movs r0, 0x10 - bl _08016876 - .pool -_080160AC: - movs r0, 0x49 - bl PlaySE - bl sub_800EF7C - movs r0, 0 - movs r1, 0xC - strb r1, [r6, 0x14] - adds r1, r6, 0 - adds r1, 0x9A - strh r0, [r1] - bl _08016878 -_080160C6: - bl sub_8011A80 - cmp r0, 0 - beq _080160DA - movs r0, 0 - bl sub_801818C - movs r0, 0x2 - bl _08016876 -_080160DA: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _080160E4 - b _08016878 -_080160E4: - ldr r0, =gBlockSendBuffer - movs r1, 0x1 - bl sub_80143E4 - ldr r0, =sub_80140E0 - movs r1, 0x5 - bl CreateTask - movs r0, 0x27 - b _08016876 - .pool -_08016104: - adds r0, r6, 0 - bl sub_801689C - ldr r0, =sub_80140E0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _08016118 - b _08016878 -_08016118: - movs r0, 0x21 - strb r0, [r6, 0x14] - ldr r0, =gStringVar1 - ldr r4, =gLinkPlayers + 0x1C + 0x08 @ &gLinkPlayers[1].name - adds r1, r4, 0 - bl StringCopy - adds r0, r4, 0 - subs r0, 0x24 - ldrh r0, [r0, 0x20] - adds r1, r4, 0 - bl sub_800E540 - adds r5, r0, 0 - ldr r0, =gStringVar4 - ldr r2, =gUnknown_082EE324 - lsls r1, r5, 2 - adds r1, r2 - ldr r1, [r1] - bl StringExpandPlaceholders - b _08016878 - .pool -_08016158: - adds r0, r6, 0 - bl sub_801689C - adds r0, r6, 0 - adds r0, 0x16 - ldr r1, =gStringVar4 - bl PrintOnTextbox - lsls r0, 24 - cmp r0, 0 - bne _08016170 - b _08016878 -_08016170: - movs r0, 0x22 - b _08016876 - .pool -_08016178: - adds r0, r6, 0 - bl sub_801689C - adds r0, r6, 0 - bl sub_80168DC - cmp r0, 0 - bne _0801618A - b _08016878 -_0801618A: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08016198 - b _08016878 -_08016198: - movs r0, 0x1 - bl sub_8011DE0 - ldr r0, =gStringVar4 - ldr r1, =gUnknown_082EE598 - bl StringCopy - movs r0, 0x24 - b _08016876 - .pool -_080161B8: - ldr r1, =gStringVar4 - movs r0, 0x9 - bl sub_8015664 - b _08016878 - .pool -_080161C8: - adds r0, r6, 0 - adds r0, 0x16 - movs r1, 0 - bl sub_80170B8 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080161EE - cmp r1, 0 - bgt _080161E8 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080162AE - b _08016878 -_080161E8: - cmp r1, 0x1 - beq _080162AE - b _08016878 -_080161EE: - adds r0, r6, 0 - adds r0, 0x4C - movs r1, 0x51 - strh r1, [r0] - ldr r1, =gUnknown_02022C2C - ldrb r1, [r1] - adds r5, r0, 0 - cmp r1, 0x45 - bne _08016220 - movs r4, 0x40 - orrs r4, r1 - movs r0, 0x1 - bl sub_801100C - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - movs r2, 0 - bl sub_8011090 - b _0801623E - .pool -_08016220: - movs r0, 0x40 - adds r4, r1, 0 - orrs r4, r0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - bl sub_801100C - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - movs r2, 0x1 - bl sub_8011090 -_0801623E: - ldr r1, [r6, 0x8] - movs r0, 0 - strb r0, [r1, 0x1B] - strh r0, [r7, 0x6] - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - cmp r0, 0x41 - bne _08016286 - bl sub_8018024 - cmp r0, 0 - bne _0801627C - movs r0, 0x52 - strh r0, [r5] - adds r0, r5, 0 - bl sub_800FE50 - movs r0, 0xA - strb r0, [r6, 0x14] - ldr r0, =gStringVar4 - ldr r1, =gUnknown_082EEC14 - bl StringCopy - b _08016878 - .pool -_0801627C: - adds r0, r5, 0 - bl sub_800FE50 - movs r0, 0xD - b _08016876 -_08016286: - cmp r0, 0x48 - bne _080162A4 - adds r0, r5, 0 - bl sub_800FE50 - ldr r0, =gStringVar4 - adds r1, r6, 0 - movs r2, 0x1 - bl sub_8018220 - movs r0, 0x28 - b _08016876 - .pool -_080162A4: - adds r0, r5, 0 - bl sub_800FE50 - movs r0, 0xD - b _08016876 -_080162AE: - adds r0, r6, 0 - adds r0, 0x4C - movs r1, 0x52 - strh r1, [r0] - bl sub_800FE50 - movs r0, 0xA - strb r0, [r6, 0x14] - ldr r0, =gStringVar4 - ldr r1, =gUnknown_02022C2C - ldrb r1, [r1] - bl sub_8013078 - b _08016878 - .pool -_080162D4: - bl sub_800AC34 - movs r0, 0x24 - b _08016876 -_080162DC: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r4, [r0] - cmp r4, 0 - beq _080162E6 - b _08016878 -_080162E6: - ldr r1, =gUnknown_02022C2C - movs r0, 0x40 - strb r0, [r1] - ldr r1, =gStringVar4 - movs r0, 0x25 - bl sub_8015664 - adds r0, r6, 0 - adds r0, 0x4C - movs r1, 0 - movs r2, 0xC - bl memset - adds r0, r6, 0 - adds r0, 0x9A - strh r4, [r0] - subs r0, 0x2 - strh r4, [r0] - b _08016878 - .pool -_08016318: - movs r0, 0x2 - strb r0, [r6, 0x14] - movs r0, 0 - bl sub_801818C - b _08016878 -_08016324: - ldr r4, =gStringVar4 - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - movs r1, 0x40 - orrs r1, r0 - adds r0, r4, 0 - bl sub_8017E00 - movs r0, 0xE - adds r1, r4, 0 - bl sub_8015664 - b _08016878 - .pool -_08016348: - bl sub_800ADF8 - movs r0, 0xF - b _08016876 -_08016350: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - bne _0801635C - b _08016878 -_0801635C: - movs r0, 0x10 - b _08016876 -_08016360: - ldr r0, [r6, 0x8] - bl Free - ldr r0, [r6] - bl Free - ldr r0, [r6, 0xC] - bl Free - ldr r0, [r6, 0x4] - bl Free - adds r0, r6, 0 - adds r0, 0x20 - ldrb r0, [r0] - bl DestroyTask - adds r0, r6, 0 - adds r0, 0x21 - bl sub_8019F04 - movs r0, 0x11 - b _08016876 -_0801638E: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x12 - b _08016876 -_080163A2: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - beq _080163AE - b _08016878 -_080163AE: - bl sub_8019E3C - adds r0, r4, 0 - bl DestroyTask - ldr r0, =gUnknown_02022C30 - ldr r0, [r0] - bl Free - bl sub_80149D8 - b _08016878 - .pool -_080163CC: - bl sub_800F7DC - ldrh r1, [r0, 0x8] - ldr r4, =0x000003ff - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - bne _080163E4 - movs r0, 0x2B - b _08016876 - .pool -_080163E4: - bl sub_800F7DC - ldrh r1, [r0, 0x8] - adds r0, r4, 0 - ands r0, r1 - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - bne _08016408 - ldr r0, =gStringVar4 - ldr r1, =gUnknown_082EF590 - bl StringCopy - b _0801643E - .pool -_08016408: - ldr r4, =gStringVar1 - bl sub_800F7DC - ldrh r0, [r0, 0x8] - lsls r0, 22 - lsrs r0, 22 - movs r1, 0xB - muls r1, r0 - ldr r0, =gSpeciesNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - ldr r4, =gStringVar2 - bl sub_800F7DC - ldrb r1, [r0, 0xB] - lsrs r1, 1 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, =gStringVar4 - ldr r1, =gUnknown_082EF564 - bl StringExpandPlaceholders -_0801643E: - ldr r1, =gStringVar4 - movs r0, 0x2C - bl sub_8015664 - b _08016878 - .pool -_0801645C: - adds r0, r6, 0 - adds r0, 0x16 - ldr r1, =gUnknown_082EF20C - bl PrintOnTextbox - lsls r0, 24 - cmp r0, 0 - bne _0801646E - b _08016878 -_0801646E: - movs r0, 0x2F - b _08016876 - .pool -_08016478: - adds r0, r6, 0 - adds r0, 0x16 - adds r1, r6, 0 - adds r1, 0x1D - adds r2, r6, 0 - adds r2, 0x1E - ldr r3, =gUnknown_082F025C - ldr r4, =gUnknown_082F027C - str r4, [sp] - bl sub_8017178 - adds r5, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - bne _0801649A - b _08016878 -_0801649A: - subs r0, 0x1 - cmp r5, r0 - beq _080164A4 - cmp r5, 0x3 - bne _080164B8 -_080164A4: - movs r0, 0x4 - strb r0, [r6, 0x14] - movs r0, 0x1 - bl sub_801818C - b _08016878 - .pool -_080164B8: - cmp r5, 0x1 - beq _080164C2 - cmp r5, 0x2 - beq _080164D0 - b _08016878 -_080164C2: - ldr r1, =gUnknown_082EF4C4 - movs r0, 0x35 - bl sub_8015664 - b _08016878 - .pool -_080164D0: - ldr r1, =gUnknown_082EF298 - movs r0, 0x2F - bl sub_8015664 - b _08016878 - .pool -_080164E0: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x36 - b _08016876 -_080164F4: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08016502 - b _08016878 -_08016502: - ldr r1, =gUnknown_02022C40 - movs r0, 0x1 - strh r0, [r1] - ldr r1, =gFieldCallback - ldr r0, =sub_80AF128 - str r0, [r1] - ldr r1, =CB2_ReturnToField - movs r0, 0x8 - bl sub_81B8904 - b _08016878 - .pool -_0801652C: - adds r0, r6, 0 - adds r0, 0x16 - adds r1, r6, 0 - adds r1, 0x1D - adds r2, r6, 0 - adds r2, 0x1E - ldr r3, =gUnknown_082F0294 - ldr r4, =gUnknown_082F032C - str r4, [sp] - bl sub_8017178 - adds r5, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - bne _0801654E - b _08016878 -_0801654E: - subs r0, 0x1 - cmp r5, r0 - beq _08016558 - cmp r5, 0x12 - bne _08016580 -_08016558: - ldr r0, =gUnknown_02022C40 - bl sub_801807C - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_8010FCC - ldr r0, =gUnknown_082EF4FC - bl sub_801568C - b _08016878 - .pool -_08016580: - ldr r0, =gUnknown_02022C40 - strh r5, [r0, 0x2] - movs r0, 0x37 - b _08016876 - .pool -_0801658C: - ldr r2, =gUnknown_02022C40 - ldrh r0, [r2, 0x2] - ldrh r1, [r2, 0xA] - ldrh r2, [r2, 0xC] - bl sub_8010FCC - ldr r0, =gUnknown_082EF520 - bl sub_801568C - b _08016878 - .pool -_080165A8: - adds r0, r6, 0 - adds r0, 0x16 - movs r1, 0 - bl sub_80170B8 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080165CE - cmp r1, 0 - bgt _080165C8 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080165D2 - b _08016878 -_080165C8: - cmp r1, 0x1 - beq _080165D2 - b _08016878 -_080165CE: - movs r0, 0x38 - b _08016876 -_080165D2: - movs r0, 0x1 - bl sub_801818C - movs r0, 0x4 - b _08016876 -_080165DC: - adds r0, r6, 0 - adds r0, 0x16 - ldr r1, =gUnknown_082EF5B8 - bl PrintOnTextbox - lsls r0, 24 - cmp r0, 0 - bne _080165EE - b _08016878 -_080165EE: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_8010FCC - ldr r0, =gUnknown_02022C40 - bl sub_801807C - movs r0, 0x1 - bl sub_801818C - movs r0, 0x4 - b _08016876 - .pool -_08016610: - adds r0, r6, 0 - adds r0, 0x16 - ldr r1, =gUnknown_082EF1EC - bl PrintOnTextbox - lsls r0, 24 - cmp r0, 0 - bne _08016622 - b _08016878 -_08016622: - movs r0, 0x2E - b _08016876 - .pool -_0801662C: - bl sub_80173B0 - movs r0, 0x30 - b _08016876 -_08016634: - adds r0, r6, 0 - adds r0, 0x16 - adds r1, r6, 0 - adds r1, 0x1D - adds r2, r6, 0 - adds r2, 0x4A - adds r3, r6, 0 - adds r3, 0x1E - ldr r4, =gUnknown_082F034C - str r4, [sp] - ldr r4, =gUnknown_082F03A4 - str r4, [sp, 0x4] - ldr r4, [r6] - str r4, [sp, 0x8] - bl sub_80172A0 - adds r5, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - bne _08016660 - b _08016878 -_08016660: - subs r0, 0x1 - cmp r5, r0 - beq _0801666A - cmp r5, 0x8 - bne _0801667C -_0801666A: - movs r0, 0x1 - bl sub_801818C - movs r0, 0x4 - b _08016876 - .pool -_0801667C: - bl sub_80173B0 - ldr r1, [r6] - lsls r4, r5, 5 - adds r1, r4 - ldrb r0, [r1, 0x9] - lsrs r0, 2 - ldrh r1, [r1, 0x8] - lsls r1, 22 - lsrs r1, 22 - bl sub_8017D04 - cmp r0, 0x1 - beq _080166C8 - cmp r0, 0x1 - bgt _080166A2 - cmp r0, 0 - beq _080166A8 - b _08016878 -_080166A2: - cmp r0, 0x2 - beq _080166FC - b _08016878 -_080166A8: - ldr r0, =gStringVar1 - ldr r1, [r6] - adds r1, r4 - bl sub_8018404 - ldr r1, =gUnknown_082EF65C - movs r0, 0x31 - bl sub_8015664 - strh r5, [r7, 0x2] - b _08016878 - .pool -_080166C8: - ldr r0, =gStringVar1 - ldr r1, [r6] - adds r1, r4 - bl sub_8018404 - ldr r0, =gStringVar2 - ldr r1, [r6] - adds r1, r4 - ldrb r2, [r1, 0x9] - lsrs r2, 2 - lsls r1, r2, 3 - subs r1, r2 - ldr r2, =gTypeNames - adds r1, r2 - bl StringCopy - ldr r1, =gUnknown_082EF6E4 - b _0801671E - .pool -_080166FC: - ldr r0, =gStringVar1 - ldr r1, [r6] - adds r1, r4 - bl sub_8018404 - ldr r0, =gStringVar2 - ldr r1, [r6] - adds r1, r4 - ldrb r2, [r1, 0x9] - lsrs r2, 2 - lsls r1, r2, 3 - subs r1, r2 - ldr r2, =gTypeNames - adds r1, r2 - bl StringCopy - ldr r1, =gUnknown_082EF718 -_0801671E: - movs r0, 0x2E - bl sub_8015664 - b _08016878 - .pool -_08016738: - adds r0, r6, 0 - adds r0, 0x16 - movs r1, 0 - bl sub_80170B8 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0801675E - cmp r1, 0 - bgt _08016758 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08016762 - b _08016878 -_08016758: - cmp r1, 0x1 - beq _08016762 - b _08016878 -_0801675E: - movs r0, 0x32 - b _08016876 -_08016762: - movs r0, 0x1 - bl sub_801818C - movs r0, 0x4 - b _08016876 -_0801676C: - adds r0, r6, 0 - adds r0, 0x16 - ldr r1, =gUnknown_082EF4C4 - bl PrintOnTextbox - lsls r0, 24 - cmp r0, 0 - bne _0801677E - b _08016878 -_0801677E: - ldr r4, =gUnknown_02022C40 - movs r0, 0x2 - strh r0, [r4] - ldr r2, =gUnknown_02022C38 - movs r3, 0x2 - ldrsh r0, [r7, r3] - ldr r1, [r6] - lsls r0, 5 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - ldr r2, =gUnknown_02022C3E - ldr r1, [r6] - movs r3, 0x2 - ldrsh r0, [r7, r3] - lsls r0, 5 - adds r1, r0 - ldrb r0, [r1, 0x9] - lsrs r0, 2 - strb r0, [r2] - ldr r2, =gUnknown_02022C3C - ldr r1, [r6] - movs r3, 0x2 - ldrsh r0, [r7, r3] - lsls r0, 5 - adds r1, r0 - ldrh r0, [r1, 0x8] - lsls r0, 22 - lsrs r0, 22 - strh r0, [r2] - ldr r1, =gFieldCallback - ldr r0, =sub_80AF128 - str r0, [r1] - ldr r1, =CB2_ReturnToField - movs r0, 0x9 - bl sub_81B8904 - adds r0, r6, 0 - bl sub_80156B0 - ldrh r0, [r7, 0x2] - strb r0, [r4, 0x8] - b _08016878 - .pool -_080167F4: - ldr r1, =gUnknown_02022C2C - movs r0, 0x44 - strb r0, [r1] - movs r1, 0x2 - ldrsh r0, [r7, r1] - lsls r0, 5 - ldr r1, [r6] - adds r1, r0 - adds r0, r1, 0 - adds r0, 0x10 - movs r2, 0x44 - bl sub_8012188 - ldr r0, =gStringVar1 - movs r3, 0x2 - ldrsh r2, [r7, r3] - lsls r2, 5 - ldr r1, [r6] - adds r1, r2 - bl sub_8018404 - ldr r0, =gUnknown_082EE17C - ldr r0, [r0, 0x8] - bl sub_8017020 - movs r0, 0x19 - b _08016876 - .pool -_08016838: - adds r0, r6, 0 - adds r0, 0x16 - ldr r1, =gStringVar4 - bl PrintOnTextbox - lsls r0, 24 - cmp r0, 0 - beq _08016878 - movs r0, 0x1 - bl sub_801818C - movs r1, 0 - ldrsh r0, [r7, r1] - movs r2, 0x2 - ldrsh r1, [r7, r2] - ldr r2, [r6] - bl sub_801A3D0 - movs r0, 0x4 - b _08016876 - .pool -_08016864: - adds r0, r6, 0 - adds r0, 0x16 - ldr r1, =gStringVar4 - bl PrintOnTextbox - lsls r0, 24 - cmp r0, 0 - beq _08016878 - ldrb r0, [r6, 0x15] -_08016876: - strb r0, [r6, 0x14] -_08016878: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80156E0 - thumb_func_start var_800D_set_xB -var_800D_set_xB: @ 8016884 - push {lr} - bl InUnionRoom - cmp r0, 0x1 - bne _08016894 - ldr r1, =gSpecialVar_Result - movs r0, 0xB - strh r0, [r1] -_08016894: - pop {r0} - bx r0 - .pool -thumb_func_end var_800D_set_xB - thumb_func_start sub_801689C -sub_801689C: @ 801689C - push {r4,r5,lr} - adds r2, r0, 0 - ldr r3, =gRecvCmds - ldrh r5, [r3, 0x12] - adds r4, r5, 0 - cmp r4, 0 - beq _080168D0 - ldrh r0, [r3, 0x10] - movs r1, 0xFF - lsls r1, 8 - ands r1, r0 - movs r0, 0xBC - lsls r0, 6 - cmp r1, r0 - bne _080168D0 - adds r0, r2, 0 - adds r0, 0x9A - strh r5, [r0] - cmp r4, 0x44 - bne _080168D0 - ldrh r1, [r3, 0x14] - adds r0, 0x2 - strh r1, [r0] - ldrh r1, [r3, 0x16] - adds r0, 0x2 - strh r1, [r0] -_080168D0: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_801689C - - thumb_func_start sub_80168DC -sub_80168DC: @ 80168DC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r4, 0 - adds r5, 0x9A - ldrh r0, [r5] - cmp r0, 0 - beq _0801692C - ldr r0, =gStringVar4 - ldr r1, =gLinkPlayers - adds r1, 0x2F - ldrb r1, [r1] - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_8017EA0 - cmp r0, 0 - beq _0801692C - cmp r0, 0x1 - bne _0801691C - movs r0, 0x23 - strb r0, [r4, 0x14] - ldr r1, =gUnknown_02022C2C - ldrh r0, [r5] - strb r0, [r1] - movs r0, 0 - b _0801692E - .pool -_0801691C: - cmp r0, 0x2 - bne _0801692C - movs r0, 0x24 - strb r0, [r4, 0x14] - bl sub_800AC34 - movs r0, 0 - b _0801692E -_0801692C: - movs r0, 0x1 -_0801692E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80168DC - - thumb_func_start sub_8016934 -sub_8016934: @ 8016934 - push {r4,r5,lr} - ldr r5, =gUnknown_02022C20 - movs r0, 0xFF - strb r0, [r5] - ldr r0, =task00_081199FC - movs r1, 0 - bl CreateTask - ldr r4, =gUnknown_02022C30 - movs r0, 0x9B - lsls r0, 2 - bl AllocZeroed - str r0, [r4] - ldr r1, =gUnknown_03000DA8 - str r0, [r1] - movs r1, 0 - strb r1, [r0, 0x14] - strb r1, [r0, 0x16] - strh r1, [r0, 0x10] - strh r1, [r0, 0x12] - movs r0, 0x1 - negs r0, r0 - strb r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8016934 - thumb_func_start task00_081199FC -task00_081199FC: @ 801697C - push {r4-r6,lr} - sub sp, 0x20 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_02022C30 - ldr r5, [r0] - ldrb r0, [r5, 0x14] - cmp r0, 0x4 - bls _08016990 - b _08016AC8 -_08016990: - lsls r0, 2 - ldr r1, =_080169A4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080169A4: - .4byte _080169B8 - .4byte _080169BE - .4byte _080169E0 - .4byte _08016A30 - .4byte _08016A94 -_080169B8: - movs r0, 0x1 - strb r0, [r5, 0x14] - b _08016AC8 -_080169BE: - movs r0, 0xC - movs r1, 0 - movs r2, 0 - bl sub_8010F84 - bl sub_800B488 - bl OpenLink - bl sub_8011C84 - movs r0, 0x1 - bl sub_80111B0 - movs r0, 0x2 - strb r0, [r5, 0x14] - b _08016AC8 -_080169E0: - movs r0, 0x70 - bl AllocZeroed - str r0, [r5, 0x4] - movs r1, 0x4 - bl sub_80175EC - movs r0, 0x70 - bl AllocZeroed - str r0, [r5, 0xC] - movs r1, 0x4 - bl sub_80175EC - movs r0, 0x80 - lsls r0, 1 - bl AllocZeroed - str r0, [r5] - movs r1, 0x8 - bl sub_8017580 - movs r0, 0x20 - bl AllocZeroed - str r0, [r5, 0x8] - movs r1, 0x1 - bl sub_8017580 - ldr r0, [r5, 0xC] - ldr r1, [r5, 0x4] - movs r2, 0xA - bl sub_8016DF0 - adds r1, r5, 0 - adds r1, 0x20 - strb r0, [r1] - movs r0, 0x3 - strb r0, [r5, 0x14] - b _08016AC8 -_08016A30: - bl sub_8016B00 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - blt _08016AC8 - cmp r0, 0x2 - bgt _08016AC8 - ldr r0, =gUnknown_02022C20 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08016AC8 - movs r6, 0 -_08016A4A: - ldr r0, [r5] - lsls r4, r6, 5 - adds r1, r0, r4 - ldrb r0, [r1, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _08016A78 - mov r0, sp - bl sub_8018404 - ldr r0, [r5] - adds r0, r4 - adds r0, 0x2 - bl ReadAsU16 - lsls r0, 16 - lsrs r0, 16 - mov r1, sp - bl sub_800E540 - cmp r0, 0 - bne _08016A84 -_08016A78: - adds r6, 0x1 - cmp r6, 0x7 - ble _08016A4A - b _08016AC8 - .pool -_08016A84: - ldr r0, =gUnknown_02022C20 - mov r1, sp - bl StringCopy - b _08016AC8 - .pool -_08016A94: - ldr r0, [r5, 0x8] - bl Free - ldr r0, [r5] - bl Free - ldr r0, [r5, 0xC] - bl Free - ldr r0, [r5, 0x4] - bl Free - adds r0, r5, 0 - adds r0, 0x20 - ldrb r0, [r0] - bl DestroyTask - ldr r0, =gUnknown_02022C30 - ldr r0, [r0] - bl Free - bl sub_800EDD4 - adds r0, r4, 0 - bl DestroyTask -_08016AC8: - add sp, 0x20 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end task00_081199FC - - thumb_func_start sp182_move_string -sp182_move_string: @ 8016AD4 - push {r4,lr} - ldr r4, =gUnknown_02022C20 - ldrb r0, [r4] - cmp r0, 0xFF - bne _08016AE8 - movs r0, 0 - b _08016AF6 - .pool -_08016AE8: - ldr r0, =gStringVar1 - adds r1, r4, 0 - bl StringCopy - movs r0, 0xFF - strb r0, [r4] - movs r0, 0x1 -_08016AF6: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sp182_move_string - - thumb_func_start sub_8016B00 -sub_8016B00: @ 8016B00 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, =gUnknown_02022C30 - ldr r4, [r0] - movs r7, 0 - movs r6, 0 - movs r5, 0 -_08016B12: - ldr r0, [r4, 0xC] - adds r0, r5 - ldr r1, =gUnknown_082F045C - bl sub_8017630 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1 - bne _08016B5C - ldr r1, [r4, 0xC] - ldr r0, [r4, 0x8] - adds r1, r5 - ldm r1!, {r2,r5,r6} - stm r0!, {r2,r5,r6} - ldm r1!, {r2,r5,r6} - stm r0!, {r2,r5,r6} - ldr r1, [r4, 0x8] - movs r0, 0 - strh r0, [r1, 0x18] - ldr r2, [r4, 0x8] - ldrb r1, [r2, 0x1A] - movs r5, 0x4 - negs r5, r5 - adds r0, r5, 0 - ands r1, r0 - movs r0, 0x1 - orrs r1, r0 - strb r1, [r2, 0x1A] - ldr r0, [r4, 0x8] - strb r3, [r0, 0x1B] - movs r0, 0x4 - b _08016C90 - .pool -_08016B5C: - adds r5, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - ble _08016B12 - movs r6, 0 - mov r9, r6 -_08016B68: - ldr r0, [r4] - mov r1, r9 - lsls r5, r1, 5 - adds r2, r0, r5 - ldrb r0, [r2, 0x1A] - lsls r0, 30 - mov r8, r5 - cmp r0, 0 - beq _08016C5C - ldr r1, [r4, 0x4] - adds r0, r2, 0 - bl sub_80176E4 - adds r6, r0, 0 - cmp r6, 0xFF - beq _08016C02 - ldr r0, [r4] - adds r2, r0, r5 - ldrb r1, [r2, 0x1A] - lsls r0, r1, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _08016BE0 - lsls r0, r6, 3 - subs r0, r6 - lsls r6, r0, 2 - ldr r1, [r4, 0x4] - adds r1, r6 - adds r0, r2, 0 - bl sub_8017678 - cmp r0, 0 - beq _08016BC6 - ldr r1, [r4] - ldr r0, [r4, 0x4] - adds r1, r5 - adds r0, r6 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldr r0, [r4] - adds r0, r5 - movs r1, 0x40 - strb r1, [r0, 0x1B] - movs r7, 0x1 - b _08016BF8 -_08016BC6: - ldr r0, [r4] - adds r1, r0, r5 - ldrb r0, [r1, 0x1B] - cmp r0, 0 - beq _08016BF8 - subs r0, 0x1 - strb r0, [r1, 0x1B] - ldr r0, [r4] - adds r0, r5 - ldrb r0, [r0, 0x1B] - cmp r0, 0 - bne _08016BF8 - b _08016BF6 -_08016BE0: - movs r3, 0x4 - negs r3, r3 - adds r0, r3, 0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x1A] - ldr r0, [r4] - adds r0, r5 - movs r1, 0 - strb r1, [r0, 0x1B] -_08016BF6: - movs r7, 0x2 -_08016BF8: - ldr r0, [r4] - add r0, r8 - movs r1, 0 - strh r1, [r0, 0x18] - b _08016C5C -_08016C02: - ldr r0, [r4] - adds r1, r0, r5 - ldrb r0, [r1, 0x1A] - lsls r2, r0, 30 - lsrs r0, r2, 30 - cmp r0, 0x2 - beq _08016C3C - ldrh r0, [r1, 0x18] - adds r0, 0x1 - strh r0, [r1, 0x18] - ldr r0, [r4] - adds r2, r0, r5 - ldrh r1, [r2, 0x18] - ldr r0, =0x00000257 - cmp r1, r0 - bls _08016C5C - ldrb r0, [r2, 0x1A] - movs r5, 0x4 - negs r5, r5 - adds r1, r5, 0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x1A] - movs r7, 0x2 - b _08016C5C - .pool -_08016C3C: - lsrs r0, r2, 30 - cmp r0, 0x2 - bne _08016C5C - ldrh r0, [r1, 0x18] - adds r0, 0x1 - strh r0, [r1, 0x18] - ldr r0, [r4] - adds r2, r0, r5 - ldrh r1, [r2, 0x18] - ldr r0, =0x00000383 - cmp r1, r0 - bls _08016C5C - adds r0, r2, 0 - movs r1, 0x1 - bl sub_8017580 -_08016C5C: - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - cmp r0, 0x7 - bhi _08016C6C - b _08016B68 -_08016C6C: - movs r5, 0 - movs r6, 0x3 -_08016C70: - ldr r0, [r4] - ldr r1, [r4, 0x4] - adds r1, r5 - movs r2, 0x8 - bl sub_8017734 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08016C86 - movs r7, 0x1 -_08016C86: - adds r5, 0x1C - subs r6, 0x1 - cmp r6, 0 - bge _08016C70 - adds r0, r7, 0 -_08016C90: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8016B00 thumb_func_start sub_8016CA0 sub_8016CA0: @ 8016CA0 diff --git a/asm/roulette_util.s b/asm/roulette_util.s deleted file mode 100644 index 61f6f67b1..000000000 --- a/asm/roulette_util.s +++ /dev/null @@ -1,1431 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8151678 -sub_8151678: @ 8151678 - push {lr} - movs r1, 0 - strb r1, [r0] - strh r1, [r0, 0x2] - adds r0, 0x4 - movs r2, 0xC0 - bl memset - pop {r0} - bx r0 - thumb_func_end sub_8151678 - - thumb_func_start sub_815168C -sub_815168C: @ 815168C - push {r4-r7,lr} - adds r3, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r6, 0xF - bhi _081516A8 - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r5, r3, r0 - ldrb r7, [r5, 0x4] - lsrs r0, r7, 7 - cmp r0, 0 - beq _081516AC -_081516A8: - movs r0, 0xFF - b _0815170A -_081516AC: - ldrh r0, [r2] - movs r4, 0 - strh r0, [r5, 0x8] - ldrh r0, [r2, 0x2] - strh r0, [r5, 0xA] - ldrb r0, [r2, 0x4] - strb r0, [r5, 0xC] - ldrb r0, [r2, 0x5] - strb r0, [r5, 0xD] - ldrb r0, [r2, 0x6] - strb r0, [r5, 0xE] - ldrb r3, [r2, 0x7] - lsls r0, r3, 27 - lsrs r0, 27 - ldrb r2, [r5, 0xF] - movs r1, 0x20 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - movs r0, 0x60 - ands r0, r3 - movs r2, 0x61 - negs r2, r2 - ands r1, r2 - orrs r1, r0 - lsls r3, 24 - asrs r3, 31 - lsls r3, 7 - movs r0, 0x7F - ands r1, r0 - orrs r1, r3 - strb r1, [r5, 0xF] - subs r0, 0xFF - ands r0, r7 - movs r2, 0x80 - orrs r0, r2 - strb r0, [r5, 0x4] - strb r4, [r5, 0x6] - strb r4, [r5, 0x5] - lsls r1, 24 - cmp r1, 0 - bge _08151704 - movs r0, 0xFF - b _08151706 -_08151704: - movs r0, 0x1 -_08151706: - strb r0, [r5, 0x7] - adds r0, r6, 0 -_0815170A: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_815168C - - thumb_func_start sub_8151710 -sub_8151710: @ 8151710 - push {r4,lr} - adds r2, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r4, r1, 0 - cmp r4, 0xF - bhi _0815173C - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r1, r2, r0 - ldrb r0, [r1, 0x4] - lsrs r0, 7 - cmp r0, 0 - beq _0815173C - adds r0, r1, 0x4 - movs r1, 0 - movs r2, 0xC - bl memset - adds r0, r4, 0 - b _0815173E -_0815173C: - movs r0, 0xFF -_0815173E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8151710 - - thumb_func_start sub_8151744 -sub_8151744: @ 8151744 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r5, r0, 0 - movs r0, 0 - mov r12, r0 - ldrb r1, [r5, 0x8] - cmp r12, r1 - bcc _0815175C - b _081518F4 -_0815175C: - movs r7, 0x1F - ldr r0, =0xfffffc1f - mov r10, r0 - movs r1, 0x7D - negs r1, r1 - mov r9, r1 - movs r0, 0x1F - mov r8, r0 -_0815176C: - ldrh r0, [r5, 0x6] - add r0, r12 - lsls r0, 1 - ldr r1, =gPlttBufferFaded - adds r3, r0, r1 - ldr r1, =gPlttBufferUnfaded - adds r6, r0, r1 - ldrb r0, [r5] - lsls r0, 25 - lsrs r0, 25 - cmp r0, 0x1 - beq _08151798 - cmp r0, 0x2 - beq _081517F6 - b _081518E2 - .pool -_08151798: - ldr r0, [r3] - lsls r2, r0, 27 - lsrs r0, r2, 27 - movs r1, 0x3 - ldrsb r1, [r5, r1] - adds r0, r1 - cmp r0, 0x1F - bhi _081517BA - lsrs r0, r2, 27 - adds r0, r1 - ands r0, r7 - ldrb r2, [r3] - movs r1, 0x20 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3] -_081517BA: - ldr r0, [r3] - lsls r2, r0, 22 - lsrs r0, r2, 27 - movs r1, 0x3 - ldrsb r1, [r5, r1] - adds r0, r1 - cmp r0, 0x1F - bhi _081517DE - lsrs r0, r2, 27 - adds r0, r1 - mov r1, r8 - ands r0, r1 - lsls r0, 5 - ldrh r2, [r3] - mov r1, r10 - ands r1, r2 - orrs r1, r0 - strh r1, [r3] -_081517DE: - ldr r0, [r3] - lsls r2, r0, 17 - lsrs r0, r2, 27 - movs r1, 0x3 - ldrsb r1, [r5, r1] - adds r0, r1 - cmp r0, 0x1F - bls _081517F0 - b _081518E2 -_081517F0: - lsrs r0, r2, 27 - adds r0, r1 - b _081518D4 -_081517F6: - movs r0, 0x3 - ldrsb r0, [r5, r0] - cmp r0, 0 - bge _08151868 - ldr r0, [r3] - lsls r4, r0, 27 - lsrs r1, r4, 27 - movs r2, 0x3 - ldrsb r2, [r5, r2] - adds r1, r2 - ldr r0, [r6] - lsls r0, 27 - lsrs r0, 27 - cmp r1, r0 - blt _08151826 - lsrs r0, r4, 27 - adds r0, r2 - ands r0, r7 - ldrb r2, [r3] - movs r1, 0x20 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3] -_08151826: - ldr r0, [r3] - lsls r4, r0, 22 - lsrs r1, r4, 27 - movs r2, 0x3 - ldrsb r2, [r5, r2] - adds r1, r2 - ldr r0, [r6] - lsls r0, 22 - lsrs r0, 27 - cmp r1, r0 - blt _08151850 - lsrs r0, r4, 27 - adds r0, r2 - mov r1, r8 - ands r0, r1 - lsls r0, 5 - ldrh r2, [r3] - mov r1, r10 - ands r1, r2 - orrs r1, r0 - strh r1, [r3] -_08151850: - ldr r0, [r3] - lsls r4, r0, 17 - lsrs r1, r4, 27 - movs r2, 0x3 - ldrsb r2, [r5, r2] - adds r1, r2 - ldr r0, [r6] - lsls r0, 17 - lsrs r0, 27 - cmp r1, r0 - blt _081518E2 - b _081518D0 -_08151868: - ldr r0, [r3] - lsls r4, r0, 27 - lsrs r1, r4, 27 - movs r2, 0x3 - ldrsb r2, [r5, r2] - adds r1, r2 - ldr r0, [r6] - lsls r0, 27 - lsrs r0, 27 - cmp r1, r0 - bgt _08151890 - lsrs r0, r4, 27 - adds r0, r2 - ands r0, r7 - ldrb r2, [r3] - movs r1, 0x20 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3] -_08151890: - ldr r0, [r3] - lsls r4, r0, 22 - lsrs r1, r4, 27 - movs r2, 0x3 - ldrsb r2, [r5, r2] - adds r1, r2 - ldr r0, [r6] - lsls r0, 22 - lsrs r0, 27 - cmp r1, r0 - bgt _081518BA - lsrs r0, r4, 27 - adds r0, r2 - mov r1, r8 - ands r0, r1 - lsls r0, 5 - ldrh r2, [r3] - mov r1, r10 - ands r1, r2 - orrs r1, r0 - strh r1, [r3] -_081518BA: - ldr r0, [r3] - lsls r4, r0, 17 - lsrs r1, r4, 27 - movs r2, 0x3 - ldrsb r2, [r5, r2] - adds r1, r2 - ldr r0, [r6] - lsls r0, 17 - lsrs r0, 27 - cmp r1, r0 - bgt _081518E2 -_081518D0: - lsrs r0, r4, 27 - adds r0, r2 -_081518D4: - ands r0, r7 - lsls r0, 2 - ldrb r2, [r3, 0x1] - mov r1, r9 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x1] -_081518E2: - mov r0, r12 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - ldrb r0, [r5, 0x8] - cmp r12, r0 - bcs _081518F4 - b _0815176C -_081518F4: - ldrb r1, [r5, 0x2] - adds r0, r1, 0x1 - strb r0, [r5, 0x2] - ldrb r0, [r5, 0xB] - lsls r0, 27 - lsls r1, 24 - asrs r0, 3 - cmp r1, r0 - beq _0815190A - movs r0, 0 - b _0815193E -_0815190A: - movs r0, 0 - strb r0, [r5, 0x2] - movs r0, 0x3 - ldrsb r0, [r5, r0] - negs r0, r0 - strb r0, [r5, 0x3] - ldrb r2, [r5] - movs r1, 0x7F - movs r0, 0x7F - ands r0, r2 - cmp r0, 0x1 - bne _0815192A - lsls r0, r2, 25 - lsrs r0, 25 - adds r0, 0x1 - b _08151930 -_0815192A: - lsls r0, r2, 25 - lsrs r0, 25 - subs r0, 0x1 -_08151930: - ands r0, r1 - movs r1, 0x80 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r5] - movs r0, 0x1 -_0815193E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8151744 - - thumb_func_start sub_815194C -sub_815194C: @ 815194C - push {r4,r5,lr} - adds r3, r0, 0 - movs r2, 0 - ldrb r0, [r3] - lsls r0, 25 - lsrs r0, 25 - cmp r0, 0x1 - beq _08151962 - cmp r0, 0x2 - beq _08151990 - b _081519CA -_08151962: - ldrb r0, [r3, 0x8] - cmp r2, r0 - bcs _08151982 - ldr r4, =gPlttBufferFaded -_0815196A: - ldrh r0, [r3, 0x6] - adds r0, r2 - lsls r0, 1 - adds r0, r4 - ldrh r1, [r3, 0x4] - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - ldrb r0, [r3, 0x8] - cmp r2, r0 - bcc _0815196A -_08151982: - ldrb r2, [r3] - lsls r1, r2, 25 - lsrs r1, 25 - adds r1, 0x1 - b _081519BC - .pool -_08151990: - ldrb r0, [r3, 0x8] - cmp r2, r0 - bcs _081519B4 - ldr r5, =gPlttBufferFaded - ldr r4, =gPlttBufferUnfaded -_0815199A: - ldrh r0, [r3, 0x6] - adds r0, r2 - lsls r0, 1 - adds r1, r0, r5 - adds r0, r4 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - ldrb r0, [r3, 0x8] - cmp r2, r0 - bcc _0815199A -_081519B4: - ldrb r2, [r3] - lsls r1, r2, 25 - lsrs r1, 25 - subs r1, 0x1 -_081519BC: - movs r0, 0x7F - ands r1, r0 - movs r0, 0x80 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_081519CA: - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_815194C - - thumb_func_start task_tutorial_controls_fadein -task_tutorial_controls_fadein: @ 81519DC - push {r4-r6,lr} - adds r4, r0, 0 - movs r5, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _08151A40 -_081519E8: - ldrh r0, [r4, 0x2] - asrs r0, r5 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08151A36 - lsls r1, r5, 1 - adds r0, r1, r5 - lsls r3, r0, 2 - adds r2, r4, r3 - ldrb r0, [r2, 0x5] - subs r0, 0x1 - strb r0, [r2, 0x5] - lsls r0, 24 - lsrs r0, 24 - adds r6, r1, 0 - cmp r0, 0xFF - bne _08151A36 - ldrh r0, [r2, 0x8] - movs r2, 0x80 - lsls r2, 8 - adds r1, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _08151A24 - adds r0, r3, 0x4 - adds r0, r4, r0 - bl sub_8151744 - b _08151A2C -_08151A24: - adds r0, r3, 0x4 - adds r0, r4, r0 - bl sub_815194C -_08151A2C: - adds r0, r6, r5 - lsls r0, 2 - adds r0, r4, r0 - ldrb r1, [r0, 0xD] - strb r1, [r0, 0x5] -_08151A36: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _081519E8 -_08151A40: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end task_tutorial_controls_fadein - - thumb_func_start sub_8151A48 -sub_8151A48: @ 8151A48 - push {r4-r7,lr} - adds r3, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - movs r4, 0 - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - movs r5, 0x1 - movs r7, 0x80 - negs r7, r7 -_08151A5E: - adds r0, r6, 0 - asrs r0, r4 - ands r0, r5 - cmp r0, 0 - beq _08151A8C - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r2, r3, r0 - ldrb r0, [r2, 0x4] - lsrs r0, 7 - cmp r0, 0 - beq _08151A8C - adds r0, r5, 0 - lsls r0, r4 - ldrh r1, [r3, 0x2] - orrs r0, r1 - strh r0, [r3, 0x2] - ldrb r1, [r2, 0x4] - adds r0, r7, 0 - ands r0, r1 - orrs r0, r5 - strb r0, [r2, 0x4] -_08151A8C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _08151A5E - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8151A48 - - thumb_func_start sub_8151A9C -sub_8151A9C: @ 8151A9C - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - lsls r1, 16 - lsrs r7, r1, 16 - movs r5, 0 - movs r3, 0x1 -_08151AAA: - ldrh r0, [r6, 0x2] - asrs r0, r5 - ands r0, r3 - cmp r0, 0 - beq _08151B12 - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 2 - adds r4, r6, r0 - ldrb r0, [r4, 0x4] - lsrs r0, 7 - cmp r0, 0 - beq _08151B12 - adds r0, r7, 0 - asrs r0, r5 - ands r0, r3 - cmp r0, 0 - beq _08151B12 - ldrh r1, [r4, 0xA] - lsls r1, 1 - ldr r0, =gPlttBufferFaded - adds r0, r1, r0 - ldr r2, =gPlttBufferUnfaded - adds r1, r2 - ldrb r2, [r4, 0xC] - lsls r2, 1 - str r3, [sp] - bl memcpy - ldrb r0, [r4, 0x4] - movs r2, 0x80 - negs r2, r2 - adds r1, r2, 0 - ands r0, r1 - strb r0, [r4, 0x4] - movs r0, 0 - strb r0, [r4, 0x6] - strb r0, [r4, 0x5] - ldrb r0, [r4, 0xF] - lsls r0, 24 - ldr r3, [sp] - cmp r0, 0 - bge _08151B10 - movs r0, 0xFF - strb r0, [r4, 0x7] - b _08151B12 - .pool -_08151B10: - strb r3, [r4, 0x7] -_08151B12: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _08151AAA - ldr r0, =0x0000ffff - cmp r7, r0 - bne _08151B2C - movs r0, 0 - strb r0, [r6] - b _08151B30 - .pool -_08151B2C: - ldrh r0, [r6, 0x2] - bics r0, r7 -_08151B30: - strh r0, [r6, 0x2] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8151A9C - - thumb_func_start sub_8151B3C -sub_8151B3C: @ 8151B3C - push {r4,r5,lr} - adds r5, r0, 0 - movs r4, 0 - strh r4, [r5] - adds r0, r5, 0x4 - movs r1, 0 - movs r2, 0xC0 - bl memset -_08151B4E: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r5, r0 - strb r4, [r0, 0x4] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _08151B4E - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8151B3C - - thumb_func_start sub_8151B68 -sub_8151B68: @ 8151B68 - push {r4,r5,lr} - adds r2, r0, 0 - adds r5, r1, 0 - movs r3, 0 - movs r4, 0 - ldrb r0, [r2, 0x5] - lsrs r0, 7 - cmp r0, 0 - bne _08151B7E - adds r4, r2, 0x4 - b _08151B9C -_08151B7E: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xF - bhi _08151B9C - lsls r0, r3, 1 - adds r0, r3 - lsls r1, r0, 2 - adds r0, r2, r1 - ldrb r0, [r0, 0x5] - lsrs r0, 7 - cmp r0, 0 - bne _08151B7E - adds r0, r1, 0x4 - adds r4, r2, r0 -_08151B9C: - cmp r4, 0 - beq _08151BCA - ldrb r1, [r4, 0x1] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r4, 0x1] - movs r0, 0 - strb r0, [r4, 0x2] - strb r0, [r4, 0x3] - adds r1, r4, 0x4 - adds r0, r5, 0 - ldm r0!, {r2,r4} - stm r1!, {r2,r4} - adds r0, r3, 0 - b _08151BCC -_08151BCA: - movs r0, 0xFF -_08151BCC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8151B68 - - thumb_func_start sub_8151BD4 -sub_8151BD4: @ 8151BD4 - push {r4,r5,lr} - adds r4, r0, 0 - ldrb r1, [r4, 0x1] - movs r2, 0x40 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _08151C16 - ldrb r1, [r4, 0xB] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _08151C16 - ldrh r2, [r4, 0x6] - ldrb r0, [r4, 0x8] - adds r0, r2, r0 - cmp r2, r0 - bge _08151C16 - ldr r5, =gPlttBufferFaded - ldr r3, =gPlttBufferUnfaded -_08151BFC: - lsls r0, r2, 1 - adds r1, r0, r5 - adds r0, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r4, 0x6] - ldrb r1, [r4, 0x8] - adds r0, r1 - cmp r2, r0 - blt _08151BFC -_08151C16: - adds r0, r4, 0x4 - movs r1, 0 - movs r2, 0x8 - bl memset - ldrb r1, [r4, 0x1] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - subs r1, 0x10 - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - movs r1, 0x7F - ands r0, r1 - strb r0, [r4, 0x1] - movs r0, 0 - strb r0, [r4, 0x3] - strb r0, [r4, 0x2] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8151BD4 - - thumb_func_start sub_8151C50 -sub_8151C50: @ 8151C50 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 24 - movs r5, 0 - cmp r2, 0 - bne _08151C74 - movs r1, 0xF - ands r1, r4 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, 0x4 - adds r0, r6, r0 - bl sub_8151BD4 - b _08151CA0 -_08151C74: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _08151C94 - lsls r0, r5, 1 - adds r0, r5 - lsls r1, r0, 2 - adds r0, r6, r1 - ldrb r0, [r0, 0x5] - lsrs r0, 7 - cmp r0, 0 - beq _08151C94 - adds r0, r1, 0x4 - adds r0, r6, r0 - bl sub_8151BD4 -_08151C94: - lsrs r4, 1 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xF - bls _08151C74 -_08151CA0: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8151C50 - - thumb_func_start sub_8151CA8 -sub_8151CA8: @ 8151CA8 - push {r4-r7,lr} - adds r5, r0, 0 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 24 - movs r3, 0 - cmp r2, 0 - bne _08151CDC - movs r0, 0xF - adds r3, r0, 0 - ands r3, r4 - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 2 - adds r1, r5, r1 - ldrb r2, [r1, 0x5] - movs r0, 0x41 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] - movs r0, 0x1 - lsls r0, r3 - ldrh r1, [r5] - orrs r0, r1 - strh r0, [r5] - b _08151D20 -_08151CDC: - movs r6, 0x1 - movs r7, 0x41 - negs r7, r7 -_08151CE2: - adds r0, r4, 0 - ands r0, r6 - cmp r0, 0 - beq _08151D00 - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r2, r5, r0 - ldrb r1, [r2, 0x5] - lsrs r0, r1, 7 - cmp r0, 0 - beq _08151D00 - lsls r0, r1, 25 - cmp r0, 0 - blt _08151D06 -_08151D00: - lsls r0, r4, 17 - lsrs r4, r0, 16 - b _08151D16 -_08151D06: - adds r0, r7, 0 - ands r0, r1 - strb r0, [r2, 0x5] - adds r0, r6, 0 - lsls r0, r3 - ldrh r1, [r5] - orrs r0, r1 - strh r0, [r5] -_08151D16: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xF - bls _08151CE2 -_08151D20: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8151CA8 - - thumb_func_start sub_8151D28 -sub_8151D28: @ 8151D28 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r8, r0 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 24 - movs r0, 0 - mov r12, r0 - cmp r2, 0 - bne _08151DB0 - movs r1, 0xF - ands r1, r7 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, 0x4 - mov r1, r8 - adds r3, r1, r0 - ldrb r1, [r3, 0x1] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0x80 - bne _08151E3A - ldrb r1, [r3, 0xB] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08151D8E - ldrh r2, [r3, 0x6] - ldrb r0, [r3, 0x8] - adds r0, r2, r0 - cmp r2, r0 - bge _08151D8E - ldr r5, =gPlttBufferFaded - ldr r4, =gPlttBufferUnfaded -_08151D74: - lsls r0, r2, 1 - adds r1, r0, r5 - adds r0, r4 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r3, 0x6] - ldrb r1, [r3, 0x8] - adds r0, r1 - cmp r2, r0 - blt _08151D74 -_08151D8E: - ldrb r0, [r3, 0x1] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r3, 0x1] - movs r1, 0x1 - mov r2, r12 - lsls r1, r2 - mov r2, r8 - ldrh r0, [r2] - bics r0, r1 - strh r0, [r2] - b _08151E3A - .pool -_08151DB0: - movs r0, 0x1 - mov r9, r0 - movs r1, 0x40 - mov r10, r1 -_08151DB8: - mov r2, r12 - lsls r0, r2, 1 - add r0, r12 - lsls r0, 2 - adds r0, 0x4 - mov r1, r8 - adds r3, r1, r0 - adds r0, r7, 0 - mov r2, r9 - ands r0, r2 - cmp r0, 0 - beq _08151DDA - ldrb r1, [r3, 0x1] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0x80 - beq _08151DE4 -_08151DDA: - lsls r0, r7, 17 - lsrs r7, r0, 16 - mov r5, r12 - adds r5, 0x1 - b _08151E30 -_08151DE4: - ldrb r1, [r3, 0xB] - mov r0, r10 - ands r0, r1 - mov r5, r12 - adds r5, 0x1 - cmp r0, 0 - beq _08151E1A - ldrh r2, [r3, 0x6] - ldrb r0, [r3, 0x8] - adds r0, r2, r0 - cmp r2, r0 - bge _08151E1A - ldr r6, =gPlttBufferFaded - ldr r4, =gPlttBufferUnfaded -_08151E00: - lsls r0, r2, 1 - adds r1, r0, r6 - adds r0, r4 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r3, 0x6] - ldrb r1, [r3, 0x8] - adds r0, r1 - cmp r2, r0 - blt _08151E00 -_08151E1A: - ldrb r1, [r3, 0x1] - mov r0, r10 - orrs r0, r1 - strb r0, [r3, 0x1] - mov r1, r9 - mov r0, r12 - lsls r1, r0 - mov r2, r8 - ldrh r0, [r2] - bics r0, r1 - strh r0, [r2] -_08151E30: - lsls r0, r5, 24 - lsrs r0, 24 - mov r12, r0 - cmp r0, 0xF - bls _08151DB8 -_08151E3A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8151D28 - - thumb_func_start sub_8151E50 -sub_8151E50: @ 8151E50 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - str r0, [sp] - movs r0, 0 - mov r10, r0 - ldr r1, [sp] - ldrh r0, [r1] - cmp r0, 0 - bne _08151E6C - b _08151FF6 -_08151E6C: - movs r2, 0xF - mov r9, r2 - movs r3, 0x10 - negs r3, r3 - mov r8, r3 - movs r7, 0x1 -_08151E78: - mov r5, r10 - lsls r0, r5, 1 - add r0, r10 - lsls r0, 2 - adds r0, 0x4 - ldr r1, [sp] - adds r4, r1, r0 - ldrb r2, [r4, 0x1] - movs r3, 0xC0 - ands r3, r2 - cmp r3, 0x80 - beq _08151E92 - b _08151FE6 -_08151E92: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _08151EA8 - ldrb r0, [r4, 0xB] - ands r3, r0 - cmp r3, 0 - beq _08151EA8 - b _08151FE6 -_08151EA8: - ldrb r0, [r4, 0x2] - subs r0, 0x1 - strb r0, [r4, 0x2] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08151EB8 - b _08151FE6 -_08151EB8: - ldrb r0, [r4, 0x9] - strb r0, [r4, 0x2] - ldrh r0, [r4, 0x6] - ldrb r1, [r4, 0x8] - lsls r2, 28 - lsrs r2, 28 - ldrh r3, [r4, 0x4] - bl BlendPalette - ldrb r5, [r4, 0xB] - lsls r0, r5, 26 - asrs r0, 30 - cmp r0, 0x1 - beq _08151F16 - cmp r0, 0x1 - bgt _08151EE4 - cmp r0, 0 - beq _08151EEA - b _08151FD0 - .pool -_08151EE4: - cmp r0, 0x2 - beq _08151F92 - b _08151FD0 -_08151EEA: - ldrb r2, [r4, 0x1] - lsls r1, r2, 28 - lsrs r0, r1, 28 - adds r0, 0x1 - mov r3, r9 - ands r0, r3 - mov r6, r8 - adds r3, r6, 0 - ands r3, r2 - orrs r3, r0 - strb r3, [r4, 0x1] - lsrs r1, 28 - lsls r0, r5, 28 - asrs r0, 28 - cmp r1, r0 - bne _08151FD0 - ldrb r0, [r4, 0x3] - adds r0, 0x1 - strb r0, [r4, 0x3] - ands r3, r6 - strb r3, [r4, 0x1] - b _08151FD0 -_08151F16: - ldrb r3, [r4, 0x1] - movs r0, 0x10 - ands r0, r3 - cmp r0, 0 - beq _08151F54 - lsls r0, r3, 28 - lsrs r0, 28 - subs r0, 0x1 - mov r5, r9 - ands r0, r5 - mov r2, r8 - ands r2, r3 - orrs r2, r0 - strb r2, [r4, 0x1] - cmp r0, 0 - bne _08151FD0 - ldrb r0, [r4, 0x3] - adds r0, 0x1 - strb r0, [r4, 0x3] - lsls r0, r2, 27 - lsrs r0, 31 - eors r0, r7 - ands r0, r7 - lsls r0, 4 - movs r3, 0x11 - negs r3, r3 - adds r1, r3, 0 - ands r2, r1 - orrs r2, r0 - strb r2, [r4, 0x1] - b _08151FD0 -_08151F54: - lsls r0, r5, 28 - asrs r0, 28 - subs r0, 0x1 - mov r5, r9 - ands r0, r5 - lsls r2, r3, 28 - lsrs r1, r2, 28 - adds r1, 0x1 - ands r1, r5 - mov r5, r8 - ands r3, r5 - orrs r3, r1 - strb r3, [r4, 0x1] - lsrs r2, 28 - cmp r2, r0 - bne _08151FD0 - ldrb r0, [r4, 0x3] - adds r0, 0x1 - strb r0, [r4, 0x3] - lsls r0, r3, 27 - lsrs r0, 31 - eors r0, r7 - ands r0, r7 - lsls r0, 4 - movs r2, 0x11 - negs r2, r2 - adds r1, r2, 0 - ands r3, r1 - orrs r3, r0 - strb r3, [r4, 0x1] - b _08151FD0 -_08151F92: - ldrb r2, [r4, 0x1] - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - beq _08151FA2 - mov r0, r8 - ands r0, r2 - b _08151FB0 -_08151FA2: - lsls r1, r5, 28 - asrs r1, 28 - mov r3, r9 - ands r1, r3 - mov r0, r8 - ands r0, r2 - orrs r0, r1 -_08151FB0: - strb r0, [r4, 0x1] - ldrb r2, [r4, 0x1] - lsls r0, r2, 27 - lsrs r0, 31 - eors r0, r7 - ands r0, r7 - lsls r0, 4 - movs r5, 0x11 - negs r5, r5 - adds r1, r5, 0 - ands r2, r1 - orrs r2, r0 - strb r2, [r4, 0x1] - ldrb r0, [r4, 0x3] - adds r0, 0x1 - strb r0, [r4, 0x3] -_08151FD0: - ldrb r1, [r4, 0xA] - cmp r1, 0xFF - beq _08151FE6 - ldrb r0, [r4, 0x3] - cmp r0, r1 - bne _08151FE6 - ldrb r1, [r4] - ldr r0, [sp] - movs r2, 0 - bl sub_8151D28 -_08151FE6: - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - cmp r0, 0xF - bhi _08151FF6 - b _08151E78 -_08151FF6: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8151E50 - - thumb_func_start sub_8152008 -sub_8152008: @ 8152008 - push {r4-r7,lr} - adds r6, r0, 0 - ldr r0, [sp, 0x14] - ldr r4, [sp, 0x18] - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - movs r1, 0 - lsrs r3, 19 - adds r3, r2 - lsls r3, 1 - adds r6, r3 - cmp r1, r4 - bcs _08152052 -_08152030: - lsls r0, r1, 6 - adds r2, r6, r0 - movs r0, 0 - adds r3, r1, 0x1 - cmp r0, r5 - bcs _0815204A -_0815203C: - strh r7, [r2] - adds r2, 0x2 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, r5 - bcc _0815203C -_0815204A: - lsls r0, r3, 24 - lsrs r1, r0, 24 - cmp r1, r4 - bcc _08152030 -_08152052: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8152008 - - thumb_func_start sub_8152058 -sub_8152058: @ 8152058 - push {r4-r7,lr} - adds r7, r0, 0 - ldr r0, [sp, 0x14] - ldr r4, [sp, 0x18] - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r6, r4, 24 - movs r4, 0 - lsrs r3, 19 - adds r3, r2 - lsls r3, 1 - adds r7, r3 - cmp r4, r6 - bcs _081520A2 -_0815207C: - lsls r0, r4, 6 - adds r2, r7, r0 - movs r3, 0 - adds r4, 0x1 - cmp r3, r5 - bcs _0815209A -_08152088: - ldrh r0, [r1] - strh r0, [r2] - adds r1, 0x2 - adds r2, 0x2 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r5 - bcc _08152088 -_0815209A: - lsls r0, r4, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _0815207C -_081520A2: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8152058 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/trade.s b/asm/trade.s index 341aa0869..a583e4319 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -3590,7 +3590,7 @@ _08079138: cmp r0, 0 bne _08079158 adds r0, r4, 0 - bl sub_806E3F8 + bl IsSpeciesInHoennDex cmp r0, 0 bne _08079164 _08079158: @@ -6160,7 +6160,7 @@ _0807A62E: _0807A64C: lsls r0, r1, 16 lsrs r0, 16 - bl sub_806E3F8 + bl IsSpeciesInHoennDex cmp r0, 0 bne _0807A65C movs r0, 0x2 @@ -6200,7 +6200,7 @@ _0807A65C: _0807A6A0: lsls r0, r1, 16 lsrs r0, 16 - bl sub_806E3F8 + bl IsSpeciesInHoennDex cmp r0, 0 beq _0807A6D2 _0807A6AC: @@ -6471,7 +6471,7 @@ _0807A87C: b _0807A8C0 _0807A88E: adds r0, r7, 0 - bl sub_806E3F8 + bl IsSpeciesInHoennDex cmp r0, 0 bne _0807A89C _0807A898: @@ -6479,7 +6479,7 @@ _0807A898: b _0807A8C0 _0807A89C: mov r0, r8 - bl sub_806E3F8 + bl IsSpeciesInHoennDex cmp r0, 0 bne _0807A8AA movs r0, 0x5 @@ -6489,7 +6489,7 @@ _0807A8AA: cmp r0, 0 bne _0807A8BE adds r0, r7, 0 - bl sub_806E3F8 + bl IsSpeciesInHoennDex cmp r0, 0 bne _0807A8BE movs r0, 0x7 @@ -6533,7 +6533,7 @@ sub_807A8D0: @ 807A8D0 b _0807A910 _0807A900: adds r0, r6, 0 - bl sub_806E3F8 + bl IsSpeciesInHoennDex cmp r0, 0 bne _0807A90E _0807A90A: @@ -6645,7 +6645,7 @@ _0807A9B4: mov r1, sp adds r4, r1, r0 ldrh r0, [r4] - bl sub_806E3F8 + bl IsSpeciesInHoennDex cmp r0, 0 bne _0807A9E0 movs r0, 0x2 |