diff options
author | Slawter666 <38655737+Slawter666@users.noreply.github.com> | 2019-01-05 19:54:26 +0000 |
---|---|---|
committer | Slawter666 <38655737+Slawter666@users.noreply.github.com> | 2019-01-05 19:54:26 +0000 |
commit | f8c2fcb9b22a1b9cf43e293fdcb6df2b9d0dd164 (patch) | |
tree | 81b80d287c4fb3320a8143b9cfbb06e9fc4b34d5 /asm | |
parent | ee5a239534d7c4bd64ce7ced4146204579f5d598 (diff) | |
parent | cbf7d6cee59e7aa2cdef6b9e89fa62fbeb4a07c5 (diff) |
Merge branch 'master' of https://github.com/pret/pokeemerald into secret-base
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_frontier_1.s | 2527 | ||||
-rw-r--r-- | asm/contest_link_80F57C4.s | 3160 | ||||
-rw-r--r-- | asm/contest_link_80FC4F4.s | 1362 | ||||
-rw-r--r-- | asm/contest_link_81D9DE4.s | 890 | ||||
-rw-r--r-- | asm/pokenav.s | 2 | ||||
-rw-r--r-- | asm/roulette.s | 9634 |
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. |