summaryrefslogtreecommitdiff
path: root/arm9/src/text.c
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/src/text.c')
-rw-r--r--arm9/src/text.c24
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);
+}