From bb8d99313bb8b2ed0458ac421d19ad5dfe7167de Mon Sep 17 00:00:00 2001 From: Julgodis <> Date: Fri, 24 Sep 2021 17:51:55 +0200 Subject: [PATCH 01/16] Added TColor.h --- include/JSystem/JUtility/JUTDirectPrint.h | 44 +++++++++++++++++++++++ include/JSystem/JUtility/TColor.h | 39 ++++++++++++++++++++ include/dolphin/types.h | 2 ++ libs/JSystem/JUtility/JUTDirectPrint.cpp | 26 -------------- 4 files changed, 85 insertions(+), 26 deletions(-) create mode 100644 include/JSystem/JUtility/TColor.h diff --git a/include/JSystem/JUtility/JUTDirectPrint.h b/include/JSystem/JUtility/JUTDirectPrint.h index d805d9cb825..b9b1fbef214 100644 --- a/include/JSystem/JUtility/JUTDirectPrint.h +++ b/include/JSystem/JUtility/JUTDirectPrint.h @@ -2,5 +2,49 @@ #define JUTDIRECTPRINT_H #include "dolphin/types.h" +#include "JSystem/JUtility/TColor.h" + +struct base_process_class {}; + +struct __va_list_struct {}; + +class JUTDirectPrint { +public: + /* 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 */]; + +private: + /* 0x00 */ void* field_0x00; + /* 0x04 */ u16 mFrameBufferWidth; + /* 0x06 */ u16 mFrameBufferHeight; + /* 0x08 */ u16 field_0x08; + /* 0x0A */ u16 field_0x0A; + /* 0x0C */ size_t field_0x0C; + /* 0x10 */ u8 field_0x10[4]; + /* 0x14 */ void* mFrameBuffer; + /* 0x18 */ JUtility::TColor mCharColor; + /* 0x1C */ u16 field_0x1C; + /* 0x1E */ u16 field_0x1E; + /* 0x20 */ u16 field_0x20; + /* 0x22 */ u16 field_0x22; + /* 0x24 */ u16 field_0x24; + /* 0x26 */ u16 field_0x26; + /* 0x28 */ u16 field_0x28; + /* 0x2A */ u16 field_0x2A; + /* 0x2C */ +}; #endif /* JUTDIRECTPRINT_H */ diff --git a/include/JSystem/JUtility/TColor.h b/include/JSystem/JUtility/TColor.h new file mode 100644 index 00000000000..19719d2fd83 --- /dev/null +++ b/include/JSystem/JUtility/TColor.h @@ -0,0 +1,39 @@ +#ifndef TCOLOR_H +#define TCOLOR_H + +#include "dolphin/gx/GXTexture.h" +#include "dolphin/types.h" + +namespace JUtility { +class TColor { +public: + TColor(u8 r, u8 g, u8 b, u8 a) { set(r, g, b, a); } + TColor() { set(0xffffffff); } + TColor(u32 u32Color) { set(u32Color); } + TColor(_GXColor gxColor) { set(gxColor); } + + TColor(const TColor& other) { *this = other; } + TColor& operator=(const TColor& other) { + mColor = other.mColor; + return *this; + } + + operator u32() { return toUInt32(); } + u32 toUInt32() { return *(u32*)&mColor; } + + void set(u8 cR, u8 cG, u8 cB, u8 cA) { + mColor.r = cR; + mColor.g = cG; + mColor.b = cB; + mColor.a = cA; + } + + void set(u32 u32Color) { *(u32*)&mColor = u32Color; } + void set(_GXColor gxColor) { mColor = gxColor; } + +private: + _GXColor mColor; +}; +} // namespace JUtility + +#endif \ No newline at end of file diff --git a/include/dolphin/types.h b/include/dolphin/types.h index 87de0f11330..0144f699a6c 100644 --- a/include/dolphin/types.h +++ b/include/dolphin/types.h @@ -26,6 +26,8 @@ typedef volatile f64 vf64; typedef int BOOL; +typedef unsigned long size_t; + #define TRUE 1 #define FALSE 0 diff --git a/libs/JSystem/JUtility/JUTDirectPrint.cpp b/libs/JSystem/JUtility/JUTDirectPrint.cpp index 5b007623ccf..934a057f804 100644 --- a/libs/JSystem/JUtility/JUTDirectPrint.cpp +++ b/libs/JSystem/JUtility/JUTDirectPrint.cpp @@ -11,32 +11,6 @@ // 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(); From 7d0aedacf63a9a80acd977eb864ba69c3cdc307d Mon Sep 17 00:00:00 2001 From: Julgodis <> Date: Fri, 24 Sep 2021 17:52:16 +0200 Subject: [PATCH 02/16] OK __ct__14JUTDirectPrintFv --- libs/JSystem/JUtility/JUTDirectPrint.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/libs/JSystem/JUtility/JUTDirectPrint.cpp b/libs/JSystem/JUtility/JUTDirectPrint.cpp index 934a057f804..0e5797189d7 100644 --- a/libs/JSystem/JUtility/JUTDirectPrint.cpp +++ b/libs/JSystem/JUtility/JUTDirectPrint.cpp @@ -57,14 +57,10 @@ extern "C" void vsnprintf(); // /* 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" +JUTDirectPrint::JUTDirectPrint() { + changeFrameBuffer(NULL, 0, 0); + setCharColor(0xff, 0xff, 0xff); } -#pragma pop /* ############################################################################################## */ /* 80451528-80451530 000A28 0004+04 1/1 4/4 0/0 .sbss sDirectPrint__14JUTDirectPrint */ From 661e7cc214356e8b2c9b87390bd188af294743ca Mon Sep 17 00:00:00 2001 From: Julgodis <> Date: Fri, 24 Sep 2021 17:57:00 +0200 Subject: [PATCH 03/16] 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 From a998dca498c6124356110993a1db833b4dd9b8d4 Mon Sep 17 00:00:00 2001 From: Julgodis <> Date: Fri, 24 Sep 2021 18:09:12 +0200 Subject: [PATCH 04/16] OK erase__14JUTDirectPrintFiiii --- include/JSystem/JUtility/JUTDirectPrint.h | 4 +-- libs/JSystem/JUtility/JUTDirectPrint.cpp | 31 ++++++++++++++++++----- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/include/JSystem/JUtility/JUTDirectPrint.h b/include/JSystem/JUtility/JUTDirectPrint.h index 565c9c7b26f..0ea7934a420 100644 --- a/include/JSystem/JUtility/JUTDirectPrint.h +++ b/include/JSystem/JUtility/JUTDirectPrint.h @@ -31,11 +31,11 @@ private: /* 0x00 */ void* field_0x00; /* 0x04 */ u16 mFrameBufferWidth; /* 0x06 */ u16 mFrameBufferHeight; - /* 0x08 */ u16 field_0x08; + /* 0x08 */ u16 mWidthStride; /* 0x0A */ u16 field_0x0A; /* 0x0C */ size_t field_0x0C; /* 0x10 */ u8 field_0x10[4]; - /* 0x14 */ void* mFrameBuffer; + /* 0x14 */ u16* mFrameBuffer; /* 0x18 */ JUtility::TColor mCharColor; /* 0x1C */ u16 field_0x1C; /* 0x1E */ u16 field_0x1E; diff --git a/libs/JSystem/JUtility/JUTDirectPrint.cpp b/libs/JSystem/JUtility/JUTDirectPrint.cpp index cd2e26b2c1e..4be243e56ee 100644 --- a/libs/JSystem/JUtility/JUTDirectPrint.cpp +++ b/libs/JSystem/JUtility/JUTDirectPrint.cpp @@ -77,14 +77,31 @@ JUTDirectPrint* JUTDirectPrint::start() { } /* 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" +void JUTDirectPrint::erase(int x, int y, int width, int height) { + if (!this->field_0x00) { + return; + } + + if (400 < mFrameBufferWidth) { + x = x << 1; + width = width << 1; + } + + if (300 < mFrameBufferHeight) { + y = y << 1; + height = height << 1; + } + + u16* pixel = mFrameBuffer + mWidthStride * y + x; + for (int i = 0; i < height; i++) { + for (int j = 0; j < width; j++) { + *pixel = 0x1080; + pixel = pixel + 1; + } + + pixel += mWidthStride - width; + } } -#pragma pop /* ############################################################################################## */ /* 803CC6B8-803CC738 0297D8 0080+00 2/2 0/0 0/0 .data sAsciiTable__14JUTDirectPrint */ From 35631bf4ffa568ef78418d1c712fa334289f1805 Mon Sep 17 00:00:00 2001 From: Julgodis <> Date: Sat, 25 Sep 2021 17:52:47 +0200 Subject: [PATCH 05/16] NONMATCHING drawChar__14JUTDirectPrintFiii --- include/JSystem/JUtility/JUTDirectPrint.h | 4 +- libs/JSystem/JUtility/JUTDirectPrint.cpp | 309 ++++++++++------------ 2 files changed, 145 insertions(+), 168 deletions(-) diff --git a/include/JSystem/JUtility/JUTDirectPrint.h b/include/JSystem/JUtility/JUTDirectPrint.h index 0ea7934a420..7f103ec9b0f 100644 --- a/include/JSystem/JUtility/JUTDirectPrint.h +++ b/include/JSystem/JUtility/JUTDirectPrint.h @@ -22,8 +22,8 @@ public: /* 802E4798 */ void setCharColor(JUtility::TColor); static u8 sAsciiTable[128]; - static void* sFontData[64]; - static void* sFontData2[77]; + static u32 sFontData[64]; + static u32 sFontData2[77]; static JUTDirectPrint* sDirectPrint; static u8 sDirectPrint_padding[4 /* padding */]; diff --git a/libs/JSystem/JUtility/JUTDirectPrint.cpp b/libs/JSystem/JUtility/JUTDirectPrint.cpp index 4be243e56ee..98a93ca8acb 100644 --- a/libs/JSystem/JUtility/JUTDirectPrint.cpp +++ b/libs/JSystem/JUtility/JUTDirectPrint.cpp @@ -82,7 +82,7 @@ void JUTDirectPrint::erase(int x, int y, int width, int height) { return; } - if (400 < mFrameBufferWidth) { + if (400 < mFrameBufferWidth) { x = x << 1; width = width << 1; } @@ -119,187 +119,163 @@ SECTION_DATA u8 JUTDirectPrint::sAsciiTable[128] = { /* 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, +SECTION_DATA u32 JUTDirectPrint::sFontData[64] = { + 0x70871C30, 0x8988A250, 0x88808290, 0x88830C90, 0x888402F8, 0x88882210, 0x71CF9C10, 0xF9CF9C70, + 0x8208A288, 0xF200A288, 0x0BC11C78, 0x0A222208, 0x8A222208, 0x71C21C70, 0x23C738F8, 0x5228A480, + 0x8A282280, 0x8BC822F0, 0xFA282280, 0x8A28A480, 0x8BC738F8, 0xF9C89C08, 0x82288808, 0x82088808, + 0xF2EF8808, 0x82288888, 0x82288888, 0x81C89C70, 0x8A08A270, 0x920DA288, 0xA20AB288, 0xC20AAA88, + 0xA208A688, 0x9208A288, 0x8BE8A270, 0xF1CF1CF8, 0x8A28A220, 0x8A28A020, 0xF22F1C20, 0x82AA0220, + 0x82492220, 0x81A89C20, 0x8A28A288, 0x8A28A288, 0x8A289488, 0x8A2A8850, 0x894A9420, 0x894AA220, + 0x70852220, 0xF8011000, 0x08020800, 0x10840400, 0x20040470, 0x40840400, 0x80020800, 0xF8011000, + 0x70800000, 0x88822200, 0x08820400, 0x108F8800, 0x20821000, 0x00022200, 0x20800020, 0x00000000, }; #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, +SECTION_DATA u32 JUTDirectPrint::sFontData2[77] = { + 0x51421820, 0x53E7A420, 0x014A2C40, 0x01471000, 0x0142AA00, 0x03EAA400, 0x01471A78, 0x00000000, + 0x50008010, 0x20010820, 0xF8020040, 0x20420820, 0x50441010, 0x00880000, 0x00070E00, 0x01088840, + 0x78898820, 0x004A8810, 0x788A8810, 0x01098808, 0x00040E04, 0x70800620, 0x11400820, 0x12200820, + 0x10001020, 0x10000820, 0x100F8820, 0x70000620, 0x60070000, 0x110F82A0, 0x12AA8AE0, 0x084F92A0, + 0x100FBE1C, 0x10089008, 0x60070808, 0x00000000, 0x02000200, 0x7A078270, 0x8BC81E88, 0x8A2822F8, + 0x9A282280, 0x6BC79E78, 0x30000000, 0x48080810, 0x41E80000, 0x422F1830, 0xFBE88810, 0x40288890, + 0x43C89C60, 0x81000000, 0x81000000, 0x990F3C70, 0xA10AA288, 0xE10AA288, 0xA10AA288, 0x98CAA270, + 0x00000000, 0x00000020, 0xF1EF1E20, 0x8A28A0F8, 0x8A281C20, 0xF1E80220, 0x80283C38, 0x00000000, + 0x00000000, 0x8A28B688, 0x8A2A8888, 0x8A2A8878, 0x894A8808, 0x788536F0, 0x00000000, 0x00000000, + 0xF8000000, 0x10000000, 0x20000000, 0x40000000, 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, +SECTION_DATA static u32 twiceBit[4] = { + 0x00000000, + 0x00000003, + 0x0000000C, + 0x0000000F, }; #pragma pop /* 802E431C-802E456C 2DEC5C 0250+00 1/1 0/0 0/0 .text drawChar__14JUTDirectPrintFiii */ +#if NONMATCHING +void JUTDirectPrint::drawChar(int position_x, int position_y, int ch) { + int codepoint; + if (100 <= ch) + codepoint = ch - 100; + else + codepoint = ch; + + u32 col_index = (codepoint % 5) * 6; + u32 row_index = (codepoint / 5) * 7; + + u32* font_data; + if (100 > ch) + font_data = sFontData + row_index; + else + font_data = sFontData2 + row_index; + + s32 scale_x; + if (mFrameBufferWidth < 400) + scale_x = 1; + else + scale_x = 2; + + s32 scale_y; + if (mFrameBufferHeight < 300) + scale_y = 1; + else + scale_y = 2; + + u16* pixel = mFrameBuffer + mWidthStride * position_y * scale_y + position_x * scale_x; + for (int y = 0; y < 7; y++) { + u32 data = *font_data << col_index; + font_data += 1; + + if (scale_x == 1) { + data = data >> 1 & 0x7e000000; + } else { + u32 a = twiceBit[(data >> 26) & 3]; + u32 b = twiceBit[(data >> 28) & 3] << 4; + u32 c = twiceBit[(data >> 30) & 3] << 8; + data = (a | b | c) << 0x13; + } + + for (int x = 0; x < scale_x * 6; x += 2) { + u16 u1; + u16 u2; + u16 u3; + u16 u4; + u16 value; + + if (data & 0x40000000) { + u1 = field_0x20; + } else { + u1 = 0x40; + } + + if (data & 0x80000000) { + u2 = field_0x22; + } else { + u2 = 0x20; + } + + if (data & 0x20000000) { + u3 = field_0x22; + } else { + u3 = 0x20; + } + + if (data & 0x40000000) { + u4 = field_0x1C; + } else { + u4 = 0x00; + } + + value = u4 | (u2 + u1 + u3); + pixel[0] = value; + if (scale_y > 1) + pixel[mWidthStride] = value; + + if (data & 0x20000000) { + u1 = field_0x26; + } else { + u1 = 0x40; + } + + if (data & 0x40000000) { + u2 = field_0x28; + } else { + u2 = 0x20; + } + + if (data & 0x10000000) { + u3 = field_0x28; + } else { + u3 = 0x20; + } + + if (data & 0x20000000) { + u4 = field_0x1C; + } else { + u4 = 0x00; + } + + value = u4 | (u2 + u1 + u3); + pixel[1] = value; + if (scale_y > 1) + pixel[1 + mWidthStride] = value; + + data <<= 2; + pixel += 2; + } + + pixel += mWidthStride * scale_y - scale_x * 6; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -308,6 +284,7 @@ asm void JUTDirectPrint::drawChar(int param_0, int param_1, int param_2) { #include "asm/JSystem/JUtility/JUTDirectPrint/drawChar__14JUTDirectPrintFiii.s" } #pragma pop +#endif /* 802E456C-802E45A4 2DEEAC 0038+00 1/1 4/4 0/0 .text changeFrameBuffer__14JUTDirectPrintFPvUsUs */ From 0ed8a12f7f416895b1339fea1d1acc938475b35f Mon Sep 17 00:00:00 2001 From: Julgodis <> Date: Sat, 25 Sep 2021 18:03:19 +0200 Subject: [PATCH 06/16] OK changeFrameBuffer__14JUTDirectPrintFPvUsUs --- include/JSystem/JUtility/JUTDirectPrint.h | 4 ++-- libs/JSystem/JUtility/JUTDirectPrint.cpp | 28 ++++++++++++----------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/include/JSystem/JUtility/JUTDirectPrint.h b/include/JSystem/JUtility/JUTDirectPrint.h index 7f103ec9b0f..fb1fd9dab17 100644 --- a/include/JSystem/JUtility/JUTDirectPrint.h +++ b/include/JSystem/JUtility/JUTDirectPrint.h @@ -31,9 +31,9 @@ private: /* 0x00 */ void* field_0x00; /* 0x04 */ u16 mFrameBufferWidth; /* 0x06 */ u16 mFrameBufferHeight; - /* 0x08 */ u16 mWidthStride; + /* 0x08 */ u16 mStride; /* 0x0A */ u16 field_0x0A; - /* 0x0C */ size_t field_0x0C; + /* 0x0C */ size_t mFrameBufferSize; /* 0x10 */ u8 field_0x10[4]; /* 0x14 */ u16* mFrameBuffer; /* 0x18 */ JUtility::TColor mCharColor; diff --git a/libs/JSystem/JUtility/JUTDirectPrint.cpp b/libs/JSystem/JUtility/JUTDirectPrint.cpp index 98a93ca8acb..a3381d786fe 100644 --- a/libs/JSystem/JUtility/JUTDirectPrint.cpp +++ b/libs/JSystem/JUtility/JUTDirectPrint.cpp @@ -6,6 +6,7 @@ #include "JSystem/JUtility/JUTDirectPrint.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "global.h" // // Types: @@ -92,14 +93,14 @@ void JUTDirectPrint::erase(int x, int y, int width, int height) { height = height << 1; } - u16* pixel = mFrameBuffer + mWidthStride * y + x; + u16* pixel = mFrameBuffer + mStride * y + x; for (int i = 0; i < height; i++) { for (int j = 0; j < width; j++) { *pixel = 0x1080; pixel = pixel + 1; } - pixel += mWidthStride - width; + pixel += mStride - width; } } @@ -189,7 +190,7 @@ void JUTDirectPrint::drawChar(int position_x, int position_y, int ch) { else scale_y = 2; - u16* pixel = mFrameBuffer + mWidthStride * position_y * scale_y + position_x * scale_x; + u16* pixel = mFrameBuffer + mStride * position_y * scale_y + position_x * scale_x; for (int y = 0; y < 7; y++) { u32 data = *font_data << col_index; font_data += 1; @@ -237,7 +238,7 @@ void JUTDirectPrint::drawChar(int position_x, int position_y, int ch) { value = u4 | (u2 + u1 + u3); pixel[0] = value; if (scale_y > 1) - pixel[mWidthStride] = value; + pixel[mStride] = value; if (data & 0x20000000) { u1 = field_0x26; @@ -266,13 +267,13 @@ void JUTDirectPrint::drawChar(int position_x, int position_y, int ch) { value = u4 | (u2 + u1 + u3); pixel[1] = value; if (scale_y > 1) - pixel[1 + mWidthStride] = value; + pixel[1 + mStride] = value; data <<= 2; pixel += 2; } - pixel += mWidthStride * scale_y - scale_x * 6; + pixel += mStride * scale_y - scale_x * 6; } } #else @@ -288,14 +289,15 @@ asm void JUTDirectPrint::drawChar(int param_0, int param_1, int param_2) { /* 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" +void JUTDirectPrint::changeFrameBuffer(void* frameBuffer, u16 width, u16 height) { + this->field_0x00 = frameBuffer; + mFrameBuffer = (u16*)frameBuffer; + mFrameBufferWidth = width; + mFrameBufferHeight = height; + mStride = ALIGN_NEXT(width & 0xFFFF, 16); + mFrameBufferSize = (u32)mStride * (u32)mFrameBufferHeight * 2; } -#pragma pop + /* 802E45A4-802E46D8 2DEEE4 0134+00 1/1 0/0 0/0 .text * printSub__14JUTDirectPrintFUsUsPCcP16__va_list_structb */ From 8d5e81b12ff7f32e94907a9bf52001e6af1c9d76 Mon Sep 17 00:00:00 2001 From: Julgodis <> Date: Sat, 25 Sep 2021 21:03:04 +0200 Subject: [PATCH 07/16] OK printSub__14JUTDirectPrintFUsUsPCcP16__va_list_structb --- include/JSystem/JUtility/JUTDirectPrint.h | 2 +- include/msl_c/string.h | 4 ++ libs/JSystem/JUtility/JUTDirectPrint.cpp | 48 ++++++++++++++----- .../MSL_Common/Src/printf.cpp | 6 ++- 4 files changed, 46 insertions(+), 14 deletions(-) diff --git a/include/JSystem/JUtility/JUTDirectPrint.h b/include/JSystem/JUtility/JUTDirectPrint.h index fb1fd9dab17..ba2c3b94c6f 100644 --- a/include/JSystem/JUtility/JUTDirectPrint.h +++ b/include/JSystem/JUtility/JUTDirectPrint.h @@ -6,7 +6,7 @@ struct base_process_class {}; -struct __va_list_struct {}; +struct __va_list_struct; class JUTDirectPrint { public: diff --git a/include/msl_c/string.h b/include/msl_c/string.h index 75333f3f9f5..ceb5696ed19 100644 --- a/include/msl_c/string.h +++ b/include/msl_c/string.h @@ -3,6 +3,7 @@ #include "dolphin/types.h" +// TODO: move to MSL_C.PPCEABI.bare.H/ extern "C" { void memcpy(void*, const void*, s32); void* memset(void* dest, int ch, u32 count); @@ -19,6 +20,9 @@ int tolower(int); int sprintf(char*, const char*, ...); int printf(const char*, ...); int snprintf(char*, u32, const char*, ...); + +struct __va_list_struct; +size_t vsnprintf(char* buffer, size_t buffer_size, const char* format, __va_list_struct* args); } #endif \ No newline at end of file diff --git a/libs/JSystem/JUtility/JUTDirectPrint.cpp b/libs/JSystem/JUtility/JUTDirectPrint.cpp index a3381d786fe..6179226f7ae 100644 --- a/libs/JSystem/JUtility/JUTDirectPrint.cpp +++ b/libs/JSystem/JUtility/JUTDirectPrint.cpp @@ -5,8 +5,10 @@ #include "JSystem/JUtility/JUTDirectPrint.h" #include "dol2asm.h" +#include "dolphin/os/OSCache.h" #include "dolphin/types.h" #include "global.h" +#include "msl_c/string.h" // // Types: @@ -46,12 +48,10 @@ extern "C" u8 sDirectPrint__14JUTDirectPrint[4 + 4 /* padding */]; 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: @@ -298,18 +298,44 @@ void JUTDirectPrint::changeFrameBuffer(void* frameBuffer, u16 width, u16 height) mFrameBufferSize = (u32)mStride * (u32)mFrameBufferHeight * 2; } - /* 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" +void JUTDirectPrint::printSub(u16 position_x, u16 position_y, char const* format, + __va_list_struct* args, bool clear) { + char buffer[256]; + if (!mFrameBuffer) { + return; + } + + int buffer_length = vsnprintf(buffer, ARRAY_SIZE(buffer), format, args); + u16 x = position_x; + if (buffer_length > 0) { + if (clear) { + erase(position_x - 6, position_y - 3, (buffer_length + 2) * 6, 0xd); + } + + char* ptr = buffer; + for (; 0 < buffer_length; buffer_length--, ptr++) { + int codepoint = sAsciiTable[*ptr & 0x7f]; + if (codepoint == 0xfe) { + position_x = x; + position_y += 7; + } else if (codepoint == 0xfd) { + s32 current_position = (int)position_x; + s32 tab = (current_position - x + 0x2f) % 0x30; + position_x = current_position + 0x30 - tab; + } else { + if (codepoint != 0xff) { + drawChar(position_x, position_y, codepoint); + } + position_x += 6; + } + } + } + + DCStoreRange(mFrameBuffer, mFrameBufferSize); } -#pragma pop + /* ############################################################################################## */ /* 8039D9A0-8039D9A0 02A000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.cpp b/libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.cpp index 5494a4dc33a..1b06f8c5ef3 100644 --- a/libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.cpp +++ b/libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.cpp @@ -11,9 +11,11 @@ // Forward References: // +struct __va_list_struct; + extern "C" void sprintf(); extern "C" void snprintf(); -extern "C" void vsnprintf(); +extern "C" size_t vsnprintf(char* buffer, size_t buffer_size, const char* format, __va_list_struct* args); extern "C" void vprintf(); extern "C" void fprintf(); extern "C" void printf(); @@ -77,7 +79,7 @@ asm void snprintf() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void vsnprintf() { +asm size_t vsnprintf(char* buffer, size_t buffer_size, const char* format, __va_list_struct* args) { nofralloc #include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf/vsnprintf.s" } From d105dd9d803d307a6c2fd9ae6b1af3231ce7d93a Mon Sep 17 00:00:00 2001 From: Julgodis <> Date: Sat, 25 Sep 2021 21:08:33 +0200 Subject: [PATCH 08/16] OK drawString__14JUTDirectPrintFUsUsPc --- include/JSystem/JUtility/JUTDirectPrint.h | 6 ++++- libs/JSystem/JUtility/JUTDirectPrint.cpp | 28 ++++++++++------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/include/JSystem/JUtility/JUTDirectPrint.h b/include/JSystem/JUtility/JUTDirectPrint.h index ba2c3b94c6f..3fd8e4dbc8a 100644 --- a/include/JSystem/JUtility/JUTDirectPrint.h +++ b/include/JSystem/JUtility/JUTDirectPrint.h @@ -1,8 +1,8 @@ #ifndef JUTDIRECTPRINT_H #define JUTDIRECTPRINT_H -#include "dolphin/types.h" #include "JSystem/JUtility/TColor.h" +#include "dolphin/types.h" struct base_process_class {}; @@ -21,6 +21,10 @@ public: /* 802E47C8 */ void setCharColor(u8, u8, u8); /* 802E4798 */ void setCharColor(JUtility::TColor); +#if DEBUG + /* -------- */ void print(u16, u16, char const*, ...); +#endif + static u8 sAsciiTable[128]; static u32 sFontData[64]; static u32 sFontData2[77]; diff --git a/libs/JSystem/JUtility/JUTDirectPrint.cpp b/libs/JSystem/JUtility/JUTDirectPrint.cpp index 6179226f7ae..9433ba74fff 100644 --- a/libs/JSystem/JUtility/JUTDirectPrint.cpp +++ b/libs/JSystem/JUtility/JUTDirectPrint.cpp @@ -336,26 +336,22 @@ void JUTDirectPrint::printSub(u16 position_x, u16 position_y, char const* format DCStoreRange(mFrameBuffer, mFrameBufferSize); } - -/* ############################################################################################## */ -/* 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 +#if DEBUG +void JUTDirectPrint::print(u16 position_x, u16 position_y, char const* format, ...) { + if (mFrameBuffer) { + va_list args; + va_start(args, format); + printSub(position_x, position_y, format, args); + va_end(args); + } +} +#endif /* 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" +void JUTDirectPrint::drawString(u16 position_x, u16 position_y, char* text) { + drawString_f(position_x, position_y, "%s", text); } -#pragma pop /* 802E4708-802E4798 2DF048 0090+00 1/1 0/0 0/0 .text drawString_f__14JUTDirectPrintFUsUsPCce */ #pragma push From 2e31b7160b365ec151f2149bd06afa7ec65f4483 Mon Sep 17 00:00:00 2001 From: Julgodis <> Date: Sat, 25 Sep 2021 23:39:41 +0200 Subject: [PATCH 09/16] OK va_list, va_start, va_arg, and va_end --- include/Runtime.PPCEABI.H/__va_arg.h | 28 ++++++++++++++++++++++++ libs/JSystem/JUtility/JUTDirectPrint.cpp | 1 + libs/Runtime.PPCEABI.H/__va_arg.cpp | 6 ++--- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/include/Runtime.PPCEABI.H/__va_arg.h b/include/Runtime.PPCEABI.H/__va_arg.h index 3e6751e43f2..aed93a5e332 100644 --- a/include/Runtime.PPCEABI.H/__va_arg.h +++ b/include/Runtime.PPCEABI.H/__va_arg.h @@ -3,4 +3,32 @@ #include "dolphin/types.h" +// not sure what the members are. OK when the struct is 12 bytes. +typedef struct __va_list_struct { + u8 data[12]; +}; + +typedef __va_list_struct __va_list[1]; + +extern "C" void __va_arg(void*, int); + +#if IN_VSCODE_EDITOR +#define __builtin_va_info(...) +#define _var_arg_typeof(...) +#endif + + +// from defined-string in mwcceppc.exe: +// __builtin_va_info: initialize the __va_list_struct +// _var_arg_typeof: convert type to integer for __va_arg +#define __va_start(list, fmt) __builtin_va_info(&list) +#define __va_arg(list, type) (*((type*)__va_arg(ap, _var_arg_typeof(type)))) +#define va_start __va_start +#define va_arg __va_arg +#define va_end __va_end +#define va_list __va_list +#define __va_end(list) ((void)0) + +#define __va_copy(a, b) (*(a) = *(b)) + #endif /* __VA_ARG_H */ diff --git a/libs/JSystem/JUtility/JUTDirectPrint.cpp b/libs/JSystem/JUtility/JUTDirectPrint.cpp index 9433ba74fff..9a5903bf20d 100644 --- a/libs/JSystem/JUtility/JUTDirectPrint.cpp +++ b/libs/JSystem/JUtility/JUTDirectPrint.cpp @@ -9,6 +9,7 @@ #include "dolphin/types.h" #include "global.h" #include "msl_c/string.h" +#include "Runtime.PPCEABI.H/__va_arg.h" // // Types: diff --git a/libs/Runtime.PPCEABI.H/__va_arg.cpp b/libs/Runtime.PPCEABI.H/__va_arg.cpp index 78faba4ca61..968677be658 100644 --- a/libs/Runtime.PPCEABI.H/__va_arg.cpp +++ b/libs/Runtime.PPCEABI.H/__va_arg.cpp @@ -7,12 +7,12 @@ #include "dol2asm.h" #include "dolphin/types.h" +#undef __va_arg + // // Forward References: // -extern "C" void __va_arg(); - // // External References: // @@ -25,7 +25,7 @@ extern "C" void __va_arg(); #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __va_arg() { +asm void __va_arg(void*, int) { nofralloc #include "asm/Runtime.PPCEABI.H/__va_arg/__va_arg.s" } From 801f438bebb89859216cc09a4ac0a69b04c0d3d9 Mon Sep 17 00:00:00 2001 From: Julgodis <> Date: Sat, 25 Sep 2021 23:40:07 +0200 Subject: [PATCH 10/16] OK drawString_f__14JUTDirectPrintFUsUsPCce --- libs/JSystem/JUtility/JUTDirectPrint.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/libs/JSystem/JUtility/JUTDirectPrint.cpp b/libs/JSystem/JUtility/JUTDirectPrint.cpp index 9a5903bf20d..61f59887d09 100644 --- a/libs/JSystem/JUtility/JUTDirectPrint.cpp +++ b/libs/JSystem/JUtility/JUTDirectPrint.cpp @@ -355,14 +355,14 @@ void JUTDirectPrint::drawString(u16 position_x, u16 position_y, char* text) { } /* 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" +void JUTDirectPrint::drawString_f(u16 position_x, u16 position_y, char const* format, ...) { + if (mFrameBuffer) { + va_list args; + va_start(args, format); + printSub(position_x, position_y, format, (__va_list_struct*)args, false); + va_end(args); + } } -#pragma pop /* 802E4798-802E47C8 2DF0D8 0030+00 0/0 2/2 0/0 .text * setCharColor__14JUTDirectPrintFQ28JUtility6TColor */ From e7c4a7a5233b7cbc748c813ce5b1a69cce870b33 Mon Sep 17 00:00:00 2001 From: Julgodis <> Date: Sat, 25 Sep 2021 23:44:41 +0200 Subject: [PATCH 11/16] OK setCharColor__14JUTDirectPrintFQ28JUtility6TColor --- include/JSystem/JUtility/TColor.h | 5 +++++ libs/JSystem/JUtility/JUTDirectPrint.cpp | 10 +++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/include/JSystem/JUtility/TColor.h b/include/JSystem/JUtility/TColor.h index 19719d2fd83..d256af3bf35 100644 --- a/include/JSystem/JUtility/TColor.h +++ b/include/JSystem/JUtility/TColor.h @@ -31,6 +31,11 @@ public: void set(u32 u32Color) { *(u32*)&mColor = u32Color; } void set(_GXColor gxColor) { mColor = gxColor; } + u8 R() const { return mColor.r; } + u8 G() const { return mColor.g; } + u8 B() const { return mColor.b; } + u8 A() const { return mColor.a; } + private: _GXColor mColor; }; diff --git a/libs/JSystem/JUtility/JUTDirectPrint.cpp b/libs/JSystem/JUtility/JUTDirectPrint.cpp index 61f59887d09..44854a5f8e8 100644 --- a/libs/JSystem/JUtility/JUTDirectPrint.cpp +++ b/libs/JSystem/JUtility/JUTDirectPrint.cpp @@ -366,14 +366,10 @@ void JUTDirectPrint::drawString_f(u16 position_x, u16 position_y, char const* fo /* 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" +void JUTDirectPrint::setCharColor(JUtility::TColor color) { + setCharColor(color.R(), color.G(), color.B()); } -#pragma pop + /* ############################################################################################## */ /* 80456060-80456068 004660 0008+00 1/1 0/0 0/0 .sdata2 @503 */ From f01da4a3aa183f6c142e3a129c09cb8ed6434732 Mon Sep 17 00:00:00 2001 From: Julgodis <> Date: Sun, 26 Sep 2021 00:53:28 +0200 Subject: [PATCH 12/16] OK setCharColor__14JUTDirectPrintFUcUcUc --- include/JSystem/JUtility/JUTDirectPrint.h | 14 +-- libs/JSystem/JUtility/JUTDirectPrint.cpp | 104 ++++++++-------------- 2 files changed, 46 insertions(+), 72 deletions(-) diff --git a/include/JSystem/JUtility/JUTDirectPrint.h b/include/JSystem/JUtility/JUTDirectPrint.h index 3fd8e4dbc8a..7dbb3346a81 100644 --- a/include/JSystem/JUtility/JUTDirectPrint.h +++ b/include/JSystem/JUtility/JUTDirectPrint.h @@ -41,13 +41,13 @@ private: /* 0x10 */ u8 field_0x10[4]; /* 0x14 */ u16* mFrameBuffer; /* 0x18 */ JUtility::TColor mCharColor; - /* 0x1C */ u16 field_0x1C; - /* 0x1E */ u16 field_0x1E; - /* 0x20 */ u16 field_0x20; - /* 0x22 */ u16 field_0x22; - /* 0x24 */ u16 field_0x24; - /* 0x26 */ u16 field_0x26; - /* 0x28 */ u16 field_0x28; + /* 0x1C */ u16 mCharColor_Y; + /* 0x1E */ u16 mCharColor_Cb; + /* 0x20 */ u16 mCharColor_Cb2; + /* 0x22 */ u16 mCharColor_Cb4; + /* 0x24 */ u16 mCharColor_Cr; + /* 0x26 */ u16 mCharColor_Cr2; + /* 0x28 */ u16 mCharColor_Cr4; /* 0x2A */ u16 field_0x2A; /* 0x2C */ }; diff --git a/libs/JSystem/JUtility/JUTDirectPrint.cpp b/libs/JSystem/JUtility/JUTDirectPrint.cpp index 44854a5f8e8..299b21a29ad 100644 --- a/libs/JSystem/JUtility/JUTDirectPrint.cpp +++ b/libs/JSystem/JUtility/JUTDirectPrint.cpp @@ -4,12 +4,12 @@ // #include "JSystem/JUtility/JUTDirectPrint.h" +#include "Runtime.PPCEABI.H/__va_arg.h" #include "dol2asm.h" #include "dolphin/os/OSCache.h" #include "dolphin/types.h" #include "global.h" #include "msl_c/string.h" -#include "Runtime.PPCEABI.H/__va_arg.h" // // Types: @@ -206,66 +206,66 @@ void JUTDirectPrint::drawChar(int position_x, int position_y, int ch) { } for (int x = 0; x < scale_x * 6; x += 2) { - u16 u1; - u16 u2; - u16 u3; - u16 u4; + u16 C1; + u16 C2; + u16 C3; + u16 Y; u16 value; if (data & 0x40000000) { - u1 = field_0x20; + C1 = mCharColor_Cb2; } else { - u1 = 0x40; + C1 = 0x40; } if (data & 0x80000000) { - u2 = field_0x22; + C2 = mCharColor_Cb4; } else { - u2 = 0x20; + C2 = 0x20; } if (data & 0x20000000) { - u3 = field_0x22; + C3 = mCharColor_Cb4; } else { - u3 = 0x20; + C3 = 0x20; } if (data & 0x40000000) { - u4 = field_0x1C; + Y = mCharColor_Y; } else { - u4 = 0x00; + Y = 0x00; } - value = u4 | (u2 + u1 + u3); + value = Y | (C2 + C1 + C3); pixel[0] = value; if (scale_y > 1) pixel[mStride] = value; if (data & 0x20000000) { - u1 = field_0x26; + C1 = mCharColor_Cr2; } else { - u1 = 0x40; + C1 = 0x40; } if (data & 0x40000000) { - u2 = field_0x28; + C2 = mCharColor_Cr4; } else { - u2 = 0x20; + C2 = 0x20; } if (data & 0x10000000) { - u3 = field_0x28; + C3 = mCharColor_Cr4; } else { - u3 = 0x20; + C3 = 0x20; } if (data & 0x20000000) { - u4 = field_0x1C; + Y = mCharColor_Y; } else { - u4 = 0x00; + Y = 0x00; } - value = u4 | (u2 + u1 + u3); + value = Y | (C2 + C1 + C3); pixel[1] = value; if (scale_y > 1) pixel[1 + mStride] = value; @@ -370,49 +370,23 @@ void JUTDirectPrint::setCharColor(JUtility::TColor color) { setCharColor(color.R(), color.G(), color.B()); } - -/* ############################################################################################## */ -/* 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" +void JUTDirectPrint::setCharColor(u8 r, u8 g, u8 b) { + mCharColor.set(r, g, b, 0xFF); + + int Cb = -0.148 * (int)r - 0.291 * (int)g + 0.439 * (int)b + 128; + int Cr = 0.439 * (int)r - 0.368 * (int)g - 0.071 * (int)b + 128; + int Y = 0.257 * (int)r + 0.504 * (int)g + 0.098 * (int)b + 16; + + mCharColor_Y = Y << 8; + + mCharColor_Cb = Cb; + mCharColor_Cb2 = (Cb >> 1) & 0x7fff; + mCharColor_Cb4 = (Cb >> 2) & 0x3fff; + mCharColor_Cr = Cr; + mCharColor_Cr2 = (Cr >> 1) & 0x7fff; + mCharColor_Cr4 = (Cr >> 2) & 0x3fff; } -#pragma pop + /* 8039D9A0-8039D9A0 02A000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ From 8adef1973136e897e8c38cf715f384cc1eed2b1a Mon Sep 17 00:00:00 2001 From: Julgodis <> Date: Sun, 26 Sep 2021 01:29:20 +0200 Subject: [PATCH 13/16] Removed .s files and cleanup. --- .../JUTDirectPrint/__ct__14JUTDirectPrintFv.s | 23 ---- ...angeFrameBuffer__14JUTDirectPrintFPvUsUs.s | 15 --- .../drawString__14JUTDirectPrintFUsUsPc.s | 13 --- .../drawString_f__14JUTDirectPrintFUsUsPCce.s | 39 ------- .../erase__14JUTDirectPrintFiiii.s | 44 -------- ...TDirectPrintFUsUsPCcP16__va_list_structb.s | 87 --------------- ...lor__14JUTDirectPrintFQ28JUtility6TColor.s | 13 --- .../setCharColor__14JUTDirectPrintFUcUcUc.s | 102 ------------------ .../start__14JUTDirectPrintFv.s | 21 ---- ...rawList__12dDlst_list_cFP13J3DDrawBuffer.s | 16 --- ...rawList__12dDlst_list_cFP13J3DDrawBuffer.s | 16 --- ..._list_cFPP12dDlst_base_cPP12dDlst_base_c.s | 25 ----- asm/d/d_drawlist/getFX__8cM_rnd_cFf.s | 19 ---- asm/d/d_drawlist/getF__8cM_rnd_cFf.s | 15 --- asm/d/d_drawlist/getValue__8cM_rnd_cFff.s | 16 --- asm/d/d_drawlist/init__8cM_rnd_cFiii.s | 5 - .../__ct__15dKantera_icon_cFv.s | 16 --- .../__dt__15dKantera_icon_cFv.s | 67 ------------ .../__dt__19dDlst_KanteraIcon_cFv.s | 20 ---- .../draw__19dDlst_KanteraIcon_cFv.s | 26 ----- .../initiate__15dKantera_icon_cFv.s | 74 ------------- .../setAlphaRate__15dKantera_icon_cFf.s | 10 -- .../setNowGauge__15dKantera_icon_cFUsUs.s | 30 ------ .../SetTimePass__20dStage_roomControl_cFi.s | 3 - .../setNextStayNo__20dStage_roomControl_cFi.s | 3 - asm/d/kankyo/d_kankyo/dKankyo_DayProc__Fv.s | 15 --- ...__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap.s | 38 ------- asm/d/pane/d_pane_class/__ct__8CPaneMgrFv.s | 22 ---- asm/d/pane/d_pane_class/__dt__8CPaneMgrFv.s | 43 -------- .../dPaneClass_showNullPane__FP7J2DPane.s | 25 ----- .../dPaneClass_showNullPane__FP9J2DScreen.s | 19 ---- .../d_pane_class/getBlack__9J2DWindowCFv.s | 4 - .../d_pane_class/getGlobalPosX__8CPaneMgrFv.s | 34 ------ .../d_pane_class/getGlobalPosY__8CPaneMgrFv.s | 34 ------ .../d_pane_class/getWhite__9J2DWindowCFv.s | 4 - asm/d/pane/d_pane_class/reinit__8CPaneMgrFv.s | 56 ---------- .../scaleAnime__8CPaneMgrFsffUc.s | 64 ----------- .../d_pane_class/setAlpha__8CPaneMgrFUc.s | 32 ------ ...dowFQ28JUtility6TColorQ28JUtility6TColor.s | 19 ---- ...etBlack__10J2DTextBoxFQ28JUtility6TColor.s | 11 -- .../setBlack__9J2DWindowFQ28JUtility6TColor.s | 11 -- .../setWhite__9J2DWindowFQ28JUtility6TColor.s | 11 -- include/JSystem/JUtility/JUTDirectPrint.h | 8 +- include/Runtime.PPCEABI.H/__va_arg.h | 4 +- libs/JSystem/JUtility/JUTDirectPrint.cpp | 43 ++------ 45 files changed, 14 insertions(+), 1201 deletions(-) delete mode 100644 asm/JSystem/JUtility/JUTDirectPrint/__ct__14JUTDirectPrintFv.s delete mode 100644 asm/JSystem/JUtility/JUTDirectPrint/changeFrameBuffer__14JUTDirectPrintFPvUsUs.s delete mode 100644 asm/JSystem/JUtility/JUTDirectPrint/drawString__14JUTDirectPrintFUsUsPc.s delete mode 100644 asm/JSystem/JUtility/JUTDirectPrint/drawString_f__14JUTDirectPrintFUsUsPCce.s delete mode 100644 asm/JSystem/JUtility/JUTDirectPrint/erase__14JUTDirectPrintFiiii.s delete mode 100644 asm/JSystem/JUtility/JUTDirectPrint/printSub__14JUTDirectPrintFUsUsPCcP16__va_list_structb.s delete mode 100644 asm/JSystem/JUtility/JUTDirectPrint/setCharColor__14JUTDirectPrintFQ28JUtility6TColor.s delete mode 100644 asm/JSystem/JUtility/JUTDirectPrint/setCharColor__14JUTDirectPrintFUcUcUc.s delete mode 100644 asm/JSystem/JUtility/JUTDirectPrint/start__14JUTDirectPrintFv.s delete mode 100644 asm/d/d_drawlist/drawOpaDrawList__12dDlst_list_cFP13J3DDrawBuffer.s delete mode 100644 asm/d/d_drawlist/drawXluDrawList__12dDlst_list_cFP13J3DDrawBuffer.s delete mode 100644 asm/d/d_drawlist/draw__12dDlst_list_cFPP12dDlst_base_cPP12dDlst_base_c.s delete mode 100644 asm/d/d_drawlist/getFX__8cM_rnd_cFf.s delete mode 100644 asm/d/d_drawlist/getF__8cM_rnd_cFf.s delete mode 100644 asm/d/d_drawlist/getValue__8cM_rnd_cFff.s delete mode 100644 asm/d/d_drawlist/init__8cM_rnd_cFiii.s delete mode 100644 asm/d/d_kantera_icon_meter/__ct__15dKantera_icon_cFv.s delete mode 100644 asm/d/d_kantera_icon_meter/__dt__15dKantera_icon_cFv.s delete mode 100644 asm/d/d_kantera_icon_meter/__dt__19dDlst_KanteraIcon_cFv.s delete mode 100644 asm/d/d_kantera_icon_meter/draw__19dDlst_KanteraIcon_cFv.s delete mode 100644 asm/d/d_kantera_icon_meter/initiate__15dKantera_icon_cFv.s delete mode 100644 asm/d/d_kantera_icon_meter/setAlphaRate__15dKantera_icon_cFf.s delete mode 100644 asm/d/d_kantera_icon_meter/setNowGauge__15dKantera_icon_cFUsUs.s delete mode 100644 asm/d/d_stage/SetTimePass__20dStage_roomControl_cFi.s delete mode 100644 asm/d/d_stage/setNextStayNo__20dStage_roomControl_cFi.s delete mode 100644 asm/d/kankyo/d_kankyo/dKankyo_DayProc__Fv.s delete mode 100644 asm/d/pane/d_pane_class/__ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap.s delete mode 100644 asm/d/pane/d_pane_class/__ct__8CPaneMgrFv.s delete mode 100644 asm/d/pane/d_pane_class/__dt__8CPaneMgrFv.s delete mode 100644 asm/d/pane/d_pane_class/dPaneClass_showNullPane__FP7J2DPane.s delete mode 100644 asm/d/pane/d_pane_class/dPaneClass_showNullPane__FP9J2DScreen.s delete mode 100644 asm/d/pane/d_pane_class/getBlack__9J2DWindowCFv.s delete mode 100644 asm/d/pane/d_pane_class/getGlobalPosX__8CPaneMgrFv.s delete mode 100644 asm/d/pane/d_pane_class/getGlobalPosY__8CPaneMgrFv.s delete mode 100644 asm/d/pane/d_pane_class/getWhite__9J2DWindowCFv.s delete mode 100644 asm/d/pane/d_pane_class/reinit__8CPaneMgrFv.s delete mode 100644 asm/d/pane/d_pane_class/scaleAnime__8CPaneMgrFsffUc.s delete mode 100644 asm/d/pane/d_pane_class/setAlpha__8CPaneMgrFUc.s delete mode 100644 asm/d/pane/d_pane_class/setBlackWhite__9J2DWindowFQ28JUtility6TColorQ28JUtility6TColor.s delete mode 100644 asm/d/pane/d_pane_class/setBlack__10J2DTextBoxFQ28JUtility6TColor.s delete mode 100644 asm/d/pane/d_pane_class/setBlack__9J2DWindowFQ28JUtility6TColor.s delete mode 100644 asm/d/pane/d_pane_class/setWhite__9J2DWindowFQ28JUtility6TColor.s diff --git a/asm/JSystem/JUtility/JUTDirectPrint/__ct__14JUTDirectPrintFv.s b/asm/JSystem/JUtility/JUTDirectPrint/__ct__14JUTDirectPrintFv.s deleted file mode 100644 index 2b2ea3b6acc..00000000000 --- a/asm/JSystem/JUtility/JUTDirectPrint/__ct__14JUTDirectPrintFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_802E41E8: -/* 802E41E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E41EC 7C 08 02 A6 */ mflr r0 -/* 802E41F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E41F4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E41F8 7C 7F 1B 78 */ mr r31, r3 -/* 802E41FC 38 00 FF FF */ li r0, -1 -/* 802E4200 90 03 00 18 */ stw r0, 0x18(r3) -/* 802E4204 38 80 00 00 */ li r4, 0 -/* 802E4208 38 A0 00 00 */ li r5, 0 -/* 802E420C 38 C0 00 00 */ li r6, 0 -/* 802E4210 48 00 03 5D */ bl changeFrameBuffer__14JUTDirectPrintFPvUsUs -/* 802E4214 7F E3 FB 78 */ mr r3, r31 -/* 802E4218 38 80 00 FF */ li r4, 0xff -/* 802E421C 38 A0 00 FF */ li r5, 0xff -/* 802E4220 38 C0 00 FF */ li r6, 0xff -/* 802E4224 48 00 05 A5 */ bl setCharColor__14JUTDirectPrintFUcUcUc -/* 802E4228 7F E3 FB 78 */ mr r3, r31 -/* 802E422C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E4230 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E4234 7C 08 03 A6 */ mtlr r0 -/* 802E4238 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E423C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTDirectPrint/changeFrameBuffer__14JUTDirectPrintFPvUsUs.s b/asm/JSystem/JUtility/JUTDirectPrint/changeFrameBuffer__14JUTDirectPrintFPvUsUs.s deleted file mode 100644 index 110406d79bf..00000000000 --- a/asm/JSystem/JUtility/JUTDirectPrint/changeFrameBuffer__14JUTDirectPrintFPvUsUs.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_802E456C: -/* 802E456C 90 83 00 00 */ stw r4, 0(r3) -/* 802E4570 90 83 00 14 */ stw r4, 0x14(r3) -/* 802E4574 B0 A3 00 04 */ sth r5, 4(r3) -/* 802E4578 B0 C3 00 06 */ sth r6, 6(r3) -/* 802E457C 54 A4 04 3E */ clrlwi r4, r5, 0x10 -/* 802E4580 38 04 00 0F */ addi r0, r4, 0xf -/* 802E4584 54 00 04 36 */ rlwinm r0, r0, 0, 0x10, 0x1b -/* 802E4588 B0 03 00 08 */ sth r0, 8(r3) -/* 802E458C A0 83 00 08 */ lhz r4, 8(r3) -/* 802E4590 A0 03 00 06 */ lhz r0, 6(r3) -/* 802E4594 7C 04 01 D6 */ mullw r0, r4, r0 -/* 802E4598 54 00 08 3C */ slwi r0, r0, 1 -/* 802E459C 90 03 00 0C */ stw r0, 0xc(r3) -/* 802E45A0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTDirectPrint/drawString__14JUTDirectPrintFUsUsPc.s b/asm/JSystem/JUtility/JUTDirectPrint/drawString__14JUTDirectPrintFUsUsPc.s deleted file mode 100644 index e1e31371432..00000000000 --- a/asm/JSystem/JUtility/JUTDirectPrint/drawString__14JUTDirectPrintFUsUsPc.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_802E46D8: -/* 802E46D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E46DC 7C 08 02 A6 */ mflr r0 -/* 802E46E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E46E4 7C C7 33 78 */ mr r7, r6 -/* 802E46E8 3C C0 80 3A */ lis r6, JUTDirectPrint__stringBase0@ha /* 0x8039D9A0@ha */ -/* 802E46EC 38 C6 D9 A0 */ addi r6, r6, JUTDirectPrint__stringBase0@l /* 0x8039D9A0@l */ -/* 802E46F0 4C C6 31 82 */ crclr 6 -/* 802E46F4 48 00 00 15 */ bl drawString_f__14JUTDirectPrintFUsUsPCce -/* 802E46F8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E46FC 7C 08 03 A6 */ mtlr r0 -/* 802E4700 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E4704 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTDirectPrint/drawString_f__14JUTDirectPrintFUsUsPCce.s b/asm/JSystem/JUtility/JUTDirectPrint/drawString_f__14JUTDirectPrintFUsUsPCce.s deleted file mode 100644 index 535fe1dbbcd..00000000000 --- a/asm/JSystem/JUtility/JUTDirectPrint/drawString_f__14JUTDirectPrintFUsUsPCce.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_802E4708: -/* 802E4708 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 802E470C 7C 08 02 A6 */ mflr r0 -/* 802E4710 90 01 00 84 */ stw r0, 0x84(r1) -/* 802E4714 40 86 00 24 */ bne cr1, lbl_802E4738 -/* 802E4718 D8 21 00 28 */ stfd f1, 0x28(r1) -/* 802E471C D8 41 00 30 */ stfd f2, 0x30(r1) -/* 802E4720 D8 61 00 38 */ stfd f3, 0x38(r1) -/* 802E4724 D8 81 00 40 */ stfd f4, 0x40(r1) -/* 802E4728 D8 A1 00 48 */ stfd f5, 0x48(r1) -/* 802E472C D8 C1 00 50 */ stfd f6, 0x50(r1) -/* 802E4730 D8 E1 00 58 */ stfd f7, 0x58(r1) -/* 802E4734 D9 01 00 60 */ stfd f8, 0x60(r1) -lbl_802E4738: -/* 802E4738 90 61 00 08 */ stw r3, 8(r1) -/* 802E473C 90 81 00 0C */ stw r4, 0xc(r1) -/* 802E4740 90 A1 00 10 */ stw r5, 0x10(r1) -/* 802E4744 90 C1 00 14 */ stw r6, 0x14(r1) -/* 802E4748 90 E1 00 18 */ stw r7, 0x18(r1) -/* 802E474C 91 01 00 1C */ stw r8, 0x1c(r1) -/* 802E4750 91 21 00 20 */ stw r9, 0x20(r1) -/* 802E4754 91 41 00 24 */ stw r10, 0x24(r1) -/* 802E4758 80 03 00 14 */ lwz r0, 0x14(r3) -/* 802E475C 28 00 00 00 */ cmplwi r0, 0 -/* 802E4760 41 82 00 28 */ beq lbl_802E4788 -/* 802E4764 38 E1 00 68 */ addi r7, r1, 0x68 -/* 802E4768 3C 00 04 00 */ lis r0, 0x400 -/* 802E476C 90 01 00 68 */ stw r0, 0x68(r1) -/* 802E4770 38 01 00 88 */ addi r0, r1, 0x88 -/* 802E4774 90 01 00 6C */ stw r0, 0x6c(r1) -/* 802E4778 38 01 00 08 */ addi r0, r1, 8 -/* 802E477C 90 01 00 70 */ stw r0, 0x70(r1) -/* 802E4780 39 00 00 00 */ li r8, 0 -/* 802E4784 4B FF FE 21 */ bl printSub__14JUTDirectPrintFUsUsPCcP16__va_list_structb -lbl_802E4788: -/* 802E4788 80 01 00 84 */ lwz r0, 0x84(r1) -/* 802E478C 7C 08 03 A6 */ mtlr r0 -/* 802E4790 38 21 00 80 */ addi r1, r1, 0x80 -/* 802E4794 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTDirectPrint/erase__14JUTDirectPrintFiiii.s b/asm/JSystem/JUtility/JUTDirectPrint/erase__14JUTDirectPrintFiiii.s deleted file mode 100644 index 13f0a6951ac..00000000000 --- a/asm/JSystem/JUtility/JUTDirectPrint/erase__14JUTDirectPrintFiiii.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_802E4288: -/* 802E4288 80 03 00 00 */ lwz r0, 0(r3) -/* 802E428C 28 00 00 00 */ cmplwi r0, 0 -/* 802E4290 4D 82 00 20 */ beqlr -/* 802E4294 A0 03 00 04 */ lhz r0, 4(r3) -/* 802E4298 28 00 01 90 */ cmplwi r0, 0x190 -/* 802E429C 40 81 00 0C */ ble lbl_802E42A8 -/* 802E42A0 54 84 08 3C */ slwi r4, r4, 1 -/* 802E42A4 54 C6 08 3C */ slwi r6, r6, 1 -lbl_802E42A8: -/* 802E42A8 A0 03 00 06 */ lhz r0, 6(r3) -/* 802E42AC 28 00 01 2C */ cmplwi r0, 0x12c -/* 802E42B0 40 81 00 0C */ ble lbl_802E42BC -/* 802E42B4 54 A5 08 3C */ slwi r5, r5, 1 -/* 802E42B8 54 E7 08 3C */ slwi r7, r7, 1 -lbl_802E42BC: -/* 802E42BC 81 03 00 14 */ lwz r8, 0x14(r3) -/* 802E42C0 A0 03 00 08 */ lhz r0, 8(r3) -/* 802E42C4 7C 00 29 D6 */ mullw r0, r0, r5 -/* 802E42C8 54 05 08 3C */ slwi r5, r0, 1 -/* 802E42CC 54 80 08 3C */ slwi r0, r4, 1 -/* 802E42D0 7C A5 02 14 */ add r5, r5, r0 -/* 802E42D4 7C A8 2A 14 */ add r5, r8, r5 -/* 802E42D8 39 00 00 00 */ li r8, 0 -/* 802E42DC 38 80 10 80 */ li r4, 0x1080 -/* 802E42E0 48 00 00 30 */ b lbl_802E4310 -lbl_802E42E4: -/* 802E42E4 7C C9 03 A6 */ mtctr r6 -/* 802E42E8 2C 06 00 00 */ cmpwi r6, 0 -/* 802E42EC 40 81 00 10 */ ble lbl_802E42FC -lbl_802E42F0: -/* 802E42F0 B0 85 00 00 */ sth r4, 0(r5) -/* 802E42F4 38 A5 00 02 */ addi r5, r5, 2 -/* 802E42F8 42 00 FF F8 */ bdnz lbl_802E42F0 -lbl_802E42FC: -/* 802E42FC A0 03 00 08 */ lhz r0, 8(r3) -/* 802E4300 7C 06 00 50 */ subf r0, r6, r0 -/* 802E4304 54 00 08 3C */ slwi r0, r0, 1 -/* 802E4308 7C A5 02 14 */ add r5, r5, r0 -/* 802E430C 39 08 00 01 */ addi r8, r8, 1 -lbl_802E4310: -/* 802E4310 7C 08 38 00 */ cmpw r8, r7 -/* 802E4314 41 80 FF D0 */ blt lbl_802E42E4 -/* 802E4318 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTDirectPrint/printSub__14JUTDirectPrintFUsUsPCcP16__va_list_structb.s b/asm/JSystem/JUtility/JUTDirectPrint/printSub__14JUTDirectPrintFUsUsPCcP16__va_list_structb.s deleted file mode 100644 index be3e6688f6d..00000000000 --- a/asm/JSystem/JUtility/JUTDirectPrint/printSub__14JUTDirectPrintFUsUsPCcP16__va_list_structb.s +++ /dev/null @@ -1,87 +0,0 @@ -lbl_802E45A4: -/* 802E45A4 94 21 FE D0 */ stwu r1, -0x130(r1) -/* 802E45A8 7C 08 02 A6 */ mflr r0 -/* 802E45AC 90 01 01 34 */ stw r0, 0x134(r1) -/* 802E45B0 39 61 01 30 */ addi r11, r1, 0x130 -/* 802E45B4 48 07 DC 15 */ bl _savegpr_24 -/* 802E45B8 7C 79 1B 78 */ mr r25, r3 -/* 802E45BC 7C 9A 23 78 */ mr r26, r4 -/* 802E45C0 7C BB 2B 78 */ mr r27, r5 -/* 802E45C4 7D 18 43 78 */ mr r24, r8 -/* 802E45C8 80 03 00 14 */ lwz r0, 0x14(r3) -/* 802E45CC 28 00 00 00 */ cmplwi r0, 0 -/* 802E45D0 41 82 00 F0 */ beq lbl_802E46C0 -/* 802E45D4 38 61 00 08 */ addi r3, r1, 8 -/* 802E45D8 38 80 01 00 */ li r4, 0x100 -/* 802E45DC 7C C5 33 78 */ mr r5, r6 -/* 802E45E0 7C E6 3B 78 */ mr r6, r7 -/* 802E45E4 48 08 20 AD */ bl vsnprintf -/* 802E45E8 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802E45EC 7F 5D D3 78 */ mr r29, r26 -/* 802E45F0 40 81 00 C4 */ ble lbl_802E46B4 -/* 802E45F4 57 00 06 3F */ clrlwi. r0, r24, 0x18 -/* 802E45F8 41 82 00 28 */ beq lbl_802E4620 -/* 802E45FC 7F 23 CB 78 */ mr r3, r25 -/* 802E4600 57 44 04 3E */ clrlwi r4, r26, 0x10 -/* 802E4604 38 84 FF FA */ addi r4, r4, -6 -/* 802E4608 57 65 04 3E */ clrlwi r5, r27, 0x10 -/* 802E460C 38 A5 FF FD */ addi r5, r5, -3 -/* 802E4610 38 1E 00 02 */ addi r0, r30, 2 -/* 802E4614 1C C0 00 06 */ mulli r6, r0, 6 -/* 802E4618 38 E0 00 0D */ li r7, 0xd -/* 802E461C 4B FF FC 6D */ bl erase__14JUTDirectPrintFiiii -lbl_802E4620: -/* 802E4620 3B 81 00 08 */ addi r28, r1, 8 -/* 802E4624 57 5F 04 3E */ clrlwi r31, r26, 0x10 -/* 802E4628 3C 60 80 3D */ lis r3, sAsciiTable__14JUTDirectPrint@ha /* 0x803CC6B8@ha */ -/* 802E462C 3B 03 C6 B8 */ addi r24, r3, sAsciiTable__14JUTDirectPrint@l /* 0x803CC6B8@l */ -/* 802E4630 48 00 00 7C */ b lbl_802E46AC -lbl_802E4634: -/* 802E4634 88 1C 00 00 */ lbz r0, 0(r28) -/* 802E4638 54 00 06 7E */ clrlwi r0, r0, 0x19 -/* 802E463C 7C D8 00 AE */ lbzx r6, r24, r0 -/* 802E4640 2C 06 00 FE */ cmpwi r6, 0xfe -/* 802E4644 40 82 00 10 */ bne lbl_802E4654 -/* 802E4648 7F BA EB 78 */ mr r26, r29 -/* 802E464C 3B 7B 00 07 */ addi r27, r27, 7 -/* 802E4650 48 00 00 54 */ b lbl_802E46A4 -lbl_802E4654: -/* 802E4654 2C 06 00 FD */ cmpwi r6, 0xfd -/* 802E4658 40 82 00 30 */ bne lbl_802E4688 -/* 802E465C 57 45 04 3E */ clrlwi r5, r26, 0x10 -/* 802E4660 7C 7F 28 50 */ subf r3, r31, r5 -/* 802E4664 38 83 00 2F */ addi r4, r3, 0x2f -/* 802E4668 38 60 00 30 */ li r3, 0x30 -/* 802E466C 7C 04 1B D6 */ divw r0, r4, r3 -/* 802E4670 7C 00 19 D6 */ mullw r0, r0, r3 -/* 802E4674 7C 60 20 50 */ subf r3, r0, r4 -/* 802E4678 38 05 00 30 */ addi r0, r5, 0x30 -/* 802E467C 7C 03 00 50 */ subf r0, r3, r0 -/* 802E4680 54 1A 04 3E */ clrlwi r26, r0, 0x10 -/* 802E4684 48 00 00 20 */ b lbl_802E46A4 -lbl_802E4688: -/* 802E4688 2C 06 00 FF */ cmpwi r6, 0xff -/* 802E468C 41 82 00 14 */ beq lbl_802E46A0 -/* 802E4690 7F 23 CB 78 */ mr r3, r25 -/* 802E4694 57 44 04 3E */ clrlwi r4, r26, 0x10 -/* 802E4698 57 65 04 3E */ clrlwi r5, r27, 0x10 -/* 802E469C 4B FF FC 81 */ bl drawChar__14JUTDirectPrintFiii -lbl_802E46A0: -/* 802E46A0 3B 5A 00 06 */ addi r26, r26, 6 -lbl_802E46A4: -/* 802E46A4 3B DE FF FF */ addi r30, r30, -1 -/* 802E46A8 3B 9C 00 01 */ addi r28, r28, 1 -lbl_802E46AC: -/* 802E46AC 2C 1E 00 00 */ cmpwi r30, 0 -/* 802E46B0 41 81 FF 84 */ bgt lbl_802E4634 -lbl_802E46B4: -/* 802E46B4 80 79 00 14 */ lwz r3, 0x14(r25) -/* 802E46B8 80 99 00 0C */ lwz r4, 0xc(r25) -/* 802E46BC 48 05 6F 21 */ bl DCStoreRange -lbl_802E46C0: -/* 802E46C0 39 61 01 30 */ addi r11, r1, 0x130 -/* 802E46C4 48 07 DB 51 */ bl _restgpr_24 -/* 802E46C8 80 01 01 34 */ lwz r0, 0x134(r1) -/* 802E46CC 7C 08 03 A6 */ mtlr r0 -/* 802E46D0 38 21 01 30 */ addi r1, r1, 0x130 -/* 802E46D4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTDirectPrint/setCharColor__14JUTDirectPrintFQ28JUtility6TColor.s b/asm/JSystem/JUtility/JUTDirectPrint/setCharColor__14JUTDirectPrintFQ28JUtility6TColor.s deleted file mode 100644 index 00205234377..00000000000 --- a/asm/JSystem/JUtility/JUTDirectPrint/setCharColor__14JUTDirectPrintFQ28JUtility6TColor.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_802E4798: -/* 802E4798 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E479C 7C 08 02 A6 */ mflr r0 -/* 802E47A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E47A4 7C 86 23 78 */ mr r6, r4 -/* 802E47A8 88 84 00 00 */ lbz r4, 0(r4) -/* 802E47AC 88 A6 00 01 */ lbz r5, 1(r6) -/* 802E47B0 88 C6 00 02 */ lbz r6, 2(r6) -/* 802E47B4 48 00 00 15 */ bl setCharColor__14JUTDirectPrintFUcUcUc -/* 802E47B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E47BC 7C 08 03 A6 */ mtlr r0 -/* 802E47C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E47C4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTDirectPrint/setCharColor__14JUTDirectPrintFUcUcUc.s b/asm/JSystem/JUtility/JUTDirectPrint/setCharColor__14JUTDirectPrintFUcUcUc.s deleted file mode 100644 index 413259a376d..00000000000 --- a/asm/JSystem/JUtility/JUTDirectPrint/setCharColor__14JUTDirectPrintFUcUcUc.s +++ /dev/null @@ -1,102 +0,0 @@ -lbl_802E47C8: -/* 802E47C8 94 21 FF 90 */ stwu r1, -0x70(r1) -/* 802E47CC 98 83 00 18 */ stb r4, 0x18(r3) -/* 802E47D0 98 A3 00 19 */ stb r5, 0x19(r3) -/* 802E47D4 98 C3 00 1A */ stb r6, 0x1a(r3) -/* 802E47D8 38 00 00 FF */ li r0, 0xff -/* 802E47DC 98 03 00 1B */ stb r0, 0x1b(r3) -/* 802E47E0 C8 C2 C6 60 */ lfd f6, lit_503(r2) -/* 802E47E4 C8 A2 C6 68 */ lfd f5, lit_504(r2) -/* 802E47E8 54 C0 06 3E */ clrlwi r0, r6, 0x18 -/* 802E47EC C8 02 C6 B0 */ lfd f0, lit_514(r2) -/* 802E47F0 6C 07 80 00 */ xoris r7, r0, 0x8000 -/* 802E47F4 90 E1 00 0C */ stw r7, 0xc(r1) -/* 802E47F8 3C C0 43 30 */ lis r6, 0x4330 -/* 802E47FC 90 C1 00 08 */ stw r6, 8(r1) -/* 802E4800 C8 21 00 08 */ lfd f1, 8(r1) -/* 802E4804 FC 21 00 28 */ fsub f1, f1, f0 -/* 802E4808 FC 85 00 72 */ fmul f4, f5, f1 -/* 802E480C C8 42 C6 70 */ lfd f2, lit_505(r2) -/* 802E4810 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 802E4814 6C 04 80 00 */ xoris r4, r0, 0x8000 -/* 802E4818 90 81 00 14 */ stw r4, 0x14(r1) -/* 802E481C 90 C1 00 10 */ stw r6, 0x10(r1) -/* 802E4820 C8 21 00 10 */ lfd f1, 0x10(r1) -/* 802E4824 FC 21 00 28 */ fsub f1, f1, f0 -/* 802E4828 FC 62 00 72 */ fmul f3, f2, f1 -/* 802E482C C8 42 C6 78 */ lfd f2, lit_506(r2) -/* 802E4830 54 A0 06 3E */ clrlwi r0, r5, 0x18 -/* 802E4834 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802E4838 90 01 00 1C */ stw r0, 0x1c(r1) -/* 802E483C 90 C1 00 18 */ stw r6, 0x18(r1) -/* 802E4840 C8 21 00 18 */ lfd f1, 0x18(r1) -/* 802E4844 FC 21 00 28 */ fsub f1, f1, f0 -/* 802E4848 FC 22 00 72 */ fmul f1, f2, f1 -/* 802E484C FC 23 08 28 */ fsub f1, f3, f1 -/* 802E4850 FC 24 08 2A */ fadd f1, f4, f1 -/* 802E4854 FC 26 08 2A */ fadd f1, f6, f1 -/* 802E4858 FC 20 08 1E */ fctiwz f1, f1 -/* 802E485C D8 21 00 20 */ stfd f1, 0x20(r1) -/* 802E4860 80 A1 00 24 */ lwz r5, 0x24(r1) -/* 802E4864 90 81 00 2C */ stw r4, 0x2c(r1) -/* 802E4868 90 C1 00 28 */ stw r6, 0x28(r1) -/* 802E486C C8 21 00 28 */ lfd f1, 0x28(r1) -/* 802E4870 FC 21 00 28 */ fsub f1, f1, f0 -/* 802E4874 FC 65 00 72 */ fmul f3, f5, f1 -/* 802E4878 C8 42 C6 80 */ lfd f2, lit_507(r2) -/* 802E487C 90 01 00 34 */ stw r0, 0x34(r1) -/* 802E4880 90 C1 00 30 */ stw r6, 0x30(r1) -/* 802E4884 C8 21 00 30 */ lfd f1, 0x30(r1) -/* 802E4888 FC 21 00 28 */ fsub f1, f1, f0 -/* 802E488C FC 22 00 72 */ fmul f1, f2, f1 -/* 802E4890 FC 63 08 28 */ fsub f3, f3, f1 -/* 802E4894 C8 42 C6 88 */ lfd f2, lit_508(r2) -/* 802E4898 90 E1 00 3C */ stw r7, 0x3c(r1) -/* 802E489C 90 C1 00 38 */ stw r6, 0x38(r1) -/* 802E48A0 C8 21 00 38 */ lfd f1, 0x38(r1) -/* 802E48A4 FC 21 00 28 */ fsub f1, f1, f0 -/* 802E48A8 FC 22 00 72 */ fmul f1, f2, f1 -/* 802E48AC FC 23 08 28 */ fsub f1, f3, f1 -/* 802E48B0 FC 26 08 2A */ fadd f1, f6, f1 -/* 802E48B4 FC 20 08 1E */ fctiwz f1, f1 -/* 802E48B8 D8 21 00 40 */ stfd f1, 0x40(r1) -/* 802E48BC 81 01 00 44 */ lwz r8, 0x44(r1) -/* 802E48C0 C8 A2 C6 90 */ lfd f5, lit_509(r2) -/* 802E48C4 C8 42 C6 98 */ lfd f2, lit_510(r2) -/* 802E48C8 90 E1 00 4C */ stw r7, 0x4c(r1) -/* 802E48CC 90 C1 00 48 */ stw r6, 0x48(r1) -/* 802E48D0 C8 21 00 48 */ lfd f1, 0x48(r1) -/* 802E48D4 FC 21 00 28 */ fsub f1, f1, f0 -/* 802E48D8 FC 82 00 72 */ fmul f4, f2, f1 -/* 802E48DC C8 42 C6 A0 */ lfd f2, lit_511(r2) -/* 802E48E0 90 81 00 54 */ stw r4, 0x54(r1) -/* 802E48E4 90 C1 00 50 */ stw r6, 0x50(r1) -/* 802E48E8 C8 21 00 50 */ lfd f1, 0x50(r1) -/* 802E48EC FC 21 00 28 */ fsub f1, f1, f0 -/* 802E48F0 FC 62 00 72 */ fmul f3, f2, f1 -/* 802E48F4 C8 42 C6 A8 */ lfd f2, lit_512(r2) -/* 802E48F8 90 01 00 5C */ stw r0, 0x5c(r1) -/* 802E48FC 90 C1 00 58 */ stw r6, 0x58(r1) -/* 802E4900 C8 21 00 58 */ lfd f1, 0x58(r1) -/* 802E4904 FC 01 00 28 */ fsub f0, f1, f0 -/* 802E4908 FC 02 00 32 */ fmul f0, f2, f0 -/* 802E490C FC 03 00 2A */ fadd f0, f3, f0 -/* 802E4910 FC 04 00 2A */ fadd f0, f4, f0 -/* 802E4914 FC 05 00 2A */ fadd f0, f5, f0 -/* 802E4918 FC 00 00 1E */ fctiwz f0, f0 -/* 802E491C D8 01 00 60 */ stfd f0, 0x60(r1) -/* 802E4920 80 01 00 64 */ lwz r0, 0x64(r1) -/* 802E4924 54 00 44 2E */ rlwinm r0, r0, 8, 0x10, 0x17 -/* 802E4928 B0 03 00 1C */ sth r0, 0x1c(r3) -/* 802E492C B0 A3 00 1E */ sth r5, 0x1e(r3) -/* 802E4930 54 A0 FC 7E */ rlwinm r0, r5, 0x1f, 0x11, 0x1f -/* 802E4934 B0 03 00 20 */ sth r0, 0x20(r3) -/* 802E4938 54 A0 F4 BE */ rlwinm r0, r5, 0x1e, 0x12, 0x1f -/* 802E493C B0 03 00 22 */ sth r0, 0x22(r3) -/* 802E4940 B1 03 00 24 */ sth r8, 0x24(r3) -/* 802E4944 55 00 FC 7E */ rlwinm r0, r8, 0x1f, 0x11, 0x1f -/* 802E4948 B0 03 00 26 */ sth r0, 0x26(r3) -/* 802E494C 55 00 F4 BE */ rlwinm r0, r8, 0x1e, 0x12, 0x1f -/* 802E4950 B0 03 00 28 */ sth r0, 0x28(r3) -/* 802E4954 38 21 00 70 */ addi r1, r1, 0x70 -/* 802E4958 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTDirectPrint/start__14JUTDirectPrintFv.s b/asm/JSystem/JUtility/JUTDirectPrint/start__14JUTDirectPrintFv.s deleted file mode 100644 index e1345dcd460..00000000000 --- a/asm/JSystem/JUtility/JUTDirectPrint/start__14JUTDirectPrintFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_802E4240: -/* 802E4240 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E4244 7C 08 02 A6 */ mflr r0 -/* 802E4248 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E424C 80 0D 8F A8 */ lwz r0, sDirectPrint__14JUTDirectPrint(r13) -/* 802E4250 28 00 00 00 */ cmplwi r0, 0 -/* 802E4254 40 82 00 20 */ bne lbl_802E4274 -/* 802E4258 38 60 00 2C */ li r3, 0x2c -/* 802E425C 4B FE A9 F1 */ bl __nw__FUl -/* 802E4260 7C 60 1B 79 */ or. r0, r3, r3 -/* 802E4264 41 82 00 0C */ beq lbl_802E4270 -/* 802E4268 4B FF FF 81 */ bl __ct__14JUTDirectPrintFv -/* 802E426C 7C 60 1B 78 */ mr r0, r3 -lbl_802E4270: -/* 802E4270 90 0D 8F A8 */ stw r0, sDirectPrint__14JUTDirectPrint(r13) -lbl_802E4274: -/* 802E4274 80 6D 8F A8 */ lwz r3, sDirectPrint__14JUTDirectPrint(r13) -/* 802E4278 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E427C 7C 08 03 A6 */ mtlr r0 -/* 802E4280 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E4284 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/drawOpaDrawList__12dDlst_list_cFP13J3DDrawBuffer.s b/asm/d/d_drawlist/drawOpaDrawList__12dDlst_list_cFP13J3DDrawBuffer.s deleted file mode 100644 index 2b73378b2f4..00000000000 --- a/asm/d/d_drawlist/drawOpaDrawList__12dDlst_list_cFP13J3DDrawBuffer.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_800566D4: -/* 800566D4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800566D8 7C 08 02 A6 */ mflr r0 -/* 800566DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800566E0 38 00 00 00 */ li r0, 0 -/* 800566E4 90 0D 90 50 */ stw r0, sOldVcdVatCmd__8J3DShape(r13) -/* 800566E8 38 00 00 03 */ li r0, 3 -/* 800566EC 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 800566F0 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 800566F4 90 03 00 50 */ stw r0, 0x50(r3) -/* 800566F8 7C 83 23 78 */ mr r3, r4 -/* 800566FC 48 2C ED B1 */ bl draw__13J3DDrawBufferCFv -/* 80056700 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80056704 7C 08 03 A6 */ mtlr r0 -/* 80056708 38 21 00 10 */ addi r1, r1, 0x10 -/* 8005670C 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/drawXluDrawList__12dDlst_list_cFP13J3DDrawBuffer.s b/asm/d/d_drawlist/drawXluDrawList__12dDlst_list_cFP13J3DDrawBuffer.s deleted file mode 100644 index 2e23397355a..00000000000 --- a/asm/d/d_drawlist/drawXluDrawList__12dDlst_list_cFP13J3DDrawBuffer.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80056710: -/* 80056710 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80056714 7C 08 02 A6 */ mflr r0 -/* 80056718 90 01 00 14 */ stw r0, 0x14(r1) -/* 8005671C 38 00 00 00 */ li r0, 0 -/* 80056720 90 0D 90 50 */ stw r0, sOldVcdVatCmd__8J3DShape(r13) -/* 80056724 38 00 00 04 */ li r0, 4 -/* 80056728 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 8005672C 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80056730 90 03 00 50 */ stw r0, 0x50(r3) -/* 80056734 7C 83 23 78 */ mr r3, r4 -/* 80056738 48 2C ED 75 */ bl draw__13J3DDrawBufferCFv -/* 8005673C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80056740 7C 08 03 A6 */ mtlr r0 -/* 80056744 38 21 00 10 */ addi r1, r1, 0x10 -/* 80056748 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/draw__12dDlst_list_cFPP12dDlst_base_cPP12dDlst_base_c.s b/asm/d/d_drawlist/draw__12dDlst_list_cFPP12dDlst_base_cPP12dDlst_base_c.s deleted file mode 100644 index 7f317d12d64..00000000000 --- a/asm/d/d_drawlist/draw__12dDlst_list_cFPP12dDlst_base_cPP12dDlst_base_c.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_800567C4: -/* 800567C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800567C8 7C 08 02 A6 */ mflr r0 -/* 800567CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800567D0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800567D4 93 C1 00 08 */ stw r30, 8(r1) -/* 800567D8 7C 9E 23 78 */ mr r30, r4 -/* 800567DC 7C BF 2B 78 */ mr r31, r5 -/* 800567E0 48 00 00 1C */ b lbl_800567FC -lbl_800567E4: -/* 800567E4 80 7E 00 00 */ lwz r3, 0(r30) -/* 800567E8 81 83 00 00 */ lwz r12, 0(r3) -/* 800567EC 81 8C 00 08 */ lwz r12, 8(r12) -/* 800567F0 7D 89 03 A6 */ mtctr r12 -/* 800567F4 4E 80 04 21 */ bctrl -/* 800567F8 3B DE 00 04 */ addi r30, r30, 4 -lbl_800567FC: -/* 800567FC 7C 1E F8 40 */ cmplw r30, r31 -/* 80056800 41 80 FF E4 */ blt lbl_800567E4 -/* 80056804 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80056808 83 C1 00 08 */ lwz r30, 8(r1) -/* 8005680C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80056810 7C 08 03 A6 */ mtlr r0 -/* 80056814 38 21 00 10 */ addi r1, r1, 0x10 -/* 80056818 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/getFX__8cM_rnd_cFf.s b/asm/d/d_drawlist/getFX__8cM_rnd_cFf.s deleted file mode 100644 index 0cb93b67797..00000000000 --- a/asm/d/d_drawlist/getFX__8cM_rnd_cFf.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_80053E18: -/* 80053E18 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80053E1C 7C 08 02 A6 */ mflr r0 -/* 80053E20 90 01 00 24 */ stw r0, 0x24(r1) -/* 80053E24 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 80053E28 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 80053E2C FF E0 08 90 */ fmr f31, f1 -/* 80053E30 4B FF FE BD */ bl get__8cM_rnd_cFv -/* 80053E34 C0 02 86 08 */ lfs f0, lit_4072(r2) -/* 80053E38 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80053E3C EC 3F 00 32 */ fmuls f1, f31, f0 -/* 80053E40 C0 02 86 48 */ lfs f0, lit_4806(r2) -/* 80053E44 EC 20 00 72 */ fmuls f1, f0, f1 -/* 80053E48 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 80053E4C CB E1 00 10 */ lfd f31, 0x10(r1) -/* 80053E50 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80053E54 7C 08 03 A6 */ mtlr r0 -/* 80053E58 38 21 00 20 */ addi r1, r1, 0x20 -/* 80053E5C 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/getF__8cM_rnd_cFf.s b/asm/d/d_drawlist/getF__8cM_rnd_cFf.s deleted file mode 100644 index 3ffa2efd147..00000000000 --- a/asm/d/d_drawlist/getF__8cM_rnd_cFf.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_80053DE0: -/* 80053DE0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80053DE4 7C 08 02 A6 */ mflr r0 -/* 80053DE8 90 01 00 24 */ stw r0, 0x24(r1) -/* 80053DEC DB E1 00 10 */ stfd f31, 0x10(r1) -/* 80053DF0 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 80053DF4 FF E0 08 90 */ fmr f31, f1 -/* 80053DF8 4B FF FE F5 */ bl get__8cM_rnd_cFv -/* 80053DFC EC 3F 00 72 */ fmuls f1, f31, f1 -/* 80053E00 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 80053E04 CB E1 00 10 */ lfd f31, 0x10(r1) -/* 80053E08 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80053E0C 7C 08 03 A6 */ mtlr r0 -/* 80053E10 38 21 00 20 */ addi r1, r1, 0x20 -/* 80053E14 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/getValue__8cM_rnd_cFff.s b/asm/d/d_drawlist/getValue__8cM_rnd_cFff.s deleted file mode 100644 index 5318243f4f4..00000000000 --- a/asm/d/d_drawlist/getValue__8cM_rnd_cFff.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80053E60: -/* 80053E60 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80053E64 7C 08 02 A6 */ mflr r0 -/* 80053E68 90 01 00 24 */ stw r0, 0x24(r1) -/* 80053E6C DB E1 00 10 */ stfd f31, 0x10(r1) -/* 80053E70 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 80053E74 FF E0 08 90 */ fmr f31, f1 -/* 80053E78 FC 20 10 90 */ fmr f1, f2 -/* 80053E7C 4B FF FF 65 */ bl getF__8cM_rnd_cFf -/* 80053E80 EC 3F 08 2A */ fadds f1, f31, f1 -/* 80053E84 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 80053E88 CB E1 00 10 */ lfd f31, 0x10(r1) -/* 80053E8C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80053E90 7C 08 03 A6 */ mtlr r0 -/* 80053E94 38 21 00 20 */ addi r1, r1, 0x20 -/* 80053E98 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/init__8cM_rnd_cFiii.s b/asm/d/d_drawlist/init__8cM_rnd_cFiii.s deleted file mode 100644 index 9813f8665ce..00000000000 --- a/asm/d/d_drawlist/init__8cM_rnd_cFiii.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_80053CDC: -/* 80053CDC 90 83 00 00 */ stw r4, 0(r3) -/* 80053CE0 90 A3 00 04 */ stw r5, 4(r3) -/* 80053CE4 90 C3 00 08 */ stw r6, 8(r3) -/* 80053CE8 4E 80 00 20 */ blr diff --git a/asm/d/d_kantera_icon_meter/__ct__15dKantera_icon_cFv.s b/asm/d/d_kantera_icon_meter/__ct__15dKantera_icon_cFv.s deleted file mode 100644 index 1b8a3067eeb..00000000000 --- a/asm/d/d_kantera_icon_meter/__ct__15dKantera_icon_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_801AE938: -/* 801AE938 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801AE93C 7C 08 02 A6 */ mflr r0 -/* 801AE940 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AE944 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801AE948 7C 7F 1B 78 */ mr r31, r3 -/* 801AE94C 3C 80 80 3C */ lis r4, __vt__15dKantera_icon_c@ha /* 0x803BC228@ha */ -/* 801AE950 38 04 C2 28 */ addi r0, r4, __vt__15dKantera_icon_c@l /* 0x803BC228@l */ -/* 801AE954 90 03 00 00 */ stw r0, 0(r3) -/* 801AE958 48 00 01 11 */ bl initiate__15dKantera_icon_cFv -/* 801AE95C 7F E3 FB 78 */ mr r3, r31 -/* 801AE960 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801AE964 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801AE968 7C 08 03 A6 */ mtlr r0 -/* 801AE96C 38 21 00 10 */ addi r1, r1, 0x10 -/* 801AE970 4E 80 00 20 */ blr diff --git a/asm/d/d_kantera_icon_meter/__dt__15dKantera_icon_cFv.s b/asm/d/d_kantera_icon_meter/__dt__15dKantera_icon_cFv.s deleted file mode 100644 index f94c98d7f2f..00000000000 --- a/asm/d/d_kantera_icon_meter/__dt__15dKantera_icon_cFv.s +++ /dev/null @@ -1,67 +0,0 @@ -lbl_801AE974: -/* 801AE974 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801AE978 7C 08 02 A6 */ mflr r0 -/* 801AE97C 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AE980 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801AE984 93 C1 00 08 */ stw r30, 8(r1) -/* 801AE988 7C 7E 1B 79 */ or. r30, r3, r3 -/* 801AE98C 7C 9F 23 78 */ mr r31, r4 -/* 801AE990 41 82 00 BC */ beq lbl_801AEA4C -/* 801AE994 3C 60 80 3C */ lis r3, __vt__15dKantera_icon_c@ha /* 0x803BC228@ha */ -/* 801AE998 38 03 C2 28 */ addi r0, r3, __vt__15dKantera_icon_c@l /* 0x803BC228@l */ -/* 801AE99C 90 1E 00 00 */ stw r0, 0(r30) -/* 801AE9A0 80 7E 00 04 */ lwz r3, 4(r30) -/* 801AE9A4 80 63 00 04 */ lwz r3, 4(r3) -/* 801AE9A8 28 03 00 00 */ cmplwi r3, 0 -/* 801AE9AC 41 82 00 18 */ beq lbl_801AE9C4 -/* 801AE9B0 38 80 00 01 */ li r4, 1 -/* 801AE9B4 81 83 00 00 */ lwz r12, 0(r3) -/* 801AE9B8 81 8C 00 08 */ lwz r12, 8(r12) -/* 801AE9BC 7D 89 03 A6 */ mtctr r12 -/* 801AE9C0 4E 80 04 21 */ bctrl -lbl_801AE9C4: -/* 801AE9C4 80 7E 00 04 */ lwz r3, 4(r30) -/* 801AE9C8 28 03 00 00 */ cmplwi r3, 0 -/* 801AE9CC 41 82 00 18 */ beq lbl_801AE9E4 -/* 801AE9D0 38 80 00 01 */ li r4, 1 -/* 801AE9D4 81 83 00 00 */ lwz r12, 0(r3) -/* 801AE9D8 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 801AE9DC 7D 89 03 A6 */ mtctr r12 -/* 801AE9E0 4E 80 04 21 */ bctrl -lbl_801AE9E4: -/* 801AE9E4 38 00 00 00 */ li r0, 0 -/* 801AE9E8 90 1E 00 04 */ stw r0, 4(r30) -/* 801AE9EC 80 7E 00 08 */ lwz r3, 8(r30) -/* 801AE9F0 28 03 00 00 */ cmplwi r3, 0 -/* 801AE9F4 41 82 00 18 */ beq lbl_801AEA0C -/* 801AE9F8 38 80 00 01 */ li r4, 1 -/* 801AE9FC 81 83 00 00 */ lwz r12, 0(r3) -/* 801AEA00 81 8C 00 08 */ lwz r12, 8(r12) -/* 801AEA04 7D 89 03 A6 */ mtctr r12 -/* 801AEA08 4E 80 04 21 */ bctrl -lbl_801AEA0C: -/* 801AEA0C 38 00 00 00 */ li r0, 0 -/* 801AEA10 90 1E 00 08 */ stw r0, 8(r30) -/* 801AEA14 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 801AEA18 28 03 00 00 */ cmplwi r3, 0 -/* 801AEA1C 41 82 00 18 */ beq lbl_801AEA34 -/* 801AEA20 38 80 00 01 */ li r4, 1 -/* 801AEA24 81 83 00 00 */ lwz r12, 0(r3) -/* 801AEA28 81 8C 00 08 */ lwz r12, 8(r12) -/* 801AEA2C 7D 89 03 A6 */ mtctr r12 -/* 801AEA30 4E 80 04 21 */ bctrl -lbl_801AEA34: -/* 801AEA34 38 00 00 00 */ li r0, 0 -/* 801AEA38 90 1E 00 0C */ stw r0, 0xc(r30) -/* 801AEA3C 7F E0 07 35 */ extsh. r0, r31 -/* 801AEA40 40 81 00 0C */ ble lbl_801AEA4C -/* 801AEA44 7F C3 F3 78 */ mr r3, r30 -/* 801AEA48 48 12 02 F5 */ bl __dl__FPv -lbl_801AEA4C: -/* 801AEA4C 7F C3 F3 78 */ mr r3, r30 -/* 801AEA50 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801AEA54 83 C1 00 08 */ lwz r30, 8(r1) -/* 801AEA58 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801AEA5C 7C 08 03 A6 */ mtlr r0 -/* 801AEA60 38 21 00 10 */ addi r1, r1, 0x10 -/* 801AEA64 4E 80 00 20 */ blr diff --git a/asm/d/d_kantera_icon_meter/__dt__19dDlst_KanteraIcon_cFv.s b/asm/d/d_kantera_icon_meter/__dt__19dDlst_KanteraIcon_cFv.s deleted file mode 100644 index 9a9b9346609..00000000000 --- a/asm/d/d_kantera_icon_meter/__dt__19dDlst_KanteraIcon_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_801AED1C: -/* 801AED1C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801AED20 7C 08 02 A6 */ mflr r0 -/* 801AED24 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AED28 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801AED2C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 801AED30 41 82 00 1C */ beq lbl_801AED4C -/* 801AED34 3C A0 80 3C */ lis r5, __vt__19dDlst_KanteraIcon_c@ha /* 0x803BC218@ha */ -/* 801AED38 38 05 C2 18 */ addi r0, r5, __vt__19dDlst_KanteraIcon_c@l /* 0x803BC218@l */ -/* 801AED3C 90 1F 00 00 */ stw r0, 0(r31) -/* 801AED40 7C 80 07 35 */ extsh. r0, r4 -/* 801AED44 40 81 00 08 */ ble lbl_801AED4C -/* 801AED48 48 11 FF F5 */ bl __dl__FPv -lbl_801AED4C: -/* 801AED4C 7F E3 FB 78 */ mr r3, r31 -/* 801AED50 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801AED54 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801AED58 7C 08 03 A6 */ mtlr r0 -/* 801AED5C 38 21 00 10 */ addi r1, r1, 0x10 -/* 801AED60 4E 80 00 20 */ blr diff --git a/asm/d/d_kantera_icon_meter/draw__19dDlst_KanteraIcon_cFv.s b/asm/d/d_kantera_icon_meter/draw__19dDlst_KanteraIcon_cFv.s deleted file mode 100644 index c37e64dc72f..00000000000 --- a/asm/d/d_kantera_icon_meter/draw__19dDlst_KanteraIcon_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_801AECB8: -/* 801AECB8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801AECBC 7C 08 02 A6 */ mflr r0 -/* 801AECC0 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AECC4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801AECC8 93 C1 00 08 */ stw r30, 8(r1) -/* 801AECCC 7C 7E 1B 78 */ mr r30, r3 -/* 801AECD0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801AECD4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801AECD8 83 E3 5F 50 */ lwz r31, 0x5f50(r3) -/* 801AECDC 7F E3 FB 78 */ mr r3, r31 -/* 801AECE0 81 9F 00 00 */ lwz r12, 0(r31) -/* 801AECE4 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 801AECE8 7D 89 03 A6 */ mtctr r12 -/* 801AECEC 4E 80 04 21 */ bctrl -/* 801AECF0 80 7E 00 04 */ lwz r3, 4(r30) -/* 801AECF4 C0 22 A5 08 */ lfs f1, lit_3776(r2) -/* 801AECF8 FC 40 08 90 */ fmr f2, f1 -/* 801AECFC 7F E4 FB 78 */ mr r4, r31 -/* 801AED00 48 14 A1 D5 */ bl draw__9J2DScreenFffPC14J2DGrafContext -/* 801AED04 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801AED08 83 C1 00 08 */ lwz r30, 8(r1) -/* 801AED0C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801AED10 7C 08 03 A6 */ mtlr r0 -/* 801AED14 38 21 00 10 */ addi r1, r1, 0x10 -/* 801AED18 4E 80 00 20 */ blr diff --git a/asm/d/d_kantera_icon_meter/initiate__15dKantera_icon_cFv.s b/asm/d/d_kantera_icon_meter/initiate__15dKantera_icon_cFv.s deleted file mode 100644 index e6620262964..00000000000 --- a/asm/d/d_kantera_icon_meter/initiate__15dKantera_icon_cFv.s +++ /dev/null @@ -1,74 +0,0 @@ -lbl_801AEA68: -/* 801AEA68 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801AEA6C 7C 08 02 A6 */ mflr r0 -/* 801AEA70 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AEA74 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801AEA78 93 C1 00 08 */ stw r30, 8(r1) -/* 801AEA7C 7C 7F 1B 78 */ mr r31, r3 -/* 801AEA80 38 60 00 08 */ li r3, 8 -/* 801AEA84 48 12 01 C9 */ bl __nw__FUl -/* 801AEA88 28 03 00 00 */ cmplwi r3, 0 -/* 801AEA8C 41 82 00 1C */ beq lbl_801AEAA8 -/* 801AEA90 3C 80 80 3A */ lis r4, __vt__12dDlst_base_c@ha /* 0x803A6F88@ha */ -/* 801AEA94 38 04 6F 88 */ addi r0, r4, __vt__12dDlst_base_c@l /* 0x803A6F88@l */ -/* 801AEA98 90 03 00 00 */ stw r0, 0(r3) -/* 801AEA9C 3C 80 80 3C */ lis r4, __vt__19dDlst_KanteraIcon_c@ha /* 0x803BC218@ha */ -/* 801AEAA0 38 04 C2 18 */ addi r0, r4, __vt__19dDlst_KanteraIcon_c@l /* 0x803BC218@l */ -/* 801AEAA4 90 03 00 00 */ stw r0, 0(r3) -lbl_801AEAA8: -/* 801AEAA8 90 7F 00 04 */ stw r3, 4(r31) -/* 801AEAAC 38 60 01 18 */ li r3, 0x118 -/* 801AEAB0 48 12 01 9D */ bl __nw__FUl -/* 801AEAB4 7C 7E 1B 79 */ or. r30, r3, r3 -/* 801AEAB8 41 82 00 0C */ beq lbl_801AEAC4 -/* 801AEABC 48 14 99 DD */ bl __ct__9J2DScreenFv -/* 801AEAC0 7C 7E 1B 78 */ mr r30, r3 -lbl_801AEAC4: -/* 801AEAC4 7F C3 F3 78 */ mr r3, r30 -/* 801AEAC8 3C 80 80 39 */ lis r4, d_d_kantera_icon_meter__stringBase0@ha /* 0x80394F50@ha */ -/* 801AEACC 38 84 4F 50 */ addi r4, r4, d_d_kantera_icon_meter__stringBase0@l /* 0x80394F50@l */ -/* 801AEAD0 3C A0 00 02 */ lis r5, 2 -/* 801AEAD4 3C C0 80 40 */ lis r6, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801AEAD8 38 C6 61 C0 */ addi r6, r6, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801AEADC 80 C6 5D 30 */ lwz r6, 0x5d30(r6) -/* 801AEAE0 48 14 9B 69 */ bl setPriority__9J2DScreenFPCcUlP10JKRArchive -/* 801AEAE4 7F C3 F3 78 */ mr r3, r30 -/* 801AEAE8 48 0A 66 01 */ bl dPaneClass_showNullPane__FP9J2DScreen -/* 801AEAEC 80 7F 00 04 */ lwz r3, 4(r31) -/* 801AEAF0 93 C3 00 04 */ stw r30, 4(r3) -/* 801AEAF4 38 60 00 6C */ li r3, 0x6c -/* 801AEAF8 48 12 01 55 */ bl __nw__FUl -/* 801AEAFC 7C 60 1B 79 */ or. r0, r3, r3 -/* 801AEB00 41 82 00 28 */ beq lbl_801AEB28 -/* 801AEB04 7F C4 F3 78 */ mr r4, r30 -/* 801AEB08 3C A0 5F 6D */ lis r5, 0x5F6D /* 0x5F6D5F6E@ha */ -/* 801AEB0C 38 C5 5F 6E */ addi r6, r5, 0x5F6E /* 0x5F6D5F6E@l */ -/* 801AEB10 3C A0 00 6B */ lis r5, 0x006B /* 0x006B616E@ha */ -/* 801AEB14 38 A5 61 6E */ addi r5, r5, 0x616E /* 0x006B616E@l */ -/* 801AEB18 38 E0 00 02 */ li r7, 2 -/* 801AEB1C 39 00 00 00 */ li r8, 0 -/* 801AEB20 48 0A 4E 65 */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 801AEB24 7C 60 1B 78 */ mr r0, r3 -lbl_801AEB28: -/* 801AEB28 90 1F 00 08 */ stw r0, 8(r31) -/* 801AEB2C 38 60 00 6C */ li r3, 0x6c -/* 801AEB30 48 12 01 1D */ bl __nw__FUl -/* 801AEB34 7C 60 1B 79 */ or. r0, r3, r3 -/* 801AEB38 41 82 00 28 */ beq lbl_801AEB60 -/* 801AEB3C 7F C4 F3 78 */ mr r4, r30 -/* 801AEB40 3C A0 6F 77 */ lis r5, 0x6F77 /* 0x6F775F6D@ha */ -/* 801AEB44 38 C5 5F 6D */ addi r6, r5, 0x5F6D /* 0x6F775F6D@l */ -/* 801AEB48 3C A0 79 65 */ lis r5, 0x7965 /* 0x79656C6C@ha */ -/* 801AEB4C 38 A5 6C 6C */ addi r5, r5, 0x6C6C /* 0x79656C6C@l */ -/* 801AEB50 38 E0 00 00 */ li r7, 0 -/* 801AEB54 39 00 00 00 */ li r8, 0 -/* 801AEB58 48 0A 4E 2D */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 801AEB5C 7C 60 1B 78 */ mr r0, r3 -lbl_801AEB60: -/* 801AEB60 90 1F 00 0C */ stw r0, 0xc(r31) -/* 801AEB64 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801AEB68 83 C1 00 08 */ lwz r30, 8(r1) -/* 801AEB6C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801AEB70 7C 08 03 A6 */ mtlr r0 -/* 801AEB74 38 21 00 10 */ addi r1, r1, 0x10 -/* 801AEB78 4E 80 00 20 */ blr diff --git a/asm/d/d_kantera_icon_meter/setAlphaRate__15dKantera_icon_cFf.s b/asm/d/d_kantera_icon_meter/setAlphaRate__15dKantera_icon_cFf.s deleted file mode 100644 index 1ab86a4e923..00000000000 --- a/asm/d/d_kantera_icon_meter/setAlphaRate__15dKantera_icon_cFf.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_801AEB7C: -/* 801AEB7C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801AEB80 7C 08 02 A6 */ mflr r0 -/* 801AEB84 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AEB88 80 63 00 08 */ lwz r3, 8(r3) -/* 801AEB8C 48 0A 6C 45 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 801AEB90 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801AEB94 7C 08 03 A6 */ mtlr r0 -/* 801AEB98 38 21 00 10 */ addi r1, r1, 0x10 -/* 801AEB9C 4E 80 00 20 */ blr diff --git a/asm/d/d_kantera_icon_meter/setNowGauge__15dKantera_icon_cFUsUs.s b/asm/d/d_kantera_icon_meter/setNowGauge__15dKantera_icon_cFUsUs.s deleted file mode 100644 index ae1d1a13d8d..00000000000 --- a/asm/d/d_kantera_icon_meter/setNowGauge__15dKantera_icon_cFUsUs.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_801AEC44: -/* 801AEC44 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801AEC48 7C 08 02 A6 */ mflr r0 -/* 801AEC4C 90 01 00 24 */ stw r0, 0x24(r1) -/* 801AEC50 80 63 00 0C */ lwz r3, 0xc(r3) -/* 801AEC54 80 63 00 04 */ lwz r3, 4(r3) -/* 801AEC58 54 A0 04 3E */ clrlwi r0, r5, 0x10 -/* 801AEC5C C8 42 A5 00 */ lfd f2, lit_3761(r2) -/* 801AEC60 90 01 00 0C */ stw r0, 0xc(r1) -/* 801AEC64 3C A0 43 30 */ lis r5, 0x4330 -/* 801AEC68 90 A1 00 08 */ stw r5, 8(r1) -/* 801AEC6C C8 01 00 08 */ lfd f0, 8(r1) -/* 801AEC70 EC 20 10 28 */ fsubs f1, f0, f2 -/* 801AEC74 54 80 04 3E */ clrlwi r0, r4, 0x10 -/* 801AEC78 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AEC7C 90 A1 00 10 */ stw r5, 0x10(r1) -/* 801AEC80 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 801AEC84 EC 00 10 28 */ fsubs f0, f0, f2 -/* 801AEC88 EC 01 00 24 */ fdivs f0, f1, f0 -/* 801AEC8C D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 801AEC90 C0 02 A4 F8 */ lfs f0, lit_3759(r2) -/* 801AEC94 D0 03 00 D0 */ stfs f0, 0xd0(r3) -/* 801AEC98 81 83 00 00 */ lwz r12, 0(r3) -/* 801AEC9C 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 801AECA0 7D 89 03 A6 */ mtctr r12 -/* 801AECA4 4E 80 04 21 */ bctrl -/* 801AECA8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801AECAC 7C 08 03 A6 */ mtlr r0 -/* 801AECB0 38 21 00 20 */ addi r1, r1, 0x20 -/* 801AECB4 4E 80 00 20 */ blr diff --git a/asm/d/d_stage/SetTimePass__20dStage_roomControl_cFi.s b/asm/d/d_stage/SetTimePass__20dStage_roomControl_cFi.s deleted file mode 100644 index c05e04f7011..00000000000 --- a/asm/d/d_stage/SetTimePass__20dStage_roomControl_cFi.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_80024DB0: -/* 80024DB0 98 6D 87 E7 */ stb r3, struct_80450D64+0x3(r13) -/* 80024DB4 4E 80 00 20 */ blr diff --git a/asm/d/d_stage/setNextStayNo__20dStage_roomControl_cFi.s b/asm/d/d_stage/setNextStayNo__20dStage_roomControl_cFi.s deleted file mode 100644 index 7d90ddf08f7..00000000000 --- a/asm/d/d_stage/setNextStayNo__20dStage_roomControl_cFi.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_80024424: -/* 80024424 98 6D 87 E6 */ stb r3, struct_80450D64+0x2(r13) -/* 80024428 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo/dKankyo_DayProc__Fv.s b/asm/d/kankyo/d_kankyo/dKankyo_DayProc__Fv.s deleted file mode 100644 index 75846544315..00000000000 --- a/asm/d/kankyo/d_kankyo/dKankyo_DayProc__Fv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_801ADD00: -/* 801ADD00 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801ADD04 7C 08 02 A6 */ mflr r0 -/* 801ADD08 90 01 00 14 */ stw r0, 0x14(r1) -/* 801ADD0C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801ADD10 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801ADD14 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 801ADD18 3C 80 80 38 */ lis r4, tempBitLabels__20dSv_event_tmp_flag_c@ha /* 0x803790C0@ha */ -/* 801ADD1C 38 84 90 C0 */ addi r4, r4, tempBitLabels__20dSv_event_tmp_flag_c@l /* 0x803790C0@l */ -/* 801ADD20 A0 84 00 B6 */ lhz r4, 0xb6(r4) -/* 801ADD24 4B E8 6C 81 */ bl offEventBit__11dSv_event_cFUs -/* 801ADD28 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801ADD2C 7C 08 03 A6 */ mtlr r0 -/* 801ADD30 38 21 00 10 */ addi r1, r1, 0x10 -/* 801ADD34 4E 80 00 20 */ blr diff --git a/asm/d/pane/d_pane_class/__ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap.s b/asm/d/pane/d_pane_class/__ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap.s deleted file mode 100644 index 1d8fa361da5..00000000000 --- a/asm/d/pane/d_pane_class/__ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_80253984: -/* 80253984 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80253988 7C 08 02 A6 */ mflr r0 -/* 8025398C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80253990 39 61 00 20 */ addi r11, r1, 0x20 -/* 80253994 48 10 E8 3D */ bl _savegpr_26 -/* 80253998 7C 7A 1B 78 */ mr r26, r3 -/* 8025399C 7C 9B 23 78 */ mr r27, r4 -/* 802539A0 7C BD 2B 78 */ mr r29, r5 -/* 802539A4 7C DC 33 78 */ mr r28, r6 -/* 802539A8 7C FE 3B 78 */ mr r30, r7 -/* 802539AC 7D 1F 43 78 */ mr r31, r8 -/* 802539B0 48 00 1A 3D */ bl __ct__13CPaneMgrAlphaFv -/* 802539B4 3C 60 80 3C */ lis r3, __vt__8CPaneMgr@ha /* 0x803C2E04@ha */ -/* 802539B8 38 03 2E 04 */ addi r0, r3, __vt__8CPaneMgr@l /* 0x803C2E04@l */ -/* 802539BC 90 1A 00 00 */ stw r0, 0(r26) -/* 802539C0 38 00 FF FF */ li r0, -1 -/* 802539C4 90 1A 00 58 */ stw r0, 0x58(r26) -/* 802539C8 90 1A 00 5C */ stw r0, 0x5c(r26) -/* 802539CC 7F 63 DB 78 */ mr r3, r27 -/* 802539D0 7F 86 E3 78 */ mr r6, r28 -/* 802539D4 7F A5 EB 78 */ mr r5, r29 -/* 802539D8 81 9B 00 00 */ lwz r12, 0(r27) -/* 802539DC 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 802539E0 7D 89 03 A6 */ mtctr r12 -/* 802539E4 4E 80 04 21 */ bctrl -/* 802539E8 7C 64 1B 78 */ mr r4, r3 -/* 802539EC 9B DA 00 19 */ stb r30, 0x19(r26) -/* 802539F0 7F 43 D3 78 */ mr r3, r26 -/* 802539F4 7F E5 FB 78 */ mr r5, r31 -/* 802539F8 48 00 02 11 */ bl initiate__8CPaneMgrFP7J2DPaneP10JKRExpHeap -/* 802539FC 7F 43 D3 78 */ mr r3, r26 -/* 80253A00 39 61 00 20 */ addi r11, r1, 0x20 -/* 80253A04 48 10 E8 19 */ bl _restgpr_26 -/* 80253A08 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80253A0C 7C 08 03 A6 */ mtlr r0 -/* 80253A10 38 21 00 20 */ addi r1, r1, 0x20 -/* 80253A14 4E 80 00 20 */ blr diff --git a/asm/d/pane/d_pane_class/__ct__8CPaneMgrFv.s b/asm/d/pane/d_pane_class/__ct__8CPaneMgrFv.s deleted file mode 100644 index 9e1e3344f39..00000000000 --- a/asm/d/pane/d_pane_class/__ct__8CPaneMgrFv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_80253930: -/* 80253930 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80253934 7C 08 02 A6 */ mflr r0 -/* 80253938 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025393C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80253940 7C 7F 1B 78 */ mr r31, r3 -/* 80253944 48 00 1A A9 */ bl __ct__13CPaneMgrAlphaFv -/* 80253948 3C 60 80 3C */ lis r3, __vt__8CPaneMgr@ha /* 0x803C2E04@ha */ -/* 8025394C 38 03 2E 04 */ addi r0, r3, __vt__8CPaneMgr@l /* 0x803C2E04@l */ -/* 80253950 90 1F 00 00 */ stw r0, 0(r31) -/* 80253954 38 00 FF FF */ li r0, -1 -/* 80253958 90 1F 00 58 */ stw r0, 0x58(r31) -/* 8025395C 90 1F 00 5C */ stw r0, 0x5c(r31) -/* 80253960 38 00 00 00 */ li r0, 0 -/* 80253964 90 1F 00 0C */ stw r0, 0xc(r31) -/* 80253968 90 1F 00 1C */ stw r0, 0x1c(r31) -/* 8025396C 7F E3 FB 78 */ mr r3, r31 -/* 80253970 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80253974 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80253978 7C 08 03 A6 */ mtlr r0 -/* 8025397C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80253980 4E 80 00 20 */ blr diff --git a/asm/d/pane/d_pane_class/__dt__8CPaneMgrFv.s b/asm/d/pane/d_pane_class/__dt__8CPaneMgrFv.s deleted file mode 100644 index 5f56b2962cb..00000000000 --- a/asm/d/pane/d_pane_class/__dt__8CPaneMgrFv.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_80253A18: -/* 80253A18 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80253A1C 7C 08 02 A6 */ mflr r0 -/* 80253A20 90 01 00 14 */ stw r0, 0x14(r1) -/* 80253A24 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80253A28 93 C1 00 08 */ stw r30, 8(r1) -/* 80253A2C 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80253A30 7C 9F 23 78 */ mr r31, r4 -/* 80253A34 41 82 00 64 */ beq lbl_80253A98 -/* 80253A38 3C 60 80 3C */ lis r3, __vt__8CPaneMgr@ha /* 0x803C2E04@ha */ -/* 80253A3C 38 03 2E 04 */ addi r0, r3, __vt__8CPaneMgr@l /* 0x803C2E04@l */ -/* 80253A40 90 1E 00 00 */ stw r0, 0(r30) -/* 80253A44 80 9E 00 1C */ lwz r4, 0x1c(r30) -/* 80253A48 28 04 00 00 */ cmplwi r4, 0 -/* 80253A4C 41 82 00 14 */ beq lbl_80253A60 -/* 80253A50 80 7E 00 08 */ lwz r3, 8(r30) -/* 80253A54 48 07 AA F5 */ bl free__7JKRHeapFPv -/* 80253A58 38 00 00 00 */ li r0, 0 -/* 80253A5C 90 1E 00 1C */ stw r0, 0x1c(r30) -lbl_80253A60: -/* 80253A60 80 9E 00 0C */ lwz r4, 0xc(r30) -/* 80253A64 28 04 00 00 */ cmplwi r4, 0 -/* 80253A68 41 82 00 14 */ beq lbl_80253A7C -/* 80253A6C 80 7E 00 08 */ lwz r3, 8(r30) -/* 80253A70 48 07 AA D9 */ bl free__7JKRHeapFPv -/* 80253A74 38 00 00 00 */ li r0, 0 -/* 80253A78 90 1E 00 0C */ stw r0, 0xc(r30) -lbl_80253A7C: -/* 80253A7C 7F C3 F3 78 */ mr r3, r30 -/* 80253A80 38 80 00 00 */ li r4, 0 -/* 80253A84 48 00 19 E9 */ bl __dt__13CPaneMgrAlphaFv -/* 80253A88 7F E0 07 35 */ extsh. r0, r31 -/* 80253A8C 40 81 00 0C */ ble lbl_80253A98 -/* 80253A90 7F C3 F3 78 */ mr r3, r30 -/* 80253A94 48 07 B2 A9 */ bl __dl__FPv -lbl_80253A98: -/* 80253A98 7F C3 F3 78 */ mr r3, r30 -/* 80253A9C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80253AA0 83 C1 00 08 */ lwz r30, 8(r1) -/* 80253AA4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80253AA8 7C 08 03 A6 */ mtlr r0 -/* 80253AAC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80253AB0 4E 80 00 20 */ blr diff --git a/asm/d/pane/d_pane_class/dPaneClass_showNullPane__FP7J2DPane.s b/asm/d/pane/d_pane_class/dPaneClass_showNullPane__FP7J2DPane.s deleted file mode 100644 index 9689f0be991..00000000000 --- a/asm/d/pane/d_pane_class/dPaneClass_showNullPane__FP7J2DPane.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_8025512C: -/* 8025512C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80255130 7C 08 02 A6 */ mflr r0 -/* 80255134 90 01 00 14 */ stw r0, 0x14(r1) -/* 80255138 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025513C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80255140 41 82 00 30 */ beq lbl_80255170 -/* 80255144 88 1F 00 B0 */ lbz r0, 0xb0(r31) -/* 80255148 28 00 00 00 */ cmplwi r0, 0 -/* 8025514C 40 82 00 0C */ bne lbl_80255158 -/* 80255150 38 00 00 01 */ li r0, 1 -/* 80255154 98 1F 00 B0 */ stb r0, 0xb0(r31) -lbl_80255158: -/* 80255158 7F E3 FB 78 */ mr r3, r31 -/* 8025515C 48 0A 29 31 */ bl getFirstChildPane__7J2DPaneFv -/* 80255160 4B FF FF CD */ bl dPaneClass_showNullPane__FP7J2DPane -/* 80255164 7F E3 FB 78 */ mr r3, r31 -/* 80255168 48 0A 29 5D */ bl getNextChildPane__7J2DPaneFv -/* 8025516C 4B FF FF C1 */ bl dPaneClass_showNullPane__FP7J2DPane -lbl_80255170: -/* 80255170 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80255174 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80255178 7C 08 03 A6 */ mtlr r0 -/* 8025517C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80255180 4E 80 00 20 */ blr diff --git a/asm/d/pane/d_pane_class/dPaneClass_showNullPane__FP9J2DScreen.s b/asm/d/pane/d_pane_class/dPaneClass_showNullPane__FP9J2DScreen.s deleted file mode 100644 index fe4b635f726..00000000000 --- a/asm/d/pane/d_pane_class/dPaneClass_showNullPane__FP9J2DScreen.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_802550E8: -/* 802550E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802550EC 7C 08 02 A6 */ mflr r0 -/* 802550F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802550F4 28 03 00 00 */ cmplwi r3, 0 -/* 802550F8 41 82 00 24 */ beq lbl_8025511C -/* 802550FC 3C 80 52 4F */ lis r4, 0x524F /* 0x524F4F54@ha */ -/* 80255100 38 C4 4F 54 */ addi r6, r4, 0x4F54 /* 0x524F4F54@l */ -/* 80255104 38 A0 00 00 */ li r5, 0 -/* 80255108 81 83 00 00 */ lwz r12, 0(r3) -/* 8025510C 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 80255110 7D 89 03 A6 */ mtctr r12 -/* 80255114 4E 80 04 21 */ bctrl -/* 80255118 48 00 00 15 */ bl dPaneClass_showNullPane__FP7J2DPane -lbl_8025511C: -/* 8025511C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80255120 7C 08 03 A6 */ mtlr r0 -/* 80255124 38 21 00 10 */ addi r1, r1, 0x10 -/* 80255128 4E 80 00 20 */ blr diff --git a/asm/d/pane/d_pane_class/getBlack__9J2DWindowCFv.s b/asm/d/pane/d_pane_class/getBlack__9J2DWindowCFv.s deleted file mode 100644 index 1b71fce9c4d..00000000000 --- a/asm/d/pane/d_pane_class/getBlack__9J2DWindowCFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80254000: -/* 80254000 80 04 01 3C */ lwz r0, 0x13c(r4) -/* 80254004 90 03 00 00 */ stw r0, 0(r3) -/* 80254008 4E 80 00 20 */ blr diff --git a/asm/d/pane/d_pane_class/getGlobalPosX__8CPaneMgrFv.s b/asm/d/pane/d_pane_class/getGlobalPosX__8CPaneMgrFv.s deleted file mode 100644 index 78de7109f28..00000000000 --- a/asm/d/pane/d_pane_class/getGlobalPosX__8CPaneMgrFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_802542E8: -/* 802542E8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802542EC 7C 08 02 A6 */ mflr r0 -/* 802542F0 90 01 00 24 */ stw r0, 0x24(r1) -/* 802542F4 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 802542F8 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 802542FC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80254300 7C 7F 1B 78 */ mr r31, r3 -/* 80254304 80 63 00 04 */ lwz r3, 4(r3) -/* 80254308 48 0A 2D F9 */ bl getBounds__7J2DPaneFv -/* 8025430C C3 E3 00 00 */ lfs f31, 0(r3) -/* 80254310 80 7F 00 04 */ lwz r3, 4(r31) -/* 80254314 48 0A 37 E9 */ bl getParentPane__7J2DPaneFv -/* 80254318 7C 7F 1B 78 */ mr r31, r3 -/* 8025431C 48 00 00 20 */ b lbl_8025433C -lbl_80254320: -/* 80254320 7F E3 FB 78 */ mr r3, r31 -/* 80254324 48 0A 2D DD */ bl getBounds__7J2DPaneFv -/* 80254328 C0 03 00 00 */ lfs f0, 0(r3) -/* 8025432C EF FF 00 2A */ fadds f31, f31, f0 -/* 80254330 7F E3 FB 78 */ mr r3, r31 -/* 80254334 48 0A 37 C9 */ bl getParentPane__7J2DPaneFv -/* 80254338 7C 7F 1B 78 */ mr r31, r3 -lbl_8025433C: -/* 8025433C 28 1F 00 00 */ cmplwi r31, 0 -/* 80254340 40 82 FF E0 */ bne lbl_80254320 -/* 80254344 FC 20 F8 90 */ fmr f1, f31 -/* 80254348 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 8025434C CB E1 00 10 */ lfd f31, 0x10(r1) -/* 80254350 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80254354 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80254358 7C 08 03 A6 */ mtlr r0 -/* 8025435C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80254360 4E 80 00 20 */ blr diff --git a/asm/d/pane/d_pane_class/getGlobalPosY__8CPaneMgrFv.s b/asm/d/pane/d_pane_class/getGlobalPosY__8CPaneMgrFv.s deleted file mode 100644 index 1a00fd58bed..00000000000 --- a/asm/d/pane/d_pane_class/getGlobalPosY__8CPaneMgrFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_80254364: -/* 80254364 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80254368 7C 08 02 A6 */ mflr r0 -/* 8025436C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80254370 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 80254374 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 80254378 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025437C 7C 7F 1B 78 */ mr r31, r3 -/* 80254380 80 63 00 04 */ lwz r3, 4(r3) -/* 80254384 48 0A 2D 7D */ bl getBounds__7J2DPaneFv -/* 80254388 C3 E3 00 04 */ lfs f31, 4(r3) -/* 8025438C 80 7F 00 04 */ lwz r3, 4(r31) -/* 80254390 48 0A 37 6D */ bl getParentPane__7J2DPaneFv -/* 80254394 7C 7F 1B 78 */ mr r31, r3 -/* 80254398 48 00 00 20 */ b lbl_802543B8 -lbl_8025439C: -/* 8025439C 7F E3 FB 78 */ mr r3, r31 -/* 802543A0 48 0A 2D 61 */ bl getBounds__7J2DPaneFv -/* 802543A4 C0 03 00 04 */ lfs f0, 4(r3) -/* 802543A8 EF FF 00 2A */ fadds f31, f31, f0 -/* 802543AC 7F E3 FB 78 */ mr r3, r31 -/* 802543B0 48 0A 37 4D */ bl getParentPane__7J2DPaneFv -/* 802543B4 7C 7F 1B 78 */ mr r31, r3 -lbl_802543B8: -/* 802543B8 28 1F 00 00 */ cmplwi r31, 0 -/* 802543BC 40 82 FF E0 */ bne lbl_8025439C -/* 802543C0 FC 20 F8 90 */ fmr f1, f31 -/* 802543C4 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 802543C8 CB E1 00 10 */ lfd f31, 0x10(r1) -/* 802543CC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802543D0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802543D4 7C 08 03 A6 */ mtlr r0 -/* 802543D8 38 21 00 20 */ addi r1, r1, 0x20 -/* 802543DC 4E 80 00 20 */ blr diff --git a/asm/d/pane/d_pane_class/getWhite__9J2DWindowCFv.s b/asm/d/pane/d_pane_class/getWhite__9J2DWindowCFv.s deleted file mode 100644 index ecab4fa4829..00000000000 --- a/asm/d/pane/d_pane_class/getWhite__9J2DWindowCFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8025400C: -/* 8025400C 80 04 01 38 */ lwz r0, 0x138(r4) -/* 80254010 90 03 00 00 */ stw r0, 0(r3) -/* 80254014 4E 80 00 20 */ blr diff --git a/asm/d/pane/d_pane_class/reinit__8CPaneMgrFv.s b/asm/d/pane/d_pane_class/reinit__8CPaneMgrFv.s deleted file mode 100644 index b876958092e..00000000000 --- a/asm/d/pane/d_pane_class/reinit__8CPaneMgrFv.s +++ /dev/null @@ -1,56 +0,0 @@ -lbl_80253B2C: -/* 80253B2C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80253B30 7C 08 02 A6 */ mflr r0 -/* 80253B34 90 01 00 14 */ stw r0, 0x14(r1) -/* 80253B38 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80253B3C 7C 7F 1B 78 */ mr r31, r3 -/* 80253B40 80 63 00 04 */ lwz r3, 4(r3) -/* 80253B44 48 0A 35 BD */ bl getBounds__7J2DPaneFv -/* 80253B48 C0 03 00 00 */ lfs f0, 0(r3) -/* 80253B4C D0 1F 00 24 */ stfs f0, 0x24(r31) -/* 80253B50 80 7F 00 04 */ lwz r3, 4(r31) -/* 80253B54 48 0A 35 AD */ bl getBounds__7J2DPaneFv -/* 80253B58 C0 03 00 04 */ lfs f0, 4(r3) -/* 80253B5C D0 1F 00 28 */ stfs f0, 0x28(r31) -/* 80253B60 7F E3 FB 78 */ mr r3, r31 -/* 80253B64 48 00 07 85 */ bl getGlobalPosX__8CPaneMgrFv -/* 80253B68 D0 3F 00 2C */ stfs f1, 0x2c(r31) -/* 80253B6C 7F E3 FB 78 */ mr r3, r31 -/* 80253B70 48 00 07 F5 */ bl getGlobalPosY__8CPaneMgrFv -/* 80253B74 D0 3F 00 30 */ stfs f1, 0x30(r31) -/* 80253B78 80 7F 00 04 */ lwz r3, 4(r31) -/* 80253B7C C0 23 00 28 */ lfs f1, 0x28(r3) -/* 80253B80 C0 03 00 20 */ lfs f0, 0x20(r3) -/* 80253B84 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80253B88 D0 1F 00 34 */ stfs f0, 0x34(r31) -/* 80253B8C 80 7F 00 04 */ lwz r3, 4(r31) -/* 80253B90 C0 23 00 2C */ lfs f1, 0x2c(r3) -/* 80253B94 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 80253B98 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80253B9C D0 1F 00 38 */ stfs f0, 0x38(r31) -/* 80253BA0 80 7F 00 04 */ lwz r3, 4(r31) -/* 80253BA4 C0 03 00 CC */ lfs f0, 0xcc(r3) -/* 80253BA8 D0 1F 00 3C */ stfs f0, 0x3c(r31) -/* 80253BAC 80 7F 00 04 */ lwz r3, 4(r31) -/* 80253BB0 C0 03 00 D0 */ lfs f0, 0xd0(r3) -/* 80253BB4 D0 1F 00 40 */ stfs f0, 0x40(r31) -/* 80253BB8 80 7F 00 04 */ lwz r3, 4(r31) -/* 80253BBC C0 03 00 D4 */ lfs f0, 0xd4(r3) -/* 80253BC0 D0 1F 00 44 */ stfs f0, 0x44(r31) -/* 80253BC4 80 7F 00 04 */ lwz r3, 4(r31) -/* 80253BC8 C0 03 00 D8 */ lfs f0, 0xd8(r3) -/* 80253BCC D0 1F 00 48 */ stfs f0, 0x48(r31) -/* 80253BD0 80 7F 00 04 */ lwz r3, 4(r31) -/* 80253BD4 C0 03 00 C0 */ lfs f0, 0xc0(r3) -/* 80253BD8 D0 1F 00 4C */ stfs f0, 0x4c(r31) -/* 80253BDC 80 7F 00 04 */ lwz r3, 4(r31) -/* 80253BE0 C0 03 00 C4 */ lfs f0, 0xc4(r3) -/* 80253BE4 D0 1F 00 50 */ stfs f0, 0x50(r31) -/* 80253BE8 80 7F 00 04 */ lwz r3, 4(r31) -/* 80253BEC C0 03 00 C8 */ lfs f0, 0xc8(r3) -/* 80253BF0 D0 1F 00 54 */ stfs f0, 0x54(r31) -/* 80253BF4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80253BF8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80253BFC 7C 08 03 A6 */ mtlr r0 -/* 80253C00 38 21 00 10 */ addi r1, r1, 0x10 -/* 80253C04 4E 80 00 20 */ blr diff --git a/asm/d/pane/d_pane_class/scaleAnime__8CPaneMgrFsffUc.s b/asm/d/pane/d_pane_class/scaleAnime__8CPaneMgrFsffUc.s deleted file mode 100644 index f6e47585645..00000000000 --- a/asm/d/pane/d_pane_class/scaleAnime__8CPaneMgrFsffUc.s +++ /dev/null @@ -1,64 +0,0 @@ -lbl_802547CC: -/* 802547CC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802547D0 7C 08 02 A6 */ mflr r0 -/* 802547D4 90 01 00 34 */ stw r0, 0x34(r1) -/* 802547D8 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 802547DC F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 802547E0 DB C1 00 10 */ stfd f30, 0x10(r1) -/* 802547E4 F3 C1 00 18 */ psq_st f30, 24(r1), 0, 0 /* qr0 */ -/* 802547E8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802547EC 7C 7F 1B 78 */ mr r31, r3 -/* 802547F0 FF C0 08 90 */ fmr f30, f1 -/* 802547F4 FF E0 10 90 */ fmr f31, f2 -/* 802547F8 7C A6 2B 78 */ mr r6, r5 -/* 802547FC A8 E3 00 64 */ lha r7, 0x64(r3) -/* 80254800 7C 85 07 34 */ extsh r5, r4 -/* 80254804 38 05 FF FF */ addi r0, r5, -1 -/* 80254808 7C 07 00 00 */ cmpw r7, r0 -/* 8025480C 40 80 00 50 */ bge lbl_8025485C -/* 80254810 38 07 00 01 */ addi r0, r7, 1 -/* 80254814 B0 1F 00 64 */ sth r0, 0x64(r31) -/* 80254818 A8 BF 00 64 */ lha r5, 0x64(r31) -/* 8025481C 48 00 0E 3D */ bl rateCalc__13CPaneMgrAlphaFssUc -/* 80254820 EC 1F F0 28 */ fsubs f0, f31, f30 -/* 80254824 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80254828 EC 5E 00 2A */ fadds f2, f30, f0 -/* 8025482C C0 1F 00 40 */ lfs f0, 0x40(r31) -/* 80254830 EC 20 00 B2 */ fmuls f1, f0, f2 -/* 80254834 80 7F 00 04 */ lwz r3, 4(r31) -/* 80254838 C0 1F 00 3C */ lfs f0, 0x3c(r31) -/* 8025483C EC 00 00 B2 */ fmuls f0, f0, f2 -/* 80254840 D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 80254844 D0 23 00 D0 */ stfs f1, 0xd0(r3) -/* 80254848 81 83 00 00 */ lwz r12, 0(r3) -/* 8025484C 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 80254850 7D 89 03 A6 */ mtctr r12 -/* 80254854 4E 80 04 21 */ bctrl -/* 80254858 48 00 00 3C */ b lbl_80254894 -lbl_8025485C: -/* 8025485C B0 9F 00 64 */ sth r4, 0x64(r31) -/* 80254860 C0 1F 00 40 */ lfs f0, 0x40(r31) -/* 80254864 EC 20 07 F2 */ fmuls f1, f0, f31 -/* 80254868 80 7F 00 04 */ lwz r3, 4(r31) -/* 8025486C C0 1F 00 3C */ lfs f0, 0x3c(r31) -/* 80254870 EC 00 07 F2 */ fmuls f0, f0, f31 -/* 80254874 D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 80254878 D0 23 00 D0 */ stfs f1, 0xd0(r3) -/* 8025487C 81 83 00 00 */ lwz r12, 0(r3) -/* 80254880 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 80254884 7D 89 03 A6 */ mtctr r12 -/* 80254888 4E 80 04 21 */ bctrl -/* 8025488C 38 60 00 01 */ li r3, 1 -/* 80254890 48 00 00 08 */ b lbl_80254898 -lbl_80254894: -/* 80254894 38 60 00 00 */ li r3, 0 -lbl_80254898: -/* 80254898 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 8025489C CB E1 00 20 */ lfd f31, 0x20(r1) -/* 802548A0 E3 C1 00 18 */ psq_l f30, 24(r1), 0, 0 /* qr0 */ -/* 802548A4 CB C1 00 10 */ lfd f30, 0x10(r1) -/* 802548A8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802548AC 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802548B0 7C 08 03 A6 */ mtlr r0 -/* 802548B4 38 21 00 30 */ addi r1, r1, 0x30 -/* 802548B8 4E 80 00 20 */ blr diff --git a/asm/d/pane/d_pane_class/setAlpha__8CPaneMgrFUc.s b/asm/d/pane/d_pane_class/setAlpha__8CPaneMgrFUc.s deleted file mode 100644 index 598668de5e7..00000000000 --- a/asm/d/pane/d_pane_class/setAlpha__8CPaneMgrFUc.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_80253AB4: -/* 80253AB4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80253AB8 7C 08 02 A6 */ mflr r0 -/* 80253ABC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80253AC0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80253AC4 93 C1 00 08 */ stw r30, 8(r1) -/* 80253AC8 7C 7E 1B 78 */ mr r30, r3 -/* 80253ACC 7C 9F 23 78 */ mr r31, r4 -/* 80253AD0 88 03 00 19 */ lbz r0, 0x19(r3) -/* 80253AD4 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 80253AD8 41 82 00 24 */ beq lbl_80253AFC -/* 80253ADC 80 1E 00 0C */ lwz r0, 0xc(r30) -/* 80253AE0 90 1E 00 10 */ stw r0, 0x10(r30) -/* 80253AE4 80 7E 00 04 */ lwz r3, 4(r30) -/* 80253AE8 48 0A 3F A5 */ bl getFirstChildPane__7J2DPaneFv -/* 80253AEC 7C 64 1B 78 */ mr r4, r3 -/* 80253AF0 7F C3 F3 78 */ mr r3, r30 -/* 80253AF4 7F E5 FB 78 */ mr r5, r31 -/* 80253AF8 48 00 20 65 */ bl childPaneSetAlpha__13CPaneMgrAlphaFP7J2DPaneUc -lbl_80253AFC: -/* 80253AFC 80 7E 00 04 */ lwz r3, 4(r30) -/* 80253B00 7F E4 FB 78 */ mr r4, r31 -/* 80253B04 81 83 00 00 */ lwz r12, 0(r3) -/* 80253B08 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 80253B0C 7D 89 03 A6 */ mtctr r12 -/* 80253B10 4E 80 04 21 */ bctrl -/* 80253B14 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80253B18 83 C1 00 08 */ lwz r30, 8(r1) -/* 80253B1C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80253B20 7C 08 03 A6 */ mtlr r0 -/* 80253B24 38 21 00 10 */ addi r1, r1, 0x10 -/* 80253B28 4E 80 00 20 */ blr diff --git a/asm/d/pane/d_pane_class/setBlackWhite__9J2DWindowFQ28JUtility6TColorQ28JUtility6TColor.s b/asm/d/pane/d_pane_class/setBlackWhite__9J2DWindowFQ28JUtility6TColorQ28JUtility6TColor.s deleted file mode 100644 index 73d58ed212b..00000000000 --- a/asm/d/pane/d_pane_class/setBlackWhite__9J2DWindowFQ28JUtility6TColorQ28JUtility6TColor.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_80254568: -/* 80254568 88 04 00 00 */ lbz r0, 0(r4) -/* 8025456C 98 03 01 3C */ stb r0, 0x13c(r3) -/* 80254570 88 04 00 01 */ lbz r0, 1(r4) -/* 80254574 98 03 01 3D */ stb r0, 0x13d(r3) -/* 80254578 88 04 00 02 */ lbz r0, 2(r4) -/* 8025457C 98 03 01 3E */ stb r0, 0x13e(r3) -/* 80254580 88 04 00 03 */ lbz r0, 3(r4) -/* 80254584 98 03 01 3F */ stb r0, 0x13f(r3) -/* 80254588 88 05 00 00 */ lbz r0, 0(r5) -/* 8025458C 98 03 01 38 */ stb r0, 0x138(r3) -/* 80254590 88 05 00 01 */ lbz r0, 1(r5) -/* 80254594 98 03 01 39 */ stb r0, 0x139(r3) -/* 80254598 88 05 00 02 */ lbz r0, 2(r5) -/* 8025459C 98 03 01 3A */ stb r0, 0x13a(r3) -/* 802545A0 88 05 00 03 */ lbz r0, 3(r5) -/* 802545A4 98 03 01 3B */ stb r0, 0x13b(r3) -/* 802545A8 38 60 00 01 */ li r3, 1 -/* 802545AC 4E 80 00 20 */ blr diff --git a/asm/d/pane/d_pane_class/setBlack__10J2DTextBoxFQ28JUtility6TColor.s b/asm/d/pane/d_pane_class/setBlack__10J2DTextBoxFQ28JUtility6TColor.s deleted file mode 100644 index 6068feef5f5..00000000000 --- a/asm/d/pane/d_pane_class/setBlack__10J2DTextBoxFQ28JUtility6TColor.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80254408: -/* 80254408 88 04 00 00 */ lbz r0, 0(r4) -/* 8025440C 98 03 01 2C */ stb r0, 0x12c(r3) -/* 80254410 88 04 00 01 */ lbz r0, 1(r4) -/* 80254414 98 03 01 2D */ stb r0, 0x12d(r3) -/* 80254418 88 04 00 02 */ lbz r0, 2(r4) -/* 8025441C 98 03 01 2E */ stb r0, 0x12e(r3) -/* 80254420 88 04 00 03 */ lbz r0, 3(r4) -/* 80254424 98 03 01 2F */ stb r0, 0x12f(r3) -/* 80254428 38 60 00 01 */ li r3, 1 -/* 8025442C 4E 80 00 20 */ blr diff --git a/asm/d/pane/d_pane_class/setBlack__9J2DWindowFQ28JUtility6TColor.s b/asm/d/pane/d_pane_class/setBlack__9J2DWindowFQ28JUtility6TColor.s deleted file mode 100644 index 5b02057e0a0..00000000000 --- a/asm/d/pane/d_pane_class/setBlack__9J2DWindowFQ28JUtility6TColor.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80254430: -/* 80254430 88 04 00 00 */ lbz r0, 0(r4) -/* 80254434 98 03 01 3C */ stb r0, 0x13c(r3) -/* 80254438 88 04 00 01 */ lbz r0, 1(r4) -/* 8025443C 98 03 01 3D */ stb r0, 0x13d(r3) -/* 80254440 88 04 00 02 */ lbz r0, 2(r4) -/* 80254444 98 03 01 3E */ stb r0, 0x13e(r3) -/* 80254448 88 04 00 03 */ lbz r0, 3(r4) -/* 8025444C 98 03 01 3F */ stb r0, 0x13f(r3) -/* 80254450 38 60 00 01 */ li r3, 1 -/* 80254454 4E 80 00 20 */ blr diff --git a/asm/d/pane/d_pane_class/setWhite__9J2DWindowFQ28JUtility6TColor.s b/asm/d/pane/d_pane_class/setWhite__9J2DWindowFQ28JUtility6TColor.s deleted file mode 100644 index 8252c5119cb..00000000000 --- a/asm/d/pane/d_pane_class/setWhite__9J2DWindowFQ28JUtility6TColor.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_802543E0: -/* 802543E0 88 04 00 00 */ lbz r0, 0(r4) -/* 802543E4 98 03 01 38 */ stb r0, 0x138(r3) -/* 802543E8 88 04 00 01 */ lbz r0, 1(r4) -/* 802543EC 98 03 01 39 */ stb r0, 0x139(r3) -/* 802543F0 88 04 00 02 */ lbz r0, 2(r4) -/* 802543F4 98 03 01 3A */ stb r0, 0x13a(r3) -/* 802543F8 88 04 00 03 */ lbz r0, 3(r4) -/* 802543FC 98 03 01 3B */ stb r0, 0x13b(r3) -/* 80254400 38 60 00 01 */ li r3, 1 -/* 80254404 4E 80 00 20 */ blr diff --git a/include/JSystem/JUtility/JUTDirectPrint.h b/include/JSystem/JUtility/JUTDirectPrint.h index 7dbb3346a81..7aa8f2cb128 100644 --- a/include/JSystem/JUtility/JUTDirectPrint.h +++ b/include/JSystem/JUtility/JUTDirectPrint.h @@ -9,9 +9,10 @@ struct base_process_class {}; struct __va_list_struct; class JUTDirectPrint { -public: +private: /* 802E41E8 */ JUTDirectPrint(); - /* 802E4240 */ JUTDirectPrint* start(); + +public: /* 802E4288 */ void erase(int, int, int, int); /* 802E431C */ void drawChar(int, int, int); /* 802E456C */ void changeFrameBuffer(void*, u16, u16); @@ -21,10 +22,13 @@ public: /* 802E47C8 */ void setCharColor(u8, u8, u8); /* 802E4798 */ void setCharColor(JUtility::TColor); + /* 802E4240 */ static JUTDirectPrint* start(); + #if DEBUG /* -------- */ void print(u16, u16, char const*, ...); #endif +private: static u8 sAsciiTable[128]; static u32 sFontData[64]; static u32 sFontData2[77]; diff --git a/include/Runtime.PPCEABI.H/__va_arg.h b/include/Runtime.PPCEABI.H/__va_arg.h index aed93a5e332..ef70f02101f 100644 --- a/include/Runtime.PPCEABI.H/__va_arg.h +++ b/include/Runtime.PPCEABI.H/__va_arg.h @@ -3,7 +3,8 @@ #include "dolphin/types.h" -// not sure what the members are. OK when the struct is 12 bytes. +// not sure what the members are. +// OK when the struct is 12 bytes. typedef struct __va_list_struct { u8 data[12]; }; @@ -17,7 +18,6 @@ extern "C" void __va_arg(void*, int); #define _var_arg_typeof(...) #endif - // from defined-string in mwcceppc.exe: // __builtin_va_info: initialize the __va_list_struct // _var_arg_typeof: convert type to integer for __va_arg diff --git a/libs/JSystem/JUtility/JUTDirectPrint.cpp b/libs/JSystem/JUtility/JUTDirectPrint.cpp index 299b21a29ad..0bcda0b8921 100644 --- a/libs/JSystem/JUtility/JUTDirectPrint.cpp +++ b/libs/JSystem/JUtility/JUTDirectPrint.cpp @@ -11,63 +11,33 @@ #include "global.h" #include "msl_c/string.h" -// -// Types: -// - -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 _savegpr_24(); extern "C" void _savegpr_27(); -extern "C" void _restgpr_24(); extern "C" void _restgpr_27(); // // Declarations: // +/* 80451528-80451530 000A28 0004+04 1/1 4/4 0/0 .sbss sDirectPrint__14JUTDirectPrint */ +JUTDirectPrint* JUTDirectPrint::sDirectPrint; + /* 802E41E8-802E4240 2DEB28 0058+00 1/1 0/0 0/0 .text __ct__14JUTDirectPrintFv */ JUTDirectPrint::JUTDirectPrint() { changeFrameBuffer(NULL, 0, 0); setCharColor(0xff, 0xff, 0xff); -} - -/* ############################################################################################## */ -/* 80451528-80451530 000A28 0004+04 1/1 4/4 0/0 .sbss sDirectPrint__14JUTDirectPrint */ -JUTDirectPrint* JUTDirectPrint::sDirectPrint; -u8 JUTDirectPrint::sDirectPrint_padding[4 /* padding */]; +} /* 802E4240-802E4288 2DEB80 0048+00 0/0 1/1 0/0 .text start__14JUTDirectPrintFv */ JUTDirectPrint* JUTDirectPrint::start() { @@ -162,6 +132,7 @@ SECTION_DATA static u32 twiceBit[4] = { #pragma pop /* 802E431C-802E456C 2DEC5C 0250+00 1/1 0/0 0/0 .text drawChar__14JUTDirectPrintFiii */ +// incorrect reg-alloc #if NONMATCHING void JUTDirectPrint::drawChar(int position_x, int position_y, int ch) { int codepoint; @@ -192,7 +163,7 @@ void JUTDirectPrint::drawChar(int position_x, int position_y, int ch) { scale_y = 2; u16* pixel = mFrameBuffer + mStride * position_y * scale_y + position_x * scale_x; - for (int y = 0; y < 7; y++) { + for (u32 y = 0; y < 7; y++) { u32 data = *font_data << col_index; font_data += 1; @@ -388,5 +359,3 @@ void JUTDirectPrint::setCharColor(u8 r, u8 g, u8 b) { mCharColor_Cr4 = (Cr >> 2) & 0x3fff; } - -/* 8039D9A0-8039D9A0 02A000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ From fa19d7a32e0ed5b8ff1909661220cad8fd2251b4 Mon Sep 17 00:00:00 2001 From: Julgodis <> Date: Sun, 26 Sep 2021 03:49:41 +0200 Subject: [PATCH 14/16] pull-request cleanup (main.dol: 15.597194%) --- include/Runtime.PPCEABI.H/__va_arg.h | 2 +- libs/JSystem/JUtility/JUTDirectPrint.cpp | 3 +-- libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.cpp | 3 ++- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/Runtime.PPCEABI.H/__va_arg.h b/include/Runtime.PPCEABI.H/__va_arg.h index ef70f02101f..2091ed6fb84 100644 --- a/include/Runtime.PPCEABI.H/__va_arg.h +++ b/include/Runtime.PPCEABI.H/__va_arg.h @@ -3,7 +3,7 @@ #include "dolphin/types.h" -// not sure what the members are. +// not sure what the members are. // OK when the struct is 12 bytes. typedef struct __va_list_struct { u8 data[12]; diff --git a/libs/JSystem/JUtility/JUTDirectPrint.cpp b/libs/JSystem/JUtility/JUTDirectPrint.cpp index 0bcda0b8921..b63162278db 100644 --- a/libs/JSystem/JUtility/JUTDirectPrint.cpp +++ b/libs/JSystem/JUtility/JUTDirectPrint.cpp @@ -37,7 +37,7 @@ JUTDirectPrint* JUTDirectPrint::sDirectPrint; JUTDirectPrint::JUTDirectPrint() { changeFrameBuffer(NULL, 0, 0); setCharColor(0xff, 0xff, 0xff); -} +} /* 802E4240-802E4288 2DEB80 0048+00 0/0 1/1 0/0 .text start__14JUTDirectPrintFv */ JUTDirectPrint* JUTDirectPrint::start() { @@ -358,4 +358,3 @@ void JUTDirectPrint::setCharColor(u8 r, u8 g, u8 b) { mCharColor_Cr2 = (Cr >> 1) & 0x7fff; mCharColor_Cr4 = (Cr >> 2) & 0x3fff; } - diff --git a/libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.cpp b/libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.cpp index 1b06f8c5ef3..8c072de963c 100644 --- a/libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.cpp +++ b/libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.cpp @@ -15,7 +15,8 @@ struct __va_list_struct; extern "C" void sprintf(); extern "C" void snprintf(); -extern "C" size_t vsnprintf(char* buffer, size_t buffer_size, const char* format, __va_list_struct* args); +extern "C" size_t vsnprintf(char* buffer, size_t buffer_size, const char* format, + __va_list_struct* args); extern "C" void vprintf(); extern "C" void fprintf(); extern "C" void printf(); From bf12ea7a1111fd57bb38c9f2f8076da6894cd146 Mon Sep 17 00:00:00 2001 From: Julgodis <> Date: Sun, 26 Sep 2021 12:11:21 +0200 Subject: [PATCH 15/16] Removed JUtility.h and added './tp format' --- include/JSystem/J2DGraph/J2DGrafContext.h | 2 +- include/JSystem/JUtility.h | 30 ------------- include/JSystem/JUtility/JUTConsole.h | 2 +- include/JSystem/JUtility/JUTFader.h | 2 +- include/JSystem/JUtility/JUTFont.h | 2 +- include/JSystem/JUtility/TColor.h | 32 +++++-------- include/d/meter/d_meter_HIO.h | 2 +- include/dolphin/gx/GXTexture.h | 11 +---- include/f_ap/f_ap_game.h | 2 +- libs/JSystem/JUtility/JUTDirectPrint.cpp | 2 +- tools/tp.py | 55 ++++++++++++++++------- 11 files changed, 60 insertions(+), 82 deletions(-) delete mode 100644 include/JSystem/JUtility.h diff --git a/include/JSystem/J2DGraph/J2DGrafContext.h b/include/JSystem/J2DGraph/J2DGrafContext.h index b4875b04359..dd85bce171e 100644 --- a/include/JSystem/J2DGraph/J2DGrafContext.h +++ b/include/JSystem/J2DGraph/J2DGrafContext.h @@ -2,7 +2,7 @@ #define J2DGRAFCONTEXT_H #include "JSystem/JGeometry.h" -#include "JSystem/JUtility.h" +#include "JSystem/JUtility/TColor.h" #include "dolphin/mtx/mtx.h" #include "dolphin/types.h" diff --git a/include/JSystem/JUtility.h b/include/JSystem/JUtility.h deleted file mode 100644 index c72bcecccad..00000000000 --- a/include/JSystem/JUtility.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef JUTILITY_H -#define JUTILITY_H - -#include "dolphin/gx/GXTexture.h" -#include "dolphin/types.h" - -namespace JUtility { - -struct TColor : _GXColor { - TColor() { set(-1); } - - TColor(u32 raw) { *(u32*)&r = raw; } - - void set(u32 col) { *(u32*)&r = col; } - void set(u8 oR, u8 oG, u8 oB, u8 oA) { - r = oR; - g = oG; - b = oB; - a = oA; - } - - u32 toUInt32() const { return *(u32*)&r; } - - operator u32() const { return toUInt32(); } - void operator=(const TColor& rhs) { ((_GXColor*)this)->operator=(rhs); } -}; - -} // namespace JUtility - -#endif /* JUTILITY_H */ \ No newline at end of file diff --git a/include/JSystem/JUtility/JUTConsole.h b/include/JSystem/JUtility/JUTConsole.h index a4a5b074e67..358b7a06b55 100644 --- a/include/JSystem/JUtility/JUTConsole.h +++ b/include/JSystem/JUtility/JUTConsole.h @@ -3,8 +3,8 @@ #include "JSystem/JGadget/linklist.h" #include "JSystem/JKernel/JKRDisposer.h" -#include "JSystem/JUtility.h" #include "JSystem/JUtility/JUTFont.h" +#include "JSystem/JUtility/TColor.h" #include "dolphin/types.h" class JUTConsole : public JKRDisposer { diff --git a/include/JSystem/JUtility/JUTFader.h b/include/JSystem/JUtility/JUTFader.h index 378d16eddd3..7c7bf8d1b15 100644 --- a/include/JSystem/JUtility/JUTFader.h +++ b/include/JSystem/JUtility/JUTFader.h @@ -2,7 +2,7 @@ #define JUTFADER_H #include "JSystem/JGeometry.h" -#include "JSystem/JUtility.h" +#include "JSystem/JUtility/TColor.h" #include "dolphin/types.h" class JUTFader { diff --git a/include/JSystem/JUtility/JUTFont.h b/include/JSystem/JUtility/JUTFont.h index b000764382f..5b37dc7e2f4 100644 --- a/include/JSystem/JUtility/JUTFont.h +++ b/include/JSystem/JUtility/JUTFont.h @@ -1,7 +1,7 @@ #ifndef JUTFONT_H #define JUTFONT_H -#include "JSystem/JUtility.h" +#include "JSystem/JUtility/TColor.h" #include "dolphin/gx/GX.h" #include "dolphin/types.h" diff --git a/include/JSystem/JUtility/TColor.h b/include/JSystem/JUtility/TColor.h index d256af3bf35..473f28778eb 100644 --- a/include/JSystem/JUtility/TColor.h +++ b/include/JSystem/JUtility/TColor.h @@ -5,39 +5,29 @@ #include "dolphin/types.h" namespace JUtility { -class TColor { -public: +struct TColor : public GXColor { TColor(u8 r, u8 g, u8 b, u8 a) { set(r, g, b, a); } TColor() { set(0xffffffff); } TColor(u32 u32Color) { set(u32Color); } - TColor(_GXColor gxColor) { set(gxColor); } - TColor(const TColor& other) { *this = other; } + // TColor(const TColor& other) { set(other.toUInt32()); } TColor& operator=(const TColor& other) { - mColor = other.mColor; + ((GXColor*)this)->operator=(other); return *this; } - operator u32() { return toUInt32(); } - u32 toUInt32() { return *(u32*)&mColor; } + operator u32() const { return toUInt32(); } + u32 toUInt32() const { return *(u32*)&r; } void set(u8 cR, u8 cG, u8 cB, u8 cA) { - mColor.r = cR; - mColor.g = cG; - mColor.b = cB; - mColor.a = cA; + r = cR; + g = cG; + b = cB; + a = cA; } - void set(u32 u32Color) { *(u32*)&mColor = u32Color; } - void set(_GXColor gxColor) { mColor = gxColor; } - - u8 R() const { return mColor.r; } - u8 G() const { return mColor.g; } - u8 B() const { return mColor.b; } - u8 A() const { return mColor.a; } - -private: - _GXColor mColor; + void set(u32 u32Color) { *(u32*)&r = u32Color; } + void set(GXColor gxColor) { *(GXColor*)&r = gxColor; } }; } // namespace JUtility diff --git a/include/d/meter/d_meter_HIO.h b/include/d/meter/d_meter_HIO.h index 55887ae1fb9..d731a2051b0 100644 --- a/include/d/meter/d_meter_HIO.h +++ b/include/d/meter/d_meter_HIO.h @@ -2,7 +2,7 @@ #define D_METER_D_METER_HIO_H #include "JSystem/JKernel/JKRArchive.h" -#include "JSystem/JUtility.h" +#include "JSystem/JUtility/TColor.h" #include "SSystem/SComponent/c_Xyz.h" #include "SSystem/SComponent/c_sXyz.h" #include "dolphin/types.h" diff --git a/include/dolphin/gx/GXTexture.h b/include/dolphin/gx/GXTexture.h index 3a111fdad14..6b8684c21df 100644 --- a/include/dolphin/gx/GXTexture.h +++ b/include/dolphin/gx/GXTexture.h @@ -3,19 +3,12 @@ #include "dolphin/types.h" -struct _GXColor { - void operator=(const _GXColor& rhs) { - r = rhs.r; - g = rhs.g; - b = rhs.b; - a = rhs.a; - } - +typedef struct _GXColor { u8 r; u8 g; u8 b; u8 a; -}; +} GXColor; struct _GXColorS10 { s16 r; diff --git a/include/f_ap/f_ap_game.h b/include/f_ap/f_ap_game.h index 140a6416564..a7dfe8c9b96 100644 --- a/include/f_ap/f_ap_game.h +++ b/include/f_ap/f_ap_game.h @@ -1,7 +1,7 @@ #ifndef F_AP_F_AP_GAME_H #define F_AP_F_AP_GAME_H -#include "JSystem/JUtility.h" +#include "JSystem/JUtility/TColor.h" #include "dolphin/types.h" void fapGm_After(); diff --git a/libs/JSystem/JUtility/JUTDirectPrint.cpp b/libs/JSystem/JUtility/JUTDirectPrint.cpp index b63162278db..162622f2653 100644 --- a/libs/JSystem/JUtility/JUTDirectPrint.cpp +++ b/libs/JSystem/JUtility/JUTDirectPrint.cpp @@ -338,7 +338,7 @@ void JUTDirectPrint::drawString_f(u16 position_x, u16 position_y, char const* fo /* 802E4798-802E47C8 2DF0D8 0030+00 0/0 2/2 0/0 .text * setCharColor__14JUTDirectPrintFQ28JUtility6TColor */ void JUTDirectPrint::setCharColor(JUtility::TColor color) { - setCharColor(color.R(), color.G(), color.B()); + setCharColor(color.r, color.g, color.b); } /* 802E47C8-802E495C 2DF108 0194+00 2/2 0/0 0/0 .text setCharColor__14JUTDirectPrintFUcUcUc */ diff --git a/tools/tp.py b/tools/tp.py index 9cbe91f3426..58b21848cae 100644 --- a/tools/tp.py +++ b/tools/tp.py @@ -343,6 +343,31 @@ def remove_unused_asm(): text.stylize("bold green") CONSOLE.print(text) +@tp.command(name="format") +@click.option('--debug/--no-debug') +@click.option('--thread-count', '-j', 'thread_count', help="This option is passed forward to all 'make' commands.", default=4) +@click.option('--game-path', default=DEFAULT_GAME_PATH, required=True) +@click.option('--build-path', default=DEFAULT_BUILD_PATH, required=True) +def format(debug, thread_count, game_path, build_path): + """ Format all .cpp/.h files using clang-format """ + + if debug: + LOG.setLevel(logging.DEBUG) + + text = Text("--- Clang-Format") + text.stylize("bold magenta") + CONSOLE.print(text) + + if clang_format(thread_count): + text = Text(" OK") + text.stylize("bold green") + CONSOLE.print(text) + else: + text = Text(" ERR") + text.stylize("bold red") + CONSOLE.print(text) + sys.exit(1) + @tp.command(name="pull-request") @click.option('--debug/--no-debug') @click.option('--thread-count', '-j', 'thread_count', help="This option is passed forward to all 'make' commands.", default=4) @@ -360,6 +385,21 @@ def pull_request(debug, thread_count, game_path, build_path): remove_unused_asm() + # + text = Text("--- Clang-Format") + text.stylize("bold magenta") + CONSOLE.print(text) + + if clang_format(thread_count): + text = Text(" OK") + text.stylize("bold green") + CONSOLE.print(text) + else: + text = Text(" ERR") + text.stylize("bold red") + CONSOLE.print(text) + sys.exit(1) + # text = Text("--- Full Rebuild") text.stylize("bold magenta") @@ -392,21 +432,6 @@ def pull_request(debug, thread_count, game_path, build_path): CONSOLE.print(text) sys.exit(1) - # - text = Text("--- Clang-Format") - text.stylize("bold magenta") - CONSOLE.print(text) - - if clang_format(thread_count): - text = Text(" OK") - text.stylize("bold green") - CONSOLE.print(text) - else: - text = Text(" ERR") - text.stylize("bold red") - CONSOLE.print(text) - sys.exit(1) - # text = Text("--- Calculate Progress") text.stylize("bold magenta") From bb9dbd758fca9d14fda1f0921cb50440eec2be25 Mon Sep 17 00:00:00 2001 From: Julgodis <> Date: Sun, 26 Sep 2021 12:28:18 +0200 Subject: [PATCH 16/16] Removed #if DEBUG and clean up. --- include/JSystem/JUtility/JUTDirectPrint.h | 12 +++--------- libs/JSystem/JUtility/JUTDirectPrint.cpp | 10 ++++------ 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/include/JSystem/JUtility/JUTDirectPrint.h b/include/JSystem/JUtility/JUTDirectPrint.h index 7aa8f2cb128..8f2c2fbb4aa 100644 --- a/include/JSystem/JUtility/JUTDirectPrint.h +++ b/include/JSystem/JUtility/JUTDirectPrint.h @@ -2,12 +2,9 @@ #define JUTDIRECTPRINT_H #include "JSystem/JUtility/TColor.h" +#include "Runtime.PPCEABI.H/__va_arg.h" #include "dolphin/types.h" -struct base_process_class {}; - -struct __va_list_struct; - class JUTDirectPrint { private: /* 802E41E8 */ JUTDirectPrint(); @@ -16,7 +13,8 @@ public: /* 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); + /* -------- */ void print(u16, u16, char const*, ...); + /* 802E45A4 */ void printSub(u16, u16, char const*, va_list, bool); /* 802E46D8 */ void drawString(u16, u16, char*); /* 802E4708 */ void drawString_f(u16, u16, char const*, ...); /* 802E47C8 */ void setCharColor(u8, u8, u8); @@ -24,10 +22,6 @@ public: /* 802E4240 */ static JUTDirectPrint* start(); -#if DEBUG - /* -------- */ void print(u16, u16, char const*, ...); -#endif - private: static u8 sAsciiTable[128]; static u32 sFontData[64]; diff --git a/libs/JSystem/JUtility/JUTDirectPrint.cpp b/libs/JSystem/JUtility/JUTDirectPrint.cpp index 162622f2653..53a93bdd42e 100644 --- a/libs/JSystem/JUtility/JUTDirectPrint.cpp +++ b/libs/JSystem/JUtility/JUTDirectPrint.cpp @@ -272,8 +272,8 @@ void JUTDirectPrint::changeFrameBuffer(void* frameBuffer, u16 width, u16 height) /* 802E45A4-802E46D8 2DEEE4 0134+00 1/1 0/0 0/0 .text * printSub__14JUTDirectPrintFUsUsPCcP16__va_list_structb */ -void JUTDirectPrint::printSub(u16 position_x, u16 position_y, char const* format, - __va_list_struct* args, bool clear) { +void JUTDirectPrint::printSub(u16 position_x, u16 position_y, char const* format, va_list args, + bool clear) { char buffer[256]; if (!mFrameBuffer) { return; @@ -308,16 +308,14 @@ void JUTDirectPrint::printSub(u16 position_x, u16 position_y, char const* format DCStoreRange(mFrameBuffer, mFrameBufferSize); } -#if DEBUG void JUTDirectPrint::print(u16 position_x, u16 position_y, char const* format, ...) { if (mFrameBuffer) { va_list args; va_start(args, format); - printSub(position_x, position_y, format, args); + printSub(position_x, position_y, format, args, true); va_end(args); } } -#endif /* 802E46D8-802E4708 2DF018 0030+00 0/0 2/2 0/0 .text drawString__14JUTDirectPrintFUsUsPc */ @@ -330,7 +328,7 @@ void JUTDirectPrint::drawString_f(u16 position_x, u16 position_y, char const* fo if (mFrameBuffer) { va_list args; va_start(args, format); - printSub(position_x, position_y, format, (__va_list_struct*)args, false); + printSub(position_x, position_y, format, args, false); va_end(args); } }