// // Generated By: dol2asm // Translation Unit: JUTDirectPrint // #include "JSystem/JUtility/JUTDirectPrint.h" #include "dol2asm.h" #include "dolphin/types.h" // // Types: // struct base_process_class {}; struct __va_list_struct {}; struct JUtility { struct TColor {}; }; struct JUTDirectPrint { /* 802E41E8 */ JUTDirectPrint(); /* 802E4240 */ void start(); /* 802E4288 */ void erase(int, int, int, int); /* 802E431C */ void drawChar(int, int, int); /* 802E456C */ void changeFrameBuffer(void*, u16, u16); /* 802E45A4 */ void printSub(u16, u16, char const*, __va_list_struct*, bool); /* 802E46D8 */ void drawString(u16, u16, char*); /* 802E4708 */ void drawString_f(u16, u16, char const*, ...); /* 802E47C8 */ void setCharColor(u8, u8, u8); /* 802E4798 */ void setCharColor(JUtility::TColor); static u8 sAsciiTable[128]; static void* sFontData[64]; static void* sFontData2[77]; static u8 sDirectPrint[4 + 4 /* padding */]; }; namespace JStudio { struct TFunctionValue_list_parameter { /* 80283C24 */ ~TFunctionValue_list_parameter(); }; }; // namespace JStudio // // Forward References: // extern "C" void __ct__14JUTDirectPrintFv(); extern "C" void start__14JUTDirectPrintFv(); extern "C" void erase__14JUTDirectPrintFiiii(); extern "C" void drawChar__14JUTDirectPrintFiii(); extern "C" void changeFrameBuffer__14JUTDirectPrintFPvUsUs(); extern "C" void printSub__14JUTDirectPrintFUsUsPCcP16__va_list_structb(); extern "C" void drawString__14JUTDirectPrintFUsUsPc(); extern "C" void drawString_f__14JUTDirectPrintFUsUsPCce(); extern "C" void setCharColor__14JUTDirectPrintFQ28JUtility6TColor(); extern "C" void setCharColor__14JUTDirectPrintFUcUcUc(); extern "C" extern char const* const JUTDirectPrint__stringBase0; extern "C" u8 sAsciiTable__14JUTDirectPrint[128]; extern "C" void* sFontData__14JUTDirectPrint[64]; extern "C" void* sFontData2__14JUTDirectPrint[77]; extern "C" u8 sDirectPrint__14JUTDirectPrint[4 + 4 /* padding */]; // // External References: // extern "C" void fpcBs_Delete__FP18base_process_class(); extern "C" void __dt__Q27JStudio29TFunctionValue_list_parameterFv(); extern "C" void* __nw__FUl(); extern "C" void DCStoreRange(); extern "C" void _savegpr_24(); extern "C" void _savegpr_27(); extern "C" void _restgpr_24(); extern "C" void _restgpr_27(); extern "C" void vsnprintf(); // // Declarations: // /* 802E41E8-802E4240 2DEB28 0058+00 1/1 0/0 0/0 .text __ct__14JUTDirectPrintFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm JUTDirectPrint::JUTDirectPrint() { nofralloc #include "asm/JSystem/JUtility/JUTDirectPrint/__ct__14JUTDirectPrintFv.s" } #pragma pop /* ############################################################################################## */ /* 80451528-80451530 000A28 0004+04 1/1 4/4 0/0 .sbss sDirectPrint__14JUTDirectPrint */ u8 JUTDirectPrint::sDirectPrint[4 + 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" } #pragma pop /* 802E4288-802E431C 2DEBC8 0094+00 1/1 1/1 0/0 .text erase__14JUTDirectPrintFiiii */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JUTDirectPrint::erase(int param_0, int param_1, int param_2, int param_3) { nofralloc #include "asm/JSystem/JUtility/JUTDirectPrint/erase__14JUTDirectPrintFiiii.s" } #pragma pop /* ############################################################################################## */ /* 803CC6B8-803CC738 0297D8 0080+00 2/2 0/0 0/0 .data sAsciiTable__14JUTDirectPrint */ SECTION_DATA u8 JUTDirectPrint::sAsciiTable[128] = { 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0xFD, 0xFE, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x29, 0x64, 0x65, 0x66, 0x2B, 0x67, 0x68, 0x25, 0x26, 0x69, 0x2A, 0x6A, 0x27, 0x2C, 0x6B, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x24, 0x6C, 0x6D, 0x6E, 0x6F, 0x28, 0x70, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x71, 0x72, 0x73, 0x74, 0x75, 0xFF, 0x7D, 0x7E, 0x7F, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x76, 0x77, 0x78, 0x79, 0x7A, }; /* 803CC738-803CC838 -00001 0100+00 0/1 0/0 0/0 .data sFontData__14JUTDirectPrint */ #pragma push #pragma force_active on SECTION_DATA void* JUTDirectPrint::sFontData[64] = { (void*)0x70871C30, (void*)0x8988A250, (void*)0x88808290, (void*)0x88830C90, (void*)0x888402F8, (void*)0x88882210, (void*)0x71CF9C10, (void*)0xF9CF9C70, (void*)0x8208A288, (void*)0xF200A288, (void*)0x0BC11C78, (void*)0x0A222208, (void*)0x8A222208, (void*)0x71C21C70, (void*)0x23C738F8, (void*)0x5228A480, (void*)0x8A282280, (void*)0x8BC822F0, (void*)0xFA282280, (void*)0x8A28A480, (void*)0x8BC738F8, (void*)0xF9C89C08, (void*)0x82288808, (void*)0x82088808, (void*)0xF2EF8808, (void*)0x82288888, (void*)0x82288888, (void*)0x81C89C70, (void*)0x8A08A270, (void*)0x920DA288, (void*)0xA20AB288, (void*)0xC20AAA88, (void*)0xA208A688, (void*)0x9208A288, (void*)0x8BE8A270, (void*)0xF1CF1CF8, (void*)0x8A28A220, (void*)0x8A28A020, (void*)0xF22F1C20, (void*)0x82AA0220, (void*)0x82492220, (void*)0x81A89C20, (void*)0x8A28A288, (void*)0x8A28A288, (void*)0x8A289488, (void*)0x8A2A8850, (void*)0x894A9420, (void*)0x894AA220, (void*)0x70852220, (void*)0xF8011000, (void*)0x08020800, (void*)0x10840400, (void*)0x20040470, (void*)0x40840400, (void*)(((char*)fpcBs_Delete__FP18base_process_class) + 0x44), (void*)0xF8011000, (void*)0x70800000, (void*)0x88822200, (void*)0x08820400, (void*)0x108F8800, (void*)0x20821000, (void*)0x00022200, (void*)0x20800020, (void*)NULL, }; #pragma pop /* 803CC838-803CC96C -00001 0134+00 0/1 0/0 0/0 .data sFontData2__14JUTDirectPrint */ #pragma push #pragma force_active on SECTION_DATA void* JUTDirectPrint::sFontData2[77] = { (void*)0x51421820, (void*)0x53E7A420, (void*)0x014A2C40, (void*)0x01471000, (void*)0x0142AA00, (void*)0x03EAA400, (void*)0x01471A78, (void*)NULL, (void*)0x50008010, (void*)0x20010820, (void*)0xF8020040, (void*)0x20420820, (void*)0x50441010, (void*)0x00880000, (void*)0x00070E00, (void*)0x01088840, (void*)0x78898820, (void*)0x004A8810, (void*)0x788A8810, (void*)0x01098808, (void*)0x00040E04, (void*)0x70800620, (void*)0x11400820, (void*)0x12200820, (void*)0x10001020, (void*)0x10000820, (void*)0x100F8820, (void*)0x70000620, (void*)0x60070000, (void*)0x110F82A0, (void*)0x12AA8AE0, (void*)0x084F92A0, (void*)0x100FBE1C, (void*)0x10089008, (void*)0x60070808, (void*)NULL, (void*)0x02000200, (void*)0x7A078270, (void*)0x8BC81E88, (void*)0x8A2822F8, (void*)0x9A282280, (void*)0x6BC79E78, (void*)0x30000000, (void*)0x48080810, (void*)0x41E80000, (void*)0x422F1830, (void*)0xFBE88810, (void*)0x40288890, (void*)0x43C89C60, (void*)0x81000000, (void*)0x81000000, (void*)0x990F3C70, (void*)0xA10AA288, (void*)0xE10AA288, (void*)0xA10AA288, (void*)0x98CAA270, (void*)NULL, (void*)0x00000020, (void*)0xF1EF1E20, (void*)0x8A28A0F8, (void*)0x8A281C20, (void*)0xF1E80220, (void*)(((char*)__dt__Q27JStudio29TFunctionValue_list_parameterFv) + 0x14), (void*)NULL, (void*)NULL, (void*)0x8A28B688, (void*)0x8A2A8888, (void*)0x8A2A8878, (void*)0x894A8808, (void*)0x788536F0, (void*)NULL, (void*)NULL, (void*)0xF8000000, (void*)0x10000000, (void*)0x20000000, (void*)0x40000000, (void*)0xF8000000, }; #pragma pop /* 803CC96C-803CC980 029A8C 0010+04 0/1 0/0 0/0 .data twiceBit$371 */ #pragma push #pragma force_active on SECTION_DATA static u8 twiceBit[16 + 4 /* padding */] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0F, /* padding */ 0x00, 0x00, 0x00, 0x00, }; #pragma pop /* 802E431C-802E456C 2DEC5C 0250+00 1/1 0/0 0/0 .text drawChar__14JUTDirectPrintFiii */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JUTDirectPrint::drawChar(int param_0, int param_1, int param_2) { nofralloc #include "asm/JSystem/JUtility/JUTDirectPrint/drawChar__14JUTDirectPrintFiii.s" } #pragma pop /* 802E456C-802E45A4 2DEEAC 0038+00 1/1 4/4 0/0 .text changeFrameBuffer__14JUTDirectPrintFPvUsUs */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JUTDirectPrint::changeFrameBuffer(void* param_0, u16 param_1, u16 param_2) { nofralloc #include "asm/JSystem/JUtility/JUTDirectPrint/changeFrameBuffer__14JUTDirectPrintFPvUsUs.s" } #pragma pop /* 802E45A4-802E46D8 2DEEE4 0134+00 1/1 0/0 0/0 .text * printSub__14JUTDirectPrintFUsUsPCcP16__va_list_structb */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JUTDirectPrint::printSub(u16 param_0, u16 param_1, char const* param_2, __va_list_struct* param_3, bool param_4) { nofralloc #include "asm/JSystem/JUtility/JUTDirectPrint/printSub__14JUTDirectPrintFUsUsPCcP16__va_list_structb.s" } #pragma pop /* ############################################################################################## */ /* 8039D9A0-8039D9A0 02A000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ #pragma push #pragma force_active on SECTION_DEAD static char const* const stringBase_8039D9A0 = "%s"; /* @stringBase0 padding */ SECTION_DEAD static char const* const pad_8039D9A3 = "\0\0\0\0"; #pragma pop /* 802E46D8-802E4708 2DF018 0030+00 0/0 2/2 0/0 .text drawString__14JUTDirectPrintFUsUsPc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JUTDirectPrint::drawString(u16 param_0, u16 param_1, char* param_2) { nofralloc #include "asm/JSystem/JUtility/JUTDirectPrint/drawString__14JUTDirectPrintFUsUsPc.s" } #pragma pop /* 802E4708-802E4798 2DF048 0090+00 1/1 0/0 0/0 .text drawString_f__14JUTDirectPrintFUsUsPCce */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JUTDirectPrint::drawString_f(u16 param_0, u16 param_1, char const* param_2, ...) { nofralloc #include "asm/JSystem/JUtility/JUTDirectPrint/drawString_f__14JUTDirectPrintFUsUsPCce.s" } #pragma pop /* 802E4798-802E47C8 2DF0D8 0030+00 0/0 2/2 0/0 .text * setCharColor__14JUTDirectPrintFQ28JUtility6TColor */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JUTDirectPrint::setCharColor(JUtility::TColor param_0) { nofralloc #include "asm/JSystem/JUtility/JUTDirectPrint/setCharColor__14JUTDirectPrintFQ28JUtility6TColor.s" } #pragma pop /* ############################################################################################## */ /* 80456060-80456068 004660 0008+00 1/1 0/0 0/0 .sdata2 @503 */ SECTION_SDATA2 static f64 lit_503 = 128.0; /* 80456068-80456070 004668 0008+00 1/1 0/0 0/0 .sdata2 @504 */ SECTION_SDATA2 static f64 lit_504 = 0.439; /* 80456070-80456078 004670 0008+00 1/1 0/0 0/0 .sdata2 @505 */ SECTION_SDATA2 static f64 lit_505 = -0.148; /* 80456078-80456080 004678 0008+00 1/1 0/0 0/0 .sdata2 @506 */ SECTION_SDATA2 static f64 lit_506 = 0.291; /* 80456080-80456088 004680 0008+00 1/1 0/0 0/0 .sdata2 @507 */ SECTION_SDATA2 static f64 lit_507 = 0.368; /* 80456088-80456090 004688 0008+00 1/1 0/0 0/0 .sdata2 @508 */ SECTION_SDATA2 static f64 lit_508 = 0.071; /* 80456090-80456098 004690 0008+00 1/1 0/0 0/0 .sdata2 @509 */ SECTION_SDATA2 static f64 lit_509 = 16.0; /* 80456098-804560A0 004698 0008+00 1/1 0/0 0/0 .sdata2 @510 */ SECTION_SDATA2 static f64 lit_510 = 0.098; /* 804560A0-804560A8 0046A0 0008+00 1/1 0/0 0/0 .sdata2 @511 */ SECTION_SDATA2 static f64 lit_511 = 0.257; /* 804560A8-804560B0 0046A8 0008+00 1/1 0/0 0/0 .sdata2 @512 */ SECTION_SDATA2 static f64 lit_512 = 0.504; /* 804560B0-804560B8 0046B0 0008+00 1/1 0/0 0/0 .sdata2 @514 */ SECTION_SDATA2 static f64 lit_514 = 4503601774854144.0 /* cast s32 to float */; /* 802E47C8-802E495C 2DF108 0194+00 2/2 0/0 0/0 .text setCharColor__14JUTDirectPrintFUcUcUc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JUTDirectPrint::setCharColor(u8 param_0, u8 param_1, u8 param_2) { nofralloc #include "asm/JSystem/JUtility/JUTDirectPrint/setCharColor__14JUTDirectPrintFUcUcUc.s" } #pragma pop /* 8039D9A0-8039D9A0 02A000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */