summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/pokemon_special_anim.s4760
1 files changed, 0 insertions, 4760 deletions
diff --git a/asm/pokemon_special_anim.s b/asm/pokemon_special_anim.s
deleted file mode 100644
index b499f0999..000000000
--- a/asm/pokemon_special_anim.s
+++ /dev/null
@@ -1,4760 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_811C540
-sub_811C540: @ 811C540
- push {r4,lr}
- adds r4, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- bl sub_811C5D4
- cmp r0, 0
- bne _0811C55C
- adds r0, r4, 0
- bl SetMainCallback2
- b _0811C560
-_0811C55C:
- bl sub_811C748
-_0811C560:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_811C540
-
- thumb_func_start sub_811C568
-sub_811C568: @ 811C568
- push {r4-r6,lr}
- adds r5, r3, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r6, r2, 16
- adds r2, r5, 0
- bl sub_811C5D4
- adds r4, r0, 0
- cmp r4, 0
- bne _0811C58C
- adds r0, r5, 0
- bl SetMainCallback2
- b _0811C5A2
-_0811C58C:
- adds r0, r4, 0
- adds r0, 0x77
- movs r1, 0xD
- muls r1, r6
- ldr r2, _0811C5A8 @ =gMoveNames
- adds r1, r2
- bl StringCopy
- adds r0, r4, 0
- bl sub_811C7BC
-_0811C5A2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811C5A8: .4byte gMoveNames
- thumb_func_end sub_811C568
-
- thumb_func_start sub_811C5AC
-sub_811C5AC: @ 811C5AC
- push {r4,lr}
- adds r4, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- bl sub_811C5D4
- cmp r0, 0
- bne _0811C5C8
- adds r0, r4, 0
- bl SetMainCallback2
- b _0811C5CC
-_0811C5C8:
- bl sub_811C7FC
-_0811C5CC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_811C5AC
-
- thumb_func_start sub_811C5D4
-sub_811C5D4: @ 811C5D4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r2, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 16
- lsrs r6, r1, 16
- ldr r0, _0811C61C @ =gMain
- ldr r1, _0811C620 @ =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0811C5FC
- bl ResetTasks
-_0811C5FC:
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r0, _0811C624 @ =0x000028dc
- bl Alloc
- adds r7, r0, 0
- cmp r7, 0
- bne _0811C628
- adds r0, r5, 0
- bl SetMainCallback2
- movs r0, 0
- b _0811C6D2
- .align 2, 0
-_0811C61C: .4byte gMain
-_0811C620: .4byte 0x00000439
-_0811C624: .4byte 0x000028dc
-_0811C628:
- movs r0, 0x64
- mov r4, r8
- muls r4, r0
- ldr r0, _0811C6E0 @ =gPlayerParty
- adds r4, r0
- adds r0, r7, 0
- adds r0, 0x92
- movs r1, 0
- mov r9, r1
- mov r1, r9
- strh r1, [r0]
- str r5, [r7, 0x4]
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- adds r1, r7, 0
- adds r1, 0x94
- strh r0, [r1]
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl sub_811D058
- lsls r0, 24
- lsrs r0, 24
- adds r1, r7, 0
- adds r1, 0x9C
- strh r0, [r1]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r1, r7, 0
- adds r1, 0xA0
- str r0, [r1]
- adds r0, r7, 0
- adds r0, 0x9A
- mov r1, r8
- strh r1, [r0]
- subs r0, 0x4
- strh r6, [r0]
- adds r0, r6, 0
- bl sub_811D018
- adds r5, r7, 0
- adds r5, 0x98
- strh r0, [r5]
- adds r0, r7, 0
- adds r0, 0x8
- adds r1, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r7, 0
- adds r0, 0xA4
- mov r1, r9
- str r1, [r0]
- adds r2, r7, 0
- adds r2, 0x6C
- adds r0, r4, 0
- movs r1, 0x2
- bl GetMonData
- ldrh r0, [r5]
- cmp r0, 0x4
- bne _0811C6D0
- adds r0, r6, 0
- bl ItemIdToBattleMoveId
- lsls r0, 16
- lsrs r0, 16
- adds r2, r7, 0
- adds r2, 0x84
- movs r1, 0xD
- muls r1, r0
- ldr r0, _0811C6E4 @ =gMoveNames
- adds r1, r0
- adds r0, r2, 0
- bl StringCopy
-_0811C6D0:
- adds r0, r7, 0
-_0811C6D2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0811C6E0: .4byte gPlayerParty
-_0811C6E4: .4byte gMoveNames
- thumb_func_end sub_811C5D4
-
- thumb_func_start sub_811C6E8
-sub_811C6E8: @ 811C6E8
- push {lr}
- bl TransferPlttBuffer
- bl LoadOam
- bl ProcessSpriteCopyRequests
- pop {r0}
- bx r0
- thumb_func_end sub_811C6E8
-
- thumb_func_start sub_811C6FC
-sub_811C6FC: @ 811C6FC
- push {lr}
- bl RunTextPrinters
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_811C6FC
-
- thumb_func_start sub_811C718
-sub_811C718: @ 811C718
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl GetWordTaskArg
- adds r0, 0x92
- movs r1, 0
- strh r1, [r0]
- ldr r1, _0811C744 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- str r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0811C744: .4byte gTasks
- thumb_func_end sub_811C718
-
- thumb_func_start sub_811C748
-sub_811C748: @ 811C748
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r0, 0x98
- ldrh r0, [r0]
- cmp r0, 0x3
- beq _0811C766
- cmp r0, 0x3
- ble _0811C75E
- cmp r0, 0x4
- beq _0811C770
- b _0811C784
-_0811C75E:
- cmp r0, 0x1
- bgt _0811C784
- cmp r0, 0
- blt _0811C784
-_0811C766:
- ldr r0, _0811C76C @ =sub_811C834
- b _0811C772
- .align 2, 0
-_0811C76C: .4byte sub_811C834
-_0811C770:
- ldr r0, _0811C780 @ =sub_811CD68
-_0811C772:
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- b _0811C792
- .align 2, 0
-_0811C780: .4byte sub_811CD68
-_0811C784:
- ldr r0, [r5, 0x4]
- bl SetMainCallback2
- adds r0, r5, 0
- bl Free
- b _0811C7AE
-_0811C792:
- adds r1, r5, 0
- adds r1, 0x91
- movs r0, 0
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0
- adds r2, r5, 0
- bl SetWordTaskArg
- ldr r0, _0811C7B4 @ =sub_811C6FC
- bl SetMainCallback2
- ldr r0, _0811C7B8 @ =gUnknown_203B094
- strb r4, [r0]
-_0811C7AE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0811C7B4: .4byte sub_811C6FC
-_0811C7B8: .4byte gUnknown_203B094
- thumb_func_end sub_811C748
-
- thumb_func_start sub_811C7BC
-sub_811C7BC: @ 811C7BC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _0811C7F0 @ =sub_811CA20
- movs r1, 0
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- adds r2, r5, 0
- bl SetWordTaskArg
- ldr r0, _0811C7F4 @ =sub_811C6FC
- bl SetMainCallback2
- ldr r0, _0811C7F8 @ =gUnknown_203B094
- strb r4, [r0]
- adds r5, 0x91
- movs r0, 0
- strb r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0811C7F0: .4byte sub_811CA20
-_0811C7F4: .4byte sub_811C6FC
-_0811C7F8: .4byte gUnknown_203B094
- thumb_func_end sub_811C7BC
-
- thumb_func_start sub_811C7FC
-sub_811C7FC: @ 811C7FC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _0811C828 @ =sub_811CBE4
- movs r1, 0
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- adds r2, r5, 0
- bl SetWordTaskArg
- ldr r0, _0811C82C @ =sub_811C6FC
- bl SetMainCallback2
- ldr r0, _0811C830 @ =gUnknown_203B094
- strb r4, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0811C828: .4byte sub_811CBE4
-_0811C82C: .4byte sub_811C6FC
-_0811C830: .4byte gUnknown_203B094
- thumb_func_end sub_811C7FC
-
- thumb_func_start sub_811C834
-sub_811C834: @ 811C834
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- movs r1, 0
- bl GetWordTaskArg
- adds r4, r0, 0
- adds r0, 0x91
- ldrb r0, [r0]
- cmp r0, 0
- bne _0811C870
- ldr r0, _0811C868 @ =gMain
- ldrh r1, [r0, 0x2C]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0811C870
- bl sub_811E040
- ldr r1, _0811C86C @ =sub_811CF88
- adds r0, r6, 0
- bl sub_811C718
- b _0811CA16
- .align 2, 0
-_0811C868: .4byte gMain
-_0811C86C: .4byte sub_811CF88
-_0811C870:
- adds r0, r4, 0
- adds r0, 0x92
- ldrh r1, [r0]
- adds r5, r0, 0
- cmp r1, 0xE
- bls _0811C87E
- b _0811CA16
-_0811C87E:
- lsls r0, r1, 2
- ldr r1, _0811C888 @ =_0811C88C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0811C888: .4byte _0811C88C
- .align 2, 0
-_0811C88C:
- .4byte _0811C8C8
- .4byte _0811C8E4
- .4byte _0811C9E8
- .4byte _0811C914
- .4byte _0811C920
- .4byte _0811C934
- .4byte _0811C93C
- .4byte _0811C950
- .4byte _0811C97E
- .4byte _0811C986
- .4byte _0811C98E
- .4byte _0811C996
- .4byte _0811C9AA
- .4byte _0811C9E8
- .4byte _0811CA00
-_0811C8C8:
- movs r0, 0
- bl SetVBlankCallback
- adds r0, r4, 0
- adds r0, 0xA8
- adds r1, r4, 0
- adds r1, 0x98
- ldrh r1, [r1]
- bl sub_811D184
- movs r0, 0
- bl sub_811D830
- b _0811C9F4
-_0811C8E4:
- bl sub_811D280
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0811C8F2
- b _0811CA16
-_0811C8F2:
- movs r1, 0x1
- negs r1, r1
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- ldr r0, _0811C910 @ =sub_811C6E8
- bl SetVBlankCallback
- b _0811CA16
- .align 2, 0
-_0811C910: .4byte sub_811C6E8
-_0811C914:
- adds r0, r4, 0
- adds r0, 0x9C
- ldrb r0, [r0]
- bl sub_811D948
- b _0811C9F4
-_0811C920:
- bl sub_811D9A8
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0811CA16
- adds r0, r4, 0
- adds r0, 0x9E
- strh r1, [r0]
- b _0811C9F4
-_0811C934:
- bl sub_811D754
- lsls r0, 24
- b _0811C9F0
-_0811C93C:
- adds r0, r4, 0
- adds r0, 0x96
- ldrh r0, [r0]
- adds r1, r4, 0
- adds r1, 0x9C
- ldrb r1, [r1]
- movs r2, 0x1
- bl sub_811DC54
- b _0811C9F4
-_0811C950:
- bl sub_811DD90
- lsls r0, 24
- cmp r0, 0
- bne _0811CA16
- adds r1, r4, 0
- adds r1, 0x91
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- adds r0, 0x9C
- ldrh r0, [r0]
- cmp r0, 0x3
- bne _0811C978
- adds r0, r4, 0
- adds r0, 0x94
- ldrh r0, [r0]
- movs r1, 0
- bl PlayCry1
-_0811C978:
- bl sub_811D2A8
- b _0811C9F4
-_0811C97E:
- movs r0, 0
- bl sub_811D2EC
- b _0811C9F4
-_0811C986:
- bl sub_811D4EC
- lsls r0, 24
- b _0811C9F0
-_0811C98E:
- movs r0, 0
- bl sub_811D948
- b _0811C9F4
-_0811C996:
- bl sub_811D9A8
- lsls r0, 24
- cmp r0, 0
- bne _0811CA16
- adds r1, r4, 0
- adds r1, 0x91
- movs r0, 0x1
- strb r0, [r1]
- b _0811C9F4
-_0811C9AA:
- ldr r0, _0811C9DC @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0811CA16
- adds r0, r4, 0
- adds r0, 0x96
- ldrh r0, [r0]
- bl CheckIfItemIsTMHMOrEvolutionStone
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _0811C9E0
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0811C9F4
- .align 2, 0
-_0811C9DC: .4byte gMain
-_0811C9E0:
- ldrh r0, [r5]
- adds r0, 0x2
- strh r0, [r5]
- b _0811CA16
-_0811C9E8:
- ldr r0, _0811C9FC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
-_0811C9F0:
- cmp r0, 0
- bne _0811CA16
-_0811C9F4:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _0811CA16
- .align 2, 0
-_0811C9FC: .4byte gPaletteFade
-_0811CA00:
- ldr r0, [r4, 0x4]
- bl SetMainCallback2
- bl sub_811D29C
- adds r0, r4, 0
- bl Free
- adds r0, r6, 0
- bl DestroyTask
-_0811CA16:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_811C834
-
- thumb_func_start sub_811CA20
-sub_811CA20: @ 811CA20
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- movs r1, 0
- bl GetWordTaskArg
- adds r5, r0, 0
- adds r0, 0x92
- ldrh r0, [r0]
- cmp r0, 0xD
- bls _0811CA3C
- b _0811CBD6
-_0811CA3C:
- lsls r0, 2
- ldr r1, _0811CA48 @ =_0811CA4C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0811CA48: .4byte _0811CA4C
- .align 2, 0
-_0811CA4C:
- .4byte _0811CA84
- .4byte _0811CAA0
- .4byte _0811CAD4
- .4byte _0811CAF4
- .4byte _0811CB0C
- .4byte _0811CB14
- .4byte _0811CB2A
- .4byte _0811CB44
- .4byte _0811CB5A
- .4byte _0811CB7E
- .4byte _0811CB9A
- .4byte _0811CBA2
- .4byte _0811CBB4
- .4byte _0811CBCE
-_0811CA84:
- movs r0, 0
- bl SetVBlankCallback
- adds r0, r5, 0
- adds r0, 0xA8
- adds r1, r5, 0
- adds r1, 0x98
- ldrh r1, [r1]
- bl sub_811D184
- movs r0, 0x3
- bl sub_811D830
- b _0811CBC2
-_0811CAA0:
- bl sub_811D280
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0811CAAE
- b _0811CBD6
-_0811CAAE:
- movs r1, 0x1
- negs r1, r1
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- adds r1, r5, 0
- adds r1, 0x92
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldr r0, _0811CAD0 @ =sub_811C6E8
- bl SetVBlankCallback
- b _0811CBD6
- .align 2, 0
-_0811CAD0: .4byte sub_811C6E8
-_0811CAD4:
- ldr r0, _0811CAF0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0811CBD6
- adds r1, r5, 0
- adds r1, 0x9E
- strh r0, [r1]
- subs r1, 0xC
- b _0811CBC6
- .align 2, 0
-_0811CAF0: .4byte gPaletteFade
-_0811CAF4:
- adds r1, r5, 0
- adds r1, 0x9E
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- bls _0811CBD6
- bl sub_811D2A8
- b _0811CBC2
-_0811CB0C:
- movs r0, 0x2
- bl sub_811D2EC
- b _0811CBC2
-_0811CB14:
- bl sub_811D4EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0811CBD6
- adds r1, r5, 0
- adds r1, 0x9E
- strh r0, [r1]
- subs r1, 0xC
- b _0811CBC6
-_0811CB2A:
- adds r1, r5, 0
- adds r1, 0x9E
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- bls _0811CBD6
- movs r0, 0x3
- bl sub_811D2EC
- b _0811CBC2
-_0811CB44:
- bl sub_811D4EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0811CBD6
- adds r1, r5, 0
- adds r1, 0x9E
- strh r0, [r1]
- subs r1, 0xC
- b _0811CBC6
-_0811CB5A:
- adds r1, r5, 0
- adds r1, 0x9E
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- bls _0811CBD6
- movs r0, 0xE1
- bl PlaySE
- movs r0, 0x4
- bl sub_811D2EC
- bl sub_811D4FC
- b _0811CBC2
-_0811CB7E:
- bl sub_811D530
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_811D4EC
- orrs r4, r0
- lsls r4, 24
- cmp r4, 0
- bne _0811CBD6
- bl sub_811D4D4
- b _0811CBC2
-_0811CB9A:
- movs r0, 0x5
- bl sub_811D2EC
- b _0811CBC2
-_0811CBA2:
- bl sub_811D4EC
- lsls r0, 24
- cmp r0, 0
- bne _0811CBD6
- movs r0, 0x6
- bl sub_811D2EC
- b _0811CBC2
-_0811CBB4:
- bl sub_811D4EC
- lsls r0, 24
- cmp r0, 0
- bne _0811CBD6
- bl sub_811D2D0
-_0811CBC2:
- adds r1, r5, 0
- adds r1, 0x92
-_0811CBC6:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811CBD6
-_0811CBCE:
- ldr r1, _0811CBE0 @ =sub_811CE4C
- adds r0, r4, 0
- bl sub_811C718
-_0811CBD6:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0811CBE0: .4byte sub_811CE4C
- thumb_func_end sub_811CA20
-
- thumb_func_start sub_811CBE4
-sub_811CBE4: @ 811CBE4
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- movs r1, 0
- bl GetWordTaskArg
- adds r5, r0, 0
- adds r0, 0x91
- ldrb r0, [r0]
- cmp r0, 0
- bne _0811CC1C
- ldr r0, _0811CC14 @ =gMain
- ldrh r1, [r0, 0x2C]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0811CC1C
- ldr r1, _0811CC18 @ =sub_811CF88
- adds r0, r6, 0
- bl sub_811C718
- b _0811CD5A
- .align 2, 0
-_0811CC14: .4byte gMain
-_0811CC18: .4byte sub_811CF88
-_0811CC1C:
- adds r0, r5, 0
- adds r0, 0x92
- ldrh r1, [r0]
- adds r4, r0, 0
- cmp r1, 0x9
- bls _0811CC2A
- b _0811CD5A
-_0811CC2A:
- lsls r0, r1, 2
- ldr r1, _0811CC34 @ =_0811CC38
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0811CC34: .4byte _0811CC38
- .align 2, 0
-_0811CC38:
- .4byte _0811CC60
- .4byte _0811CC7C
- .4byte _0811CCAC
- .4byte _0811CCC0
- .4byte _0811CCCC
- .4byte _0811CCE0
- .4byte _0811CCF0
- .4byte _0811CCF8
- .4byte _0811CD0C
- .4byte _0811CD38
-_0811CC60:
- movs r0, 0
- bl SetVBlankCallback
- adds r0, r5, 0
- adds r0, 0xA8
- adds r1, r5, 0
- adds r1, 0x98
- ldrh r1, [r1]
- bl sub_811D184
- movs r0, 0
- bl sub_811D830
- b _0811CD2A
-_0811CC7C:
- bl sub_811D280
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0811CD5A
- movs r1, 0x1
- negs r1, r1
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ldr r0, _0811CCA8 @ =sub_811C6E8
- bl SetVBlankCallback
- b _0811CD5A
- .align 2, 0
-_0811CCA8: .4byte sub_811C6E8
-_0811CCAC:
- ldr r0, _0811CCBC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0811CD5A
- b _0811CD2A
- .align 2, 0
-_0811CCBC: .4byte gPaletteFade
-_0811CCC0:
- adds r0, r5, 0
- adds r0, 0x9C
- ldrb r0, [r0]
- bl sub_811D948
- b _0811CD2A
-_0811CCCC:
- adds r0, r5, 0
- adds r0, 0x96
- ldrh r0, [r0]
- adds r1, r5, 0
- adds r1, 0x9C
- ldrb r1, [r1]
- movs r2, 0
- bl sub_811DC54
- b _0811CD2A
-_0811CCE0:
- bl sub_811DD90
- lsls r0, 24
- cmp r0, 0
- bne _0811CD5A
- bl sub_811D2A8
- b _0811CD2A
-_0811CCF0:
- movs r0, 0x8
- bl sub_811D2EC
- b _0811CD2A
-_0811CCF8:
- bl sub_811D4EC
- lsls r0, 24
- cmp r0, 0
- bne _0811CD5A
- adds r1, r5, 0
- adds r1, 0x91
- movs r0, 0x1
- strb r0, [r1]
- b _0811CD2A
-_0811CD0C:
- ldr r0, _0811CD34 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0811CD5A
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_0811CD2A:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0811CD5A
- .align 2, 0
-_0811CD34: .4byte gMain
-_0811CD38:
- ldr r0, _0811CD64 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0811CD5A
- ldr r0, [r5, 0x4]
- bl SetMainCallback2
- bl sub_811D29C
- adds r0, r5, 0
- bl Free
- adds r0, r6, 0
- bl DestroyTask
-_0811CD5A:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811CD64: .4byte gPaletteFade
- thumb_func_end sub_811CBE4
-
- thumb_func_start sub_811CD68
-sub_811CD68: @ 811CD68
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- movs r1, 0
- bl GetWordTaskArg
- adds r5, r0, 0
- ldr r0, _0811CD90 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0811CD98
- ldr r1, _0811CD94 @ =sub_811CF88
- adds r0, r6, 0
- bl sub_811C718
- b _0811CE3E
- .align 2, 0
-_0811CD90: .4byte gMain
-_0811CD94: .4byte sub_811CF88
-_0811CD98:
- adds r4, r5, 0
- adds r4, 0x92
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _0811CDD2
- cmp r0, 0x1
- bgt _0811CDAC
- cmp r0, 0
- beq _0811CDB6
- b _0811CE3E
-_0811CDAC:
- cmp r0, 0x2
- beq _0811CE00
- cmp r0, 0x3
- beq _0811CE24
- b _0811CE3E
-_0811CDB6:
- movs r0, 0
- bl SetVBlankCallback
- adds r0, r5, 0
- adds r0, 0xA8
- adds r1, r5, 0
- adds r1, 0x98
- ldrh r1, [r1]
- bl sub_811D184
- movs r0, 0x3
- bl sub_811D830
- b _0811CE16
-_0811CDD2:
- bl sub_811D280
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0811CE3E
- movs r1, 0x1
- negs r1, r1
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ldr r0, _0811CDFC @ =sub_811C6E8
- bl SetVBlankCallback
- b _0811CE3E
- .align 2, 0
-_0811CDFC: .4byte sub_811C6E8
-_0811CE00:
- ldr r0, _0811CE20 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0811CE3E
- adds r0, r5, 0
- adds r0, 0x9E
- strh r1, [r0]
-_0811CE16:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0811CE3E
- .align 2, 0
-_0811CE20: .4byte gPaletteFade
-_0811CE24:
- adds r1, r5, 0
- adds r1, 0x9E
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x14
- bls _0811CE3E
- ldr r1, _0811CE48 @ =sub_811CE4C
- adds r0, r6, 0
- bl sub_811C718
-_0811CE3E:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811CE48: .4byte sub_811CE4C
- thumb_func_end sub_811CD68
-
- thumb_func_start sub_811CE4C
-sub_811CE4C: @ 811CE4C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- movs r1, 0
- bl GetWordTaskArg
- adds r5, r0, 0
- adds r0, 0x91
- ldrb r0, [r0]
- cmp r0, 0
- bne _0811CE88
- ldr r0, _0811CE80 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0811CE88
- bl sub_811D5B0
- ldr r1, _0811CE84 @ =sub_811CF88
- adds r0, r6, 0
- bl sub_811C718
- b _0811CF7E
- .align 2, 0
-_0811CE80: .4byte gMain
-_0811CE84: .4byte sub_811CF88
-_0811CE88:
- adds r0, r5, 0
- adds r0, 0x92
- ldrh r1, [r0]
- adds r4, r0, 0
- cmp r1, 0x9
- bhi _0811CF7E
- lsls r0, r1, 2
- ldr r1, _0811CEA0 @ =_0811CEA4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0811CEA0: .4byte _0811CEA4
- .align 2, 0
-_0811CEA4:
- .4byte _0811CECC
- .4byte _0811CEE0
- .4byte _0811CEEC
- .4byte _0811CEFC
- .4byte _0811CF02
- .4byte _0811CF0E
- .4byte _0811CF14
- .4byte _0811CF28
- .4byte _0811CF46
- .4byte _0811CF6C
-_0811CECC:
- adds r0, r5, 0
- adds r0, 0x96
- ldrh r0, [r0]
- bl sub_811DCF0
- adds r1, r5, 0
- adds r1, 0x9E
- movs r0, 0
- strh r0, [r1]
- b _0811CF5E
-_0811CEE0:
- bl sub_811D2A8
- movs r0, 0x7
- bl sub_811D2EC
- b _0811CF5E
-_0811CEEC:
- bl sub_811D4EC
- lsls r0, 24
- cmp r0, 0
- bne _0811CF7E
- bl sub_811D2D0
- b _0811CF5E
-_0811CEFC:
- bl sub_811D6EC
- b _0811CF5E
-_0811CF02:
- bl sub_811D6FC
- lsls r0, 24
- cmp r0, 0
- bne _0811CF7E
- b _0811CF5E
-_0811CF0E:
- bl sub_811D5A0
- b _0811CF5E
-_0811CF14:
- bl sub_811D5C0
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0811CF7E
- adds r0, r5, 0
- adds r0, 0x9E
- strh r1, [r0]
- b _0811CF5E
-_0811CF28:
- adds r1, r5, 0
- adds r1, 0x9E
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- bls _0811CF7E
- bl sub_811D2A8
- movs r0, 0x9
- bl sub_811D2EC
- b _0811CF5E
-_0811CF46:
- bl sub_811D4EC
- lsls r0, 24
- cmp r0, 0
- bne _0811CF7E
- ldr r0, _0811CF68 @ =0x00000101
- bl PlayFanfare
- adds r1, r5, 0
- adds r1, 0x91
- movs r0, 0x1
- strb r0, [r1]
-_0811CF5E:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0811CF7E
- .align 2, 0
-_0811CF68: .4byte 0x00000101
-_0811CF6C:
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _0811CF7E
- ldr r1, _0811CF84 @ =sub_811CF88
- adds r0, r6, 0
- bl sub_811C718
-_0811CF7E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811CF84: .4byte sub_811CF88
- thumb_func_end sub_811CE4C
-
- thumb_func_start sub_811CF88
-sub_811CF88: @ 811CF88
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- movs r1, 0
- bl GetWordTaskArg
- adds r5, r0, 0
- adds r4, r5, 0
- adds r4, 0x92
- ldrh r0, [r4]
- cmp r0, 0
- beq _0811CFA8
- cmp r0, 0x1
- beq _0811CFC8
- b _0811D008
-_0811CFA8:
- ldr r0, _0811CFC4 @ =sub_811C6E8
- bl SetVBlankCallback
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0811D008
- .align 2, 0
-_0811CFC4: .4byte sub_811C6E8
-_0811CFC8:
- ldr r0, _0811D010 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0811D008
- adds r0, r5, 0
- adds r0, 0xA4
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0811CFE8
- bl IsCryFinished
- lsls r0, 24
- cmp r0, 0
- beq _0811D008
-_0811CFE8:
- ldr r0, _0811D014 @ =gUnknown_203B090
- adds r1, r5, 0
- adds r1, 0x91
- ldrb r1, [r1]
- str r1, [r0]
- ldr r0, [r5, 0x4]
- bl SetMainCallback2
- adds r0, r6, 0
- bl DestroyTask
- bl sub_811D29C
- adds r0, r5, 0
- bl Free
-_0811D008:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811D010: .4byte gPaletteFade
-_0811D014: .4byte gUnknown_203B090
- thumb_func_end sub_811CF88
-
- thumb_func_start sub_811D018
-sub_811D018: @ 811D018
- push {r4,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- ldr r4, _0811D044 @ =gUnknown_8459634
-_0811D022:
- adds r1, r4, 0
- ldrh r0, [r1]
- cmp r0, r3
- beq _0811D04C
- adds r4, r1, 0x4
- adds r2, 0x1
- cmp r2, 0x1
- bls _0811D022
- ldr r1, _0811D048 @ =0xfffffedf
- adds r0, r3, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x39
- bls _0811D050
- movs r0, 0
- b _0811D052
- .align 2, 0
-_0811D044: .4byte gUnknown_8459634
-_0811D048: .4byte 0xfffffedf
-_0811D04C:
- ldrh r0, [r4, 0x2]
- b _0811D052
-_0811D050:
- movs r0, 0x4
-_0811D052:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811D018
-
- thumb_func_start sub_811D058
-sub_811D058: @ 811D058
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, 0
- cmp r0, 0x64
- bhi _0811D068
- movs r0, 0
- b _0811D07A
-_0811D068:
- cmp r0, 0x96
- bhi _0811D070
- movs r0, 0x1
- b _0811D07A
-_0811D070:
- cmp r1, 0xC8
- bls _0811D078
- movs r0, 0x3
- b _0811D07A
-_0811D078:
- movs r0, 0x2
-_0811D07A:
- pop {r1}
- bx r1
- thumb_func_end sub_811D058
-
- thumb_func_start sub_811D080
-sub_811D080: @ 811D080
- push {lr}
- ldr r0, _0811D090 @ =gUnknown_203B094
- ldrb r0, [r0]
- movs r1, 0
- bl GetWordTaskArg
- pop {r1}
- bx r1
- .align 2, 0
-_0811D090: .4byte gUnknown_203B094
- thumb_func_end sub_811D080
-
- thumb_func_start sub_811D094
-sub_811D094: @ 811D094
- push {lr}
- bl sub_811D080
- ldr r1, _0811D0A4 @ =gUnknown_203B098
- str r0, [r1]
- adds r0, 0x8
- pop {r1}
- bx r1
- .align 2, 0
-_0811D0A4: .4byte gUnknown_203B098
- thumb_func_end sub_811D094
-
- thumb_func_start sub_811D0A8
-sub_811D0A8: @ 811D0A8
- push {lr}
- bl sub_811D080
- adds r0, 0xA8
- pop {r1}
- bx r1
- thumb_func_end sub_811D0A8
-
- thumb_func_start sub_811D0B4
-sub_811D0B4: @ 811D0B4
- push {lr}
- bl sub_811D080
- adds r0, 0x96
- ldrh r0, [r0]
- pop {r1}
- bx r1
- thumb_func_end sub_811D0B4
-
- thumb_func_start sub_811D0C4
-sub_811D0C4: @ 811D0C4
- push {lr}
- bl sub_811D080
- adds r0, 0x77
- pop {r1}
- bx r1
- thumb_func_end sub_811D0C4
-
- thumb_func_start sub_811D0D0
-sub_811D0D0: @ 811D0D0
- push {lr}
- bl sub_811D080
- adds r0, 0x84
- pop {r1}
- bx r1
- thumb_func_end sub_811D0D0
-
- thumb_func_start sub_811D0DC
-sub_811D0DC: @ 811D0DC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_811D080
- adds r1, r0, 0
- adds r1, 0x6C
- adds r0, r4, 0
- bl StringCopy
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811D0DC
-
- thumb_func_start sub_811D0F4
-sub_811D0F4: @ 811D0F4
- push {lr}
- bl sub_811D080
- adds r0, 0x6C
- pop {r1}
- bx r1
- thumb_func_end sub_811D0F4
-
- thumb_func_start sub_811D100
-sub_811D100: @ 811D100
- push {lr}
- bl sub_811D080
- adds r0, 0x98
- ldrb r0, [r0]
- pop {r1}
- bx r1
- thumb_func_end sub_811D100
-
- thumb_func_start sub_811D110
-sub_811D110: @ 811D110
- push {lr}
- bl sub_811D080
- adds r0, 0x94
- ldrh r0, [r0]
- pop {r1}
- bx r1
- thumb_func_end sub_811D110
-
- thumb_func_start sub_811D120
-sub_811D120: @ 811D120
- push {lr}
- bl sub_811D080
- adds r0, 0xA0
- ldr r0, [r0]
- pop {r1}
- bx r1
- thumb_func_end sub_811D120
-
- thumb_func_start BufferMonStatsToTaskData
-BufferMonStatsToTaskData: @ 811D130
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r1, 0x3A
- bl GetMonData
- strh r0, [r5]
- adds r0, r4, 0
- movs r1, 0x3B
- bl GetMonData
- strh r0, [r5, 0x2]
- adds r0, r4, 0
- movs r1, 0x3C
- bl GetMonData
- strh r0, [r5, 0x4]
- adds r0, r4, 0
- movs r1, 0x3D
- bl GetMonData
- strh r0, [r5, 0x6]
- adds r0, r4, 0
- movs r1, 0x3E
- bl GetMonData
- strh r0, [r5, 0x8]
- adds r0, r4, 0
- movs r1, 0x3F
- bl GetMonData
- strh r0, [r5, 0xA]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end BufferMonStatsToTaskData
-
- thumb_func_start sub_811D178
-sub_811D178: @ 811D178
- ldr r0, _0811D180 @ =gUnknown_203B090
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_0811D180: .4byte gUnknown_203B090
- thumb_func_end sub_811D178
-
- thumb_func_start sub_811D184
-sub_811D184: @ 811D184
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r5, r1, 16
- lsrs r5, 16
- bl FreeAllWindowBuffers
- bl ResetTempTileDataBuffers
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, _0811D270 @ =gUnknown_8459980
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- ldr r0, _0811D274 @ =gUnknown_8459988
- bl InitWindows
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- ldr r0, _0811D278 @ =0x00000914
- adds r1, r4, r0
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r0, _0811D27C @ =0x00001914
- adds r4, r0
- movs r0, 0x3
- adds r1, r4, 0
- bl SetBgTilemapBuffer
- movs r1, 0xC0
- lsls r1, 19
- movs r0, 0
- movs r2, 0x20
- movs r3, 0x1
- bl RequestDma3Fill
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- adds r0, r5, 0
- bl sub_811D7D4
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- movs r1, 0
- movs r2, 0xE0
- bl TextWindow_SetUserSelectedFrame
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x1
- bl HideBg
- movs r0, 0x2
- bl HideBg
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuRegBits
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0811D270: .4byte gUnknown_8459980
-_0811D274: .4byte gUnknown_8459988
-_0811D278: .4byte 0x00000914
-_0811D27C: .4byte 0x00001914
- thumb_func_end sub_811D184
-
- thumb_func_start sub_811D280
-sub_811D280: @ 811D280
- push {lr}
- bl FreeTempTileDataBuffersIfPossible
- lsls r0, 24
- cmp r0, 0
- beq _0811D290
- movs r0, 0x1
- b _0811D298
-_0811D290:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
-_0811D298:
- pop {r1}
- bx r1
- thumb_func_end sub_811D280
-
- thumb_func_start sub_811D29C
-sub_811D29C: @ 811D29C
- push {lr}
- bl FreeAllWindowBuffers
- pop {r0}
- bx r0
- thumb_func_end sub_811D29C
-
- thumb_func_start sub_811D2A8
-sub_811D2A8: @ 811D2A8
- push {lr}
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xE
- bl DrawTextBorderOuter
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_811D2A8
-
- thumb_func_start sub_811D2D0
-sub_811D2D0: @ 811D2D0
- push {lr}
- movs r0, 0
- bl ClearWindowTilemap
- movs r0, 0
- movs r1, 0
- bl ClearStdWindowAndFrameToTransparent
- movs r0, 0
- movs r1, 0x1
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_811D2D0
-
- thumb_func_start sub_811D2EC
-sub_811D2EC: @ 811D2EC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_811D0A8
- adds r4, r0, 0
- bl sub_811D0B4
- lsls r0, 16
- lsrs r7, r0, 16
- movs r0, 0
- mov r8, r0
- bl GetTextSpeedSetting
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- bl sub_811D094
- adds r6, r0, 0
- cmp r5, 0x9
- bls _0811D322
- b _0811D4C2
-_0811D322:
- lsls r0, r5, 2
- ldr r1, _0811D32C @ =_0811D330
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0811D32C: .4byte _0811D330
- .align 2, 0
-_0811D330:
- .4byte _0811D358
- .4byte _0811D38C
- .4byte _0811D42C
- .4byte _0811D418
- .4byte _0811D404
- .4byte _0811D450
- .4byte _0811D47C
- .4byte _0811D488
- .4byte _0811D498
- .4byte _0811D3DC
-_0811D358:
- adds r4, 0x14
- adds r0, r7, 0
- bl ItemId_GetName
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- adds r2, r0, 0
- ldr r1, _0811D384 @ =gUnknown_841B285
- bl StringCopy
- adds r2, r0, 0
- adds r0, r6, 0
- movs r1, 0x2
- bl GetMonData
- ldr r1, _0811D388 @ =gUnknown_841B293
- adds r0, r4, 0
- bl StringAppend
- b _0811D4A2
- .align 2, 0
-_0811D384: .4byte gUnknown_841B285
-_0811D388: .4byte gUnknown_841B293
-_0811D38C:
- adds r0, r6, 0
- movs r1, 0x38
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r4, 0x14
- adds r0, r6, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl GetMonData
- ldr r1, _0811D3D4 @ =gUnknown_841B295
- adds r0, r4, 0
- bl StringAppend
- adds r2, r0, 0
- cmp r5, 0x63
- bhi _0811D3B8
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_0811D3B8:
- movs r3, 0x3
- cmp r5, 0x63
- bhi _0811D3C0
- movs r3, 0x2
-_0811D3C0:
- adds r0, r2, 0
- adds r1, r5, 0
- movs r2, 0
- bl ConvertIntToDecimalStringN
- adds r2, r0, 0
- ldr r1, _0811D3D8 @ =gUnknown_841B2A7
- bl StringAppend
- b _0811D4A2
- .align 2, 0
-_0811D3D4: .4byte gUnknown_841B295
-_0811D3D8: .4byte gUnknown_841B2A7
-_0811D3DC:
- bl DynamicPlaceholderTextUtil_Reset
- bl sub_811D0F4
- adds r1, r0, 0
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- bl sub_811D0D0
- adds r1, r0, 0
- movs r0, 0x1
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- adds r4, 0x14
- ldr r1, _0811D400 @ =gUnknown_841B32E
- b _0811D470
- .align 2, 0
-_0811D400: .4byte gUnknown_841B32E
-_0811D404:
- ldr r1, _0811D444 @ =gUnknown_841B2F1
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x2
- bl GetStringWidth
- add r0, r8
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
-_0811D418:
- ldr r1, _0811D448 @ =gUnknown_841B2ED
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x2
- bl GetStringWidth
- add r0, r8
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
-_0811D42C:
- adds r4, 0x14
- ldr r1, _0811D44C @ =gUnknown_8459998
- subs r0, r5, 0x2
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringCopy
- movs r1, 0x1
- mov r9, r1
- b _0811D4A2
- .align 2, 0
-_0811D444: .4byte gUnknown_841B2F1
-_0811D448: .4byte gUnknown_841B2ED
-_0811D44C: .4byte gUnknown_8459998
-_0811D450:
- bl DynamicPlaceholderTextUtil_Reset
- bl sub_811D0F4
- adds r1, r0, 0
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- bl sub_811D0C4
- adds r1, r0, 0
- movs r0, 0x1
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- adds r4, 0x14
- ldr r1, _0811D478 @ =gUnknown_841B306
-_0811D470:
- adds r0, r4, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- b _0811D4A2
- .align 2, 0
-_0811D478: .4byte gUnknown_841B306
-_0811D47C:
- adds r4, 0x14
- ldr r1, _0811D484 @ =gUnknown_841B315
- b _0811D48C
- .align 2, 0
-_0811D484: .4byte gUnknown_841B315
-_0811D488:
- adds r4, 0x14
- ldr r1, _0811D494 @ =gUnknown_841B31B
-_0811D48C:
- adds r0, r4, 0
- bl StringCopy
- b _0811D4A2
- .align 2, 0
-_0811D494: .4byte gUnknown_841B31B
-_0811D498:
- adds r4, 0x14
- ldr r1, _0811D4D0 @ =gUnknown_841B329
- adds r0, r4, 0
- bl StringCopy
-_0811D4A2:
- mov r0, r8
- lsls r3, r0, 24
- lsrs r3, 24
- movs r0, 0
- str r0, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- movs r0, 0x4
- str r0, [sp, 0x10]
- movs r0, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl AddTextPrinterParameterized5
-_0811D4C2:
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0811D4D0: .4byte gUnknown_841B329
- thumb_func_end sub_811D2EC
-
- thumb_func_start sub_811D4D4
-sub_811D4D4: @ 811D4D4
- push {lr}
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_811D4D4
-
- thumb_func_start sub_811D4EC
-sub_811D4EC: @ 811D4EC
- push {lr}
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_811D4EC
-
- thumb_func_start sub_811D4FC
-sub_811D4FC: @ 811D4FC
- push {r4,lr}
- bl sub_811D0A8
- adds r4, r0, 0
- movs r0, 0
- strh r0, [r4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x80
- lsls r1, 9
- lsls r1, r0
- movs r0, 0x4
- orrs r1, r0
- adds r0, r1, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- adds r0, r4, 0
- bl sub_811E204
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_811D4FC
-
- thumb_func_start sub_811D530
-sub_811D530: @ 811D530
- push {r4,r5,lr}
- sub sp, 0x4
- bl sub_811D0A8
- adds r4, r0, 0
- ldrh r0, [r4]
- cmp r0, 0
- beq _0811D546
- cmp r0, 0x1
- beq _0811D57E
- b _0811D594
-_0811D546:
- bl sub_811E2F4
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0811D594
- movs r0, 0
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 9
- lsls r2, r0
- movs r0, 0x4
- orrs r2, r0
- movs r1, 0x1
- negs r1, r1
- str r5, [sp]
- adds r0, r2, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0811D594
-_0811D57E:
- ldr r0, _0811D590 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0811D594
- movs r0, 0
- b _0811D596
- .align 2, 0
-_0811D590: .4byte gPaletteFade
-_0811D594:
- movs r0, 0x1
-_0811D596:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_811D530
-
- thumb_func_start sub_811D5A0
-sub_811D5A0: @ 811D5A0
- push {lr}
- bl sub_811D0A8
- movs r1, 0
- strh r1, [r0]
- pop {r0}
- bx r0
- thumb_func_end sub_811D5A0
-
- thumb_func_start sub_811D5B0
-sub_811D5B0: @ 811D5B0
- push {lr}
- bl sub_811E388
- bl ResetPaletteFadeControl
- pop {r0}
- bx r0
- thumb_func_end sub_811D5B0
-
- thumb_func_start sub_811D5C0
-sub_811D5C0: @ 811D5C0
- push {r4,lr}
- sub sp, 0x4
- bl sub_811D0A8
- adds r4, r0, 0
- ldrh r0, [r4]
- cmp r0, 0x8
- bls _0811D5D2
- b _0811D6DE
-_0811D5D2:
- lsls r0, 2
- ldr r1, _0811D5DC @ =_0811D5E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0811D5DC: .4byte _0811D5E0
- .align 2, 0
-_0811D5E0:
- .4byte _0811D604
- .4byte _0811D60C
- .4byte _0811D61C
- .4byte _0811D62C
- .4byte _0811D63E
- .4byte _0811D670
- .4byte _0811D6A0
- .4byte _0811D6BA
- .4byte _0811D6CA
-_0811D604:
- movs r0, 0
- bl sub_811E194
- b _0811D6D6
-_0811D60C:
- bl sub_811D9A8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0811D6E2
- strh r0, [r4, 0x4]
- b _0811D6D6
-_0811D61C:
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x14
- bls _0811D6E2
- b _0811D6D6
-_0811D62C:
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1
- bl sub_811DB7C
- movs r0, 0
- strh r0, [r4, 0x4]
- b _0811D6D6
-_0811D63E:
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
- lsls r0, 16
- cmp r0, 0
- beq _0811D6E2
- movs r0, 0
- strh r0, [r4, 0x4]
- movs r0, 0x85
- bl PlaySE
- ldr r0, _0811D66C @ =0x00007da8
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0
- movs r3, 0xC
- bl BeginNormalPaletteFade
- adds r0, r4, 0
- bl sub_811E348
- b _0811D6D6
- .align 2, 0
-_0811D66C: .4byte 0x00007da8
-_0811D670:
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x46
- bls _0811D6E2
- adds r0, r4, 0
- bl sub_811DBA8
- ldr r0, _0811D69C @ =0x00007da8
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0x6
- movs r2, 0xC
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0
- strh r0, [r4, 0x4]
- b _0811D6D6
- .align 2, 0
-_0811D69C: .4byte 0x00007da8
-_0811D6A0:
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
- bl sub_811E5A4
- adds r1, r0, 0
- cmp r1, 0
- bne _0811D6E2
- ldrh r0, [r4, 0x4]
- cmp r0, 0x28
- bls _0811D6E2
- strh r1, [r4, 0x4]
- b _0811D6D6
-_0811D6BA:
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x14
- bls _0811D6E2
- b _0811D6D6
-_0811D6CA:
- movs r0, 0x54
- bl PlaySE
- ldr r0, [r4, 0x10]
- bl DestroySprite
-_0811D6D6:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0811D6E2
-_0811D6DE:
- movs r0, 0
- b _0811D6E4
-_0811D6E2:
- movs r0, 0x1
-_0811D6E4:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811D5C0
-
- 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}
- mov r7, r8
- push {r7}
- adds r3, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- cmp r2, 0x3
- bne _0811E088
- movs r0, 0x78
- strh r0, [r5, 0x20]
- ldrh r0, [r3, 0x8]
- b _0811E08E
-_0811E088:
- movs r0, 0x78
- strh r0, [r5, 0x20]
- ldrh r0, [r3, 0x6]
-_0811E08E:
- strh r0, [r5, 0x22]
- ldrh r0, [r5, 0x20]
- adds r0, 0x4
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x22]
- adds r0, 0x4
- strh r0, [r5, 0x22]
- bl sub_811D110
- lsls r0, 16
- lsrs r6, r0, 16
- bl sub_811D120
- adds r7, r0, 0
- bl sub_811D100
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _0811E0CC
- adds r0, r6, 0
- adds r1, r7, 0
- movs r2, 0
- bl sub_812EA78
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- adds r1, r7, 0
- movs r2, 0x1
- b _0811E0E0
-_0811E0CC:
- adds r0, r6, 0
- adds r1, r7, 0
- movs r2, 0x3
- bl sub_812EA78
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- adds r1, r7, 0
- movs r2, 0x4
-_0811E0E0:
- bl sub_812EA78
- lsls r0, 24
- lsrs r0, 24
- cmp r4, 0xFF
- bne _0811E0EE
- movs r4, 0
-_0811E0EE:
- cmp r0, 0xFF
- bne _0811E0F4
- movs r0, 0
-_0811E0F4:
- strh r4, [r5, 0x3A]
- strh r0, [r5, 0x3C]
- adds r0, r5, 0
- mov r1, r8
- bl sub_811DB48
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_811E06C
-
- thumb_func_start sub_811E10C
-sub_811E10C: @ 811E10C
- push {r4,lr}
- bl sub_811D0A8
- adds r4, r0, 0
- ldr r0, [r4, 0xC]
- bl sub_811E128
- ldr r0, [r4, 0x10]
- bl sub_811E128
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_811E10C
-
- thumb_func_start sub_811E128
-sub_811E128: @ 811E128
- movs r1, 0
- strh r1, [r0, 0x2E]
- strh r1, [r0, 0x30]
- ldr r1, _0811E134 @ =sub_811E154
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_0811E134: .4byte sub_811E154
- thumb_func_end sub_811E128
-
- thumb_func_start sub_811E138
-sub_811E138: @ 811E138
- push {lr}
- bl sub_811D0A8
- ldr r0, [r0, 0xC]
- ldr r1, [r0, 0x1C]
- ldr r0, _0811E150 @ =SpriteCallbackDummy
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- pop {r1}
- bx r1
- .align 2, 0
-_0811E150: .4byte SpriteCallbackDummy
- thumb_func_end sub_811E138
-
- thumb_func_start sub_811E154
-sub_811E154: @ 811E154
- push {lr}
- adds r1, r0, 0
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0811E166
- cmp r0, 0x1
- beq _0811E174
- b _0811E18C
-_0811E166:
- ldrh r0, [r1, 0x20]
- adds r0, 0x3
- strh r0, [r1, 0x20]
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- b _0811E18C
-_0811E174:
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- ble _0811E18C
- ldrh r0, [r1, 0x20]
- subs r0, 0x3
- strh r0, [r1, 0x20]
- ldr r0, _0811E190 @ =SpriteCallbackDummy
- str r0, [r1, 0x1C]
-_0811E18C:
- pop {r0}
- bx r0
- .align 2, 0
-_0811E190: .4byte SpriteCallbackDummy
- thumb_func_end sub_811E154
-
- thumb_func_start sub_811E194
-sub_811E194: @ 811E194
- 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 _0811E1F8
- ldr r0, _0811E1EC @ =sub_811D9BC
- movs r1, 0x1
- 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 r2, [r5, 0x10]
- adds r0, r4, 0
- movs r1, 0x9
- bl SetWordTaskArg
- ldr r1, _0811E1F0 @ =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 r2, 0x1
- strh r2, [r1, 0x18]
- movs r0, 0x6
- strh r0, [r1, 0x12]
- ldrb r5, [r5, 0xA]
- cmp r6, r5
- bls _0811E1F4
- strh r2, [r1, 0xE]
- b _0811E1F8
- .align 2, 0
-_0811E1EC: .4byte sub_811D9BC
-_0811E1F0: .4byte gTasks
-_0811E1F4:
- ldr r0, _0811E200 @ =0x0000ffff
- strh r0, [r1, 0xE]
-_0811E1F8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811E200: .4byte 0x0000ffff
- thumb_func_end sub_811E194
-
- thumb_func_start sub_811E204
-sub_811E204: @ 811E204
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r10, r0
- ldr r0, _0811E2E0 @ =gUnknown_84599B8
- bl LoadCompressedSpriteSheet
- ldr r0, _0811E2E4 @ =gUnknown_84599C0
- bl LoadSpritePalette
- movs r0, 0
- mov r1, r10
- strh r0, [r1, 0x2]
- ldr r0, _0811E2E8 @ =gUnknown_84599B2
- str r0, [sp, 0x4]
- movs r1, 0x2
- str r1, [sp]
-_0811E22C:
- ldr r0, [sp, 0x4]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- mov r9, r0
- mov r1, r9
- adds r1, 0x78
- ldr r0, [sp, 0x4]
- ldrb r0, [r0, 0x1]
- lsls r0, 24
- asrs r0, 24
- mov r8, r0
- mov r0, r10
- ldrh r2, [r0, 0x8]
- add r2, r8
- lsls r2, 16
- asrs r2, 16
- ldr r0, _0811E2EC @ =gUnknown_8459AEC
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x40
- beq _0811E2C0
- bl sub_811D110
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- bl sub_811D120
- adds r6, r0, 0
- ldr r0, _0811E2F0 @ =gSprites
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- adds r4, r0
- mov r1, r9
- lsls r0, r1, 3
- strh r0, [r4, 0x34]
- mov r1, r8
- lsls r0, r1, 3
- strh r0, [r4, 0x36]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_812EAE4
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x3
- bl sub_811DAC0
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x1
- bl sub_812EAE4
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x3
- bl sub_811DAC0
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- mov r1, r10
- ldrh r0, [r1, 0x2]
- adds r0, 0x1
- strh r0, [r1, 0x2]
-_0811E2C0:
- ldr r0, [sp, 0x4]
- adds r0, 0x2
- str r0, [sp, 0x4]
- ldr r1, [sp]
- subs r1, 0x1
- str r1, [sp]
- cmp r1, 0
- bge _0811E22C
- 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
-_0811E2E0: .4byte gUnknown_84599B8
-_0811E2E4: .4byte gUnknown_84599C0
-_0811E2E8: .4byte gUnknown_84599B2
-_0811E2EC: .4byte gUnknown_8459AEC
-_0811E2F0: .4byte gSprites
- thumb_func_end sub_811E204
-
- thumb_func_start sub_811E2F4
-sub_811E2F4: @ 811E2F4
- push {lr}
- bl sub_811D0A8
- ldrb r0, [r0, 0x2]
- pop {r1}
- bx r1
- thumb_func_end sub_811E2F4
-
- thumb_func_start sub_811E300
-sub_811E300: @ 811E300
- 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, 0x9
- bgt _0811E330
- ldrh r0, [r4, 0x34]
- ldrh r1, [r4, 0x30]
- adds r0, r1
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x36]
- ldrh r2, [r4, 0x32]
- adds r1, r2
- strh r1, [r4, 0x32]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x24]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r4, 0x26]
- b _0811E340
-_0811E330:
- bl sub_811D0A8
- ldrh r1, [r0, 0x2]
- subs r1, 0x1
- strh r1, [r0, 0x2]
- adds r0, r4, 0
- bl DestroySprite
-_0811E340:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_811E300
-
- thumb_func_start sub_811E348
-sub_811E348: @ 811E348
- push {r4,lr}
- bl sub_811E588
- ldr r0, _0811E37C @ =sub_811E3B4
- movs r1, 0x1
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r2, _0811E380 @ =0x78865321
- adds r0, r4, 0
- movs r1, 0x3
- bl SetWordTaskArg
- ldr r1, _0811E384 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0xE0
- strh r1, [r0, 0x12]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0811E37C: .4byte sub_811E3B4
-_0811E380: .4byte 0x78865321
-_0811E384: .4byte gTasks
- thumb_func_end sub_811E348
-
- thumb_func_start sub_811E388
-sub_811E388: @ 811E388
- push {lr}
- ldr r0, _0811E3AC @ =sub_811E3B4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _0811E3A6
- ldr r0, _0811E3B0 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x8]
-_0811E3A6:
- pop {r0}
- bx r0
- .align 2, 0
-_0811E3AC: .4byte sub_811E3B4
-_0811E3B0: .4byte gTasks
- thumb_func_end sub_811E388
-
- thumb_func_start sub_811E3B4
-sub_811E3B4: @ 811E3B4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _0811E3DC @ =gTasks+0x8
- adds r5, r0, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _0811E3E0
- cmp r0, 0x1
- beq _0811E4CE
- b _0811E4DC
- .align 2, 0
-_0811E3DC: .4byte gTasks+0x8
-_0811E3E0:
- ldrh r0, [r5, 0x2]
- movs r3, 0x2
- ldrsh r2, [r5, r3]
- mov r9, r2
- cmp r2, 0
- bne _0811E4C8
- bl sub_811D0A8
- ldr r0, [r0, 0x10]
- movs r4, 0x20
- ldrsh r2, [r0, r4]
- movs r3, 0x24
- ldrsh r1, [r0, r3]
- adds r2, r1
- str r2, [sp]
- movs r4, 0x22
- ldrsh r1, [r0, r4]
- movs r2, 0x26
- ldrsh r0, [r0, r2]
- adds r1, r0
- mov r10, r1
- adds r0, r6, 0
- bl sub_811E4EC
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x15
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- adds r0, 0x46
- ldr r3, _0811E4BC @ =gSineTable
- movs r4, 0xA
- ldrsh r2, [r5, r4]
- adds r1, r2, 0
- adds r1, 0x40
- lsls r1, 1
- adds r1, r3
- movs r4, 0
- ldrsh r1, [r1, r4]
- muls r1, r0
- lsrs r1, 8
- ldr r4, [sp]
- adds r4, r1
- mov r8, r4
- lsls r2, 1
- adds r2, r3
- movs r3, 0
- ldrsh r1, [r2, r3]
- muls r0, r1
- lsrs r0, 8
- mov r4, r10
- adds r7, r4, r0
- ldrh r0, [r5, 0xA]
- adds r0, 0x4C
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0xA]
- ldr r0, _0811E4C0 @ =gUnknown_8459B30
- mov r2, r8
- lsls r1, r2, 16
- asrs r1, 16
- lsls r2, r7, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0811E4A4
- ldr r0, _0811E4C4 @ =gSprites
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r4, r0
- mov r3, r9
- strh r3, [r4, 0x2E]
- adds r0, r6, 0
- bl sub_811E4EC
- movs r1, 0x1
- ands r1, r0
- adds r1, 0x6
- strh r1, [r4, 0x30]
- mov r0, r8
- strh r0, [r4, 0x32]
- strh r7, [r4, 0x34]
- mov r1, sp
- ldrh r1, [r1]
- strh r1, [r4, 0x36]
- mov r2, r10
- strh r2, [r4, 0x38]
- strh r6, [r4, 0x3A]
- ldrh r0, [r5, 0x4]
- adds r0, 0x1
- strh r0, [r5, 0x4]
-_0811E4A4:
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2F
- ble _0811E4DC
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _0811E4DC
- .align 2, 0
-_0811E4BC: .4byte gSineTable
-_0811E4C0: .4byte gUnknown_8459B30
-_0811E4C4: .4byte gSprites
-_0811E4C8:
- subs r0, 0x1
- strh r0, [r5, 0x2]
- b _0811E4DC
-_0811E4CE:
- movs r3, 0x4
- ldrsh r0, [r5, r3]
- cmp r0, 0
- bne _0811E4DC
- adds r0, r6, 0
- bl DestroyTask
-_0811E4DC:
- 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_811E3B4
-
- thumb_func_start sub_811E4EC
-sub_811E4EC: @ 811E4EC
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x3
- bl GetWordTaskArg
- adds r5, r0, 0
- ldr r0, _0811E518 @ =0x41c64e6d
- muls r0, r5
- ldr r1, _0811E51C @ =0x00006073
- adds r5, r0, r1
- adds r0, r4, 0
- movs r1, 0x3
- adds r2, r5, 0
- bl SetWordTaskArg
- lsrs r0, r5, 16
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0811E518: .4byte 0x41c64e6d
-_0811E51C: .4byte 0x00006073
- thumb_func_end sub_811E4EC
-
- thumb_func_start sub_811E520
-sub_811E520: @ 811E520
- 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, 16
- cmp r0, 0xFF
- ble _0811E554
- ldr r2, _0811E550 @ =gTasks
- movs r5, 0x3A
- ldrsh r1, [r4, r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0xC]
- subs r1, 0x1
- strh r1, [r0, 0xC]
- adds r0, r4, 0
- bl DestroySprite
- b _0811E582
- .align 2, 0
-_0811E550: .4byte gTasks
-_0811E554:
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- subs r0, r1
- movs r5, 0x2E
- ldrsh r3, [r4, r5]
- adds r2, r0, 0
- muls r2, r3
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r5, 0x34
- ldrsh r1, [r4, r5]
- subs r0, r1
- muls r0, r3
- asrs r2, 8
- ldrh r1, [r4, 0x32]
- adds r2, r1
- strh r2, [r4, 0x20]
- asrs r0, 8
- ldrh r2, [r4, 0x34]
- adds r0, r2
- strh r0, [r4, 0x22]
-_0811E582:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_811E520
-
- thumb_func_start sub_811E588
-sub_811E588: @ 811E588
- push {lr}
- ldr r0, _0811E59C @ =gUnknown_84599C8
- bl LoadCompressedSpriteSheet
- ldr r0, _0811E5A0 @ =gUnknown_84599D0
- bl LoadSpritePalette
- pop {r0}
- bx r0
- .align 2, 0
-_0811E59C: .4byte gUnknown_84599C8
-_0811E5A0: .4byte gUnknown_84599D0
- thumb_func_end sub_811E588
-
- thumb_func_start sub_811E5A4
-sub_811E5A4: @ 811E5A4
- push {lr}
- ldr r0, _0811E5B4 @ =sub_811E3B4
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0811E5B4: .4byte sub_811E3B4
- thumb_func_end sub_811E5A4
-
- thumb_func_start sub_811E5B8
-sub_811E5B8: @ 811E5B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- mov r9, r3
- ldr r0, [sp, 0x20]
- mov r10, r0
- ldr r0, [sp, 0x24]
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- mov r1, r8
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- mov r1, r9
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- mov r1, r10
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, _0811E664 @ =gUnknown_3002030
- mov r1, r8
- strh r1, [r0, 0x6]
- ldr r1, _0811E668 @ =gUnknown_8459888
- str r1, [r0]
- ldr r1, [r1]
- lsrs r1, 8
- strh r1, [r0, 0x4]
- ldr r4, _0811E66C @ =gUnknown_3002038
- ldr r1, _0811E670 @ =gUnknown_8459868
- str r1, [r4]
- mov r1, r9
- strh r1, [r4, 0x4]
- bl LoadCompressedSpriteSheet
- adds r0, r4, 0
- bl LoadSpritePalette
- ldr r0, _0811E674 @ =sub_811E694
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0811E678 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- subs r5, 0x20
- strh r5, [r1, 0x10]
- adds r6, 0x20
- strh r6, [r1, 0x12]
- mov r0, r8
- strh r0, [r1, 0x14]
- mov r0, r9
- strh r0, [r1, 0x16]
- mov r0, r10
- strh r0, [r1, 0x18]
- strh r7, [r1, 0x1A]
- movs r1, 0xFC
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, _0811E67C @ =0x0000060c
- movs r0, 0x52
- bl SetGpuReg
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0811E664: .4byte gUnknown_3002030
-_0811E668: .4byte gUnknown_8459888
-_0811E66C: .4byte gUnknown_3002038
-_0811E670: .4byte gUnknown_8459868
-_0811E674: .4byte sub_811E694
-_0811E678: .4byte gTasks
-_0811E67C: .4byte 0x0000060c
- thumb_func_end sub_811E5B8
-
- thumb_func_start sub_811E680
-sub_811E680: @ 811E680
- push {lr}
- ldr r0, _0811E690 @ =sub_811E694
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0811E690: .4byte sub_811E694
- thumb_func_end sub_811E680
-
- thumb_func_start sub_811E694
-sub_811E694: @ 811E694
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _0811E6B4 @ =gTasks+0x8
- adds r4, r0, r1
- movs r0, 0
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _0811E6B8
- cmp r1, 0x1
- beq _0811E6EE
- b _0811E708
- .align 2, 0
-_0811E6B4: .4byte gTasks+0x8
-_0811E6B8:
- ldrh r2, [r4, 0x6]
- movs r3, 0x6
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _0811E6DE
- adds r0, r2, 0x1
- strh r0, [r4, 0x6]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_811E710
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0x11
- ble _0811E708
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0811E708
-_0811E6DE:
- adds r0, r2, 0x1
- strh r0, [r4, 0x6]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _0811E708
- strh r1, [r4, 0x6]
- b _0811E708
-_0811E6EE:
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _0811E708
- ldrh r0, [r4, 0xC]
- bl FreeSpriteTilesByTag
- ldrh r0, [r4, 0xE]
- bl FreeSpritePaletteByTag
- adds r0, r5, 0
- bl DestroyTask
-_0811E708:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_811E694
-
- thumb_func_start sub_811E710
-sub_811E710: @ 811E710
- push {r4-r6,lr}
- sub sp, 0x18
- adds r4, r1, 0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r1, sp
- ldr r0, _0811E7A4 @ =gUnknown_8459ACC
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- mov r1, sp
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
- ldrh r0, [r4, 0xE]
- strh r0, [r1, 0x2]
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- movs r0, 0xDB
- muls r1, r0
- movs r5, 0x3F
- ands r1, r5
- ldrh r2, [r4, 0x8]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- movs r3, 0xA
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x12]
- mov r0, sp
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0811E79A
- ldr r0, _0811E7A8 @ =gSprites
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r0
- movs r0, 0x3
- ldrb r1, [r4, 0x10]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- movs r0, 0
- strh r0, [r2, 0x30]
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- ldr r0, _0811E7AC @ =0x41c64e6d
- muls r0, r1
- ldr r1, _0811E7B0 @ =0x00006073
- adds r0, r1
- ands r0, r5
- adds r0, 0x20
- strh r0, [r2, 0x32]
- strh r6, [r2, 0x3C]
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
-_0811E79A:
- add sp, 0x18
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811E7A4: .4byte gUnknown_8459ACC
-_0811E7A8: .4byte gSprites
-_0811E7AC: .4byte 0x41c64e6d
-_0811E7B0: .4byte 0x00006073
- thumb_func_end sub_811E710
-
- thumb_func_start sub_811E7B4
-sub_811E7B4: @ 811E7B4
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x30]
- ldrh r1, [r3, 0x32]
- subs r0, r1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r3, 0x26]
- movs r1, 0x40
- negs r1, r1
- cmp r0, r1
- bge _0811E7E8
- ldr r2, _0811E7EC @ =gTasks
- movs r0, 0x3C
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0xA]
- subs r1, 0x1
- strh r1, [r0, 0xA]
- adds r0, r3, 0
- bl DestroySprite
-_0811E7E8:
- pop {r0}
- bx r0
- .align 2, 0
-_0811E7EC: .4byte gTasks
- thumb_func_end sub_811E7B4
-
- thumb_func_start DrawLevelUpWindowPg1
-DrawLevelUpWindowPg1: @ 811E7F0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- mov r8, r0
- adds r6, r1, 0
- adds r5, r2, 0
- adds r4, r3, 0
- ldr r3, [sp, 0x50]
- ldr r0, [sp, 0x54]
- mov r9, r0
- lsls r4, 24
- lsrs r4, 24
- lsls r3, 24
- lsrs r3, 24
- mov r1, r9
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, r4, 4
- orrs r1, r4
- lsls r1, 24
- lsrs r1, 24
- str r3, [sp, 0x2C]
- bl FillWindowPixelBuffer
- add r2, sp, 0xC
- ldrh r0, [r5]
- ldrh r1, [r6]
- subs r0, r1
- strh r0, [r2]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r6, 0x2]
- subs r0, r1
- strh r0, [r2, 0x2]
- ldrh r0, [r5, 0x4]
- ldrh r1, [r6, 0x4]
- subs r0, r1
- strh r0, [r2, 0x4]
- ldrh r0, [r5, 0x8]
- ldrh r1, [r6, 0x8]
- subs r0, r1
- strh r0, [r2, 0x6]
- ldrh r0, [r5, 0xA]
- ldrh r1, [r6, 0xA]
- subs r0, r1
- strh r0, [r2, 0x8]
- ldrh r0, [r5, 0x6]
- ldrh r1, [r6, 0x6]
- subs r0, r1
- strh r0, [r2, 0xA]
- add r0, sp, 0x24
- strb r4, [r0]
- ldr r3, [sp, 0x2C]
- strb r3, [r0, 0x1]
- mov r1, r9
- strb r1, [r0, 0x2]
- movs r7, 0
- mov r1, sp
- adds r1, 0x19
- str r1, [sp, 0x28]
- mov r10, r0
- movs r0, 0x1
- negs r0, r0
- mov r9, r0
- add r6, sp, 0x18
-_0811E880:
- lsls r0, r7, 4
- subs r0, r7
- lsls r0, 24
- lsrs r5, r0, 24
- mov r1, r10
- str r1, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- ldr r1, _0811E930 @ =gUnknown_8459B48
- lsls r0, r7, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp, 0x8]
- mov r0, r8
- movs r1, 0x2
- movs r2, 0
- adds r3, r5, 0
- bl AddTextPrinterParameterized3
- lsls r0, r7, 1
- mov r4, sp
- adds r4, r0
- adds r4, 0xC
- movs r1, 0
- ldrsh r0, [r4, r1]
- ldr r1, _0811E934 @ =gUnknown_841B2E5
- cmp r0, 0
- blt _0811E8BA
- ldr r1, _0811E938 @ =gUnknown_841B2DC
-_0811E8BA:
- adds r0, r6, 0
- bl StringCopy
- mov r0, r10
- str r0, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r0, r8
- movs r1, 0x2
- movs r2, 0x38
- adds r3, r5, 0
- bl AddTextPrinterParameterized3
- movs r0, 0
- strb r0, [r6]
- movs r0, 0
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _0811E8E6
- negs r0, r1
-_0811E8E6:
- movs r4, 0x6
- cmp r0, 0x9
- bgt _0811E8EE
- movs r4, 0xC
-_0811E8EE:
- cmp r1, 0
- bge _0811E8F4
- negs r1, r1
-_0811E8F4:
- ldr r0, [sp, 0x28]
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r2, r4, 0
- adds r2, 0x38
- mov r1, r10
- str r1, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r0, r8
- movs r1, 0x2
- adds r3, r5, 0
- bl AddTextPrinterParameterized3
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x5
- bls _0811E880
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0811E930: .4byte gUnknown_8459B48
-_0811E934: .4byte gUnknown_841B2E5
-_0811E938: .4byte gUnknown_841B2DC
- thumb_func_end DrawLevelUpWindowPg1
-
- thumb_func_start DrawLevelUpWindowPg2
-DrawLevelUpWindowPg2: @ 811E93C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- mov r8, r0
- adds r5, r1, 0
- adds r4, r2, 0
- adds r6, r3, 0
- ldr r2, [sp, 0x4C]
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, r4, 4
- orrs r1, r4
- lsls r1, 24
- lsrs r1, 24
- str r2, [sp, 0x28]
- bl FillWindowPixelBuffer
- add r1, sp, 0xC
- ldrh r0, [r5]
- strh r0, [r1]
- ldrh r0, [r5, 0x2]
- strh r0, [r1, 0x2]
- ldrh r0, [r5, 0x4]
- strh r0, [r1, 0x4]
- ldrh r0, [r5, 0x8]
- strh r0, [r1, 0x6]
- ldrh r0, [r5, 0xA]
- strh r0, [r1, 0x8]
- ldrh r0, [r5, 0x6]
- strh r0, [r1, 0xA]
- add r0, sp, 0x24
- strb r4, [r0]
- strb r6, [r0, 0x1]
- ldr r2, [sp, 0x28]
- strb r2, [r0, 0x2]
- movs r6, 0
- add r1, sp, 0x18
- mov r9, r1
- mov r7, r8
- mov r10, r0
- movs r2, 0x1
- negs r2, r2
- mov r8, r2
-_0811E9A6:
- lsls r1, r6, 1
- mov r0, sp
- adds r0, r1
- adds r0, 0xC
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r4, 0x3
- cmp r0, 0x63
- bgt _0811E9C0
- movs r4, 0x1
- cmp r0, 0x9
- ble _0811E9C0
- movs r4, 0x2
-_0811E9C0:
- mov r0, sp
- adds r0, r1
- adds r0, 0xC
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r0, r9
- movs r2, 0
- adds r3, r4, 0
- bl ConvertIntToDecimalStringN
- movs r0, 0x4
- subs r0, r4
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 17
- lsrs r4, 16
- lsls r5, r6, 4
- subs r5, r6
- lsls r5, 24
- lsrs r5, 24
- mov r0, r10
- str r0, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- ldr r1, _0811EA40 @ =gUnknown_8459B48
- lsls r0, r6, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x2
- movs r2, 0
- adds r3, r5, 0
- bl AddTextPrinterParameterized3
- adds r4, 0x38
- lsls r4, 24
- lsrs r4, 24
- mov r2, r10
- str r2, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- mov r1, r9
- str r1, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x2
- adds r2, r4, 0
- adds r3, r5, 0
- bl AddTextPrinterParameterized3
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _0811E9A6
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0811EA40: .4byte gUnknown_8459B48
- thumb_func_end DrawLevelUpWindowPg2
-
- .align 2, 0 @ Don't pad with nop.