diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/easy_chat.s | 5199 | ||||
-rw-r--r-- | asm/pokenav.s | 1204 |
2 files changed, 284 insertions, 6119 deletions
diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 271d1bce1..10536929e 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -5,5205 +5,6 @@ .text - thumb_func_start sub_811BFA4 -sub_811BFA4: @ 811BFA4 - push {r4,lr} - sub sp, 0x8 - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x5 - bls _0811BFB4 - b _0811C120 -_0811BFB4: - lsls r0, 2 - ldr r1, =_0811BFC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811BFC8: - .4byte _0811BFE0 - .4byte _0811C044 - .4byte _0811C090 - .4byte _0811C0AC - .4byte _0811C0BE - .4byte _0811C0D4 -_0811BFE0: - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_08597C54 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r4, =gUnknown_0203A11C - ldr r1, [r4] - movs r0, 0xB0 - lsls r0, 4 - adds r1, r0 - movs r0, 0x3 - bl SetBgTilemapBuffer - ldr r1, [r4] - movs r0, 0xC0 - lsls r0, 2 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r0, =gUnknown_08597C64 - bl InitWindows - bl DeactivateAllTextPrinters - bl sub_811CF64 - bl sub_811CF04 - movs r0, 0 - str r0, [sp, 0x4] - movs r1, 0xE0 - lsls r1, 19 - ldr r2, =0x01000100 - add r0, sp, 0x4 - bl CpuFastSet - b _0811C124 - .pool -_0811C044: - ldr r1, =gEasyChatWindow_Gfx - movs r0, 0 - str r0, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r1, =gEasyChatWindow_Tilemap - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - bl sub_811D60C - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 2 - adds r0, r1 - bl sub_811D424 - bl sub_811D230 - bl sub_811E948 - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _0811C124 - .pool -_0811C090: - ldr r1, =gUnknown_08597B54 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - b _0811C124 - .pool -_0811C0AC: - bl sub_811CFCC - bl sub_811D0BC - bl sub_811D2C8 - bl sub_811D684 - b _0811C124 -_0811C0BE: - bl sub_811DE90 - bl sub_811BA5C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x10 - beq _0811C124 - bl sub_811DEC4 - b _0811C124 -_0811C0D4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0811C12E - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_811DE5C - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x3B - bl SetGpuReg - movs r0, 0x3 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0 - bl ShowBg - bl sub_811E5D4 - bl sub_811E720 - bl sub_811E828 - b _0811C124 -_0811C120: - movs r0, 0 - b _0811C130 -_0811C124: - ldr r0, =gUnknown_0203A11C - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0811C12E: - movs r0, 0x1 -_0811C130: - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_811BFA4 - - thumb_func_start sub_811C13C -sub_811C13C: @ 811C13C - push {r4,lr} - ldr r4, =gUnknown_0203A11C - ldr r0, [r4] - cmp r0, 0 - beq _0811C14E - bl Free - movs r0, 0 - str r0, [r4] -_0811C14E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811C13C - - thumb_func_start sub_811C158 -sub_811C158: @ 811C158 - push {lr} - ldr r1, =gUnknown_0203A11C - ldr r1, [r1] - movs r2, 0 - strh r0, [r1, 0x4] - strh r2, [r1] - bl sub_811C170 - pop {r0} - bx r0 - .pool - thumb_func_end sub_811C158 - - thumb_func_start sub_811C170 -sub_811C170: @ 811C170 - push {lr} - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - ldrh r0, [r0, 0x4] - cmp r0, 0x22 - bls _0811C17E - b _0811C2CE -_0811C17E: - lsls r0, 2 - ldr r1, =_0811C190 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811C190: - .4byte _0811C2CE - .4byte _0811C21C - .4byte _0811C222 - .4byte _0811C228 - .4byte _0811C22E - .4byte _0811C234 - .4byte _0811C23A - .4byte _0811C240 - .4byte _0811C246 - .4byte _0811C24C - .4byte _0811C252 - .4byte _0811C258 - .4byte _0811C25E - .4byte _0811C264 - .4byte _0811C26A - .4byte _0811C270 - .4byte _0811C276 - .4byte _0811C27C - .4byte _0811C282 - .4byte _0811C288 - .4byte _0811C28E - .4byte _0811C294 - .4byte _0811C29A - .4byte _0811C2A0 - .4byte _0811C2CE - .4byte _0811C2CE - .4byte _0811C2CE - .4byte _0811C2CE - .4byte _0811C2CE - .4byte _0811C2A6 - .4byte _0811C2AC - .4byte _0811C2B2 - .4byte _0811C2B8 - .4byte _0811C2BE - .4byte _0811C2C4 -_0811C21C: - bl sub_811C2D4 - b _0811C2C8 -_0811C222: - bl sub_811C30C - b _0811C2C8 -_0811C228: - bl sub_811C3E4 - b _0811C2C8 -_0811C22E: - bl sub_811C48C - b _0811C2C8 -_0811C234: - bl sub_811C404 - b _0811C2C8 -_0811C23A: - bl sub_811C448 - b _0811C2C8 -_0811C240: - bl sub_811C4D0 - b _0811C2C8 -_0811C246: - bl sub_811C518 - b _0811C2C8 -_0811C24C: - bl sub_811C554 - b _0811C2C8 -_0811C252: - bl sub_811C620 - b _0811C2C8 -_0811C258: - bl sub_811C830 - b _0811C2C8 -_0811C25E: - bl sub_811C8F0 - b _0811C2C8 -_0811C264: - bl sub_811C99C - b _0811C2C8 -_0811C26A: - bl sub_811CA5C - b _0811C2C8 -_0811C270: - bl sub_811C780 - b _0811C2C8 -_0811C276: - bl sub_811C78C - b _0811C2C8 -_0811C27C: - bl sub_811C7D4 - b _0811C2C8 -_0811C282: - bl sub_811CB18 - b _0811C2C8 -_0811C288: - bl sub_811CB98 - b _0811C2C8 -_0811C28E: - bl sub_811CB24 - b _0811C2C8 -_0811C294: - bl sub_811CC90 - b _0811C2C8 -_0811C29A: - bl sub_811CC08 - b _0811C2C8 -_0811C2A0: - bl sub_811C6C0 - b _0811C2C8 -_0811C2A6: - bl sub_811CD14 - b _0811C2C8 -_0811C2AC: - bl sub_811CD54 - b _0811C2C8 -_0811C2B2: - bl sub_811CD94 - b _0811C2C8 -_0811C2B8: - bl sub_811CDD4 - b _0811C2C8 -_0811C2BE: - bl sub_811CE14 - b _0811C2C8 -_0811C2C4: - bl sub_811CE54 -_0811C2C8: - lsls r0, 24 - lsrs r0, 24 - b _0811C2D0 -_0811C2CE: - movs r0, 0 -_0811C2D0: - pop {r1} - bx r1 - thumb_func_end sub_811C170 - - thumb_func_start sub_811C2D4 -sub_811C2D4: @ 811C2D4 - push {r4,lr} - ldr r4, =gUnknown_0203A11C - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _0811C2EC - cmp r0, 0x1 - beq _0811C2FA - b _0811C304 - .pool -_0811C2EC: - bl sub_811D2C8 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811C304 -_0811C2FA: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0811C306 -_0811C304: - movs r0, 0x1 -_0811C306: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811C2D4 - - thumb_func_start sub_811C30C -sub_811C30C: @ 811C30C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x40 - bl sub_811BA94 - adds r4, r0, 0 - bl sub_811BA68 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - bl sub_811BAB8 - lsls r0, 24 - lsrs r7, r0, 24 - bl sub_811BAC4 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - bl sub_811BAAC - lsls r0, 24 - lsrs r0, 24 - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - lsls r0, 1 - adds r4, r0 - ldr r1, =gUnknown_08597C30 - mov r2, r10 - lsls r0, r2, 2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 27 - lsrs r0, 8 - movs r1, 0xD0 - lsls r1, 12 - adds r0, r1 - lsrs r6, r0, 16 - movs r5, 0 - cmp r5, r7 - bcs _0811C3AA - ldr r2, =0x0000ffff - mov r8, r2 -_0811C36C: - ldrh r0, [r4] - cmp r0, r8 - bne _0811C380 - movs r0, 0x48 - b _0811C392 - .pool -_0811C380: - ldrh r1, [r4] - mov r0, sp - bl CopyEasyChatWord - movs r0, 0x1 - mov r1, sp - movs r2, 0 - bl GetStringWidth -_0811C392: - adds r0, 0x11 - lsls r1, r6, 16 - asrs r1, 16 - adds r1, r0 - lsls r1, 16 - lsrs r6, r1, 16 - adds r4, 0x2 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r7 - bcc _0811C36C -_0811C3AA: - ldr r1, =gUnknown_08597C30 - mov r2, r10 - lsls r0, r2, 2 - adds r0, r1 - ldrb r1, [r0] - lsrs r1, 5 - mov r2, r9 - lsls r0, r2, 1 - adds r1, r0 - lsls r1, 27 - lsls r0, r6, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 20 - adds r1, r2 - lsrs r1, 24 - bl sub_811DF60 - movs r0, 0 - add sp, 0x40 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_811C30C - - thumb_func_start sub_811C3E4 -sub_811C3E4: @ 811C3E4 - push {lr} - bl sub_811BAB8 - lsls r0, 24 - lsrs r0, 24 - bl sub_811E920 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x60 - bl sub_811DF60 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_811C3E4 - - thumb_func_start sub_811C404 -sub_811C404: @ 811C404 - push {r4,lr} - ldr r4, =gUnknown_0203A11C - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _0811C41C - cmp r0, 0x1 - beq _0811C436 - b _0811C440 - .pool -_0811C41C: - bl sub_811DF90 - movs r0, 0x2 - bl sub_811D104 - movs r0, 0x1 - bl sub_811D214 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811C440 -_0811C436: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0811C442 -_0811C440: - movs r0, 0x1 -_0811C442: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811C404 - - thumb_func_start sub_811C448 -sub_811C448: @ 811C448 - push {r4,lr} - ldr r4, =gUnknown_0203A11C - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _0811C460 - cmp r0, 0x1 - beq _0811C47A - b _0811C484 - .pool -_0811C460: - bl sub_811DF90 - movs r0, 0x3 - bl sub_811D104 - movs r0, 0 - bl sub_811D214 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811C484 -_0811C47A: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0811C486 -_0811C484: - movs r0, 0x1 -_0811C486: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811C448 - - thumb_func_start sub_811C48C -sub_811C48C: @ 811C48C - push {r4,lr} - ldr r4, =gUnknown_0203A11C - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _0811C4A4 - cmp r0, 0x1 - beq _0811C4BE - b _0811C4C8 - .pool -_0811C4A4: - bl sub_811DF90 - movs r0, 0x1 - bl sub_811D104 - movs r0, 0x1 - bl sub_811D214 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811C4C8 -_0811C4BE: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0811C4CA -_0811C4C8: - movs r0, 0x1 -_0811C4CA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811C48C - - thumb_func_start sub_811C4D0 -sub_811C4D0: @ 811C4D0 - push {r4,lr} - ldr r4, =gUnknown_0203A11C - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _0811C4E8 - cmp r0, 0x1 - beq _0811C506 - b _0811C510 - .pool -_0811C4E8: - bl sub_811DFB0 - movs r0, 0 - bl sub_811D104 - bl sub_811D2C8 - movs r0, 0 - bl ShowBg - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811C510 -_0811C506: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0811C512 -_0811C510: - movs r0, 0x1 -_0811C512: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811C4D0 - - thumb_func_start sub_811C518 -sub_811C518: @ 811C518 - push {r4,lr} - ldr r4, =gUnknown_0203A11C - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _0811C530 - cmp r0, 0x1 - beq _0811C546 - movs r0, 0x1 - b _0811C54E - .pool -_0811C530: - bl sub_811DFB0 - movs r0, 0 - bl sub_811D104 - bl sub_811D2C8 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0811C546: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 -_0811C54E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811C518 - - thumb_func_start sub_811C554 -sub_811C554: @ 811C554 - push {lr} - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x4 - bhi _0811C60E - lsls r0, 2 - ldr r1, =_0811C574 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811C574: - .4byte _0811C588 - .4byte _0811C5A4 - .4byte _0811C5B6 - .4byte _0811C5CC - .4byte _0811C5EC -_0811C588: - bl sub_811DF90 - movs r0, 0 - bl HideBg - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_811DE5C - bl sub_811D6D4 - b _0811C5DA -_0811C5A4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0811C618 - movs r0, 0 - bl sub_811D9CC - b _0811C5DA -_0811C5B6: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0811C618 - bl sub_811DAA4 - lsls r0, 24 - cmp r0, 0 - bne _0811C618 - b _0811C5DA -_0811C5CC: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0811C618 - bl sub_811E3AC -_0811C5DA: - ldr r0, =gUnknown_0203A11C - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811C618 - .pool -_0811C5EC: - bl sub_811E418 - lsls r0, 24 - cmp r0, 0 - bne _0811C618 - bl sub_811DFC8 - movs r0, 0 - bl sub_811E6E0 - bl sub_811E64C - ldr r0, =gUnknown_0203A11C - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0811C60E: - movs r0, 0 - b _0811C61A - .pool -_0811C618: - movs r0, 0x1 -_0811C61A: - pop {r1} - bx r1 - thumb_func_end sub_811C554 - - thumb_func_start sub_811C620 -sub_811C620: @ 811C620 - push {lr} - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x4 - bhi _0811C6B8 - lsls r0, 2 - ldr r1, =_0811C640 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811C640: - .4byte _0811C654 - .4byte _0811C662 - .4byte _0811C67E - .4byte _0811C690 - .4byte _0811C6B4 -_0811C654: - bl sub_811E050 - bl sub_811E4AC - bl sub_811E6B0 - b _0811C6A4 -_0811C662: - bl sub_811E4D0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0811C6B8 - movs r0, 0x1 - bl sub_811D9CC - ldr r0, =gUnknown_0203A11C - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0811C67E: - bl sub_811DAA4 - lsls r0, 24 - cmp r0, 0 - bne _0811C6B8 - b _0811C6A4 - .pool -_0811C690: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0811C6B8 - bl sub_811DFB0 - movs r0, 0 - bl ShowBg -_0811C6A4: - ldr r0, =gUnknown_0203A11C - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811C6B8 - .pool -_0811C6B4: - movs r0, 0 - b _0811C6BA -_0811C6B8: - movs r0, 0x1 -_0811C6BA: - pop {r1} - bx r1 - thumb_func_end sub_811C620 - - thumb_func_start sub_811C6C0 -sub_811C6C0: @ 811C6C0 - push {lr} - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x4 - bhi _0811C778 - lsls r0, 2 - ldr r1, =_0811C6E0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811C6E0: - .4byte _0811C6F4 - .4byte _0811C708 - .4byte _0811C722 - .4byte _0811C748 - .4byte _0811C76E -_0811C6F4: - bl sub_811E050 - bl sub_811E6B0 - bl sub_811E55C - movs r0, 0x5 - bl sub_811D9CC - b _0811C736 -_0811C708: - bl sub_811DAA4 - lsls r0, 24 - cmp r0, 0 - bne _0811C778 - bl sub_811E5B8 - lsls r0, 24 - cmp r0, 0 - bne _0811C778 - bl sub_811D6D4 - b _0811C736 -_0811C722: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0811C778 - movs r0, 0x6 - bl sub_811D9CC - bl sub_811E578 -_0811C736: - ldr r0, =gUnknown_0203A11C - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811C778 - .pool -_0811C748: - bl sub_811DAA4 - lsls r0, 24 - cmp r0, 0 - bne _0811C778 - bl sub_811E5B8 - lsls r0, 24 - cmp r0, 0 - bne _0811C778 - bl sub_811E64C - bl sub_811DFC8 - ldr r0, =gUnknown_0203A11C - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0811C76E: - movs r0, 0 - b _0811C77A - .pool -_0811C778: - movs r0, 0x1 -_0811C77A: - pop {r1} - bx r1 - thumb_func_end sub_811C6C0 - - thumb_func_start sub_811C780 -sub_811C780: @ 811C780 - push {lr} - bl sub_811E088 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_811C780 - - thumb_func_start sub_811C78C -sub_811C78C: @ 811C78C - push {r4,lr} - ldr r4, =gUnknown_0203A11C - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _0811C7A4 - cmp r0, 0x1 - beq _0811C7B4 - b _0811C7CA - .pool -_0811C7A4: - movs r0, 0x1 - movs r1, 0x4 - bl sub_811DDAC - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0811C7B4: - bl sub_811DE10 - lsls r0, 24 - cmp r0, 0 - bne _0811C7CA - bl sub_811E088 - bl sub_811E64C - movs r0, 0 - b _0811C7CC -_0811C7CA: - movs r0, 0x1 -_0811C7CC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811C78C - - thumb_func_start sub_811C7D4 -sub_811C7D4: @ 811C7D4 - push {r4,lr} - ldr r4, =gUnknown_0203A11C - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0x1 - beq _0811C808 - cmp r0, 0x1 - bgt _0811C7F0 - cmp r0, 0 - beq _0811C7F6 - b _0811C828 - .pool -_0811C7F0: - cmp r0, 0x2 - beq _0811C820 - b _0811C828 -_0811C7F6: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x4 - bl sub_811DDAC - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0811C808: - bl sub_811DE10 - lsls r0, 24 - cmp r0, 0 - bne _0811C828 - bl sub_811E64C - ldr r0, =gUnknown_0203A11C - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0811C820: - movs r0, 0 - b _0811C82A - .pool -_0811C828: - movs r0, 0x1 -_0811C82A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811C7D4 - - thumb_func_start sub_811C830 -sub_811C830: @ 811C830 - push {lr} - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x5 - bhi _0811C8E8 - lsls r0, 2 - ldr r1, =_0811C850 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811C850: - .4byte _0811C868 - .4byte _0811C876 - .4byte _0811C886 - .4byte _0811C898 - .4byte _0811C8B8 - .4byte _0811C8DE -_0811C868: - bl sub_811E050 - bl sub_811E4AC - bl sub_811E6B0 - b _0811C8A8 -_0811C876: - bl sub_811E4D0 - lsls r0, 24 - cmp r0, 0 - bne _0811C8E8 - bl sub_811D9B4 - b _0811C8A8 -_0811C886: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0811C8E8 - movs r0, 0x2 - bl sub_811D9CC - b _0811C8A8 -_0811C898: - bl sub_811DAA4 - lsls r0, 24 - cmp r0, 0 - bne _0811C8E8 - movs r0, 0x2 - bl sub_811D698 -_0811C8A8: - ldr r0, =gUnknown_0203A11C - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811C8E8 - .pool -_0811C8B8: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0811C8E8 - bl sub_811E288 - movs r0, 0x1 - bl sub_811E6E0 - bl sub_811E64C - bl sub_811E794 - ldr r0, =gUnknown_0203A11C - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0811C8DE: - movs r0, 0 - b _0811C8EA - .pool -_0811C8E8: - movs r0, 0x1 -_0811C8EA: - pop {r1} - bx r1 - thumb_func_end sub_811C830 - - thumb_func_start sub_811C8F0 -sub_811C8F0: @ 811C8F0 - push {lr} - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x5 - bhi _0811C994 - lsls r0, 2 - ldr r1, =_0811C910 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811C910: - .4byte _0811C928 - .4byte _0811C92E - .4byte _0811C940 - .4byte _0811C952 - .4byte _0811C974 - .4byte _0811C98C -_0811C928: - bl sub_811D2C8 - b _0811C962 -_0811C92E: - bl sub_811E380 - bl sub_811E6B0 - bl sub_811E7F8 - bl sub_811D9B4 - b _0811C962 -_0811C940: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0811C994 - movs r0, 0x3 - bl sub_811D9CC - b _0811C962 -_0811C952: - bl sub_811DAA4 - lsls r0, 24 - cmp r0, 0 - bne _0811C994 - movs r0, 0 - bl ShowBg -_0811C962: - ldr r0, =gUnknown_0203A11C - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811C994 - .pool -_0811C974: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0811C994 - bl sub_811DFB0 - ldr r0, =gUnknown_0203A11C - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0811C98C: - movs r0, 0 - b _0811C996 - .pool -_0811C994: - movs r0, 0x1 -_0811C996: - pop {r1} - bx r1 - thumb_func_end sub_811C8F0 - - thumb_func_start sub_811C99C -sub_811C99C: @ 811C99C - push {lr} - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x6 - bhi _0811CA54 - lsls r0, 2 - ldr r1, =_0811C9BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811C9BC: - .4byte _0811C9D8 - .4byte _0811C9DE - .4byte _0811C9F0 - .4byte _0811CA02 - .4byte _0811CA14 - .4byte _0811CA34 - .4byte _0811CA4C -_0811C9D8: - bl sub_811D2C8 - b _0811CA24 -_0811C9DE: - bl sub_811E380 - bl sub_811E6B0 - bl sub_811E7F8 - bl sub_811D9B4 - b _0811CA24 -_0811C9F0: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0811CA54 - movs r0, 0x3 - bl sub_811D9CC - b _0811CA24 -_0811CA02: - bl sub_811DAA4 - lsls r0, 24 - cmp r0, 0 - bne _0811CA54 - movs r0, 0x3 - bl sub_811D104 - b _0811CA24 -_0811CA14: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0811CA54 - movs r0, 0 - bl ShowBg -_0811CA24: - ldr r0, =gUnknown_0203A11C - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811CA54 - .pool -_0811CA34: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0811CA54 - bl sub_811DFB0 - ldr r0, =gUnknown_0203A11C - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0811CA4C: - movs r0, 0 - b _0811CA56 - .pool -_0811CA54: - movs r0, 0x1 -_0811CA56: - pop {r1} - bx r1 - thumb_func_end sub_811C99C - - thumb_func_start sub_811CA5C -sub_811CA5C: @ 811CA5C - push {lr} - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x4 - bhi _0811CB10 - lsls r0, 2 - ldr r1, =_0811CA7C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811CA7C: - .4byte _0811CA90 - .4byte _0811CAA2 - .4byte _0811CAB4 - .4byte _0811CAC4 - .4byte _0811CAE4 -_0811CA90: - bl sub_811E380 - bl sub_811E6B0 - bl sub_811E7F8 - bl sub_811D9B4 - b _0811CAD2 -_0811CAA2: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0811CB10 - movs r0, 0x4 - bl sub_811D9CC - b _0811CAD2 -_0811CAB4: - bl sub_811DAA4 - lsls r0, 24 - cmp r0, 0 - bne _0811CB10 - bl sub_811D6D4 - b _0811CAD2 -_0811CAC4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0811CB10 - bl sub_811E3AC -_0811CAD2: - ldr r0, =gUnknown_0203A11C - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811CB10 - .pool -_0811CAE4: - bl sub_811E418 - lsls r0, 24 - cmp r0, 0 - bne _0811CB10 - bl sub_811DFC8 - movs r0, 0 - bl sub_811E6E0 - bl sub_811E64C - ldr r0, =gUnknown_0203A11C - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0 - b _0811CB12 - .pool -_0811CB10: - movs r0, 0x1 -_0811CB12: - pop {r1} - bx r1 - thumb_func_end sub_811CA5C - - thumb_func_start sub_811CB18 -sub_811CB18: @ 811CB18 - push {lr} - bl sub_811E30C - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_811CB18 - - thumb_func_start sub_811CB24 -sub_811CB24: @ 811CB24 - push {r4,lr} - ldr r4, =gUnknown_0203A11C - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0x1 - beq _0811CB50 - cmp r0, 0x1 - bgt _0811CB40 - cmp r0, 0 - beq _0811CB4A - b _0811CB8E - .pool -_0811CB40: - cmp r0, 0x2 - beq _0811CB6C - cmp r0, 0x3 - beq _0811CB8A - b _0811CB8E -_0811CB4A: - bl sub_811D7A4 - b _0811CB62 -_0811CB50: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0811CB8E - movs r0, 0x1 - movs r1, 0x4 - bl sub_811DDAC -_0811CB62: - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811CB8E -_0811CB6C: - bl sub_811DE10 - lsls r0, 24 - cmp r0, 0 - bne _0811CB8E - bl sub_811E30C - bl sub_811E64C - bl sub_811E794 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0811CB8A: - movs r0, 0 - b _0811CB90 -_0811CB8E: - movs r0, 0x1 -_0811CB90: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811CB24 - - thumb_func_start sub_811CB98 -sub_811CB98: @ 811CB98 - push {r4,lr} - ldr r4, =gUnknown_0203A11C - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0x1 - beq _0811CBC4 - cmp r0, 0x1 - bgt _0811CBB4 - cmp r0, 0 - beq _0811CBBE - b _0811CC00 - .pool -_0811CBB4: - cmp r0, 0x2 - beq _0811CBE2 - cmp r0, 0x3 - beq _0811CBFC - b _0811CC00 -_0811CBBE: - bl sub_811D7C8 - b _0811CBD8 -_0811CBC4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0811CC00 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x4 - bl sub_811DDAC -_0811CBD8: - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811CC00 -_0811CBE2: - bl sub_811DE10 - lsls r0, 24 - cmp r0, 0 - bne _0811CC00 - bl sub_811E64C - bl sub_811E794 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0811CBFC: - movs r0, 0 - b _0811CC02 -_0811CC00: - movs r0, 0x1 -_0811CC02: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811CB98 - - thumb_func_start sub_811CC08 -sub_811CC08: @ 811CC08 - push {r4,r5,lr} - ldr r5, =gUnknown_0203A11C - ldr r0, [r5] - ldrh r0, [r0] - cmp r0, 0x1 - beq _0811CC34 - cmp r0, 0x1 - bgt _0811CC24 - cmp r0, 0 - beq _0811CC2E - b _0811CC86 - .pool -_0811CC24: - cmp r0, 0x2 - beq _0811CC64 - cmp r0, 0x3 - beq _0811CC82 - b _0811CC86 -_0811CC2E: - bl sub_811D7EC - b _0811CC5A -_0811CC34: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0811CC86 - bl sub_811BBDC - adds r4, r0, 0 - bl sub_811DE48 - lsls r4, 24 - lsrs r4, 24 - subs r4, r0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0x8 - bl sub_811DDAC -_0811CC5A: - ldr r1, [r5] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811CC86 -_0811CC64: - bl sub_811DE10 - lsls r0, 24 - cmp r0, 0 - bne _0811CC86 - bl sub_811E30C - bl sub_811E64C - bl sub_811E794 - ldr r1, [r5] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0811CC82: - movs r0, 0 - b _0811CC88 -_0811CC86: - movs r0, 0x1 -_0811CC88: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_811CC08 - - thumb_func_start sub_811CC90 -sub_811CC90: @ 811CC90 - push {r4,r5,lr} - ldr r5, =gUnknown_0203A11C - ldr r0, [r5] - ldrh r0, [r0] - cmp r0, 0x1 - beq _0811CCBC - cmp r0, 0x1 - bgt _0811CCAC - cmp r0, 0 - beq _0811CCB6 - b _0811CD0A - .pool -_0811CCAC: - cmp r0, 0x2 - beq _0811CCEC - cmp r0, 0x3 - beq _0811CD06 - b _0811CD0A -_0811CCB6: - bl sub_811D830 - b _0811CCE2 -_0811CCBC: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0811CD0A - bl sub_811BBDC - adds r4, r0, 0 - bl sub_811DE48 - lsls r4, 24 - lsrs r4, 24 - subs r4, r0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0x8 - bl sub_811DDAC -_0811CCE2: - ldr r1, [r5] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811CD0A -_0811CCEC: - bl sub_811DE10 - lsls r0, 24 - cmp r0, 0 - bne _0811CD0A - bl sub_811E64C - bl sub_811E794 - ldr r1, [r5] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0811CD06: - movs r0, 0 - b _0811CD0C -_0811CD0A: - movs r0, 0x1 -_0811CD0C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_811CC90 - - thumb_func_start sub_811CD14 -sub_811CD14: @ 811CD14 - push {r4,lr} - ldr r4, =gUnknown_0203A11C - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _0811CD2C - cmp r0, 0x1 - beq _0811CD40 - b _0811CD4A - .pool -_0811CD2C: - bl sub_811DF90 - movs r0, 0x4 - bl sub_811D104 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811CD4A -_0811CD40: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0811CD4C -_0811CD4A: - movs r0, 0x1 -_0811CD4C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811CD14 - - thumb_func_start sub_811CD54 -sub_811CD54: @ 811CD54 - push {r4,lr} - ldr r4, =gUnknown_0203A11C - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _0811CD6C - cmp r0, 0x1 - beq _0811CD80 - b _0811CD8A - .pool -_0811CD6C: - bl sub_811DF90 - movs r0, 0x5 - bl sub_811D104 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811CD8A -_0811CD80: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0811CD8C -_0811CD8A: - movs r0, 0x1 -_0811CD8C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811CD54 - - thumb_func_start sub_811CD94 -sub_811CD94: @ 811CD94 - push {r4,lr} - ldr r4, =gUnknown_0203A11C - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _0811CDAC - cmp r0, 0x1 - beq _0811CDC0 - b _0811CDCA - .pool -_0811CDAC: - bl sub_811DF90 - movs r0, 0x6 - bl sub_811D104 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811CDCA -_0811CDC0: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0811CDCC -_0811CDCA: - movs r0, 0x1 -_0811CDCC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811CD94 - - thumb_func_start sub_811CDD4 -sub_811CDD4: @ 811CDD4 - push {r4,lr} - ldr r4, =gUnknown_0203A11C - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _0811CDEC - cmp r0, 0x1 - beq _0811CE00 - b _0811CE0A - .pool -_0811CDEC: - bl sub_811DF90 - movs r0, 0x7 - bl sub_811D104 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811CE0A -_0811CE00: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0811CE0C -_0811CE0A: - movs r0, 0x1 -_0811CE0C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811CDD4 - - thumb_func_start sub_811CE14 -sub_811CE14: @ 811CE14 - push {r4,lr} - ldr r4, =gUnknown_0203A11C - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _0811CE2C - cmp r0, 0x1 - beq _0811CE40 - b _0811CE4A - .pool -_0811CE2C: - bl sub_811DF90 - movs r0, 0x8 - bl sub_811D104 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811CE4A -_0811CE40: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0811CE4C -_0811CE4A: - movs r0, 0x1 -_0811CE4C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811CE14 - - thumb_func_start sub_811CE54 -sub_811CE54: @ 811CE54 - push {r4,lr} - ldr r4, =gUnknown_0203A11C - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _0811CE6C - cmp r0, 0x1 - beq _0811CE80 - b _0811CE8A - .pool -_0811CE6C: - bl sub_811DF90 - movs r0, 0x9 - bl sub_811D104 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0811CE8A -_0811CE80: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0811CE8C -_0811CE8A: - movs r0, 0x1 -_0811CE8C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811CE54 - - thumb_func_start sub_811CE94 -sub_811CE94: @ 811CE94 - push {r4,lr} - ldr r4, =gUnknown_0203A11C - movs r0, 0x98 - lsls r0, 5 - bl Alloc - adds r2, r0, 0 - str r2, [r4] - cmp r2, 0 - beq _0811CEFC - movs r1, 0 - strh r1, [r2] - movs r3, 0xB6 - lsls r3, 2 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - bl sub_811BC70 - ldr r1, [r4] - strb r0, [r1, 0xA] - movs r0, 0x1 - b _0811CEFE - .pool -_0811CEFC: - movs r0, 0 -_0811CEFE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811CE94 - - thumb_func_start sub_811CF04 -sub_811CF04: @ 811CF04 - push {lr} - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - 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, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r1, 0xC1 - lsls r1, 6 - movs r0, 0 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_811CF04 - - thumb_func_start sub_811CF64 -sub_811CF64: @ 811CF64 - push {r4,lr} - bl ResetPaletteFade - ldr r0, =gEasyChatMode_Pal - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_08597B14 - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_08597B34 - movs r1, 0x40 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_08597C1C - movs r1, 0xA0 - movs r2, 0x8 - bl LoadPalette - ldr r4, =gUnknown_08597C24 - adds r0, r4, 0 - movs r1, 0xB0 - movs r2, 0xC - bl LoadPalette - adds r0, r4, 0 - movs r1, 0xF0 - movs r2, 0xC - bl LoadPalette - adds r0, r4, 0 - movs r1, 0x30 - movs r2, 0xC - bl LoadPalette - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811CF64 - - thumb_func_start sub_811CFCC -sub_811CFCC: @ 811CFCC - push {r4,r5,lr} - sub sp, 0x14 - bl sub_811BA88 - adds r5, r0, 0 - cmp r5, 0 - beq _0811D020 - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x90 - bl GetStringCenterAlignXOffset - adds r4, r0, 0 - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x2 - str r0, [sp, 0xC] - movs r0, 0x3 - str r0, [sp, 0x10] - movs r0, 0 - movs r1, 0x1 - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_811D058 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram -_0811D020: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_811CFCC - - thumb_func_start sub_811D028 -sub_811D028: @ 811D028 - push {r4-r6,lr} - sub sp, 0xC - ldr r4, [sp, 0x1C] - ldr r5, [sp, 0x20] - ldr r6, [sp, 0x24] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - str r4, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - bl AddTextPrinterParameterized - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_811D028 - - thumb_func_start sub_811D058 -sub_811D058: @ 811D058 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - mov r9, r3 - ldr r3, [sp, 0x30] - ldr r4, [sp, 0x34] - mov r8, r4 - ldr r7, [sp, 0x38] - mov r10, r7 - ldr r5, [sp, 0x3C] - ldr r6, [sp, 0x40] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r4, r9 - lsls r4, 24 - lsrs r4, 24 - mov r9, r4 - lsls r3, 24 - lsrs r3, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - add r4, sp, 0xC - mov r7, r10 - strb r7, [r4] - strb r5, [r4, 0x1] - strb r6, [r4, 0x2] - str r4, [sp] - mov r4, r8 - lsls r4, 24 - asrs r4, 24 - str r4, [sp, 0x4] - str r2, [sp, 0x8] - mov r2, r9 - bl AddTextPrinterParameterized3 - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_811D058 - - thumb_func_start sub_811D0BC -sub_811D0BC: @ 811D0BC - push {lr} - sub sp, 0xC - movs r0, 0x20 - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0xE0 - bl LoadUserWindowBorderGfx - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0xE - bl sub_8098858 - movs r0, 0 - bl sub_811D104 - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0xC - pop {r0} - bx r0 - thumb_func_end sub_811D0BC - - thumb_func_start sub_811D104 -sub_811D104: @ 811D104 - push {lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r1, r0, 24 - movs r0, 0 - str r0, [sp, 0x10] - str r0, [sp, 0xC] - cmp r1, 0x9 - bhi _0811D1BC - lsls r0, r1, 2 - ldr r1, =_0811D124 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811D124: - .4byte _0811D14C - .4byte _0811D16A - .4byte _0811D156 - .4byte _0811D160 - .4byte _0811D174 - .4byte _0811D180 - .4byte _0811D18C - .4byte _0811D19C - .4byte _0811D1A8 - .4byte _0811D1B4 -_0811D14C: - add r1, sp, 0x10 - add r0, sp, 0xC - bl sub_811BAD0 - b _0811D1BC -_0811D156: - add r1, sp, 0x10 - add r0, sp, 0xC - bl sub_811BB40 - b _0811D1BC -_0811D160: - add r1, sp, 0x10 - add r0, sp, 0xC - bl sub_811BB08 - b _0811D1BC -_0811D16A: - add r1, sp, 0x10 - add r0, sp, 0xC - bl sub_811BB88 - b _0811D1BC -_0811D174: - ldr r0, =gText_CreateAQuiz - str r0, [sp, 0xC] - b _0811D1BC - .pool -_0811D180: - ldr r0, =gText_SelectTheAnswer - str r0, [sp, 0xC] - b _0811D1BC - .pool -_0811D18C: - ldr r0, =gText_OnlyOnePhrase - str r0, [sp, 0xC] - ldr r0, =gText_OriginalSongWillBeUsed - b _0811D1BA - .pool -_0811D19C: - ldr r0, =gText_LyricsCantBeDeleted - str r0, [sp, 0xC] - b _0811D1BC - .pool -_0811D1A8: - ldr r0, =gText_CombineTwoWordsOrPhrases3 - str r0, [sp, 0xC] - b _0811D1BC - .pool -_0811D1B4: - ldr r0, =gText_YouCannotQuitHere - str r0, [sp, 0xC] - ldr r0, =gText_SectionMustBeCompleted -_0811D1BA: - str r0, [sp, 0x10] -_0811D1BC: - movs r0, 0x1 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, [sp, 0xC] - cmp r2, 0 - beq _0811D1E0 - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0 - bl sub_811D028 -_0811D1E0: - ldr r2, [sp, 0x10] - cmp r2, 0 - beq _0811D1FC - movs r0, 0x11 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0 - bl sub_811D028 -_0811D1FC: - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x14 - pop {r0} - bx r0 - .pool - thumb_func_end sub_811D104 - - thumb_func_start sub_811D214 -sub_811D214: @ 811D214 - push {lr} - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =gUnknown_08597C84 - movs r1, 0x1 - movs r2, 0xE - bl CreateYesNoMenu - pop {r0} - bx r0 - .pool - thumb_func_end sub_811D214 - - thumb_func_start sub_811D230 -sub_811D230: @ 811D230 - push {r4-r6,lr} - sub sp, 0x8 - bl sub_811BA68 - lsls r0, 24 - ldr r6, =0xffffff00 - ldr r4, [sp] - ands r4, r6 - movs r1, 0x3 - orrs r4, r1 - str r4, [sp] - ldr r1, =gUnknown_08597C30 - lsrs r0, 22 - adds r0, r1 - ldrb r3, [r0] - lsls r1, r3, 27 - lsrs r1, 19 - ldr r5, =0xffff00ff - adds r2, r5, 0 - ands r2, r4 - orrs r2, r1 - lsrs r3, 5 - lsls r3, 16 - ldr r1, =0xff00ffff - ands r2, r1 - orrs r2, r3 - str r2, [sp] - ldrb r3, [r0, 0x1] - lsls r3, 24 - ldr r1, =0x00ffffff - ands r1, r2 - orrs r1, r3 - str r1, [sp] - ldrb r1, [r0, 0x2] - ldr r0, [sp, 0x4] - ands r0, r6 - orrs r0, r1 - ands r0, r5 - movs r1, 0xB0 - lsls r1, 4 - orrs r0, r1 - ldr r1, =0x0000ffff - ands r0, r1 - movs r1, 0xD8 - lsls r1, 15 - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl AddWindow - ldr r1, =gUnknown_0203A11C - ldr r1, [r1] - strh r0, [r1, 0x2] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811D230 - - thumb_func_start sub_811D2C8 -sub_811D2C8: @ 811D2C8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - bl sub_811BA94 - adds r4, r0, 0 - bl sub_811BAAC - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] - bl sub_811BAA0 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x14] - bl sub_811BA68 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0 - mov r8, r0 - cmp r6, 0x7 - bne _0811D302 - movs r1, 0x1 - mov r8, r1 -_0811D302: - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - ldrb r0, [r0, 0x2] - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r7, 0 - ldr r0, [sp, 0x14] - cmp r7, r0 - bge _0811D402 -_0811D316: - add r0, sp, 0xC - ldr r1, =gUnknown_08597C8C - movs r2, 0x4 - bl memcpy - mov r1, r8 - cmp r1, 0 - beq _0811D32C - add r1, sp, 0xC - movs r0, 0x6 - strb r0, [r1, 0x2] -_0811D32C: - ldr r0, =gUnknown_0203A11C - ldr r1, [r0] - adds r2, r1, 0 - adds r2, 0xB - movs r0, 0xFF - strb r0, [r1, 0xB] - adds r0, r2, 0 - add r1, sp, 0xC - bl StringAppend - adds r2, r0, 0 - movs r5, 0 - lsls r0, r7, 4 - mov r9, r0 - adds r1, r7, 0x1 - mov r10, r1 - b _0811D3CE - .pool -_0811D358: - ldrh r0, [r4] - ldr r1, =0x0000ffff - cmp r0, r1 - beq _0811D374 - adds r1, r0, 0 - adds r0, r2, 0 - bl CopyEasyChatWord - adds r2, r0, 0 - adds r4, 0x2 - b _0811D3A2 - .pool -_0811D374: - adds r4, 0x2 - mov r0, r8 - cmp r0, 0 - bne _0811D3A8 - adds r0, r2, 0 - movs r1, 0 - movs r2, 0x4 - bl WriteColorChangeControlCode - adds r2, r0, 0 - movs r1, 0xAE - movs r0, 0xB -_0811D38C: - strb r1, [r2] - adds r2, 0x1 - subs r0, 0x1 - cmp r0, 0 - bge _0811D38C - adds r0, r2, 0 - movs r1, 0 - movs r2, 0x2 - bl WriteColorChangeControlCode - adds r2, r0, 0 -_0811D3A2: - mov r1, r8 - cmp r1, 0 - beq _0811D3AE -_0811D3A8: - add r1, sp, 0xC - movs r0, 0x3 - strb r0, [r1, 0x2] -_0811D3AE: - adds r0, r2, 0 - add r1, sp, 0xC - bl StringAppend - adds r2, r0, 0 - cmp r6, 0x2 - beq _0811D3C4 - cmp r6, 0x7 - beq _0811D3C4 - cmp r6, 0x8 - bne _0811D3CC -_0811D3C4: - cmp r5, 0 - bne _0811D3CC - cmp r7, 0x4 - beq _0811D3D4 -_0811D3CC: - adds r5, 0x1 -_0811D3CE: - ldr r0, [sp, 0x10] - cmp r5, r0 - blt _0811D358 -_0811D3D4: - movs r0, 0xFF - strb r0, [r2] - ldr r0, =gUnknown_0203A11C - ldr r2, [r0] - ldrb r0, [r2, 0x2] - adds r2, 0xB - mov r1, r9 - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl sub_811D028 - mov r7, r10 - ldr r1, [sp, 0x14] - cmp r7, r1 - blt _0811D316 -_0811D402: - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - ldrb r0, [r0, 0x2] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811D2C8 - - thumb_func_start sub_811D424 -sub_811D424: @ 811D424 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r0 - bl sub_811BA68 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0 - str r0, [sp] - ldr r2, =0x01000200 - mov r0, sp - mov r1, r8 - bl CpuFastSet - cmp r6, 0x2 - beq _0811D450 - cmp r6, 0x8 - bne _0811D4D4 -_0811D450: - ldr r0, =gUnknown_08597C30 - lsls r2, r6, 2 - adds r2, r0 - ldrb r1, [r2] - lsls r3, r1, 27 - lsrs r0, r3, 27 - ldrb r4, [r2, 0x1] - adds r5, r0, r4 - lsls r1, 24 - lsrs r0, r1, 29 - ldrb r2, [r2, 0x2] - adds r2, r0 - mov r12, r2 - adds r6, r0, 0 - cmp r6, r12 - blt _0811D472 - b _0811D5D6 -_0811D472: - mov r9, r3 -_0811D474: - mov r0, r9 - lsrs r3, r0, 27 - subs r7, r3, 0x1 - lsls r2, r6, 5 - adds r0, r2, r7 - lsls r0, 1 - add r0, r8 - ldr r4, =0x00001005 - adds r1, r4, 0 - strh r1, [r0] - adds r7, r3, 0 - adds r3, r2, 0 - adds r4, r6, 0x1 - cmp r7, r5 - bge _0811D4AE - movs r0, 0x80 - lsls r0, 5 - adds r2, r0, 0 - lsls r1, r7, 1 - lsls r0, r6, 6 - add r0, r8 - adds r0, r1, r0 - subs r7, r5, r7 -_0811D4A2: - strh r2, [r0] - adds r0, 0x2 - subs r7, 0x1 - cmp r7, 0 - bne _0811D4A2 - adds r7, r5, 0 -_0811D4AE: - adds r0, r3, r7 - lsls r0, 1 - add r0, r8 - ldr r2, =0x00001007 - adds r1, r2, 0 - strh r1, [r0] - adds r6, r4, 0 - cmp r6, r12 - blt _0811D474 - b _0811D5D6 - .pool -_0811D4D4: - ldr r4, =gUnknown_08597C30 - mov r10, r4 - lsls r6, 2 - mov r9, r6 - mov r3, r9 - add r3, r10 - ldrb r0, [r3] - lsls r2, r0, 24 - lsrs r1, r2, 29 - subs r6, r1, 0x1 - lsls r0, 27 - lsrs r4, r0, 27 - subs r7, r4, 0x1 - adds r0, r4, 0 - ldrb r1, [r3, 0x1] - adds r5, r0, r1 - lsrs r2, 29 - ldrb r3, [r3, 0x2] - adds r3, r2 - mov r12, r3 - lsls r0, r6, 5 - adds r0, r7 - lsls r0, 1 - add r0, r8 - ldr r2, =0x00001001 - adds r1, r2, 0 - strh r1, [r0] - adds r7, r4, 0 - cmp r7, r5 - bge _0811D52A - ldr r4, =0x00001002 - adds r2, r4, 0 - lsls r1, r7, 1 - lsls r0, r6, 6 - add r0, r8 - adds r1, r0 - subs r7, r5, r7 -_0811D51E: - strh r2, [r1] - adds r1, 0x2 - subs r7, 0x1 - cmp r7, 0 - bne _0811D51E - adds r7, r5, 0 -_0811D52A: - lsls r0, r6, 5 - adds r0, r7 - lsls r0, 1 - add r0, r8 - ldr r2, =0x00001003 - adds r1, r2, 0 - strh r1, [r0] - adds r6, 0x1 - cmp r6, r12 - bge _0811D590 - ldr r0, =gUnknown_08597C30 - add r0, r9 - ldrb r0, [r0] - lsls r3, r0, 27 -_0811D546: - lsrs r0, r3, 27 - subs r7, r0, 0x1 - lsls r1, r6, 5 - adds r1, r7 - lsls r1, 1 - add r1, r8 - ldr r4, =0x00001005 - adds r2, r4, 0 - strh r2, [r1] - adds r7, r0, 0 - adds r4, r6, 0x1 - cmp r7, r5 - bge _0811D57C - movs r0, 0x80 - lsls r0, 5 - adds r2, r0, 0 - lsls r1, r7, 1 - lsls r0, r6, 6 - add r0, r8 - adds r1, r0 - subs r7, r5, r7 -_0811D570: - strh r2, [r1] - adds r1, 0x2 - subs r7, 0x1 - cmp r7, 0 - bne _0811D570 - adds r7, r5, 0 -_0811D57C: - lsls r0, r6, 5 - adds r0, r7 - lsls r0, 1 - add r0, r8 - ldr r2, =0x00001007 - adds r1, r2, 0 - strh r1, [r0] - adds r6, r4, 0 - cmp r6, r12 - blt _0811D546 -_0811D590: - mov r0, r9 - add r0, r10 - ldrb r2, [r0] - lsls r2, 27 - lsrs r2, 27 - subs r7, r2, 0x1 - lsls r3, r6, 5 - adds r0, r3, r7 - lsls r0, 1 - add r0, r8 - ldr r4, =0x00001009 - adds r1, r4, 0 - strh r1, [r0] - adds r7, r2, 0 - cmp r7, r5 - bge _0811D5CA - ldr r0, =0x0000100a - adds r2, r0, 0 - lsls r1, r7, 1 - lsls r0, r6, 6 - add r0, r8 - adds r0, r1, r0 - subs r7, r5, r7 -_0811D5BE: - strh r2, [r0] - adds r0, 0x2 - subs r7, 0x1 - cmp r7, 0 - bne _0811D5BE - adds r7, r5, 0 -_0811D5CA: - adds r0, r3, r7 - lsls r0, 1 - add r0, r8 - ldr r2, =0x0000100b - adds r1, r2, 0 - strh r1, [r0] -_0811D5D6: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811D424 - - thumb_func_start sub_811D60C -sub_811D60C: @ 811D60C - push {r4,lr} - sub sp, 0x8 - movs r0, 0x3 - bl GetBgTilemapBuffer - adds r4, r0, 0 - bl sub_811BA68 - lsls r0, 24 - ldr r1, =gUnknown_08597C30 - lsrs r0, 22 - adds r0, r1 - ldrb r1, [r0, 0x3] - cmp r1, 0x2 - beq _0811D63E - cmp r1, 0x2 - bgt _0811D638 - cmp r1, 0x1 - beq _0811D64C - b _0811D67C - .pool -_0811D638: - cmp r1, 0x3 - beq _0811D668 - b _0811D67C -_0811D63E: - movs r0, 0xA8 - lsls r0, 3 - adds r4, r0 - movs r0, 0x20 - str r0, [sp] - str r1, [sp, 0x4] - b _0811D65A -_0811D64C: - movs r0, 0xC0 - lsls r0, 3 - adds r4, r0 - movs r0, 0x20 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] -_0811D65A: - movs r0, 0x3 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0xB - bl CopyToBgTilemapBufferRect - b _0811D67C -_0811D668: - movs r0, 0x20 - str r0, [sp] - movs r0, 0x4 - str r0, [sp, 0x4] - movs r0, 0x3 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0xA - bl CopyToBgTilemapBufferRect -_0811D67C: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_811D60C - - thumb_func_start sub_811D684 -sub_811D684: @ 811D684 - push {lr} - movs r0, 0x2 - bl PutWindowTilemap - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - pop {r0} - bx r0 - thumb_func_end sub_811D684 - - thumb_func_start sub_811D698 -sub_811D698: @ 811D698 - push {r4,lr} - adds r4, r0, 0 - bl sub_811DD84 - movs r0, 0x2 - movs r1, 0x11 - bl FillWindowPixelBuffer - cmp r4, 0x1 - beq _0811D6BC - cmp r4, 0x1 - bcc _0811D6B6 - cmp r4, 0x2 - beq _0811D6C2 - b _0811D6C6 -_0811D6B6: - bl sub_811D6F4 - b _0811D6C6 -_0811D6BC: - bl sub_811D758 - b _0811D6C6 -_0811D6C2: - bl sub_811D794 -_0811D6C6: - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_811D698 - - thumb_func_start sub_811D6D4 -sub_811D6D4: @ 811D6D4 - push {lr} - bl sub_811BBB0 - lsls r0, 24 - cmp r0, 0 - bne _0811D6E8 - movs r0, 0 - bl sub_811D698 - b _0811D6EE -_0811D6E8: - movs r0, 0x1 - bl sub_811D698 -_0811D6EE: - pop {r0} - bx r0 - thumb_func_end sub_811D6D4 - - thumb_func_start sub_811D6F4 -sub_811D6F4: @ 811D6F4 - push {r4-r7,lr} - sub sp, 0xC - movs r5, 0 - movs r7, 0x61 -_0811D6FC: - movs r4, 0 - lsls r0, r7, 24 - lsrs r6, r0, 24 -_0811D702: - lsls r0, r5, 24 - lsrs r0, 24 - adds r5, 0x1 - bl sub_811F3B8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x16 - beq _0811D742 - bl sub_811F424 - adds r2, r0, 0 - movs r0, 0x54 - adds r3, r4, 0 - muls r3, r0 - adds r3, 0xA - lsls r3, 24 - lsrs r3, 24 - str r6, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - bl sub_811D028 - adds r4, 0x1 - cmp r4, 0x1 - ble _0811D702 - adds r7, 0x10 - b _0811D6FC -_0811D742: - bl sub_811BBBC - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_811DDAC - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_811D6F4 - - thumb_func_start sub_811D758 -sub_811D758: @ 811D758 - push {r4-r6,lr} - sub sp, 0xC - movs r5, 0 - movs r4, 0xC2 - lsls r4, 23 - ldr r6, =gUnknown_08597C90 -_0811D764: - ldm r6!, {r2} - lsrs r0, r4, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - movs r3, 0xA - bl sub_811D028 - movs r0, 0x80 - lsls r0, 21 - adds r4, r0 - adds r5, 0x1 - cmp r5, 0x3 - bls _0811D764 - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811D758 - - thumb_func_start sub_811D794 -sub_811D794: @ 811D794 - push {lr} - movs r0, 0 - movs r1, 0x4 - bl sub_811D864 - pop {r0} - bx r0 - thumb_func_end sub_811D794 - - thumb_func_start sub_811D7A4 -sub_811D7A4: @ 811D7A4 - push {r4,lr} - bl sub_811BBDC - adds r4, r0, 0 - adds r4, 0x3 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_811D950 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_811D864 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_811D7A4 - - thumb_func_start sub_811D7C8 -sub_811D7C8: @ 811D7C8 - push {r4,lr} - bl sub_811BBDC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_811D950 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_811D864 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_811D7C8 - - thumb_func_start sub_811D7EC -sub_811D7EC: @ 811D7EC - push {r4,r5,lr} - bl sub_811BBDC - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - adds r0, r5, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_811BBE8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bls _0811D80E - adds r4, r0, 0 -_0811D80E: - cmp r5, r4 - bcs _0811D828 - subs r4, r5 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_811D950 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_811D864 -_0811D828: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_811D7EC - - thumb_func_start sub_811D830 -sub_811D830: @ 811D830 - push {r4,r5,lr} - bl sub_811BBDC - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_811DE48 - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bcs _0811D85C - subs r4, r0, r5 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_811D950 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_811D864 -_0811D85C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_811D830 - - thumb_func_start sub_811D864 -sub_811D864: @ 811D864 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x14] - lsls r1, r0, 1 - mov r8, r1 - lsls r0, 4 - adds r1, r0, 0 - adds r1, 0x60 - movs r0, 0xFF - ands r1, r0 - adds r1, 0x1 - movs r0, 0 - b _0811D930 -_0811D88E: - movs r6, 0 - movs r2, 0x10 - adds r2, r1 - mov r9, r2 - adds r0, 0x1 - mov r10, r0 - lsls r0, r1, 24 - lsrs r7, r0, 24 -_0811D89E: - mov r1, r8 - lsls r0, r1, 16 - lsrs r0, 16 - movs r2, 0x1 - add r8, r2 - bl sub_811F578 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x0000ffff - cmp r4, r0 - beq _0811D926 - ldr r5, =gUnknown_0203A11C - ldr r0, [r5] - adds r0, 0xCC - adds r1, r4, 0 - movs r2, 0 - bl CopyEasyChatWordPadded - adds r0, r4, 0 - bl sub_811BF88 - adds r1, r0, 0 - cmp r1, 0 - bne _0811D8FC - ldr r2, [r5] - adds r2, 0xCC - movs r0, 0xD - adds r3, r6, 0 - muls r3, r0 - adds r3, 0x3 - lsls r3, 27 - lsrs r3, 24 - str r7, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - str r1, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - bl sub_811D028 - b _0811D926 - .pool -_0811D8FC: - ldr r2, [r5] - adds r2, 0xCC - movs r0, 0xD - adds r3, r6, 0 - muls r3, r0 - adds r3, 0x3 - lsls r3, 27 - lsrs r3, 24 - str r7, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x5 - str r0, [sp, 0xC] - movs r0, 0x3 - str r0, [sp, 0x10] - movs r0, 0x2 - movs r1, 0x1 - bl sub_811D058 -_0811D926: - adds r6, 0x1 - cmp r6, 0x1 - ble _0811D89E - mov r1, r9 - mov r0, r10 -_0811D930: - ldr r2, [sp, 0x14] - cmp r0, r2 - blt _0811D88E - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_811D864 - - thumb_func_start sub_811D950 -sub_811D950: @ 811D950 - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsls r1, 24 - lsrs r0, 20 - adds r3, r0, 0 - adds r3, 0x60 - movs r0, 0xFF - ands r3, r0 - lsrs r0, r1, 20 - adds r1, r3, r0 - cmp r1, 0xFF - ble _0811D97C - ldr r0, =0xffffff00 - adds r4, r1, r0 - movs r0, 0x80 - lsls r0, 1 - subs r0, r3 - b _0811D97E - .pool -_0811D97C: - movs r4, 0 -_0811D97E: - movs r5, 0xE0 - str r5, [sp] - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0x11 - movs r2, 0 - bl FillWindowPixelRect - cmp r4, 0 - beq _0811D9AA - str r5, [sp] - lsls r0, r4, 16 - lsrs r0, 16 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect -_0811D9AA: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_811D950 - - thumb_func_start sub_811D9B4 -sub_811D9B4: @ 811D9B4 - push {lr} - movs r0, 0x2 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_811D9B4 - - thumb_func_start sub_811D9CC -sub_811D9CC: @ 811D9CC - push {lr} - ldr r1, =gUnknown_0203A11C - cmp r0, 0x6 - bhi _0811DA86 - lsls r0, 2 - ldr r1, =_0811D9E8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811D9E8: - .4byte _0811DA04 - .4byte _0811DA18 - .4byte _0811DA28 - .4byte _0811DA3C - .4byte _0811DA50 - .4byte _0811DA64 - .4byte _0811DA78 -_0811DA04: - ldr r1, =gUnknown_0203A11C - ldr r2, [r1] - movs r0, 0 - strb r0, [r2, 0x6] - ldr r2, [r1] - movs r0, 0xA - b _0811DA84 - .pool -_0811DA18: - ldr r1, =gUnknown_0203A11C - ldr r2, [r1] - movs r3, 0 - movs r0, 0x9 - b _0811DA44 - .pool -_0811DA28: - ldr r1, =gUnknown_0203A11C - ldr r2, [r1] - movs r0, 0xB - strb r0, [r2, 0x6] - ldr r2, [r1] - movs r0, 0x11 - b _0811DA84 - .pool -_0811DA3C: - ldr r1, =gUnknown_0203A11C - ldr r2, [r1] - movs r3, 0 - movs r0, 0x11 -_0811DA44: - strb r0, [r2, 0x6] - ldr r0, [r1] - strb r3, [r0, 0x7] - b _0811DA86 - .pool -_0811DA50: - ldr r1, =gUnknown_0203A11C - ldr r2, [r1] - movs r0, 0x11 - strb r0, [r2, 0x6] - ldr r2, [r1] - movs r0, 0xA - b _0811DA84 - .pool -_0811DA64: - ldr r1, =gUnknown_0203A11C - ldr r2, [r1] - movs r0, 0x12 - strb r0, [r2, 0x6] - ldr r2, [r1] - movs r0, 0x16 - b _0811DA84 - .pool -_0811DA78: - ldr r1, =gUnknown_0203A11C - ldr r2, [r1] - movs r0, 0x16 - strb r0, [r2, 0x6] - ldr r2, [r1] - movs r0, 0x12 -_0811DA84: - strb r0, [r2, 0x7] -_0811DA86: - ldr r1, [r1] - ldrb r0, [r1, 0x6] - movs r3, 0x1 - negs r3, r3 - adds r2, r3, 0 - ldrb r3, [r1, 0x7] - cmp r0, r3 - bcs _0811DA98 - movs r2, 0x1 -_0811DA98: - strb r2, [r1, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end sub_811D9CC - - thumb_func_start sub_811DAA4 -sub_811DAA4: @ 811DAA4 - push {r4,lr} - ldr r4, =gUnknown_0203A11C - ldr r1, [r4] - ldrb r2, [r1, 0x6] - ldrb r0, [r1, 0x7] - cmp r2, r0 - beq _0811DAD4 - ldrb r0, [r1, 0x8] - adds r0, r2, r0 - strb r0, [r1, 0x6] - ldr r0, [r4] - ldrb r0, [r0, 0x6] - bl sub_811DADC - ldr r0, [r4] - ldrb r1, [r0, 0x6] - ldrb r0, [r0, 0x7] - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - b _0811DAD6 - .pool -_0811DAD4: - movs r0, 0 -_0811DAD6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811DAA4 - - thumb_func_start sub_811DADC -sub_811DADC: @ 811DADC - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1E - str r0, [sp] - movs r0, 0xA - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0xA - bl FillBgTilemapBufferRect_Palette0 - cmp r4, 0x16 - bls _0811DAFE - b _0811DC1A -_0811DAFE: - lsls r0, r4, 2 - ldr r1, =_0811DB0C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811DB0C: - .4byte _0811DC1A - .4byte _0811DB68 - .4byte _0811DB70 - .4byte _0811DB78 - .4byte _0811DB80 - .4byte _0811DB88 - .4byte _0811DB90 - .4byte _0811DC00 - .4byte _0811DBF2 - .4byte _0811DBE4 - .4byte _0811DBD6 - .4byte _0811DB9E - .4byte _0811DBA6 - .4byte _0811DBAE - .4byte _0811DBB6 - .4byte _0811DBBE - .4byte _0811DBC6 - .4byte _0811DBCE - .4byte _0811DBD6 - .4byte _0811DBE4 - .4byte _0811DBF2 - .4byte _0811DC00 - .4byte _0811DC0E -_0811DB68: - movs r0, 0xB - movs r1, 0xE - movs r2, 0x3 - b _0811DB96 -_0811DB70: - movs r0, 0x9 - movs r1, 0xE - movs r2, 0x7 - b _0811DB96 -_0811DB78: - movs r0, 0x7 - movs r1, 0xE - movs r2, 0xB - b _0811DB96 -_0811DB80: - movs r0, 0x5 - movs r1, 0xE - movs r2, 0xF - b _0811DB96 -_0811DB88: - movs r0, 0x3 - movs r1, 0xE - movs r2, 0x13 - b _0811DB96 -_0811DB90: - movs r0, 0x1 - movs r1, 0xE - movs r2, 0x17 -_0811DB96: - movs r3, 0x2 - bl sub_811DC28 - b _0811DC1A -_0811DB9E: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x18 - b _0811DBDC -_0811DBA6: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x19 - b _0811DBDC -_0811DBAE: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x1A - b _0811DBDC -_0811DBB6: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x1B - b _0811DBDC -_0811DBBE: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x1C - b _0811DBDC -_0811DBC6: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x1D - b _0811DBDC -_0811DBCE: - movs r0, 0 - movs r1, 0xA - movs r2, 0x1E - b _0811DBDC -_0811DBD6: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x17 -_0811DBDC: - movs r3, 0xA - bl sub_811DC28 - b _0811DC1A -_0811DBE4: - movs r0, 0x1 - movs r1, 0xB - movs r2, 0x17 - movs r3, 0x8 - bl sub_811DC28 - b _0811DC1A -_0811DBF2: - movs r0, 0x1 - movs r1, 0xC - movs r2, 0x17 - movs r3, 0x6 - bl sub_811DC28 - b _0811DC1A -_0811DC00: - movs r0, 0x1 - movs r1, 0xD - movs r2, 0x17 - movs r3, 0x4 - bl sub_811DC28 - b _0811DC1A -_0811DC0E: - movs r0, 0x1 - movs r1, 0xE - movs r2, 0x17 - movs r3, 0x2 - bl sub_811DC28 -_0811DC1A: - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_811DADC - - thumb_func_start sub_811DC28 -sub_811DC28: @ 811DC28 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r12, r0 - adds r7, r1, 0 - mov r9, r2 - mov r10, r3 - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 2 - adds r6, r0, r1 - mov r0, r12 - add r0, r9 - subs r5, r0, 0x1 - adds r0, r7, r3 - subs r0, 0x1 - mov r8, r0 - mov r2, r12 - adds r3, r7, 0 - lsls r0, r3, 5 - adds r0, r2 - lsls r0, 1 - adds r0, r6 - ldr r4, =0x00004001 - adds r1, r4, 0 - strh r1, [r0] - adds r2, 0x1 - cmp r2, r5 - bge _0811DC84 - ldr r0, =0x00004002 - adds r4, r0, 0 - lsls r1, r2, 1 - lsls r0, r3, 6 - adds r0, r6 - adds r1, r0 - subs r2, r5, r2 -_0811DC78: - strh r4, [r1] - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bne _0811DC78 - adds r2, r5, 0 -_0811DC84: - lsls r0, r3, 5 - adds r0, r2 - lsls r0, 1 - adds r0, r6 - ldr r2, =0x00004003 - adds r1, r2, 0 - strh r1, [r0] - adds r3, 0x1 - mov r4, r12 - adds r4, 0x1 - adds r0, r7, 0x1 - str r0, [sp, 0x4] - mov r1, r9 - subs r1, 0x2 - str r1, [sp] - movs r2, 0x2 - negs r2, r2 - add r10, r2 - cmp r3, r8 - bge _0811DCF4 - lsls r7, r4, 1 - mov r9, r7 -_0811DCB0: - lsls r0, r3, 5 - add r0, r12 - lsls r0, 1 - adds r0, r6 - ldr r2, =0x00004005 - adds r1, r2, 0 - strh r1, [r0] - adds r2, r4, 0 - adds r7, r3, 0x1 - cmp r4, r5 - bge _0811DCE0 - movs r0, 0x80 - lsls r0, 7 - adds r1, r0, 0 - lsls r0, r3, 6 - adds r0, r6 - add r0, r9 - subs r2, r5, r4 -_0811DCD4: - strh r1, [r0] - adds r0, 0x2 - subs r2, 0x1 - cmp r2, 0 - bne _0811DCD4 - adds r2, r5, 0 -_0811DCE0: - lsls r0, r3, 5 - adds r0, r2 - lsls r0, 1 - adds r0, r6 - ldr r2, =0x00004007 - adds r1, r2, 0 - strh r1, [r0] - adds r3, r7, 0 - cmp r3, r8 - blt _0811DCB0 -_0811DCF4: - lsls r0, r3, 5 - mov r7, r12 - adds r1, r0, r7 - lsls r1, 1 - adds r1, r6 - ldr r7, =0x00004009 - adds r2, r7, 0 - strh r2, [r1] - adds r2, r4, 0 - mov r12, r0 - cmp r4, r5 - bge _0811DD26 - ldr r0, =0x0000400a - adds r7, r0, 0 - lsls r1, r4, 1 - lsls r0, r3, 6 - adds r0, r6 - adds r0, r1, r0 - subs r2, r5, r4 -_0811DD1A: - strh r7, [r0] - adds r0, 0x2 - subs r2, 0x1 - cmp r2, 0 - bne _0811DD1A - adds r2, r5, 0 -_0811DD26: - mov r1, r12 - adds r0, r1, r2 - lsls r0, 1 - adds r0, r6 - ldr r2, =0x0000400b - adds r1, r2, 0 - strh r1, [r0] - lsls r0, r4, 27 - lsrs r0, 24 - ldr r3, [sp, 0x4] - lsls r1, r3, 27 - lsrs r1, 24 - ldr r4, [sp] - lsls r2, r4, 27 - lsrs r2, 24 - mov r7, r10 - lsls r3, r7, 27 - lsrs r3, 24 - bl sub_811DE5C - 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_811DC28 - - thumb_func_start sub_811DD84 -sub_811DD84: @ 811DD84 - push {lr} - movs r1, 0x80 - lsls r1, 4 - movs r0, 0x2 - movs r2, 0 - bl ChangeBgY - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - ldr r1, =0x000002ce - adds r0, r1 - movs r1, 0 - strh r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end sub_811DD84 - - thumb_func_start sub_811DDAC -sub_811DDAC: @ 811DDAC - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r1, 24 - lsrs r5, r1, 24 - movs r0, 0x2 - bl GetBgY - adds r2, r0, 0 - ldr r0, =gUnknown_0203A11C - ldr r3, [r0] - ldr r0, =0x000002ce - adds r1, r3, r0 - ldrh r0, [r1] - adds r0, r4 - strh r0, [r1] - lsls r4, 20 - asrs r4, 16 - lsls r0, r4, 8 - adds r2, r0 - cmp r5, 0 - beq _0811DE00 - movs r1, 0xB4 - lsls r1, 2 - adds r0, r3, r1 - str r2, [r0] - movs r0, 0xB5 - lsls r0, 2 - adds r1, r3, r0 - lsls r0, r5, 8 - str r0, [r1] - cmp r4, 0 - bge _0811DE0A - negs r0, r0 - str r0, [r1] - b _0811DE0A - .pool -_0811DE00: - movs r0, 0x2 - adds r1, r2, 0 - movs r2, 0 - bl ChangeBgY -_0811DE0A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_811DDAC - - thumb_func_start sub_811DE10 -sub_811DE10: @ 811DE10 - push {lr} - movs r0, 0x2 - bl GetBgY - ldr r1, =gUnknown_0203A11C - ldr r2, [r1] - movs r3, 0xB4 - lsls r3, 2 - adds r1, r2, r3 - ldr r1, [r1] - cmp r0, r1 - beq _0811DE40 - movs r1, 0xB5 - lsls r1, 2 - adds r0, r2, r1 - ldr r1, [r0] - movs r0, 0x2 - movs r2, 0x1 - bl ChangeBgY - movs r0, 0x1 - b _0811DE42 - .pool -_0811DE40: - movs r0, 0 -_0811DE42: - pop {r1} - bx r1 - thumb_func_end sub_811DE10 - - thumb_func_start sub_811DE48 -sub_811DE48: @ 811DE48 - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - ldr r1, =0x000002ce - adds r0, r1 - ldrh r0, [r0] - bx lr - .pool - thumb_func_end sub_811DE48 - - thumb_func_start sub_811DE5C -sub_811DE5C: @ 811DE5C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, r0, 8 - adds r0, r2 - orrs r4, r0 - lsls r5, r1, 8 - adds r1, r3 - orrs r5, r1 - movs r0, 0x40 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x44 - adds r1, r5, 0 - bl SetGpuReg - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_811DE5C - - thumb_func_start sub_811DE90 -sub_811DE90: @ 811DE90 - push {r4,r5,lr} - ldr r0, =gUnknown_08597CA0 - bl LoadSpriteSheets - ldr r0, =gUnknown_08597CC0 - bl LoadSpritePalettes - movs r5, 0 - ldr r4, =gUnknown_08597CE8 -_0811DEA2: - adds r0, r4, 0 - bl LoadCompressedSpriteSheet - adds r4, 0x8 - adds r5, 0x1 - cmp r5, 0x3 - bls _0811DEA2 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811DE90 - - thumb_func_start sub_811DEC4 -sub_811DEC4: @ 811DEC4 - push {lr} - bl sub_811BA68 - lsls r0, 24 - ldr r1, =gUnknown_08597C30 - lsrs r0, 22 - adds r0, r1 - ldrb r2, [r0] - lsls r1, r2, 27 - lsrs r1, 8 - lsrs r2, 5 - lsls r2, 19 - ldr r0, =gUnknown_08597D18 - movs r3, 0xD0 - lsls r3, 12 - adds r1, r3 - asrs r1, 16 - movs r3, 0x80 - lsls r3, 12 - adds r2, r3 - asrs r2, 16 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203A11C - ldr r2, [r1] - movs r1, 0xB6 - lsls r1, 2 - adds r2, r1 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - str r1, [r2] - movs r0, 0x1 - strh r0, [r1, 0x30] - pop {r0} - bx r0 - .pool - thumb_func_end sub_811DEC4 - - thumb_func_start sub_811DF28 -sub_811DF28: @ 811DF28 - push {lr} - adds r1, r0, 0 - movs r2, 0x30 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0811DF56 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _0811DF56 - movs r0, 0 - strh r0, [r1, 0x2E] - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - lsls r0, 16 - cmp r0, 0 - ble _0811DF56 - ldr r0, =0x0000fffa - strh r0, [r1, 0x24] -_0811DF56: - pop {r0} - bx r0 - .pool - thumb_func_end sub_811DF28 - - thumb_func_start sub_811DF60 -sub_811DF60: @ 811DF60 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gUnknown_0203A11C - ldr r2, [r2] - movs r3, 0xB6 - lsls r3, 2 - adds r2, r3 - ldr r3, [r2] - movs r4, 0 - strh r0, [r3, 0x20] - ldr r0, [r2] - strh r1, [r0, 0x22] - ldr r0, [r2] - strh r4, [r0, 0x24] - ldr r0, [r2] - strh r4, [r0, 0x2E] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811DF60 - - thumb_func_start sub_811DF90 -sub_811DF90: @ 811DF90 - ldr r0, =gUnknown_0203A11C - ldr r1, [r0] - movs r0, 0xB6 - lsls r0, 2 - adds r1, r0 - ldr r0, [r1] - movs r2, 0 - strh r2, [r0, 0x2E] - ldr r0, [r1] - strh r2, [r0, 0x30] - ldr r0, [r1] - strh r2, [r0, 0x24] - bx lr - .pool - thumb_func_end sub_811DF90 - - thumb_func_start sub_811DFB0 -sub_811DFB0: @ 811DFB0 - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - movs r1, 0xB6 - lsls r1, 2 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x1 - strh r0, [r1, 0x30] - bx lr - .pool - thumb_func_end sub_811DFB0 - - thumb_func_start sub_811DFC8 -sub_811DFC8: @ 811DFC8 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r6, =gUnknown_08597D68 - adds r0, r6, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0203A11C - ldr r2, [r5] - movs r1, 0xB7 - lsls r1, 2 - mov r8, r1 - add r2, r8 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r4, =gSprites - adds r1, r4 - str r1, [r2] - movs r0, 0x20 - strh r0, [r1, 0x24] - adds r0, r6, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r5] - movs r1, 0xB8 - lsls r1, 2 - adds r3, r2, r1 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - str r1, [r3] - ldr r0, =0x0000ffe0 - strh r0, [r1, 0x24] - add r2, r8 - ldr r1, [r2] - adds r1, 0x3F - ldrb r0, [r1] - movs r2, 0x1 - orrs r0, r2 - strb r0, [r1] - bl sub_811E088 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811DFC8 - - thumb_func_start sub_811E050 -sub_811E050: @ 811E050 - push {r4-r6,lr} - ldr r5, =gUnknown_0203A11C - ldr r0, [r5] - movs r4, 0xB7 - lsls r4, 2 - adds r0, r4 - ldr r0, [r0] - bl DestroySprite - ldr r0, [r5] - adds r4, r0, r4 - movs r6, 0 - str r6, [r4] - movs r4, 0xB8 - lsls r4, 2 - adds r0, r4 - ldr r0, [r0] - bl DestroySprite - ldr r0, [r5] - adds r0, r4 - str r6, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811E050 - - thumb_func_start sub_811E088 -sub_811E088: @ 811E088 - push {r4,lr} - sub sp, 0x4 - ldr r0, =gUnknown_0203A11C - ldr r1, [r0] - movs r2, 0xB7 - lsls r2, 2 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - beq _0811E0E4 - adds r2, 0x4 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - beq _0811E0E4 - mov r4, sp - adds r4, 0x1 - mov r0, sp - adds r1, r4, 0 - bl sub_811BB9C - bl sub_811BBB0 - lsls r0, 24 - cmp r0, 0 - bne _0811E0D4 - mov r0, sp - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - movs r1, 0 - ldrsb r1, [r4, r1] - bl sub_811E0EC - b _0811E0E4 - .pool -_0811E0D4: - mov r0, sp - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - movs r1, 0 - ldrsb r1, [r4, r1] - bl sub_811E1A4 -_0811E0E4: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_811E088 - - thumb_func_start sub_811E0EC -sub_811E0EC: @ 811E0EC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r1, 24 - lsrs r7, r1, 24 - lsls r0, 24 - asrs r5, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - beq _0811E150 - ldr r0, =gUnknown_0203A11C - mov r8, r0 - ldr r0, [r0] - movs r4, 0xB7 - lsls r4, 2 - adds r0, r4 - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim - mov r2, r8 - ldr r1, [r2] - adds r4, r1, r4 - ldr r2, [r4] - movs r0, 0x54 - muls r5, r0 - adds r5, 0x3A - strh r5, [r2, 0x20] - ldr r0, [r4] - lsls r4, r7, 24 - asrs r4, 20 - adds r4, 0x60 - strh r4, [r0, 0x22] - movs r6, 0xB8 - lsls r6, 2 - adds r1, r6 - ldr r0, [r1] - movs r1, 0 - bl StartSpriteAnim - mov r1, r8 - ldr r0, [r1] - adds r0, r6 - ldr r1, [r0] - strh r5, [r1, 0x20] - b _0811E192 - .pool -_0811E150: - ldr r6, =gUnknown_0203A11C - ldr r0, [r6] - movs r4, 0xB7 - lsls r4, 2 - adds r0, r4 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - ldr r1, [r6] - adds r4, r1, r4 - ldr r0, [r4] - movs r2, 0xD8 - mov r8, r2 - mov r2, r8 - strh r2, [r0, 0x20] - ldr r0, [r4] - lsls r4, r7, 24 - asrs r4, 20 - adds r4, 0x70 - strh r4, [r0, 0x22] - movs r5, 0xB8 - lsls r5, 2 - adds r1, r5 - ldr r0, [r1] - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, [r6] - adds r0, r5 - ldr r1, [r0] - mov r2, r8 - strh r2, [r1, 0x20] -_0811E192: - ldr r0, [r0] - strh r4, [r0, 0x22] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811E0EC - - thumb_func_start sub_811E1A4 -sub_811E1A4: @ 811E1A4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - lsrs r4, r0, 24 - asrs r2, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - beq _0811E234 - lsls r0, r5, 24 - asrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, 0x60 - mov r8, r0 - movs r7, 0x20 - cmp r2, 0x6 - bne _0811E1D6 - cmp r1, 0 - bne _0811E1D6 - movs r7, 0x9E - movs r6, 0x2 - b _0811E1EC -_0811E1D6: - ldr r3, =gUnknown_08597D08 - lsls r1, r4, 24 - lsrs r0, r1, 24 - movs r2, 0 - cmp r0, 0x6 - bhi _0811E1E4 - asrs r2, r1, 24 -_0811E1E4: - adds r0, r2, r3 - ldrb r0, [r0] - adds r7, r0 - movs r6, 0x3 -_0811E1EC: - ldr r5, =gUnknown_0203A11C - ldr r0, [r5] - movs r4, 0xB7 - lsls r4, 2 - adds r0, r4 - ldr r0, [r0] - adds r1, r6, 0 - bl StartSpriteAnim - ldr r1, [r5] - adds r4, r1, r4 - ldr r0, [r4] - strh r7, [r0, 0x20] - ldr r0, [r4] - mov r2, r8 - strh r2, [r0, 0x22] - movs r4, 0xB8 - lsls r4, 2 - adds r1, r4 - ldr r0, [r1] - adds r1, r6, 0 - bl StartSpriteAnim - ldr r0, [r5] - adds r0, r4 - ldr r1, [r0] - strh r7, [r1, 0x20] - ldr r0, [r0] - mov r1, r8 - strh r1, [r0, 0x22] - b _0811E27A - .pool -_0811E234: - ldr r6, =gUnknown_0203A11C - ldr r0, [r6] - movs r4, 0xB7 - lsls r4, 2 - adds r0, r4 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - ldr r1, [r6] - adds r4, r1, r4 - ldr r0, [r4] - movs r2, 0xD8 - mov r8, r2 - mov r2, r8 - strh r2, [r0, 0x20] - ldr r0, [r4] - lsls r4, r5, 24 - asrs r4, 20 - adds r4, 0x70 - strh r4, [r0, 0x22] - movs r5, 0xB8 - lsls r5, 2 - adds r1, r5 - ldr r0, [r1] - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, [r6] - adds r0, r5 - ldr r1, [r0] - mov r2, r8 - strh r2, [r1, 0x20] - ldr r0, [r0] - strh r4, [r0, 0x22] -_0811E27A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811E1A4 - - thumb_func_start sub_811E288 -sub_811E288: @ 811E288 - push {lr} - ldr r0, =gUnknown_08597D18 - movs r1, 0 - movs r2, 0 - movs r3, 0x4 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203A11C - ldr r2, [r1] - movs r1, 0xB9 - lsls r1, 2 - adds r2, r1 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - str r1, [r2] - ldr r0, =sub_811E2DC - str r0, [r1, 0x1C] - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x8 - orrs r0, r2 - strb r0, [r1, 0x5] - bl sub_811E30C - pop {r0} - bx r0 - .pool - thumb_func_end sub_811E288 - - thumb_func_start sub_811E2DC -sub_811E2DC: @ 811E2DC - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _0811E302 - movs r0, 0 - strh r0, [r1, 0x2E] - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - lsls r0, 16 - cmp r0, 0 - ble _0811E302 - ldr r0, =0x0000fffa - strh r0, [r1, 0x24] -_0811E302: - pop {r0} - bx r0 - .pool - thumb_func_end sub_811E2DC - - thumb_func_start sub_811E30C -sub_811E30C: @ 811E30C - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x1 - mov r0, sp - adds r1, r4, 0 - bl sub_811BBC8 - mov r0, sp - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0xD - muls r0, r1 - lsls r0, 27 - movs r1, 0 - ldrsb r1, [r4, r1] - lsls r1, 28 - movs r2, 0xE0 - lsls r2, 21 - adds r0, r2 - lsrs r0, 24 - movs r2, 0xC0 - lsls r2, 23 - adds r1, r2 - lsrs r1, 24 - bl sub_811E34C - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_811E30C - - thumb_func_start sub_811E34C -sub_811E34C: @ 811E34C - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - movs r1, 0xB9 - lsls r1, 2 - adds r2, r0, r1 - ldr r0, [r2] - cmp r0, 0 - beq _0811E376 - movs r1, 0 - strh r3, [r0, 0x20] - ldr r0, [r2] - strh r4, [r0, 0x22] - ldr r0, [r2] - strh r1, [r0, 0x24] - ldr r0, [r2] - strh r1, [r0, 0x2E] -_0811E376: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811E34C - - thumb_func_start sub_811E380 -sub_811E380: @ 811E380 - push {r4,lr} - ldr r4, =gUnknown_0203A11C - ldr r0, [r4] - movs r1, 0xB9 - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _0811E3A2 - bl DestroySprite - ldr r0, [r4] - movs r1, 0xB9 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - str r1, [r0] -_0811E3A2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811E380 - - thumb_func_start sub_811E3AC -sub_811E3AC: @ 811E3AC - push {r4-r6,lr} - ldr r0, =gUnknown_08597DF0 - movs r1, 0xD0 - movs r2, 0x80 - movs r3, 0x6 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0203A11C - ldr r2, [r5] - movs r1, 0xBA - lsls r1, 2 - adds r2, r1 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r4, =gSprites - adds r1, r4 - str r1, [r2] - movs r6, 0 - ldr r0, =0x0000ffc0 - strh r0, [r1, 0x24] - ldr r0, =gUnknown_08597DD0 - movs r1, 0xD0 - movs r2, 0x50 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r5] - movs r1, 0xBB - lsls r1, 2 - adds r3, r2, r1 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - str r1, [r3] - strb r6, [r2, 0x9] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811E3AC - - thumb_func_start sub_811E418 -sub_811E418: @ 811E418 - push {r4,lr} - ldr r4, =gUnknown_0203A11C - ldr r2, [r4] - ldrb r3, [r2, 0x9] - cmp r3, 0 - beq _0811E430 - cmp r3, 0x1 - beq _0811E488 - movs r0, 0 - b _0811E4A6 - .pool -_0811E430: - movs r0, 0xBA - lsls r0, 2 - adds r2, r0 - ldr r1, [r2] - ldrh r0, [r1, 0x24] - adds r0, 0x8 - strh r0, [r1, 0x24] - ldr r2, [r2] - movs r1, 0x24 - ldrsh r0, [r2, r1] - cmp r0, 0 - blt _0811E4A4 - strh r3, [r2, 0x24] - bl sub_811BBB0 - lsls r0, 24 - cmp r0, 0 - bne _0811E466 - ldr r0, [r4] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - b _0811E476 -_0811E466: - ldr r0, [r4] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x2 - bl StartSpriteAnim -_0811E476: - ldr r0, =gUnknown_0203A11C - ldr r1, [r0] - ldrb r0, [r1, 0x9] - adds r0, 0x1 - strb r0, [r1, 0x9] - b _0811E4A4 - .pool -_0811E488: - movs r1, 0xBB - lsls r1, 2 - adds r0, r2, r1 - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0811E4A4 - movs r0, 0x2 - strb r0, [r2, 0x9] - movs r0, 0 - b _0811E4A6 -_0811E4A4: - movs r0, 0x1 -_0811E4A6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811E418 - - thumb_func_start sub_811E4AC -sub_811E4AC: @ 811E4AC - push {lr} - ldr r2, =gUnknown_0203A11C - ldr r1, [r2] - movs r0, 0 - strb r0, [r1, 0x9] - ldr r0, [r2] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x3 - bl StartSpriteAnim - pop {r0} - bx r0 - .pool - thumb_func_end sub_811E4AC - - thumb_func_start sub_811E4D0 -sub_811E4D0: @ 811E4D0 - push {r4-r6,lr} - ldr r5, =gUnknown_0203A11C - ldr r3, [r5] - ldrb r0, [r3, 0x9] - cmp r0, 0 - beq _0811E4E8 - cmp r0, 0x1 - beq _0811E502 - movs r0, 0 - b _0811E554 - .pool -_0811E4E8: - movs r1, 0xBB - lsls r1, 2 - adds r0, r3, r1 - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0811E552 - movs r0, 0x1 - strb r0, [r3, 0x9] - b _0811E552 -_0811E502: - movs r0, 0xBA - lsls r0, 2 - adds r2, r3, r0 - ldr r1, [r2] - ldrh r0, [r1, 0x24] - subs r0, 0x8 - movs r6, 0 - strh r0, [r1, 0x24] - ldr r0, [r2] - movs r2, 0x24 - ldrsh r1, [r0, r2] - movs r0, 0x40 - negs r0, r0 - cmp r1, r0 - bgt _0811E552 - movs r4, 0xBB - lsls r4, 2 - adds r0, r3, r4 - ldr r0, [r0] - bl DestroySprite - ldr r0, [r5] - movs r1, 0xBA - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - bl DestroySprite - ldr r1, [r5] - adds r4, r1, r4 - str r6, [r4] - movs r2, 0xBA - lsls r2, 2 - adds r0, r1, r2 - str r6, [r0] - ldrb r0, [r1, 0x9] - adds r0, 0x1 - strb r0, [r1, 0x9] - movs r0, 0 - b _0811E554 -_0811E552: - movs r0, 0x1 -_0811E554: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_811E4D0 - - thumb_func_start sub_811E55C -sub_811E55C: @ 811E55C - push {lr} - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x4 - bl StartSpriteAnim - pop {r0} - bx r0 - .pool - thumb_func_end sub_811E55C - - thumb_func_start sub_811E578 -sub_811E578: @ 811E578 - push {lr} - bl sub_811BBB0 - lsls r0, 24 - cmp r0, 0 - bne _0811E59C - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - b _0811E5AE - .pool -_0811E59C: - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x2 - bl StartSpriteAnim -_0811E5AE: - pop {r0} - bx r0 - .pool - thumb_func_end sub_811E578 - - thumb_func_start sub_811E5B8 -sub_811E5B8: @ 811E5B8 - ldr r0, =gUnknown_0203A11C - ldr r0, [r0] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - lsrs r1, 4 - movs r0, 0x1 - bics r0, r1 - bx lr - .pool - thumb_func_end sub_811E5B8 - - thumb_func_start sub_811E5D4 -sub_811E5D4: @ 811E5D4 - push {r4,lr} - ldr r4, =gUnknown_08597E48 - adds r0, r4, 0 - movs r1, 0x60 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0811E602 - ldr r0, =gUnknown_0203A11C - ldr r2, [r0] - movs r0, 0xBC - lsls r0, 2 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - str r0, [r2] -_0811E602: - adds r0, r4, 0 - movs r1, 0x60 - movs r2, 0x9C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0811E636 - ldr r0, =gUnknown_0203A11C - ldr r2, [r0] - movs r0, 0xBD - lsls r0, 2 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - str r0, [r2] - adds r0, 0x3F - ldrb r1, [r0] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] -_0811E636: - bl sub_811E6B0 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811E5D4 - - thumb_func_start sub_811E64C -sub_811E64C: @ 811E64C - push {r4-r6,lr} - bl sub_811BBF8 - ldr r6, =gUnknown_0203A11C - ldr r1, [r6] - movs r2, 0xBC - lsls r2, 2 - adds r1, r2 - ldr r1, [r1] - movs r2, 0 - cmp r0, 0 - bne _0811E666 - movs r2, 0x1 -_0811E666: - adds r3, r1, 0 - adds r3, 0x3E - movs r4, 0x1 - lsls r2, 2 - ldrb r1, [r3] - movs r5, 0x5 - negs r5, r5 - adds r0, r5, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3] - bl sub_811BC2C - ldr r1, [r6] - movs r2, 0xBD - lsls r2, 2 - adds r1, r2 - ldr r1, [r1] - movs r2, 0 - cmp r0, 0 - bne _0811E692 - movs r2, 0x1 -_0811E692: - adds r3, r1, 0 - adds r3, 0x3E - adds r1, r4, 0 - ands r1, r2 - lsls r1, 2 - ldrb r2, [r3] - adds r0, r5, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811E64C - - thumb_func_start sub_811E6B0 -sub_811E6B0: @ 811E6B0 - ldr r3, =gUnknown_0203A11C - ldr r0, [r3] - movs r1, 0xBC - lsls r1, 2 - adds r0, r1 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r0, [r3] - movs r1, 0xBD - lsls r1, 2 - adds r0, r1 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_811E6B0 - - thumb_func_start sub_811E6E0 -sub_811E6E0: @ 811E6E0 - push {lr} - cmp r0, 0 - bne _0811E6FC - ldr r0, =gUnknown_0203A11C - ldr r2, [r0] - movs r1, 0xBC - lsls r1, 2 - adds r0, r2, r1 - ldr r0, [r0] - movs r1, 0x60 - b _0811E70A - .pool -_0811E6FC: - ldr r0, =gUnknown_0203A11C - ldr r2, [r0] - movs r1, 0xBC - lsls r1, 2 - adds r0, r2, r1 - ldr r0, [r0] - movs r1, 0x78 -_0811E70A: - strh r1, [r0, 0x20] - movs r3, 0xBD - lsls r3, 2 - adds r0, r2, r3 - ldr r0, [r0] - strh r1, [r0, 0x20] - pop {r0} - bx r0 - .pool - thumb_func_end sub_811E6E0 - - thumb_func_start sub_811E720 -sub_811E720: @ 811E720 - push {r4,lr} - ldr r4, =gUnknown_08597E30 - adds r0, r4, 0 - movs r1, 0xDC - movs r2, 0x54 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0811E74E - ldr r0, =gUnknown_0203A11C - ldr r2, [r0] - movs r0, 0xBE - lsls r0, 2 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - str r0, [r2] -_0811E74E: - adds r0, r4, 0 - movs r1, 0xDC - movs r2, 0x9C - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0811E77E - ldr r0, =gUnknown_0203A11C - ldr r2, [r0] - movs r0, 0xBF - lsls r0, 2 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - str r0, [r2] - movs r1, 0x1 - bl StartSpriteAnim -_0811E77E: - bl sub_811E7F8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811E720 - - thumb_func_start sub_811E794 -sub_811E794: @ 811E794 - push {r4-r6,lr} - bl sub_811BBF8 - ldr r6, =gUnknown_0203A11C - ldr r1, [r6] - movs r2, 0xBE - lsls r2, 2 - adds r1, r2 - ldr r1, [r1] - movs r2, 0 - cmp r0, 0 - bne _0811E7AE - movs r2, 0x1 -_0811E7AE: - adds r3, r1, 0 - adds r3, 0x3E - movs r4, 0x1 - lsls r2, 2 - ldrb r1, [r3] - movs r5, 0x5 - negs r5, r5 - adds r0, r5, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3] - bl sub_811BC2C - ldr r1, [r6] - movs r2, 0xBF - lsls r2, 2 - adds r1, r2 - ldr r1, [r1] - movs r2, 0 - cmp r0, 0 - bne _0811E7DA - movs r2, 0x1 -_0811E7DA: - adds r3, r1, 0 - adds r3, 0x3E - adds r1, r4, 0 - ands r1, r2 - lsls r1, 2 - ldrb r2, [r3] - adds r0, r5, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811E794 - - thumb_func_start sub_811E7F8 -sub_811E7F8: @ 811E7F8 - ldr r3, =gUnknown_0203A11C - ldr r0, [r3] - movs r1, 0xBE - lsls r1, 2 - adds r0, r1 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r0, [r3] - movs r1, 0xBF - lsls r1, 2 - adds r0, r1 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_811E7F8 - - thumb_func_start sub_811E828 -sub_811E828: @ 811E828 - push {r4,r5,lr} - sub sp, 0x4 - bl sub_811BCBC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0811E84C - cmp r0, 0x1 - bgt _0811E842 - cmp r0, 0 - beq _0811E848 - b _0811E8D0 -_0811E842: - cmp r0, 0x2 - beq _0811E850 - b _0811E8D0 -_0811E848: - movs r4, 0x43 - b _0811E852 -_0811E84C: - movs r4, 0x44 - b _0811E852 -_0811E850: - movs r4, 0x7 -_0811E852: - bl sub_811BA68 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _0811E8D0 - adds r0, r4, 0 - ldr r5, =SpriteCallbackDummy - movs r4, 0 - str r4, [sp] - adds r1, r5, 0 - movs r2, 0x4C - movs r3, 0x28 - bl AddPseudoEventObject - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _0811E892 - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x2 - bl StartSpriteAnim -_0811E892: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - movs r1, 0x69 - cmp r0, 0 - bne _0811E8A0 - movs r1, 0x64 -_0811E8A0: - str r4, [sp] - adds r0, r1, 0 - adds r1, r5, 0 - movs r2, 0x34 - movs r3, 0x28 - bl AddPseudoEventObject - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _0811E8D0 - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x3 - bl StartSpriteAnim -_0811E8D0: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811E828 - - thumb_func_start sub_811E8E4 -sub_811E8E4: @ 811E8E4 - push {lr} - bl sub_811BA68 - lsls r0, 24 - ldr r1, =gUnknown_08597C30 - lsrs r0, 22 - adds r0, r1 - ldrb r0, [r0, 0x3] - cmp r0, 0x1 - beq _0811E90E - cmp r0, 0x1 - bgt _0811E908 - cmp r0, 0 - beq _0811E916 - b _0811E91A - .pool -_0811E908: - cmp r0, 0x2 - beq _0811E912 - b _0811E91A -_0811E90E: - movs r0, 0x1 - b _0811E91C -_0811E912: - movs r0, 0x2 - b _0811E91C -_0811E916: - movs r0, 0 - b _0811E91C -_0811E91A: - movs r0, 0x3 -_0811E91C: - pop {r1} - bx r1 - thumb_func_end sub_811E8E4 - - thumb_func_start sub_811E920 -sub_811E920: @ 811E920 - push {r4,lr} - adds r4, r0, 0 - bl sub_811E8E4 - adds r1, r0, 0 - cmp r1, 0x2 - ble _0811E932 - movs r0, 0 - b _0811E93E -_0811E932: - ldr r0, =gUnknown_08597E60 - lsls r1, 2 - adds r1, r4, r1 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x4 -_0811E93E: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_811E920 - thumb_func_start sub_811E948 sub_811E948: @ 811E948 push {r4-r7,lr} diff --git a/asm/pokenav.s b/asm/pokenav.s index 01ba420aa..d568f4281 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -5,645 +5,9 @@ .text - thumb_func_start sub_81C7CE4 -sub_81C7CE4: @ 81C7CE4 - push {r4,lr} - movs r0, 0 - bl sub_81C763C - ldr r2, [r0, 0x18] - movs r4, 0 - movs r1, 0xDC - strh r1, [r2, 0x20] - ldr r2, [r0, 0x18] - movs r1, 0xC - strh r1, [r2, 0x22] - ldr r2, [r0, 0x18] - ldr r1, =sub_81C7CB4 - str r1, [r2, 0x1C] - adds r2, 0x3E - ldrb r3, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r3 - strb r1, [r2] - ldr r3, [r0, 0x18] - ldrb r2, [r3, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - strb r1, [r3, 0x5] - ldr r0, [r0, 0x18] - adds r0, 0x43 - strb r4, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C7CE4 - - thumb_func_start sub_81C7D28 -sub_81C7D28: @ 81C7D28 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0 - bl sub_81C763C - adds r6, r0, 0 - ldr r0, =gUnknown_0861FA64 - bl LoadCompressedSpriteSheet - movs r0, 0x1 - bl AllocSpritePalette - movs r0, 0x2 - bl AllocSpritePalette - movs r5, 0 - ldr r0, =gSprites - mov r8, r0 - movs r7, 0x4 -_081C7D50: - ldr r0, =gUnknown_0861FB2C - movs r1, 0 - movs r2, 0 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - lsls r4, r5, 2 - adds r2, r6, 0 - adds r2, 0x1C - adds r2, r4 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - str r0, [r2] - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r7 - strb r1, [r0] - ldr r1, [r2] - lsls r0, r5, 6 - strh r0, [r1, 0x24] - ldr r0, =gUnknown_0861FB44 - movs r1, 0 - movs r2, 0 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - adds r2, r6, 0 - adds r2, 0x24 - adds r2, r4 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - str r0, [r2] - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r7 - strb r1, [r0] - ldr r1, [r2] - lsls r0, r5, 5 - strh r0, [r1, 0x24] - ldr r1, [r2] - movs r0, 0x12 - strh r0, [r1, 0x26] - ldr r3, [r2] - ldrh r2, [r3, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - lsls r0, r5, 3 - adds r0, 0x40 - adds r1, r0 - ldr r4, =0x000003ff - adds r0, r4, 0 - ands r1, r0 - ldr r4, =0xfffffc00 - adds r0, r4, 0 - ands r2, r0 - orrs r2, r1 - strh r2, [r3, 0x4] - adds r5, 0x1 - cmp r5, 0x1 - ble _081C7D50 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C7D28 - - thumb_func_start sub_81C7DFC -sub_81C7DFC: @ 81C7DFC - push {lr} - cmp r0, 0x5 - bhi _081C7E08 - bl sub_81C7E58 - b _081C7E0E -_081C7E08: - subs r0, 0x6 - bl sub_81C7F24 -_081C7E0E: - pop {r0} - bx r0 - thumb_func_end sub_81C7DFC - - thumb_func_start sub_81C7E14 -sub_81C7E14: @ 81C7E14 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0 - bl sub_81C763C - adds r5, r0, 0 - cmp r4, 0x4 - bne _081C7E30 - movs r0, 0x2 - bl GetSpriteTileStartByTag - ldr r3, [r5, 0x20] - adds r0, 0x20 - b _081C7E3A -_081C7E30: - movs r0, 0x2 - bl GetSpriteTileStartByTag - ldr r3, [r5, 0x20] - adds r0, 0x40 -_081C7E3A: - ldr r2, =0x000003ff - adds r1, r2, 0 - ands r0, r1 - ldrh r2, [r3, 0x4] - ldr r1, =0xfffffc00 - ands r1, r2 - orrs r1, r0 - strh r1, [r3, 0x4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C7E14 - - thumb_func_start sub_81C7E58 -sub_81C7E58: @ 81C7E58 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r9, r0 - cmp r0, 0x5 - bhi _081C7F16 - movs r0, 0 - bl sub_81C763C - adds r7, r0, 0 - ldr r0, =gUnknown_0861FA6C - mov r1, r9 - lsls r6, r1, 3 - adds r6, r0 - ldrh r4, [r6, 0x6] - ldr r2, [r6] - mov r8, r2 - mov r0, r8 - bl GetDecompressedDataSize - adds r5, r0, 0 - lsls r4, 5 - ldr r0, =gPokenavLeftHeader_Pal - adds r4, r0 - movs r0, 0x1 - bl IndexOfSpritePaletteTag - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 17 - adds r1, r0 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - ldr r4, =gDecompressionBuffer - mov r0, r8 - adds r1, r4, 0 - bl LZ77UnCompWram - movs r0, 0x2 - bl GetSpriteTileStartByTag - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 11 - ldr r2, =0x06010000 - adds r1, r2 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - adds r2, r5, 0 - movs r3, 0x1 - bl RequestDma3Copy - movs r0, 0x2 - bl GetSpriteTileStartByTag - ldr r3, [r7, 0x20] - ldrh r1, [r6, 0x4] - adds r0, r1 - ldr r2, =0x000003ff - adds r1, r2, 0 - ands r0, r1 - ldrh r2, [r3, 0x4] - ldr r1, =0xfffffc00 - ands r1, r2 - orrs r1, r0 - strh r1, [r3, 0x4] - mov r0, r9 - subs r0, 0x4 - cmp r0, 0x1 - bhi _081C7F10 - ldr r1, [r7, 0x20] - movs r0, 0x38 - b _081C7F14 - .pool -_081C7F10: - ldr r1, [r7, 0x20] - movs r0, 0x40 -_081C7F14: - strh r0, [r1, 0x24] -_081C7F16: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81C7E58 - - thumb_func_start sub_81C7F24 -sub_81C7F24: @ 81C7F24 - push {r4-r6,lr} - cmp r0, 0x6 - bhi _081C7F8A - ldr r2, =gUnknown_0861FA9C - lsls r1, r0, 3 - adds r0, r2, 0x4 - adds r0, r1, r0 - ldr r4, [r0] - adds r1, r2 - ldr r6, [r1] - adds r0, r6, 0 - bl GetDecompressedDataSize - adds r5, r0, 0 - lsls r4, 5 - ldr r0, =gPokenavLeftHeader_Pal - adds r4, r0 - movs r0, 0x2 - bl IndexOfSpritePaletteTag - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 17 - adds r1, r0 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - ldr r4, =gDecompressionBuffer+0x1000 - adds r0, r6, 0 - adds r1, r4, 0 - bl LZ77UnCompWram - movs r0, 0x2 - bl GetSpriteTileStartByTag - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 11 - ldr r0, =0x06010800 - adds r1, r0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - adds r2, r5, 0 - movs r3, 0x1 - bl RequestDma3Copy -_081C7F8A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C7F24 - - thumb_func_start sub_81C7FA0 -sub_81C7FA0: @ 81C7FA0 - push {lr} - adds r3, r0, 0 - movs r0, 0x10 - cmp r1, 0 - bne _081C7FAC - movs r0, 0x30 -_081C7FAC: - cmp r3, 0x5 - bhi _081C7FB8 - adds r1, r2, 0 - bl sub_81C803C - b _081C7FBE -_081C7FB8: - adds r1, r2, 0 - bl sub_81C8088 -_081C7FBE: - pop {r0} - bx r0 - thumb_func_end sub_81C7FA0 - - thumb_func_start sub_81C7FC4 -sub_81C7FC4: @ 81C7FC4 - push {lr} - cmp r0, 0x5 - bhi _081C7FD2 - adds r0, r1, 0 - bl sub_81C80D4 - b _081C7FD8 -_081C7FD2: - adds r0, r1, 0 - bl sub_81C8110 -_081C7FD8: - pop {r0} - bx r0 - thumb_func_end sub_81C7FC4 - - thumb_func_start sub_81C7FDC -sub_81C7FDC: @ 81C7FDC - push {r4,lr} - movs r0, 0 - bl sub_81C763C - movs r4, 0x4 - adds r2, r0, 0 - adds r2, 0x1C - movs r3, 0x1 -_081C7FEC: - ldr r1, [r2] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r4 - strb r0, [r1] - ldr r1, [r2, 0x8] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r4 - strb r0, [r1] - adds r2, 0x4 - subs r3, 0x1 - cmp r3, 0 - bge _081C7FEC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C7FDC - - thumb_func_start sub_81C8010 -sub_81C8010: @ 81C8010 - push {lr} - movs r0, 0 - bl sub_81C763C - adds r1, r0, 0 - ldr r0, [r1, 0x1C] - ldr r2, [r0, 0x1C] - ldr r0, =SpriteCallbackDummy - cmp r2, r0 - bne _081C8034 - ldr r0, [r1, 0x24] - ldr r0, [r0, 0x1C] - cmp r0, r2 - bne _081C8034 - movs r0, 0 - b _081C8036 - .pool -_081C8034: - movs r0, 0x1 -_081C8036: - pop {r1} - bx r1 - thumb_func_end sub_81C8010 - - thumb_func_start sub_81C803C -sub_81C803C: @ 81C803C - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - adds r4, r1, 0 - movs r0, 0 - bl sub_81C763C - cmp r4, 0 - bne _081C8058 - movs r7, 0x60 - negs r7, r7 - movs r6, 0x20 - b _081C805E -_081C8058: - movs r7, 0x80 - lsls r7, 1 - movs r6, 0xA0 -_081C805E: - adds r4, r0, 0 - adds r4, 0x1C - movs r5, 0x1 -_081C8064: - ldr r0, [r4] - mov r1, r8 - strh r1, [r0, 0x22] - ldm r4!, {r0} - adds r1, r7, 0 - adds r2, r6, 0 - movs r3, 0xC - bl sub_81C814C - subs r5, 0x1 - cmp r5, 0 - bge _081C8064 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81C803C - - thumb_func_start sub_81C8088 -sub_81C8088: @ 81C8088 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - adds r4, r1, 0 - movs r0, 0 - bl sub_81C763C - cmp r4, 0 - bne _081C80A4 - movs r7, 0x60 - negs r7, r7 - movs r6, 0x10 - b _081C80AA -_081C80A4: - movs r7, 0x80 - lsls r7, 1 - movs r6, 0xC0 -_081C80AA: - adds r4, r0, 0 - adds r4, 0x24 - movs r5, 0x1 -_081C80B0: - ldr r0, [r4] - mov r1, r8 - strh r1, [r0, 0x22] - ldm r4!, {r0} - adds r1, r7, 0 - adds r2, r6, 0 - movs r3, 0xC - bl sub_81C814C - subs r5, 0x1 - cmp r5, 0 - bge _081C80B0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81C8088 - thumb_func_start sub_81C80D4 -sub_81C80D4: @ 81C80D4 - push {r4-r7,lr} - adds r4, r0, 0 - movs r0, 0 - bl sub_81C763C - cmp r4, 0 - bne _081C80EA - movs r6, 0x20 - movs r5, 0x60 - negs r5, r5 - b _081C80F0 -_081C80EA: - movs r6, 0xC0 - movs r5, 0x80 - lsls r5, 1 -_081C80F0: - adds r7, r0, 0 - adds r7, 0x1C - movs r4, 0x1 -_081C80F6: - ldm r7!, {r0} - adds r1, r6, 0 - adds r2, r5, 0 - movs r3, 0xC - bl sub_81C814C - subs r4, 0x1 - cmp r4, 0 - bge _081C80F6 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81C80D4 - thumb_func_start sub_81C8110 -sub_81C8110: @ 81C8110 - push {r4-r7,lr} - adds r4, r0, 0 - movs r0, 0 - bl sub_81C763C - cmp r4, 0 - bne _081C8126 - movs r6, 0x10 - movs r5, 0x60 - negs r5, r5 - b _081C812C -_081C8126: - movs r6, 0xC0 - movs r5, 0x80 - lsls r5, 1 -_081C812C: - adds r7, r0, 0 - adds r7, 0x24 - movs r4, 0x1 -_081C8132: - ldm r7!, {r0} - adds r1, r6, 0 - adds r2, r5, 0 - movs r3, 0xC - bl sub_81C814C - subs r4, 0x1 - cmp r4, 0 - bge _081C8132 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81C8110 - - thumb_func_start sub_81C814C -sub_81C814C: @ 81C814C - push {r4-r6,lr} - adds r4, r0, 0 - adds r0, r1, 0 - adds r6, r2, 0 - adds r5, r3, 0 - strh r0, [r4, 0x20] - lsls r1, r0, 4 - strh r1, [r4, 0x2E] - subs r0, r6, r0 - lsls r0, 4 - adds r1, r5, 0 - bl __divsi3 - strh r0, [r4, 0x30] - strh r5, [r4, 0x32] - strh r6, [r4, 0x3C] - ldr r0, =sub_81C817C - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C814C - thumb_func_start sub_81C817C -sub_81C817C: @ 81C817C - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x32] - movs r3, 0x32 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _081C81C4 - subs r0, r1, 0x1 - strh r0, [r2, 0x32] - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x2E] - adds r0, r1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 20 - strh r0, [r2, 0x20] - adds r0, 0x10 - lsls r0, 16 - movs r1, 0x88 - lsls r1, 17 - cmp r0, r1 - bls _081C81B6 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _081C81CC -_081C81B6: - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _081C81CC -_081C81C4: - ldrh r0, [r2, 0x3C] - strh r0, [r2, 0x20] - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] -_081C81CC: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C817C thumb_func_start sub_81C81D4 sub_81C81D4: @ 81C81D4 @@ -653,7 +17,7 @@ sub_81C81D4: @ 81C81D4 adds r7, r2, 0 ldr r1, =0x000008a4 movs r0, 0x11 - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081C821C @@ -696,13 +60,13 @@ sub_81C8224: @ 81C8224 sub_81C8234: @ 81C8234 push {r4,lr} movs r0, 0x11 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 bl sub_81C8FE0 ldrb r0, [r4, 0x8] bl RemoveWindow movs r0, 0x11 - bl sub_81C7650 + bl FreeSubstruct pop {r4} pop {r0} bx r0 @@ -717,7 +81,7 @@ sub_81C8254: @ 81C8254 cmp r0, 0 bne _081C82C0 movs r0, 0x11 - bl sub_81C763C + bl GetSubstructPtr adds r2, r0, 0 cmp r4, 0x4 bhi _081C82D6 @@ -921,7 +285,7 @@ sub_81C83F0: @ 81C83F0 sub sp, 0xC adds r6, r0, 0 movs r0, 0x11 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 cmp r6, 0 beq _081C8408 @@ -1014,7 +378,7 @@ _081C849C: sub_81C84A4: @ 81C84A4 push {lr} movs r0, 0x11 - bl sub_81C763C + bl GetSubstructPtr ldr r1, =0x00000888 adds r0, r1 ldrh r1, [r0] @@ -1030,7 +394,7 @@ sub_81C84A4: @ 81C84A4 sub_81C84C0: @ 81C84C0 push {lr} movs r0, 0x11 - bl sub_81C763C + bl GetSubstructPtr ldr r1, =0x00000888 adds r0, r1 movs r3, 0 @@ -1055,7 +419,7 @@ sub_81C84E8: @ 81C84E8 adds r6, r0, 0 adds r4, r1, 0 movs r0, 0x11 - bl sub_81C763C + bl GetSubstructPtr adds r7, r0, 0 ldr r0, =0x00000888 adds r5, r7, r0 @@ -1149,7 +513,7 @@ sub_81C85A0: @ 81C85A0 push {r4-r6,lr} adds r5, r0, 0 movs r0, 0x11 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 cmp r5, 0 beq _081C85B8 @@ -1228,7 +592,7 @@ _081C862A: sub_81C8630: @ 81C8630 push {lr} movs r0, 0x11 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x28] bl sub_81C70D8 pop {r1} @@ -1239,7 +603,7 @@ sub_81C8630: @ 81C8630 sub_81C8644: @ 81C8644 push {lr} movs r0, 0x11 - bl sub_81C763C + bl GetSubstructPtr ldr r1, =0x00000888 adds r0, r1 pop {r1} @@ -1423,7 +787,7 @@ sub_81C8770: @ 81C8770 sub_81C877C: @ 81C877C push {r4,lr} movs r0, 0x11 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 ldr r0, =0x0000089c adds r1, r4, r0 @@ -1449,7 +813,7 @@ sub_81C87AC: @ 81C87AC lsls r4, 16 lsrs r4, 16 movs r0, 0x11 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 ldr r0, =0x00000888 adds r1, r5, r0 @@ -1477,7 +841,7 @@ sub_81C87AC: @ 81C87AC sub_81C87F0: @ 81C87F0 push {r4,lr} movs r0, 0x11 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 ldr r0, =0x0000089c adds r1, r4, r0 @@ -1500,7 +864,7 @@ sub_81C87F0: @ 81C87F0 sub_81C8820: @ 81C8820 push {lr} movs r0, 0x11 - bl sub_81C763C + bl GetSubstructPtr movs r1, 0x8A lsls r1, 4 adds r0, r1 @@ -1514,7 +878,7 @@ sub_81C8820: @ 81C8820 sub_81C8838: @ 81C8838 push {r4,lr} movs r0, 0x11 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 ldr r0, =0x00000888 adds r2, r4, r0 @@ -1542,7 +906,7 @@ sub_81C8870: @ 81C8870 push {r4,r5,lr} adds r5, r0, 0 movs r0, 0x11 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 cmp r5, 0x4 bhi _081C894C @@ -1651,7 +1015,7 @@ sub_81C8958: @ 81C8958 push {r4,r5,lr} adds r5, r0, 0 movs r0, 0x11 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 bl IsDma3ManagerBusyWithBgCopy lsls r0, 24 @@ -1753,7 +1117,7 @@ sub_81C8A28: @ 81C8A28 cmp r0, 0 bne _081C8AA6 movs r0, 0x11 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 ldr r0, =0x00000888 adds r6, r4, r0 @@ -2525,7 +1889,7 @@ sub_81C9080: @ 81C9080 push {r4,lr} adds r4, r0, 0 movs r0, 0x11 - bl sub_81C763C + bl GetSubstructPtr ldr r1, =0x0000088e adds r0, r1 ldrh r0, [r0] @@ -2637,7 +2001,7 @@ sub_81C9148: @ 81C9148 push {r4,lr} adds r4, r0, 0 movs r0, 0x11 - bl sub_81C763C + bl GetSubstructPtr ldr r1, [r0, 0x40] strh r4, [r1, 0x3C] ldr r0, [r0, 0x44] @@ -2812,7 +2176,7 @@ sub_81C9298: @ 81C9298 push {r4,lr} movs r0, 0x1 movs r1, 0x10 - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081C92C4 @@ -2841,7 +2205,7 @@ sub_81C92CC: @ 81C92CC push {r4,lr} movs r0, 0x1 movs r1, 0x10 - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081C92FA @@ -2871,7 +2235,7 @@ sub_81C9304: @ 81C9304 push {r4,lr} movs r0, 0x1 movs r1, 0x10 - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081C932E @@ -2899,7 +2263,7 @@ sub_81C9338: @ 81C9338 push {lr} movs r0, 0x1 movs r1, 0x10 - bl sub_81C761C + bl AllocSubstruct adds r2, r0, 0 cmp r2, 0 beq _081C9360 @@ -2926,7 +2290,7 @@ sub_81C9368: @ 81C9368 push {r4,r5,lr} movs r0, 0x1 movs r1, 0x10 - bl sub_81C761C + bl AllocSubstruct adds r5, r0, 0 cmp r5, 0 beq _081C9394 @@ -2972,7 +2336,7 @@ _081C93B4: .4byte _081C93DC _081C93C8: movs r0, 0 - bl sub_81C7688 + bl SetPokenavMode _081C93CE: bl sub_81C93EC b _081C93DE @@ -2994,7 +2358,7 @@ _081C93E0: thumb_func_start sub_81C93EC sub_81C93EC: @ 81C93EC push {lr} - bl sub_81C767C + bl GetPokenavMode cmp r0, 0x1 beq _081C9408 cmp r0, 0x1 @@ -3021,7 +2385,7 @@ _081C9412: sub_81C941C: @ 81C941C push {lr} movs r0, 0x1 - bl sub_81C763C + bl GetSubstructPtr ldr r1, [r0, 0xC] bl _call_via_r1 pop {r1} @@ -3032,7 +2396,7 @@ sub_81C941C: @ 81C941C sub_81C9430: @ 81C9430 push {lr} movs r0, 0x1 - bl sub_81C7650 + bl FreeSubstruct pop {r0} bx r0 thumb_func_end sub_81C9430 @@ -3113,7 +2477,7 @@ _081C94D4: b _081C94EE .pool _081C94E0: - bl sub_81C76B8 + bl CanViewRibbonsMenu cmp r0, 0 beq _081C94FC movs r0, 0x9 @@ -3601,7 +2965,7 @@ _081C988E: sub_81C9894: @ 81C9894 push {lr} movs r0, 0x1 - bl sub_81C763C + bl GetSubstructPtr ldrh r0, [r0] pop {r1} bx r1 @@ -3611,7 +2975,7 @@ sub_81C9894: @ 81C9894 sub_81C98A4: @ 81C98A4 push {lr} movs r0, 0x1 - bl sub_81C763C + bl GetSubstructPtr movs r1, 0x2 ldrsh r0, [r0, r1] pop {r1} @@ -3622,7 +2986,7 @@ sub_81C98A4: @ 81C98A4 sub_81C98B4: @ 81C98B4 push {lr} movs r0, 0x1 - bl sub_81C763C + bl GetSubstructPtr ldrh r0, [r0, 0x4] pop {r1} bx r1 @@ -3632,7 +2996,7 @@ sub_81C98B4: @ 81C98B4 sub_81C98C4: @ 81C98C4 push {lr} movs r0, 0x1 - bl sub_81C763C + bl GetSubstructPtr ldrh r0, [r0, 0x6] pop {r1} bx r1 @@ -3717,7 +3081,7 @@ sub_81C9958: @ 81C9958 push {r4,lr} ldr r1, =0x0000088c movs r0, 0x2 - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081C997A @@ -3742,7 +3106,7 @@ sub_81C9990: @ 81C9990 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 ldr r0, =gUnknown_086201A0 lsls r4, 2 @@ -3763,7 +3127,7 @@ sub_81C9990: @ 81C9990 sub_81C99C0: @ 81C99C0 push {lr} movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0] bl _call_via_r0 pop {r1} @@ -3774,7 +3138,7 @@ sub_81C99C0: @ 81C99C0 sub_81C99D4: @ 81C99D4 push {r4,lr} movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 bl sub_81CA7F4 ldrb r0, [r4, 0x8] @@ -3782,7 +3146,7 @@ sub_81C99D4: @ 81C99D4 bl sub_81C9FEC bl sub_81CA994 movs r0, 0x2 - bl sub_81C7650 + bl FreeSubstruct pop {r4} pop {r0} bx r0 @@ -3792,7 +3156,7 @@ sub_81C99D4: @ 81C99D4 sub_81C99FC: @ 81C99FC push {lr} movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x4] bl sub_81C70D8 pop {r1} @@ -3805,7 +3169,7 @@ sub_81C9A10: @ 81C9A10 sub sp, 0x4 adds r4, r0, 0 movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x9 bls _081C9A24 @@ -3832,7 +3196,7 @@ _081C9A34: _081C9A5C: ldr r0, =gUnknown_08620194 movs r1, 0x3 - bl sub_81C7B54 + bl InitBgTemplates ldr r1, =gPokenavMessageBox_Gfx movs r0, 0 str r0, [sp] @@ -4428,7 +3792,7 @@ _081C9F42: movs r0, 0 b _081C9FBE _081C9F52: - bl sub_81C7BE8 + bl IsDma3ManagerBusyWithBgCopy_ cmp r0, 0 bne _081C9FB8 bl sub_81C7880 @@ -4532,7 +3896,7 @@ sub_81CA02C: @ 81CA02C mov r7, r8 push {r7} movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr movs r2, 0 adds r0, 0x2C mov r8, r0 @@ -4582,7 +3946,7 @@ _081CA054: sub_81CA094: @ 81CA094 push {r4-r7,lr} movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr movs r1, 0 adds r7, r0, 0 adds r7, 0x2C @@ -4638,7 +4002,7 @@ sub_81CA0EC: @ 81CA0EC str r1, [sp, 0x14] str r2, [sp] movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr mov r10, r0 movs r0, 0x3 bl GetSpriteTileStartByTag @@ -4778,7 +4142,7 @@ sub_81CA20C: @ 81CA20C mov r7, r8 push {r7} movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr adds r6, r0, 0 bl sub_81C98A4 mov r8, r0 @@ -4833,7 +4197,7 @@ _081CA264: sub_81CA278: @ 81CA278 push {r4,r5,lr} movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 bl sub_81C98A4 adds r3, r0, 0 @@ -4886,7 +4250,7 @@ _081CA2B2: sub_81CA2DC: @ 81CA2DC push {r4-r6,lr} movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr adds r6, r0, 0 movs r5, 0 adds r4, r6, 0 @@ -4926,7 +4290,7 @@ _081CA316: sub_81CA324: @ 81CA324 push {r4,lr} movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr adds r3, r0, 0 movs r2, 0 ldr r4, =SpriteCallbackDummy @@ -5008,7 +4372,7 @@ sub_81CA3B4: @ 81CA3B4 push {r7} adds r4, r0, 0 movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr adds r7, r0, 0 movs r5, 0 mov r8, r5 @@ -5321,7 +4685,7 @@ _081CA5F6: cmp r0, 0xC bne _081CA638 movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr ldrb r1, [r0, 0xC] subs r1, 0x1 strb r1, [r0, 0xC] @@ -5345,7 +4709,7 @@ _081CA638: sub_81CA640: @ 81CA640 push {r4,lr} movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 ldr r0, =gUnknown_0862036C movs r1, 0x10 @@ -5385,7 +4749,7 @@ _081CA690: sub_81CA698: @ 81CA698 push {lr} movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x28] bl DestroySprite pop {r0} @@ -5426,7 +4790,7 @@ _081CA6DA: sub_81CA6E0: @ 81CA6E0 push {r4,lr} movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 ldr r0, =gUnknown_086202CC bl AddWindow @@ -5451,7 +4815,7 @@ sub_81CA714: @ 81CA714 push {r4-r6,lr} sub sp, 0xC movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 bl sub_81C98B4 ldr r1, =gUnknown_086202D4 @@ -5493,7 +4857,7 @@ sub_81CA770: @ 81CA770 push {r4-r6,lr} sub sp, 0xC movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 ldr r6, =gText_NoRibbonWinners movs r2, 0x1 @@ -5540,7 +4904,7 @@ sub_81CA7C4: @ 81CA7C4 sub_81CA7D4: @ 81CA7D4 push {r4,lr} movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 ldr r0, =sub_81CA808 movs r1, 0x2 @@ -5556,7 +4920,7 @@ sub_81CA7D4: @ 81CA7D4 sub_81CA7F4: @ 81CA7F4 push {lr} movs r0, 0x2 - bl sub_81C763C + bl GetSubstructPtr ldrb r0, [r0, 0xA] bl DestroyTask pop {r0} @@ -5738,7 +5102,7 @@ titlescreen_0: @ 81CA92C ldr r2, [r2, 0x8] bl ScanlineEffect_SetParams ldr r0, =sub_81CA914 - bl IndirectSetVBlankCallback + bl SetVBlankCallback_ ldr r0, =sub_81CA9EC movs r1, 0x3 bl CreateTask @@ -5763,7 +5127,7 @@ sub_81CA994: @ 81CA994 lsls r0, 24 lsrs r0, 24 bl DestroyTask - bl sub_81C760C + bl SetPokenavVBlankCallback pop {r0} bx r0 .pool @@ -5913,7 +5277,7 @@ sub_81CAAE8: @ 81CAAE8 movs r1, 0xD4 lsls r1, 1 movs r0, 0x5 - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081CAB1C @@ -5941,7 +5305,7 @@ _081CAB1E: sub_81CAB24: @ 81CAB24 push {lr} movs r0, 0x5 - bl sub_81C763C + bl GetSubstructPtr ldr r1, [r0, 0x18] bl _call_via_r1 pop {r1} @@ -5952,7 +5316,7 @@ sub_81CAB24: @ 81CAB24 sub_81CAB38: @ 81CAB38 push {lr} movs r0, 0x5 - bl sub_81C7650 + bl FreeSubstruct pop {r0} bx r0 thumb_func_end sub_81CAB38 @@ -6033,7 +5397,7 @@ _081CABD0: ands r0, r1 cmp r0, 0 beq _081CABF2 - bl sub_81C767C + bl GetPokenavMode cmp r0, 0x1 beq _081CABEC ldr r0, =sub_81CABFC @@ -6112,11 +5476,11 @@ _081CAC5E: bne _081CAC98 b _081CACA6 _081CAC64: - bl sub_81C767C + bl GetPokenavMode cmp r0, 0x1 bne _081CAC72 movs r0, 0x2 - bl sub_81C7688 + bl SetPokenavMode _081CAC72: ldr r0, =sub_81CACF8 str r0, [r4, 0x18] @@ -6220,7 +5584,7 @@ sub_81CAD20: @ 81CAD20 push {r4-r7,lr} adds r5, r0, 0 movs r0, 0x5 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 cmp r5, 0x1 beq _081CAD4C @@ -6367,7 +5731,7 @@ _081CAE24: sub_81CAE28: @ 81CAE28 push {lr} movs r0, 0x5 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x10] pop {r1} bx r1 @@ -6377,7 +5741,7 @@ sub_81CAE28: @ 81CAE28 sub_81CAE38: @ 81CAE38 push {lr} movs r0, 0x5 - bl sub_81C763C + bl GetSubstructPtr ldrh r0, [r0, 0xA] pop {r1} bx r1 @@ -6387,7 +5751,7 @@ sub_81CAE38: @ 81CAE38 sub_81CAE48: @ 81CAE48 push {lr} movs r0, 0x5 - bl sub_81C763C + bl GetSubstructPtr ldrh r0, [r0, 0xC] pop {r1} bx r1 @@ -6397,7 +5761,7 @@ sub_81CAE48: @ 81CAE48 sub_81CAE58: @ 81CAE58 push {lr} movs r0, 0x5 - bl sub_81C763C + bl GetSubstructPtr adds r1, r0, 0 ldrh r0, [r1, 0xA] ldrh r1, [r1, 0xC] @@ -6411,7 +5775,7 @@ sub_81CAE6C: @ 81CAE6C push {r4,lr} adds r4, r0, 0 movs r0, 0x5 - bl sub_81C763C + bl GetSubstructPtr adds r1, r0, 0 ldrh r0, [r1, 0xC] adds r4, r0 @@ -6434,7 +5798,7 @@ _081CAE8C: sub_81CAE94: @ 81CAE94 push {lr} movs r0, 0x5 - bl sub_81C763C + bl GetSubstructPtr adds r0, 0x1C pop {r1} bx r1 @@ -6445,7 +5809,7 @@ sub_81CAEA4: @ 81CAEA4 push {r4,lr} adds r4, r0, 0 movs r0, 0x5 - bl sub_81C763C + bl GetSubstructPtr lsls r4, 2 adds r0, r4 ldrb r0, [r0, 0x1D] @@ -6459,7 +5823,7 @@ sub_81CAEBC: @ 81CAEBC push {r4,lr} adds r4, r0, 0 movs r0, 0x5 - bl sub_81C763C + bl GetSubstructPtr lsls r1, r4, 2 adds r1, r0, r1 ldrb r0, [r1, 0x1C] @@ -6498,7 +5862,7 @@ sub_81CAF04: @ 81CAF04 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x5 - bl sub_81C763C + bl GetSubstructPtr lsls r1, r4, 2 adds r1, r0, r1 ldrb r0, [r1, 0x1C] @@ -6553,7 +5917,7 @@ sub_81CAF78: @ 81CAF78 adds r5, r0, 0 adds r6, r1, 0 movs r0, 0x5 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 movs r0, 0 strb r0, [r6] @@ -6598,7 +5962,7 @@ sub_81CAFD8: @ 81CAFD8 adds r4, r0, 0 adds r5, r1, 0 movs r0, 0x5 - bl sub_81C763C + bl GetSubstructPtr lsls r4, 2 adds r4, r0, r4 ldrb r0, [r4, 0x1C] @@ -6633,7 +5997,7 @@ _081CB012: sub_81CB01C: @ 81CB01C push {lr} movs r0, 0x5 - bl sub_81C763C + bl GetSubstructPtr ldrh r0, [r0] pop {r1} bx r1 @@ -6644,7 +6008,7 @@ sub_81CB02C: @ 81CB02C push {r4,lr} adds r4, r0, 0 movs r0, 0x5 - bl sub_81C763C + bl GetSubstructPtr adds r1, r0, 0 ldrh r0, [r1, 0x2] cmp r0, r4 @@ -6742,7 +6106,7 @@ sub_81CB0E4: @ 81CB0E4 push {r4-r7,lr} adds r5, r0, 0 movs r0, 0x5 - bl sub_81C763C + bl GetSubstructPtr adds r7, r0, 0 movs r6, 0x1 adds r5, 0x1 @@ -6783,7 +6147,7 @@ sub_81CB128: @ 81CB128 push {r4-r6,lr} adds r5, r0, 0 movs r0, 0x5 - bl sub_81C763C + bl GetSubstructPtr adds r1, r0, 0 movs r6, 0x1 negs r6, r6 @@ -6874,7 +6238,7 @@ _081CB1C8: sub_81CB1D0: @ 81CB1D0 push {r4,lr} movs r0, 0x5 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 bl sub_81C875C adds r1, r0, 0 @@ -6940,7 +6304,7 @@ sub_81CB260: @ 81CB260 push {r4,lr} ldr r1, =0x00002048 movs r0, 0x6 - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081CB294 @@ -6968,7 +6332,7 @@ sub_81CB29C: @ 81CB29C push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 ldr r0, =gUnknown_08622798 lsls r4, 2 @@ -6989,7 +6353,7 @@ sub_81CB29C: @ 81CB29C sub_81CB2CC: @ 81CB2CC push {lr} movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0] bl _call_via_r0 pop {r1} @@ -7000,7 +6364,7 @@ sub_81CB2CC: @ 81CB2CC sub_81CB2E0: @ 81CB2E0 push {r4,lr} movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 bl sub_81CC2B4 bl sub_81CBC1C @@ -7011,7 +6375,7 @@ sub_81CB2E0: @ 81CB2E0 ldrb r0, [r4, 0x14] bl RemoveWindow movs r0, 0x6 - bl sub_81C7650 + bl FreeSubstruct pop {r4} pop {r0} bx r0 @@ -7021,7 +6385,7 @@ sub_81CB2E0: @ 81CB2E0 sub_81CB310: @ 81CB310 push {lr} movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x4] bl sub_81C70D8 pop {r1} @@ -7034,7 +6398,7 @@ sub_81CB324: @ 81CB324 sub sp, 0x8 adds r4, r0, 0 movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x7 bls _081CB338 @@ -7059,7 +6423,7 @@ _081CB348: _081CB368: ldr r0, =gUnknown_0862278C movs r1, 0x3 - bl sub_81C7B54 + bl InitBgTemplates movs r0, 0x2 movs r1, 0 movs r2, 0 @@ -7234,7 +6598,7 @@ sub_81CB510: @ 81CB510 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081CB55E @@ -7303,7 +6667,7 @@ sub_81CB588: @ 81CB588 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081CB5D6 @@ -7372,7 +6736,7 @@ sub_81CB600: @ 81CB600 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081CB64E @@ -7441,7 +6805,7 @@ sub_81CB678: @ 81CB678 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081CB6C6 @@ -7510,7 +6874,7 @@ sub_81CB6F0: @ 81CB6F0 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0 beq _081CB706 @@ -7547,7 +6911,7 @@ sub_81CB734: @ 81CB734 movs r0, 0x5 bl PlaySE movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 bl sub_81CB01C adds r1, r0, 0 @@ -7566,7 +6930,7 @@ sub_81CB75C: @ 81CB75C push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0 beq _081CB772 @@ -7602,7 +6966,7 @@ sub_81CB7A0: @ 81CB7A0 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081CB7D4 @@ -7668,7 +7032,7 @@ sub_81CB824: @ 81CB824 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081CB85E @@ -7722,7 +7086,7 @@ sub_81CB888: @ 81CB888 push {r4-r6,lr} adds r5, r0, 0 movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 movs r6, 0 cmp r5, 0x6 @@ -7780,7 +7144,7 @@ _081CB904: bl sub_81C7BA4 b _081CB934 _081CB90C: - bl sub_81C7BE8 + bl IsDma3ManagerBusyWithBgCopy_ cmp r0, 0 bne _081CB8EC ldrb r0, [r4, 0xF] @@ -7810,7 +7174,7 @@ sub_81CB93C: @ 81CB93C push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081CB974 @@ -7860,7 +7224,7 @@ _081CB9A0: bl sub_81CC42C cmp r0, 0 bne _081CB9BA - bl sub_81C7BE8 + bl IsDma3ManagerBusyWithBgCopy_ cmp r0, 0 beq _081CB9BE _081CB9BA: @@ -7879,7 +7243,7 @@ sub_81CB9C8: @ 81CB9C8 push {r4,r5,lr} adds r5, r0, 0 movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 cmp r5, 0x4 bhi _081CBA60 @@ -7955,7 +7319,7 @@ sub_81CBA68: @ 81CBA68 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081CBA9C @@ -8011,7 +7375,7 @@ sub_81CBAD4: @ 81CBAD4 push {r4,r5,lr} adds r5, r0, 0 movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 cmp r5, 0x4 bhi _081CBB6C @@ -8933,7 +8297,7 @@ sub_81CC214: @ 81CC214 push {r4-r6,lr} sub sp, 0x8 movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr adds r6, r0, 0 movs r5, 0 ldr r4, =gUnknown_08622810 @@ -8998,7 +8362,7 @@ _081CC224: sub_81CC2B4: @ 81CC2B4 push {r4,lr} movs r0, 0x6 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 ldr r0, [r4, 0x1C] cmp r0, 0 @@ -9279,13 +8643,13 @@ sub_81CC4D4: @ 81CC4D4 push {r4,lr} movs r0, 0x3 movs r1, 0x14 - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081CC4F0 ldr r1, =0x00000884 movs r0, 0x10 - bl sub_81C761C + bl AllocSubstruct cmp r0, 0 bne _081CC4F8 _081CC4F0: @@ -9330,9 +8694,9 @@ sub_81CC524: @ 81CC524 orrs r0, r1 strb r0, [r3, 0x15] movs r0, 0x10 - bl sub_81C7650 + bl FreeSubstruct movs r0, 0x3 - bl sub_81C7650 + bl FreeSubstruct pop {r0} bx r0 .pool @@ -9342,7 +8706,7 @@ sub_81CC524: @ 81CC524 sub_81CC554: @ 81CC554 push {lr} movs r0, 0x3 - bl sub_81C763C + bl GetSubstructPtr ldr r1, [r0, 0x10] bl _call_via_r1 pop {r1} @@ -9428,7 +8792,7 @@ sub_81CC5DC: @ 81CC5DC sub_81CC5E4: @ 81CC5E4 push {lr} movs r0, 0x3 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0xC] pop {r1} bx r1 @@ -9439,7 +8803,7 @@ sub_81CC5F4: @ 81CC5F4 push {r4,lr} ldr r1, =0x00001948 movs r0, 0x4 - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081CC624 @@ -9465,7 +8829,7 @@ sub_81CC62C: @ 81CC62C push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x4 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 ldr r0, =gUnknown_086230E4 lsls r4, 2 @@ -9486,7 +8850,7 @@ sub_81CC62C: @ 81CC62C sub_81CC65C: @ 81CC65C push {lr} movs r0, 0x4 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0] bl _call_via_r0 pop {r1} @@ -9497,17 +8861,17 @@ sub_81CC65C: @ 81CC65C sub_81CC670: @ 81CC670 push {r4,lr} movs r0, 0x4 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 bl FreeRegionMapIconResources bl sub_81CC9EC ldrb r0, [r4, 0x8] bl RemoveWindow movs r0, 0x10 - bl sub_81C7650 + bl FreeSubstruct movs r0, 0x4 - bl sub_81C7650 - bl sub_81C760C + bl FreeSubstruct + bl SetPokenavVBlankCallback movs r0, 0 bl SetBgMode pop {r4} @@ -9530,7 +8894,7 @@ sub_81CC6A4: @ 81CC6A4 sub_81CC6BC: @ 81CC6BC push {lr} movs r0, 0x4 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x4] bl sub_81C70D8 pop {r1} @@ -9563,7 +8927,7 @@ sub_81CC6F4: @ 81CC6F4 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x4 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x7 bls _081CC706 @@ -9587,7 +8951,7 @@ _081CC714: .4byte _081CC82A _081CC734: movs r0, 0 - bl IndirectSetVBlankCallback + bl SetVBlankCallback_ movs r0, 0x1 bl HideBg movs r0, 0x2 @@ -9599,9 +8963,9 @@ _081CC734: ldr r4, =gUnknown_086230D8 adds r0, r4, 0 movs r1, 0x2 - bl sub_81C7B54 + bl InitBgTemplates movs r0, 0x10 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 adds r4, 0x4 bl sub_81CC6D0 @@ -9667,7 +9031,7 @@ _081CC7E2: movs r0, 0x2 bl ShowBg ldr r0, =sub_81CC6A4 - bl IndirectSetVBlankCallback + bl SetVBlankCallback_ b _081CC77C .pool _081CC804: @@ -9710,7 +9074,7 @@ sub_81CC848: @ 81CC848 push {r4,lr} adds r4, r0, 0 movs r0, 0x4 - bl sub_81C763C + bl GetSubstructPtr cmp r4, 0 beq _081CC85C cmp r4, 0x1 @@ -9769,7 +9133,7 @@ _081CC8A2: movs r0, 0 b _081CC8D2 _081CC8BE: - bl sub_81C7BE8 + bl IsDma3ManagerBusyWithBgCopy_ cmp r0, 0 beq _081CC8CA _081CC8C6: @@ -9790,7 +9154,7 @@ sub_81CC8D8: @ 81CC8D8 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x4 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081CC90C @@ -9835,7 +9199,7 @@ _081CC924: movs r0, 0 b _081CC954 _081CC940: - bl sub_81C7BE8 + bl IsDma3ManagerBusyWithBgCopy_ cmp r0, 0 beq _081CC94C _081CC948: @@ -9929,7 +9293,7 @@ _081CC9C6: sub_81CC9EC: @ 81CC9EC push {r4,r5,lr} movs r0, 0x4 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 movs r0, 0x6 bl FreeSpriteTilesByTag @@ -10055,7 +9419,7 @@ sub_81CCB0C: @ 81CCB0C sub sp, 0xC adds r4, r0, 0 movs r0, 0x10 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 ldrb r0, [r5, 0x2] cmp r0, 0x4 @@ -10318,7 +9682,7 @@ sub_81CCD34: @ 81CCD34 push {r4,lr} adds r4, r0, 0 movs r0, 0x4 - bl sub_81C763C + bl GetSubstructPtr adds r2, r0, 0 cmp r4, 0x15 ble _081CCD48 @@ -10467,7 +9831,7 @@ sub_81CCE58: @ 81CCE58 mov r7, r8 push {r7} movs r0, 0x4 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 bl sub_8124658 lsls r0, 24 @@ -10612,7 +9976,7 @@ _081CCF70: sub_81CCF78: @ 81CCF78 push {r4,lr} movs r0, 0x4 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 movs r0, 0x1 bl GetBgY @@ -10637,7 +10001,7 @@ sub_81CCFA4: @ 81CCFA4 push {r4-r6,lr} adds r4, r0, 0 movs r0, 0x4 - bl sub_81C763C + bl GetSubstructPtr movs r1, 0x1 ands r4, r1 lsls r5, r4, 2 @@ -10667,7 +10031,7 @@ sub_81CCFD8: @ 81CCFD8 push {r4,lr} ldr r1, =0x0000678c movs r0, 0xB - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081CD01C @@ -10698,7 +10062,7 @@ sub_81CD024: @ 81CD024 push {r4,lr} ldr r1, =0x0000678c movs r0, 0xB - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081CD068 @@ -10728,7 +10092,7 @@ _081CD06A: sub_81CD070: @ 81CD070 push {lr} movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr ldr r2, =0x00006304 adds r1, r0, r2 ldr r1, [r1] @@ -10743,7 +10107,7 @@ sub_81CD08C: @ 81CD08C push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x12 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 adds r0, r4, 0 bl sub_81CD1E4 @@ -10818,7 +10182,7 @@ sub_81CD110: @ 81CD110 adds r1, r4, r1 strb r0, [r1] movs r0, 0x12 - bl sub_81C763C + bl GetSubstructPtr ldrh r1, [r0, 0x2] lsls r1, 2 adds r0, r1 @@ -10886,7 +10250,7 @@ _081CD1B6: sub_81CD1C0: @ 81CD1C0 push {lr} movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr movs r1, 0xC6 lsls r1, 7 adds r0, r1 @@ -10894,10 +10258,10 @@ sub_81CD1C0: @ 81CD1C0 cmp r0, 0 bne _081CD1DA movs r0, 0x12 - bl sub_81C7650 + bl FreeSubstruct _081CD1DA: movs r0, 0xB - bl sub_81C7650 + bl FreeSubstruct pop {r0} bx r0 thumb_func_end sub_81CD1C0 @@ -10907,7 +10271,7 @@ sub_81CD1E4: @ 81CD1E4 push {r4,lr} adds r4, r0, 0 movs r0, 0x12 - bl sub_81C763C + bl GetSubstructPtr adds r2, r0, 0 movs r3, 0 ldr r0, =gMain @@ -10971,10 +10335,10 @@ sub_81CD258: @ 81CD258 lsrs r0, 24 mov r8, r0 movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 movs r0, 0x12 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 mov r0, r8 cmp r0, 0 @@ -11141,10 +10505,10 @@ _081CD3BA: sub_81CD3C4: @ 81CD3C4 push {r4,lr} movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 movs r0, 0x12 - bl sub_81C763C + bl GetSubstructPtr adds r2, r0, 0 ldr r1, =0x0000678a adds r0, r4, r1 @@ -11329,7 +10693,7 @@ sub_81CD548: @ 81CD548 lsrs r4, r0, 24 adds r5, r4, 0 movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr adds r1, r0, 0 cmp r4, 0x1 beq _081CD588 @@ -11449,7 +10813,7 @@ sub_81CD624: @ 81CD624 lsrs r2, 24 mov r10, r2 movs r0, 0x12 - bl sub_81C763C + bl GetSubstructPtr lsls r4, 2 adds r0, r4 ldrb r4, [r0, 0x4] @@ -11697,10 +11061,10 @@ sub_81CD824: @ 81CD824 lsls r1, 24 lsrs r6, r1, 24 movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 movs r0, 0x12 - bl sub_81C763C + bl GetSubstructPtr adds r7, r0, 0 mov r1, r8 lsls r0, r1, 16 @@ -11841,11 +11205,11 @@ _081CD95C: sub_81CD970: @ 81CD970 push {r4-r7,lr} movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr adds r7, r0, 0 ldr r1, =0x000006ac movs r0, 0x12 - bl sub_81C761C + bl AllocSubstruct adds r6, r0, 0 movs r0, 0xC6 lsls r0, 7 @@ -11908,7 +11272,7 @@ _081CD9C4: sub_81CD9F8: @ 81CD9F8 push {lr} movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr movs r1, 0xC6 lsls r1, 7 adds r2, r0, r1 @@ -11935,10 +11299,10 @@ sub_81CDA1C: @ 81CDA1C lsrs r1, 24 mov r9, r1 movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr mov r8, r0 movs r0, 0x12 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 lsls r0, r6, 16 asrs r5, r0, 16 @@ -12107,10 +11471,10 @@ sub_81CDB98: @ 81CDB98 lsrs r1, 24 mov r9, r1 movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr adds r7, r0, 0 movs r0, 0x12 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 lsls r0, r6, 16 asrs r5, r0, 16 @@ -12187,7 +11551,7 @@ _081CDC3E: sub_81CDC50: @ 81CDC50 push {lr} movs r0, 0x12 - bl sub_81C763C + bl GetSubstructPtr ldrh r0, [r0] pop {r1} bx r1 @@ -12197,7 +11561,7 @@ sub_81CDC50: @ 81CDC50 sub_81CDC60: @ 81CDC60 push {lr} movs r0, 0x12 - bl sub_81C763C + bl GetSubstructPtr ldrh r0, [r0, 0x2] pop {r1} bx r1 @@ -12207,7 +11571,7 @@ sub_81CDC60: @ 81CDC60 sub_81CDC70: @ 81CDC70 push {lr} movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr ldr r1, =0x00006428 adds r0, r1 pop {r1} @@ -12219,7 +11583,7 @@ sub_81CDC70: @ 81CDC70 sub_81CDC84: @ 81CDC84 push {lr} movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr ldr r1, =0x00006786 adds r0, r1 ldrb r0, [r0] @@ -12232,7 +11596,7 @@ sub_81CDC84: @ 81CDC84 sub_81CDC9C: @ 81CDC9C push {lr} movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr ldr r1, =0x00006302 adds r0, r1 ldrb r0, [r0] @@ -12248,7 +11612,7 @@ sub_81CDCB4: @ 81CDCB4 lsls r4, 24 lsrs r4, 24 movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr lsls r4, 13 movs r1, 0xC0 lsls r1, 2 @@ -12266,7 +11630,7 @@ sub_81CDCD4: @ 81CDCD4 lsls r4, 24 lsrs r4, 24 movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr lsls r4, 7 adds r0, r4 pop {r4} @@ -12278,7 +11642,7 @@ sub_81CDCD4: @ 81CDCD4 sub_81CDCEC: @ 81CDCEC push {lr} movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr ldr r1, =0x00006789 adds r0, r1 ldrb r0, [r0] @@ -12294,7 +11658,7 @@ sub_81CDD04: @ 81CDD04 lsls r4, 24 lsrs r4, 24 movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr lsls r4, 6 ldr r1, =0x00006368 adds r4, r1 @@ -12312,7 +11676,7 @@ sub_81CDD24: @ 81CDD24 lsls r4, 24 lsrs r4, 24 movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr lsls r1, r4, 1 adds r1, r4 lsls r1, 3 @@ -12329,7 +11693,7 @@ sub_81CDD24: @ 81CDD24 sub_81CDD48: @ 81CDD48 push {lr} movs r0, 0x12 - bl sub_81C763C + bl GetSubstructPtr ldrh r1, [r0, 0x2] lsls r1, 2 adds r0, r1 @@ -12342,7 +11706,7 @@ sub_81CDD48: @ 81CDD48 sub_81CDD5C: @ 81CDD5C push {lr} movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr movs r1, 0xC6 lsls r1, 7 adds r0, r1 @@ -12362,7 +11726,7 @@ _081CDD76: sub_81CDD7C: @ 81CDD7C push {lr} movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr adds r2, r0, 0 movs r1, 0xC6 lsls r1, 7 @@ -12391,7 +11755,7 @@ _081CDDA6: sub_81CDDB0: @ 81CDDB0 push {lr} movs r0, 0xB - bl sub_81C763C + bl GetSubstructPtr ldr r2, =0x00006786 adds r1, r0, r2 ldrb r1, [r1] @@ -12411,7 +11775,7 @@ sub_81CDDD4: @ 81CDDD4 push {r4,lr} ldr r1, =0x000038ac movs r0, 0xC - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081CDE24 @@ -12447,7 +11811,7 @@ sub_81CDE2C: @ 81CDE2C push {r4,r5,lr} adds r4, r0, 0 movs r0, 0xC - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 ldr r0, =gUnknown_08623384 lsls r4, 2 @@ -12470,7 +11834,7 @@ sub_81CDE2C: @ 81CDE2C sub_81CDE64: @ 81CDE64 push {lr} movs r0, 0xC - bl sub_81C763C + bl GetSubstructPtr ldr r1, =0x00001810 adds r0, r1 ldr r0, [r0] @@ -12484,7 +11848,7 @@ sub_81CDE64: @ 81CDE64 sub_81CDE80: @ 81CDE80 push {lr} movs r0, 0xC - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0] bl sub_81C70D8 pop {r1} @@ -12497,7 +11861,7 @@ sub_81CDE94: @ 81CDE94 sub sp, 0xC adds r4, r0, 0 movs r0, 0xC - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x14 bls _081CDEA8 @@ -12542,7 +11906,7 @@ _081CDF16: _081CDF18: ldr r0, =gUnknown_08623358 movs r1, 0x3 - bl sub_81C7B54 + bl InitBgTemplates movs r0, 0x1 movs r1, 0 movs r2, 0 @@ -12853,7 +12217,7 @@ _081CE218: bne _081CE2C0 _081CE230: ldr r0, =sub_81CEE44 - bl IndirectSetVBlankCallback + bl SetVBlankCallback_ b _081CDFB0 .pool _081CE23C: @@ -12924,7 +12288,7 @@ sub_81CE2D0: @ 81CE2D0 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0xC - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081CE308 @@ -13006,7 +12370,7 @@ sub_81CE37C: @ 81CE37C push {r4-r6,lr} adds r4, r0, 0 movs r0, 0xC - bl sub_81C763C + bl GetSubstructPtr adds r6, r0, 0 bl sub_81CDC70 adds r2, r0, 0 @@ -13160,7 +12524,7 @@ sub_81CE4D8: @ 81CE4D8 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0xC - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x8 bhi _081CE5DC @@ -13282,7 +12646,7 @@ sub_81CE5E4: @ 81CE5E4 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0xC - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x7 bhi _081CE6B2 @@ -13408,7 +12772,7 @@ _081CE6E6: bl sub_81C7BA4 b _081CE6E2 _081CE6EE: - bl sub_81C7BE8 + bl IsDma3ManagerBusyWithBgCopy_ cmp r0, 0x1 bne _081CE6E2 movs r0, 0x2 @@ -13444,7 +12808,7 @@ _081CE71E: bl sub_81C7BA4 b _081CE71A _081CE726: - bl sub_81C7BE8 + bl IsDma3ManagerBusyWithBgCopy_ cmp r0, 0x1 bne _081CE71A movs r0, 0x2 @@ -13486,7 +12850,7 @@ sub_81CE754: @ 81CE754 lsls r2, 24 lsrs r5, r2, 24 movs r0, 0xC - bl sub_81C763C + bl GetSubstructPtr adds r6, r0, 0 cmp r4, 0x1 beq _081CE7B8 @@ -13700,7 +13064,7 @@ _081CE926: sub_81CE934: @ 81CE934 push {r4,lr} movs r0, 0xC - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 ldr r1, =0x00001822 adds r0, r4, r1 @@ -13798,7 +13162,7 @@ sub_81CE9E4: @ 81CE9E4 push {r5-r7} sub sp, 0x58 movs r0, 0xC - bl sub_81C763C + bl GetSubstructPtr adds r6, r0, 0 add r4, sp, 0x20 add r5, sp, 0x38 @@ -14101,7 +13465,7 @@ _081CEC8E: sub_81CECA0: @ 81CECA0 push {r4,lr} movs r0, 0xC - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 movs r1, 0xC1 lsls r1, 5 @@ -14136,7 +13500,7 @@ _081CECF0: bl sub_81CEBF4 bl sub_81CEE68 movs r0, 0xC - bl sub_81C7650 + bl FreeSubstruct pop {r4} pop {r0} bx r0 @@ -14147,7 +13511,7 @@ sub_81CED10: @ 81CED10 push {r4,lr} adds r4, r0, 0 movs r0, 0xC - bl sub_81C763C + bl GetSubstructPtr ldr r1, =0x00001814 adds r0, r1 ldrh r0, [r0] @@ -14168,7 +13532,7 @@ sub_81CED30: @ 81CED30 lsls r0, 24 lsrs r6, r0, 24 movs r0, 0xC - bl sub_81C763C + bl GetSubstructPtr mov r8, r0 ldr r7, =0x00001816 add r7, r8 @@ -14291,7 +13655,7 @@ sub_81CEE44: @ 81CEE44 thumb_func_start sub_81CEE68 sub_81CEE68: @ 81CEE68 push {lr} - bl sub_81C760C + bl SetPokenavVBlankCallback pop {r0} bx r0 thumb_func_end sub_81CEE68 @@ -14381,7 +13745,7 @@ _081CEF0C: sub_81CEF14: @ 81CEF14 push {r4,lr} movs r0, 0xC - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 bl sub_81CDD5C cmp r0, 0x1 @@ -14404,13 +13768,13 @@ sub_81CEF3C: @ 81CEF3C push {r4,lr} movs r0, 0x7 movs r1, 0x24 - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081CEF90 ldr r1, =0x000006ac movs r0, 0x12 - bl sub_81C761C + bl AllocSubstruct str r0, [r4, 0x20] cmp r0, 0 beq _081CEF90 @@ -14444,12 +13808,12 @@ sub_81CEF98: @ 81CEF98 push {r4,lr} movs r0, 0x7 movs r1, 0x24 - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081CEFD4 movs r0, 0x12 - bl sub_81C763C + bl GetSubstructPtr str r0, [r4, 0x20] ldr r0, =sub_81CF030 str r0, [r4] @@ -14476,7 +13840,7 @@ _081CEFD6: sub_81CEFDC: @ 81CEFDC push {lr} movs r0, 0x7 - bl sub_81C763C + bl GetSubstructPtr ldr r1, [r0] bl _call_via_r1 pop {r1} @@ -14487,15 +13851,15 @@ sub_81CEFDC: @ 81CEFDC sub_81CEFF0: @ 81CEFF0 push {lr} movs r0, 0x7 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x1C] cmp r0, 0 bne _081CF004 movs r0, 0x12 - bl sub_81C7650 + bl FreeSubstruct _081CF004: movs r0, 0x7 - bl sub_81C7650 + bl FreeSubstruct pop {r0} bx r0 thumb_func_end sub_81CEFF0 @@ -14607,7 +13971,7 @@ sub_81CF0B8: @ 81CF0B8 sub_81CF0C0: @ 81CF0C0 push {lr} movs r0, 0x7 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x18] pop {r1} bx r1 @@ -14617,7 +13981,7 @@ sub_81CF0C0: @ 81CF0C0 sub_81CF0D0: @ 81CF0D0 push {lr} movs r0, 0x7 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x20] adds r0, 0x4 pop {r1} @@ -14628,7 +13992,7 @@ sub_81CF0D0: @ 81CF0D0 sub_81CF0E0: @ 81CF0E0 push {lr} movs r0, 0x7 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x20] ldrh r0, [r0] pop {r1} @@ -14639,7 +14003,7 @@ sub_81CF0E0: @ 81CF0E0 sub_81CF0F0: @ 81CF0F0 push {r4,lr} movs r0, 0x7 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 bl sub_81C875C ldr r1, [r4, 0x20] @@ -14655,7 +14019,7 @@ sub_81CF0F0: @ 81CF0F0 sub_81CF10C: @ 81CF10C push {lr} movs r0, 0x7 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x20] ldrh r0, [r0, 0x2] pop {r1} @@ -14680,7 +14044,7 @@ sub_81CF134: @ 81CF134 push {r4-r6,lr} sub sp, 0x4 movs r0, 0x7 - bl sub_81C763C + bl GetSubstructPtr adds r6, r0, 0 ldr r0, [r6, 0x20] movs r1, 0 @@ -14746,7 +14110,7 @@ _081CF1AA: sub_81CF1C4: @ 81CF1C4 push {lr} movs r0, 0x7 - bl sub_81C763C + bl GetSubstructPtr movs r1, 0 str r1, [r0, 0x10] str r1, [r0, 0xC] @@ -14762,7 +14126,7 @@ sub_81CF1D8: @ 81CF1D8 push {r7} sub sp, 0x4 movs r0, 0x7 - bl sub_81C763C + bl GetSubstructPtr adds r6, r0, 0 ldr r5, [r6, 0xC] ldr r4, [r6, 0x10] @@ -14839,7 +14203,7 @@ _081CF26A: sub_81CF278: @ 81CF278 push {r4-r6,lr} movs r0, 0x7 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 ldr r0, [r5, 0x20] ldrh r6, [r0] @@ -14950,7 +14314,7 @@ sub_81CF330: @ 81CF330 movs r1, 0x81 lsls r1, 4 movs r0, 0x8 - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081CF360 @@ -14979,7 +14343,7 @@ sub_81CF368: @ 81CF368 movs r1, 0x81 lsls r1, 4 movs r0, 0x8 - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081CF398 @@ -15006,7 +14370,7 @@ sub_81CF3A0: @ 81CF3A0 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x8 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 ldr r0, =gUnknown_08623598 lsls r4, 2 @@ -15027,7 +14391,7 @@ sub_81CF3A0: @ 81CF3A0 sub_81CF3D0: @ 81CF3D0 push {lr} movs r0, 0x8 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0] bl _call_via_r0 pop {r1} @@ -15038,7 +14402,7 @@ sub_81CF3D0: @ 81CF3D0 sub_81CF3E4: @ 81CF3E4 push {lr} movs r0, 0x8 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x4] bl sub_81C70D8 pop {r1} @@ -15049,13 +14413,13 @@ sub_81CF3E4: @ 81CF3E4 sub_81CF3F8: @ 81CF3F8 push {r4,lr} movs r0, 0x8 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 bl sub_81C8234 ldrb r0, [r4, 0x8] bl RemoveWindow movs r0, 0x8 - bl sub_81C7650 + bl FreeSubstruct pop {r4} pop {r0} bx r0 @@ -15067,7 +14431,7 @@ sub_81CF418: @ 81CF418 sub sp, 0x4 adds r4, r0, 0 movs r0, 0x8 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x5 bls _081CF42C @@ -15090,7 +14454,7 @@ _081CF43C: _081CF454: ldr r0, =gUnknown_08623590 movs r1, 0x2 - bl sub_81C7B54 + bl InitBgTemplates ldr r1, =gUnknown_086233E4 movs r0, 0 str r0, [sp] @@ -15214,7 +14578,7 @@ sub_81CF578: @ 81CF578 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x8 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081CF5C6 @@ -15282,7 +14646,7 @@ sub_81CF5F0: @ 81CF5F0 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x8 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081CF63E @@ -15350,7 +14714,7 @@ sub_81CF668: @ 81CF668 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x8 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081CF6B6 @@ -15418,7 +14782,7 @@ sub_81CF6E0: @ 81CF6E0 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x8 - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081CF72E @@ -15773,13 +15137,13 @@ sub_81CF9BC: @ 81CF9BC push {r4,lr} movs r0, 0x9 movs r1, 0x20 - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081CF9FC ldr r1, =0x000006ac movs r0, 0x12 - bl sub_81C761C + bl AllocSubstruct str r0, [r4, 0x1C] cmp r0, 0 beq _081CF9FC @@ -15807,12 +15171,12 @@ sub_81CFA04: @ 81CFA04 push {r4,lr} movs r0, 0x9 movs r1, 0x20 - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081CFA2C movs r0, 0x12 - bl sub_81C763C + bl GetSubstructPtr str r0, [r4, 0x1C] ldr r0, =sub_81CFA88 str r0, [r4] @@ -15832,7 +15196,7 @@ _081CFA2E: sub_81CFA34: @ 81CFA34 push {lr} movs r0, 0x9 - bl sub_81C763C + bl GetSubstructPtr ldr r1, [r0] bl _call_via_r1 pop {r1} @@ -15843,15 +15207,15 @@ sub_81CFA34: @ 81CFA34 sub_81CFA48: @ 81CFA48 push {lr} movs r0, 0x9 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x18] cmp r0, 0 bne _081CFA5C movs r0, 0x12 - bl sub_81C7650 + bl FreeSubstruct _081CFA5C: movs r0, 0x9 - bl sub_81C7650 + bl FreeSubstruct pop {r0} bx r0 thumb_func_end sub_81CFA48 @@ -15963,7 +15327,7 @@ sub_81CFB10: @ 81CFB10 sub_81CFB18: @ 81CFB18 push {lr} movs r0, 0x9 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x14] pop {r1} bx r1 @@ -15973,7 +15337,7 @@ sub_81CFB18: @ 81CFB18 sub_81CFB28: @ 81CFB28 push {lr} movs r0, 0x9 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x1C] adds r0, 0x4 pop {r1} @@ -15984,7 +15348,7 @@ sub_81CFB28: @ 81CFB28 sub_81CFB38: @ 81CFB38 push {lr} movs r0, 0x9 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x1C] ldrh r0, [r0] pop {r1} @@ -15995,7 +15359,7 @@ sub_81CFB38: @ 81CFB38 sub_81CFB48: @ 81CFB48 push {r4,lr} movs r0, 0x9 - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 bl sub_81C875C ldr r1, [r4, 0x1C] @@ -16011,7 +15375,7 @@ sub_81CFB48: @ 81CFB48 sub_81CFB64: @ 81CFB64 push {lr} movs r0, 0x9 - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x1C] ldrh r0, [r0, 0x2] pop {r1} @@ -16036,7 +15400,7 @@ sub_81CFB8C: @ 81CFB8C push {r4-r6,lr} sub sp, 0x4 movs r0, 0x9 - bl sub_81C763C + bl GetSubstructPtr adds r6, r0, 0 ldr r0, [r6, 0x1C] movs r1, 0 @@ -16108,7 +15472,7 @@ _081CFC10: sub_81CFC2C: @ 81CFC2C push {lr} movs r0, 0x9 - bl sub_81C763C + bl GetSubstructPtr movs r1, 0 str r1, [r0, 0x10] str r1, [r0, 0xC] @@ -16125,7 +15489,7 @@ sub_81CFC40: @ 81CFC40 push {r6,r7} sub sp, 0x4 movs r0, 0x9 - bl sub_81C763C + bl GetSubstructPtr mov r8, r0 ldr r7, [r0, 0xC] ldr r6, [r0, 0x10] @@ -16336,7 +15700,7 @@ sub_81CFDD0: @ 81CFDD0 movs r1, 0x81 lsls r1, 4 movs r0, 0xA - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081CFE00 @@ -16365,7 +15729,7 @@ sub_81CFE08: @ 81CFE08 movs r1, 0x81 lsls r1, 4 movs r0, 0xA - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081CFE38 @@ -16392,7 +15756,7 @@ sub_81CFE40: @ 81CFE40 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0xA - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 ldr r0, =gUnknown_086237B8 lsls r4, 2 @@ -16413,7 +15777,7 @@ sub_81CFE40: @ 81CFE40 sub_81CFE70: @ 81CFE70 push {lr} movs r0, 0xA - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0] bl _call_via_r0 pop {r1} @@ -16424,7 +15788,7 @@ sub_81CFE70: @ 81CFE70 sub_81CFE84: @ 81CFE84 push {lr} movs r0, 0xA - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x4] bl sub_81C70D8 pop {r1} @@ -16435,13 +15799,13 @@ sub_81CFE84: @ 81CFE84 sub_81CFE98: @ 81CFE98 push {r4,lr} movs r0, 0xA - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 bl sub_81C8234 ldrb r0, [r4, 0x8] bl RemoveWindow movs r0, 0xA - bl sub_81C7650 + bl FreeSubstruct pop {r4} pop {r0} bx r0 @@ -16453,7 +15817,7 @@ sub_81CFEB8: @ 81CFEB8 sub sp, 0x4 adds r4, r0, 0 movs r0, 0xA - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x5 bls _081CFECC @@ -16476,7 +15840,7 @@ _081CFEDC: _081CFEF4: ldr r0, =gUnknown_086237B0 movs r1, 0x2 - bl sub_81C7B54 + bl InitBgTemplates ldr r1, =gUnknown_08623604 movs r0, 0 str r0, [sp] @@ -16588,7 +15952,7 @@ sub_81CFFFC: @ 81CFFFC push {r4,r5,lr} adds r4, r0, 0 movs r0, 0xA - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081D004A @@ -16656,7 +16020,7 @@ sub_81D0074: @ 81D0074 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0xA - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081D00C2 @@ -16724,7 +16088,7 @@ sub_81D00EC: @ 81D00EC push {r4,r5,lr} adds r4, r0, 0 movs r0, 0xA - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081D013A @@ -16792,7 +16156,7 @@ sub_81D0164: @ 81D0164 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0xA - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081D01B2 @@ -17158,12 +16522,12 @@ sub_81D0450: @ 81D0450 push {r4,lr} movs r0, 0xD movs r1, 0x9C - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081D0498 movs r0, 0x12 - bl sub_81C763C + bl GetSubstructPtr str r0, [r4, 0x8] cmp r0, 0 beq _081D0498 @@ -17194,7 +16558,7 @@ _081D049A: sub_81D04A0: @ 81D04A0 push {lr} movs r0, 0xD - bl sub_81C763C + bl GetSubstructPtr adds r1, r0, 0 adds r1, 0x98 ldr r1, [r1] @@ -17207,7 +16571,7 @@ sub_81D04A0: @ 81D04A0 sub_81D04B8: @ 81D04B8 push {lr} movs r0, 0xD - bl sub_81C7650 + bl FreeSubstruct pop {r0} bx r0 thumb_func_end sub_81D04B8 @@ -17513,7 +16877,7 @@ _081D06BE: sub_81D06C4: @ 81D06C4 push {lr} movs r0, 0xD - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x8] ldrh r0, [r0, 0x2] pop {r1} @@ -17524,7 +16888,7 @@ sub_81D06C4: @ 81D06C4 sub_81D06D4: @ 81D06D4 push {lr} movs r0, 0xD - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x8] ldrh r0, [r0] pop {r1} @@ -17538,7 +16902,7 @@ sub_81D06E4: @ 81D06E4 adds r7, r1, 0 adds r6, r2, 0 movs r0, 0xD - bl sub_81C763C + bl GetSubstructPtr ldr r1, [r0, 0x8] ldrh r0, [r1, 0x2] lsls r0, 2 @@ -17594,7 +16958,7 @@ sub_81D0760: @ 81D0760 adds r6, r1, 0 adds r7, r2, 0 movs r0, 0xD - bl sub_81C763C + bl GetSubstructPtr ldr r1, [r0, 0x8] ldrh r0, [r1, 0x2] lsls r0, 2 @@ -17648,7 +17012,7 @@ _081D07D0: sub_81D07D8: @ 81D07D8 push {lr} movs r0, 0xD - bl sub_81C763C + bl GetSubstructPtr ldr r1, [r0, 0x8] ldrh r0, [r1, 0x2] lsls r0, 2 @@ -17815,7 +17179,7 @@ sub_81D0914: @ 81D0914 push {r4,lr} adds r4, r0, 0 movs r0, 0xD - bl sub_81C763C + bl GetSubstructPtr ldrh r1, [r0, 0x10] str r1, [r4] adds r0, 0x14 @@ -17829,7 +17193,7 @@ sub_81D092C: @ 81D092C push {r4,lr} adds r4, r0, 0 movs r0, 0xD - bl sub_81C763C + bl GetSubstructPtr ldrh r1, [r0, 0x12] str r1, [r4] adds r0, 0x78 @@ -17842,7 +17206,7 @@ sub_81D092C: @ 81D092C sub_81D0944: @ 81D0944 push {lr} movs r0, 0xD - bl sub_81C763C + bl GetSubstructPtr ldrh r0, [r0, 0xC] pop {r1} bx r1 @@ -17852,7 +17216,7 @@ sub_81D0944: @ 81D0944 sub_81D0954: @ 81D0954 push {lr} movs r0, 0xD - bl sub_81C763C + bl GetSubstructPtr adds r1, r0, 0 ldrh r0, [r1, 0xC] cmp r0, 0x18 @@ -17876,7 +17240,7 @@ sub_81D0978: @ 81D0978 push {r4,lr} ldr r1, =0x0000101c movs r0, 0xE - bl sub_81C761C + bl AllocSubstruct adds r4, r0, 0 cmp r4, 0 beq _081D09A8 @@ -17902,7 +17266,7 @@ sub_81D09B0: @ 81D09B0 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0xE - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 ldr r0, =gUnknown_08624BA0 lsls r4, 2 @@ -17923,7 +17287,7 @@ sub_81D09B0: @ 81D09B0 sub_81D09E0: @ 81D09E0 push {lr} movs r0, 0xE - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0] bl _call_via_r0 pop {r1} @@ -17934,7 +17298,7 @@ sub_81D09E0: @ 81D09E0 sub_81D09F4: @ 81D09F4 push {r4,lr} movs r0, 0xE - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 ldrb r0, [r4, 0xA] bl RemoveWindow @@ -17963,7 +17327,7 @@ sub_81D09F4: @ 81D09F4 ldr r0, [r4, 0x14] bl DestroySprite movs r0, 0xE - bl sub_81C7650 + bl FreeSubstruct pop {r4} pop {r0} bx r0 @@ -17973,7 +17337,7 @@ sub_81D09F4: @ 81D09F4 sub_81D0A58: @ 81D0A58 push {lr} movs r0, 0xE - bl sub_81C763C + bl GetSubstructPtr ldr r0, [r0, 0x4] bl sub_81C70D8 pop {r1} @@ -17986,7 +17350,7 @@ sub_81D0A6C: @ 81D0A6C sub sp, 0x8 adds r4, r0, 0 movs r0, 0xE - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x9 bls _081D0A80 @@ -18013,7 +17377,7 @@ _081D0A90: _081D0AB8: ldr r0, =gUnknown_08624B98 movs r1, 0x2 - bl sub_81C7B54 + bl InitBgTemplates ldr r1, =gUnknown_08DDE030 movs r0, 0 str r0, [sp] @@ -18215,7 +17579,7 @@ sub_81D0C84: @ 81D0C84 push {r4,r5,lr} adds r5, r0, 0 movs r0, 0xE - bl sub_81C763C + bl GetSubstructPtr adds r4, r0, 0 cmp r5, 0x6 bhi _081D0D24 @@ -18295,7 +17659,7 @@ sub_81D0D2C: @ 81D0D2C push {r4,r5,lr} adds r4, r0, 0 movs r0, 0xE - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081D0D5C @@ -18347,7 +17711,7 @@ sub_81D0D8C: @ 81D0D8C push {r4,r5,lr} adds r4, r0, 0 movs r0, 0xE - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081D0DC0 @@ -18408,7 +17772,7 @@ sub_81D0E00: @ 81D0E00 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0xE - bl sub_81C763C + bl GetSubstructPtr adds r5, r0, 0 cmp r4, 0x1 beq _081D0E30 |