diff options
Diffstat (limited to 'asm/text.s')
-rw-r--r-- | asm/text.s | 807 |
1 files changed, 1 insertions, 806 deletions
diff --git a/asm/text.s b/asm/text.s index 92d3bb40a..659b4c622 100644 --- a/asm/text.s +++ b/asm/text.s @@ -5,811 +5,6 @@ .text - thumb_func_start RunTextPrinters -@ void RunTextPrinters() -RunTextPrinters: @ 8004778 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, =gUnknown_03002F84 - ldrb r0, [r0] - cmp r0, 0 - bne _080047F6 - ldr r0, =gTextPrinters - movs r6, 0 - adds r5, r0, 0x4 - mov r8, r0 - movs r7, 0x1F -_08004790: - ldrb r0, [r5, 0x17] - cmp r0, 0 - beq _080047E8 - mov r0, r8 - bl RenderFont - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - beq _080047E4 - cmp r4, 0x1 - bgt _080047B8 - cmp r4, 0 - beq _080047BE - b _080047E8 - .pool -_080047B8: - cmp r4, 0x3 - beq _080047C6 - b _080047E8 -_080047BE: - ldrb r0, [r5] - movs r1, 0x2 - bl CopyWindowToVram -_080047C6: - ldr r1, =gTextPrinters - adds r0, r1, 0 - adds r0, 0x10 - adds r0, r6, r0 - ldr r2, [r0] - cmp r2, 0 - beq _080047E8 - adds r0, r6, r1 - adds r1, r4, 0 - bl _call_via_r2 - b _080047E8 - .pool -_080047E4: - movs r0, 0 - strb r0, [r5, 0x17] -_080047E8: - adds r6, 0x24 - adds r5, 0x24 - movs r0, 0x24 - add r8, r0 - subs r7, 0x1 - cmp r7, 0 - bge _08004790 -_080047F6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end RunTextPrinters - - thumb_func_start IsTextPrinterActive -@ bool8 IsTextPrinterActive(u8 id) -IsTextPrinterActive: @ 8004800 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTextPrinters - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x1B] - bx lr - .pool - thumb_func_end IsTextPrinterActive - - thumb_func_start RenderFont -@ u16 RenderFont(struct TextPrinter *textPrinter) -RenderFont: @ 8004818 - push {r4,lr} - adds r4, r0, 0 -_0800481C: - ldrb r1, [r4, 0x5] - ldr r0, =gFonts - ldr r2, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - beq _0800481C - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end RenderFont - - thumb_func_start GenerateFontHalfRowLookupTable -@ void GenerateFontHalfRowLookupTable(u8 fgColor, u8 bgColor, u8 shadowColor) -GenerateFontHalfRowLookupTable: @ 8004844 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r3, =gUnknown_03000948 - ldr r4, =gUnknown_030009EA - strh r1, [r4] - ldr r4, =gUnknown_030009EC - strh r0, [r4] - ldr r4, =gUnknown_030009EE - strh r2, [r4] - lsls r5, r1, 12 - lsls r6, r0, 12 - lsls r4, r2, 12 - mov r8, r4 - lsls r7, r1, 8 - str r7, [sp] - lsls r4, r1, 4 - mov r9, r4 - orrs r7, r4 - str r7, [sp, 0x4] - orrs r7, r1 - adds r4, r5, 0 - orrs r4, r7 - strh r4, [r3] - adds r3, 0x2 - adds r4, r6, 0 - orrs r4, r7 - strh r4, [r3] - adds r3, 0x2 - mov r4, r8 - orrs r7, r4 - strh r7, [r3] - adds r3, 0x2 - lsls r7, r0, 8 - mov r10, r7 - mov r4, r10 - mov r7, r9 - orrs r4, r7 - str r4, [sp, 0x8] - adds r7, r4, 0 - orrs r7, r1 - adds r4, r5, 0 - orrs r4, r7 - strh r4, [r3] - adds r3, 0x2 - adds r4, r6, 0 - orrs r4, r7 - strh r4, [r3] - adds r3, 0x2 - mov r4, r8 - orrs r7, r4 - strh r7, [r3] - adds r3, 0x2 - lsls r7, r2, 8 - mov r12, r7 - mov r4, r12 - mov r7, r9 - orrs r4, r7 - str r4, [sp, 0xC] - adds r7, r4, 0 - orrs r7, r1 - adds r4, r5, 0 - orrs r4, r7 - strh r4, [r3] - adds r3, 0x2 - adds r4, r6, 0 - orrs r4, r7 - strh r4, [r3] - adds r3, 0x2 - mov r4, r8 - orrs r7, r4 - strh r7, [r3] - adds r3, 0x2 - lsls r7, r0, 4 - mov r9, r7 - ldr r4, [sp] - orrs r4, r7 - str r4, [sp, 0x10] - adds r7, r4, 0 - orrs r7, r1 - adds r4, r5, 0 - orrs r4, r7 - strh r4, [r3] - adds r3, 0x2 - adds r4, r6, 0 - orrs r4, r7 - strh r4, [r3] - adds r3, 0x2 - mov r4, r8 - orrs r7, r4 - strh r7, [r3] - adds r3, 0x2 - mov r7, r10 - adds r4, r7, 0 - mov r7, r9 - orrs r4, r7 - str r4, [sp, 0x14] - adds r7, r4, 0 - orrs r7, r1 - adds r4, r5, 0 - orrs r4, r7 - strh r4, [r3] - adds r3, 0x2 - adds r4, r6, 0 - orrs r4, r7 - strh r4, [r3] - adds r3, 0x2 - mov r4, r8 - orrs r7, r4 - strh r7, [r3] - adds r3, 0x2 - mov r7, r12 - adds r4, r7, 0 - mov r7, r9 - orrs r4, r7 - str r4, [sp, 0x18] - adds r7, r4, 0 - orrs r7, r1 - adds r4, r5, 0 - orrs r4, r7 - strh r4, [r3] - adds r3, 0x2 - adds r4, r6, 0 - orrs r4, r7 - strh r4, [r3] - adds r3, 0x2 - mov r4, r8 - orrs r7, r4 - strh r7, [r3] - adds r3, 0x2 - lsls r7, r2, 4 - mov r9, r7 - mov r4, r9 - ldr r7, [sp] - orrs r7, r4 - str r7, [sp, 0x1C] - orrs r7, r1 - adds r4, r5, 0 - orrs r4, r7 - strh r4, [r3] - adds r3, 0x2 - adds r4, r6, 0 - orrs r4, r7 - strh r4, [r3] - adds r3, 0x2 - mov r4, r8 - orrs r7, r4 - strh r7, [r3] - adds r3, 0x2 - mov r7, r9 - mov r4, r10 - orrs r4, r7 - str r4, [sp, 0x20] - adds r7, r4, 0 - orrs r7, r1 - adds r4, r5, 0 - orrs r4, r7 - strh r4, [r3] - adds r3, 0x2 - adds r4, r6, 0 - orrs r4, r7 - strh r4, [r3] - adds r3, 0x2 - mov r4, r8 - orrs r7, r4 - strh r7, [r3] - adds r3, 0x2 - mov r4, r12 - mov r7, r9 - orrs r4, r7 - adds r7, r4, 0 - orrs r7, r1 - adds r1, r5, 0 - orrs r1, r7 - strh r1, [r3] - adds r3, 0x2 - adds r1, r6, 0 - orrs r1, r7 - strh r1, [r3] - adds r3, 0x2 - mov r1, r8 - orrs r7, r1 - strh r7, [r3] - adds r3, 0x2 - ldr r7, [sp, 0x4] - orrs r7, r0 - adds r1, r5, 0 - orrs r1, r7 - strh r1, [r3] - adds r3, 0x2 - adds r1, r6, 0 - orrs r1, r7 - strh r1, [r3] - adds r3, 0x2 - mov r1, r8 - orrs r7, r1 - strh r7, [r3] - adds r3, 0x2 - ldr r7, [sp, 0x8] - orrs r7, r0 - adds r1, r5, 0 - orrs r1, r7 - strh r1, [r3] - adds r3, 0x2 - adds r1, r6, 0 - orrs r1, r7 - strh r1, [r3] - adds r3, 0x2 - mov r1, r8 - orrs r7, r1 - strh r7, [r3] - adds r3, 0x2 - ldr r7, [sp, 0xC] - orrs r7, r0 - adds r1, r5, 0 - orrs r1, r7 - strh r1, [r3] - adds r3, 0x2 - adds r1, r6, 0 - orrs r1, r7 - strh r1, [r3] - adds r3, 0x2 - mov r1, r8 - orrs r7, r1 - strh r7, [r3] - adds r3, 0x2 - ldr r7, [sp, 0x10] - orrs r7, r0 - adds r1, r5, 0 - orrs r1, r7 - strh r1, [r3] - adds r3, 0x2 - adds r1, r6, 0 - orrs r1, r7 - strh r1, [r3] - adds r3, 0x2 - mov r1, r8 - orrs r7, r1 - strh r7, [r3] - adds r3, 0x2 - ldr r7, [sp, 0x14] - orrs r7, r0 - adds r1, r5, 0 - orrs r1, r7 - strh r1, [r3] - adds r3, 0x2 - adds r1, r6, 0 - orrs r1, r7 - strh r1, [r3] - adds r3, 0x2 - mov r1, r8 - orrs r7, r1 - strh r7, [r3] - adds r3, 0x2 - ldr r7, [sp, 0x18] - orrs r7, r0 - adds r1, r5, 0 - orrs r1, r7 - strh r1, [r3] - adds r3, 0x2 - adds r1, r6, 0 - orrs r1, r7 - strh r1, [r3] - adds r3, 0x2 - mov r1, r8 - orrs r7, r1 - strh r7, [r3] - adds r3, 0x2 - ldr r7, [sp, 0x1C] - orrs r7, r0 - adds r1, r5, 0 - orrs r1, r7 - strh r1, [r3] - adds r3, 0x2 - adds r1, r6, 0 - orrs r1, r7 - strh r1, [r3] - adds r3, 0x2 - mov r1, r8 - orrs r7, r1 - strh r7, [r3] - adds r3, 0x2 - ldr r7, [sp, 0x20] - orrs r7, r0 - adds r1, r5, 0 - orrs r1, r7 - strh r1, [r3] - adds r3, 0x2 - adds r1, r6, 0 - orrs r1, r7 - strh r1, [r3] - adds r3, 0x2 - mov r1, r8 - orrs r7, r1 - strh r7, [r3] - adds r3, 0x2 - adds r7, r4, 0 - orrs r7, r0 - adds r0, r5, 0 - orrs r0, r7 - strh r0, [r3] - adds r3, 0x2 - adds r0, r6, 0 - orrs r0, r7 - strh r0, [r3] - adds r3, 0x2 - orrs r7, r1 - strh r7, [r3] - adds r3, 0x2 - adds r7, r2, 0 - ldr r0, [sp, 0x4] - orrs r7, r0 - adds r0, r5, 0 - orrs r0, r7 - strh r0, [r3] - adds r3, 0x2 - adds r0, r6, 0 - orrs r0, r7 - strh r0, [r3] - adds r3, 0x2 - orrs r7, r1 - strh r7, [r3] - adds r3, 0x2 - adds r7, r2, 0 - ldr r1, [sp, 0x8] - orrs r7, r1 - adds r0, r5, 0 - orrs r0, r7 - strh r0, [r3] - adds r3, 0x2 - adds r0, r6, 0 - orrs r0, r7 - strh r0, [r3] - adds r3, 0x2 - mov r0, r8 - orrs r7, r0 - strh r7, [r3] - adds r3, 0x2 - adds r7, r2, 0 - ldr r1, [sp, 0xC] - orrs r7, r1 - adds r0, r5, 0 - orrs r0, r7 - strh r0, [r3] - adds r3, 0x2 - adds r0, r6, 0 - orrs r0, r7 - strh r0, [r3] - adds r3, 0x2 - mov r0, r8 - orrs r7, r0 - strh r7, [r3] - adds r3, 0x2 - adds r7, r2, 0 - ldr r1, [sp, 0x10] - orrs r7, r1 - adds r0, r5, 0 - orrs r0, r7 - strh r0, [r3] - adds r3, 0x2 - adds r0, r6, 0 - orrs r0, r7 - strh r0, [r3] - adds r3, 0x2 - mov r0, r8 - orrs r7, r0 - strh r7, [r3] - adds r3, 0x2 - adds r7, r2, 0 - ldr r1, [sp, 0x14] - orrs r7, r1 - adds r0, r5, 0 - orrs r0, r7 - strh r0, [r3] - adds r3, 0x2 - adds r0, r6, 0 - orrs r0, r7 - strh r0, [r3] - adds r3, 0x2 - mov r0, r8 - orrs r7, r0 - strh r7, [r3] - adds r3, 0x2 - adds r7, r2, 0 - ldr r1, [sp, 0x18] - orrs r7, r1 - adds r0, r5, 0 - orrs r0, r7 - strh r0, [r3] - adds r3, 0x2 - adds r0, r6, 0 - orrs r0, r7 - strh r0, [r3] - adds r3, 0x2 - mov r0, r8 - orrs r7, r0 - strh r7, [r3] - adds r3, 0x2 - adds r7, r2, 0 - ldr r1, [sp, 0x1C] - orrs r7, r1 - adds r0, r5, 0 - orrs r0, r7 - strh r0, [r3] - adds r3, 0x2 - adds r0, r6, 0 - orrs r0, r7 - strh r0, [r3] - adds r3, 0x2 - mov r0, r8 - orrs r7, r0 - strh r7, [r3] - adds r3, 0x2 - adds r7, r2, 0 - ldr r1, [sp, 0x20] - orrs r7, r1 - adds r0, r5, 0 - orrs r0, r7 - strh r0, [r3] - adds r3, 0x2 - adds r0, r6, 0 - orrs r0, r7 - strh r0, [r3] - adds r3, 0x2 - mov r0, r8 - orrs r7, r0 - strh r7, [r3] - adds r3, 0x2 - adds r7, r2, 0 - orrs r7, r4 - orrs r5, r7 - strh r5, [r3] - adds r3, 0x2 - orrs r6, r7 - strh r6, [r3] - orrs r0, r7 - strh r0, [r3, 0x2] - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end GenerateFontHalfRowLookupTable - - thumb_func_start SaveTextColors -@ void SaveTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor) -SaveTextColors: @ 8004BE0 - ldr r3, =gUnknown_030009EA - ldrh r3, [r3] - strb r3, [r1] - ldr r1, =gUnknown_030009EC - ldrh r1, [r1] - strb r1, [r0] - ldr r0, =gUnknown_030009EE - ldrh r0, [r0] - strb r0, [r2] - bx lr - .pool - thumb_func_end SaveTextColors - - thumb_func_start RestoreTextColors -@ void RestoreTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor) -RestoreTextColors: @ 8004C00 - push {lr} - ldrb r0, [r0] - ldrb r1, [r1] - ldrb r2, [r2] - bl GenerateFontHalfRowLookupTable - pop {r0} - bx r0 - thumb_func_end RestoreTextColors - - thumb_func_start DecompressGlyphTile -@ void DecompressGlyphTile(u16 *src, u32 *dest) -DecompressGlyphTile: @ 8004C10 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldrh r7, [r0] - ldr r5, =gUnknown_03000948 - ldr r4, =gFontHalfRowOffsets - movs r2, 0xFF - mov r8, r2 - adds r2, r7, 0 - mov r3, r8 - ands r2, r3 - adds r2, r4 - ldrb r2, [r2] - lsls r2, 1 - adds r2, r5 - ldrh r3, [r2] - lsls r3, 16 - lsrs r2, r7, 8 - adds r2, r4 - ldrb r2, [r2] - lsls r2, 1 - adds r2, r5 - ldrh r2, [r2] - orrs r3, r2 - adds r6, r1, 0 - stm r6!, {r3} - ldrh r7, [r0, 0x2] - adds r0, 0x4 - adds r2, r7, 0 - mov r3, r8 - ands r2, r3 - adds r2, r4 - ldrb r2, [r2] - lsls r2, 1 - adds r2, r5 - ldrh r3, [r2] - lsls r3, 16 - lsrs r2, r7, 8 - adds r2, r4 - ldrb r2, [r2] - lsls r2, 1 - adds r2, r5 - ldrh r2, [r2] - orrs r3, r2 - str r3, [r1, 0x4] - adds r6, 0x4 - ldrh r7, [r0] - adds r0, 0x2 - adds r1, r7, 0 - mov r2, r8 - ands r1, r2 - adds r1, r4 - ldrb r1, [r1] - lsls r1, 1 - adds r1, r5 - ldrh r2, [r1] - lsls r2, 16 - lsrs r1, r7, 8 - adds r1, r4 - ldrb r1, [r1] - lsls r1, 1 - adds r1, r5 - ldrh r1, [r1] - orrs r2, r1 - stm r6!, {r2} - ldrh r7, [r0] - adds r0, 0x2 - adds r1, r7, 0 - mov r3, r8 - ands r1, r3 - adds r1, r4 - ldrb r1, [r1] - lsls r1, 1 - adds r1, r5 - ldrh r2, [r1] - lsls r2, 16 - lsrs r1, r7, 8 - adds r1, r4 - ldrb r1, [r1] - lsls r1, 1 - adds r1, r5 - ldrh r1, [r1] - orrs r2, r1 - stm r6!, {r2} - ldrh r7, [r0] - adds r0, 0x2 - adds r1, r7, 0 - ands r1, r3 - adds r1, r4 - ldrb r1, [r1] - lsls r1, 1 - adds r1, r5 - ldrh r2, [r1] - lsls r2, 16 - lsrs r1, r7, 8 - adds r1, r4 - ldrb r1, [r1] - lsls r1, 1 - adds r1, r5 - ldrh r1, [r1] - orrs r2, r1 - stm r6!, {r2} - ldrh r7, [r0] - adds r0, 0x2 - adds r1, r7, 0 - ands r1, r3 - adds r1, r4 - ldrb r1, [r1] - lsls r1, 1 - adds r1, r5 - ldrh r2, [r1] - lsls r2, 16 - lsrs r1, r7, 8 - adds r1, r4 - ldrb r1, [r1] - lsls r1, 1 - adds r1, r5 - ldrh r1, [r1] - orrs r2, r1 - stm r6!, {r2} - ldrh r7, [r0] - adds r1, r7, 0 - ands r1, r3 - adds r1, r4 - ldrb r1, [r1] - lsls r1, 1 - adds r1, r5 - ldrh r2, [r1] - lsls r2, 16 - lsrs r1, r7, 8 - adds r1, r4 - ldrb r1, [r1] - lsls r1, 1 - adds r1, r5 - ldrh r1, [r1] - orrs r2, r1 - stm r6!, {r2} - ldrh r7, [r0, 0x2] - adds r0, r7, 0 - ands r0, r3 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r5 - ldrh r1, [r0] - lsls r1, 16 - lsrs r0, r7, 8 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r5 - ldrh r0, [r0] - orrs r1, r0 - str r1, [r6] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end DecompressGlyphTile - - thumb_func_start GetLastTextColor -@ u8 GetLastTextColor(u8 colorType) -GetLastTextColor: @ 8004D58 - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x1 - beq _08004D8C - cmp r0, 0x1 - bgt _08004D6E - cmp r0, 0 - beq _08004D74 - b _08004D98 -_08004D6E: - cmp r1, 0x2 - beq _08004D80 - b _08004D98 -_08004D74: - ldr r0, =gUnknown_030009EC - ldrb r0, [r0] - b _08004D9A - .pool -_08004D80: - ldr r0, =gUnknown_030009EA - ldrb r0, [r0] - b _08004D9A - .pool -_08004D8C: - ldr r0, =gUnknown_030009EE - ldrb r0, [r0] - b _08004D9A - .pool -_08004D98: - movs r0, 0 -_08004D9A: - pop {r1} - bx r1 - thumb_func_end GetLastTextColor - thumb_func_start CopyGlyphToWindow @ int CopyGlyphToWindow(struct TextPrinter *x) CopyGlyphToWindow: @ 8004DA0 @@ -1520,7 +715,7 @@ ClearTextSpan: @ 80052C8 sub sp, 0x10 adds r4, r0, 0 adds r6, r1, 0 - ldr r0, =gUnknown_030009EA + ldr r0, =gLastTextBgColor ldrh r5, [r0] cmp r5, 0 beq _0800531E |