diff options
Diffstat (limited to 'asm/fame_checker.s')
-rw-r--r-- | asm/fame_checker.s | 4171 |
1 files changed, 0 insertions, 4171 deletions
diff --git a/asm/fame_checker.s b/asm/fame_checker.s deleted file mode 100644 index 9e352e8ae..000000000 --- a/asm/fame_checker.s +++ /dev/null @@ -1,4171 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_812C380 -sub_812C380: @ 812C380 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_812C380 - - thumb_func_start sub_812C394 -sub_812C394: @ 812C394 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_812C394 - - thumb_func_start sub_812C3AC -sub_812C3AC: @ 812C3AC - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0 - bl SetVBlankCallback - ldr r4, _0812C3F0 @ =gUnknown_203B0FC - movs r0, 0x24 - bl AllocZeroed - str r0, [r4] - str r5, [r0] - movs r1, 0 - strb r1, [r0, 0x9] - ldr r0, [r4] - strb r1, [r0, 0xA] - ldr r0, [r4] - strb r1, [r0, 0xB] - ldr r1, [r4] - adds r1, 0x23 - ldrb r2, [r1] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - movs r0, 0xC7 - bl PlaySE - ldr r0, _0812C3F4 @ =sub_812C3F8 - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812C3F0: .4byte gUnknown_203B0FC -_0812C3F4: .4byte sub_812C3F8 - thumb_func_end sub_812C3AC - - thumb_func_start sub_812C3F8 -sub_812C3F8: @ 812C3F8 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - ldr r0, _0812C41C @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x7 - bls _0812C410 - b _0812C626 -_0812C410: - lsls r0, 2 - ldr r1, _0812C420 @ =_0812C424 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812C41C: .4byte gMain -_0812C420: .4byte _0812C424 - .align 2, 0 -_0812C424: - .4byte _0812C444 - .4byte _0812C450 - .4byte _0812C456 - .4byte _0812C4C0 - .4byte _0812C540 - .4byte _0812C578 - .4byte _0812C5A0 - .4byte _0812C5D4 -_0812C444: - movs r0, 0 - bl SetVBlankCallback - bl sub_812D420 - b _0812C5BE -_0812C450: - bl sub_812D558 - b _0812C5BE -_0812C456: - ldr r6, _0812C4B0 @ =gUnknown_203B0F0 - movs r4, 0x80 - lsls r4, 4 - adds r0, r4, 0 - bl AllocZeroed - str r0, [r6] - ldr r1, _0812C4B4 @ =gUnknown_203B0F4 - mov r8, r1 - movs r0, 0x80 - lsls r0, 5 - bl AllocZeroed - mov r1, r8 - str r0, [r1] - ldr r5, _0812C4B8 @ =gUnknown_203B0F8 - adds r0, r4, 0 - bl AllocZeroed - str r0, [r5] - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _0812C4BC @ =gUnknown_845FBF4 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r1, [r6] - movs r0, 0x3 - bl SetBgTilemapBuffer - ldr r1, [r5] - movs r0, 0x2 - bl SetBgTilemapBuffer - mov r0, r8 - ldr r1, [r0] - movs r0, 0x1 - bl SetBgTilemapBuffer - bl sub_812D594 - b _0812C5BE - .align 2, 0 -_0812C4B0: .4byte gUnknown_203B0F0 -_0812C4B4: .4byte gUnknown_203B0F4 -_0812C4B8: .4byte gUnknown_203B0F8 -_0812C4BC: .4byte gUnknown_845FBF4 -_0812C4C0: - ldr r1, _0812C52C @ =gUnknown_8E9F260 - movs r2, 0xA5 - lsls r2, 5 - movs r0, 0x3 - movs r3, 0 - bl LoadBgTiles - ldr r1, _0812C530 @ =gUnknown_8EA0700 - movs r5, 0x20 - str r5, [sp] - str r5, [sp, 0x4] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBufferRect - ldr r4, _0812C534 @ =gUnknown_8E9F220 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x40 - bl LoadPalette - adds r4, 0x20 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - ldr r1, _0812C538 @ =gUnknown_8EA0F00 - str r5, [sp] - str r5, [sp, 0x4] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBufferRect - ldr r1, _0812C53C @ =gUnknown_845C600 - str r5, [sp] - str r5, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r2, 0x1E - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0x2 - bl stdpal_get - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - b _0812C5BE - .align 2, 0 -_0812C52C: .4byte gUnknown_8E9F260 -_0812C530: .4byte gUnknown_8EA0700 -_0812C534: .4byte gUnknown_8E9F220 -_0812C538: .4byte gUnknown_8EA0F00 -_0812C53C: .4byte gUnknown_845C600 -_0812C540: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0812C626 - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - b _0812C5BE -_0812C578: - ldr r0, _0812C598 @ =gUnknown_845FC04 - bl InitWindows - bl DeactivateAllTextPrinters - bl sub_812CEC0 - ldr r4, _0812C59C @ =gUnknown_203B100 - movs r0, 0x88 - bl AllocZeroed - str r0, [r4] - bl sub_812DB28 - b _0812C5BE - .align 2, 0 -_0812C598: .4byte gUnknown_845FC04 -_0812C59C: .4byte gUnknown_203B100 -_0812C5A0: - bl sub_812C648 - movs r0, 0 - bl sub_812D1A8 - bl sub_812CE9C - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_0812C5BE: - ldr r1, _0812C5D0 @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0812C626 - .align 2, 0 -_0812C5D0: .4byte gMain -_0812C5D4: - bl sub_812D584 - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0x7 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0x8 - bl SetGpuReg - ldr r0, _0812C634 @ =sub_812C380 - bl SetVBlankCallback - ldr r0, _0812C638 @ =gUnknown_203B0FC - ldr r1, [r0] - movs r4, 0 - movs r0, 0 - strh r0, [r1, 0x4] - bl sub_812E000 - movs r0, 0x1 - movs r1, 0x4 - bl sub_812E178 - ldr r0, _0812C63C @ =sub_812C664 - movs r1, 0x8 - bl CreateTask - ldr r0, _0812C640 @ =sub_812C394 - bl SetMainCallback2 - ldr r0, _0812C644 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - strb r4, [r0] -_0812C626: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812C634: .4byte sub_812C380 -_0812C638: .4byte gUnknown_203B0FC -_0812C63C: .4byte sub_812C664 -_0812C640: .4byte sub_812C394 -_0812C644: .4byte gMain - thumb_func_end sub_812C3F8 - - thumb_func_start sub_812C648 -sub_812C648: @ 812C648 - push {lr} - ldr r0, _0812C65C @ =gUnknown_845FB9C - bl LoadSpriteSheets - ldr r0, _0812C660 @ =gUnknown_845FBDC - bl LoadSpritePalettes - pop {r0} - bx r0 - .align 2, 0 -_0812C65C: .4byte gUnknown_845FB9C -_0812C660: .4byte gUnknown_845FBDC - thumb_func_end sub_812C648 - - thumb_func_start sub_812C664 -sub_812C664: @ 812C664 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _0812C688 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812C684 - ldr r0, _0812C68C @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, _0812C690 @ =sub_812C694 - str r0, [r1] -_0812C684: - pop {r0} - bx r0 - .align 2, 0 -_0812C688: .4byte gPaletteFade -_0812C68C: .4byte gTasks -_0812C690: .4byte sub_812C694 - thumb_func_end sub_812C664 - - thumb_func_start sub_812C694 -sub_812C694: @ 812C694 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - ldr r0, _0812C714 @ =gTasks - adds r7, r1, r0 - adds r0, 0x8 - adds r1, r0 - mov r8, r1 - ldr r0, _0812C718 @ =sub_812E110 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0812C6C0 - b _0812C8EA -_0812C6C0: - bl RunTextPrinters - ldr r0, _0812C71C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0812C6E8 - ldr r0, _0812C720 @ =gUnknown_203B0FC - ldr r2, [r0] - ldrb r1, [r2, 0x7] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0812C6E8 - ldr r1, [r2] - ldr r0, _0812C724 @ =sub_8107EB8 - cmp r1, r0 - beq _0812C6E8 - b _0812C8DA -_0812C6E8: - ldr r0, _0812C71C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0812C7DC - bl sub_812E064 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r5, 0 - bl sub_812C8F8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812C728 - movs r0, 0xCB - bl PlaySE - b _0812C8EA - .align 2, 0 -_0812C714: .4byte gTasks -_0812C718: .4byte sub_812E110 -_0812C71C: .4byte gMain -_0812C720: .4byte gUnknown_203B0FC -_0812C724: .4byte sub_8107EB8 -_0812C728: - ldr r5, _0812C7D0 @ =gUnknown_203B0FC - ldr r0, [r5] - ldrb r0, [r0, 0x7] - lsrs r0, 2 - subs r0, 0x1 - cmp r4, r0 - bne _0812C738 - b _0812C8EA -_0812C738: - movs r0, 0xCB - bl PlaySE - movs r0, 0x58 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - movs r0, 0x3 - bl sub_812CEE0 - movs r0, 0x2 - movs r1, 0x4 - bl sub_812E178 - movs r0, 0x1 - movs r1, 0x5 - bl sub_812E178 - movs r0, 0x1 - bl sub_812D0F4 - ldr r0, [r5] - adds r0, 0xC - adds r0, r4 - ldrb r0, [r0] - bl sub_812D888 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0xC] - ldr r4, _0812C7D4 @ =gSprites - movs r0, 0xC - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r6, 0xF0 - strh r6, [r0, 0x24] - movs r3, 0xC - ldrsh r1, [r7, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r5, 0x1 - strh r5, [r0, 0x2E] - bl sub_812D7E4 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0xE] - movs r0, 0xE - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r6, [r0, 0x24] - movs r3, 0xE - ldrsh r1, [r7, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x2E] - ldr r0, _0812C7D8 @ =sub_812C9BC - str r0, [r7] - b _0812C8EA - .align 2, 0 -_0812C7D0: .4byte gUnknown_203B0FC -_0812C7D4: .4byte gSprites -_0812C7D8: .4byte sub_812C9BC -_0812C7DC: - movs r6, 0x1 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0812C8C4 - movs r0, 0 - bl ListMenuHandleInput - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _0812C824 @ =gUnknown_203B0FC - ldr r0, [r0] - ldrb r1, [r0, 0x7] - lsrs r0, r1, 2 - subs r0, 0x1 - cmp r4, r0 - beq _0812C8DA - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0812C828 - movs r0, 0x2 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0812C8EA - bl sub_812D6B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812C8EA - bl sub_812CD3C - b _0812C8EA - .align 2, 0 -_0812C824: .4byte gUnknown_203B0FC -_0812C828: - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0812C8EA - movs r0, 0x5 - bl PlaySE - movs r1, 0xA - ldrsh r0, [r7, r1] - bl sub_812D724 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x8] - movs r4, 0 -_0812C846: - movs r3, 0xA - ldrsh r0, [r7, r3] - cmp r4, r0 - beq _0812C85E - ldr r0, _0812C8B4 @ =gUnknown_203B0FC - ldr r0, [r0] - adds r0, 0x1D - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x1 - bl sub_812CEFC -_0812C85E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0812C846 - ldr r1, _0812C8B8 @ =gUnknown_3005EC8 - movs r0, 0xFF - strb r0, [r1] - movs r0, 0 - bl sub_812E4A4 - movs r0, 0x2 - bl sub_812D0F4 - ldr r2, _0812C8BC @ =gSprites - ldr r0, _0812C8B4 @ =gUnknown_203B0FC - ldr r0, [r0] - movs r3, 0xA - ldrsh r1, [r7, r3] - adds r0, 0x1D - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x30 - ldrsh r0, [r0, r1] - cmp r0, 0xFF - beq _0812C8A8 - adds r0, r5, 0 - bl sub_812CE04 - mov r3, r8 - ldrb r0, [r3, 0x2] - bl sub_812DA14 -_0812C8A8: - bl sub_812E048 - ldr r0, _0812C8C0 @ =sub_812CAD8 - str r0, [r7] - b _0812C8EA - .align 2, 0 -_0812C8B4: .4byte gUnknown_203B0FC -_0812C8B8: .4byte gUnknown_3005EC8 -_0812C8BC: .4byte gSprites -_0812C8C0: .4byte sub_812CAD8 -_0812C8C4: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0812C8E4 - adds r0, r5, 0 - bl sub_812C8F8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0812C8EA -_0812C8DA: - ldr r0, _0812C8E0 @ =sub_812CF3C - str r0, [r7] - b _0812C8EA - .align 2, 0 -_0812C8E0: .4byte sub_812CF3C -_0812C8E4: - movs r0, 0 - bl ListMenuHandleInput -_0812C8EA: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812C694 - - thumb_func_start sub_812C8F8 -sub_812C8F8: @ 812C8F8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0812C91C @ =gTasks - adds r4, r1, r0 - ldr r5, _0812C920 @ =gUnknown_203B0FC - ldr r0, [r5] - ldrb r1, [r0, 0x7] - movs r3, 0x2 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _0812C924 - movs r0, 0 - b _0812C982 - .align 2, 0 -_0812C91C: .4byte gTasks -_0812C920: .4byte gUnknown_203B0FC -_0812C924: - ldr r2, _0812C988 @ =gSprites - movs r0, 0xC - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x2E] - movs r0, 0xC - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - adds r1, 0xA - strh r1, [r0, 0x24] - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x2E] - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - adds r1, 0xA - strh r1, [r0, 0x24] - bl sub_812CE9C - ldr r0, _0812C98C @ =sub_812CA1C - str r0, [r4] - bl sub_812C990 - ldr r1, [r5] - adds r1, 0x23 - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - movs r0, 0x1 -_0812C982: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0812C988: .4byte gSprites -_0812C98C: .4byte sub_812CA1C - thumb_func_end sub_812C8F8 - - thumb_func_start sub_812C990 -sub_812C990: @ 812C990 - push {lr} - sub sp, 0x10 - ldr r2, _0812C9B8 @ =gUnknown_84181E4 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParametrized - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0812C9B8: .4byte gUnknown_84181E4 - thumb_func_end sub_812C990 - - thumb_func_start sub_812C9BC -sub_812C9BC: @ 812C9BC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0812C9F8 @ =gTasks - adds r4, r1, r0 - ldr r2, _0812C9FC @ =gSprites - movs r0, 0xC - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2E - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0812CA08 - bl sub_812CD3C - ldr r0, _0812CA00 @ =gUnknown_203B0FC - ldr r2, [r0] - ldrb r0, [r2, 0x7] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x7] - ldr r0, _0812CA04 @ =sub_812C694 - str r0, [r4] - b _0812CA14 - .align 2, 0 -_0812C9F8: .4byte gTasks -_0812C9FC: .4byte gSprites -_0812CA00: .4byte gUnknown_203B0FC -_0812CA04: .4byte sub_812C694 -_0812CA08: - movs r1, 0xA0 - lsls r1, 4 - movs r0, 0x1 - movs r2, 0x1 - bl ChangeBgX -_0812CA14: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812C9BC - - thumb_func_start sub_812CA1C -sub_812CA1C: @ 812CA1C - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0812CA44 @ =gTasks - adds r5, r0, r1 - movs r0, 0x1 - bl GetBgX - cmp r0, 0 - beq _0812CA48 - movs r1, 0xA0 - lsls r1, 4 - movs r0, 0x1 - movs r2, 0x2 - bl ChangeBgX - b _0812CA52 - .align 2, 0 -_0812CA44: .4byte gTasks -_0812CA48: - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX -_0812CA52: - ldr r7, _0812CAC8 @ =gSprites - movs r1, 0xC - ldrsh r0, [r5, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0812CAC0 - ldr r6, _0812CACC @ =gUnknown_203B0FC - ldr r0, [r6] - ldrb r1, [r0, 0x7] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812CA7C - movs r0, 0 - bl sub_812D0F4 -_0812CA7C: - movs r0, 0x1 - movs r1, 0x4 - bl sub_812E178 - movs r0, 0x2 - movs r1, 0x2 - bl sub_812E178 - ldr r2, [r6] - ldrb r1, [r2, 0x7] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x7] - bl sub_812E064 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_812D9A8 - ldr r0, _0812CAD0 @ =sub_812C694 - str r0, [r5] - movs r0, 0xE - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r7, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _0812CAD4 @ =sub_812D800 - str r1, [r0] -_0812CAC0: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812CAC8: .4byte gSprites -_0812CACC: .4byte gUnknown_203B0FC -_0812CAD0: .4byte sub_812C694 -_0812CAD4: .4byte sub_812D800 - thumb_func_end sub_812CA1C - - thumb_func_start sub_812CAD8 -sub_812CAD8: @ 812CAD8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - ldr r0, _0812CB9C @ =gTasks - adds r5, r1, r0 - adds r0, 0x8 - adds r6, r1, r0 - bl RunTextPrinters - ldr r0, _0812CBA0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812CB2E - movs r0, 0x2 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0812CB2E - ldr r0, _0812CBA4 @ =gUnknown_203B0FC - ldr r0, [r0] - movs r2, 0x2 - ldrsh r1, [r6, r2] - adds r0, 0x1D - adds r0, r1 - ldrb r1, [r0] - ldr r2, _0812CBA8 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x30 - ldrsh r0, [r0, r1] - cmp r0, 0xFF - beq _0812CB2E - adds r0, r4, 0 - bl sub_812CE04 -_0812CB2E: - ldr r0, _0812CBA0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0812CBB8 - movs r0, 0x5 - bl PlaySE - movs r4, 0 - ldr r6, _0812CBA4 @ =gUnknown_203B0FC -_0812CB44: - ldr r0, [r6] - adds r0, 0x1D - adds r0, r4 - ldrb r0, [r0] - movs r1, 0 - bl sub_812CEFC - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0812CB44 - bl sub_812CE9C - ldr r2, _0812CBA8 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _0812CBAC @ =sub_812D764 - str r1, [r0] - ldr r0, _0812CBB0 @ =gUnknown_3005EC8 - ldrb r0, [r0] - cmp r0, 0xFF - beq _0812CB80 - bl sub_812DB10 -_0812CB80: - movs r0, 0x1 - bl sub_812E4A4 - movs r0, 0 - bl sub_812D0F4 - bl sub_812E000 - bl sub_812C990 - ldr r0, _0812CBB4 @ =sub_812C694 - str r0, [r5] - b _0812CC62 - .align 2, 0 -_0812CB9C: .4byte gTasks -_0812CBA0: .4byte gMain -_0812CBA4: .4byte gUnknown_203B0FC -_0812CBA8: .4byte gSprites -_0812CBAC: .4byte sub_812D764 -_0812CBB0: .4byte gUnknown_3005EC8 -_0812CBB4: .4byte sub_812C694 -_0812CBB8: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _0812CBC8 - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0812CBF4 -_0812CBC8: - ldrh r1, [r5, 0xA] - movs r2, 0xA - ldrsh r0, [r5, r2] - cmp r0, 0x2 - ble _0812CBE4 - subs r0, r1, 0x3 - strh r0, [r5, 0xA] - movs r2, 0x1B - negs r2, r2 - adds r0, r4, 0 - movs r1, 0 - bl sub_812CC68 - b _0812CC62 -_0812CBE4: - adds r0, r1, 0x3 - strh r0, [r5, 0xA] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x1B - bl sub_812CC68 - b _0812CC62 -_0812CBF4: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0812CC26 - ldrh r6, [r5, 0xA] - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _0812CC12 - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _0812CC1C -_0812CC12: - adds r0, r6, 0x2 - strh r0, [r5, 0xA] - adds r0, r4, 0 - movs r1, 0x5E - b _0812CC4A -_0812CC1C: - subs r0, r6, 0x1 - strh r0, [r5, 0xA] - movs r1, 0x2F - negs r1, r1 - b _0812CC48 -_0812CC26: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0812CC62 - movs r1, 0xA - ldrsh r0, [r5, r1] - adds r0, 0x1 - movs r1, 0x3 - bl __modsi3 - cmp r0, 0 - bne _0812CC52 - ldrh r0, [r5, 0xA] - subs r0, 0x2 - strh r0, [r5, 0xA] - movs r1, 0x5E - negs r1, r1 -_0812CC48: - adds r0, r4, 0 -_0812CC4A: - movs r2, 0 - bl sub_812CC68 - b _0812CC62 -_0812CC52: - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - adds r0, r4, 0 - movs r1, 0x2F - movs r2, 0 - bl sub_812CC68 -_0812CC62: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_812CAD8 - - thumb_func_start sub_812CC68 -sub_812CC68: @ 812CC68 - push {r4-r7,lr} - sub sp, 0x8 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _0812CD18 @ =gTasks+0x8 - adds r6, r0, r1 - movs r0, 0xBB - bl PlaySE - ldr r2, _0812CD1C @ =gSprites - movs r0, 0 - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - lsls r4, 24 - asrs r4, 24 - ldrh r1, [r0, 0x20] - adds r4, r1 - strh r4, [r0, 0x20] - movs r0, 0 - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - lsls r5, 24 - asrs r5, 24 - ldrh r1, [r0, 0x22] - adds r5, r1 - strh r5, [r0, 0x22] - movs r4, 0 - ldr r5, _0812CD20 @ =gUnknown_203B0FC -_0812CCBE: - ldr r0, [r5] - adds r0, 0x1D - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x1 - bl sub_812CEFC - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0812CCBE - movs r0, 0xD0 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - bl sub_812C990 - ldr r0, _0812CD20 @ =gUnknown_203B0FC - ldr r0, [r0] - movs r2, 0x2 - ldrsh r1, [r6, r2] - adds r0, 0x1D - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_812CEFC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812CD24 - adds r0, r7, 0 - bl sub_812CE04 - ldrb r0, [r6, 0x2] - bl sub_812DA14 - b _0812CD30 - .align 2, 0 -_0812CD18: .4byte gTasks+0x8 -_0812CD1C: .4byte gSprites -_0812CD20: .4byte gUnknown_203B0FC -_0812CD24: - ldr r0, _0812CD38 @ =gUnknown_3005EC8 - ldrb r0, [r0] - cmp r0, 0xFF - beq _0812CD30 - bl sub_812DB10 -_0812CD30: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812CD38: .4byte gUnknown_3005EC8 - thumb_func_end sub_812CC68 - - thumb_func_start sub_812CD3C -sub_812CD3C: @ 812CD3C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - movs r0, 0 - mov r8, r0 - bl sub_812E064 - lsls r0, 16 - lsrs r0, 16 - adds r6, r0, 0 - ldr r0, _0812CD7C @ =gSaveBlock1Ptr - ldr r1, [r0] - ldr r7, _0812CD80 @ =gUnknown_203B0FC - ldr r0, [r7] - adds r0, 0xC - adds r0, r6 - ldrb r0, [r0] - lsls r0, 2 - adds r1, r0 - ldr r0, _0812CD84 @ =0x00003a54 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 30 - lsrs r5, r0, 30 - cmp r5, 0x2 - beq _0812CD88 - bl sub_812CE9C - bl sub_812C990 - b _0812CDEE - .align 2, 0 -_0812CD7C: .4byte gSaveBlock1Ptr -_0812CD80: .4byte gUnknown_203B0FC -_0812CD84: .4byte 0x00003a54 -_0812CD88: - movs r0, 0xD0 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - bl sub_812D6B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812CDAC - movs r0, 0x10 - mov r8, r0 -_0812CDAC: - ldr r4, _0812CDFC @ =gStringVar4 - ldr r1, _0812CE00 @ =gUnknown_845F63C - ldr r0, [r7] - adds r0, 0xC - adds r0, r6 - ldrb r0, [r0] - add r0, r8 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringExpandPlaceholders - bl sub_80F78A8 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - str r0, [sp] - str r5, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0x2 - adds r2, r4, 0 - bl AddTextPrinterParametrized - movs r0, 0x2 - bl sub_812CEE0 -_0812CDEE: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812CDFC: .4byte gStringVar4 -_0812CE00: .4byte gUnknown_845F63C - thumb_func_end sub_812CD3C - - thumb_func_start sub_812CE04 -sub_812CE04: @ 812CE04 - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0812CE8C @ =gTasks+0x8 - adds r4, r0 - bl sub_812E064 - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - movs r0, 0xD0 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - ldr r6, _0812CE90 @ =gStringVar4 - ldr r2, _0812CE94 @ =gUnknown_845F6BC - ldr r0, _0812CE98 @ =gUnknown_203B0FC - ldr r0, [r0] - adds r0, 0xC - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - movs r3, 0x2 - ldrsh r1, [r4, r3] - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, [r0] - adds r0, r6, 0 - bl StringExpandPlaceholders - bl sub_80F78A8 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0x2 - adds r2, r6, 0 - bl AddTextPrinterParametrized - movs r0, 0x2 - bl sub_812CEE0 - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812CE8C: .4byte gTasks+0x8 -_0812CE90: .4byte gStringVar4 -_0812CE94: .4byte gUnknown_845F6BC -_0812CE98: .4byte gUnknown_203B0FC - thumb_func_end sub_812CE04 - - thumb_func_start sub_812CE9C -sub_812CE9C: @ 812CE9C - push {lr} - sub sp, 0x8 - movs r0, 0xD0 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - movs r0, 0x2 - bl sub_812CEE0 - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_812CE9C - - thumb_func_start sub_812CEC0 -sub_812CEC0: @ 812CEC0 - push {lr} - bl sub_80F6E9C - movs r0, 0x2 - movs r1, 0x1 - bl sub_80F6EE4 - movs r0, 0x2 - bl sub_812CEE0 - movs r0, 0 - bl sub_812CEE0 - pop {r0} - bx r0 - thumb_func_end sub_812CEC0 - - thumb_func_start sub_812CEE0 -sub_812CEE0: @ 812CEE0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812CEE0 - - thumb_func_start sub_812CEFC -sub_812CEFC: @ 812CEFC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r2, _0812CF1C @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r3, r1, r2 - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0xFF - bne _0812CF20 - movs r0, 0 - b _0812CF36 - .align 2, 0 -_0812CF1C: .4byte gSprites -_0812CF20: - movs r0, 0x3 - adds r1, r4, 0 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x1] - movs r0, 0x1 -_0812CF36: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812CEFC - - thumb_func_start sub_812CF3C -sub_812CF3C: @ 812CF3C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0xC7 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0812CF74 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0812CF78 @ =sub_812CF7C - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812CF74: .4byte gTasks -_0812CF78: .4byte sub_812CF7C - thumb_func_end sub_812CF3C - - thumb_func_start sub_812CF7C -sub_812CF7C: @ 812CF7C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _0812D074 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812D06C - ldr r0, _0812D078 @ =gUnknown_203B0FC - ldr r0, [r0] - ldrb r1, [r0, 0x7] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0812CFD8 - bl sub_812E064 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r6, 0 - bl sub_812D9A8 - ldr r0, _0812D07C @ =gTasks - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - adds r4, r0 - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _0812D080 @ =gSprites - adds r0, r5 - bl FreeSpriteOamMatrix - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite -_0812CFD8: - movs r4, 0 -_0812CFDA: - ldr r5, _0812D078 @ =gUnknown_203B0FC - ldr r0, [r5] - adds r0, 0x1D - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0812D080 @ =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0812CFDA - bl sub_812D814 - bl sub_812D7C8 - bl sub_812D70C - bl sub_812D770 - bl sub_812E048 - ldr r0, [r5] - ldr r0, [r0] - bl SetMainCallback2 - ldr r0, [r5] - ldrb r0, [r0, 0x8] - movs r1, 0 - movs r2, 0 - bl sub_810713C - ldr r0, _0812D084 @ =gUnknown_203B0F0 - ldr r0, [r0] - bl Free - ldr r0, _0812D088 @ =gUnknown_203B0F4 - ldr r0, [r0] - bl Free - ldr r0, _0812D08C @ =gUnknown_203B0F8 - ldr r0, [r0] - bl Free - ldr r0, [r5] - bl Free - ldr r0, _0812D090 @ =gUnknown_203B100 - ldr r0, [r0] - bl Free - movs r0, 0 - bl sub_812D094 - movs r0, 0x1 - bl sub_812D094 - movs r0, 0x2 - bl sub_812D094 - movs r0, 0x3 - bl sub_812D094 - bl FreeAllWindowBuffers - adds r0, r6, 0 - bl DestroyTask -_0812D06C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812D074: .4byte gPaletteFade -_0812D078: .4byte gUnknown_203B0FC -_0812D07C: .4byte gTasks -_0812D080: .4byte gSprites -_0812D084: .4byte gUnknown_203B0F0 -_0812D088: .4byte gUnknown_203B0F4 -_0812D08C: .4byte gUnknown_203B0F8 -_0812D090: .4byte gUnknown_203B100 - thumb_func_end sub_812CF7C - - thumb_func_start sub_812D094 -sub_812D094: @ 812D094 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0 - bl ClearWindowTilemap - adds r0, r4, 0 - movs r1, 0x2 - bl CopyWindowToVram - adds r0, r4, 0 - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812D094 - - thumb_func_start sub_812D0C0 -sub_812D0C0: @ 812D0C0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0xAF - lsls r0, 1 - bl HasTrainerAlreadyBeenFought - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812D0EA - cmp r4, 0x9 - bne _0812D0DE - movs r0, 0xF - b _0812D0EC -_0812D0DE: - cmp r4, 0x9 - bls _0812D0EA - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r0, 24 - b _0812D0EC -_0812D0EA: - adds r0, r4, 0 -_0812D0EC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812D0C0 - - thumb_func_start sub_812D0F4 -sub_812D0F4: @ 812D0F4 - push {r4,r5,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - ldr r5, _0812D164 @ =gUnknown_841E5A4 - cmp r0, 0 - beq _0812D10A - ldr r5, _0812D168 @ =gUnknown_841E5D2 - cmp r0, 0x1 - bne _0812D10A - ldr r5, _0812D16C @ =gUnknown_841E5B9 -_0812D10A: - movs r0, 0 - adds r1, r5, 0 - movs r2, 0 - bl GetStringWidth - adds r4, r0, 0 - movs r0, 0xC0 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - movs r0, 0x44 - negs r0, r0 - adds r2, r0, 0 - subs r2, r4 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - ldr r0, _0812D170 @ =gUnknown_845F5E0 - str r0, [sp, 0x8] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0xC] - str r5, [sp, 0x10] - movs r0, 0x1 - movs r1, 0 - movs r3, 0 - bl AddTextPrinterParametrized2 - movs r0, 0x1 - bl sub_812CEE0 - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812D164: .4byte gUnknown_841E5A4 -_0812D168: .4byte gUnknown_841E5D2 -_0812D16C: .4byte gUnknown_841E5B9 -_0812D170: .4byte gUnknown_845F5E0 - thumb_func_end sub_812D0F4 - - thumb_func_start sub_812D174 -sub_812D174: @ 812D174 - push {r4,lr} - movs r4, 0 -_0812D178: - ldr r0, _0812D1A0 @ =gUnknown_203B0FC - ldr r0, [r0] - adds r0, 0x1D - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0812D1A4 @ =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0812D178 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812D1A0: .4byte gUnknown_203B0FC -_0812D1A4: .4byte gSprites - thumb_func_end sub_812D174 - - thumb_func_start sub_812D1A8 -sub_812D1A8: @ 812D1A8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r5, 0 - movs r6, 0 - ldr r7, _0812D238 @ =gUnknown_203B0FC -_0812D1BA: - ldr r0, _0812D23C @ =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, [r7] - adds r0, 0xC - add r0, r8 - ldrb r2, [r0] - lsls r0, r2, 2 - adds r1, r0 - ldr r0, _0812D240 @ =0x00003a54 - adds r1, r0 - ldrh r0, [r1] - lsls r0, 18 - lsrs r0, 20 - asrs r0, r6 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812D248 - ldr r1, _0812D244 @ =gUnknown_845F83C - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 1 - adds r0, r6 - adds r0, r1 - ldrb r5, [r0] - adds r0, r6, 0 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 4 - subs r4, r0 - adds r4, 0x72 - lsls r4, 16 - asrs r4, 16 - adds r0, r6, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r3, r0, 3 - subs r3, r0 - lsls r3, 2 - subs r3, r0 - adds r3, 0x2F - lsls r3, 16 - asrs r3, 16 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_805EB44 - ldr r1, [r7] - adds r1, 0x1D - adds r1, r6 - strb r0, [r1] - movs r5, 0x1 - b _0812D2A0 - .align 2, 0 -_0812D238: .4byte gUnknown_203B0FC -_0812D23C: .4byte gSaveBlock1Ptr -_0812D240: .4byte 0x00003a54 -_0812D244: .4byte gUnknown_845F83C -_0812D248: - adds r0, r6, 0 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 4 - subs r4, r0 - adds r4, 0x72 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - subs r1, r0 - adds r1, 0x1F - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_812D780 - ldr r1, [r7] - adds r1, 0x1D - adds r1, r6 - strb r0, [r1] - ldr r2, _0812D2D0 @ =gSprites - ldr r0, [r7] - adds r0, 0x1D - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0xFF - strh r1, [r0, 0x30] -_0812D2A0: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x5 - bls _0812D1BA - cmp r5, 0x1 - bne _0812D2E0 - ldr r3, _0812D2D4 @ =gUnknown_203B0FC - ldr r2, [r3] - ldrb r0, [r2, 0x7] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x7] - ldr r0, [r3] - ldrb r1, [r0, 0x7] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0812D2D8 - movs r0, 0x1 - bl sub_812D0F4 - b _0812D2F4 - .align 2, 0 -_0812D2D0: .4byte gSprites -_0812D2D4: .4byte gUnknown_203B0FC -_0812D2D8: - movs r0, 0 - bl sub_812D0F4 - b _0812D2F4 -_0812D2E0: - ldr r0, _0812D300 @ =gUnknown_203B0FC - ldr r2, [r0] - ldrb r1, [r2, 0x7] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x7] - movs r0, 0x1 - bl sub_812D0F4 -_0812D2F4: - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0812D300: .4byte gUnknown_203B0FC - thumb_func_end sub_812D1A8 - - thumb_func_start sub_812D304 -sub_812D304: @ 812D304 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r4, 0 - ldr r0, _0812D378 @ =gSaveBlock1Ptr - mov r9, r0 - mov r6, r9 - ldr r5, _0812D37C @ =0x00003a54 - movs r0, 0x4 - negs r0, r0 - mov r8, r0 - ldr r0, _0812D380 @ =0xffffc003 - mov r12, r0 - ldr r7, _0812D384 @ =0x00003a55 -_0812D322: - ldr r1, [r6] - lsls r3, r4, 2 - adds r1, r3 - adds r1, r5 - ldrb r2, [r1] - mov r0, r8 - ands r0, r2 - strb r0, [r1] - ldr r1, [r6] - adds r1, r3 - adds r3, r1, r5 - ldrh r2, [r3] - mov r0, r12 - ands r0, r2 - strh r0, [r3] - adds r1, r7 - ldrb r2, [r1] - movs r0, 0x3F - ands r0, r2 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _0812D322 - mov r0, r9 - ldr r2, [r0] - ldr r0, _0812D37C @ =0x00003a54 - adds r2, r0 - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812D378: .4byte gSaveBlock1Ptr -_0812D37C: .4byte 0x00003a54 -_0812D380: .4byte 0xffffc003 -_0812D384: .4byte 0x00003a55 - thumb_func_end sub_812D304 - - thumb_func_start sub_812D388 -sub_812D388: @ 812D388 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r5, 0 - ldr r0, _0812D410 @ =gSaveBlock1Ptr - mov r12, r0 - ldr r7, _0812D414 @ =0x00003a54 - movs r1, 0x4 - negs r1, r1 - mov r10, r1 - ldr r6, _0812D418 @ =0xffffc003 - mov r9, r6 - movs r0, 0x1 - mov r8, r0 -_0812D3AA: - mov r1, r12 - ldr r2, [r1] - lsls r3, r5, 2 - adds r2, r3 - adds r2, r7 - ldrb r1, [r2] - mov r0, r10 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - movs r4, 0 - adds r5, 0x1 - str r5, [sp] - adds r5, r3, 0 -_0812D3C8: - mov r6, r12 - ldr r2, [r6] - adds r2, r5 - adds r2, r7 - ldrh r3, [r2] - lsls r0, r3, 18 - lsrs r0, 20 - mov r1, r8 - lsls r1, r4 - orrs r1, r0 - ldr r6, _0812D41C @ =0x00000fff - adds r0, r6, 0 - ands r1, r0 - lsls r1, 2 - mov r0, r9 - ands r0, r3 - orrs r0, r1 - strh r0, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0812D3C8 - ldr r1, [sp] - lsls r0, r1, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _0812D3AA - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812D410: .4byte gSaveBlock1Ptr -_0812D414: .4byte 0x00003a54 -_0812D418: .4byte 0xffffc003 -_0812D41C: .4byte 0x00000fff - thumb_func_end sub_812D388 - - thumb_func_start sub_812D420 -sub_812D420: @ 812D420 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r0, sp, 0x4 - mov r8, r0 - mov r2, sp - movs r6, 0 - ldr r1, _0812D550 @ =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _0812D554 @ =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_0812D446: - strh r6, [r2] - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _0812D446 - strh r6, [r2] - mov r2, sp - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0x4] - ldr r2, _0812D550 @ =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - mov r0, sp - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0x8 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0xA - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0xC - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0xE - movs r1, 0 - bl SetGpuReg - movs r0, 0x1C - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - 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 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812D550: .4byte 0x040000d4 -_0812D554: .4byte 0x81000800 - thumb_func_end sub_812D420 - - thumb_func_start sub_812D558 -sub_812D558: @ 812D558 - push {lr} - bl remove_some_task - bl ResetTasks - bl ResetSpriteData - bl dp13_810BB8C - bl ResetPaletteFade - movs r0, 0 - bl npc_paltag_set_load - ldr r1, _0812D580 @ =gReservedSpritePaletteCount - movs r0, 0x7 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0812D580: .4byte gReservedSpritePaletteCount - thumb_func_end sub_812D558 - - thumb_func_start sub_812D584 -sub_812D584: @ 812D584 - push {lr} - movs r1, 0xFA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_812D584 - - thumb_func_start sub_812D594 -sub_812D594: @ 812D594 - push {lr} - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - pop {r0} - bx r0 - thumb_func_end sub_812D594 - - thumb_func_start sub_812D5EC -sub_812D5EC: @ 812D5EC - push {r4-r6,lr} - ldr r1, _0812D638 @ =gUnknown_20370C0 - ldrh r0, [r1] - cmp r0, 0xF - bhi _0812D632 - ldr r5, _0812D63C @ =gSpecialVar_0x8005 - ldrh r0, [r5] - cmp r0, 0x5 - bhi _0812D632 - ldr r0, _0812D640 @ =gSaveBlock1Ptr - ldr r2, [r0] - ldrh r0, [r1] - lsls r0, 2 - adds r2, r0 - ldr r0, _0812D644 @ =0x00003a54 - adds r2, r0 - ldrh r3, [r2] - lsls r0, r3, 18 - lsrs r0, 20 - movs r4, 0x1 - adds r1, r4, 0 - ldrh r6, [r5] - lsls r1, r6 - orrs r1, r0 - ldr r6, _0812D648 @ =0x00000fff - adds r0, r6, 0 - ands r1, r0 - lsls r1, 2 - ldr r0, _0812D64C @ =0xffffc003 - ands r0, r3 - orrs r0, r1 - strh r0, [r2] - strh r4, [r5] - bl sub_812D650 -_0812D632: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812D638: .4byte gUnknown_20370C0 -_0812D63C: .4byte gSpecialVar_0x8005 -_0812D640: .4byte gSaveBlock1Ptr -_0812D644: .4byte 0x00003a54 -_0812D648: .4byte 0x00000fff -_0812D64C: .4byte 0xffffc003 - thumb_func_end sub_812D5EC - - thumb_func_start sub_812D650 -sub_812D650: @ 812D650 - push {r4,lr} - ldr r1, _0812D6A4 @ =gUnknown_20370C0 - ldrh r0, [r1] - cmp r0, 0xF - bhi _0812D69E - ldr r0, _0812D6A8 @ =gSpecialVar_0x8005 - ldrh r4, [r0] - adds r0, r4, 0 - cmp r0, 0x2 - bhi _0812D69E - cmp r0, 0 - beq _0812D69E - ldr r2, _0812D6AC @ =gSaveBlock1Ptr - ldrh r3, [r1] - cmp r0, 0x1 - bne _0812D684 - ldr r0, [r2] - lsls r1, r3, 2 - adds r0, r1 - ldr r1, _0812D6B0 @ =0x00003a54 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x2 - beq _0812D69E -_0812D684: - ldr r2, [r2] - lsls r0, r3, 2 - adds r2, r0 - ldr r0, _0812D6B0 @ =0x00003a54 - adds r2, r0 - movs r1, 0x3 - ands r1, r4 - ldrb r3, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] -_0812D69E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812D6A4: .4byte gUnknown_20370C0 -_0812D6A8: .4byte gSpecialVar_0x8005 -_0812D6AC: .4byte gSaveBlock1Ptr -_0812D6B0: .4byte 0x00003a54 - thumb_func_end sub_812D650 - - thumb_func_start sub_812D6B4 -sub_812D6B4: @ 812D6B4 - push {r4,lr} - ldr r0, _0812D6EC @ =gUnknown_203B0FC - ldr r4, [r0] - bl sub_812E064 - lsls r0, 16 - lsrs r0, 16 - adds r4, 0xC - adds r4, r0 - ldrb r1, [r4] - movs r2, 0 - ldr r0, _0812D6F0 @ =gSaveBlock1Ptr - ldr r0, [r0] - lsls r1, 2 - adds r0, r1 - ldr r1, _0812D6F4 @ =0x00003a54 - adds r0, r1 - ldrh r0, [r0] - lsls r1, r0, 18 - movs r3, 0x1 -_0812D6DC: - lsrs r0, r1, 20 - asrs r0, r2 - ands r0, r3 - cmp r0, 0 - bne _0812D6F8 - movs r0, 0 - b _0812D704 - .align 2, 0 -_0812D6EC: .4byte gUnknown_203B0FC -_0812D6F0: .4byte gSaveBlock1Ptr -_0812D6F4: .4byte 0x00003a54 -_0812D6F8: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bls _0812D6DC - movs r0, 0x1 -_0812D704: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812D6B4 - - thumb_func_start sub_812D70C -sub_812D70C: @ 812D70C - push {r4,lr} - movs r4, 0xFA - lsls r4, 2 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812D70C - - thumb_func_start sub_812D724 -sub_812D724: @ 812D724 - push {r4,lr} - lsls r0, 16 - asrs r0, 16 - movs r4, 0x22 - cmp r0, 0x2 - ble _0812D732 - movs r4, 0x3D -_0812D732: - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 4 - subs r1, r0 - adds r1, 0x72 - ldr r0, _0812D760 @ =gUnknown_845FC44 - lsls r1, 16 - asrs r1, 16 - adds r2, r4, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0812D760: .4byte gUnknown_845FC44 - thumb_func_end sub_812D724 - - thumb_func_start sub_812D764 -sub_812D764: @ 812D764 - push {lr} - bl DestroySprite - pop {r0} - bx r0 - thumb_func_end sub_812D764 - - thumb_func_start sub_812D770 -sub_812D770: @ 812D770 - push {lr} - ldr r0, _0812D77C @ =0x000003e9 - bl FreeSpriteTilesByTag - pop {r0} - bx r0 - .align 2, 0 -_0812D77C: .4byte 0x000003e9 - thumb_func_end sub_812D770 - - thumb_func_start sub_812D780 -sub_812D780: @ 812D780 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - lsls r3, 24 - lsrs r3, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _0812D7C0 @ =gUnknown_845FC78 - adds r1, r3, 0 - movs r3, 0x8 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0812D7C4 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldrb r3, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - movs r3, 0x8 - orrs r1, r3 - movs r3, 0xF - ands r1, r3 - movs r3, 0x20 - orrs r1, r3 - strb r1, [r2, 0x5] - pop {r1} - bx r1 - .align 2, 0 -_0812D7C0: .4byte gUnknown_845FC78 -_0812D7C4: .4byte gSprites - thumb_func_end sub_812D780 - - thumb_func_start sub_812D7C8 -sub_812D7C8: @ 812D7C8 - push {r4,lr} - ldr r4, _0812D7E0 @ =0x000003ea - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812D7E0: .4byte 0x000003ea - thumb_func_end sub_812D7C8 - - thumb_func_start sub_812D7E4 -sub_812D7E4: @ 812D7E4 - push {lr} - ldr r0, _0812D7FC @ =gUnknown_845FCB8 - movs r1, 0xE2 - movs r2, 0x42 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0812D7FC: .4byte gUnknown_845FCB8 - thumb_func_end sub_812D7E4 - - thumb_func_start sub_812D800 -sub_812D800: @ 812D800 - push {r4,lr} - adds r4, r0, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812D800 - - thumb_func_start sub_812D814 -sub_812D814: @ 812D814 - push {lr} - ldr r0, _0812D834 @ =0x000003ee - bl FreeSpriteTilesByTag - ldr r0, _0812D838 @ =0x000003ef - bl FreeSpriteTilesByTag - movs r0, 0xFC - lsls r0, 2 - bl FreeSpriteTilesByTag - ldr r0, _0812D83C @ =0x000003f1 - bl FreeSpriteTilesByTag - pop {r0} - bx r0 - .align 2, 0 -_0812D834: .4byte 0x000003ee -_0812D838: .4byte 0x000003ef -_0812D83C: .4byte 0x000003f1 - thumb_func_end sub_812D814 - - thumb_func_start sub_812D840 -sub_812D840: @ 812D840 - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bne _0812D864 - movs r3, 0x24 - ldrsh r0, [r2, r3] - subs r0, 0xA - cmp r0, 0 - bge _0812D85E - movs r0, 0 - strh r0, [r2, 0x24] - strh r0, [r2, 0x2E] - b _0812D882 -_0812D85E: - ldrh r0, [r2, 0x24] - subs r0, 0xA - b _0812D880 -_0812D864: - cmp r0, 0x2 - bne _0812D882 - ldrh r1, [r2, 0x24] - movs r3, 0x24 - ldrsh r0, [r2, r3] - cmp r0, 0xF0 - ble _0812D87C - movs r1, 0 - movs r0, 0xF0 - strh r0, [r2, 0x24] - strh r1, [r2, 0x2E] - b _0812D882 -_0812D87C: - adds r0, r1, 0 - adds r0, 0xA -_0812D880: - strh r0, [r2, 0x24] -_0812D882: - pop {r0} - bx r0 - thumb_func_end sub_812D840 - - thumb_func_start sub_812D888 -sub_812D888: @ 812D888 - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bne _0812D8B0 - ldr r0, _0812D8A8 @ =gUnknown_845FCE4 - movs r1, 0x94 - movs r2, 0x42 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0812D8AC @ =gUnknown_845ED60 - b _0812D906 - .align 2, 0 -_0812D8A8: .4byte gUnknown_845FCE4 -_0812D8AC: .4byte gUnknown_845ED60 -_0812D8B0: - cmp r5, 0xE - bne _0812D8D0 - ldr r0, _0812D8C8 @ =gUnknown_845FCFC - movs r1, 0x94 - movs r2, 0x42 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0812D8CC @ =gUnknown_845DD20 - b _0812D906 - .align 2, 0 -_0812D8C8: .4byte gUnknown_845FCFC -_0812D8CC: .4byte gUnknown_845DD20 -_0812D8D0: - cmp r5, 0 - bne _0812D8F0 - ldr r0, _0812D8E8 @ =gUnknown_845FD14 - movs r1, 0x94 - movs r2, 0x42 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0812D8EC @ =gUnknown_845F580 - b _0812D906 - .align 2, 0 -_0812D8E8: .4byte gUnknown_845FD14 -_0812D8EC: .4byte gUnknown_845F580 -_0812D8F0: - cmp r5, 0xD - bne _0812D934 - ldr r0, _0812D928 @ =gUnknown_845FD2C - movs r1, 0x94 - movs r2, 0x42 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0812D92C @ =gUnknown_845E540 -_0812D906: - movs r1, 0xB0 - lsls r1, 1 - movs r2, 0x20 - bl LoadPalette - ldr r1, _0812D930 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xF - ands r1, r2 - movs r2, 0x60 - orrs r1, r2 - strb r1, [r0, 0x5] - b _0812D950 - .align 2, 0 -_0812D928: .4byte gUnknown_845FD2C -_0812D92C: .4byte gUnknown_845E540 -_0812D930: .4byte gSprites -_0812D934: - ldr r0, _0812D98C @ =gUnknown_845F61C - adds r0, r5, r0 - ldrb r0, [r0] - movs r1, 0x6 - str r1, [sp] - ldr r1, _0812D990 @ =0x0000ffff - str r1, [sp, 0x4] - movs r1, 0x1 - movs r2, 0x94 - movs r3, 0x42 - bl sub_810C2A4 - lsls r0, 24 - lsrs r4, r0, 24 -_0812D950: - ldr r1, _0812D994 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r1, 0x1C - adds r0, r1 - ldr r1, _0812D998 @ =sub_812D840 - str r1, [r0] - ldr r0, _0812D99C @ =gSaveBlock1Ptr - ldr r0, [r0] - lsls r1, r5, 2 - adds r0, r1 - ldr r1, _0812D9A0 @ =0x00003a54 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _0812D982 - ldr r0, _0812D9A4 @ =gUnknown_845F5C0 - movs r1, 0xB0 - lsls r1, 1 - movs r2, 0x20 - bl LoadPalette -_0812D982: - adds r0, r4, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0812D98C: .4byte gUnknown_845F61C -_0812D990: .4byte 0x0000ffff -_0812D994: .4byte gSprites -_0812D998: .4byte sub_812D840 -_0812D99C: .4byte gSaveBlock1Ptr -_0812D9A0: .4byte 0x00003a54 -_0812D9A4: .4byte gUnknown_845F5C0 - thumb_func_end sub_812D888 - - thumb_func_start sub_812D9A8 -sub_812D9A8: @ 812D9A8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - ldr r0, _0812D9FC @ =gTasks+0x8 - adds r4, r2, r0 - lsrs r1, 16 - ldr r0, _0812DA00 @ =gUnknown_203B0FC - ldr r2, [r0] - ldrb r0, [r2, 0x7] - lsrs r3, r0, 2 - subs r0, r3, 0x1 - cmp r1, r0 - bne _0812D9D0 - subs r0, r3, 0x2 - lsls r0, 16 - lsrs r1, r0, 16 -_0812D9D0: - adds r0, r2, 0 - adds r0, 0xC - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0812D9E8 - cmp r0, 0xE - beq _0812D9E8 - cmp r0, 0 - beq _0812D9E8 - cmp r0, 0xD - bne _0812DA08 -_0812D9E8: - movs r0, 0x4 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0812DA04 @ =gSprites - adds r0, r1 - bl DestroySprite - b _0812DA0E - .align 2, 0 -_0812D9FC: .4byte gTasks+0x8 -_0812DA00: .4byte gUnknown_203B0FC -_0812DA04: .4byte gSprites -_0812DA08: - ldrh r0, [r4, 0x4] - bl sub_810C2E8 -_0812DA0E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812D9A8 - - thumb_func_start sub_812DA14 -sub_812DA14: @ 812DA14 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_812E064 - ldr r1, _0812DAF8 @ =gUnknown_203B0FC - ldr r1, [r1] - lsls r0, 16 - lsrs r0, 16 - adds r1, 0xC - adds r1, r0 - ldrb r0, [r1] - lsls r5, r0, 1 - adds r5, r0 - lsls r5, 1 - adds r5, r4 - movs r0, 0x1 - bl sub_812E094 - ldr r1, _0812DAFC @ =gUnknown_3005EC8 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x58 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - ldr r0, _0812DB00 @ =gUnknown_845F89C - lsls r5, 2 - adds r0, r5, r0 - ldr r6, [r0] - movs r0, 0 - adds r1, r6, 0 - movs r2, 0 - bl GetStringWidth - movs r4, 0x54 - subs r0, r4, r0 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - lsls r2, r0, 24 - lsrs r2, 24 - movs r7, 0 - str r7, [sp] - movs r0, 0x2 - mov r10, r0 - str r0, [sp, 0x4] - ldr r0, _0812DB04 @ =gUnknown_845F5E3 - mov r9, r0 - str r0, [sp, 0x8] - movs r0, 0x1 - negs r0, r0 - mov r8, r0 - str r0, [sp, 0xC] - str r6, [sp, 0x10] - movs r0, 0x3 - movs r1, 0 - movs r3, 0 - bl AddTextPrinterParametrized2 - ldr r6, _0812DB08 @ =gStringVar1 - ldr r0, _0812DB0C @ =gUnknown_845FA1C - adds r5, r0 - ldr r1, [r5] - adds r0, r6, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r6, 0 - movs r2, 0 - bl GetStringWidth - subs r4, r0 - lsrs r0, r4, 31 - adds r4, r0 - asrs r0, r4, 1 - lsls r2, r0, 24 - lsrs r2, 24 - str r7, [sp] - mov r0, r10 - str r0, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - mov r0, r8 - str r0, [sp, 0xC] - str r6, [sp, 0x10] - movs r0, 0x3 - movs r1, 0 - movs r3, 0xA - bl AddTextPrinterParametrized2 - movs r0, 0x3 - bl sub_812CEE0 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812DAF8: .4byte gUnknown_203B0FC -_0812DAFC: .4byte gUnknown_3005EC8 -_0812DB00: .4byte gUnknown_845F89C -_0812DB04: .4byte gUnknown_845F5E3 -_0812DB08: .4byte gStringVar1 -_0812DB0C: .4byte gUnknown_845FA1C - thumb_func_end sub_812DA14 - - thumb_func_start sub_812DB10 -sub_812DB10: @ 812DB10 - push {lr} - movs r0, 0 - bl sub_812E094 - ldr r1, _0812DB24 @ =gUnknown_3005EC8 - movs r0, 0xFF - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0812DB24: .4byte gUnknown_3005EC8 - thumb_func_end sub_812DB10 - - thumb_func_start sub_812DB28 -sub_812DB28: @ 812DB28 - push {r4,lr} - bl sub_812DB64 - bl sub_812DEF0 - ldr r4, _0812DB5C @ =gUnknown_203B0FC - ldr r3, [r4] - lsls r0, 2 - ldrb r2, [r3, 0x7] - movs r1, 0x3 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x7] - ldr r0, _0812DB60 @ =gUnknown_3005EB0 - movs r1, 0 - movs r2, 0 - bl ListMenuInit - ldr r1, [r4] - strb r0, [r1, 0x8] - movs r0, 0 - bl sub_812DFE4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812DB5C: .4byte gUnknown_203B0FC -_0812DB60: .4byte gUnknown_3005EB0 - thumb_func_end sub_812DB28 - - thumb_func_start sub_812DB64 -sub_812DB64: @ 812DB64 - ldr r2, _0812DBB4 @ =gUnknown_3005EB0 - ldr r0, _0812DBB8 @ =gUnknown_203B100 - ldr r0, [r0] - str r0, [r2] - ldr r0, _0812DBBC @ =sub_812DBC0 - str r0, [r2, 0x4] - movs r0, 0 - str r0, [r2, 0x8] - movs r1, 0 - movs r0, 0x1 - strh r0, [r2, 0xC] - strh r0, [r2, 0xE] - strb r1, [r2, 0x10] - strb r1, [r2, 0x11] - movs r0, 0x8 - strb r0, [r2, 0x12] - strb r1, [r2, 0x13] - ldrb r1, [r2, 0x14] - subs r0, 0x18 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - movs r1, 0xF - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2, 0x14] - movs r0, 0x30 - strb r0, [r2, 0x15] - movs r3, 0x3F - movs r0, 0 - strb r0, [r2, 0x16] - ldrb r1, [r2, 0x17] - subs r0, 0x40 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - ands r0, r3 - strb r0, [r2, 0x17] - bx lr - .align 2, 0 -_0812DBB4: .4byte gUnknown_3005EB0 -_0812DBB8: .4byte gUnknown_203B100 -_0812DBBC: .4byte sub_812DBC0 - thumb_func_end sub_812DB64 - - thumb_func_start sub_812DBC0 -sub_812DBC0: @ 812DBC0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - adds r7, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _0812DC68 @ =gUnknown_203B104 - mov r10, r0 - movs r2, 0 - mov r8, r2 - str r2, [r0] - ldr r6, _0812DC6C @ =gUnknown_203B0FC - ldr r0, [r6] - ldrb r2, [r0, 0xA] - ldrb r0, [r0, 0xB] - adds r2, r0 - mov r9, r2 - adds r0, r7, 0 - bl sub_812DDF0 - ldr r0, _0812DC70 @ =sub_812C694 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xFF - bne _0812DBFE - b _0812DD3A -_0812DBFE: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0812DC74 @ =gTasks - adds r5, r0, r1 - movs r0, 0x5 - bl PlaySE - mov r0, r8 - strh r0, [r5, 0xA] - ldr r0, [r6] - ldrb r0, [r0, 0x8] - add r1, sp, 0x8 - movs r2, 0 - bl get_coro_args_x18_x1A - ldr r1, [r6] - add r0, sp, 0x8 - ldrh r0, [r0] - strh r0, [r1, 0x4] - ldrb r0, [r1, 0x7] - lsrs r0, 2 - subs r0, 0x1 - cmp r7, r0 - beq _0812DCD8 - bl sub_812D174 - lsls r0, r7, 24 - lsrs r0, 24 - bl sub_812D1A8 - ldr r2, [r6] - ldrb r1, [r2, 0x7] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0812DCBC - adds r0, r2, 0 - adds r0, 0x23 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _0812DC7C - adds r0, r4, 0 - mov r1, r9 - bl sub_812D9A8 - mov r1, r10 - str r7, [r1] - ldr r0, _0812DC78 @ =sub_812DD50 - str r0, [r5] - b _0812DD3A - .align 2, 0 -_0812DC68: .4byte gUnknown_203B104 -_0812DC6C: .4byte gUnknown_203B0FC -_0812DC70: .4byte sub_812C694 -_0812DC74: .4byte gTasks -_0812DC78: .4byte sub_812DD50 -_0812DC7C: - ldr r4, _0812DCB8 @ =gSprites - movs r2, 0xC - ldrsh r0, [r5, r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x23 - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r1, r8 - strh r1, [r0, 0x2E] - bl sub_812CD3C - b _0812DD3A - .align 2, 0 -_0812DCB8: .4byte gSprites -_0812DCBC: - movs r0, 0xD0 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - movs r0, 0x2 - bl sub_812CEE0 - b _0812DD3A -_0812DCD8: - bl sub_812DDAC - ldr r0, [r6] - ldrb r1, [r0, 0x7] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0812DD10 - ldr r2, _0812DD0C @ =gSprites - movs r0, 0xC - ldrsh r1, [r5, 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] - ldr r1, [r6] - adds r1, 0x23 - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - b _0812DD3A - .align 2, 0 -_0812DD0C: .4byte gSprites -_0812DD10: - movs r2, 0 - ldr r5, _0812DD4C @ =gSprites - adds r4, r6, 0 - movs r3, 0x4 -_0812DD18: - ldr r0, [r4] - adds r0, 0x1D - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bls _0812DD18 -_0812DD3A: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812DD4C: .4byte gSprites - thumb_func_end sub_812DBC0 - - thumb_func_start sub_812DD50 -sub_812DD50: @ 812DD50 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0812DD98 @ =gTasks - adds r4, r0 - ldr r0, _0812DD9C @ =gUnknown_203B0FC - ldr r0, [r0] - ldr r1, _0812DDA0 @ =gUnknown_203B104 - adds r0, 0xC - ldr r1, [r1] - adds r0, r1 - ldrb r0, [r0] - bl sub_812D888 - lsls r0, 24 - lsrs r0, 24 - movs r3, 0 - strh r0, [r4, 0xC] - ldr r2, _0812DDA4 @ =gSprites - movs r0, 0xC - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x2E] - bl sub_812CD3C - ldr r0, _0812DDA8 @ =sub_812C694 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812DD98: .4byte gTasks -_0812DD9C: .4byte gUnknown_203B0FC -_0812DDA0: .4byte gUnknown_203B104 -_0812DDA4: .4byte gSprites -_0812DDA8: .4byte sub_812C694 - thumb_func_end sub_812DD50 - - thumb_func_start sub_812DDAC -sub_812DDAC: @ 812DDAC - push {lr} - sub sp, 0x10 - movs r0, 0xD0 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - ldr r2, _0812DDEC @ =gUnknown_84181C3 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParametrized - movs r0, 0x2 - bl sub_812CEE0 - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0812DDEC: .4byte gUnknown_84181C3 - thumb_func_end sub_812DDAC - - thumb_func_start sub_812DDF0 -sub_812DDF0: @ 812DDF0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x18 - mov r8, r0 - lsls r5, r1, 24 - lsrs r5, 24 - ldr r7, _0812DE68 @ =gUnknown_203B0FC - ldr r0, [r7] - ldrb r0, [r0, 0x8] - mov r4, sp - adds r4, 0x16 - add r1, sp, 0x14 - adds r2, r4, 0 - bl get_coro_args_x18_x1A - add r1, sp, 0x14 - ldrh r0, [r4] - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - ldrh r0, [r4] - lsls r3, r0, 3 - subs r3, r0 - lsls r3, 25 - movs r0, 0x80 - lsls r0, 19 - adds r3, r0 - lsrs r3, 24 - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - ldr r0, _0812DE6C @ =gUnknown_845F5E6 - str r0, [sp, 0x8] - str r1, [sp, 0xC] - ldr r0, _0812DE70 @ =gUnknown_203B100 - ldr r1, [r0] - mov r2, r8 - lsls r0, r2, 3 - adds r0, r1 - ldr r0, [r0] - str r0, [sp, 0x10] - movs r0, 0 - movs r1, 0x2 - movs r2, 0x8 - bl AddTextPrinterParametrized2 - cmp r5, 0 - bne _0812DEC0 - add r0, sp, 0x14 - ldr r1, [r7] - ldrh r2, [r0] - ldrb r0, [r1, 0xA] - cmp r2, r0 - bcs _0812DE74 - ldrb r0, [r1, 0xB] - adds r0, 0x1 - b _0812DE86 - .align 2, 0 -_0812DE68: .4byte gUnknown_203B0FC -_0812DE6C: .4byte gUnknown_845F5E6 -_0812DE70: .4byte gUnknown_203B100 -_0812DE74: - cmp r2, r0 - bls _0812DE88 - ldrb r0, [r1, 0x7] - lsrs r0, 2 - subs r0, 0x1 - cmp r6, r0 - beq _0812DE88 - ldrb r0, [r1, 0xB] - subs r0, 0x1 -_0812DE86: - strb r0, [r1, 0xB] -_0812DE88: - ldr r0, _0812DEE4 @ =gUnknown_203B0FC - ldr r2, [r0] - ldrb r0, [r2, 0xB] - lsls r3, r0, 3 - subs r3, r0 - lsls r3, 25 - movs r0, 0x80 - lsls r0, 19 - adds r3, r0 - lsrs r3, 24 - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - ldr r0, _0812DEE8 @ =gUnknown_845F5E3 - str r0, [sp, 0x8] - str r1, [sp, 0xC] - ldrb r0, [r2, 0x9] - ldr r1, _0812DEEC @ =gUnknown_203B100 - ldr r1, [r1] - lsls r0, 3 - adds r0, r1 - ldr r0, [r0] - str r0, [sp, 0x10] - movs r0, 0 - movs r1, 0x2 - movs r2, 0x8 - bl AddTextPrinterParametrized2 -_0812DEC0: - ldr r1, _0812DEE4 @ =gUnknown_203B0FC - ldr r0, [r1] - mov r2, r8 - strb r2, [r0, 0x9] - ldr r2, [r1] - ldrh r0, [r4] - strb r0, [r2, 0xB] - ldr r1, [r1] - add r0, sp, 0x14 - ldrh r0, [r0] - strb r0, [r1, 0xA] - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812DEE4: .4byte gUnknown_203B0FC -_0812DEE8: .4byte gUnknown_845F5E3 -_0812DEEC: .4byte gUnknown_203B100 - thumb_func_end sub_812DDF0 - - thumb_func_start sub_812DEF0 -sub_812DEF0: @ 812DEF0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r4, 0 - movs r6, 0 - ldr r0, _0812DF44 @ =0x0000fdff - mov r8, r0 - ldr r7, _0812DF48 @ =gUnknown_845F60C -_0812DF00: - adds r0, r6, 0 - bl sub_812D0C0 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0812DF4C @ =gSaveBlock1Ptr - ldr r0, [r0] - lsls r1, r5, 2 - adds r0, r1 - ldr r1, _0812DF50 @ =0x00003a54 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - cmp r0, 0 - beq _0812DF88 - ldr r0, _0812DF54 @ =gUnknown_845F5EA - lsls r1, r5, 1 - adds r3, r1, r0 - ldrh r0, [r3] - cmp r0, r8 - bhi _0812DF60 - ldr r0, _0812DF58 @ =gUnknown_203B100 - ldr r0, [r0] - lsls r2, r4, 3 - adds r2, r0 - ldrh r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _0812DF5C @ =gTrainers+0x4 - adds r0, r1 - str r0, [r2] - str r4, [r2, 0x4] - b _0812DF78 - .align 2, 0 -_0812DF44: .4byte 0x0000fdff -_0812DF48: .4byte gUnknown_845F60C -_0812DF4C: .4byte gSaveBlock1Ptr -_0812DF50: .4byte 0x00003a54 -_0812DF54: .4byte gUnknown_845F5EA -_0812DF58: .4byte gUnknown_203B100 -_0812DF5C: .4byte gTrainers+0x4 -_0812DF60: - ldr r0, _0812DFC0 @ =gUnknown_203B100 - ldr r0, [r0] - lsls r1, r4, 3 - adds r1, r0 - ldrh r0, [r3] - ldr r2, _0812DFC4 @ =0xffff0200 - adds r0, r2 - lsls r0, 2 - adds r0, r7 - ldr r0, [r0] - str r0, [r1] - str r4, [r1, 0x4] -_0812DF78: - ldr r0, _0812DFC8 @ =gUnknown_203B0FC - ldr r0, [r0] - adds r0, 0xC - adds r0, r4 - strb r5, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_0812DF88: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xF - bls _0812DF00 - ldr r0, _0812DFC0 @ =gUnknown_203B100 - ldr r1, [r0] - lsls r0, r4, 3 - adds r0, r1 - ldr r1, _0812DFCC @ =gUnknown_84161C1 - str r1, [r0] - str r4, [r0, 0x4] - ldr r0, _0812DFC8 @ =gUnknown_203B0FC - ldr r0, [r0] - adds r0, 0xC - adds r0, r4 - movs r1, 0xFF - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _0812DFD0 @ =gUnknown_3005EB0 - strh r4, [r1, 0xC] - cmp r4, 0x4 - bhi _0812DFD4 - strh r4, [r1, 0xE] - b _0812DFD8 - .align 2, 0 -_0812DFC0: .4byte gUnknown_203B100 -_0812DFC4: .4byte 0xffff0200 -_0812DFC8: .4byte gUnknown_203B0FC -_0812DFCC: .4byte gUnknown_84161C1 -_0812DFD0: .4byte gUnknown_3005EB0 -_0812DFD4: - movs r0, 0x5 - strh r0, [r1, 0xE] -_0812DFD8: - adds r0, r4, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_812DEF0 - - thumb_func_start sub_812DFE4 -sub_812DFE4: @ 812DFE4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812DFE4 - - thumb_func_start sub_812E000 -sub_812E000: @ 812E000 - push {r4,lr} - sub sp, 0x10 - mov r1, sp - ldr r0, _0812E040 @ =gUnknown_845FD44 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r0, [r0] - str r0, [r1] - ldr r4, _0812E044 @ =gUnknown_203B0FC - ldr r2, [r4] - ldrb r0, [r2, 0x7] - lsrs r0, 2 - cmp r0, 0x5 - bls _0812E036 - mov r1, sp - movs r0, 0 - strh r0, [r1, 0x6] - ldrb r0, [r2, 0x7] - lsrs r0, 2 - subs r0, 0x5 - strh r0, [r1, 0x8] - adds r1, r2, 0x4 - mov r0, sp - bl AddScrollIndicatorArrowPair - ldr r1, [r4] - strb r0, [r1, 0x6] -_0812E036: - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812E040: .4byte gUnknown_845FD44 -_0812E044: .4byte gUnknown_203B0FC - thumb_func_end sub_812E000 - - thumb_func_start sub_812E048 -sub_812E048: @ 812E048 - push {lr} - ldr r0, _0812E060 @ =gUnknown_203B0FC - ldr r1, [r0] - ldrb r0, [r1, 0x7] - lsrs r0, 2 - cmp r0, 0x5 - bls _0812E05C - ldrb r0, [r1, 0x6] - bl RemoveScrollIndicatorArrowPair -_0812E05C: - pop {r0} - bx r0 - .align 2, 0 -_0812E060: .4byte gUnknown_203B0FC - thumb_func_end sub_812E048 - - thumb_func_start sub_812E064 -sub_812E064: @ 812E064 - push {r4,lr} - sub sp, 0x4 - ldr r0, _0812E090 @ =gUnknown_203B0FC - ldr r0, [r0] - ldrb r0, [r0, 0x8] - mov r4, sp - adds r4, 0x2 - mov r1, sp - adds r2, r4, 0 - bl get_coro_args_x18_x1A - mov r1, sp - ldrh r0, [r4] - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0812E090: .4byte gUnknown_203B0FC - thumb_func_end sub_812E064 - - thumb_func_start sub_812E094 -sub_812E094: @ 812E094 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - ldr r6, _0812E0EC @ =gUnknown_203B0FC - ldr r0, [r6] - adds r0, 0x23 - ldrb r0, [r0] - lsls r0, 31 - lsrs r0, 31 - cmp r0, r4 - beq _0812E108 - ldr r5, _0812E0F0 @ =sub_812E110 - adds r0, r5, 0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - bne _0812E0C8 - adds r0, r5, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 -_0812E0C8: - ldr r0, _0812E0F4 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x8] - movs r0, 0x4 - strh r0, [r1, 0xA] - cmp r4, 0x1 - bne _0812E0F8 - strh r4, [r1, 0xC] - ldr r0, [r6] - adds r0, 0x23 - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - b _0812E106 - .align 2, 0 -_0812E0EC: .4byte gUnknown_203B0FC -_0812E0F0: .4byte sub_812E110 -_0812E0F4: .4byte gTasks -_0812E0F8: - strh r0, [r1, 0xC] - ldr r0, [r6] - adds r0, 0x23 - ldrb r2, [r0] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 -_0812E106: - strb r1, [r0] -_0812E108: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_812E094 - - thumb_func_start sub_812E110 -sub_812E110: @ 812E110 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0812E130 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0812E134 - cmp r0, 0x1 - beq _0812E154 - b _0812E170 - .align 2, 0 -_0812E130: .4byte gTasks -_0812E134: - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bne _0812E170 - movs r0, 0x1 - movs r1, 0 - bl sub_812E178 - movs r0, 0x4 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0812E170 -_0812E154: - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bne _0812E170 - movs r0, 0xC - ldrsh r1, [r4, r0] - movs r0, 0x1 - bl sub_812E178 - adds r0, r5, 0 - bl DestroyTask -_0812E170: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812E110 - - thumb_func_start sub_812E178 -sub_812E178: @ 812E178 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - asrs r5, r1, 16 - cmp r5, 0 - beq _0812E18C - cmp r5, 0x3 - bne _0812E252 -_0812E18C: - movs r4, 0x1 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x8C - movs r2, 0xE - movs r3, 0xA - bl FillBgTilemapBufferRect - movs r5, 0xA - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0xA1 - movs r2, 0xF - movs r3, 0xA - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x8D - movs r2, 0x19 - movs r3, 0xA - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x8E - movs r2, 0x1A - movs r3, 0xA - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x8F - movs r2, 0xE - movs r3, 0xB - bl FillBgTilemapBufferRect - movs r0, 0xB - str r0, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0 - movs r2, 0xF - movs r3, 0xB - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x90 - movs r2, 0x1A - movs r3, 0xB - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x91 - movs r2, 0xE - movs r3, 0xC - bl FillBgTilemapBufferRect - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0xA3 - movs r2, 0xF - movs r3, 0xC - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x92 - movs r2, 0x19 - movs r3, 0xC - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x93 - b _0812E470 -_0812E252: - cmp r5, 0x1 - bne _0812E2F4 - str r5, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x9B - movs r2, 0xE - movs r3, 0xA - bl FillBgTilemapBufferRect - movs r4, 0xB - str r4, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x9C - movs r2, 0xF - movs r3, 0xA - bl FillBgTilemapBufferRect - str r5, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x96 - movs r2, 0x1A - movs r3, 0xA - bl FillBgTilemapBufferRect - str r5, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x9D - movs r2, 0xE - movs r3, 0xB - bl FillBgTilemapBufferRect - str r4, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0 - movs r2, 0xF - movs r3, 0xB - bl FillBgTilemapBufferRect - str r5, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x90 - movs r2, 0x1A - movs r3, 0xB - bl FillBgTilemapBufferRect - str r5, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x9E - movs r2, 0xE - movs r3, 0xC - bl FillBgTilemapBufferRect - str r4, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x9F - movs r2, 0xF - movs r3, 0xC - bl FillBgTilemapBufferRect - str r5, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x99 - b _0812E470 -_0812E2F4: - cmp r5, 0x2 - bne _0812E398 - movs r4, 0x1 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x94 - movs r2, 0xE - movs r3, 0xA - bl FillBgTilemapBufferRect - movs r5, 0xB - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x95 - movs r2, 0xF - movs r3, 0xA - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x96 - movs r2, 0x1A - movs r3, 0xA - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x8F - movs r2, 0xE - movs r3, 0xB - bl FillBgTilemapBufferRect - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x9A - movs r2, 0xF - movs r3, 0xB - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x90 - movs r2, 0x1A - movs r3, 0xB - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x97 - movs r2, 0xE - movs r3, 0xC - bl FillBgTilemapBufferRect - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x98 - movs r2, 0xF - movs r3, 0xC - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x99 - b _0812E470 -_0812E398: - cmp r5, 0x4 - bne _0812E47A - movs r4, 0x1 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x83 - movs r2, 0xE - movs r3, 0xA - bl FillBgTilemapBufferRect - movs r5, 0xA - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0xA0 - movs r2, 0xF - movs r3, 0xA - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x84 - movs r2, 0x19 - movs r3, 0xA - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x85 - movs r2, 0x1A - movs r3, 0xA - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x86 - movs r2, 0xE - movs r3, 0xB - bl FillBgTilemapBufferRect - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0xA2 - movs r2, 0xF - movs r3, 0xB - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x87 - movs r2, 0x19 - movs r3, 0xB - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x88 - movs r2, 0x1A - movs r3, 0xB - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x83 - movs r2, 0xE - movs r3, 0xC - bl FillBgTilemapBufferRect - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0xA0 - movs r2, 0xF - movs r3, 0xC - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x84 - movs r2, 0x19 - movs r3, 0xC - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x85 -_0812E470: - movs r2, 0x1A - movs r3, 0xC - bl FillBgTilemapBufferRect - b _0812E496 -_0812E47A: - cmp r5, 0x5 - bne _0812E496 - movs r0, 0xD - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0 - movs r2, 0xE - movs r3, 0xA - bl FillBgTilemapBufferRect -_0812E496: - adds r0, r6, 0 - bl CopyBgTilemapBufferToVram - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_812E178 - - thumb_func_start sub_812E4A4 -sub_812E4A4: @ 812E4A4 - push {r4,lr} - sub sp, 0x14 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0812E4E0 @ =gUnknown_203B0FC - ldr r0, [r0] - ldrb r0, [r0, 0x8] - bl ListMenuGetYCoordForPrintingArrowCursor - lsls r0, 16 - lsrs r0, 16 - cmp r4, 0x1 - bne _0812E4EC - lsls r3, r0, 24 - lsrs r3, 24 - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - ldr r0, _0812E4E4 @ =gUnknown_845F5E3 - str r0, [sp, 0x8] - str r1, [sp, 0xC] - ldr r0, _0812E4E8 @ =gUnknown_841623B - str r0, [sp, 0x10] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - bl AddTextPrinterParametrized2 - b _0812E50A - .align 2, 0 -_0812E4E0: .4byte gUnknown_203B0FC -_0812E4E4: .4byte gUnknown_845F5E3 -_0812E4E8: .4byte gUnknown_841623B -_0812E4EC: - lsls r3, r0, 24 - lsrs r3, 24 - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - ldr r0, _0812E514 @ =gUnknown_845F5E0 - str r0, [sp, 0x8] - str r1, [sp, 0xC] - ldr r0, _0812E518 @ =gUnknown_841623B - str r0, [sp, 0x10] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - bl AddTextPrinterParametrized2 -_0812E50A: - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812E514: .4byte gUnknown_845F5E0 -_0812E518: .4byte gUnknown_841623B - thumb_func_end sub_812E4A4 - - .align 2, 0 @ Don't pad with nop. |