summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorSlawter666 <38655737+Slawter666@users.noreply.github.com>2019-01-05 19:54:26 +0000
committerSlawter666 <38655737+Slawter666@users.noreply.github.com>2019-01-05 19:54:26 +0000
commitf8c2fcb9b22a1b9cf43e293fdcb6df2b9d0dd164 (patch)
tree81b80d287c4fb3320a8143b9cfbb06e9fc4b34d5 /asm
parentee5a239534d7c4bd64ce7ced4146204579f5d598 (diff)
parentcbf7d6cee59e7aa2cdef6b9e89fa62fbeb4a07c5 (diff)
Merge branch 'master' of https://github.com/pret/pokeemerald into secret-base
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_frontier_1.s2527
-rw-r--r--asm/contest_link_80F57C4.s3160
-rw-r--r--asm/contest_link_80FC4F4.s1362
-rw-r--r--asm/contest_link_81D9DE4.s890
-rw-r--r--asm/pokenav.s2
-rw-r--r--asm/roulette.s9634
6 files changed, 12 insertions, 17563 deletions
diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s
deleted file mode 100644
index c47ca5d76..000000000
--- a/asm/battle_frontier_1.s
+++ /dev/null
@@ -1,2527 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
-
- thumb_func_start sub_8195E10
-sub_8195E10: @ 8195E10
- push {lr}
- bl RtcCalcLocalTime
- ldr r0, =gLocalTime
- bl sub_8195E34
- ldr r1, =gUnknown_0203CD80
- adds r0, 0xA
- str r0, [r1]
- movs r0, 0
- strb r0, [r1, 0x6]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8195E10
-
- thumb_func_start sub_8195E34
-sub_8195E34: @ 8195E34
- adds r3, r0, 0
- movs r1, 0
- ldrsh r0, [r3, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- movs r2, 0x2
- ldrsb r2, [r3, r2]
- lsls r1, r2, 4
- subs r1, r2
- lsls r1, 2
- adds r0, r1
- movs r1, 0x3
- ldrsb r1, [r3, r1]
- adds r0, r1
- bx lr
- thumb_func_end sub_8195E34
-
- thumb_func_start sub_8195E58
-sub_8195E58: @ 8195E58
- push {lr}
- bl RtcCalcLocalTime
- ldr r0, =gLocalTime
- bl sub_8195E34
- adds r1, r0, 0
- ldr r2, =gUnknown_0203CD80
- ldr r0, [r2]
- cmp r0, r1
- bhi _08195E74
- subs r0, r1, r0
- cmp r0, 0x9
- bls _08195E84
-_08195E74:
- str r1, [r2]
- movs r0, 0x1
- b _08195E86
- .pool
-_08195E84:
- movs r0, 0
-_08195E86:
- pop {r1}
- bx r1
- thumb_func_end sub_8195E58
-
- thumb_func_start sub_8195E8C
-sub_8195E8C: @ 8195E8C
- push {r4,r5,lr}
- movs r5, 0x1
- ldr r4, =gPlayerParty
- adds r0, r4, 0
- movs r1, 0x6
- bl GetMonData
- cmp r0, 0
- bne _08195EAE
- adds r0, r4, 0
- bl GetMonAbility
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bne _08195EAE
- movs r5, 0x2
-_08195EAE:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r5, 1
- adds r1, r5
- cmp r0, r1
- blt _08195ED0
- movs r0, 0
- b _08195ED2
- .pool
-_08195ED0:
- movs r0, 0x1
-_08195ED2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8195E8C
-
- thumb_func_start sub_8195ED8
-sub_8195ED8: @ 8195ED8
- push {r4,lr}
- ldr r4, =gMapHeader
- ldrb r0, [r4, 0x17]
- bl Overworld_MapTypeAllowsTeleportAndFly
- lsls r0, 24
- cmp r0, 0
- beq _08195F30
- ldrb r0, [r4, 0x14]
- cmp r0, 0x39
- beq _08195F30
- cmp r0, 0xE
- bne _08195F0E
- movs r0, 0xF9
- lsls r0, 2
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08195F0E
- movs r0, 0xDC
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08195F30
-_08195F0E:
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x14]
- cmp r0, 0x38
- bne _08195F38
- movs r0, 0xCF
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08195F38
- movs r0, 0x8B
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _08195F38
-_08195F30:
- movs r0, 0
- b _08195F3A
- .pool
-_08195F38:
- movs r0, 0x1
-_08195F3A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8195ED8
-
- thumb_func_start sub_8195F40
-sub_8195F40: @ 8195F40
- push {lr}
- ldr r1, =gUnknown_0203CD80
- ldrb r0, [r1, 0x6]
- adds r0, 0x1
- strb r0, [r1, 0x6]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bhi _08195F5C
- movs r0, 0
- b _08195F62
- .pool
-_08195F5C:
- movs r0, 0
- strb r0, [r1, 0x6]
- movs r0, 0x1
-_08195F62:
- pop {r1}
- bx r1
- thumb_func_end sub_8195F40
-
- thumb_func_start sub_8195F68
-sub_8195F68: @ 8195F68
- push {r4,lr}
- bl sub_8195FCC
- adds r4, r0, 0
- cmp r4, 0
- beq _08195FB8
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl __umodsi3
- bl sub_8195FF8
- ldr r2, =gUnknown_0203CD80
- movs r1, 0
- strh r0, [r2, 0x4]
- strb r1, [r2, 0x7]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4E
- beq _08195FB8
- ldrh r0, [r2, 0x4]
- bl sub_8196844
- adds r4, r0, 0
- bl sub_819672C
- ldr r1, =gMapHeader
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x14]
- cmp r0, r1
- bne _08195FC4
- adds r0, r4, 0
- bl sub_8196710
- cmp r0, 0
- bne _08195FC4
-_08195FB8:
- movs r0, 0
- b _08195FC6
- .pool
-_08195FC4:
- movs r0, 0x1
-_08195FC6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8195F68
-
- thumb_func_start sub_8195FCC
-sub_8195FCC: @ 8195FCC
- push {r4,r5,lr}
- movs r4, 0
- movs r5, 0
-_08195FD2:
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r4, r1
- lsls r0, 16
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08195FE8
- adds r5, 0x1
-_08195FE8:
- adds r4, 0x1
- cmp r4, 0x3F
- bls _08195FD2
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8195FCC
-
- thumb_func_start sub_8195FF8
-sub_8195FF8: @ 8195FF8
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r4, 0
- ldr r6, =gRematchTable
-_08196000:
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r4, r1
- lsls r0, 16
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08196022
- cmp r5, 0
- bne _08196020
- ldrh r0, [r6]
- b _0819602C
- .pool
-_08196020:
- subs r5, 0x1
-_08196022:
- adds r6, 0x10
- adds r4, 0x1
- cmp r4, 0x3F
- bls _08196000
- movs r0, 0x4E
-_0819602C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8195FF8
-
- thumb_func_start sub_8196034
-sub_8196034: @ 8196034
- push {lr}
- ldr r0, =0x0000012f
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08196078
- bl sub_8195F40
- cmp r0, 0
- beq _08196078
- bl sub_8195E58
- cmp r0, 0
- beq _08196078
- bl sub_8195E8C
- cmp r0, 0
- beq _08196078
- bl sub_8195ED8
- cmp r0, 0
- beq _08196078
- bl sub_8195F68
- cmp r0, 0
- beq _08196078
- bl task_prev_quest
- movs r0, 0x1
- b _0819607A
- .pool
-_08196078:
- movs r0, 0
-_0819607A:
- pop {r1}
- bx r1
- thumb_func_end sub_8196034
-
- thumb_func_start sub_8196080
-sub_8196080: @ 8196080
- push {lr}
- ldr r1, =gUnknown_0203CD80
- movs r0, 0x1
- strb r0, [r1, 0x7]
- bl task_prev_quest
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8196080
-
- thumb_func_start sub_8196094
-sub_8196094: @ 8196094
- push {lr}
- ldr r0, =sub_81960E0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8196094
-
- thumb_func_start task_prev_quest
-task_prev_quest: @ 81960A8
- push {lr}
- ldr r0, =gUnknown_0203CD80
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _081960C2
- bl ScriptContext2_Enable
- bl FreezeEventObjects
- bl sub_808B864
- bl sub_808BCF4
-_081960C2:
- ldr r0, =0x00000107
- bl PlaySE
- ldr r0, =sub_81960E0
- movs r1, 0x1
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_prev_quest
-
- thumb_func_start sub_81960E0
-sub_81960E0: @ 81960E0
- 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
- ldr r1, =gUnknown_0860EF78
- movs r2, 0
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
- cmp r0, 0
- beq _0819611E
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- movs r1, 0
- strh r1, [r4, 0x2]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7
- bls _0819611E
- adds r0, r5, 0
- bl DestroyTask
-_0819611E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81960E0
-
- thumb_func_start sub_819612C
-sub_819612C: @ 819612C
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- ldr r0, =gUnknown_0860EF98
- bl AddWindow
- strh r0, [r5, 0x4]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xFF
- bne _0819615C
- adds r0, r4, 0
- b _081961E0
- .pool
-_0819615C:
- ldr r1, =gUnknown_0860EA6C
- movs r2, 0x80
- lsls r2, 1
- movs r3, 0x9C
- lsls r3, 2
- movs r0, 0
- bl LoadBgTiles
- lsls r0, 16
- ldr r1, =0xffff0000
- cmp r0, r1
- bne _08196188
- ldrb r0, [r5, 0x4]
- bl RemoveWindow
- adds r0, r4, 0
- b _081961E0
- .pool
-_08196188:
- ldr r1, =gUnknown_0860EB8C
- ldr r3, =0x00000279
- movs r0, 0
- str r0, [sp]
- movs r2, 0
- bl decompress_and_copy_tile_data_to_vram
- cmp r0, 0
- beq _081961D8
- ldrb r0, [r5, 0x4]
- movs r1, 0x88
- bl FillWindowPixelBuffer
- ldr r0, =gUnknown_0860EA4C
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_0860EB6C
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =0xffffe000
- movs r0, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- b _081961E6
- .pool
-_081961D8:
- ldrb r0, [r5, 0x4]
- bl RemoveWindow
- adds r0, r6, 0
-_081961E0:
- bl DestroyTask
- movs r0, 0
-_081961E6:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_819612C
-
- thumb_func_start sub_81961F0
-sub_81961F0: @ 81961F0
- push {r4,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- cmp r0, 0
- bne _08196268
- ldrb r0, [r4, 0x4]
- bl PutWindowTilemap
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r1, 0x9C
- lsls r1, 2
- movs r2, 0xE
- bl sub_819645C
- ldr r1, =0x0000f279
- movs r0, 0x4
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0x1
- str r0, [sp, 0xC]
- movs r0, 0
- movs r2, 0x1
- movs r3, 0xF
- bl WriteSequenceToBgTilemapBuffer
- ldr r0, =sub_8196694
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xA]
- ldrb r0, [r4, 0x4]
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- b _0819626A
- .pool
-_08196268:
- movs r0, 0
-_0819626A:
- add sp, 0x10
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81961F0
-
- thumb_func_start sub_8196274
-sub_8196274: @ 8196274
- 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
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- beq _08196298
- movs r0, 0
- b _081962A4
- .pool
-_08196298:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- ldr r1, =gText_PokenavCallEllipsis
- bl sub_81965D8
- movs r0, 0x1
-_081962A4:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8196274
-
- thumb_func_start sub_81962B0
-sub_81962B0: @ 81962B0
- push {lr}
- movs r1, 0xC0
- lsls r1, 3
- movs r0, 0
- movs r2, 0x1
- bl ChangeBgY
- cmp r0, 0
- bge _081962C6
- movs r0, 0
- b _081962D2
-_081962C6:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
-_081962D2:
- pop {r1}
- bx r1
- thumb_func_end sub_81962B0
-
- thumb_func_start sub_81962D8
-sub_81962D8: @ 81962D8
- 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, 0x4
- ldrsh r0, [r4, r1]
- bl sub_8196648
- cmp r0, 0
- bne _08196328
- ldrb r0, [r4, 0x4]
- movs r1, 0x88
- bl FillWindowPixelBuffer
- ldr r1, =gUnknown_0203CD80
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- bne _0819630C
- ldrh r0, [r1, 0x4]
- ldr r1, =gStringVar4
- bl sub_81967AC
-_0819630C:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- ldr r1, =gStringVar4
- bl sub_81965D8
- movs r0, 0x1
- b _0819632A
- .pool
-_08196328:
- movs r0, 0
-_0819632A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81962D8
-
- thumb_func_start sub_8196330
-sub_8196330: @ 8196330
- 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, 0x4
- ldrsh r0, [r4, r1]
- bl sub_8196648
- cmp r0, 0
- bne _08196388
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- bne _08196388
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08196388
- ldrb r0, [r4, 0x4]
- movs r1, 0x88
- bl FillWindowPixelBuffer
- ldrb r0, [r4, 0x4]
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x84
- lsls r0, 1
- bl PlaySE
- movs r0, 0x1
- b _0819638A
- .pool
-_08196388:
- movs r0, 0
-_0819638A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8196330
-
- thumb_func_start sub_8196390
-sub_8196390: @ 8196390
- push {r4,lr}
- sub sp, 0x8
- 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, 0xC0
- lsls r1, 3
- movs r0, 0
- movs r2, 0x2
- bl ChangeBgY
- ldr r1, =0xffffe000
- cmp r0, r1
- ble _081963C0
- movs r0, 0
- b _081963E8
- .pool
-_081963C0:
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0xE
- bl FillBgTilemapBufferRect_Palette0
- ldrb r0, [r4, 0xA]
- bl DestroyTask
- ldrb r0, [r4, 0x4]
- bl RemoveWindow
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
-_081963E8:
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8196390
-
- thumb_func_start sub_81963F0
-sub_81963F0: @ 81963F0
- push {lr}
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08196454
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- bne _08196454
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- ldr r0, =gUnknown_0203CD80
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _08196446
- bl sub_81973A4
- 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
- bl sub_80D338C
- bl UnfreezeEventObjects
- bl ScriptContext2_Disable
-_08196446:
- movs r0, 0x1
- b _08196456
- .pool
-_08196454:
- movs r0, 0
-_08196456:
- pop {r1}
- bx r1
- thumb_func_end sub_81963F0
-
- thumb_func_start sub_819645C
-sub_819645C: @ 819645C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- adds r4, r0, 0
- adds r5, r1, 0
- adds r7, r2, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl GetWindowAttribute
- mov r9, r0
- adds r0, r4, 0
- movs r1, 0x1
- bl GetWindowAttribute
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x2
- bl GetWindowAttribute
- str r0, [sp, 0xC]
- adds r0, r4, 0
- movs r1, 0x3
- bl GetWindowAttribute
- adds r6, r0, 0
- adds r0, r4, 0
- movs r1, 0x4
- bl GetWindowAttribute
- str r0, [sp, 0x10]
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r1, 0xA
- bl GetBgAttribute
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0
- lsls r7, 12
- movs r1, 0xF0
- lsls r1, 8
- adds r0, r1, 0
- ands r7, r0
- adds r1, r7, 0
- orrs r1, r5
- lsls r1, 16
- lsrs r1, 16
- ldr r2, [sp, 0x8]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- ldr r4, [sp, 0xC]
- subs r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- movs r3, 0x1
- mov r8, r3
- str r3, [sp]
- str r3, [sp, 0x4]
- mov r0, r9
- adds r3, r4, 0
- bl FillBgTilemapBufferRect_Palette0
- adds r1, r5, 0x1
- orrs r1, r7
- lsls r1, 16
- lsrs r1, 16
- ldr r0, [sp, 0x8]
- lsls r2, r0, 24
- lsrs r2, 24
- str r2, [sp, 0x14]
- lsls r0, r6, 24
- lsrs r0, 24
- str r0, [sp, 0x18]
- str r0, [sp]
- mov r2, r8
- str r2, [sp, 0x4]
- mov r0, r9
- ldr r2, [sp, 0x14]
- adds r3, r4, 0
- bl FillBgTilemapBufferRect_Palette0
- adds r1, r5, 0x2
- orrs r1, r7
- lsls r1, 16
- lsrs r1, 16
- ldr r3, [sp, 0x8]
- adds r0, r3, r6
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x1C]
- mov r0, r8
- str r0, [sp]
- str r0, [sp, 0x4]
- mov r0, r9
- ldr r2, [sp, 0x1C]
- adds r3, r4, 0
- bl FillBgTilemapBufferRect_Palette0
- adds r1, r5, 0x3
- orrs r1, r7
- lsls r1, 16
- lsrs r1, 16
- ldr r2, [sp, 0xC]
- lsls r6, r2, 24
- lsrs r6, 24
- mov r3, r8
- str r3, [sp]
- ldr r0, [sp, 0x10]
- lsls r4, r0, 24
- lsrs r4, 24
- str r4, [sp, 0x4]
- mov r0, r9
- mov r2, r10
- adds r3, r6, 0
- bl FillBgTilemapBufferRect_Palette0
- adds r1, r5, 0x4
- orrs r1, r7
- lsls r1, 16
- lsrs r1, 16
- mov r2, r8
- str r2, [sp]
- str r4, [sp, 0x4]
- mov r0, r9
- ldr r2, [sp, 0x1C]
- adds r3, r6, 0
- bl FillBgTilemapBufferRect_Palette0
- adds r1, r5, 0x5
- orrs r1, r7
- lsls r1, 16
- lsrs r1, 16
- ldr r3, [sp, 0xC]
- ldr r2, [sp, 0x10]
- adds r0, r3, r2
- lsls r0, 24
- lsrs r4, r0, 24
- mov r3, r8
- str r3, [sp]
- str r3, [sp, 0x4]
- mov r0, r9
- mov r2, r10
- adds r3, r4, 0
- bl FillBgTilemapBufferRect_Palette0
- adds r1, r5, 0x6
- orrs r1, r7
- lsls r1, 16
- lsrs r1, 16
- ldr r0, [sp, 0x18]
- str r0, [sp]
- mov r2, r8
- str r2, [sp, 0x4]
- mov r0, r9
- ldr r2, [sp, 0x14]
- adds r3, r4, 0
- bl FillBgTilemapBufferRect_Palette0
- adds r5, 0x7
- orrs r5, r7
- lsls r5, 16
- lsrs r5, 16
- mov r3, r8
- str r3, [sp]
- str r3, [sp, 0x4]
- mov r0, r9
- adds r1, r5, 0
- ldr r2, [sp, 0x1C]
- adds r3, r4, 0
- bl FillBgTilemapBufferRect_Palette0
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_819645C
-
- thumb_func_start sub_81965D8
-sub_81965D8: @ 81965D8
- push {lr}
- sub sp, 0x10
- str r1, [sp]
- mov r1, sp
- movs r3, 0
- strb r0, [r1, 0x4]
- mov r0, sp
- movs r1, 0x1
- strb r1, [r0, 0x5]
- movs r2, 0x20
- strb r2, [r0, 0x6]
- strb r1, [r0, 0x7]
- strb r2, [r0, 0x8]
- strb r1, [r0, 0x9]
- strb r3, [r0, 0xA]
- strb r3, [r0, 0xB]
- mov r3, sp
- ldrb r2, [r3, 0xC]
- subs r1, 0x11
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3, 0xC]
- mov r2, sp
- movs r3, 0xF
- movs r0, 0xA0
- strb r0, [r2, 0xC]
- ldrb r0, [r2, 0xD]
- ands r1, r0
- movs r0, 0x8
- orrs r1, r0
- strb r1, [r2, 0xD]
- ands r1, r3
- movs r0, 0xE0
- orrs r1, r0
- strb r1, [r2, 0xD]
- ldr r2, =gTextFlags
- ldrb r1, [r2]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- bl GetPlayerTextSpeedDelay
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- movs r2, 0
- bl AddTextPrinter
- add sp, 0x10
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81965D8
-
- thumb_func_start sub_8196648
-sub_8196648: @ 8196648
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2C]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0819666C
- ldr r0, =gTextFlags
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- b _08196678
- .pool
-_0819666C:
- ldr r2, =gTextFlags
- ldrb r1, [r2]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_08196678:
- bl RunTextPrinters
- lsls r0, r4, 24
- lsrs r0, 24
- bl IsTextPrinterActive
- lsls r0, 16
- lsrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8196648
-
- thumb_func_start sub_8196694
-sub_8196694: @ 8196694
- push {lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r2, r1, r0
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _081966FC
- movs r1, 0
- strh r1, [r2]
- ldrh r0, [r2, 0x2]
- adds r0, 0x1
- strh r0, [r2, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _081966C8
- strh r1, [r2, 0x2]
-_081966C8:
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- lsls r1, 4
- ldr r0, =0x00000279
- adds r1, r0
- strh r1, [r2, 0x4]
- ldr r2, =0xfffff000
- adds r0, r2, 0
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x4
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0x1
- str r0, [sp, 0xC]
- movs r0, 0
- movs r2, 0x1
- movs r3, 0xF
- bl WriteSequenceToBgTilemapBuffer
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_081966FC:
- add sp, 0x10
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8196694
-
- thumb_func_start sub_8196710
-sub_8196710: @ 8196710
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- ldr r2, =0x000009ca
- adds r1, r2
- adds r1, r0
- ldrb r1, [r1]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- bx lr
- .pool
- thumb_func_end sub_8196710
-
- thumb_func_start sub_819672C
-sub_819672C: @ 819672C
- push {lr}
- ldr r1, =gRematchTable
- lsls r0, 4
- adds r0, r1
- ldrh r2, [r0, 0xA]
- ldrh r1, [r0, 0xC]
- adds r0, r2, 0
- bl Overworld_GetMapHeaderByGroupAndId
- ldrb r0, [r0, 0x14]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_819672C
-
- thumb_func_start sub_8196748
-sub_8196748: @ 8196748
- push {r4-r6,lr}
- movs r5, 0
- movs r6, 0
- ldr r4, =gRematchTable
-_08196750:
- ldrh r0, [r4]
- bl HasTrainerBeenFought
- lsls r0, 24
- cmp r0, 0
- beq _0819675E
- adds r6, 0x1
-_0819675E:
- adds r4, 0x10
- adds r5, 0x1
- cmp r5, 0x3F
- bls _08196750
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8196748
-
- thumb_func_start sub_8196774
-sub_8196774: @ 8196774
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r4, 0
- movs r6, 0
- ldr r5, =gRematchTable
-_0819677E:
- ldrh r0, [r5]
- bl HasTrainerBeenFought
- lsls r0, 24
- cmp r0, 0
- beq _0819679A
- cmp r6, r7
- bne _08196798
- adds r0, r4, 0
- b _081967A4
- .pool
-_08196798:
- adds r6, 0x1
-_0819679A:
- adds r5, 0x10
- adds r4, 0x1
- cmp r4, 0x4D
- bls _0819677E
- movs r0, 0x4E
-_081967A4:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8196774
-
- thumb_func_start sub_81967AC
-sub_81967AC: @ 81967AC
- push {r4-r7,lr}
- adds r6, r1, 0
- movs r7, 0
- bl sub_8196844
- adds r5, r0, 0
- ldr r0, =gUnknown_0203CD88
- strh r7, [r0]
- adds r0, r5, 0
- bl sub_8196710
- cmp r0, 0
- beq _081967EC
- adds r0, r5, 0
- bl sub_819672C
- ldr r1, =gMapHeader
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x14]
- cmp r0, r1
- bne _081967EC
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8196864
- b _08196830
- .pool
-_081967EC:
- adds r0, r5, 0
- bl sub_8196D74
- cmp r0, 0
- beq _0819680A
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8196890
- adds r4, r0, 0
- movs r7, 0x1
- adds r0, r5, 0
- bl UpdateRematchIfDefeated
- b _08196832
-_0819680A:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- beq _08196828
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_81968BC
- b _08196830
-_08196828:
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8196910
-_08196830:
- adds r4, r0, 0
-_08196832:
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r6, 0
- bl sub_81969E0
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81967AC
-
- thumb_func_start sub_8196844
-sub_8196844: @ 8196844
- push {lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r1, =gUnknown_0860DEB8
-_0819684C:
- ldrh r0, [r1]
- cmp r0, r3
- beq _0819685C
- adds r1, 0x14
- adds r2, 0x1
- b _0819684C
- .pool
-_0819685C:
- adds r0, r2, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8196844
-
- thumb_func_start sub_8196864
-sub_8196864: @ 8196864
- ldr r2, =gUnknown_0860DEB8
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r1, [r1, 0xE]
- movs r2, 0xFF
- lsrs r0, r1, 8
- subs r0, 0x1
- ands r1, r2
- subs r1, 0x1
- ldr r2, =gUnknown_0860EA2C
- lsls r0, 2
- adds r0, r2
- lsls r1, 3
- ldr r0, [r0]
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sub_8196864
-
- thumb_func_start sub_8196890
-sub_8196890: @ 8196890
- ldr r2, =gUnknown_0860DEB8
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r1, [r1, 0x10]
- movs r2, 0xFF
- lsrs r0, r1, 8
- subs r0, 0x1
- ands r1, r2
- subs r1, 0x1
- ldr r2, =gUnknown_0860EA2C
- lsls r0, 2
- adds r0, r2
- lsls r1, 3
- ldr r0, [r0]
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sub_8196890
-
- thumb_func_start sub_81968BC
-sub_81968BC: @ 81968BC
- push {r4,lr}
- adds r4, r0, 0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- ldr r2, =gUnknown_0860DEB8
- lsrs r0, 15
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 2
- adds r0, r1
- adds r2, 0x4
- adds r0, r2
- ldrh r4, [r0]
- cmp r4, 0
- bne _081968EC
- movs r0, 0
- bl SpriteCallbackDummy
-_081968EC:
- movs r1, 0xFF
- lsrs r0, r4, 8
- subs r0, 0x1
- ands r4, r1
- subs r1, r4, 0x1
- ldr r2, =gUnknown_0860EA20
- lsls r0, 2
- adds r0, r2
- lsls r1, 3
- ldr r0, [r0]
- adds r0, r1
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81968BC
-
- thumb_func_start sub_8196910
-sub_8196910: @ 8196910
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081969AC
- movs r5, 0
- movs r4, 0
- lsls r7, r6, 2
-_0819692C:
- lsls r0, r4, 16
- lsrs r0, 16
- mov r1, sp
- bl sub_8196E04
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _08196940
- adds r5, 0x1
-_08196940:
- adds r4, 0x1
- cmp r4, 0x6
- ble _0819692C
- cmp r5, 0
- beq _081969AC
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- bl __modsi3
- adds r5, r0, 0
- movs r4, 0
- b _08196962
-_0819695E:
- subs r5, 0x1
-_08196960:
- adds r4, 0x1
-_08196962:
- cmp r4, 0x6
- bgt _08196980
- lsls r0, r4, 16
- lsrs r0, 16
- mov r1, sp
- bl sub_8196E04
- ldr r1, =gUnknown_0203CD88
- strh r0, [r1, 0x2]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _08196960
- cmp r5, 0
- bne _0819695E
-_08196980:
- ldr r0, =gUnknown_0203CD88
- strh r4, [r0]
- ldr r1, =gUnknown_0860DEB8
- adds r0, r7, r6
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0xC]
- subs r2, r0, 0x1
- ldr r1, =gUnknown_0860EA34
- ldr r0, [sp]
- lsls r0, 2
- adds r0, r1
- lsls r1, r2, 3
- ldr r0, [r0]
- adds r0, r1
- b _081969D0
- .pool
-_081969AC:
- ldr r1, =gUnknown_0860DEB8
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 2
- adds r0, r1
- ldrh r2, [r0, 0xA]
- lsrs r1, r2, 8
- subs r1, 0x1
- str r1, [sp]
- movs r0, 0xFF
- ands r0, r2
- subs r2, r0, 0x1
- ldr r0, =gUnknown_0860EA34
- lsls r1, 2
- adds r1, r0
- lsls r2, 3
- ldr r0, [r1]
- adds r0, r2
-_081969D0:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8196910
-
- thumb_func_start sub_81969E0
-sub_81969E0: @ 81969E0
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- adds r1, r4, 0x4
- bl sub_81969FC
- ldr r1, [r4]
- adds r0, r5, 0
- bl StringExpandPlaceholders
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81969E0
-
- thumb_func_start sub_81969FC
-sub_81969FC: @ 81969FC
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r6, r1, 0
- movs r4, 0
- ldr r5, =gUnknown_0860EFA0
-_08196A06:
- adds r1, r6, r4
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0
- blt _08196A1A
- adds r1, r0, 0
- ldr r2, [r5]
- adds r0, r7, 0
- bl sub_8196A2C
-_08196A1A:
- adds r5, 0x4
- adds r4, 0x1
- cmp r4, 0x2
- ble _08196A06
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81969FC
-
- thumb_func_start sub_8196A2C
-sub_8196A2C: @ 8196A2C
- push {lr}
- ldr r3, =gUnknown_0860EFAC
- lsls r1, 2
- adds r1, r3
- ldr r3, [r1]
- adds r1, r2, 0
- bl _call_via_r3
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8196A2C
-
- thumb_func_start sub_8196A44
-sub_8196A44: @ 8196A44
- push {r4-r6,lr}
- adds r5, r1, 0
- ldr r2, =gUnknown_0860DEB8
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r4, [r1]
- movs r2, 0
- ldr r3, =gUnknown_0860EFC4
- adds r6, r3, 0
-_08196A5A:
- lsls r1, r2, 3
- ldrh r0, [r3]
- cmp r0, r4
- bne _08196A78
- adds r0, r6, 0x4
- adds r0, r1, r0
- ldr r1, [r0]
- adds r0, r5, 0
- bl StringCopy
- b _08196A90
- .pool
-_08196A78:
- adds r3, 0x8
- adds r2, 0x1
- cmp r2, 0x5
- bls _08196A5A
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- ldr r0, =gTrainers + 0x4 @ name offset
- adds r1, r0
- adds r0, r5, 0
- bl StringCopy
-_08196A90:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8196A44
-
- thumb_func_start sub_8196A9C
-sub_8196A9C: @ 8196A9C
- push {r4,lr}
- adds r4, r1, 0
- bl sub_819672C
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0
- bl GetMapName
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8196A9C
-
- thumb_func_start sub_8196AB8
-sub_8196AB8: @ 8196AB8
- push {lr}
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x13
- bgt _08196AD4
- movs r0, 0
- b _08196B4A
-_08196AD4:
- adds r0, r1, 0
- subs r0, 0x14
- cmp r0, 0x13
- bhi _08196AE0
- movs r0, 0x1
- b _08196B4A
-_08196AE0:
- adds r0, r1, 0
- subs r0, 0x28
- cmp r0, 0x9
- bhi _08196AEC
- movs r0, 0x2
- b _08196B4A
-_08196AEC:
- adds r0, r1, 0
- subs r0, 0x32
- cmp r0, 0x9
- bhi _08196AF8
- movs r0, 0x3
- b _08196B4A
-_08196AF8:
- adds r0, r1, 0
- subs r0, 0x3C
- cmp r0, 0x9
- bhi _08196B04
- movs r0, 0x4
- b _08196B4A
-_08196B04:
- adds r0, r1, 0
- subs r0, 0x46
- cmp r0, 0x9
- bhi _08196B10
- movs r0, 0x5
- b _08196B4A
-_08196B10:
- adds r0, r1, 0
- subs r0, 0x50
- cmp r0, 0x4
- bhi _08196B1C
- movs r0, 0x6
- b _08196B4A
-_08196B1C:
- adds r0, r1, 0
- subs r0, 0x55
- cmp r0, 0x4
- bhi _08196B28
- movs r0, 0x7
- b _08196B4A
-_08196B28:
- adds r0, r1, 0
- subs r0, 0x5A
- cmp r0, 0x3
- bhi _08196B34
- movs r0, 0x8
- b _08196B4A
-_08196B34:
- adds r0, r1, 0
- subs r0, 0x5E
- cmp r0, 0x3
- bhi _08196B40
- movs r0, 0x9
- b _08196B4A
-_08196B40:
- cmp r1, 0x62
- beq _08196B48
- movs r0, 0xB
- b _08196B4A
-_08196B48:
- movs r0, 0xA
-_08196B4A:
- pop {r1}
- bx r1
- thumb_func_end sub_8196AB8
-
- thumb_func_start sub_8196B50
-sub_8196B50: @ 8196B50
- push {lr}
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3B
- bgt _08196B6C
- movs r0, 0
- b _08196B92
-_08196B6C:
- adds r0, r1, 0
- subs r0, 0x3C
- cmp r0, 0x1D
- bhi _08196B78
- movs r0, 0x1
- b _08196B92
-_08196B78:
- adds r0, r1, 0
- subs r0, 0x5A
- cmp r0, 0x4
- bhi _08196B84
- movs r0, 0x2
- b _08196B92
-_08196B84:
- adds r0, r1, 0
- subs r0, 0x5F
- cmp r0, 0x3
- bls _08196B90
- movs r0, 0x4
- b _08196B92
-_08196B90:
- movs r0, 0x3
-_08196B92:
- pop {r1}
- bx r1
- thumb_func_end sub_8196B50
-
- thumb_func_start sub_8196B98
-sub_8196B98: @ 8196B98
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r2, r0, 0
- mov r8, r1
- movs r3, 0
- ldr r0, =gWildMonHeaders
- ldrb r1, [r0]
- adds r7, r0, 0
- cmp r1, 0xFF
- beq _08196C5C
- ldr r1, =gRematchTable
- lsls r0, r2, 4
- adds r2, r0, r1
- ldrh r4, [r2, 0xA]
- adds r1, r7, 0
-_08196BBA:
- ldrb r0, [r1]
- cmp r0, r4
- bne _08196BC8
- ldrb r0, [r1, 0x1]
- ldrh r5, [r2, 0xC]
- cmp r0, r5
- beq _08196BD2
-_08196BC8:
- adds r1, 0x14
- adds r3, 0x1
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _08196BBA
-_08196BD2:
- adds r1, r7, 0
- lsls r0, r3, 2
- adds r0, r3
- lsls r5, r0, 2
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _08196C5C
- movs r6, 0
- adds r0, r1, 0x4
- adds r0, r5, r0
- ldr r4, [r0]
- cmp r4, 0
- beq _08196C02
- bl sub_8196AB8
- lsls r0, 24
- mov r2, sp
- ldr r1, [r4, 0x4]
- lsrs r0, 22
- adds r0, r1
- ldrh r0, [r0, 0x2]
- strh r0, [r2]
- movs r6, 0x1
-_08196C02:
- adds r0, r7, 0
- adds r0, 0x8
- adds r0, r5, r0
- ldr r4, [r0]
- cmp r4, 0
- beq _08196C26
- bl sub_8196B50
- lsls r0, 24
- lsls r1, r6, 1
- mov r3, sp
- adds r2, r3, r1
- ldr r1, [r4, 0x4]
- lsrs r0, 22
- adds r0, r1
- ldrh r0, [r0, 0x2]
- strh r0, [r2]
- adds r6, 0x1
-_08196C26:
- cmp r6, 0
- beq _08196C5C
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl __modsi3
- lsls r0, 1
- add r0, sp
- ldrh r1, [r0]
- movs r0, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- mov r0, r8
- bl StringCopy
- b _08196C62
- .pool
-_08196C5C:
- movs r0, 0xFF
- mov r5, r8
- strb r0, [r5]
-_08196C62:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8196B98
-
- thumb_func_start sub_8196C70
-sub_8196C70: @ 8196C70
- push {r4-r7,lr}
- adds r7, r1, 0
- ldr r2, =gUnknown_0860DEB8
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1]
- bl GetLastBeatenRematchTrainerId
- lsls r0, 16
- lsrs r0, 16
- ldr r5, =gTrainers
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r0, r5, 0
- adds r0, 0x24
- adds r0, r4, r0
- ldr r6, [r0]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r4, r5
- adds r1, r4, 0
- adds r1, 0x20
- ldrb r1, [r1]
- bl __modsi3
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r4]
- cmp r1, 0x1
- beq _08196CD4
- cmp r1, 0x1
- ble _08196CC2
- cmp r1, 0x2
- beq _08196CD0
- cmp r1, 0x3
- beq _08196CD4
-_08196CC2:
- lsls r0, 3
- b _08196CD6
- .pool
-_08196CD0:
- lsls r0, 3
- b _08196CD6
-_08196CD4:
- lsls r0, 4
-_08196CD6:
- adds r0, r6
- ldrh r1, [r0, 0x4]
- movs r0, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- adds r0, r7, 0
- bl StringCopy
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8196C70
-
- thumb_func_start sub_8196CF4
-sub_8196CF4: @ 8196CF4
- push {lr}
- adds r0, r1, 0
- ldr r2, =gUnknown_0860EFF4
- ldr r1, =gUnknown_0203CD88
- ldrh r1, [r1]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8196CF4
-
- thumb_func_start sub_8196D14
-sub_8196D14: @ 8196D14
- push {r4-r6,lr}
- adds r5, r1, 0
- movs r4, 0
- ldr r0, =gUnknown_0203CD88
- ldrh r1, [r0, 0x2]
- adds r6, r0, 0
- cmp r1, 0
- beq _08196D34
-_08196D24:
- adds r0, r1, 0
- movs r1, 0xA
- bl __divsi3
- adds r1, r0, 0
- adds r4, 0x1
- cmp r1, 0
- bne _08196D24
-_08196D34:
- ldrh r1, [r6, 0x2]
- lsls r3, r4, 24
- lsrs r3, 24
- adds r0, r5, 0
- movs r2, 0
- bl ConvertIntToDecimalStringN
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8196D14
-
- thumb_func_start sub_8196D4C
-sub_8196D4C: @ 8196D4C
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gUnknown_0860F010
- b _08196D5C
- .pool
-_08196D58:
- adds r5, 0x2
- adds r4, 0x1
-_08196D5C:
- cmp r4, 0x7
- bhi _08196D6C
- ldrh r0, [r5]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _08196D58
-_08196D6C:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8196D4C
-
- thumb_func_start sub_8196D74
-sub_8196D74: @ 8196D74
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- bl sub_8196D4C
- cmp r0, 0x4
- ble _08196DF4
- bl RtcGetLocalDayCount
- adds r4, r0, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xA
- bl GetTrainerId
- adds r6, r0, 0
- ldr r0, =0x0000ffff
- ands r6, r0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e6a
- adds r0, r1
- ldrh r5, [r0]
- bl sub_8196748
- mov r9, r0
- movs r0, 0xD
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- movs r1, 0xA
- bl __divsi3
- mov r8, r0
- movs r0, 0x9
- bl GetGameStat
- eors r4, r5
- eors r5, r0
- adds r4, r5
- eors r4, r6
- adds r0, r4, 0
- mov r1, r8
- bl __modsi3
- cmp r0, r9
- bge _08196DF4
- bl sub_8196774
- cmp r0, r7
- bne _08196DF4
- movs r0, 0x1
- b _08196DF6
- .pool
-_08196DF4:
- movs r0, 0
-_08196DF6:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8196D74
-
- thumb_func_start sub_8196E04
-sub_8196E04: @ 8196E04
- push {r4-r6,lr}
- adds r5, r1, 0
- lsls r0, 16
- lsrs r0, 16
- movs r4, 0
- cmp r0, 0x6
- bls _08196E14
- b _08196F7E
-_08196E14:
- lsls r0, 2
- ldr r1, =_08196E24
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08196E24:
- .4byte _08196E9C
- .4byte _08196E40
- .4byte _08196ED0
- .4byte _08196F38
- .4byte _08196E74
- .4byte _08196F04
- .4byte _08196F60
-_08196E40:
- movs r3, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000d14
- adds r0, r1
-_08196E4A:
- lsls r1, r3, 2
- adds r3, 0x1
- adds r1, r0
- movs r2, 0x1
-_08196E52:
- ldrh r6, [r1]
- cmp r4, r6
- bcs _08196E5A
- ldrh r4, [r1]
-_08196E5A:
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _08196E52
- cmp r3, 0x1
- ble _08196E4A
- movs r0, 0x3
- b _08196F7C
- .pool
-_08196E74:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000e08
- adds r0, r1
- movs r3, 0x1
-_08196E7E:
- ldrh r6, [r0]
- cmp r4, r6
- bcs _08196E86
- ldrh r4, [r0]
-_08196E86:
- adds r0, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _08196E7E
- movs r0, 0x4
- b _08196F7C
- .pool
-_08196E9C:
- movs r3, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xCF
- lsls r1, 4
- adds r0, r1
-_08196EA8:
- lsls r1, r3, 2
- adds r3, 0x1
- adds r1, r0
- movs r2, 0x1
-_08196EB0:
- ldrh r6, [r1]
- cmp r4, r6
- bcs _08196EB8
- ldrh r4, [r1]
-_08196EB8:
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _08196EB0
- movs r2, 0x2
- cmp r3, 0x3
- ble _08196EA8
- str r2, [r5]
- b _08196F7E
- .pool
-_08196ED0:
- movs r3, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xDD
- lsls r1, 4
- adds r0, r1
-_08196EDC:
- lsls r1, r3, 2
- adds r3, 0x1
- adds r1, r0
- movs r2, 0x1
-_08196EE4:
- ldrh r6, [r1]
- cmp r4, r6
- bcs _08196EEC
- ldrh r4, [r1]
-_08196EEC:
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _08196EE4
- movs r2, 0x2
- cmp r3, 0x1
- ble _08196EDC
- str r2, [r5]
- b _08196F7E
- .pool
-_08196F04:
- movs r3, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000dea
- adds r0, r1
-_08196F0E:
- lsls r1, r3, 2
- adds r3, 0x1
- adds r1, r0
- movs r2, 0x1
-_08196F16:
- ldrh r6, [r1]
- cmp r4, r6
- bcs _08196F1E
- ldrh r4, [r1]
-_08196F1E:
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _08196F16
- movs r2, 0x2
- cmp r3, 0x1
- ble _08196F0E
- str r2, [r5]
- b _08196F7E
- .pool
-_08196F38:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000dde
- adds r0, r1
- movs r3, 0x1
-_08196F42:
- ldrh r6, [r0]
- cmp r4, r6
- bcs _08196F4A
- ldrh r4, [r0]
-_08196F4A:
- adds r0, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _08196F42
- movs r3, 0x2
- str r3, [r5]
- b _08196F7E
- .pool
-_08196F60:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000e1e
- adds r0, r1
- movs r3, 0x1
-_08196F6A:
- ldrh r6, [r0]
- cmp r4, r6
- bcs _08196F72
- ldrh r4, [r0]
-_08196F72:
- adds r0, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _08196F6A
- movs r0, 0x5
-_08196F7C:
- str r0, [r5]
-_08196F7E:
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8196E04
-
- thumb_func_start sub_8196F90
-sub_8196F90: @ 8196F90
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x9
- bhi _08196F9E
- movs r0, 0
- b _0819707A
-_08196F9E:
- cmp r4, 0x13
- bhi _08196FA6
- movs r0, 0x1
- b _0819707A
-_08196FA6:
- cmp r4, 0x1D
- bhi _08196FAE
- movs r0, 0x2
- b _0819707A
-_08196FAE:
- cmp r4, 0x27
- bhi _08196FB6
- movs r0, 0x3
- b _0819707A
-_08196FB6:
- cmp r4, 0x31
- bhi _08196FBE
- movs r0, 0x4
- b _0819707A
-_08196FBE:
- cmp r4, 0x3B
- bhi _08196FC6
- movs r0, 0x5
- b _0819707A
-_08196FC6:
- cmp r4, 0x45
- bhi _08196FCE
- movs r0, 0x6
- b _0819707A
-_08196FCE:
- cmp r4, 0x4F
- bhi _08196FD6
- movs r0, 0x7
- b _0819707A
-_08196FD6:
- cmp r4, 0x59
- bhi _08196FDE
- movs r0, 0x8
- b _0819707A
-_08196FDE:
- cmp r4, 0x63
- bhi _08196FE6
- movs r0, 0x9
- b _0819707A
-_08196FE6:
- cmp r4, 0x6D
- bhi _08196FEE
- movs r0, 0xA
- b _0819707A
-_08196FEE:
- cmp r4, 0x77
- bhi _08196FF6
- movs r0, 0xB
- b _0819707A
-_08196FF6:
- cmp r4, 0x81
- bhi _08196FFE
- movs r0, 0xC
- b _0819707A
-_08196FFE:
- cmp r4, 0x8B
- bhi _08197006
- movs r0, 0xD
- b _0819707A
-_08197006:
- cmp r4, 0x95
- bhi _0819700E
- movs r0, 0xE
- b _0819707A
-_0819700E:
- cmp r4, 0x9F
- bhi _08197016
- movs r0, 0xF
- b _0819707A
-_08197016:
- cmp r4, 0xA9
- bhi _0819701E
- movs r0, 0x10
- b _0819707A
-_0819701E:
- cmp r4, 0xB3
- bhi _08197026
- movs r0, 0x11
- b _0819707A
-_08197026:
- cmp r4, 0xBD
- bhi _0819702E
- movs r0, 0x12
- b _0819707A
-_0819702E:
- cmp r4, 0xC7
- bls _08197078
- movs r0, 0xCD
- lsls r0, 1
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _08197050
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_08197050:
- ldr r0, =0x00000199
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _0819706C
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_0819706C:
- cmp r4, 0xC7
- bls _08197078
- movs r0, 0x14
- b _0819707A
- .pool
-_08197078:
- movs r0, 0x13
-_0819707A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8196F90
-
- thumb_func_start sub_8197080
-sub_8197080: @ 8197080
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r0
- movs r0, 0xFA
- lsls r0, 2
- bl Alloc
- adds r7, r0, 0
- cmp r7, 0
- bne _081970A2
- movs r0, 0xFF
- mov r1, r8
- strb r0, [r1]
- b _0819715C
-_081970A2:
- movs r0, 0
- bl GetHoennPokedexCount
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x1
- bl GetHoennPokedexCount
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, =gStringVar1
- mov r10, r0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r1, =gStringVar2
- mov r9, r1
- mov r0, r9
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r0, r6, 0
- bl sub_8196F90
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gUnknown_082A5C9C
- adds r0, r7, 0
- bl StringCopy
- adds r5, r0, 0
- movs r6, 0xFB
- strb r6, [r5]
- adds r5, 0x1
- ldr r1, =gUnknown_082A5D2C
- adds r0, r5, 0
- bl StringCopy
- adds r5, r0, 0
- strb r6, [r5]
- adds r5, 0x1
- ldr r0, =gUnknown_0860F020
- lsls r4, 2
- adds r4, r0
- ldr r1, [r4]
- adds r0, r5, 0
- bl StringCopy
- mov r0, r8
- adds r1, r7, 0
- bl StringExpandPlaceholders
- adds r5, r0, 0
- bl IsNationalPokedexEnabled
- cmp r0, 0
- beq _08197156
- strb r6, [r5]
- adds r5, 0x1
- movs r0, 0
- bl GetNationalPokedexCount
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x1
- bl GetNationalPokedexCount
- lsls r0, 16
- lsrs r6, r0, 16
- mov r0, r10
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- mov r0, r9
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r1, =gUnknown_082A633D
- adds r0, r5, 0
- bl StringExpandPlaceholders
-_08197156:
- adds r0, r7, 0
- bl Free
-_0819715C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
-
- thumb_func_end sub_8197080
- thumb_func_start sub_8197184
-sub_8197184: @ 8197184
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl GetWindowAttribute
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0860EA6C
- movs r2, 0x80
- lsls r2, 1
- lsls r4, 16
- lsrs r4, 16
- adds r3, r4, 0
- bl LoadBgTiles
- ldr r0, =gUnknown_0860EA4C
- lsls r5, 20
- lsrs r5, 16
- adds r1, r5, 0
- movs r2, 0x20
- bl LoadPalette
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8197184
-
- thumb_func_start sub_81971C4
-sub_81971C4: @ 81971C4
- push {lr}
- bl sub_819645C
- pop {r0}
- bx r0
- thumb_func_end sub_81971C4
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s
index edaafc838..d73293648 100644
--- a/asm/contest_link_80F57C4.s
+++ b/asm/contest_link_80F57C4.s
@@ -5,3144 +5,6 @@
.text
- thumb_func_start sub_80F57C4
-sub_80F57C4: @ 80F57C4
- push {r4,lr}
- movs r0, 0
- movs r1, 0x40
- bl SetGpuReg
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0858D888
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r4, 0
-_080F57E0:
- lsls r0, r4, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203A034
- ldr r1, [r1]
- lsls r2, r4, 2
- adds r1, 0xC
- adds r1, r2
- ldr r1, [r1]
- bl SetBgTilemapBuffer
- adds r4, 0x1
- cmp r4, 0x3
- ble _080F57E0
- ldr r0, =gUnknown_0858D898
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r0, 0x4C
- movs r1, 0
- bl SetGpuReg
- ldr r1, =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- ldr r1, =0x00003f2e
- movs r0, 0x4A
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x42
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x46
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- movs r1, 0xFF
- lsls r1, 8
- movs r0, 0
- bl SetGpuRegBits
- ldr r0, =gBattle_BG0_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG0_Y
- strh r1, [r0]
- ldr r0, =gBattle_BG1_X
- 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]
- ldr r0, =gBattle_BG3_X
- strh r1, [r0]
- ldr r0, =gBattle_BG3_Y
- strh r1, [r0]
- ldr r0, =gBattle_WIN0H
- strh r1, [r0]
- ldr r0, =gBattle_WIN0V
- strh r1, [r0]
- ldr r0, =gBattle_WIN1H
- strh r1, [r0]
- ldr r0, =gBattle_WIN1V
- strh r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F57C4
-
- thumb_func_start sub_80F591C
-sub_80F591C: @ 80F591C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r0, =gUnknown_08C19588
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
- ldr r1, =gUnknown_08C1A12C
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r1, =gUnknown_08C1A000
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r1, =gUnknown_08C19EEC
- movs r0, 0
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- bl sub_80F71C8
- ldr r0, =gUnknown_08C1A2B4
- movs r2, 0x80
- lsls r2, 2
- movs r1, 0
- bl LoadCompressedPalette
- ldr r0, =gUnknown_0858D6B0
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- movs r7, 0
- movs r0, 0x1
- mov r8, r0
-_080F5976:
- lsls r5, r7, 24
- lsrs r5, 24
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80F7310
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80F7364
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- movs r6, 0
- lsls r1, r7, 1
- adds r2, r7, 0x1
- str r2, [sp, 0xC]
- lsls r4, 24
- asrs r4, 24
- mov r10, r4
- adds r1, r7
- adds r0, r1, 0x6
- lsls r0, 24
- mov r9, r0
- adds r1, 0x5
- lsls r7, r1, 24
-_080F59B0:
- ldr r1, =0x000060b2
- cmp r6, r10
- bge _080F59B8
- adds r1, 0x2
-_080F59B8:
- ldr r4, [sp, 0x8]
- lsls r0, r4, 24
- asrs r0, 24
- adds r2, r0, 0
- cmp r0, 0
- bge _080F59C6
- negs r2, r0
-_080F59C6:
- cmp r6, r2
- bge _080F59F4
- ldr r5, =0x000060a4
- cmp r0, 0
- bge _080F59F6
- adds r5, 0x2
- b _080F59F6
- .pool
-_080F59F4:
- ldr r5, =0x000060a2
-_080F59F6:
- adds r4, r6, 0
- adds r4, 0x13
- lsls r4, 24
- lsrs r4, 24
- mov r0, r8
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x1
- adds r2, r4, 0
- lsrs r3, r7, 24
- bl FillBgTilemapBufferRect_Palette0
- mov r2, r8
- str r2, [sp]
- str r2, [sp, 0x4]
- movs r0, 0x1
- adds r1, r5, 0
- adds r2, r4, 0
- mov r4, r9
- lsrs r3, r4, 24
- bl FillBgTilemapBufferRect_Palette0
- adds r6, 0x1
- cmp r6, 0x9
- ble _080F59B0
- ldr r7, [sp, 0xC]
- cmp r7, 0x3
- ble _080F5976
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- 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_80F591C
-
- thumb_func_start sub_80F5A74
-sub_80F5A74: @ 80F5A74
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r1, r5, 6
- ldr r0, =gContestMons
- adds r7, r1, r0
- ldr r6, =gDisplayedStringBattle
- ldr r0, =gContestPlayerMonIndex
- ldrb r0, [r0]
- cmp r5, r0
- bne _080F5A96
- ldr r1, =gText_ColorDarkGrey
- adds r0, r6, 0
- bl StringCopy
- adds r6, r0, 0
-_080F5A96:
- adds r1, r7, 0x2
- adds r0, r6, 0
- bl StringCopy
- ldr r4, =gDisplayedStringBattle
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_80F7ED0
- ldr r1, =gText_Slash
- adds r0, r6, 0
- bl StringCopy
- adds r1, r7, 0
- adds r1, 0xD
- adds r0, r6, 0
- bl StringAppend
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x32
- bl sub_80F7ED0
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F5A74
-
- thumb_func_start sub_80F5AE0
-sub_80F5AE0: @ 80F5AE0
- push {r4,lr}
- movs r4, 0
-_080F5AE4:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80F5A74
- adds r4, 0x1
- cmp r4, 0x3
- ble _080F5AE4
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80F5AE0
-
- thumb_func_start sub_80F5B00
-sub_80F5B00: @ 80F5B00
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r5, =gPaletteFade
- ldrb r0, [r5, 0x8]
- movs r6, 0x80
- orrs r0, r6
- strb r0, [r5, 0x8]
- movs r0, 0
- bl SetVBlankCallback
- bl sub_80F7DF4
- bl sub_80F57C4
- bl ScanlineEffect_Clear
- bl ResetPaletteFade
- bl ResetSpriteData
- bl ResetTasks
- bl FreeAllSpritePalettes
- bl sub_80F591C
- bl sub_80F6A9C
- movs r0, 0
- movs r1, 0x1
- bl sub_80F6A64
- bl sub_80F5AE0
- ldr r4, =gUnknown_0203A034
- ldr r0, [r4]
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0x18
- bl memset
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- movs r1, 0
- movs r2, 0x50
- bl memset
- bl sub_80F6DC0
- bl sub_80F6AE8
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldrb r1, [r5, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r5, 0x8]
- ldr r0, =sub_80F5CE4
- movs r1, 0x5
- bl CreateTask
- ldr r1, [r4]
- ldr r1, [r1]
- strb r0, [r1, 0x2]
- ldr r0, =sub_80F5C00
- bl SetMainCallback2
- ldr r1, =gBattle_WIN1H
- movs r0, 0xF0
- strh r0, [r1]
- ldr r1, =gBattle_WIN1V
- ldr r2, =0x000080a0
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, =sub_80F68B4
- movs r1, 0x14
- bl CreateTask
- bl sub_80F7880
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080F5BE4
- ldrb r0, [r5, 0x8]
- orrs r0, r6
- strb r0, [r5, 0x8]
- b _080F5BEC
- .pool
-_080F5BE4:
- movs r0, 0xDF
- lsls r0, 1
- bl PlayBGM
-_080F5BEC:
- ldr r0, =sub_80F5C24
- bl SetVBlankCallback
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F5B00
-
- thumb_func_start sub_80F5C00
-sub_80F5C00: @ 80F5C00
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTasks
- bl UpdatePaletteFade
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- pop {r0}
- bx r0
- thumb_func_end sub_80F5C00
-
- thumb_func_start sub_80F5C24
-sub_80F5C24: @ 80F5C24
- push {lr}
- ldr r0, =gBattle_BG0_X
- ldrh r1, [r0]
- movs r0, 0x10
- bl SetGpuReg
- ldr r0, =gBattle_BG0_Y
- ldrh r1, [r0]
- movs r0, 0x12
- bl SetGpuReg
- ldr r0, =gBattle_BG1_X
- ldrh r1, [r0]
- movs r0, 0x14
- bl SetGpuReg
- ldr r0, =gBattle_BG1_Y
- ldrh r1, [r0]
- movs r0, 0x16
- bl SetGpuReg
- ldr r0, =gBattle_BG2_X
- ldrh r1, [r0]
- movs r0, 0x18
- bl SetGpuReg
- ldr r0, =gBattle_BG2_Y
- ldrh r1, [r0]
- movs r0, 0x1A
- bl SetGpuReg
- ldr r0, =gBattle_BG3_X
- ldrh r1, [r0]
- movs r0, 0x1C
- bl SetGpuReg
- ldr r0, =gBattle_BG3_Y
- ldrh r1, [r0]
- movs r0, 0x1E
- bl SetGpuReg
- ldr r0, =gBattle_WIN0H
- ldrh r1, [r0]
- movs r0, 0x40
- bl SetGpuReg
- ldr r0, =gBattle_WIN0V
- ldrh r1, [r0]
- movs r0, 0x44
- bl SetGpuReg
- ldr r0, =gBattle_WIN1H
- ldrh r1, [r0]
- movs r0, 0x42
- bl SetGpuReg
- ldr r0, =gBattle_WIN1V
- ldrh r1, [r0]
- movs r0, 0x46
- bl SetGpuReg
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- bl ScanlineEffect_InitHBlankDmaTransfer
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F5C24
-
- thumb_func_start sub_80F5CE4
-sub_80F5CE4: @ 80F5CE4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r3, =gIsLinkContest
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080F5CF8
- b _080F5E2E
-_080F5CF8:
- ldr r2, =gTasks
- lsls r1, r6, 2
- adds r0, r1, r6
- lsls r0, 3
- adds r4, r0, r2
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- adds r7, r1, 0
- cmp r0, 0x1
- beq _080F5DE0
- cmp r0, 0x1
- bgt _080F5D20
- cmp r0, 0
- beq _080F5D2A
- b _080F5E2E
- .pool
-_080F5D20:
- cmp r0, 0x2
- beq _080F5DF4
- cmp r0, 0x3
- beq _080F5E0A
- b _080F5E2E
-_080F5D2A:
- bl sub_80DBED4
- ldr r1, =gContestFinalStandings
- ldr r0, =gContestPlayerMonIndex
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F5D58
- movs r0, 0x23
- bl IncrementGameStat
- ldr r1, =gSpecialVar_0x8005
- movs r0, 0x8
- strh r0, [r1]
- bl InterviewBefore
- ldr r0, =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _080F5D58
- bl InterviewAfter
-_080F5D58:
- movs r0, 0x2
- bl sub_813BADC
- ldr r0, =gSpecialVar_ContestRank
- ldrb r0, [r0]
- bl sub_80DEDA8
- movs r0, 0xFE
- bl sub_80DEDA8
- ldr r1, =gUnknown_02039F5C
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0xFE
- movs r1, 0
- bl sub_80DEFA8
- ldr r1, =gUnknown_02039F5D
- strb r0, [r1]
- ldr r5, =0x00004086
- adds r0, r5, 0
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0
- bl VarSet
- bl SetContinueGameWarpStatusToDynamicWarp
- movs r0, 0x1
- bl TrySavingData
- bl ClearContinueGameWarpStatus2
- adds r0, r5, 0
- adds r1, r4, 0
- bl VarSet
- ldr r0, =gTasks
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080F5E2E
- .pool
-_080F5DE0:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldrb r1, [r3]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080F5E2E
- movs r0, 0x64
- b _080F5E2C
-_080F5DF4:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080F5EBA
- bl sub_800ADF8
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080F5EBA
-_080F5E0A:
- bl IsLinkTaskFinished
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080F5EBA
- movs r0, 0xDF
- lsls r0, 1
- bl PlayBGM
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
-_080F5E2C:
- strh r0, [r4, 0x8]
-_080F5E2E:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080F5EBA
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- strh r2, [r4, 0x8]
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080F5E78
- ldr r0, =gText_CommunicationStandby
- bl sub_80F707C
- ldr r0, =sub_80F5ED8
- b _080F5EB8
- .pool
-_080F5E78:
- movs r0, 0x24
- bl IncrementGameStat
- ldr r1, =gContestFinalStandings
- ldr r0, =gContestPlayerMonIndex
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F5E92
- movs r0, 0x25
- bl IncrementGameStat
-_080F5E92:
- ldr r0, =gSpecialVar_ContestRank
- ldrb r0, [r0]
- bl sub_80DEDA8
- movs r0, 0xFE
- bl sub_80DEDA8
- ldr r0, =gUnknown_02039F5C
- strb r5, [r0]
- movs r0, 0xFE
- movs r1, 0
- bl sub_80DEFA8
- ldr r1, =gUnknown_02039F5D
- strb r0, [r1]
- movs r0, 0x2
- bl sub_813BADC
- ldr r0, =sub_80F5F74
-_080F5EB8:
- str r0, [r4]
-_080F5EBA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F5CE4
-
- thumb_func_start sub_80F5ED8
-sub_80F5ED8: @ 80F5ED8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F5EFC
- ldr r0, =sub_80F5F14
- movs r1, 0
- bl CreateTask
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =TaskDummy
- str r1, [r0]
-_080F5EFC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F5ED8
-
- thumb_func_start sub_80F5F14
-sub_80F5F14: @ 80F5F14
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =sub_80FC998
- ldr r2, =sub_80F5F30
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F5F14
-
- thumb_func_start sub_80F5F30
-sub_80F5F30: @ 80F5F30
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080F5F60
- adds r0, r4, 0
- bl DestroyTask
- ldr r2, =gTasks
- ldr r0, =gUnknown_0203A034
- ldr r0, [r0]
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, =sub_80F5F74
- str r1, [r0]
- bl sub_80F7144
-_080F5F60:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F5F30
-
- thumb_func_start sub_80F5F74
-sub_80F5F74: @ 80F5F74
- 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 r1, [r4, 0x8]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080F5FC4
- ldr r0, =sub_80F68F0
- movs r1, 0x14
- bl CreateTask
- ldr r0, =gText_AnnouncingResults
- ldr r1, =gUnknown_0203A034
- ldr r1, [r1]
- ldr r1, [r1]
- ldrb r1, [r1]
- bl sub_80F6B78
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x88
- lsls r3, 3
- movs r1, 0x90
- movs r2, 0x78
- b _080F6016
- .pool
-_080F5FC4:
- cmp r0, 0x1
- bne _080F5FDC
- ldr r0, =gUnknown_0203A034
- ldr r0, [r0]
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _080F6048
- b _080F5FF0
- .pool
-_080F5FDC:
- cmp r0, 0x2
- bne _080F5FF8
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x15
- bne _080F6048
- movs r0, 0
-_080F5FF0:
- strh r0, [r4, 0xA]
- adds r0, r1, 0x1
- strh r0, [r4, 0x8]
- b _080F6048
-_080F5FF8:
- cmp r0, 0x3
- bne _080F6030
- ldr r0, =gText_PreliminaryResults
- ldr r1, =gUnknown_0203A034
- ldr r1, [r1]
- ldr r1, [r1]
- ldrb r1, [r1]
- bl sub_80F6B78
- lsls r0, 16
- asrs r0, 16
- ldr r2, =0x0000ffff
- movs r3, 0x88
- lsls r3, 3
- movs r1, 0x90
-_080F6016:
- bl sub_80F6E9C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080F6048
- .pool
-_080F6030:
- cmp r0, 0x4
- bne _080F6048
- ldr r0, =gUnknown_0203A034
- ldr r0, [r0]
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0x2
- bne _080F6048
- movs r0, 0
- strh r0, [r4, 0x8]
- ldr r0, =sub_80F6058
- str r0, [r4]
-_080F6048:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F5F74
-
- thumb_func_start sub_80F6058
-sub_80F6058: @ 80F6058
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080F60C0
- cmp r0, 0x1
- bgt _080F6080
- cmp r0, 0
- beq _080F6086
- b _080F60E6
- .pool
-_080F6080:
- cmp r0, 0x2
- beq _080F60D4
- b _080F60E6
-_080F6086:
- ldr r5, =gUnknown_0203A034
- ldr r0, [r5]
- ldr r0, [r0]
- ldrb r0, [r0, 0xA]
- cmp r0, 0
- bne _080F60E6
- ldrh r1, [r4, 0xC]
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_80F7A80
- ldr r0, [r5]
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _080F60B8
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _080F60E6
- .pool
-_080F60B8:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080F60E6
-_080F60C0:
- ldr r0, =gUnknown_0203A034
- ldr r0, [r0]
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _080F60E6
- strh r0, [r4, 0x8]
- b _080F60E6
- .pool
-_080F60D4:
- movs r0, 0x88
- lsls r0, 3
- bl sub_80F6EF4
- movs r0, 0
- strh r0, [r4, 0x8]
- strh r0, [r4, 0xC]
- ldr r0, =sub_80F60F0
- str r0, [r4]
-_080F60E6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F6058
-
- thumb_func_start sub_80F60F0
-sub_80F60F0: @ 80F60F0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r4, r2, 0
- ldr r0, =gUnknown_0203A034
- ldr r5, [r0]
- ldr r0, [r5]
- ldrb r3, [r0, 0x4]
- cmp r3, 0
- bne _080F614C
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0, r1
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x15
- bne _080F615E
- strh r3, [r1, 0xA]
- ldr r0, =gText_Round2Results
- ldr r1, [r5]
- ldrb r1, [r1]
- bl sub_80F6B78
- lsls r0, 16
- asrs r0, 16
- ldr r2, =0x0000ffff
- movs r3, 0x88
- lsls r3, 3
- movs r1, 0x90
- bl sub_80F6E9C
- b _080F615E
- .pool
-_080F614C:
- cmp r3, 0x2
- bne _080F615E
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80F616C
- str r0, [r1]
-_080F615E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F60F0
-
- thumb_func_start sub_80F616C
-sub_80F616C: @ 80F616C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080F61D4
- cmp r0, 0x1
- bgt _080F6194
- cmp r0, 0
- beq _080F619A
- b _080F61F8
- .pool
-_080F6194:
- cmp r0, 0x2
- beq _080F61E8
- b _080F61F8
-_080F619A:
- ldr r5, =gUnknown_0203A034
- ldr r0, [r5]
- ldr r0, [r0]
- ldrb r0, [r0, 0xA]
- cmp r0, 0
- bne _080F61F8
- ldrh r1, [r4, 0xC]
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- bl sub_80F7A80
- ldr r0, [r5]
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _080F61CC
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _080F61F8
- .pool
-_080F61CC:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080F61F8
-_080F61D4:
- ldr r0, =gUnknown_0203A034
- ldr r0, [r0]
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _080F61F8
- strh r0, [r4, 0x8]
- b _080F61F8
- .pool
-_080F61E8:
- movs r0, 0x88
- lsls r0, 3
- bl sub_80F6EF4
- movs r0, 0
- strh r0, [r4, 0x8]
- ldr r0, =sub_80F6204
- str r0, [r4]
-_080F61F8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F616C
-
- thumb_func_start sub_80F6204
-sub_80F6204: @ 80F6204
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x64
- 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, 0x8
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x5
- bls _080F6226
- b _080F63F4
-_080F6226:
- lsls r0, 2
- ldr r1, =_080F6238
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080F6238:
- .4byte _080F6250
- .4byte _080F6274
- .4byte _080F6292
- .4byte _080F62CC
- .4byte _080F6334
- .4byte _080F63E4
-_080F6250:
- ldr r0, =gUnknown_0203A034
- ldr r0, [r0]
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080F625E
- b _080F63F4
-_080F625E:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _080F63F4
- .pool
-_080F6274:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r2
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- beq _080F628C
- b _080F63F4
-_080F628C:
- movs r0, 0
- strh r0, [r1, 0xA]
- b _080F63BC
-_080F6292:
- movs r4, 0
- lsls r6, r5, 2
- ldr r7, =gTasks
-_080F6298:
- ldr r0, =sub_80F73DC
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r7
- ldr r0, =gContestFinalStandings
- adds r0, r4, r0
- ldrb r0, [r0]
- strh r0, [r1, 0x8]
- strh r4, [r1, 0xA]
- adds r4, 0x1
- cmp r4, 0x3
- ble _080F6298
- b _080F63B4
- .pool
-_080F62CC:
- ldr r0, =gUnknown_0203A034
- ldr r0, [r0]
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- cmp r0, 0x4
- beq _080F62DA
- b _080F63F4
-_080F62DA:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r2
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- beq _080F62F2
- b _080F63F4
-_080F62F2:
- movs r0, 0
- strh r0, [r4, 0xA]
- ldr r0, =sub_80F74BC
- movs r1, 0xA
- bl CreateTask
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r4, 0
- ldr r1, =gContestFinalStandings
- ldrb r0, [r1]
- cmp r0, 0
- beq _080F631C
-_080F630E:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _080F631C
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F630E
-_080F631C:
- lsls r0, r4, 24
- lsrs r0, 24
- movs r1, 0xE
- bl sub_80F77E0
- b _080F63F4
- .pool
-_080F6334:
- lsls r1, r5, 2
- adds r0, r1, r5
- lsls r0, 3
- adds r2, r0, r2
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- adds r6, r1, 0
- cmp r0, 0x15
- bne _080F63F4
- movs r0, 0
- strh r0, [r2, 0xA]
- movs r4, 0
- ldr r1, =gContestFinalStandings
- ldrb r0, [r1]
- ldr r7, =gStringVar1
- ldr r2, =gContestMons + 13
- mov r8, r2
- cmp r0, 0
- beq _080F636E
-_080F6360:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _080F636E
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F6360
-_080F636E:
- lsls r4, 6
- mov r0, r8
- adds r1, r4, r0
- adds r0, r7, 0
- bl StringCopy
- adds r0, r7, 0
- bl sub_81DB5AC
- ldr r0, =gStringVar2
- mov r1, r8
- subs r1, 0xB
- adds r4, r1
- adds r1, r4, 0
- bl StringCopy
- ldr r1, =gText_Var1sVar2Won
- mov r0, sp
- bl StringExpandPlaceholders
- ldr r0, =gUnknown_0203A034
- ldr r0, [r0]
- ldr r0, [r0]
- ldrb r1, [r0]
- mov r0, sp
- bl sub_80F6B78
- lsls r0, 16
- asrs r0, 16
- ldr r2, =0x0000ffff
- movs r3, 0x88
- lsls r3, 3
- movs r1, 0x90
- bl sub_80F6E9C
-_080F63B4:
- ldr r0, =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
-_080F63BC:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080F63F4
- .pool
-_080F63E4:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x8]
- ldr r1, =sub_80F6404
- str r1, [r0]
-_080F63F4:
- add sp, 0x64
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F6204
-
- thumb_func_start sub_80F6404
-sub_80F6404: @ 80F6404
- 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 r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r4, r1, 0
- cmp r0, 0x5
- bls _080F6428
- b _080F669C
-_080F6428:
- lsls r0, 2
- ldr r1, =_080F643C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080F643C:
- .4byte _080F6454
- .4byte _080F658C
- .4byte _080F65DC
- .4byte _080F65F0
- .4byte _080F6638
- .4byte _080F667C
-_080F6454:
- ldr r1, =gBattle_WIN0H
- movs r0, 0xF0
- strh r0, [r1]
- ldr r1, =gBattle_WIN0V
- ldr r3, =0x00005050
- adds r0, r3, 0
- strh r0, [r1]
- movs r2, 0
- ldr r1, =gContestFinalStandings
- ldrb r0, [r1]
- lsls r4, r7, 2
- mov r10, r4
- ldr r3, =gContestMons
- ldr r4, =gContestPlayerMonIndex
- mov r9, r4
- ldr r4, =gMonFrontPicTable
- mov r12, r4
- ldr r4, =gMonSpritesGfxPtr
- mov r8, r4
- cmp r0, 0
- beq _080F648C
-_080F647E:
- adds r2, 0x1
- cmp r2, 0x3
- bgt _080F648C
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F647E
-_080F648C:
- lsls r1, r2, 6
- adds r0, r1, r3
- ldrh r6, [r0]
- adds r0, r3, 0
- adds r0, 0x38
- adds r0, r1, r0
- ldr r4, [r0]
- adds r0, r3, 0
- adds r0, 0x3C
- adds r1, r0
- ldr r5, [r1]
- mov r0, r9
- ldrb r0, [r0]
- cmp r2, r0
- bne _080F64E0
- lsls r0, r6, 3
- add r0, r12
- mov r2, r8
- ldr r1, [r2]
- ldr r1, [r1, 0x8]
- adds r2, r6, 0
- adds r3, r4, 0
- bl HandleLoadSpecialPokePic_2
- b _080F64F2
- .pool
-_080F64E0:
- lsls r0, r6, 3
- add r0, r12
- mov r3, r8
- ldr r1, [r3]
- ldr r1, [r1, 0x8]
- adds r2, r6, 0
- adds r3, r4, 0
- bl HandleLoadSpecialPokePic_DontHandleDeoxys
-_080F64F2:
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl GetMonSpritePalStructFromOtIdPersonality
- adds r4, r0, 0
- bl LoadCompressedSpritePalette
- adds r0, r6, 0
- movs r1, 0x1
- bl SetMultiuseSpriteTemplateToPokemon
- ldr r0, =gMultiuseSpriteTemplate
- ldrh r1, [r4, 0x4]
- strh r1, [r0, 0x2]
- movs r1, 0x88
- lsls r1, 1
- movs r2, 0x50
- movs r3, 0xA
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r3, r2, r5
- strh r6, [r3, 0x30]
- ldrb r4, [r3, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r4
- strb r1, [r3, 0x5]
- adds r5, 0x1C
- adds r2, r5
- ldr r1, =sub_80F75A8
- str r1, [r2]
- ldr r1, =gUnknown_0203A034
- ldr r1, [r1]
- ldr r1, [r1]
- strb r0, [r1, 0x8]
- ldr r0, =gUnknown_0858D878
- bl LoadCompressedSpriteSheet
- ldr r0, =gUnknown_0858D880
- bl LoadCompressedSpritePalette
- ldr r0, =sub_80F7670
- movs r1, 0xA
- bl CreateTask
- ldr r0, =gTasks
- mov r4, r10
- adds r1, r4, r7
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080F669C
- .pool
-_080F658C:
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r4, r0, r4
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- beq _080F65A4
- b _080F669C
-_080F65A4:
- movs r0, 0
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0xC]
- adds r0, 0x2
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x20
- ble _080F65BA
- movs r0, 0x20
- strh r0, [r4, 0xC]
-_080F65BA:
- ldrb r2, [r4, 0xC]
- ldr r3, =gBattle_WIN0V
- movs r0, 0x50
- subs r0, r2
- lsls r0, 8
- adds r1, r2, 0
- adds r1, 0x50
- orrs r0, r1
- strh r0, [r3]
- cmp r2, 0x20
- bne _080F669C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080F669C
- .pool
-_080F65DC:
- ldr r0, =gUnknown_0203A034
- ldr r0, [r0]
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- cmp r0, 0x1
- bne _080F669C
- b _080F6664
- .pool
-_080F65F0:
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r3, r0, r4
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x79
- bne _080F669C
- movs r0, 0
- strh r0, [r3, 0xA]
- ldr r2, =gSprites
- ldr r0, =gUnknown_0203A034
- ldr r0, [r0]
- ldr r0, [r0]
- ldrb r1, [r0, 0x8]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_80F7620
- str r1, [r0]
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
- b _080F669C
- .pool
-_080F6638:
- ldr r0, =gUnknown_0203A034
- ldr r0, [r0]
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- cmp r0, 0x2
- bne _080F669C
- ldr r3, =gBattle_WIN0V
- ldrh r0, [r3]
- lsrs r2, r0, 8
- adds r0, r2, 0x2
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x50
- bls _080F6656
- movs r2, 0x50
-_080F6656:
- lsls r1, r2, 8
- movs r0, 0xA0
- subs r0, r2
- orrs r1, r0
- strh r1, [r3]
- cmp r2, 0x50
- bne _080F669C
-_080F6664:
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r4
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _080F669C
- .pool
-_080F667C:
- ldr r0, =gUnknown_0203A034
- ldr r0, [r0]
- ldr r2, [r0]
- ldrb r0, [r2, 0x6]
- cmp r0, 0x2
- bne _080F669C
- movs r1, 0
- movs r0, 0x1
- strb r0, [r2, 0x9]
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r4
- strh r1, [r0, 0x8]
- ldr r1, =sub_80F66B4
- str r1, [r0]
-_080F669C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F6404
-
- thumb_func_start sub_80F66B4
-sub_80F66B4: @ 80F66B4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _080F6702
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- adds r0, r2, 0
- ands r0, r1
- lsls r6, r7, 2
- cmp r0, 0
- bne _080F66F2
- ldr r5, =gContestMons
- movs r4, 0x3
-_080F66DA:
- ldrh r0, [r5]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2
- bl GetSetPokedexFlag
- adds r5, 0x40
- subs r4, 0x1
- cmp r4, 0
- bge _080F66DA
-_080F66F2:
- ldr r1, =gTasks
- adds r0, r6, r7
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- ldr r1, =sub_80F671C
- str r1, [r0]
-_080F6702:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F66B4
-
- thumb_func_start sub_80F671C
-sub_80F671C: @ 80F671C
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080F6760
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r4, r1, r0
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080F676E
- ldr r0, =gText_CommunicationStandby
- bl sub_80F707C
- bl sub_800AC34
- ldr r0, =sub_80F677C
- str r0, [r4]
- b _080F676E
- .pool
-_080F6760:
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =task_repel
- str r0, [r1]
-_080F676E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F671C
-
- thumb_func_start sub_80F677C
-sub_80F677C: @ 80F677C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F67AC
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080F679A
- bl sub_800E084
-_080F679A:
- bl sub_80F7144
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =task_repel
- str r0, [r1]
-_080F67AC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F677C
-
- thumb_func_start task_repel
-task_repel: @ 80F67C4
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080F67E6
- ldr r1, =gContestFinalStandings
- ldr r0, =gContestPlayerMonIndex
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- bl BravoTrainerPokemonProfile_BeforeInterview2
-_080F67E6:
- movs r0, 0
- str r0, [sp]
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginHardwarePaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80F6820
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_repel
-
- thumb_func_start sub_80F6820
-sub_80F6820: @ 80F6820
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r5, r2, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080F68A8
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080F6868
- ldr r0, =gUnknown_0203A034
- ldr r0, [r0]
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- bl DestroyTask
- ldr r0, =0x0000ffff
- b _080F686E
- .pool
-_080F6868:
- cmp r0, 0x1
- bne _080F6884
- ldr r0, =0xffff0000
-_080F686E:
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- b _080F68A8
- .pool
-_080F6884:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyTask
- bl FreeAllWindowBuffers
- ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl SetMainCallback2
- bl sub_80F7E64
-_080F68A8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F6820
-
- thumb_func_start sub_80F68B4
-sub_80F68B4: @ 80F68B4
- push {r4,r5,lr}
- ldr r2, =gBattle_BG3_X
- ldrh r3, [r2]
- adds r0, r3, 0x2
- strh r0, [r2]
- ldr r4, =gBattle_BG3_Y
- ldrh r5, [r4]
- adds r1, r5, 0x1
- strh r1, [r4]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xFF
- bls _080F68D4
- adds r0, r3, 0
- subs r0, 0xFD
- strh r0, [r2]
-_080F68D4:
- lsls r0, r1, 16
- lsrs r0, 16
- cmp r0, 0xFF
- bls _080F68E2
- adds r0, r5, 0
- subs r0, 0xFE
- strh r0, [r4]
-_080F68E2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F68B4
-
- thumb_func_start sub_80F68F0
-sub_80F68F0: @ 80F68F0
- 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 r2, r0, r1
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _080F6972
- movs r0, 0
- strh r0, [r2, 0x8]
- movs r3, 0xC
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _080F6924
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- b _080F6928
- .pool
-_080F6924:
- ldrh r0, [r2, 0xA]
- subs r0, 0x1
-_080F6928:
- strh r0, [r2, 0xA]
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r1
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0x10
- bne _080F693E
- movs r0, 0x1
- b _080F6942
-_080F693E:
- cmp r0, 0
- bne _080F6944
-_080F6942:
- strh r0, [r1, 0xC]
-_080F6944:
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrb r2, [r4, 0xA]
- ldr r3, =0x00002ede
- movs r0, 0x6B
- movs r1, 0x1
- bl BlendPalette
- ldrb r2, [r4, 0xA]
- ldr r3, =0x00007fff
- movs r0, 0x68
- movs r1, 0x1
- bl BlendPalette
- ldrb r2, [r4, 0xA]
- ldr r3, =0x000077be
- movs r0, 0x6E
- movs r1, 0x1
- bl BlendPalette
-_080F6972:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r3, 0xA
- ldrsh r4, [r0, r3]
- cmp r4, 0
- bne _080F69A4
- ldr r0, =gUnknown_0203A034
- ldr r0, [r0]
- ldr r0, [r0]
- strb r4, [r0, 0xA]
- b _080F69AE
- .pool
-_080F69A4:
- ldr r0, =gUnknown_0203A034
- ldr r0, [r0]
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xA]
-_080F69AE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F68F0
-
- thumb_func_start sub_80F69B8
-sub_80F69B8: @ 80F69B8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r1, 24
- lsrs r4, r1, 24
- mov r8, r4
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- ldr r0, =gContestPlayerMonIndex
- movs r2, 0
- ldrb r0, [r0]
- cmp r4, r0
- bne _080F69DE
- movs r2, 0x1
-_080F69DE:
- adds r0, r7, 0
- ldr r1, [sp, 0x28]
- bl GetMonIconPtr
- adds r3, r0, 0
- lsls r0, r5, 9
- adds r0, 0x80
- adds r3, r0
- cmp r6, 0
- beq _080F6A40
- lsls r1, r4, 9
- ldr r0, =0x06004000
- adds r1, r0
- movs r2, 0xC0
- lsls r2, 1
- adds r0, r3, 0
- movs r3, 0x1
- bl RequestDma3Copy
- adds r0, r4, 0
- adds r0, 0xA
- lsls r0, 28
- lsls r1, r4, 20
- movs r2, 0x80
- lsls r2, 18
- adds r1, r2
- orrs r1, r0
- lsrs r1, 16
- lsls r3, r4, 1
- adds r3, r4
- adds r3, 0x4
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x4
- str r0, [sp]
- movs r0, 0x3
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0x1
- str r0, [sp, 0xC]
- movs r2, 0x3
- bl WriteSequenceToBgTilemapBuffer
- b _080F6A54
- .pool
-_080F6A40:
- mov r0, r8
- lsls r1, r0, 9
- ldr r2, =0x06004000
- adds r1, r2
- movs r2, 0xC0
- lsls r2, 1
- adds r0, r3, 0
- movs r3, 0x1
- bl RequestDma3Copy
-_080F6A54:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F69B8
-
- thumb_func_start sub_80F6A64
-sub_80F6A64: @ 80F6A64
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- movs r5, 0
- ldr r4, =gContestMons
-_080F6A74:
- ldrh r0, [r4]
- lsls r1, r5, 24
- lsrs r1, 24
- ldr r2, [r4, 0x38]
- str r2, [sp]
- adds r2, r7, 0
- adds r3, r6, 0
- bl sub_80F69B8
- adds r4, 0x40
- adds r5, 0x1
- cmp r5, 0x3
- ble _080F6A74
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F6A64
-
- thumb_func_start sub_80F6A9C
-sub_80F6A9C: @ 80F6A9C
- push {r4-r6,lr}
- movs r4, 0
- ldr r6, =gMonIconPaletteIndices
- movs r5, 0xA0
- lsls r5, 16
-_080F6AA6:
- ldr r1, =gContestMons
- lsls r0, r4, 6
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0
- bl GetIconSpecies
- lsls r0, 16
- lsrs r0, 16
- adds r0, r6
- ldrb r0, [r0]
- lsls r0, 5
- ldr r1, =gMonIconPalettes
- adds r0, r1
- lsrs r1, r5, 16
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0x80
- lsls r0, 13
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x3
- ble _080F6AA6
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F6A9C
-
- thumb_func_start sub_80F6AE8
-sub_80F6AE8: @ 80F6AE8
- push {r4,lr}
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080F6B58
- bl sub_800E0E8
- movs r0, 0x8
- movs r1, 0x8
- bl CreateWirelessStatusIndicatorSprite
- ldr r4, =gSprites
- ldr r0, =gWirelessStatusIndicatorSpriteId
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x43
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, =gUnknown_0858D8E0
- bl LoadSpriteSheet
- adds r1, r0, 0
- lsls r1, 16
- movs r0, 0x1
- negs r0, r0
- lsrs r1, 11
- ldr r2, =0x06010000
- adds r1, r2
- movs r2, 0x80
- movs r3, 0x1
- bl RequestDma3Fill
- ldr r0, =gSpriteTemplate_858D8C8
- movs r1, 0x8
- movs r2, 0x8
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- 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
- movs r2, 0x8
- orrs r0, r2
- strb r0, [r1, 0x1]
-_080F6B58:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F6AE8
-
- thumb_func_start sub_80F6B78
-sub_80F6B78: @ 80F6B78
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x44
- adds r5, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- add r4, sp, 0x20
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x8
- bl memset
- movs r0, 0x1E
- strb r0, [r4, 0x3]
- movs r0, 0x2
- strb r0, [r4, 0x4]
- adds r0, r4, 0
- bl AddWindow
- lsls r6, r0, 24
- lsrs r4, r6, 24
- adds r0, r4, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0
- bl GetStringWidth
- adds r2, r0, 0
- adds r2, 0x9
- cmp r2, 0
- bge _080F6BC4
- adds r2, 0x7
-_080F6BC4:
- asrs r2, 3
- mov r10, r2
- cmp r2, 0x1E
- ble _080F6BD0
- movs r1, 0x1E
- mov r10, r1
-_080F6BD0:
- mov r1, r10
- lsls r2, r1, 3
- subs r2, r0
- lsrs r0, r2, 31
- adds r2, r0
- asrs r2, 1
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_0858D8E8
- str r0, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- adds r0, r4, 0
- movs r1, 0x7
- bl GetWindowAttribute
- mov r9, r0
- ldr r2, =gUnknown_0858D6D0
- mov r8, r2
- lsls r1, r7, 4
- adds r1, r7
- lsls r1, 2
- ldr r3, =gSprites
- adds r1, r3
- ldrh r0, [r1, 0x4]
- lsls r0, 22
- lsrs r0, 17
- ldr r2, =0x06010000
- adds r0, r2
- str r0, [sp, 0xC]
- str r6, [sp, 0x38]
- mov r7, sp
- adds r7, 0x1C
- str r7, [sp, 0x2C]
- mov r0, r10
- adds r0, 0x2
- str r0, [sp, 0x30]
- movs r5, 0
- add r7, sp, 0x10
- mov r12, r7
- adds r6, r1, 0
- adds r6, 0x2E
- movs r4, 0x2
-_080F6C34:
- adds r0, r6, r5
- movs r7, 0
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x4]
- lsls r0, 22
- lsrs r0, 17
- adds r0, r2
- mov r1, r12
- adds r1, 0x4
- mov r12, r1
- subs r1, 0x4
- stm r1!, {r0}
- adds r5, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _080F6C34
- mov r7, r8
- adds r7, 0x80
- mov r2, r8
- adds r2, 0x40
- str r2, [sp, 0x28]
- mov r0, r8
- adds r0, 0x20
- str r0, [sp, 0x3C]
- mov r1, r8
- adds r1, 0xA0
- str r1, [sp, 0x40]
- adds r2, 0x20
- str r2, [sp, 0x34]
- add r5, sp, 0xC
- movs r6, 0
- movs r4, 0x3
-_080F6C7C:
- str r6, [sp, 0x1C]
- ldm r5!, {r1}
- ldr r0, [sp, 0x2C]
- ldr r2, =0x05000100
- bl CpuSet
- subs r4, 0x1
- cmp r4, 0
- bge _080F6C7C
- ldr r5, [sp, 0xC]
- ldr r6, =0x04000008
- mov r0, r8
- adds r1, r5, 0
- adds r2, r6, 0
- bl CpuSet
- movs r0, 0x80
- lsls r0, 1
- adds r1, r5, r0
- adds r0, r7, 0
- adds r2, r6, 0
- bl CpuSet
- movs r2, 0x80
- lsls r2, 2
- adds r1, r5, r2
- adds r0, r7, 0
- adds r2, r6, 0
- bl CpuSet
- movs r7, 0xC0
- lsls r7, 2
- adds r1, r5, r7
- ldr r0, [sp, 0x28]
- adds r2, r6, 0
- bl CpuSet
- movs r4, 0
- cmp r4, r10
- bge _080F6D32
- adds r7, r6, 0
-_080F6CCE:
- adds r6, r4, 0x1
- adds r0, r6, 0
- cmp r6, 0
- bge _080F6CDA
- adds r0, r4, 0
- adds r0, 0x8
-_080F6CDA:
- asrs r0, 3
- lsls r1, r0, 2
- add r1, sp
- adds r1, 0xC
- lsls r0, 3
- subs r0, r6, r0
- lsls r0, 5
- ldr r1, [r1]
- adds r5, r1, r0
- mov r0, r8
- adds r0, 0xC0
- adds r1, r5, 0
- adds r2, r7, 0
- bl CpuSet
- movs r0, 0x80
- lsls r0, 1
- adds r1, r5, r0
- mov r0, r9
- adds r2, r7, 0
- bl CpuSet
- movs r0, 0xF0
- lsls r0, 2
- add r0, r9
- movs r2, 0x80
- lsls r2, 2
- adds r1, r5, r2
- adds r2, r7, 0
- bl CpuSet
- movs r0, 0xC0
- lsls r0, 2
- adds r1, r5, r0
- mov r0, r8
- adds r0, 0xE0
- adds r2, r7, 0
- bl CpuSet
- movs r1, 0x20
- add r9, r1
- adds r4, r6, 0
- cmp r4, r10
- blt _080F6CCE
-_080F6D32:
- adds r2, r4, 0x1
- adds r0, r2, 0
- cmp r2, 0
- bge _080F6D3E
- adds r0, r4, 0
- adds r0, 0x8
-_080F6D3E:
- asrs r0, 3
- lsls r1, r0, 2
- add r1, sp
- adds r1, 0xC
- lsls r0, 3
- subs r0, r2, r0
- lsls r0, 5
- ldr r1, [r1]
- adds r5, r1, r0
- ldr r4, =0x04000008
- ldr r0, [sp, 0x3C]
- adds r1, r5, 0
- adds r2, r4, 0
- bl CpuSet
- movs r2, 0x80
- lsls r2, 1
- adds r1, r5, r2
- ldr r0, [sp, 0x40]
- adds r2, r4, 0
- bl CpuSet
- movs r7, 0x80
- lsls r7, 2
- adds r1, r5, r7
- ldr r0, [sp, 0x40]
- adds r2, r4, 0
- bl CpuSet
- movs r0, 0xC0
- lsls r0, 2
- adds r1, r5, r0
- ldr r0, [sp, 0x34]
- adds r2, r4, 0
- bl CpuSet
- ldr r1, [sp, 0x38]
- lsrs r0, r1, 24
- bl RemoveWindow
- ldr r2, [sp, 0x30]
- lsls r1, r2, 3
- movs r0, 0xF0
- subs r0, r1
- asrs r0, 1
- add sp, 0x44
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80F6B78
-
- thumb_func_start sub_80F6DC0
-sub_80F6DC0: @ 80F6DC0
- push {r4-r6,lr}
- sub sp, 0x20
- mov r1, sp
- ldr r0, =gSpriteTemplate_858D7F8
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- add r5, sp, 0x18
- ldr r6, =gUnknown_0858D810
- movs r4, 0x7
-_080F6DD6:
- adds r0, r6, 0
- bl LoadSpriteSheet
- adds r6, 0x8
- subs r4, 0x1
- cmp r4, 0
- bge _080F6DD6
- ldr r0, =gUnknown_0858D850
- bl LoadSpritePalette
- movs r4, 0
- mov r6, sp
-_080F6DEE:
- mov r0, sp
- movs r1, 0x88
- lsls r1, 1
- movs r2, 0x90
- movs r3, 0xA
- bl CreateSprite
- adds r1, r5, r4
- strb r0, [r1]
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- adds r4, 0x1
- cmp r4, 0x7
- ble _080F6DEE
- ldr r2, =gSprites
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r5, 0x1]
- movs r3, 0
- strh r1, [r0, 0x2E]
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r5, 0x2]
- strh r1, [r0, 0x30]
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r5, 0x3]
- strh r1, [r0, 0x32]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r5, 0x5]
- strh r1, [r0, 0x2E]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r5, 0x6]
- strh r1, [r0, 0x30]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r5, 0x7]
- strh r1, [r0, 0x32]
- ldr r1, =gUnknown_0203A034
- ldr r0, [r1]
- ldr r2, [r0]
- ldrb r0, [r5]
- strb r0, [r2]
- ldr r0, [r1]
- ldr r0, [r0]
- strb r3, [r0, 0x4]
- ldr r0, [r1]
- ldr r1, [r0]
- ldrb r0, [r5, 0x4]
- strb r0, [r1, 0x1]
- bl sub_80F7144
- add sp, 0x20
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F6DC0
-
- thumb_func_start sub_80F6E9C
-sub_80F6E9C: @ 80F6E9C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r4, =gUnknown_0203A034
- ldr r4, [r4]
- mov r8, r4
- ldr r4, [r4]
- ldrb r5, [r4]
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- ldr r5, =gSprites
- adds r4, r5
- movs r6, 0
- movs r5, 0x88
- lsls r5, 1
- strh r5, [r4, 0x20]
- strh r1, [r4, 0x22]
- strh r6, [r4, 0x24]
- strh r6, [r4, 0x26]
- lsls r0, 16
- asrs r0, 16
- adds r0, 0x20
- strh r0, [r4, 0x36]
- strh r2, [r4, 0x38]
- strh r3, [r4, 0x3A]
- strh r6, [r4, 0x3C]
- ldr r0, =sub_80F6F68
- str r0, [r4, 0x1C]
- mov r0, r8
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F6E9C
-
- thumb_func_start sub_80F6EF4
-sub_80F6EF4: @ 80F6EF4
- push {r4,r5,lr}
- ldr r1, =gUnknown_0203A034
- ldr r4, [r1]
- ldr r1, [r4]
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r2, =gSprites
- adds r1, r2
- ldrh r2, [r1, 0x24]
- ldrh r3, [r1, 0x20]
- adds r2, r3
- movs r3, 0
- strh r2, [r1, 0x20]
- ldrh r2, [r1, 0x26]
- ldrh r5, [r1, 0x22]
- adds r2, r5
- strh r2, [r1, 0x22]
- strh r3, [r1, 0x26]
- strh r3, [r1, 0x24]
- strh r0, [r1, 0x3A]
- strh r3, [r1, 0x3C]
- ldr r0, =sub_80F7014
- str r0, [r1, 0x1C]
- ldr r1, [r4]
- movs r0, 0x3
- strb r0, [r1, 0x4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F6EF4
-
- thumb_func_start sub_80F6F40
-sub_80F6F40: @ 80F6F40
- movs r3, 0
- movs r2, 0
- movs r1, 0x88
- lsls r1, 1
- strh r1, [r0, 0x20]
- movs r1, 0x90
- strh r1, [r0, 0x22]
- strh r2, [r0, 0x26]
- strh r2, [r0, 0x24]
- ldr r1, =SpriteCallbackDummy
- str r1, [r0, 0x1C]
- ldr r0, =gUnknown_0203A034
- ldr r0, [r0]
- ldr r0, [r0]
- strb r3, [r0, 0x4]
- bx lr
- .pool
- thumb_func_end sub_80F6F40
-
- thumb_func_start sub_80F6F68
-sub_80F6F68: @ 80F6F68
- push {r4-r7,lr}
- adds r3, r0, 0
- ldrh r2, [r3, 0x3A]
- ldrh r0, [r3, 0x3C]
- adds r2, r0
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r3, 0x20]
- subs r0, r1
- strh r0, [r3, 0x20]
- movs r1, 0xFF
- ands r2, r1
- strh r2, [r3, 0x3C]
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r3, 0x36]
- movs r4, 0x36
- ldrsh r1, [r3, r4]
- cmp r0, r1
- bge _080F6F92
- strh r2, [r3, 0x20]
-_080F6F92:
- movs r4, 0
- ldr r6, =gSprites
- movs r5, 0x40
- adds r2, r3, 0
- adds r2, 0x2E
-_080F6F9C:
- movs r7, 0
- ldrsh r0, [r2, r7]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrh r0, [r3, 0x24]
- ldrh r7, [r3, 0x20]
- adds r0, r7
- adds r0, r5
- strh r0, [r1, 0x20]
- adds r5, 0x40
- adds r2, 0x2
- adds r4, 0x1
- cmp r4, 0x2
- ble _080F6F9C
- movs r0, 0x20
- ldrsh r1, [r3, r0]
- movs r2, 0x36
- ldrsh r0, [r3, r2]
- cmp r1, r0
- bne _080F6FCC
- ldr r0, =sub_80F6FDC
- str r0, [r3, 0x1C]
-_080F6FCC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F6F68
-
- thumb_func_start sub_80F6FDC
-sub_80F6FDC: @ 80F6FDC
- push {lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_0203A034
- ldr r0, [r0]
- ldr r1, [r0]
- movs r0, 0x2
- strb r0, [r1, 0x4]
- ldrh r3, [r2, 0x38]
- ldr r1, =0xffff0000
- lsrs r0, r1, 16
- cmp r3, r0
- beq _080F7008
- subs r0, r3, 0x1
- strh r0, [r2, 0x38]
- lsls r0, 16
- asrs r0, 16
- asrs r1, 16
- cmp r0, r1
- bne _080F7008
- ldrh r0, [r2, 0x3A]
- bl sub_80F6EF4
-_080F7008:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F6FDC
-
- thumb_func_start sub_80F7014
-sub_80F7014: @ 80F7014
- push {r4-r7,lr}
- adds r3, r0, 0
- ldrh r2, [r3, 0x3A]
- ldrh r0, [r3, 0x3C]
- adds r2, r0
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r3, 0x20]
- subs r0, r1
- strh r0, [r3, 0x20]
- movs r0, 0xFF
- ands r2, r0
- strh r2, [r3, 0x3C]
- movs r4, 0
- ldr r6, =gSprites
- movs r5, 0x40
- adds r2, r3, 0
- adds r2, 0x2E
-_080F7038:
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrh r0, [r3, 0x24]
- ldrh r7, [r3, 0x20]
- adds r0, r7
- adds r0, r5
- strh r0, [r1, 0x20]
- adds r5, 0x40
- adds r2, 0x2
- adds r4, 0x1
- cmp r4, 0x2
- ble _080F7038
- movs r1, 0x20
- ldrsh r0, [r3, r1]
- movs r2, 0x24
- ldrsh r1, [r3, r2]
- adds r0, r1
- movs r1, 0xE0
- negs r1, r1
- cmp r0, r1
- bge _080F7070
- adds r0, r3, 0
- bl sub_80F6F40
-_080F7070:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F7014
-
- thumb_func_start sub_80F707C
-sub_80F707C: @ 80F707C
- push {r4-r7,lr}
- ldr r4, =gUnknown_0203A034
- ldr r1, [r4]
- ldr r1, [r1]
- ldrb r1, [r1, 0x1]
- bl sub_80F6B78
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [r4]
- ldr r1, [r1]
- ldrb r2, [r1, 0x1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r3, =gSprites
- adds r4, r1, r3
- adds r0, 0x20
- strh r0, [r4, 0x20]
- movs r0, 0x50
- strh r0, [r4, 0x22]
- adds r5, r4, 0
- adds r5, 0x3E
- ldrb r1, [r5]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r1
- strb r0, [r5]
- movs r5, 0
- adds r6, r3, 0
- mov r12, r2
- movs r3, 0x40
-_080F70BE:
- lsls r0, r5, 1
- adds r2, r4, 0
- adds r2, 0x2E
- adds r2, r0
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrh r0, [r4, 0x24]
- ldrh r7, [r4, 0x20]
- adds r0, r7
- adds r0, r3
- strh r0, [r1, 0x20]
- movs r0, 0
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r1, [r4, 0x22]
- strh r1, [r0, 0x22]
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r1, 0x3E
- ldrb r2, [r1]
- mov r0, r12
- ands r0, r2
- strb r0, [r1]
- adds r3, 0x40
- adds r5, 0x1
- cmp r5, 0x2
- ble _080F70BE
- ldr r1, =gBattle_WIN0H
- movs r0, 0xF0
- strh r0, [r1]
- ldr r2, =gBattle_WIN0V
- ldrh r1, [r4, 0x22]
- adds r0, r1, 0
- subs r0, 0x10
- lsls r0, 8
- adds r1, 0x10
- orrs r0, r1
- strh r0, [r2]
- ldr r1, =0x00003f3e
- movs r0, 0x48
- bl SetGpuReg
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F707C
-
- thumb_func_start sub_80F7144
-sub_80F7144: @ 80F7144
- push {r4-r7,lr}
- ldr r0, =gUnknown_0203A034
- ldr r0, [r0]
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r3, =gSprites
- adds r2, r3
- movs r0, 0x3E
- adds r0, r2
- mov r12, r0
- ldrb r0, [r0]
- movs r1, 0x4
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldr r7, =gBattle_WIN0H
- ldr r6, =gBattle_WIN0V
- adds r5, r3, 0
- movs r4, 0x4
- adds r2, 0x2E
- movs r3, 0x2
-_080F7174:
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _080F7174
- movs r0, 0
- strh r0, [r7]
- strh r0, [r6]
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- ldrh r1, [r6]
- movs r0, 0x44
- bl SetGpuReg
- ldr r1, =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F7144
-
- thumb_func_start sub_80F71C8
-sub_80F71C8: @ 80F71C8
- push {r4-r6,lr}
- sub sp, 0xC
- movs r5, 0x5
- movs r4, 0x1
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _080F71F8
- ldr r1, =gUnknown_08DC6498
- str r5, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r2, 0x5
- movs r3, 0x1
- bl CopyToBgTilemapBufferRect
- movs r5, 0xA
- b _080F7240
- .pool
-_080F71F8:
- ldr r0, =gSpecialVar_ContestRank
- ldrh r2, [r0]
- cmp r2, 0
- bne _080F720C
- ldr r1, =gUnknown_08DC63F8
- b _080F722E
- .pool
-_080F720C:
- cmp r2, 0x1
- bne _080F7218
- ldr r1, =gUnknown_08DC6420
- b _080F722E
- .pool
-_080F7218:
- cmp r2, 0x2
- bne _080F722C
- ldr r1, =gUnknown_08DC6448
- movs r0, 0xA
- str r0, [sp]
- str r2, [sp, 0x4]
- movs r0, 0x2
- b _080F7236
- .pool
-_080F722C:
- ldr r1, =gUnknown_08DC6470
-_080F722E:
- movs r0, 0xA
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
-_080F7236:
- movs r2, 0x5
- movs r3, 0x1
- bl CopyToBgTilemapBufferRect
- movs r5, 0xF
-_080F7240:
- ldr r0, =gSpecialVar_ContestCategory
- ldrh r0, [r0]
- cmp r0, 0
- bne _080F725C
- movs r6, 0
- ldr r1, =gUnknown_08DC64AC
- b _080F7298
- .pool
-_080F725C:
- cmp r0, 0x1
- bne _080F726C
- movs r6, 0x1
- ldr r1, =gUnknown_08DC64C0
- b _080F7298
- .pool
-_080F726C:
- cmp r0, 0x2
- bne _080F7290
- movs r6, 0x2
- ldr r1, =gUnknown_08DC64D4
- lsls r2, r5, 24
- lsrs r2, 24
- lsls r4, 24
- lsrs r3, r4, 24
- movs r0, 0x5
- str r0, [sp]
- str r6, [sp, 0x4]
- movs r0, 0x2
- bl CopyToBgTilemapBufferRect
- b _080F72CC
- .pool
-_080F7290:
- cmp r0, 0x3
- bne _080F72B4
- movs r6, 0x3
- ldr r1, =gUnknown_08DC64E8
-_080F7298:
- lsls r2, r5, 24
- lsrs r2, 24
- lsls r4, 24
- lsrs r3, r4, 24
- movs r0, 0x5
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- bl CopyToBgTilemapBufferRect
- b _080F72CC
- .pool
-_080F72B4:
- movs r6, 0x4
- ldr r1, =gUnknown_08DC64FC
- lsls r2, r5, 24
- lsrs r2, 24
- lsls r4, 24
- lsrs r3, r4, 24
- movs r0, 0x5
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- bl CopyToBgTilemapBufferRect
-_080F72CC:
- adds r5, 0x5
- ldr r1, =gUnknown_08DC6510
- lsls r2, r5, 24
- lsrs r2, 24
- lsrs r3, r4, 24
- movs r0, 0x6
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- bl CopyToBgTilemapBufferRect
- ldr r0, =gUnknown_0203A034
- ldr r0, [r0]
- ldr r1, [r0, 0x14]
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F71C8
-
- thumb_func_start sub_80F7310
-sub_80F7310: @ 80F7310
- push {r4,r5,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r1, =gContestMonConditions
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x3F
- bl __udivsi3
- adds r1, r0, 0
- ldr r0, =0x0000ffff
- ands r0, r1
- cmp r0, 0
- beq _080F733C
- movs r0, 0x80
- lsls r0, 9
- adds r1, r0
-_080F733C:
- lsrs r1, 16
- cmp r1, 0
- bne _080F7348
- cmp r4, 0
- beq _080F7348
- movs r1, 0x1
-_080F7348:
- cmp r5, 0
- beq _080F7352
- cmp r1, 0xA
- bls _080F7352
- movs r1, 0xA
-_080F7352:
- lsls r0, r1, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80F7310
-
thumb_func_start sub_80F7364
sub_80F7364: @ 80F7364
push {r4-r7,lr}
@@ -4628,7 +1490,7 @@ sub_80F7ED0: @ 80F7ED0
thumb_func_start sub_80F7F30
sub_80F7F30: @ 80F7F30
push {r4,r5,lr}
- ldr r0, =gUnknown_02039F24
+ ldr r0, =gContestMonPartyIndex
ldrb r1, [r0]
movs r0, 0x64
muls r0, r1
@@ -4660,7 +1522,7 @@ _080F7F5E:
sub_80F7F7C: @ 80F7F7C
push {r4,lr}
movs r4, 0
- ldr r0, =gUnknown_02039F24
+ ldr r0, =gContestMonPartyIndex
ldrb r1, [r0]
movs r0, 0x64
muls r1, r0
@@ -4750,7 +1612,7 @@ _080F8034:
.4byte _080F8190
.4byte _080F81F8
_080F8048:
- ldr r6, =gUnknown_02039F24
+ ldr r6, =gContestMonPartyIndex
ldrb r0, [r6]
movs r5, 0x64
muls r0, r5
@@ -4801,7 +1663,7 @@ _080F809C:
.pool
_080F80B8:
mov r4, sp
- ldr r7, =gUnknown_02039F24
+ ldr r7, =gContestMonPartyIndex
ldrb r0, [r7]
movs r6, 0x64
muls r0, r6
@@ -4850,7 +1712,7 @@ _080F810A:
.pool
_080F8124:
mov r4, sp
- ldr r7, =gUnknown_02039F24
+ ldr r7, =gContestMonPartyIndex
ldrb r0, [r7]
movs r6, 0x64
muls r0, r6
@@ -4897,7 +1759,7 @@ _080F814E:
.pool
_080F8190:
mov r4, sp
- ldr r7, =gUnknown_02039F24
+ ldr r7, =gContestMonPartyIndex
ldrb r0, [r7]
movs r6, 0x64
muls r0, r6
@@ -4940,7 +1802,7 @@ _080F8190:
.pool
_080F81F8:
mov r4, sp
- ldr r7, =gUnknown_02039F24
+ ldr r7, =gContestMonPartyIndex
ldrb r0, [r7]
movs r6, 0x64
muls r0, r6
@@ -5320,7 +2182,7 @@ sub_80F8508: @ 80F8508
ands r0, r1
cmp r0, 0
beq _080F8540
- ldr r0, =gUnknown_02039F24
+ ldr r0, =gContestMonPartyIndex
ldrb r0, [r0]
bl sub_80DA8C8
ldr r1, =sub_80FC6BC
@@ -5330,7 +2192,7 @@ sub_80F8508: @ 80F8508
b _080F8556
.pool
_080F8540:
- ldr r0, =gUnknown_02039F24
+ ldr r0, =gContestMonPartyIndex
ldrb r0, [r0]
bl sub_80DA8C8
ldr r1, =gTasks
@@ -5399,7 +2261,7 @@ sub_80F85BC: @ 80F85BC
str r0, [sp]
str r0, [sp, 0x4]
movs r3, 0
- ldr r5, =gUnknown_02039F30
+ ldr r5, =gNumLinkContestPlayers
mov r12, r5
ldr r0, =gSpecialVar_0x8004
mov r9, r0
@@ -5529,7 +2391,7 @@ sub_80F86E0: @ 80F86E0
adds r3, r0, 0
movs r4, 0
movs r2, 0x1
- ldr r0, =gUnknown_02039F30
+ ldr r0, =gNumLinkContestPlayers
ldrb r0, [r0]
cmp r2, r0
bge _080F8708
diff --git a/asm/contest_link_80FC4F4.s b/asm/contest_link_80FC4F4.s
deleted file mode 100644
index 33207e246..000000000
--- a/asm/contest_link_80FC4F4.s
+++ /dev/null
@@ -1,1362 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80FC4F4
-sub_80FC4F4: @ 80FC4F4
- push {r4,r5,lr}
- adds r2, r0, 0
- lsls r4, r1, 16
- lsrs r4, 16
- ldr r5, =gDecompressionBuffer
- adds r0, r5, 0
- adds r1, r2, 0
- adds r2, r4, 0
- bl memcpy
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- adds r1, r5, 0
- adds r2, r4, 0
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- bne _080FC528
- movs r0, 0
- b _080FC52A
- .pool
-_080FC528:
- movs r0, 0x1
-_080FC52A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80FC4F4
-
- thumb_func_start sub_80FC530
-sub_80FC530: @ 80FC530
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0x80
- lsls r4, 17
- lsls r4, r5
- lsrs r4, 24
- bl GetBlockReceivedStatus
- ands r4, r0
- cmp r4, 0
- beq _080FC552
- adds r0, r5, 0
- bl ResetBlockReceivedFlag
- movs r0, 0x1
- b _080FC554
-_080FC552:
- movs r0, 0
-_080FC554:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80FC530
-
- thumb_func_start sub_80FC55C
-sub_80FC55C: @ 80FC55C
- push {r4,lr}
- bl GetBlockReceivedStatus
- adds r4, r0, 0
- bl sub_800A9D8
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- beq _080FC574
- movs r0, 0
- b _080FC57A
-_080FC574:
- bl ResetBlockReceivedFlags
- movs r0, 0x1
-_080FC57A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FC55C
-
- thumb_func_start sub_80FC580
-sub_80FC580: @ 80FC580
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- ldr r5, =gTasks
- ldr r6, =sub_80FC5C0
- ldr r4, =gBlockRecvBuffer
- movs r3, 0xFF
-_080FC590:
- lsls r0, r1, 8
- adds r0, r4
- strh r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _080FC590
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r5
- movs r1, 0
- strh r1, [r0, 0x8]
- str r6, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FC580
-
- thumb_func_start sub_80FC5C0
-sub_80FC5C0: @ 80FC5C0
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =sub_80FC5DC
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80FC5C0
-
- thumb_func_start sub_80FC5DC
-sub_80FC5DC: @ 80FC5DC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FC650
- bl GetMultiplayerId
- ldr r1, =gContestPlayerMonIndex
- strb r0, [r1]
- bl GetLinkPlayerCount
- ldr r4, =gUnknown_02039F30
- strb r0, [r4]
- ldr r1, =gIsLinkContest
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080FC60C
- movs r0, 0x3
- strb r0, [r1]
-_080FC60C:
- movs r3, 0
- ldrb r2, [r4]
- cmp r3, r2
- bge _080FC64A
- ldr r1, =gLinkPlayers
- ldrb r0, [r1]
- subs r0, 0x1
- adds r6, r4, 0
- cmp r0, 0x1
- bls _080FC63A
- adds r4, r2, 0
- adds r2, r1, 0
- movs r5, 0xFF
-_080FC626:
- adds r2, 0x1C
- adds r3, 0x1
- cmp r3, r4
- bge _080FC64A
- ldrh r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- subs r0, 0x1
- cmp r0, 0x1
- bhi _080FC626
-_080FC63A:
- ldrb r6, [r6]
- cmp r3, r6
- bge _080FC64A
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080FC64A:
- adds r0, r7, 0
- bl SwitchTaskToFollowupFunc
-_080FC650:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FC5DC
-
- thumb_func_start sub_80FC670
-sub_80FC670: @ 80FC670
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080FC698
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080FC6A0
- cmp r0, 0x1
- beq _080FC6AE
- bl IsLinkTaskFinished
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FC6B4
-_080FC698:
- movs r0, 0x1
- b _080FC6B6
- .pool
-_080FC6A0:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FC6B4
- bl sub_800ADF8
-_080FC6AE:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080FC6B4:
- movs r0, 0
-_080FC6B6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FC670
-
- thumb_func_start sub_80FC6BC
-sub_80FC6BC: @ 80FC6BC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r6, r7, 2
- adds r0, r6, r7
- lsls r4, r0, 3
- ldr r5, =gTasks + 0x8
- adds r0, r4, r5
- adds r0, 0x18
- bl sub_80FC670
- cmp r0, 0
- bne _080FC6DC
- b _080FC7F4
-_080FC6DC:
- adds r0, r5, 0
- subs r0, 0x8
- adds r4, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080FC758
- cmp r0, 0x1
- bgt _080FC6F8
- cmp r0, 0
- beq _080FC6FE
- b _080FC7DC
- .pool
-_080FC6F8:
- cmp r0, 0xA
- beq _080FC7C0
- b _080FC7DC
-_080FC6FE:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080FC738
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FC7F4
- ldr r0, =gBlockSendBuffer
- ldr r1, =gContestPlayerMonIndex
- ldrb r1, [r1]
- lsls r1, 6
- ldr r2, =gContestMons
- adds r1, r2
- movs r2, 0x40
- bl memcpy
- movs r0, 0xA
- strh r0, [r4, 0x8]
- b _080FC7F4
- .pool
-_080FC738:
- ldr r0, =gBlockSendBuffer
- ldr r1, =gContestPlayerMonIndex
- ldrb r1, [r1]
- lsls r1, 6
- ldr r2, =gContestMons
- adds r1, r2
- movs r2, 0x40
- bl memcpy
- b _080FC7D6
- .pool
-_080FC758:
- bl sub_80FC55C
- lsls r0, 24
- cmp r0, 0
- beq _080FC7F4
- movs r5, 0
- ldr r0, =gUnknown_02039F30
- mov r8, r6
- ldrb r0, [r0]
- cmp r5, r0
- bge _080FC798
- ldr r6, =gLinkPlayers
-_080FC770:
- lsls r4, r5, 6
- ldr r0, =gContestMons
- adds r4, r0
- lsls r1, r5, 8
- ldr r0, =gBlockRecvBuffer
- adds r1, r0
- adds r0, r4, 0
- movs r2, 0x40
- bl memcpy
- ldrh r1, [r6, 0x1A]
- adds r0, r4, 0
- bl sub_80DFA08
- adds r6, 0x1C
- adds r5, 0x1
- ldr r0, =gUnknown_02039F30
- ldrb r0, [r0]
- cmp r5, r0
- blt _080FC770
-_080FC798:
- ldr r0, =gTasks
- mov r2, r8
- adds r1, r2, r7
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080FC7F4
- .pool
-_080FC7C0:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- lsls r0, 16
- movs r1, 0x96
- lsls r1, 17
- cmp r0, r1
- ble _080FC7F4
- movs r0, 0x2
- bl sub_800A4D8
-_080FC7D6:
- movs r0, 0x1
- strh r0, [r4, 0x8]
- b _080FC7F4
-_080FC7DC:
- ldr r0, =gTasks
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x8]
- strh r0, [r1, 0x1E]
- strh r0, [r1, 0x20]
- adds r0, r7, 0
- bl SwitchTaskToFollowupFunc
-_080FC7F4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FC6BC
-
- thumb_func_start sub_80FC804
-sub_80FC804: @ 80FC804
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080FC830
- cmp r0, 0x1
- beq _080FC858
- movs r0, 0
- strh r0, [r5, 0x8]
- adds r0, r2, 0
- bl SwitchTaskToFollowupFunc
- b _080FC880
- .pool
-_080FC830:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080FC87A
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FC880
- ldr r0, =gRngValue
- movs r1, 0x4
- bl sub_80FC4F4
- cmp r0, 0x1
- bne _080FC880
- b _080FC87A
- .pool
-_080FC858:
- movs r0, 0
- bl sub_80FC530
- lsls r0, 24
- cmp r0, 0
- beq _080FC880
- ldr r0, =gRngValue
- ldr r4, =gBlockRecvBuffer
- adds r1, r4, 0
- movs r2, 0x4
- bl memcpy
- ldr r0, =gContestRngValue
- adds r1, r4, 0
- movs r2, 0x4
- bl memcpy
-_080FC87A:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_080FC880:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FC804
-
- thumb_func_start sub_80FC894
-sub_80FC894: @ 80FC894
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- mov r8, r0
- adds r0, r6
- lsls r5, r0, 3
- ldr r7, =gTasks + 0x8
- adds r0, r5, r7
- adds r0, 0x18
- bl sub_80FC670
- cmp r0, 0
- beq _080FC986
- movs r1, 0x8
- negs r1, r1
- adds r1, r7
- mov r9, r1
- adds r4, r5, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080FC90C
- cmp r0, 0x1
- bgt _080FC8D8
- cmp r0, 0
- beq _080FC8DE
- b _080FC96E
- .pool
-_080FC8D8:
- cmp r0, 0xA
- beq _080FC954
- b _080FC96E
-_080FC8DE:
- ldr r1, =gBlockSendBuffer
- ldrh r0, [r4, 0x1A]
- strb r0, [r1]
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080FC904
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FC986
- movs r0, 0xA
- strh r0, [r4, 0x8]
- b _080FC986
- .pool
-_080FC904:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080FC986
-_080FC90C:
- bl sub_80FC55C
- lsls r0, 24
- cmp r0, 0
- beq _080FC986
- movs r3, 0
- ldr r1, =gUnknown_02039F30
- ldrb r0, [r1]
- cmp r3, r0
- bge _080FC93A
- ldr r4, =gBlockRecvBuffer
- adds r0, r7, 0x2
- adds r2, r5, r0
- movs r5, 0x80
- lsls r5, 1
-_080FC92A:
- ldrh r0, [r4]
- strh r0, [r2]
- adds r4, r5
- adds r2, 0x2
- adds r3, 0x1
- ldrb r0, [r1]
- cmp r3, r0
- blt _080FC92A
-_080FC93A:
- mov r0, r8
- adds r1, r0, r6
- lsls r1, 3
- add r1, r9
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080FC986
- .pool
-_080FC954:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- ble _080FC986
- movs r0, 0x2
- bl sub_800A4D8
- movs r0, 0x1
- strh r0, [r4, 0x8]
- b _080FC986
-_080FC96E:
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x8]
- strh r0, [r1, 0x1E]
- strh r0, [r1, 0x20]
- adds r0, r6, 0
- bl SwitchTaskToFollowupFunc
-_080FC986:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FC894
-
- thumb_func_start sub_80FC998
-sub_80FC998: @ 80FC998
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080FC9C4
- cmp r0, 0x1
- beq _080FC9E0
- movs r0, 0
- strh r0, [r4, 0x8]
- adds r0, r2, 0
- bl SwitchTaskToFollowupFunc
- b _080FC9F0
- .pool
-_080FC9C4:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FC9F0
- ldr r0, =gContestPlayerMonIndex
- movs r1, 0x1
- bl sub_80FC4F4
- cmp r0, 0x1
- bne _080FC9F0
- b _080FC9EA
- .pool
-_080FC9E0:
- bl sub_80FC55C
- lsls r0, 24
- cmp r0, 0
- beq _080FC9F0
-_080FC9EA:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080FC9F0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FC998
-
- thumb_func_start sub_80FC9F8
-sub_80FC9F8: @ 80FC9F8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gTasks
- mov r8, r0
- lsls r7, r5, 2
- adds r0, r7, r5
- lsls r0, 3
- mov r1, r8
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080FCA30
- cmp r0, 0x1
- beq _080FCA68
- movs r0, 0
- strh r0, [r4, 0x8]
- adds r0, r5, 0
- bl SwitchTaskToFollowupFunc
- b _080FCAB2
- .pool
-_080FCA30:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FCAB2
- ldr r0, =gContestResources
- ldr r2, [r0]
- ldr r0, =gContestPlayerMonIndex
- ldrb r0, [r0]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, [r2, 0x4]
- adds r0, r1
- adds r0, 0x6
- movs r1, 0x2
- bl sub_80FC4F4
- cmp r0, 0x1
- bne _080FCAB2
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080FCAB2
- .pool
-_080FCA68:
- bl sub_80FC55C
- lsls r0, 24
- cmp r0, 0
- beq _080FCAB2
- movs r2, 0
- ldr r6, =gUnknown_02039F30
- mov r9, r8
- mov r12, r7
- ldrb r0, [r6]
- cmp r2, r0
- bge _080FCAA4
- ldr r1, =gContestResources
- mov r8, r1
- ldr r4, =gBlockRecvBuffer
- movs r3, 0
- movs r7, 0x80
- lsls r7, 1
-_080FCA8C:
- mov r1, r8
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r0, r3, r0
- ldrh r1, [r4]
- strh r1, [r0, 0x6]
- adds r4, r7
- adds r3, 0x1C
- adds r2, 0x1
- ldrb r0, [r6]
- cmp r2, r0
- blt _080FCA8C
-_080FCAA4:
- mov r0, r12
- adds r1, r0, r5
- lsls r1, 3
- add r1, r9
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_080FCAB2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FC9F8
-
- thumb_func_start sub_80FCACC
-sub_80FCACC: @ 80FCACC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- adds r3, r1, 0
- cmp r0, 0xB
- bls _080FCAE8
- b _080FCC78
-_080FCAE8:
- lsls r0, 2
- ldr r1, =_080FCAFC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080FCAFC:
- .4byte _080FCB2C
- .4byte _080FCB44
- .4byte _080FCB6C
- .4byte _080FCB90
- .4byte _080FCBA4
- .4byte _080FCB6C
- .4byte _080FCBCC
- .4byte _080FCBE0
- .4byte _080FCB6C
- .4byte _080FCC08
- .4byte _080FCC38
- .4byte _080FCB6C
-_080FCB2C:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- bne _080FCB38
- b _080FCC82
-_080FCB38:
- ldr r0, =gUnknown_02039F08
- movs r1, 0x8
- b _080FCC16
- .pool
-_080FCB44:
- bl sub_80FC55C
- lsls r0, 24
- cmp r0, 0
- bne _080FCB50
- b _080FCC82
-_080FCB50:
- ldr r0, =gUnknown_02039F08
- ldr r1, =gUnknown_02039F2B
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x8
- b _080FCC50
- .pool
-_080FCB6C:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r3
- ldrh r0, [r2, 0xA]
- adds r1, r0, 0x1
- strh r1, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bgt _080FCB84
- b _080FCC82
-_080FCB84:
- movs r0, 0
- strh r0, [r2, 0xA]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _080FCC82
-_080FCB90:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FCC82
- ldr r0, =gUnknown_02039F10
- movs r1, 0x8
- b _080FCC16
- .pool
-_080FCBA4:
- bl sub_80FC55C
- lsls r0, 24
- cmp r0, 0
- beq _080FCC82
- ldr r0, =gUnknown_02039F10
- ldr r1, =gUnknown_02039F2B
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x8
- b _080FCC50
- .pool
-_080FCBCC:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FCC82
- ldr r0, =gUnknown_02039F18
- movs r1, 0x8
- b _080FCC16
- .pool
-_080FCBE0:
- bl sub_80FC55C
- lsls r0, 24
- cmp r0, 0
- beq _080FCC82
- ldr r0, =gUnknown_02039F18
- ldr r1, =gUnknown_02039F2B
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x8
- b _080FCC50
- .pool
-_080FCC08:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FCC82
- ldr r0, =gContestFinalStandings
- movs r1, 0x4
-_080FCC16:
- bl sub_80FC4F4
- cmp r0, 0x1
- bne _080FCC82
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080FCC82
- .pool
-_080FCC38:
- bl sub_80FC55C
- lsls r0, 24
- cmp r0, 0
- beq _080FCC82
- ldr r0, =gContestFinalStandings
- ldr r1, =gUnknown_02039F2B
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x4
-_080FCC50:
- bl memcpy
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _080FCC82
- .pool
-_080FCC78:
- movs r0, 0
- strh r0, [r2, 0x8]
- adds r0, r4, 0
- bl SwitchTaskToFollowupFunc
-_080FCC82:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FCACC
-
- thumb_func_start sub_80FCC88
-sub_80FCC88: @ 80FCC88
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- adds r3, r1, 0
- cmp r0, 0xB
- bls _080FCCA4
- b _080FCE38
-_080FCCA4:
- lsls r0, 2
- ldr r1, =_080FCCB8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080FCCB8:
- .4byte _080FCCE8
- .4byte _080FCD04
- .4byte _080FCD30
- .4byte _080FCD54
- .4byte _080FCD6C
- .4byte _080FCD30
- .4byte _080FCD98
- .4byte _080FCDB0
- .4byte _080FCD30
- .4byte _080FCDC8
- .4byte _080FCDF8
- .4byte _080FCD30
-_080FCCE8:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- bne _080FCCF4
- b _080FCE42
-_080FCCF4:
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- movs r1, 0x70
- b _080FCDD6
- .pool
-_080FCD04:
- bl sub_80FC55C
- lsls r0, 24
- cmp r0, 0
- bne _080FCD10
- b _080FCE42
-_080FCD10:
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- ldr r1, =gUnknown_02039F2B
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x70
- b _080FCE10
- .pool
-_080FCD30:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r3
- ldrh r0, [r2, 0xA]
- adds r1, r0, 0x1
- strh r1, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bgt _080FCD48
- b _080FCE42
-_080FCD48:
- movs r0, 0
- strh r0, [r2, 0xA]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _080FCE42
-_080FCD54:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FCE42
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- movs r1, 0x14
- b _080FCDD6
- .pool
-_080FCD6C:
- bl sub_80FC55C
- lsls r0, 24
- cmp r0, 0
- beq _080FCE42
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- ldr r1, =gUnknown_02039F2B
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x14
- b _080FCE10
- .pool
-_080FCD98:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FCE42
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- b _080FCDD4
- .pool
-_080FCDB0:
- bl sub_80FC55C
- lsls r0, 24
- cmp r0, 0
- beq _080FCE42
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- b _080FCE04
- .pool
-_080FCDC8:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FCE42
- ldr r0, =gUnknown_02039F26
-_080FCDD4:
- movs r1, 0x4
-_080FCDD6:
- bl sub_80FC4F4
- cmp r0, 0x1
- bne _080FCE42
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080FCE42
- .pool
-_080FCDF8:
- bl sub_80FC55C
- lsls r0, 24
- cmp r0, 0
- beq _080FCE42
- ldr r0, =gUnknown_02039F26
-_080FCE04:
- ldr r1, =gUnknown_02039F2B
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x4
-_080FCE10:
- bl memcpy
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _080FCE42
- .pool
-_080FCE38:
- movs r0, 0
- strh r0, [r2, 0x8]
- adds r0, r4, 0
- bl SwitchTaskToFollowupFunc
-_080FCE42:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FCC88
-
- thumb_func_start sub_80FCE48
-sub_80FCE48: @ 80FCE48
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- mov r8, r0
- adds r0, r6
- lsls r5, r0, 3
- ldr r7, =gTasks + 0x8
- adds r0, r5, r7
- adds r0, 0x18
- bl sub_80FC670
- cmp r0, 0
- beq _080FCF2E
- movs r1, 0x8
- negs r1, r1
- adds r1, r7
- mov r9, r1
- adds r4, r5, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080FCEC0
- cmp r0, 0x1
- bgt _080FCE8C
- cmp r0, 0
- beq _080FCE92
- b _080FCF16
- .pool
-_080FCE8C:
- cmp r0, 0xA
- beq _080FCEFC
- b _080FCF16
-_080FCE92:
- ldr r1, =gBlockSendBuffer
- movs r0, 0x6E
- strb r0, [r1]
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080FCEB8
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FCF2E
- movs r0, 0xA
- strh r0, [r4, 0x8]
- b _080FCF2E
- .pool
-_080FCEB8:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080FCF2E
-_080FCEC0:
- bl sub_80FC55C
- lsls r0, 24
- cmp r0, 0
- beq _080FCF2E
- mov r1, r8
- mov r8, r9
- ldr r4, =gBlockRecvBuffer
- adds r0, r7, 0
- adds r0, 0xA
- adds r2, r5, r0
- movs r5, 0x80
- lsls r5, 1
- movs r3, 0x3
-_080FCEDC:
- ldrh r0, [r4]
- strh r0, [r2]
- adds r4, r5
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _080FCEDC
- adds r1, r6
- lsls r1, 3
- add r1, r8
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080FCF2E
- .pool
-_080FCEFC:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- ble _080FCF2E
- movs r0, 0x2
- bl sub_800A4D8
- movs r0, 0x1
- strh r0, [r4, 0x8]
- b _080FCF2E
-_080FCF16:
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x8]
- strh r0, [r1, 0x1E]
- strh r0, [r1, 0x20]
- adds r0, r6, 0
- bl SwitchTaskToFollowupFunc
-_080FCF2E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FCE48
-
- thumb_func_start sub_80FCF40
-sub_80FCF40: @ 80FCF40
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r4, r0, 3
- ldr r6, =gTasks + 0x8
- adds r0, r4, r6
- adds r0, 0x18
- bl sub_80FC670
- cmp r0, 0
- beq _080FCFBE
- adds r0, r6, 0
- subs r0, 0x8
- adds r4, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080FCF80
- cmp r0, 0x1
- beq _080FCF9C
- movs r0, 0
- strh r0, [r4, 0x8]
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- bl SwitchTaskToFollowupFunc
- b _080FCFBE
- .pool
-_080FCF80:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FCFBE
- ldr r0, =gContestMonConditions
- movs r1, 0x8
- bl sub_80FC4F4
- cmp r0, 0x1
- bne _080FCFBE
- b _080FCFB8
- .pool
-_080FCF9C:
- bl sub_80FC55C
- lsls r0, 24
- cmp r0, 0
- beq _080FCFBE
- ldr r0, =gContestMonConditions
- ldr r1, =gUnknown_02039F2B
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x8
- bl memcpy
-_080FCFB8:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080FCFBE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FCF40
-
- thumb_func_start sub_80FCFD0
-sub_80FCFD0: @ 80FCFD0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r4, r0, 3
- ldr r6, =gTasks + 0x8
- adds r0, r4, r6
- adds r0, 0x18
- bl sub_80FC670
- cmp r0, 0
- beq _080FD04E
- adds r0, r6, 0
- subs r0, 0x8
- adds r4, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080FD010
- cmp r0, 0x1
- beq _080FD02C
- movs r0, 0
- strh r0, [r4, 0x8]
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- bl SwitchTaskToFollowupFunc
- b _080FD04E
- .pool
-_080FD010:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FD04E
- ldr r0, =gUnknown_02039F26
- movs r1, 0x4
- bl sub_80FC4F4
- cmp r0, 0x1
- bne _080FD04E
- b _080FD048
- .pool
-_080FD02C:
- bl sub_80FC55C
- lsls r0, 24
- cmp r0, 0
- beq _080FD04E
- ldr r0, =gUnknown_02039F26
- ldr r1, =gUnknown_02039F2B
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x4
- bl memcpy
-_080FD048:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080FD04E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FCFD0
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/contest_link_81D9DE4.s b/asm/contest_link_81D9DE4.s
deleted file mode 100644
index 5a3393374..000000000
--- a/asm/contest_link_81D9DE4.s
+++ /dev/null
@@ -1,890 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81D9DE4
-sub_81D9DE4: @ 81D9DE4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- cmp r0, 0x4
- bhi _081D9EA4
- lsls r0, 2
- ldr r1, =_081D9E10
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081D9E10:
- .4byte _081D9E24
- .4byte _081D9E44
- .4byte _081D9E64
- .4byte _081D9E84
- .4byte _081D9EA4
-_081D9E24:
- ldr r4, =gUnknown_02039F31
- ldr r0, =gUnknown_02039F24
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x32
- b _081D9EB4
- .pool
-_081D9E44:
- ldr r4, =gUnknown_02039F31
- ldr r0, =gUnknown_02039F24
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x33
- b _081D9EB4
- .pool
-_081D9E64:
- ldr r4, =gUnknown_02039F31
- ldr r0, =gUnknown_02039F24
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x34
- b _081D9EB4
- .pool
-_081D9E84:
- ldr r4, =gUnknown_02039F31
- ldr r0, =gUnknown_02039F24
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x35
- b _081D9EB4
- .pool
-_081D9EA4:
- ldr r4, =gUnknown_02039F31
- ldr r0, =gUnknown_02039F24
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x36
-_081D9EB4:
- bl GetMonData
- strb r0, [r4]
- ldr r5, =gContestMons
- ldr r4, =gContestPlayerMonIndex
- ldrb r0, [r4]
- lsls r0, 6
- adds r0, r5
- ldr r1, =gUnknown_02039F31
- ldrb r1, [r1]
- adds r0, 0x2C
- strb r1, [r0]
- ldr r0, =0x00000864 @ = FLAG_SYS_GAME_CLEAR
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- negs r0, r0
- lsrs r0, 31
- ldrb r1, [r4]
- lsls r1, 6
- adds r1, r5
- adds r1, 0x2D
- strb r0, [r1]
- ldr r1, =sub_81DA160
- ldr r2, =sub_81D9F14
- adds r0, r6, 0
- bl SetTaskFuncWithFollowupFunc
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D9DE4
-
- thumb_func_start sub_81D9F14
-sub_81D9F14: @ 81D9F14
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =sub_81DA244
- ldr r2, =sub_81D9F30
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D9F14
-
- thumb_func_start sub_81D9F30
-sub_81D9F30: @ 81D9F30
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =sub_81DA2E8
- ldr r2, =sub_81D9F4C
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D9F30
-
- thumb_func_start sub_81D9F4C
-sub_81D9F4C: @ 81D9F4C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =sub_81DA3B8
- ldr r2, =sub_81D9F68
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D9F4C
-
- thumb_func_start sub_81D9F68
-sub_81D9F68: @ 81D9F68
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r3, 0
- ldr r5, =gUnknown_02039F30
- mov r8, r5
- ldr r0, =gSpecialVar_0x8004
- mov r12, r0
- add r1, sp, 0x4
- mov r9, r1
- ldrb r4, [r5]
- cmp r3, r4
- bcs _081D9FB2
- lsls r0, r6, 2
- adds r0, r6
- lsls r4, r0, 3
- ldr r7, =gTasks + 0x8
-_081D9F98:
- mov r0, sp
- adds r2, r0, r3
- adds r1, r3, 0x1
- lsls r0, r1, 1
- adds r0, r4
- adds r0, r7
- ldrh r0, [r0]
- strb r0, [r2]
- lsls r1, 24
- lsrs r3, r1, 24
- ldrb r1, [r5]
- cmp r3, r1
- bcc _081D9F98
-_081D9FB2:
- movs r3, 0
- mov r4, r8
- ldrb r0, [r4]
- cmp r3, r0
- bcs _081D9FD6
- adds r4, r0, 0
- mov r2, sp
-_081D9FC0:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r4
- bcs _081D9FD6
- mov r7, sp
- adds r1, r7, r3
- ldrb r0, [r2]
- ldrb r1, [r1]
- cmp r0, r1
- beq _081D9FC0
-_081D9FD6:
- mov r0, r8
- ldrb r0, [r0]
- cmp r3, r0
- bne _081D9FF4
- movs r0, 0
- mov r1, r12
- strh r0, [r1]
- b _081D9FFA
- .pool
-_081D9FF4:
- movs r0, 0x1
- mov r4, r12
- strh r0, [r4]
-_081D9FFA:
- movs r3, 0
- mov r7, r8
- mov r0, r8
- ldrb r0, [r0]
- cmp r3, r0
- bcs _081DA02A
- mov r4, r9
- lsls r0, r6, 2
- adds r0, r6
- lsls r2, r0, 3
- ldr r5, =gTasks + 0x8
-_081DA010:
- adds r1, r4, r3
- adds r0, r3, 0x5
- lsls r0, 1
- adds r0, r2
- adds r0, r5
- ldrh r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r1, [r7]
- cmp r3, r1
- bcc _081DA010
-_081DA02A:
- mov r4, r8
- ldrb r0, [r4]
- cmp r0, 0x4
- beq _081DA0B8
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _081DA0B8
- ldr r0, =gContestMons
- adds r1, r0, 0
- adds r1, 0x2C
- ldrb r2, [r1]
- movs r3, 0x1
- ldrb r1, [r4]
- adds r5, r0, 0
- cmp r3, r1
- bcs _081DA06C
- adds r4, r5, 0
- mov r7, r8
- ldrb r1, [r7]
-_081DA054:
- lsls r0, r3, 6
- adds r0, r4
- adds r0, 0x2C
- ldrb r7, [r0]
- cmp r2, r7
- bcs _081DA062
- ldrb r2, [r0]
-_081DA062:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r1
- bcc _081DA054
-_081DA06C:
- cmp r2, 0
- beq _081DA076
- subs r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_081DA076:
- movs r4, 0x1
- movs r3, 0
- mov r0, r8
- ldrb r0, [r0]
- cmp r3, r0
- bcs _081DA0AC
- adds r0, r5, 0
- b _081DA0A2
- .pool
-_081DA090:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- mov r1, r8
- ldrb r1, [r1]
- cmp r3, r1
- bcs _081DA0AC
- lsls r0, r3, 6
- adds r0, r5
-_081DA0A2:
- adds r0, 0x2D
- ldrb r0, [r0]
- cmp r0, 0
- bne _081DA090
- movs r4, 0
-_081DA0AC:
- mov r0, sp
- ldrb r0, [r0]
- adds r1, r2, 0
- adds r2, r4, 0
- bl sub_80DACBC
-_081DA0B8:
- mov r0, r9
- bl sub_80F86E0
- ldr r1, =gUnknown_02039F2B
- strb r0, [r1]
- ldr r0, =gUnknown_02039F30
- ldrb r0, [r0]
- cmp r0, 0x3
- bhi _081DA0E8
- ldr r1, =sub_81DA488
- ldr r2, =sub_81DA10C
- adds r0, r6, 0
- bl SetTaskFuncWithFollowupFunc
- b _081DA0F6
- .pool
-_081DA0E8:
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81DA10C
- str r0, [r1]
-_081DA0F6:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D9F68
-
- thumb_func_start sub_81DA10C
-sub_81DA10C: @ 81DA10C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gSpecialVar_ContestCategory
- ldrb r0, [r0]
- bl sub_80DB09C
- ldr r1, =sub_80FCF40
- ldr r2, =sub_81DA138
- adds r0, r4, 0
- bl SetTaskFuncWithFollowupFunc
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81DA10C
-
- thumb_func_start sub_81DA138
-sub_81DA138: @ 81DA138
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_80DCE58
- ldr r1, =sub_80FCFD0
- ldr r2, =sub_80F8714
- adds r0, r4, 0
- bl SetTaskFuncWithFollowupFunc
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81DA138
-
- thumb_func_start sub_81DA160
-sub_81DA160: @ 81DA160
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r6, r7, 2
- adds r0, r6, r7
- lsls r4, r0, 3
- ldr r5, =gTasks + 0x8
- adds r0, r4, r5
- adds r0, 0x18
- bl sub_80FC670
- cmp r0, 0
- beq _081DA224
- adds r0, r5, 0
- subs r0, 0x8
- adds r4, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081DA1A4
- cmp r0, 0x1
- beq _081DA1D4
- movs r0, 0
- strh r0, [r4, 0x8]
- strh r0, [r4, 0x20]
- adds r0, r7, 0
- bl SwitchTaskToFollowupFunc
- b _081DA224
- .pool
-_081DA1A4:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _081DA224
- ldr r0, =gContestPlayerMonIndex
- ldrb r0, [r0]
- lsls r0, 6
- ldr r1, =gContestMons
- adds r0, r1
- movs r1, 0x40
- bl sub_80FC4F4
- cmp r0, 0x1
- bne _081DA224
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _081DA224
- .pool
-_081DA1D4:
- bl sub_80FC55C
- lsls r0, 24
- cmp r0, 0
- beq _081DA224
- movs r5, 0
- ldr r0, =gUnknown_02039F30
- mov r8, r6
- ldrb r0, [r0]
- cmp r5, r0
- bge _081DA214
- ldr r6, =gLinkPlayers
-_081DA1EC:
- lsls r4, r5, 6
- ldr r0, =gContestMons
- adds r4, r0
- lsls r1, r5, 8
- ldr r0, =gBlockRecvBuffer
- adds r1, r0
- adds r0, r4, 0
- movs r2, 0x40
- bl memcpy
- ldrh r1, [r6, 0x1A]
- adds r0, r4, 0
- bl sub_80DFA08
- adds r6, 0x1C
- adds r5, 0x1
- ldr r0, =gUnknown_02039F30
- ldrb r0, [r0]
- cmp r5, r0
- blt _081DA1EC
-_081DA214:
- ldr r0, =gTasks
- mov r2, r8
- adds r1, r2, r7
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_081DA224:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81DA160
-
- thumb_func_start sub_81DA244
-sub_81DA244: @ 81DA244
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r5, r0, 3
- ldr r6, =gTasks + 0x8
- adds r0, r5, r6
- adds r0, 0x18
- bl sub_80FC670
- cmp r0, 0
- beq _081DA2D4
- adds r0, r6, 0
- subs r0, 0x8
- adds r5, r0
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _081DA284
- cmp r0, 0x1
- beq _081DA2AC
- movs r0, 0
- strh r0, [r5, 0x8]
- strh r0, [r5, 0x20]
- adds r0, r4, 0
- bl SwitchTaskToFollowupFunc
- b _081DA2D4
- .pool
-_081DA284:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _081DA2CE
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _081DA2D4
- ldr r0, =gRngValue
- movs r1, 0x4
- bl sub_80FC4F4
- cmp r0, 0x1
- bne _081DA2D4
- b _081DA2CE
- .pool
-_081DA2AC:
- movs r0, 0
- bl sub_80FC530
- lsls r0, 24
- cmp r0, 0
- beq _081DA2D4
- ldr r0, =gRngValue
- ldr r4, =gBlockRecvBuffer
- adds r1, r4, 0
- movs r2, 0x4
- bl memcpy
- ldr r0, =gContestRngValue
- adds r1, r4, 0
- movs r2, 0x4
- bl memcpy
-_081DA2CE:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_081DA2D4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81DA244
-
- thumb_func_start sub_81DA2E8
-sub_81DA2E8: @ 81DA2E8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- mov r9, r0
- adds r0, r6
- lsls r5, r0, 3
- ldr r1, =gTasks + 0x8
- mov r8, r1
- adds r0, r5, r1
- adds r0, 0x18
- bl sub_80FC670
- cmp r0, 0
- beq _081DA39E
- movs r0, 0x8
- negs r0, r0
- add r0, r8
- mov r10, r0
- adds r4, r5, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081DA338
- cmp r0, 0x1
- beq _081DA35A
- movs r0, 0
- strh r0, [r4, 0x8]
- strh r0, [r4, 0x20]
- adds r0, r6, 0
- bl SwitchTaskToFollowupFunc
- b _081DA39E
- .pool
-_081DA338:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _081DA39E
- add r0, sp, 0x8
- movs r1, 0x6E
- strh r1, [r0]
- movs r1, 0x2
- bl sub_80FC4F4
- cmp r0, 0x1
- bne _081DA39E
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _081DA39E
-_081DA35A:
- bl sub_80FC55C
- lsls r0, 24
- cmp r0, 0
- beq _081DA39E
- movs r1, 0
- ldr r7, =gUnknown_02039F30
- ldrb r0, [r7]
- cmp r1, r0
- bge _081DA390
- mov r0, r8
- adds r0, 0xA
- adds r3, r5, r0
- ldr r4, =gBlockRecvBuffer
- mov r2, sp
- movs r5, 0x80
- lsls r5, 1
-_081DA37C:
- ldrh r0, [r4]
- strh r0, [r2]
- strh r0, [r3]
- adds r3, 0x2
- adds r4, r5
- adds r2, 0x2
- adds r1, 0x1
- ldrb r0, [r7]
- cmp r1, r0
- blt _081DA37C
-_081DA390:
- mov r0, r9
- adds r1, r0, r6
- lsls r1, 3
- add r1, r10
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_081DA39E:
- 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_81DA2E8
-
- thumb_func_start sub_81DA3B8
-sub_81DA3B8: @ 81DA3B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- mov r9, r0
- adds r0, r6
- lsls r5, r0, 3
- ldr r1, =gTasks + 0x8
- mov r8, r1
- adds r0, r5, r1
- adds r0, 0x18
- bl sub_80FC670
- cmp r0, 0
- beq _081DA46E
- movs r0, 0x8
- negs r0, r0
- add r0, r8
- mov r10, r0
- adds r4, r5, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081DA408
- cmp r0, 0x1
- beq _081DA42A
- movs r0, 0
- strh r0, [r4, 0x8]
- strh r0, [r4, 0x20]
- adds r0, r6, 0
- bl SwitchTaskToFollowupFunc
- b _081DA46E
- .pool
-_081DA408:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _081DA46E
- ldrh r1, [r4, 0x1A]
- add r0, sp, 0x8
- strh r1, [r0]
- movs r1, 0x2
- bl sub_80FC4F4
- cmp r0, 0x1
- bne _081DA46E
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _081DA46E
-_081DA42A:
- bl sub_80FC55C
- lsls r0, 24
- cmp r0, 0
- beq _081DA46E
- movs r1, 0
- ldr r7, =gUnknown_02039F30
- ldrb r0, [r7]
- cmp r1, r0
- bge _081DA460
- mov r0, r8
- adds r0, 0x2
- adds r3, r5, r0
- ldr r4, =gBlockRecvBuffer
- mov r2, sp
- movs r5, 0x80
- lsls r5, 1
-_081DA44C:
- ldrh r0, [r4]
- strh r0, [r2]
- strh r0, [r3]
- adds r3, 0x2
- adds r4, r5
- adds r2, 0x2
- adds r1, 0x1
- ldrb r0, [r7]
- cmp r1, r0
- blt _081DA44C
-_081DA460:
- mov r0, r9
- adds r1, r0, r6
- lsls r1, 3
- add r1, r10
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_081DA46E:
- 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_81DA3B8
-
- thumb_func_start sub_81DA488
-sub_81DA488: @ 81DA488
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r7, r6, 2
- adds r0, r7, r6
- lsls r4, r0, 3
- ldr r5, =gTasks + 0x8
- adds r0, r4, r5
- adds r0, 0x18
- bl sub_80FC670
- cmp r0, 0
- beq _081DA55C
- adds r0, r5, 0
- subs r0, 0x8
- adds r4, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081DA4CC
- cmp r0, 0x1
- beq _081DA50C
- movs r0, 0
- strh r0, [r4, 0x8]
- strh r0, [r4, 0x20]
- adds r0, r6, 0
- bl SwitchTaskToFollowupFunc
- b _081DA55C
- .pool
-_081DA4CC:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _081DA4FA
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _081DA55C
- ldr r0, =gUnknown_02039F30
- ldrb r2, [r0]
- lsls r0, r2, 6
- ldr r1, =gContestMons
- adds r0, r1
- movs r1, 0x4
- subs r1, r2
- lsls r1, 22
- lsrs r1, 16
- bl sub_80FC4F4
- cmp r0, 0x1
- bne _081DA55C
-_081DA4FA:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _081DA55C
- .pool
-_081DA50C:
- movs r0, 0
- bl sub_80FC530
- lsls r0, 24
- cmp r0, 0
- beq _081DA55C
- ldr r4, =gUnknown_02039F30
- ldrb r3, [r4]
- lsls r0, r3, 6
- ldr r5, =gContestMons
- adds r0, r5
- ldr r1, =gBlockRecvBuffer
- movs r2, 0x4
- subs r2, r3
- lsls r2, 6
- bl memcpy
- ldrb r4, [r4]
- mov r8, r7
- cmp r4, 0x3
- bgt _081DA54C
- lsls r0, r4, 6
- adds r5, r0, r5
- ldr r7, =gLinkPlayers
-_081DA53C:
- ldrh r1, [r7, 0x1A]
- adds r0, r5, 0
- bl sub_80DFA08
- adds r5, 0x40
- adds r4, 0x1
- cmp r4, 0x3
- ble _081DA53C
-_081DA54C:
- ldr r0, =gTasks
- mov r2, r8
- adds r1, r2, r6
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_081DA55C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81DA488
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 1c0c18f7e..91682a780 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -8173,7 +8173,7 @@ _081CAFA4:
ldrh r0, [r1, 0x1E]
bl GetTrainerIdxByRematchIdx
ldr r1, =gStringVar4
- bl sub_81967AC
+ bl SelectMatchCallMessage
strb r0, [r6]
b _081CAFCC
.pool
diff --git a/asm/roulette.s b/asm/roulette.s
deleted file mode 100644
index 4174924e6..000000000
--- a/asm/roulette.s
+++ /dev/null
@@ -1,9634 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8140238
-sub_8140238: @ 8140238
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xB8
- ldrb r0, [r1]
- cmp r0, 0
- beq _0814025A
- adds r0, r1, 0
- bl task_tutorial_controls_fadein
-_0814025A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140238
-
- thumb_func_start sub_8140264
-sub_8140264: @ 8140264
- push {r4,lr}
- sub sp, 0x4
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- bl sub_8142814
- ldr r4, =gUnknown_0203AB88
- ldr r0, [r4]
- ldrh r0, [r0, 0x26]
- movs r2, 0x80
- lsls r2, 2
- adds r1, r2, 0
- subs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x14
- bl SetGpuReg
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- beq _081402A0
- ldrh r1, [r1, 0x34]
- movs r0, 0x52
- bl SetGpuReg
-_081402A0:
- ldr r2, [r4]
- movs r3, 0x2A
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _081402C0
- ldr r1, =0x040000d4
- ldr r3, =0x0000133c
- adds r0, r2, r3
- str r0, [r1]
- ldr r0, =0x060021c0
- str r0, [r1, 0x4]
- ldr r0, =0x800001a0
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0
- strh r0, [r2, 0x2A]
-_081402C0:
- ldr r0, [r4]
- movs r2, 0x28
- ldrsh r1, [r0, r2]
- cmp r1, 0x1
- beq _081402EC
- cmp r1, 0x1
- ble _08140374
- cmp r1, 0x2
- beq _08140324
- cmp r1, 0xFF
- beq _08140348
- b _08140374
- .pool
-_081402EC:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0
- bl ShowBg
- ldr r1, =0x040000d4
- ldr r2, [r4]
- movs r3, 0xCF
- lsls r3, 2
- adds r0, r2, r3
- str r0, [r1]
- ldr r0, =0x0600f9c0
- str r0, [r1, 0x4]
- ldr r0, =0x800001a0
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0x2
- strh r0, [r2, 0x28]
- b _08140374
- .pool
-_08140324:
- ldr r1, =0x040000d4
- movs r2, 0xCF
- lsls r2, 2
- adds r0, r2
- str r0, [r1]
- ldr r0, =0x0600f9c0
- str r0, [r1, 0x4]
- ldr r0, =0x800001a0
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- b _08140374
- .pool
-_08140348:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x2
- bl SetBgAttribute
- movs r0, 0
- bl ShowBg
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, =0x040000d4
- mov r3, sp
- str r3, [r1]
- ldr r0, =0x0600f9c0
- str r0, [r1, 0x4]
- ldr r0, =0x810001a0
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, [r4]
- movs r0, 0
- strh r0, [r1, 0x28]
-_08140374:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140264
-
- thumb_func_start sub_8140388
-sub_8140388: @ 8140388
- push {r4,r5,lr}
- sub sp, 0x4
- movs r5, 0
- str r5, [sp]
- ldr r4, =gUnknown_0203AB88
- movs r0, 0xE6
- lsls r0, 6
- bl AllocZeroed
- str r0, [r4]
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085B6140
- movs r0, 0x1
- movs r2, 0x3
- bl InitBgsFromTemplates
- ldr r1, [r4]
- movs r0, 0xBE
- lsls r0, 1
- adds r1, r0
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r2, =0x0000117c
- adds r1, r2
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x0000317c
- adds r1, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- ldr r0, =gUnknown_085B614C
- bl InitWindows
- bl sub_8197200
- ldr r0, =gUnknown_0203AB8C
- strb r5, [r0]
- ldr r0, =gUnknown_085B5DFC
- mov r1, sp
- bl malloc_and_decompress
- ldr r1, [r4]
- ldr r2, =0x0000397c
- adds r1, r2
- str r0, [r1]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140388
-
- thumb_func_start sub_8140418
-sub_8140418: @ 8140418
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203AB88
- ldr r0, [r5]
- ldr r4, =0x0000397c
- adds r0, r4
- ldr r0, [r0]
- bl Free
- ldr r0, [r5]
- adds r0, r4
- movs r4, 0
- str r4, [r0]
- bl FreeAllWindowBuffers
- movs r0, 0
- bl UnsetBgTilemapBuffer
- movs r0, 0x1
- bl UnsetBgTilemapBuffer
- movs r0, 0x2
- bl UnsetBgTilemapBuffer
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r0, [r5]
- movs r2, 0xE6
- lsls r2, 6
- movs r1, 0
- bl memset
- ldr r0, [r5]
- bl Free
- str r4, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140418
-
- thumb_func_start sub_8140470
-sub_8140470: @ 8140470
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r1, =gUnknown_085B6418
- mov r0, sp
- movs r2, 0x6
- bl memcpy
- ldr r5, =gUnknown_0203AB88
- ldr r3, [r5]
- ldr r4, =gSpecialVar_0x8004
- ldrb r0, [r4]
- movs r1, 0x1
- ands r1, r0
- ldrb r2, [r3, 0x4]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x4]
- ldrh r1, [r4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081404AA
- ldr r0, [r5]
- ldrb r1, [r0, 0x4]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0, 0x4]
-_081404AA:
- ldr r1, [r5]
- ldr r2, =gUnknown_085B6348
- ldrb r0, [r1, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r2
- ldrb r0, [r0, 0x3]
- adds r1, 0x22
- strb r0, [r1]
- ldr r1, [r5]
- ldrb r0, [r1, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r2
- ldrb r0, [r0, 0x4]
- adds r1, 0x23
- strb r0, [r1]
- ldr r2, [r5]
- ldr r3, =gUnknown_085B6344
- ldrb r1, [r2, 0x4]
- lsls r0, r1, 30
- lsrs r0, 30
- lsrs r1, 7
- lsls r1, 1
- adds r0, r1
- adds r0, r3
- ldrb r0, [r0]
- strb r0, [r2, 0x19]
- ldr r2, [r5]
- ldrb r1, [r2, 0x1A]
- movs r0, 0xF
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r2, 0x1A]
- ldr r0, [r5]
- ldrb r0, [r0, 0x19]
- cmp r0, 0x1
- bne _08140520
- ldr r4, =gPlttBufferUnfaded
- ldr r3, =gPlttBufferFaded
- mov r0, sp
- ldrh r2, [r0]
- b _08140528
- .pool
-_08140520:
- ldr r4, =gPlttBufferUnfaded
- ldr r3, =gPlttBufferFaded
- mov r0, sp
- ldrh r2, [r0, 0x2]
-_08140528:
- adds r0, r3, 0
- adds r0, 0xA2
- strh r2, [r0]
- ldr r1, =0x0000ffff
- adds r0, r1, 0
- ands r0, r2
- strh r0, [r3]
- ands r0, r1
- adds r2, r4, 0
- adds r2, 0xA2
- strh r0, [r2]
- ands r0, r1
- strh r0, [r4]
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- adds r0, 0xB8
- bl sub_8151678
- movs r4, 0
-_0814054E:
- ldr r5, =gUnknown_0203AB88
- ldr r0, [r5]
- adds r0, 0xB8
- lsls r2, r4, 3
- ldr r1, =gUnknown_085B6388
- adds r2, r1
- adds r1, r4, 0
- bl sub_815168C
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xC
- bls _0814054E
- movs r4, 0
-_0814056C:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x41
- bl GetMonData
- adds r1, r0, 0
- movs r0, 0x98
- lsls r0, 1
- cmp r1, r0
- beq _081405AC
- adds r0, 0x2
- cmp r1, r0
- bne _081405B6
- ldr r0, [r5]
- ldrb r1, [r0, 0x2]
- movs r2, 0x1
- b _081405B2
- .pool
-_081405AC:
- ldr r0, [r5]
- ldrb r1, [r0, 0x2]
- movs r2, 0x2
-_081405B2:
- orrs r1, r2
- strb r1, [r0, 0x2]
-_081405B6:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0814056C
- bl RtcCalcLocalTime
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8140470
-
- thumb_func_start sub_81405CC
-sub_81405CC: @ 81405CC
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x8
- bls _081405E0
- b _081407F8
-_081405E0:
- lsls r0, 2
- ldr r1, =_081405F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081405F4:
- .4byte _08140618
- .4byte _08140630
- .4byte _08140650
- .4byte _08140662
- .4byte _0814069C
- .4byte _081406C0
- .4byte _081406E0
- .4byte _08140750
- .4byte _0814077A
-_08140618:
- movs r0, 0
- bl SetVBlankCallback
- bl ScanlineEffect_Stop
- bl SetVBlankHBlankCallbacksToNull
- bl ResetVramOamAndBgCntRegs
- bl ResetAllBgsCoordinates
- b _081407F8
-_08140630:
- bl sub_8140388
- bl DeactivateAllTextPrinters
- movs r1, 0x90
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x0000060a
- movs r0, 0x52
- bl SetGpuReg
- b _081407F8
- .pool
-_08140650:
- bl ResetPaletteFade
- bl ResetSpriteData
- bl ResetTasks
- bl reset_temp_tile_data_buffers
- b _081407F8
-_08140662:
- ldr r0, =gUnknown_085B5BFC
- movs r2, 0xE0
- lsls r2, 1
- movs r1, 0
- bl LoadPalette
- ldr r1, =gRouletteMenuTiles
- movs r4, 0
- str r4, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r1, =gRouletteWheelTiles
- str r4, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- b _081407F8
- .pool
-_0814069C:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- cmp r0, 0
- beq _081406A8
- b _08140806
-_081406A8:
- bl sub_8140470
- ldr r1, =gUnknown_085B5FA0
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- b _081407F8
- .pool
-_081406C0:
- movs r0, 0
- bl sub_8142C0C
- bl sub_81439C8
- bl sub_814391C
- bl sub_8143314
- bl sub_8142CD0
- bl sub_8142F7C
- bl sub_81431E4
- b _081407F8
-_081406E0:
- bl AnimateSprites
- bl BuildOamBuffer
- bl GetCoins
- lsls r0, 16
- lsrs r0, 16
- bl sub_8143514
- movs r0, 0x6
- bl sub_814372C
- movs r0, 0
- bl sub_81436D0
- movs r0, 0
- bl sub_81424FC
- ldr r4, =gUnknown_0203AB8C
- ldrb r0, [r4]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r4]
- ldr r2, =gUnknown_082A5B89
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r5, 0
- str r5, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldrb r0, [r4]
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r1, =gSpriteCoordOffsetX
- movs r2, 0x3C
- negs r2, r2
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, =gSpriteCoordOffsetY
- strh r5, [r0]
- b _081407F8
- .pool
-_08140750:
- 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
- b _081407F8
-_0814077A:
- movs r0, 0x1
- bl EnableInterrupts
- ldr r0, =sub_8140264
- bl SetVBlankCallback
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginHardwarePaletteFade
- ldr r0, =sub_81408A8
- movs r1, 0
- bl CreateTask
- ldr r5, =gUnknown_0203AB88
- ldr r1, [r5]
- adds r1, 0xA4
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- movs r0, 0x6
- strh r0, [r4, 0x14]
- bl GetCoins
- strh r0, [r4, 0x22]
- bl GetCoins
- lsls r0, 16
- lsrs r0, 16
- bl sub_80EDE84
- ldr r0, =sub_8140814
- movs r1, 0x1
- bl CreateTask
- ldr r1, [r5]
- adds r1, 0xA5
- strb r0, [r1]
- ldr r0, =sub_8140238
- bl SetMainCallback2
- b _08140806
- .pool
-_081407F8:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08140806:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81405CC
-
- thumb_func_start sub_8140814
-sub_8140814: @ 8140814
- push {r4-r6,lr}
- ldr r3, =gUnknown_0203AB88
- ldr r0, [r3]
- adds r0, 0x21
- ldrb r2, [r0]
- adds r1, r2, 0x1
- strb r1, [r0]
- ldr r1, [r3]
- adds r0, r1, 0
- adds r0, 0x23
- lsls r2, 24
- lsrs r2, 24
- adds r6, r3, 0
- ldrb r0, [r0]
- cmp r2, r0
- bne _0814085A
- adds r1, 0x21
- movs r0, 0
- strb r0, [r1]
- ldr r2, [r6]
- adds r3, r2, 0
- adds r3, 0x22
- ldrb r1, [r3]
- ldrh r0, [r2, 0x24]
- subs r0, r1
- strh r0, [r2, 0x24]
- lsls r0, 16
- cmp r0, 0
- bge _0814085A
- ldrb r1, [r3]
- movs r3, 0xB4
- lsls r3, 1
- adds r0, r3, 0
- subs r0, r1
- strh r0, [r2, 0x24]
-_0814085A:
- adds r4, r6, 0
- ldr r0, [r4]
- ldrh r0, [r0, 0x24]
- bl Sin2
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, [r4]
- ldrh r0, [r0, 0x24]
- bl Cos2
- lsls r0, 16
- lsrs r1, r0, 16
- lsls r0, r5, 16
- asrs r0, 16
- cmp r0, 0
- bge _0814087E
- adds r0, 0xF
-_0814087E:
- lsls r0, 12
- lsrs r5, r0, 16
- ldr r3, [r6]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0
- bge _0814088E
- adds r0, 0xF
-_0814088E:
- asrs r0, 4
- strh r0, [r3, 0x32]
- strh r0, [r3, 0x2C]
- strh r5, [r3, 0x2E]
- lsls r0, r5, 16
- asrs r0, 16
- negs r0, r0
- strh r0, [r3, 0x30]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140814
-
- thumb_func_start sub_81408A8
-sub_81408A8: @ 81408A8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl UpdatePaletteFade
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _081408FE
- movs r1, 0x90
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x00000808
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x14]
- adds r0, r4, 0
- bl sub_8141FF4
- bl sub_8142070
- bl sub_8143A40
- movs r0, 0
- bl sub_81424FC
- movs r0, 0x6
- bl sub_814372C
- ldr r1, =sub_8140968
- ldr r2, =0x0000ffff
- adds r0, r4, 0
- movs r3, 0x3
- bl sub_8141F7C
-_081408FE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81408A8
-
- thumb_func_start sub_8140914
-sub_8140914: @ 8140914
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl DisplayYesNoMenu
- ldr r5, =gUnknown_0203AB8C
- ldrb r0, [r5]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r5]
- ldr r2, =gUnknown_082A5C13
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldrb r0, [r5]
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r1, =gUnknown_085B6410
- adds r0, r4, 0
- bl sub_8121F68
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140914
-
- thumb_func_start sub_8140968
-sub_8140968: @ 8140968
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0x1
- bl sub_819746C
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_8140BD0
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140968
-
- thumb_func_start sub_8140994
-sub_8140994: @ 8140994
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- adds r0, 0xA5
- ldrb r0, [r0]
- bl DestroyTask
- adds r0, r4, 0
- bl sub_8141DE4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140994
-
- thumb_func_start sub_81409B8
-sub_81409B8: @ 81409B8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _081409CA
- b _08140AE8
-_081409CA:
- lsls r0, r4, 2
- ldr r1, =_081409D8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081409D8:
- .4byte _08140A18
- .4byte _08140A3C
- .4byte _08140A3C
- .4byte _08140A3C
- .4byte _08140A3C
- .4byte _08140A90
- .4byte _08140AE8
- .4byte _08140AE8
- .4byte _08140AE8
- .4byte _08140AE8
- .4byte _08140A90
- .4byte _08140AE8
- .4byte _08140AE8
- .4byte _08140AE8
- .4byte _08140AE8
- .4byte _08140A90
-_08140A18:
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- movs r1, 0xBE
- lsls r1, 1
- adds r0, r1
- movs r1, 0x10
- str r1, [sp]
- movs r1, 0xD
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xE
- movs r3, 0x7
- bl sub_8152008
- b _08140B4E
- .pool
-_08140A3C:
- lsls r0, r4, 1
- adds r0, r4
- adds r0, 0xE
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r5, =gUnknown_0203AB88
- ldr r0, [r5]
- movs r4, 0xBE
- lsls r4, 1
- adds r0, r4
- movs r1, 0x10
- str r1, [sp]
- movs r6, 0xD
- str r6, [sp, 0x4]
- movs r1, 0
- movs r2, 0xE
- movs r3, 0x7
- bl sub_8152008
- ldr r0, [r5]
- adds r4, r0, r4
- ldr r1, =0x0000397c
- adds r0, r1
- ldr r1, [r0]
- ldr r0, =0x00000232
- adds r1, r0
- movs r0, 0x3
- str r0, [sp]
- str r6, [sp, 0x4]
- adds r0, r4, 0
- mov r2, r8
- movs r3, 0x7
- bl sub_8152058
- b _08140B4E
- .pool
-_08140A90:
- subs r0, r4, 0x1
- movs r1, 0x5
- bl __divsi3
- lsls r1, r0, 1
- adds r1, r0
- adds r1, 0xA
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r5, =gUnknown_0203AB88
- ldr r0, [r5]
- movs r4, 0xBE
- lsls r4, 1
- adds r0, r4
- movs r6, 0x10
- str r6, [sp]
- movs r1, 0xD
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xE
- movs r3, 0x7
- bl sub_8152008
- ldr r0, [r5]
- adds r4, r0, r4
- ldr r1, =0x0000397c
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0xA0
- lsls r0, 2
- adds r1, r0
- str r6, [sp]
- movs r0, 0x3
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r2, 0xE
- adds r3, r7, 0
- bl sub_8152058
- b _08140B4E
- .pool
-_08140AE8:
- adds r0, r4, 0
- movs r1, 0x5
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- adds r1, 0xE
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- subs r0, r4, 0x1
- movs r1, 0x5
- bl __divsi3
- lsls r1, r0, 1
- adds r1, r0
- adds r1, 0x7
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r5, =gUnknown_0203AB88
- ldr r0, [r5]
- movs r4, 0xBE
- lsls r4, 1
- adds r0, r4
- movs r1, 0x10
- str r1, [sp]
- movs r1, 0xD
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xE
- movs r3, 0x7
- bl sub_8152008
- ldr r0, [r5]
- adds r4, r0, r4
- ldr r1, =0x0000397c
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x88
- lsls r0, 2
- adds r1, r0
- movs r0, 0x3
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- mov r2, r8
- adds r3, r7, 0
- bl sub_8152058
-_08140B4E:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81409B8
-
- thumb_func_start sub_8140B64
-sub_8140B64: @ 8140B64
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldrb r0, [r4, 0x10]
- bl sub_81436D0
- ldrb r0, [r4, 0x10]
- bl sub_81409B8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140B64
-
- thumb_func_start sub_8140B8C
-sub_8140B8C: @ 8140B8C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0203AB88
- ldr r2, [r5]
- movs r6, 0
- movs r1, 0x1
- strh r1, [r2, 0x28]
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldrb r0, [r4, 0x10]
- bl sub_81409B8
- ldr r0, [r5]
- adds r0, 0x23
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, 0x21
- strb r6, [r0]
- ldr r0, =sub_8141040
- str r0, [r4]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140B8C
-
- thumb_func_start sub_8140BD0
-sub_8140BD0: @ 8140BD0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gUnknown_0203AB88
- ldr r0, [r1]
- ldr r2, [r0, 0x8]
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _08140C30
- movs r3, 0xB
- ldr r5, =gUnknown_085B6154
- adds r0, r5, 0
- adds r0, 0xE4
- ldr r0, [r0]
- ands r2, r0
- ldr r0, =gTasks
- mov r12, r0
- lsls r7, r6, 2
- cmp r2, 0
- beq _08140C6E
- adds r4, r1, 0
- adds r5, 0x8
-_08140BFE:
- lsls r0, r3, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r3, r0, 16
- asrs r2, r0, 16
- cmp r2, 0xD
- bgt _08140C6E
- ldr r1, [r4]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- adds r0, r5
- ldr r1, [r1, 0x8]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _08140BFE
- b _08140C6E
- .pool
-_08140C30:
- movs r3, 0x6
- ldr r5, =gUnknown_085B6154
- adds r0, r5, 0
- adds r0, 0x80
- ldr r0, [r0]
- ands r2, r0
- ldr r0, =gTasks
- mov r12, r0
- lsls r7, r6, 2
- cmp r2, 0
- beq _08140C6E
- adds r4, r1, 0
- adds r5, 0x8
-_08140C4A:
- lsls r0, r3, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r3, r0, 16
- asrs r2, r0, 16
- cmp r2, 0x9
- bgt _08140C6E
- ldr r1, [r4]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- adds r0, r5
- ldr r1, [r1, 0x8]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _08140C4A
-_08140C6E:
- adds r4, r7, r6
- lsls r4, 3
- add r4, r12
- movs r5, 0
- strh r3, [r4, 0x10]
- adds r0, r6, 0
- bl sub_8141FF4
- ldrb r0, [r4, 0x10]
- bl sub_81424FC
- ldrb r0, [r4, 0x10]
- bl sub_81436D0
- ldrb r0, [r4, 0x10]
- bl sub_8142284
- strh r5, [r4, 0xA]
- ldr r0, =sub_8140B8C
- str r0, [r4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140BD0
-
- thumb_func_start sub_8140CA8
-sub_8140CA8: @ 8140CA8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- movs r6, 0
- movs r7, 0
- ldr r1, =gUnknown_085B641E
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- ldrb r0, [r4]
- mov r8, r0
- cmp r5, 0
- blt _08140D1C
- cmp r5, 0x1
- bgt _08140CF4
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x5
- bl __modsi3
- lsls r0, 24
- lsrs r6, r0, 24
- movs r2, 0xF0
- lsls r2, 20
- adds r1, r0, r2
- lsrs r7, r1, 24
- cmp r0, 0
- bne _08140D1C
- movs r6, 0x5
- b _08140D1C
- .pool
-_08140CF4:
- cmp r5, 0x3
- bgt _08140D1C
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x5
- bl __divsi3
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 24
- lsrs r6, r1, 24
- movs r2, 0x80
- lsls r2, 19
- adds r0, r1, r2
- lsrs r7, r0, 24
- cmp r1, 0
- bne _08140D1C
- movs r6, 0x1
-_08140D1C:
- mov r1, sp
- adds r0, r1, r5
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r2, [r4]
- adds r0, r2
- strh r0, [r4]
- lsls r1, r6, 24
- asrs r3, r1, 24
- lsls r0, 16
- asrs r0, 16
- lsls r2, r7, 24
- cmp r0, r3
- bge _08140D3E
- asrs r0, r2, 24
- strh r0, [r4]
-_08140D3E:
- movs r0, 0
- ldrsh r1, [r4, r0]
- asrs r0, r2, 24
- cmp r1, r0
- ble _08140D4A
- strh r3, [r4]
-_08140D4A:
- mov r1, r8
- lsls r0, r1, 24
- movs r2, 0
- ldrsh r1, [r4, r2]
- asrs r0, 24
- cmp r1, r0
- bne _08140D5C
- movs r0, 0
- b _08140D5E
-_08140D5C:
- movs r0, 0x1
-_08140D5E:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8140CA8
-
- thumb_func_start sub_8140D6C
-sub_8140D6C: @ 8140D6C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r0, 0
- mov r9, r0
- movs r5, 0
- ldr r4, =gMain
- ldrh r1, [r4, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08140DA8
- movs r5, 0x1
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r0, r1
- adds r0, 0x8
- movs r1, 0
- bl sub_8140CA8
- lsls r0, 24
- cmp r0, 0
- bne _08140DA8
- b _08140F3A
-_08140DA8:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08140DCE
- movs r5, 0x1
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r0, r1
- adds r0, 0x8
- movs r1, 0x1
- bl sub_8140CA8
- lsls r0, 24
- cmp r0, 0
- bne _08140DCE
- b _08140F3A
-_08140DCE:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08140DF4
- movs r5, 0x1
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r0, r1
- adds r0, 0x8
- movs r1, 0x2
- bl sub_8140CA8
- lsls r0, 24
- cmp r0, 0
- bne _08140DF4
- b _08140F3A
-_08140DF4:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08140E1A
- movs r5, 0x1
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r0, r1
- adds r0, 0x8
- movs r1, 0x3
- bl sub_8140CA8
- lsls r0, 24
- cmp r0, 0
- bne _08140E1A
- b _08140F3A
-_08140E1A:
- cmp r5, 0
- bne _08140E20
- b _08140F3A
-_08140E20:
- ldr r0, =gTasks
- lsls r6, r7, 2
- adds r4, r6, r7
- lsls r4, 3
- adds r4, r0
- ldrb r0, [r4, 0x10]
- bl sub_81424FC
- adds r0, r7, 0
- bl sub_8140B64
- mov r1, r9
- strh r1, [r4, 0xA]
- movs r0, 0x5
- bl PlaySE
- ldr r5, =gUnknown_0203AB88
- ldr r0, [r5]
- adds r0, 0xB8
- ldr r1, =0x0000ffff
- bl sub_8151A9C
- ldr r5, [r5]
- movs r2, 0xB8
- lsls r2, 1
- adds r3, r5, r2
- ldrb r2, [r3]
- movs r1, 0x7F
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3]
- movs r0, 0xB2
- lsls r0, 1
- adds r3, r5, r0
- ldrb r2, [r3]
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3]
- movs r0, 0xAC
- lsls r0, 1
- adds r2, r5, r0
- ldrb r0, [r2]
- ands r1, r0
- strb r1, [r2]
- ldrb r0, [r4, 0x10]
- bl sub_8142284
- movs r4, 0
- mov r9, r6
- ldr r1, =gSprites
- mov r12, r1
- movs r2, 0x8
- add r2, r12
- mov r10, r2
-_08140E8C:
- ldr r0, =gUnknown_0203AB88
- ldr r5, [r0]
- adds r0, r4, 0
- adds r0, 0x29
- adds r6, r5, 0
- adds r6, 0x3C
- adds r0, r6, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- mov r1, r12
- adds r3, r0, r1
- adds r2, r3, 0
- adds r2, 0x40
- add r0, r10
- ldr r0, [r0]
- ldr r0, [r0]
- ldrh r1, [r0]
- ldrh r2, [r2]
- adds r1, r2
- ldr r2, =0x000003ff
- mov r8, r2
- mov r0, r8
- ands r1, r0
- ldrh r2, [r3, 0x4]
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x4]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _08140E8C
- ldr r0, =gTasks
- mov r2, r9
- adds r1, r2, r7
- lsls r1, 3
- adds r1, r0
- ldrh r3, [r1, 0x10]
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bhi _08140F3A
- ldr r2, =gUnknown_085B6154
- movs r0, 0x10
- ldrsh r1, [r1, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, 0x8
- adds r0, r2
- ldr r1, [r5, 0x8]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _08140F3A
- subs r0, r3, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- adds r0, 0x29
- adds r0, r6, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r3, r0, r1
- adds r2, r3, 0
- adds r2, 0x40
- adds r1, 0x8
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldrh r2, [r2]
- adds r1, r2
- mov r2, r8
- ands r1, r2
- ldrh r2, [r3, 0x4]
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x4]
-_08140F3A:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140D6C
-
- thumb_func_start sub_8140F6C
-sub_8140F6C: @ 8140F6C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80EECA4
- ldr r0, =gUnknown_0203AB88
- ldr r1, [r0]
- movs r0, 0xFF
- strh r0, [r1, 0x28]
- ldrb r2, [r1, 0x19]
- cmp r2, 0x1
- bne _08140F90
- adds r0, r1, 0
- adds r0, 0x23
- strb r2, [r0]
- b _08140F96
- .pool
-_08140F90:
- adds r1, 0x23
- movs r0, 0
- strb r0, [r1]
-_08140F96:
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- adds r0, 0x21
- movs r1, 0
- strb r1, [r0]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x20
- strh r1, [r0, 0xA]
- ldr r1, =sub_81410FC
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140F6C
-
- thumb_func_start sub_8140FC4
-sub_8140FC4: @ 8140FC4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gUnknown_0203AB88
- ldr r2, [r4]
- ldrb r1, [r2, 0x1A]
- lsls r1, 28
- lsrs r1, 28
- adds r2, 0x1B
- adds r2, r1
- ldr r3, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r5, r1, r3
- ldrh r0, [r5, 0x10]
- strb r0, [r2]
- ldr r1, [r4]
- ldrb r0, [r1, 0x1A]
- lsls r0, 28
- lsrs r0, 28
- adds r1, 0x1B
- adds r1, r0
- ldrb r0, [r1]
- bl sub_8142758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xC]
- ldr r1, [r4]
- ldrb r0, [r1, 0x1A]
- lsls r0, 28
- lsrs r0, 28
- adds r1, 0x1B
- adds r1, r0
- ldrb r0, [r1]
- bl sub_81436D0
- ldr r0, [r4]
- ldrb r1, [r0, 0x19]
- ldrh r0, [r5, 0x22]
- subs r0, r1
- strh r0, [r5, 0x22]
- lsls r0, 16
- cmp r0, 0
- bge _08141024
- movs r0, 0
- strh r0, [r5, 0x22]
-_08141024:
- ldrh r0, [r5, 0x22]
- bl sub_8143514
- ldr r0, =sub_8140F6C
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140FC4
-
- thumb_func_start sub_8141040
-sub_8141040: @ 8141040
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_8140D6C
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x1E
- beq _08141076
- cmp r0, 0x1E
- bgt _0814106C
- cmp r0, 0
- beq _08141072
- b _0814108A
- .pool
-_0814106C:
- cmp r0, 0x3B
- beq _08141084
- b _0814108A
-_08141072:
- ldrb r0, [r4, 0x10]
- b _08141078
-_08141076:
- movs r0, 0
-_08141078:
- bl sub_81409B8
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- b _0814109A
-_08141084:
- movs r0, 0
- strh r0, [r4, 0xA]
- b _0814109A
-_0814108A:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0814109A:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081410F2
- ldr r0, =gUnknown_0203AB88
- ldr r3, [r0]
- ldr r2, =gUnknown_085B6154
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, 0x8
- adds r0, r2
- ldr r1, [r3, 0x8]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _081410E8
- movs r0, 0x16
- bl PlaySE
- b _081410F2
- .pool
-_081410E8:
- movs r0, 0x5F
- bl m4aSongNumStart
- ldr r0, =sub_8140FC4
- str r0, [r4]
-_081410F2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8141040
-
- thumb_func_start sub_81410FC
-sub_81410FC: @ 81410FC
- 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, 0xA]
- subs r1, r0, 0x1
- strh r1, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- ble _08141168
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _08141128
- ldr r1, =gSpriteCoordOffsetX
- ldrh r0, [r1]
- adds r0, 0x2
- strh r0, [r1]
-_08141128:
- ldr r0, =gUnknown_0203AB88
- ldr r1, [r0]
- ldrh r0, [r1, 0x26]
- adds r0, 0x4
- strh r0, [r1, 0x26]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x68
- bne _08141180
- ldr r2, =gSprites
- adds r0, r1, 0
- adds r0, 0x55
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =SpriteCallbackDummy
- str r1, [r0]
- b _08141180
- .pool
-_08141168:
- movs r0, 0x1
- movs r1, 0xFF
- bl sub_8142E70
- movs r0, 0x1
- movs r1, 0xFF
- bl sub_8143038
- ldr r0, =sub_8141344
- str r0, [r4]
- movs r0, 0
- strh r0, [r4, 0xA]
-_08141180:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81410FC
-
- thumb_func_start sub_814118C
-sub_814118C: @ 814118C
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gUnknown_0203AB88
- ldr r3, [r0]
- ldrb r2, [r3, 0x2]
- adds r5, r0, 0
- cmp r2, 0x2
- bgt _081411AC
- cmp r2, 0x1
- bge _081411B2
- b _08141280
- .pool
-_081411AC:
- cmp r2, 0x3
- beq _08141214
- b _08141280
-_081411B2:
- ldr r0, =gLocalTime
- ldrb r0, [r0, 0x2]
- subs r0, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bhi _081411E4
- cmp r4, 0xB
- bls _081411CC
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08141296
-_081411CC:
- ldr r0, =gUnknown_085B6348
- ldrb r1, [r3, 0x4]
- lsls r1, 30
- lsrs r1, 25
- adds r1, r0
- ldrb r0, [r1, 0x2]
- lsrs r0, 1
- b _0814133A
- .pool
-_081411E4:
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08141200
- ldr r0, =gUnknown_085B6348
- ldrb r1, [r3, 0x4]
- lsls r1, 30
- lsrs r1, 25
- adds r1, r0
- ldrb r0, [r1, 0x2]
- lsrs r0, 1
- b _0814133A
- .pool
-_08141200:
- ldr r0, =gUnknown_085B6348
- ldrb r1, [r3, 0x4]
- lsls r1, 30
- lsrs r1, 25
- adds r1, r0
- ldrb r0, [r1, 0x2]
- b _0814133A
- .pool
-_08141214:
- ldr r0, =gLocalTime
- ldrb r0, [r0, 0x2]
- subs r0, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bhi _08141248
- cmp r4, 0x5
- bls _0814122E
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08141296
-_0814122E:
- ldr r0, =gUnknown_085B6348
- ldrb r1, [r3, 0x4]
- lsls r1, 30
- lsrs r1, 25
- adds r1, r0
- ldrb r0, [r1, 0x2]
- lsrs r0, 1
- b _0814133A
- .pool
-_08141248:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08141268
- cmp r4, 0x6
- bls _08141268
- ldr r0, =gUnknown_085B6348
- ldrb r1, [r3, 0x4]
- lsls r1, 30
- lsrs r1, 25
- adds r1, r0
- ldrb r0, [r1, 0x2]
- lsrs r0, 2
- b _0814133A
- .pool
-_08141268:
- ldr r1, =gUnknown_085B6348
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r1
- ldrb r0, [r0, 0x2]
- lsrs r0, 1
- b _0814133A
- .pool
-_08141280:
- ldr r0, =gLocalTime
- ldrb r0, [r0, 0x2]
- subs r0, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bhi _081412B8
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _081412A0
-_08141296:
- movs r0, 0x1
- b _0814133A
- .pool
-_081412A0:
- ldr r1, =gUnknown_085B6348
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r1
- ldrb r0, [r0, 0x2]
- lsrs r0, 1
- b _0814133A
- .pool
-_081412B8:
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _081412F0
- cmp r4, 0xC
- bls _081412DC
- ldr r1, =gUnknown_085B6348
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r1
- ldrb r0, [r0, 0x2]
- lsrs r0, 1
- b _0814133A
- .pool
-_081412DC:
- ldr r1, =gUnknown_085B6348
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r1
- ldrb r0, [r0, 0x2]
- b _0814133A
- .pool
-_081412F0:
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _08141328
- cmp r4, 0xC
- bls _08141314
- ldr r1, =gUnknown_085B6348
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r1
- ldrb r0, [r0, 0x2]
- b _0814133A
- .pool
-_08141314:
- ldr r1, =gUnknown_085B6348
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r1
- ldrb r0, [r0, 0x1]
- b _0814133A
- .pool
-_08141328:
- ldr r1, =gUnknown_085B6348
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r1
- ldrb r0, [r0, 0x1]
- lsls r0, 25
- lsrs r0, 24
-_0814133A:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814118C
-
- thumb_func_start sub_8141344
-sub_8141344: @ 8141344
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- movs r4, 0
- ldr r1, =gUnknown_085B6422
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- bl Random
- lsls r0, 16
- lsrs r7, r0, 16
- adds r0, r7, 0
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r3, =gUnknown_0203AB88
- ldr r0, [r3]
- ldr r2, =gTasks
- mov r5, r10
- lsls r1, r5, 2
- add r1, r10
- lsls r1, 3
- adds r1, r2
- ldrh r2, [r1, 0x14]
- adds r0, 0x7C
- strb r2, [r0]
- ldr r0, [r3]
- adds r2, r0, 0
- adds r2, 0x7F
- strb r4, [r2]
- subs r2, 0x1
- strb r4, [r2]
- adds r0, 0x7D
- strb r4, [r0]
- ldrh r0, [r1, 0x18]
- adds r1, r7, 0
- bl sub_814118C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r1, r4, 24
- adds r0, r7, 0
- bl __modsi3
- lsrs r4, 25
- subs r0, r4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gLocalTime
- ldrb r0, [r0, 0x2]
- lsls r0, 24
- asrs r0, 24
- movs r5, 0x1
- cmp r0, 0xC
- bgt _081413C8
- movs r5, 0
-_081413C8:
- cmp r6, 0x4F
- bhi _081413E0
- lsls r0, r5, 25
- b _081413EA
- .pool
-_081413E0:
- lsls r1, r5, 24
- asrs r1, 24
- movs r0, 0x1
- subs r0, r1
- lsls r0, 25
-_081413EA:
- lsrs r5, r0, 24
- ldr r0, _08141530 @ =gUnknown_0203AB88
- ldr r6, [r0]
- ldrb r0, [r6, 0x4]
- lsls r0, 30
- lsrs r0, 25
- ldr r1, _08141534 @ =gUnknown_085B6348
- adds r0, r1
- lsls r4, 24
- asrs r4, 24
- ldrh r0, [r0, 0x1A]
- adds r4, r0
- adds r0, r6, 0
- adds r0, 0x80
- strh r4, [r0]
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _0814141C
- ldr r1, _08141538 @ =0x47800000
- bl __addsf3
-_0814141C:
- ldr r1, _0814153C @ =0x40A00000
- bl __divsf3
- bl __fixunssfsi
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r0, r4, 1
- adds r0, r4
- movs r2, 0x82
- adds r2, r6
- mov r8, r2
- strh r0, [r2]
- adds r0, r6, 0
- adds r0, 0x84
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- movs r0, 0x88
- adds r0, r6
- mov r9, r0
- movs r0, 0x1
- ands r0, r7
- lsls r1, r5, 24
- asrs r1, 24
- adds r0, r1
- lsls r0, 1
- add r0, sp
- movs r1, 0
- ldrsh r4, [r0, r1]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _08141468
- ldr r1, _08141538 @ =0x47800000
- bl __addsf3
-_08141468:
- mov r2, r9
- str r0, [r2]
- adds r7, r6, 0
- adds r7, 0x8C
- ldrb r0, [r6, 0x4]
- lsls r0, 30
- lsrs r0, 25
- ldr r5, _08141534 @ =gUnknown_085B6348
- adds r0, r5
- movs r1, 0x18
- ldrsh r4, [r0, r1]
- adds r0, r4, 0
- bl __floatsisf
- adds r5, r0, 0
- cmp r4, 0
- bge _08141492
- ldr r1, _08141538 @ =0x47800000
- bl __addsf3
- adds r5, r0, 0
-_08141492:
- str r5, [r7]
- adds r7, r6, 0
- adds r7, 0x90
- ldr r1, _08141540 @ =0x3F000000
- adds r0, r5, 0
- bl __mulsf3
- adds r1, r5, 0
- bl __subsf3
- adds r5, r0, 0
- mov r2, r8
- movs r0, 0
- ldrsh r4, [r2, r0]
- adds r0, r4, 0
- bl __floatsisf
- adds r2, r0, 0
- cmp r4, 0
- bge _081414C2
- ldr r1, _08141538 @ =0x47800000
- bl __addsf3
- adds r2, r0, 0
-_081414C2:
- adds r0, r5, 0
- adds r1, r2, 0
- bl __divsf3
- str r0, [r7]
- adds r1, r6, 0
- adds r1, 0x94
- ldr r0, _08141544 @ =0x42880000
- str r0, [r1]
- adds r1, 0x8
- ldr r0, _08141548 @ =0x00000000
- str r0, [r1]
- adds r5, r6, 0
- adds r5, 0x98
- mov r1, r8
- movs r2, 0
- ldrsh r4, [r1, r2]
- adds r0, r4, 0
- bl __floatsisf
- adds r2, r0, 0
- cmp r4, 0
- bge _081414F8
- ldr r1, _08141538 @ =0x47800000
- bl __addsf3
- adds r2, r0, 0
-_081414F8:
- ldr r0, _0814154C @ =0x41000000
- adds r1, r2, 0
- bl __divsf3
- bl __negsf2
- str r0, [r5]
- adds r1, r6, 0
- adds r1, 0xA0
- ldr r0, _08141550 @ =0x42100000
- str r0, [r1]
- ldr r1, _08141554 @ =gTasks
- mov r5, r10
- lsls r0, r5, 2
- add r0, r10
- lsls r0, 3
- adds r0, r1
- ldr r1, _08141558 @ =sub_814155C
- str r1, [r0]
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08141530:
- .4byte gUnknown_0203AB88
-_08141534:
- .4byte gUnknown_085B6348
-_08141538:
- .4byte 0x47800000
-_0814153C:
- .4byte 0x40A00000
-_08141540:
- .4byte 0x3F000000
-_08141544:
- .4byte 0x42880000
-_08141548:
- .4byte 0x00000000
-_0814154C:
- .4byte 0x41000000
-_08141550:
- .4byte 0x42100000
-_08141554:
- .4byte gTasks
-_08141558:
- .4byte sub_814155C
- thumb_func_end sub_8141344
-
- thumb_func_start sub_814155C
-sub_814155C: @ 814155C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gUnknown_0203AB88
- ldr r3, [r4]
- ldrb r1, [r3, 0x3]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r3, 0x3]
- ldr r3, [r4]
- adds r2, r3, 0
- adds r2, 0x7C
- adds r1, r3, 0
- adds r1, 0x3C
- ldrb r2, [r2]
- adds r1, r2
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r2, =gSprites
- adds r1, r2
- str r1, [r3, 0x38]
- ldr r2, =sub_81446AC
- str r2, [r1, 0x1C]
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldrh r1, [r4, 0x14]
- adds r1, 0x1
- strh r1, [r4, 0x14]
- ldrh r0, [r4, 0x18]
- adds r0, 0x1
- strh r0, [r4, 0x18]
- movs r0, 0x6
- subs r0, r1
- lsls r0, 24
- lsrs r0, 24
- bl sub_814372C
- movs r0, 0x5C
- bl m4aSongNumStart
- ldr r0, =sub_81415D4
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814155C
-
- thumb_func_start sub_81415D4
-sub_81415D4: @ 81415D4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r6, =gUnknown_0203AB88
- ldr r3, [r6]
- adds r0, r3, 0
- adds r0, 0x7D
- ldrb r0, [r0]
- cmp r0, 0
- beq _081416C6
- ldrb r1, [r3, 0x3]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08141614
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _081416C6
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r3, 0x3]
- ldr r2, [r6]
- ldrb r1, [r2, 0x3]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x3]
- b _081416C6
- .pool
-_08141614:
- ldr r2, =gTasks
- lsls r1, r4, 2
- adds r0, r1, r4
- lsls r0, 3
- adds r5, r0, r2
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- adds r7, r1, 0
- cmp r0, 0
- bne _08141660
- adds r0, r3, 0
- adds r0, 0x7E
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_81420D0
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r6]
- ldrb r1, [r2, 0x1A]
- lsls r1, 28
- lsrs r1, 28
- adds r2, 0x1B
- adds r2, r1
- ldrb r1, [r2]
- bl sub_81421E8
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x12]
- cmp r0, 0x1
- bne _08141660
- ldr r0, [r6]
- adds r0, 0xB8
- movs r1, 0x80
- lsls r1, 5
- bl sub_8151A48
-_08141660:
- ldr r0, =gTasks
- adds r1, r7, r4
- lsls r1, 3
- adds r4, r1, r0
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x3C
- bgt _08141690
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08141680
- movs r0, 0x3C
- strh r0, [r4, 0xA]
-_08141680:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- b _081416C6
- .pool
-_08141690:
- ldr r0, =gUnknown_0203AB88
- ldr r1, [r0]
- ldrb r0, [r1, 0x1A]
- lsls r0, 28
- lsrs r0, 28
- adds r1, 0x1B
- adds r1, r0
- ldrb r0, [r1]
- bl sub_81424FC
- ldrh r1, [r4, 0x20]
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_8142E70
- ldrb r1, [r4, 0x14]
- subs r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_8143038
- movs r0, 0x20
- strh r0, [r4, 0xA]
- ldr r0, =sub_81416D4
- str r0, [r4]
-_081416C6:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81415D4
-
- thumb_func_start sub_81416D4
-sub_81416D4: @ 81416D4
- 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
- ldrh r0, [r4, 0xA]
- subs r1, r0, 0x1
- strh r1, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- ble _08141740
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _08141700
- ldr r1, =gSpriteCoordOffsetX
- ldrh r0, [r1]
- subs r0, 0x2
- strh r0, [r1]
-_08141700:
- ldr r0, =gUnknown_0203AB88
- ldr r1, [r0]
- ldrh r0, [r1, 0x26]
- subs r0, 0x4
- strh r0, [r1, 0x26]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x68
- bne _08141768
- ldr r2, =gSprites
- adds r0, r1, 0
- adds r0, 0x55
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_814390C
- str r1, [r0]
- b _08141768
- .pool
-_08141740:
- ldrh r0, [r4, 0x20]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8143150
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _08141756
- movs r0, 0x79
- b _08141758
-_08141756:
- movs r0, 0x3D
-_08141758:
- strh r0, [r4, 0xA]
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8141778
- str r0, [r1]
-_08141768:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81416D4
-
- thumb_func_start sub_8141778
-sub_8141778: @ 8141778
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0xA]
- subs r1, r0, 0x1
- strh r1, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _081417E8
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _081417A2
- adds r0, 0xF
-_081417A2:
- asrs r0, 4
- lsls r0, 4
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- beq _081417CC
- cmp r0, 0x8
- bne _081417F4
- movs r0, 0
- movs r1, 0xFF
- bl sub_8142E70
- movs r0, 0
- movs r1, 0xFF
- bl sub_8143038
- b _081417F4
- .pool
-_081417CC:
- ldrh r1, [r4, 0x20]
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_8142E70
- ldrb r1, [r4, 0x14]
- subs r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_8143038
- b _081417F4
-_081417E8:
- ldr r1, =sub_814189C
- adds r0, r2, 0
- movs r2, 0x1E
- movs r3, 0
- bl sub_8141F7C
-_081417F4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8141778
-
- thumb_func_start sub_8141800
-sub_8141800: @ 8141800
- 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, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08141864
- cmp r0, 0
- blt _08141864
- cmp r0, 0x2
- bgt _08141864
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _08141888
- movs r0, 0x1D
- bl GetGameStat
- ldrh r1, [r4, 0x1E]
- adds r1, 0x1
- strh r1, [r4, 0x1E]
- lsls r1, 16
- asrs r1, 16
- cmp r0, r1
- bcs _08141848
- movs r0, 0x1E
- ldrsh r1, [r4, r0]
- movs r0, 0x1D
- bl SetGameStat
-_08141848:
- ldr r1, =sub_8141A18
- ldr r2, =0x0000ffff
- adds r0, r5, 0
- movs r3, 0x3
- bl sub_8141F7C
- b _08141888
- .pool
-_08141864:
- bl IsSEPlaying
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _08141888
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x1E]
- ldr r1, =sub_8141AC0
- ldr r2, =0x0000ffff
- adds r0, r5, 0
- movs r3, 0x3
- bl sub_8141F7C
-_08141888:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8141800
-
- thumb_func_start sub_814189C
-sub_814189C: @ 814189C
- push {r4,r5,lr}
- sub sp, 0xC
- 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, 0x12
- ldrsh r1, [r0, r2]
- cmp r1, 0
- beq _08141928
- cmp r1, 0
- blt _08141928
- cmp r1, 0x2
- bgt _08141928
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- cmp r0, 0xC
- bne _081418EC
- ldr r0, =0x00000185
- bl PlayFanfare
- ldr r4, =gUnknown_0203AB8C
- ldrb r0, [r4]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r4]
- ldr r2, =gUnknown_082A5BD7
- b _08141902
- .pool
-_081418EC:
- movs r0, 0xC3
- lsls r0, 1
- bl PlayFanfare
- ldr r4, =gUnknown_0203AB8C
- ldrb r0, [r4]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r4]
- ldr r2, =gUnknown_082A5BCB
-_08141902:
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldrb r0, [r4]
- movs r1, 0x3
- bl CopyWindowToVram
- b _08141958
- .pool
-_08141928:
- movs r0, 0x20
- bl m4aSongNumStart
- ldr r4, =gUnknown_0203AB8C
- ldrb r0, [r4]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r4]
- ldr r2, =gUnknown_082A5BE0
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldrb r0, [r4]
- movs r1, 0x3
- bl CopyWindowToVram
-_08141958:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xA]
- ldr r1, =sub_8141800
- str r1, [r0]
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814189C
-
- thumb_func_start sub_8141984
-sub_8141984: @ 8141984
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- movs r0, 0x16
- ldrsh r5, [r4, r0]
- cmp r5, 0
- beq _081419AC
- cmp r5, 0x3
- beq _081419DC
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- b _081419E4
- .pool
-_081419AC:
- ldrh r0, [r4, 0x22]
- adds r0, 0x1
- strh r0, [r4, 0x22]
- movs r0, 0x15
- bl m4aSongNumStart
- ldrh r0, [r4, 0x22]
- bl sub_8143514
- movs r2, 0x22
- ldrsh r1, [r4, r2]
- ldr r0, =0x0000270e
- cmp r1, r0
- ble _081419D0
- strh r5, [r4, 0xA]
- b _081419E6
- .pool
-_081419D0:
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- b _081419E4
-_081419DC:
- movs r0, 0x15
- bl m4aSongNumStop
- movs r0, 0
-_081419E4:
- strh r0, [r4, 0x16]
-_081419E6:
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08141A04
- ldr r1, =sub_8141AC0
- ldr r2, =0x0000ffff
- adds r0, r6, 0
- movs r3, 0x3
- bl sub_8141F7C
-_08141A04:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8141984
-
- thumb_func_start sub_8141A18
-sub_8141A18: @ 8141A18
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gStringVar1
- ldr r1, =gUnknown_0203AB88
- mov r9, r1
- ldr r1, [r1]
- ldrb r2, [r1, 0x19]
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- adds r1, r2, 0
- muls r1, r0
- adds r0, r3, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r2, =gStringVar4
- mov r8, r2
- ldr r1, =gUnknown_082A5BEF
- mov r0, r8
- bl StringExpandPlaceholders
- ldr r5, =gUnknown_0203AB8C
- ldrb r0, [r5]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r5]
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r6, 0
- str r6, [sp, 0x8]
- movs r1, 0x1
- mov r2, r8
- movs r3, 0
- bl AddTextPrinterParameterized
- ldrb r0, [r5]
- movs r1, 0x3
- bl CopyWindowToVram
- mov r1, r9
- ldr r0, [r1]
- ldrb r1, [r0, 0x19]
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- muls r0, r1
- strh r0, [r4, 0xA]
- strh r6, [r4, 0x16]
- ldr r0, =sub_8141984
- str r0, [r4]
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8141A18
-
- thumb_func_start sub_8141AC0
-sub_8141AC0: @ 8141AC0
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gUnknown_0203AB88
- ldr r0, [r5]
- adds r0, 0xB8
- ldr r1, =0x0000ffff
- bl sub_8151A9C
- ldr r6, [r5]
- movs r0, 0xB8
- lsls r0, 1
- adds r3, r6, r0
- ldrb r2, [r3]
- movs r1, 0x7F
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3]
- movs r0, 0xB2
- lsls r0, 1
- adds r3, r6, r0
- ldrb r2, [r3]
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3]
- movs r0, 0xAC
- lsls r0, 1
- adds r2, r6, r0
- ldrb r0, [r2]
- ands r1, r0
- strb r1, [r2]
- ldr r6, =gSprites
- ldr r2, [r5]
- ldr r5, =gUnknown_085B6154
- ldr r0, =gTasks
- lsls r3, r4, 2
- adds r3, r4
- lsls r3, 3
- adds r3, r0
- movs r0, 0x20
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0]
- adds r2, r0
- adds r2, 0x43
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, =sub_8141B58
- str r0, [r3]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8141AC0
-
- thumb_func_start sub_8141B58
-sub_8141B58: @ 8141B58
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- movs r2, 0
- strh r5, [r0, 0x10]
- ldr r4, =gUnknown_0203AB88
- ldr r1, [r4]
- ldrb r0, [r1, 0x1A]
- lsls r0, 28
- lsrs r0, 28
- adds r1, 0x1B
- adds r1, r0
- strb r2, [r1]
- movs r0, 0
- bl sub_81424FC
- ldr r3, =gSprites
- ldr r0, [r4]
- adds r0, 0x6C
- ldrb r1, [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]
- adds r7, r3, 0
- movs r0, 0x8
- adds r0, r7
- mov r12, r0
- ldr r1, =0xfffffc00
- mov r8, r1
-_08141BB0:
- ldr r0, =gUnknown_0203AB88
- ldr r4, [r0]
- adds r0, r4, r5
- adds r0, 0x65
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, r0, r7
- adds r2, r3, 0
- adds r2, 0x40
- add r0, r12
- ldr r0, [r0]
- ldr r0, [r0]
- ldrh r1, [r0]
- ldrh r2, [r2]
- adds r1, r2
- ldr r2, =0x000003ff
- adds r0, r2, 0
- ands r1, r0
- ldrh r2, [r3, 0x4]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08141BB0
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r2, r1, r0
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- ldrb r4, [r4, 0x19]
- cmp r0, r4
- blt _08141CBC
- movs r1, 0x14
- ldrsh r0, [r2, r1]
- cmp r0, 0x6
- bne _08141C58
- ldr r4, =gUnknown_0203AB8C
- ldrb r0, [r4]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r4]
- ldr r2, =gUnknown_082A5C21
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldrb r0, [r4]
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r1, =dp01t_12_3_battle_menu
- b _08141C8E
- .pool
-_08141C58:
- movs r0, 0x22
- ldrsh r1, [r2, r0]
- ldr r0, =0x0000270f
- cmp r1, r0
- bne _08141CB0
- ldr r4, =gUnknown_0203AB8C
- ldrb r0, [r4]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r4]
- ldr r2, =gUnknown_082A5C61
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldrb r0, [r4]
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r1, =sub_8140914
-_08141C8E:
- ldr r2, =0x0000ffff
- adds r0, r6, 0
- movs r3, 0x3
- bl sub_8141F7C
- b _08141CF2
- .pool
-_08141CB0:
- ldr r0, =sub_8140914
- str r0, [r2]
- b _08141CF2
- .pool
-_08141CBC:
- ldr r4, =gUnknown_0203AB8C
- ldrb r0, [r4]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r4]
- ldr r2, =gUnknown_082A5C04
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldrb r0, [r4]
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r1, =sub_8140994
- adds r0, r6, 0
- movs r2, 0x3C
- movs r3, 0x3
- bl sub_8141F7C
-_08141CF2:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8141B58
-
- thumb_func_start dp01t_12_3_battle_menu
-dp01t_12_3_battle_menu: @ 8141D0C
- push {r4-r7,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r4, [r0, 0x14]
- adds r0, r5, 0
- bl sub_8141FF4
- bl sub_8142070
- bl sub_8143A40
- movs r0, 0
- bl sub_81424FC
- movs r0, 0x6
- bl sub_814372C
- ldr r7, =gSprites
- ldr r3, =gUnknown_0203AB88
- movs r6, 0x5
- negs r6, r6
-_08141D44:
- ldr r0, [r3]
- adds r0, r4
- adds r0, 0x43
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xB
- bls _08141D44
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r2, r0, r1
- movs r0, 0x22
- ldrsh r1, [r2, r0]
- ldr r0, =0x0000270f
- cmp r1, r0
- bne _08141DD4
- ldr r4, =gUnknown_0203AB8C
- ldrb r0, [r4]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r4]
- ldr r2, =gUnknown_082A5C61
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldrb r0, [r4]
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r1, =sub_8140914
- ldr r2, =0x0000ffff
- adds r0, r5, 0
- movs r3, 0x3
- bl sub_8141F7C
- b _08141DD8
- .pool
-_08141DD4:
- ldr r0, =sub_8140914
- str r0, [r2]
-_08141DD8:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_12_3_battle_menu
-
- thumb_func_start sub_8141DE4
-sub_8141DE4: @ 8141DE4
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gUnknown_0203AB88
- ldr r0, [r4]
- adds r0, 0xB8
- ldr r1, =0x0000ffff
- bl sub_8151A9C
- ldr r0, [r4]
- adds r0, 0xB8
- bl sub_8151678
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x22]
- bl SetCoins
- bl GetCoins
- ldr r1, [r4]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x19]
- cmp r0, r1
- bcs _08141E38
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0x1
- b _08141E3C
- .pool
-_08141E38:
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0
-_08141E3C:
- strh r0, [r1]
- bl GetCoins
- lsls r0, 16
- lsrs r0, 16
- bl sub_80EDD78
- movs r0, 0
- str r0, [sp]
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginHardwarePaletteFade
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_8141E7C
- str r1, [r0]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8141DE4
-
- thumb_func_start sub_8141E7C
-sub_8141E7C: @ 8141E7C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl UpdatePaletteFade
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _08141EDE
- movs r0, 0
- bl SetVBlankCallback
- ldr r1, =gSpriteCoordOffsetX
- ldr r0, =gSpriteCoordOffsetY
- strh r4, [r0]
- strh r4, [r1]
- bl ResetVramOamAndBgCntRegs
- bl ResetAllBgsCoordinates
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- bl FreeAllSpritePalettes
- bl ResetPaletteFade
- bl ResetSpriteData
- bl sub_8140418
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF168
- str r0, [r1]
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
- adds r0, r5, 0
- bl DestroyTask
-_08141EDE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8141E7C
-
- thumb_func_start sub_8141EF8
-sub_8141EF8: @ 8141EF8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0203AB88
- ldr r3, [r1]
- adds r0, r3, 0
- adds r0, 0xA8
- ldrh r0, [r0]
- adds r5, r1, 0
- cmp r0, 0
- beq _08141F1E
- ldr r0, =gMain
- adds r2, r3, 0
- adds r2, 0xAA
- ldrh r1, [r0, 0x2E]
- ldrh r0, [r2]
- ands r0, r1
- cmp r0, 0
- beq _08141F52
-_08141F1E:
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- adds r1, r3, 0
- adds r1, 0xAC
- ldr r1, [r1]
- str r1, [r0]
- adds r0, r3, 0
- adds r0, 0xAA
- ldrh r0, [r0]
- cmp r0, 0
- beq _08141F40
- movs r0, 0x5
- bl PlaySE
-_08141F40:
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0xAC
- movs r1, 0
- str r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
-_08141F52:
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0xA8
- ldrh r2, [r1]
- ldr r0, =0x0000ffff
- cmp r2, r0
- beq _08141F64
- subs r0, r2, 0x1
- strh r0, [r1]
-_08141F64:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8141EF8
-
- thumb_func_start sub_8141F7C
-sub_8141F7C: @ 8141F7C
- push {r4-r7,lr}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r2, 16
- lsrs r4, r2, 16
- lsls r3, 16
- lsrs r7, r3, 16
- ldr r2, =gUnknown_0203AB88
- ldr r0, [r2]
- mov r12, r0
- mov r3, r12
- adds r3, 0xB4
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- str r0, [r3]
- adds r3, r1, 0
- cmp r5, 0
- bne _08141FAC
- adds r5, r0, 0
-_08141FAC:
- mov r0, r12
- adds r0, 0xAC
- str r5, [r0]
- subs r0, 0x4
- strh r4, [r0]
- ldr r0, =0x0000ffff
- cmp r4, r0
- bne _08141FD8
- cmp r7, 0
- bne _08141FD8
- mov r1, r12
- adds r1, 0xAA
- ldrh r0, [r1]
- orrs r4, r0
- strh r4, [r1]
- b _08141FDE
- .pool
-_08141FD8:
- ldr r0, [r2]
- adds r0, 0xAA
- strh r7, [r0]
-_08141FDE:
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r3
- ldr r1, =sub_8141EF8
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8141F7C
-
- thumb_func_start sub_8141FF4
-sub_8141FF4: @ 8141FF4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r3, =gUnknown_0203AB88
- ldr r0, [r3]
- strb r4, [r0]
- ldr r2, [r3]
- ldrb r1, [r2, 0x3]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x3]
- ldr r2, [r3]
- ldrb r1, [r2, 0x3]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x3]
- ldr r2, [r3]
- ldrb r1, [r2, 0x3]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x3]
- ldr r2, [r3]
- ldrb r1, [r2, 0x3]
- movs r0, 0x20
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x3]
- ldr r6, =gTasks
- adds r2, r3, 0
- movs r1, 0
-_08142036:
- ldr r0, [r2]
- adds r0, 0x1B
- adds r0, r4
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _08142036
- ldr r2, [r3]
- ldrb r1, [r2, 0x1A]
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1A]
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r6
- movs r1, 0
- strh r1, [r0, 0xA]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8141FF4
-
- thumb_func_start sub_8142070
-sub_8142070: @ 8142070
- push {lr}
- ldr r2, =gUnknown_0203AB88
- ldr r1, [r2]
- movs r0, 0
- str r0, [r1, 0x8]
- movs r1, 0
- movs r3, 0
-_0814207E:
- ldr r0, [r2]
- adds r0, 0xC
- adds r0, r1
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x5
- bls _0814207E
- movs r1, 0
- ldr r3, =gUnknown_0203AB88
- movs r2, 0
-_08142096:
- ldr r0, [r3]
- adds r0, 0x12
- adds r0, r1
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _08142096
- movs r1, 0
- ldr r3, =gUnknown_0203AB88
- movs r2, 0
-_081420AE:
- ldr r0, [r3]
- adds r0, 0x16
- adds r0, r1
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x2
- bls _081420AE
- movs r0, 0x1
- movs r1, 0xFF
- bl sub_8143038
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8142070
-
- thumb_func_start sub_81420D0
-sub_81420D0: @ 81420D0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- mov r1, sp
- ldr r0, =gUnknown_085B642C
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r0]
- str r0, [r1]
- add r2, sp, 0x10
- adds r1, r2, 0
- ldr r0, =gUnknown_085B643C
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- mov r8, r2
- cmp r5, 0xB
- bls _0814210C
- movs r0, 0
- b _081421C8
- .pool
-_0814210C:
- ldr r6, =gUnknown_0203AB88
- ldr r3, [r6]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r7, 0x14
- ldrsh r1, [r0, r7]
- adds r3, r1
- ldr r4, =gUnknown_085B62E4
- lsls r5, 3
- adds r2, r5, r4
- ldrb r1, [r2, 0x2]
- strb r1, [r3, 0xB]
- ldrb r1, [r2, 0x2]
- strh r1, [r0, 0x20]
- ldr r2, [r6]
- adds r0, r4, 0x4
- adds r0, r5, r0
- ldr r1, [r2, 0x8]
- ldr r0, [r0]
- orrs r1, r0
- str r1, [r2, 0x8]
- movs r3, 0
- mov r9, r4
- mov r12, r5
- adds r5, r0, 0
-_08142144:
- lsls r0, r3, 2
- mov r1, sp
- adds r4, r1, r0
- ldr r0, [r4]
- ands r0, r5
- cmp r0, 0
- beq _0814215E
- ldr r1, [r6]
- adds r1, 0x12
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0814215E:
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x12
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0x2
- bls _08142174
- ldr r0, [r2, 0x8]
- ldr r1, [r4]
- orrs r0, r1
- str r0, [r2, 0x8]
-_08142174:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _08142144
- movs r6, 0
- ldr r0, =gUnknown_085B62E4+0x4
- add r0, r12
- ldr r7, [r0]
- ldr r4, =gUnknown_0203AB88
- mov r5, r8
-_0814218A:
- lsls r0, r6, 2
- adds r2, r5, r0
- ldr r0, [r2]
- ands r0, r7
- cmp r0, 0
- beq _081421A2
- ldr r1, [r4]
- adds r1, 0x16
- adds r1, r6
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_081421A2:
- ldr r3, [r4]
- adds r0, r3, 0
- adds r0, 0x16
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0x3
- bls _081421B8
- ldr r0, [r3, 0x8]
- ldr r1, [r2]
- orrs r0, r1
- str r0, [r3, 0x8]
-_081421B8:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x2
- bls _0814218A
- mov r0, r12
- add r0, r9
- ldrb r0, [r0, 0x2]
-_081421C8:
- add sp, 0x1C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81420D0
-
- thumb_func_start sub_81421E8
-sub_81421E8: @ 81421E8
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- lsrs r3, r0, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x12
- bhi _0814227C
- cmp r2, 0xF
- bhi _08142278
- lsls r0, r2, 2
- ldr r1, =_08142210
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08142210:
- .4byte _08142250
- .4byte _08142254
- .4byte _08142254
- .4byte _08142254
- .4byte _08142254
- .4byte _08142268
- .4byte _08142278
- .4byte _08142278
- .4byte _08142278
- .4byte _08142278
- .4byte _08142268
- .4byte _08142278
- .4byte _08142278
- .4byte _08142278
- .4byte _08142278
- .4byte _08142268
-_08142250:
- movs r0, 0x3
- b _0814227E
-_08142254:
- adds r0, r2, 0x5
- cmp r3, r0
- beq _08142274
- adds r0, 0x5
- cmp r3, r0
- beq _08142274
- adds r0, 0x5
- cmp r3, r0
- bne _0814227C
- b _08142274
-_08142268:
- adds r0, r2, 0x1
- cmp r3, r0
- blt _0814227C
- adds r0, r2, 0x4
- cmp r3, r0
- bgt _0814227C
-_08142274:
- movs r0, 0x1
- b _0814227E
-_08142278:
- cmp r3, r2
- beq _08142274
-_0814227C:
- movs r0, 0
-_0814227E:
- pop {r1}
- bx r1
- thumb_func_end sub_81421E8
-
- thumb_func_start sub_8142284
-sub_8142284: @ 8142284
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 24
- lsrs r7, r0, 24
- movs r0, 0
- str r0, [sp, 0x18]
- cmp r7, 0xA
- beq _081422AA
- cmp r7, 0xA
- bgt _081422A6
- cmp r7, 0x5
- beq _081422AA
- b _0814230C
-_081422A6:
- cmp r7, 0xF
- bne _0814230C
-_081422AA:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r2, r7, 0x5
- ldr r1, =gUnknown_0203AB88
- mov r12, r1
- cmp r4, r2
- bge _081422E8
- ldr r0, [r1]
- ldr r3, =gUnknown_085B6154
- ldr r5, [r0, 0x8]
- adds r6, r3, 0
- adds r6, 0x8
-_081422C4:
- lsls r0, r4, 2
- adds r0, r4
- lsls r1, r0, 2
- adds r0, r1, r6
- ldr r0, [r0]
- ands r0, r5
- cmp r0, 0
- bne _081422DE
- adds r0, r1, r3
- ldrh r0, [r0, 0x10]
- ldr r1, [sp, 0x18]
- orrs r1, r0
- str r1, [sp, 0x18]
-_081422DE:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r2
- blt _081422C4
-_081422E8:
- mov r2, r12
- ldr r0, [r2]
- adds r0, 0xB8
- ldr r1, =0x0000dfff
- ldr r3, [sp, 0x18]
- ands r3, r1
- str r3, [sp, 0x18]
- adds r1, r3, 0
- bl sub_8151A48
- b _081424E2
- .pool
-_0814230C:
- mov r0, sp
- ldr r1, =gUnknown_085B63F0
- ldm r1!, {r2,r4,r5}
- stm r0!, {r2,r4,r5}
- ldm r1!, {r3-r5}
- stm r0!, {r3-r5}
- subs r0, r7, 0x1
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- mov r9, r1
- cmp r0, 0x3
- bhi _0814232A
- movs r2, 0x3
- mov r9, r2
-_0814232A:
- adds r0, r7, 0
- movs r1, 0x5
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 8
- ldr r3, =0xffff0000
- adds r0, r3
- lsrs r0, 16
- mov r8, r0
- adds r0, r7, 0
- movs r1, 0x5
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _08142390
- cmp r0, 0x2
- bgt _08142368
- cmp r0, 0x1
- beq _0814237C
- ldr r4, =gUnknown_0203AB88
- mov r12, r4
- b _081423D4
- .pool
-_08142368:
- cmp r0, 0x3
- beq _081423A4
- cmp r0, 0x4
- beq _081423B8
- ldr r5, =gUnknown_0203AB88
- mov r12, r5
- b _081423D4
- .pool
-_0814237C:
- ldr r3, =gSprites
- ldr r2, =gUnknown_0203AB88
- ldr r0, [r2]
- adds r0, 0x43
- b _081423C0
- .pool
-_08142390:
- ldr r3, =gSprites
- ldr r2, =gUnknown_0203AB88
- ldr r0, [r2]
- adds r0, 0x44
- b _081423C0
- .pool
-_081423A4:
- ldr r3, =gSprites
- ldr r2, =gUnknown_0203AB88
- ldr r0, [r2]
- adds r0, 0x45
- b _081423C0
- .pool
-_081423B8:
- ldr r3, =gSprites
- ldr r2, =gUnknown_0203AB88
- ldr r0, [r2]
- adds r0, 0x46
-_081423C0:
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- lsls r0, 4
- mov r8, r0
- mov r12, r2
-_081423D4:
- mov r0, r9
- cmp r0, 0x1
- bne _08142430
- mov r1, r12
- ldr r4, [r1]
- ldr r1, =gUnknown_085B6154
- lsls r2, r7, 2
- adds r0, r2, r7
- lsls r0, 2
- adds r1, 0x8
- adds r0, r1
- ldr r1, [r4, 0x8]
- ldr r0, [r0]
- ands r1, r0
- str r2, [sp, 0x1C]
- cmp r1, 0
- bne _081424E2
- adds r0, r7, 0
- movs r1, 0x5
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- subs r1, r0, 0x1
- lsls r1, 3
- mov r3, sp
- adds r2, r3, r1
- ldrh r1, [r2, 0x2]
- add r1, r8
- strh r1, [r2, 0x2]
- adds r1, r4, 0
- adds r1, 0xB8
- lsls r0, 3
- subs r0, 0x8
- adds r2, r3, r0
- adds r0, r1, 0
- movs r1, 0xD
- bl sub_815168C
- b _081424C4
- .pool
-_08142430:
- movs r4, 0
- lsls r5, r7, 2
- str r5, [sp, 0x1C]
- ldr r0, =gUnknown_085B6154
- mov r10, r0
-_0814243A:
- lsls r0, r4, 2
- adds r0, r4
- adds r0, r7, r0
- adds r0, 0x5
- lsls r0, 24
- lsrs r3, r0, 24
- mov r1, r12
- ldr r5, [r1]
- lsls r0, r3, 2
- adds r0, r3
- lsls r6, r0, 2
- mov r0, r10
- adds r0, 0x8
- adds r0, r6, r0
- ldr r1, [r5, 0x8]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _081424B0
- adds r0, r3, 0
- movs r1, 0x5
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- subs r1, r0, 0x1
- lsls r1, 3
- mov r3, sp
- adds r2, r3, r1
- ldrh r1, [r2, 0x2]
- add r1, r8
- strh r1, [r2, 0x2]
- adds r3, r5, 0
- adds r3, 0xB8
- adds r1, r4, 0
- adds r1, 0xD
- lsls r1, 24
- lsrs r1, 24
- lsls r0, 3
- subs r0, 0x8
- mov r5, sp
- adds r2, r5, r0
- adds r0, r3, 0
- bl sub_815168C
- mov r0, r9
- cmp r0, 0x3
- bne _081424A2
- mov r1, r10
- adds r0, r6, r1
- ldrh r0, [r0, 0x10]
- str r0, [sp, 0x18]
-_081424A2:
- mov r0, r9
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r2, =gUnknown_0203AB88
- mov r12, r2
-_081424B0:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _0814243A
- mov r3, r9
- cmp r3, 0x2
- beq _081424C4
- movs r4, 0
- str r4, [sp, 0x18]
-_081424C4:
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- adds r0, 0xB8
- ldr r2, =gUnknown_085B6154
- ldr r5, [sp, 0x1C]
- adds r1, r5, r7
- lsls r1, 2
- adds r1, r2
- ldrh r1, [r1, 0x10]
- ldr r2, [sp, 0x18]
- orrs r2, r1
- str r2, [sp, 0x18]
- adds r1, r2, 0
- bl sub_8151A48
-_081424E2:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8142284
-
- thumb_func_start sub_81424FC
-sub_81424FC: @ 81424FC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gUnknown_0203AB88
- ldr r1, [r4]
- movs r0, 0x1
- strh r0, [r1, 0x2A]
- movs r0, 0
- movs r1, 0
- bl sub_8142E70
- ldr r1, [r4]
- ldr r2, =0x0000117c
- adds r0, r1, r2
- ldr r2, =0x0000397c
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0x10
- str r2, [sp]
- movs r2, 0xD
- str r2, [sp, 0x4]
- movs r2, 0xE
- movs r3, 0x7
- bl sub_8152058
- cmp r5, 0xF
- bhi _081425FC
- lsls r0, r5, 2
- ldr r1, =_08142558
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08142558:
- .4byte _08142738
- .4byte _08142598
- .4byte _08142598
- .4byte _08142598
- .4byte _08142598
- .4byte _081425CC
- .4byte _081425FC
- .4byte _081425FC
- .4byte _081425FC
- .4byte _081425FC
- .4byte _081425CC
- .4byte _081425FC
- .4byte _081425FC
- .4byte _081425FC
- .4byte _081425FC
- .4byte _081425CC
-_08142598:
- movs r0, 0x4
- str r0, [sp, 0x18]
- add r1, sp, 0x8
- movs r0, 0
- strb r0, [r1]
- adds r0, r1, 0
- ldrb r0, [r0]
- cmp r0, 0x3
- bhi _08142604
- add r4, sp, 0x10
- adds r3, r1, 0
-_081425AE:
- ldrb r2, [r3]
- adds r2, r4
- ldrb r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, r5, r0
- strb r0, [r2]
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- ldrb r0, [r3]
- ldr r1, [sp, 0x18]
- cmp r0, r1
- bcc _081425AE
- b _08142604
-_081425CC:
- movs r2, 0x5
- str r2, [sp, 0x18]
- add r1, sp, 0x8
- movs r0, 0
- strb r0, [r1]
- adds r0, r1, 0
- ldrb r0, [r0]
- cmp r0, 0x4
- bhi _08142604
- add r3, sp, 0x10
- adds r2, r1, 0
-_081425E2:
- ldrb r1, [r2]
- adds r1, r3
- ldrb r0, [r2]
- adds r0, r5, r0
- strb r0, [r1]
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- ldrb r0, [r2]
- ldr r1, [sp, 0x18]
- cmp r0, r1
- bcc _081425E2
- b _08142604
-_081425FC:
- movs r2, 0x1
- str r2, [sp, 0x18]
- add r0, sp, 0x10
- strb r5, [r0]
-_08142604:
- add r1, sp, 0x8
- movs r0, 0
- strb r0, [r1]
- adds r0, r1, 0
- ldrb r0, [r0]
- ldr r1, [sp, 0x18]
- cmp r0, r1
- bcc _08142616
- b _08142738
-_08142616:
- mov r2, sp
- adds r2, 0xE
- str r2, [sp, 0x1C]
- add r0, sp, 0x10
- mov r10, r0
- add r1, sp, 0x8
- mov r9, r1
- subs r2, 0x4
- str r2, [sp, 0x20]
-_08142628:
- mov r1, r9
- ldrb r0, [r1]
- add r0, r10
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- ldr r2, =gUnknown_085B6154
- adds r0, r2
- ldrb r0, [r0, 0x6]
- ldr r1, [sp, 0x1C]
- strb r0, [r1]
- mov r2, r9
- ldrb r0, [r2]
- add r0, r10
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- ldr r1, =gUnknown_085B6154
- adds r0, r1
- ldrb r0, [r0, 0x3]
- ldr r2, [sp, 0x20]
- strh r0, [r2]
- mov r7, sp
- adds r7, 0x9
- movs r0, 0
- strb r0, [r7]
- ldrb r0, [r7]
- cmp r0, 0x2
- bhi _08142726
- add r6, sp, 0xC
- mov r8, r2
- ldr r0, [sp, 0x1C]
- mov r12, r0
- ldr r1, =gUnknown_0203AB88
- str r1, [sp, 0x28]
-_08142672:
- mov r2, r9
- ldrb r0, [r2]
- add r0, r10
- ldrb r0, [r0]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- ldr r0, =gUnknown_085B6154
- adds r1, r0
- str r7, [sp, 0x24]
- ldrb r0, [r7]
- ldrb r1, [r1, 0x4]
- adds r0, r1
- lsls r0, 5
- strh r0, [r6]
- ldr r1, [sp, 0x28]
- ldr r4, [r1]
- mov r2, r8
- ldrh r0, [r2]
- ldrh r2, [r6]
- adds r2, r0
- lsls r2, 1
- ldr r0, =0x0000117c
- adds r5, r4, r0
- adds r2, r5, r2
- mov r1, r12
- ldrb r0, [r1]
- ldrb r1, [r7]
- adds r1, r0
- ldr r0, =0x0000397c
- adds r4, r0
- ldr r3, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- adds r0, r3
- movs r1, 0xD0
- lsls r1, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- mov r2, r8
- ldrh r0, [r2]
- ldrh r2, [r6]
- adds r2, r0
- adds r2, 0x1
- lsls r2, 1
- adds r2, r5, r2
- mov r1, r12
- ldrb r0, [r1]
- ldrb r1, [r7]
- adds r1, r0
- ldr r3, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- adds r0, r3
- movs r1, 0xD1
- lsls r1, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- mov r2, r8
- ldrh r1, [r2]
- ldrh r0, [r6]
- adds r0, r1
- adds r0, 0x2
- lsls r0, 1
- adds r5, r0
- mov r1, r12
- ldrb r0, [r1]
- ldrb r1, [r7]
- adds r1, r0
- ldr r2, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- adds r0, r2
- movs r2, 0xD2
- lsls r2, 1
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r5]
- ldrb r0, [r7]
- adds r0, 0x1
- strb r0, [r7]
- ldr r1, [sp, 0x24]
- ldrb r0, [r1]
- cmp r0, 0x2
- bls _08142672
-_08142726:
- mov r2, r9
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- ldrb r0, [r2]
- ldr r1, [sp, 0x18]
- cmp r0, r1
- bcs _08142738
- b _08142628
-_08142738:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81424FC
-
- thumb_func_start sub_8142758
-sub_8142758: @ 8142758
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_085B6448
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x13
- bls _08142770
- movs r4, 0
-_08142770:
- ldr r3, =gUnknown_085B6154
- lsls r0, r4, 2
- adds r0, r4
- lsls r2, r0, 2
- adds r0, r2, r3
- ldrb r0, [r0, 0x1]
- lsls r0, 28
- lsrs r0, 28
- cmp r0, 0x4
- beq _081427C4
- cmp r0, 0x4
- bgt _08142798
- cmp r0, 0x3
- beq _0814279E
- b _08142808
- .pool
-_08142798:
- cmp r0, 0xC
- beq _081427E8
- b _08142808
-_0814279E:
- adds r0, r4, 0
- movs r1, 0x5
- bl __udivsi3
- subs r0, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- adds r0, 0x16
- adds r1, r0, r4
- ldrb r0, [r1]
- cmp r0, 0x3
- bhi _08142808
- ldrb r0, [r1]
- adds r0, 0x1
- b _081427DC
- .pool
-_081427C4:
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- adds r0, 0x12
- adds r1, r0, r4
- ldrb r0, [r1]
- cmp r0, 0x2
- bhi _08142808
- ldrb r0, [r1]
- adds r0, 0x2
-_081427DC:
- add r0, sp
- ldrb r0, [r0]
- b _0814280A
- .pool
-_081427E8:
- ldr r0, =gUnknown_0203AB88
- ldr r1, [r0]
- adds r0, r3, 0
- adds r0, 0x8
- adds r0, r2, r0
- ldr r1, [r1, 0x8]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _08142808
- mov r0, sp
- ldrb r0, [r0, 0x4]
- b _0814280A
- .pool
-_08142808:
- movs r0, 0
-_0814280A:
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8142758
-
- thumb_func_start sub_8142814
-sub_8142814: @ 8142814
- push {r4-r6,lr}
- ldr r4, =gUnknown_0203AB88
- ldr r0, [r4]
- ldrh r1, [r0, 0x2C]
- movs r0, 0x20
- bl SetGpuReg
- ldr r0, [r4]
- ldrh r1, [r0, 0x2E]
- movs r0, 0x22
- bl SetGpuReg
- ldr r0, [r4]
- ldrh r1, [r0, 0x30]
- movs r0, 0x24
- bl SetGpuReg
- ldr r0, [r4]
- ldrh r1, [r0, 0x32]
- movs r0, 0x26
- bl SetGpuReg
- ldr r3, [r4]
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- ldr r0, =gSpriteCoordOffsetY
- movs r4, 0
- ldrsh r2, [r0, r4]
- adds r2, 0x50
- adds r0, r1, 0
- muls r0, r2
- movs r4, 0xE8
- lsls r4, 7
- subs r4, r0
- movs r6, 0x2C
- ldrsh r5, [r3, r6]
- ldr r0, =gSpriteCoordOffsetX
- movs r6, 0
- ldrsh r1, [r0, r6]
- adds r1, 0x74
- adds r0, r5, 0
- muls r0, r1
- subs r4, r0
- movs r5, 0x32
- ldrsh r0, [r3, r5]
- muls r0, r2
- movs r5, 0xA8
- lsls r5, 7
- subs r5, r0
- movs r6, 0x30
- ldrsh r0, [r3, r6]
- muls r0, r1
- subs r5, r0
- lsls r1, r4, 16
- lsrs r1, 16
- movs r0, 0x28
- bl SetGpuReg
- ldr r6, =0x0fff0000
- ands r4, r6
- lsrs r4, 16
- movs r0, 0x2A
- adds r1, r4, 0
- bl SetGpuReg
- lsls r1, r5, 16
- lsrs r1, 16
- movs r0, 0x2C
- bl SetGpuReg
- ands r5, r6
- lsrs r5, 16
- movs r0, 0x2E
- adds r1, r5, 0
- bl SetGpuReg
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8142814
-
- thumb_func_start sub_81428C4
-sub_81428C4: @ 81428C4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl DisplayYesNoMenu
- ldr r1, =gUnknown_085B6408
- adds r0, r4, 0
- bl sub_8121F68
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81428C4
-
- thumb_func_start sub_81428E4
-sub_81428E4: @ 81428E4
- 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 _08142908
- movs r0, 0
- bl SetVBlankCallback
- ldr r0, =sub_81405CC
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_08142908:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81428E4
-
- thumb_func_start sub_8142918
-sub_8142918: @ 8142918
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0x1
- bl sub_819746C
- bl HideCoinsWindow
- bl FreeAllWindowBuffers
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- lsls r1, 26
- lsrs r1, 26
- ldrb r3, [r2, 0x4]
- movs r0, 0x40
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x4]
- bl UpdatePaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81428E4
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8142918
-
- thumb_func_start sub_814297C
-sub_814297C: @ 814297C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- bl sub_819746C
- bl HideCoinsWindow
- bl ScriptContext2_Disable
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_814297C
-
- thumb_func_start sub_81429A0
-sub_81429A0: @ 81429A0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _081429DE
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0x1
- strh r0, [r1]
- bl HideCoinsWindow
- movs r0, 0
- movs r1, 0x1
- bl sub_819746C
- bl ScriptContext2_Disable
- adds r0, r4, 0
- bl DestroyTask
-_081429DE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81429A0
-
- thumb_func_start sub_81429F0
-sub_81429F0: @ 81429F0
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08142A60
- ldr r2, =gUnknown_085B6344
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- lsrs r1, 7
- lsls r1, 1
- adds r0, r1
- adds r0, r2
- ldrb r1, [r0]
- ldr r0, =gStringVar1
- movs r2, 0x2
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gUnknown_082A5B12
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- str r5, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81428C4
- str r1, [r0]
-_08142A60:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81429F0
-
- thumb_func_start sub_8142A88
-sub_8142A88: @ 8142A88
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r6, r0, r1
- movs r1, 0x22
- ldrsh r0, [r6, r1]
- bl PrintCoinsString
- ldr r2, =gUnknown_085B6344
- ldr r0, =gSpecialVar_0x8004
- mov r8, r0
- ldrh r1, [r0]
- movs r7, 0x1
- adds r0, r7, 0
- ands r0, r1
- lsrs r1, 7
- lsls r1, 1
- adds r0, r1
- adds r0, r2
- ldrb r4, [r0]
- ldr r0, =gStringVar1
- adds r1, r4, 0
- movs r2, 0x2
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- movs r1, 0x22
- ldrsh r0, [r6, r1]
- cmp r0, r4
- blt _08142B78
- mov r0, r8
- ldrh r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08142B28
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08142B28
- movs r0, 0
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldr r2, =gUnknown_082A5B6B
- str r7, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, =sub_81429F0
- str r0, [r6]
- b _08142BB0
- .pool
-_08142B28:
- ldr r4, =gStringVar4
- ldr r1, =gUnknown_082A5B12
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81428C4
- str r1, [r0]
- b _08142BB0
- .pool
-_08142B78:
- ldr r5, =gStringVar4
- ldr r1, =gUnknown_082A5B4E
- adds r0, r5, 0
- bl StringExpandPlaceholders
- movs r0, 0
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- str r7, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, =sub_81429A0
- str r0, [r6]
- strh r4, [r6, 0x22]
- strh r4, [r6, 0x8]
-_08142BB0:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8142A88
-
- thumb_func_start sub_8142BC8
-sub_8142BC8: @ 8142BC8
- push {r4,lr}
- bl ScriptContext2_Enable
- bl GetCoins
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- movs r2, 0x1
- bl ShowCoinsWindow
- ldr r0, =sub_8142A88
- movs r1, 0
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl GetCoins
- ldr r2, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- strh r0, [r1, 0x22]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8142BC8
-
- thumb_func_start sub_8142C0C
-sub_8142C0C: @ 8142C0C
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _08142C44
- bl FreeAllSpritePalettes
- ldr r0, =gUnknown_085B7384
- bl LoadSpritePalettes
- ldr r0, =gUnknown_085B7864
- bl LoadCompressedSpriteSheet
- ldr r0, =gUnknown_085B7978
- bl LoadCompressedSpriteSheet
- ldr r0, =gUnknown_085B7A40
- bl LoadCompressedSpriteSheet
- b _08142C5A
- .pool
-_08142C44:
- movs r0, 0xE
- bl FreeSpriteTilesByTag
- movs r0, 0xD
- bl FreeSpriteTilesByTag
- movs r0, 0xC
- bl FreeSpriteTilesByTag
- bl FreeAllSpritePalettes
-_08142C5A:
- pop {r0}
- bx r0
- thumb_func_end sub_8142C0C
-
- thumb_func_start sub_8142C60
-sub_8142C60: @ 8142C60
- push {r4-r6,lr}
- adds r4, r1, 0
- adds r6, r2, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, [r0, 0x4]
- ldrb r3, [r1]
- movs r1, 0x74
- movs r2, 0x50
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r0, =gSprites
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r6]
- strh r0, [r1, 0x2E]
- strh r4, [r1, 0x30]
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r3]
- adds r1, 0x2C
- ldrb r0, [r1]
- movs r2, 0x40
- orrs r0, r2
- movs r2, 0x80
- orrs r0, r2
- strb r0, [r1]
- ldrh r2, [r6]
- adds r0, r2, 0
- adds r0, 0x1E
- strh r0, [r6]
- lsls r0, 16
- ldr r1, =0x01670000
- cmp r0, r1
- bls _08142CBC
- ldr r1, =0xfffffeb6
- adds r0, r2, r1
- strh r0, [r6]
-_08142CBC:
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8142C60
-
- thumb_func_start sub_8142CD0
-sub_8142CD0: @ 8142CD0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r4, =gUnknown_085B7488
- ldr r0, [r4]
- ldr r5, =gDecompressionBuffer
- adds r1, r5, 0
- bl LZ77UnCompWram
- str r5, [sp]
- mov r6, sp
- ldrh r1, [r4, 0x6]
- lsls r1, 16
- ldrh r0, [r4, 0x4]
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- ldr r4, =gUnknown_085B7490
- ldr r0, [r4]
- adds r1, r5, 0
- bl LZ77UnCompWram
- str r5, [sp]
- ldrh r0, [r4, 0x4]
- strh r0, [r6, 0x4]
- ldrh r0, [r4, 0x6]
- strh r0, [r6, 0x6]
- mov r0, sp
- bl LoadSpriteSheet
- movs r6, 0
- ldr r0, =gSprites
- mov r8, r0
-_08142D18:
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 27
- lsrs r4, r0, 24
- movs r5, 0
- lsls r7, r6, 2
-_08142D24:
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 3
- ldr r0, =gSpriteTemplate_85B75B0
- adds r0, r1, r0
- adds r1, 0x94
- adds r2, r4, 0
- adds r2, 0x5C
- movs r3, 0x1E
- bl CreateSprite
- ldr r1, =gUnknown_0203AB88
- ldr r1, [r1]
- adds r2, r5, 0
- adds r2, 0x1D
- adds r2, r7, r2
- adds r1, 0x3C
- adds r1, r2
- strb r0, [r1]
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- adds r0, r4, 0
- adds r0, 0x18
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x47
- bls _08142D6E
- movs r4, 0
-_08142D6E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08142D24
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x2
- bls _08142D18
- movs r6, 0
- ldr r4, =gSprites
-_08142D86:
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- ldr r0, =gSpriteTemplate_85B7508
- adds r0, r1, r0
- adds r1, 0x94
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x46
- movs r3, 0x1E
- bl CreateSprite
- ldr r1, =gUnknown_0203AB88
- ldr r1, [r1]
- adds r1, r6
- adds r1, 0x65
- strb r0, [r1]
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _08142D86
- movs r6, 0
- ldr r4, =gSprites
-_08142DCC:
- lsls r2, r6, 1
- adds r2, r6
- lsls r2, 3
- ldr r0, =gSpriteTemplate_85B7568
- adds r0, r2, r0
- adds r2, 0x5C
- lsls r2, 16
- asrs r2, 16
- movs r1, 0x7E
- movs r3, 0x1E
- bl CreateSprite
- ldr r1, =gUnknown_0203AB88
- ldr r1, [r1]
- adds r1, r6
- adds r1, 0x69
- strb r0, [r1]
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x2
- bls _08142DCC
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8142CD0
-
- thumb_func_start sub_8142E3C
-sub_8142E3C: @ 8142E3C
- push {r4,lr}
- movs r4, 0
-_08142E40:
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- adds r0, r4
- adds r0, 0x59
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xB
- bls _08142E40
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8142E3C
-
- thumb_func_start sub_8142E70
-sub_8142E70: @ 8142E70
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r12, r1
- cmp r0, 0
- beq _08142EC0
- cmp r0, 0x1
- bne _08142F66
- movs r4, 0
- ldr r5, =gSprites
- ldr r3, =gUnknown_0203AB88
- movs r2, 0x4
-_08142E92:
- ldr r0, [r3]
- adds r0, r4
- adds r0, 0x59
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x12
- bls _08142E92
- b _08142F66
- .pool
-_08142EC0:
- movs r4, 0
- ldr r0, =gUnknown_0203AB88
- mov r9, r0
- ldr r7, =gUnknown_085B62E4
- adds r1, r7, 0x4
- mov r8, r1
- ldr r5, =gSprites
- movs r6, 0x5
- negs r6, r6
-_08142ED2:
- mov r0, r9
- ldr r2, [r0]
- lsls r3, r4, 3
- mov r1, r8
- adds r0, r3, r1
- ldr r1, [r2, 0x8]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _08142F14
- adds r0, r3, r7
- ldrb r0, [r0, 0x2]
- cmp r0, r12
- beq _08142F14
- adds r0, r2, r4
- adds r0, 0x59
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _08142F2C
- .pool
-_08142F14:
- adds r0, r2, r4
- adds r0, 0x59
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1]
-_08142F2C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xB
- bls _08142ED2
- cmp r4, 0x12
- bhi _08142F66
- ldr r6, =gSprites
- ldr r3, =gUnknown_0203AB88
- movs r5, 0x5
- negs r5, r5
-_08142F42:
- ldr r0, [r3]
- adds r0, r4
- adds r0, 0x59
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x12
- bls _08142F42
-_08142F66:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8142E70
-
- thumb_func_start sub_8142F7C
-sub_8142F7C: @ 8142F7C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r5, 0
- ldr r6, =gUnknown_0203AB88
- ldr r4, =gSprites
- movs r0, 0x4
- mov r8, r0
-_08142F8C:
- ldr r0, =gSpriteTemplate_85B7928
- movs r1, 0x74
- movs r2, 0x14
- movs r3, 0xA
- bl CreateSprite
- ldr r1, [r6]
- adds r3, r5, 0
- adds r3, 0x31
- adds r1, 0x3C
- adds r1, r3
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, 0x3C
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- mov r2, r8
- orrs r1, r2
- strb r1, [r0]
- ldr r2, [r6]
- adds r2, 0x3C
- adds r2, r3
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_814390C
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x5]
- movs r7, 0xD
- negs r7, r7
- adds r2, r7, 0
- ands r1, r2
- mov r2, r8
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r0, [r6]
- adds r0, 0x3C
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x8
- bl StartSpriteAnim
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _08142F8C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8142F7C
-
- thumb_func_start sub_8143038
-sub_8143038: @ 8143038
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- movs r6, 0
- cmp r0, 0
- beq _08143084
- ldr r4, =gSprites
- ldr r3, =gUnknown_0203AB88
- movs r2, 0x4
-_08143056:
- ldr r0, [r3]
- adds r0, r6
- adds r0, 0x6D
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x5
- bls _08143056
- b _08143142
- .pool
-_08143084:
- ldr r0, =gUnknown_0203AB88
- mov r8, r0
- ldr r7, =gSprites
- ldr r0, =gUnknown_085B6154
- mov r12, r0
- movs r0, 0x5
- negs r0, r0
- mov r10, r0
-_08143094:
- mov r0, r8
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xC
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _081430A8
- cmp r6, r9
- bne _081430D0
-_081430A8:
- adds r0, r1, r6
- adds r0, 0x6D
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _08143138
- .pool
-_081430D0:
- adds r5, r6, 0
- adds r5, 0x31
- adds r0, r1, 0
- adds r0, 0x3C
- adds r0, r5
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- adds r1, 0x3E
- ldrb r2, [r1]
- mov r0, r10
- ands r0, r2
- strb r0, [r1]
- mov r0, r8
- ldr r3, [r0]
- adds r4, r3, 0
- adds r4, 0x3C
- adds r4, r5
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r7
- adds r3, 0xC
- adds r3, r6
- ldrb r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- add r0, r12
- ldrb r0, [r0, 0x3]
- adds r0, 0x1
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r2, 0x20]
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r7
- ldrb r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- add r0, r12
- ldrb r0, [r0, 0x4]
- adds r0, 0x1
- lsls r0, 3
- adds r0, 0x3
- strh r0, [r2, 0x22]
-_08143138:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x5
- bls _08143094
-_08143142:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8143038
-
- thumb_func_start sub_8143150
-sub_8143150: @ 8143150
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _08143180
- ldr r2, =gSprites
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- adds r0, 0x6C
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _081431D0
- .pool
-_08143180:
- ldr r4, =gSprites
- ldr r3, =gUnknown_0203AB88
- ldr r0, [r3]
- adds r0, 0x6C
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldr r3, [r3]
- adds r3, 0x6C
- ldrb r0, [r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldr r0, =gUnknown_085B6154
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 2
- adds r2, r0
- ldrb r0, [r2, 0x3]
- adds r0, 0x2
- lsls r0, 3
- strh r0, [r1, 0x20]
- ldrb r0, [r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r0, [r2, 0x4]
- adds r0, 0x2
- lsls r0, 3
- strh r0, [r1, 0x22]
-_081431D0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8143150
-
- thumb_func_start sub_81431E4
-sub_81431E4: @ 81431E4
- push {r4-r7,lr}
- sub sp, 0xC
- ldr r4, =gUnknown_085B741C
- ldr r0, [r4]
- ldr r5, =gDecompressionBuffer
- adds r1, r5, 0
- bl LZ77UnCompWram
- str r5, [sp, 0x4]
- add r0, sp, 0x4
- ldrh r2, [r4, 0x6]
- lsls r2, 16
- ldrh r1, [r4, 0x4]
- orrs r1, r2
- str r1, [r0, 0x4]
- bl LoadSpriteSheet
- movs r1, 0xF
- mov r0, sp
- strh r1, [r0]
- movs r0, 0
- ldr r7, =gSprites
-_08143210:
- movs r4, 0
- adds r6, r0, 0x1
- lsls r5, r0, 2
-_08143216:
- adds r1, r5, r4
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- ldr r1, =gSpriteTemplate_85B7610
- adds r0, r1
- movs r1, 0x28
- mov r2, sp
- bl sub_8142C60
- ldr r1, =gUnknown_0203AB88
- ldr r1, [r1]
- adds r2, r4, 0x7
- adds r2, r5, r2
- adds r1, 0x3C
- adds r1, r2
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- adds r1, 0x2C
- ldrb r0, [r1]
- movs r2, 0x40
- orrs r0, r2
- movs r2, 0x80
- orrs r0, r2
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _08143216
- lsls r0, r6, 24
- lsrs r0, 24
- cmp r0, 0x2
- bls _08143210
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81431E4
-
- thumb_func_start sub_8143280
-sub_8143280: @ 8143280
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, =gUnknown_0203AB88
- ldr r1, [r0]
- ldrh r0, [r6, 0x2E]
- ldrh r1, [r1, 0x24]
- adds r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
- asrs r1, r0, 16
- ldr r0, =0x00000167
- cmp r1, r0
- ble _081432A2
- ldr r2, =0xfffffe98
- adds r0, r1, r2
- lsls r0, 16
- lsrs r4, r0, 16
-_081432A2:
- adds r0, r4, 0
- bl Sin2
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- bl Cos2
- lsls r2, r5, 16
- asrs r2, 16
- movs r3, 0x30
- ldrsh r1, [r6, r3]
- muls r1, r2
- asrs r1, 12
- strh r1, [r6, 0x24]
- lsls r0, 16
- asrs r4, r0, 16
- negs r1, r4
- movs r3, 0x30
- ldrsh r0, [r6, r3]
- muls r0, r1
- asrs r0, 12
- strh r0, [r6, 0x26]
- ldrb r0, [r6, 0x3]
- lsls r0, 26
- lsrs r3, r0, 27
- cmp r2, 0
- bge _081432DC
- adds r2, 0xF
-_081432DC:
- lsls r0, r2, 12
- lsrs r5, r0, 16
- ldr r1, =gOamMatrices
- lsls r0, r3, 3
- adds r1, r0, r1
- adds r0, r4, 0
- cmp r0, 0
- bge _081432EE
- adds r0, 0xF
-_081432EE:
- asrs r0, 4
- strh r0, [r1, 0x6]
- strh r0, [r1]
- strh r5, [r1, 0x2]
- lsls r0, r5, 16
- asrs r0, 16
- negs r0, r0
- strh r0, [r1, 0x4]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8143280
-
- thumb_func_start sub_8143314
-sub_8143314: @ 8143314
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r5, 0
- ldr r7, =gDecompressionBuffer
- mov r6, sp
-_08143322:
- ldr r0, =gUnknown_085B7750
- lsls r4, r5, 3
- adds r4, r0
- ldr r0, [r4]
- adds r1, r7, 0
- bl LZ77UnCompWram
- str r7, [sp]
- ldrh r2, [r4, 0x4]
- ldr r0, =0xffff0000
- ldr r1, [r6, 0x4]
- ands r1, r0
- orrs r1, r2
- str r1, [r6, 0x4]
- ldrh r2, [r4, 0x6]
- lsls r2, 16
- ldr r0, =0x0000ffff
- ands r0, r1
- orrs r0, r2
- str r0, [r6, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _08143322
- ldr r0, =gSpriteTemplate_85B77E4
- movs r1, 0xD0
- movs r2, 0x10
- movs r3, 0x4
- bl CreateSprite
- ldr r3, =gUnknown_0203AB88
- ldr r1, [r3]
- adds r1, 0x50
- strb r0, [r1]
- ldr r4, =gSprites
- ldr r0, [r3]
- adds r0, 0x50
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- movs r5, 0
- adds r7, r3, 0
-_0814338C:
- lsls r1, r5, 19
- movs r0, 0xC4
- lsls r0, 16
- adds r1, r0
- asrs r1, 16
- ldr r0, =gUnknown_085B77FC
- movs r2, 0x18
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r3, r5, 0
- adds r3, 0x15
- adds r1, 0x3C
- adds r1, r3
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, 0x3C
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r7]
- adds r0, 0x3C
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r6, 0x40
- orrs r1, r6
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _0814338C
- ldr r0, =gUnknown_085B7814
- movs r1, 0x78
- movs r2, 0x44
- movs r3, 0x4
- bl CreateSprite
- ldr r2, =gUnknown_0203AB88
- ldr r1, [r2]
- adds r1, 0x55
- strb r0, [r1]
- ldr r3, =gSprites
- ldr r0, [r2]
- adds r0, 0x55
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x2C
- ldrb r1, [r0]
- orrs r1, r6
- strb r1, [r0]
- movs r5, 0
- adds r4, r2, 0
- adds r7, r3, 0
-_0814341C:
- lsls r1, r5, 20
- movs r2, 0xC0
- lsls r2, 16
- adds r1, r2
- asrs r1, 16
- ldr r0, =gUnknown_085B782C
- movs r2, 0x24
- movs r3, 0x4
- bl CreateSprite
- ldr r1, [r4]
- adds r2, r5, 0
- adds r2, 0x1A
- adds r1, 0x3C
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x3C
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r3, 0x4
- mov r8, r3
- mov r3, r8
- orrs r1, r3
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x3C
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r6, 0x40
- orrs r1, r6
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _0814341C
- ldr r0, =gUnknown_085B7844
- movs r1, 0x98
- movs r2, 0x60
- movs r3, 0x9
- bl CreateSprite
- ldr r3, =gUnknown_0203AB88
- ldr r1, [r3]
- adds r1, 0x6C
- strb r0, [r1]
- ldr r4, =gSprites
- ldr r0, [r3]
- adds r0, 0x6C
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- mov r2, r8
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldr r0, [r3]
- adds r0, 0x6C
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x2C
- ldrb r1, [r0]
- orrs r1, r6
- strb r1, [r0]
- ldr r0, [r3]
- adds r0, 0x6C
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8143314
-
- thumb_func_start sub_8143514
-sub_8143514: @ 8143514
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r7, r0, 16
- movs r0, 0xFA
- lsls r0, 2
- mov r8, r0
- movs r4, 0
- movs r6, 0
- ldr r1, =gSprites
- mov r9, r1
- ldr r0, =gUnknown_0203AB88
- mov r10, r0
-_08143534:
- adds r0, r7, 0
- mov r1, r8
- bl __udivsi3
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gUnknown_0203AB88
- ldr r0, [r1]
- adds r3, r6, 0
- adds r3, 0x15
- adds r0, 0x3C
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- cmp r5, 0
- bne _0814356E
- cmp r4, 0
- bne _0814356E
- cmp r6, 0x3
- bne _081435CC
-_0814356E:
- mov r4, r10
- ldr r0, [r4]
- adds r0, 0x3C
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r9
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r4, 0x5
- negs r4, r4
- adds r2, r4, 0
- ands r1, r2
- strb r1, [r0]
- mov r1, r10
- ldr r0, [r1]
- adds r0, 0x3C
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- mov r4, r9
- adds r3, r0, r4
- adds r4, r3, 0
- adds r4, 0x40
- ldr r1, =gSprites + 8
- adds r0, r1
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r0, r1
- ldrh r2, [r0]
- ldrh r4, [r4]
- adds r2, r4
- ldr r4, =0x000003ff
- adds r0, r4, 0
- ands r2, r0
- ldrh r0, [r3, 0x4]
- ldr r4, =0xfffffc00
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strh r0, [r3, 0x4]
- movs r4, 0x1
-_081435CC:
- adds r0, r7, 0
- mov r1, r8
- bl __umodsi3
- lsls r0, 16
- lsrs r7, r0, 16
- mov r0, r8
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _08143534
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8143514
-
- thumb_func_start sub_8143614
-sub_8143614: @ 8143614
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_085B7B04
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x13
- bls _0814362C
- movs r4, 0
-_0814362C:
- ldr r3, =gUnknown_085B6154
- lsls r0, r4, 2
- adds r0, r4
- lsls r2, r0, 2
- adds r0, r2, r3
- ldrb r0, [r0, 0x1]
- lsls r0, 28
- lsrs r0, 28
- cmp r0, 0x4
- beq _08143680
- cmp r0, 0x4
- bgt _08143654
- cmp r0, 0x3
- beq _0814365A
- b _081436C4
- .pool
-_08143654:
- cmp r0, 0xC
- beq _081436A4
- b _081436C4
-_0814365A:
- adds r0, r4, 0
- movs r1, 0x5
- bl __udivsi3
- subs r0, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- adds r0, 0x16
- adds r1, r0, r4
- ldrb r0, [r1]
- cmp r0, 0x3
- bhi _081436C4
- ldrb r0, [r1]
- adds r0, 0x1
- b _08143698
- .pool
-_08143680:
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- adds r0, 0x12
- adds r1, r0, r4
- ldrb r0, [r1]
- cmp r0, 0x2
- bhi _081436C4
- ldrb r0, [r1]
- adds r0, 0x2
-_08143698:
- add r0, sp
- ldrb r0, [r0]
- b _081436C6
- .pool
-_081436A4:
- ldr r0, =gUnknown_0203AB88
- ldr r1, [r0]
- adds r0, r3, 0
- adds r0, 0x8
- adds r0, r2, r0
- ldr r1, [r1, 0x8]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _081436C4
- mov r0, sp
- ldrb r0, [r0, 0x4]
- b _081436C6
- .pool
-_081436C4:
- movs r0, 0
-_081436C6:
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8143614
-
- thumb_func_start sub_81436D0
-sub_81436D0: @ 81436D0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203AB88
- ldr r1, [r1]
- adds r1, 0x55
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r2, =gSprites
- adds r4, r1, r2
- bl sub_8143614
- adds r3, r4, 0
- adds r3, 0x2B
- strb r0, [r3]
- adds r2, r4, 0
- adds r2, 0x40
- ldr r1, [r4, 0x8]
- ldrb r0, [r3]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0]
- ldrh r2, [r2]
- adds r1, r2
- ldr r2, =0x000003ff
- adds r0, r2, 0
- ands r1, r0
- ldrh r2, [r4, 0x4]
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81436D0
-
- thumb_func_start sub_814372C
-sub_814372C: @ 814372C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r2, r0, 24
- movs r6, 0
- ldr r1, =gUnknown_0203AB88
- ldr r0, [r1]
- ldrb r0, [r0, 0x19]
- adds r5, r1, 0
- cmp r0, 0x1
- bne _08143746
- movs r6, 0x2
-_08143746:
- cmp r2, 0x6
- bls _0814374C
- b _081438A8
-_0814374C:
- lsls r0, r2, 2
- ldr r1, =_08143760
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08143760:
- .4byte _081438A8
- .4byte _08143864
- .4byte _0814383C
- .4byte _08143830
- .4byte _08143808
- .4byte _081437FC
- .4byte _0814377C
-_0814377C:
- movs r4, 0
- ldr r5, =gSprites
- ldr r6, =gUnknown_0203AB88
- movs r0, 0x5
- negs r0, r0
- mov r12, r0
- adds r7, r5, 0
- adds r7, 0x8
- ldr r2, =0xfffffc00
- mov r8, r2
-_08143790:
- ldr r0, [r6]
- adds r3, r4, 0
- adds r3, 0x1A
- adds r0, 0x3C
- adds r0, r3
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r2, [r1]
- mov r0, r12
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, 0x3C
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, r0, r5
- adds r2, r3, 0
- adds r2, 0x40
- adds r0, r7
- ldr r0, [r0]
- ldr r0, [r0]
- ldrh r1, [r0]
- ldrh r2, [r2]
- adds r1, r2
- ldr r2, =0x000003ff
- adds r0, r2, 0
- ands r1, r0
- ldrh r2, [r3, 0x4]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x4]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _08143790
- b _081438F4
- .pool
-_081437FC:
- ldr r2, =gSprites
- ldr r0, [r5]
- adds r0, 0x58
- b _0814386A
- .pool
-_08143808:
- ldr r2, =gSprites
- ldr r0, [r5]
- adds r0, 0x58
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, r0, r2
- adds r4, r3, 0
- adds r4, 0x40
- adds r2, 0x8
- adds r0, r2
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r6, 2
- adds r0, r1
- ldrh r1, [r0, 0x8]
- b _08143886
- .pool
-_08143830:
- ldr r2, =gSprites
- ldr r0, [r5]
- adds r0, 0x57
- b _0814386A
- .pool
-_0814383C:
- ldr r2, =gSprites
- ldr r0, [r5]
- adds r0, 0x57
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, r0, r2
- adds r4, r3, 0
- adds r4, 0x40
- adds r2, 0x8
- adds r0, r2
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r6, 2
- adds r0, r1
- ldrh r1, [r0, 0x8]
- b _08143886
- .pool
-_08143864:
- ldr r2, =gSprites
- ldr r0, [r5]
- adds r0, 0x56
-_0814386A:
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, r0, r2
- adds r4, r3, 0
- adds r4, 0x40
- adds r2, 0x8
- adds r0, r2
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r6, 2
- adds r0, r1
- ldrh r1, [r0, 0x4]
-_08143886:
- ldrh r4, [r4]
- adds r1, r4
- ldr r2, =0x000003ff
- adds r0, r2, 0
- ands r1, r0
- ldrh r2, [r3, 0x4]
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x4]
- b _081438F4
- .pool
-_081438A8:
- movs r4, 0
- lsls r7, r6, 2
- ldr r6, =gSprites
- movs r0, 0x8
- adds r0, r6
- mov r12, r0
- ldr r2, =0xfffffc00
- mov r8, r2
-_081438B8:
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x56
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, r0, r6
- adds r2, r3, 0
- adds r2, 0x40
- add r0, r12
- ldr r0, [r0]
- ldr r0, [r0]
- adds r0, r7, r0
- ldrh r1, [r0, 0x8]
- ldrh r2, [r2]
- adds r1, r2
- ldr r2, =0x000003ff
- adds r0, r2, 0
- ands r1, r0
- ldrh r2, [r3, 0x4]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x4]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _081438B8
-_081438F4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814372C
-
- thumb_func_start sub_814390C
-sub_814390C: @ 814390C
- ldr r1, =gUnknown_0203AB88
- ldr r1, [r1]
- ldrh r1, [r1, 0x26]
- strh r1, [r0, 0x24]
- bx lr
- .pool
- thumb_func_end sub_814390C
-
- thumb_func_start sub_814391C
-sub_814391C: @ 814391C
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r4, =gUnknown_085B7948
- ldr r0, [r4]
- ldr r5, =gDecompressionBuffer
- adds r1, r5, 0
- bl LZ77UnCompWram
- str r5, [sp]
- ldrh r1, [r4, 0x6]
- lsls r1, 16
- ldrh r0, [r4, 0x4]
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- ldr r0, =gSpriteTemplate_85B7950
- movs r1, 0x74
- movs r2, 0x50
- movs r3, 0x51
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- ldrh r0, [r0, 0x24]
- movs r2, 0
- strh r0, [r1, 0x2E]
- strh r2, [r1, 0x30]
- adds r3, r1, 0
- adds r3, 0x2C
- ldrb r0, [r3]
- movs r2, 0x40
- orrs r0, r2
- movs r2, 0x80
- orrs r0, r2
- strb r0, [r3]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r1]
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814391C
-
- thumb_func_start sub_814399C
-sub_814399C: @ 814399C
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- ldr r1, =gOamMatrices
- lsls r0, 3
- adds r0, r1
- ldr r1, =gUnknown_0203AB88
- ldr r2, [r1]
- ldrh r1, [r2, 0x2C]
- strh r1, [r0, 0x6]
- ldrh r1, [r2, 0x2C]
- strh r1, [r0]
- ldrh r1, [r2, 0x2E]
- strh r1, [r0, 0x2]
- ldrh r1, [r2, 0x30]
- strh r1, [r0, 0x4]
- bx lr
- .pool
- thumb_func_end sub_814399C
-
- thumb_func_start sub_81439C8
-sub_81439C8: @ 81439C8
- push {r4-r6,lr}
- movs r4, 0
- ldr r5, =gUnknown_0203AB88
- ldr r6, =gSprites
-_081439D0:
- movs r3, 0x39
- subs r3, r4
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =gSpriteTemplate_85B7928
- movs r1, 0x74
- movs r2, 0x50
- bl CreateSprite
- ldr r1, [r5]
- adds r1, 0x3C
- adds r1, r4
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x3C
- adds r1, r0, r4
- ldrb r0, [r1]
- cmp r0, 0x40
- beq _08143A24
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, 0x3C
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
-_08143A24:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _081439D0
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81439C8
-
- thumb_func_start sub_8143A40
-sub_8143A40: @ 8143A40
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- adds r0, 0x3C
- ldrb r5, [r0]
- movs r6, 0
- ldr r7, =gSprites
- movs r0, 0x1C
- adds r0, r7
- mov r10, r0
- movs r1, 0x2E
- adds r1, r7
- mov r9, r1
- mov r8, r6
-_08143A64:
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- adds r0, r4, r7
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r3]
- mov r1, r10
- adds r2, r4, r1
- ldr r1, =SpriteCallbackDummy
- str r1, [r2]
- movs r1, 0
- bl StartSpriteAnim
- movs r1, 0
- adds r2, r5, 0x1
- adds r3, r6, 0x1
-_08143A8C:
- lsls r0, r1, 1
- adds r0, r4
- add r0, r9
- mov r5, r8
- strh r5, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x7
- bls _08143A8C
- lsls r0, r2, 24
- lsrs r5, r0, 24
- lsls r0, r3, 24
- lsrs r6, r0, 24
- cmp r6, 0x5
- bls _08143A64
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8143A40
-
- thumb_func_start sub_8143AC8
-sub_8143AC8: @ 8143AC8
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- ldrh r4, [r0, 0x24]
- movs r2, 0x24
- ldrsh r1, [r0, r2]
- ldrh r2, [r3, 0x34]
- movs r5, 0x34
- ldrsh r0, [r3, r5]
- cmp r1, r0
- ble _08143B04
- movs r1, 0xB4
- lsls r1, 1
- adds r0, r2, r1
- subs r2, r0, r4
- strh r2, [r3, 0x3A]
- lsls r1, r2, 16
- ldr r0, =0x01670000
- cmp r1, r0
- ble _08143B08
- ldr r5, =0xfffffe98
- adds r0, r2, r5
- b _08143B06
- .pool
-_08143B04:
- subs r0, r2, r4
-_08143B06:
- strh r0, [r3, 0x3A]
-_08143B08:
- movs r1, 0x3A
- ldrsh r0, [r3, r1]
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8143AC8
-
- thumb_func_start sub_8143B14
-sub_8143B14: @ 8143B14
- push {r4,r5,lr}
- bl sub_8143AC8
- ldr r5, =gUnknown_0203AB88
- ldr r4, [r5]
- lsls r0, 16
- asrs r0, 16
- bl __floatsisf
- ldr r1, =0x41f00000
- bl __divsf3
- bl __fixunssfsi
- adds r4, 0x7E
- strb r0, [r4]
- ldr r0, [r5]
- adds r0, 0x7E
- ldrb r0, [r0]
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8143B14
-
- thumb_func_start sub_8143B48
-sub_8143B48: @ 8143B48
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8143AC8
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1E
- bl __modsi3
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0xE
- bne _08143B68
- movs r0, 0
- strh r0, [r4, 0x32]
- b _08143B7E
-_08143B68:
- cmp r1, 0xD
- bgt _08143B70
- movs r0, 0xE
- b _08143B72
-_08143B70:
- movs r0, 0x2B
-_08143B72:
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
-_08143B7E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8143B48
-
- thumb_func_start sub_8143B84
-sub_8143B84: @ 8143B84
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- ldr r5, _08143BCC @ =gUnknown_0203AB88
- ldr r6, [r5]
- adds r4, r6, 0
- adds r4, 0x8C
- adds r1, r6, 0
- adds r1, 0x90
- ldr r0, [r4]
- ldr r1, [r1]
- bl __addsf3
- adds r1, r0, 0
- str r1, [r4]
- subs r4, 0x4
- ldr r0, [r4]
- bl __addsf3
- adds r6, r0, 0
- str r6, [r4]
- ldr r0, _08143BD0 @ =0x43B40000
- mov r8, r0
- adds r0, r6, 0
- mov r1, r8
- bl __gesf2
- cmp r0, 0
- blt _08143BD4
- adds r0, r6, 0
- mov r1, r8
- bl __subsf3
- b _08143BE8
- .align 2, 0
-_08143BCC:
- .4byte gUnknown_0203AB88
-_08143BD0:
- .4byte 0x43B40000
-_08143BD4:
- ldr r1, _08143C80 @ =0x00000000
- adds r0, r6, 0
- bl __ltsf2
- cmp r0, 0
- bge _08143BEA
- adds r0, r6, 0
- mov r1, r8
- bl __addsf3
-_08143BE8:
- str r0, [r4]
-_08143BEA:
- ldr r5, [r5]
- adds r0, r5, 0
- adds r0, 0x88
- ldr r0, [r0]
- bl __fixsfsi
- strh r0, [r7, 0x34]
- adds r4, r5, 0
- adds r4, 0x98
- adds r1, r5, 0
- adds r1, 0x9C
- ldr r0, [r4]
- ldr r1, [r1]
- bl __addsf3
- adds r1, r0, 0
- str r1, [r4]
- subs r4, 0x4
- ldr r0, [r4]
- bl __addsf3
- str r0, [r4]
- bl __fixsfsi
- strh r0, [r7, 0x36]
- ldrh r0, [r7, 0x34]
- bl Sin2
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldrh r0, [r7, 0x34]
- bl Cos2
- lsls r4, 16
- asrs r4, 16
- movs r2, 0x36
- ldrsh r1, [r7, r2]
- muls r1, r4
- asrs r1, 12
- strh r1, [r7, 0x24]
- lsls r0, 16
- asrs r0, 16
- negs r0, r0
- movs r2, 0x36
- ldrsh r1, [r7, r2]
- muls r0, r1
- asrs r0, 12
- strh r0, [r7, 0x26]
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- beq _08143C74
- ldr r0, _08143C84 @ =gMPlayInfo_SE1
- ldr r4, _08143C88 @ =0x0000FFFF
- ldrh r2, [r7, 0x24]
- lsls r2, 24
- asrs r2, 24
- adds r1, r4, 0
- bl m4aMPlayPanpotControl
- ldr r0, _08143C8C @ =gMPlayInfo_SE2
- ldrh r2, [r7, 0x24]
- lsls r2, 24
- asrs r2, 24
- adds r1, r4, 0
- bl m4aMPlayPanpotControl
-_08143C74:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08143C80:
- .4byte 0x00000000
-_08143C84:
- .4byte gMPlayInfo_SE1
-_08143C88:
- .4byte 0x0000FFFF
-_08143C8C:
- .4byte gMPlayInfo_SE2
- thumb_func_end sub_8143B84
-
- thumb_func_start sub_8143C90
-sub_8143C90: @ 8143C90
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gUnknown_0203AB88
- ldr r1, [r0]
- ldrh r0, [r5, 0x3A]
- ldrh r1, [r1, 0x24]
- adds r2, r0, r1
- strh r2, [r5, 0x34]
- lsls r1, r2, 16
- ldr r0, =0x01670000
- cmp r1, r0
- ble _08143CAE
- ldr r1, =0xfffffe98
- adds r0, r2, r1
- strh r0, [r5, 0x34]
-_08143CAE:
- ldrh r0, [r5, 0x34]
- bl Sin2
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldrh r0, [r5, 0x34]
- bl Cos2
- lsls r4, 16
- asrs r4, 16
- movs r2, 0x36
- ldrsh r1, [r5, r2]
- muls r1, r4
- asrs r1, 12
- strh r1, [r5, 0x24]
- lsls r0, 16
- asrs r0, 16
- negs r0, r0
- movs r2, 0x36
- ldrsh r1, [r5, r2]
- muls r0, r1
- ldr r1, =gSpriteCoordOffsetY
- asrs r0, 12
- ldrh r1, [r1]
- adds r0, r1
- strh r0, [r5, 0x26]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8143C90
-
- thumb_func_start sub_8143CFC
-sub_8143CFC: @ 8143CFC
- push {r4-r7,lr}
- adds r5, r0, 0
- bl sub_8143B84
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x36]
- adds r0, 0x84
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xD4
- bls _08143D22
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- b _08143D2E
-_08143D22:
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
-_08143D2E:
- strb r0, [r2]
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- cmp r0, 0x1D
- ble _08143DF8
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08143D6C
- ldr r7, _08143D64 @ =gUnknown_0203AB88
- ldr r6, [r7]
- adds r4, r6, 0
- adds r4, 0x94
- adds r0, r6, 0
- adds r0, 0xA0
- ldr r0, [r0]
- ldr r1, _08143D68 @ =0x40000000
- bl __subsf3
- adds r1, r0, 0
- ldr r0, [r4]
- bl __lesf2
- cmp r0, 0
- bgt _08143DF8
- b _08143D8C
- .align 2, 0
-_08143D64:
- .4byte gUnknown_0203AB88
-_08143D68:
- .4byte 0x40000000
-_08143D6C:
- ldr r7, _08143E00 @ =gUnknown_0203AB88
- ldr r6, [r7]
- adds r4, r6, 0
- adds r4, 0x94
- adds r0, r6, 0
- adds r0, 0xA0
- ldr r0, [r0]
- ldr r1, _08143E04 @ =0x40000000
- bl __subsf3
- adds r1, r0, 0
- ldr r0, [r4]
- bl __gesf2
- cmp r0, 0
- blt _08143DF8
-_08143D8C:
- adds r1, r6, 0
- adds r1, 0x7D
- movs r0, 0xFF
- strb r0, [r1]
- ldr r2, [r7]
- ldrb r1, [r2, 0x3]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x3]
- adds r0, r5, 0
- adds r0, 0x2B
- ldrb r1, [r0]
- adds r1, 0x3
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnim
- adds r0, r5, 0
- bl sub_8143B14
- movs r0, 0x1E
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl sub_8143AC8
- movs r1, 0x3A
- ldrsh r0, [r5, r1]
- movs r1, 0x1E
- bl __divsi3
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 1
- adds r1, 0xF
- strh r1, [r5, 0x3A]
- ldr r0, _08143E08 @ =sub_8143C90
- str r0, [r5, 0x1C]
- movs r0, 0x47
- bl m4aSongNumStartOrChange
- ldr r3, [r7]
- adds r2, r3, 0
- adds r2, 0x9C
- adds r1, r3, 0
- adds r1, 0x98
- ldr r0, _08143E0C @ =0x00000000
- str r0, [r1]
- str r0, [r2]
- subs r1, 0xC
- ldr r0, _08143E10 @ =0xBF800000
- str r0, [r1]
-_08143DF8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08143E00:
- .4byte gUnknown_0203AB88
-_08143E04:
- .4byte 0x40000000
-_08143E08:
- .4byte sub_8143C90
-_08143E0C:
- .4byte 0x00000000
-_08143E10:
- .4byte 0xBF800000
- thumb_func_end sub_8143CFC
-
- thumb_func_start sub_8143E14
-sub_8143E14: @ 8143E14
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r0, 0
- bl sub_8143B84
- movs r1, 0x34
- ldrsh r0, [r7, r1]
- cmp r0, 0
- beq _08143E32
- cmp r0, 0xB4
- beq _08143E9C
- b _08143F80
-_08143E32:
- movs r1, 0x2E
- ldrsh r0, [r7, r1]
- cmp r0, 0x1
- bne _08143E3C
- b _08143F80
-_08143E3C:
- movs r1, 0x3C
- ldrsh r0, [r7, r1]
- bl __floatsisf
- mov r9, r0
- ldr r0, =gUnknown_085B6348
- mov r10, r0
- ldr r1, =gUnknown_0203AB88
- mov r8, r1
- ldr r0, [r1]
- ldrb r4, [r0, 0x4]
- lsls r4, 30
- lsrs r0, r4, 25
- add r0, r10
- ldrb r0, [r0, 0x1]
- bl __floatsisf
- adds r1, r0, 0
- mov r0, r9
- bl __mulsf3
- adds r6, r0, 0
- lsrs r0, r4, 25
- add r0, r10
- ldrb r0, [r0, 0x2]
- subs r0, 0x1
- bl __floatsisf
- adds r1, r0, 0
- adds r0, r6, 0
- bl __addsf3
- adds r5, r0, 0
- lsrs r4, 25
- add r4, r10
- ldrh r0, [r4, 0xC]
- bl __floatsisf
- adds r1, r0, 0
- mov r0, r9
- bl __divsf3
- b _08143EFC
- .pool
-_08143E9C:
- movs r1, 0x2E
- ldrsh r0, [r7, r1]
- cmp r0, 0
- beq _08143F80
- movs r1, 0x3C
- ldrsh r0, [r7, r1]
- bl __floatsisf
- mov r9, r0
- ldr r0, _08143F90 @ =gUnknown_085B6348
- mov r10, r0
- ldr r1, _08143F94 @ =gUnknown_0203AB88
- mov r8, r1
- ldr r0, [r1]
- ldrb r4, [r0, 0x4]
- lsls r4, 30
- lsrs r0, r4, 25
- add r0, r10
- ldrb r0, [r0, 0x1]
- bl __floatsisf
- adds r1, r0, 0
- mov r0, r9
- bl __mulsf3
- adds r6, r0, 0
- lsrs r0, r4, 25
- add r0, r10
- ldrb r0, [r0, 0x2]
- subs r0, 0x1
- bl __floatsisf
- adds r1, r0, 0
- adds r0, r6, 0
- bl __addsf3
- adds r5, r0, 0
- lsrs r4, 25
- add r4, r10
- ldrh r0, [r4, 0xC]
- bl __floatsisf
- adds r1, r0, 0
- mov r0, r9
- bl __divsf3
- bl __negsf2
-_08143EFC:
- adds r2, r0, 0
- mov r0, r8
- ldr r6, [r0]
- adds r1, r6, 0
- adds r1, 0xA0
- adds r0, r6, 0
- adds r0, 0x94
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r6, 0
- adds r0, 0x98
- str r2, [r0]
- movs r0, 0x9C
- adds r0, r6
- mov r8, r0
- adds r0, r2, 0
- adds r1, r2, 0
- bl __addsf3
- adds r1, r5, 0
- bl __divsf3
- adds r4, r0, 0
- adds r0, r5, 0
- adds r1, r5, 0
- bl __mulsf3
- adds r1, r0, 0
- ldr r0, _08143F98 @ =0x40000000
- bl __divsf3
- adds r1, r0, 0
- adds r0, r4, 0
- bl __addsf3
- bl __negsf2
- mov r1, r8
- str r0, [r1]
- adds r1, r6, 0
- adds r1, 0x8C
- ldr r0, _08143F9C @ =0x00000000
- str r0, [r1]
- adds r2, r7, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r0, r7, 0
- adds r0, 0x2A
- movs r2, 0
- strb r2, [r0]
- adds r3, r7, 0
- adds r3, 0x3F
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- ldr r0, _08143FA0 @ =sub_8143CFC
- str r0, [r7, 0x1C]
- strh r2, [r7, 0x32]
-_08143F80:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08143F90:
- .4byte gUnknown_085B6348
-_08143F94:
- .4byte gUnknown_0203AB88
-_08143F98:
- .4byte 0x40000000
-_08143F9C:
- .4byte 0x00000000
-_08143FA0:
- .4byte sub_8143CFC
- thumb_func_end sub_8143E14
-
- thumb_func_start sub_8143FA4
-sub_8143FA4: @ 8143FA4
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- bl __floatsisf
- adds r4, r0, 0
- ldr r1, =0x3d4ccccd
- bl __mulsf3
- adds r1, r4, 0
- bl __mulsf3
- bl __fixsfsi
- adds r1, r0, 0
- subs r1, 0x2D
- strh r1, [r5, 0x26]
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1D
- ble _0814403E
- lsls r0, r1, 16
- cmp r0, 0
- blt _0814403E
- ldr r4, =gUnknown_0203AB88
- ldr r0, [r4]
- adds r0, 0x7D
- movs r1, 0xFF
- strb r1, [r0]
- ldr r2, [r4]
- ldrb r1, [r2, 0x3]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x3]
- adds r0, r5, 0
- adds r0, 0x2B
- ldrb r1, [r0]
- adds r1, 0x3
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnim
- adds r0, r5, 0
- bl sub_8143B14
- movs r0, 0x1E
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl sub_8143AC8
- movs r1, 0x3A
- ldrsh r0, [r5, r1]
- movs r1, 0x1E
- bl __divsi3
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 1
- adds r1, 0xF
- strh r1, [r5, 0x3A]
- ldr r0, =sub_8143C90
- str r0, [r5, 0x1C]
- movs r0, 0x47
- bl m4aSongNumStartOrChange
- ldr r2, [r4]
- ldrb r0, [r2, 0x3]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2, 0x3]
-_0814403E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8143FA4
-
- thumb_func_start sub_8144050
-sub_8144050: @ 8144050
- push {r4,lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x32]
- adds r1, r0, 0x1
- strh r1, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2C
- bgt _08144098
- ldrh r4, [r3, 0x26]
- subs r0, r4, 0x1
- strh r0, [r3, 0x26]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x2D
- bne _0814411E
- ldr r2, =gSprites
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- adds r0, 0x73
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0814411E
- strh r4, [r3, 0x26]
- b _0814411E
- .pool
-_08144098:
- lsls r0, r1, 16
- asrs r0, 16
- movs r2, 0x3C
- ldrsh r1, [r3, r2]
- cmp r0, r1
- bge _081440E4
- ldr r2, =gSprites
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- adds r0, 0x73
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bne _0814411E
- adds r0, r1, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _081440DC
- ldrh r0, [r3, 0x26]
- adds r0, 0x1
- strh r0, [r3, 0x26]
- b _0814411E
- .pool
-_081440DC:
- ldrh r0, [r3, 0x26]
- subs r0, 0x1
- strh r0, [r3, 0x26]
- b _0814411E
-_081440E4:
- adds r2, r3, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x3F
- adds r0, r3
- mov r12, r0
- ldrb r0, [r0]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- mov r1, r12
- strb r0, [r1]
- strh r2, [r3, 0x32]
- ldr r0, =sub_8143FA4
- str r0, [r3, 0x1C]
- movs r0, 0x3D
- bl m4aSongNumStart
-_0814411E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8144050
-
- thumb_func_start sub_8144128
-sub_8144128: @ 8144128
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8143B84
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- cmp r1, 0x5A
- beq _08144142
- movs r0, 0x87
- lsls r0, 1
- cmp r1, r0
- beq _0814414C
- b _0814415C
-_08144142:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0814415C
- b _08144154
-_0814414C:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0814415C
-_08144154:
- ldr r0, =sub_8144050
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x32]
-_0814415C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8144128
-
- thumb_func_start sub_8144168
-sub_8144168: @ 8144168
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8143B84
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- lsls r0, 27
- lsrs r0, 27
- cmp r0, 0
- beq _08144182
- cmp r0, 0x1
- beq _08144194
-_08144182:
- adds r0, r4, 0
- bl sub_81446DC
- ldr r0, =sub_8143E14
- b _0814419C
- .pool
-_08144194:
- adds r0, r4, 0
- bl sub_81448B8
- ldr r0, =sub_8144128
-_0814419C:
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8144168
-
- thumb_func_start prev_quest_read_x24_hm_usage
-prev_quest_read_x24_hm_usage: @ 81441A8
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_8143B84
- ldrh r0, [r5, 0x32]
- subs r0, 0x1
- strh r0, [r5, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- bne _081441CE
- ldr r0, =gUnknown_0203AB88
- ldr r4, [r0]
- adds r4, 0x98
- ldr r0, [r4]
- ldr r1, =0xbf800000
- bl __mulsf3
- str r0, [r4]
-_081441CE:
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0814425C
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08144244
- ldr r2, =gUnknown_0203AB88
- ldr r0, [r2]
- adds r0, 0x7D
- movs r1, 0xFF
- strb r1, [r0]
- ldr r2, [r2]
- ldrb r1, [r2, 0x3]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x3]
- adds r0, r5, 0
- adds r0, 0x2B
- ldrb r1, [r0]
- adds r1, 0x3
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnim
- adds r0, r5, 0
- bl sub_8143B14
- movs r0, 0x1E
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl sub_8143AC8
- movs r1, 0x3A
- ldrsh r0, [r5, r1]
- movs r1, 0x1E
- bl __divsi3
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 1
- adds r1, 0xF
- strh r1, [r5, 0x3A]
- ldr r0, =sub_8143C90
- str r0, [r5, 0x1C]
- movs r0, 0x47
- bl m4aSongNumStartOrChange
- b _0814425C
- .pool
-_08144244:
- adds r0, r5, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0x38
- bl m4aSongNumStart
- adds r0, r5, 0
- bl sub_8144A24
-_0814425C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end prev_quest_read_x24_hm_usage
-
- thumb_func_start sub_8144264
-sub_8144264: @ 8144264
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- bl sub_8143B84
- movs r0, 0
- strh r0, [r6, 0x32]
- adds r0, r6, 0
- bl sub_8143B14
- ldr r1, _081442F0 @ =gUnknown_085B62E4
- ldr r4, _081442F4 @ =gUnknown_0203AB88
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x7E
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- ldr r1, [r2, 0x8]
- ands r0, r1
- cmp r0, 0
- bne _081442FC
- adds r1, r2, 0
- adds r1, 0x7D
- movs r0, 0xFF
- strb r0, [r1]
- ldr r2, [r4]
- ldrb r1, [r2, 0x3]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x3]
- adds r0, r6, 0
- adds r0, 0x2B
- ldrb r1, [r0]
- adds r1, 0x3
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl StartSpriteAnim
- adds r0, r6, 0
- bl sub_8143B14
- movs r0, 0x1E
- strh r0, [r6, 0x36]
- adds r0, r6, 0
- bl sub_8143AC8
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- movs r1, 0x1E
- bl __divsi3
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 1
- adds r1, 0xF
- strh r1, [r6, 0x3A]
- ldr r0, _081442F8 @ =sub_8143C90
- str r0, [r6, 0x1C]
- movs r0, 0x47
- bl m4aSongNumStartOrChange
- b _081443F8
- .align 2, 0
-_081442F0:
- .4byte gUnknown_085B62E4
-_081442F4:
- .4byte gUnknown_0203AB88
-_081442F8:
- .4byte sub_8143C90
-_081442FC:
- movs r0, 0x38
- bl m4aSongNumStart
- bl Random
- movs r1, 0x1
- mov r8, r1
- ands r1, r0
- mov r8, r1
- cmp r1, 0
- beq _08144340
- ldr r4, [r4]
- adds r1, r4, 0
- adds r1, 0x8C
- ldr r0, _08144338 @ =0x00000000
- str r0, [r1]
- adds r0, r4, 0
- adds r0, 0x7E
- ldrb r0, [r0]
- adds r0, 0x1
- movs r1, 0xC
- bl __modsi3
- lsls r1, r0, 24
- lsrs r2, r1, 24
- adds r1, r4, 0
- adds r1, 0x7F
- strb r0, [r1]
- ldr r5, _0814433C @ =gUnknown_085B6348
- b _08144378
-_08144338:
- .4byte 0x00000000
-_0814433C:
- .4byte gUnknown_085B6348
-_08144340:
- ldr r7, [r4]
- adds r4, r7, 0
- adds r4, 0x8C
- ldr r5, =gUnknown_085B6348
- ldrb r0, [r7, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, [r0]
- adds r0, r1, 0
- bl __addsf3
- str r0, [r4]
- adds r0, r7, 0
- adds r0, 0x7E
- ldrb r4, [r0]
- adds r0, r4, 0
- adds r0, 0xB
- movs r1, 0xC
- bl __modsi3
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r7, 0
- adds r0, 0x7F
- strb r4, [r0]
-_08144378:
- ldr r0, =gUnknown_085B62E4
- lsls r1, r2, 3
- adds r0, 0x4
- adds r1, r0
- ldr r2, =gUnknown_0203AB88
- ldr r3, [r2]
- ldr r1, [r1]
- ldr r0, [r3, 0x8]
- ands r1, r0
- cmp r1, 0
- beq _081443AC
- movs r0, 0x1
- strh r0, [r6, 0x2E]
- ldrb r0, [r3, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r5
- ldrb r0, [r0, 0x2]
- strh r0, [r6, 0x32]
- b _081443E8
- .pool
-_081443AC:
- strh r1, [r6, 0x2E]
- ldrb r1, [r3, 0x4]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _081443C4
- lsls r0, r1, 30
- lsrs r0, 25
- adds r0, r5
- ldrb r0, [r0, 0x1]
- strh r0, [r6, 0x32]
- b _081443E8
-_081443C4:
- lsls r0, r1, 30
- lsrs r0, 25
- adds r0, r5
- ldrb r0, [r0, 0x2]
- strh r0, [r6, 0x32]
- mov r0, r8
- cmp r0, 0
- beq _081443E0
- adds r1, r3, 0
- adds r1, 0x8C
- ldr r0, =0x3f000000
- b _081443E6
- .pool
-_081443E0:
- adds r1, r3, 0
- adds r1, 0x8C
- ldr r0, =0xbfc00000
-_081443E6:
- str r0, [r1]
-_081443E8:
- ldr r0, [r2]
- adds r0, 0x98
- ldr r1, =0x3dae147b
- str r1, [r0]
- ldr r0, =prev_quest_read_x24_hm_usage
- str r0, [r6, 0x1C]
- movs r0, 0x5
- strh r0, [r6, 0x30]
-_081443F8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8144264
-
- thumb_func_start sub_8144410
-sub_8144410: @ 8144410
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- bl sub_8143B84
- ldr r4, _081444A4 @ =gUnknown_0203AB88
- ldr r0, [r4]
- adds r0, 0x8C
- ldr r0, [r0]
- ldr r1, _081444A8 @ =0x3F000000
- bl __gtsf2
- cmp r0, 0
- bgt _081444FA
- adds r0, r6, 0
- bl sub_8143B14
- adds r0, r6, 0
- bl sub_8143B48
- lsls r0, 16
- cmp r0, 0
- bne _081444BC
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0x90
- ldr r0, _081444AC @ =0x00000000
- str r0, [r1]
- movs r0, 0x8C
- adds r0, r2
- mov r8, r0
- ldr r1, _081444B0 @ =gUnknown_085B6348
- mov r9, r1
- ldrb r0, [r2, 0x4]
- lsls r7, r0, 30
- lsrs r0, r7, 25
- add r0, r9
- movs r4, 0x3
- ldrsb r4, [r0, r4]
- adds r0, r4, 0
- bl __floatsisf
- adds r5, r0, 0
- cmp r4, 0
- bge _08144476
- ldr r1, _081444B4 @ =0x43800000
- bl __addsf3
- adds r5, r0, 0
-_08144476:
- lsrs r0, r7, 25
- add r0, r9
- ldrb r0, [r0, 0x4]
- adds r0, 0x1
- bl __floatsisf
- adds r1, r0, 0
- adds r0, r5, 0
- bl __divsf3
- adds r1, r0, 0
- mov r2, r8
- ldr r0, [r2]
- bl __subsf3
- mov r1, r8
- str r0, [r1]
- movs r0, 0x4
- strh r0, [r6, 0x30]
- ldr r0, _081444B8 @ =sub_8144264
- str r0, [r6, 0x1C]
- b _081444FA
- .align 2, 0
-_081444A4:
- .4byte gUnknown_0203AB88
-_081444A8:
- .4byte 0x3F000000
-_081444AC:
- .4byte 0x00000000
-_081444B0:
- .4byte gUnknown_085B6348
-_081444B4:
- .4byte 0x43800000
-_081444B8:
- .4byte sub_8144264
-_081444BC:
- ldr r4, [r4]
- adds r7, r4, 0
- adds r7, 0x90
- ldr r0, [r7]
- ldr r6, _08144508 @ =0x00000000
- adds r1, r6, 0
- bl __nesf2
- cmp r0, 0
- beq _081444FA
- adds r5, r4, 0
- adds r5, 0x8C
- ldr r0, [r5]
- adds r1, r6, 0
- bl __ltsf2
- cmp r0, 0
- bge _081444FA
- str r6, [r7]
- str r6, [r5]
- adds r4, 0x98
- ldr r0, [r4]
- bl __extendsfdf2
- ldr r2, _0814450C @ =0x3FF33333
- ldr r3, _08144510 @ =0x33333333
- bl __divdf3
- bl __truncdfsf2
- str r0, [r4]
-_081444FA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08144508:
- .4byte 0x00000000
-_0814450C:
- .4byte 0x3FF33333
-_08144510:
- .4byte 0x33333333
- thumb_func_end sub_8144410
-
- thumb_func_start sub_8144514
-sub_8144514: @ 8144514
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- bl sub_8143B84
- ldr r0, =gUnknown_0203AB88
- ldr r5, [r0]
- adds r0, r5, 0
- adds r0, 0x94
- ldr r0, [r0]
- ldr r1, =0x42200000
- bl __gtsf2
- cmp r0, 0
- bgt _081445B8
- movs r0, 0x98
- adds r0, r5
- mov r8, r0
- adds r7, r5, 0
- adds r7, 0x86
- movs r1, 0
- ldrsh r4, [r7, r1]
- adds r0, r4, 0
- bl __floatsisf
- adds r2, r0, 0
- cmp r4, 0
- bge _08144556
- ldr r1, =0x47800000
- bl __addsf3
- adds r2, r0, 0
-_08144556:
- ldr r0, =0x40800000
- adds r1, r2, 0
- bl __divsf3
- bl __negsf2
- mov r1, r8
- str r0, [r1]
- movs r0, 0x90
- adds r0, r5
- mov r8, r0
- adds r5, 0x8C
- movs r1, 0
- ldrsh r4, [r7, r1]
- adds r0, r4, 0
- bl __floatsisf
- adds r2, r0, 0
- cmp r4, 0
- bge _08144586
- ldr r1, =0x47800000
- bl __addsf3
- adds r2, r0, 0
-_08144586:
- ldr r0, [r5]
- adds r1, r2, 0
- bl __divsf3
- bl __negsf2
- mov r1, r8
- str r0, [r1]
- adds r1, r6, 0
- adds r1, 0x2A
- movs r0, 0x2
- strb r0, [r1]
- adds r2, r6, 0
- adds r2, 0x3F
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x3
- strh r0, [r6, 0x30]
- ldr r0, =sub_8144410
- str r0, [r6, 0x1C]
-_081445B8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8144514
-
- thumb_func_start sub_81445D8
-sub_81445D8: @ 81445D8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- bl sub_8143B84
- ldr r4, =gUnknown_0203AB88
- ldr r0, [r4]
- adds r0, 0x94
- ldr r0, [r0]
- ldr r1, =0x42700000
- bl __gtsf2
- cmp r0, 0
- bgt _0814468A
- movs r0, 0x5D
- bl m4aSongNumStartOrChange
- ldr r5, [r4]
- movs r0, 0x98
- adds r0, r5
- mov r8, r0
- adds r7, r5, 0
- adds r7, 0x84
- movs r1, 0
- ldrsh r4, [r7, r1]
- adds r0, r4, 0
- bl __floatsisf
- adds r2, r0, 0
- cmp r4, 0
- bge _08144620
- ldr r1, =0x47800000
- bl __addsf3
- adds r2, r0, 0
-_08144620:
- ldr r0, =0x41a00000
- adds r1, r2, 0
- bl __divsf3
- bl __negsf2
- mov r1, r8
- str r0, [r1]
- movs r0, 0x90
- adds r0, r5
- mov r8, r0
- adds r0, r5, 0
- adds r0, 0x8C
- ldr r1, [r0]
- ldr r0, =0x3f800000
- bl __subsf3
- adds r5, r0, 0
- movs r1, 0
- ldrsh r4, [r7, r1]
- adds r0, r4, 0
- bl __floatsisf
- adds r2, r0, 0
- cmp r4, 0
- bge _0814465C
- ldr r1, =0x47800000
- bl __addsf3
- adds r2, r0, 0
-_0814465C:
- adds r0, r5, 0
- adds r1, r2, 0
- bl __divsf3
- mov r1, r8
- str r0, [r1]
- adds r1, r6, 0
- adds r1, 0x2A
- movs r0, 0x1
- strb r0, [r1]
- adds r2, r6, 0
- adds r2, 0x3F
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x2
- strh r0, [r6, 0x30]
- ldr r0, =sub_8144514
- str r0, [r6, 0x1C]
-_0814468A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81445D8
-
- thumb_func_start sub_81446AC
-sub_81446AC: @ 81446AC
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- movs r0, 0x1
- strh r0, [r4, 0x30]
- strh r1, [r4, 0x32]
- adds r0, r4, 0
- bl sub_8143B84
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, =sub_81445D8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81446AC
-
- thumb_func_start sub_81446DC
-sub_81446DC: @ 81446DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r8, r0
- ldr r1, =gUnknown_085B7B0A
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- mov r1, r8
- ldrh r0, [r1, 0x3C]
- subs r0, 0x2
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- ldr r5, =gUnknown_0203AB88
- ldr r0, =gSpriteTemplate_85B79F8
- movs r2, 0xC
- negs r2, r2
- movs r1, 0x24
- movs r3, 0x32
- bl CreateSprite
- ldr r1, [r5]
- adds r1, 0x73
- strb r0, [r1]
- ldr r4, =gSpriteTemplate_85B7ABC
- mov r3, r8
- movs r0, 0x2E
- ldrsh r2, [r3, r0]
- lsls r2, 2
- mov r1, sp
- adds r0, r1, r2
- movs r3, 0
- ldrsh r1, [r0, r3]
- mov r0, sp
- adds r0, 0x2
- adds r0, r2
- movs r3, 0
- ldrsh r2, [r0, r3]
- adds r0, r4, 0
- movs r3, 0x3B
- bl CreateSprite
- ldr r1, [r5]
- adds r1, 0x74
- strb r0, [r1]
- adds r4, 0x18
- adds r0, r4, 0
- movs r1, 0x24
- movs r2, 0x8C
- movs r3, 0x33
- bl CreateSprite
- ldr r1, [r5]
- adds r1, 0x75
- strb r0, [r1]
- ldr r3, =gSprites
- ldr r0, [r5]
- adds r0, 0x75
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r2, [r0, 0x1]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x1]
- movs r7, 0
- adds r6, r3, 0
- ldr r0, =gUnknown_085B6348
- mov r12, r0
- mov r10, r5
-_0814477C:
- ldr r0, [r5]
- adds r3, r7, 0
- adds r3, 0x37
- adds r0, 0x3C
- adds r0, r3
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x3C
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, 0x3C
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, 0x3C
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
- ldr r4, [r5]
- adds r2, r4, 0
- adds r2, 0x3C
- adds r2, r3
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r1, r4, 0
- adds r1, 0x73
- ldrb r1, [r1]
- strh r1, [r0, 0x36]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r1, r4, 0
- adds r1, 0x74
- ldrb r1, [r1]
- strh r1, [r0, 0x38]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r1, r4, 0
- adds r1, 0x75
- ldrb r1, [r1]
- strh r1, [r0, 0x3A]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r1, r9
- strh r1, [r0, 0x32]
- ldrb r0, [r2]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r6
- mov r0, r8
- movs r1, 0x3C
- ldrsh r3, [r0, r1]
- ldrb r1, [r4, 0x4]
- lsls r1, 30
- lsrs r0, r1, 25
- add r0, r12
- ldrb r0, [r0, 0x1]
- muls r3, r0
- lsrs r1, 25
- add r1, r12
- ldrb r0, [r1, 0x2]
- ldr r1, =0x0000ffff
- adds r0, r1
- adds r3, r0
- strh r3, [r2, 0x34]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, =gSprites
- cmp r7, 0x2
- bls _0814477C
- mov r3, r10
- ldr r0, [r3]
- adds r0, 0x74
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r3]
- mov r1, r8
- str r1, [r0, 0x38]
- 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 sub_81446DC
-
- thumb_func_start sub_81448B8
-sub_81448B8: @ 81448B8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- adds r7, r0, 0
- movs r0, 0
- mov r8, r0
- ldr r1, =gUnknown_085B7B12
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- ldrh r0, [r7, 0x3C]
- subs r0, 0x2
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- ldr r0, =gSpriteTemplate_85B7A10
- movs r1, 0x2E
- ldrsh r2, [r7, r1]
- lsls r2, 2
- mov r3, sp
- adds r1, r3, r2
- movs r3, 0
- ldrsh r1, [r1, r3]
- mov r4, sp
- adds r4, 0x2
- adds r2, r4, r2
- movs r3, 0
- ldrsh r2, [r2, r3]
- movs r3, 0x32
- bl CreateSprite
- ldr r5, =gUnknown_0203AB88
- ldr r1, [r5]
- adds r1, 0x73
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x73
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r6, =gSprites
- adds r0, r6
- ldrh r1, [r7, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- ldr r0, =gUnknown_085B7AEC
- movs r1, 0x2E
- ldrsh r2, [r7, r1]
- lsls r2, 2
- mov r3, sp
- adds r1, r3, r2
- movs r3, 0
- ldrsh r1, [r1, r3]
- adds r4, r2
- movs r3, 0
- ldrsh r2, [r4, r3]
- movs r3, 0x33
- bl CreateSprite
- ldr r1, [r5]
- adds r1, 0x74
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x74
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, 0x74
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- mov r0, r9
- lsls r2, r0, 16
- asrs r2, 16
- ldr r3, =gUnknown_085B6348
- ldr r0, [r5]
- ldrb r1, [r0, 0x4]
- lsls r1, 30
- lsrs r0, r1, 25
- adds r0, r3
- ldrb r0, [r0, 0x1]
- muls r2, r0
- lsrs r1, 25
- adds r1, r3
- ldrh r0, [r1, 0x10]
- adds r0, 0x2D
- adds r2, r0
- strh r2, [r7, 0x3C]
-_08144992:
- ldr r0, =gUnknown_0203AB88
- ldr r4, [r0]
- mov r1, r8
- adds r2, r4, r1
- adds r2, 0x73
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r1, r4, 0
- adds r1, 0x73
- ldrb r1, [r1]
- strh r1, [r0, 0x36]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r3, r4, 0
- adds r3, 0x74
- ldrb r1, [r3]
- strh r1, [r0, 0x38]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r3]
- strh r1, [r0, 0x3A]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r3, r9
- strh r3, [r0, 0x32]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrh r0, [r7, 0x3C]
- subs r0, 0x2D
- strh r0, [r1, 0x34]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x1
- bls _08144992
- str r7, [r4, 0x38]
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81448B8
-
- thumb_func_start sub_8144A24
-sub_8144A24: @ 8144A24
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r7, r0, 0
- movs r0, 0
- mov r9, r0
- movs r1, 0x5
- mov r8, r1
- str r0, [sp, 0xC]
- mov r0, sp
- movs r1, 0
- movs r2, 0xA
- bl memset
- bl Random
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x10]
- ldr r3, _08144B10 @ =gUnknown_0203AB88
- ldr r0, [r3]
- adds r0, 0x7D
- movs r5, 0x1
- strb r5, [r0]
- ldr r2, [r3]
- ldrb r0, [r2, 0x3]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r2, 0x3]
- ldr r2, [r3]
- ldrb r1, [r2, 0x3]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x3]
- ldr r0, [r3]
- adds r0, 0x7E
- movs r1, 0xFF
- strb r1, [r0]
- ldr r6, [r3]
- adds r4, r6, 0
- adds r4, 0x88
- movs r1, 0x34
- ldrsh r0, [r7, r1]
- bl __floatsisf
- str r0, [r4]
- adds r1, r6, 0
- adds r1, 0x98
- ldr r0, _08144B14 @ =0x00000000
- str r0, [r1]
- adds r2, r6, 0
- adds r2, 0x8C
- ldr r1, _08144B18 @ =gUnknown_085B6348
- ldrb r0, [r6, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r1, 0x1C
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
- ldrb r0, [r6, 0x4]
- lsls r0, 30
- lsrs r0, 30
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 1
- adds r1, 0x21
- ldrb r0, [r6, 0x3]
- lsls r0, 27
- lsrs r0, 27
- subs r5, r0
- lsls r0, r5, 4
- subs r0, r5
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- mov r5, r9
- movs r0, 0x34
- ldrsh r2, [r7, r0]
-_08144ACA:
- cmp r1, r2
- bge _08144AD6
- adds r0, r1, 0
- adds r0, 0x5A
- cmp r2, r0
- ble _08144B38
-_08144AD6:
- cmp r5, 0x3
- beq _08144B1C
- adds r0, r1, 0
- adds r0, 0x5A
- lsls r0, 16
- lsrs r1, r0, 16
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08144ACA
-_08144AEC:
- ldr r0, _08144B10 @ =gUnknown_0203AB88
- ldr r0, [r0]
- ldrb r1, [r0, 0x3]
- movs r0, 0x1F
- ands r0, r1
- cmp r0, 0
- beq _08144B64
- movs r1, 0x2E
- ldrsh r0, [r7, r1]
- cmp r0, 0
- beq _08144B58
- movs r0, 0x98
- lsls r0, 1
- movs r1, 0x3F
- negs r1, r1
- bl PlayCry1
- b _08144B70
- .align 2, 0
-_08144B10:
- .4byte gUnknown_0203AB88
-_08144B14:
- .4byte 0x00000000
-_08144B18:
- .4byte gUnknown_085B6348
-_08144B1C:
- movs r0, 0x1
- strh r0, [r7, 0x2E]
- ldr r0, =gUnknown_0203AB88
- ldr r2, [r0]
- ldrb r1, [r2, 0x3]
- movs r0, 0x20
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x3]
- b _08144AEC
- .pool
-_08144B38:
- lsrs r0, r5, 1
- strh r0, [r7, 0x2E]
- ldr r0, =gUnknown_0203AB88
- ldr r3, [r0]
- movs r1, 0x1
- ands r1, r5
- ldrb r2, [r3, 0x3]
- movs r0, 0x20
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x3]
- b _08144AEC
- .pool
-_08144B58:
- movs r0, 0x98
- lsls r0, 1
- movs r1, 0x3F
- bl PlayCry1
- b _08144B70
-_08144B64:
- movs r0, 0x99
- lsls r0, 1
- movs r1, 0x3F
- negs r1, r1
- bl PlayCry1
-_08144B70:
- movs r0, 0x2
- mov r10, r0
- ldr r4, =gUnknown_0203AB88
- ldr r5, [r4]
- adds r0, r5, 0
- adds r0, 0x7F
- ldrb r0, [r0]
- adds r0, 0x2
- movs r1, 0xC
- bl __modsi3
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r1, [r5, 0x3]
- movs r0, 0x1F
- ands r0, r1
- cmp r0, 0x1
- bne _08144BA8
- ldrb r1, [r5, 0x4]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _08144BA8
- mov r0, r8
- adds r0, 0x6
- b _08144BAC
- .pool
-_08144BA8:
- mov r0, r8
- add r0, r10
-_08144BAC:
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r5, r10
- cmp r5, r8
- bcs _08144C18
- ldr r1, =gUnknown_085B6154+0xC
- mov r10, r1
-_08144BBC:
- ldr r3, [r4]
- lsls r0, r6, 3
- ldr r1, =gUnknown_085B62E4+0x4
- adds r0, r1
- ldr r1, [r3, 0x8]
- ldr r2, [r0]
- ands r1, r2
- cmp r1, 0
- bne _08144C02
- mov r0, r9
- adds r1, r0, 0x1
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- add r0, sp
- strb r5, [r0]
- ldr r0, [sp, 0xC]
- cmp r0, 0
- bne _08144C02
- ldrb r1, [r3, 0x1A]
- lsls r1, 28
- lsrs r1, 28
- adds r0, r3, 0
- adds r0, 0x1B
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldr r0, [r0]
- ands r2, r0
- cmp r2, 0
- beq _08144C02
- str r5, [sp, 0xC]
-_08144C02:
- adds r0, r6, 0x1
- movs r1, 0xC
- bl __modsi3
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r8
- bcc _08144BBC
-_08144C18:
- ldr r0, [r4]
- ldrb r1, [r0, 0x3]
- lsls r1, 27
- lsrs r1, 27
- adds r1, 0x1
- ldrb r0, [r0, 0x2]
- ands r1, r0
- cmp r1, 0
- beq _08144C48
- ldr r1, [sp, 0xC]
- cmp r1, 0
- beq _08144C48
- movs r0, 0xFF
- ldr r1, [sp, 0x10]
- ands r0, r1
- cmp r0, 0xBF
- bhi _08144C48
- mov r0, sp
- ldrh r0, [r0, 0xC]
- b _08144C54
- .pool
-_08144C48:
- ldr r0, [sp, 0x10]
- mov r1, r9
- bl __modsi3
- add r0, sp
- ldrb r0, [r0]
-_08144C54:
- strh r0, [r7, 0x3C]
- ldr r1, =sub_8144168
- str r1, [r7, 0x1C]
- 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_8144A24
-
- thumb_func_start sub_8144C70
-sub_8144C70: @ 8144C70
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- adds r1, r0, 0x1
- strh r1, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x34
- ldrsh r1, [r2, r3]
- cmp r0, r1
- blt _08144CC0
- ldrh r0, [r2, 0x20]
- subs r0, 0x2
- strh r0, [r2, 0x20]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _08144CC0
- ldr r4, =gUnknown_0203AB88
- ldr r3, [r4]
- ldrb r1, [r3, 0x3]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08144CAC
- movs r0, 0x40
- orrs r0, r1
- strb r0, [r3, 0x3]
-_08144CAC:
- adds r0, r2, 0
- bl DestroySprite
- ldr r1, [r4]
- movs r0, 0
- strb r0, [r1, 0x1]
- ldr r1, [r4]
- ldr r0, =gUnknown_085B7B1A
- ldrh r0, [r0]
- strh r0, [r1, 0x34]
-_08144CC0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8144C70
-
- thumb_func_start sub_8144CD0
-sub_8144CD0: @ 8144CD0
- push {r4,lr}
- sub sp, 0x18
- adds r4, r0, 0
- ldr r1, =gUnknown_085B7B2E
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- ldrh r0, [r4, 0x30]
- adds r2, r0, 0x1
- strh r2, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x34
- ldrsh r1, [r4, r3]
- cmp r0, r1
- bge _08144D54
- movs r0, 0x1
- ands r2, r0
- cmp r2, 0
- beq _08144D2E
- ldr r3, =gSpriteCoordOffsetY
- movs r0, 0x3C
- ldrsh r2, [r4, r0]
- lsls r2, 1
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- lsls r0, 3
- adds r2, r0
- mov r1, sp
- adds r0, r1, r2
- ldrh r0, [r0]
- strh r0, [r3]
- movs r3, 0x3C
- ldrsh r2, [r4, r3]
- adds r1, r2, 0x1
- adds r0, r1, 0
- cmp r1, 0
- bge _08144D26
- adds r0, r2, 0x4
-_08144D26:
- asrs r0, 2
- lsls r0, 2
- subs r0, r1, r0
- strh r0, [r4, 0x3C]
-_08144D2E:
- 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]
- b _08144D7E
- .pool
-_08144D54:
- ldr r1, =gSpriteCoordOffsetY
- movs r0, 0
- strh r0, [r1]
- ldr r2, =gSprites
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- adds r0, 0x73
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x2C
- ldrb r2, [r0]
- movs r1, 0x41
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- adds r0, r4, 0
- bl DestroySprite
-_08144D7E:
- add sp, 0x18
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8144CD0
-
- thumb_func_start sub_8144D94
-sub_8144D94: @ 8144D94
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x30]
- adds r0, 0x1
- strh r0, [r5, 0x30]
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- bl __floatsisf
- adds r4, r0, 0
- ldr r1, =0x3d1fbe77
- bl __mulsf3
- adds r1, r4, 0
- bl __mulsf3
- bl __fixsfsi
- strh r0, [r5, 0x26]
- ldr r0, =gUnknown_0203AB88
- ldr r3, [r0]
- ldr r2, =gUnknown_085B7B1A
- ldrb r0, [r3, 0x1]
- subs r0, 0x1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r3, 0x34]
- ldrb r0, [r3, 0x1]
- cmp r0, 0x12
- bhi _08144DDC
- adds r0, 0x1
- strb r0, [r3, 0x1]
-_08144DDC:
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- cmp r0, 0x3C
- ble _08144E3E
- movs r0, 0
- strh r0, [r5, 0x30]
- ldr r3, =sub_8144C70
- str r3, [r5, 0x1C]
- ldr r2, =gSprites
- movs r0, 0x3A
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r2, 0
- adds r4, 0x1C
- adds r0, r4
- str r3, [r0]
- movs r0, 0x3A
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =0x0000fffe
- strh r1, [r0, 0x30]
- movs r0, 0x38
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- movs r0, 0x38
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =sub_8144CD0
- str r1, [r0]
- movs r0, 0xD6
- bl m4aSongNumStart
-_08144E3E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8144D94
-
- thumb_func_start sub_8144E60
-sub_8144E60: @ 8144E60
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08144EE4
- ldr r0, =gUnknown_0203AB88
- ldr r3, [r0]
- ldr r1, [r3, 0x38]
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08144E94
- movs r0, 0x34
- ldrsh r2, [r1, r0]
- ldr r1, =gUnknown_085B6348
- ldrb r0, [r3, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r1
- ldrh r0, [r0, 0x8]
- b _08144EA6
- .pool
-_08144E94:
- movs r0, 0x34
- ldrsh r2, [r1, r0]
- ldr r1, =gUnknown_085B6348
- ldrb r0, [r3, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r1
- ldrh r0, [r0, 0x8]
- adds r0, 0xB4
-_08144EA6:
- cmp r2, r0
- bne _08144F7C
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- movs r0, 0x2B
- bl m4aSongNumStart
- ldr r2, =gUnknown_0203AB88
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- ldr r1, [r2]
- ldr r0, =gUnknown_085B7B1A
- ldrh r0, [r0]
- strh r0, [r1, 0x34]
- b _08144F7C
- .pool
-_08144EE4:
- ldr r5, =gUnknown_0203AB88
- ldr r3, [r5]
- ldr r2, =gUnknown_085B7B1A
- ldrb r0, [r3, 0x1]
- subs r0, 0x1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r3, 0x34]
- ldrb r0, [r3, 0x1]
- cmp r0, 0x12
- bhi _08144F06
- adds r0, 0x1
- strb r0, [r3, 0x1]
-_08144F06:
- ldr r3, [r5]
- ldr r1, [r3, 0x38]
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08144F30
- movs r0, 0x34
- ldrsh r2, [r1, r0]
- ldr r1, =gUnknown_085B6348
- ldrb r0, [r3, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r1
- ldrh r0, [r0, 0xA]
- b _08144F42
- .pool
-_08144F30:
- movs r0, 0x34
- ldrsh r2, [r1, r0]
- ldr r1, =gUnknown_085B6348
- ldrb r0, [r3, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r1
- ldrh r0, [r0, 0xA]
- adds r0, 0xB4
-_08144F42:
- cmp r2, r0
- bne _08144F7C
- ldr r2, =gSprites
- movs r0, 0x36
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r2, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_8144D94
- str r1, [r0]
- movs r0, 0x36
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x3C]
-_08144F7C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8144E60
-
- thumb_func_start sub_8144F94
-sub_8144F94: @ 8144F94
- adds r0, 0x3E
- ldrb r3, [r0]
- lsls r1, r3, 29
- lsrs r1, 31
- movs r2, 0x1
- eors r2, r1
- lsls r2, 2
- movs r1, 0x5
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0]
- bx lr
- thumb_func_end sub_8144F94
-
- thumb_func_start sub_8144FB0
-sub_8144FB0: @ 8144FB0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x22]
- movs r0, 0x22
- ldrsh r1, [r4, r0]
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- ble _08144FC8
- subs r0, r2, 0x1
- strh r0, [r4, 0x22]
- b _0814501C
-_08144FC8:
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- subs r2, 0x12
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x5E
- bl m4aSongNumStop
- adds r0, r4, 0
- bl DestroySprite
- ldr r5, =gSprites
- ldr r4, =gUnknown_0203AB88
- ldr r0, [r4]
- adds r0, 0x74
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldr r0, [r4]
- adds r0, 0x74
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
-_0814501C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8144FB0
-
- thumb_func_start sub_8145030
-sub_8145030: @ 8145030
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0
- blt _0814505A
- subs r1, 0x1
- strh r1, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- subs r0, 0x1
- strh r0, [r4, 0x22]
- lsls r1, 16
- cmp r1, 0
- bne _081450C6
- adds r0, r4, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _081450C6
- b _08145080
-_0814505A:
- ldrh r1, [r4, 0x34]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r0, 0
- blt _08145090
- subs r0, r1, 0x1
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r0, 0x3F
- ands r0, r1
- cmp r0, 0
- bne _081450C6
- adds r0, r4, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08145088
-_08145080:
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
- b _081450C6
-_08145088:
- ldrh r0, [r4, 0x26]
- subs r0, 0x1
- strh r0, [r4, 0x26]
- b _081450C6
-_08145090:
- movs r0, 0x2B
- bl m4aSongNumStart
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- ldr r0, [r0, 0x38]
- ldrh r1, [r0, 0x2E]
- adds r1, 0x4
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r0, =sub_8144FB0
- str r0, [r4, 0x1C]
- ldr r2, =gSprites
- movs r0, 0x3A
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x2C
- ldrb r2, [r0]
- movs r1, 0x7F
- ands r1, r2
- strb r1, [r0]
-_081450C6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8145030
-
- thumb_func_start sub_81450D8
-sub_81450D8: @ 81450D8
- push {r4,r5,lr}
- sub sp, 0x14
- adds r4, r0, 0
- ldr r1, =gUnknown_085B7B46
- mov r0, sp
- movs r2, 0x2
- bl memcpy
- add r5, sp, 0x4
- ldr r1, =gUnknown_085B7B48
- adds r0, r5, 0
- movs r2, 0x10
- bl memcpy
- ldrh r0, [r4, 0x30]
- subs r1, r0, 0x1
- strh r1, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _0814516C
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- ldr r0, [r0, 0x38]
- movs r1, 0x2E
- ldrsh r0, [r0, r1]
- add r0, sp
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 1
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- beq _08145208
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- movs r4, 0x74
- subs r4, r0
- lsrs r0, r4, 31
- adds r4, r0
- asrs r4, 1
- negs r4, r4
- ldr r0, =gMPlayInfo_SE1
- ldr r5, =0x0000ffff
- lsls r4, 24
- asrs r4, 24
- adds r1, r5, 0
- adds r2, r4, 0
- bl m4aMPlayPanpotControl
- ldr r0, =gMPlayInfo_SE2
- adds r1, r5, 0
- adds r2, r4, 0
- bl m4aMPlayPanpotControl
- b _08145208
- .pool
-_0814516C:
- lsls r0, r1, 16
- cmp r0, 0
- blt _081451BC
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- ldr r0, [r0, 0x38]
- movs r2, 0x2E
- ldrsh r0, [r0, r2]
- add r0, sp
- movs r2, 0
- ldrsb r2, [r0, r2]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x7
- subs r0, r1, r0
- lsls r0, 1
- adds r0, r5, r0
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- muls r0, r2
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- subs r1, r0
- lsls r1, 1
- mov r0, sp
- adds r0, 0x5
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- b _08145208
- .pool
-_081451BC:
- movs r0, 0x5E
- bl m4aSongNumStartOrChange
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- ldr r0, [r0, 0x38]
- movs r2, 0x2E
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _081451E0
- movs r0, 0x98
- lsls r0, 1
- movs r1, 0x3F
- bl PlayCry1
- b _081451EC
- .pool
-_081451E0:
- movs r0, 0x98
- lsls r0, 1
- movs r1, 0x3F
- negs r1, r1
- bl PlayCry1
-_081451EC:
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- ldr r0, [r0, 0x38]
- ldrh r1, [r0, 0x2E]
- adds r1, 0x2
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- movs r0, 0x2D
- strh r0, [r4, 0x30]
- ldr r0, =sub_8145030
- str r0, [r4, 0x1C]
-_08145208:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81450D8
-
- thumb_func_start sub_8145218
-sub_8145218: @ 8145218
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r1, =gUnknown_085B7B46
- mov r0, sp
- movs r2, 0x2
- bl memcpy
- ldrh r0, [r4, 0x30]
- subs r1, r0, 0x1
- strh r1, [r4, 0x30]
- lsls r0, 16
- cmp r0, 0
- blt _08145284
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- ldr r0, [r0, 0x38]
- movs r1, 0x2E
- ldrsh r0, [r0, r1]
- add r0, sp
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 1
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldr r1, =gSprites
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- adds r2, 0x3E
- ldrb r3, [r2]
- lsls r0, r3, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- b _08145288
- .pool
-_08145284:
- ldr r0, =sub_8144F94
- str r0, [r4, 0x1C]
-_08145288:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8145218
-
- thumb_func_start sub_8145294
-sub_8145294: @ 8145294
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gUnknown_0203AB88
- ldr r3, [r0]
- ldr r1, [r3, 0x38]
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _081452DC
- movs r0, 0x34
- ldrsh r2, [r1, r0]
- ldr r1, =gUnknown_085B6348
- ldrb r0, [r3, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r1
- ldrh r0, [r0, 0x12]
- adds r0, 0x5A
- cmp r2, r0
- bne _0814533E
- ldr r2, =gSprites
- movs r0, 0x3A
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r3, 0x34
- b _08145306
- .pool
-_081452DC:
- movs r0, 0x34
- ldrsh r2, [r1, r0]
- ldr r1, =gUnknown_085B6348
- ldrb r0, [r3, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r1
- ldrh r0, [r0, 0x14]
- movs r1, 0x87
- lsls r1, 1
- adds r0, r1
- cmp r2, r0
- bne _0814533E
- ldr r2, =gSprites
- movs r0, 0x3A
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r3, 0x2E
-_08145306:
- strh r3, [r0, 0x30]
- movs r0, 0x36
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x30]
- movs r0, 0x3A
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_8145218
- str r1, [r0]
- movs r0, 0x36
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =sub_81450D8
- str r1, [r0]
- movs r0, 0x2B
- bl m4aSongNumStart
-_0814533E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8145294
-
- .align 2, 0 @ Don't pad with nop.