From 661e7cc214356e8b2c9b87390bd188af294743ca Mon Sep 17 00:00:00 2001 From: Julgodis <> Date: Fri, 24 Sep 2021 17:57:00 +0200 Subject: [PATCH] OK start__14JUTDirectPrintFv --- include/JSystem/JUtility/JUTDirectPrint.h | 5 +++-- libs/JSystem/JUtility/JUTDirectPrint.cpp | 16 ++++++++-------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/include/JSystem/JUtility/JUTDirectPrint.h b/include/JSystem/JUtility/JUTDirectPrint.h index b9b1fbef214..565c9c7b26f 100644 --- a/include/JSystem/JUtility/JUTDirectPrint.h +++ b/include/JSystem/JUtility/JUTDirectPrint.h @@ -11,7 +11,7 @@ struct __va_list_struct {}; class JUTDirectPrint { public: /* 802E41E8 */ JUTDirectPrint(); - /* 802E4240 */ void start(); + /* 802E4240 */ JUTDirectPrint* start(); /* 802E4288 */ void erase(int, int, int, int); /* 802E431C */ void drawChar(int, int, int); /* 802E456C */ void changeFrameBuffer(void*, u16, u16); @@ -24,7 +24,8 @@ public: static u8 sAsciiTable[128]; static void* sFontData[64]; static void* sFontData2[77]; - static u8 sDirectPrint[4 + 4 /* padding */]; + static JUTDirectPrint* sDirectPrint; + static u8 sDirectPrint_padding[4 /* padding */]; private: /* 0x00 */ void* field_0x00; diff --git a/libs/JSystem/JUtility/JUTDirectPrint.cpp b/libs/JSystem/JUtility/JUTDirectPrint.cpp index 0e5797189d7..cd2e26b2c1e 100644 --- a/libs/JSystem/JUtility/JUTDirectPrint.cpp +++ b/libs/JSystem/JUtility/JUTDirectPrint.cpp @@ -64,17 +64,17 @@ JUTDirectPrint::JUTDirectPrint() { /* ############################################################################################## */ /* 80451528-80451530 000A28 0004+04 1/1 4/4 0/0 .sbss sDirectPrint__14JUTDirectPrint */ -u8 JUTDirectPrint::sDirectPrint[4 + 4 /* padding */]; +JUTDirectPrint* JUTDirectPrint::sDirectPrint; +u8 JUTDirectPrint::sDirectPrint_padding[4 /* padding */]; /* 802E4240-802E4288 2DEB80 0048+00 0/0 1/1 0/0 .text start__14JUTDirectPrintFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTDirectPrint::start() { - nofralloc -#include "asm/JSystem/JUtility/JUTDirectPrint/start__14JUTDirectPrintFv.s" +JUTDirectPrint* JUTDirectPrint::start() { + if (!sDirectPrint) { + sDirectPrint = new JUTDirectPrint(); + } + + return sDirectPrint; } -#pragma pop /* 802E4288-802E431C 2DEBC8 0094+00 1/1 1/1 0/0 .text erase__14JUTDirectPrintFiiii */ #pragma push