summaryrefslogtreecommitdiff
path: root/asm/rom_8034C54.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/rom_8034C54.s')
-rw-r--r--asm/rom_8034C54.s1312
1 files changed, 0 insertions, 1312 deletions
diff --git a/asm/rom_8034C54.s b/asm/rom_8034C54.s
deleted file mode 100644
index 4274f26b6..000000000
--- a/asm/rom_8034C54.s
+++ /dev/null
@@ -1,1312 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8034C54
-sub_8034C54: @ 8034C54
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r5, =gUnknown_02022E10
- ldr r0, [r5]
- cmp r0, 0
- beq _08034C64
- bl sub_8034CC8
-_08034C64:
- movs r0, 0x8
- bl Alloc
- str r0, [r5]
- cmp r0, 0
- bne _08034C78
- movs r0, 0
- b _08034CC0
- .pool
-_08034C78:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- bl Alloc
- ldr r1, [r5]
- str r0, [r1, 0x4]
- cmp r0, 0
- bne _08034C94
- adds r0, r1, 0
- bl Free
- movs r0, 0
- b _08034CC0
-_08034C94:
- str r4, [r1]
- movs r3, 0
- cmp r3, r4
- bcs _08034CBE
- movs r7, 0
- movs r6, 0xFF
- movs r2, 0
-_08034CA2:
- ldr r0, [r5]
- ldr r0, [r0, 0x4]
- adds r0, r2, r0
- strb r7, [r0]
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r2, r1
- ldrb r0, [r1, 0x1]
- orrs r0, r6
- strb r0, [r1, 0x1]
- adds r2, 0x1C
- adds r3, 0x1
- cmp r3, r4
- bcc _08034CA2
-_08034CBE:
- movs r0, 0x1
-_08034CC0:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8034C54
-
- thumb_func_start sub_8034CC8
-sub_8034CC8: @ 8034CC8
- push {r4,r5,lr}
- ldr r2, =gUnknown_02022E10
- ldr r1, [r2]
- cmp r1, 0
- beq _08034D08
- ldr r0, [r1, 0x4]
- cmp r0, 0
- beq _08034CFC
- movs r4, 0
- ldr r0, [r1]
- cmp r4, r0
- bcs _08034CF2
- adds r5, r2, 0
-_08034CE2:
- adds r0, r4, 0
- bl sub_80353DC
- adds r4, 0x1
- ldr r0, [r5]
- ldr r0, [r0]
- cmp r4, r0
- bcc _08034CE2
-_08034CF2:
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl Free
-_08034CFC:
- ldr r4, =gUnknown_02022E10
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
-_08034D08:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8034CC8
-
- thumb_func_start sub_8034D14
-sub_8034D14: @ 8034D14
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r8, r0
- mov r10, r1
- adds r5, r2, 0
- ldr r6, =gUnknown_02022E10
- ldr r0, [r6]
- cmp r0, 0
- beq _08034DD4
- ldr r1, [r0, 0x4]
- mov r0, r8
- lsls r2, r0, 3
- subs r0, r2, r0
- lsls r4, r0, 2
- adds r1, r4, r1
- ldrb r0, [r1]
- mov r9, r2
- cmp r0, 0
- bne _08034DD4
- ldrb r0, [r5, 0x1]
- bl sub_8035518
- ldr r1, [r6]
- ldr r1, [r1, 0x4]
- adds r1, r4, r1
- strb r0, [r1, 0x1]
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- ldrb r0, [r0, 0x1]
- cmp r0, 0xFF
- beq _08034DD4
- ldr r0, [r5, 0x8]
- ldrh r0, [r0, 0x6]
- bl GetSpriteTileStartByTag
- ldr r2, [r6]
- ldr r1, [r2, 0x4]
- adds r1, r4, r1
- strh r0, [r1, 0xA]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- ldrh r1, [r0, 0xA]
- ldr r7, =0xffff0000
- lsrs r0, r7, 16
- cmp r1, r0
- bne _08034DE0
- ldr r2, [r5, 0x8]
- ldrh r0, [r2, 0x4]
- adds r1, r2, 0
- cmp r0, 0
- beq _08034D94
- adds r0, r1, 0
- bl LoadSpriteSheet
- b _08034DB4
- .pool
-_08034D94:
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, [r2]
- bl sub_8034974
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp, 0x4]
- ands r1, r7
- orrs r1, r0
- str r1, [sp, 0x4]
- mov r0, sp
- bl LoadCompressedObjectPic
-_08034DB4:
- ldr r1, [r6]
- ldr r1, [r1, 0x4]
- adds r1, r4, r1
- strh r0, [r1, 0xA]
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- mov r2, r9
- mov r3, r8
- subs r0, r2, r3
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0xA]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _08034DE0
-_08034DD4:
- movs r0, 0
- b _08034EE8
- .pool
-_08034DE0:
- ldr r0, [r5, 0xC]
- ldrh r0, [r0, 0x4]
- bl IndexOfSpritePaletteTag
- ldr r6, =gUnknown_02022E10
- ldr r1, [r6]
- ldr r1, [r1, 0x4]
- mov r4, r9
- mov r3, r8
- subs r2, r4, r3
- lsls r4, r2, 2
- adds r1, r4, r1
- strb r0, [r1, 0x4]
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- ldrb r0, [r0, 0x4]
- cmp r0, 0xFF
- bne _08034E14
- ldr r0, [r5, 0xC]
- bl LoadSpritePalette
- ldr r1, [r6]
- ldr r1, [r1, 0x4]
- adds r1, r4, r1
- strb r0, [r1, 0x4]
-_08034E14:
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r0, [r5]
- lsls r0, 30
- lsrs r0, 30
- strb r0, [r1, 0x2]
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- ldrb r1, [r5, 0x1]
- strb r1, [r0, 0x3]
- ldr r2, [r6]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- ldrh r1, [r5, 0x4]
- strh r1, [r0, 0xC]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- ldrh r1, [r5, 0x6]
- strh r1, [r0, 0xE]
- ldr r1, [r2, 0x4]
- adds r1, r4, r1
- ldrb r0, [r5]
- lsls r0, 28
- lsrs r0, 30
- strb r0, [r1, 0x6]
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r0, [r5]
- lsls r0, 26
- lsrs r0, 30
- strb r0, [r1, 0x5]
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r0, [r5]
- lsrs r0, 6
- strb r0, [r1, 0x7]
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- ldrb r1, [r5, 0x2]
- strb r1, [r0, 0x8]
- ldrb r1, [r5]
- lsls r0, r1, 28
- lsrs r0, 30
- lsls r1, 26
- lsrs r1, 30
- bl sub_80355F8
- ldr r1, [r6]
- ldr r1, [r1, 0x4]
- adds r1, r4, r1
- strb r0, [r1, 0x9]
- ldr r2, [r6]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- ldr r1, [r5, 0x8]
- ldrh r1, [r1, 0x6]
- strh r1, [r0, 0x10]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- ldr r1, [r5, 0xC]
- ldrh r1, [r1, 0x4]
- strh r1, [r0, 0x12]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- str r1, [r0, 0x14]
- movs r3, 0x1
- ldrb r0, [r5, 0x1]
- cmp r3, r0
- bcs _08034ECA
-_08034EB2:
- ldr r0, [r6]
- ldr r2, [r0, 0x4]
- adds r2, r4, r2
- ldr r1, [r2, 0x14]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- str r0, [r2, 0x14]
- adds r3, 0x1
- ldrb r2, [r5, 0x1]
- cmp r3, r2
- bcc _08034EB2
-_08034ECA:
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- mov r3, r9
- mov r4, r8
- subs r1, r3, r4
- lsls r1, 2
- ldr r0, [r0, 0x4]
- adds r0, r1
- bl sub_8034EFC
- mov r0, r8
- mov r1, r10
- bl sub_8035044
- movs r0, 0x1
-_08034EE8:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8034D14
-
- thumb_func_start sub_8034EFC
-sub_8034EFC: @ 8034EFC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r4, r0, 0
- ldrb r5, [r4, 0x1]
- movs r0, 0xC
- ldrsh r7, [r4, r0]
- ldrb r0, [r4, 0x3]
- adds r0, 0x1
- mov r8, r0
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- lsls r1, r5, 3
- ldr r2, =gMain+0x38
- mov r9, r2
- add r1, r9
- mov r0, r8
- lsls r2, r0, 2
- movs r0, 0x80
- lsls r0, 17
- orrs r2, r0
- mov r0, sp
- bl CpuSet
- movs r6, 0
- ldrb r5, [r4, 0x1]
- cmp r6, r8
- bcs _08034FCE
- movs r1, 0x3F
- mov r10, r1
- movs r2, 0xD
- negs r2, r2
- mov r9, r2
-_08034F46:
- lsls r0, r5, 3
- ldr r1, =gMain
- adds r3, r0, r1
- ldrh r1, [r4, 0xE]
- adds r0, r3, 0
- adds r0, 0x38
- strb r1, [r0]
- ldr r2, =0x000001ff
- adds r0, r2, 0
- adds r1, r7, 0
- ands r1, r0
- ldrh r2, [r3, 0x3A]
- ldr r0, =0xfffffe00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x3A]
- ldrb r1, [r4, 0x6]
- movs r0, 0x39
- adds r0, r3
- mov r12, r0
- lsls r1, 6
- ldrb r2, [r0]
- mov r0, r10
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrb r1, [r4, 0x5]
- movs r2, 0x3B
- adds r2, r3
- mov r12, r2
- lsls r1, 6
- ldrb r2, [r2]
- mov r0, r10
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrh r0, [r4, 0xA]
- ldr r1, =0x000003ff
- ands r1, r0
- ldrh r2, [r3, 0x3C]
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x3C]
- adds r3, 0x3D
- movs r0, 0x3
- ldrb r1, [r4, 0x7]
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- mov r0, r9
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- ldrb r2, [r4, 0x4]
- lsls r2, 4
- movs r1, 0xF
- ands r0, r1
- orrs r0, r2
- strb r0, [r3]
- ldrb r0, [r4, 0x8]
- adds r7, r0
- adds r6, 0x1
- adds r5, 0x1
- cmp r6, r8
- bcc _08034F46
-_08034FCE:
- subs r5, 0x1
- ldr r0, =gMain
- lsls r3, r5, 3
- adds r3, r0
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- ldrb r0, [r4, 0x8]
- subs r1, r0
- ldr r2, =0x000001ff
- adds r0, r2, 0
- ands r1, r0
- ldrh r2, [r3, 0x3A]
- ldr r0, =0xfffffe00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x3A]
- adds r2, r3, 0
- adds r2, 0x39
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r4, 0x9]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 1
- ldrh r4, [r4, 0xA]
- adds r1, r4
- ldr r2, =0x000003ff
- adds r0, r2, 0
- ands r1, r0
- ldrh r2, [r3, 0x3C]
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x3C]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8034EFC
-
- thumb_func_start sub_8035044
-sub_8035044: @ 8035044
- push {r4-r6,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- ldr r0, =gUnknown_02022E10
- ldr r1, [r0]
- adds r6, r0, 0
- cmp r1, 0
- beq _080350A8
- ldr r2, [r1, 0x4]
- lsls r1, r3, 3
- subs r0, r1, r3
- lsls r0, 2
- adds r2, r0, r2
- ldrb r0, [r2]
- adds r5, r1, 0
- cmp r0, 0
- beq _080350A8
- str r4, [r2, 0x18]
- cmp r4, 0
- bge _08035078
- movs r2, 0x1
- negs r4, r4
- b _0803507A
- .pool
-_08035078:
- movs r2, 0
-_0803507A:
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- subs r0, r5, r3
- lsls r0, 2
- adds r0, r1
- ldrb r3, [r0, 0x2]
- cmp r3, 0x1
- beq _0803509A
- cmp r3, 0x1
- ble _08035092
- cmp r3, 0x2
- beq _080350A2
-_08035092:
- adds r1, r4, 0
- bl sub_80350B0
- b _080350A8
-_0803509A:
- adds r1, r4, 0
- bl sub_8035164
- b _080350A8
-_080350A2:
- adds r1, r4, 0
- bl sub_80352C0
-_080350A8:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8035044
-
- thumb_func_start sub_80350B0
-sub_80350B0: @ 80350B0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r0
- mov r9, r1
- str r2, [sp]
- ldr r5, [r0, 0x14]
- ldrb r7, [r0, 0x1]
- ldr r0, =gMain
- mov r10, r0
- cmp r5, 0
- beq _0803511A
- lsls r0, r7, 3
- adds r0, 0x3C
- mov r1, r10
- adds r6, r0, r1
-_080350D6:
- mov r0, r9
- adds r1, r5, 0
- bl __udivsi3
- adds r4, r0, 0
- adds r0, r4, 0
- muls r0, r5
- mov r2, r9
- subs r2, r0
- mov r9, r2
- adds r0, r5, 0
- movs r1, 0xA
- bl __udivsi3
- adds r5, r0, 0
- mov r1, r8
- ldrb r0, [r1, 0x9]
- adds r1, r4, 0
- muls r1, r0
- mov r2, r8
- ldrh r2, [r2, 0xA]
- adds r1, r2
- ldr r2, =0x000003ff
- adds r0, r2, 0
- ands r1, r0
- ldrh r0, [r6]
- ldr r2, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r6]
- adds r6, 0x8
- adds r7, 0x1
- cmp r5, 0
- bne _080350D6
-_0803511A:
- ldr r0, [sp]
- cmp r0, 0
- beq _08035140
- lsls r0, r7, 3
- add r0, r10
- adds r0, 0x39
- ldrb r2, [r0]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- b _08035154
- .pool
-_08035140:
- lsls r2, r7, 3
- add r2, r10
- adds r2, 0x39
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
-_08035154:
- 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_80350B0
-
- thumb_func_start sub_8035164
-sub_8035164: @ 8035164
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r0, 0
- mov r8, r1
- str r2, [sp]
- ldr r5, [r6, 0x14]
- ldr r3, =gUnknown_03000DD4
- ldrb r0, [r6, 0x1]
- str r0, [r3]
- ldr r2, =gUnknown_03000DD8
- movs r0, 0
- str r0, [r2]
- ldr r1, =gUnknown_03000DDC
- subs r0, 0x1
- str r0, [r1]
- adds r7, r3, 0
- mov r10, r1
- ldr r0, =gMain
- mov r9, r0
- cmp r5, 0
- beq _0803524C
-_08035196:
- mov r0, r8
- adds r1, r5, 0
- bl __udivsi3
- adds r4, r0, 0
- adds r0, r4, 0
- muls r0, r5
- mov r1, r8
- subs r1, r0
- mov r8, r1
- adds r0, r5, 0
- movs r1, 0xA
- bl __udivsi3
- adds r5, r0, 0
- cmp r4, 0
- bne _080351C8
- mov r2, r10
- ldr r1, [r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080351C8
- cmp r5, 0
- bne _08035224
-_080351C8:
- ldr r2, [r7]
- lsls r2, 3
- add r2, r9
- ldrb r0, [r6, 0x9]
- adds r3, r4, 0
- muls r3, r0
- ldrh r4, [r6, 0xA]
- adds r3, r4
- ldr r1, =0x000003ff
- adds r0, r1, 0
- ands r3, r0
- ldrh r0, [r2, 0x3C]
- ldr r4, =0xfffffc00
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r3
- strh r0, [r2, 0x3C]
- adds r2, 0x39
- ldrb r0, [r2]
- movs r1, 0x4
- negs r1, r1
- ands r0, r1
- strb r0, [r2]
- mov r2, r10
- ldr r1, [r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _0803523A
- ldr r4, =gUnknown_03000DD8
- ldr r0, [r4]
- str r0, [r2]
- b _0803523A
- .pool
-_08035224:
- ldr r0, [r7]
- lsls r0, 3
- add r0, r9
- adds r0, 0x39
- ldrb r1, [r0]
- movs r2, 0x4
- negs r2, r2
- ands r1, r2
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
-_0803523A:
- ldr r0, [r7]
- adds r0, 0x1
- str r0, [r7]
- ldr r4, =gUnknown_03000DD8
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- cmp r5, 0
- bne _08035196
-_0803524C:
- ldr r0, [sp]
- cmp r0, 0
- beq _08035298
- ldr r1, [r7]
- lsls r1, 3
- add r1, r9
- adds r1, 0x39
- ldrb r2, [r1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r3, [r7]
- lsls r3, 3
- add r3, r9
- movs r1, 0xC
- ldrsh r2, [r6, r1]
- mov r4, r10
- ldr r0, [r4]
- subs r0, 0x1
- ldrb r1, [r6, 0x8]
- muls r0, r1
- adds r2, r0
- ldr r1, =0x000001ff
- adds r0, r1, 0
- ands r2, r0
- ldrh r1, [r3, 0x3A]
- ldr r0, =0xfffffe00
- ands r0, r1
- orrs r0, r2
- strh r0, [r3, 0x3A]
- b _080352AE
- .pool
-_08035298:
- ldr r0, [r7]
- lsls r0, 3
- add r0, r9
- adds r0, 0x39
- ldrb r2, [r0]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
-_080352AE:
- 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_8035164
-
- thumb_func_start sub_80352C0
-sub_80352C0: @ 80352C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r8, r0
- mov r10, r1
- str r2, [sp]
- ldr r5, [r0, 0x14]
- ldrb r3, [r0, 0x1]
- movs r0, 0
- str r0, [sp, 0x4]
- mov r9, r0
- cmp r5, 0
- beq _0803535A
-_080352E0:
- lsls r0, r3, 3
- adds r1, r0, 0
- adds r1, 0x39
- ldr r2, =gMain
- adds r7, r1, r2
- adds r0, 0x3C
- adds r6, r0, r2
-_080352EE:
- mov r0, r10
- adds r1, r5, 0
- str r3, [sp, 0x8]
- bl __udivsi3
- adds r4, r0, 0
- adds r0, r4, 0
- muls r0, r5
- mov r1, r10
- subs r1, r0
- mov r10, r1
- adds r0, r5, 0
- movs r1, 0xA
- bl __udivsi3
- adds r5, r0, 0
- ldr r3, [sp, 0x8]
- cmp r4, 0
- bne _0803531E
- ldr r2, [sp, 0x4]
- cmp r2, 0
- bne _0803531E
- cmp r5, 0
- bne _080352E0
-_0803531E:
- movs r0, 0x1
- str r0, [sp, 0x4]
- mov r1, r8
- ldrb r0, [r1, 0x9]
- adds r2, r4, 0
- muls r2, r0
- ldrh r4, [r1, 0xA]
- adds r2, r4
- ldr r1, =0x000003ff
- adds r0, r1, 0
- ands r2, r0
- ldrh r0, [r6]
- ldr r4, =0xfffffc00
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strh r0, [r6]
- ldrb r0, [r7]
- movs r2, 0x4
- negs r2, r2
- adds r1, r2, 0
- ands r0, r1
- strb r0, [r7]
- adds r7, 0x8
- adds r6, 0x8
- adds r3, 0x1
- movs r4, 0x1
- add r9, r4
- cmp r5, 0
- bne _080352EE
-_0803535A:
- mov r0, r8
- ldrb r0, [r0, 0x3]
- cmp r9, r0
- bge _0803538A
- ldr r1, =gMain
- movs r5, 0x4
- negs r5, r5
- movs r4, 0x2
- lsls r0, r3, 3
- adds r0, 0x39
- adds r2, r0, r1
-_08035370:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- orrs r0, r4
- strb r0, [r2]
- adds r2, 0x8
- adds r3, 0x1
- movs r1, 0x1
- add r9, r1
- mov r0, r8
- ldrb r0, [r0, 0x3]
- cmp r9, r0
- blt _08035370
-_0803538A:
- ldr r1, [sp]
- cmp r1, 0
- beq _080353B0
- lsls r0, r3, 3
- ldr r2, =gMain
- adds r0, r2
- adds r0, 0x39
- ldrb r2, [r0]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- b _080353C6
- .pool
-_080353B0:
- lsls r2, r3, 3
- ldr r4, =gMain
- adds r2, r4
- adds r2, 0x39
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
-_080353C6:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80352C0
-
- thumb_func_start sub_80353DC
-sub_80353DC: @ 80353DC
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- cmp r0, 0
- beq _0803546E
- ldr r2, [r0, 0x4]
- lsls r1, r4, 3
- subs r0, r1, r4
- lsls r0, 2
- adds r2, r0, r2
- ldrb r0, [r2]
- adds r5, r1, 0
- cmp r0, 0
- beq _0803546E
- ldrb r3, [r2, 0x3]
- adds r0, r3, 0x1
- ldrb r2, [r2, 0x1]
- cmp r0, 0
- beq _08035426
- ldr r1, =gMain
- movs r7, 0x4
- negs r7, r7
- movs r6, 0x2
- adds r3, r0, 0
- lsls r0, r2, 3
- adds r0, 0x39
- adds r2, r0, r1
-_08035414:
- ldrb r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- orrs r0, r6
- strb r0, [r2]
- subs r3, 0x1
- adds r2, 0x8
- cmp r3, 0
- bne _08035414
-_08035426:
- adds r0, r4, 0
- bl sub_8035570
- cmp r0, 0
- bne _08035442
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- subs r0, r5, r4
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x10]
- bl FreeSpriteTilesByTag
-_08035442:
- adds r0, r4, 0
- bl sub_80355B4
- cmp r0, 0
- bne _0803545E
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- subs r0, r5, r4
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x12]
- bl FreeSpritePaletteByTag
-_0803545E:
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- subs r0, r5, r4
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_0803546E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80353DC
-
- thumb_func_start sub_803547C
-sub_803547C: @ 803547C
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, =gUnknown_02022E10
- ldr r1, [r0]
- adds r7, r0, 0
- cmp r1, 0
- beq _0803550C
- ldr r2, [r1, 0x4]
- lsls r1, r4, 3
- subs r0, r1, r4
- lsls r0, 2
- adds r2, r0, r2
- ldrb r0, [r2]
- adds r6, r1, 0
- cmp r0, 0
- beq _0803550C
- ldrb r3, [r2, 0x3]
- adds r1, r3, 0x1
- ldrb r0, [r2, 0x1]
- cmp r5, 0
- beq _080354D8
- cmp r1, 0
- beq _0803550C
- ldr r1, =gMain
- movs r5, 0x4
- negs r5, r5
- movs r4, 0x2
- adds r3, 0x1
- lsls r0, 3
- adds r0, 0x39
- adds r2, r0, r1
-_080354BC:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- orrs r0, r4
- strb r0, [r2]
- subs r3, 0x1
- adds r2, 0x8
- cmp r3, 0
- bne _080354BC
- b _0803550C
- .pool
-_080354D8:
- cmp r1, 0
- beq _080354FA
- ldr r1, =gMain
- movs r5, 0x4
- negs r5, r5
- adds r3, 0x1
- lsls r0, 3
- adds r0, 0x39
- adds r2, r0, r1
-_080354EA:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2]
- subs r3, 0x1
- adds r2, 0x8
- cmp r3, 0
- bne _080354EA
-_080354FA:
- ldr r0, [r7]
- ldr r1, [r0, 0x4]
- subs r0, r6, r4
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0, 0x18]
- adds r0, r4, 0
- bl sub_8035044
-_0803550C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_803547C
-
- thumb_func_start sub_8035518
-sub_8035518: @ 8035518
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0x40
- movs r3, 0
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r2, [r0]
- cmp r3, r2
- bcs _0803555A
- ldr r1, [r0, 0x4]
-_0803552E:
- ldrb r0, [r1]
- cmp r0, 0
- bne _08035548
- ldrb r0, [r1, 0x1]
- cmp r0, 0xFF
- beq _08035552
- ldrb r0, [r1, 0x3]
- cmp r0, r4
- bhi _08035552
- ldrb r0, [r1, 0x1]
- b _0803556A
- .pool
-_08035548:
- adds r0, r5, 0x1
- ldrb r5, [r1, 0x3]
- adds r0, r5
- lsls r0, 16
- lsrs r5, r0, 16
-_08035552:
- adds r1, 0x1C
- adds r3, 0x1
- cmp r3, r2
- bcc _0803552E
-_0803555A:
- adds r0, r5, r4
- adds r0, 0x1
- cmp r0, 0x80
- bgt _08035568
- lsls r0, r5, 24
- lsrs r0, 24
- b _0803556A
-_08035568:
- movs r0, 0xFF
-_0803556A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8035518
-
- thumb_func_start sub_8035570
-sub_8035570: @ 8035570
- push {r4-r6,lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r4, [r0]
- cmp r2, r4
- bcs _080355AC
- ldr r1, [r0, 0x4]
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- adds r5, r0, r1
-_0803558A:
- ldrb r0, [r1]
- cmp r0, 0
- beq _080355A4
- cmp r2, r3
- beq _080355A4
- ldrh r0, [r1, 0x10]
- ldrh r6, [r5, 0x10]
- cmp r0, r6
- bne _080355A4
- movs r0, 0x1
- b _080355AE
- .pool
-_080355A4:
- adds r1, 0x1C
- adds r2, 0x1
- cmp r2, r4
- bcc _0803558A
-_080355AC:
- movs r0, 0
-_080355AE:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8035570
-
- thumb_func_start sub_80355B4
-sub_80355B4: @ 80355B4
- push {r4-r6,lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r4, [r0]
- cmp r2, r4
- bcs _080355F0
- ldr r1, [r0, 0x4]
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- adds r5, r0, r1
-_080355CE:
- ldrb r0, [r1]
- cmp r0, 0
- beq _080355E8
- cmp r2, r3
- beq _080355E8
- ldrh r0, [r1, 0x12]
- ldrh r6, [r5, 0x12]
- cmp r0, r6
- bne _080355E8
- movs r0, 0x1
- b _080355F2
- .pool
-_080355E8:
- adds r1, 0x1C
- adds r2, 0x1
- cmp r2, r4
- bcc _080355CE
-_080355F0:
- movs r0, 0
-_080355F2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80355B4
-
- thumb_func_start sub_80355F8
-sub_80355F8: @ 80355F8
- ldr r2, =gUnknown_082FF1C8
- lsls r0, 2
- adds r1, r0
- adds r1, r2
- ldrb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80355F8
-
- thumb_func_start sub_8035608
-sub_8035608: @ 8035608
- push {lr}
- bl ResetSpriteData
- ldr r0, =gUnknown_0831AC88
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r0, =sub_8035648
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8035608
-
- thumb_func_start sub_8035648
-sub_8035648: @ 8035648
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8035648
-
- .align 2, 0 @ Don't pad with nop.