diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/pokemon_special_anim.s | 1264 |
1 files changed, 0 insertions, 1264 deletions
diff --git a/asm/pokemon_special_anim.s b/asm/pokemon_special_anim.s index 49fff6ca5..29241bf2b 100644 --- a/asm/pokemon_special_anim.s +++ b/asm/pokemon_special_anim.s @@ -5,1270 +5,6 @@ .text - thumb_func_start sub_811D6EC -sub_811D6EC: @ 811D6EC - push {lr} - bl sub_811D0A8 - movs r1, 0 - strh r1, [r0] - pop {r0} - bx r0 - thumb_func_end sub_811D6EC - - thumb_func_start sub_811D6FC -sub_811D6FC: @ 811D6FC - push {r4,lr} - bl sub_811D0A8 - adds r4, r0, 0 - ldrh r0, [r4] - cmp r0, 0 - beq _0811D710 - cmp r0, 0x1 - beq _0811D722 - b _0811D72C -_0811D710: - bl sub_811E10C - movs r0, 0x1D - bl PlaySE - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _0811D72C -_0811D722: - bl sub_811E138 - lsls r0, 24 - lsrs r0, 24 - b _0811D72E -_0811D72C: - movs r0, 0x1 -_0811D72E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811D6FC - - thumb_func_start sub_811D734 -sub_811D734: @ 811D734 - push {lr} - sub sp, 0x8 - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - movs r0, 0x78 - movs r1, 0x38 - movs r2, 0x4 - movs r3, 0x4 - bl sub_811E5B8 - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_811D734 - - thumb_func_start sub_811D754 -sub_811D754: @ 811D754 - push {lr} - bl sub_811E680 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_811D754 - - thumb_func_start sub_811D764 -sub_811D764: @ 811D764 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0xE - bl DrawTextBorderOuter - movs r0, 0x2 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0x1 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0x1 - bl DrawLevelUpWindowPg1 - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_811D764 - - thumb_func_start sub_811D7A0 -sub_811D7A0: @ 811D7A0 - push {lr} - sub sp, 0x4 - adds r1, r0, 0 - movs r0, 0x3 - str r0, [sp] - movs r0, 0x1 - movs r2, 0x1 - movs r3, 0x2 - bl DrawLevelUpWindowPg2 - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_811D7A0 - - thumb_func_start sub_811D7C4 -sub_811D7C4: @ 811D7C4 - push {lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_811D7C4 - - thumb_func_start sub_811D7D4 -sub_811D7D4: @ 811D7D4 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r1, _0811D80C @ =gUnknown_845973C - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r1, _0811D810 @ =gUnknown_845967C - movs r0, 0 - str r0, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - cmp r4, 0x4 - beq _0811D818 - ldr r0, _0811D814 @ =gUnknown_845963C - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - b _0811D822 - .align 2, 0 -_0811D80C: .4byte gUnknown_845973C -_0811D810: .4byte gUnknown_845967C -_0811D814: .4byte gUnknown_845963C -_0811D818: - ldr r0, _0811D82C @ =gUnknown_845965C - movs r1, 0 - movs r2, 0x20 - bl LoadPalette -_0811D822: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0811D82C: .4byte gUnknown_845965C - thumb_func_end sub_811D7D4 - - thumb_func_start sub_811D830 -sub_811D830: @ 811D830 - 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 - str r0, [sp] - bl sub_811D0A8 - adds r5, r0, 0 - bl sub_811D094 - mov r8, r0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - mov r0, r8 - movs r1, 0 - bl GetMonData - mov r10, r0 - adds r0, r7, 0 - mov r1, r10 - movs r2, 0x2 - bl sub_812EA78 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _0811D87E - movs r0, 0x48 - strh r0, [r5, 0x6] - adds r0, r1, 0 - adds r0, 0x30 - b _0811D884 -_0811D87E: - movs r0, 0x48 - strh r0, [r5, 0x6] - movs r0, 0x60 -_0811D884: - strh r0, [r5, 0x8] - movs r4, 0x80 - lsls r4, 6 - adds r0, r4, 0 - bl Alloc - adds r6, r0, 0 - adds r0, r4, 0 - bl Alloc - mov r9, r0 - movs r0, 0x80 - lsls r0, 1 - bl Alloc - adds r4, r0, 0 - cmp r6, 0 - beq _0811D920 - mov r0, r9 - cmp r0, 0 - beq _0811D916 - cmp r4, 0 - beq _0811D916 - lsls r0, r7, 3 - ldr r1, _0811D900 @ =gMonFrontPicTable - adds r0, r1 - adds r1, r6, 0 - adds r2, r7, 0 - mov r3, r10 - bl HandleLoadSpecialPokePic - mov r0, r8 - bl GetMonFrontSpritePal - adds r1, r4, 0 - bl LZ77UnCompWram - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_811DC14 - ldr r0, _0811D904 @ =gUnknown_8459A30 - movs r1, 0x6 - ldrsh r2, [r5, r1] - movs r1, 0x78 - movs r3, 0x4 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0811D90C - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0811D908 @ =gSprites - adds r0, r1 - str r0, [r5, 0xC] - ldr r1, [sp] - bl sub_811DB14 - b _0811D910 - .align 2, 0 -_0811D900: .4byte gMonFrontPicTable -_0811D904: .4byte gUnknown_8459A30 -_0811D908: .4byte gSprites -_0811D90C: - movs r0, 0 - str r0, [r5, 0xC] -_0811D910: - mov r0, sp - ldrb r0, [r0] - strb r0, [r5, 0xA] -_0811D916: - cmp r6, 0 - beq _0811D920 - adds r0, r6, 0 - bl Free -_0811D920: - mov r1, r9 - cmp r1, 0 - beq _0811D92C - mov r0, r9 - bl Free -_0811D92C: - cmp r4, 0 - beq _0811D936 - adds r0, r4, 0 - bl Free -_0811D936: - 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_811D830 - - thumb_func_start sub_811D948 -sub_811D948: @ 811D948 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - bl sub_811D0A8 - adds r5, r0, 0 - ldrb r0, [r5, 0xA] - cmp r6, r0 - beq _0811D99C - ldr r0, _0811D990 @ =sub_811D9BC - movs r1, 0x4 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r2, [r5, 0xC] - adds r0, r4, 0 - movs r1, 0x6 - bl SetWordTaskArg - ldr r1, _0811D994 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - ldrb r0, [r5, 0xA] - strh r0, [r1, 0xA] - strh r6, [r1, 0xC] - movs r0, 0x6 - strh r0, [r1, 0x12] - ldrb r5, [r5, 0xA] - cmp r6, r5 - bls _0811D998 - movs r0, 0x1 - b _0811D99A - .align 2, 0 -_0811D990: .4byte sub_811D9BC -_0811D994: .4byte gTasks -_0811D998: - ldr r0, _0811D9A4 @ =0x0000ffff -_0811D99A: - strh r0, [r1, 0xE] -_0811D99C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0811D9A4: .4byte 0x0000ffff - thumb_func_end sub_811D948 - - thumb_func_start sub_811D9A8 -sub_811D9A8: @ 811D9A8 - push {lr} - ldr r0, _0811D9B8 @ =sub_811D9BC - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0811D9B8: .4byte sub_811D9BC - thumb_func_end sub_811D9A8 - - thumb_func_start sub_811D9BC -sub_811D9BC: @ 811D9BC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - mov r8, r6 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _0811D9F0 @ =gTasks+0x8 - adds r4, r0, r1 - adds r0, r6, 0 - movs r1, 0x6 - bl GetWordTaskArg - adds r5, r0, 0 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0811DA26 - cmp r0, 0x1 - bgt _0811D9F4 - cmp r0, 0 - beq _0811D9FA - b _0811DA90 - .align 2, 0 -_0811D9F0: .4byte gTasks+0x8 -_0811D9F4: - cmp r0, 0x2 - beq _0811DA7A - b _0811DA90 -_0811D9FA: - ldrb r1, [r4, 0x2] - adds r0, r5, 0 - bl sub_811DA9C - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0811DA18 - adds r0, r6, 0 - movs r1, 0x9 - bl GetWordTaskArg - ldrb r1, [r4, 0x2] - bl sub_811DA9C -_0811DA18: - ldrh r0, [r4, 0x6] - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r4, 0x2] - ldrh r0, [r4] - adds r0, 0x1 - b _0811DA8E -_0811DA26: - adds r0, r5, 0 - bl sub_811DAAC - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0 - bne _0811DA90 - movs r0, 0x6D - bl PlaySE - ldrb r1, [r4, 0x2] - adds r0, r5, 0 - bl sub_811DB14 - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0811DA58 - adds r0, r6, 0 - movs r1, 0x9 - bl GetWordTaskArg - ldrb r1, [r4, 0x2] - bl sub_811DB48 -_0811DA58: - movs r0, 0x2 - ldrsh r1, [r4, r0] - movs r2, 0x4 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _0811DA74 - bl sub_811D0A8 - ldrh r1, [r4, 0x4] - strb r1, [r0, 0xA] - mov r0, r8 - bl DestroyTask - b _0811DA90 -_0811DA74: - strh r7, [r4, 0x8] - movs r0, 0x2 - b _0811DA8E -_0811DA7A: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - movs r2, 0xA - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _0811DA90 - movs r0, 0 -_0811DA8E: - strh r0, [r4] -_0811DA90: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_811D9BC - - thumb_func_start sub_811DA9C -sub_811DA9C: @ 811DA9C - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - strh r2, [r0, 0x2E] - strh r2, [r0, 0x30] - strh r1, [r0, 0x32] - bx lr - thumb_func_end sub_811DA9C - - thumb_func_start sub_811DAAC -sub_811DAAC: @ 811DAAC - ldr r1, [r0, 0x1C] - ldr r0, _0811DABC @ =SpriteCallbackDummy - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - bx lr - .align 2, 0 -_0811DABC: .4byte SpriteCallbackDummy - thumb_func_end sub_811DAAC - - thumb_func_start sub_811DAC0 -sub_811DAC0: @ 811DAC0 - lsls r1, 24 - lsls r0, 16 - asrs r0, 16 - ldr r2, _0811DAD8 @ =gUnknown_84599AA - lsrs r1, 23 - adds r1, r2 - ldrh r1, [r1] - muls r0, r1 - lsls r0, 8 - asrs r0, 16 - bx lr - .align 2, 0 -_0811DAD8: .4byte gUnknown_84599AA - thumb_func_end sub_811DAC0 - - thumb_func_start sub_811DADC -sub_811DADC: @ 811DADC - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - bl sub_811D0A8 - ldrh r1, [r0, 0x8] - ldrh r2, [r0, 0x6] - subs r1, r2 - lsls r1, 16 - asrs r1, 8 - cmp r1, 0 - bge _0811DAF6 - adds r1, 0xFF -_0811DAF6: - asrs r1, 8 - ldr r3, _0811DB10 @ =0xffffff00 - adds r0, r4, r3 - muls r0, r1 - lsls r0, 8 - asrs r0, 16 - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0811DB10: .4byte 0xffffff00 - thumb_func_end sub_811DADC - - thumb_func_start sub_811DB14 -sub_811DB14: @ 811DB14 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r4, 0x3 - bls _0811DB22 - movs r4, 0x3 -_0811DB22: - bl sub_811D0A8 - adds r0, r5, 0 - adds r1, r4, 0 - bl StartSpriteAffineAnim - ldr r1, _0811DB44 @ =gUnknown_84599AA - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - bl sub_811DADC - strh r0, [r5, 0x22] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0811DB44: .4byte gUnknown_84599AA - thumb_func_end sub_811DB14 - - thumb_func_start sub_811DB48 -sub_811DB48: @ 811DB48 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - adds r1, r4, 0 - bl sub_811DB14 - ldrh r0, [r5, 0x3A] - subs r0, 0x20 - lsls r0, 16 - asrs r0, 16 - adds r1, r4, 0 - bl sub_811DAC0 - strh r0, [r5, 0x24] - ldrh r0, [r5, 0x3C] - subs r0, 0x20 - lsls r0, 16 - asrs r0, 16 - adds r1, r4, 0 - bl sub_811DAC0 - strh r0, [r5, 0x26] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_811DB48 - - thumb_func_start sub_811DB7C -sub_811DB7C: @ 811DB7C - push {r4,lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r4, [r0, 0xC] - strh r1, [r4, 0x2E] - ldr r1, [r0, 0xC] - strh r2, [r1, 0x30] - ldr r1, [r0, 0xC] - strh r3, [r1, 0x32] - ldr r1, [r0, 0xC] - ldr r0, _0811DBA4 @ =sub_811DBBC - str r0, [r1, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0811DBA4: .4byte sub_811DBBC - thumb_func_end sub_811DB7C - - thumb_func_start sub_811DBA8 -sub_811DBA8: @ 811DBA8 - ldr r2, [r0, 0xC] - movs r1, 0 - strh r1, [r2, 0x24] - ldr r1, [r0, 0xC] - ldr r0, _0811DBB8 @ =SpriteCallbackDummy - str r0, [r1, 0x1C] - bx lr - .align 2, 0 -_0811DBB8: .4byte SpriteCallbackDummy - thumb_func_end sub_811DBA8 - - thumb_func_start sub_811DBBC -sub_811DBBC: @ 811DBBC - push {r4,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x3C] - adds r0, 0x1 - movs r3, 0 - strh r0, [r2, 0x3C] - lsls r0, 16 - asrs r0, 16 - movs r4, 0x2E - ldrsh r1, [r2, r4] - cmp r0, r1 - ble _0811DC0C - strh r3, [r2, 0x3C] - ldrh r0, [r2, 0x3A] - adds r0, 0x1 - strh r0, [r2, 0x3A] - movs r4, 0x30 - ldrsh r1, [r2, r4] - cmp r1, 0 - beq _0811DBF8 - lsls r0, 16 - asrs r0, 16 - cmp r0, r1 - blt _0811DBF8 - strh r3, [r2, 0x24] - ldr r0, _0811DBF4 @ =SpriteCallbackDummy - str r0, [r2, 0x1C] - b _0811DC0C - .align 2, 0 -_0811DBF4: .4byte SpriteCallbackDummy -_0811DBF8: - ldrh r1, [r2, 0x3A] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0811DC06 - ldrh r0, [r2, 0x32] - b _0811DC0A -_0811DC06: - ldrh r0, [r2, 0x32] - negs r0, r0 -_0811DC0A: - strh r0, [r2, 0x24] -_0811DC0C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_811DBBC - - thumb_func_start sub_811DC14 -sub_811DC14: @ 811DC14 - push {r4,lr} - sub sp, 0x10 - str r0, [sp] - ldr r3, _0811DC4C @ =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r3 - movs r2, 0x80 - lsls r2, 4 - orrs r0, r2 - ldr r2, _0811DC50 @ =0x0000ffff - ands r0, r2 - str r0, [sp, 0x4] - str r1, [sp, 0x8] - add r4, sp, 0x8 - ldr r0, [r4, 0x4] - ands r0, r3 - str r0, [r4, 0x4] - mov r0, sp - bl LoadSpriteSheet - adds r0, r4, 0 - bl LoadSpritePalette - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0811DC4C: .4byte 0xffff0000 -_0811DC50: .4byte 0x0000ffff - thumb_func_end sub_811DC14 - - thumb_func_start sub_811DC54 -sub_811DC54: @ 811DC54 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r2 - lsls r0, 16 - lsrs r7, r0, 16 - lsls r1, 24 - lsrs r6, r1, 24 - bl sub_811D0A8 - adds r5, r0, 0 - adds r0, r7, 0 - bl sub_811DD20 - adds r1, r0, 0 - str r1, [r5, 0x10] - cmp r1, 0 - beq _0811DCD2 - adds r0, r5, 0 - adds r2, r6, 0 - bl sub_811E06C - ldr r0, [r5, 0x10] - adds r1, r6, 0 - bl StartSpriteAffineAnim - ldr r1, [r5, 0x10] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r0, _0811DCDC @ =sub_811DDA4 - movs r1, 0x2 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r2, [r5, 0x10] - adds r0, r4, 0 - movs r1, 0x4 - bl SetWordTaskArg - ldr r0, _0811DCE0 @ =gTasks - lsls r5, r4, 2 - adds r5, r4 - lsls r5, 3 - adds r5, r0 - strh r6, [r5, 0xC] - ldr r1, _0811DCE4 @ =gUnknown_84599AA - lsls r0, r6, 1 - adds r0, r1 - ldrh r0, [r0] - bl sub_811DADC - strh r0, [r5, 0xE] - mov r0, r8 - strh r0, [r5, 0x14] - adds r0, r7, 0 - bl sub_811DCE8 - strh r0, [r5, 0x1A] -_0811DCD2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811DCDC: .4byte sub_811DDA4 -_0811DCE0: .4byte gTasks -_0811DCE4: .4byte gUnknown_84599AA - thumb_func_end sub_811DC54 - - thumb_func_start sub_811DCE8 -sub_811DCE8: @ 811DCE8 - ldr r0, _0811DCEC @ =0x00007fff - bx lr - .align 2, 0 -_0811DCEC: .4byte 0x00007fff - thumb_func_end sub_811DCE8 - - thumb_func_start sub_811DCF0 -sub_811DCF0: @ 811DCF0 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_811D0A8 - adds r5, r0, 0 - adds r0, r4, 0 - bl sub_811DD20 - str r0, [r5, 0x10] - cmp r0, 0 - beq _0811DD1A - movs r1, 0x3 - bl StartSpriteAffineAnim - ldr r1, [r5, 0x10] - adds r0, r5, 0 - movs r2, 0x3 - bl sub_811E06C -_0811DD1A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_811DCF0 - - thumb_func_start sub_811DD20 -sub_811DD20: @ 811DD20 - push {r4,lr} - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - movs r0, 0x1 - movs r1, 0x1 - bl AddItemIconObject - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0811DD88 - ldr r3, _0811DD7C @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r4, r2, r3 - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4, 0x5] - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1 - strb r0, [r1] - adds r0, r3, 0 - adds r0, 0x10 - adds r0, r2, r0 - ldr r1, _0811DD80 @ =gUnknown_8459A20 - str r1, [r0] - adds r3, 0x1C - adds r2, r3 - ldr r0, _0811DD84 @ =SpriteCallbackDummy - str r0, [r2] - adds r0, r4, 0 - bl InitSpriteAffineAnim - adds r0, r4, 0 - b _0811DD8A - .align 2, 0 -_0811DD7C: .4byte gSprites -_0811DD80: .4byte gUnknown_8459A20 -_0811DD84: .4byte SpriteCallbackDummy -_0811DD88: - movs r0, 0 -_0811DD8A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811DD20 - - thumb_func_start sub_811DD90 -sub_811DD90: @ 811DD90 - push {lr} - ldr r0, _0811DDA0 @ =sub_811DDA4 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0811DDA0: .4byte sub_811DDA4 - thumb_func_end sub_811DD90 - - thumb_func_start sub_811DDA4 -sub_811DDA4: @ 811DDA4 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _0811DDD4 @ =gTasks+0x8 - adds r4, r0, r1 - adds r0, r6, 0 - movs r1, 0x4 - bl GetWordTaskArg - adds r5, r0, 0 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bls _0811DDCA - b _0811DF0C -_0811DDCA: - lsls r0, 2 - ldr r1, _0811DDD8 @ =_0811DDDC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0811DDD4: .4byte gTasks+0x8 -_0811DDD8: .4byte _0811DDDC - .align 2, 0 -_0811DDDC: - .4byte _0811DDF0 - .4byte _0811DE2A - .4byte _0811DE7C - .4byte _0811DEA0 - .4byte _0811DEF0 -_0811DDF0: - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bgt _0811DE00 - b _0811DF0C -_0811DE00: - movs r0, 0 - strh r0, [r4, 0x2] - movs r0, 0xBB - bl PlaySE - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0811DE24 - bl sub_811E588 -_0811DE24: - movs r0, 0x1 - strh r0, [r4] - b _0811DF0C -_0811DE2A: - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1E - ble _0811DF0C - movs r0, 0 - strh r0, [r4, 0x2] - ldr r0, _0811DE78 @ =gUnknown_8459AA8 - str r0, [r5, 0x10] - ldrb r1, [r4, 0x4] - adds r0, r5, 0 - bl StartSpriteAffineAnim - movs r0, 0x1 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 9 - lsls r2, r0 - movs r1, 0x2 - negs r1, r1 - ldrh r0, [r4, 0x12] - str r0, [sp] - adds r0, r2, 0 - movs r2, 0 - movs r3, 0xC - bl BeginNormalPaletteFade - movs r0, 0x2 - strh r0, [r4] - movs r0, 0xDA - bl PlaySE - b _0811DF0C - .align 2, 0 -_0811DE78: .4byte gUnknown_8459AA8 -_0811DE7C: - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0811DF0C - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x14 - strh r0, [r4, 0x14] - movs r0, 0x3 - strh r0, [r4] - b _0811DF0C -_0811DEA0: - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x14 - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _0811DF0C - movs r0, 0 - strh r0, [r4, 0x2] - movs r1, 0x16 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0811DEC8 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_811DF14 -_0811DEC8: - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0811DED6 - movs r0, 0xD2 - bl PlaySE -_0811DED6: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _0811DEEA - movs r0, 0x4 - strh r0, [r4] - b _0811DF0C -_0811DEEA: - movs r0, 0x8 - strh r0, [r4, 0x14] - b _0811DF0C -_0811DEF0: - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0811DF0C - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0811DF06 - adds r0, r5, 0 - bl DestroySprite -_0811DF06: - adds r0, r6, 0 - bl DestroyTask -_0811DF0C: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_811DDA4 - - thumb_func_start sub_811DF14 -sub_811DF14: @ 811DF14 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r7, r1, 0 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r0, 0x20 - ldrsh r5, [r2, r0] - movs r1, 0x24 - ldrsh r0, [r2, r1] - adds r5, r0 - subs r5, 0x4 - movs r0, 0x22 - ldrsh r4, [r2, r0] - movs r1, 0x26 - ldrsh r0, [r2, r1] - adds r4, r0 - subs r4, 0x4 - movs r0, 0x5 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x80 - lsls r1, 9 - lsls r1, r0 - ldrh r2, [r7, 0x12] - adds r0, r1, 0 - movs r1, 0x10 - bl BlendPalettes - movs r6, 0 - ldr r2, _0811DFB4 @ =gSprites - mov r8, r2 - movs r0, 0x1C - add r0, r8 - mov r10, r0 - lsls r5, 16 - lsls r4, 16 -_0811DF68: - ldr r0, _0811DFB8 @ =gUnknown_8459B30 - asrs r1, r5, 16 - asrs r2, r4, 16 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0811DFA0 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - mov r2, r8 - adds r0, r1, r2 - lsls r2, r6, 4 - strh r2, [r0, 0x30] - mov r2, r9 - strh r2, [r0, 0x3C] - add r1, r10 - ldr r2, _0811DFBC @ =sub_811DFC0 - str r2, [r1] - movs r1, 0x1 - bl StartSpriteAnim - ldrh r0, [r7, 0x10] - adds r0, 0x1 - strh r0, [r7, 0x10] -_0811DFA0: - adds r6, 0x1 - cmp r6, 0xE - ble _0811DF68 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811DFB4: .4byte gSprites -_0811DFB8: .4byte gUnknown_8459B30 -_0811DFBC: .4byte sub_811DFC0 - thumb_func_end sub_811DF14 - - thumb_func_start sub_811DFC0 -sub_811DFC0: @ 811DFC0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r3, r4, 0 - adds r3, 0x2E - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0xF - bgt _0811E01C - adds r0, r1, 0x1 - strh r0, [r4, 0x2E] - ldrh r0, [r3, 0x2] - adds r0, 0x7 - movs r1, 0xFF - ands r0, r1 - strh r0, [r3, 0x2] - ldrh r0, [r3, 0x4] - adds r0, 0x4 - strh r0, [r3, 0x4] - movs r5, 0x4 - ldrsh r1, [r3, r5] - ldr r2, _0811E018 @ =gSineTable - movs r5, 0x2 - ldrsh r0, [r3, r5] - adds r0, 0x40 - lsls r0, 1 - adds r0, r2 - movs r5, 0 - ldrsh r0, [r0, r5] - muls r0, r1 - asrs r0, 8 - strh r0, [r4, 0x24] - movs r0, 0x4 - ldrsh r1, [r3, r0] - movs r5, 0x2 - ldrsh r0, [r3, r5] - lsls r0, 1 - adds r0, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - muls r0, r1 - asrs r0, 8 - strh r0, [r4, 0x26] - b _0811E036 - .align 2, 0 -_0811E018: .4byte gSineTable -_0811E01C: - ldr r2, _0811E03C @ =gTasks - movs r5, 0xE - ldrsh r1, [r3, r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x18] - subs r1, 0x1 - strh r1, [r0, 0x18] - adds r0, r4, 0 - bl DestroySprite -_0811E036: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0811E03C: .4byte gTasks - thumb_func_end sub_811DFC0 - - thumb_func_start sub_811E040 -sub_811E040: @ 811E040 - push {lr} - ldr r0, _0811E064 @ =sub_811DDA4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _0811E05E - ldr r0, _0811E068 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x1E] -_0811E05E: - pop {r0} - bx r0 - .align 2, 0 -_0811E064: .4byte sub_811DDA4 -_0811E068: .4byte gTasks - thumb_func_end sub_811E040 - thumb_func_start sub_811E06C sub_811E06C: @ 811E06C push {r4-r7,lr} |