summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorgolem galvanize <golemgalvanize@github.com>2018-12-13 00:31:06 -0500
committergolem galvanize <golemgalvanize@github.com>2018-12-13 00:31:06 -0500
commit6748ef72fb31e1b0af250472a34e50cb3966c5f8 (patch)
treef6dafca53a0e45e5a2a6cdb262a2766f2bde8753 /asm
parent2265d49ac2e8868e0b3362f8e7a4d22355eed202 (diff)
parent170b6ef44992f4b7decb31451a3756b6bd4e2d46 (diff)
Merge branch 'master' of https://github.com/pret/pokeemerald into decompile_party_menu
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_intro.s2035
-rw-r--r--asm/cable_car.s2882
-rw-r--r--asm/field_screen.s10509
-rw-r--r--asm/fire.s2397
-rw-r--r--asm/ghost.s3251
-rw-r--r--asm/ice.s4
-rw-r--r--asm/macros/event.inc2
-rw-r--r--asm/roulette_util.s1431
8 files changed, 3 insertions, 22508 deletions
diff --git a/asm/battle_intro.s b/asm/battle_intro.s
deleted file mode 100644
index 04a0301ce..000000000
--- a/asm/battle_intro.s
+++ /dev/null
@@ -1,2035 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start SetAnimBgAttribute
-SetAnimBgAttribute: @ 811802C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r6, 0x3
- bls _08118040
- b _08118132
-_08118040:
- ldr r0, =gUnknown_0859741A
- adds r0, r6, r0
- ldrb r0, [r0]
- bl GetGpuReg
- ldr r1, =gUnknown_0203A114
- strh r0, [r1]
- cmp r5, 0x6
- bhi _08118124
- lsls r0, r5, 2
- ldr r1, =_08118068
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08118068:
- .4byte _08118084
- .4byte _08118098
- .4byte _081180B0
- .4byte _081180C8
- .4byte _081180E0
- .4byte _081180FC
- .4byte _08118110
-_08118084:
- ldr r2, =gUnknown_0203A114
- lsls r3, r4, 6
- ldrb r1, [r2, 0x1]
- movs r0, 0x3F
- ands r0, r1
- orrs r0, r3
- strb r0, [r2, 0x1]
- b _08118124
- .pool
-_08118098:
- ldr r3, =gUnknown_0203A114
- movs r0, 0x1
- adds r1, r4, 0
- ands r1, r0
- lsls r1, 5
- ldrb r2, [r3, 0x1]
- movs r0, 0x21
- negs r0, r0
- b _0811811E
- .pool
-_081180B0:
- ldr r3, =gUnknown_0203A114
- movs r0, 0x1
- adds r1, r4, 0
- ands r1, r0
- lsls r1, 6
- ldrb r2, [r3]
- movs r0, 0x41
- negs r0, r0
- b _081180EE
- .pool
-_081180C8:
- ldr r3, =gUnknown_0203A114
- movs r0, 0x3
- adds r1, r4, 0
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0xD
- negs r0, r0
- b _081180EE
- .pool
-_081180E0:
- ldr r3, =gUnknown_0203A114
- movs r0, 0x3
- adds r1, r4, 0
- ands r1, r0
- ldrb r2, [r3]
- movs r0, 0x4
- negs r0, r0
-_081180EE:
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _08118124
- .pool
-_081180FC:
- ldr r2, =gUnknown_0203A114
- lsls r3, r4, 7
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
- b _08118124
- .pool
-_08118110:
- ldr r3, =gUnknown_0203A114
- movs r0, 0x1F
- adds r1, r4, 0
- ands r1, r0
- ldrb r2, [r3, 0x1]
- movs r0, 0x20
- negs r0, r0
-_0811811E:
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x1]
-_08118124:
- ldr r0, =gUnknown_0859741A
- adds r0, r6, r0
- ldrb r0, [r0]
- ldr r1, =gUnknown_0203A114
- ldrh r1, [r1]
- bl SetGpuReg
-_08118132:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetAnimBgAttribute
-
- thumb_func_start GetAnimBgAttribute
-GetAnimBgAttribute: @ 8118140
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r2, 0x3
- bhi _081181C8
- ldr r0, =gUnknown_0859741E
- adds r0, r2, r0
- ldrb r0, [r0]
- bl GetGpuReg
- mov r1, sp
- strh r0, [r1]
- cmp r4, 0x6
- bhi _081181C8
- lsls r0, r4, 2
- ldr r1, =_08118174
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08118174:
- .4byte _08118190
- .4byte _08118198
- .4byte _081181A0
- .4byte _081181A8
- .4byte _081181B0
- .4byte _081181B8
- .4byte _081181C0
-_08118190:
- ldr r0, [sp]
- lsls r0, 16
- lsrs r0, 30
- b _081181CA
-_08118198:
- ldr r0, [sp]
- lsls r0, 18
- lsrs r0, 31
- b _081181CA
-_081181A0:
- ldr r0, [sp]
- lsls r0, 25
- lsrs r0, 31
- b _081181CA
-_081181A8:
- ldr r0, [sp]
- lsls r0, 28
- lsrs r0, 30
- b _081181CA
-_081181B0:
- ldr r0, [sp]
- lsls r0, 30
- lsrs r0, 30
- b _081181CA
-_081181B8:
- ldr r0, [sp]
- lsls r0, 24
- lsrs r0, 31
- b _081181CA
-_081181C0:
- ldr r0, [sp]
- lsls r0, 19
- lsrs r0, 27
- b _081181CA
-_081181C8:
- movs r0, 0
-_081181CA:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetAnimBgAttribute
-
- thumb_func_start HandleIntroSlide
-HandleIntroSlide: @ 81181D4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, =gBattleTypeFlags
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 15
- ands r0, r1
- cmp r0, 0
- beq _08118208
- ldr r0, =gPartnerTrainerId
- ldrh r1, [r0]
- ldr r0, =0x00000c03
- cmp r1, r0
- beq _08118208
- ldr r0, =sub_8118D68
- b _08118258
- .pool
-_08118208:
- ldr r2, [r2]
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _0811821C
- ldr r0, =task00_battle_intro_wireless
- b _08118258
- .pool
-_0811821C:
- ldr r0, =0x003f0100
- ands r0, r2
- cmp r0, 0
- beq _08118230
- ldr r0, =task_battle_intro_anim
- b _08118258
- .pool
-_08118230:
- movs r0, 0x80
- lsls r0, 5
- ands r2, r0
- cmp r2, 0
- beq _08118250
- ldr r0, =gGameVersion
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08118250
- movs r4, 0x3
- ldr r0, =task00_battle_intro_80BC6C8
- b _08118258
- .pool
-_08118250:
- ldr r1, =gUnknown_08597424
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
-_08118258:
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x8]
- strh r4, [r1, 0xA]
- strh r0, [r1, 0xC]
- strh r0, [r1, 0xE]
- strh r0, [r1, 0x10]
- strh r0, [r1, 0x12]
- strh r0, [r1, 0x14]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end HandleIntroSlide
-
- thumb_func_start sub_811828C
-sub_811828C: @ 811828C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- ldr r0, =gBattle_BG1_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG1_Y
- strh r1, [r0]
- ldr r0, =gBattle_BG2_X
- strh r1, [r0]
- ldr r0, =gBattle_BG2_Y
- strh r1, [r0]
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r4, =0x00003f3f
- movs r0, 0x48
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x4A
- adds r1, r4, 0
- bl SetGpuReg
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811828C
-
- thumb_func_start task_battle_intro_80BC47C
-task_battle_intro_80BC47C: @ 81182EC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gBattle_BG1_X
- ldrh r0, [r1]
- adds r0, 0x6
- strh r0, [r1]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- mov r8, r1
- cmp r0, 0x4
- bls _08118318
- b _0811852A
-_08118318:
- lsls r0, 2
- ldr r1, =_08118330
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08118330:
- .4byte _08118344
- .4byte _08118374
- .4byte _0811839C
- .4byte _081183E4
- .4byte _08118524
-_08118344:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08118360
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- add r0, r8
- movs r1, 0x10
- b _0811836A
- .pool
-_08118360:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- add r0, r8
- movs r1, 0x1
-_0811836A:
- strh r1, [r0, 0xC]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _0811852A
-_08118374:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- mov r3, r8
- adds r1, r0, r3
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _0811838C
- b _0811852A
-_0811838C:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- b _0811852A
-_0811839C:
- ldr r1, =gBattle_WIN0V
- ldrh r0, [r1]
- subs r0, 0xFF
- strh r0, [r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 6
- cmp r0, r1
- beq _081183B4
- b _0811852A
-_081183B4:
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- add r1, r8
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xF0
- strh r0, [r1, 0xC]
- movs r0, 0x20
- strh r0, [r1, 0xE]
- ldr r2, =gIntroSlideFlags
- ldrh r1, [r2]
- ldr r0, =0x0000fffe
- ands r0, r1
- strh r0, [r2]
- b _0811852A
- .pool
-_081183E4:
- lsls r0, r4, 2
- adds r1, r0, r4
- lsls r1, 3
- mov r5, r8
- adds r2, r1, r5
- ldrh r3, [r2, 0xE]
- movs r5, 0xE
- ldrsh r1, [r2, r5]
- mov r12, r0
- cmp r1, 0
- beq _08118400
- subs r0, r3, 0x1
- strh r0, [r2, 0xE]
- b _0811842E
-_08118400:
- movs r1, 0xA
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _08118420
- ldr r2, =gBattle_BG1_Y
- ldrh r1, [r2]
- ldr r0, =0x0000ffb0
- cmp r1, r0
- beq _0811842E
- subs r0, r1, 0x2
- b _0811842C
- .pool
-_08118420:
- ldr r2, =gBattle_BG1_Y
- ldrh r1, [r2]
- ldr r0, =0x0000ffc8
- cmp r1, r0
- beq _0811842E
- subs r0, r1, 0x1
-_0811842C:
- strh r0, [r2]
-_0811842E:
- ldr r2, =gBattle_WIN0V
- ldrh r1, [r2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _08118442
- ldr r3, =0xfffffc04
- adds r0, r1, r3
- strh r0, [r2]
-_08118442:
- mov r5, r12
- adds r0, r5, r4
- lsls r0, 3
- mov r2, r8
- adds r1, r0, r2
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0811845A
- subs r0, r2, 0x2
- strh r0, [r1, 0xC]
-_0811845A:
- movs r3, 0
- ldr r5, =gScanlineEffect
- mov r9, r5
- ldr r7, =gScanlineEffectRegBuffers
- mov r6, r9
- adds r5, r1, 0
-_08118466:
- lsls r2, r3, 1
- ldrb r1, [r6, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- ldrh r0, [r5, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x4F
- ble _08118466
- cmp r3, 0x9F
- bgt _081184AA
- ldr r7, =gScanlineEffectRegBuffers
- ldr r6, =gScanlineEffect
- ldr r1, =gTasks
- mov r2, r12
- adds r0, r2, r4
- lsls r0, 3
- adds r5, r0, r1
-_08118490:
- lsls r2, r3, 1
- ldrb r1, [r6, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- ldrh r0, [r5, 0xC]
- negs r0, r0
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x9F
- ble _08118490
-_081184AA:
- mov r3, r12
- adds r0, r3, r4
- lsls r0, 3
- mov r5, r8
- adds r1, r0, r5
- movs r0, 0xC
- ldrsh r2, [r1, r0]
- cmp r2, 0
- bne _0811852A
- movs r0, 0x3
- mov r3, r9
- strb r0, [r3, 0x15]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- str r2, [sp]
- ldr r1, =0x0600e000
- ldr r2, =0x05000200
- mov r0, sp
- bl CpuSet
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r1, 0x9C
- lsls r1, 8
- movs r0, 0xA
- bl SetGpuReg
- movs r1, 0xBC
- lsls r1, 7
- movs r0, 0xC
- bl SetGpuReg
- b _0811852A
- .pool
-_08118524:
- adds r0, r4, 0
- bl sub_811828C
-_0811852A:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end task_battle_intro_80BC47C
-
- thumb_func_start task00_battle_intro_80BC6C8
-task00_battle_intro_80BC6C8: @ 8118538
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0xA
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x3
- beq _08118578
- cmp r0, 0x3
- bgt _08118568
- cmp r0, 0x2
- beq _0811856C
- b _08118580
- .pool
-_08118568:
- cmp r0, 0x4
- bne _08118580
-_0811856C:
- ldr r1, =gBattle_BG1_X
- ldrh r0, [r1]
- adds r0, 0x8
- b _0811857E
- .pool
-_08118578:
- ldr r1, =gBattle_BG1_X
- ldrh r0, [r1]
- adds r0, 0x6
-_0811857E:
- strh r0, [r1]
-_08118580:
- lsls r0, r5, 2
- adds r1, r0, r5
- lsls r1, 3
- adds r4, r1, r2
- movs r3, 0xA
- ldrsh r1, [r4, r3]
- adds r6, r0, 0
- cmp r1, 0x4
- bne _081185E4
- ldr r7, =gBattle_BG1_Y
- ldrh r0, [r4, 0x14]
- bl Cos2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _081185A6
- ldr r1, =0x000001ff
- adds r0, r1
-_081185A6:
- asrs r0, 9
- subs r0, 0x8
- strh r0, [r7]
- ldrh r1, [r4, 0x14]
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r0, 0xB3
- bgt _081185C8
- adds r0, r1, 0x4
- b _081185CA
- .pool
-_081185C8:
- adds r0, r1, 0x6
-_081185CA:
- strh r0, [r4, 0x14]
- ldr r2, =gTasks
- adds r0, r6, r5
- lsls r0, 3
- adds r3, r0, r2
- movs r0, 0x14
- ldrsh r1, [r3, r0]
- movs r0, 0xB4
- lsls r0, 1
- cmp r1, r0
- bne _081185E4
- movs r0, 0
- strh r0, [r3, 0x14]
-_081185E4:
- adds r0, r6, r5
- lsls r0, 3
- adds r0, r2
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x4
- bls _081185F4
- b _0811881A
-_081185F4:
- lsls r0, 2
- ldr r1, =_08118608
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08118608:
- .4byte _0811861C
- .4byte _0811864C
- .4byte _08118678
- .4byte _081186C8
- .4byte _08118814
-_0811861C:
- ldr r1, =gTasks
- adds r0, r6, r5
- lsls r0, 3
- adds r2, r0, r1
- movs r3, 0x10
- strh r3, [r2, 0x10]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08118640
- strh r3, [r2, 0xC]
- b _08118644
- .pool
-_08118640:
- movs r0, 0x1
- strh r0, [r2, 0xC]
-_08118644:
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _0811881A
-_0811864C:
- ldr r0, =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _08118662
- b _0811881A
-_08118662:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- b _0811881A
- .pool
-_08118678:
- ldr r1, =gBattle_WIN0V
- ldrh r0, [r1]
- subs r0, 0xFF
- strh r0, [r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 6
- cmp r0, r1
- beq _08118690
- b _0811881A
-_08118690:
- ldr r0, =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xF0
- strh r0, [r1, 0xC]
- movs r0, 0x20
- strh r0, [r1, 0xE]
- movs r0, 0x1
- strh r0, [r1, 0x12]
- ldr r2, =gIntroSlideFlags
- ldrh r1, [r2]
- ldr r0, =0x0000fffe
- ands r0, r1
- strh r0, [r2]
- b _0811881A
- .pool
-_081186C8:
- ldr r0, =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- ldrh r2, [r1, 0xE]
- movs r3, 0xE
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _08118708
- subs r0, r2, 0x1
- strh r0, [r1, 0xE]
- lsls r0, 16
- cmp r0, 0
- bne _08118728
- ldr r1, =0x00001842
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0xF
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- b _08118728
- .pool
-_08118708:
- ldrh r2, [r1, 0x10]
- movs r0, 0x1F
- ands r0, r2
- cmp r0, 0
- beq _08118728
- ldrh r0, [r1, 0x12]
- subs r0, 0x1
- strh r0, [r1, 0x12]
- lsls r0, 16
- cmp r0, 0
- bne _08118728
- adds r0, r2, 0
- adds r0, 0xFF
- strh r0, [r1, 0x10]
- movs r0, 0x4
- strh r0, [r1, 0x12]
-_08118728:
- ldr r2, =gBattle_WIN0V
- ldrh r1, [r2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _0811873C
- ldr r3, =0xfffffc04
- adds r0, r1, r3
- strh r0, [r2]
-_0811873C:
- ldr r0, =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _08118752
- subs r0, r2, 0x2
- strh r0, [r1, 0xC]
-_08118752:
- movs r3, 0
- ldr r0, =gScanlineEffect
- mov r8, r0
- ldr r2, =gScanlineEffectRegBuffers
- mov r12, r2
- mov r7, r8
- adds r4, r1, 0
-_08118760:
- lsls r2, r3, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- add r2, r12
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x4F
- ble _08118760
- cmp r3, 0x9F
- bgt _081187A4
- ldr r0, =gScanlineEffectRegBuffers
- mov r12, r0
- ldr r7, =gScanlineEffect
- ldr r1, =gTasks
- adds r0, r6, r5
- lsls r0, 3
- adds r4, r0, r1
-_0811878A:
- lsls r2, r3, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- add r2, r12
- ldrh r0, [r4, 0xC]
- negs r0, r0
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x9F
- ble _0811878A
-_081187A4:
- ldr r1, =gTasks
- adds r0, r6, r5
- lsls r0, 3
- adds r1, r0, r1
- movs r3, 0xC
- ldrsh r2, [r1, r3]
- cmp r2, 0
- bne _0811881A
- movs r0, 0x3
- mov r3, r8
- strb r0, [r3, 0x15]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- str r2, [sp]
- ldr r1, =0x0600e000
- ldr r2, =0x05000200
- mov r0, sp
- bl CpuSet
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r1, 0x9C
- lsls r1, 8
- movs r0, 0xA
- bl SetGpuReg
- movs r1, 0xBC
- lsls r1, 7
- movs r0, 0xC
- bl SetGpuReg
- b _0811881A
- .pool
-_08118814:
- adds r0, r5, 0
- bl sub_811828C
-_0811881A:
- ldr r0, =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0x4
- beq _08118832
- ldrh r1, [r1, 0x10]
- movs r0, 0x52
- bl SetGpuReg
-_08118832:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task00_battle_intro_80BC6C8
-
- thumb_func_start task_battle_intro_anim
-task_battle_intro_anim: @ 8118844
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gBattle_BG1_X
- ldrh r0, [r1]
- adds r0, 0x8
- strh r0, [r1]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r4, r1, 0
- cmp r0, 0x4
- bls _0811886E
- b _08118A96
-_0811886E:
- lsls r0, 2
- ldr r1, =_08118884
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08118884:
- .4byte _08118898
- .4byte _081188F0
- .4byte _0811891C
- .4byte _0811896C
- .4byte _08118A90
-_08118898:
- ldr r1, =0x00001842
- movs r0, 0x50
- bl SetGpuReg
- ldr r4, =0x00000808
- movs r0, 0x52
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r2, r0, r1
- strh r4, [r2, 0x10]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- ldr r1, =0x02000002
- ands r0, r1
- cmp r0, 0
- beq _081188E4
- movs r0, 0x10
- b _081188E6
- .pool
-_081188E4:
- movs r0, 0x1
-_081188E6:
- strh r0, [r2, 0xC]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _08118A96
-_081188F0:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _08118908
- b _08118A96
-_08118908:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- b _08118A96
- .pool
-_0811891C:
- ldr r1, =gBattle_WIN0V
- ldrh r0, [r1]
- subs r0, 0xFF
- strh r0, [r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 6
- cmp r0, r1
- beq _08118934
- b _08118A96
-_08118934:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xF0
- strh r0, [r1, 0xC]
- movs r0, 0x20
- strh r0, [r1, 0xE]
- movs r0, 0x1
- strh r0, [r1, 0x12]
- ldr r2, =gIntroSlideFlags
- ldrh r1, [r2]
- ldr r0, =0x0000fffe
- ands r0, r1
- strh r0, [r2]
- b _08118A96
- .pool
-_0811896C:
- lsls r0, r5, 2
- adds r1, r0, r5
- lsls r1, 3
- adds r2, r1, r4
- ldrh r3, [r2, 0xE]
- movs r6, 0xE
- ldrsh r1, [r2, r6]
- mov r12, r0
- cmp r1, 0
- beq _08118986
- subs r0, r3, 0x1
- strh r0, [r2, 0xE]
- b _081189A6
-_08118986:
- ldrh r1, [r2, 0x10]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- beq _081189A6
- ldrh r0, [r2, 0x12]
- subs r0, 0x1
- strh r0, [r2, 0x12]
- lsls r0, 16
- cmp r0, 0
- bne _081189A6
- adds r0, r1, 0
- adds r0, 0xFF
- strh r0, [r2, 0x10]
- movs r0, 0x6
- strh r0, [r2, 0x12]
-_081189A6:
- ldr r2, =gBattle_WIN0V
- ldrh r1, [r2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _081189BA
- ldr r3, =0xfffffc04
- adds r0, r1, r3
- strh r0, [r2]
-_081189BA:
- mov r6, r12
- adds r0, r6, r5
- lsls r0, 3
- adds r1, r0, r4
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _081189D0
- subs r0, r2, 0x2
- strh r0, [r1, 0xC]
-_081189D0:
- movs r3, 0
- ldr r6, =gScanlineEffect
- mov r8, r6
- ldr r7, =gScanlineEffectRegBuffers
- adds r4, r1, 0
-_081189DA:
- lsls r2, r3, 1
- ldrb r1, [r6, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x4F
- ble _081189DA
- cmp r3, 0x9F
- bgt _08118A1E
- ldr r7, =gScanlineEffectRegBuffers
- ldr r6, =gScanlineEffect
- ldr r1, =gTasks
- mov r2, r12
- adds r0, r2, r5
- lsls r0, 3
- adds r4, r0, r1
-_08118A04:
- lsls r2, r3, 1
- ldrb r1, [r6, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- ldrh r0, [r4, 0xC]
- negs r0, r0
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x9F
- ble _08118A04
-_08118A1E:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r1
- movs r3, 0xC
- ldrsh r2, [r1, r3]
- cmp r2, 0
- bne _08118A96
- movs r0, 0x3
- mov r6, r8
- strb r0, [r6, 0x15]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- str r2, [sp]
- ldr r1, =0x0600e000
- ldr r2, =0x05000200
- mov r0, sp
- bl CpuSet
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r1, 0x9C
- lsls r1, 8
- movs r0, 0xA
- bl SetGpuReg
- movs r1, 0xBC
- lsls r1, 7
- movs r0, 0xC
- bl SetGpuReg
- b _08118A96
- .pool
-_08118A90:
- adds r0, r5, 0
- bl sub_811828C
-_08118A96:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0x4
- beq _08118AB0
- ldrh r1, [r1, 0x10]
- movs r0, 0x52
- bl SetGpuReg
-_08118AB0:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_battle_intro_anim
-
- thumb_func_start task00_battle_intro_wireless
-task00_battle_intro_wireless: @ 8118AC0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r7, r0, r1
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- cmp r0, 0x1
- ble _08118B36
- movs r2, 0x10
- ldrsh r0, [r7, r2]
- cmp r0, 0
- bne _08118B36
- ldr r2, =gBattle_BG1_X
- ldrh r1, [r2]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- bne _08118AFE
- cmp r1, 0x4F
- bhi _08118B18
-_08118AFE:
- adds r0, r1, 0x3
- strh r0, [r2]
- ldr r1, =gBattle_BG2_X
- ldrh r0, [r1]
- subs r0, 0x3
- strh r0, [r1]
- b _08118B36
- .pool
-_08118B18:
- str r5, [sp]
- ldr r1, =0x0600e000
- ldr r4, =0x05000200
- mov r0, sp
- adds r2, r4, 0
- bl CpuSet
- str r5, [sp, 0x4]
- add r0, sp, 0x4
- ldr r1, =0x0600f000
- adds r2, r4, 0
- bl CpuSet
- movs r0, 0x1
- strh r0, [r7, 0x10]
-_08118B36:
- ldr r0, =gTasks
- lsls r2, r6, 2
- adds r1, r2, r6
- lsls r1, 3
- adds r1, r0
- movs r3, 0x8
- ldrsh r1, [r1, r3]
- mov r9, r0
- adds r5, r2, 0
- cmp r1, 0x4
- bls _08118B4E
- b _08118D5A
-_08118B4E:
- lsls r0, r1, 2
- ldr r1, =_08118B6C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08118B6C:
- .4byte _08118B80
- .4byte _08118B92
- .4byte _08118C38
- .4byte _08118C7C
- .4byte _08118D54
-_08118B80:
- adds r0, r5, r6
- lsls r0, 3
- add r0, r9
- movs r1, 0x20
- strh r1, [r0, 0xC]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _08118D5A
-_08118B92:
- adds r0, r5, r6
- lsls r0, 3
- mov r2, r9
- adds r1, r0, r2
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _08118BA8
- b _08118D5A
-_08118BA8:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- ldr r4, =gSprites
- ldr r5, =gBattleStruct
- ldr r0, [r5]
- adds r0, 0x7D
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r3, [r1, 0x1]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- movs r3, 0x8
- mov r9, r3
- mov r3, r9
- orrs r0, r3
- strb r0, [r1, 0x1]
- ldr r3, [r5]
- adds r0, r3, 0
- adds r0, 0x7D
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- movs r1, 0x1C
- adds r1, r4
- mov r8, r1
- add r0, r8
- ldr r6, =sub_8038B74
- str r6, [r0]
- adds r3, 0x7E
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x1]
- ands r2, r1
- mov r3, r9
- orrs r2, r3
- strb r2, [r0, 0x1]
- ldr r0, [r5]
- adds r0, 0x7E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- str r6, [r0]
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- ldr r1, =0x00003f06
- movs r0, 0x4A
- bl SetGpuReg
- b _08118D5A
- .pool
-_08118C38:
- ldr r1, =gBattle_WIN0V
- ldrh r0, [r1]
- subs r0, 0xFF
- strh r0, [r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 6
- cmp r0, r1
- beq _08118C50
- b _08118D5A
-_08118C50:
- adds r1, r5, r6
- lsls r1, 3
- add r1, r9
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xF0
- strh r0, [r1, 0xC]
- movs r0, 0x20
- strh r0, [r1, 0xE]
- ldr r2, =gIntroSlideFlags
- ldrh r1, [r2]
- ldr r0, =0x0000fffe
- ands r0, r1
- strh r0, [r2]
- b _08118D5A
- .pool
-_08118C7C:
- ldr r2, =gBattle_WIN0V
- ldrh r1, [r2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _08118C90
- ldr r3, =0xfffffc04
- adds r0, r1, r3
- strh r0, [r2]
-_08118C90:
- adds r0, r5, r6
- lsls r0, 3
- mov r2, r9
- adds r1, r0, r2
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _08118CA6
- subs r0, r2, 0x2
- strh r0, [r1, 0xC]
-_08118CA6:
- movs r3, 0
- ldr r0, =gScanlineEffect
- mov r12, r0
- ldr r2, =gScanlineEffectRegBuffers
- mov r8, r2
- mov r7, r12
- adds r4, r1, 0
-_08118CB4:
- lsls r2, r3, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- add r2, r8
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x4F
- ble _08118CB4
- cmp r3, 0x9F
- bgt _08118CF8
- ldr r0, =gScanlineEffectRegBuffers
- mov r8, r0
- ldr r7, =gScanlineEffect
- ldr r1, =gTasks
- adds r0, r5, r6
- lsls r0, 3
- adds r4, r0, r1
-_08118CDE:
- lsls r2, r3, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- add r2, r8
- ldrh r0, [r4, 0xC]
- negs r0, r0
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x9F
- ble _08118CDE
-_08118CF8:
- adds r0, r5, r6
- lsls r0, 3
- mov r2, r9
- adds r1, r0, r2
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _08118D5A
- movs r0, 0x3
- mov r2, r12
- strb r0, [r2, 0x15]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r1, 0x9C
- lsls r1, 8
- movs r0, 0xA
- bl SetGpuReg
- movs r1, 0xBC
- lsls r1, 7
- movs r0, 0xC
- bl SetGpuReg
- b _08118D5A
- .pool
-_08118D54:
- adds r0, r6, 0
- bl sub_811828C
-_08118D5A:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end task00_battle_intro_wireless
-
- thumb_func_start sub_8118D68
-sub_8118D68: @ 8118D68
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r6, r1, 0
- cmp r0, 0x5
- bls _08118D86
- b _08118FB2
-_08118D86:
- lsls r0, 2
- ldr r1, =_08118D98
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08118D98:
- .4byte _08118DB0
- .4byte _08118DBE
- .4byte _08118E4C
- .4byte _08118EA8
- .4byte _08118F00
- .4byte _08118FAC
-_08118DB0:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r6
- movs r1, 0x1
- strh r1, [r0, 0xC]
- b _08118F84
-_08118DBE:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r6
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _08118DD4
- b _08118FB2
-_08118DD4:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- ldr r1, =0x00005c0a
- movs r0, 0xA
- bl SetGpuReg
- ldr r1, =0x00005e0a
- movs r0, 0xC
- bl SetGpuReg
- movs r0, 0
- bl GetGpuReg
- adds r1, r0, 0
- ldr r2, =0x0000f040
- adds r0, r2, 0
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0
- bl SetGpuReg
- movs r1, 0xF8
- lsls r1, 6
- movs r0, 0x48
- bl SetGpuReg
- ldr r1, =0x00003f3f
- movs r0, 0x4A
- bl SetGpuReg
- ldr r1, =gBattle_BG0_Y
- ldr r2, =0x0000ffd0
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, =gBattle_BG1_X
- movs r0, 0xF0
- strh r0, [r1]
- ldr r1, =gBattle_BG2_X
- subs r2, 0xC0
- adds r0, r2, 0
- strh r0, [r1]
- b _08118FB2
- .pool
-_08118E4C:
- ldr r2, =gBattle_WIN0V
- ldrh r3, [r2]
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1, 0
- adds r1, r3, r0
- strh r1, [r2]
- movs r5, 0xFF
- lsls r5, 8
- ands r1, r5
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- beq _08118E6E
- adds r0, r3, 0
- adds r0, 0xFF
- strh r0, [r2]
-_08118E6E:
- ldrh r0, [r2]
- adds r1, r5, 0
- ands r1, r0
- movs r0, 0x80
- lsls r0, 6
- cmp r1, r0
- beq _08118E7E
- b _08118FB2
-_08118E7E:
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r6
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xF0
- strh r0, [r1, 0xC]
- ldr r2, =gIntroSlideFlags
- ldrh r1, [r2]
- ldr r0, =0x0000fffe
- ands r0, r1
- strh r0, [r2]
- b _08118FB2
- .pool
-_08118EA8:
- ldr r3, =gBattle_WIN0V
- ldrh r2, [r3]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r2
- movs r1, 0x98
- lsls r1, 7
- cmp r0, r1
- beq _08118EC2
- movs r1, 0xFF
- lsls r1, 2
- adds r0, r2, r1
- strh r0, [r3]
-_08118EC2:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r3, r0, r6
- ldrh r1, [r3, 0xC]
- movs r2, 0xC
- ldrsh r0, [r3, r2]
- cmp r0, 0
- beq _08118ED8
- subs r0, r1, 0x2
- strh r0, [r3, 0xC]
-_08118ED8:
- ldr r1, =gBattle_BG1_X
- ldrh r0, [r3, 0xC]
- strh r0, [r1]
- ldr r2, =gBattle_BG2_X
- negs r1, r0
- strh r1, [r2]
- lsls r0, 16
- cmp r0, 0
- bne _08118FB2
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
- b _08118FB2
- .pool
-_08118F00:
- ldr r1, =gBattle_BG0_Y
- ldrh r0, [r1]
- adds r3, r0, 0x2
- strh r3, [r1]
- ldr r1, =gBattle_BG2_Y
- ldrh r0, [r1]
- adds r0, 0x2
- strh r0, [r1]
- ldr r5, =gBattle_WIN0V
- ldrh r2, [r5]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r2
- movs r1, 0xA0
- lsls r1, 7
- cmp r0, r1
- beq _08118F28
- adds r0, r2, 0
- adds r0, 0xFF
- strh r0, [r5]
-_08118F28:
- lsls r0, r3, 16
- lsrs r0, 16
- cmp r0, 0
- bne _08118FB2
- str r0, [sp]
- ldr r1, =0x0600e000
- ldr r2, =0x05000800
- mov r0, sp
- bl CpuSet
- movs r0, 0
- bl GetGpuReg
- ldr r1, =0x0000bfff
- ands r1, r0
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r1, 0x9C
- lsls r1, 8
- movs r0, 0xA
- bl SetGpuReg
- movs r1, 0xBC
- lsls r1, 7
- movs r0, 0xC
- bl SetGpuReg
- ldr r1, =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
-_08118F84:
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _08118FB2
- .pool
-_08118FAC:
- adds r0, r4, 0
- bl sub_811828C
-_08118FB2:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8118D68
-
- thumb_func_start sub_8118FBC
-sub_8118FBC: @ 8118FBC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- str r0, [sp]
- adds r6, r2, 0
- adds r4, r3, 0
- ldr r0, [sp, 0x24]
- ldr r7, [sp, 0x28]
- ldr r2, [sp, 0x2C]
- mov r9, r2
- ldr r5, [sp, 0x30]
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gMonSpritesGfxPtr
- ldr r2, [r1]
- lsls r4, 2
- adds r2, 0x4
- adds r2, r4
- ldr r1, =gBattleMonForms
- adds r0, r1
- ldrb r1, [r0]
- lsls r1, 11
- ldr r0, [r2]
- adds r0, r1
- movs r2, 0x80
- lsls r2, 3
- adds r1, r7, 0
- bl CpuSet
- ldr r1, [sp]
- lsls r0, r1, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 5
- adds r1, r7, 0
- adds r3, r5, 0
- bl LoadBgTiles
- adds r0, r6, 0
- adds r0, 0x8
- cmp r6, r0
- bge _08119068
- mov r12, r0
- mov r2, r8
- lsls r7, r2, 1
-_0811903A:
- mov r1, r8
- adds r2, r1, 0
- adds r2, 0x8
- adds r4, r6, 0x1
- cmp r1, r2
- bge _08119062
- mov r0, r10
- lsls r3, r0, 12
- lsls r0, r6, 6
- add r0, r9
- adds r6, r7, r0
- subs r1, r2, r1
-_08119052:
- adds r0, r5, 0
- orrs r0, r3
- strh r0, [r6]
- adds r5, 0x1
- adds r6, 0x2
- subs r1, 0x1
- cmp r1, 0
- bne _08119052
-_08119062:
- adds r6, r4, 0
- cmp r6, r12
- blt _0811903A
-_08119068:
- ldr r1, [sp]
- lsls r0, r1, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 4
- mov r1, r9
- movs r3, 0
- bl LoadBgTilemap
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8118FBC
-
- thumb_func_start sub_8119094
-sub_8119094: @ 8119094
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r4, [sp, 0x24]
- ldr r5, [sp, 0x28]
- mov r8, r5
- ldr r5, [sp, 0x2C]
- ldr r6, [sp, 0x30]
- mov r9, r6
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- lsls r1, 24
- lsls r2, 24
- lsls r3, 24
- lsls r4, 24
- lsrs r4, 24
- mov r10, r4
- mov r7, r8
- lsls r7, 16
- lsrs r6, r7, 16
- lsls r5, 24
- lsrs r5, 24
- mov r0, r9
- lsls r0, 24
- mov r9, r0
- ldr r4, =0x040000d4
- ldr r0, =gMonSpritesGfxPtr
- ldr r0, [r0]
- lsrs r2, 22
- adds r0, 0x4
- adds r0, r2
- lsrs r3, 13
- ldr r0, [r0]
- adds r0, r3
- str r0, [r4]
- movs r0, 0xC0
- lsls r0, 19
- adds r6, r0
- str r6, [r4, 0x4]
- ldr r0, =0x80000400
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- adds r2, r7, 0
- lsrs r2, 21
- mov r6, r9
- lsrs r6, 15
- subs r4, r2, r6
- lsrs r0, r1, 24
- adds r1, r0, 0
- adds r1, 0x8
- cmp r0, r1
- bge _08119148
- mov r9, r1
- mov r7, r12
- lsls r7, 1
- mov r8, r7
- lsls r5, 11
- str r5, [sp]
-_08119110:
- mov r2, r12
- adds r3, r2, 0
- adds r3, 0x8
- adds r5, r0, 0x1
- cmp r2, r3
- bge _08119142
- mov r1, r10
- lsls r6, r1, 12
- lsls r0, 6
- movs r7, 0xC0
- lsls r7, 19
- adds r0, r7
- ldr r1, [sp]
- adds r0, r1, r0
- mov r7, r8
- adds r1, r7, r0
- subs r2, r3, r2
-_08119132:
- adds r0, r4, 0
- orrs r0, r6
- strh r0, [r1]
- adds r4, 0x1
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _08119132
-_08119142:
- adds r0, r5, 0
- cmp r0, r9
- blt _08119110
-_08119148:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8119094
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/cable_car.s b/asm/cable_car.s
deleted file mode 100644
index 276b878e2..000000000
--- a/asm/cable_car.s
+++ /dev/null
@@ -1,2882 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_814FC70
-sub_814FC70: @ 814FC70
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0814FC8E
- ldr r0, =sub_814FCC8
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_0814FC8E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814FC70
-
- thumb_func_start sub_814FC9C
-sub_814FC9C: @ 814FC9C
- push {lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- ldr r0, =sub_814FC70
- movs r1, 0x1
- bl CreateTask
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814FC9C
-
- thumb_func_start sub_814FCC8
-sub_814FCC8: @ 814FCC8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x18
- movs r4, 0
- str r4, [sp, 0x14]
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r6, r1, 0
- cmp r0, 0x9
- bhi _0814FD20
- lsls r0, 2
- ldr r1, =_0814FCF8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0814FCF8:
- .4byte _0814FD20
- .4byte _0814FDD8
- .4byte _0814FE90
- .4byte _0814FF50
- .4byte _0814FF7C
- .4byte _0814FF98
- .4byte _0814FFF8
- .4byte _08150090
- .4byte _08150190
- .4byte _081501C8
-_0814FD20:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl sub_8150B6C
- bl ScanlineEffect_Stop
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r0, sp, 0x10
- mov r9, r0
- add r2, sp, 0xC
- movs r6, 0
- ldr r1, =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r8, r0
-_0814FD4E:
- strh r6, [r2]
- add r0, sp, 0xC
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _0814FD4E
- strh r6, [r2]
- add r2, sp, 0xC
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r3, r8
- orrs r0, r3
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x10]
- ldr r2, =0x040000d4
- mov r1, r9
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- add r0, sp, 0xC
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r4, =gUnknown_0203ABAC
- ldr r0, =0x00004110
- bl AllocZeroed
- str r0, [r4]
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- b _08150224
- .pool
-_0814FDD8:
- bl ResetSpriteData
- bl ResetTasks
- bl FreeAllSpritePalettes
- bl ResetPaletteFade
- bl reset_temp_tile_data_buffers
- bl sub_80AAFA4
- movs r4, 0
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xF0
- movs r2, 0
-_0814FDFC:
- lsls r0, r4, 2
- adds r0, r1, r0
- str r2, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x13
- bls _0814FDFC
- bl InitMapMusic
- bl ResetMapMusic
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085CD66C
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r4, =gUnknown_0203ABAC
- ldr r1, [r4]
- adds r1, 0xFC
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r3, =0x000010fc
- adds r1, r3
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x000020fc
- adds r1, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r2, =0x000030fc
- adds r1, r2
- movs r0, 0x3
- bl SetBgTilemapBuffer
- ldr r2, =gSpriteCoordOffsetX
- ldr r1, =gSpriteCoordOffsetY
- movs r0, 0
- strh r0, [r1]
- strh r0, [r2]
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- b _08150224
- .pool
-_0814FE90:
- movs r4, 0
- add r5, sp, 0x14
- ldr r6, =gUnknown_085CDB54
-_0814FE96:
- lsls r0, r4, 3
- adds r0, r6
- bl LoadCompressedObjectPic
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _0814FE96
- ldr r0, =gUnknown_085CDB74
- bl LoadSpritePalettes
- ldr r0, =gCableCarMtChimneyTilemap
- adds r1, r5, 0
- bl malloc_and_decompress
- ldr r4, =gUnknown_0203ABAC
- ldr r1, [r4]
- ldr r2, =0x000040fc
- adds r1, r2
- str r0, [r1]
- ldr r0, =gCableCarTreeTilemap
- adds r1, r5, 0
- bl malloc_and_decompress
- ldr r1, [r4]
- movs r3, 0x82
- lsls r3, 7
- adds r1, r3
- str r0, [r1]
- ldr r0, =gCableCarMountainTilemap
- adds r1, r5, 0
- bl malloc_and_decompress
- ldr r1, [r4]
- ldr r2, =0x00004104
- adds r1, r2
- str r0, [r1]
- ldr r0, =gCableCarPylonStemTilemap
- adds r1, r5, 0
- bl malloc_and_decompress
- ldr r1, [r4]
- ldr r3, =0x0000410c
- adds r2, r1, r3
- str r0, [r2]
- ldr r0, =0x00004108
- adds r1, r0
- ldr r0, =gCableCarPylonHookTilemapEntries
- str r0, [r1]
- ldr r1, =gUnknown_08DBA5B8
- movs r0, 0
- str r0, [sp]
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- b _08150224
- .pool
-_0814FF50:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- cmp r0, 0
- beq _0814FF5C
- b _08150226
-_0814FF5C:
- ldr r0, =gUnknown_08DBA518
- movs r1, 0
- movs r2, 0x80
- bl LoadPalette
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- b _08150224
- .pool
-_0814FF7C:
- bl sub_8150D28
- bl RunTasks
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- b _08150224
- .pool
-_0814FF98:
- ldr r0, =gUnknown_0203ABAC
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- cmp r0, 0x7
- bne _0814FFB4
- movs r2, 0x87
- lsls r2, 3
- adds r1, r6, r2
- ldrb r0, [r1]
- adds r0, 0x1
- b _08150224
- .pool
-_0814FFB4:
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xF0
- ldr r0, [r1]
- cmp r0, 0
- bne _0814FFC4
- b _08150226
-_0814FFC4:
- movs r4, 0
- adds r3, r1, 0
- movs r5, 0xD
- negs r5, r5
-_0814FFCC:
- lsls r0, r4, 2
- adds r0, r3, r0
- ldr r2, [r0]
- cmp r2, 0
- beq _0814FFDE
- ldrb r1, [r2, 0x5]
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2, 0x5]
-_0814FFDE:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x13
- bls _0814FFCC
- movs r3, 0x87
- lsls r3, 3
- adds r1, r6, r3
- ldrb r0, [r1]
- adds r0, 0x1
- b _08150224
- .pool
-_0814FFF8:
- ldr r6, =gUnknown_0203ABAC
- ldr r0, [r6]
- movs r1, 0x82
- lsls r1, 7
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0xF
- str r0, [sp, 0x4]
- movs r5, 0x11
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0x11
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r0, [r6]
- ldr r2, =0x00004104
- adds r0, r2
- ldr r1, [r0]
- movs r0, 0x1E
- str r0, [sp]
- movs r3, 0x14
- mov r8, r3
- str r3, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r0, [r6]
- ldr r1, =0x00004108
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x5
- str r0, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r0, [r6]
- ldr r2, =0x0000410c
- adds r0, r2
- ldr r1, [r0]
- str r4, [sp]
- mov r3, r8
- str r3, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0x2
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- b _08150224
- .pool
-_08150090:
- ldr r0, =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl sub_81514C8
- ldr r1, =gUnknown_0203ABAC
- mov r9, r1
- ldr r0, [r1]
- ldr r2, =0x000040fc
- mov r8, r2
- add r0, r8
- ldr r1, [r0]
- adds r1, 0x90
- movs r6, 0xC
- str r6, [sp]
- movs r5, 0x3
- str r5, [sp, 0x4]
- movs r4, 0x11
- str r4, [sp, 0x8]
- movs r0, 0
- movs r2, 0
- movs r3, 0xE
- bl CopyToBgTilemapBufferRect_ChangePalette
- mov r3, r9
- ldr r0, [r3]
- add r0, r8
- ldr r1, [r0]
- adds r1, 0xD8
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r2, 0xC
- movs r3, 0x11
- bl CopyToBgTilemapBufferRect_ChangePalette
- mov r1, r9
- ldr r0, [r1]
- add r0, r8
- ldr r1, [r0]
- movs r2, 0x90
- lsls r2, 1
- adds r1, r2
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r2, 0x18
- movs r3, 0x14
- bl CopyToBgTilemapBufferRect_ChangePalette
- mov r3, r9
- ldr r0, [r3]
- add r0, r8
- ldr r1, [r0]
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r2, 0
- movs r3, 0x11
- bl CopyToBgTilemapBufferRect_ChangePalette
- mov r1, r9
- ldr r0, [r1]
- add r0, r8
- ldr r1, [r0]
- adds r1, 0x48
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r2, 0
- movs r3, 0x14
- bl CopyToBgTilemapBufferRect_ChangePalette
- mov r2, r9
- ldr r0, [r2]
- add r0, r8
- ldr r1, [r0]
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r2, 0xC
- movs r3, 0x14
- bl CopyToBgTilemapBufferRect_ChangePalette
- mov r3, r9
- ldr r0, [r3]
- add r0, r8
- ldr r1, [r0]
- adds r1, 0x48
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r2, 0xC
- movs r3, 0x17
- bl CopyToBgTilemapBufferRect_ChangePalette
- mov r1, r9
- ldr r0, [r1]
- add r0, r8
- ldr r1, [r0]
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r2, 0x18
- movs r3, 0x17
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- b _08150224
- .pool
-_08150190:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x3
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =0x000001a9
- movs r1, 0x1
- bl FadeInNewBGM
- movs r0, 0x1
- bl sub_8150B6C
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- b _08150224
- .pool
-_081501C8:
- ldr r3, =0x04000208
- ldrh r2, [r3]
- movs r0, 0
- strh r0, [r3]
- ldr r4, =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r0, =sub_8150800
- bl SetVBlankCallback
- ldr r0, =mainloop
- bl SetMainCallback2
- ldr r0, =sub_81503E4
- movs r1, 0
- bl CreateTask
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _08150218
- ldr r0, =sub_8150550
- b _0815021A
- .pool
-_08150218:
- ldr r0, =sub_8150664
-_0815021A:
- movs r1, 0x1
- bl CreateTask
- ldr r1, =gUnknown_0203ABAC
- ldr r1, [r1]
-_08150224:
- strb r0, [r1]
-_08150226:
- add sp, 0x18
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814FCC8
-
- thumb_func_start mainloop
-mainloop: @ 815023C
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- bl MapMusicMain
- pop {r0}
- bx r0
- thumb_func_end mainloop
-
- thumb_func_start c2_8011A1C
-c2_8011A1C: @ 8150258
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r4, 0
- movs r0, 0
- bl HideBg
- movs r0, 0x1
- bl HideBg
- movs r0, 0x2
- bl HideBg
- movs r0, 0x3
- bl HideBg
- movs r0, 0
- bl sub_8150B6C
- ldr r0, =gSpriteCoordOffsetX
- strh r4, [r0]
- movs r0, 0
- bl sub_80AB130
- add r0, sp, 0x4
- mov r8, r0
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xF0
- movs r2, 0
-_08150298:
- lsls r0, r4, 2
- adds r0, r1, r0
- str r2, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x13
- bls _08150298
- bl ResetTasks
- bl ResetSpriteData
- bl ResetPaletteFade
- movs r0, 0
- bl UnsetBgTilemapBuffer
- movs r0, 0x1
- bl UnsetBgTilemapBuffer
- movs r0, 0x2
- bl UnsetBgTilemapBuffer
- movs r0, 0x3
- bl UnsetBgTilemapBuffer
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r6, =gUnknown_0203ABAC
- ldr r0, [r6]
- ldr r2, =0x00004108
- adds r1, r0, r2
- movs r5, 0
- str r5, [r1]
- ldr r4, =0x0000410c
- adds r0, r4
- ldr r0, [r0]
- bl Free
- ldr r0, [r6]
- adds r4, r0, r4
- str r5, [r4]
- ldr r4, =0x00004104
- adds r0, r4
- ldr r0, [r0]
- bl Free
- ldr r0, [r6]
- adds r4, r0, r4
- str r5, [r4]
- movs r4, 0x82
- lsls r4, 7
- adds r0, r4
- ldr r0, [r0]
- bl Free
- ldr r0, [r6]
- adds r4, r0, r4
- str r5, [r4]
- ldr r4, =0x000040fc
- adds r0, r4
- ldr r0, [r0]
- bl Free
- ldr r0, [r6]
- adds r4, r0, r4
- str r5, [r4]
- bl Free
- str r5, [r6]
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- mov r4, sp
- movs r6, 0
- ldr r1, =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_08150340:
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r5
- subs r3, r5
- cmp r3, r5
- bhi _08150340
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r2, =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- mov r0, sp
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- bl WarpIntoMap
- ldr r0, =gFieldCallback
- str r4, [r0]
- ldr r0, =CB2_LoadMap
- bl SetMainCallback2
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_8011A1C
-
- thumb_func_start sub_81503E4
-sub_81503E4: @ 81503E4
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- ldr r5, =gUnknown_0203ABAC
- ldr r3, [r5]
- ldrh r0, [r3, 0x6]
- adds r0, 0x1
- strh r0, [r3, 0x6]
- ldrb r2, [r3, 0x1]
- adds r7, r5, 0
- cmp r2, 0x2
- beq _081504EA
- cmp r2, 0x2
- bgt _08150414
- cmp r2, 0
- beq _08150422
- cmp r2, 0x1
- beq _0815043C
- b _08150542
- .pool
-_08150414:
- cmp r2, 0x3
- bne _0815041A
- b _08150510
-_0815041A:
- cmp r2, 0xFF
- bne _08150420
- b _08150528
-_08150420:
- b _08150542
-_08150422:
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r3, 0x4]
- cmp r0, r1
- beq _0815042E
- b _08150542
-_0815042E:
- ldrb r0, [r3, 0x2]
- bl weather_set
- ldr r1, [r5]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- b _08150542
-_0815043C:
- ldrb r0, [r3, 0x2]
- cmp r0, 0x2
- beq _08150490
- cmp r0, 0x7
- beq _08150448
- b _08150542
-_08150448:
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- adds r2, r0, 0
- adds r2, 0xF0
- ldr r0, [r2]
- cmp r0, 0
- beq _08150542
- ldrb r1, [r0, 0x5]
- movs r0, 0xC
- ands r0, r1
- cmp r0, 0
- beq _08150542
- adds r3, r2, 0
- movs r5, 0xD
- negs r5, r5
-_08150466:
- lsls r0, r4, 2
- adds r0, r3, r0
- ldr r2, [r0]
- cmp r2, 0
- beq _08150478
- ldrb r1, [r2, 0x5]
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2, 0x5]
-_08150478:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x13
- bls _08150466
- ldr r1, [r7]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- b _08150542
- .pool
-_08150490:
- ldr r0, =gUnknown_0854C14C
- ldr r2, [r0]
- movs r1, 0xDA
- lsls r1, 3
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _081504A8
- strb r0, [r3, 0x1]
- b _08150542
- .pool
-_081504A8:
- ldrh r1, [r3, 0x6]
- ldrh r0, [r3, 0x4]
- adds r0, 0x8
- cmp r1, r0
- blt _08150542
- adds r6, r2, 0
- adds r6, 0xF0
- movs r5, 0x1
- movs r7, 0x5
- negs r7, r7
-_081504BC:
- lsls r0, r4, 2
- adds r0, r6, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _081504DE
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r1, r2, 29
- lsrs r1, 31
- eors r1, r5
- ands r1, r5
- lsls r1, 2
- adds r0, r7, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_081504DE:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x13
- bls _081504BC
- b _08150542
-_081504EA:
- lsls r1, r0, 16
- ldr r0, =0x023a0000
- cmp r1, r0
- bne _08150542
- movs r0, 0x3
- strb r0, [r3, 0x1]
- subs r0, 0x4
- str r4, [sp]
- movs r1, 0x3
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0x4
- bl FadeOutBGM
- b _08150542
- .pool
-_08150510:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08150542
- movs r0, 0xFF
- strb r0, [r3, 0x1]
- b _08150542
- .pool
-_08150528:
- movs r0, 0
- bl SetVBlankCallback
- adds r0, r6, 0
- bl DestroyTask
- ldr r0, [r5]
- ldrb r0, [r0]
- bl DestroyTask
- ldr r0, =c2_8011A1C
- bl SetMainCallback2
-_08150542:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81503E4
-
- thumb_func_start sub_8150550
-sub_8150550: @ 8150550
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r6, =gUnknown_0203ABAC
- ldr r1, [r6]
- ldrb r0, [r1, 0x1]
- cmp r0, 0xFF
- beq _08150630
- ldrb r0, [r1, 0x14]
- subs r0, 0x1
- strb r0, [r1, 0x14]
- ldr r1, [r6]
- ldrh r0, [r1, 0x6]
- movs r3, 0x1
- ands r0, r3
- cmp r0, 0
- bne _08150576
- ldrb r0, [r1, 0x15]
- subs r0, 0x1
- strb r0, [r1, 0x15]
-_08150576:
- ldr r2, [r6]
- ldrh r0, [r2, 0x6]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- bne _08150590
- ldrb r0, [r2, 0xC]
- subs r0, 0x1
- strb r0, [r2, 0xC]
- ldr r1, [r6]
- ldrb r0, [r1, 0xD]
- subs r0, 0x1
- strb r0, [r1, 0xD]
-_08150590:
- ldr r0, [r6]
- ldrb r1, [r0, 0x14]
- cmp r1, 0x20
- beq _081505DC
- cmp r1, 0x20
- bgt _081505A8
- cmp r1, 0x10
- beq _081505F4
- b _08150630
- .pool
-_081505A8:
- cmp r1, 0x28
- beq _081505CA
- cmp r1, 0xAF
- bne _08150630
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0xA
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0x16
- bl FillBgTilemapBufferRect
- b _08150630
-_081505CA:
- movs r0, 0x2
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0x3
- b _081505EC
-_081505DC:
- str r3, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0x2
-_081505EC:
- movs r3, 0
- bl FillBgTilemapBufferRect
- b _08150630
-_081505F4:
- ldr r1, =0x00004108
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x5
- str r0, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- movs r5, 0x11
- str r5, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r0, [r6]
- ldr r1, =0x0000410c
- adds r0, r1
- ldr r1, [r0]
- str r4, [sp]
- movs r0, 0x1E
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0x2
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r1, [r6]
- movs r0, 0x40
- strb r0, [r1, 0x15]
-_08150630:
- bl sub_815115C
- ldr r3, =gSpriteCoordOffsetX
- movs r0, 0
- ldrsh r2, [r3, r0]
- adds r1, r2, 0x1
- adds r0, r1, 0
- cmp r1, 0
- bge _08150646
- adds r0, r2, 0
- adds r0, 0x80
-_08150646:
- asrs r0, 7
- lsls r0, 7
- subs r0, r1, r0
- strh r0, [r3]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8150550
-
- thumb_func_start sub_8150664
-sub_8150664: @ 8150664
- push {r4-r7,lr}
- sub sp, 0xC
- ldr r7, =gUnknown_0203ABAC
- ldr r1, [r7]
- ldrb r0, [r1, 0x1]
- cmp r0, 0xFF
- bne _08150674
- b _081507B6
-_08150674:
- ldrb r0, [r1, 0x14]
- adds r0, 0x1
- strb r0, [r1, 0x14]
- ldr r1, [r7]
- ldrh r0, [r1, 0x6]
- movs r6, 0x1
- ands r0, r6
- cmp r0, 0
- bne _0815068C
- ldrb r0, [r1, 0x15]
- adds r0, 0x1
- strb r0, [r1, 0x15]
-_0815068C:
- ldr r2, [r7]
- ldrh r0, [r2, 0x6]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- bne _081506A6
- ldrb r0, [r2, 0xC]
- adds r0, 0x1
- strb r0, [r2, 0xC]
- ldr r1, [r7]
- ldrb r0, [r1, 0xD]
- adds r0, 0x1
- strb r0, [r1, 0xD]
-_081506A6:
- ldr r0, [r7]
- ldrb r1, [r0, 0x14]
- cmp r1, 0x20
- beq _0815071A
- cmp r1, 0x20
- bgt _081506BC
- cmp r1, 0x10
- beq _081506E8
- b _081507B6
- .pool
-_081506BC:
- cmp r1, 0x28
- beq _08150784
- cmp r1, 0xB0
- bne _081507B6
- ldr r1, =0x0000410c
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x1E
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0x2
- bl CopyToBgTilemapBufferRect_ChangePalette
- b _081507B6
- .pool
-_081506E8:
- movs r0, 0x3
- str r0, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- movs r5, 0x11
- str r5, [sp, 0x8]
- movs r1, 0
- movs r2, 0x2
- movs r3, 0
- bl FillBgTilemapBufferRect
- str r4, [sp]
- movs r0, 0xA
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0x16
- bl FillBgTilemapBufferRect
- ldr r1, [r7]
- movs r0, 0xC0
- strb r0, [r1, 0x15]
- b _081507B6
-_0815071A:
- ldr r5, =0x00004108
- adds r0, r5
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- str r6, [sp]
- str r6, [sp, 0x4]
- movs r4, 0x11
- str r4, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0x2
- movs r3, 0
- bl FillBgTilemapBufferRect
- ldr r0, [r7]
- adds r0, r5
- ldr r0, [r0]
- ldrh r1, [r0, 0x6]
- str r6, [sp]
- str r6, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0x3
- movs r3, 0
- bl FillBgTilemapBufferRect
- ldr r0, [r7]
- adds r0, r5
- ldr r0, [r0]
- ldrh r1, [r0, 0xE]
- str r6, [sp]
- str r6, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0x2
- movs r3, 0x1
- bl FillBgTilemapBufferRect
- ldr r0, [r7]
- adds r0, r5
- ldr r0, [r0]
- ldrh r1, [r0, 0x10]
- str r6, [sp]
- str r6, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0x3
- movs r3, 0x1
- bl FillBgTilemapBufferRect
- b _081507B6
- .pool
-_08150784:
- ldr r5, =0x00004108
- adds r0, r5
- ldr r0, [r0]
- ldrh r1, [r0, 0x8]
- str r6, [sp]
- str r6, [sp, 0x4]
- movs r4, 0x11
- str r4, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0x4
- movs r3, 0
- bl FillBgTilemapBufferRect
- ldr r0, [r7]
- adds r0, r5
- ldr r0, [r0]
- ldrh r1, [r0, 0x12]
- str r6, [sp]
- str r6, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x3
- movs r2, 0x4
- movs r3, 0x1
- bl FillBgTilemapBufferRect
-_081507B6:
- bl sub_81511B8
- ldr r0, =gUnknown_0203ABAC
- ldr r1, [r0]
- ldrh r0, [r1, 0x6]
- ldrh r1, [r1, 0x4]
- cmp r0, r1
- bcs _081507DC
- ldr r4, =gSpriteCoordOffsetX
- movs r1, 0
- ldrsh r0, [r4, r1]
- b _081507E6
- .pool
-_081507DC:
- ldr r0, =gUnknown_0854C14C
- ldr r4, [r0]
- ldr r0, =0x000006fc
- adds r4, r0
- ldrh r0, [r4]
-_081507E6:
- adds r0, 0xF7
- movs r1, 0xF8
- bl __modsi3
- strh r0, [r4]
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8150664
-
- thumb_func_start sub_8150800
-sub_8150800: @ 8150800
- push {r4,lr}
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- ldr r4, =gUnknown_0203ABAC
- ldr r0, [r4]
- ldrb r1, [r0, 0x14]
- movs r0, 0x1C
- bl SetGpuReg
- ldr r0, [r4]
- ldrb r1, [r0, 0x15]
- movs r0, 0x1E
- bl SetGpuReg
- ldr r0, [r4]
- ldrb r1, [r0, 0xC]
- movs r0, 0x14
- bl SetGpuReg
- ldr r0, [r4]
- ldrb r1, [r0, 0xD]
- movs r0, 0x16
- bl SetGpuReg
- ldr r0, [r4]
- ldrb r1, [r0, 0x8]
- movs r0, 0x10
- bl SetGpuReg
- ldr r0, [r4]
- ldrb r1, [r0, 0x9]
- movs r0, 0x12
- bl SetGpuReg
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8150800
-
- thumb_func_start nullsub_58
-nullsub_58: @ 8150864
- bx lr
- thumb_func_end nullsub_58
-
- thumb_func_start sub_8150868
-sub_8150868: @ 8150868
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, =gUnknown_0203ABAC
- ldr r6, [r0]
- ldrb r0, [r6, 0x1]
- cmp r0, 0xFF
- beq _08150934
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _081508E4
- movs r0, 0x6
- ldrsh r4, [r6, r0]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _08150892
- ldr r1, =0x47800000
- bl __addsf3
-_08150892:
- ldr r1, =0x3e0f5c29
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x2E]
- subs r1, r0
- strh r1, [r5, 0x20]
- movs r1, 0x6
- ldrsh r4, [r6, r1]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _081508BA
- ldr r1, =0x47800000
- bl __addsf3
-_081508BA:
- ldr r1, =0x3d89374c
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x30]
- subs r1, r0
- strh r1, [r5, 0x22]
- b _08150934
- .pool
-_081508E4:
- movs r0, 0x6
- ldrsh r4, [r6, r0]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _081508F8
- ldr r1, =0x47800000
- bl __addsf3
-_081508F8:
- ldr r1, =0x3e0f5c29
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x2E]
- adds r0, r1
- strh r0, [r5, 0x20]
- movs r0, 0x6
- ldrsh r4, [r6, r0]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _08150920
- ldr r1, =0x47800000
- bl __addsf3
-_08150920:
- ldr r1, =0x3d89374c
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x30]
- adds r0, r1
- strh r0, [r5, 0x22]
-_08150934:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8150868
-
- thumb_func_start sub_8150948
-sub_8150948: @ 8150948
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, =gUnknown_0203ABAC
- ldr r6, [r0]
- ldrb r0, [r6, 0x1]
- cmp r0, 0xFF
- bne _08150958
- b _08150A60
-_08150958:
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _081509C8
- movs r0, 0x6
- ldrsh r4, [r6, r0]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _08150974
- ldr r1, =0x47800000
- bl __addsf3
-_08150974:
- ldr r1, =0x3e0f5c29
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x2E]
- subs r1, r0
- strh r1, [r5, 0x20]
- movs r1, 0x6
- ldrsh r4, [r6, r1]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _0815099C
- ldr r1, =0x47800000
- bl __addsf3
-_0815099C:
- ldr r1, =0x3d89374c
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x30]
- subs r1, r0
- strh r1, [r5, 0x22]
- b _08150A18
- .pool
-_081509C8:
- movs r0, 0x6
- ldrsh r4, [r6, r0]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _081509DC
- ldr r1, =0x47800000
- bl __addsf3
-_081509DC:
- ldr r1, =0x3e0f5c29
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x2E]
- adds r0, r1
- strh r0, [r5, 0x20]
- movs r0, 0x6
- ldrsh r4, [r6, r0]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _08150A04
- ldr r1, =0x47800000
- bl __addsf3
-_08150A04:
- ldr r1, =0x3d89374c
- bl __mulsf3
- bl __fixunssfsi
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x30]
- adds r0, r1
- strh r0, [r5, 0x22]
-_08150A18:
- movs r0, 0x32
- ldrsh r2, [r5, r0]
- cmp r2, 0
- bne _08150A48
- movs r0, 0x11
- strh r0, [r5, 0x26]
- ldrh r0, [r5, 0x34]
- adds r1, r0, 0x1
- strh r1, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- ble _08150A60
- strh r2, [r5, 0x34]
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
- b _08150A60
- .pool
-_08150A48:
- movs r2, 0
- movs r0, 0x10
- strh r0, [r5, 0x26]
- ldrh r0, [r5, 0x34]
- adds r1, r0, 0x1
- strh r1, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- ble _08150A60
- strh r2, [r5, 0x34]
- strh r2, [r5, 0x32]
-_08150A60:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8150948
-
- thumb_func_start sub_8150A68
-sub_8150A68: @ 8150A68
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _08150A98
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 1
- ldrh r3, [r2, 0x20]
- adds r0, r3
- strh r0, [r2, 0x20]
- ldrh r1, [r2, 0x22]
- adds r1, 0x10
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- strh r0, [r2, 0x22]
-_08150A98:
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x32
- ldrsh r1, [r2, r3]
- cmp r0, r1
- blt _08150AEE
- movs r0, 0x30
- ldrsh r1, [r2, r0]
- cmp r1, 0
- beq _08150AB8
- cmp r1, 0x1
- beq _08150AC2
- b _08150AE0
-_08150AB8:
- ldrh r0, [r2, 0x20]
- adds r0, 0x1
- strh r0, [r2, 0x20]
- ldrh r0, [r2, 0x2E]
- b _08150AD2
-_08150AC2:
- ldrh r0, [r2, 0x2E]
- ands r0, r1
- cmp r0, 0
- beq _08150AE0
- ldrh r0, [r2, 0x20]
- adds r0, 0x1
- strh r0, [r2, 0x20]
- ldrh r0, [r2, 0x20]
-_08150AD2:
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08150AE0
- ldrh r0, [r2, 0x22]
- adds r0, 0x1
- strh r0, [r2, 0x22]
-_08150AE0:
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- cmp r0, 0xA0
- ble _08150AEE
- adds r0, r2, 0
- bl DestroySprite
-_08150AEE:
- pop {r0}
- bx r0
- thumb_func_end sub_8150A68
-
- thumb_func_start sub_8150AF4
-sub_8150AF4: @ 8150AF4
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _08150B12
- ldrh r1, [r2, 0x22]
- adds r1, 0x10
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- strh r0, [r2, 0x22]
-_08150B12:
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x32
- ldrsh r1, [r2, r3]
- cmp r0, r1
- blt _08150B68
- movs r0, 0x30
- ldrsh r1, [r2, r0]
- cmp r1, 0
- beq _08150B32
- cmp r1, 0x1
- beq _08150B3C
- b _08150B5A
-_08150B32:
- ldrh r0, [r2, 0x20]
- subs r0, 0x1
- strh r0, [r2, 0x20]
- ldrh r0, [r2, 0x2E]
- b _08150B4C
-_08150B3C:
- ldrh r0, [r2, 0x2E]
- ands r0, r1
- cmp r0, 0
- beq _08150B5A
- ldrh r0, [r2, 0x20]
- subs r0, 0x1
- strh r0, [r2, 0x20]
- ldrh r0, [r2, 0x20]
-_08150B4C:
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08150B5A
- ldrh r0, [r2, 0x22]
- subs r0, 0x1
- strh r0, [r2, 0x22]
-_08150B5A:
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- cmp r0, 0x4F
- bgt _08150B68
- adds r0, r2, 0
- bl DestroySprite
-_08150B68:
- pop {r0}
- bx r0
- thumb_func_end sub_8150AF4
-
- thumb_func_start sub_8150B6C
-sub_8150B6C: @ 8150B6C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08150B7A
- cmp r0, 0x1
- beq _08150C1C
-_08150B7A:
- movs r0, 0x48
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x42
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x46
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xE
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xC
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xA
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x8
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- b _08150D1C
-_08150C1C:
- movs r0, 0x48
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x42
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x46
- movs r1, 0
- bl SetGpuReg
- ldr r0, =gSpecialVar_0x8004
- ldrh r3, [r0]
- cmp r3, 0
- bne _08150C74
- ldr r1, =gUnknown_0203ABAC
- ldr r2, [r1]
- movs r0, 0xB0
- strb r0, [r2, 0x14]
- ldr r2, [r1]
- movs r0, 0x10
- strb r0, [r2, 0x15]
- ldr r0, [r1]
- strb r3, [r0, 0xC]
- ldr r2, [r1]
- movs r0, 0x50
- b _08150C8C
- .pool
-_08150C74:
- ldr r1, =gUnknown_0203ABAC
- ldr r2, [r1]
- movs r3, 0
- movs r0, 0x60
- strb r0, [r2, 0x14]
- ldr r2, [r1]
- movs r0, 0xE8
- strb r0, [r2, 0x15]
- ldr r0, [r1]
- strb r3, [r0, 0xC]
- ldr r2, [r1]
- movs r0, 0x4
-_08150C8C:
- strb r0, [r2, 0xD]
- ldr r0, [r1]
- strb r3, [r0, 0x9]
- ldr r0, [r1]
- strb r3, [r0, 0x9]
- adds r4, r1, 0
- ldr r0, [r4]
- ldrb r1, [r0, 0x14]
- movs r0, 0x1C
- bl SetGpuReg
- ldr r0, [r4]
- ldrb r1, [r0, 0x15]
- movs r0, 0x1E
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- ldr r0, [r4]
- ldrb r1, [r0, 0xC]
- movs r0, 0x14
- bl SetGpuReg
- ldr r0, [r4]
- ldrb r1, [r0, 0xD]
- movs r0, 0x16
- bl SetGpuReg
- ldr r0, [r4]
- ldrb r1, [r0, 0x8]
- movs r0, 0x10
- bl SetGpuReg
- ldr r0, [r4]
- ldrb r1, [r0, 0x9]
- movs r0, 0x12
- bl SetGpuReg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r1, 0xFC
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
-_08150D1C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8150B6C
-
- thumb_func_start sub_8150D28
-sub_8150D28: @ 8150D28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- ldr r1, =gCableCarPlayerGraphicsIDs
- add r0, sp, 0xC
- movs r2, 0x2
- bl memcpy
- bl Random
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- add r6, sp, 0x10
- ldr r1, =gMtChimneyHikerGraphicsIDs
- adds r0, r6, 0
- movs r2, 0x4
- bl memcpy
- add r5, sp, 0x14
- ldr r1, =gMtChimneyHikerCoords
- adds r0, r5, 0
- movs r2, 0x8
- bl memcpy
- add r4, sp, 0x1C
- ldr r1, =gMtChimneyHikerMovementDelayTable
- adds r0, r4, 0
- movs r2, 0x4
- bl memcpy
- ldr r0, =gUnknown_085CDBF8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- mov r8, r6
- mov r10, r5
- cmp r0, 0
- beq _08150D86
- cmp r0, 0x1
- beq _08150E68
-_08150D86:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- add r0, sp
- adds r0, 0xC
- ldrb r0, [r0]
- ldr r1, =sub_8150948
- movs r2, 0x66
- str r2, [sp]
- movs r2, 0xC8
- movs r3, 0x49
- bl AddPseudoEventObject
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x40
- beq _08150DD0
- ldr r0, =gSprites
- lsls r1, r6, 4
- adds r1, r6
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x8
- orrs r0, r2
- strb r0, [r1, 0x5]
- movs r0, 0x8
- strh r0, [r1, 0x24]
- movs r0, 0x10
- strh r0, [r1, 0x26]
- movs r0, 0xC8
- strh r0, [r1, 0x2E]
- movs r0, 0x49
- strh r0, [r1, 0x30]
-_08150DD0:
- ldr r4, =gSpriteTemplate_85CDB9C
- adds r0, r4, 0
- movs r1, 0xB0
- movs r2, 0x2B
- movs r3, 0x67
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r5
- movs r1, 0x20
- strh r1, [r0, 0x26]
- strh r1, [r0, 0x24]
- movs r1, 0xB0
- strh r1, [r0, 0x2E]
- movs r1, 0x2B
- strh r1, [r0, 0x30]
- adds r4, 0x18
- adds r0, r4, 0
- movs r1, 0xC8
- movs r2, 0x63
- movs r3, 0x65
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r5
- movs r1, 0x8
- strh r1, [r0, 0x24]
- movs r1, 0x4
- strh r1, [r0, 0x26]
- movs r1, 0xC8
- strh r1, [r0, 0x2E]
- movs r1, 0x63
- strh r1, [r0, 0x30]
- ldr r2, =gUnknown_0203ABAC
- ldr r1, [r2]
- movs r0, 0x7
- strb r0, [r1, 0x2]
- ldr r1, [r2]
- movs r0, 0xAF
- lsls r0, 1
- strh r0, [r1, 0x4]
- movs r0, 0x2
- bl sub_80AB130
- b _08150F3A
- .pool
-_08150E68:
- ldr r7, =gUnknown_0203ABAC
- ldr r0, [r7]
- ldr r1, =0x000040fc
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x48
- movs r0, 0xC
- str r0, [sp]
- movs r0, 0x3
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r2, 0x18
- movs r3, 0x1A
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- add r0, sp
- adds r0, 0xC
- ldrb r0, [r0]
- ldr r1, =sub_8150948
- movs r2, 0x66
- str r2, [sp]
- movs r2, 0x80
- movs r3, 0x27
- bl AddPseudoEventObject
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x40
- beq _08150ED4
- ldr r0, =gSprites
- lsls r1, r6, 4
- adds r1, r6
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x8
- orrs r0, r2
- strb r0, [r1, 0x5]
- movs r0, 0x8
- strh r0, [r1, 0x24]
- movs r0, 0x10
- strh r0, [r1, 0x26]
- movs r0, 0x80
- strh r0, [r1, 0x2E]
- movs r0, 0x27
- strh r0, [r1, 0x30]
-_08150ED4:
- ldr r4, =gSpriteTemplate_85CDB9C
- adds r0, r4, 0
- movs r1, 0x68
- movs r2, 0x9
- movs r3, 0x67
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r5
- movs r1, 0x20
- strh r1, [r0, 0x26]
- strh r1, [r0, 0x24]
- movs r1, 0x68
- strh r1, [r0, 0x2E]
- movs r1, 0x9
- strh r1, [r0, 0x30]
- adds r4, 0x18
- adds r0, r4, 0
- movs r1, 0x80
- movs r2, 0x41
- movs r3, 0x65
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r5
- movs r1, 0x8
- strh r1, [r0, 0x24]
- movs r1, 0x4
- strh r1, [r0, 0x26]
- movs r1, 0x80
- strh r1, [r0, 0x2E]
- movs r1, 0x41
- strh r1, [r0, 0x30]
- ldr r1, [r7]
- movs r0, 0x2
- strb r0, [r1, 0x2]
- ldr r1, [r7]
- ldr r0, =0x00000109
- strh r0, [r1, 0x4]
- movs r0, 0x7
- bl sub_80AB130
-_08150F3A:
- movs r4, 0
- ldr r5, =gSprites
-_08150F3E:
- lsls r1, r4, 20
- movs r2, 0xC0
- lsls r2, 15
- adds r1, r2
- asrs r1, 16
- lsls r2, r4, 19
- ldr r3, =0xfff80000
- adds r2, r3
- asrs r2, 16
- ldr r0, =gSpriteTemplate_85CDBCC
- movs r3, 0x68
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r5
- movs r1, 0x8
- strh r1, [r0, 0x24]
- strh r1, [r0, 0x26]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x8
- bls _08150F3E
- movs r0, 0x3F
- mov r4, r9
- ands r0, r4
- cmp r0, 0
- bne _08151074
- mov r0, r9
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- add r0, r8
- ldrb r0, [r0]
- ldr r5, =gSpecialVar_0x8004
- ldrh r4, [r5]
- lsls r4, 2
- add r1, sp, 0x20
- adds r1, r4, r1
- ldr r1, [r1]
- mov r3, r10
- adds r2, r3, r4
- movs r3, 0
- ldrsh r2, [r2, r3]
- mov r3, sp
- adds r3, 0x16
- adds r3, r4
- movs r4, 0
- ldrsh r3, [r3, r4]
- movs r4, 0x6A
- str r4, [sp]
- bl AddPseudoEventObject
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x40
- beq _08151074
- ldr r1, =gSprites
- lsls r2, r6, 4
- adds r0, r2, r6
- lsls r0, 2
- adds r4, r0, r1
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r4, 0x5]
- adds r0, r4, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x24]
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r0, [r5]
- mov r8, r2
- cmp r0, 0
- bne _08151036
- movs r7, 0x1
- mov r5, r9
- ands r5, r7
- cmp r5, 0
- beq _08151030
- adds r0, r4, 0
- movs r1, 0x6
- b _08151044
- .pool
-_08151030:
- adds r0, r4, 0
- movs r1, 0x7
- b _08151056
-_08151036:
- movs r7, 0x1
- mov r5, r9
- ands r5, r7
- cmp r5, 0
- beq _08151052
- adds r0, r4, 0
- movs r1, 0x7
-_08151044:
- bl StartSpriteAnim
- strh r7, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- adds r0, 0x2
- strh r0, [r4, 0x22]
- b _0815105C
-_08151052:
- adds r0, r4, 0
- movs r1, 0x6
-_08151056:
- bl StartSpriteAnim
- strh r5, [r4, 0x30]
-_0815105C:
- ldr r0, =gSprites
- mov r2, r8
- adds r1, r2, r6
- lsls r1, 2
- adds r1, r0
- movs r0, 0x3
- mov r3, r9
- ands r0, r3
- add r0, sp
- adds r0, 0x1C
- ldrb r0, [r0]
- strh r0, [r1, 0x32]
-_08151074:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8150D28
-
- thumb_func_start sub_8151088
-sub_8151088: @ 8151088
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- movs r3, 0
- mov r9, r3
- ldr r2, =gUnknown_0203ABAC
- ldr r0, [r2]
- ldrb r1, [r0, 0x1B]
- adds r1, 0x2
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 26
- lsrs r0, 24
- mov r12, r0
-_081510AA:
- movs r7, 0
- lsls r0, r3, 1
- adds r1, r3, 0x3
- adds r2, r3, 0x6
- adds r4, r3, 0x1
- str r4, [sp, 0x4]
- adds r0, r3
- lsls r0, 3
- str r0, [sp]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- mov r10, r0
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- mov r8, r0
-_081510CC:
- ldr r0, =gUnknown_0203ABAC
- ldr r6, [r0]
- lsls r3, r7, 1
- ldr r1, [sp]
- adds r2, r3, r1
- adds r4, r6, 0
- adds r4, 0x22
- adds r2, r4, r2
- mov r1, r12
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- ldr r0, =0x000040fc
- adds r5, r6, r0
- ldr r0, [r5]
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r2]
- mov r1, r10
- adds r2, r3, r1
- adds r2, r4, r2
- str r2, [sp, 0x8]
- ldr r0, [r5]
- mov r2, r9
- lsls r1, r2, 1
- adds r0, r1, r0
- ldrh r0, [r0]
- ldr r2, [sp, 0x8]
- strh r0, [r2]
- add r3, r8
- adds r4, r3
- ldr r0, [r5]
- adds r1, r0
- adds r1, 0x48
- ldrh r0, [r1]
- strh r0, [r4]
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0xB
- bls _081510CC
- ldr r4, [sp, 0x4]
- lsls r0, r4, 24
- lsrs r3, r0, 24
- cmp r3, 0x2
- bls _081510AA
- ldrb r0, [r6, 0x1B]
- adds r0, 0x1
- movs r1, 0x3
- bl __modsi3
- strb r0, [r6, 0x1B]
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8151088
-
- thumb_func_start sub_815115C
-sub_815115C: @ 815115C
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203ABAC
- ldr r4, [r5]
- ldrb r0, [r4, 0x1C]
- adds r0, 0x1
- movs r1, 0x60
- bl __modsi3
- strb r0, [r4, 0x1C]
- ldr r1, [r5]
- ldrb r0, [r1, 0x1F]
- ldrb r2, [r1, 0x1D]
- subs r0, r2
- strb r0, [r1, 0x8]
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x20
- ldrb r0, [r0]
- ldrb r1, [r2, 0x1E]
- subs r0, r1
- strb r0, [r2, 0x9]
- ldr r1, [r5]
- ldrb r0, [r1, 0x1D]
- adds r0, 0x1
- strb r0, [r1, 0x1D]
- ldr r2, [r5]
- ldrb r0, [r2, 0x1D]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _081511A0
- ldrb r0, [r2, 0x1E]
- adds r0, 0x1
- strb r0, [r2, 0x1E]
-_081511A0:
- ldr r0, [r5]
- ldrb r0, [r0, 0x1D]
- cmp r0, 0x10
- bls _081511AC
- bl sub_8151214
-_081511AC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_815115C
-
- thumb_func_start sub_81511B8
-sub_81511B8: @ 81511B8
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203ABAC
- ldr r4, [r5]
- ldrb r0, [r4, 0x1C]
- adds r0, 0x1
- movs r1, 0x60
- bl __modsi3
- strb r0, [r4, 0x1C]
- ldr r1, [r5]
- ldrb r0, [r1, 0x1D]
- ldrb r2, [r1, 0x1F]
- adds r0, r2
- strb r0, [r1, 0x8]
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0x20
- ldrb r0, [r1, 0x1E]
- ldrb r2, [r2]
- adds r0, r2
- strb r0, [r1, 0x9]
- ldr r1, [r5]
- ldrb r0, [r1, 0x1D]
- adds r0, 0x1
- strb r0, [r1, 0x1D]
- ldr r2, [r5]
- ldrb r0, [r2, 0x1D]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _081511FC
- ldrb r0, [r2, 0x1E]
- adds r0, 0x1
- strb r0, [r2, 0x1E]
-_081511FC:
- ldr r0, [r5]
- ldrb r0, [r0, 0x1D]
- cmp r0, 0x10
- bls _08151208
- bl sub_8151388
-_08151208:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81511B8
-
- thumb_func_start sub_8151214
-sub_8151214: @ 8151214
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- movs r7, 0
- ldr r3, =gUnknown_0203ABAC
- ldr r0, [r3]
- strb r7, [r0, 0x1E]
- strb r7, [r0, 0x1D]
- ldr r1, [r3]
- ldrb r0, [r1, 0x8]
- strb r0, [r1, 0x1F]
- ldr r0, [r3]
- ldrb r1, [r0, 0x9]
- adds r0, 0x20
- strb r1, [r0]
- ldr r4, [r3]
- ldrb r1, [r4, 0x19]
- adds r2, r1, 0
- adds r2, 0x1E
- adds r0, r2, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r2, r0
- strb r0, [r4, 0x19]
- ldr r1, [r3]
- ldrb r0, [r1, 0x18]
- subs r0, 0x2
- strb r0, [r1, 0x18]
- ldr r4, =gUnknown_0203ABB2
- ldr r0, [r3]
- ldrb r1, [r0, 0x1A]
- adds r2, r1, 0
- adds r2, 0x17
- adds r0, r2, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r2, r0
- strb r0, [r4]
- ldr r6, =gUnknown_0203ABB0
- mov r9, r3
- ldr r0, =gUnknown_0203ABB1
- mov r8, r0
-_0815126E:
- mov r1, r9
- ldr r2, [r1]
- ldrb r0, [r2, 0x19]
- strb r0, [r6]
- ldr r0, =gUnknown_0203ABB2
- ldrb r0, [r0]
- adds r1, r0, r7
- adds r0, r1, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r1, r0
- mov r1, r8
- strb r0, [r1]
- ldrb r1, [r2, 0x18]
- lsls r1, 1
- lsls r0, r7, 1
- adds r0, r7
- lsls r5, r0, 3
- adds r1, r5
- adds r0, r2, 0
- adds r0, 0x22
- adds r0, r1
- ldrh r1, [r0]
- ldrb r2, [r6]
- mov r0, r8
- ldrb r3, [r0]
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x11
- mov r10, r0
- str r0, [sp, 0x8]
- movs r0, 0
- bl FillBgTilemapBufferRect
- ldrb r1, [r6]
- adds r2, r1, 0x1
- adds r0, r2, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r2, r0
- strb r0, [r6]
- mov r0, r9
- ldr r1, [r0]
- ldrb r0, [r1, 0x18]
- adds r0, 0x1
- lsls r0, 1
- adds r0, r5
- adds r1, 0x22
- adds r1, r0
- ldrh r1, [r1]
- ldrb r2, [r6]
- mov r0, r8
- ldrb r3, [r0]
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r0, r10
- str r0, [sp, 0x8]
- movs r0, 0
- bl FillBgTilemapBufferRect
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x8
- bls _0815126E
- ldr r5, =gUnknown_0203ABB0
- ldr r4, =gUnknown_0203ABAC
- ldr r0, [r4]
- ldrb r1, [r0, 0x19]
- adds r2, r1, 0
- adds r2, 0x1E
- adds r0, r2, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r2, r0
- strb r0, [r5]
- ldrb r2, [r5]
- movs r0, 0x2
- str r0, [sp]
- movs r6, 0x20
- str r6, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- ldr r1, [r4]
- ldrb r0, [r1, 0x18]
- cmp r0, 0
- bne _08151368
- ldrb r2, [r1, 0x1A]
- adds r3, r2, 0
- adds r3, 0x1D
- adds r0, r3, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r3, r0
- strb r0, [r1, 0x1A]
- ldr r1, [r4]
- movs r0, 0xC
- strb r0, [r1, 0x18]
- bl sub_8151088
- ldr r0, [r4]
- ldrb r1, [r0, 0x1A]
- adds r2, r1, 0x1
- adds r0, r2, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r2, r0
- strb r0, [r5]
- ldrb r3, [r5]
- str r6, [sp]
- movs r0, 0x9
- str r0, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl FillBgTilemapBufferRect
-_08151368:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8151214
-
- thumb_func_start sub_8151388
-sub_8151388: @ 8151388
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- movs r7, 0
- ldr r2, =gUnknown_0203ABAC
- ldr r0, [r2]
- strb r7, [r0, 0x1E]
- strb r7, [r0, 0x1D]
- ldr r1, [r2]
- ldrb r0, [r1, 0x8]
- strb r0, [r1, 0x1F]
- ldr r0, [r2]
- ldrb r1, [r0, 0x9]
- adds r0, 0x20
- strb r1, [r0]
- ldr r4, [r2]
- ldrb r1, [r4, 0x19]
- adds r3, r1, 0x2
- adds r0, r3, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r3, r0
- strb r0, [r4, 0x19]
- ldr r1, [r2]
- ldrb r0, [r1, 0x18]
- adds r0, 0x2
- strb r0, [r1, 0x18]
- ldr r1, =gUnknown_0203ABB5
- ldr r0, [r2]
- ldrb r0, [r0, 0x1A]
- strb r0, [r1]
- ldr r6, =gUnknown_0203ABB3
- mov r10, r2
- ldr r0, =gUnknown_0203ABB4
- mov r9, r0
-_081513D4:
- mov r1, r10
- ldr r2, [r1]
- ldrb r0, [r2, 0x19]
- strb r0, [r6]
- ldr r0, =gUnknown_0203ABB5
- ldrb r0, [r0]
- adds r1, r0, r7
- adds r0, r1, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r1, r0
- mov r1, r9
- strb r0, [r1]
- ldrb r1, [r2, 0x18]
- lsls r1, 1
- lsls r0, r7, 1
- adds r0, r7
- lsls r5, r0, 3
- adds r1, r5
- adds r0, r2, 0
- adds r0, 0x22
- adds r0, r1
- ldrh r1, [r0]
- ldrb r2, [r6]
- mov r0, r9
- ldrb r3, [r0]
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x11
- mov r8, r0
- str r0, [sp, 0x8]
- movs r0, 0
- bl FillBgTilemapBufferRect
- ldrb r1, [r6]
- adds r2, r1, 0x1
- adds r0, r2, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r2, r0
- strb r0, [r6]
- mov r0, r10
- ldr r1, [r0]
- ldrb r0, [r1, 0x18]
- adds r0, 0x1
- lsls r0, 1
- adds r0, r5
- adds r1, 0x22
- adds r1, r0
- ldrh r1, [r1]
- ldrb r2, [r6]
- mov r0, r9
- ldrb r3, [r0]
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r0, r8
- str r0, [sp, 0x8]
- movs r0, 0
- bl FillBgTilemapBufferRect
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x8
- bls _081513D4
- ldr r4, =gUnknown_0203ABB4
- ldr r5, =gUnknown_0203ABAC
- ldr r3, [r5]
- ldrb r1, [r3, 0x1A]
- adds r2, r1, 0
- adds r2, 0x17
- adds r0, r2, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r2, r0
- strb r0, [r4]
- ldrb r2, [r3, 0x19]
- ldrb r3, [r4]
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x9
- str r0, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- bl FillBgTilemapBufferRect
- ldr r1, [r5]
- ldrb r0, [r1, 0x18]
- cmp r0, 0xA
- bne _081514A6
- ldrb r2, [r1, 0x1A]
- adds r3, r2, 0x3
- adds r0, r3, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r3, r0
- strb r0, [r1, 0x1A]
- ldr r1, [r5]
- movs r0, 0xFE
- strb r0, [r1, 0x18]
- bl sub_8151088
-_081514A6:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8151388
-
- thumb_func_start sub_81514C8
-sub_81514C8: @ 81514C8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _081514D6
- cmp r0, 0x1
- beq _08151500
-_081514D6:
- ldr r1, =gUnknown_0203ABAC
- ldr r2, [r1]
- movs r3, 0
- movs r0, 0x2
- strb r0, [r2, 0x1B]
- ldr r0, [r1]
- strb r3, [r0, 0x19]
- ldr r2, [r1]
- movs r0, 0x14
- strb r0, [r2, 0x1A]
- ldr r1, [r1]
- movs r0, 0xC
- strb r0, [r1, 0x18]
- bl sub_8151088
- bl sub_8151214
- b _08151522
- .pool
-_08151500:
- ldr r1, =gUnknown_0203ABAC
- ldr r2, [r1]
- movs r0, 0x2
- strb r0, [r2, 0x1B]
- ldr r2, [r1]
- movs r0, 0x1C
- strb r0, [r2, 0x19]
- ldr r2, [r1]
- movs r0, 0x14
- strb r0, [r2, 0x1A]
- ldr r1, [r1]
- movs r0, 0x4
- strb r0, [r1, 0x18]
- bl sub_8151088
- bl sub_8151388
-_08151522:
- ldr r0, =gUnknown_0203ABAC
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x1C]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81514C8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_screen.s b/asm/field_screen.s
deleted file mode 100644
index 8a97644ac..000000000
--- a/asm/field_screen.s
+++ /dev/null
@@ -1,10509 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80AAFA4
-@ void sub_80AAFA4()
-sub_80AAFA4: @ 80AAFA4
- push {r4-r6,lr}
- ldr r0, =sub_80AB1B0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _080AB060
- movs r0, 0x90
- lsls r0, 5
- bl AllocSpritePalette
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_0854C270
- lsls r1, r5, 5
- ldr r2, =gPlttBufferUnfaded + 0x200
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
- bl sub_80AB294
- ldr r4, =gUnknown_02038454
- ldr r1, =0x000006d5
- adds r0, r4, r1
- strb r5, [r0]
- ldr r0, =0x00001201
- bl AllocSpritePalette
- ldr r2, =0x000006d4
- adds r1, r4, r2
- strb r0, [r1]
- ldr r1, =0x000006da
- adds r0, r4, r1
- strb r6, [r0]
- adds r2, 0x4
- adds r0, r4, r2
- strb r6, [r0]
- adds r1, 0x4
- adds r0, r4, r1
- strb r6, [r0]
- adds r2, 0xC
- adds r0, r4, r2
- strb r6, [r0]
- adds r1, 0x22
- adds r0, r4, r1
- strb r6, [r0]
- adds r2, 0x17
- adds r0, r4, r2
- strb r6, [r0]
- adds r1, 0x24
- adds r0, r4, r1
- strb r6, [r0]
- adds r2, 0x1B
- adds r0, r4, r2
- strb r6, [r0]
- subs r1, 0xD
- adds r0, r4, r1
- strb r6, [r0]
- adds r2, 0x18
- adds r0, r4, r2
- strb r6, [r0]
- subs r1, 0x1D
- adds r0, r4, r1
- strb r6, [r0]
- movs r0, 0x10
- movs r1, 0
- bl sub_80AC124
- movs r2, 0xDA
- lsls r2, 3
- adds r0, r4, r2
- strb r6, [r0]
- ldr r0, =0x000006c6
- adds r1, r4, r0
- movs r0, 0x3
- strb r0, [r1]
- movs r1, 0xD9
- lsls r1, 3
- adds r0, r4, r1
- strb r6, [r0]
- adds r2, 0x3
- adds r1, r4, r2
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =sub_80AB160
- movs r1, 0x50
- bl CreateTask
- ldr r1, =0x000006c9
- adds r4, r1
- strb r0, [r4]
-_080AB060:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AAFA4
-
- thumb_func_start weather_set
-weather_set: @ 80AB098
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- beq _080AB0AE
- cmp r4, 0x5
- beq _080AB0AE
- cmp r4, 0xD
- beq _080AB0AE
- bl play_some_sound
-_080AB0AE:
- ldr r1, =gUnknown_02038454
- ldr r2, =0x000006d1
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, r4
- beq _080AB0D2
- movs r3, 0xDA
- lsls r3, 3
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r4
- bne _080AB0D2
- ldr r0, =gUnknown_0854C150
- lsls r1, r4, 4
- adds r1, r0
- ldr r0, [r1]
- bl _call_via_r0
-_080AB0D2:
- ldr r1, =gUnknown_02038454
- ldr r2, =0x000006d3
- adds r0, r1, r2
- movs r2, 0
- strb r2, [r0]
- ldr r3, =0x000006d1
- adds r0, r1, r3
- strb r4, [r0]
- ldr r0, =0x000006ce
- adds r1, r0
- strh r2, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end weather_set
-
- thumb_func_start sub_80AB104
-sub_80AB104: @ 80AB104
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl play_some_sound
- ldr r0, =gUnknown_02038454
- movs r2, 0xDA
- lsls r2, 3
- adds r1, r0, r2
- strb r4, [r1]
- ldr r1, =0x000006d1
- adds r0, r1
- strb r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AB104
-
- thumb_func_start sub_80AB130
-sub_80AB130: @ 80AB130
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl play_some_sound
- ldr r1, =gUnknown_02038454
- movs r2, 0xDA
- lsls r2, 3
- adds r0, r1, r2
- strb r4, [r0]
- adds r2, 0x1
- adds r0, r1, r2
- strb r4, [r0]
- movs r0, 0xD9
- lsls r0, 3
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AB130
-
- thumb_func_start sub_80AB160
-sub_80AB160: @ 80AB160
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, =gUnknown_02038454
- movs r1, 0xD9
- lsls r1, 3
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080AB198
- ldr r1, =gUnknown_0854C150
- movs r3, 0xDA
- lsls r3, 3
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, 4
- adds r1, 0x8
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80AB1B0
- str r1, [r0]
-_080AB198:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AB160
-
- thumb_func_start sub_80AB1B0
-sub_80AB1B0: @ 80AB1B0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r5, =gUnknown_02038454
- movs r0, 0xDA
- lsls r0, 3
- adds r6, r5, r0
- ldr r1, =0x000006d1
- adds r7, r5, r1
- ldrb r0, [r6]
- ldrb r2, [r7]
- cmp r0, r2
- beq _080AB22C
- ldr r0, =gUnknown_0854C150
- mov r9, r0
- ldrb r0, [r6]
- lsls r0, 4
- mov r1, r9
- adds r1, 0xC
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080AB23C
- ldr r1, =0x000006c6
- adds r1, r5
- mov r8, r1
- ldrb r0, [r1]
- cmp r0, 0x2
- beq _080AB23C
- ldrb r0, [r7]
- lsls r0, 4
- add r0, r9
- ldr r0, [r0]
- bl _call_via_r0
- ldr r2, =0x000006c3
- adds r0, r5, r2
- strb r4, [r0]
- mov r0, r8
- strb r4, [r0]
- ldrb r0, [r7]
- strb r0, [r6]
- adds r2, 0x10
- adds r1, r5, r2
- movs r0, 0x1
- strb r0, [r1]
- b _080AB23C
- .pool
-_080AB22C:
- ldr r0, =gUnknown_0854C150
- ldrb r1, [r6]
- lsls r1, 4
- adds r0, 0x4
- adds r1, r0
- ldr r0, [r1]
- bl _call_via_r0
-_080AB23C:
- ldr r1, =gUnknown_0854C240
- ldr r0, =gUnknown_02038454
- ldr r2, =0x000006c6
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AB1B0
-
- thumb_func_start sub_80AB26C
-sub_80AB26C: @ 80AB26C
- ldr r0, =gUnknown_02038454
- ldr r2, =0x000006c1
- adds r1, r0, r2
- movs r2, 0
- strb r2, [r1]
- ldr r1, =0x000006c2
- adds r0, r1
- strb r2, [r0]
- bx lr
- .pool
- thumb_func_end sub_80AB26C
-
- thumb_func_start nullsub_36
-nullsub_36: @ 80AB28C
- bx lr
- thumb_func_end nullsub_36
-
- thumb_func_start sub_80AB290
-sub_80AB290: @ 80AB290
- movs r0, 0
- bx lr
- thumb_func_end sub_80AB290
-
- thumb_func_start sub_80AB294
-sub_80AB294: @ 80AB294
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r1, =gUnknown_03000F50
- ldr r0, =gUnknown_0854C250
- str r0, [r1]
- movs r0, 0
- mov r12, r0
- ldr r1, =gUnknown_020388B4
- mov r10, r1
-_080AB2AC:
- mov r7, r10
- mov r0, r12
- cmp r0, 0
- bne _080AB2B8
- ldr r1, =0xfffffda0
- adds r7, r1
-_080AB2B8:
- movs r5, 0
- movs r0, 0x1
- add r0, r12
- mov r9, r0
-_080AB2C0:
- lsls r1, r5, 8
- lsls r0, r5, 24
- lsrs r2, r0, 16
- mov r0, r12
- cmp r0, 0
- bne _080AB2E4
- adds r0, r1, 0
- lsls r0, 12
- lsrs r4, r0, 16
- b _080AB2E6
- .pool
-_080AB2E4:
- movs r4, 0
-_080AB2E6:
- movs r3, 0
- adds r1, r5, 0x1
- mov r8, r1
-_080AB2EC:
- subs r1, r2, r4
- lsls r1, 16
- lsrs r2, r1, 16
- lsls r0, r3, 5
- adds r0, r7
- adds r0, r5
- lsrs r1, 24
- strb r1, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x2
- bls _080AB2EC
- adds r6, r2, 0
- movs r0, 0xF8
- lsls r0, 5
- subs r0, r2
- cmp r0, 0
- bge _080AB314
- adds r0, 0xF
-_080AB314:
- lsls r0, 12
- lsrs r4, r0, 16
- cmp r5, 0xB
- bhi _080AB35E
- cmp r3, 0x12
- bhi _080AB384
-_080AB320:
- adds r0, r2, r4
- lsls r0, 16
- lsrs r2, r0, 16
- subs r0, r2, r6
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- ble _080AB33C
- lsrs r0, 31
- adds r0, r1, r0
- asrs r0, 1
- subs r0, r2, r0
- lsls r0, 16
- lsrs r2, r0, 16
-_080AB33C:
- lsls r0, r3, 5
- adds r0, r7
- adds r1, r0, r5
- lsrs r0, r2, 8
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _080AB352
- movs r0, 0x1F
- strb r0, [r1]
-_080AB352:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x12
- bls _080AB320
- b _080AB384
-_080AB35E:
- cmp r3, 0x12
- bhi _080AB384
- movs r6, 0x1F
-_080AB364:
- adds r1, r2, r4
- lsls r1, 16
- lsrs r2, r1, 16
- lsls r0, r3, 5
- adds r0, r7
- adds r0, r5
- lsrs r1, 24
- strb r1, [r0]
- cmp r1, 0x1F
- bls _080AB37A
- strb r6, [r0]
-_080AB37A:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x12
- bls _080AB364
-_080AB384:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r5, r0, 16
- cmp r5, 0x1F
- bls _080AB2C0
- mov r1, r9
- lsls r0, r1, 16
- lsrs r0, 16
- mov r12, r0
- cmp r0, 0x1
- bls _080AB2AC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80AB294
-
- thumb_func_start sub_80AB3A8
-sub_80AB3A8: @ 80AB3A8
- push {r4-r7,lr}
- ldr r0, =gUnknown_02038454
- ldr r1, =0x000006c6
- adds r2, r0, r1
- ldrb r1, [r2]
- adds r3, r0, 0
- cmp r1, 0x2
- beq _080AB42C
- movs r7, 0xD8
- lsls r7, 3
- adds r4, r3, r7
- ldr r1, =0x000006c1
- adds r0, r3, r1
- ldrb r7, [r4]
- mov r12, r7
- movs r6, 0
- ldrsb r6, [r4, r6]
- movs r5, 0
- ldrsb r5, [r0, r5]
- cmp r6, r5
- bne _080AB3E4
- movs r0, 0x3
- strb r0, [r2]
- b _080AB42C
- .pool
-_080AB3E4:
- ldr r0, =0x000006c3
- adds r2, r3, r0
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- ldr r7, =0x000006c2
- adds r1, r3, r7
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcc _080AB42C
- movs r0, 0
- strb r0, [r2]
- mov r0, r12
- cmp r6, r5
- bge _080AB414
- adds r0, 0x1
- b _080AB418
- .pool
-_080AB414:
- mov r0, r12
- subs r0, 0x1
-_080AB418:
- strb r0, [r4]
- movs r1, 0xD8
- lsls r1, 3
- adds r0, r3, r1
- movs r2, 0
- ldrsb r2, [r0, r2]
- movs r0, 0
- movs r1, 0x20
- bl pal_fade_2
-_080AB42C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80AB3A8
-
- thumb_func_start sub_80AB434
-sub_80AB434: @ 80AB434
- push {lr}
- ldr r2, =gUnknown_02038454
- ldr r0, =0x000006cb
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080AB452
- ldr r3, =0x000006ca
- adds r1, r2, r3
- movs r0, 0
- strb r0, [r1]
-_080AB452:
- movs r1, 0xDA
- lsls r1, 3
- adds r0, r2, r1
- ldrb r0, [r0]
- subs r0, 0x3
- cmp r0, 0xA
- bhi _080AB51C
- lsls r0, 2
- ldr r1, =_080AB47C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080AB47C:
- .4byte _080AB4A8
- .4byte _080AB4A8
- .4byte _080AB4A8
- .4byte _080AB4F4
- .4byte _080AB51C
- .4byte _080AB51C
- .4byte _080AB51C
- .4byte _080AB51C
- .4byte _080AB4A8
- .4byte _080AB4D0
- .4byte _080AB4A8
-_080AB4A8:
- bl sub_80AB54C
- lsls r0, 24
- cmp r0, 0
- bne _080AB53C
- ldr r0, =gUnknown_02038454
- movs r2, 0xD8
- lsls r2, 3
- adds r1, r0, r2
- movs r2, 0x3
- strb r2, [r1]
- ldr r3, =0x000006c6
- adds r0, r3
- strb r2, [r0]
- b _080AB53C
- .pool
-_080AB4D0:
- bl sub_80AB5AC
- lsls r0, 24
- cmp r0, 0
- bne _080AB53C
- ldr r1, =gUnknown_02038454
- movs r0, 0xD8
- lsls r0, 3
- adds r2, r1, r0
- movs r0, 0xFA
- strb r0, [r2]
- ldr r2, =0x000006c6
- adds r1, r2
- b _080AB538
- .pool
-_080AB4F4:
- bl sub_80AB604
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080AB53C
- ldr r0, =gUnknown_02038454
- movs r3, 0xD8
- lsls r3, 3
- adds r1, r0, r3
- strb r2, [r1]
- ldr r1, =0x000006c6
- adds r0, r1
- movs r1, 0x3
- strb r1, [r0]
- b _080AB53C
- .pool
-_080AB51C:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080AB53C
- ldr r3, =0x000006c1
- adds r0, r2, r3
- ldrb r1, [r0]
- subs r3, 0x1
- adds r0, r2, r3
- strb r1, [r0]
- ldr r0, =0x000006c6
- adds r1, r2, r0
-_080AB538:
- movs r0, 0x3
- strb r0, [r1]
-_080AB53C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AB434
-
- thumb_func_start sub_80AB54C
-sub_80AB54C: @ 80AB54C
- push {r4,lr}
- sub sp, 0x4
- ldr r2, =gUnknown_02038454
- ldr r0, =0x000006c7
- adds r4, r2, r0
- ldrb r0, [r4]
- cmp r0, 0x10
- beq _080AB5A2
- adds r1, r0, 0x1
- strb r1, [r4]
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0xF
- bhi _080AB594
- movs r3, 0x10
- subs r3, r1
- lsls r3, 24
- lsrs r3, 24
- ldr r1, =0x000006c4
- adds r0, r2, r1
- ldrh r0, [r0]
- str r0, [sp]
- movs r0, 0
- movs r1, 0x20
- movs r2, 0x3
- bl sub_80AB848
- movs r0, 0x1
- b _080AB5A4
- .pool
-_080AB594:
- movs r0, 0
- movs r1, 0x20
- movs r2, 0x3
- bl pal_fade_2
- movs r0, 0x10
- strb r0, [r4]
-_080AB5A2:
- movs r0, 0
-_080AB5A4:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80AB54C
-
- thumb_func_start sub_80AB5AC
-sub_80AB5AC: @ 80AB5AC
- push {r4,lr}
- ldr r2, =gUnknown_02038454
- ldr r0, =0x000006c7
- adds r4, r2, r0
- ldrb r0, [r4]
- cmp r0, 0x10
- beq _080AB5FC
- adds r3, r0, 0x1
- strb r3, [r4]
- lsls r0, r3, 24
- lsrs r0, 24
- cmp r0, 0xF
- bhi _080AB5EC
- movs r0, 0x6
- negs r0, r0
- movs r1, 0x10
- subs r1, r3
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =0x000006c4
- adds r2, r3
- ldrh r2, [r2]
- bl sub_80AB990
- movs r0, 0x1
- b _080AB5FE
- .pool
-_080AB5EC:
- movs r2, 0x6
- negs r2, r2
- movs r0, 0
- movs r1, 0x20
- bl pal_fade_2
- movs r0, 0x10
- strb r0, [r4]
-_080AB5FC:
- movs r0, 0
-_080AB5FE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80AB5AC
-
- thumb_func_start sub_80AB604
-sub_80AB604: @ 80AB604
- push {lr}
- ldr r2, =gUnknown_02038454
- ldr r1, =0x000006c7
- adds r0, r2, r1
- ldrb r1, [r0]
- cmp r1, 0x10
- beq _080AB638
- adds r1, 0x1
- strb r1, [r0]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =0x000006c4
- adds r1, r2, r3
- ldrh r1, [r1]
- bl sub_80ABAB0
- movs r0, 0x1
- b _080AB63A
- .pool
-_080AB638:
- movs r0, 0
-_080AB63A:
- pop {r1}
- bx r1
- thumb_func_end sub_80AB604
-
- thumb_func_start nullsub_94
-nullsub_94: @ 80AB640
- bx lr
- thumb_func_end nullsub_94
-
- thumb_func_start pal_fade_2
-pal_fade_2: @ 80AB644
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r3, r0, 24
- adds r4, r3, 0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- asrs r0, r2, 24
- cmp r0, 0
- ble _080AB754
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- lsls r6, r3, 4
- adds r0, r1, r3
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- cmp r4, r9
- bcc _080AB67C
- b _080AB82E
-_080AB67C:
- ldr r1, [sp]
- lsls r0, r1, 24
- asrs r0, 19
- str r0, [sp, 0x4]
-_080AB684:
- ldr r0, =gUnknown_03000F50
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AB6C0
- lsls r1, r6, 1
- ldr r0, =gPlttBufferUnfaded
- adds r0, r1, r0
- ldr r2, =gPlttBufferFaded
- adds r1, r2
- movs r2, 0x8
- bl CpuFastSet
- adds r0, r6, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r6, r0, 16
- mov r2, r9
- lsls r2, 16
- mov r8, r2
- adds r4, 0x1
- mov r12, r4
- b _080AB73E
- .pool
-_080AB6C0:
- cmp r0, 0x2
- beq _080AB6D4
- adds r1, r4, 0
- subs r1, 0x10
- ldr r2, =gUnknown_02038454
- ldr r3, =0x000006d5
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r1, r0
- bne _080AB6E4
-_080AB6D4:
- ldr r0, =gUnknown_020388B4
- b _080AB6EA
- .pool
-_080AB6E4:
- movs r3, 0x80
- lsls r3, 2
- adds r0, r2, r3
-_080AB6EA:
- ldr r1, [sp, 0x4]
- adds r5, r1, r0
- movs r7, 0
- mov r2, r9
- lsls r2, 16
- mov r8, r2
- adds r4, 0x1
- mov r12, r4
- ldr r3, =gPlttBufferFaded
- mov r10, r3
-_080AB6FE:
- adds r2, r6, 0
- lsls r0, r2, 1
- ldr r1, =gPlttBufferUnfaded
- adds r0, r1
- ldr r1, [r0]
- lsls r0, r1, 27
- lsrs r0, 27
- adds r0, r5, r0
- ldrb r4, [r0]
- lsls r0, r1, 22
- lsrs r0, 27
- adds r0, r5, r0
- ldrb r3, [r0]
- lsls r1, 17
- lsrs r1, 27
- adds r1, r5, r1
- ldrb r1, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r2, 1
- add r2, r10
- lsls r1, 10
- lsls r3, 5
- orrs r1, r3
- orrs r1, r4
- strh r1, [r2]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0xF
- bls _080AB6FE
-_080AB73E:
- mov r2, r12
- lsls r0, r2, 16
- lsrs r4, r0, 16
- cmp r0, r8
- bcc _080AB684
- b _080AB82E
- .pool
-_080AB754:
- cmp r0, 0
- bge _080AB81C
- mvns r0, r0
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- lsls r6, r3, 4
- adds r0, r1, r3
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- adds r4, r3, 0
- cmp r4, r9
- bcs _080AB82E
-_080AB770:
- ldr r0, =gUnknown_03000F50
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AB7AC
- lsls r1, r6, 1
- ldr r0, =gPlttBufferUnfaded
- adds r0, r1, r0
- ldr r2, =gPlttBufferFaded
- adds r1, r2
- movs r2, 0x8
- bl CpuFastSet
- adds r0, r6, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r6, r0, 16
- mov r3, r9
- lsls r3, 16
- mov r8, r3
- adds r4, 0x1
- mov r12, r4
- b _080AB804
- .pool
-_080AB7AC:
- movs r7, 0
- mov r0, r9
- lsls r0, 16
- mov r8, r0
- adds r4, 0x1
- mov r12, r4
- ldr r1, =gUnknown_0854014C
- mov r10, r1
- ldr r2, [sp]
- lsls r0, r2, 24
- asrs r5, r0, 11
-_080AB7C2:
- lsls r0, r6, 1
- ldr r3, =gPlttBufferFaded
- adds r4, r0, r3
- ldr r1, =gPlttBufferUnfaded
- adds r0, r1
- ldrh r3, [r0]
- lsls r3, 16
- lsrs r0, r3, 17
- movs r1, 0xF
- ands r0, r1
- lsrs r1, r3, 18
- movs r2, 0xF0
- ands r1, r2
- orrs r0, r1
- lsrs r3, 19
- movs r2, 0xF0
- lsls r2, 4
- adds r1, r2, 0
- ands r3, r1
- orrs r0, r3
- lsls r0, 1
- adds r0, r5
- add r0, r10
- ldrh r0, [r0]
- strh r0, [r4]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0xF
- bls _080AB7C2
-_080AB804:
- mov r3, r12
- lsls r0, r3, 16
- lsrs r4, r0, 16
- cmp r0, r8
- bcc _080AB770
- b _080AB82E
- .pool
-_080AB81C:
- lsls r1, r4, 5
- ldr r0, =gPlttBufferUnfaded
- adds r0, r1, r0
- ldr r2, =gPlttBufferFaded
- adds r1, r2
- mov r3, r9
- lsls r2, r3, 3
- bl CpuFastSet
-_080AB82E:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pal_fade_2
-
- thumb_func_start sub_80AB848
-sub_80AB848: @ 80AB848
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- ldr r4, [sp, 0x34]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- mov r1, sp
- strh r4, [r1]
- ldr r1, [sp]
- lsls r3, r1, 27
- lsrs r3, 27
- str r3, [sp, 0x4]
- lsls r3, r1, 22
- lsrs r3, 27
- str r3, [sp, 0x8]
- lsls r1, 17
- lsrs r1, 27
- str r1, [sp, 0xC]
- lsls r6, r0, 4
- mov r3, r10
- adds r1, r3, r0
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r2, r1
- lsrs r2, 24
- adds r4, r0, 0
- cmp r4, r10
- bcs _080AB974
- lsls r0, r2, 24
- asrs r0, 19
- str r0, [sp, 0x10]
-_080AB8A0:
- ldr r0, =gUnknown_03000F50
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AB8D4
- mov r0, sp
- ldrh r3, [r0]
- adds r0, r6, 0
- movs r1, 0x10
- mov r2, r8
- bl BlendPalette
- adds r0, r6, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r6, r0, 16
- mov r3, r10
- lsls r3, 16
- mov r9, r3
- adds r4, 0x1
- mov r12, r4
- b _080AB96A
- .pool
-_080AB8D4:
- cmp r0, 0x1
- bne _080AB8E4
- ldr r0, =gUnknown_02038654
- ldr r1, [sp, 0x10]
- adds r5, r1, r0
- b _080AB8EA
- .pool
-_080AB8E4:
- ldr r0, =gUnknown_020388B4
- ldr r3, [sp, 0x10]
- adds r5, r3, r0
-_080AB8EA:
- movs r7, 0
- mov r0, r10
- lsls r0, 16
- mov r9, r0
- adds r4, 0x1
- mov r12, r4
-_080AB8F6:
- adds r4, r6, 0
- lsls r0, r4, 1
- ldr r1, =gPlttBufferUnfaded
- adds r0, r1
- ldr r1, [r0]
- lsls r0, r1, 27
- lsrs r0, 27
- adds r0, r5, r0
- ldrb r3, [r0]
- lsls r0, r1, 22
- lsrs r0, 27
- adds r0, r5, r0
- ldrb r2, [r0]
- lsls r1, 17
- lsrs r1, 27
- adds r1, r5, r1
- ldrb r1, [r1]
- ldr r6, [sp, 0x4]
- subs r0, r6, r3
- mov r6, r8
- muls r6, r0
- adds r0, r6, 0
- asrs r0, 4
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- ldr r6, [sp, 0x8]
- subs r0, r6, r2
- mov r6, r8
- muls r6, r0
- adds r0, r6, 0
- asrs r0, 4
- adds r2, r0
- lsls r2, 24
- ldr r6, [sp, 0xC]
- subs r0, r6, r1
- mov r6, r8
- muls r6, r0
- adds r0, r6, 0
- asrs r0, 4
- adds r1, r0
- lsls r1, 24
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r4, 1
- ldr r0, =gPlttBufferFaded
- adds r4, r0
- lsrs r1, 14
- lsrs r2, 19
- orrs r1, r2
- orrs r1, r3
- strh r1, [r4]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0xF
- bls _080AB8F6
-_080AB96A:
- mov r1, r12
- lsls r0, r1, 16
- lsrs r4, r0, 16
- cmp r0, r9
- bcc _080AB8A0
-_080AB974:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AB848
-
- thumb_func_start sub_80AB990
-sub_80AB990: @ 80AB990
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r1, 24
- lsrs r6, r1, 24
- mov r1, sp
- strh r2, [r1]
- lsls r0, 24
- movs r1, 0xFF
- lsls r1, 24
- eors r0, r1
- lsrs r0, 24
- str r0, [sp, 0x4]
- ldr r0, [sp]
- lsls r1, r0, 27
- lsrs r1, 27
- str r1, [sp, 0x8]
- lsls r1, r0, 22
- lsrs r1, 27
- str r1, [sp, 0xC]
- lsls r0, 17
- lsrs r0, 27
- mov r10, r0
- movs r5, 0
- movs r4, 0
-_080AB9C8:
- ldr r0, =gUnknown_03000F50
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AB9F4
- mov r0, sp
- ldrh r3, [r0]
- adds r0, r5, 0
- movs r1, 0x10
- adds r2, r6, 0
- bl BlendPalette
- adds r0, r5, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r5, r0, 16
- adds r4, 0x1
- mov r8, r4
- b _080ABA8A
- .pool
-_080AB9F4:
- movs r0, 0
- mov r12, r0
- ldr r1, [sp, 0x4]
- lsls r0, r1, 24
- adds r4, 0x1
- mov r8, r4
- movs r7, 0x1E
- asrs r0, 11
- mov r9, r0
-_080ABA06:
- adds r4, r5, 0
- lsls r0, r4, 1
- ldr r5, =gPlttBufferUnfaded
- adds r0, r5
- ldr r0, [r0]
- lsls r2, r0, 27
- lsrs r2, 27
- lsls r1, r0, 22
- lsrs r1, 27
- lsls r0, 17
- lsrs r0, 27
- ands r0, r7
- lsls r0, 7
- ands r1, r7
- lsls r1, 3
- orrs r0, r1
- ands r2, r7
- lsls r0, 1
- orrs r0, r2
- add r0, r9
- ldr r1, =gUnknown_0854014C
- adds r0, r1
- ldr r1, [r0]
- lsls r3, r1, 27
- lsrs r3, 27
- lsls r2, r1, 22
- lsrs r2, 27
- lsls r1, 17
- lsrs r1, 27
- ldr r5, [sp, 0x8]
- subs r0, r5, r3
- muls r0, r6
- asrs r0, 4
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- ldr r5, [sp, 0xC]
- subs r0, r5, r2
- muls r0, r6
- asrs r0, 4
- adds r2, r0
- lsls r2, 24
- mov r5, r10
- subs r0, r5, r1
- muls r0, r6
- asrs r0, 4
- adds r1, r0
- lsls r1, 24
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r4, 1
- ldr r0, =gPlttBufferFaded
- adds r4, r0
- lsrs r1, 14
- lsrs r2, 19
- orrs r1, r2
- orrs r1, r3
- strh r1, [r4]
- mov r0, r12
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r12, r0
- cmp r0, 0xF
- bls _080ABA06
-_080ABA8A:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r4, r0, 16
- cmp r4, 0x1F
- bls _080AB9C8
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AB990
-
- thumb_func_start sub_80ABAB0
-sub_80ABAB0: @ 80ABAB0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r3, r1, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r3, 16
- lsrs r3, 16
- mov r0, sp
- strh r3, [r0]
- movs r1, 0x80
- lsls r1, 1
- movs r0, 0
- adds r2, r7, 0
- bl BlendPalette
- ldr r0, [sp]
- lsls r1, r0, 27
- lsrs r1, 27
- str r1, [sp, 0x4]
- lsls r1, r0, 22
- lsrs r1, 27
- str r1, [sp, 0x8]
- lsls r0, 17
- lsrs r0, 27
- mov r10, r0
- movs r4, 0x10
-_080ABAEC:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80ABC00
- lsls r0, 24
- cmp r0, 0
- beq _080ABB9C
- adds r0, r4, 0x1
- lsls r1, r0, 20
- lsrs r1, 16
- mov r12, r1
- lsls r1, r4, 20
- lsrs r6, r1, 16
- mov r9, r0
- cmp r6, r12
- bcs _080ABBB0
- movs r0, 0x1C
- mov r8, r0
-_080ABB10:
- lsls r5, r6, 1
- ldr r0, =gPlttBufferUnfaded
- adds r0, r5, r0
- ldr r2, [r0]
- lsls r4, r2, 27
- lsrs r4, 27
- lsls r3, r2, 22
- lsrs r3, 27
- lsls r2, 17
- lsrs r2, 27
- mov r0, r8
- subs r1, r0, r4
- lsls r0, r1, 1
- adds r0, r1
- asrs r0, 2
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0x1F
- subs r1, r3
- lsls r0, r1, 1
- adds r0, r1
- asrs r0, 2
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r8
- subs r1, r0, r2
- lsls r0, r1, 1
- adds r0, r1
- asrs r0, 2
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldr r1, [sp, 0x4]
- subs r0, r1, r4
- muls r0, r7
- asrs r0, 4
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, [sp, 0x8]
- subs r0, r1, r3
- muls r0, r7
- asrs r0, 4
- adds r3, r0
- lsls r3, 24
- mov r1, r10
- subs r0, r1, r2
- muls r0, r7
- asrs r0, 4
- adds r2, r0
- lsls r2, 24
- ldr r0, =gPlttBufferFaded
- adds r5, r0
- lsrs r2, 14
- lsrs r3, 19
- orrs r2, r3
- orrs r2, r4
- strh r2, [r5]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, r12
- bcc _080ABB10
- b _080ABBB0
- .pool
-_080ABB9C:
- lsls r0, r4, 20
- lsrs r0, 16
- mov r1, sp
- ldrh r3, [r1]
- movs r1, 0x10
- adds r2, r7, 0
- bl BlendPalette
- adds r4, 0x1
- mov r9, r4
-_080ABBB0:
- mov r1, r9
- lsls r0, r1, 16
- lsrs r4, r0, 16
- cmp r4, 0x1F
- bls _080ABAEC
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80ABAB0
-
- thumb_func_start sub_80ABBCC
-sub_80ABBCC: @ 80ABBCC
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r3, =gUnknown_02038454
- ldr r0, =0x000006fa
- adds r1, r3, r0
- ldrb r0, [r1]
- cmp r0, 0x5
- bhi _080ABBEE
- ldr r4, =0x000006f4
- adds r0, r3, r4
- ldrb r3, [r1]
- adds r0, r3
- strb r2, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080ABBEE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80ABBCC
-
- thumb_func_start sub_80ABC00
-sub_80ABC00: @ 80ABC00
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r1, 0
- ldr r2, =gUnknown_02038454
- ldr r4, =0x000006fa
- adds r0, r2, r4
- ldrb r0, [r0]
- cmp r1, r0
- bcs _080ABC3E
- ldr r5, =0x000006f4
- adds r4, r2, r5
- adds r2, r0, 0
-_080ABC1A:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, r3
- bne _080ABC34
- movs r0, 0x1
- b _080ABC40
- .pool
-_080ABC34:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- bcc _080ABC1A
-_080ABC3E:
- movs r0, 0
-_080ABC40:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80ABC00
-
- thumb_func_start sub_80ABC48
-sub_80ABC48: @ 80ABC48
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, =gUnknown_02038454
- ldr r1, =0x000006c6
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _080ABC6E
- lsls r2, r4, 24
- asrs r2, 24
- movs r0, 0
- movs r1, 0x20
- bl pal_fade_2
- movs r1, 0xD8
- lsls r1, 3
- adds r0, r5, r1
- strb r4, [r0]
-_080ABC6E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80ABC48
-
- thumb_func_start sub_80ABC7C
-sub_80ABC7C: @ 80ABC7C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r3, =gUnknown_02038454
- ldr r0, =0x000006c6
- adds r2, r3, r0
- ldrb r0, [r2]
- cmp r0, 0x3
- bne _080ABCBC
- movs r1, 0
- strb r1, [r2]
- movs r2, 0xD8
- lsls r2, 3
- adds r0, r3, r2
- strb r4, [r0]
- adds r2, 0x1
- adds r0, r3, r2
- strb r5, [r0]
- adds r2, 0x2
- adds r0, r3, r2
- strb r1, [r0]
- ldr r1, =0x000006c2
- adds r0, r3, r1
- strb r6, [r0]
- lsls r0, r4, 24
- asrs r0, 24
- bl sub_80ABC48
-_080ABCBC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80ABC7C
-
- thumb_func_start FadeScreen
-FadeScreen: @ 80ABCD0
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r0, 0x1
- beq _080ABD08
- cmp r0, 0x1
- bgt _080ABCEC
- cmp r0, 0
- beq _080ABCF6
- b _080ABDE4
-_080ABCEC:
- cmp r2, 0x2
- beq _080ABCFC
- cmp r2, 0x3
- beq _080ABD0C
- b _080ABDE4
-_080ABCF6:
- movs r4, 0
- movs r1, 0
- b _080ABD10
-_080ABCFC:
- ldr r4, =0x0000ffff
- movs r1, 0
- b _080ABD10
- .pool
-_080ABD08:
- movs r4, 0
- b _080ABD0E
-_080ABD0C:
- ldr r4, =0x0000ffff
-_080ABD0E:
- movs r1, 0x1
-_080ABD10:
- ldr r0, =gUnknown_02038454
- movs r2, 0xDA
- lsls r2, 3
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x3
- blt _080ABD38
- cmp r0, 0x6
- ble _080ABD2A
- cmp r0, 0xD
- bgt _080ABD38
- cmp r0, 0xB
- blt _080ABD38
-_080ABD2A:
- movs r2, 0x1
- b _080ABD3A
- .pool
-_080ABD38:
- movs r2, 0
-_080ABD3A:
- cmp r1, 0
- beq _080ABD7C
- cmp r2, 0
- beq _080ABD4E
- ldr r0, =gPlttBufferFaded
- ldr r1, =gPlttBufferUnfaded
- movs r2, 0x80
- lsls r2, 1
- bl CpuFastSet
-_080ABD4E:
- movs r0, 0x1
- negs r0, r0
- lsls r1, r5, 24
- asrs r1, 24
- str r4, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_02038454
- ldr r3, =0x000006c6
- adds r0, r3
- movs r1, 0x2
- strb r1, [r0]
- b _080ABDE4
- .pool
-_080ABD7C:
- ldr r1, =gUnknown_02038454
- ldr r3, =0x000006c4
- adds r0, r1, r3
- strh r4, [r0]
- cmp r2, 0
- beq _080ABDA0
- ldr r0, =0x000006c7
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- b _080ABDB2
- .pool
-_080ABDA0:
- movs r0, 0x1
- negs r0, r0
- lsls r1, r5, 24
- asrs r1, 24
- str r4, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_080ABDB2:
- ldr r4, =gUnknown_02038454
- ldr r1, =0x000006c6
- adds r0, r4, r1
- movs r1, 0
- movs r5, 0x1
- strb r5, [r0]
- ldr r2, =0x000006ca
- adds r0, r4, r2
- strb r5, [r0]
- ldr r3, =0x000006cb
- adds r0, r4, r3
- strb r1, [r0]
- movs r1, 0xE6
- lsls r1, 3
- adds r0, r4, r1
- ldrb r0, [r0]
- adds r2, 0x68
- adds r1, r4, r2
- ldrb r1, [r1]
- bl sub_80AC124
- movs r3, 0xD9
- lsls r3, 3
- adds r4, r3
- strb r5, [r4]
-_080ABDE4:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FadeScreen
-
- thumb_func_start IsWeatherNotFadingIn
-IsWeatherNotFadingIn: @ 80ABDFC
- ldr r0, =gUnknown_02038454
- ldr r1, =0x000006c6
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- bx lr
- .pool
- thumb_func_end IsWeatherNotFadingIn
-
- thumb_func_start UpdateSpritePaletteWithWeather
-@ void UpdateSpritePaletteWithWeather(u8 a1)
-UpdateSpritePaletteWithWeather: @ 80ABE18
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 8
- movs r1, 0x80
- lsls r1, 13
- adds r0, r1
- lsrs r4, r0, 16
- ldr r5, =gUnknown_02038454
- ldr r2, =0x000006c6
- adds r0, r5, r2
- ldrb r0, [r0]
- adds r1, r5, 0
- cmp r0, 0x1
- beq _080ABE60
- cmp r0, 0x2
- beq _080ABEAC
- adds r2, 0xA
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x6
- beq _080ABEE4
- lsls r0, r4, 24
- lsrs r0, 24
- subs r2, 0x10
- adds r1, r2
- movs r2, 0
- ldrsb r2, [r1, r2]
- movs r1, 0x1
- bl pal_fade_2
- b _080ABEF4
- .pool
-_080ABE60:
- ldr r2, =0x000006ca
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080ABEF4
- adds r2, 0x6
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x6
- bne _080ABE7C
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80ABBCC
-_080ABE7C:
- lsls r0, r4, 20
- lsrs r4, r0, 16
- movs r2, 0
- ldr r6, =gPlttBufferFaded
- ldr r0, =0x000006c4
- adds r3, r5, r0
-_080ABE88:
- adds r0, r4, r2
- lsls r0, 1
- adds r0, r6
- ldrh r1, [r3]
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xF
- bls _080ABE88
- b _080ABEF4
- .pool
-_080ABEAC:
- lsls r0, r4, 20
- lsrs r4, r0, 16
- lsls r1, r4, 1
- ldr r0, =gPlttBufferFaded
- adds r0, r1, r0
- ldr r2, =gPlttBufferUnfaded
- adds r1, r2
- movs r2, 0x8
- bl CpuFastSet
- ldr r0, =gPaletteFade
- ldrh r2, [r0, 0x4]
- lsls r2, 21
- lsrs r2, 27
- ldrh r3, [r0, 0x6]
- lsls r3, 17
- lsrs r3, 17
- adds r0, r4, 0
- movs r1, 0x10
- bl BlendPalette
- b _080ABEF4
- .pool
-_080ABEE4:
- lsls r0, r4, 20
- lsrs r4, r0, 16
- ldr r3, =0x000073fc
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0xC
- bl BlendPalette
-_080ABEF4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end UpdateSpritePaletteWithWeather
-
- thumb_func_start ApplyWeatherGammaShiftToPal
-ApplyWeatherGammaShiftToPal: @ 80ABF00
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02038454
- movs r2, 0xD8
- lsls r2, 3
- adds r1, r2
- movs r2, 0
- ldrsb r2, [r1, r2]
- movs r1, 0x1
- bl pal_fade_2
- pop {r0}
- bx r0
- .pool
- thumb_func_end ApplyWeatherGammaShiftToPal
-
- thumb_func_start sub_80ABF20
-sub_80ABF20: @ 80ABF20
- push {lr}
- ldr r1, =gUnknown_02038454
- ldr r2, =0x000006c6
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080ABF3C
- movs r0, 0
- b _080ABF42
- .pool
-_080ABF3C:
- ldr r2, =0x000006ca
- adds r0, r1, r2
- ldrb r0, [r0]
-_080ABF42:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80ABF20
-
- thumb_func_start sub_80ABF4C
-sub_80ABF4C: @ 80ABF4C
- push {r4,lr}
- ldr r4, =gUnknown_02038454
- ldr r1, =0x000006d4
- adds r4, r1
- ldrb r1, [r4]
- lsls r1, 20
- movs r2, 0x80
- lsls r2, 17
- adds r1, r2
- lsrs r1, 16
- movs r2, 0x20
- bl LoadPalette
- ldrb r0, [r4]
- bl UpdateSpritePaletteWithWeather
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80ABF4C
-
- thumb_func_start sub_80ABF7C
-sub_80ABF7C: @ 80ABF7C
- movs r2, 0x20
- strb r2, [r0]
- strb r2, [r1]
- bx lr
- thumb_func_end sub_80ABF7C
-
- thumb_func_start sub_80ABF84
-sub_80ABF84: @ 80ABF84
- ldr r0, =gUnknown_02038454
- ldr r2, =0x0000074d
- adds r1, r0, r2
- movs r2, 0x1
- strb r2, [r1]
- ldr r1, =0x0000074e
- adds r0, r1
- strb r2, [r0]
- bx lr
- .pool
- thumb_func_end sub_80ABF84
-
- thumb_func_start sub_80ABFA4
-sub_80ABFA4: @ 80ABFA4
- push {r4,lr}
- ldr r1, =gUnknown_02038454
- ldr r0, =0x0000074d
- adds r4, r1, r0
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x1F
- bgt _080ABFD8
- ldr r0, =0x0000074e
- adds r1, r0
- adds r0, r4, 0
- bl sub_80ABF7C
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x1F
- bgt _080ABFD8
- movs r0, 0x1
- b _080ABFDA
- .pool
-_080ABFD8:
- movs r0, 0
-_080ABFDA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80ABFA4
-
- thumb_func_start sub_80ABFE0
-sub_80ABFE0: @ 80ABFE0
- push {lr}
- lsls r0, 24
- asrs r0, 24
- mvns r0, r0
- bl sub_80ABC48
- pop {r0}
- bx r0
- thumb_func_end sub_80ABFE0
-
- thumb_func_start sub_80ABFF0
-sub_80ABFF0: @ 80ABFF0
- ldr r1, =gUnknown_02038454
- ldr r2, =0x0000073c
- adds r0, r1, r2
- movs r2, 0
- strh r2, [r0]
- movs r3, 0xE8
- lsls r3, 3
- adds r0, r1, r3
- strh r2, [r0]
- adds r3, 0x2
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, =0x0000073e
- adds r1, r0
- strh r2, [r1]
- bx lr
- .pool
- thumb_func_end sub_80ABFF0
-
- thumb_func_start sub_80AC01C
-sub_80AC01C: @ 80AC01C
- push {r4-r7,lr}
- ldr r5, =gUnknown_02038454
- ldr r0, =0x00000742
- adds r7, r5, r0
- movs r2, 0
- ldrsh r1, [r7, r2]
- cmp r1, 0x1
- beq _080AC090
- cmp r1, 0x1
- bgt _080AC040
- cmp r1, 0
- beq _080AC046
- b _080AC118
- .pool
-_080AC040:
- cmp r1, 0x2
- beq _080AC0E4
- b _080AC118
-_080AC046:
- movs r3, 0xE8
- lsls r3, 3
- adds r6, r5, r3
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080AC118
- strh r1, [r6]
- ldr r0, =0x0000073c
- adds r4, r5, r0
- ldrh r0, [r4]
- adds r1, r0, 0x1
- strh r1, [r4]
- lsls r0, 24
- asrs r0, 24
- bl sub_80ABFE0
- ldrh r1, [r4]
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0x5
- ble _080AC118
- ldr r3, =0x0000073e
- adds r0, r5, r3
- strh r1, [r0]
- movs r0, 0x1
- strh r0, [r7]
- movs r0, 0x3C
- strh r0, [r6]
- b _080AC118
- .pool
-_080AC090:
- movs r0, 0xE8
- lsls r0, 3
- adds r2, r5, r0
- ldrh r0, [r2]
- adds r0, 0x3
- movs r1, 0x7F
- ands r0, r1
- strh r0, [r2]
- ldr r1, =gSineTable
- movs r3, 0
- ldrsh r0, [r2, r3]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- subs r0, 0x1
- asrs r0, 6
- adds r0, 0x2
- ldr r2, =0x0000073c
- adds r6, r5, r2
- adds r2, r0, 0
- strh r0, [r6]
- ldr r3, =0x0000073e
- adds r4, r5, r3
- movs r3, 0
- ldrsh r1, [r4, r3]
- cmp r0, r1
- beq _080AC0D0
- lsls r0, r2, 24
- asrs r0, 24
- bl sub_80ABFE0
-_080AC0D0:
- ldrh r0, [r6]
- strh r0, [r4]
- b _080AC118
- .pool
-_080AC0E4:
- movs r0, 0xE8
- lsls r0, 3
- adds r1, r5, r0
- ldrh r0, [r1]
- adds r0, 0x1
- movs r6, 0
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080AC118
- strh r6, [r1]
- ldr r1, =0x0000073c
- adds r4, r5, r1
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- lsls r0, 24
- asrs r0, 24
- bl sub_80ABFE0
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0x3
- bne _080AC118
- strh r6, [r7]
-_080AC118:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AC01C
-
- thumb_func_start sub_80AC124
-sub_80AC124: @ 80AC124
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_02038454
- movs r4, 0xE6
- lsls r4, 3
- adds r2, r3, r4
- strh r0, [r2]
- adds r4, 0x2
- adds r2, r3, r4
- strh r1, [r2]
- adds r4, 0x2
- adds r2, r3, r4
- strh r0, [r2]
- ldr r2, =0x00000736
- adds r3, r2
- strh r1, [r3]
- lsls r1, 8
- orrs r1, r0
- movs r0, 0x52
- bl SetGpuReg
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AC124
-
- thumb_func_start sub_80AC164
-sub_80AC164: @ 80AC164
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_02038454
- ldr r5, =0x00000734
- adds r4, r3, r5
- movs r5, 0
- strh r0, [r4]
- ldr r4, =0x00000736
- adds r0, r3, r4
- strh r1, [r0]
- ldr r1, =0x0000073a
- adds r0, r3, r1
- strb r2, [r0]
- adds r4, 0x3
- adds r0, r3, r4
- strb r5, [r0]
- movs r0, 0xE7
- lsls r0, 3
- adds r3, r0
- strb r5, [r3]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AC164
-
- thumb_func_start sub_80AC1A8
-sub_80AC1A8: @ 80AC1A8
- push {r4-r6,lr}
- ldr r0, =gUnknown_02038454
- movs r1, 0xE6
- lsls r1, 3
- adds r3, r0, r1
- ldr r2, [r3]
- ldr r6, =0x00000734
- adds r4, r0, r6
- ldr r1, [r4]
- adds r5, r0, 0
- cmp r2, r1
- beq _080AC26C
- ldr r0, =0x00000739
- adds r2, r5, r0
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- ldr r6, =0x0000073a
- adds r1, r5, r6
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bls _080AC238
- movs r0, 0
- strb r0, [r2]
- movs r0, 0xE7
- lsls r0, 3
- adds r1, r5, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AC210
- ldrh r1, [r3]
- adds r2, r1, 0
- ldrh r0, [r4]
- cmp r2, r0
- bcs _080AC230
- adds r0, r1, 0x1
- b _080AC236
- .pool
-_080AC210:
- ldr r1, =0x00000732
- adds r3, r5, r1
- ldr r2, =0x00000736
- adds r0, r5, r2
- ldrh r1, [r3]
- adds r2, r1, 0
- ldrh r0, [r0]
- cmp r2, r0
- bcs _080AC230
- adds r0, r1, 0x1
- b _080AC236
- .pool
-_080AC230:
- cmp r2, r0
- bls _080AC238
- subs r0, r1, 0x1
-_080AC236:
- strh r0, [r3]
-_080AC238:
- ldr r6, =0x00000732
- adds r0, r5, r6
- ldrh r1, [r0]
- lsls r1, 8
- movs r0, 0xE6
- lsls r0, 3
- adds r4, r5, r0
- ldrh r0, [r4]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, [r4]
- ldr r2, =0x00000734
- adds r0, r5, r2
- ldr r0, [r0]
- cmp r1, r0
- beq _080AC26C
- movs r0, 0
- b _080AC26E
- .pool
-_080AC26C:
- movs r0, 0x1
-_080AC26E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80AC1A8
-
- thumb_func_start sub_80AC274
-sub_80AC274: @ 80AC274
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x9
- bhi _080AC306
- lsls r0, 2
- ldr r1, =_080AC290
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080AC290:
- .4byte _080AC2B8
- .4byte _080AC2C0
- .4byte _080AC2C8
- .4byte _080AC2D0
- .4byte _080AC2D8
- .4byte _080AC2E0
- .4byte _080AC2E8
- .4byte _080AC2F0
- .4byte _080AC2F8
- .4byte _080AC300
-_080AC2B8:
- movs r0, 0x1
- bl SetWeather
- b _080AC306
-_080AC2C0:
- movs r0, 0x2
- bl SetWeather
- b _080AC306
-_080AC2C8:
- movs r0, 0x3
- bl SetWeather
- b _080AC306
-_080AC2D0:
- movs r0, 0x4
- bl SetWeather
- b _080AC306
-_080AC2D8:
- movs r0, 0x5
- bl SetWeather
- b _080AC306
-_080AC2E0:
- movs r0, 0x6
- bl SetWeather
- b _080AC306
-_080AC2E8:
- movs r0, 0x9
- bl SetWeather
- b _080AC306
-_080AC2F0:
- movs r0, 0x7
- bl SetWeather
- b _080AC306
-_080AC2F8:
- movs r0, 0x8
- bl SetWeather
- b _080AC306
-_080AC300:
- movs r0, 0xB
- bl SetWeather
-_080AC306:
- pop {r0}
- bx r0
- thumb_func_end sub_80AC274
-
- thumb_func_start weather_get_current
-weather_get_current: @ 80AC30C
- ldr r0, =gUnknown_02038454
- movs r1, 0xDA
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end weather_get_current
-
- thumb_func_start sub_80AC31C
-sub_80AC31C: @ 80AC31C
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, =gUnknown_02038454
- ldr r3, =0x000006c6
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080AC36E
- cmp r2, 0x53
- beq _080AC354
- cmp r2, 0x53
- bgt _080AC344
- cmp r2, 0x51
- beq _080AC360
- b _080AC36E
- .pool
-_080AC344:
- cmp r2, 0x55
- bne _080AC36E
- ldr r0, =0x000006dd
- adds r1, r0
- movs r0, 0
- b _080AC366
- .pool
-_080AC354:
- ldr r3, =0x000006dd
- adds r1, r3
- movs r0, 0x1
- b _080AC366
- .pool
-_080AC360:
- ldr r0, =0x000006dd
- adds r1, r0
- movs r0, 0x2
-_080AC366:
- strb r0, [r1]
- adds r0, r2, 0
- bl PlaySE
-_080AC36E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AC31C
-
- thumb_func_start play_some_sound
-play_some_sound: @ 80AC378
- push {lr}
- bl IsSpecialSEPlaying
- lsls r0, 24
- cmp r0, 0
- beq _080AC3B6
- ldr r0, =gUnknown_02038454
- ldr r1, =0x000006dd
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080AC3A8
- cmp r0, 0x1
- bgt _080AC3B0
- cmp r0, 0
- bne _080AC3B0
- movs r0, 0x56
- bl PlaySE
- b _080AC3B6
- .pool
-_080AC3A8:
- movs r0, 0x54
- bl PlaySE
- b _080AC3B6
-_080AC3B0:
- movs r0, 0x52
- bl PlaySE
-_080AC3B6:
- pop {r0}
- bx r0
- thumb_func_end play_some_sound
-
- thumb_func_start IsWeatherChangeComplete
-IsWeatherChangeComplete: @ 80AC3BC
- ldr r0, =gUnknown_02038454
- ldr r1, =0x000006d3
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end IsWeatherChangeComplete
-
- thumb_func_start sub_80AC3D0
-sub_80AC3D0: @ 80AC3D0
- ldr r0, =gUnknown_02038454
- ldr r1, =0x000006c6
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_80AC3D0
-
- thumb_func_start sub_80AC3E4
-sub_80AC3E4: @ 80AC3E4
- ldr r0, =gUnknown_02038454
- ldr r1, =0x000006c6
- adds r0, r1
- movs r1, 0x3
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_80AC3E4
-
- thumb_func_start PreservePaletteInWeather
-PreservePaletteInWeather: @ 80AC3F8
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_0854C250
- ldr r5, =gUnknown_02038BA4
- adds r1, r5, 0
- movs r2, 0x10
- bl CpuSet
- adds r4, r5
- movs r0, 0
- strb r0, [r4]
- ldr r0, =gUnknown_03000F50
- str r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end PreservePaletteInWeather
-
- thumb_func_start ResetPreservedPalettesInWeather
-ResetPreservedPalettesInWeather: @ 80AC428
- ldr r1, =gUnknown_03000F50
- ldr r0, =gUnknown_0854C250
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end ResetPreservedPalettesInWeather
-
- thumb_func_start sub_80AC438
-sub_80AC438: @ 80AC438
- push {lr}
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r2, =0x000006c1
- adds r1, r0, r2
- movs r2, 0
- strb r2, [r1]
- ldr r1, =0x000006c2
- adds r3, r0, r1
- movs r1, 0x14
- strb r1, [r3]
- ldr r3, =0x000006d2
- adds r1, r0, r3
- strb r2, [r1]
- subs r3, 0x6
- adds r1, r0, r3
- strh r2, [r1]
- ldr r1, =0x000006de
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AC46C
- movs r0, 0
- movs r1, 0x10
- bl sub_80AC124
-_080AC46C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AC438
-
- thumb_func_start sub_80AC484
-sub_80AC484: @ 80AC484
- push {r4,lr}
- bl sub_80AC438
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006d2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AC4A4
- adds r4, r1, r2
-_080AC49A:
- bl sub_80AC4B4
- ldrb r0, [r4]
- cmp r0, 0
- beq _080AC49A
-_080AC4A4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AC484
-
- thumb_func_start sub_80AC4B4
-sub_80AC4B4: @ 80AC4B4
- push {r4,r5,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r5, [r0]
- ldr r0, =0x000006cc
- adds r4, r5, r0
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _080AC4E4
- cmp r0, 0x1
- bgt _080AC4D8
- cmp r0, 0
- beq _080AC4DE
- b _080AC508
- .pool
-_080AC4D8:
- cmp r0, 0x2
- beq _080AC4F0
- b _080AC508
-_080AC4DE:
- bl sub_80AC594
- b _080AC502
-_080AC4E4:
- movs r0, 0xC
- movs r1, 0x8
- movs r2, 0x1
- bl sub_80AC164
- b _080AC502
-_080AC4F0:
- bl sub_80AC1A8
- lsls r0, 24
- cmp r0, 0
- beq _080AC508
- ldr r0, =0x000006d2
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
-_080AC502:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080AC508:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AC4B4
-
- thumb_func_start sub_80AC514
-sub_80AC514: @ 80AC514
- push {r4,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x000006ce
- adds r4, r0, r1
- ldrh r0, [r4]
- cmp r0, 0
- beq _080AC534
- cmp r0, 0x1
- beq _080AC540
- movs r0, 0
- b _080AC556
- .pool
-_080AC534:
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x1
- bl sub_80AC164
- b _080AC54E
-_080AC540:
- bl sub_80AC1A8
- lsls r0, 24
- cmp r0, 0
- beq _080AC554
- bl sub_80AC660
-_080AC54E:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080AC554:
- movs r0, 0x1
-_080AC556:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80AC514
-
- thumb_func_start sub_80AC55C
-sub_80AC55C: @ 80AC55C
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r0, =0x000006c1
- adds r2, r1, r0
- movs r0, 0
- strb r0, [r2]
- ldr r0, =0x000006c2
- adds r1, r0
- movs r0, 0x14
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80AC55C
-
- thumb_func_start sub_80AC580
-sub_80AC580: @ 80AC580
- push {lr}
- bl sub_80AC55C
- pop {r0}
- bx r0
- thumb_func_end sub_80AC580
-
- thumb_func_start nullsub_95
-nullsub_95: @ 80AC58C
- bx lr
- thumb_func_end nullsub_95
-
- thumb_func_start sub_80AC590
-sub_80AC590: @ 80AC590
- movs r0, 0
- bx lr
- thumb_func_end sub_80AC590
-
- thumb_func_start sub_80AC594
-sub_80AC594: @ 80AC594
- push {r4,r5,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x000006de
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080AC650
- ldr r0, =sCloudSpriteSheet
- bl LoadSpriteSheet
- ldr r0, =gUnknown_0854C290
- bl sub_80ABF4C
- movs r5, 0
-_080AC5B2:
- ldr r0, =sCloudSpriteTemplate
- movs r1, 0
- movs r2, 0
- movs r3, 0xFF
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _080AC628
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- lsls r2, r5, 2
- movs r0, 0xFA
- lsls r0, 1
- adds r1, r0
- adds r1, r2
- lsls r4, r3, 4
- adds r4, r3
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- str r4, [r1]
- ldr r0, =gUnknown_0854FB50
- adds r2, r0
- ldrh r0, [r2]
- adds r0, 0x7
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r2, 0x2]
- adds r1, 0x7
- lsls r1, 16
- asrs r1, 16
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- bl sub_8093038
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- b _080AC63A
- .pool
-_080AC628:
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- lsls r0, r5, 2
- movs r2, 0xFA
- lsls r2, 1
- adds r1, r2
- adds r1, r0
- movs r0, 0
- str r0, [r1]
-_080AC63A:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x2
- bls _080AC5B2
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x000006de
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
-_080AC650:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AC594
-
- thumb_func_start sub_80AC660
-sub_80AC660: @ 80AC660
- push {r4,r5,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006de
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080AC6A4
- movs r4, 0
- movs r0, 0xFA
- lsls r0, 1
- adds r5, r1, r0
-_080AC678:
- lsls r0, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080AC686
- bl DestroySprite
-_080AC686:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x2
- bls _080AC678
- movs r0, 0x90
- lsls r0, 5
- bl FreeSpriteTilesByTag
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x000006de
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_080AC6A4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AC660
-
- thumb_func_start sub_80AC6B4
-sub_80AC6B4: @ 80AC6B4
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- movs r1, 0x1
- ands r0, r1
- strh r0, [r2, 0x2E]
- cmp r0, 0
- beq _080AC6CC
- ldrh r0, [r2, 0x20]
- subs r0, 0x1
- strh r0, [r2, 0x20]
-_080AC6CC:
- pop {r0}
- bx r0
- thumb_func_end sub_80AC6B4
-
- thumb_func_start sub_80AC6D0
-sub_80AC6D0: @ 80AC6D0
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r0, =0x000006cc
- adds r3, r1, r0
- movs r2, 0
- movs r0, 0
- strh r0, [r3]
- ldr r3, =0x000006d2
- adds r0, r1, r3
- strb r2, [r0]
- subs r3, 0x11
- adds r0, r1, r3
- strb r2, [r0]
- ldr r0, =0x000006c2
- adds r1, r0
- strb r2, [r1]
- bx lr
- .pool
- thumb_func_end sub_80AC6D0
-
- thumb_func_start sub_80AC704
-sub_80AC704: @ 80AC704
- push {r4,lr}
- bl sub_80AC6D0
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006d2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AC724
- adds r4, r1, r2
-_080AC71A:
- bl sub_80AC734
- ldrb r0, [r4]
- cmp r0, 0
- beq _080AC71A
-_080AC724:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AC704
-
- thumb_func_start sub_80AC734
-sub_80AC734: @ 80AC734
- push {lr}
- ldr r1, =gUnknown_0854C14C
- ldr r0, [r1]
- ldr r2, =0x000006cc
- adds r0, r2
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x4
- bhi _080AC810
- lsls r0, 2
- ldr r1, =_080AC75C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080AC75C:
- .4byte _080AC770
- .4byte _080AC78C
- .4byte _080AC7A4
- .4byte _080AC7C0
- .4byte _080AC7D8
-_080AC770:
- ldr r1, [r2]
- ldr r2, =0x000006c6
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080AC814
- ldr r0, =0x000006cc
- adds r1, r0
- b _080AC7F8
- .pool
-_080AC78C:
- bl sub_80ABF84
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006cc
- adds r1, r2
- b _080AC7F8
- .pool
-_080AC7A4:
- bl sub_80ABFA4
- lsls r0, 24
- cmp r0, 0
- bne _080AC814
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r0, =0x000006cc
- adds r1, r0
- b _080AC7F8
- .pool
-_080AC7C0:
- bl sub_80ABFF0
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006cc
- adds r1, r2
- b _080AC7F8
- .pool
-_080AC7D8:
- bl sub_80AC01C
- ldr r0, =gUnknown_0854C14C
- ldr r2, [r0]
- ldr r1, =0x0000073c
- adds r0, r2, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x6
- bne _080AC814
- ldr r0, =0x000006d2
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =0x000006cc
- adds r1, r2, r0
-_080AC7F8:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080AC814
- .pool
-_080AC810:
- bl sub_80AC01C
-_080AC814:
- pop {r0}
- bx r0
- thumb_func_end sub_80AC734
-
- thumb_func_start sub_80AC818
-sub_80AC818: @ 80AC818
- movs r0, 0
- bx lr
- thumb_func_end sub_80AC818
-
- thumb_func_start sub_80AC81C
-sub_80AC81C: @ 80AC81C
- push {lr}
- ldr r0, =task50_0807B6D4
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AC81C
-
- thumb_func_start task50_0807B6D4
-task50_0807B6D4: @ 80AC830
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bhi _080AC922
- lsls r0, 2
- ldr r1, =_080AC85C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080AC85C:
- .4byte _080AC870
- .4byte _080AC89A
- .4byte _080AC8C8
- .4byte _080AC8F8
- .4byte _080AC918
-_080AC870:
- movs r0, 0
- strh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- ldr r0, =0x04000048
- ldrh r0, [r0]
- strh r0, [r4, 0xE]
- ldr r1, =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0x9E
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080AC89A:
- ldrh r0, [r4, 0xA]
- adds r0, 0x3
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _080AC8AC
- movs r0, 0x10
- strh r0, [r4, 0xA]
-_080AC8AC:
- ldrh r1, [r4, 0xA]
- movs r0, 0x54
- bl SetGpuReg
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0xF
- ble _080AC922
- b _080AC910
- .pool
-_080AC8C8:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- ble _080AC922
- strh r1, [r4, 0xC]
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bgt _080AC8EE
- strh r1, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080AC8EE:
- ldrh r1, [r4, 0xA]
- movs r0, 0x54
- bl SetGpuReg
- b _080AC922
-_080AC8F8:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldrh r1, [r4, 0xE]
- movs r0, 0x48
- bl SetGpuReg
-_080AC910:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080AC922
-_080AC918:
- bl EnableBothScriptContexts
- adds r0, r5, 0
- bl DestroyTask
-_080AC922:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end task50_0807B6D4
-
- thumb_func_start sub_80AC928
-sub_80AC928: @ 80AC928
- push {r4,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006cc
- adds r0, r1, r2
- movs r3, 0
- movs r2, 0
- strh r2, [r0]
- ldr r4, =0x000006d2
- adds r0, r1, r4
- strb r3, [r0]
- adds r4, 0x4
- adds r0, r1, r4
- strh r2, [r0]
- ldr r0, =0x000006db
- adds r2, r1, r0
- movs r0, 0x8
- strb r0, [r2]
- ldr r2, =0x000006dc
- adds r0, r1, r2
- strb r3, [r0]
- adds r4, 0x3
- adds r2, r1, r4
- movs r0, 0xA
- strb r0, [r2]
- ldr r0, =0x000006c1
- adds r2, r1, r0
- movs r0, 0x3
- strb r0, [r2]
- ldr r2, =0x000006c2
- adds r1, r2
- movs r0, 0x14
- strb r0, [r1]
- movs r0, 0x55
- bl sub_80AC31C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AC928
-
- thumb_func_start sub_80AC994
-sub_80AC994: @ 80AC994
- push {r4,lr}
- bl sub_80AC928
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006d2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AC9B4
- adds r4, r1, r2
-_080AC9AA:
- bl sub_80AC9C4
- ldrb r0, [r4]
- cmp r0, 0
- beq _080AC9AA
-_080AC9B4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AC994
-
- thumb_func_start sub_80AC9C4
-sub_80AC9C4: @ 80AC9C4
- push {r4,r5,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r5, [r0]
- ldr r0, =0x000006cc
- adds r4, r5, r0
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _080AC9F4
- cmp r0, 0x1
- bgt _080AC9E8
- cmp r0, 0
- beq _080AC9EE
- b _080ACA18
- .pool
-_080AC9E8:
- cmp r0, 0x2
- beq _080ACA00
- b _080ACA18
-_080AC9EE:
- bl sub_80ACD68
- b _080ACA12
-_080AC9F4:
- bl sub_80ACD78
- lsls r0, 24
- cmp r0, 0
- bne _080ACA18
- b _080ACA12
-_080ACA00:
- bl sub_80ACEAC
- lsls r0, 24
- cmp r0, 0
- bne _080ACA18
- ldr r0, =0x000006d2
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
-_080ACA12:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080ACA18:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AC9C4
-
- thumb_func_start sub_80ACA24
-sub_80ACA24: @ 80ACA24
- push {r4,r5,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r2, [r0]
- ldr r1, =0x000006ce
- adds r3, r2, r1
- ldrh r1, [r3]
- adds r4, r0, 0
- cmp r1, 0
- beq _080ACA48
- cmp r1, 0x1
- beq _080ACA7C
- movs r0, 0
- b _080ACAAA
- .pool
-_080ACA48:
- ldr r5, =0x000006d1
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _080ACA5A
- cmp r0, 0x5
- beq _080ACA5A
- cmp r0, 0xD
- bne _080ACA70
-_080ACA5A:
- ldr r0, [r4]
- ldr r1, =0x000006ce
- adds r0, r1
- movs r1, 0xFF
- strh r1, [r0]
- movs r0, 0
- b _080ACAAA
- .pool
-_080ACA70:
- ldr r4, =0x000006d9
- adds r0, r2, r4
- strb r1, [r0]
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
-_080ACA7C:
- bl sub_80ACEAC
- lsls r0, 24
- cmp r0, 0
- bne _080ACAA8
- bl sub_80ACF38
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r5, =0x000006ce
- adds r1, r5
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0
- b _080ACAAA
- .pool
-_080ACAA8:
- movs r0, 0x1
-_080ACAAA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80ACA24
-
- thumb_func_start sub_80ACAB0
-sub_80ACAB0: @ 80ACAB0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- movs r1, 0x30
- ldrsh r0, [r7, r1]
- cmp r0, 0
- bne _080ACAC4
- ldr r0, =0x00000169
- strh r0, [r7, 0x30]
-_080ACAC4:
- movs r2, 0x30
- ldrsh r1, [r7, r2]
- ldr r0, =0x41c64e6d
- muls r0, r1
- ldr r3, =0x00003039
- adds r0, r3
- lsls r0, 1
- lsrs r0, 17
- movs r1, 0x96
- lsls r1, 2
- bl __umodsi3
- movs r1, 0
- mov r8, r1
- strh r0, [r7, 0x30]
- ldr r1, =gUnknown_0854FC4C
- ldr r0, =gUnknown_0854C14C
- ldr r5, [r0]
- ldr r2, =0x000006dc
- adds r5, r2
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldrh r6, [r0]
- movs r3, 0x30
- ldrsh r0, [r7, r3]
- movs r1, 0x1E
- bl __modsi3
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- lsls r0, r4, 3
- strh r0, [r7, 0x32]
- movs r1, 0x30
- ldrsh r0, [r7, r1]
- movs r1, 0x1E
- bl __divsi3
- lsls r0, 16
- lsls r4, 7
- strh r4, [r7, 0x32]
- asrs r0, 9
- strh r0, [r7, 0x34]
- ldr r2, =gUnknown_0854FC44
- ldrb r1, [r5]
- lsls r1, 2
- adds r1, r2
- movs r3, 0
- ldrsh r1, [r1, r3]
- muls r1, r6
- subs r4, r1
- strh r4, [r7, 0x32]
- ldrb r1, [r5]
- lsls r1, 2
- adds r2, 0x2
- adds r1, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- muls r1, r6
- subs r0, r1
- strh r0, [r7, 0x34]
- adds r0, r7, 0
- movs r1, 0
- bl StartSpriteAnim
- mov r3, r8
- strh r3, [r7, 0x36]
- adds r2, r7, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- strh r6, [r7, 0x2E]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80ACAB0
-
- thumb_func_start sub_80ACB84
-sub_80ACB84: @ 80ACB84
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x36
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080ACC60
- ldr r3, =gUnknown_0854FC44
- ldr r4, =gUnknown_0854C14C
- ldr r2, [r4]
- ldr r0, =0x000006dc
- adds r2, r0
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0]
- ldrh r0, [r5, 0x32]
- adds r1, r0
- strh r1, [r5, 0x32]
- ldrb r0, [r2]
- lsls r0, 2
- adds r3, 0x2
- adds r0, r3
- ldrh r0, [r0]
- ldrh r2, [r5, 0x34]
- adds r0, r2
- strh r0, [r5, 0x34]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r5, 0x20]
- lsls r0, 16
- asrs r2, r0, 20
- strh r2, [r5, 0x22]
- movs r3, 0x38
- ldrsh r0, [r5, r3]
- adds r3, r4, 0
- cmp r0, 0
- beq _080ACC04
- adds r0, r1, 0
- adds r0, 0x8
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 17
- cmp r0, r1
- bhi _080ACC04
- adds r1, r2, 0
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- blt _080ACC04
- cmp r1, 0xB0
- bgt _080ACC04
- adds r0, r5, 0
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- b _080ACC0E
- .pool
-_080ACC04:
- adds r0, r5, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
-_080ACC0E:
- strb r1, [r0]
- adds r4, r0, 0
- ldrh r0, [r5, 0x2E]
- subs r0, 0x1
- strh r0, [r5, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _080ACC80
- ldr r0, [r3]
- ldr r1, =0x000006dc
- adds r0, r1
- ldrb r1, [r0]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnim
- movs r0, 0x1
- strh r0, [r5, 0x36]
- ldr r1, =gSpriteCoordOffsetX
- ldrh r0, [r5, 0x20]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r5, 0x20]
- ldr r1, =gSpriteCoordOffsetY
- ldrh r0, [r5, 0x22]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- b _080ACC80
- .pool
-_080ACC60:
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080ACC80
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- adds r0, r5, 0
- bl sub_80ACAB0
-_080ACC80:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80ACB84
-
- thumb_func_start sub_80ACC88
-sub_80ACC88: @ 80ACC88
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080ACCA8
- adds r0, r4, 0
- bl sub_80ACAB0
- ldr r0, =sub_80ACB84
- str r0, [r4, 0x1C]
- b _080ACCAC
- .pool
-_080ACCA8:
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
-_080ACCAC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80ACC88
-
- thumb_func_start sub_80ACCB4
-sub_80ACCB4: @ 80ACCB4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- lsls r5, r1, 16
- lsrs r5, 16
- ldr r2, =gUnknown_0854FC4C
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x000006dc
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 2
- adds r1, r0, r2
- ldrh r1, [r1]
- mov r8, r1
- adds r2, 0x2
- adds r0, r2
- ldrh r4, [r0]
- add r4, r8
- adds r0, r5, 0
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 16
- lsrs r4, r0, 16
- subs r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, =0x0000ffff
- cmp r6, r0
- beq _080ACD12
- adds r5, r0, 0
-_080ACD02:
- adds r0, r7, 0
- bl sub_80ACAB0
- subs r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, r5
- bne _080ACD02
-_080ACD12:
- cmp r4, r8
- bcs _080ACD48
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x0000ffff
- cmp r4, r0
- beq _080ACD34
- adds r5, r0, 0
-_080ACD24:
- adds r0, r7, 0
- bl sub_80ACB84
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r5
- bne _080ACD24
-_080ACD34:
- movs r0, 0
- b _080ACD5C
- .pool
-_080ACD48:
- mov r1, r8
- subs r0, r4, r1
- strh r0, [r7, 0x2E]
- adds r2, r7, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x1
-_080ACD5C:
- strh r0, [r7, 0x3A]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80ACCB4
-
- thumb_func_start sub_80ACD68
-sub_80ACD68: @ 80ACD68
- push {lr}
- ldr r0, =gUnknown_0854FC54
- bl LoadSpriteSheet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80ACD68
-
- thumb_func_start sub_80ACD78
-sub_80ACD78: @ 80ACD78
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gUnknown_0854C14C
- ldr r4, [r0]
- ldr r0, =0x000006da
- adds r2, r4, r0
- ldrb r0, [r2]
- cmp r0, 0x18
- bne _080ACD92
- b _080ACE98
-_080ACD92:
- ldrb r7, [r2]
- ldr r0, =gSpriteTemplate_854FC2C
- ldr r2, =gUnknown_0854FB90
- lsls r6, r7, 2
- adds r2, r6, r2
- movs r3, 0
- ldrsh r1, [r2, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- movs r3, 0x4E
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x40
- beq _080ACE40
- ldr r3, =gSprites
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r3
- movs r0, 0
- strh r0, [r1, 0x38]
- lsls r2, r7, 3
- adds r0, r2, r7
- lsls r0, 4
- adds r0, r7
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- ldr r1, =0x00000257
- mov r10, r6
- mov r9, r3
- mov r12, r4
- mov r8, r2
- cmp r0, r1
- ble _080ACDF6
- adds r2, r1, 0
-_080ACDDE:
- adds r0, r4, r5
- lsls r0, 2
- ldr r6, =gSprites
- adds r0, r6
- ldr r3, =0xfffffda8
- ldrh r6, [r0, 0x30]
- adds r1, r3, r6
- strh r1, [r0, 0x30]
- lsls r1, 16
- asrs r1, 16
- cmp r1, r2
- bgt _080ACDDE
-_080ACDF6:
- mov r0, r12
- adds r4, r0, r5
- lsls r4, 2
- add r4, r9
- adds r0, r4, 0
- bl sub_80ACAB0
- mov r3, r8
- adds r1, r3, r7
- adds r0, r4, 0
- bl sub_80ACCB4
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- add r0, r10
- str r4, [r0]
- b _080ACE46
- .pool
-_080ACE40:
- adds r1, r4, r6
- movs r0, 0
- str r0, [r1]
-_080ACE46:
- ldr r0, =gUnknown_0854C14C
- ldr r2, [r0]
- ldr r6, =0x000006da
- adds r1, r2, r6
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x18
- bne _080ACE9C
- movs r3, 0
- adds r1, r2, 0
- ldr r5, =sub_80ACB84
- ldr r4, =sub_80ACC88
-_080ACE64:
- lsls r0, r3, 2
- adds r0, r1, r0
- ldr r2, [r0]
- cmp r2, 0
- beq _080ACE8E
- movs r6, 0x3A
- ldrsh r0, [r2, r6]
- cmp r0, 0
- bne _080ACE8C
- str r5, [r2, 0x1C]
- b _080ACE8E
- .pool
-_080ACE8C:
- str r4, [r2, 0x1C]
-_080ACE8E:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x17
- bls _080ACE64
-_080ACE98:
- movs r0, 0
- b _080ACE9E
-_080ACE9C:
- movs r0, 0x1
-_080ACE9E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80ACD78
-
- thumb_func_start sub_80ACEAC
-sub_80ACEAC: @ 80ACEAC
- push {r4-r7,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r3, [r0]
- movs r0, 0xDB
- lsls r0, 3
- adds r4, r3, r0
- ldr r1, =0x000006d9
- adds r5, r3, r1
- ldrb r0, [r4]
- ldrb r7, [r5]
- cmp r0, r7
- bne _080ACED0
- movs r0, 0
- b _080ACF32
- .pool
-_080ACED0:
- ldr r0, =0x000006d6
- adds r2, r3, r0
- ldrh r0, [r2]
- adds r0, 0x1
- movs r6, 0
- strh r0, [r2]
- ldr r7, =0x000006db
- adds r1, r3, r7
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1]
- cmp r0, r1
- bls _080ACF30
- strh r6, [r2]
- ldrb r0, [r4]
- adds r1, r0, 0
- ldrb r5, [r5]
- cmp r1, r5
- bcs _080ACF10
- adds r0, 0x1
- strb r0, [r4]
- lsls r0, r1, 2
- adds r0, r3, r0
- ldr r1, [r0]
- movs r0, 0x1
- strh r0, [r1, 0x38]
- b _080ACF30
- .pool
-_080ACF10:
- subs r0, 0x1
- strb r0, [r4]
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r3, r0
- ldr r0, [r0]
- strh r6, [r0, 0x38]
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r3, r0
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
-_080ACF30:
- movs r0, 0x1
-_080ACF32:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80ACEAC
-
- thumb_func_start sub_80ACF38
-sub_80ACF38: @ 80ACF38
- push {r4-r7,lr}
- movs r4, 0
- ldr r0, =gUnknown_0854C14C
- ldr r2, [r0]
- ldr r3, =0x000006da
- adds r1, r2, r3
- adds r7, r0, 0
- ldrb r1, [r1]
- cmp r4, r1
- bcs _080ACF6A
- adds r5, r2, 0
- adds r6, r5, r3
-_080ACF50:
- lsls r0, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080ACF5E
- bl DestroySprite
-_080ACF5E:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r0, [r6]
- cmp r4, r0
- bcc _080ACF50
-_080ACF6A:
- ldr r0, [r7]
- ldr r1, =0x000006da
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, =0x00001206
- bl FreeSpriteTilesByTag
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80ACF38
-
- thumb_func_start sub_80ACF8C
-sub_80ACF8C: @ 80ACF8C
- push {r4,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006cc
- adds r0, r1, r2
- movs r2, 0
- movs r3, 0
- strh r3, [r0]
- ldr r4, =0x000006d2
- adds r0, r1, r4
- strb r2, [r0]
- ldr r0, =0x000006c1
- adds r2, r1, r0
- movs r0, 0x3
- strb r0, [r2]
- subs r4, 0x10
- adds r2, r1, r4
- movs r0, 0x14
- strb r0, [r2]
- ldr r0, =0x000006e5
- adds r2, r1, r0
- movs r0, 0x10
- strb r0, [r2]
- movs r2, 0xDC
- lsls r2, 3
- adds r1, r2
- strh r3, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80ACF8C
-
- thumb_func_start sub_80ACFDC
-sub_80ACFDC: @ 80ACFDC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- bl sub_80ACF8C
- ldr r2, =gUnknown_0854C14C
- ldr r1, [r2]
- ldr r3, =0x000006d2
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AD032
- mov r8, r2
- adds r7, r1, r3
-_080ACFF8:
- bl snowflakes_progress2
- movs r4, 0
- mov r1, r8
- ldr r0, [r1]
- ldr r3, =0x000006e4
- adds r0, r3
- ldrb r0, [r0]
- cmp r4, r0
- bcs _080AD02C
- ldr r0, =gUnknown_0854C14C
- ldr r5, [r0]
- adds r6, r5, r3
-_080AD012:
- lsls r1, r4, 2
- adds r0, r5, 0
- adds r0, 0x60
- adds r0, r1
- ldr r0, [r0]
- bl sub_80AD30C
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r0, [r6]
- cmp r4, r0
- bcc _080AD012
-_080AD02C:
- ldrb r0, [r7]
- cmp r0, 0
- beq _080ACFF8
-_080AD032:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80ACFDC
-
- thumb_func_start snowflakes_progress2
-snowflakes_progress2: @ 80AD048
- push {r4,r5,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r5, [r0]
- ldr r0, =0x000006cc
- adds r4, r5, r0
- ldrh r0, [r4]
- cmp r0, 0
- bne _080AD070
- bl snowflakes_progress
- lsls r0, 24
- cmp r0, 0
- bne _080AD070
- ldr r0, =0x000006d2
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080AD070:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end snowflakes_progress2
-
- thumb_func_start sub_80AD084
-sub_80AD084: @ 80AD084
- push {r4,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r2, [r0]
- ldr r0, =0x000006ce
- adds r3, r2, r0
- ldrh r1, [r3]
- cmp r1, 0
- beq _080AD0A4
- cmp r1, 0x1
- beq _080AD0B6
- movs r0, 0
- b _080AD0E2
- .pool
-_080AD0A4:
- ldr r4, =0x000006e5
- adds r0, r2, r4
- strb r1, [r0]
- subs r4, 0x5
- adds r0, r2, r4
- strh r1, [r0]
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
-_080AD0B6:
- bl snowflakes_progress
- lsls r0, 24
- cmp r0, 0
- bne _080AD0E0
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r0, =0x000006ce
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0
- b _080AD0E2
- .pool
-_080AD0E0:
- movs r0, 0x1
-_080AD0E2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80AD084
-
- thumb_func_start snowflakes_progress
-snowflakes_progress: @ 80AD0E8
- push {r4,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r0, =0x000006e4
- adds r3, r1, r0
- ldr r4, =0x000006e5
- adds r2, r1, r4
- ldrb r0, [r3]
- ldrb r4, [r2]
- cmp r0, r4
- bne _080AD110
- movs r0, 0
- b _080AD152
- .pool
-_080AD110:
- movs r0, 0xDC
- lsls r0, 3
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x24
- bls _080AD13A
- movs r0, 0
- strh r0, [r1]
- ldrb r0, [r3]
- ldrb r2, [r2]
- cmp r0, r2
- bcs _080AD136
- bl snowflake_add
- b _080AD13A
-_080AD136:
- bl snowflake_remove
-_080AD13A:
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r2, =0x000006e4
- adds r1, r0, r2
- ldr r4, =0x000006e5
- adds r0, r4
- ldrb r1, [r1]
- ldrb r0, [r0]
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
-_080AD152:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end snowflakes_progress
-
- thumb_func_start snowflake_add
-snowflake_add: @ 80AD164
- push {r4-r6,lr}
- ldr r0, =gUnknown_0854FC8C
- movs r1, 0
- movs r2, 0
- movs r3, 0x4E
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080AD1C8
- ldr r0, =gSprites
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r4, r0
- ldr r0, =gUnknown_0854C14C
- ldr r5, [r0]
- ldr r0, =0x000006e4
- adds r6, r5, r0
- ldrb r0, [r6]
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl sub_80AD204
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r6]
- adds r1, r0, 0x1
- strb r1, [r6]
- lsls r0, 24
- lsrs r0, 22
- adds r5, 0x60
- adds r5, r0
- str r4, [r5]
- movs r0, 0x1
- b _080AD1CA
- .pool
-_080AD1C8:
- movs r0, 0
-_080AD1CA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end snowflake_add
-
- thumb_func_start snowflake_remove
-snowflake_remove: @ 80AD1D0
- push {lr}
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r0, =0x000006e4
- adds r2, r1, r0
- ldrb r0, [r2]
- cmp r0, 0
- bne _080AD1EC
- movs r0, 0
- b _080AD200
- .pool
-_080AD1EC:
- subs r0, 0x1
- strb r0, [r2]
- lsls r0, 24
- lsrs r0, 22
- adds r1, 0x60
- adds r1, r0
- ldr r0, [r1]
- bl DestroySprite
- movs r0, 0x1
-_080AD200:
- pop {r1}
- bx r1
- thumb_func_end snowflake_remove
-
- thumb_func_start sub_80AD204
-sub_80AD204: @ 80AD204
- push {r4-r7,lr}
- adds r5, r0, 0
- bl Random
- movs r1, 0x36
- ldrsh r2, [r5, r1]
- lsls r1, r2, 2
- adds r1, r2
- movs r2, 0x7
- ands r1, r2
- lsls r4, r1, 4
- subs r4, r1
- lsls r4, 1
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1E
- bl __umodsi3
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- ldr r1, =gSpriteCoordOffsetY
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r1, [r1]
- adds r0, r1
- movs r2, 0x3
- negs r2, r2
- adds r1, r2, 0
- subs r1, r0
- movs r7, 0
- strh r1, [r5, 0x22]
- ldr r1, =gSpriteCoordOffsetX
- adds r0, r5, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r1, [r1]
- adds r0, r1
- subs r4, r0
- strh r4, [r5, 0x20]
- movs r1, 0x22
- ldrsh r0, [r5, r1]
- lsls r0, 7
- strh r0, [r5, 0x2E]
- strh r7, [r5, 0x24]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r6, r0, 0
- movs r4, 0x3
- ands r4, r6
- lsls r0, r4, 2
- adds r0, r4
- adds r0, 0x40
- strh r0, [r5, 0x30]
- strh r0, [r5, 0x3C]
- movs r1, 0x1
- bics r1, r6
- adds r0, r5, 0
- bl StartSpriteAnim
- strh r7, [r5, 0x34]
- movs r0, 0x1
- cmp r4, 0
- bne _080AD294
- movs r0, 0x2
-_080AD294:
- strh r0, [r5, 0x32]
- movs r0, 0x1F
- ands r0, r6
- adds r0, 0xD2
- strh r0, [r5, 0x3A]
- strh r7, [r5, 0x38]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AD204
-
- thumb_func_start sub_80AD2B0
-sub_80AD2B0: @ 80AD2B0
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x000006e2
- adds r4, r0, r1
- ldrh r0, [r4]
- cmp r0, 0x12
- bls _080AD2F6
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, =sub_80AD30C
- str r0, [r3, 0x1C]
- ldr r1, =gSpriteCoordOffsetY
- adds r0, r3, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r1, [r1]
- adds r0, r1
- movs r1, 0xFA
- subs r1, r0
- movs r2, 0
- strh r1, [r3, 0x22]
- movs r1, 0x22
- ldrsh r0, [r3, r1]
- lsls r0, 7
- strh r0, [r3, 0x2E]
- strh r2, [r4]
-_080AD2F6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AD2B0
-
- thumb_func_start sub_80AD30C
-sub_80AD30C: @ 80AD30C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x2E]
- adds r0, r1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 23
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x34]
- adds r0, r2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x34]
- ldr r1, =gSineTable
- movs r3, 0x34
- ldrsh r0, [r4, r3]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080AD33E
- adds r0, 0x3F
-_080AD33E:
- asrs r0, 6
- strh r0, [r4, 0x24]
- adds r0, r4, 0
- adds r0, 0x28
- movs r5, 0
- ldrsb r5, [r0, r5]
- ldrh r0, [r4, 0x20]
- adds r0, r5
- ldr r1, =gSpriteCoordOffsetX
- ldrh r1, [r1]
- adds r3, r1, r0
- ldr r2, =0x000001ff
- adds r0, r2, 0
- ands r3, r0
- adds r2, r3, 0
- movs r0, 0x80
- lsls r0, 1
- ands r0, r2
- cmp r0, 0
- beq _080AD370
- ldr r3, =0xffffff00
- adds r0, r3, 0
- orrs r2, r0
- lsls r0, r2, 16
- lsrs r3, r0, 16
-_080AD370:
- lsls r0, r3, 16
- asrs r0, 16
- movs r2, 0x3
- negs r2, r2
- cmp r0, r2
- bge _080AD394
- adds r1, r5
- movs r0, 0xF2
- subs r0, r1
- b _080AD39C
- .pool
-_080AD394:
- cmp r0, 0xF2
- ble _080AD39E
- adds r0, r1, r5
- subs r0, r2, r0
-_080AD39C:
- strh r0, [r4, 0x20]
-_080AD39E:
- adds r0, r4, 0
- adds r0, 0x29
- movs r3, 0
- ldrsb r3, [r0, r3]
- ldrh r0, [r4, 0x22]
- adds r0, r3
- ldr r1, =gSpriteCoordOffsetY
- ldrh r1, [r1]
- adds r2, r1, r0
- movs r0, 0xFF
- ands r2, r0
- adds r0, r2, 0
- subs r0, 0xA4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x6
- bhi _080AD3E0
- adds r1, r3
- movs r0, 0xFA
- subs r0, r1
- movs r1, 0
- strh r0, [r4, 0x22]
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- lsls r0, 7
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x38]
- movs r0, 0xDC
- strh r0, [r4, 0x3A]
- b _080AD40C
- .pool
-_080AD3E0:
- adds r0, r2, 0
- subs r0, 0xF3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x6
- bhi _080AD40C
- movs r1, 0
- movs r0, 0xA3
- strh r0, [r4, 0x22]
- lsls r0, 7
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x38]
- movs r0, 0xDC
- strh r0, [r4, 0x3A]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =sub_80AD2B0
- str r0, [r4, 0x1C]
-_080AD40C:
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x3A
- ldrsh r1, [r4, r3]
- cmp r0, r1
- bne _080AD438
- adds r0, r4, 0
- bl sub_80AD204
- movs r0, 0xFA
- strh r0, [r4, 0x22]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =sub_80AD2B0
- str r0, [r4, 0x1C]
-_080AD438:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AD30C
-
- thumb_func_start sub_80AD444
-sub_80AD444: @ 80AD444
- push {r4,r5,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006cc
- adds r0, r1, r2
- movs r3, 0
- movs r2, 0
- strh r2, [r0]
- ldr r5, =0x000006d2
- adds r4, r1, r5
- strb r3, [r4]
- adds r5, 0x4
- adds r0, r1, r5
- strh r2, [r0]
- ldr r0, =0x000006db
- adds r2, r1, r0
- movs r0, 0x4
- strb r0, [r2]
- ldr r2, =0x000006dc
- adds r0, r1, r2
- strb r3, [r0]
- adds r5, 0x3
- adds r2, r1, r5
- movs r0, 0x10
- strb r0, [r2]
- ldr r0, =0x000006c1
- adds r2, r1, r0
- movs r0, 0x3
- strb r0, [r2]
- subs r5, 0x17
- adds r2, r1, r5
- movs r0, 0x14
- strb r0, [r2]
- strb r3, [r4]
- ldr r0, =0x000006ed
- adds r1, r0
- strb r3, [r1]
- movs r0, 0x51
- bl sub_80AC31C
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AD444
-
- thumb_func_start sub_80AD4B8
-sub_80AD4B8: @ 80AD4B8
- push {r4,lr}
- bl sub_80AD444
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006d2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AD4D8
- adds r4, r1, r2
-_080AD4CE:
- bl sub_80AD584
- ldrb r0, [r4]
- cmp r0, 0
- beq _080AD4CE
-_080AD4D8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AD4B8
-
- thumb_func_start sub_80AD4E8
-sub_80AD4E8: @ 80AD4E8
- push {r4,r5,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006cc
- adds r0, r1, r2
- movs r4, 0
- movs r2, 0
- strh r2, [r0]
- ldr r5, =0x000006d2
- adds r3, r1, r5
- strb r4, [r3]
- adds r5, 0x4
- adds r0, r1, r5
- strh r2, [r0]
- ldr r0, =0x000006db
- adds r2, r1, r0
- movs r0, 0x4
- strb r0, [r2]
- adds r5, 0x6
- adds r2, r1, r5
- movs r0, 0x1
- strb r0, [r2]
- ldr r0, =0x000006d9
- adds r2, r1, r0
- movs r0, 0x18
- strb r0, [r2]
- subs r5, 0x1B
- adds r2, r1, r5
- movs r0, 0x3
- strb r0, [r2]
- ldr r0, =0x000006c2
- adds r1, r0
- movs r0, 0x14
- strb r0, [r1]
- strb r4, [r3]
- movs r0, 0x53
- bl sub_80AC31C
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AD4E8
-
- thumb_func_start sub_80AD554
-sub_80AD554: @ 80AD554
- push {r4,lr}
- bl sub_80AD4E8
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006d2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AD574
- adds r4, r1, r2
-_080AD56A:
- bl sub_80AD584
- ldrb r0, [r4]
- cmp r0, 0
- beq _080AD56A
-_080AD574:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AD554
-
- thumb_func_start sub_80AD584
-sub_80AD584: @ 80AD584
- push {r4,r5,lr}
- bl sub_80AD9F8
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x000006cc
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0xE
- bls _080AD59A
- b _080AD8FA
-_080AD59A:
- lsls r0, 2
- ldr r1, =_080AD5B0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080AD5B0:
- .4byte _080AD5EC
- .4byte _080AD608
- .4byte _080AD62C
- .4byte _080AD65C
- .4byte _080AD680
- .4byte _080AD6B0
- .4byte _080AD6E0
- .4byte _080AD70C
- .4byte _080AD72A
- .4byte _080AD788
- .4byte _080AD80C
- .4byte _080AD834
- .4byte _080AD864
- .4byte _080AD8A8
- .4byte _080AD8DC
-_080AD5EC:
- bl sub_80ACD68
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006cc
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- b _080AD8F8
- .pool
-_080AD608:
- bl sub_80ACD78
- lsls r0, 24
- cmp r0, 0
- beq _080AD614
- b _080AD8FA
-_080AD614:
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r3, =0x000006cc
- adds r1, r3
- ldrh r0, [r1]
- adds r0, 0x1
- b _080AD8F8
- .pool
-_080AD62C:
- bl sub_80ACEAC
- lsls r0, 24
- cmp r0, 0
- beq _080AD638
- b _080AD8FA
-_080AD638:
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r0, =0x000006d2
- adds r2, r1, r0
- movs r0, 0x1
- strb r0, [r2]
- ldr r2, =0x000006cc
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- b _080AD8F8
- .pool
-_080AD65C:
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r3, =0x000006c6
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AD66C
- b _080AD8FA
-_080AD66C:
- ldr r0, =0x000006cc
- adds r1, r0
- movs r0, 0x6
- b _080AD8F8
- .pool
-_080AD680:
- ldr r0, =gUnknown_0854C14C
- ldr r4, [r0]
- ldr r2, =0x000006ea
- adds r1, r4, r2
- movs r0, 0x1
- strb r0, [r1]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r5, 0xB4
- lsls r5, 1
- adds r1, r5, 0
- bl __umodsi3
- adds r0, r5
- ldr r3, =0x000006e6
- adds r1, r4, r3
- strh r0, [r1]
- ldr r0, =0x000006cc
- adds r4, r0
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080AD6B0:
- ldr r0, =gUnknown_0854C14C
- ldr r2, [r0]
- ldr r3, =0x000006e6
- adds r1, r2, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _080AD6C6
- b _080AD8FA
-_080AD6C6:
- ldr r0, =0x000006cc
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x1
- b _080AD8F8
- .pool
-_080AD6E0:
- ldr r0, =gUnknown_0854C14C
- ldr r4, [r0]
- ldr r1, =0x000006ea
- adds r0, r4, r1
- movs r5, 0x1
- strb r5, [r0]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ands r0, r5
- ldr r2, =0x000006eb
- adds r1, r4, r2
- strb r0, [r1]
- b _080AD768
- .pool
-_080AD70C:
- bl Random
- ldr r1, =gUnknown_0854C14C
- ldr r2, [r1]
- movs r1, 0x1
- ands r1, r0
- adds r1, 0x1
- ldr r3, =0x000006ec
- adds r0, r2, r3
- strb r1, [r0]
- ldr r0, =0x000006cc
- adds r2, r0
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
-_080AD72A:
- movs r0, 0x13
- bl sub_80ABC48
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006eb
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AD74E
- ldr r3, =0x000006ec
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080AD74E
- movs r0, 0x14
- bl sub_80AD9BC
-_080AD74E:
- bl Random
- ldr r1, =gUnknown_0854C14C
- ldr r4, [r1]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- adds r0, 0x6
- ldr r2, =0x000006e6
- adds r1, r4, r2
- strh r0, [r1]
-_080AD768:
- ldr r3, =0x000006cc
- adds r4, r3
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080AD8FA
- .pool
-_080AD788:
- ldr r0, =gUnknown_0854C14C
- ldr r4, [r0]
- ldr r0, =0x000006e6
- adds r5, r4, r0
- ldrh r0, [r5]
- subs r0, 0x1
- strh r0, [r5]
- lsls r0, 16
- cmp r0, 0
- beq _080AD79E
- b _080AD8FA
-_080AD79E:
- movs r0, 0x3
- bl sub_80ABC48
- ldr r2, =0x000006ea
- adds r1, r4, r2
- movs r0, 0x1
- strb r0, [r1]
- ldr r3, =0x000006ec
- adds r1, r4, r3
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- beq _080AD7E8
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF
- ands r0, r1
- adds r0, 0x3C
- strh r0, [r5]
- ldr r0, =0x000006cc
- adds r1, r4, r0
- movs r0, 0xA
- b _080AD8F8
- .pool
-_080AD7E8:
- ldr r1, =0x000006eb
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AD800
- ldr r2, =0x000006cc
- adds r1, r4, r2
- b _080AD8F6
- .pool
-_080AD800:
- ldr r3, =0x000006cc
- adds r1, r4, r3
- movs r0, 0xB
- b _080AD8F8
- .pool
-_080AD80C:
- ldr r0, =gUnknown_0854C14C
- ldr r2, [r0]
- ldr r0, =0x000006e6
- adds r1, r2, r0
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bne _080AD8FA
- ldr r3, =0x000006cc
- adds r1, r2, r3
- movs r0, 0x8
- b _080AD8F8
- .pool
-_080AD834:
- bl Random
- ldr r1, =gUnknown_0854C14C
- ldr r2, [r1]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF
- ands r0, r1
- adds r0, 0x3C
- ldr r3, =0x000006e6
- adds r1, r2, r3
- strh r0, [r1]
- ldr r0, =0x000006cc
- adds r2, r0
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- b _080AD8FA
- .pool
-_080AD864:
- ldr r0, =gUnknown_0854C14C
- ldr r5, [r0]
- ldr r1, =0x000006e6
- adds r4, r5, r1
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- lsls r0, 16
- cmp r0, 0
- bne _080AD8FA
- movs r0, 0x64
- bl sub_80AD9BC
- movs r0, 0x13
- bl sub_80ABC48
- bl Random
- movs r1, 0xF
- ands r1, r0
- adds r1, 0x1E
- strh r1, [r4]
- ldr r2, =0x000006cc
- adds r1, r5, r2
- ldrh r0, [r1]
- adds r0, 0x1
- b _080AD8F8
- .pool
-_080AD8A8:
- ldr r0, =gUnknown_0854C14C
- ldr r4, [r0]
- ldr r3, =0x000006e6
- adds r1, r4, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bne _080AD8FA
- movs r0, 0x13
- movs r1, 0x3
- movs r2, 0x5
- bl sub_80ABC7C
- ldr r0, =0x000006cc
- adds r1, r4, r0
- ldrh r0, [r1]
- adds r0, 0x1
- b _080AD8F8
- .pool
-_080AD8DC:
- ldr r0, =gUnknown_0854C14C
- ldr r2, [r0]
- ldr r1, =0x000006c6
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _080AD8FA
- ldr r3, =0x000006ea
- adds r1, r2, r3
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =0x000006cc
- adds r1, r2, r0
-_080AD8F6:
- movs r0, 0x4
-_080AD8F8:
- strh r0, [r1]
-_080AD8FA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AD584
-
- thumb_func_start sub_80AD910
-sub_80AD910: @ 80AD910
- push {r4-r6,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r6, [r0]
- ldr r0, =0x000006ce
- adds r5, r6, r0
- ldrh r1, [r5]
- cmp r1, 0x1
- beq _080AD946
- cmp r1, 0x1
- bgt _080AD934
- cmp r1, 0
- beq _080AD93A
- b _080AD9AC
- .pool
-_080AD934:
- cmp r1, 0x2
- beq _080AD990
- b _080AD9AC
-_080AD93A:
- ldr r2, =0x000006ea
- adds r0, r6, r2
- strb r1, [r0]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_080AD946:
- bl sub_80AD584
- ldr r0, =gUnknown_0854C14C
- ldr r2, [r0]
- ldr r1, =0x000006ea
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080AD9B4
- subs r1, 0x19
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _080AD9AC
- cmp r0, 0x5
- beq _080AD9AC
- cmp r0, 0xD
- beq _080AD9AC
- ldr r0, =0x000006d9
- adds r1, r2, r0
- movs r0, 0
- strb r0, [r1]
- ldr r0, =0x000006ce
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080AD9B4
- .pool
-_080AD990:
- bl sub_80ACEAC
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080AD9B4
- bl sub_80ACF38
- ldr r1, =0x000006ed
- adds r0, r6, r1
- strb r4, [r0]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_080AD9AC:
- movs r0, 0
- b _080AD9B6
- .pool
-_080AD9B4:
- movs r0, 0x1
-_080AD9B6:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80AD910
-
- thumb_func_start sub_80AD9BC
-sub_80AD9BC: @ 80AD9BC
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, =gUnknown_0854C14C
- ldr r4, [r0]
- ldr r0, =0x000006ed
- adds r5, r4, r0
- ldrb r0, [r5]
- cmp r0, 0
- bne _080AD9EA
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl __umodsi3
- movs r2, 0xDD
- lsls r2, 3
- adds r1, r4, r2
- strh r0, [r1]
- movs r0, 0x1
- strb r0, [r5]
-_080AD9EA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AD9BC
-
- thumb_func_start sub_80AD9F8
-sub_80AD9F8: @ 80AD9F8
- push {r4,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006ed
- adds r0, r1, r2
- ldrb r4, [r0]
- cmp r4, 0x1
- bne _080ADA58
- movs r0, 0xDD
- lsls r0, 3
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080ADA54
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- bne _080ADA58
- bl Random
- ands r4, r0
- cmp r4, 0
- beq _080ADA38
- movs r0, 0x57
- bl PlaySE
- b _080ADA3E
- .pool
-_080ADA38:
- movs r0, 0x58
- bl PlaySE
-_080ADA3E:
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x000006ed
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- b _080ADA58
- .pool
-_080ADA54:
- subs r0, 0x1
- strh r0, [r1]
-_080ADA58:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AD9F8
-
- thumb_func_start sub_80ADA60
-sub_80ADA60: @ 80ADA60
- push {lr}
- ldr r0, =gUnknown_0854C14C
- ldr r3, [r0]
- ldr r0, =0x000006cc
- adds r1, r3, r0
- movs r2, 0
- movs r0, 0
- strh r0, [r1]
- ldr r1, =0x000006d2
- adds r0, r3, r1
- strb r2, [r0]
- subs r1, 0x11
- adds r0, r3, r1
- strb r2, [r0]
- ldr r2, =0x000006c2
- adds r1, r3, r2
- movs r0, 0x14
- strb r0, [r1]
- ldr r1, =0x000006fb
- adds r0, r3, r1
- ldrb r1, [r0]
- cmp r1, 0
- bne _080ADAA8
- adds r2, 0x2E
- adds r0, r3, r2
- strh r1, [r0]
- adds r2, 0x2
- adds r0, r3, r2
- strh r1, [r0]
- subs r2, 0x4
- adds r0, r3, r2
- strh r1, [r0]
- movs r0, 0
- movs r1, 0x10
- bl sub_80AC124
-_080ADAA8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80ADA60
-
- thumb_func_start sub_80ADAC0
-sub_80ADAC0: @ 80ADAC0
- push {r4,lr}
- bl sub_80ADA60
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006d2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080ADAE0
- adds r4, r1, r2
-_080ADAD6:
- bl sub_80ADAF0
- ldrb r0, [r4]
- cmp r0, 0
- beq _080ADAD6
-_080ADAE0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80ADAC0
-
- thumb_func_start sub_80ADAF0
-sub_80ADAF0: @ 80ADAF0
- push {r4-r6,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r6, [r0]
- ldr r0, =gSpriteCoordOffsetX
- ldr r1, =0x000006f2
- adds r2, r6, r1
- ldrh r0, [r0]
- ldrh r1, [r2]
- subs r0, r1
- movs r1, 0xFF
- ands r0, r1
- ldr r3, =0x000006ee
- adds r1, r6, r3
- strh r0, [r1]
- movs r0, 0xDE
- lsls r0, 3
- adds r1, r6, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bls _080ADB2A
- movs r0, 0
- strh r0, [r1]
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
-_080ADB2A:
- ldr r1, =0x000006cc
- adds r5, r6, r1
- ldrh r4, [r5]
- cmp r4, 0
- beq _080ADB50
- cmp r4, 0x1
- beq _080ADB90
- b _080ADBA6
- .pool
-_080ADB50:
- bl sub_80ADCAC
- movs r3, 0xDA
- lsls r3, 3
- adds r0, r6, r3
- ldrb r0, [r0]
- cmp r0, 0x6
- bne _080ADB6C
- movs r0, 0xC
- movs r1, 0x8
- movs r2, 0x3
- bl sub_80AC164
- b _080ADB76
-_080ADB6C:
- movs r0, 0x4
- movs r1, 0x10
- movs r2, 0
- bl sub_80AC164
-_080ADB76:
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r0, =0x000006cc
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080ADBA6
- .pool
-_080ADB90:
- bl sub_80AC1A8
- lsls r0, 24
- cmp r0, 0
- beq _080ADBA6
- ldr r1, =0x000006d2
- adds r0, r6, r1
- strb r4, [r0]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_080ADBA6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80ADAF0
-
- thumb_func_start sub_80ADBB0
-sub_80ADBB0: @ 80ADBB0
- push {r4,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r2, [r0]
- ldr r0, =gSpriteCoordOffsetX
- ldr r1, =0x000006f2
- adds r3, r2, r1
- ldrh r0, [r0]
- ldrh r1, [r3]
- subs r0, r1
- movs r1, 0xFF
- ands r0, r1
- ldr r4, =0x000006ee
- adds r1, r2, r4
- strh r0, [r1]
- movs r0, 0xDE
- lsls r0, 3
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bls _080ADBEA
- movs r0, 0
- strh r0, [r1]
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
-_080ADBEA:
- ldr r1, =0x000006ce
- adds r4, r2, r1
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _080ADC26
- cmp r0, 0x1
- bgt _080ADC14
- cmp r0, 0
- beq _080ADC1A
- b _080ADC3E
- .pool
-_080ADC14:
- cmp r0, 0x2
- beq _080ADC32
- b _080ADC3E
-_080ADC1A:
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x3
- bl sub_80AC164
- b _080ADC36
-_080ADC26:
- bl sub_80AC1A8
- lsls r0, 24
- cmp r0, 0
- beq _080ADC42
- b _080ADC36
-_080ADC32:
- bl sub_80ADD68
-_080ADC36:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080ADC42
-_080ADC3E:
- movs r0, 0
- b _080ADC44
-_080ADC42:
- movs r0, 0x1
-_080ADC44:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80ADBB0
-
- thumb_func_start sub_80ADC4C
-sub_80ADC4C: @ 80ADC4C
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, =gSpriteCoordOffsetY
- ldrb r0, [r0]
- strh r0, [r3, 0x26]
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x000006ee
- adds r2, r0, r1
- ldrh r1, [r2]
- adds r1, 0x20
- movs r4, 0x2E
- ldrsh r0, [r3, r4]
- lsls r0, 6
- adds r1, r0
- strh r1, [r3, 0x20]
- lsls r1, 16
- ldr r0, =0x010f0000
- cmp r1, r0
- ble _080ADC90
- movs r0, 0xF0
- lsls r0, 1
- adds r1, r0, 0
- ldrh r2, [r2]
- adds r1, r2
- movs r4, 0x2E
- ldrsh r2, [r3, r4]
- movs r0, 0x4
- subs r0, r2
- lsls r0, 6
- subs r1, r0
- ldr r0, =0x000001ff
- ands r1, r0
- strh r1, [r3, 0x20]
-_080ADC90:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80ADC4C
-
- thumb_func_start sub_80ADCAC
-sub_80ADCAC: @ 80ADCAC
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x000006fb
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080ADD56
- ldr r0, =gUnknown_0854FD30
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- movs r5, 0
-_080ADCD0:
- ldr r0, =gSpriteTemplate_854FD18
- movs r1, 0
- movs r2, 0
- movs r3, 0xFF
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080ADD34
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r5, 0
- movs r1, 0x5
- bl __umodsi3
- strh r0, [r4, 0x2E]
- lsls r0, 16
- lsrs r0, 10
- adds r0, 0x20
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x5
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 10
- adds r0, 0x20
- strh r0, [r4, 0x22]
- ldr r2, =gUnknown_0854C14C
- ldr r0, [r2]
- lsls r1, r5, 2
- adds r0, 0xA0
- adds r0, r1
- str r4, [r0]
- b _080ADD42
- .pool
-_080ADD34:
- ldr r2, =gUnknown_0854C14C
- ldr r1, [r2]
- lsls r0, r5, 2
- adds r1, 0xA0
- adds r1, r0
- movs r0, 0
- str r0, [r1]
-_080ADD42:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x13
- bls _080ADCD0
- ldr r0, [r2]
- ldr r1, =0x000006fb
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
-_080ADD56:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80ADCAC
-
- thumb_func_start sub_80ADD68
-sub_80ADD68: @ 80ADD68
- push {r4,r5,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006fb
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080ADDA8
- movs r4, 0
- adds r5, r1, 0
- adds r5, 0xA0
-_080ADD7E:
- lsls r0, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080ADD8C
- bl DestroySprite
-_080ADD8C:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x13
- bls _080ADD7E
- ldr r0, =0x00001201
- bl FreeSpriteTilesByTag
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x000006fb
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_080ADDA8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80ADD68
-
- thumb_func_start sub_80ADDBC
-sub_80ADDBC: @ 80ADDBC
- push {lr}
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r0, =0x000006cc
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0
- strh r0, [r2]
- ldr r2, =0x000006d2
- adds r0, r1, r2
- strb r3, [r0]
- subs r2, 0x11
- adds r0, r1, r2
- strb r3, [r0]
- ldr r3, =0x000006c2
- adds r0, r1, r3
- movs r2, 0x14
- strb r2, [r0]
- adds r3, 0x3C
- adds r0, r1, r3
- strh r2, [r0]
- movs r0, 0xE0
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _080ADE04
- movs r0, 0
- movs r1, 0x10
- bl sub_80AC124
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x52
- bl SetGpuReg
-_080ADE04:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80ADDBC
-
- thumb_func_start sub_80ADE18
-sub_80ADE18: @ 80ADE18
- push {r4,lr}
- bl sub_80ADDBC
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006d2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080ADE38
- adds r4, r1, r2
-_080ADE2E:
- bl sub_80ADE48
- ldrb r0, [r4]
- cmp r0, 0
- beq _080ADE2E
-_080ADE38:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80ADE18
-
- thumb_func_start sub_80ADE48
-sub_80ADE48: @ 80ADE48
- push {r4,r5,lr}
- ldr r2, =gUnknown_0854C14C
- ldr r1, [r2]
- ldr r0, =gSpriteCoordOffsetX
- ldrh r0, [r0]
- ldr r3, =0x000001ff
- ands r3, r0
- ldr r0, =0x000006fc
- adds r1, r0
- strh r3, [r1]
- cmp r3, 0xEF
- bls _080ADE74
- adds r4, r1, 0
- adds r1, r3, 0
-_080ADE64:
- adds r3, r1, 0
- subs r3, 0xF0
- adds r1, r3, 0
- lsls r0, r3, 16
- lsrs r0, 16
- cmp r0, 0xEF
- bhi _080ADE64
- strh r3, [r4]
-_080ADE74:
- ldr r5, [r2]
- ldr r1, =0x000006cc
- adds r4, r5, r1
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _080ADEAC
- cmp r0, 0x1
- bgt _080ADEA0
- cmp r0, 0
- beq _080ADEA6
- b _080ADEE8
- .pool
-_080ADEA0:
- cmp r0, 0x2
- beq _080ADEC8
- b _080ADEE8
-_080ADEA6:
- bl sub_80ADF5C
- b _080ADEDA
-_080ADEAC:
- movs r1, 0xE0
- lsls r1, 3
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080ADEBC
- bl sub_80ADF6C
-_080ADEBC:
- movs r0, 0x10
- movs r1, 0
- movs r2, 0x1
- bl sub_80AC164
- b _080ADEDA
-_080ADEC8:
- bl sub_80AC1A8
- lsls r0, 24
- cmp r0, 0
- beq _080ADEEC
- ldr r0, =0x000006d2
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
-_080ADEDA:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080ADEEC
- .pool
-_080ADEE8:
- bl sub_80AC1A8
-_080ADEEC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80ADE48
-
- thumb_func_start sub_80ADEF4
-sub_80ADEF4: @ 80ADEF4
- push {r4,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x000006ce
- adds r4, r0, r1
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _080ADF2A
- cmp r0, 0x1
- bgt _080ADF18
- cmp r0, 0
- beq _080ADF1E
- b _080ADF4E
- .pool
-_080ADF18:
- cmp r0, 0x2
- beq _080ADF40
- b _080ADF4E
-_080ADF1E:
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x1
- bl sub_80AC164
- b _080ADF38
-_080ADF2A:
- bl sub_80AC1A8
- lsls r0, 24
- cmp r0, 0
- beq _080ADF52
- bl sub_80AE014
-_080ADF38:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080ADF52
-_080ADF40:
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080ADF4E:
- movs r0, 0
- b _080ADF54
-_080ADF52:
- movs r0, 0x1
-_080ADF54:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80ADEF4
-
- thumb_func_start sub_80ADF5C
-sub_80ADF5C: @ 80ADF5C
- push {lr}
- ldr r0, =gUnknown_0854FD38
- bl LoadSpriteSheet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80ADF5C
-
- thumb_func_start sub_80ADF6C
-sub_80ADF6C: @ 80ADF6C
- push {r4,r5,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- movs r1, 0xE0
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AE008
- movs r5, 0
-_080ADF80:
- ldr r0, =gSpriteTemplate_854FD58
- movs r1, 0
- movs r2, 0
- movs r3, 0x4E
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080ADFE4
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- movs r0, 0
- strh r0, [r4, 0x30]
- adds r0, r5, 0
- movs r1, 0x5
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- adds r0, r5, 0
- movs r1, 0x5
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x34]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- lsls r0, 6
- adds r0, 0x20
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_0854C14C
- ldr r0, [r2]
- lsls r1, r5, 2
- adds r0, 0xF0
- adds r0, r1
- str r4, [r0]
- b _080ADFF2
- .pool
-_080ADFE4:
- ldr r2, =gUnknown_0854C14C
- ldr r1, [r2]
- lsls r0, r5, 2
- adds r1, 0xF0
- adds r1, r0
- movs r0, 0
- str r0, [r1]
-_080ADFF2:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x13
- bls _080ADF80
- ldr r0, [r2]
- movs r1, 0xE0
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
-_080AE008:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80ADF6C
-
- thumb_func_start sub_80AE014
-sub_80AE014: @ 80AE014
- push {r4,r5,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- movs r2, 0xE0
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080AE058
- movs r4, 0
- adds r5, r1, 0
- adds r5, 0xF0
-_080AE02C:
- lsls r0, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080AE03A
- bl DestroySprite
-_080AE03A:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x13
- bls _080AE02C
- ldr r0, =0x00001202
- bl FreeSpriteTilesByTag
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- movs r1, 0xE0
- lsls r1, 3
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_080AE058:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AE014
-
- thumb_func_start sub_80AE068
-sub_80AE068: @ 80AE068
- push {r4,lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080AE084
- movs r0, 0
- strh r0, [r3, 0x30]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
-_080AE084:
- ldr r1, =gSpriteCoordOffsetY
- ldrh r0, [r3, 0x2E]
- ldrh r1, [r1]
- adds r0, r1
- strh r0, [r3, 0x22]
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x000006fc
- adds r2, r0, r1
- ldrh r1, [r2]
- adds r1, 0x20
- movs r4, 0x32
- ldrsh r0, [r3, r4]
- lsls r0, 6
- adds r1, r0
- strh r1, [r3, 0x20]
- lsls r1, 16
- ldr r0, =0x010f0000
- cmp r1, r0
- ble _080AE0C8
- movs r0, 0xF0
- lsls r0, 1
- adds r1, r0, 0
- ldrh r2, [r2]
- adds r1, r2
- movs r4, 0x32
- ldrsh r2, [r3, r4]
- movs r0, 0x4
- subs r0, r2
- lsls r0, 6
- subs r1, r0
- ldr r0, =0x000001ff
- ands r1, r0
- strh r1, [r3, 0x20]
-_080AE0C8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AE068
-
- thumb_func_start sub_80AE0E4
-sub_80AE0E4: @ 80AE0E4
- push {r4,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r3, [r0]
- ldr r1, =0x000006cc
- adds r0, r3, r1
- movs r1, 0
- movs r2, 0
- strh r2, [r0]
- ldr r4, =0x000006d2
- adds r0, r3, r4
- strb r1, [r0]
- subs r4, 0x11
- adds r0, r3, r4
- strb r1, [r0]
- ldr r0, =0x000006c2
- adds r1, r3, r0
- movs r0, 0x14
- strb r0, [r1]
- movs r1, 0xDE
- lsls r1, 3
- adds r0, r3, r1
- strh r2, [r0]
- adds r4, 0x31
- adds r1, r3, r4
- movs r0, 0x1
- strh r0, [r1]
- ldr r1, =0x00000724
- adds r0, r3, r1
- ldrb r2, [r0]
- cmp r2, 0
- bne _080AE14E
- adds r4, 0x2A
- adds r0, r3, r4
- strh r2, [r0]
- subs r1, 0x6
- adds r0, r3, r1
- strh r2, [r0]
- adds r4, 0x4
- adds r0, r3, r4
- strh r2, [r0]
- adds r1, 0x4
- adds r0, r3, r1
- strh r2, [r0]
- subs r4, 0x8
- adds r0, r3, r4
- strh r2, [r0]
- subs r1, 0x8
- adds r0, r3, r1
- strh r2, [r0]
- movs r0, 0
- movs r1, 0x10
- bl sub_80AC124
-_080AE14E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AE0E4
-
- thumb_func_start sub_80AE168
-sub_80AE168: @ 80AE168
- push {r4,lr}
- bl sub_80AE0E4
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006d2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AE188
- adds r4, r1, r2
-_080AE17E:
- bl sub_80AE198
- ldrb r0, [r4]
- cmp r0, 0
- beq _080AE17E
-_080AE188:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AE168
-
- thumb_func_start sub_80AE198
-sub_80AE198: @ 80AE198
- push {r4,r5,lr}
- bl sub_80AE25C
- ldr r0, =gUnknown_0854C14C
- ldr r5, [r0]
- ldr r0, =0x000006cc
- adds r4, r5, r0
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _080AE1CC
- cmp r0, 0x1
- bgt _080AE1C0
- cmp r0, 0
- beq _080AE1C6
- b _080AE1F0
- .pool
-_080AE1C0:
- cmp r0, 0x2
- beq _080AE1D8
- b _080AE1F0
-_080AE1C6:
- bl sub_80AE2F0
- b _080AE1EA
-_080AE1CC:
- movs r0, 0xC
- movs r1, 0x8
- movs r2, 0x8
- bl sub_80AC164
- b _080AE1EA
-_080AE1D8:
- bl sub_80AC1A8
- lsls r0, 24
- cmp r0, 0
- beq _080AE1F0
- ldr r0, =0x000006d2
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
-_080AE1EA:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080AE1F0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AE198
-
- thumb_func_start sub_80AE1FC
-sub_80AE1FC: @ 80AE1FC
- push {r4,lr}
- bl sub_80AE25C
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x000006ce
- adds r4, r0, r1
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _080AE236
- cmp r0, 0x1
- bgt _080AE224
- cmp r0, 0
- beq _080AE22A
- b _080AE24E
- .pool
-_080AE224:
- cmp r0, 0x2
- beq _080AE242
- b _080AE24E
-_080AE22A:
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x1
- bl sub_80AC164
- b _080AE246
-_080AE236:
- bl sub_80AC1A8
- lsls r0, 24
- cmp r0, 0
- beq _080AE252
- b _080AE246
-_080AE242:
- bl sub_80AE3A8
-_080AE246:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080AE252
-_080AE24E:
- movs r0, 0
- b _080AE254
-_080AE252:
- movs r0, 0x1
-_080AE254:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80AE1FC
-
- thumb_func_start sub_80AE25C
-sub_80AE25C: @ 80AE25C
- push {r4,r5,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r3, [r0]
- ldr r0, =0x0000071c
- adds r2, r3, r0
- ldrh r0, [r2]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r2]
- ldr r1, =0x0000ffff
- adds r4, r1, 0
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bls _080AE288
- movs r0, 0xE4
- lsls r0, 3
- adds r1, r3, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- strh r5, [r2]
-_080AE288:
- ldr r1, =0x0000071e
- adds r2, r3, r1
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- ands r0, r4
- cmp r0, 0x4
- bls _080AE2A4
- ldr r0, =0x00000722
- adds r1, r3, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- strh r5, [r2]
-_080AE2A4:
- ldr r0, =gSpriteCoordOffsetX
- movs r2, 0xE4
- lsls r2, 3
- adds r1, r3, r2
- ldrh r0, [r0]
- ldrh r1, [r1]
- subs r0, r1
- movs r1, 0xFF
- ands r0, r1
- subs r2, 0x8
- adds r1, r3, r2
- strh r0, [r1]
- ldr r1, =gSpriteCoordOffsetY
- adds r2, 0xA
- adds r0, r3, r2
- ldrh r0, [r0]
- ldrh r1, [r1]
- adds r0, r1
- subs r2, 0x8
- adds r1, r3, r2
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AE25C
-
- thumb_func_start sub_80AE2F0
-sub_80AE2F0: @ 80AE2F0
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x00000724
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AE396
- ldr r0, =gUnknown_0854FD70
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- movs r6, 0
-_080AE314:
- adds r0, r6, 0
- movs r1, 0x5
- bl __udivsi3
- adds r5, r0, 0
- lsls r2, r5, 22
- asrs r2, 16
- ldr r0, =gSpriteTemplate_854FD8C
- movs r1, 0
- movs r3, 0xFF
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080AE370
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r6, 0
- movs r1, 0x5
- bl __umodsi3
- strh r0, [r4, 0x2E]
- strh r5, [r4, 0x30]
- ldr r2, =gUnknown_0854C14C
- ldr r0, [r2]
- lsls r1, r6, 2
- movs r3, 0xA0
- lsls r3, 1
- adds r0, r3
- adds r0, r1
- str r4, [r0]
- b _080AE382
- .pool
-_080AE370:
- ldr r2, =gUnknown_0854C14C
- ldr r1, [r2]
- lsls r0, r6, 2
- movs r3, 0xA0
- lsls r3, 1
- adds r1, r3
- adds r1, r0
- movs r0, 0
- str r0, [r1]
-_080AE382:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x13
- bls _080AE314
- ldr r0, [r2]
- ldr r1, =0x00000724
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
-_080AE396:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AE2F0
-
- thumb_func_start sub_80AE3A8
-sub_80AE3A8: @ 80AE3A8
- push {r4,r5,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x00000724
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080AE3EA
- movs r4, 0
- movs r0, 0xA0
- lsls r0, 1
- adds r5, r1, r0
-_080AE3C0:
- lsls r0, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080AE3CE
- bl DestroySprite
-_080AE3CE:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x13
- bls _080AE3C0
- ldr r0, =0x00001203
- bl FreeSpriteTilesByTag
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x00000724
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_080AE3EA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AE3A8
-
- thumb_func_start sub_80AE3FC
-sub_80AE3FC: @ 80AE3FC
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x0000071a
- adds r0, r1, r2
- ldrh r0, [r0]
- strh r0, [r3, 0x26]
- movs r4, 0xE3
- lsls r4, 3
- adds r2, r1, r4
- ldrh r1, [r2]
- adds r1, 0x20
- movs r4, 0x2E
- ldrsh r0, [r3, r4]
- lsls r0, 6
- adds r1, r0
- strh r1, [r3, 0x20]
- lsls r1, 16
- ldr r0, =0x010f0000
- cmp r1, r0
- ble _080AE444
- movs r0, 0xF0
- lsls r0, 1
- adds r1, r0, 0
- ldrh r2, [r2]
- adds r1, r2
- movs r4, 0x2E
- ldrsh r2, [r3, r4]
- movs r0, 0x4
- subs r0, r2
- lsls r0, 6
- subs r1, r0
- ldr r0, =0x000001ff
- ands r1, r0
- strh r1, [r3, 0x20]
-_080AE444:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AE3FC
-
- thumb_func_start sub_80AE45C
-sub_80AE45C: @ 80AE45C
- push {r4,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r3, [r0]
- ldr r0, =0x000006cc
- adds r1, r3, r0
- movs r2, 0
- movs r0, 0
- strh r0, [r1]
- ldr r1, =0x000006d2
- adds r0, r3, r1
- strb r2, [r0]
- ldr r4, =0x000006c1
- adds r0, r3, r4
- strb r2, [r0]
- ldr r0, =0x000006c2
- adds r1, r3, r0
- movs r0, 0x14
- strb r0, [r1]
- ldr r1, =0x00000716
- adds r0, r3, r1
- ldrb r2, [r0]
- cmp r2, 0
- bne _080AE4B8
- adds r4, 0x43
- adds r1, r3, r4
- adds r4, 0x4
- adds r0, r3, r4
- str r2, [r0]
- str r2, [r1]
- ldr r0, =0x00000712
- adds r1, r3, r0
- movs r0, 0x8
- strh r0, [r1]
- adds r4, 0xC
- adds r0, r3, r4
- strh r2, [r0]
- ldrh r2, [r1]
- cmp r2, 0x5F
- bls _080AE4B0
- movs r0, 0x80
- subs r0, r2
- strh r0, [r1]
-_080AE4B0:
- movs r0, 0
- movs r1, 0x10
- bl sub_80AC124
-_080AE4B8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AE45C
-
- thumb_func_start sub_80AE4DC
-sub_80AE4DC: @ 80AE4DC
- push {r4,lr}
- bl sub_80AE45C
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006d2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AE4FC
- adds r4, r1, r2
-_080AE4F2:
- bl sub_80AE50C
- ldrb r0, [r4]
- cmp r0, 0
- beq _080AE4F2
-_080AE4FC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AE4DC
-
- thumb_func_start sub_80AE50C
-sub_80AE50C: @ 80AE50C
- push {r4,r5,lr}
- bl sub_80AE624
- bl sub_80AE5EC
- ldr r0, =gUnknown_0854C14C
- ldr r5, [r0]
- ldr r0, =0x00000712
- adds r1, r5, r0
- ldrh r0, [r1]
- cmp r0, 0x5F
- bls _080AE528
- movs r0, 0x20
- strh r0, [r1]
-_080AE528:
- ldr r0, =0x000006cc
- adds r4, r5, r0
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _080AE558
- cmp r0, 0x1
- bgt _080AE548
- cmp r0, 0
- beq _080AE54E
- b _080AE57C
- .pool
-_080AE548:
- cmp r0, 0x2
- beq _080AE564
- b _080AE57C
-_080AE54E:
- bl sub_80AE738
- bl sub_80AE7F8
- b _080AE576
-_080AE558:
- movs r0, 0x10
- movs r1, 0
- movs r2, 0
- bl sub_80AC164
- b _080AE576
-_080AE564:
- bl sub_80AC1A8
- lsls r0, 24
- cmp r0, 0
- beq _080AE57C
- ldr r0, =0x000006d2
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
-_080AE576:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080AE57C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AE50C
-
- thumb_func_start sub_80AE588
-sub_80AE588: @ 80AE588
- push {r4,lr}
- bl sub_80AE624
- bl sub_80AE5EC
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x000006ce
- adds r4, r0, r1
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _080AE5C6
- cmp r0, 0x1
- bgt _080AE5B4
- cmp r0, 0
- beq _080AE5BA
- b _080AE5DE
- .pool
-_080AE5B4:
- cmp r0, 0x2
- beq _080AE5D2
- b _080AE5DE
-_080AE5BA:
- movs r0, 0
- movs r1, 0x10
- movs r2, 0
- bl sub_80AC164
- b _080AE5D6
-_080AE5C6:
- bl sub_80AC1A8
- lsls r0, 24
- cmp r0, 0
- beq _080AE5E2
- b _080AE5D6
-_080AE5D2:
- bl sub_80AE6A4
-_080AE5D6:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080AE5E2
-_080AE5DE:
- movs r0, 0
- b _080AE5E4
-_080AE5E2:
- movs r0, 0x1
-_080AE5E4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80AE588
-
- thumb_func_start sub_80AE5EC
-sub_80AE5EC: @ 80AE5EC
- push {lr}
- ldr r0, =gUnknown_0854C14C
- ldr r2, [r0]
- ldr r0, =0x00000714
- adds r3, r2, r0
- ldrh r0, [r3]
- adds r1, r0, 0x1
- strh r1, [r3]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4
- bls _080AE612
- ldr r1, =0x00000712
- adds r0, r2, r1
- ldrh r1, [r0]
- adds r1, 0x1
- movs r2, 0
- strh r1, [r0]
- strh r2, [r3]
-_080AE612:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AE5EC
-
- thumb_func_start sub_80AE624
-sub_80AE624: @ 80AE624
- push {r4-r6,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r2, [r0]
- ldr r0, =0x00000704
- adds r4, r2, r0
- ldr r6, =gSineTable
- ldr r1, =0x00000712
- adds r5, r2, r1
- ldrh r0, [r5]
- lsls r0, 1
- adds r0, r6
- movs r3, 0
- ldrsh r1, [r0, r3]
- lsls r1, 2
- ldr r0, [r4]
- subs r0, r1
- str r0, [r4]
- movs r0, 0xE1
- lsls r0, 3
- adds r3, r2, r0
- ldrh r0, [r5]
- lsls r0, 1
- adds r0, r6
- movs r5, 0
- ldrsh r1, [r0, r5]
- ldr r0, [r3]
- subs r0, r1
- str r0, [r3]
- ldr r1, =gSpriteCoordOffsetX
- ldr r0, [r4]
- lsrs r0, 8
- ldrh r1, [r1]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- ldr r4, =0x0000070e
- adds r1, r2, r4
- strh r0, [r1]
- ldr r1, =gSpriteCoordOffsetY
- ldr r0, [r3]
- lsrs r0, 8
- ldrh r1, [r1]
- adds r0, r1
- movs r5, 0xE2
- lsls r5, 3
- adds r2, r5
- strh r0, [r2]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AE624
-
- thumb_func_start sub_80AE6A4
-sub_80AE6A4: @ 80AE6A4
- push {r4,r5,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x00000716
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080AE6E6
- movs r4, 0
- movs r0, 0xC8
- lsls r0, 1
- adds r5, r1, r0
-_080AE6BC:
- lsls r0, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080AE6CA
- bl DestroySprite
-_080AE6CA:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x13
- bls _080AE6BC
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x00000716
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, =0x00001204
- bl FreeSpriteTilesByTag
-_080AE6E6:
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x00000717
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080AE720
- movs r4, 0
- movs r0, 0xF0
- lsls r0, 1
- adds r5, r1, r0
-_080AE6FC:
- lsls r0, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080AE70A
- bl DestroySprite
-_080AE70A:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _080AE6FC
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x00000717
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_080AE720:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AE6A4
-
- thumb_func_start sub_80AE738
-sub_80AE738: @ 80AE738
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x00000716
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AE7E6
- ldr r0, =gUnknown_0854FDDC
- bl LoadSpriteSheet
- ldr r0, =gUnknown_0854C2B0
- bl sub_80ABF4C
- movs r7, 0
-_080AE758:
- adds r0, r7, 0
- movs r1, 0x5
- bl __udivsi3
- adds r6, r0, 0
- lsls r2, r6, 22
- asrs r2, 16
- ldr r0, =gSpriteTemplate_854FDC4
- movs r1, 0
- movs r3, 0x1
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080AE7C0
- ldr r2, =gUnknown_0854C14C
- ldr r5, [r2]
- lsls r0, r7, 2
- movs r3, 0xC8
- lsls r3, 1
- adds r5, r3
- adds r5, r0
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- str r4, [r5]
- adds r0, r7, 0
- movs r1, 0x5
- str r2, [sp]
- bl __umodsi3
- strh r0, [r4, 0x2E]
- ldr r0, [r5]
- strh r6, [r0, 0x30]
- ldr r2, [sp]
- b _080AE7D2
- .pool
-_080AE7C0:
- ldr r2, =gUnknown_0854C14C
- ldr r1, [r2]
- lsls r0, r7, 2
- movs r3, 0xC8
- lsls r3, 1
- adds r1, r3
- adds r1, r0
- movs r0, 0
- str r0, [r1]
-_080AE7D2:
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x13
- bls _080AE758
- ldr r0, [r2]
- ldr r1, =0x00000716
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
-_080AE7E6:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AE738
-
- thumb_func_start sub_80AE7F8
-sub_80AE7F8: @ 80AE7F8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, =gUnknown_0854C14C
- ldr r0, [r4]
- ldr r1, =0x00000717
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AE8E4
- movs r7, 0
- mov r9, r4
- movs r2, 0
- mov r10, r2
-_080AE818:
- lsls r0, r7, 1
- mov r8, r0
- adds r6, r0, r7
- lsls r5, r6, 4
- adds r1, r5, 0
- adds r1, 0x18
- lsls r1, 16
- asrs r1, 16
- ldr r0, =gSpriteTemplate_854FDC4
- movs r2, 0xD0
- movs r3, 0x1
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080AE8BC
- mov r2, r9
- ldr r4, [r2]
- lsls r0, r7, 2
- movs r2, 0xF0
- lsls r2, 1
- adds r4, r2
- adds r4, r0
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- ldr r0, =gSprites
- adds r2, r0
- str r2, [r4]
- ldrb r1, [r2, 0x3]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x3]
- ldr r1, [r4]
- adds r0, r6, r5
- strh r0, [r1, 0x30]
- ldr r1, [r4]
- movs r0, 0x8
- strh r0, [r1, 0x2E]
- ldr r0, [r4]
- mov r1, r10
- strh r1, [r0, 0x32]
- ldr r1, [r4]
- ldr r0, =0x00006730
- strh r0, [r1, 0x36]
- ldr r1, [r4]
- ldr r0, =gUnknown_0854FDE4
- add r0, r8
- ldrh r0, [r0]
- strh r0, [r1, 0x34]
- ldr r0, [r4]
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, [r4]
- movs r1, 0
- movs r2, 0x2
- movs r3, 0
- bl CalcCenterToCornerVec
- ldr r1, [r4]
- ldr r0, =sub_80AE958
- str r0, [r1, 0x1C]
- b _080AE8CE
- .pool
-_080AE8BC:
- mov r2, r9
- ldr r0, [r2]
- lsls r1, r7, 2
- movs r2, 0xF0
- lsls r2, 1
- adds r0, r2
- adds r0, r1
- mov r1, r10
- str r1, [r0]
-_080AE8CE:
- mov r2, r9
- ldr r0, [r2]
- ldr r1, =0x00000717
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x4
- bls _080AE818
-_080AE8E4:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AE7F8
-
- thumb_func_start sub_80AE8F8
-sub_80AE8F8: @ 80AE8F8
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- movs r2, 0xE2
- lsls r2, 3
- adds r0, r1, r2
- ldrh r0, [r0]
- strh r0, [r3, 0x26]
- ldr r4, =0x0000070e
- adds r2, r1, r4
- ldrh r1, [r2]
- adds r1, 0x20
- movs r4, 0x2E
- ldrsh r0, [r3, r4]
- lsls r0, 6
- adds r1, r0
- strh r1, [r3, 0x20]
- lsls r1, 16
- ldr r0, =0x010f0000
- cmp r1, r0
- ble _080AE940
- movs r0, 0xF0
- lsls r0, 1
- adds r1, r0, 0
- ldrh r2, [r2]
- adds r1, r2
- movs r4, 0x2E
- ldrsh r2, [r3, r4]
- movs r0, 0x4
- subs r0, r2
- lsls r0, 6
- subs r1, r0
- ldr r0, =0x000001ff
- ands r1, r0
- strh r1, [r3, 0x20]
-_080AE940:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AE8F8
-
- thumb_func_start sub_80AE958
-sub_80AE958: @ 80AE958
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x34]
- subs r0, 0x1
- strh r0, [r2, 0x34]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080AE972
- ldr r0, =sub_80AE97C
- str r0, [r2, 0x1C]
-_080AE972:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AE958
-
- thumb_func_start sub_80AE97C
-sub_80AE97C: @ 80AE97C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x22]
- subs r0, 0x1
- strh r0, [r5, 0x22]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x30
- negs r1, r1
- cmp r0, r1
- bge _080AE99A
- movs r0, 0xD0
- strh r0, [r5, 0x22]
- movs r0, 0x4
- strh r0, [r5, 0x2E]
-_080AE99A:
- movs r0, 0x2E
- ldrsh r4, [r5, r0]
- ldr r3, =gSineTable
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- lsls r0, r1, 1
- adds r0, r3
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r2, r4, 0
- muls r2, r0
- adds r1, 0x40
- lsls r1, 1
- adds r1, r3
- movs r3, 0
- ldrsh r0, [r1, r3]
- muls r0, r4
- lsrs r2, 8
- strh r2, [r5, 0x24]
- lsrs r0, 8
- strh r0, [r5, 0x26]
- ldrh r0, [r5, 0x30]
- adds r0, 0xA
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _080AE9E6
- movs r0, 0
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
-_080AE9E6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AE97C
-
- thumb_func_start sub_80AE9F0
-sub_80AE9F0: @ 80AE9F0
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r0, =0x000006cc
- adds r2, r1, r0
- movs r0, 0
- strh r0, [r2]
- ldr r0, =0x000006c1
- adds r2, r1, r0
- movs r0, 0x3
- strb r0, [r2]
- ldr r0, =0x000006c2
- adds r1, r0
- movs r0, 0x14
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80AE9F0
-
- thumb_func_start sub_80AEA20
-sub_80AEA20: @ 80AEA20
- push {lr}
- bl sub_80AE9F0
- pop {r0}
- bx r0
- thumb_func_end sub_80AEA20
-
- thumb_func_start nullsub_96
-nullsub_96: @ 80AEA2C
- bx lr
- thumb_func_end nullsub_96
-
- thumb_func_start sub_80AEA30
-sub_80AEA30: @ 80AEA30
- movs r0, 0
- bx lr
- thumb_func_end sub_80AEA30
-
- thumb_func_start sub_80AEA34
-sub_80AEA34: @ 80AEA34
- push {r4,r5,lr}
- bl sub_80ADA60
- ldr r0, =gUnknown_0854C14C
- ldr r4, [r0]
- ldr r1, =0x0000072e
- adds r0, r4, r1
- ldrb r5, [r0]
- cmp r5, 0
- bne _080AEA6C
- ldr r0, =gUnknown_0854FDF8
- bl LoadSpriteSheet
- movs r2, 0xE5
- lsls r2, 3
- adds r0, r4, r2
- strh r5, [r0]
- ldr r0, =gUnknown_0854FDF0
- ldrb r1, [r0]
- subs r2, 0x2
- adds r0, r4, r2
- strh r1, [r0]
- ldr r1, =0x0000072a
- adds r0, r4, r1
- strh r5, [r0]
- adds r2, 0x6
- adds r0, r4, r2
- strh r5, [r0]
-_080AEA6C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AEA34
-
- thumb_func_start sub_80AEA88
-sub_80AEA88: @ 80AEA88
- push {r4,lr}
- bl sub_80AEA34
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r2, =0x000006d2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AEAA8
- adds r4, r1, r2
-_080AEA9E:
- bl sub_80AEAB8
- ldrb r0, [r4]
- cmp r0, 0
- beq _080AEA9E
-_080AEAA8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AEA88
-
- thumb_func_start sub_80AEAB8
-sub_80AEAB8: @ 80AEAB8
- push {r4-r7,lr}
- bl sub_80ADAF0
- ldr r0, =gUnknown_0854C14C
- ldr r5, [r0]
- ldr r0, =0x00000726
- adds r4, r5, r0
- ldrh r0, [r4]
- adds r0, 0x1
- movs r6, 0
- strh r0, [r4]
- ldr r1, =0x0000ffff
- adds r7, r1, 0
- ldr r2, =gUnknown_0854FDF0
- movs r1, 0xE5
- lsls r1, 3
- adds r3, r5, r1
- ldrh r1, [r3]
- adds r1, r2
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1]
- cmp r0, r1
- bls _080AEB10
- strh r6, [r4]
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
- ands r0, r7
- cmp r0, 0x7
- bls _080AEAF8
- strh r6, [r3]
-_080AEAF8:
- ldr r0, =0x0000072a
- adds r4, r5, r0
- ldrh r0, [r4]
- bl sub_80AEB48
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ands r0, r7
- cmp r0, 0xC
- bls _080AEB10
- strh r6, [r4]
-_080AEB10:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AEAB8
-
- thumb_func_start sub_80AEB2C
-sub_80AEB2C: @ 80AEB2C
- push {lr}
- bl sub_80ADBB0
- lsls r0, 24
- cmp r0, 0
- beq _080AEB3C
- movs r0, 0x1
- b _080AEB42
-_080AEB3C:
- bl sub_80AEBD0
- movs r0, 0
-_080AEB42:
- pop {r1}
- bx r1
- thumb_func_end sub_80AEB2C
-
- thumb_func_start sub_80AEB48
-sub_80AEB48: @ 80AEB48
- push {r4,lr}
- lsls r0, 16
- ldr r1, =gUnknown_0854FE00
- lsrs r0, 14
- adds r3, r0, r1
- adds r1, 0x2
- adds r0, r1
- ldr r1, =gSpriteCoordOffsetY
- ldrh r2, [r0]
- ldrh r0, [r1]
- subs r2, r0
- ldr r0, =gSpriteTemplate_854FE44
- movs r4, 0
- ldrsh r1, [r3, r4]
- lsls r2, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080AEBB0
- ldr r0, =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1, 0x5]
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r3]
- movs r0, 0
- strh r0, [r1, 0x2E]
- strh r0, [r1, 0x30]
- strh r0, [r1, 0x32]
- ldr r0, =gUnknown_0854C14C
- ldr r1, [r0]
- ldr r0, =0x0000072c
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080AEBB0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AEB48
-
- thumb_func_start sub_80AEBD0
-sub_80AEBD0: @ 80AEBD0
- push {r4,r5,lr}
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x0000072c
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _080AEC1A
- movs r4, 0
- ldr r5, =gSprites
-_080AEBE4:
- lsls r0, r4, 4
- adds r0, r4
- lsls r2, r0, 2
- adds r0, r5, 0
- adds r0, 0x14
- adds r0, r2, r0
- ldr r1, [r0]
- ldr r0, =gSpriteTemplate_854FE44
- cmp r1, r0
- bne _080AEBFE
- adds r0, r2, r5
- bl DestroySprite
-_080AEBFE:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3F
- bls _080AEBE4
- ldr r0, =0x00001205
- bl FreeSpriteTilesByTag
- ldr r0, =gUnknown_0854C14C
- ldr r0, [r0]
- ldr r1, =0x0000072c
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
-_080AEC1A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AEBD0
-
- thumb_func_start sub_80AEC34
-sub_80AEC34: @ 80AEC34
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x2E]
- movs r2, 0
- adds r0, 0x2
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _080AEC74
- strh r2, [r1, 0x2E]
- movs r3, 0x30
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _080AEC66
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _080AEC74
- movs r0, 0x1
- strh r0, [r1, 0x30]
- b _080AEC74
-_080AEC66:
- ldrh r0, [r1, 0x24]
- subs r0, 0x1
- strh r0, [r1, 0x24]
- lsls r0, 16
- cmp r0, 0
- bgt _080AEC74
- strh r2, [r1, 0x30]
-_080AEC74:
- ldrh r0, [r1, 0x22]
- subs r0, 0x3
- strh r0, [r1, 0x22]
- ldrh r0, [r1, 0x32]
- adds r0, 0x1
- strh r0, [r1, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x77
- ble _080AEC8E
- adds r0, r1, 0
- bl DestroySprite
-_080AEC8E:
- pop {r0}
- bx r0
- thumb_func_end sub_80AEC34
-
- thumb_func_start sub_80AEC94
-sub_80AEC94: @ 80AEC94
- ldr r2, =gUnknown_02038BC4
- strb r0, [r2]
- ldr r0, =gUnknown_02038BC6
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_80AEC94
-
- thumb_func_start sub_80AECA8
-sub_80AECA8: @ 80AECA8
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080AECCC
- cmp r0, 0x1
- beq _080AECF8
- b _080AED1C
- .pool
-_080AECCC:
- ldrh r0, [r4, 0x1E]
- subs r1, r0, 0x1
- strh r1, [r4, 0x1E]
- lsls r0, 16
- cmp r0, 0
- bgt _080AED1C
- ldrb r0, [r4, 0x2]
- bl weather_set
- ldr r1, =gUnknown_02038BC4
- ldrh r0, [r4, 0x2]
- strb r0, [r1]
- movs r1, 0x96
- lsls r1, 2
- adds r0, r1, 0
- strh r0, [r4, 0x1E]
- ldrh r0, [r4]
- adds r0, 0x1
- b _080AED1A
- .pool
-_080AECF8:
- ldrh r0, [r4, 0x1E]
- subs r1, r0, 0x1
- strh r1, [r4, 0x1E]
- lsls r0, 16
- cmp r0, 0
- bgt _080AED1C
- ldrb r0, [r4, 0x4]
- bl weather_set
- ldr r1, =gUnknown_02038BC4
- ldrh r0, [r4, 0x4]
- strb r0, [r1]
- movs r1, 0x96
- lsls r1, 2
- adds r0, r1, 0
- strh r0, [r4, 0x1E]
- movs r0, 0
-_080AED1A:
- strh r0, [r4]
-_080AED1C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AECA8
-
- thumb_func_start bag_add_task0_by_acit
-bag_add_task0_by_acit: @ 80AED28
- push {lr}
- ldr r0, =sub_80AECA8
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- movs r2, 0x96
- lsls r2, 2
- adds r0, r2, 0
- strh r0, [r1, 0x1E]
- ldr r3, =gUnknown_02038BC4
- ldrb r2, [r3]
- cmp r2, 0xD
- bne _080AED60
- movs r0, 0xC
- b _080AED66
- .pool
-_080AED60:
- cmp r2, 0xC
- bne _080AED6C
- movs r0, 0xD
-_080AED66:
- strh r0, [r1, 0x2]
- strh r2, [r1, 0x4]
- b _080AED78
-_080AED6C:
- movs r0, 0xD
- strb r0, [r3]
- movs r0, 0xC
- strh r0, [r1, 0x2]
- movs r0, 0xD
- strh r0, [r1, 0x4]
-_080AED78:
- pop {r0}
- bx r0
- thumb_func_end bag_add_task0_by_acit
-
- thumb_func_start SetSav1Weather
-SetSav1Weather: @ 80AED7C
- push {r4,r5,lr}
- ldr r4, =gSaveBlock1Ptr
- ldr r1, [r4]
- adds r1, 0x2E
- ldrb r5, [r1]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AEEE8
- ldr r1, [r4]
- adds r1, 0x2E
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x2E
- ldrb r0, [r0]
- adds r1, r5, 0
- bl sub_80AEFDC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetSav1Weather
-
- thumb_func_start GetSav1Weather
-GetSav1Weather: @ 80AEDAC
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x2E
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end GetSav1Weather
-
- thumb_func_start SetSav1WeatherFromCurrMapHeader
-SetSav1WeatherFromCurrMapHeader: @ 80AEDBC
- push {r4,r5,lr}
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- adds r0, 0x2E
- ldrb r5, [r0]
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x16]
- bl sub_80AEEE8
- ldr r1, [r4]
- adds r1, 0x2E
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x2E
- ldrb r0, [r0]
- adds r1, r5, 0
- bl sub_80AEFDC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetSav1WeatherFromCurrMapHeader
-
- thumb_func_start SetWeather
-SetWeather: @ 80AEDF0
- push {lr}
- bl SetSav1Weather
- bl GetSav1Weather
- lsls r0, 24
- lsrs r0, 24
- bl weather_set
- pop {r0}
- bx r0
- thumb_func_end SetWeather
-
- thumb_func_start sub_80AEE08
-sub_80AEE08: @ 80AEE08
- push {lr}
- bl SetSav1Weather
- bl GetSav1Weather
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AB104
- pop {r0}
- bx r0
- thumb_func_end sub_80AEE08
-
- thumb_func_start DoCurrentWeather
-DoCurrentWeather: @ 80AEE20
- push {r4,r5,lr}
- bl GetSav1Weather
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bne _080AEE4C
- ldr r0, =sub_80AECA8
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080AEE3E
- bl bag_add_task0_by_acit
-_080AEE3E:
- ldr r0, =gUnknown_02038BC4
- ldrb r4, [r0]
- b _080AEE6E
- .pool
-_080AEE4C:
- ldr r5, =sub_80AECA8
- adds r0, r5, 0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _080AEE68
- adds r0, r5, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080AEE68:
- ldr r1, =gUnknown_02038BC4
- movs r0, 0xD
- strb r0, [r1]
-_080AEE6E:
- adds r0, r4, 0
- bl weather_set
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DoCurrentWeather
-
- thumb_func_start sub_80AEE84
-sub_80AEE84: @ 80AEE84
- push {r4,r5,lr}
- bl GetSav1Weather
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bne _080AEEB0
- ldr r0, =sub_80AECA8
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080AEEA2
- bl bag_add_task0_by_acit
-_080AEEA2:
- ldr r0, =gUnknown_02038BC4
- ldrb r4, [r0]
- b _080AEED2
- .pool
-_080AEEB0:
- ldr r5, =sub_80AECA8
- adds r0, r5, 0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _080AEECC
- adds r0, r5, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080AEECC:
- ldr r1, =gUnknown_02038BC4
- movs r0, 0xD
- strb r0, [r1]
-_080AEED2:
- adds r0, r4, 0
- bl sub_80AB104
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AEE84
-
- thumb_func_start sub_80AEEE8
-sub_80AEEE8: @ 80AEEE8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x15
- bhi _080AEFB4
- lsls r0, 2
- ldr r1, =_080AEF00
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080AEF00:
- .4byte _080AEFB4
- .4byte _080AEF58
- .4byte _080AEF5C
- .4byte _080AEF60
- .4byte _080AEF64
- .4byte _080AEF68
- .4byte _080AEF6C
- .4byte _080AEF70
- .4byte _080AEF74
- .4byte _080AEF78
- .4byte _080AEF7C
- .4byte _080AEF80
- .4byte _080AEF84
- .4byte _080AEF88
- .4byte _080AEF8C
- .4byte _080AEF90
- .4byte _080AEFB4
- .4byte _080AEFB4
- .4byte _080AEFB4
- .4byte _080AEFB4
- .4byte _080AEF94
- .4byte _080AEF9C
-_080AEF58:
- movs r0, 0x1
- b _080AEFB6
-_080AEF5C:
- movs r0, 0x2
- b _080AEFB6
-_080AEF60:
- movs r0, 0x3
- b _080AEFB6
-_080AEF64:
- movs r0, 0x4
- b _080AEFB6
-_080AEF68:
- movs r0, 0x5
- b _080AEFB6
-_080AEF6C:
- movs r0, 0x6
- b _080AEFB6
-_080AEF70:
- movs r0, 0x7
- b _080AEFB6
-_080AEF74:
- movs r0, 0x8
- b _080AEFB6
-_080AEF78:
- movs r0, 0x9
- b _080AEFB6
-_080AEF7C:
- movs r0, 0xA
- b _080AEFB6
-_080AEF80:
- movs r0, 0xB
- b _080AEFB6
-_080AEF84:
- movs r0, 0xC
- b _080AEFB6
-_080AEF88:
- movs r0, 0xD
- b _080AEFB6
-_080AEF8C:
- movs r0, 0xE
- b _080AEFB6
-_080AEF90:
- movs r0, 0xF
- b _080AEFB6
-_080AEF94:
- ldr r1, =gUnknown_0854FE5C
- b _080AEF9E
- .pool
-_080AEF9C:
- ldr r1, =gUnknown_0854FE60
-_080AEF9E:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x2F
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- b _080AEFB6
- .pool
-_080AEFB4:
- movs r0, 0
-_080AEFB6:
- pop {r1}
- bx r1
- thumb_func_end sub_80AEEE8
-
- thumb_func_start UpdateWeatherPerDay
-UpdateWeatherPerDay: @ 80AEFBC
- lsls r0, 16
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- adds r2, 0x2F
- lsrs r0, 16
- ldrb r1, [r2]
- adds r0, r1
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- lsrs r1, 16
- strb r1, [r2]
- bx lr
- .pool
- thumb_func_end UpdateWeatherPerDay
-
- thumb_func_start sub_80AEFDC
-sub_80AEFDC: @ 80AEFDC
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r2, r0, 24
- cmp r0, r1
- beq _080AEFF6
- cmp r2, 0x3
- beq _080AEFF0
- cmp r2, 0x5
- bne _080AEFF6
-_080AEFF0:
- movs r0, 0x28
- bl IncrementGameStat
-_080AEFF6:
- pop {r0}
- bx r0
- thumb_func_end sub_80AEFDC
-
- thumb_func_start palette_bg_faded_fill_white
-palette_bg_faded_fill_white: @ 80AEFFC
- push {lr}
- sub sp, 0x4
- ldr r0, =0x7fff7fff
- str r0, [sp]
- ldr r1, =gPlttBufferFaded
- ldr r2, =0x01000100
- mov r0, sp
- bl CpuFastSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end palette_bg_faded_fill_white
-
- thumb_func_start palette_bg_faded_fill_black
-palette_bg_faded_fill_black: @ 80AF020
- push {lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r1, =gPlttBufferFaded
- ldr r2, =0x01000100
- mov r0, sp
- bl CpuFastSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end palette_bg_faded_fill_black
-
- thumb_func_start pal_fill_for_maplights
-pal_fill_for_maplights: @ 80AF040
- push {r4,lr}
- bl GetLastUsedWarpMapType
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl Overworld_GetMapTypeOfSaveblockLocation
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl fade_type_for_given_maplight_pair
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080AF06A
- cmp r0, 0x1
- beq _080AF078
- b _080AF084
-_080AF06A:
- bl palette_bg_faded_fill_black
- movs r0, 0
- movs r1, 0
- bl FadeScreen
- b _080AF084
-_080AF078:
- bl palette_bg_faded_fill_white
- movs r0, 0x2
- movs r1, 0
- bl FadeScreen
-_080AF084:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pal_fill_for_maplights
-
- thumb_func_start sub_80AF08C
-sub_80AF08C: @ 80AF08C
- push {lr}
- bl palette_bg_faded_fill_white
- movs r0, 0x2
- movs r1, 0x8
- bl FadeScreen
- pop {r0}
- bx r0
- thumb_func_end sub_80AF08C
-
- thumb_func_start pal_fill_black
-pal_fill_black: @ 80AF0A0
- push {lr}
- bl palette_bg_faded_fill_black
- movs r0, 0
- movs r1, 0
- bl FadeScreen
- pop {r0}
- bx r0
- thumb_func_end pal_fill_black
-
- thumb_func_start sub_80AF0B4
-sub_80AF0B4: @ 80AF0B4
- push {r4,lr}
- bl Overworld_GetMapTypeOfSaveblockLocation
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl GetDestinationWarpMapHeader
- ldrb r1, [r0, 0x17]
- adds r0, r4, 0
- bl sub_8137360
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080AF0DA
- cmp r0, 0x1
- beq _080AF0E4
- b _080AF0EC
-_080AF0DA:
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- b _080AF0EC
-_080AF0E4:
- movs r0, 0x3
- movs r1, 0
- bl FadeScreen
-_080AF0EC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AF0B4
-
- thumb_func_start sub_80AF0F4
-sub_80AF0F4: @ 80AF0F4
- push {lr}
- lsls r0, 24
- movs r1, 0
- cmp r0, 0
- bne _080AF100
- movs r1, 0x1
-_080AF100:
- adds r0, r1, 0
- bl sub_808C0A8
- pop {r0}
- bx r0
- thumb_func_end sub_80AF0F4
-
- thumb_func_start task0A_nop_for_a_while
-task0A_nop_for_a_while: @ 80AF10C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80AF71C
- cmp r0, 0x1
- bne _080AF120
- adds r0, r4, 0
- bl DestroyTask
-_080AF120:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end task0A_nop_for_a_while
-
- thumb_func_start sub_80AF128
-sub_80AF128: @ 80AF128
- push {lr}
- bl ScriptContext2_Enable
- bl Overworld_PlaySpecialMapMusic
- bl pal_fill_black
- ldr r0, =task0A_nop_for_a_while
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF128
-
- thumb_func_start task0A_asap_script_env_2_enable_and_set_ctx_running
-task0A_asap_script_env_2_enable_and_set_ctx_running: @ 80AF148
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80AF71C
- cmp r0, 0x1
- bne _080AF160
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080AF160:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end task0A_asap_script_env_2_enable_and_set_ctx_running
-
- thumb_func_start sub_80AF168
-sub_80AF168: @ 80AF168
- push {lr}
- bl ScriptContext2_Enable
- bl Overworld_PlaySpecialMapMusic
- bl pal_fill_black
- ldr r0, =task0A_asap_script_env_2_enable_and_set_ctx_running
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF168
-
- thumb_func_start sub_80AF188
-sub_80AF188: @ 80AF188
- push {lr}
- bl ScriptContext2_Enable
- bl pal_fill_black
- ldr r0, =task0A_asap_script_env_2_enable_and_set_ctx_running
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF188
-
- thumb_func_start task_mpl_807DD60
-task_mpl_807DD60: @ 80AF1A4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r2, =gTasks
- adds r4, r0, r2
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080AF1DE
- cmp r0, 0x1
- bgt _080AF1CC
- cmp r0, 0
- beq _080AF1D2
- b _080AF20E
- .pool
-_080AF1CC:
- cmp r0, 0x2
- beq _080AF1FC
- b _080AF20E
-_080AF1D2:
- bl sub_80B3050
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xA]
- b _080AF1F4
-_080AF1DE:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0x4]
- cmp r0, 0x1
- beq _080AF20E
- bl pal_fill_for_maplights
-_080AF1F4:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080AF20E
-_080AF1FC:
- bl sub_80AF71C
- cmp r0, 0x1
- bne _080AF20E
- bl ScriptContext2_Disable
- adds r0, r5, 0
- bl DestroyTask
-_080AF20E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end task_mpl_807DD60
-
- thumb_func_start sub_80AF214
-sub_80AF214: @ 80AF214
- push {lr}
- bl ScriptContext2_Enable
- bl Overworld_PlaySpecialMapMusic
- bl palette_bg_faded_fill_black
- ldr r0, =task_mpl_807DD60
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF214
-
- thumb_func_start sub_80AF234
-sub_80AF234: @ 80AF234
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080AF268
- cmp r0, 0x1
- bgt _080AF25C
- cmp r0, 0
- beq _080AF262
- b _080AF2AE
- .pool
-_080AF25C:
- cmp r0, 0x2
- beq _080AF298
- b _080AF2AE
-_080AF262:
- bl sub_800ADF8
- b _080AF290
-_080AF268:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- bne _080AF28C
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- movs r1, 0xE1
- lsls r1, 19
- cmp r0, r1
- ble _080AF2AE
- movs r0, 0xC0
- lsls r0, 7
- bl sub_8011170
- b _080AF2AE
-_080AF28C:
- bl pal_fill_for_maplights
-_080AF290:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080AF2AE
-_080AF298:
- bl sub_80AF71C
- cmp r0, 0x1
- bne _080AF2AE
- bl sub_8009F18
- bl ScriptContext2_Disable
- adds r0, r5, 0
- bl DestroyTask
-_080AF2AE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80AF234
-
- thumb_func_start sub_80AF2B4
-sub_80AF2B4: @ 80AF2B4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080AF2E8
- cmp r0, 0x1
- bgt _080AF2DC
- cmp r0, 0
- beq _080AF2E2
- b _080AF30C
- .pool
-_080AF2DC:
- cmp r0, 0x2
- beq _080AF2FA
- b _080AF30C
-_080AF2E2:
- bl sub_800ADF8
- b _080AF2F2
-_080AF2E8:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _080AF30C
-_080AF2F2:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080AF30C
-_080AF2FA:
- bl sub_8009F18
- bl sub_8086C2C
- bl ScriptContext2_Disable
- adds r0, r5, 0
- bl DestroyTask
-_080AF30C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80AF2B4
-
- thumb_func_start sub_80AF314
-sub_80AF314: @ 80AF314
- push {lr}
- bl ScriptContext2_Enable
- bl Overworld_PlaySpecialMapMusic
- bl palette_bg_faded_fill_black
- ldr r0, =sub_80AF234
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF314
-
- thumb_func_start sub_80AF334
-sub_80AF334: @ 80AF334
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsDoor
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080AF36C
- ldr r1, =sub_80AF438
- b _080AF37E
- .pool
-_080AF36C:
- adds r0, r4, 0
- bl MetatileBehavior_IsNonAnimDoor
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =task_map_chg_seq_0807E2CC
- cmp r0, 0x1
- bne _080AF37E
- ldr r1, =task_map_chg_seq_0807E20C
-_080AF37E:
- adds r0, r1, 0
- movs r1, 0xA
- bl CreateTask
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF334
-
- thumb_func_start mapldr_default
-mapldr_default: @ 80AF398
- push {lr}
- bl Overworld_PlaySpecialMapMusic
- bl pal_fill_for_maplights
- bl sub_80AF334
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- thumb_func_end mapldr_default
-
- thumb_func_start sub_80AF3B0
-sub_80AF3B0: @ 80AF3B0
- push {lr}
- bl Overworld_PlaySpecialMapMusic
- bl sub_80AF08C
- bl sub_80AF334
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- thumb_func_end sub_80AF3B0
-
- thumb_func_start sub_80AF3C8
-sub_80AF3C8: @ 80AF3C8
- push {lr}
- bl sub_81D6534
- cmp r0, 0
- bne _080AF3D6
- bl Overworld_PlaySpecialMapMusic
-_080AF3D6:
- bl pal_fill_black
- bl sub_80AF334
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- thumb_func_end sub_80AF3C8
-
- thumb_func_start sub_80AF3E8
-sub_80AF3E8: @ 80AF3E8
- push {lr}
- bl Overworld_PlaySpecialMapMusic
- bl pal_fill_for_maplights
- movs r0, 0x2E
- bl PlaySE
- ldr r0, =task0A_mpl_807E31C
- movs r1, 0xA
- bl CreateTask
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF3E8
-
- thumb_func_start sub_80AF40C
-sub_80AF40C: @ 80AF40C
- push {lr}
- bl Overworld_PlaySpecialMapMusic
- bl pal_fill_for_maplights
- movs r0, 0x2E
- bl PlaySE
- ldr r0, =task_map_chg_seq_0807E2CC
- movs r1, 0xA
- bl CreateTask
- bl ScriptContext2_Enable
- movs r0, 0xE
- bl sub_8085540
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF40C
-
- thumb_func_start sub_80AF438
-sub_80AF438: @ 80AF438
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- adds r6, r5, 0
- adds r6, 0xC
- adds r7, r5, 0
- adds r7, 0xE
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- adds r2, r1, 0
- cmp r0, 0x4
- bhi _080AF54A
- lsls r0, 2
- ldr r1, =_080AF46C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080AF46C:
- .4byte _080AF480
- .4byte _080AF4A4
- .4byte _080AF4DC
- .4byte _080AF520
- .4byte _080AF540
-_080AF480:
- movs r0, 0
- bl sub_80AF0F4
- bl FreezeEventObjects
- adds r0, r6, 0
- adds r1, r7, 0
- bl PlayerGetDestCoords
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r2, 0
- ldrsh r1, [r7, r2]
- bl FieldSetDoorOpened
- movs r0, 0x1
- strh r0, [r5, 0x8]
- b _080AF54A
-_080AF4A4:
- bl sub_80AF71C
- cmp r0, 0
- beq _080AF54A
- movs r0, 0x1
- bl sub_80AF0F4
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetEventObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r0, r1
- movs r1, 0x8
- bl EventObjectSetHeldMovement
- movs r0, 0x2
- strh r0, [r5, 0x8]
- b _080AF54A
- .pool
-_080AF4DC:
- bl walkrun_is_standing_still
- lsls r0, 24
- cmp r0, 0
- beq _080AF54A
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r2, 0
- ldrsh r1, [r7, r2]
- bl FieldAnimateDoorClose
- lsls r0, 24
- asrs r0, 24
- strh r0, [r5, 0xA]
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetEventObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r0, r1
- bl EventObjectClearHeldMovementIfFinished
- movs r0, 0x3
- strh r0, [r5, 0x8]
- b _080AF54A
- .pool
-_080AF520:
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- blt _080AF536
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0x4]
- cmp r0, 0x1
- beq _080AF54A
-_080AF536:
- bl UnfreezeEventObjects
- movs r0, 0x4
- strh r0, [r5, 0x8]
- b _080AF54A
-_080AF540:
- bl ScriptContext2_Disable
- adds r0, r4, 0
- bl DestroyTask
-_080AF54A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80AF438
-
- thumb_func_start task_map_chg_seq_0807E20C
-task_map_chg_seq_0807E20C: @ 80AF550
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- adds r6, r5, 0
- adds r6, 0xC
- adds r7, r5, 0
- adds r7, 0xE
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080AF5A2
- cmp r0, 0x1
- bgt _080AF580
- cmp r0, 0
- beq _080AF58A
- b _080AF60A
- .pool
-_080AF580:
- cmp r0, 0x2
- beq _080AF5EC
- cmp r0, 0x3
- beq _080AF600
- b _080AF60A
-_080AF58A:
- movs r0, 0
- bl sub_80AF0F4
- bl FreezeEventObjects
- adds r0, r6, 0
- adds r1, r7, 0
- bl PlayerGetDestCoords
- movs r0, 0x1
- strh r0, [r5, 0x8]
- b _080AF60A
-_080AF5A2:
- bl sub_80AF71C
- cmp r0, 0
- beq _080AF60A
- movs r0, 0x1
- bl sub_80AF0F4
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetEventObjectIdByLocalIdAndMap
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gEventObjects
- adds r4, r0
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- bl GetWalkNormalMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl EventObjectSetHeldMovement
- movs r0, 0x2
- strh r0, [r5, 0x8]
- b _080AF60A
- .pool
-_080AF5EC:
- bl walkrun_is_standing_still
- lsls r0, 24
- cmp r0, 0
- beq _080AF60A
- bl UnfreezeEventObjects
- movs r0, 0x3
- strh r0, [r5, 0x8]
- b _080AF60A
-_080AF600:
- bl ScriptContext2_Disable
- adds r0, r4, 0
- bl DestroyTask
-_080AF60A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end task_map_chg_seq_0807E20C
-
- thumb_func_start task_map_chg_seq_0807E2CC
-task_map_chg_seq_0807E2CC: @ 80AF610
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080AF634
- cmp r0, 0x1
- beq _080AF644
- b _080AF65A
- .pool
-_080AF634:
- bl FreezeEventObjects
- bl ScriptContext2_Enable
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080AF65A
-_080AF644:
- bl sub_80AF71C
- cmp r0, 0
- beq _080AF65A
- bl UnfreezeEventObjects
- bl ScriptContext2_Disable
- adds r0, r5, 0
- bl DestroyTask
-_080AF65A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end task_map_chg_seq_0807E2CC
-
- thumb_func_start sub_80AF660
-sub_80AF660: @ 80AF660
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80AF71C
- cmp r0, 0x1
- bne _080AF67C
- adds r0, r4, 0
- bl DestroyTask
- ldr r0, =sub_809FA34
- movs r1, 0x50
- bl CreateTask
-_080AF67C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF660
-
- thumb_func_start sub_80AF688
-sub_80AF688: @ 80AF688
- push {lr}
- bl pal_fill_black
- ldr r0, =sub_80AF660
- movs r1, 0x50
- bl CreateTask
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF688
-
- thumb_func_start sub_80AF6A4
-sub_80AF6A4: @ 80AF6A4
- push {lr}
- bl sub_809FA18
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80AF6A4
-
- thumb_func_start task_mpl_807E3C8
-task_mpl_807E3C8: @ 80AF6B0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80AF71C
- cmp r0, 0x1
- bne _080AF6CC
- bl ScriptContext2_Disable
- adds r0, r4, 0
- bl DestroyTask
- bl ScriptUnfreezeEventObjects
-_080AF6CC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end task_mpl_807E3C8
-
- thumb_func_start sub_80AF6D4
-sub_80AF6D4: @ 80AF6D4
- push {lr}
- bl ScriptContext2_Enable
- bl pal_fill_black
- ldr r0, =task_mpl_807E3C8
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF6D4
-
- thumb_func_start sub_80AF6F0
-sub_80AF6F0: @ 80AF6F0
- push {lr}
- bl ScriptContext2_Enable
- bl Overworld_PlaySpecialMapMusic
- bl pal_fill_black
- ldr r0, =task_mpl_807E3C8
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF6F0
-
- thumb_func_start sub_80AF710
-sub_80AF710: @ 80AF710
- ldr r0, =gPaletteFade
- ldrb r0, [r0, 0x7]
- lsrs r0, 7
- bx lr
- .pool
- thumb_func_end sub_80AF710
-
- thumb_func_start sub_80AF71C
-sub_80AF71C: @ 80AF71C
- push {lr}
- bl IsWeatherNotFadingIn
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080AF72E
- movs r0, 0
- b _080AF730
-_080AF72E:
- movs r0, 0x1
-_080AF730:
- pop {r1}
- bx r1
- thumb_func_end sub_80AF71C
-
- thumb_func_start sub_80AF734
-sub_80AF734: @ 80AF734
- push {lr}
- bl ScriptContext2_Enable
- bl music_something
- bl sub_80AF0B4
- bl play_some_sound
- movs r0, 0x9
- bl PlaySE
- ldr r0, =gFieldCallback
- ldr r1, =mapldr_default
- str r1, [r0]
- ldr r0, =sub_80AFA0C
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF734
-
- thumb_func_start sp13E_warp_to_last_warp
-sp13E_warp_to_last_warp: @ 80AF76C
- push {lr}
- bl ScriptContext2_Enable
- bl music_something
- bl sub_80AF0B4
- bl play_some_sound
- ldr r0, =gFieldCallback
- ldr r1, =mapldr_default
- str r1, [r0]
- ldr r0, =sub_80AFA0C
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sp13E_warp_to_last_warp
-
- thumb_func_start sub_80AF79C
-sub_80AF79C: @ 80AF79C
- push {lr}
- bl ScriptContext2_Enable
- bl music_something
- movs r0, 0x3
- movs r1, 0x8
- bl FadeScreen
- bl play_some_sound
- ldr r0, =gFieldCallback
- ldr r1, =sub_80AF3B0
- str r1, [r0]
- ldr r0, =sub_80AFA0C
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF79C
-
- thumb_func_start sub_80AF7D0
-sub_80AF7D0: @ 80AF7D0
- push {lr}
- bl ScriptContext2_Enable
- ldr r0, =gFieldCallback
- ldr r1, =mapldr_default
- str r1, [r0]
- ldr r0, =sub_80AFA88
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF7D0
-
- thumb_func_start sp13F_fall_to_last_warp
-sp13F_fall_to_last_warp: @ 80AF7F4
- push {lr}
- bl sp13E_warp_to_last_warp
- ldr r1, =gFieldCallback
- ldr r0, =sub_80B6B68
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sp13F_fall_to_last_warp
-
- thumb_func_start sub_80AF80C
-sub_80AF80C: @ 80AF80C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ScriptContext2_Enable
- adds r0, r4, 0
- movs r1, 0xA
- bl sub_80B6E4C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AF80C
-
- thumb_func_start sub_80AF828
-sub_80AF828: @ 80AF828
- push {lr}
- bl ScriptContext2_Enable
- movs r0, 0xA
- bl sub_80B75D8
- pop {r0}
- bx r0
- thumb_func_end sub_80AF828
-
- thumb_func_start sub_80AF838
-sub_80AF838: @ 80AF838
- push {lr}
- bl ScriptContext2_Enable
- movs r0, 0xA
- bl sub_80B7A74
- pop {r0}
- bx r0
- thumb_func_end sub_80AF838
-
- thumb_func_start sub_80AF848
-sub_80AF848: @ 80AF848
- push {lr}
- bl ScriptContext2_Enable
- bl music_something
- bl sub_80AF0B4
- movs r0, 0x2D
- bl PlaySE
- ldr r0, =sub_80AFA0C
- movs r1, 0xA
- bl CreateTask
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF3E8
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF848
-
- thumb_func_start sub_80AF87C
-sub_80AF87C: @ 80AF87C
- push {lr}
- movs r0, 0x1
- bl sub_8085540
- bl ScriptContext2_Enable
- bl SaveEventObjects
- bl music_something
- bl sub_80AF0B4
- movs r0, 0x2D
- bl PlaySE
- ldr r0, =sub_80AFA0C
- movs r1, 0xA
- bl CreateTask
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF40C
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF87C
-
- thumb_func_start sub_80AF8B8
-sub_80AF8B8: @ 80AF8B8
- push {lr}
- bl ScriptContext2_Enable
- bl sub_80AF0B4
- ldr r0, =sub_80AFA0C
- movs r1, 0xA
- bl CreateTask
- ldr r1, =gFieldCallback
- ldr r0, =sub_80FB768
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF8B8
-
- thumb_func_start sub_80AF8E0
-sub_80AF8E0: @ 80AF8E0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080AF914
- cmp r0, 0x1
- bgt _080AF908
- cmp r0, 0
- beq _080AF90E
- b _080AF93E
- .pool
-_080AF908:
- cmp r0, 0x2
- beq _080AF92E
- b _080AF93E
-_080AF90E:
- bl ScriptContext2_Enable
- b _080AF926
-_080AF914:
- bl sub_80AF710
- cmp r0, 0
- bne _080AF93E
- bl BGMusicStopped
- lsls r0, 24
- cmp r0, 0
- beq _080AF93E
-_080AF926:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080AF93E
-_080AF92E:
- bl WarpIntoMap
- ldr r0, =sub_8086074
- bl SetMainCallback2
- adds r0, r5, 0
- bl DestroyTask
-_080AF93E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF8E0
-
- thumb_func_start sub_80AF948
-sub_80AF948: @ 80AF948
- push {lr}
- bl ScriptContext2_Enable
- bl music_something
- bl sub_80AF0B4
- movs r0, 0x9
- bl PlaySE
- ldr r0, =sub_80AF8E0
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF948
-
- thumb_func_start sub_80AF96C
-sub_80AF96C: @ 80AF96C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080AF9B2
- cmp r0, 0x1
- bgt _080AF994
- cmp r0, 0
- beq _080AF99A
- b _080AF9E8
- .pool
-_080AF994:
- cmp r0, 0x2
- beq _080AF9D0
- b _080AF9E8
-_080AF99A:
- bl ClearLinkCallback_2
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- bl music_something
- movs r0, 0x9
- bl PlaySE
- b _080AF9C8
-_080AF9B2:
- bl sub_80AF710
- cmp r0, 0
- bne _080AF9E8
- bl BGMusicStopped
- lsls r0, 24
- cmp r0, 0
- beq _080AF9E8
- bl sub_800AC34
-_080AF9C8:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080AF9E8
-_080AF9D0:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AF9E8
- bl WarpIntoMap
- ldr r0, =CB2_LoadMap
- bl SetMainCallback2
- adds r0, r5, 0
- bl DestroyTask
-_080AF9E8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF96C
-
- thumb_func_start sub_80AF9F8
-sub_80AF9F8: @ 80AF9F8
- push {lr}
- ldr r0, =sub_80AF96C
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AF9F8
-
- thumb_func_start sub_80AFA0C
-sub_80AFA0C: @ 80AFA0C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r5, [r4, r0]
- cmp r5, 0x1
- beq _080AFA44
- cmp r5, 0x1
- bgt _080AFA34
- cmp r5, 0
- beq _080AFA3A
- b _080AFA7C
- .pool
-_080AFA34:
- cmp r5, 0x2
- beq _080AFA6C
- b _080AFA7C
-_080AFA3A:
- bl FreezeEventObjects
- bl ScriptContext2_Enable
- b _080AFA64
-_080AFA44:
- bl sub_80AF710
- cmp r0, 0
- bne _080AFA7C
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080AFA5A
- bl sub_81BE72C
- strh r5, [r4, 0xA]
-_080AFA5A:
- bl BGMusicStopped
- lsls r0, 24
- cmp r0, 0
- beq _080AFA7C
-_080AFA64:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080AFA7C
-_080AFA6C:
- bl WarpIntoMap
- ldr r0, =CB2_LoadMap
- bl SetMainCallback2
- adds r0, r6, 0
- bl DestroyTask
-_080AFA7C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AFA0C
-
- thumb_func_start sub_80AFA88
-sub_80AFA88: @ 80AFA88
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r5, r1, r0
- adds r4, r5, 0
- adds r4, 0xC
- adds r6, r5, 0
- adds r6, 0xE
- movs r2, 0x8
- ldrsh r1, [r5, r2]
- adds r2, r0, 0
- cmp r1, 0x4
- bls _080AFAAC
- b _080AFBE8
-_080AFAAC:
- lsls r0, r1, 2
- ldr r1, =_080AFAC0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080AFAC0:
- .4byte _080AFAD4
- .4byte _080AFB10
- .4byte _080AFB6C
- .4byte _080AFBB8
- .4byte _080AFBD4
-_080AFAD4:
- bl FreezeEventObjects
- adds r0, r4, 0
- adds r1, r6, 0
- bl PlayerGetDestCoords
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0
- ldrsh r1, [r6, r2]
- subs r1, 0x1
- bl GetDoorSoundEffect
- lsls r0, 16
- lsrs r0, 16
- bl PlaySE
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0
- ldrsh r1, [r6, r2]
- subs r1, 0x1
- bl FieldAnimateDoorOpen
- lsls r0, 24
- asrs r0, 24
- strh r0, [r5, 0xA]
- movs r0, 0x1
- strh r0, [r5, 0x8]
- b _080AFBE8
-_080AFB10:
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- blt _080AFB26
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0x4]
- cmp r0, 0x1
- beq _080AFBE8
-_080AFB26:
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetEventObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r4, =gEventObjects
- adds r0, r4
- bl EventObjectClearHeldMovementIfActive
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetEventObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x9
- bl EventObjectSetHeldMovement
- movs r0, 0x2
- strh r0, [r5, 0x8]
- b _080AFBE8
- .pool
-_080AFB6C:
- bl walkrun_is_standing_still
- lsls r0, 24
- cmp r0, 0
- beq _080AFBE8
- movs r2, 0
- ldrsh r0, [r4, r2]
- movs r2, 0
- ldrsh r1, [r6, r2]
- subs r1, 0x1
- bl FieldAnimateDoorClose
- lsls r0, 24
- asrs r0, 24
- strh r0, [r5, 0xA]
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetEventObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r0, r1
- bl EventObjectClearHeldMovementIfFinished
- movs r0, 0
- bl sub_80AF0F4
- movs r0, 0x3
- strh r0, [r5, 0x8]
- b _080AFBE8
- .pool
-_080AFBB8:
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- blt _080AFBCE
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0x4]
- cmp r0, 0x1
- beq _080AFBE8
-_080AFBCE:
- movs r0, 0x4
- strh r0, [r5, 0x8]
- b _080AFBE8
-_080AFBD4:
- bl music_something
- bl sub_80AF0B4
- bl play_some_sound
- movs r0, 0
- strh r0, [r5, 0x8]
- ldr r0, =sub_80AFA0C
- str r0, [r5]
-_080AFBE8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AFA88
-
- thumb_func_start task0A_fade_n_map_maybe
-task0A_fade_n_map_maybe: @ 80AFBF4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080AFC2C
- cmp r0, 0x1
- bgt _080AFC1C
- cmp r0, 0
- beq _080AFC22
- b _080AFC56
- .pool
-_080AFC1C:
- cmp r0, 0x2
- beq _080AFC46
- b _080AFC56
-_080AFC22:
- bl FreezeEventObjects
- bl ScriptContext2_Enable
- b _080AFC3E
-_080AFC2C:
- bl sub_80AF710
- cmp r0, 0
- bne _080AFC56
- bl BGMusicStopped
- lsls r0, 24
- cmp r0, 0
- beq _080AFC56
-_080AFC3E:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080AFC56
-_080AFC46:
- bl WarpIntoMap
- ldr r0, =sub_8086024
- bl SetMainCallback2
- adds r0, r5, 0
- bl DestroyTask
-_080AFC56:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task0A_fade_n_map_maybe
-
- thumb_func_start sub_80AFC60
-sub_80AFC60: @ 80AFC60
- push {lr}
- bl ScriptContext2_Enable
- bl music_something
- bl sub_80AF0B4
- bl play_some_sound
- movs r0, 0x9
- bl PlaySE
- ldr r0, =gFieldCallback
- ldr r1, =sub_80AF3C8
- str r1, [r0]
- ldr r0, =task0A_fade_n_map_maybe
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AFC60
-
- thumb_func_start sub_80AFC98
-sub_80AFC98: @ 80AFC98
- push {lr}
- cmp r1, 0xA0
- bhi _080AFCC0
- cmp r2, 0
- bge _080AFCA4
- movs r2, 0
-_080AFCA4:
- cmp r2, 0xFF
- ble _080AFCAA
- movs r2, 0xFF
-_080AFCAA:
- cmp r3, 0
- bge _080AFCB0
- movs r3, 0
-_080AFCB0:
- cmp r3, 0xFF
- ble _080AFCB6
- movs r3, 0xFF
-_080AFCB6:
- lsls r1, 1
- adds r1, r0
- lsls r0, r2, 8
- orrs r0, r3
- strh r0, [r1]
-_080AFCC0:
- pop {r0}
- bx r0
- thumb_func_end sub_80AFC98
-
- thumb_func_start sub_80AFCC4
-sub_80AFCC4: @ 80AFCC4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- str r0, [sp]
- mov r10, r1
- mov r9, r2
- adds r6, r3, 0
- mov r8, r6
- movs r7, 0
- cmp r6, 0
- blt _080AFD40
-_080AFCE0:
- mov r0, r9
- subs r1, r0, r7
- mov r0, r10
- subs r4, r0, r6
- adds r5, r0, r6
- ldr r0, [sp]
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_80AFC98
- mov r0, r9
- adds r1, r0, r7
- ldr r0, [sp]
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_80AFC98
- mov r0, r9
- subs r1, r0, r6
- mov r0, r10
- subs r4, r0, r7
- adds r5, r0, r7
- ldr r0, [sp]
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_80AFC98
- mov r0, r9
- adds r1, r0, r6
- ldr r0, [sp]
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_80AFC98
- mov r1, r8
- adds r1, 0x1
- lsls r0, r7, 1
- subs r1, r0
- mov r8, r1
- adds r7, 0x1
- cmp r1, 0
- bge _080AFD3C
- subs r1, r6, 0x1
- lsls r0, r1, 1
- add r8, r0
- adds r6, r1, 0
-_080AFD3C:
- cmp r6, r7
- bge _080AFCE0
-_080AFD40:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80AFCC4
-
- thumb_func_start sub_80AFD50
-sub_80AFD50: @ 80AFD50
- push {lr}
- cmp r1, 0xA0
- bhi _080AFD78
- cmp r2, 0
- bge _080AFD5C
- movs r2, 0
-_080AFD5C:
- cmp r2, 0xF0
- ble _080AFD62
- movs r2, 0xF0
-_080AFD62:
- cmp r3, 0
- bge _080AFD68
- movs r3, 0
-_080AFD68:
- cmp r3, 0xF0
- ble _080AFD6E
- movs r3, 0xF0
-_080AFD6E:
- lsls r1, 1
- adds r1, r0
- lsls r0, r2, 8
- orrs r0, r3
- strh r0, [r1]
-_080AFD78:
- pop {r0}
- bx r0
- thumb_func_end sub_80AFD50
-
- thumb_func_start sub_80AFD7C
-sub_80AFD7C: @ 80AFD7C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- str r0, [sp]
- mov r10, r1
- mov r9, r2
- adds r6, r3, 0
- mov r8, r6
- movs r7, 0
- cmp r6, 0
- blt _080AFDF8
-_080AFD98:
- mov r0, r9
- subs r1, r0, r7
- mov r0, r10
- subs r4, r0, r6
- adds r5, r0, r6
- ldr r0, [sp]
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_80AFD50
- mov r0, r9
- adds r1, r0, r7
- ldr r0, [sp]
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_80AFD50
- mov r0, r9
- subs r1, r0, r6
- mov r0, r10
- subs r4, r0, r7
- adds r5, r0, r7
- ldr r0, [sp]
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_80AFD50
- mov r0, r9
- adds r1, r0, r6
- ldr r0, [sp]
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_80AFD50
- mov r1, r8
- adds r1, 0x1
- lsls r0, r7, 1
- subs r1, r0
- mov r8, r1
- adds r7, 0x1
- cmp r1, 0
- bge _080AFDF4
- subs r1, r6, 0x1
- lsls r0, r1, 1
- add r8, r0
- adds r6, r1, 0
-_080AFDF4:
- cmp r6, r7
- bge _080AFD98
-_080AFDF8:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80AFD7C
-
- thumb_func_start sub_80AFE08
-sub_80AFE08: @ 80AFE08
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080AFE64
- cmp r0, 0x1
- bgt _080AFE30
- cmp r0, 0
- beq _080AFE36
- b _080AFEC6
- .pool
-_080AFE30:
- cmp r0, 0x2
- beq _080AFEBC
- b _080AFEC6
-_080AFE36:
- ldr r0, =gScanlineEffect
- ldrb r1, [r0, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- ldr r1, =gScanlineEffectRegBuffers
- adds r0, r1
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r5, 0x6
- ldrsh r3, [r4, r5]
- bl sub_80AFCC4
- movs r0, 0x1
- strh r0, [r4]
- b _080AFEC6
- .pool
-_080AFE64:
- ldr r0, =gScanlineEffect
- ldrb r1, [r0, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- ldr r1, =gScanlineEffectRegBuffers
- adds r0, r1
- movs r6, 0x2
- ldrsh r1, [r4, r6]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r6, 0x6
- ldrsh r3, [r4, r6]
- bl sub_80AFCC4
- movs r0, 0
- strh r0, [r4]
- ldrh r0, [r4, 0xA]
- ldrh r1, [r4, 0x6]
- adds r0, r1
- strh r0, [r4, 0x6]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- cmp r0, r1
- ble _080AFEC6
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- bne _080AFEB4
- bl ScanlineEffect_Stop
- movs r0, 0x2
- strh r0, [r4]
- b _080AFEC6
- .pool
-_080AFEB4:
- adds r0, r5, 0
- bl DestroyTask
- b _080AFEC6
-_080AFEBC:
- bl ScanlineEffect_Clear
- adds r0, r5, 0
- bl DestroyTask
-_080AFEC6:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80AFE08
-
- thumb_func_start sub_80AFECC
-sub_80AFECC: @ 80AFECC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080AFF28
- cmp r0, 0x1
- bgt _080AFEF4
- cmp r0, 0
- beq _080AFEFA
- b _080AFF8A
- .pool
-_080AFEF4:
- cmp r0, 0x2
- beq _080AFF80
- b _080AFF8A
-_080AFEFA:
- ldr r0, =gScanlineEffect
- ldrb r1, [r0, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- ldr r1, =gScanlineEffectRegBuffers
- adds r0, r1
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r5, 0x6
- ldrsh r3, [r4, r5]
- bl sub_80AFD7C
- movs r0, 0x1
- strh r0, [r4]
- b _080AFF8A
- .pool
-_080AFF28:
- ldr r0, =gScanlineEffect
- ldrb r1, [r0, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- ldr r1, =gScanlineEffectRegBuffers
- adds r0, r1
- movs r6, 0x2
- ldrsh r1, [r4, r6]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r6, 0x6
- ldrsh r3, [r4, r6]
- bl sub_80AFD7C
- movs r0, 0
- strh r0, [r4]
- ldrh r0, [r4, 0xA]
- ldrh r1, [r4, 0x6]
- adds r0, r1
- strh r0, [r4, 0x6]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- cmp r0, r1
- ble _080AFF8A
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- bne _080AFF78
- bl ScanlineEffect_Stop
- movs r0, 0x2
- strh r0, [r4]
- b _080AFF8A
- .pool
-_080AFF78:
- adds r0, r5, 0
- bl DestroyTask
- b _080AFF8A
-_080AFF80:
- bl ScanlineEffect_Clear
- adds r0, r5, 0
- bl DestroyTask
-_080AFF8A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80AFECC
-
- thumb_func_start sub_80AFF90
-sub_80AFF90: @ 80AFF90
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =sub_80AFE08
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080AFFAC
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
-_080AFFAC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AFF90
-
- thumb_func_start sub_80AFFB8
-sub_80AFFB8: @ 80AFFB8
- push {r4,lr}
- ldr r4, =sub_80AFF90
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080AFFD0
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
-_080AFFD0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AFFB8
-
- thumb_func_start sub_80AFFDC
-sub_80AFFDC: @ 80AFFDC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r0
- mov r9, r1
- adds r5, r2, 0
- adds r4, r3, 0
- ldr r6, [sp, 0x1C]
- ldr r0, [sp, 0x20]
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =sub_80AFE08
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r1, r0, r1
- strh r5, [r1, 0x6]
- strh r4, [r1, 0x8]
- mov r0, r8
- strh r0, [r1, 0x2]
- mov r0, r9
- strh r0, [r1, 0x4]
- strh r6, [r1, 0xC]
- cmp r5, r4
- bge _080B0028
- strh r7, [r1, 0xA]
- b _080B002C
- .pool
-_080B0028:
- negs r0, r7
- strh r0, [r1, 0xA]
-_080B002C:
- adds r0, r2, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AFFDC
-
- thumb_func_start sub_80B003C
-sub_80B003C: @ 80B003C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r0
- mov r9, r1
- adds r5, r2, 0
- adds r4, r3, 0
- ldr r6, [sp, 0x1C]
- ldr r0, [sp, 0x20]
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =sub_80AFECC
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r1, r0, r1
- strh r5, [r1, 0x6]
- strh r4, [r1, 0x8]
- mov r0, r8
- strh r0, [r1, 0x2]
- mov r0, r9
- strh r0, [r1, 0x4]
- strh r6, [r1, 0xC]
- cmp r5, r4
- bge _080B0088
- strh r7, [r1, 0xA]
- b _080B008C
- .pool
-_080B0088:
- negs r0, r7
- strh r0, [r1, 0xA]
-_080B008C:
- adds r0, r2, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80B003C
-
- thumb_func_start sub_80B009C
-sub_80B009C: @ 80B009C
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- bl Overworld_GetFlashLevel
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- cmp r4, 0
- bne _080B00B6
- movs r5, 0x1
-_080B00B6:
- ldr r1, =gUnknown_0854FE64
- lsls r0, 1
- adds r0, r1
- ldrh r2, [r0]
- lsls r0, r4, 1
- adds r0, r1
- ldrh r3, [r0]
- str r5, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0x78
- movs r1, 0x50
- bl sub_80AFFDC
- bl sub_80AFFB8
- bl ScriptContext2_Enable
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B009C
-
- thumb_func_start sub_80B00E8
-sub_80B00E8: @ 80B00E8
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080B0116
- ldr r4, =gScanlineEffectRegBuffers
- ldr r1, =gUnknown_0854FE64
- lsls r0, 1
- adds r0, r1
- ldrh r3, [r0]
- adds r0, r4, 0
- movs r1, 0x78
- movs r2, 0x50
- bl sub_80AFCC4
- movs r0, 0xF0
- lsls r0, 3
- adds r1, r4, r0
- movs r2, 0xF0
- lsls r2, 1
- adds r0, r4, 0
- bl CpuFastSet
-_080B0116:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B00E8
-
- thumb_func_start door_upload_tiles
-door_upload_tiles: @ 80B0124
- push {r4,lr}
- ldr r4, =gScanlineEffectRegBuffers
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000e68
- adds r0, r1
- ldrb r3, [r0]
- adds r0, r4, 0
- movs r1, 0x78
- movs r2, 0x50
- bl sub_80AFCC4
- movs r0, 0xF0
- lsls r0, 3
- adds r1, r4, r0
- movs r2, 0xF0
- lsls r2, 1
- adds r0, r4, 0
- bl CpuFastSet
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end door_upload_tiles
-
- thumb_func_start task0A_mpl_807E31C
-task0A_mpl_807E31C: @ 80B0160
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080B0184
- cmp r0, 0x1
- beq _080B0198
- b _080B01B6
- .pool
-_080B0184:
- bl FreezeEventObjects
- bl ScriptContext2_Enable
- bl sub_808D194
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080B01B6
-_080B0198:
- bl sub_80AF71C
- cmp r0, 0
- beq _080B01B6
- bl sub_808D1B4
- cmp r0, 0x1
- beq _080B01B6
- bl UnfreezeEventObjects
- bl ScriptContext2_Disable
- adds r0, r5, 0
- bl DestroyTask
-_080B01B6:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end task0A_mpl_807E31C
-
- thumb_func_start sub_80B01BC
-sub_80B01BC: @ 80B01BC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080B0202
- cmp r0, 0x1
- bgt _080B01E4
- cmp r0, 0
- beq _080B01EE
- b _080B023A
- .pool
-_080B01E4:
- cmp r0, 0x2
- beq _080B0210
- cmp r0, 0x3
- beq _080B022A
- b _080B023A
-_080B01EE:
- bl FreezeEventObjects
- bl ScriptContext2_Enable
- movs r0, 0x2D
- bl PlaySE
- bl sub_808D1C8
- b _080B0222
-_080B0202:
- bl sub_808D1E8
- cmp r0, 0
- bne _080B023A
- bl sub_80AF0B4
- b _080B0222
-_080B0210:
- bl sub_80AF710
- cmp r0, 0
- bne _080B023A
- bl BGMusicStopped
- lsls r0, 24
- cmp r0, 0
- beq _080B023A
-_080B0222:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080B023A
-_080B022A:
- bl WarpIntoMap
- ldr r0, =CB2_LoadMap
- bl SetMainCallback2
- adds r0, r5, 0
- bl DestroyTask
-_080B023A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B01BC
-
- thumb_func_start sub_80B0244
-sub_80B0244: @ 80B0244
- push {lr}
- bl ScriptContext2_Enable
- ldr r0, =sub_80AFA0C
- movs r1, 0xA
- bl CreateTask
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF3E8
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B0244
-
- thumb_func_start sub_80B0268
-sub_80B0268: @ 80B0268
- push {lr}
- bl ScriptContext2_Enable
- ldr r0, =gFieldCallback
- ldr r1, =mapldr_default
- str r1, [r0]
- ldr r0, =sub_80B01BC
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B0268
-
- thumb_func_start sub_80B028C
-sub_80B028C: @ 80B028C
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- cmp r0, 0
- bne _080B029A
- movs r1, 0x1F
- b _080B02A0
-_080B029A:
- movs r0, 0xF8
- lsls r0, 7
- adds r1, r0, 0
-_080B02A0:
- mov r0, sp
- strh r1, [r0]
- movs r5, 0
- movs r4, 0xF0
- lsls r4, 16
-_080B02AA:
- lsrs r1, r4, 16
- mov r0, sp
- movs r2, 0x2
- bl LoadPalette
- movs r0, 0x80
- lsls r0, 9
- adds r4, r0
- adds r5, 0x1
- cmp r5, 0xF
- ble _080B02AA
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B028C
-
- thumb_func_start sub_80B02C8
-sub_80B02C8: @ 80B02C8
- push {r4,r5,lr}
- lsls r0, 16
- ldr r2, =0x04000052
- ldrh r1, [r2]
- lsls r1, 24
- lsrs r5, r1, 24
- ldrh r1, [r2]
- lsrs r4, r1, 8
- cmp r0, 0
- beq _080B02EC
- cmp r5, 0
- beq _080B02F6
- subs r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- b _080B02F6
- .pool
-_080B02EC:
- cmp r4, 0xF
- bhi _080B02F6
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080B02F6:
- lsls r1, r4, 8
- orrs r1, r5
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- cmp r5, 0
- bne _080B0310
- cmp r4, 0x10
- bne _080B0310
- movs r0, 0x1
- b _080B0312
-_080B0310:
- movs r0, 0
-_080B0312:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B02C8
-
- thumb_func_start sub_80B0318
-sub_80B0318: @ 80B0318
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x7
- bls _080B0334
- b _080B052C
-_080B0334:
- lsls r0, 2
- ldr r1, =_080B0348
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080B0348:
- .4byte _080B0368
- .4byte _080B0424
- .4byte _080B0450
- .4byte _080B046C
- .4byte _080B0482
- .4byte _080B04F2
- .4byte _080B04AC
- .4byte _080B04BA
-_080B0368:
- movs r0, 0x80
- lsls r0, 19
- ldrh r0, [r0]
- strh r0, [r5, 0xC]
- ldr r0, =0x04000050
- ldrh r0, [r0]
- strh r0, [r5, 0xE]
- ldr r0, =0x04000052
- ldrh r0, [r0]
- strh r0, [r5, 0x10]
- ldr r0, =0x04000048
- ldrh r0, [r0]
- strh r0, [r5, 0x12]
- ldr r0, =0x0400004a
- ldrh r0, [r0]
- strh r0, [r5, 0x14]
- movs r1, 0x80
- lsls r1, 7
- movs r0, 0
- bl ClearGpuRegBits
- ldr r0, =gUnknown_82EC7CC
- ldrh r1, [r0]
- movs r0, 0x50
- bl SetGpuRegBits
- ldr r1, =0x0000070c
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x1E
- bl SetGpuReg
- movs r0, 0x14
- str r0, [sp]
- movs r0, 0xF
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1E
- bl sub_8199C30
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r4, =gScanlineEffectRegBuffers
- movs r2, 0x4
- ldrsh r1, [r5, r2]
- movs r0, 0x6
- ldrsh r2, [r5, r0]
- adds r0, r4, 0
- movs r3, 0x1
- bl sub_80AFD7C
- movs r2, 0xF0
- lsls r2, 3
- adds r1, r4, r2
- movs r2, 0xF0
- lsls r2, 1
- adds r0, r4, 0
- bl CpuFastSet
- ldr r2, =gUnknown_0854FE7C
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- ldr r2, [r2, 0x8]
- bl ScanlineEffect_SetParams
- movs r0, 0x1
- strh r0, [r5]
- b _080B052C
- .pool
-_080B0424:
- movs r0, 0
- movs r1, 0x11
- movs r2, 0
- movs r3, 0x1
- bl sub_8199DF0
- ldrb r0, [r5, 0x2]
- bl sub_80B028C
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- movs r2, 0x1
- str r2, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- movs r3, 0xA0
- bl sub_80B003C
- strh r4, [r5]
- b _080B052C
-_080B0450:
- ldr r0, =sub_80AFECC
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080B052C
- bl EnableBothScriptContexts
- movs r0, 0x3
- strh r0, [r5]
- b _080B052C
- .pool
-_080B046C:
- bl InstallCameraPanAheadCallback
- movs r0, 0
- bl SetCameraPanningCallback
- movs r0, 0
- strh r0, [r5, 0xA]
- movs r0, 0x4
- strh r0, [r5, 0x8]
- strh r0, [r5]
- b _080B052C
-_080B0482:
- ldrh r0, [r5, 0x8]
- subs r0, 0x1
- strh r0, [r5, 0x8]
- lsls r0, 16
- cmp r0, 0
- bne _080B052C
- movs r0, 0x4
- strh r0, [r5, 0x8]
- ldrh r0, [r5, 0xA]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r5, 0xA]
- movs r1, 0x4
- negs r1, r1
- cmp r0, 0
- beq _080B04A4
- movs r1, 0x4
-_080B04A4:
- movs r0, 0
- bl SetCameraPanning
- b _080B052C
-_080B04AC:
- bl InstallCameraPanAheadCallback
- movs r0, 0x8
- strh r0, [r5, 0x8]
- movs r0, 0x7
- strh r0, [r5]
- b _080B052C
-_080B04BA:
- ldrh r0, [r5, 0x8]
- subs r0, 0x1
- strh r0, [r5, 0x8]
- lsls r0, 16
- cmp r0, 0
- bne _080B052C
- movs r0, 0x8
- strh r0, [r5, 0x8]
- ldrh r0, [r5, 0xA]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r5, 0xA]
- ldrh r0, [r5, 0xA]
- bl sub_80B02C8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B052C
- movs r0, 0x5
- strh r0, [r5]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8199DF0
- b _080B052C
-_080B04F2:
- movs r0, 0x40
- movs r1, 0xFF
- bl SetGpuReg
- ldrh r1, [r5, 0xC]
- movs r0, 0
- bl SetGpuReg
- ldrh r1, [r5, 0xE]
- movs r0, 0x50
- bl SetGpuReg
- ldrh r1, [r5, 0x10]
- movs r0, 0x52
- bl SetGpuReg
- ldrh r1, [r5, 0x12]
- movs r0, 0x48
- bl SetGpuReg
- ldrh r1, [r5, 0x14]
- movs r0, 0x4A
- bl SetGpuReg
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
-_080B052C:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B0318
-
- thumb_func_start sub_80B0534
-sub_80B0534: @ 80B0534
- push {lr}
- ldr r0, =sub_80B0318
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- ldr r0, =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0
- bne _080B0568
- strh r0, [r1, 0x2]
- movs r0, 0x68
- b _080B0580
- .pool
-_080B0568:
- cmp r0, 0x1
- bne _080B0572
- strh r0, [r1, 0x2]
- movs r0, 0x88
- b _080B0580
-_080B0572:
- cmp r0, 0x2
- bne _080B057A
- movs r0, 0
- b _080B057C
-_080B057A:
- movs r0, 0x1
-_080B057C:
- strh r0, [r1, 0x2]
- movs r0, 0x78
-_080B0580:
- strh r0, [r1, 0x4]
- movs r0, 0x50
- strh r0, [r1, 0x6]
- pop {r0}
- bx r0
- thumb_func_end sub_80B0534
-
- thumb_func_start sub_80B058C
-sub_80B058C: @ 80B058C
- push {lr}
- ldr r0, =sub_80B0318
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0x6
- strh r0, [r1, 0x8]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B058C
-
- thumb_func_start sub_80B05B4
-sub_80B05B4: @ 80B05B4
- push {lr}
- bl Overworld_FadeOutMapMusic
- ldr r0, =task50_0807F0C8
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B05B4
-
- thumb_func_start task50_0807F0C8
-task50_0807F0C8: @ 80B05CC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl BGMusicStopped
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B05E8
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080B05E8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end task50_0807F0C8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/fire.s b/asm/fire.s
deleted file mode 100644
index cd0339b9b..000000000
--- a/asm/fire.s
+++ /dev/null
@@ -1,2397 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8108EC8
-sub_8108EC8: @ 8108EC8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0]
- strh r0, [r4, 0x2E]
- movs r0, 0x3C
- strh r0, [r4, 0x30]
- movs r0, 0x9
- strh r0, [r4, 0x32]
- movs r0, 0x1E
- strh r0, [r4, 0x34]
- movs r0, 0xFE
- lsls r0, 8
- strh r0, [r4, 0x36]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r1, =sub_80A634C
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8108EC8
-
- thumb_func_start sub_8108F08
-sub_8108F08: @ 8108F08
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimArgs
- movs r0, 0
- ldrsh r1, [r5, r0]
- adds r0, r4, 0
- bl sub_80A6864
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x32]
- ldr r0, =sub_80A656C
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8108F08
-
- thumb_func_start sub_8108F4C
-sub_8108F4C: @ 8108F4C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A6838
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08108F88
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrh r0, [r2, 0x8]
- negs r0, r0
- strh r0, [r4, 0x32]
- adds r1, r2, 0
- b _08108F9E
- .pool
-_08108F88:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x32]
-_08108F9E:
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x36]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x34]
- ldr r0, =sub_8109028
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8108F4C
-
- thumb_func_start sub_8108FBC
-sub_8108FBC: @ 8108FBC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08108FF0
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrh r0, [r2, 0x8]
- strh r0, [r4, 0x32]
- adds r1, r2, 0
- b _08109008
- .pool
-_08108FF0:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldrh r0, [r1, 0x8]
- negs r0, r0
- strh r0, [r4, 0x32]
-_08109008:
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x36]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x34]
- ldr r0, =sub_8109028
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8108FBC
-
- thumb_func_start sub_8109028
-sub_8109028: @ 8109028
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x36
- ldrsh r1, [r2, r3]
- cmp r0, r1
- bge _0810904E
- ldrh r0, [r2, 0x32]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x34]
- ldrh r3, [r2, 0x26]
- adds r0, r3
- strh r0, [r2, 0x26]
-_0810904E:
- movs r0, 0x2E
- ldrsh r1, [r2, r0]
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r1, r0
- bne _08109060
- adds r0, r2, 0
- bl move_anim_8074EE0
-_08109060:
- pop {r0}
- bx r0
- thumb_func_end sub_8109028
-
- thumb_func_start sub_8109064
-sub_8109064: @ 8109064
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A6838
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08109090
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r4, 0x20]
- ldrh r2, [r0]
- subs r1, r2
- strh r1, [r4, 0x20]
- b _081090A2
- .pool
-_08109090:
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0]
- ldrh r2, [r4, 0x20]
- adds r1, r2
- strh r1, [r4, 0x20]
- adds r2, r4, 0
- adds r2, 0x43
- movs r1, 0x8
- strb r1, [r2]
-_081090A2:
- adds r2, r0, 0
- ldrh r0, [r2, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- movs r1, 0
- strh r0, [r4, 0x22]
- ldrh r0, [r2, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r2, 0x6]
- strh r0, [r4, 0x30]
- ldrh r0, [r2, 0x8]
- strh r0, [r4, 0x32]
- ldrh r0, [r2, 0xA]
- strh r0, [r4, 0x34]
- ldrh r0, [r2, 0xC]
- strh r0, [r4, 0x36]
- strh r1, [r4, 0x38]
- ldr r0, =sub_81090D8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8109064
-
- thumb_func_start sub_81090D8
-sub_81090D8: @ 81090D8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08109160
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- ldr r0, =0x00002710
- cmp r1, r0
- ble _081090F6
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1
- strb r0, [r1]
-_081090F6:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x38]
- lsls r1, 16
- asrs r1, 24
- ldrh r2, [r4, 0x30]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x38]
- lsls r1, 16
- asrs r1, 24
- ldrh r2, [r4, 0x30]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x2E]
- adds r1, r0, r2
- strh r1, [r4, 0x2E]
- ldrh r0, [r4, 0x36]
- ldrh r2, [r4, 0x38]
- adds r0, r2
- strh r0, [r4, 0x38]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _0810914C
- ldr r2, =0xffffff00
- b _08109154
- .pool
-_0810914C:
- cmp r0, 0
- bge _08109158
- movs r2, 0x80
- lsls r2, 1
-_08109154:
- adds r0, r1, r2
- strh r0, [r4, 0x2E]
-_08109158:
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x34]
- b _08109166
-_08109160:
- adds r0, r4, 0
- bl move_anim_8074EE0
-_08109166:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81090D8
-
- thumb_func_start sub_810916C
-sub_810916C: @ 810916C
- push {lr}
- movs r1, 0
- strh r1, [r0, 0x20]
- strh r1, [r0, 0x22]
- movs r1, 0x3C
- strh r1, [r0, 0x2E]
- movs r1, 0x8C
- strh r1, [r0, 0x32]
- movs r1, 0x50
- strh r1, [r0, 0x36]
- ldr r1, =StartAnimLinearTranslation
- str r1, [r0, 0x1C]
- ldr r1, =DestroyAnimSprite
- bl StoreSpriteCallbackInData6
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810916C
-
- thumb_func_start sub_8109198
-sub_8109198: @ 8109198
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- bl GetBattlerSide
- adds r4, r0, 0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _081091DE
- movs r0, 0x2
- bl GetBattlerAtPosition
- ldrb r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- beq _081091D6
- movs r0, 0x3
- bl GetBattlerAtPosition
- ldrb r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _081091DE
-_081091D6:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_081091DE:
- ldr r1, =sub_80A7938
- str r1, [r6, 0x1C]
- adds r0, r6, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8109198
-
- thumb_func_start sub_8109200
-sub_8109200: @ 8109200
- ldr r2, =gBattleAnimArgs
- ldrh r1, [r2]
- negs r1, r1
- strh r1, [r2]
- ldrh r1, [r2, 0x4]
- negs r1, r1
- strh r1, [r2, 0x4]
- ldr r1, =sub_80A7938
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end sub_8109200
-
- thumb_func_start sub_810921C
-sub_810921C: @ 810921C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl InitAnimSpritePos
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- movs r1, 0
- strh r0, [r4, 0x3C]
- strh r1, [r4, 0x2E]
- ldr r0, =sub_8109244
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810921C
-
- thumb_func_start sub_8109244
-sub_8109244: @ 8109244
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_8109338
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x12
- bne _0810928E
- movs r0, 0x19
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl InitAnimLinearTranslation
- ldr r0, =sub_810929C
- str r0, [r5, 0x1C]
-_0810928E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8109244
-
- thumb_func_start sub_810929C
-sub_810929C: @ 810929C
- push {r4-r6,lr}
- adds r6, r0, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- beq _081092E4
- movs r4, 0
- strh r4, [r6, 0x2E]
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x22]
- strh r4, [r6, 0x26]
- strh r4, [r6, 0x24]
- ldr r1, =sub_8109314
- str r1, [r6, 0x1C]
- adds r0, r6, 0
- bl _call_via_r1
- b _0810930E
- .pool
-_081092E4:
- movs r1, 0x3C
- ldrsh r0, [r6, r1]
- movs r1, 0x1C
- bl Sin
- ldrh r1, [r6, 0x24]
- adds r0, r1
- strh r0, [r6, 0x24]
- movs r1, 0x3C
- ldrsh r0, [r6, r1]
- movs r1, 0x1C
- bl Cos
- ldrh r1, [r6, 0x26]
- adds r0, r1
- strh r0, [r6, 0x26]
- ldrh r0, [r6, 0x3C]
- adds r0, 0x14
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r6, 0x3C]
-_0810930E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_810929C
-
- thumb_func_start sub_8109314
-sub_8109314: @ 8109314
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8109338
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _08109330
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08109330:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8109314
-
- thumb_func_start sub_8109338
-sub_8109338: @ 8109338
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x1C
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x1C
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x14
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3C]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8109338
-
- thumb_func_start sub_8109364
-sub_8109364: @ 8109364
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x32]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A653C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8109364
-
- thumb_func_start sub_81093A4
-sub_81093A4: @ 81093A4
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl InitAnimSpritePos
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x2E]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =WaitAnimForDuration
- str r0, [r4, 0x1C]
- ldr r1, =sub_81093E4
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81093A4
-
- thumb_func_start sub_81093E4
-sub_81093E4: @ 81093E4
- push {lr}
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r3]
- ldrh r1, [r0, 0x30]
- movs r2, 0
- strh r1, [r0, 0x2E]
- strh r2, [r0, 0x30]
- ldr r1, =sub_810940C
- str r1, [r0, 0x1C]
- bl _call_via_r1
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81093E4
-
- thumb_func_start sub_810940C
-sub_810940C: @ 810940C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x32]
- lsls r1, 16
- asrs r1, 24
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x32]
- lsls r1, 16
- asrs r1, 24
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0xA
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x32]
- adds r0, 0xD0
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _08109458
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08109458:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810940C
-
- thumb_func_start sub_8109460
-sub_8109460: @ 8109460
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- strh r0, [r4, 0x26]
- strh r5, [r4, 0x8]
- strh r5, [r4, 0xA]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x22]
- strh r0, [r4, 0x10]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x12]
- strh r5, [r4, 0x14]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_80A7270
- ldr r0, =sub_81094D0
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8109460
-
- thumb_func_start sub_81094D0
-sub_81094D0: @ 81094D0
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x6
- bls _081094EC
- b _081097AA
-_081094EC:
- lsls r0, 2
- ldr r1, =_08109500
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08109500:
- .4byte _0810951C
- .4byte _08109542
- .4byte _081095F4
- .4byte _08109654
- .4byte _08109672
- .4byte _08109748
- .4byte _0810979C
-_0810951C:
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0x80
- lsls r3, 1
- movs r0, 0xE0
- str r0, [sp]
- movs r0, 0x80
- lsls r0, 2
- str r0, [sp, 0x4]
- movs r0, 0x20
- str r0, [sp, 0x8]
- adds r0, r4, 0
- adds r2, r3, 0
- bl sub_80A805C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08109542:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0810958A
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08109578
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3
- b _08109588
- .pool
-_08109578:
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =0x0000fffd
-_08109588:
- strh r1, [r0, 0x24]
-_0810958A:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081095B8
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _081095B8
- movs r0, 0
- strh r0, [r4, 0xE]
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- adds r1, 0x1
- strh r1, [r0, 0x22]
-_081095B8:
- adds r0, r4, 0
- bl sub_80A80C8
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _081095C8
- b _081097AA
-_081095C8:
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A7E6C
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r5, [r0, 0x24]
- strh r5, [r4, 0xA]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- b _08109790
- .pool
-_081095F4:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bgt _08109604
- b _081097AA
-_08109604:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0810962E
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0x80
- lsls r3, 2
- movs r0, 0xC0
- lsls r0, 1
- str r0, [sp]
- movs r0, 0xF0
- str r0, [sp, 0x4]
- movs r0, 0x6
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r2, 0xE0
- bl sub_80A805C
- b _0810964E
-_0810962E:
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0x80
- lsls r3, 2
- movs r0, 0xC0
- lsls r0, 1
- str r0, [sp]
- movs r0, 0xC0
- str r0, [sp, 0x4]
- movs r0, 0x6
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r2, 0xE0
- bl sub_80A805C
-_0810964E:
- movs r0, 0
- strh r0, [r4, 0xA]
- b _08109790
-_08109654:
- adds r0, r4, 0
- bl sub_80A80C8
- lsls r0, 24
- cmp r0, 0
- beq _08109662
- b _081097AA
-_08109662:
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- adds r1, r5, 0
- movs r2, 0x6
- bl sub_81097B4
- b _08109790
-_08109672:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _081096C0
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081096AC
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- b _081096BE
- .pool
-_081096AC:
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
-_081096BE:
- strh r1, [r0, 0x26]
-_081096C0:
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x18
- ble _081097AA
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081096FC
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0xC0
- lsls r2, 1
- movs r0, 0x80
- lsls r0, 1
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x8
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r3, 0xF0
- bl sub_80A805C
- b _0810971A
- .pool
-_081096FC:
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0xC0
- lsls r2, 1
- movs r0, 0x80
- lsls r0, 1
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x8
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r3, 0xC0
- bl sub_80A805C
-_0810971A:
- ldrh r1, [r4, 0xC]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08109738
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- strh r1, [r0, 0x26]
-_08109738:
- movs r0, 0
- strh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
- b _08109790
- .pool
-_08109748:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08109764
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- subs r1, 0x1
- strh r1, [r0, 0x22]
-_08109764:
- adds r0, r4, 0
- bl sub_80A80C8
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _081097AA
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x10]
- strh r1, [r0, 0x22]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A7344
- strh r5, [r4, 0xC]
-_08109790:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _081097AA
- .pool
-_0810979C:
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081097AA
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_081097AA:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81094D0
-
- thumb_func_start sub_81097B4
-sub_81097B4: @ 81097B4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- adds r0, r4, 0
- bl sub_8109930
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrh r4, [r0, 0x20]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0810980C
- adds r0, r4, 0
- subs r0, 0xC
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x1
- b _08109816
- .pool
-_0810980C:
- adds r0, r4, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0xFF
-_08109816:
- movs r6, 0
- movs r5, 0
- lsls r4, 16
- str r4, [sp, 0x8]
- mov r1, r9
- lsls r1, 16
- str r1, [sp, 0x4]
- ldr r2, =gUnknown_085955CC
- mov r9, r2
- lsls r0, 24
- asrs r0, 24
- str r0, [sp]
- mov r3, r8
- lsls r3, 1
- mov r10, r3
-_08109834:
- ldr r0, =gUnknown_085955B4
- ldr r2, [sp, 0x8]
- asrs r1, r2, 16
- ldr r3, [sp, 0x4]
- asrs r2, r3, 16
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _081098B6
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r4, r0, r1
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- lsls r0, r5, 2
- adds r0, 0x40
- adds r1, r0
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r3, =0xfffffc00
- adds r0, r3, 0
- ands r2, r0
- orrs r2, r1
- strh r2, [r4, 0x4]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x4
- bls _0810987E
- movs r5, 0
-_0810987E:
- lsls r2, r6, 2
- mov r1, r9
- adds r0, r2, r1
- ldrh r0, [r0]
- ldr r3, [sp]
- adds r1, r0, 0
- muls r1, r3
- lsls r1, 16
- asrs r1, 16
- ldr r0, =gUnknown_085955CC+2
- adds r2, r0
- movs r3, 0
- ldrsh r2, [r2, r3]
- adds r0, r4, 0
- bl sub_8109984
- strh r7, [r4, 0x3A]
- mov r0, r8
- strh r0, [r4, 0x3C]
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- add r0, r10
- ldr r1, =gTasks + 0x8
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
-_081098B6:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x6
- bls _08109834
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81097B4
-
- thumb_func_start sub_81098EC
-sub_81098EC: @ 81098EC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_81099A0
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08109926
- ldr r3, =gTasks
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x3A
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- adds r0, r4, 0
- bl DestroySprite
-_08109926:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81098EC
-
- thumb_func_start sub_8109930
-sub_8109930: @ 8109930
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r2, [r1, 0x26]
- ldrh r0, [r1, 0x22]
- adds r2, r0
- adds r1, 0x29
- movs r0, 0
- ldrsb r0, [r1, r0]
- adds r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08109970
- lsls r0, r4, 16
- movs r1, 0x94
- lsls r1, 15
- b _08109976
- .pool
-_08109970:
- lsls r0, r4, 16
- movs r1, 0xB0
- lsls r1, 14
-_08109976:
- adds r0, r1
- lsrs r4, r0, 16
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8109930
-
- thumb_func_start sub_8109984
-sub_8109984: @ 8109984
- movs r3, 0
- strh r3, [r0, 0x2E]
- strh r3, [r0, 0x30]
- ldrh r3, [r0, 0x20]
- lsls r3, 3
- strh r3, [r0, 0x32]
- ldrh r3, [r0, 0x22]
- lsls r3, 3
- strh r3, [r0, 0x34]
- lsls r1, 3
- strh r1, [r0, 0x36]
- lsls r2, 3
- strh r2, [r0, 0x38]
- bx lr
- thumb_func_end sub_8109984
-
- thumb_func_start sub_81099A0
-sub_81099A0: @ 81099A0
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _081099CA
- movs r0, 0
- strh r0, [r2, 0x2E]
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- ldrh r0, [r2, 0x30]
- adds r1, r0, 0
- muls r1, r0
- adds r0, r1, 0
- ldrh r3, [r2, 0x34]
- adds r0, r3
- strh r0, [r2, 0x34]
-_081099CA:
- ldrh r0, [r2, 0x36]
- ldrh r1, [r2, 0x32]
- adds r0, r1
- strh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r2, 0x20]
- ldrh r1, [r2, 0x38]
- ldrh r3, [r2, 0x34]
- adds r1, r3
- strh r1, [r2, 0x34]
- lsls r1, 16
- asrs r3, r1, 19
- strh r3, [r2, 0x22]
- adds r0, 0x8
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 17
- cmp r0, r1
- bhi _08109A00
- adds r1, r3, 0
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- blt _08109A00
- cmp r1, 0x78
- ble _08109A0C
-_08109A00:
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_08109A0C:
- pop {r0}
- bx r0
- thumb_func_end sub_81099A0
-
- thumb_func_start sub_8109A10
-sub_8109A10: @ 8109A10
- push {r4,r5,lr}
- ldr r3, =gBattleAnimArgs
- ldrh r1, [r3]
- movs r2, 0
- strh r1, [r0, 0x20]
- ldrh r1, [r3, 0x2]
- strh r1, [r0, 0x22]
- strh r2, [r0, 0x2E]
- strh r2, [r0, 0x30]
- strh r2, [r0, 0x32]
- ldrh r1, [r3, 0x4]
- strh r1, [r0, 0x3A]
- ldrh r1, [r3, 0x6]
- strh r1, [r0, 0x3C]
- ldrh r4, [r0, 0x4]
- lsls r2, r4, 22
- lsrs r2, 22
- movs r5, 0x8
- ldrsh r1, [r3, r5]
- lsls r1, 4
- adds r2, r1
- ldr r3, =0x000003ff
- adds r1, r3, 0
- ands r2, r1
- ldr r1, =0xfffffc00
- ands r1, r4
- orrs r1, r2
- strh r1, [r0, 0x4]
- ldr r1, =sub_8109A64
- str r1, [r0, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8109A10
-
- thumb_func_start sub_8109A64
-sub_8109A64: @ 8109A64
- push {r4,lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- beq _08109A96
- cmp r0, 0x1
- bgt _08109A7A
- cmp r0, 0
- beq _08109A80
- b _08109AF4
-_08109A7A:
- cmp r0, 0x2
- beq _08109AB4
- b _08109AF4
-_08109A80:
- ldrh r1, [r2, 0x3A]
- movs r3, 0x3A
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _08109A90
- subs r0, r1, 0x1
- strh r0, [r2, 0x3A]
- b _08109AF4
-_08109A90:
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
-_08109A96:
- ldrh r0, [r2, 0x22]
- adds r0, 0x8
- strh r0, [r2, 0x22]
- lsls r0, 16
- asrs r0, 16
- ldrh r3, [r2, 0x3C]
- movs r4, 0x3C
- ldrsh r1, [r2, r4]
- cmp r0, r1
- blt _08109AF4
- strh r3, [r2, 0x22]
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- b _08109AF4
-_08109AB4:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08109AE0
- movs r0, 0
- strh r0, [r2, 0x30]
- ldrh r0, [r2, 0x32]
- adds r0, 0x1
- strh r0, [r2, 0x32]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08109ADC
- ldr r0, =0x0000fffd
- b _08109ADE
- .pool
-_08109ADC:
- movs r0, 0x3
-_08109ADE:
- strh r0, [r2, 0x26]
-_08109AE0:
- ldrh r0, [r2, 0x34]
- adds r0, 0x1
- strh r0, [r2, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _08109AF4
- adds r0, r2, 0
- bl DestroyAnimSprite
-_08109AF4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8109A64
-
- thumb_func_start sub_8109AFC
-sub_8109AFC: @ 8109AFC
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _08109B70
- cmp r0, 0x1
- bgt _08109B12
- cmp r0, 0
- beq _08109B18
- b _08109C3E
-_08109B12:
- cmp r0, 0x2
- beq _08109BCE
- b _08109C3E
-_08109B18:
- adds r0, r5, 0
- movs r1, 0
- bl InitAnimSpritePos
- ldr r4, =gBattleAnimArgs
- ldrb r1, [r4, 0x4]
- adds r0, r5, 0
- bl StartSpriteAnim
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x3C]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08109B48
- movs r0, 0x4
- b _08109B4A
- .pool
-_08109B48:
- ldr r0, =0x0000fffc
-_08109B4A:
- strh r0, [r5, 0x36]
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A8328
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _08109BC6
- .pool
-_08109B70:
- ldrh r0, [r5, 0x30]
- adds r0, 0xC0
- strh r0, [r5, 0x30]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08109B94
- ldrh r0, [r5, 0x30]
- lsls r0, 16
- asrs r0, 24
- negs r0, r0
- b _08109B9A
- .pool
-_08109B94:
- ldrh r0, [r5, 0x30]
- lsls r0, 16
- asrs r0, 24
-_08109B9A:
- strh r0, [r5, 0x26]
- movs r2, 0x32
- ldrsh r0, [r5, r2]
- movs r2, 0x36
- ldrsh r1, [r5, r2]
- bl Sin
- strh r0, [r5, 0x24]
- ldrh r0, [r5, 0x32]
- adds r0, 0x4
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x34]
- adds r0, 0x1
- strh r0, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _08109C3E
- movs r0, 0
- strh r0, [r5, 0x34]
-_08109BC6:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _08109C3E
-_08109BCE:
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- movs r2, 0x36
- ldrsh r1, [r5, r2]
- bl Sin
- adds r2, r0, 0
- movs r3, 0
- strh r2, [r5, 0x24]
- ldrh r0, [r5, 0x32]
- adds r0, 0x4
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x34]
- adds r0, 0x1
- strh r0, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _08109C3E
- ldrh r0, [r5, 0x20]
- adds r1, r2, r0
- strh r1, [r5, 0x20]
- ldrh r0, [r5, 0x26]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- strh r3, [r5, 0x26]
- strh r3, [r5, 0x24]
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r5, 0x2E]
- strh r1, [r5, 0x30]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl sub_80A6FD4
- ldr r0, =sub_8109C4C
- str r0, [r5, 0x1C]
-_08109C3E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8109AFC
-
- thumb_func_start sub_8109C4C
-sub_8109C4C: @ 8109C4C
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- bne _08109CA4
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0x10
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- ldrh r2, [r4, 0x38]
- adds r0, r2, 0x4
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x38]
- lsls r2, 16
- asrs r2, 16
- cmp r2, 0
- beq _08109C82
- cmp r2, 0xC4
- ble _08109CAA
-_08109C82:
- lsls r0, 16
- cmp r0, 0
- ble _08109CAA
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08109CAA
- ldr r0, =gUnknown_02038440
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x90
- bl PlaySE12WithPanning
- b _08109CAA
- .pool
-_08109CA4:
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08109CAA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8109C4C
-
- thumb_func_start sub_8109CB0
-sub_8109CB0: @ 8109CB0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08109CC8
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0]
- strh r0, [r4, 0x30]
- adds r0, r1, 0x1
- strh r0, [r4, 0x2E]
-_08109CC8:
- movs r0, 0xC0
- lsls r0, 1
- adds r1, r0, 0
- ldrh r2, [r4, 0x34]
- adds r1, r2
- strh r1, [r4, 0x34]
- ldrh r0, [r4, 0x36]
- adds r0, 0xA0
- strh r0, [r4, 0x36]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- lsls r1, 16
- asrs r1, 24
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x36]
- lsls r1, 16
- asrs r1, 24
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0x7
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _08109D64
- ldrh r0, [r4, 0x30]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x83
- bls _08109D3C
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A8328
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- b _08109D80
- .pool
-_08109D3C:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A8328
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- lsls r0, 2
- ldrb r2, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x5]
- b _08109D80
- .pool
-_08109D64:
- ldrh r0, [r4, 0x30]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x83
- bls _08109D78
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1D
- b _08109D7E
-_08109D78:
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1F
-_08109D7E:
- strb r0, [r1]
-_08109D80:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _08109DA8
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_08109DA8:
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0x1E
- bne _08109DB6
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08109DB6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8109CB0
-
- thumb_func_start sub_8109DBC
-sub_8109DBC: @ 8109DBC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- movs r2, 0x1
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0
- bne _08109DE2
- movs r1, 0x1
-_08109DE2:
- strh r1, [r4, 0x20]
- ldr r0, =gBattleAnimTarget
- ldrb r1, [r0]
- movs r0, 0x2
- eors r0, r1
- bl IsBattlerSpriteVisible
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- strh r0, [r4, 0x22]
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x24]
- movs r0, 0x3
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x26]
- ldr r0, =sub_8109E2C
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8109DBC
-
- thumb_func_start sub_8109E2C
-sub_8109E2C: @ 8109E2C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r2, r0, r1
- movs r0, 0x8
- ldrsh r3, [r2, r0]
- cmp r3, 0x1
- beq _08109EF4
- cmp r3, 0x1
- bgt _08109E54
- cmp r3, 0
- beq _08109E62
- b _0810A054
- .pool
-_08109E54:
- cmp r3, 0x2
- bne _08109E5A
- b _08109F7C
-_08109E5A:
- cmp r3, 0x3
- bne _08109E60
- b _0810A010
-_08109E60:
- b _0810A054
-_08109E62:
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- lsls r0, 1
- ldrh r5, [r2, 0x1C]
- adds r0, r5
- strh r0, [r2, 0x1C]
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08109E94
- strh r3, [r2, 0xA]
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- strh r0, [r2, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08109E90
- movs r0, 0x2
- b _08109E92
-_08109E90:
- ldr r0, =0x0000fffe
-_08109E92:
- strh r0, [r2, 0x1E]
-_08109E94:
- movs r1, 0
- strh r1, [r2, 0xE]
- movs r7, 0x22
- ldrsh r0, [r2, r7]
- cmp r1, r0
- bge _08109ED6
- ldr r4, =gSprites
- adds r3, r2, 0
- adds r3, 0x8
-_08109EA6:
- movs r1, 0xE
- ldrsh r0, [r2, r1]
- adds r0, 0xE
- lsls r0, 1
- adds r0, r3, r0
- movs r5, 0
- ldrsh r0, [r0, r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r2, 0x1E]
- ldrh r7, [r2, 0x1C]
- adds r0, r7
- strh r0, [r1, 0x24]
- ldrh r0, [r2, 0xE]
- adds r0, 0x1
- strh r0, [r2, 0xE]
- lsls r0, 16
- asrs r0, 16
- movs r5, 0x22
- ldrsh r1, [r2, r5]
- cmp r0, r1
- blt _08109EA6
-_08109ED6:
- ldrh r0, [r2, 0x1A]
- adds r0, 0x1
- strh r0, [r2, 0x1A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- beq _08109EE6
- b _0810A054
-_08109EE6:
- movs r0, 0
- strh r0, [r2, 0x1A]
- b _0810A000
- .pool
-_08109EF4:
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _08109F1C
- movs r0, 0
- strh r0, [r2, 0xA]
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- strh r0, [r2, 0xC]
- ands r0, r3
- lsls r0, 16
- cmp r0, 0
- beq _08109F18
- movs r0, 0x2
- b _08109F1A
-_08109F18:
- ldr r0, =0x0000fffe
-_08109F1A:
- strh r0, [r2, 0x1E]
-_08109F1C:
- movs r1, 0
- strh r1, [r2, 0xE]
- movs r7, 0x22
- ldrsh r0, [r2, r7]
- cmp r1, r0
- bge _08109F5E
- ldr r4, =gSprites
- adds r3, r2, 0
- adds r3, 0x8
-_08109F2E:
- movs r1, 0xE
- ldrsh r0, [r2, r1]
- adds r0, 0xE
- lsls r0, 1
- adds r0, r3, r0
- movs r5, 0
- ldrsh r0, [r0, r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r2, 0x1E]
- ldrh r7, [r2, 0x1C]
- adds r0, r7
- strh r0, [r1, 0x24]
- ldrh r0, [r2, 0xE]
- adds r0, 0x1
- strh r0, [r2, 0xE]
- lsls r0, 16
- asrs r0, 16
- movs r5, 0x22
- ldrsh r1, [r2, r5]
- cmp r0, r1
- blt _08109F2E
-_08109F5E:
- ldrh r0, [r2, 0x1A]
- adds r0, 0x1
- strh r0, [r2, 0x1A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x60
- bne _0810A054
- movs r0, 0
- strh r0, [r2, 0x1A]
- b _0810A000
- .pool
-_08109F7C:
- movs r7, 0x20
- ldrsh r1, [r2, r7]
- lsls r1, 1
- ldrh r0, [r2, 0x1C]
- subs r0, r1
- strh r0, [r2, 0x1C]
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08109FB0
- movs r0, 0
- strh r0, [r2, 0xA]
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- strh r0, [r2, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08109FAC
- strh r3, [r2, 0x1E]
- b _08109FB0
-_08109FAC:
- ldr r0, =0x0000fffe
- strh r0, [r2, 0x1E]
-_08109FB0:
- movs r1, 0
- strh r1, [r2, 0xE]
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- cmp r1, r0
- bge _08109FF2
- ldr r4, =gSprites
- adds r3, r2, 0
- adds r3, 0x8
-_08109FC2:
- movs r5, 0xE
- ldrsh r0, [r2, r5]
- adds r0, 0xE
- lsls r0, 1
- adds r0, r3, r0
- movs r7, 0
- ldrsh r0, [r0, r7]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r2, 0x1E]
- ldrh r5, [r2, 0x1C]
- adds r0, r5
- strh r0, [r1, 0x24]
- ldrh r0, [r2, 0xE]
- adds r0, 0x1
- strh r0, [r2, 0xE]
- lsls r0, 16
- asrs r0, 16
- movs r7, 0x22
- ldrsh r1, [r2, r7]
- cmp r0, r1
- blt _08109FC2
-_08109FF2:
- ldrh r0, [r2, 0x1A]
- adds r0, 0x1
- strh r0, [r2, 0x1A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- bne _0810A054
-_0810A000:
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _0810A054
- .pool
-_0810A010:
- movs r1, 0
- strh r1, [r2, 0xE]
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- cmp r1, r0
- bge _0810A04E
- ldr r6, =gSprites
- adds r3, r2, 0
- adds r3, 0x8
- movs r5, 0
-_0810A024:
- movs r7, 0xE
- ldrsh r0, [r2, r7]
- adds r0, 0xE
- lsls r0, 1
- adds r0, r3, r0
- movs r7, 0
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r5, [r0, 0x24]
- ldrh r0, [r2, 0xE]
- adds r0, 0x1
- strh r0, [r2, 0xE]
- lsls r0, 16
- asrs r0, 16
- movs r7, 0x22
- ldrsh r1, [r2, r7]
- cmp r0, r1
- blt _0810A024
-_0810A04E:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_0810A054:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8109E2C
-
- thumb_func_start AnimTask_BlendBackground
-AnimTask_BlendBackground: @ 810A060
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r0, sp
- bl sub_80A6B30
- mov r0, sp
- ldrb r0, [r0, 0x8]
- lsls r0, 4
- ldr r1, =gBattleAnimArgs
- ldrb r2, [r1]
- ldrh r3, [r1, 0x2]
- movs r1, 0x10
- bl BlendPalette
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_BlendBackground
-
- thumb_func_start sub_810A094
-sub_810A094: @ 810A094
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r2, r0, r1
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- mov r9, r1
- ldr r4, =gBattleAnimArgs
- mov r8, r4
- cmp r0, 0
- bne _0810A0CA
- ldrh r0, [r4]
- strh r0, [r2, 0xA]
- ldrh r0, [r4, 0x2]
- strh r0, [r2, 0xC]
- ldrh r0, [r4, 0x4]
- strh r0, [r2, 0xE]
- ldrh r0, [r4, 0x6]
- strh r0, [r2, 0x10]
-_0810A0CA:
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- adds r0, r1
- ldrb r6, [r0]
- movs r5, 0x10
- ldrsh r0, [r2, r5]
- cmp r0, 0
- bne _0810A100
- ldr r4, =gUnknown_08595684
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- b _0810A106
- .pool
-_0810A100:
- ldr r4, =gUnknown_08595694
- movs r3, 0x8
- ldrsh r0, [r2, r3]
-_0810A106:
- movs r1, 0xA
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- adds r0, r4
- ldrb r5, [r0]
- lsls r0, r7, 2
- adds r1, r0, r7
- lsls r1, 3
- add r1, r9
- movs r4, 0xE
- ldrsh r1, [r1, r4]
- mov r12, r0
- cmp r1, 0x1
- bne _0810A154
- ldr r2, =gSprites
- lsls r3, r6, 4
- adds r0, r3, r6
- lsls r0, 2
- adds r0, r2
- mov r10, r0
- mov r0, r8
- movs r4, 0x2
- ldrsh r1, [r0, r4]
- lsls r0, r5, 24
- asrs r0, 24
- muls r0, r1
- cmp r0, 0
- bge _0810A144
- negs r0, r0
-_0810A144:
- mov r5, r10
- strh r0, [r5, 0x26]
- b _0810A16E
- .pool
-_0810A154:
- ldr r3, =gSprites
- lsls r4, r6, 4
- adds r2, r4, r6
- lsls r2, 2
- adds r2, r3
- lsls r0, r5, 24
- asrs r0, 24
- mov r5, r8
- ldrh r1, [r5, 0x2]
- muls r0, r1
- strh r0, [r2, 0x24]
- adds r2, r3, 0
- adds r3, r4, 0
-_0810A16E:
- mov r1, r12
- adds r0, r1, r7
- lsls r0, 3
- add r0, r9
- movs r4, 0x8
- ldrsh r1, [r0, r4]
- movs r5, 0xA
- ldrsh r0, [r0, r5]
- cmp r1, r0
- bne _0810A194
- adds r0, r3, r6
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x24]
- strh r1, [r0, 0x26]
- adds r0, r7, 0
- bl DestroyAnimVisualTask
-_0810A194:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810A094
-
- .align 2, 0
diff --git a/asm/ghost.s b/asm/ghost.s
deleted file mode 100644
index 5a0991468..000000000
--- a/asm/ghost.s
+++ /dev/null
@@ -1,3251 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_811160C
-sub_811160C: @ 811160C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl InitAnimSpritePos
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl sub_80A6FD4
- ldr r0, =sub_8111674
- str r0, [r4, 0x1C]
- movs r0, 0x10
- strh r0, [r4, 0x3A]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldrh r1, [r4, 0x3A]
- movs r0, 0x52
- bl SetGpuReg
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811160C
-
- thumb_func_start sub_8111674
-sub_8111674: @ 8111674
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8111764
- adds r0, r4, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- beq _08111694
- ldr r0, =sub_81116E8
- str r0, [r4, 0x1C]
- b _081116DE
- .pool
-_08111694:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xF
- bl Cos
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r2, [r4, 0x38]
- adds r0, r2, 0x5
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x38]
- lsls r2, 16
- asrs r2, 16
- cmp r2, 0
- beq _081116CC
- cmp r2, 0xC4
- ble _081116DE
-_081116CC:
- lsls r0, 16
- cmp r0, 0
- ble _081116DE
- ldr r0, =gUnknown_02038440
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0xC4
- bl PlaySE12WithPanning
-_081116DE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8111674
-
- thumb_func_start sub_81116E8
-sub_81116E8: @ 81116E8
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl TranslateAnimLinear
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xF
- bl Cos
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r2, [r4, 0x38]
- adds r0, r2, 0x5
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x38]
- lsls r2, 16
- asrs r2, 16
- cmp r2, 0
- beq _0811172E
- cmp r2, 0xC4
- ble _0811173A
-_0811172E:
- lsls r0, 16
- cmp r0, 0
- ble _0811173A
- movs r0, 0xC4
- bl PlaySE
-_0811173A:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08111758
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =sub_80A67F4
- str r0, [r4, 0x1C]
- b _0811175E
- .pool
-_08111758:
- adds r0, r4, 0
- bl sub_8111764
-_0811175E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81116E8
-
- thumb_func_start sub_8111764
-sub_8111764: @ 8111764
- push {r4,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x3A]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0xFF
- ble _08111788
- adds r0, r2, 0x1
- strh r0, [r4, 0x3A]
- lsls r0, 16
- ldr r1, =0x010d0000
- cmp r0, r1
- bne _081117EE
- movs r0, 0
- b _081117EC
- .pool
-_08111788:
- ldrh r1, [r4, 0x3C]
- adds r3, r1, 0x1
- strh r3, [r4, 0x3C]
- movs r0, 0xFF
- ands r0, r1
- cmp r0, 0
- bne _081117EE
- ldr r1, =0xffffff00
- ands r1, r3
- strh r1, [r4, 0x3C]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _081117B0
- adds r0, r2, 0x1
- b _081117B2
- .pool
-_081117B0:
- subs r0, r2, 0x1
-_081117B2:
- strh r0, [r4, 0x3A]
- ldrh r0, [r4, 0x3A]
- movs r1, 0x10
- subs r1, r0
- lsls r1, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _081117D4
- cmp r0, 0x10
- bne _081117E0
-_081117D4:
- ldrh r0, [r4, 0x3C]
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- eors r0, r1
- strh r0, [r4, 0x3C]
-_081117E0:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081117EE
- movs r0, 0x80
- lsls r0, 1
-_081117EC:
- strh r0, [r4, 0x3A]
-_081117EE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8111764
-
- thumb_func_start sub_81117F4
-sub_81117F4: @ 81117F4
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A6980
- ldr r1, =sub_8111814
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81117F4
-
- thumb_func_start sub_8111814
-sub_8111814: @ 8111814
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x20
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x41
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x82
- bhi _08111848
- ldrb r0, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x8
- b _08111852
-_08111848:
- ldrb r0, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
-_08111852:
- orrs r1, r0
- strb r1, [r4, 0x5]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x13
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x32]
- adds r0, 0x50
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3D
- bne _08111884
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08111884:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8111814
-
- thumb_func_start sub_811188C
-sub_811188C: @ 811188C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0
- bl GetAnimBattlerSpriteId
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80A7270
- adds r0, r4, 0
- movs r1, 0x80
- movs r2, 0x80
- movs r3, 0
- bl obj_id_set_rotscale
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0x80
- strh r1, [r0, 0x8]
- ldr r1, =gBattleAnimArgs
- ldrh r1, [r1]
- strh r1, [r0, 0xA]
- strh r2, [r0, 0xC]
- movs r1, 0x10
- strh r1, [r0, 0xE]
- ldr r1, =sub_8111914
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811188C
-
- thumb_func_start sub_8111914
-sub_8111914: @ 8111914
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _0811195C
- movs r0, 0
- strh r0, [r4, 0x1C]
- ldrh r1, [r4, 0xC]
- adds r1, 0x1
- strh r1, [r4, 0xC]
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x9
- bne _0811195C
- ldr r0, =sub_811196C
- str r0, [r4]
-_0811195C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8111914
-
- thumb_func_start sub_811196C
-sub_811196C: @ 811196C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _08111994
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
- b _081119D8
- .pool
-_08111994:
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r1, r0, 24
- ldrh r0, [r4, 0x8]
- adds r0, 0x8
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xFF
- bgt _081119BC
- movs r0, 0x8
- ldrsh r2, [r4, r0]
- adds r0, r1, 0
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- b _081119D8
-_081119BC:
- adds r0, r1, 0
- bl sub_80A7344
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
-_081119D8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_811196C
-
- thumb_func_start sub_81119E0
-sub_81119E0: @ 81119E0
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r5, [r4, 0x20]
- ldrh r6, [r4, 0x22]
- ldr r0, =gBattleAnimAttacker
- mov r8, r0
- ldrb r0, [r0]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- mov r9, r1
- strh r0, [r4, 0x20]
- mov r1, r8
- ldrb r0, [r1]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- mov r1, r9
- strh r1, [r4, 0x2E]
- ldr r2, =gBattleAnimArgs
- ldrh r1, [r2]
- strh r1, [r4, 0x30]
- ldrh r1, [r2, 0x2]
- strh r1, [r4, 0x32]
- ldrh r1, [r2, 0x4]
- strh r1, [r4, 0x34]
- ldrh r1, [r4, 0x20]
- lsls r1, 4
- strh r1, [r4, 0x36]
- lsls r0, 4
- strh r0, [r4, 0x38]
- lsls r5, 16
- asrs r5, 16
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- subs r5, r0
- lsls r5, 4
- movs r0, 0
- ldrsh r1, [r2, r0]
- lsls r1, 1
- adds r0, r5, 0
- str r2, [sp]
- bl __divsi3
- strh r0, [r4, 0x3A]
- lsls r6, 16
- asrs r6, 16
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- subs r6, r0
- lsls r6, 4
- ldr r2, [sp]
- movs r0, 0
- ldrsh r1, [r2, r0]
- lsls r1, 1
- adds r0, r6, 0
- bl __divsi3
- strh r0, [r4, 0x3C]
- ldr r0, =sub_8111A88
- str r0, [r4, 0x1C]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81119E0
-
- thumb_func_start sub_8111A88
-sub_8111A88: @ 8111A88
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _08111AD2
- cmp r0, 0x1
- bgt _08111A9E
- cmp r0, 0
- beq _08111AA8
- b _08111B96
-_08111A9E:
- cmp r0, 0x2
- beq _08111B3C
- cmp r0, 0x3
- beq _08111B90
- b _08111B96
-_08111AA8:
- ldrh r0, [r5, 0x3A]
- ldrh r2, [r5, 0x36]
- adds r0, r2
- strh r0, [r5, 0x36]
- ldrh r1, [r5, 0x3C]
- ldrh r2, [r5, 0x38]
- adds r1, r2
- strh r1, [r5, 0x38]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r5, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r5, 0x22]
- ldrh r0, [r5, 0x30]
- subs r0, 0x1
- strh r0, [r5, 0x30]
- lsls r0, 16
- cmp r0, 0
- bgt _08111B96
- b _08111B82
-_08111AD2:
- ldrh r0, [r5, 0x32]
- subs r0, 0x1
- strh r0, [r5, 0x32]
- lsls r0, 16
- cmp r0, 0
- bgt _08111B96
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x30]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x20]
- lsls r0, 4
- strh r0, [r5, 0x36]
- ldrh r0, [r5, 0x22]
- lsls r0, 4
- strh r0, [r5, 0x38]
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- movs r2, 0x20
- ldrsh r1, [r5, r2]
- subs r0, r1
- lsls r0, 4
- movs r2, 0x34
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r5, 0x3A]
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- movs r2, 0x22
- ldrsh r1, [r5, r2]
- subs r0, r1
- lsls r0, 4
- movs r2, 0x34
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r5, 0x3C]
- b _08111B82
- .pool
-_08111B3C:
- ldrh r0, [r5, 0x3A]
- ldrh r1, [r5, 0x36]
- adds r0, r1
- strh r0, [r5, 0x36]
- ldrh r1, [r5, 0x3C]
- ldrh r2, [r5, 0x38]
- adds r1, r2
- strh r1, [r5, 0x38]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r5, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r5, 0x22]
- ldrh r0, [r5, 0x34]
- subs r0, 0x1
- strh r0, [r5, 0x34]
- lsls r0, 16
- cmp r0, 0
- bgt _08111B96
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
-_08111B82:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _08111B96
- .pool
-_08111B90:
- adds r0, r5, 0
- bl move_anim_8074EE0
-_08111B96:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8111A88
-
- thumb_func_start sub_8111B9C
-sub_8111B9C: @ 8111B9C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A6980
- ldr r0, =sub_8111BB4
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8111B9C
-
- thumb_func_start sub_8111BB4
-sub_8111BB4: @ 8111BB4
- push {r4-r6,lr}
- adds r3, r0, 0
- movs r5, 0
- movs r6, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08111C4A
- adds r1, r3, 0
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x4
- ands r0, r2
- adds r4, r1, 0
- cmp r0, 0
- bne _08111BDE
- movs r0, 0x4
- orrs r0, r2
- strb r0, [r4]
-_08111BDE:
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _08111BEE
- cmp r0, 0x1
- beq _08111BF8
- movs r6, 0x1
- b _08111C02
-_08111BEE:
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0x2
- bne _08111C02
- b _08111C06
-_08111BF8:
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0x4
- bne _08111C02
- movs r5, 0x1
-_08111C02:
- cmp r5, 0
- beq _08111C38
-_08111C06:
- ldrb r2, [r4]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r3, 0x32]
- strh r1, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _08111C4A
- strh r1, [r3, 0x32]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- b _08111C4A
-_08111C38:
- cmp r6, 0
- beq _08111C44
- adds r0, r3, 0
- bl DestroyAnimSprite
- b _08111C4A
-_08111C44:
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
-_08111C4A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8111BB4
-
- thumb_func_start sub_8111C50
-sub_8111C50: @ 8111C50
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- movs r0, 0x1
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- movs r6, 0
- movs r1, 0
- strh r0, [r5, 0x8]
- lsls r0, 16
- cmp r0, 0
- bge _08111C80
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _08111D5C
- .pool
-_08111C80:
- strh r1, [r5, 0xA]
- movs r0, 0xF
- strh r0, [r5, 0xC]
- movs r0, 0x2
- strh r0, [r5, 0xE]
- strh r1, [r5, 0x10]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldrh r1, [r5, 0xE]
- lsls r1, 8
- ldrh r0, [r5, 0xC]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldr r4, =gSprites
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x50
- strh r1, [r0, 0x2E]
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08111CF4
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =0x0000ff70
- strh r1, [r0, 0x30]
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x70
- b _08111D12
- .pool
-_08111CF4:
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x90
- strh r1, [r0, 0x30]
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =0x0000ff90
-_08111D12:
- strh r1, [r0, 0x32]
- ldr r4, =gSprites
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r2, 0
- strh r2, [r0, 0x34]
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r2, [r0, 0x36]
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =SpriteCallbackDummy
- bl StoreSpriteCallbackInData6
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, =sub_80A656C
- str r1, [r0]
- ldr r0, =sub_8111D78
- str r0, [r5]
-_08111D5C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8111C50
-
- thumb_func_start sub_8111D78
-sub_8111D78: @ 8111D78
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08111E1C
- cmp r0, 0x1
- bgt _08111DA0
- cmp r0, 0
- beq _08111DA6
- b _08111E48
- .pool
-_08111DA0:
- cmp r0, 0x2
- beq _08111E42
- b _08111E48
-_08111DA6:
- ldrh r1, [r4, 0xA]
- adds r1, 0x1
- strh r1, [r4, 0xA]
- movs r0, 0x3
- ands r0, r1
- strh r0, [r4, 0x12]
- cmp r0, 0x1
- bne _08111DC4
- ldrh r1, [r4, 0xC]
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _08111DC4
- subs r0, r1, 0x1
- strh r0, [r4, 0xC]
-_08111DC4:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- bne _08111DDA
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _08111DDA
- adds r0, r1, 0x1
- strh r0, [r4, 0xE]
-_08111DDA:
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0xC]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, [r4, 0xC]
- movs r0, 0x80
- lsls r0, 13
- cmp r1, r0
- bne _08111E48
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x50
- ble _08111E48
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl obj_delete_but_dont_free_vram
- movs r0, 0x1
- strh r0, [r4, 0x10]
- b _08111E48
- .pool
-_08111E1C:
- ldrh r0, [r4, 0x14]
- adds r0, 0x1
- strh r0, [r4, 0x14]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08111E48
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- b _08111E48
-_08111E42:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_08111E48:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8111D78
-
- thumb_func_start sub_8111E50
-sub_8111E50: @ 8111E50
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r2, =gTasks
- adds r1, r2
- movs r2, 0
- strh r2, [r1, 0x26]
- ldr r2, =sub_8111E78
- str r2, [r1]
- bl _call_via_r2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8111E50
-
- thumb_func_start sub_8111E78
-sub_8111E78: @ 8111E78
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A8364
- lsls r0, 24
- lsrs r6, r0, 24
- movs r1, 0x26
- ldrsh r0, [r5, r1]
- cmp r0, 0x4
- bls _08111EA4
- b _081120C6
-_08111EA4:
- lsls r0, 2
- ldr r1, =_08111EBC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08111EBC:
- .4byte _08111ED0
- .4byte _08111FD0
- .4byte _08112014
- .4byte _0811207C
- .4byte _081120A8
-_08111ED0:
- ldr r7, =0x00002771
- adds r0, r7, 0
- bl AllocSpritePalette
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- mov r8, r2
- strh r0, [r5, 0x24]
- cmp r0, 0xFF
- beq _08111EFE
- cmp r0, 0xF
- beq _08111EFE
- movs r0, 0x1
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- strh r0, [r5, 0x8]
- lsls r0, 16
- cmp r0, 0
- bge _08111F0C
- adds r0, r7, 0
- bl FreeSpritePaletteByTag
-_08111EFE:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _081120CC
- .pool
-_08111F0C:
- ldr r4, =gSprites
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r2, [r5, 0x24]
- lsls r2, 4
- ldrb r3, [r1, 0x5]
- movs r0, 0xF
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r2, [r1, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- ldr r0, =gBattleSpritesDataPtr
- ldr r1, [r0]
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- lsls r1, 31
- adds r2, 0x3E
- lsrs r1, 31
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- mov r2, r8
- strh r2, [r5, 0xA]
- strh r2, [r5, 0xC]
- movs r0, 0x10
- strh r0, [r5, 0xE]
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- movs r0, 0x22
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- lsls r0, 4
- strh r0, [r5, 0x10]
- cmp r6, 0x1
- bne _08111FC4
- movs r1, 0x80
- lsls r1, 2
- b _08111FC8
- .pool
-_08111FC4:
- movs r1, 0x80
- lsls r1, 3
-_08111FC8:
- movs r0, 0
- bl ClearGpuRegBits
- b _081120C6
-_08111FD0:
- movs r1, 0x24
- ldrsh r0, [r5, r1]
- adds r0, 0x10
- lsls r0, 4
- strh r0, [r5, 0x24]
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- lsls r0, 1
- ldr r1, =gPlttBufferUnfaded
- adds r0, r1
- movs r2, 0x24
- ldrsh r1, [r5, r2]
- lsls r1, 1
- ldr r2, =gPlttBufferFaded
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
- ldrh r0, [r5, 0x10]
- ldr r3, =0x00003c0d
- movs r1, 0x10
- movs r2, 0xA
- bl BlendPalette
- b _081120C6
- .pool
-_08112014:
- ldr r2, =gSprites
- movs r0, 0x22
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- ldrh r0, [r0, 0x22]
- adds r1, r0
- subs r1, 0x20
- lsls r1, 16
- lsrs r2, r1, 16
- cmp r1, 0
- bge _08112034
- movs r2, 0
-_08112034:
- cmp r6, 0x1
- bne _08112054
- lsls r0, r2, 24
- lsrs r0, 24
- adds r1, r2, 0
- adds r1, 0x40
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- str r2, [sp]
- movs r2, 0x4
- str r2, [sp, 0x4]
- str r6, [sp, 0x8]
- b _0811206C
- .pool
-_08112054:
- lsls r0, r2, 24
- lsrs r0, 24
- adds r1, r2, 0
- adds r1, 0x40
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- str r2, [sp]
- movs r2, 0x8
- str r2, [sp, 0x4]
- movs r2, 0x1
- str r2, [sp, 0x8]
-_0811206C:
- movs r2, 0x2
- movs r3, 0x6
- bl ScanlineEffect_InitWave
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x1C]
- b _081120C6
-_0811207C:
- cmp r6, 0x1
- bne _08112090
- ldr r1, =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- b _08112098
- .pool
-_08112090:
- ldr r1, =0x00003f44
- movs r0, 0x50
- bl SetGpuReg
-_08112098:
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- b _081120C6
- .pool
-_081120A8:
- cmp r6, 0x1
- bne _081120B8
- movs r1, 0x80
- lsls r1, 2
- movs r0, 0
- bl SetGpuRegBits
- b _081120C2
-_081120B8:
- movs r1, 0x80
- lsls r1, 3
- movs r0, 0
- bl SetGpuRegBits
-_081120C2:
- ldr r0, =sub_81120DC
- str r0, [r5]
-_081120C6:
- ldrh r0, [r5, 0x26]
- adds r0, 0x1
- strh r0, [r5, 0x26]
-_081120CC:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8111E78
-
- thumb_func_start sub_81120DC
-sub_81120DC: @ 81120DC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- ldrh r1, [r4, 0xA]
- adds r1, 0x1
- strh r1, [r4, 0xA]
- movs r0, 0x1
- ands r0, r1
- strh r0, [r4, 0x12]
- cmp r0, 0
- bne _08112114
- ldr r1, =gSineTable
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x12
- bl __divsi3
- strh r0, [r4, 0xC]
-_08112114:
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- bne _08112136
- ldr r1, =gSineTable
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x12
- bl __divsi3
- movs r1, 0x10
- subs r1, r0
- strh r1, [r4, 0xE]
-_08112136:
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0xC]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0x80
- bne _0811215E
- movs r0, 0
- strh r0, [r4, 0x26]
- ldr r1, =sub_8112170
- str r1, [r4]
- adds r0, r5, 0
- bl _call_via_r1
-_0811215E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81120DC
-
- thumb_func_start sub_8112170
-sub_8112170: @ 8112170
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A8364
- lsls r0, 24
- lsrs r6, r0, 24
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _081121DC
- cmp r0, 0x1
- bgt _081121A8
- cmp r0, 0
- beq _081121AE
- b _08112258
- .pool
-_081121A8:
- cmp r0, 0x2
- beq _081121F0
- b _08112258
-_081121AE:
- ldr r1, =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x24]
- cmp r6, 0x1
- bne _081121D0
- movs r1, 0x80
- lsls r1, 2
- b _081121D4
- .pool
-_081121D0:
- movs r1, 0x80
- lsls r1, 3
-_081121D4:
- movs r0, 0
- bl ClearGpuRegBits
- b _08112258
-_081121DC:
- ldrh r0, [r4, 0x10]
- ldr r3, =0x00003c0d
- movs r1, 0x10
- movs r2, 0
- bl BlendPalette
- b _08112258
- .pool
-_081121F0:
- ldr r3, =gSprites
- movs r0, 0x24
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- bl obj_delete_but_dont_free_vram
- ldr r0, =0x00002771
- bl FreeSpritePaletteByTag
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- cmp r6, 0x1
- bne _08112248
- movs r1, 0x80
- lsls r1, 2
- movs r0, 0
- bl SetGpuRegBits
- b _08112252
- .pool
-_08112248:
- movs r1, 0x80
- lsls r1, 3
- movs r0, 0
- bl SetGpuRegBits
-_08112252:
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_08112258:
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8112170
-
- thumb_func_start sub_8112264
-sub_8112264: @ 8112264
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _081122AC
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- movs r2, 0xE0
- lsls r2, 13
- adds r0, r2
- lsrs r5, r0, 16
- ldr r4, =gBattleAnimTarget
- b _081122D0
- .pool
-_081122AC:
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- movs r2, 0xE0
- lsls r2, 13
- adds r0, r2
- lsrs r5, r0, 16
- ldr r4, =gBattleAnimAttacker
-_081122D0:
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- movs r1, 0xE0
- lsls r1, 13
- adds r0, r1
- lsrs r0, 16
- mov r9, r0
- mov r8, r5
- mov r2, r9
- subs r4, r2, r5
- lsls r4, 16
- lsrs r4, 16
- lsls r0, r6, 4
- strh r0, [r7, 0x2E]
- lsls r0, r5, 4
- strh r0, [r7, 0x30]
- mov r1, r10
- subs r0, r1, r6
- lsls r0, 4
- ldr r5, =gBattleAnimArgs
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r7, 0x32]
- lsls r4, 16
- asrs r4, 12
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- adds r0, r4, 0
- bl __divsi3
- strh r0, [r7, 0x34]
- ldrh r0, [r5, 0x2]
- strh r0, [r7, 0x36]
- mov r1, r10
- strh r1, [r7, 0x38]
- mov r2, r9
- strh r2, [r7, 0x3A]
- movs r1, 0x36
- ldrsh r0, [r7, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r7, 0x3C]
- ldrb r1, [r7, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r7, 0x5]
- strh r6, [r7, 0x20]
- mov r2, r8
- strh r2, [r7, 0x22]
- ldr r0, =sub_8112384
- str r0, [r7, 0x1C]
- adds r2, r7, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8112264
-
- thumb_func_start sub_8112384
-sub_8112384: @ 8112384
- push {r4,lr}
- adds r2, r0, 0
- ldrh r3, [r2, 0x36]
- movs r1, 0x36
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _081123BC
- ldrh r0, [r2, 0x32]
- ldrh r4, [r2, 0x2E]
- adds r0, r4
- strh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x34]
- ldrh r4, [r2, 0x30]
- adds r1, r4
- strh r1, [r2, 0x30]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r2, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r2, 0x22]
- subs r0, r3, 0x1
- strh r0, [r2, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bne _081123BC
- strh r0, [r2, 0x2E]
-_081123BC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8112384
-
- thumb_func_start sub_81123C4
-sub_81123C4: @ 81123C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r1, r0
- str r1, [sp]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0
- ldr r1, [sp]
- strh r0, [r1, 0x12]
- strh r0, [r1, 0x14]
- strh r0, [r1, 0x16]
- strh r0, [r1, 0x18]
- movs r0, 0x10
- strh r0, [r1, 0x1A]
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r2]
- strh r0, [r1, 0x1C]
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_80A861C
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08112434
- b _08112530
-_08112434:
- movs r4, 0
-_08112436:
- lsls r1, r4, 16
- asrs r3, r1, 16
- ldr r0, =gBattleAnimAttacker
- ldrb r2, [r0]
- str r1, [sp, 0x10]
- cmp r3, r2
- beq _08112502
- movs r0, 0x2
- eors r2, r0
- cmp r3, r2
- beq _08112502
- lsls r0, r4, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _08112502
- ldr r6, [sp, 0x4]
- ldr r3, [sp, 0x8]
- lsls r0, r3, 16
- asrs r7, r0, 16
- ldr r0, =gUnknown_08596DB8
- adds r1, r6, 0
- adds r2, r7, 0
- movs r3, 0x37
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x40
- beq _08112502
- adds r0, r4, 0
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_80A861C
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- mov r0, r8
- lsls r5, r0, 4
- add r5, r8
- lsls r5, 2
- ldr r1, =gSprites
- adds r4, r5, r1
- lsls r0, r6, 4
- strh r0, [r4, 0x2E]
- lsls r0, r7, 4
- strh r0, [r4, 0x30]
- mov r2, r10
- subs r0, r2, r6
- lsls r0, 4
- ldr r3, =gBattleAnimArgs
- movs r2, 0x2
- ldrsh r1, [r3, r2]
- bl __divsi3
- strh r0, [r4, 0x32]
- mov r3, r9
- lsls r0, r3, 16
- asrs r0, 16
- subs r0, r7
- lsls r0, 4
- ldr r2, =gBattleAnimArgs
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- bl __divsi3
- strh r0, [r4, 0x34]
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x36]
- mov r2, r10
- strh r2, [r4, 0x38]
- mov r3, r9
- strh r3, [r4, 0x3A]
- ldr r0, =gSprites + 0x1C
- adds r5, r0
- ldr r0, =sub_8112384
- str r0, [r5]
- ldr r2, [sp]
- movs r3, 0x20
- ldrsh r1, [r2, r3]
- adds r1, 0xD
- lsls r1, 1
- adds r0, r2, 0
- adds r0, 0x8
- adds r0, r1
- mov r1, r8
- strh r1, [r0]
- ldrh r0, [r2, 0x20]
- adds r0, 0x1
- strh r0, [r2, 0x20]
-_08112502:
- ldr r2, [sp, 0x10]
- movs r3, 0x80
- lsls r3, 9
- adds r0, r2, r3
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _08112436
- b _081125B4
- .pool
-_08112530:
- ldr r0, =gUnknown_08596DB8
- ldr r7, [sp, 0x4]
- ldr r2, [sp, 0x8]
- lsls r1, r2, 16
- asrs r1, 16
- str r1, [sp, 0xC]
- adds r1, r7, 0
- ldr r2, [sp, 0xC]
- movs r3, 0x37
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x40
- beq _081125B4
- movs r3, 0x30
- mov r10, r3
- movs r0, 0x28
- mov r9, r0
- ldr r6, =gSprites
- mov r1, r8
- lsls r5, r1, 4
- add r5, r8
- lsls r5, 2
- adds r4, r5, r6
- lsls r0, r7, 4
- strh r0, [r4, 0x2E]
- ldr r2, [sp, 0xC]
- lsls r0, r2, 4
- strh r0, [r4, 0x30]
- subs r0, r3, r7
- lsls r0, 4
- ldr r3, =gBattleAnimArgs
- movs r2, 0x2
- ldrsh r1, [r3, r2]
- bl __divsi3
- strh r0, [r4, 0x32]
- mov r3, r9
- ldr r1, [sp, 0xC]
- subs r0, r3, r1
- lsls r0, 4
- ldr r2, =gBattleAnimArgs
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- bl __divsi3
- strh r0, [r4, 0x34]
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x36]
- mov r2, r10
- strh r2, [r4, 0x38]
- mov r3, r9
- strh r3, [r4, 0x3A]
- adds r6, 0x1C
- adds r5, r6
- ldr r0, =sub_8112384
- str r0, [r5]
- mov r1, r8
- ldr r0, [sp]
- strh r1, [r0, 0x22]
- movs r0, 0x1
- ldr r2, [sp]
- strh r0, [r2, 0x20]
-_081125B4:
- ldr r0, =sub_81125E0
- ldr r3, [sp]
- str r0, [r3]
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81123C4
-
- thumb_func_start sub_81125E0
-sub_81125E0: @ 81125E0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _08112696
- cmp r1, 0x1
- bgt _08112608
- cmp r1, 0
- beq _08112616
- b _08112752
- .pool
-_08112608:
- cmp r1, 0x2
- bne _0811260E
- b _08112728
-_0811260E:
- cmp r1, 0x3
- bne _08112614
- b _0811273C
-_08112614:
- b _08112752
-_08112616:
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0811267C
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0811267C
- strh r1, [r4, 0x12]
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0811264C
- ldrh r1, [r4, 0x18]
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _0811265A
- adds r0, r1, 0x1
- strh r0, [r4, 0x18]
- b _0811265A
-_0811264C:
- ldrh r1, [r4, 0x1A]
- movs r2, 0x1A
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0811265A
- subs r0, r1, 0x1
- strh r0, [r4, 0x1A]
-_0811265A:
- ldrh r1, [r4, 0x1A]
- lsls r1, 8
- ldrh r0, [r4, 0x18]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- cmp r0, 0x17
- ble _0811267C
- movs r0, 0
- strh r0, [r4, 0x16]
- movs r0, 0x1
- strh r0, [r4, 0x14]
-_0811267C:
- ldrh r1, [r4, 0x1C]
- movs r2, 0x1C
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0811268C
- subs r0, r1, 0x1
- strh r0, [r4, 0x1C]
- b _08112752
-_0811268C:
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08112752
- b _08112734
-_08112696:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08112752
- movs r0, 0
- strh r0, [r4, 0x12]
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
- ands r0, r1
- lsls r0, 16
- cmp r0, 0
- beq _081126C6
- ldrh r1, [r4, 0x18]
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _081126D4
- subs r0, r1, 0x1
- strh r0, [r4, 0x18]
- b _081126D4
-_081126C6:
- ldrh r1, [r4, 0x1A]
- movs r2, 0x1A
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _081126D4
- adds r0, r1, 0x1
- strh r0, [r4, 0x1A]
-_081126D4:
- ldrh r1, [r4, 0x1A]
- lsls r1, 8
- ldrh r0, [r4, 0x18]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, [r4, 0x18]
- movs r0, 0x80
- lsls r0, 13
- cmp r1, r0
- bne _08112752
- movs r5, 0
- b _08112718
-_081126F4:
- adds r1, r5, 0
- adds r1, 0xD
- lsls r1, 1
- adds r0, r4, 0
- adds r0, 0x8
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_08112718:
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- cmp r5, r0
- blt _081126F4
- b _08112734
- .pool
-_08112728:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- cmp r0, 0
- ble _08112752
-_08112734:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08112752
-_0811273C:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_08112752:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81125E0
-
- thumb_func_start sub_8112758
-sub_8112758: @ 8112758
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gBattle_WIN0H
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_WIN0V
- strh r1, [r0]
- ldr r1, =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- ldr r1, =0x00003f1f
- movs r0, 0x4A
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0xC8
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0x10
- bl SetGpuReg
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _081127A0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _081127B8
-_081127A0:
- movs r6, 0x28
- b _081127BA
- .pool
-_081127B8:
- movs r6, 0xC8
-_081127BA:
- ldr r1, =gBattle_WIN0H
- lsls r3, r6, 16
- asrs r2, r3, 16
- lsls r0, r2, 8
- orrs r0, r2
- strh r0, [r1]
- ldr r1, =gBattle_WIN0V
- movs r5, 0x28
- ldr r0, =0x00002828
- strh r0, [r1]
- lsrs r3, 16
- movs r1, 0xF0
- subs r1, r2
- movs r4, 0x48
- ldr r2, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r2
- strh r3, [r0, 0xA]
- strh r1, [r0, 0xC]
- strh r5, [r0, 0xE]
- strh r4, [r0, 0x10]
- strh r6, [r0, 0x12]
- strh r5, [r0, 0x14]
- ldr r1, =sub_811280C
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8112758
-
- thumb_func_start sub_811280C
-sub_811280C: @ 811280C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0811292C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r1, [r4, 0x8]
- adds r0, r1, 0x1
- strh r0, [r4, 0x8]
- ldrh r5, [r4, 0xA]
- ldrh r7, [r4, 0xC]
- ldrh r0, [r4, 0xE]
- mov r10, r0
- ldrh r2, [r4, 0x10]
- str r2, [sp, 0xC]
- ldrh r0, [r4, 0x12]
- ldrh r2, [r4, 0x14]
- mov r8, r2
- lsls r1, 16
- asrs r6, r1, 16
- cmp r6, 0xF
- ble _08112848
- b _08112938
-_08112848:
- lsls r0, 16
- asrs r0, 16
- bl __floatsidf
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- lsls r0, r5, 16
- asrs r0, 16
- bl __floatsidf
- ldr r2, _08112930 @ =0x3FB00000
- ldr r3, _08112934 @ =0x00000000
- bl __muldf3
- adds r5, r1, 0
- adds r4, r0, 0
- adds r0, r6, 0
- bl __floatsidf
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- adds r1, r5, 0
- adds r0, r4, 0
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- bl __muldf3
- adds r3, r1, 0
- adds r2, r0, 0
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- bl __subdf3
- bl __fixunsdfsi
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r0, r7, 16
- asrs r0, 16
- bl __floatsidf
- ldr r2, _08112930 @ =0x3FB00000
- ldr r3, _08112934 @ =0x00000000
- bl __muldf3
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- bl __muldf3
- adds r3, r1, 0
- adds r2, r0, 0
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- bl __adddf3
- bl __fixunsdfsi
- lsls r0, 16
- lsrs r7, r0, 16
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- bl __floatsidf
- adds r5, r1, 0
- adds r4, r0, 0
- mov r2, r10
- lsls r0, r2, 16
- asrs r0, 16
- bl __floatsidf
- ldr r2, _08112930 @ =0x3FB00000
- ldr r3, _08112934 @ =0x00000000
- bl __muldf3
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- bl __muldf3
- adds r3, r1, 0
- adds r2, r0, 0
- adds r1, r5, 0
- adds r0, r4, 0
- bl __subdf3
- bl __fixunsdfsi
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, [sp, 0xC]
- lsls r0, r1, 16
- asrs r0, 16
- bl __floatsidf
- ldr r2, _08112930 @ =0x3FB00000
- ldr r3, _08112934 @ =0x00000000
- bl __muldf3
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- bl __muldf3
- adds r3, r1, 0
- adds r2, r0, 0
- adds r1, r5, 0
- adds r0, r4, 0
- bl __adddf3
- bl __fixunsdfsi
- lsls r0, 16
- lsrs r5, r0, 16
- b _08112966
- .align 2, 0
-_0811292C:
- .4byte gTasks
-_08112930:
- .4byte 0x3FB00000
-_08112934:
- .4byte 0x00000000
-_08112938:
- movs r2, 0
- mov r9, r2
- movs r7, 0xF0
- movs r6, 0
- movs r5, 0x70
- str r6, [sp]
- str r6, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r3, 0
- bl sub_80A75AC
- lsls r0, 16
- lsrs r0, 16
- str r6, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _08112988 @=sub_8112994
- str r0, [r4]
-_08112966:
- ldr r1, _0811298C @=gBattle_WIN0H
- mov r2, r9
- lsls r0, r2, 8
- orrs r7, r0
- strh r7, [r1]
- ldr r1, _08112990 @=gBattle_WIN0V
- lsls r0, r6, 8
- orrs r5, r0
- strh r5, [r1]
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08112988:
- .4byte sub_8112994
-_0811298C:
- .4byte gBattle_WIN0H
-_08112990:
- .4byte gBattle_WIN0V
- thumb_func_end sub_811280C
-
- thumb_func_start sub_8112994
-sub_8112994: @ 8112994
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _081129DA
- ldr r0, =gBattle_WIN0H
- strh r1, [r0]
- ldr r0, =gBattle_WIN0V
- strh r1, [r0]
- ldr r4, =0x00003f3f
- movs r0, 0x48
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x4A
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_081129DA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8112994
-
- thumb_func_start sub_81129F0
-sub_81129F0: @ 81129F0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl InitAnimSpritePos
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08112A24
- movs r2, 0x18
- ldr r3, =0x0000fffe
- ldrb r0, [r4, 0x3]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r0
- movs r0, 0x10
- orrs r1, r0
- strb r1, [r4, 0x3]
- b _08112A28
- .pool
-_08112A24:
- ldr r2, =0x0000ffe8
- movs r3, 0x2
-_08112A28:
- lsls r0, r2, 16
- asrs r0, 16
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- strh r3, [r4, 0x30]
- movs r0, 0x3C
- strh r0, [r4, 0x2E]
- ldr r0, =sub_8112A4C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81129F0
-
- thumb_func_start sub_8112A4C
-sub_8112A4C: @ 8112A4C
- push {r4,lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r3, r2]
- cmp r0, 0
- ble _08112A5E
- subs r0, r1, 0x1
- b _08112AC2
-_08112A5E:
- ldrh r0, [r3, 0x30]
- ldrh r4, [r3, 0x24]
- adds r1, r0, r4
- strh r1, [r3, 0x24]
- adds r0, r1, 0x7
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xE
- bls _08112AC4
- ldrh r0, [r3, 0x20]
- adds r0, r1
- strh r0, [r3, 0x20]
- movs r0, 0
- strh r0, [r3, 0x24]
- ldrh r2, [r3, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x8
- ldr r4, =0x000003ff
- adds r0, r4, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x4]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _08112AC0
- movs r0, 0x1E
- strh r0, [r3, 0x2E]
- ldr r0, =WaitAnimForDuration
- str r0, [r3, 0x1C]
- ldr r1, =sub_8112ACC
- adds r0, r3, 0
- bl StoreSpriteCallbackInData6
- b _08112AC4
- .pool
-_08112AC0:
- movs r0, 0x28
-_08112AC2:
- strh r0, [r3, 0x2E]
-_08112AC4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8112A4C
-
- thumb_func_start sub_8112ACC
-sub_8112ACC: @ 8112ACC
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _08112AF6
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0x10
- bl SetGpuReg
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- strh r5, [r4, 0x30]
- strh r5, [r4, 0x32]
- b _08112B3A
-_08112AF6:
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- bgt _08112B06
- adds r0, r1, 0x1
- strh r0, [r4, 0x30]
- b _08112B3A
-_08112B06:
- movs r0, 0
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- movs r1, 0x10
- subs r1, r0
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x10
- bne _08112B3A
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =sub_8112B44
- str r0, [r4, 0x1C]
-_08112B3A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8112ACC
-
- thumb_func_start sub_8112B44
-sub_8112B44: @ 8112B44
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- ldr r0, =gBattle_WIN0H
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_WIN0V
- strh r1, [r0]
- adds r0, r4, 0
- bl DestroyAnimSprite
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8112B44
-
- thumb_func_start sub_8112B78
-sub_8112B78: @ 8112B78
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- movs r1, 0xC
- bl Sin
- strh r0, [r5, 0x24]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08112B9C
- ldrh r0, [r5, 0x24]
- negs r0, r0
- strh r0, [r5, 0x24]
-_08112B9C:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x6
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x2E]
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1, 0
- ldrh r1, [r5, 0x30]
- adds r0, r1
- strh r0, [r5, 0x30]
- lsls r0, 16
- asrs r0, 24
- negs r0, r0
- strh r0, [r5, 0x26]
- ldrh r0, [r5, 0x3C]
- adds r0, 0x1
- strh r0, [r5, 0x3C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _08112BE8
- ldr r0, =0x0000050b
- strh r0, [r5, 0x3A]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldrh r1, [r5, 0x3A]
- movs r0, 0x52
- bl SetGpuReg
- b _08112C40
- .pool
-_08112BE8:
- cmp r0, 0x1E
- ble _08112C40
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
- ldrh r1, [r5, 0x3A]
- lsls r0, r1, 16
- asrs r0, 24
- lsls r0, 16
- movs r6, 0xFF
- ands r6, r1
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r7, r0, 16
- cmp r7, 0x10
- bls _08112C0C
- movs r7, 0x10
-_08112C0C:
- subs r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r0, 0
- bge _08112C18
- movs r6, 0
-_08112C18:
- lsls r4, r7, 8
- orrs r4, r6
- lsls r1, r4, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- strh r4, [r5, 0x3A]
- cmp r7, 0x10
- bne _08112C40
- cmp r6, 0
- bne _08112C40
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =sub_8112C4C
- str r0, [r5, 0x1C]
-_08112C40:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8112B78
-
- thumb_func_start sub_8112C4C
-sub_8112C4C: @ 8112C4C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl DestroyAnimSprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8112C4C
-
- thumb_func_start sub_8112C6C
-sub_8112C6C: @ 8112C6C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- movs r6, 0
- strh r6, [r4, 0x8]
- movs r0, 0x10
- mov r8, r0
- mov r0, r8
- strh r0, [r4, 0xA]
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1A]
- ldrb r0, [r5]
- bl GetBattlerYCoordWithElevation
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1C]
- ldrb r0, [r5]
- movs r1, 0x1
- bl sub_80A861C
- lsls r0, 16
- asrs r1, r0, 16
- lsrs r0, 31
- adds r1, r0
- asrs r1, 1
- adds r1, 0x8
- strh r1, [r4, 0x1E]
- strh r6, [r4, 0x16]
- ldrb r0, [r5]
- bl sub_80A8328
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x12]
- ldrb r0, [r5]
- bl sub_80A82E4
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x2
- strh r0, [r4, 0x14]
- strh r6, [r4, 0xE]
- mov r0, r8
- strh r0, [r4, 0x10]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- strh r6, [r4, 0x18]
- ldr r0, =sub_8112D10
- str r0, [r4]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8112C6C
-
- thumb_func_start sub_8112D10
-sub_8112D10: @ 8112D10
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- bls _08112D2A
- b _08112E96
-_08112D2A:
- lsls r0, 2
- ldr r1, =_08112D3C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08112D3C:
- .4byte _08112D54
- .4byte _08112DC4
- .4byte _08112E06
- .4byte _08112E1A
- .4byte _08112E70
- .4byte _08112E80
-_08112D54:
- movs r6, 0
-_08112D56:
- movs r2, 0x1A
- ldrsh r1, [r4, r2]
- movs r0, 0x1C
- ldrsh r2, [r4, r0]
- ldrb r3, [r4, 0x14]
- ldr r0, =gUnknown_08596E30
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _08112DAA
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r5, r0, r1
- strh r7, [r5, 0x2E]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _08112D8C
- movs r1, 0x1
-_08112D8C:
- strh r1, [r5, 0x30]
- movs r0, 0x2A
- muls r0, r6
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r4, 0x1E]
- strh r0, [r5, 0x34]
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 1
- strh r0, [r5, 0x38]
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
-_08112DAA:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _08112D56
- b _08112E78
- .pool
-_08112DC4:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08112DE2
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0xD
- bgt _08112DF0
- adds r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _08112DF0
-_08112DE2:
- ldrh r1, [r4, 0x10]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0x4
- ble _08112DF0
- subs r0, r1, 0x1
- strh r0, [r4, 0x10]
-_08112DF0:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- ldrh r2, [r4, 0xE]
- ldrh r1, [r4, 0x10]
- cmp r0, 0xE
- bne _08112E60
- cmp r1, 0x4
- bne _08112E60
- movs r0, 0
- strh r0, [r4, 0xA]
- b _08112E5A
-_08112E06:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- ble _08112E96
- movs r0, 0
- strh r0, [r4, 0xA]
- b _08112E78
-_08112E1A:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08112E38
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _08112E46
- subs r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _08112E46
-_08112E38:
- ldrh r1, [r4, 0x10]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _08112E46
- adds r0, r1, 0x1
- strh r0, [r4, 0x10]
-_08112E46:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- ldrh r2, [r4, 0xE]
- ldrh r1, [r4, 0x10]
- cmp r0, 0
- bne _08112E60
- cmp r1, 0x10
- bne _08112E60
- movs r0, 0x1
- strh r0, [r4, 0x18]
-_08112E5A:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08112E60:
- lsls r1, 8
- orrs r1, r2
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- b _08112E96
-_08112E70:
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08112E96
-_08112E78:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08112E96
-_08112E80:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r7, 0
- bl DestroyAnimVisualTask
-_08112E96:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8112D10
-
- thumb_func_start sub_8112E9C
-sub_8112E9C: @ 8112E9C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08112EAE
- ldrh r0, [r4, 0x32]
- adds r0, 0x2
- b _08112EB2
-_08112EAE:
- ldrh r0, [r4, 0x32]
- subs r0, 0x2
-_08112EB2:
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x32]
- movs r0, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x32]
- subs r0, 0x41
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7E
- bhi _08112EF4
- ldr r2, =gTasks
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x12]
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- b _08112F08
- .pool
-_08112EF4:
- ldr r2, =gTasks
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x3
- ldrb r1, [r0, 0x12]
- ands r1, r2
-_08112F08:
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- lsls r0, 3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3A]
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- movs r1, 0x7
- bl Sin
- strh r0, [r4, 0x26]
- ldr r2, =gTasks
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r1, r0, r2
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08112F56
- ldrh r0, [r1, 0x16]
- subs r0, 0x1
- strh r0, [r1, 0x16]
- adds r0, r4, 0
- bl DestroySprite
-_08112F56:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8112E9C
-
- thumb_func_start sub_8112F60
-sub_8112F60: @ 8112F60
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r3]
- ldr r2, =gBattlerSpriteIds
- ldr r1, =gBattleAnimAttacker
- ldrb r1, [r1]
- adds r1, r2
- ldrb r1, [r1]
- strh r1, [r0, 0x38]
- movs r1, 0x80
- strh r1, [r0, 0x2E]
- movs r1, 0xA
- strh r1, [r0, 0x30]
- ldr r2, =gBattleAnimArgs
- ldrh r1, [r2]
- strh r1, [r0, 0x32]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x34]
- ldr r1, =sub_8112FB8
- str r1, [r0, 0x1C]
- ldr r2, =gSprites
- movs r3, 0x38
- ldrsh r1, [r0, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- adds r1, 0x8
- strh r1, [r0, 0x22]
- bx lr
- .pool
- thumb_func_end sub_8112F60
-
- thumb_func_start sub_8112FB8
-sub_8112FB8: @ 8112FB8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x34]
- movs r1, 0x34
- ldrsh r3, [r5, r1]
- cmp r3, 0
- beq _08113020
- subs r0, 0x1
- strh r0, [r5, 0x34]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- bl Sin
- ldr r4, =gSprites
- movs r1, 0x38
- ldrsh r2, [r5, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- strh r0, [r1, 0x24]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- bl Cos
- movs r1, 0x38
- ldrsh r2, [r5, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- strh r0, [r1, 0x26]
- ldrh r0, [r5, 0x32]
- ldrh r2, [r5, 0x2E]
- adds r1, r0, r2
- strh r1, [r5, 0x2E]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _08113054
- ldr r2, =0xffffff00
- adds r0, r1, r2
- strh r0, [r5, 0x2E]
- b _08113054
- .pool
-_08113020:
- ldr r2, =gSprites
- movs r0, 0x38
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x24]
- movs r0, 0x38
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x26]
- movs r0, 0x38
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- subs r1, 0x8
- strh r1, [r0, 0x22]
- ldr r0, =move_anim_8074EE0
- str r0, [r5, 0x1C]
-_08113054:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8112FB8
-
- .align 2, 0
diff --git a/asm/ice.s b/asm/ice.s
index 37142e535..3202213b4 100644
--- a/asm/ice.s
+++ b/asm/ice.s
@@ -1368,7 +1368,7 @@ _0810C0E2:
mov r0, sp
movs r2, 0
bl sub_80A6D60
- ldr r0, =gUnknown_0854C270
+ ldr r0, =gUnknown_083970E8
mov r1, sp
ldrb r1, [r1, 0x8]
lsls r1, 4
@@ -1650,7 +1650,7 @@ _0810C366:
mov r0, sp
movs r2, 0
bl sub_80A6D60
- ldr r0, =gUnknown_0854C270
+ ldr r0, =gUnknown_083970E8
mov r1, sp
ldrb r1, [r1, 0x8]
lsls r1, 4
diff --git a/asm/macros/event.inc b/asm/macros/event.inc
index d66992c35..c815f3753 100644
--- a/asm/macros/event.inc
+++ b/asm/macros/event.inc
@@ -668,7 +668,7 @@
.4byte \pointer2 @ text
.4byte \pointer3 @ text
.4byte \pointer4 @ event script
- .elseif \type == TRAINER_BATTLE_9
+ .elseif \type == TRAINER_BATTLE_PYRAMID
.4byte \pointer1 @ text
.4byte \pointer2 @ text
.elseif \type == TRAINER_BATTLE_SET_TRAINER_A
diff --git a/asm/roulette_util.s b/asm/roulette_util.s
deleted file mode 100644
index 61f6f67b1..000000000
--- a/asm/roulette_util.s
+++ /dev/null
@@ -1,1431 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8151678
-sub_8151678: @ 8151678
- push {lr}
- movs r1, 0
- strb r1, [r0]
- strh r1, [r0, 0x2]
- adds r0, 0x4
- movs r2, 0xC0
- bl memset
- pop {r0}
- bx r0
- thumb_func_end sub_8151678
-
- thumb_func_start sub_815168C
-sub_815168C: @ 815168C
- push {r4-r7,lr}
- adds r3, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- cmp r6, 0xF
- bhi _081516A8
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 2
- adds r5, r3, r0
- ldrb r7, [r5, 0x4]
- lsrs r0, r7, 7
- cmp r0, 0
- beq _081516AC
-_081516A8:
- movs r0, 0xFF
- b _0815170A
-_081516AC:
- ldrh r0, [r2]
- movs r4, 0
- strh r0, [r5, 0x8]
- ldrh r0, [r2, 0x2]
- strh r0, [r5, 0xA]
- ldrb r0, [r2, 0x4]
- strb r0, [r5, 0xC]
- ldrb r0, [r2, 0x5]
- strb r0, [r5, 0xD]
- ldrb r0, [r2, 0x6]
- strb r0, [r5, 0xE]
- ldrb r3, [r2, 0x7]
- lsls r0, r3, 27
- lsrs r0, 27
- ldrb r2, [r5, 0xF]
- movs r1, 0x20
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- movs r0, 0x60
- ands r0, r3
- movs r2, 0x61
- negs r2, r2
- ands r1, r2
- orrs r1, r0
- lsls r3, 24
- asrs r3, 31
- lsls r3, 7
- movs r0, 0x7F
- ands r1, r0
- orrs r1, r3
- strb r1, [r5, 0xF]
- subs r0, 0xFF
- ands r0, r7
- movs r2, 0x80
- orrs r0, r2
- strb r0, [r5, 0x4]
- strb r4, [r5, 0x6]
- strb r4, [r5, 0x5]
- lsls r1, 24
- cmp r1, 0
- bge _08151704
- movs r0, 0xFF
- b _08151706
-_08151704:
- movs r0, 0x1
-_08151706:
- strb r0, [r5, 0x7]
- adds r0, r6, 0
-_0815170A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_815168C
-
- thumb_func_start sub_8151710
-sub_8151710: @ 8151710
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r4, r1, 0
- cmp r4, 0xF
- bhi _0815173C
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r1, r2, r0
- ldrb r0, [r1, 0x4]
- lsrs r0, 7
- cmp r0, 0
- beq _0815173C
- adds r0, r1, 0x4
- movs r1, 0
- movs r2, 0xC
- bl memset
- adds r0, r4, 0
- b _0815173E
-_0815173C:
- movs r0, 0xFF
-_0815173E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8151710
-
- thumb_func_start sub_8151744
-sub_8151744: @ 8151744
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- movs r0, 0
- mov r12, r0
- ldrb r1, [r5, 0x8]
- cmp r12, r1
- bcc _0815175C
- b _081518F4
-_0815175C:
- movs r7, 0x1F
- ldr r0, =0xfffffc1f
- mov r10, r0
- movs r1, 0x7D
- negs r1, r1
- mov r9, r1
- movs r0, 0x1F
- mov r8, r0
-_0815176C:
- ldrh r0, [r5, 0x6]
- add r0, r12
- lsls r0, 1
- ldr r1, =gPlttBufferFaded
- adds r3, r0, r1
- ldr r1, =gPlttBufferUnfaded
- adds r6, r0, r1
- ldrb r0, [r5]
- lsls r0, 25
- lsrs r0, 25
- cmp r0, 0x1
- beq _08151798
- cmp r0, 0x2
- beq _081517F6
- b _081518E2
- .pool
-_08151798:
- ldr r0, [r3]
- lsls r2, r0, 27
- lsrs r0, r2, 27
- movs r1, 0x3
- ldrsb r1, [r5, r1]
- adds r0, r1
- cmp r0, 0x1F
- bhi _081517BA
- lsrs r0, r2, 27
- adds r0, r1
- ands r0, r7
- ldrb r2, [r3]
- movs r1, 0x20
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3]
-_081517BA:
- ldr r0, [r3]
- lsls r2, r0, 22
- lsrs r0, r2, 27
- movs r1, 0x3
- ldrsb r1, [r5, r1]
- adds r0, r1
- cmp r0, 0x1F
- bhi _081517DE
- lsrs r0, r2, 27
- adds r0, r1
- mov r1, r8
- ands r0, r1
- lsls r0, 5
- ldrh r2, [r3]
- mov r1, r10
- ands r1, r2
- orrs r1, r0
- strh r1, [r3]
-_081517DE:
- ldr r0, [r3]
- lsls r2, r0, 17
- lsrs r0, r2, 27
- movs r1, 0x3
- ldrsb r1, [r5, r1]
- adds r0, r1
- cmp r0, 0x1F
- bls _081517F0
- b _081518E2
-_081517F0:
- lsrs r0, r2, 27
- adds r0, r1
- b _081518D4
-_081517F6:
- movs r0, 0x3
- ldrsb r0, [r5, r0]
- cmp r0, 0
- bge _08151868
- ldr r0, [r3]
- lsls r4, r0, 27
- lsrs r1, r4, 27
- movs r2, 0x3
- ldrsb r2, [r5, r2]
- adds r1, r2
- ldr r0, [r6]
- lsls r0, 27
- lsrs r0, 27
- cmp r1, r0
- blt _08151826
- lsrs r0, r4, 27
- adds r0, r2
- ands r0, r7
- ldrb r2, [r3]
- movs r1, 0x20
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3]
-_08151826:
- ldr r0, [r3]
- lsls r4, r0, 22
- lsrs r1, r4, 27
- movs r2, 0x3
- ldrsb r2, [r5, r2]
- adds r1, r2
- ldr r0, [r6]
- lsls r0, 22
- lsrs r0, 27
- cmp r1, r0
- blt _08151850
- lsrs r0, r4, 27
- adds r0, r2
- mov r1, r8
- ands r0, r1
- lsls r0, 5
- ldrh r2, [r3]
- mov r1, r10
- ands r1, r2
- orrs r1, r0
- strh r1, [r3]
-_08151850:
- ldr r0, [r3]
- lsls r4, r0, 17
- lsrs r1, r4, 27
- movs r2, 0x3
- ldrsb r2, [r5, r2]
- adds r1, r2
- ldr r0, [r6]
- lsls r0, 17
- lsrs r0, 27
- cmp r1, r0
- blt _081518E2
- b _081518D0
-_08151868:
- ldr r0, [r3]
- lsls r4, r0, 27
- lsrs r1, r4, 27
- movs r2, 0x3
- ldrsb r2, [r5, r2]
- adds r1, r2
- ldr r0, [r6]
- lsls r0, 27
- lsrs r0, 27
- cmp r1, r0
- bgt _08151890
- lsrs r0, r4, 27
- adds r0, r2
- ands r0, r7
- ldrb r2, [r3]
- movs r1, 0x20
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3]
-_08151890:
- ldr r0, [r3]
- lsls r4, r0, 22
- lsrs r1, r4, 27
- movs r2, 0x3
- ldrsb r2, [r5, r2]
- adds r1, r2
- ldr r0, [r6]
- lsls r0, 22
- lsrs r0, 27
- cmp r1, r0
- bgt _081518BA
- lsrs r0, r4, 27
- adds r0, r2
- mov r1, r8
- ands r0, r1
- lsls r0, 5
- ldrh r2, [r3]
- mov r1, r10
- ands r1, r2
- orrs r1, r0
- strh r1, [r3]
-_081518BA:
- ldr r0, [r3]
- lsls r4, r0, 17
- lsrs r1, r4, 27
- movs r2, 0x3
- ldrsb r2, [r5, r2]
- adds r1, r2
- ldr r0, [r6]
- lsls r0, 17
- lsrs r0, 27
- cmp r1, r0
- bgt _081518E2
-_081518D0:
- lsrs r0, r4, 27
- adds r0, r2
-_081518D4:
- ands r0, r7
- lsls r0, 2
- ldrb r2, [r3, 0x1]
- mov r1, r9
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x1]
-_081518E2:
- mov r0, r12
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- ldrb r0, [r5, 0x8]
- cmp r12, r0
- bcs _081518F4
- b _0815176C
-_081518F4:
- ldrb r1, [r5, 0x2]
- adds r0, r1, 0x1
- strb r0, [r5, 0x2]
- ldrb r0, [r5, 0xB]
- lsls r0, 27
- lsls r1, 24
- asrs r0, 3
- cmp r1, r0
- beq _0815190A
- movs r0, 0
- b _0815193E
-_0815190A:
- movs r0, 0
- strb r0, [r5, 0x2]
- movs r0, 0x3
- ldrsb r0, [r5, r0]
- negs r0, r0
- strb r0, [r5, 0x3]
- ldrb r2, [r5]
- movs r1, 0x7F
- movs r0, 0x7F
- ands r0, r2
- cmp r0, 0x1
- bne _0815192A
- lsls r0, r2, 25
- lsrs r0, 25
- adds r0, 0x1
- b _08151930
-_0815192A:
- lsls r0, r2, 25
- lsrs r0, 25
- subs r0, 0x1
-_08151930:
- ands r0, r1
- movs r1, 0x80
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r5]
- movs r0, 0x1
-_0815193E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8151744
-
- thumb_func_start sub_815194C
-sub_815194C: @ 815194C
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r2, 0
- ldrb r0, [r3]
- lsls r0, 25
- lsrs r0, 25
- cmp r0, 0x1
- beq _08151962
- cmp r0, 0x2
- beq _08151990
- b _081519CA
-_08151962:
- ldrb r0, [r3, 0x8]
- cmp r2, r0
- bcs _08151982
- ldr r4, =gPlttBufferFaded
-_0815196A:
- ldrh r0, [r3, 0x6]
- adds r0, r2
- lsls r0, 1
- adds r0, r4
- ldrh r1, [r3, 0x4]
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldrb r0, [r3, 0x8]
- cmp r2, r0
- bcc _0815196A
-_08151982:
- ldrb r2, [r3]
- lsls r1, r2, 25
- lsrs r1, 25
- adds r1, 0x1
- b _081519BC
- .pool
-_08151990:
- ldrb r0, [r3, 0x8]
- cmp r2, r0
- bcs _081519B4
- ldr r5, =gPlttBufferFaded
- ldr r4, =gPlttBufferUnfaded
-_0815199A:
- ldrh r0, [r3, 0x6]
- adds r0, r2
- lsls r0, 1
- adds r1, r0, r5
- adds r0, r4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldrb r0, [r3, 0x8]
- cmp r2, r0
- bcc _0815199A
-_081519B4:
- ldrb r2, [r3]
- lsls r1, r2, 25
- lsrs r1, 25
- subs r1, 0x1
-_081519BC:
- movs r0, 0x7F
- ands r1, r0
- movs r0, 0x80
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_081519CA:
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_815194C
-
- thumb_func_start task_tutorial_controls_fadein
-task_tutorial_controls_fadein: @ 81519DC
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r5, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _08151A40
-_081519E8:
- ldrh r0, [r4, 0x2]
- asrs r0, r5
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08151A36
- lsls r1, r5, 1
- adds r0, r1, r5
- lsls r3, r0, 2
- adds r2, r4, r3
- ldrb r0, [r2, 0x5]
- subs r0, 0x1
- strb r0, [r2, 0x5]
- lsls r0, 24
- lsrs r0, 24
- adds r6, r1, 0
- cmp r0, 0xFF
- bne _08151A36
- ldrh r0, [r2, 0x8]
- movs r2, 0x80
- lsls r2, 8
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _08151A24
- adds r0, r3, 0x4
- adds r0, r4, r0
- bl sub_8151744
- b _08151A2C
-_08151A24:
- adds r0, r3, 0x4
- adds r0, r4, r0
- bl sub_815194C
-_08151A2C:
- adds r0, r6, r5
- lsls r0, 2
- adds r0, r4, r0
- ldrb r1, [r0, 0xD]
- strb r1, [r0, 0x5]
-_08151A36:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xF
- bls _081519E8
-_08151A40:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end task_tutorial_controls_fadein
-
- thumb_func_start sub_8151A48
-sub_8151A48: @ 8151A48
- push {r4-r7,lr}
- adds r3, r0, 0
- lsls r1, 16
- lsrs r6, r1, 16
- movs r4, 0
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- movs r5, 0x1
- movs r7, 0x80
- negs r7, r7
-_08151A5E:
- adds r0, r6, 0
- asrs r0, r4
- ands r0, r5
- cmp r0, 0
- beq _08151A8C
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r2, r3, r0
- ldrb r0, [r2, 0x4]
- lsrs r0, 7
- cmp r0, 0
- beq _08151A8C
- adds r0, r5, 0
- lsls r0, r4
- ldrh r1, [r3, 0x2]
- orrs r0, r1
- strh r0, [r3, 0x2]
- ldrb r1, [r2, 0x4]
- adds r0, r7, 0
- ands r0, r1
- orrs r0, r5
- strb r0, [r2, 0x4]
-_08151A8C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _08151A5E
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8151A48
-
- thumb_func_start sub_8151A9C
-sub_8151A9C: @ 8151A9C
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- lsls r1, 16
- lsrs r7, r1, 16
- movs r5, 0
- movs r3, 0x1
-_08151AAA:
- ldrh r0, [r6, 0x2]
- asrs r0, r5
- ands r0, r3
- cmp r0, 0
- beq _08151B12
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r4, r6, r0
- ldrb r0, [r4, 0x4]
- lsrs r0, 7
- cmp r0, 0
- beq _08151B12
- adds r0, r7, 0
- asrs r0, r5
- ands r0, r3
- cmp r0, 0
- beq _08151B12
- ldrh r1, [r4, 0xA]
- lsls r1, 1
- ldr r0, =gPlttBufferFaded
- adds r0, r1, r0
- ldr r2, =gPlttBufferUnfaded
- adds r1, r2
- ldrb r2, [r4, 0xC]
- lsls r2, 1
- str r3, [sp]
- bl memcpy
- ldrb r0, [r4, 0x4]
- movs r2, 0x80
- negs r2, r2
- adds r1, r2, 0
- ands r0, r1
- strb r0, [r4, 0x4]
- movs r0, 0
- strb r0, [r4, 0x6]
- strb r0, [r4, 0x5]
- ldrb r0, [r4, 0xF]
- lsls r0, 24
- ldr r3, [sp]
- cmp r0, 0
- bge _08151B10
- movs r0, 0xFF
- strb r0, [r4, 0x7]
- b _08151B12
- .pool
-_08151B10:
- strb r3, [r4, 0x7]
-_08151B12:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xF
- bls _08151AAA
- ldr r0, =0x0000ffff
- cmp r7, r0
- bne _08151B2C
- movs r0, 0
- strb r0, [r6]
- b _08151B30
- .pool
-_08151B2C:
- ldrh r0, [r6, 0x2]
- bics r0, r7
-_08151B30:
- strh r0, [r6, 0x2]
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8151A9C
-
- thumb_func_start sub_8151B3C
-sub_8151B3C: @ 8151B3C
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r4, 0
- strh r4, [r5]
- adds r0, r5, 0x4
- movs r1, 0
- movs r2, 0xC0
- bl memset
-_08151B4E:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r5, r0
- strb r4, [r0, 0x4]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _08151B4E
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8151B3C
-
- thumb_func_start sub_8151B68
-sub_8151B68: @ 8151B68
- push {r4,r5,lr}
- adds r2, r0, 0
- adds r5, r1, 0
- movs r3, 0
- movs r4, 0
- ldrb r0, [r2, 0x5]
- lsrs r0, 7
- cmp r0, 0
- bne _08151B7E
- adds r4, r2, 0x4
- b _08151B9C
-_08151B7E:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xF
- bhi _08151B9C
- lsls r0, r3, 1
- adds r0, r3
- lsls r1, r0, 2
- adds r0, r2, r1
- ldrb r0, [r0, 0x5]
- lsrs r0, 7
- cmp r0, 0
- bne _08151B7E
- adds r0, r1, 0x4
- adds r4, r2, r0
-_08151B9C:
- cmp r4, 0
- beq _08151BCA
- ldrb r1, [r4, 0x1]
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0
- strb r0, [r4, 0x2]
- strb r0, [r4, 0x3]
- adds r1, r4, 0x4
- adds r0, r5, 0
- ldm r0!, {r2,r4}
- stm r1!, {r2,r4}
- adds r0, r3, 0
- b _08151BCC
-_08151BCA:
- movs r0, 0xFF
-_08151BCC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8151B68
-
- thumb_func_start sub_8151BD4
-sub_8151BD4: @ 8151BD4
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrb r1, [r4, 0x1]
- movs r2, 0x40
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08151C16
- ldrb r1, [r4, 0xB]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _08151C16
- ldrh r2, [r4, 0x6]
- ldrb r0, [r4, 0x8]
- adds r0, r2, r0
- cmp r2, r0
- bge _08151C16
- ldr r5, =gPlttBufferFaded
- ldr r3, =gPlttBufferUnfaded
-_08151BFC:
- lsls r0, r2, 1
- adds r1, r0, r5
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r4, 0x6]
- ldrb r1, [r4, 0x8]
- adds r0, r1
- cmp r2, r0
- blt _08151BFC
-_08151C16:
- adds r0, r4, 0x4
- movs r1, 0
- movs r2, 0x8
- bl memset
- ldrb r1, [r4, 0x1]
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- subs r1, 0x10
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- movs r1, 0x7F
- ands r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0
- strb r0, [r4, 0x3]
- strb r0, [r4, 0x2]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8151BD4
-
- thumb_func_start sub_8151C50
-sub_8151C50: @ 8151C50
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 24
- movs r5, 0
- cmp r2, 0
- bne _08151C74
- movs r1, 0xF
- ands r1, r4
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, 0x4
- adds r0, r6, r0
- bl sub_8151BD4
- b _08151CA0
-_08151C74:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _08151C94
- lsls r0, r5, 1
- adds r0, r5
- lsls r1, r0, 2
- adds r0, r6, r1
- ldrb r0, [r0, 0x5]
- lsrs r0, 7
- cmp r0, 0
- beq _08151C94
- adds r0, r1, 0x4
- adds r0, r6, r0
- bl sub_8151BD4
-_08151C94:
- lsrs r4, 1
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xF
- bls _08151C74
-_08151CA0:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8151C50
-
- thumb_func_start sub_8151CA8
-sub_8151CA8: @ 8151CA8
- push {r4-r7,lr}
- adds r5, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 24
- movs r3, 0
- cmp r2, 0
- bne _08151CDC
- movs r0, 0xF
- adds r3, r0, 0
- ands r3, r4
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 2
- adds r1, r5, r1
- ldrb r2, [r1, 0x5]
- movs r0, 0x41
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- movs r0, 0x1
- lsls r0, r3
- ldrh r1, [r5]
- orrs r0, r1
- strh r0, [r5]
- b _08151D20
-_08151CDC:
- movs r6, 0x1
- movs r7, 0x41
- negs r7, r7
-_08151CE2:
- adds r0, r4, 0
- ands r0, r6
- cmp r0, 0
- beq _08151D00
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r2, r5, r0
- ldrb r1, [r2, 0x5]
- lsrs r0, r1, 7
- cmp r0, 0
- beq _08151D00
- lsls r0, r1, 25
- cmp r0, 0
- blt _08151D06
-_08151D00:
- lsls r0, r4, 17
- lsrs r4, r0, 16
- b _08151D16
-_08151D06:
- adds r0, r7, 0
- ands r0, r1
- strb r0, [r2, 0x5]
- adds r0, r6, 0
- lsls r0, r3
- ldrh r1, [r5]
- orrs r0, r1
- strh r0, [r5]
-_08151D16:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xF
- bls _08151CE2
-_08151D20:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8151CA8
-
- thumb_func_start sub_8151D28
-sub_8151D28: @ 8151D28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r0
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 24
- movs r0, 0
- mov r12, r0
- cmp r2, 0
- bne _08151DB0
- movs r1, 0xF
- ands r1, r7
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, 0x4
- mov r1, r8
- adds r3, r1, r0
- ldrb r1, [r3, 0x1]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0x80
- bne _08151E3A
- ldrb r1, [r3, 0xB]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08151D8E
- ldrh r2, [r3, 0x6]
- ldrb r0, [r3, 0x8]
- adds r0, r2, r0
- cmp r2, r0
- bge _08151D8E
- ldr r5, =gPlttBufferFaded
- ldr r4, =gPlttBufferUnfaded
-_08151D74:
- lsls r0, r2, 1
- adds r1, r0, r5
- adds r0, r4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r3, 0x6]
- ldrb r1, [r3, 0x8]
- adds r0, r1
- cmp r2, r0
- blt _08151D74
-_08151D8E:
- ldrb r0, [r3, 0x1]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r3, 0x1]
- movs r1, 0x1
- mov r2, r12
- lsls r1, r2
- mov r2, r8
- ldrh r0, [r2]
- bics r0, r1
- strh r0, [r2]
- b _08151E3A
- .pool
-_08151DB0:
- movs r0, 0x1
- mov r9, r0
- movs r1, 0x40
- mov r10, r1
-_08151DB8:
- mov r2, r12
- lsls r0, r2, 1
- add r0, r12
- lsls r0, 2
- adds r0, 0x4
- mov r1, r8
- adds r3, r1, r0
- adds r0, r7, 0
- mov r2, r9
- ands r0, r2
- cmp r0, 0
- beq _08151DDA
- ldrb r1, [r3, 0x1]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0x80
- beq _08151DE4
-_08151DDA:
- lsls r0, r7, 17
- lsrs r7, r0, 16
- mov r5, r12
- adds r5, 0x1
- b _08151E30
-_08151DE4:
- ldrb r1, [r3, 0xB]
- mov r0, r10
- ands r0, r1
- mov r5, r12
- adds r5, 0x1
- cmp r0, 0
- beq _08151E1A
- ldrh r2, [r3, 0x6]
- ldrb r0, [r3, 0x8]
- adds r0, r2, r0
- cmp r2, r0
- bge _08151E1A
- ldr r6, =gPlttBufferFaded
- ldr r4, =gPlttBufferUnfaded
-_08151E00:
- lsls r0, r2, 1
- adds r1, r0, r6
- adds r0, r4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r3, 0x6]
- ldrb r1, [r3, 0x8]
- adds r0, r1
- cmp r2, r0
- blt _08151E00
-_08151E1A:
- ldrb r1, [r3, 0x1]
- mov r0, r10
- orrs r0, r1
- strb r0, [r3, 0x1]
- mov r1, r9
- mov r0, r12
- lsls r1, r0
- mov r2, r8
- ldrh r0, [r2]
- bics r0, r1
- strh r0, [r2]
-_08151E30:
- lsls r0, r5, 24
- lsrs r0, 24
- mov r12, r0
- cmp r0, 0xF
- bls _08151DB8
-_08151E3A:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8151D28
-
- thumb_func_start sub_8151E50
-sub_8151E50: @ 8151E50
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- str r0, [sp]
- movs r0, 0
- mov r10, r0
- ldr r1, [sp]
- ldrh r0, [r1]
- cmp r0, 0
- bne _08151E6C
- b _08151FF6
-_08151E6C:
- movs r2, 0xF
- mov r9, r2
- movs r3, 0x10
- negs r3, r3
- mov r8, r3
- movs r7, 0x1
-_08151E78:
- mov r5, r10
- lsls r0, r5, 1
- add r0, r10
- lsls r0, 2
- adds r0, 0x4
- ldr r1, [sp]
- adds r4, r1, r0
- ldrb r2, [r4, 0x1]
- movs r3, 0xC0
- ands r3, r2
- cmp r3, 0x80
- beq _08151E92
- b _08151FE6
-_08151E92:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08151EA8
- ldrb r0, [r4, 0xB]
- ands r3, r0
- cmp r3, 0
- beq _08151EA8
- b _08151FE6
-_08151EA8:
- ldrb r0, [r4, 0x2]
- subs r0, 0x1
- strb r0, [r4, 0x2]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _08151EB8
- b _08151FE6
-_08151EB8:
- ldrb r0, [r4, 0x9]
- strb r0, [r4, 0x2]
- ldrh r0, [r4, 0x6]
- ldrb r1, [r4, 0x8]
- lsls r2, 28
- lsrs r2, 28
- ldrh r3, [r4, 0x4]
- bl BlendPalette
- ldrb r5, [r4, 0xB]
- lsls r0, r5, 26
- asrs r0, 30
- cmp r0, 0x1
- beq _08151F16
- cmp r0, 0x1
- bgt _08151EE4
- cmp r0, 0
- beq _08151EEA
- b _08151FD0
- .pool
-_08151EE4:
- cmp r0, 0x2
- beq _08151F92
- b _08151FD0
-_08151EEA:
- ldrb r2, [r4, 0x1]
- lsls r1, r2, 28
- lsrs r0, r1, 28
- adds r0, 0x1
- mov r3, r9
- ands r0, r3
- mov r6, r8
- adds r3, r6, 0
- ands r3, r2
- orrs r3, r0
- strb r3, [r4, 0x1]
- lsrs r1, 28
- lsls r0, r5, 28
- asrs r0, 28
- cmp r1, r0
- bne _08151FD0
- ldrb r0, [r4, 0x3]
- adds r0, 0x1
- strb r0, [r4, 0x3]
- ands r3, r6
- strb r3, [r4, 0x1]
- b _08151FD0
-_08151F16:
- ldrb r3, [r4, 0x1]
- movs r0, 0x10
- ands r0, r3
- cmp r0, 0
- beq _08151F54
- lsls r0, r3, 28
- lsrs r0, 28
- subs r0, 0x1
- mov r5, r9
- ands r0, r5
- mov r2, r8
- ands r2, r3
- orrs r2, r0
- strb r2, [r4, 0x1]
- cmp r0, 0
- bne _08151FD0
- ldrb r0, [r4, 0x3]
- adds r0, 0x1
- strb r0, [r4, 0x3]
- lsls r0, r2, 27
- lsrs r0, 31
- eors r0, r7
- ands r0, r7
- lsls r0, 4
- movs r3, 0x11
- negs r3, r3
- adds r1, r3, 0
- ands r2, r1
- orrs r2, r0
- strb r2, [r4, 0x1]
- b _08151FD0
-_08151F54:
- lsls r0, r5, 28
- asrs r0, 28
- subs r0, 0x1
- mov r5, r9
- ands r0, r5
- lsls r2, r3, 28
- lsrs r1, r2, 28
- adds r1, 0x1
- ands r1, r5
- mov r5, r8
- ands r3, r5
- orrs r3, r1
- strb r3, [r4, 0x1]
- lsrs r2, 28
- cmp r2, r0
- bne _08151FD0
- ldrb r0, [r4, 0x3]
- adds r0, 0x1
- strb r0, [r4, 0x3]
- lsls r0, r3, 27
- lsrs r0, 31
- eors r0, r7
- ands r0, r7
- lsls r0, 4
- movs r2, 0x11
- negs r2, r2
- adds r1, r2, 0
- ands r3, r1
- orrs r3, r0
- strb r3, [r4, 0x1]
- b _08151FD0
-_08151F92:
- ldrb r2, [r4, 0x1]
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _08151FA2
- mov r0, r8
- ands r0, r2
- b _08151FB0
-_08151FA2:
- lsls r1, r5, 28
- asrs r1, 28
- mov r3, r9
- ands r1, r3
- mov r0, r8
- ands r0, r2
- orrs r0, r1
-_08151FB0:
- strb r0, [r4, 0x1]
- ldrb r2, [r4, 0x1]
- lsls r0, r2, 27
- lsrs r0, 31
- eors r0, r7
- ands r0, r7
- lsls r0, 4
- movs r5, 0x11
- negs r5, r5
- adds r1, r5, 0
- ands r2, r1
- orrs r2, r0
- strb r2, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- adds r0, 0x1
- strb r0, [r4, 0x3]
-_08151FD0:
- ldrb r1, [r4, 0xA]
- cmp r1, 0xFF
- beq _08151FE6
- ldrb r0, [r4, 0x3]
- cmp r0, r1
- bne _08151FE6
- ldrb r1, [r4]
- ldr r0, [sp]
- movs r2, 0
- bl sub_8151D28
-_08151FE6:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- cmp r0, 0xF
- bhi _08151FF6
- b _08151E78
-_08151FF6:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8151E50
-
- thumb_func_start sub_8152008
-sub_8152008: @ 8152008
- push {r4-r7,lr}
- adds r6, r0, 0
- ldr r0, [sp, 0x14]
- ldr r4, [sp, 0x18]
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0
- lsrs r3, 19
- adds r3, r2
- lsls r3, 1
- adds r6, r3
- cmp r1, r4
- bcs _08152052
-_08152030:
- lsls r0, r1, 6
- adds r2, r6, r0
- movs r0, 0
- adds r3, r1, 0x1
- cmp r0, r5
- bcs _0815204A
-_0815203C:
- strh r7, [r2]
- adds r2, 0x2
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r5
- bcc _0815203C
-_0815204A:
- lsls r0, r3, 24
- lsrs r1, r0, 24
- cmp r1, r4
- bcc _08152030
-_08152052:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8152008
-
- thumb_func_start sub_8152058
-sub_8152058: @ 8152058
- push {r4-r7,lr}
- adds r7, r0, 0
- ldr r0, [sp, 0x14]
- ldr r4, [sp, 0x18]
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, 24
- lsrs r6, r4, 24
- movs r4, 0
- lsrs r3, 19
- adds r3, r2
- lsls r3, 1
- adds r7, r3
- cmp r4, r6
- bcs _081520A2
-_0815207C:
- lsls r0, r4, 6
- adds r2, r7, r0
- movs r3, 0
- adds r4, 0x1
- cmp r3, r5
- bcs _0815209A
-_08152088:
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, 0x2
- adds r2, 0x2
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r5
- bcc _08152088
-_0815209A:
- lsls r0, r4, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _0815207C
-_081520A2:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8152058
-
- .align 2, 0 @ Don't pad with nop.