diff options
Diffstat (limited to 'arm9/src/text.c')
-rw-r--r-- | arm9/src/text.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/arm9/src/text.c b/arm9/src/text.c index cd846135..1a62608d 100644 --- a/arm9/src/text.c +++ b/arm9/src/text.c @@ -8,6 +8,7 @@ u32 UNK_021C5714[8]; u8 UNK_021C570C[8]; extern u32 FUN_0200CA7C(void *param0, u32 param1, u32 param2); +extern u16 AddTextPrinter(struct TextPrinterTemplate *template, u32 speed, void (*callback)(void *, u16)); extern void *FUN_0201B6C8(void); extern void FUN_0200CAB4(u32 param0); @@ -83,3 +84,26 @@ THUMB_FUNC void FUN_0201BD7C(u32 param0) { FUN_0201BCFC(param0); } + +THUMB_FUNC u16 AddTextPrinterParameterized(u32 windowId, u8 fontId, const u8 *str, u32 x, u32 y, u32 speed, void (*callback)(void *, u16)) +{ + struct TextPrinterTemplate printerTemplate; + + printerTemplate.windowId = windowId; + printerTemplate.currentChar = str; + printerTemplate.fontId = fontId; + printerTemplate.x = (u8)x; + printerTemplate.y = (u8)y; + printerTemplate.currentX = (u8)x; + printerTemplate.currentY = (u8)y; + printerTemplate.letterSpacing = gFonts[fontId].letterSpacing; + printerTemplate.lineSpacing = gFonts[fontId].lineSpacing; + printerTemplate.unk = gFonts[fontId].unk; + printerTemplate.fgColor = gFonts[fontId].fgColor; + printerTemplate.bgColor = gFonts[fontId].bgColor; + printerTemplate.shadowColor = gFonts[fontId].shadowColor; + printerTemplate.unk2 = 0; + printerTemplate.unk3 = 0; + printerTemplate.unk4 = 255; + return AddTextPrinter(&printerTemplate, speed, callback); +} |