diff options
Diffstat (limited to 'asm/text.s')
-rw-r--r-- | asm/text.s | 3592 |
1 files changed, 0 insertions, 3592 deletions
diff --git a/asm/text.s b/asm/text.s deleted file mode 100644 index 659b4c622..000000000 --- a/asm/text.s +++ /dev/null @@ -1,3592 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start CopyGlyphToWindow -@ int CopyGlyphToWindow(struct TextPrinter *x) -CopyGlyphToWindow: @ 8004DA0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8C - adds r3, r0, 0 - ldrb r1, [r3, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, =gUnknown_02020004 - adds r1, r0, r1 - adds r2, r1, 0 - ldrb r7, [r1, 0x3] - lsls r0, r7, 3 - ldrb r6, [r3, 0x8] - subs r4, r0, r6 - ldr r5, =gUnknown_03002F90 - adds r0, r5, 0 - adds r0, 0x80 - ldrb r0, [r0] - cmp r4, r0 - ble _08004DD2 - adds r4, r0, 0 -_08004DD2: - ldrb r0, [r1, 0x4] - lsls r0, 3 - ldrb r3, [r3, 0x9] - subs r0, r3 - adds r1, r5, 0 - adds r1, 0x81 - ldrb r1, [r1] - cmp r0, r1 - ble _08004DE6 - adds r0, r1, 0 -_08004DE6: - str r6, [sp] - mov r8, r3 - adds r3, r5, 0 - ldr r2, [r2, 0x8] - mov r9, r2 - lsls r1, r7, 5 - str r1, [sp, 0x4] - cmp r4, 0x8 - ble _08004DFA - b _08004F94 -_08004DFA: - cmp r0, 0x8 - bgt _08004E84 - mov r1, r8 - str r3, [sp, 0x8] - adds r2, r6, 0 - adds r2, r4 - mov r8, r2 - adds r0, r1, r0 - str r0, [sp, 0xC] - str r6, [sp, 0x10] - cmp r1, r0 - bcc _08004E14 - b _080052AA -_08004E14: - ldr r3, [sp, 0x8] - ldm r3!, {r5} - str r3, [sp, 0x8] - ldr r4, [sp, 0x10] - adds r0, r1, 0x1 - mov r10, r0 - cmp r4, r8 - bcs _08004E72 - movs r2, 0x7 - mov r12, r2 - lsrs r0, r1, 3 - ldr r2, [sp, 0x4] - adds r3, r0, 0 - muls r3, r2 - adds r7, r3, 0 - mov r3, r12 - ands r1, r3 - lsls r6, r1, 2 -_08004E38: - adds r3, r5, 0 - movs r0, 0xF - ands r3, r0 - cmp r3, 0 - beq _08004E6A - lsrs r2, r4, 3 - lsls r2, 5 - add r2, r9 - adds r0, r4, 0 - mov r1, r12 - ands r0, r1 - lsrs r0, 1 - adds r2, r0 - adds r2, r7 - adds r2, r6 - movs r1, 0x1 - ands r1, r4 - lsls r1, 2 - lsls r3, r1 - movs r0, 0xF0 - asrs r0, r1 - ldrb r1, [r2] - ands r0, r1 - orrs r3, r0 - strb r3, [r2] -_08004E6A: - lsrs r5, 4 - adds r4, 0x1 - cmp r4, r8 - bcc _08004E38 -_08004E72: - mov r1, r10 - ldr r2, [sp, 0xC] - cmp r1, r2 - bcc _08004E14 - b _080052AA - .pool -_08004E84: - mov r1, r8 - str r3, [sp, 0x14] - ldr r3, [sp] - adds r3, r4 - mov r12, r3 - adds r2, r1, 0 - adds r2, 0x8 - str r2, [sp, 0x18] - ldr r3, [sp] - str r3, [sp, 0x1C] - mov r2, r12 - str r2, [sp, 0x74] - ldr r3, [sp, 0x18] - str r3, [sp, 0x88] - subs r0, 0x8 - str r0, [sp, 0x80] - cmp r1, r3 - bcs _08004F0E -_08004EA8: - ldr r0, [sp, 0x14] - ldm r0!, {r5} - str r0, [sp, 0x14] - ldr r4, [sp, 0x1C] - adds r2, r1, 0x1 - mov r8, r2 - cmp r4, r12 - bcs _08004F06 - movs r3, 0x7 - mov r10, r3 - lsrs r0, r1, 3 - ldr r3, [sp, 0x4] - adds r2, r0, 0 - muls r2, r3 - adds r7, r2, 0 - mov r0, r10 - ands r1, r0 - lsls r6, r1, 2 -_08004ECC: - adds r3, r5, 0 - movs r1, 0xF - ands r3, r1 - cmp r3, 0 - beq _08004EFE - lsrs r2, r4, 3 - lsls r2, 5 - add r2, r9 - adds r0, r4, 0 - mov r1, r10 - ands r0, r1 - lsrs r0, 1 - adds r2, r0 - adds r2, r7 - adds r2, r6 - movs r1, 0x1 - ands r1, r4 - lsls r1, 2 - lsls r3, r1 - movs r0, 0xF0 - asrs r0, r1 - ldrb r1, [r2] - ands r0, r1 - orrs r3, r0 - strb r3, [r2] -_08004EFE: - lsrs r5, 4 - adds r4, 0x1 - cmp r4, r12 - bcc _08004ECC -_08004F06: - mov r1, r8 - ldr r2, [sp, 0x18] - cmp r1, r2 - bcc _08004EA8 -_08004F0E: - ldr r1, [sp, 0x88] - ldr r3, =gUnknown_03002FD0 - str r3, [sp, 0x20] - ldr r0, [sp, 0x74] - mov r8, r0 - ldr r2, [sp, 0x80] - adds r2, r1, r2 - str r2, [sp, 0x24] - ldr r3, [sp] - str r3, [sp, 0x28] - cmp r1, r2 - bcc _08004F28 - b _080052AA -_08004F28: - ldr r0, [sp, 0x20] - ldm r0!, {r5} - str r0, [sp, 0x20] - ldr r4, [sp, 0x28] - adds r2, r1, 0x1 - mov r10, r2 - cmp r4, r8 - bcs _08004F86 - movs r3, 0x7 - mov r12, r3 - lsrs r0, r1, 3 - ldr r3, [sp, 0x4] - adds r2, r0, 0 - muls r2, r3 - adds r7, r2, 0 - mov r0, r12 - ands r1, r0 - lsls r6, r1, 2 -_08004F4C: - adds r3, r5, 0 - movs r1, 0xF - ands r3, r1 - cmp r3, 0 - beq _08004F7E - lsrs r2, r4, 3 - lsls r2, 5 - add r2, r9 - adds r0, r4, 0 - mov r1, r12 - ands r0, r1 - lsrs r0, 1 - adds r2, r0 - adds r2, r7 - adds r2, r6 - movs r1, 0x1 - ands r1, r4 - lsls r1, 2 - lsls r3, r1 - movs r0, 0xF0 - asrs r0, r1 - ldrb r1, [r2] - ands r0, r1 - orrs r3, r0 - strb r3, [r2] -_08004F7E: - lsrs r5, 4 - adds r4, 0x1 - cmp r4, r8 - bcc _08004F4C -_08004F86: - mov r1, r10 - ldr r2, [sp, 0x24] - cmp r1, r2 - bcc _08004F28 - b _080052AA - .pool -_08004F94: - cmp r0, 0x8 - ble _08004F9A - b _080050A4 -_08004F9A: - mov r1, r8 - str r3, [sp, 0x2C] - ldr r3, [sp] - adds r3, 0x8 - mov r12, r3 - add r0, r8 - str r0, [sp, 0x30] - ldr r0, [sp] - str r0, [sp, 0x34] - ldr r2, [sp, 0x30] - str r2, [sp, 0x78] - str r3, [sp, 0x84] - subs r4, 0x8 - str r4, [sp, 0x7C] - cmp r8, r2 - bcs _0800501C -_08004FBA: - ldr r0, [sp, 0x2C] - ldm r0!, {r5} - str r0, [sp, 0x2C] - ldr r4, [sp, 0x34] - adds r2, r1, 0x1 - mov r10, r2 - cmp r4, r12 - bcs _08005014 - lsrs r0, r1, 3 - ldr r2, [sp, 0x4] - adds r3, r0, 0 - muls r3, r2 - adds r7, r3, 0 - movs r3, 0x7 - ands r1, r3 - lsls r6, r1, 2 -_08004FDA: - adds r3, r5, 0 - movs r0, 0xF - ands r3, r0 - cmp r3, 0 - beq _0800500C - lsrs r2, r4, 3 - lsls r2, 5 - add r2, r9 - adds r0, r4, 0 - movs r1, 0x7 - ands r0, r1 - lsrs r0, 1 - adds r2, r0 - adds r2, r7 - adds r2, r6 - movs r1, 0x1 - ands r1, r4 - lsls r1, 2 - lsls r3, r1 - movs r0, 0xF0 - asrs r0, r1 - ldrb r1, [r2] - ands r0, r1 - orrs r3, r0 - strb r3, [r2] -_0800500C: - lsrs r5, 4 - adds r4, 0x1 - cmp r4, r12 - bcc _08004FDA -_08005014: - mov r1, r10 - ldr r2, [sp, 0x30] - cmp r1, r2 - bcc _08004FBA -_0800501C: - mov r1, r8 - ldr r3, =gUnknown_03002FB0 - str r3, [sp, 0x38] - ldr r0, [sp, 0x84] - ldr r2, [sp, 0x7C] - adds r0, r2 - mov r8, r0 - ldr r3, [sp, 0x78] - str r3, [sp, 0x3C] - ldr r0, [sp, 0x84] - str r0, [sp, 0x40] - cmp r1, r3 - bcc _08005038 - b _080052AA -_08005038: - ldr r2, [sp, 0x38] - ldm r2!, {r5} - str r2, [sp, 0x38] - ldr r4, [sp, 0x40] - adds r3, r1, 0x1 - mov r10, r3 - cmp r4, r8 - bcs _08005096 - movs r0, 0x7 - mov r12, r0 - lsrs r0, r1, 3 - ldr r3, [sp, 0x4] - adds r2, r0, 0 - muls r2, r3 - adds r7, r2, 0 - mov r0, r12 - ands r1, r0 - lsls r6, r1, 2 -_0800505C: - adds r3, r5, 0 - movs r1, 0xF - ands r3, r1 - cmp r3, 0 - beq _0800508E - lsrs r2, r4, 3 - lsls r2, 5 - add r2, r9 - adds r0, r4, 0 - mov r1, r12 - ands r0, r1 - lsrs r0, 1 - adds r2, r0 - adds r2, r7 - adds r2, r6 - movs r1, 0x1 - ands r1, r4 - lsls r1, 2 - lsls r3, r1 - movs r0, 0xF0 - asrs r0, r1 - ldrb r1, [r2] - ands r0, r1 - orrs r3, r0 - strb r3, [r2] -_0800508E: - lsrs r5, 4 - adds r4, 0x1 - cmp r4, r8 - bcc _0800505C -_08005096: - mov r1, r10 - ldr r2, [sp, 0x3C] - cmp r1, r2 - bcc _08005038 - b _080052AA - .pool -_080050A4: - mov r1, r8 - str r5, [sp, 0x44] - ldr r3, [sp] - adds r3, 0x8 - mov r12, r3 - mov r2, r8 - adds r2, 0x8 - str r2, [sp, 0x48] - ldr r3, [sp] - str r3, [sp, 0x4C] - str r2, [sp, 0x88] - subs r0, 0x8 - str r0, [sp, 0x80] - mov r0, r12 - str r0, [sp, 0x84] - subs r4, 0x8 - str r4, [sp, 0x7C] - cmp r8, r2 - bcs _0800512C -_080050CA: - ldr r2, [sp, 0x44] - ldm r2!, {r5} - str r2, [sp, 0x44] - ldr r4, [sp, 0x4C] - adds r3, r1, 0x1 - mov r10, r3 - cmp r4, r12 - bcs _08005124 - lsrs r0, r1, 3 - ldr r3, [sp, 0x4] - adds r2, r0, 0 - muls r2, r3 - adds r7, r2, 0 - movs r0, 0x7 - ands r1, r0 - lsls r6, r1, 2 -_080050EA: - adds r3, r5, 0 - movs r1, 0xF - ands r3, r1 - cmp r3, 0 - beq _0800511C - lsrs r2, r4, 3 - lsls r2, 5 - add r2, r9 - adds r0, r4, 0 - movs r1, 0x7 - ands r0, r1 - lsrs r0, 1 - adds r2, r0 - adds r2, r7 - adds r2, r6 - movs r1, 0x1 - ands r1, r4 - lsls r1, 2 - lsls r3, r1 - movs r0, 0xF0 - asrs r0, r1 - ldrb r1, [r2] - ands r0, r1 - orrs r3, r0 - strb r3, [r2] -_0800511C: - lsrs r5, 4 - adds r4, 0x1 - cmp r4, r12 - bcc _080050EA -_08005124: - mov r1, r10 - ldr r2, [sp, 0x48] - cmp r1, r2 - bcc _080050CA -_0800512C: - mov r1, r8 - ldr r3, =gUnknown_03002FB0 - str r3, [sp, 0x50] - ldr r0, [sp, 0x84] - ldr r2, [sp, 0x7C] - adds r0, r2 - mov r8, r0 - ldr r3, [sp, 0x88] - str r3, [sp, 0x54] - ldr r0, [sp, 0x84] - str r0, [sp, 0x58] - cmp r1, r3 - bcs _080051AC -_08005146: - ldr r2, [sp, 0x50] - ldm r2!, {r5} - str r2, [sp, 0x50] - ldr r4, [sp, 0x58] - adds r3, r1, 0x1 - mov r10, r3 - cmp r4, r8 - bcs _080051A4 - movs r0, 0x7 - mov r12, r0 - lsrs r0, r1, 3 - ldr r3, [sp, 0x4] - adds r2, r0, 0 - muls r2, r3 - adds r7, r2, 0 - mov r0, r12 - ands r1, r0 - lsls r6, r1, 2 -_0800516A: - adds r3, r5, 0 - movs r1, 0xF - ands r3, r1 - cmp r3, 0 - beq _0800519C - lsrs r2, r4, 3 - lsls r2, 5 - add r2, r9 - adds r0, r4, 0 - mov r1, r12 - ands r0, r1 - lsrs r0, 1 - adds r2, r0 - adds r2, r7 - adds r2, r6 - movs r1, 0x1 - ands r1, r4 - lsls r1, 2 - lsls r3, r1 - movs r0, 0xF0 - asrs r0, r1 - ldrb r1, [r2] - ands r0, r1 - orrs r3, r0 - strb r3, [r2] -_0800519C: - lsrs r5, 4 - adds r4, 0x1 - cmp r4, r8 - bcc _0800516A -_080051A4: - mov r1, r10 - ldr r2, [sp, 0x54] - cmp r1, r2 - bcc _08005146 -_080051AC: - ldr r1, [sp, 0x88] - ldr r3, =gUnknown_03002FD0 - str r3, [sp, 0x5C] - ldr r0, [sp, 0x84] - mov r8, r0 - ldr r2, [sp, 0x80] - adds r2, r1, r2 - str r2, [sp, 0x60] - ldr r3, [sp] - str r3, [sp, 0x64] - cmp r1, r2 - bcs _0800522A -_080051C4: - ldr r0, [sp, 0x5C] - ldm r0!, {r5} - str r0, [sp, 0x5C] - ldr r4, [sp, 0x64] - adds r2, r1, 0x1 - mov r10, r2 - cmp r4, r8 - bcs _08005222 - movs r3, 0x7 - mov r12, r3 - lsrs r0, r1, 3 - ldr r3, [sp, 0x4] - adds r2, r0, 0 - muls r2, r3 - adds r7, r2, 0 - mov r0, r12 - ands r1, r0 - lsls r6, r1, 2 -_080051E8: - adds r3, r5, 0 - movs r1, 0xF - ands r3, r1 - cmp r3, 0 - beq _0800521A - lsrs r2, r4, 3 - lsls r2, 5 - add r2, r9 - adds r0, r4, 0 - mov r1, r12 - ands r0, r1 - lsrs r0, 1 - adds r2, r0 - adds r2, r7 - adds r2, r6 - movs r1, 0x1 - ands r1, r4 - lsls r1, 2 - lsls r3, r1 - movs r0, 0xF0 - asrs r0, r1 - ldrb r1, [r2] - ands r0, r1 - orrs r3, r0 - strb r3, [r2] -_0800521A: - lsrs r5, 4 - adds r4, 0x1 - cmp r4, r8 - bcc _080051E8 -_08005222: - mov r1, r10 - ldr r2, [sp, 0x60] - cmp r1, r2 - bcc _080051C4 -_0800522A: - ldr r4, [sp, 0x84] - ldr r1, [sp, 0x88] - ldr r3, =gUnknown_03002FF0 - str r3, [sp, 0x68] - ldr r0, [sp, 0x7C] - adds r0, r4 - mov r8, r0 - ldr r2, [sp, 0x80] - adds r2, r1, r2 - str r2, [sp, 0x6C] - str r4, [sp, 0x70] - cmp r1, r2 - bcs _080052AA -_08005244: - ldr r3, [sp, 0x68] - ldm r3!, {r5} - str r3, [sp, 0x68] - ldr r4, [sp, 0x70] - adds r0, r1, 0x1 - mov r10, r0 - cmp r4, r8 - bcs _080052A2 - movs r2, 0x7 - mov r12, r2 - lsrs r0, r1, 3 - ldr r2, [sp, 0x4] - adds r3, r0, 0 - muls r3, r2 - adds r7, r3, 0 - mov r3, r12 - ands r1, r3 - lsls r6, r1, 2 -_08005268: - adds r3, r5, 0 - movs r0, 0xF - ands r3, r0 - cmp r3, 0 - beq _0800529A - lsrs r2, r4, 3 - lsls r2, 5 - add r2, r9 - adds r0, r4, 0 - mov r1, r12 - ands r0, r1 - lsrs r0, 1 - adds r2, r0 - adds r2, r7 - adds r2, r6 - movs r1, 0x1 - ands r1, r4 - lsls r1, 2 - lsls r3, r1 - movs r0, 0xF0 - asrs r0, r1 - ldrb r1, [r2] - ands r0, r1 - orrs r3, r0 - strb r3, [r2] -_0800529A: - lsrs r5, 4 - adds r4, 0x1 - cmp r4, r8 - bcc _08005268 -_080052A2: - mov r1, r10 - ldr r2, [sp, 0x6C] - cmp r1, r2 - bcc _08005244 -_080052AA: - add sp, 0x8C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end CopyGlyphToWindow - - thumb_func_start ClearTextSpan -@ void ClearTextSpan(TextPrinter *textPrinter, u32 width) -ClearTextSpan: @ 80052C8 - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r0, 0 - adds r6, r1, 0 - ldr r0, =gLastTextBgColor - ldrh r5, [r0] - cmp r5, 0 - beq _0800531E - ldrb r1, [r4, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, =gUnknown_02020004 - adds r0, r1 - ldr r1, [r0, 0x8] - str r1, [sp, 0x8] - ldrb r2, [r0, 0x3] - lsls r2, 3 - ldr r3, =0xffff0000 - ldr r1, [sp, 0xC] - ands r1, r3 - orrs r1, r2 - str r1, [sp, 0xC] - ldrb r2, [r0, 0x4] - lsls r2, 19 - ldr r0, =0x0000ffff - ands r0, r1 - orrs r0, r2 - str r0, [sp, 0xC] - ldr r0, =gUnknown_03002F90 - adds r0, 0x81 - ldrb r1, [r4, 0x8] - ldrb r2, [r4, 0x9] - lsls r3, r6, 16 - lsrs r3, 16 - ldrb r0, [r0] - str r0, [sp] - lsls r0, r5, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - add r0, sp, 0x8 - bl FillBitmapRect4Bit -_0800531E: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end ClearTextSpan - - thumb_func_start Font0Func -@ int Font0Func(struct TextPrinter *x) -Font0Func: @ 800533C - push {lr} - adds r2, r0, 0 - adds r3, r2, 0 - adds r3, 0x14 - ldrb r1, [r3, 0x1] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08005360 - ldrb r1, [r2, 0x14] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x14] - ldrb r0, [r3, 0x1] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r3, 0x1] -_08005360: - adds r0, r2, 0 - bl RenderText - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end Font0Func - - thumb_func_start Font1Func -@ int Font1Func(struct TextPrinter *x) -Font1Func: @ 8005370 - push {lr} - adds r2, r0, 0 - adds r3, r2, 0 - adds r3, 0x14 - ldrb r1, [r3, 0x1] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08005398 - ldrb r1, [r2, 0x14] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x14] - ldrb r0, [r3, 0x1] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r3, 0x1] -_08005398: - adds r0, r2, 0 - bl RenderText - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end Font1Func - - thumb_func_start Font2Func -@ int Font2Func(struct TextPrinter *x) -Font2Func: @ 80053A8 - push {lr} - adds r2, r0, 0 - adds r3, r2, 0 - adds r3, 0x14 - ldrb r1, [r3, 0x1] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080053D0 - ldrb r1, [r2, 0x14] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x14] - ldrb r0, [r3, 0x1] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r3, 0x1] -_080053D0: - adds r0, r2, 0 - bl RenderText - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end Font2Func - - thumb_func_start Font3Func -@ int Font3Func(struct TextPrinter *x) -Font3Func: @ 80053E0 - push {lr} - adds r2, r0, 0 - adds r3, r2, 0 - adds r3, 0x14 - ldrb r1, [r3, 0x1] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08005408 - ldrb r1, [r2, 0x14] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x3 - orrs r0, r1 - strb r0, [r2, 0x14] - ldrb r0, [r3, 0x1] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r3, 0x1] -_08005408: - adds r0, r2, 0 - bl RenderText - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end Font3Func - - thumb_func_start Font4Func -@ int Font4Func(struct TextPrinter *x) -Font4Func: @ 8005418 - push {lr} - adds r2, r0, 0 - adds r3, r2, 0 - adds r3, 0x14 - ldrb r1, [r3, 0x1] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08005440 - ldrb r1, [r2, 0x14] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x14] - ldrb r0, [r3, 0x1] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r3, 0x1] -_08005440: - adds r0, r2, 0 - bl RenderText - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end Font4Func - - thumb_func_start Font5Func -@ int Font5Func(struct TextPrinter *x) -Font5Func: @ 8005450 - push {lr} - adds r2, r0, 0 - adds r3, r2, 0 - adds r3, 0x14 - ldrb r1, [r3, 0x1] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08005478 - ldrb r1, [r2, 0x14] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x5 - orrs r0, r1 - strb r0, [r2, 0x14] - ldrb r0, [r3, 0x1] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r3, 0x1] -_08005478: - adds r0, r2, 0 - bl RenderText - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end Font5Func - - thumb_func_start Font7Func -@ int Font7Func(struct TextPrinter *x) -Font7Func: @ 8005488 - push {lr} - adds r2, r0, 0 - adds r3, r2, 0 - adds r3, 0x14 - ldrb r1, [r3, 0x1] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080054B0 - ldrb r1, [r2, 0x14] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x7 - orrs r0, r1 - strb r0, [r2, 0x14] - ldrb r0, [r3, 0x1] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r3, 0x1] -_080054B0: - adds r0, r2, 0 - bl RenderText - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end Font7Func - - thumb_func_start Font8Func -@ int Font8Func(struct TextPrinter *x) -Font8Func: @ 80054C0 - push {lr} - adds r2, r0, 0 - adds r3, r2, 0 - adds r3, 0x14 - ldrb r1, [r3, 0x1] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080054E8 - ldrb r1, [r2, 0x14] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r2, 0x14] - ldrb r0, [r3, 0x1] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r3, 0x1] -_080054E8: - adds r0, r2, 0 - bl RenderText - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end Font8Func - - thumb_func_start TextPrinterInitDownArrowCounters -@ void TextPrinterInitDownArrowCounters(struct TextPrinter *textPrinter) -TextPrinterInitDownArrowCounters: @ 80054F8 - push {lr} - adds r2, r0, 0 - adds r2, 0x14 - ldr r0, =gUnknown_03003014 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08005514 - movs r0, 0 - strb r0, [r2, 0x2] - b _08005524 - .pool -_08005514: - ldrb r0, [r2, 0x1] - movs r1, 0x61 - negs r1, r1 - ands r1, r0 - movs r0, 0x20 - negs r0, r0 - ands r1, r0 - strb r1, [r2, 0x1] -_08005524: - pop {r0} - bx r0 - thumb_func_end TextPrinterInitDownArrowCounters - - thumb_func_start TextPrinterDrawDownArrow -@ void TextPrinterDrawDownArrow(struct TextPrinter *textPrinter) -TextPrinterDrawDownArrow: @ 8005528 - push {r4-r7,lr} - sub sp, 0x18 - adds r5, r0, 0 - adds r6, r5, 0 - adds r6, 0x14 - ldr r7, =gUnknown_03003014 - ldrb r1, [r7] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080055EE - ldrb r2, [r6, 0x1] - movs r0, 0x1F - ands r0, r2 - cmp r0, 0 - beq _08005560 - ldr r0, [r5, 0x14] - lsls r0, 19 - lsrs r0, 27 - subs r0, 0x1 - movs r1, 0x1F - ands r0, r1 - movs r1, 0x20 - negs r1, r1 - b _080055E8 - .pool -_08005560: - ldrb r0, [r5, 0x4] - ldrb r2, [r5, 0xD] - lsls r2, 28 - lsrs r1, r2, 4 - orrs r1, r2 - lsrs r1, 24 - ldrb r2, [r5, 0x8] - ldrb r3, [r5, 0x9] - movs r4, 0x8 - str r4, [sp] - movs r4, 0x10 - str r4, [sp, 0x4] - bl FillWindowPixelRect - ldr r0, [r7] - lsls r0, 30 - lsrs r0, 31 - cmp r0, 0 - beq _0800558A - cmp r0, 0x1 - beq _08005594 -_0800558A: - ldr r7, =gDownArrowTiles - b _08005596 - .pool -_08005594: - ldr r7, =gDarkDownArrowTiles -_08005596: - ldrb r0, [r5, 0x4] - ldr r2, =gDownArrowYCoords - ldr r1, [r6] - lsls r1, 17 - lsrs r1, 30 - adds r1, r2 - ldrb r3, [r1] - movs r4, 0x8 - str r4, [sp] - movs r2, 0x10 - str r2, [sp, 0x4] - ldrb r1, [r5, 0x8] - str r1, [sp, 0x8] - ldrb r1, [r5, 0x9] - str r1, [sp, 0xC] - str r4, [sp, 0x10] - str r2, [sp, 0x14] - adds r1, r7, 0 - movs r2, 0 - bl BlitBitmapRectToWindow - ldrb r0, [r5, 0x4] - movs r1, 0x2 - bl CopyWindowToVram - ldrb r0, [r6, 0x1] - movs r1, 0x20 - negs r1, r1 - ands r1, r0 - movs r0, 0x8 - orrs r1, r0 - strb r1, [r6, 0x1] - ldr r0, [r6] - lsls r0, 17 - lsrs r0, 30 - adds r0, 0x1 - movs r2, 0x3 - ands r0, r2 - lsls r0, 5 - movs r2, 0x61 - negs r2, r2 -_080055E8: - ands r1, r2 - orrs r1, r0 - strb r1, [r6, 0x1] -_080055EE: - add sp, 0x18 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end TextPrinterDrawDownArrow - - thumb_func_start TextPrinterClearDownArrow -@ void TextPrinterClearDownArrow(struct TextPrinter *textPrinter) -TextPrinterClearDownArrow: @ 8005600 - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - ldrb r0, [r5, 0x4] - ldrb r2, [r5, 0xD] - lsls r2, 28 - lsrs r1, r2, 4 - orrs r1, r2 - lsrs r1, 24 - ldrb r2, [r5, 0x8] - ldrb r3, [r5, 0x9] - movs r4, 0x8 - str r4, [sp] - movs r4, 0x10 - str r4, [sp, 0x4] - bl FillWindowPixelRect - ldrb r0, [r5, 0x4] - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end TextPrinterClearDownArrow - - thumb_func_start TextPrinterWaitAutoMode -@ bool8 TextPrinterWaitAutoMode(struct TextPrinter *textPrinter) -TextPrinterWaitAutoMode: @ 8005634 - push {lr} - adds r1, r0, 0 - adds r1, 0x14 - ldrb r0, [r1, 0x2] - cmp r0, 0x31 - beq _08005648 - adds r0, 0x1 - strb r0, [r1, 0x2] - movs r0, 0 - b _0800564A -_08005648: - movs r0, 0x1 -_0800564A: - pop {r1} - bx r1 - thumb_func_end TextPrinterWaitAutoMode - - thumb_func_start TextPrinterWaitWithDownArrow -@ bool8 TextPrinterWaitWithDownArrow(struct TextPrinter *textPrinter) -TextPrinterWaitWithDownArrow: @ 8005650 - push {r4,lr} - adds r2, r0, 0 - movs r4, 0 - ldr r0, =gUnknown_03003014 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08005674 - adds r0, r2, 0 - bl TextPrinterWaitAutoMode - lsls r0, 24 - lsrs r4, r0, 24 - b _0800568E - .pool -_08005674: - adds r0, r2, 0 - bl TextPrinterDrawDownArrow - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0800568E - movs r4, 0x1 - movs r0, 0x5 - bl audio_play -_0800568E: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end TextPrinterWaitWithDownArrow - - thumb_func_start TextPrinterWait -@ bool8 TextPrinterWait(struct TextPrinter *textPrinter) -TextPrinterWait: @ 800569C - push {r4,lr} - adds r2, r0, 0 - movs r4, 0 - ldr r0, =gUnknown_03003014 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080056C0 - adds r0, r2, 0 - bl TextPrinterWaitAutoMode - lsls r0, 24 - lsrs r4, r0, 24 - b _080056D4 - .pool -_080056C0: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _080056D4 - movs r4, 0x1 - movs r0, 0x5 - bl audio_play -_080056D4: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end TextPrinterWait - - thumb_func_start DrawDownArrow -@ void DrawDownArrow(u8 windowId, u16 x, u16 y, u8 bgColor, bool8 drawArrow, u8 *counter, u8 *yCoordIndex) -DrawDownArrow: @ 80056E0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - ldr r4, [sp, 0x38] - ldr r5, [sp, 0x3C] - mov r9, r5 - ldr r5, [sp, 0x40] - mov r10, r5 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - lsls r2, 16 - lsrs r7, r2, 16 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - mov r1, r9 - ldrb r0, [r1] - cmp r0, 0 - beq _0800571A - subs r0, 0x1 - strb r0, [r1] - b _0800579A -_0800571A: - lsls r1, r3, 4 - orrs r1, r3 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x8 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - adds r0, r5, 0 - mov r2, r8 - adds r3, r7, 0 - bl FillWindowPixelRect - cmp r4, 0 - bne _0800579A - ldr r0, =gUnknown_03003014 - ldr r0, [r0] - lsls r0, 30 - lsrs r0, 31 - cmp r0, 0 - beq _08005748 - cmp r0, 0x1 - beq _08005754 -_08005748: - ldr r6, =gDownArrowTiles - b _08005756 - .pool -_08005754: - ldr r6, =gDarkDownArrowTiles -_08005756: - ldr r2, =gDownArrowYCoords - mov r0, r10 - ldrb r1, [r0] - movs r0, 0x3 - ands r0, r1 - adds r0, r2 - ldrb r3, [r0] - movs r4, 0x8 - str r4, [sp] - movs r1, 0x10 - str r1, [sp, 0x4] - mov r0, r8 - str r0, [sp, 0x8] - subs r0, r7, 0x2 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0xC] - str r4, [sp, 0x10] - str r1, [sp, 0x14] - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0 - bl BlitBitmapRectToWindow - adds r0, r5, 0 - movs r1, 0x2 - bl CopyWindowToVram - mov r1, r9 - strb r4, [r1] - mov r5, r10 - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] -_0800579A: - 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 DrawDownArrow - - thumb_func_start RenderText -@ u16 RenderText(struct TextPrinter *textPrinter) -RenderText: @ 80057B4 - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r6, 0 - adds r4, 0x14 - ldrb r0, [r6, 0x1C] - cmp r0, 0x6 - bls _080057C4 - b _08005D6C -_080057C4: - lsls r0, 2 - ldr r1, =_080057D4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080057D4: - .4byte _080057F0 - .4byte _08005C78 - .4byte _08005C8C - .4byte _08005CB8 - .4byte _08005CF0 - .4byte _08005D48 - .4byte _08005D5A -_080057F0: - ldr r2, =gMain - ldrh r1, [r2, 0x2C] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0800580A - ldrb r1, [r4] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0800580A - movs r0, 0 - strb r0, [r6, 0x1E] -_0800580A: - ldrb r1, [r6, 0x1E] - cmp r1, 0 - beq _0800584C - ldrb r0, [r6, 0x1D] - cmp r0, 0 - beq _0800584C - subs r0, r1, 0x1 - strb r0, [r6, 0x1E] - ldr r0, =gUnknown_03003014 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08005828 - b _08005B56 -_08005828: - ldrh r1, [r2, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08005834 - b _08005B56 -_08005834: - ldrb r0, [r4] - movs r1, 0x10 - orrs r0, r1 - strb r0, [r4] - movs r0, 0 - strb r0, [r6, 0x1E] - b _08005B56 - .pool -_0800584C: - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - bne _08005874 - ldr r0, =gUnknown_03003014 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08005874 - movs r0, 0x3 - b _08005876 - .pool -_08005874: - ldrb r0, [r6, 0x1D] -_08005876: - strb r0, [r6, 0x1E] - ldr r0, [r6] - ldrb r3, [r0] - adds r0, 0x1 - str r0, [r6] - adds r0, r3, 0 - subs r0, 0xF8 - cmp r0, 0x7 - bls _0800588A - b _08005B90 -_0800588A: - lsls r0, 2 - ldr r1, =_08005898 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08005898: - .4byte _08005B6C - .4byte _08005B5A - .4byte _08005B4C - .4byte _08005B48 - .4byte _080058E0 - .4byte _080058DC - .4byte _080058B8 - .4byte _08005D6C -_080058B8: - ldrb r0, [r6, 0x6] - strb r0, [r6, 0x8] - ldrb r1, [r6, 0x5] - ldr r0, =gFonts - ldr r2, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r6, 0xB] - ldrb r0, [r0, 0x5] - adds r1, r0 - ldrb r0, [r6, 0x9] - adds r0, r1 - b _08005ABA - .pool -_080058DC: - ldr r0, [r6] - b _08005B30 -_080058E0: - ldr r0, [r6] - ldrb r3, [r0] - adds r0, 0x1 - str r0, [r6] - subs r0, r3, 0x1 - cmp r0, 0x17 - bls _080058F0 - b _08005B90 -_080058F0: - lsls r0, 2 - ldr r1, =_08005900 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08005900: - .4byte _08005960 - .4byte _08005982 - .4byte _080059A6 - .4byte _080059C0 - .4byte _08005A0E - .4byte _08005A12 - .4byte _08005A0A - .4byte _08005A2A - .4byte _08005A3A - .4byte _08005A58 - .4byte _08005A5C - .4byte _08005B5A - .4byte _08005A90 - .4byte _08005A98 - .4byte _08005AA4 - .4byte _08005A76 - .4byte _08005AD8 - .4byte _08005AF2 - .4byte _08005B02 - .4byte _08005B26 - .4byte _08005B36 - .4byte _08005B3E - .4byte _08005ABE - .4byte _08005ACC -_08005960: - ldr r2, [r6] - ldrb r1, [r2] - lsls r1, 4 - ldrb r3, [r6, 0xC] - movs r0, 0xF - ands r0, r3 - orrs r0, r1 - strb r0, [r6, 0xC] - adds r2, 0x1 - str r2, [r6] - lsls r0, 24 - lsrs r0, 28 - ldrb r2, [r6, 0xD] - lsls r1, r2, 28 - lsrs r1, 28 - lsrs r2, 4 - b _08005A06 -_08005982: - ldr r1, [r6] - ldrb r2, [r1] - movs r0, 0xF - ands r0, r2 - ldrb r3, [r6, 0xD] - movs r2, 0x10 - negs r2, r2 - ands r2, r3 - orrs r2, r0 - strb r2, [r6, 0xD] - adds r1, 0x1 - str r1, [r6] - ldrb r0, [r6, 0xC] - lsrs r0, 4 - lsls r1, r2, 28 - lsrs r1, 28 - lsrs r2, 4 - b _08005A06 -_080059A6: - ldr r1, [r6] - ldrb r0, [r1] - lsls r0, 4 - ldrb r3, [r6, 0xD] - movs r2, 0xF - ands r2, r3 - orrs r2, r0 - strb r2, [r6, 0xD] - adds r1, 0x1 - str r1, [r6] - ldrb r0, [r6, 0xC] - lsrs r0, 4 - b _080059FE -_080059C0: - ldr r3, [r6] - ldrb r1, [r3] - lsls r1, 4 - ldrb r4, [r6, 0xC] - movs r2, 0xF - adds r0, r2, 0 - ands r0, r4 - orrs r0, r1 - strb r0, [r6, 0xC] - adds r5, r3, 0x1 - str r5, [r6] - ldrb r3, [r3, 0x1] - adds r1, r2, 0 - ands r1, r3 - ldrb r4, [r6, 0xD] - movs r3, 0x10 - negs r3, r3 - ands r3, r4 - orrs r3, r1 - strb r3, [r6, 0xD] - adds r4, r5, 0x1 - str r4, [r6] - ldrb r1, [r5, 0x1] - lsls r1, 4 - ands r2, r3 - orrs r2, r1 - strb r2, [r6, 0xD] - adds r4, 0x1 - str r4, [r6] - lsls r0, 24 - lsrs r0, 28 -_080059FE: - lsls r1, r2, 28 - lsrs r1, 28 - lsls r2, 24 - lsrs r2, 28 -_08005A06: - bl GenerateFontHalfRowLookupTable -_08005A0A: - movs r0, 0x2 - b _08005D6E -_08005A0E: - ldr r0, [r6] - b _08005B30 -_08005A12: - ldr r0, [r6] - ldrb r0, [r0] - movs r1, 0xF - ands r1, r0 - ldrb r2, [r4] - movs r0, 0x10 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4] - ldr r0, [r6] - b _08005B30 -_08005A2A: - ldr r0, [r6] - ldrb r1, [r0] - strb r1, [r6, 0x1E] - adds r0, 0x1 - str r0, [r6] - movs r0, 0x6 - strb r0, [r6, 0x1C] - b _08005A0A -_08005A3A: - movs r0, 0x1 - strb r0, [r6, 0x1C] - ldr r0, =gUnknown_03003014 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _08005A4C - b _08005B56 -_08005A4C: - movs r0, 0 - strb r0, [r4, 0x2] - b _08005B56 - .pool -_08005A58: - movs r0, 0x5 - b _08005D56 -_08005A5C: - ldr r0, [r6] - ldrb r3, [r0] - adds r1, r0, 0x1 - str r1, [r6] - ldrb r0, [r0, 0x1] - lsls r0, 8 - orrs r3, r0 - adds r1, 0x1 - str r1, [r6] - adds r0, r3, 0 - bl song_play_for_text - b _08005A0A -_08005A76: - ldr r0, [r6] - ldrb r3, [r0] - adds r1, r0, 0x1 - str r1, [r6] - ldrb r0, [r0, 0x1] - lsls r0, 8 - orrs r3, r0 - adds r1, 0x1 - str r1, [r6] - adds r0, r3, 0 - bl audio_play - b _08005A0A -_08005A90: - ldr r1, [r6] - ldrb r0, [r1] - ldrb r3, [r6, 0x6] - b _08005AF8 -_08005A98: - ldr r1, [r6] - ldrb r0, [r1] - ldrb r2, [r6, 0x7] - adds r0, r2 - strb r0, [r6, 0x9] - b _08005AFC -_08005AA4: - ldrb r0, [r6, 0x4] - ldrb r2, [r6, 0xD] - lsls r2, 28 - lsrs r1, r2, 4 - orrs r1, r2 - lsrs r1, 24 - bl FillWindowPixelBuffer - ldrb r0, [r6, 0x6] - strb r0, [r6, 0x8] - ldrb r0, [r6, 0x7] -_08005ABA: - strb r0, [r6, 0x9] - b _08005A0A -_08005ABE: - ldr r0, =gMPlay_BGM - bl m4aMPlayStop - b _08005A0A - .pool -_08005ACC: - ldr r0, =gMPlay_BGM - bl m4aMPlayContinue - b _08005A0A - .pool -_08005AD8: - ldr r0, [r6] - ldrb r4, [r0] - adds r0, 0x1 - str r0, [r6] - cmp r4, 0 - ble _08005A0A - adds r0, r6, 0 - adds r1, r4, 0 - bl ClearTextSpan - ldrb r0, [r6, 0x8] - adds r0, r4 - b _08005C6E -_08005AF2: - ldr r1, [r6] - ldrb r0, [r6, 0x6] - ldrb r3, [r1] -_08005AF8: - adds r0, r3 - strb r0, [r6, 0x8] -_08005AFC: - adds r1, 0x1 - str r1, [r6] - b _08005A0A -_08005B02: - ldr r0, [r6] - ldrb r2, [r0] - ldrb r1, [r6, 0x6] - adds r2, r1 - adds r0, 0x1 - str r0, [r6] - ldrb r0, [r6, 0x8] - subs r4, r2, r0 - cmp r4, 0 - bgt _08005B18 - b _08005A0A -_08005B18: - adds r0, r6, 0 - adds r1, r4, 0 - bl ClearTextSpan - ldrb r0, [r6, 0x8] - adds r0, r4 - b _08005C6E -_08005B26: - ldr r0, [r6] - ldrb r2, [r0] - adds r1, r6, 0 - adds r1, 0x20 - strb r2, [r1] -_08005B30: - adds r0, 0x1 - str r0, [r6] - b _08005A0A -_08005B36: - adds r1, r6, 0 - adds r1, 0x21 - movs r0, 0x1 - b _08005B44 -_08005B3E: - adds r1, r6, 0 - adds r1, 0x21 - movs r0, 0 -_08005B44: - strb r0, [r1] - b _08005A0A -_08005B48: - movs r0, 0x2 - b _08005B4E -_08005B4C: - movs r0, 0x3 -_08005B4E: - strb r0, [r6, 0x1C] - adds r0, r6, 0 - bl TextPrinterInitDownArrowCounters -_08005B56: - movs r0, 0x3 - b _08005D6E -_08005B5A: - ldr r0, [r6] - ldrb r3, [r0] - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - orrs r3, r1 - adds r0, 0x1 - str r0, [r6] - b _08005B90 -_08005B6C: - ldr r0, [r6] - ldrb r3, [r0] - adds r0, 0x1 - str r0, [r6] - ldrb r0, [r6, 0x4] - adds r1, r3, 0 - ldrb r2, [r6, 0x8] - ldrb r3, [r6, 0x9] - bl DrawKeypadIcon - ldr r1, =gUnknown_03002F90 - adds r1, 0x80 - strb r0, [r1] - ldrb r3, [r6, 0xA] - adds r0, r3 - b _08005C6A - .pool -_08005B90: - ldr r0, [r4] - lsls r0, 28 - lsrs r0, 28 - cmp r0, 0x8 - bhi _08005C10 - lsls r0, 2 - ldr r1, =_08005BA8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08005BA8: - .4byte _08005BCC - .4byte _08005BDA - .4byte _08005BE8 - .4byte _08005BE8 - .4byte _08005BE8 - .4byte _08005BE8 - .4byte _08005C10 - .4byte _08005BF6 - .4byte _08005C04 -_08005BCC: - adds r0, r6, 0 - adds r0, 0x21 - ldrb r1, [r0] - adds r0, r3, 0 - bl DecompressGlyphFont0 - b _08005C10 -_08005BDA: - adds r0, r6, 0 - adds r0, 0x21 - ldrb r1, [r0] - adds r0, r3, 0 - bl DecompressGlyphFont1 - b _08005C10 -_08005BE8: - adds r0, r6, 0 - adds r0, 0x21 - ldrb r1, [r0] - adds r0, r3, 0 - bl DecompressGlyphFont2 - b _08005C10 -_08005BF6: - adds r0, r6, 0 - adds r0, 0x21 - ldrb r1, [r0] - adds r0, r3, 0 - bl DecompressGlyphFont7 - b _08005C10 -_08005C04: - adds r0, r6, 0 - adds r0, 0x21 - ldrb r1, [r0] - adds r0, r3, 0 - bl DecompressGlyphFont8 -_08005C10: - adds r0, r6, 0 - bl CopyGlyphToWindow - adds r2, r6, 0 - adds r2, 0x20 - ldrb r0, [r2] - cmp r0, 0 - beq _08005C48 - ldr r1, =gUnknown_03002F90 - adds r1, 0x80 - ldrb r0, [r1] - ldrb r3, [r6, 0x8] - adds r0, r3 - strb r0, [r6, 0x8] - ldrb r2, [r2] - ldrb r0, [r1] - subs r4, r2, r0 - cmp r4, 0 - ble _08005C70 - adds r0, r6, 0 - adds r1, r4, 0 - bl ClearTextSpan - ldrb r0, [r6, 0x8] - adds r0, r4 - b _08005C6E - .pool -_08005C48: - adds r0, r6, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0 - beq _08005C64 - ldr r0, =gUnknown_03002F90 - adds r0, 0x80 - ldrb r1, [r6, 0xA] - ldrb r0, [r0] - adds r1, r0 - ldrb r0, [r6, 0x8] - b _08005C6C - .pool -_08005C64: - ldr r0, =gUnknown_03002F90 - adds r0, 0x80 - ldrb r0, [r0] -_08005C6A: - ldrb r1, [r6, 0x8] -_08005C6C: - adds r0, r1 -_08005C6E: - strb r0, [r6, 0x8] -_08005C70: - movs r0, 0 - b _08005D6E - .pool -_08005C78: - adds r0, r6, 0 - bl TextPrinterWait - lsls r0, 16 - cmp r0, 0 - bne _08005C86 - b _08005B56 -_08005C86: - movs r0, 0 - strb r0, [r6, 0x1C] - b _08005B56 -_08005C8C: - adds r0, r6, 0 - bl TextPrinterWaitWithDownArrow - lsls r0, 16 - cmp r0, 0 - bne _08005C9A - b _08005B56 -_08005C9A: - ldrb r0, [r6, 0x4] - ldrb r2, [r6, 0xD] - lsls r2, 28 - lsrs r1, r2, 4 - orrs r1, r2 - lsrs r1, 24 - bl FillWindowPixelBuffer - ldrb r0, [r6, 0x6] - movs r1, 0 - strb r0, [r6, 0x8] - ldrb r0, [r6, 0x7] - strb r0, [r6, 0x9] - strb r1, [r6, 0x1C] - b _08005B56 -_08005CB8: - adds r0, r6, 0 - bl TextPrinterWaitWithDownArrow - lsls r0, 16 - cmp r0, 0 - bne _08005CC6 - b _08005B56 -_08005CC6: - adds r0, r6, 0 - bl TextPrinterClearDownArrow - ldrb r1, [r6, 0x5] - ldr r0, =gFonts - ldr r2, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r6, 0xB] - ldrb r0, [r0, 0x5] - adds r1, r0 - strb r1, [r6, 0x1F] - ldrb r0, [r6, 0x6] - strb r0, [r6, 0x8] - movs r0, 0x4 - strb r0, [r6, 0x1C] - b _08005B56 - .pool -_08005CF0: - ldrb r0, [r6, 0x1F] - cmp r0, 0 - beq _08005D44 - bl sub_8197964 - ldr r1, =gWindowVerticalScrollSpeeds - adds r0, r1 - ldrb r4, [r0] - ldrb r2, [r6, 0x1F] - cmp r2, r4 - bge _08005D20 - ldrb r0, [r6, 0x4] - ldrb r1, [r6, 0xD] - lsls r1, 28 - lsrs r3, r1, 4 - orrs r3, r1 - lsrs r3, 24 - movs r1, 0 - bl ScrollWindow - movs r0, 0 - b _08005D38 - .pool -_08005D20: - ldrb r0, [r6, 0x4] - ldrb r1, [r6, 0xD] - lsls r1, 28 - lsrs r3, r1, 4 - orrs r3, r1 - lsrs r3, 24 - movs r1, 0 - adds r2, r4, 0 - bl ScrollWindow - ldrb r0, [r6, 0x1F] - subs r0, r4 -_08005D38: - strb r0, [r6, 0x1F] - ldrb r0, [r6, 0x4] - movs r1, 0x2 - bl CopyWindowToVram - b _08005B56 -_08005D44: - strb r0, [r6, 0x1C] - b _08005B56 -_08005D48: - bl mplay_has_finished_maybe - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08005D56 - b _08005B56 -_08005D56: - strb r0, [r6, 0x1C] - b _08005B56 -_08005D5A: - ldrb r0, [r6, 0x1E] - adds r1, r0, 0 - cmp r1, 0 - beq _08005D68 - subs r0, 0x1 - strb r0, [r6, 0x1E] - b _08005B56 -_08005D68: - strb r1, [r6, 0x1C] - b _08005B56 -_08005D6C: - movs r0, 0x1 -_08005D6E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end RenderText - - thumb_func_start GetStringWidthFixedWidthFont -@ u32 GetStringWidthFixedWidthFont(u8 *str, u8 fontId, u8 letterSpacing) -GetStringWidthFixedWidthFont: @ 8005D74 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - movs r2, 0 - mov r1, sp - adds r1, 0x7 -_08005D8C: - strb r2, [r1] - subs r1, 0x1 - cmp r1, sp - bge _08005D8C - movs r5, 0 - movs r6, 0 - adds r4, r0, 0 - movs r2, 0 -_08005D9C: - adds r0, r4, r2 - ldrb r3, [r0] - adds r2, 0x1 - adds r0, r3, 0 - subs r0, 0xF7 - cmp r0, 0x8 - bhi _08005E6A - lsls r0, 2 - ldr r1, =_08005DB8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08005DB8: - .4byte _08005E64 - .4byte _08005E68 - .4byte _08005E68 - .4byte _08005E70 - .4byte _08005E70 - .4byte _08005DEC - .4byte _08005E64 - .4byte _08005DDC - .4byte _08005DDC -_08005DDC: - mov r1, sp - adds r0, r1, r6 - strb r5, [r0] - movs r5, 0 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - b _08005E70 -_08005DEC: - adds r0, r4, r2 - ldrb r0, [r0] - adds r2, 0x1 - subs r0, 0x1 - cmp r0, 0x15 - bhi _08005E70 - lsls r0, 2 - ldr r1, =_08005E08 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08005E08: - .4byte _08005E64 - .4byte _08005E64 - .4byte _08005E64 - .4byte _08005E60 - .4byte _08005E64 - .4byte _08005E64 - .4byte _08005E70 - .4byte _08005E64 - .4byte _08005E70 - .4byte _08005E70 - .4byte _08005E62 - .4byte _08005E64 - .4byte _08005E64 - .4byte _08005E64 - .4byte _08005E70 - .4byte _08005E62 - .4byte _08005E64 - .4byte _08005E64 - .4byte _08005E64 - .4byte _08005E64 - .4byte _08005E70 - .4byte _08005E70 -_08005E60: - adds r2, 0x1 -_08005E62: - adds r2, 0x1 -_08005E64: - adds r2, 0x1 - b _08005E70 -_08005E68: - adds r2, 0x1 -_08005E6A: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_08005E70: - cmp r3, 0xFF - bne _08005D9C - movs r5, 0 - movs r2, 0 -_08005E78: - mov r1, sp - adds r0, r1, r2 - ldrb r1, [r0] - cmp r5, r1 - bcs _08005E84 - ldrb r5, [r0] -_08005E84: - adds r2, 0x1 - cmp r2, 0x7 - ble _08005E78 - adds r0, r7, 0 - movs r1, 0 - bl GetFontAttribute - add r0, r8 - lsls r0, 24 - lsrs r0, 24 - muls r0, r5 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetStringWidthFixedWidthFont - - thumb_func_start GetFontWidthFunc -@ u8 GetFontWidthFunc(u16 glyphId) -GetFontWidthFunc: @ 8005EA8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r3, 0 - ldr r0, =gGlyphWidthFuncs - adds r2, r0, 0x4 - adds r1, r0, 0 -_08005EB6: - ldr r0, [r1] - cmp r4, r0 - bne _08005EC4 - ldr r0, [r2] - b _08005ED0 - .pool -_08005EC4: - adds r2, 0x8 - adds r1, 0x8 - adds r3, 0x1 - cmp r3, 0x8 - bls _08005EB6 - movs r0, 0 -_08005ED0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetFontWidthFunc - - thumb_func_start GetStringWidth -@ s32 GetStringWidth(u8 fontId, u8 *str, u16 letterSpacing) -GetStringWidth: @ 8005ED8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - lsls r2, 16 - lsrs r5, r2, 16 - movs r0, 0 - mov r9, r0 - movs r7, 0 - adds r0, r6, 0 - bl GetFontWidthFunc - mov r8, r0 - cmp r0, 0 - bne _08005F06 -_08005F02: - movs r0, 0 - b _0800612E -_08005F06: - lsls r0, r5, 16 - asrs r2, r0, 16 - movs r1, 0x1 - negs r1, r1 - str r0, [sp, 0x4] - cmp r2, r1 - bne _08005F24 - adds r0, r6, 0 - movs r1, 0x2 - bl GetFontAttribute - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - b _08005F26 -_08005F24: - mov r10, r2 -_08005F26: - movs r2, 0 - str r2, [sp] - movs r5, 0 - movs r6, 0 - b _0800611E -_08005F30: - ldrb r1, [r4] - adds r0, r1, 0 - subs r0, 0xF7 - cmp r0, 0x7 - bls _08005F3C - b _080060F8 -_08005F3C: - lsls r0, 2 - ldr r1, =_08005F4C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08005F4C: - .4byte _08005FA2 - .4byte _080060BC - .4byte _080060BC - .4byte _0800611C - .4byte _0800611C - .4byte _08005FEA - .4byte _08005F78 - .4byte _08005F6C -_08005F6C: - ldr r0, [sp] - cmp r5, r0 - bls _08005F74 - str r5, [sp] -_08005F74: - movs r5, 0 - b _0800611C -_08005F78: - adds r4, 0x1 - ldrb r0, [r4] - cmp r0, 0x3 - beq _08005F98 - cmp r0, 0x3 - bgt _08005F8A - cmp r0, 0x2 - beq _08005F90 - b _08005F02 -_08005F8A: - cmp r0, 0x4 - beq _08005FA0 - b _08005F02 -_08005F90: - ldr r6, =gStringVar1 - b _08005FA2 - .pool -_08005F98: - ldr r6, =gStringVar2 - b _08005FA2 - .pool -_08005FA0: - ldr r6, =gStringVar3 -_08005FA2: - cmp r6, 0 - bne _08005FE0 - adds r4, 0x1 - ldrb r0, [r4] - bl sub_81AFC74 - adds r6, r0, 0 - b _08005FE0 - .pool -_08005FB8: - ldrb r0, [r6] - adds r6, 0x1 - mov r1, r9 - bl _call_via_r8 - cmp r7, 0 - ble _08005FD0 - cmp r0, r7 - bge _08005FCC - adds r0, r7, 0 -_08005FCC: - adds r5, r0 - b _08005FE0 -_08005FD0: - adds r5, r0 - mov r2, r9 - cmp r2, 0 - beq _08005FE0 - ldrb r0, [r4, 0x1] - cmp r0, 0xFF - beq _08005FE0 - add r5, r10 -_08005FE0: - ldrb r0, [r6] - cmp r0, 0xFF - bne _08005FB8 - movs r6, 0 - b _0800611C -_08005FEA: - adds r4, 0x1 - ldrb r0, [r4] - subs r0, 0x1 - cmp r0, 0x15 - bls _08005FF6 - b _0800611C -_08005FF6: - lsls r0, 2 - ldr r1, =_08006004 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08006004: - .4byte _08006060 - .4byte _08006060 - .4byte _08006060 - .4byte _0800605C - .4byte _08006060 - .4byte _08006064 - .4byte _0800611C - .4byte _08006060 - .4byte _0800611C - .4byte _0800611C - .4byte _0800605E - .4byte _08006060 - .4byte _08006060 - .4byte _08006060 - .4byte _0800611C - .4byte _0800605E - .4byte _08006090 - .4byte _08006098 - .4byte _0800609E - .4byte _080060AA - .4byte _080060B0 - .4byte _080060B6 -_0800605C: - adds r4, 0x1 -_0800605E: - adds r4, 0x1 -_08006060: - adds r4, 0x1 - b _0800611C -_08006064: - adds r4, 0x1 - ldrb r0, [r4] - bl GetFontWidthFunc - mov r8, r0 - cmp r0, 0 - bne _08006074 - b _08005F02 -_08006074: - ldr r0, [sp, 0x4] - asrs r1, r0, 16 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0800611C - ldrb r0, [r4] - movs r1, 0x2 - bl GetFontAttribute - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - b _0800611C -_08006090: - adds r4, 0x1 - ldrb r0, [r4] -_08006094: - adds r5, r0 - b _0800611C -_08006098: - adds r4, 0x1 - ldrb r5, [r4] - b _0800611C -_0800609E: - adds r4, 0x1 - ldrb r0, [r4] - cmp r0, r5 - bls _0800611C - adds r5, r0, 0 - b _0800611C -_080060AA: - adds r4, 0x1 - ldrb r7, [r4] - b _0800611C -_080060B0: - movs r2, 0x1 - mov r9, r2 - b _0800611C -_080060B6: - movs r0, 0 - mov r9, r0 - b _0800611C -_080060BC: - ldrb r0, [r4] - cmp r0, 0xF9 - bne _080060D6 - adds r4, 0x1 - ldrb r0, [r4] - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - orrs r0, r1 - mov r1, r9 - bl _call_via_r8 - b _080060E2 -_080060D6: - adds r4, 0x1 - ldrb r0, [r4] - bl GetKeypadIconWidth - lsls r0, 24 - lsrs r0, 24 -_080060E2: - cmp r7, 0 - ble _080060EE - cmp r0, r7 - bge _08006094 - adds r0, r7, 0 - b _08006094 -_080060EE: - adds r5, r0 - mov r0, r9 - cmp r0, 0 - beq _0800611C - b _08006114 -_080060F8: - adds r0, r1, 0 - mov r1, r9 - bl _call_via_r8 - cmp r7, 0 - ble _0800610C - cmp r0, r7 - bge _08006094 - adds r0, r7, 0 - b _08006094 -_0800610C: - adds r5, r0 - mov r2, r9 - cmp r2, 0 - beq _0800611C -_08006114: - ldrb r0, [r4, 0x1] - cmp r0, 0xFF - beq _0800611C - add r5, r10 -_0800611C: - adds r4, 0x1 -_0800611E: - ldrb r0, [r4] - cmp r0, 0xFF - beq _08006126 - b _08005F30 -_08006126: - ldr r0, [sp] - cmp r5, r0 - bls _0800612E - adds r0, r5, 0 -_0800612E: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetStringWidth - - thumb_func_start RenderTextFont9 -@ u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str) -RenderTextFont9: @ 8006140 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - mov r9, r0 - adds r6, r2, 0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x4] - mov r4, sp - adds r4, 0x1 - mov r5, sp - adds r5, 0x2 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - bl SaveTextColors - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - movs r0, 0x3 - mov r10, r0 - movs r0, 0x1 - movs r1, 0 - movs r2, 0x3 - bl GenerateFontHalfRowLookupTable - adds r7, r6, 0 - movs r6, 0 -_08006182: - adds r0, r7, r6 - ldrb r0, [r0] - mov r8, r0 - adds r6, 0x1 - subs r0, 0xF7 - cmp r0, 0x8 - bhi _0800627E - lsls r0, 2 - ldr r1, =_080061A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080061A0: - .4byte _08006276 - .4byte _08006276 - .4byte _08006276 - .4byte _080062B8 - .4byte _080062B8 - .4byte _080061C4 - .4byte _08006276 - .4byte _080062B8 - .4byte _080062B8 -_080061C4: - adds r0, r7, r6 - ldrb r0, [r0] - adds r6, 0x1 - subs r0, 0x1 - cmp r0, 0x15 - bhi _080062B8 - lsls r0, 2 - ldr r1, =_080061E0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080061E0: - .4byte _0800624A - .4byte _08006254 - .4byte _0800625C - .4byte _08006238 - .4byte _08006276 - .4byte _08006270 - .4byte _080062B8 - .4byte _08006276 - .4byte _080062B8 - .4byte _080062B8 - .4byte _0800627A - .4byte _08006276 - .4byte _08006276 - .4byte _08006276 - .4byte _080062B8 - .4byte _0800627A - .4byte _08006276 - .4byte _08006276 - .4byte _08006276 - .4byte _08006276 - .4byte _080062B8 - .4byte _080062B8 -_08006238: - adds r0, r7, r6 - ldrb r0, [r0] - str r0, [sp, 0x8] - adds r6, 0x1 - adds r0, r7, r6 - ldrb r0, [r0] - str r0, [sp, 0xC] - adds r6, 0x1 - b _0800625C -_0800624A: - adds r0, r7, r6 - ldrb r0, [r0] - str r0, [sp, 0x8] - adds r6, 0x1 - b _08006266 -_08006254: - adds r0, r7, r6 - ldrb r0, [r0] - str r0, [sp, 0xC] - b _08006262 -_0800625C: - adds r0, r7, r6 - ldrb r0, [r0] - mov r10, r0 -_08006262: - adds r6, 0x1 - ldr r0, [sp, 0x8] -_08006266: - ldr r1, [sp, 0xC] - mov r2, r10 - bl GenerateFontHalfRowLookupTable - b _080062B8 -_08006270: - adds r0, r7, r6 - ldrb r0, [r0] - str r0, [sp, 0x4] -_08006276: - adds r6, 0x1 - b _080062B8 -_0800627A: - adds r6, 0x1 - b _08006276 -_0800627E: - ldr r0, [sp, 0x4] - cmp r0, 0x1 - beq _08006290 - cmp r0, 0x9 - bne _08006290 - mov r0, r8 - bl DecompressGlyphFont9 - b _08006298 -_08006290: - mov r0, r8 - movs r1, 0x1 - bl DecompressGlyphFont1 -_08006298: - ldr r4, =gUnknown_03002F90 - ldr r5, =0x04000008 - adds r0, r4, 0 - mov r1, r9 - adds r2, r5, 0 - bl CpuSet - adds r4, 0x40 - mov r1, r9 - adds r1, 0x20 - adds r0, r4, 0 - adds r2, r5, 0 - bl CpuSet - movs r0, 0x40 - add r9, r0 -_080062B8: - mov r0, r8 - cmp r0, 0xFF - beq _080062C0 - b _08006182 -_080062C0: - mov r0, sp - mov r1, sp - adds r1, 0x1 - mov r2, sp - adds r2, 0x2 - bl RestoreTextColors - movs r0, 0x1 - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end RenderTextFont9 - - thumb_func_start DrawKeypadIcon -@ u8 DrawKeypadIcon(u8 windowId, u8 keypadIconId, u16 x, u16 y) -DrawKeypadIcon: @ 80062E8 - push {r4,r5,lr} - sub sp, 0x18 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r3, 16 - ldr r4, =gKeypadIcons - lsrs r1, 22 - adds r1, r4 - ldrh r5, [r1] - lsls r5, 5 - ldr r4, =gKeypadIconTiles - adds r5, r4 - movs r4, 0x80 - str r4, [sp] - str r4, [sp, 0x4] - str r2, [sp, 0x8] - str r3, [sp, 0xC] - ldrb r4, [r1, 0x2] - str r4, [sp, 0x10] - ldrb r1, [r1, 0x3] - str r1, [sp, 0x14] - adds r1, r5, 0 - movs r2, 0 - movs r3, 0 - bl BlitBitmapRectToWindow - adds r0, r4, 0 - add sp, 0x18 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end DrawKeypadIcon - - thumb_func_start GetKeypadIconTileOffset -@ u8 GetKeypadIconTileOffset(u8 keypadIconId) -GetKeypadIconTileOffset: @ 8006338 - lsls r0, 24 - ldr r1, =gKeypadIcons - lsrs r0, 22 - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end GetKeypadIconTileOffset - - thumb_func_start GetKeypadIconWidth -@ u8 GetKeypadIconWidth(u8 keypadIconId) -GetKeypadIconWidth: @ 8006348 - lsls r0, 24 - ldr r1, =gKeypadIcons - lsrs r0, 22 - adds r0, r1 - ldrb r0, [r0, 0x2] - bx lr - .pool - thumb_func_end GetKeypadIconWidth - - thumb_func_start GetKeypadIconHeight -@ u8 GetKeypadIconHeight(u8 keypadIconId) -GetKeypadIconHeight: @ 8006358 - lsls r0, 24 - ldr r1, =gKeypadIcons - lsrs r0, 22 - adds r0, r1 - ldrb r0, [r0, 0x3] - bx lr - .pool - thumb_func_end GetKeypadIconHeight - - thumb_func_start SetDefaultFontsPointer -@ void SetDefaultFontsPointer() -SetDefaultFontsPointer: @ 8006368 - push {lr} - ldr r0, =gFontInfos - bl SetFontsPointer - pop {r0} - bx r0 - .pool - thumb_func_end SetDefaultFontsPointer - - thumb_func_start GetFontAttribute -@ u8 GetFontAttribute(u8 fontId, u8 attributeId) -GetFontAttribute: @ 8006378 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - cmp r1, 0x7 - bhi _08006456 - lsls r0, r1, 2 - ldr r1, =_08006398 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08006398: - .4byte _080063B8 - .4byte _080063CC - .4byte _080063E0 - .4byte _080063F4 - .4byte _08006408 - .4byte _0800641C - .4byte _08006430 - .4byte _08006448 -_080063B8: - ldr r1, =gFontInfos - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x4] - b _08006456 - .pool -_080063CC: - ldr r1, =gFontInfos - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x5] - b _08006456 - .pool -_080063E0: - ldr r1, =gFontInfos - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x6] - b _08006456 - .pool -_080063F4: - ldr r1, =gFontInfos - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x7] - b _08006456 - .pool -_08006408: - ldr r0, =gFontInfos - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x8] - b _0800643C - .pool -_0800641C: - ldr r0, =gFontInfos - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x8] - b _08006454 - .pool -_08006430: - ldr r0, =gFontInfos - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x9] -_0800643C: - lsls r0, 28 - lsrs r0, 28 - b _08006456 - .pool -_08006448: - ldr r0, =gFontInfos - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x9] -_08006454: - lsrs r0, 4 -_08006456: - pop {r1} - bx r1 - .pool - thumb_func_end GetFontAttribute - - thumb_func_start GetMenuCursorDimensionByFont -@ u8 GetMenuCursorDimensionByFont(u8 fontId, u8 whichDimension) -GetMenuCursorDimensionByFont: @ 8006460 - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gMenuCursorDimensions - lsrs r0, 23 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - bx lr - .pool - thumb_func_end GetMenuCursorDimensionByFont - - thumb_func_start DecompressGlyphFont0 -@ void DecompressGlyphFont0(u16 glyphId, bool8 isJapanese) -DecompressGlyphFont0: @ 8006478 - push {r4,r5,lr} - lsls r0, 16 - lsrs r3, r0, 16 - cmp r1, 0x1 - bne _080064C4 - lsrs r2, r0, 20 - lsls r2, 9 - movs r0, 0xF - ands r0, r3 - lsls r0, 4 - ldr r1, =gFont0JapaneseGlyphs - adds r0, r1 - adds r5, r2, r0 - ldr r4, =gUnknown_03002F90 - adds r0, r5, 0 - adds r1, r4, 0 - bl DecompressGlyphTile - movs r1, 0x80 - lsls r1, 1 - adds r0, r5, r1 - adds r1, r4, 0 - adds r1, 0x40 - bl DecompressGlyphTile - adds r1, r4, 0 - adds r1, 0x80 - movs r0, 0x8 - strb r0, [r1] - adds r4, 0x81 - movs r0, 0xC - strb r0, [r4] - b _08006534 - .pool -_080064C4: - lsls r1, r3, 6 - ldr r0, =gFont0LatinGlyphs - adds r5, r1, r0 - ldr r4, =gUnknown_03002F90 - ldr r0, =gFont0LatinGlyphWidths - adds r0, r3, r0 - ldrb r1, [r0] - adds r0, r4, 0 - adds r0, 0x80 - strb r1, [r0] - cmp r1, 0x8 - bhi _08006500 - adds r0, r5, 0 - adds r1, r4, 0 - bl DecompressGlyphTile - adds r0, r5, 0 - adds r0, 0x20 - adds r1, r4, 0 - adds r1, 0x40 - bl DecompressGlyphTile - b _0800652C - .pool -_08006500: - adds r0, r5, 0 - adds r1, r4, 0 - bl DecompressGlyphTile - adds r0, r5, 0 - adds r0, 0x10 - adds r1, r4, 0 - adds r1, 0x20 - bl DecompressGlyphTile - adds r0, r5, 0 - adds r0, 0x20 - adds r1, r4, 0 - adds r1, 0x40 - bl DecompressGlyphTile - adds r0, r5, 0 - adds r0, 0x30 - adds r1, r4, 0 - adds r1, 0x60 - bl DecompressGlyphTile -_0800652C: - ldr r0, =gUnknown_03002F90 - adds r0, 0x81 - movs r1, 0xD - strb r1, [r0] -_08006534: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end DecompressGlyphFont0 - - thumb_func_start GetGlyphWidthFont0 -@ u8 GetGlyphWidthFont0(u16 glyphId, bool8 isJapanese) -GetGlyphWidthFont0: @ 8006540 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - cmp r1, 0x1 - beq _08006558 - ldr r0, =gFont0LatinGlyphWidths - adds r0, r2, r0 - ldrb r0, [r0] - b _0800655A - .pool -_08006558: - movs r0, 0x8 -_0800655A: - pop {r1} - bx r1 - thumb_func_end GetGlyphWidthFont0 - - thumb_func_start DecompressGlyphFont7 -@ void DecompressGlyphFont7(u16 glyphId, bool8 isJapanese) -DecompressGlyphFont7: @ 8006560 - push {r4-r6,lr} - lsls r0, 16 - lsrs r3, r0, 16 - cmp r1, 0x1 - bne _080065AC - lsrs r2, r0, 20 - lsls r2, 9 - movs r5, 0xF - adds r0, r3, 0 - ands r0, r5 - lsls r0, 4 - ldr r1, =gFont1JapaneseGlyphs - adds r0, r1 - adds r6, r2, r0 - ldr r4, =gUnknown_03002F90 - adds r0, r6, 0 - adds r1, r4, 0 - bl DecompressGlyphTile - movs r1, 0x80 - lsls r1, 1 - adds r0, r6, r1 - adds r1, r4, 0 - adds r1, 0x40 - bl DecompressGlyphTile - adds r1, r4, 0 - adds r1, 0x80 - movs r0, 0x8 - strb r0, [r1] - adds r4, 0x81 - strb r5, [r4] - b _0800661C - .pool -_080065AC: - lsls r1, r3, 6 - ldr r0, =gFont7LatinGlyphs - adds r6, r1, r0 - ldr r4, =gUnknown_03002F90 - ldr r0, =gFont7LatinGlyphWidths - adds r0, r3, r0 - ldrb r1, [r0] - adds r0, r4, 0 - adds r0, 0x80 - strb r1, [r0] - cmp r1, 0x8 - bhi _080065E8 - adds r0, r6, 0 - adds r1, r4, 0 - bl DecompressGlyphTile - adds r0, r6, 0 - adds r0, 0x20 - adds r1, r4, 0 - adds r1, 0x40 - bl DecompressGlyphTile - b _08006614 - .pool -_080065E8: - adds r0, r6, 0 - adds r1, r4, 0 - bl DecompressGlyphTile - adds r0, r6, 0 - adds r0, 0x10 - adds r1, r4, 0 - adds r1, 0x20 - bl DecompressGlyphTile - adds r0, r6, 0 - adds r0, 0x20 - adds r1, r4, 0 - adds r1, 0x40 - bl DecompressGlyphTile - adds r0, r6, 0 - adds r0, 0x30 - adds r1, r4, 0 - adds r1, 0x60 - bl DecompressGlyphTile -_08006614: - ldr r0, =gUnknown_03002F90 - adds r0, 0x81 - movs r1, 0xF - strb r1, [r0] -_0800661C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end DecompressGlyphFont7 - - thumb_func_start GetGlyphWidthFont7 -@ u8 GetGlyphWidthFont7(u16 glyphId, bool8 isJapanese) -GetGlyphWidthFont7: @ 8006628 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - cmp r1, 0x1 - beq _08006640 - ldr r0, =gFont7LatinGlyphWidths - adds r0, r2, r0 - ldrb r0, [r0] - b _08006642 - .pool -_08006640: - movs r0, 0x8 -_08006642: - pop {r1} - bx r1 - thumb_func_end GetGlyphWidthFont7 - - thumb_func_start DecompressGlyphFont8 -@ void DecompressGlyphFont8(u16 glyphId, bool8 isJapanese) -DecompressGlyphFont8: @ 8006648 - push {r4,r5,lr} - lsls r0, 16 - lsrs r3, r0, 16 - cmp r1, 0x1 - bne _08006694 - lsrs r2, r0, 20 - lsls r2, 9 - movs r0, 0xF - ands r0, r3 - lsls r0, 4 - ldr r1, =gFont0JapaneseGlyphs - adds r0, r1 - adds r5, r2, r0 - ldr r4, =gUnknown_03002F90 - adds r0, r5, 0 - adds r1, r4, 0 - bl DecompressGlyphTile - movs r1, 0x80 - lsls r1, 1 - adds r0, r5, r1 - adds r1, r4, 0 - adds r1, 0x40 - bl DecompressGlyphTile - adds r1, r4, 0 - adds r1, 0x80 - movs r0, 0x8 - strb r0, [r1] - adds r4, 0x81 - movs r0, 0xC - strb r0, [r4] - b _08006704 - .pool -_08006694: - lsls r1, r3, 6 - ldr r0, =gFont8LatinGlyphs - adds r5, r1, r0 - ldr r4, =gUnknown_03002F90 - ldr r0, =gFont8LatinGlyphWidths - adds r0, r3, r0 - ldrb r1, [r0] - adds r0, r4, 0 - adds r0, 0x80 - strb r1, [r0] - cmp r1, 0x8 - bhi _080066D0 - adds r0, r5, 0 - adds r1, r4, 0 - bl DecompressGlyphTile - adds r0, r5, 0 - adds r0, 0x20 - adds r1, r4, 0 - adds r1, 0x40 - bl DecompressGlyphTile - b _080066FC - .pool -_080066D0: - adds r0, r5, 0 - adds r1, r4, 0 - bl DecompressGlyphTile - adds r0, r5, 0 - adds r0, 0x10 - adds r1, r4, 0 - adds r1, 0x20 - bl DecompressGlyphTile - adds r0, r5, 0 - adds r0, 0x20 - adds r1, r4, 0 - adds r1, 0x40 - bl DecompressGlyphTile - adds r0, r5, 0 - adds r0, 0x30 - adds r1, r4, 0 - adds r1, 0x60 - bl DecompressGlyphTile -_080066FC: - ldr r0, =gUnknown_03002F90 - adds r0, 0x81 - movs r1, 0xC - strb r1, [r0] -_08006704: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end DecompressGlyphFont8 - - thumb_func_start GetGlyphWidthFont8 -@ u8 GetGlyphWidthFont8(u16 glyphId, bool8 isJapanese) -GetGlyphWidthFont8: @ 8006710 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - cmp r1, 0x1 - beq _08006728 - ldr r0, =gFont8LatinGlyphWidths - adds r0, r2, r0 - ldrb r0, [r0] - b _0800672A - .pool -_08006728: - movs r0, 0x8 -_0800672A: - pop {r1} - bx r1 - thumb_func_end GetGlyphWidthFont8 - - thumb_func_start DecompressGlyphFont2 -@ void DecompressGlyphFont2(u16 glyphId, bool8 isJapanese) -DecompressGlyphFont2: @ 8006730 - push {r4-r6,lr} - lsls r0, 16 - lsrs r6, r0, 16 - cmp r1, 0x1 - bne _080067A0 - lsrs r2, r0, 19 - lsls r2, 9 - movs r0, 0x7 - ands r0, r6 - lsls r0, 5 - ldr r1, =gFont2JapaneseGlyphs - adds r0, r1 - adds r4, r2, r0 - ldr r5, =gUnknown_03002F90 - adds r0, r4, 0 - adds r1, r5, 0 - bl DecompressGlyphTile - adds r0, r4, 0 - adds r0, 0x10 - adds r1, r5, 0 - adds r1, 0x20 - bl DecompressGlyphTile - movs r1, 0x80 - lsls r1, 1 - adds r0, r4, r1 - adds r1, r5, 0 - adds r1, 0x40 - bl DecompressGlyphTile - movs r1, 0x88 - lsls r1, 1 - adds r0, r4, r1 - adds r1, r5, 0 - adds r1, 0x60 - bl DecompressGlyphTile - ldr r0, =gFont2JapaneseGlyphWidths - adds r0, r6, r0 - ldrb r1, [r0] - adds r0, r5, 0 - adds r0, 0x80 - strb r1, [r0] - adds r1, r5, 0 - adds r1, 0x81 - movs r0, 0xE - strb r0, [r1] - b _08006810 - .pool -_080067A0: - lsls r1, r6, 6 - ldr r0, =gFont2LatinGlyphs - adds r4, r1, r0 - ldr r5, =gUnknown_03002F90 - ldr r0, =gFont2LatinGlyphWidths - adds r0, r6, r0 - ldrb r1, [r0] - adds r0, r5, 0 - adds r0, 0x80 - strb r1, [r0] - cmp r1, 0x8 - bhi _080067DC - adds r0, r4, 0 - adds r1, r5, 0 - bl DecompressGlyphTile - adds r0, r4, 0 - adds r0, 0x20 - adds r1, r5, 0 - adds r1, 0x40 - bl DecompressGlyphTile - b _08006808 - .pool -_080067DC: - adds r0, r4, 0 - adds r1, r5, 0 - bl DecompressGlyphTile - adds r0, r4, 0 - adds r0, 0x10 - adds r1, r5, 0 - adds r1, 0x20 - bl DecompressGlyphTile - adds r0, r4, 0 - adds r0, 0x20 - adds r1, r5, 0 - adds r1, 0x40 - bl DecompressGlyphTile - adds r0, r4, 0 - adds r0, 0x30 - adds r1, r5, 0 - adds r1, 0x60 - bl DecompressGlyphTile -_08006808: - ldr r0, =gUnknown_03002F90 - adds r0, 0x81 - movs r1, 0xE - strb r1, [r0] -_08006810: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end DecompressGlyphFont2 - - thumb_func_start GetGlyphWidthFont2 -@ u8 GetGlyphWidthFont2(u16 glyphId, bool8 isJapanese) -GetGlyphWidthFont2: @ 800681C - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - cmp r1, 0x1 - beq _08006830 - ldr r0, =gFont2LatinGlyphWidths - b _08006832 - .pool -_08006830: - ldr r0, =gFont2JapaneseGlyphWidths -_08006832: - adds r0, r2, r0 - ldrb r0, [r0] - pop {r1} - bx r1 - .pool - thumb_func_end GetGlyphWidthFont2 - - thumb_func_start DecompressGlyphFont1 -@ void DecompressGlyphFont1(u16 glyphId, bool8 isJapanese) -DecompressGlyphFont1: @ 8006840 - push {r4-r6,lr} - lsls r0, 16 - lsrs r3, r0, 16 - cmp r1, 0x1 - bne _0800688C - lsrs r2, r0, 20 - lsls r2, 9 - movs r5, 0xF - adds r0, r3, 0 - ands r0, r5 - lsls r0, 4 - ldr r1, =gFont1JapaneseGlyphs - adds r0, r1 - adds r6, r2, r0 - ldr r4, =gUnknown_03002F90 - adds r0, r6, 0 - adds r1, r4, 0 - bl DecompressGlyphTile - movs r1, 0x80 - lsls r1, 1 - adds r0, r6, r1 - adds r1, r4, 0 - adds r1, 0x40 - bl DecompressGlyphTile - adds r1, r4, 0 - adds r1, 0x80 - movs r0, 0x8 - strb r0, [r1] - adds r4, 0x81 - strb r5, [r4] - b _080068FC - .pool -_0800688C: - lsls r1, r3, 6 - ldr r0, =gFont1LatinGlyphs - adds r6, r1, r0 - ldr r4, =gUnknown_03002F90 - ldr r0, =gFont1LatinGlyphWidths - adds r0, r3, r0 - ldrb r1, [r0] - adds r0, r4, 0 - adds r0, 0x80 - strb r1, [r0] - cmp r1, 0x8 - bhi _080068C8 - adds r0, r6, 0 - adds r1, r4, 0 - bl DecompressGlyphTile - adds r0, r6, 0 - adds r0, 0x20 - adds r1, r4, 0 - adds r1, 0x40 - bl DecompressGlyphTile - b _080068F4 - .pool -_080068C8: - adds r0, r6, 0 - adds r1, r4, 0 - bl DecompressGlyphTile - adds r0, r6, 0 - adds r0, 0x10 - adds r1, r4, 0 - adds r1, 0x20 - bl DecompressGlyphTile - adds r0, r6, 0 - adds r0, 0x20 - adds r1, r4, 0 - adds r1, 0x40 - bl DecompressGlyphTile - adds r0, r6, 0 - adds r0, 0x30 - adds r1, r4, 0 - adds r1, 0x60 - bl DecompressGlyphTile -_080068F4: - ldr r0, =gUnknown_03002F90 - adds r0, 0x81 - movs r1, 0xF - strb r1, [r0] -_080068FC: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end DecompressGlyphFont1 - - thumb_func_start GetGlyphWidthFont1 -@ u8 GetGlyphWidthFont1(u16 glyphId, bool8 isJapanese) -GetGlyphWidthFont1: @ 8006908 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - cmp r1, 0x1 - beq _08006920 - ldr r0, =gFont1LatinGlyphWidths - adds r0, r2, r0 - ldrb r0, [r0] - b _08006922 - .pool -_08006920: - movs r0, 0x8 -_08006922: - pop {r1} - bx r1 - thumb_func_end GetGlyphWidthFont1 - - thumb_func_start DecompressGlyphFont9 -@ void DecompressGlyphFont9(u16 glyphId) -DecompressGlyphFont9: @ 8006928 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 20 - lsls r4, 9 - movs r1, 0xF0 - lsls r1, 12 - ands r1, r0 - lsrs r1, 12 - ldr r0, =gFont9JapaneseGlyphs - adds r1, r0 - adds r4, r1 - ldr r5, =gUnknown_03002F90 - adds r0, r4, 0 - adds r1, r5, 0 - bl DecompressGlyphTile - movs r0, 0x80 - lsls r0, 1 - adds r4, r0 - adds r1, r5, 0 - adds r1, 0x40 - adds r0, r4, 0 - bl DecompressGlyphTile - adds r1, r5, 0 - adds r1, 0x80 - movs r0, 0x8 - strb r0, [r1] - adds r5, 0x81 - movs r0, 0xC - strb r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end DecompressGlyphFont9 - - .align 2, 0 @ Don't pad with nop. |