summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/pokemon_special_anim.s1264
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}