#ifndef J2DPRINT_H #define J2DPRINT_H #include "JSystem/J2DGraph/J2DTextBox.h" #include "__va_arg.h" class JUTFont; class J2DPrint; extern "C" f32 J2DPrint_print_alpha_va(J2DPrint*, u8, const char*, va_list); /** * @ingroup jsystem-j2d * */ class J2DPrint { public: struct TSize { /* 0x0 */ f32 field_0x0; /* 0x4 */ f32 field_0x4; }; J2DPrint(JUTFont*, JUtility::TColor, JUtility::TColor); void initiate(); /* 802F4394 */ J2DPrint(JUTFont*, f32, f32, JUtility::TColor, JUtility::TColor, JUtility::TColor, JUtility::TColor); /* 802F4658 */ static u8* setBuffer(size_t); /* 802F46C4 */ void setFontSize(); /* 802F475C */ void locate(f32, f32); /* 802F4778 */ f32 print(f32, f32, u8, char const*, ...); /* 802F4828 */ void printReturn(char const*, f32, f32, J2DTextBoxHBinding, J2DTextBoxVBinding, f32, f32, u8); /* 802F4B4C */ f32 parse(u8 const*, int, int, u16*, J2DPrint::TSize&, u8, bool); /* 802F52E8 */ void doCtrlCode(int); /* 802F5410 */ u16 doEscapeCode(u8 const**, u8); /* 802F594C */ void initchar(); /* 802F59C0 */ s32 getNumberS32(u8 const**, s32, s32, int); /* 802F5AC4 */ f32 getNumberF32(u8 const**, f32, f32, int); /* 802F4420 */ virtual ~J2DPrint(); f32 print_va(u8 alpha, const char* fmt, va_list args) { return J2DPrint_print_alpha_va(this, alpha, fmt, args); } void setFontSize(f32 sizeX, f32 sizeY) { f32 x; if (sizeX > 0.0f) { x = sizeX; } else { x = 0.0f; } mFontSizeX = x; f32 y; if (sizeY > 0.0f) { y = sizeY; } else { y = 0.0f; } mFontSizeY = y; } static char* mStrBuff; static size_t mStrBuffSize; private: /* 802F4468 */ void private_initiate(JUTFont*, f32, f32, JUtility::TColor, JUtility::TColor, JUtility::TColor, JUtility::TColor, bool); /* 0x04 */ JUTFont* mFont; /* 0x08 */ JUtility::TColor field_0x8; /* 0x0C */ JUtility::TColor field_0xc; /* 0x10 */ f32 field_0x10; /* 0x14 */ f32 field_0x14; /* 0x18 */ f32 mScaleX; /* 0x1C */ f32 mScaleY; /* 0x20 */ s16 field_0x20; /* 0x22 */ bool field_0x22; /* 0x24 */ f32 field_0x24; /* 0x28 */ f32 field_0x28; /* 0x2C */ f32 mCursorH; /* 0x30 */ f32 mCursorV; /* 0x34 */ f32 field_0x34; /* 0x38 */ JUtility::TColor mBlackColor; /* 0x3C */ JUtility::TColor mWhiteColor; /* 0x40 */ JUtility::TColor mCharColor; /* 0x44 */ JUtility::TColor mGradColor; /* 0x48 */ f32 mCharSpacing; /* 0x4C */ f32 mLineSpacing; /* 0x50 */ f32 mFontSizeX; /* 0x54 */ f32 mFontSizeY; /* 0x58 */ s16 field_0x58; /* 0x5A */ bool field_0x5a; }; // Size: 0x5C #endif /* J2DPRINT_H */