summaryrefslogtreecommitdiff
path: root/libs/JSystem
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2021-10-24 14:35:00 -0700
committerGitHub <noreply@github.com>2021-10-24 23:35:00 +0200
commit5020395dfd34d4dc846e3ea228f6271bfca1c72a (patch)
tree9b553bbfc8b0807d7f860964d6044d6ccf6d1342 /libs/JSystem
parentb88cb8cdc0b7a8af4df22e303ff81e0e617dbc85 (diff)
J2D structs + print / fix GX + MSL string headers (#157)
* J2D structs + print / fix GX + MSL string headers * remove msl_c/string.h
Diffstat (limited to 'libs/JSystem')
-rw-r--r--libs/JSystem/J2DGraph/J2DAnimation.cpp30
-rw-r--r--libs/JSystem/J2DGraph/J2DAnmLoader.cpp89
-rw-r--r--libs/JSystem/J2DGraph/J2DGrafContext.cpp24
-rw-r--r--libs/JSystem/J2DGraph/J2DMatBlock.cpp453
-rw-r--r--libs/JSystem/J2DGraph/J2DMaterial.cpp116
-rw-r--r--libs/JSystem/J2DGraph/J2DMaterialFactory.cpp60
-rw-r--r--libs/JSystem/J2DGraph/J2DOrthoGraph.cpp3
-rw-r--r--libs/JSystem/J2DGraph/J2DPane.cpp1
-rw-r--r--libs/JSystem/J2DGraph/J2DPicture.cpp9
-rw-r--r--libs/JSystem/J2DGraph/J2DPictureEx.cpp225
-rw-r--r--libs/JSystem/J2DGraph/J2DPrint.cpp205
-rw-r--r--libs/JSystem/J2DGraph/J2DScreen.cpp5
-rw-r--r--libs/JSystem/J2DGraph/J2DTevs.cpp63
-rw-r--r--libs/JSystem/J2DGraph/J2DTextBox.cpp22
-rw-r--r--libs/JSystem/J2DGraph/J2DTextBoxEx.cpp152
-rw-r--r--libs/JSystem/J2DGraph/J2DWindow.cpp6
-rw-r--r--libs/JSystem/J2DGraph/J2DWindowEx.cpp165
-rw-r--r--libs/JSystem/J3DGraphBase/J3DMatBlock.cpp12
-rw-r--r--libs/JSystem/J3DGraphBase/J3DPacket.cpp2
-rw-r--r--libs/JSystem/J3DGraphBase/J3DSys.cpp45
-rw-r--r--libs/JSystem/JKernel/JKRAramArchive.cpp2
-rw-r--r--libs/JSystem/JKernel/JKRArchivePri.cpp3
-rw-r--r--libs/JSystem/JKernel/JKRFileCache.cpp3
-rw-r--r--libs/JSystem/JKernel/JKRFileLoader.cpp2
-rw-r--r--libs/JSystem/JKernel/JKRMemArchive.cpp2
-rw-r--r--libs/JSystem/JKernel/JKRThread.cpp2
-rw-r--r--libs/JSystem/JParticle/JPAParticle.cpp3
-rw-r--r--libs/JSystem/JSupport/JSUMemoryStream.cpp2
-rw-r--r--libs/JSystem/JUtility/JUTDirectPrint.cpp2
-rw-r--r--libs/JSystem/JUtility/JUTNameTab.cpp2
-rw-r--r--libs/JSystem/JUtility/JUTResFont.cpp18
31 files changed, 178 insertions, 1550 deletions
diff --git a/libs/JSystem/J2DGraph/J2DAnimation.cpp b/libs/JSystem/J2DGraph/J2DAnimation.cpp
index d1d2613923..ac8f49ae3e 100644
--- a/libs/JSystem/J2DGraph/J2DAnimation.cpp
+++ b/libs/JSystem/J2DGraph/J2DAnimation.cpp
@@ -11,27 +11,12 @@
// Types:
//
-struct _GXTlutFmt {};
-
-struct _GXTlut {};
-
-struct JUTTransparency {};
-
struct JKRArchive {};
struct JUTResReference {
/* 802DE120 */ void getResource(void const*, u32, JKRArchive*);
};
-struct JUTPalette {
- /* 802DE91C */ void storeTLUT(_GXTlut, _GXTlutFmt, JUTTransparency, u16, void*);
-};
-
-struct JUTNameTab {
- /* 802DEA58 */ void getIndex(char const*) const;
- /* 802DEAF8 */ void getName(u16) const;
-};
-
struct J3DTransformInfo {};
struct J3DTextureSRTInfo {};
@@ -406,7 +391,8 @@ SECTION_DATA extern void* __vt__16J2DAnmTexPattern[4] = {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm J2DAnmTexPattern::~J2DAnmTexPattern() {
+extern "C" asm void __dt__16J2DAnmTexPatternFv() {
+ // asm J2DAnmTexPattern::~J2DAnmTexPattern() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DAnimation/__dt__16J2DAnmTexPatternFv.s"
}
@@ -434,7 +420,8 @@ SECTION_DATA extern void* __vt__17J2DAnmVtxColorKey[5] = {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm J2DAnmVtxColorKey::~J2DAnmVtxColorKey() {
+extern "C" asm void __dt__17J2DAnmVtxColorKeyFv() {
+ // asm J2DAnmVtxColorKey::~J2DAnmVtxColorKey() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DAnimation/__dt__17J2DAnmVtxColorKeyFv.s"
}
@@ -454,7 +441,8 @@ SECTION_DATA extern void* __vt__18J2DAnmVtxColorFull[5] = {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm J2DAnmVtxColorFull::~J2DAnmVtxColorFull() {
+extern "C" asm void __dt__18J2DAnmVtxColorFullFv() {
+ // asm J2DAnmVtxColorFull::~J2DAnmVtxColorFull() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DAnimation/__dt__18J2DAnmVtxColorFullFv.s"
}
@@ -492,7 +480,8 @@ SECTION_DATA extern void* __vt__11J2DAnmColor[5] = {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm J2DAnmColorFull::~J2DAnmColorFull() {
+extern "C" asm void __dt__15J2DAnmColorFullFv() {
+ // asm J2DAnmColorFull::~J2DAnmColorFull() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DAnimation/__dt__15J2DAnmColorFullFv.s"
}
@@ -533,7 +522,8 @@ SECTION_DATA extern void* __vt__19J2DAnmTransformFull[5] = {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm J2DAnmTransformFull::~J2DAnmTransformFull() {
+extern "C" asm void __dt__19J2DAnmTransformFullFv() {
+ // asm J2DAnmTransformFull::~J2DAnmTransformFull() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DAnimation/__dt__19J2DAnmTransformFullFv.s"
}
diff --git a/libs/JSystem/J2DGraph/J2DAnmLoader.cpp b/libs/JSystem/J2DGraph/J2DAnmLoader.cpp
index c62697b570..fb82f433ef 100644
--- a/libs/JSystem/J2DGraph/J2DAnmLoader.cpp
+++ b/libs/JSystem/J2DGraph/J2DAnmLoader.cpp
@@ -4,6 +4,7 @@
//
#include "JSystem/J2DGraph/J2DAnmLoader.h"
+#include "JSystem/J2DGraph/J2DAnimation.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@@ -11,15 +12,6 @@
// Types:
//
-struct _GXColor {};
-
-struct ResNTAB {};
-
-struct JUTNameTab {
- /* 802DE9A0 */ JUTNameTab();
- /* 802DEA1C */ void setResource(ResNTAB const*);
-};
-
struct J3DAnmVtxColorKeyData {};
struct J3DAnmVtxColorFullData {};
@@ -42,79 +34,6 @@ struct J3DAnmColorFullData {};
struct J2DScreen {};
-struct J2DAnmVtxColorKey {};
-
-struct J2DAnmVtxColorFull {};
-
-struct J2DAnmVtxColor {
- /* 8030363C */ void getColor(u8, u16, _GXColor*) const;
- /* 8030A358 */ ~J2DAnmVtxColor();
-};
-
-struct J2DAnmVisibilityFull {
- /* 8030A3B4 */ ~J2DAnmVisibilityFull();
-};
-
-struct J2DAnmTransformKey {};
-
-struct J2DAnmTransformFull {};
-
-struct J2DAnmTextureSRTKey {};
-
-struct J2DAnmTexPattern {};
-
-struct J2DAnmTevRegKey {};
-
-struct J2DAnmLoaderDataBase {
- /* 80308A6C */ void load(void const*);
-};
-
-struct J2DAnmLoader {
- /* 8030A410 */ ~J2DAnmLoader();
-};
-
-struct J2DAnmBase {
- /* 800569B0 */ void searchUpdateMaterialID(J2DScreen*);
-};
-
-struct J2DAnmColorKey {};
-
-struct J2DAnmKeyLoader_v15 {
- /* 80309290 */ J2DAnmKeyLoader_v15();
- /* 803092AC */ ~J2DAnmKeyLoader_v15();
- /* 80309308 */ void load(void const*);
- /* 80309414 */ void setResource(J2DAnmBase*, void const*);
- /* 80309570 */ void readAnmTransform(J3DAnmTransformKeyData const*);
- /* 80309598 */ void setAnmTransform(J2DAnmTransformKey*, J3DAnmTransformKeyData const*);
- /* 80309634 */ void readAnmTextureSRT(J3DAnmTextureSRTKeyData const*);
- /* 8030965C */ void setAnmTextureSRT(J2DAnmTextureSRTKey*, J3DAnmTextureSRTKeyData const*);
- /* 80309848 */ void readAnmColor(J3DAnmColorKeyData const*);
- /* 80309870 */ void setAnmColor(J2DAnmColorKey*, J3DAnmColorKeyData const*);
- /* 8030995C */ void readAnmVtxColor(J3DAnmVtxColorKeyData const*);
- /* 80309984 */ void setAnmVtxColor(J2DAnmVtxColorKey*, J3DAnmVtxColorKeyData const*);
- /* 80309FDC */ void readAnmTevReg(J3DAnmTevRegKeyData const*);
- /* 8030A004 */ void setAnmTevReg(J2DAnmTevRegKey*, J3DAnmTevRegKeyData const*);
-};
-
-struct J2DAnmColorFull {};
-
-struct J2DAnmFullLoader_v15 {
- /* 80309A80 */ void load(void const*);
- /* 80309B8C */ void setResource(J2DAnmBase*, void const*);
- /* 80309CE8 */ J2DAnmFullLoader_v15();
- /* 80309D04 */ ~J2DAnmFullLoader_v15();
- /* 80309D60 */ void readAnmTransform(J3DAnmTransformFullData const*);
- /* 80309D88 */ void setAnmTransform(J2DAnmTransformFull*, J3DAnmTransformFullData const*);
- /* 80309E1C */ void readAnmColor(J3DAnmColorFullData const*);
- /* 80309E44 */ void setAnmColor(J2DAnmColorFull*, J3DAnmColorFullData const*);
- /* 80309F10 */ void readAnmTexPattern(J3DAnmTexPatternFullData const*);
- /* 80309F38 */ void setAnmTexPattern(J2DAnmTexPattern*, J3DAnmTexPatternFullData const*);
- /* 8030A190 */ void readAnmVisibility(J3DAnmVisibilityFullData const*);
- /* 8030A1B8 */ void setAnmVisibility(J2DAnmVisibilityFull*, J3DAnmVisibilityFullData const*);
- /* 8030A234 */ void readAnmVtxColor(J3DAnmVtxColorFullData const*);
- /* 8030A25C */ void setAnmVtxColor(J2DAnmVtxColorFull*, J3DAnmVtxColorFullData const*);
-};
-
//
// Forward References:
//
@@ -288,7 +207,8 @@ asm J2DAnmKeyLoader_v15::~J2DAnmKeyLoader_v15() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void J2DAnmKeyLoader_v15::load(void const* param_0) {
+extern "C" asm void load__19J2DAnmKeyLoader_v15FPCv() {
+ // asm void J2DAnmKeyLoader_v15::load(void const* param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DAnmLoader/load__19J2DAnmKeyLoader_v15FPCv.s"
}
@@ -401,7 +321,8 @@ asm void J2DAnmKeyLoader_v15::setAnmVtxColor(J2DAnmVtxColorKey* param_0,
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void J2DAnmFullLoader_v15::load(void const* param_0) {
+extern "C" asm void load__20J2DAnmFullLoader_v15FPCv() {
+ // asm void J2DAnmFullLoader_v15::load(void const* param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DAnmLoader/load__20J2DAnmFullLoader_v15FPCv.s"
}
diff --git a/libs/JSystem/J2DGraph/J2DGrafContext.cpp b/libs/JSystem/J2DGraph/J2DGrafContext.cpp
index 17337771f0..a0fbd8c047 100644
--- a/libs/JSystem/J2DGraph/J2DGrafContext.cpp
+++ b/libs/JSystem/J2DGraph/J2DGrafContext.cpp
@@ -34,30 +34,6 @@ extern "C" void setLookat__14J2DGrafContextFv();
//
extern "C" void __dl__FPv();
-extern "C" void GXSetVtxDesc();
-extern "C" void GXClearVtxDesc();
-extern "C" void GXSetVtxAttrFmt();
-extern "C" void GXSetTexCoordGen2();
-extern "C" void GXSetNumTexGens();
-extern "C" void GXBegin();
-extern "C" void GXSetLineWidth();
-extern "C" void GXSetCullMode();
-extern "C" void GXSetNumChans();
-extern "C" void GXSetChanCtrl();
-extern "C" void GXSetNumIndStages();
-extern "C" void GXSetTevDirect();
-extern "C" void GXSetTevOp();
-extern "C" void GXSetAlphaCompare();
-extern "C" void GXSetTevOrder();
-extern "C" void GXSetNumTevStages();
-extern "C" void GXSetBlendMode();
-extern "C" void GXSetZMode();
-extern "C" void GXSetZCompLoc();
-extern "C" void GXLoadPosMtxImm();
-extern "C" void GXSetCurrentMtx();
-extern "C" void GXLoadTexMtxImm();
-extern "C" void GXSetViewport(f32, f32, f32, f32, f32, f32);
-extern "C" void GXSetScissor();
extern "C" void __cvt_fp2unsigned();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
diff --git a/libs/JSystem/J2DGraph/J2DMatBlock.cpp b/libs/JSystem/J2DGraph/J2DMatBlock.cpp
index 2b2cc00b48..8626f2f656 100644
--- a/libs/JSystem/J2DGraph/J2DMatBlock.cpp
+++ b/libs/JSystem/J2DGraph/J2DMatBlock.cpp
@@ -8,415 +8,6 @@
#include "dolphin/types.h"
//
-// Types:
-//
-
-struct _GXTlut {};
-
-struct _GXTexMapID {};
-
-struct ResTLUT {};
-
-struct ResTIMG {};
-
-struct ResFONT {};
-
-struct JUtility {
- struct TColor {
- /* 80193960 */ TColor();
- };
-};
-
-struct JUTPalette {
- /* 802DE890 */ void storeTLUT(_GXTlut, ResTLUT*);
-};
-
-struct JUTTexture {
- /* 802DE234 */ ~JUTTexture();
- /* 802DE2A8 */ void storeTIMG(ResTIMG const*, u8);
- /* 802DE44C */ void storeTIMG(ResTIMG const*, JUTPalette*);
- /* 802DE5B0 */ void attachPalette(JUTPalette*);
- /* 802DE840 */ void load(_GXTexMapID);
-};
-
-struct JKRHeap {};
-
-struct JUTResFont {
- /* 802DEF94 */ JUTResFont(ResFONT const*, JKRHeap*);
-};
-
-struct JUTFont {};
-
-struct J2DTexMtx {
- /* 802E9C90 */ void load(u32);
- /* 802E9CC4 */ void calc();
-};
-
-struct J2DTexGenBlock {
- /* 802EB510 */ void initialize();
- /* 802EB570 */ void setGX();
- /* 802EB620 */ ~J2DTexGenBlock();
- /* 802EB6A4 */ void setTexMtx(u32, J2DTexMtx&);
- /* 802EB7E0 */ void getTexMtx(u32, J2DTexMtx&);
-};
-
-struct J2DTevSwapModeTable {
- /* 802F1934 */ J2DTevSwapModeTable();
-};
-
-struct J2DTevSwapModeInfo {};
-
-struct J2DTevStageInfo {};
-
-struct J2DTevStage {
- /* 802F1940 */ J2DTevStage();
- /* 802F19A8 */ void setTevStageInfo(J2DTevStageInfo const&);
-};
-
-struct J2DTevOrder {
- /* 802F1B70 */ J2DTevOrder();
-};
-
-struct J2DIndTevStage {
- /* 802EA044 */ void load(u8);
- /* 802F18A0 */ J2DIndTevStage();
-};
-
-struct J2DGXColorS10 {
- /* 802F1B90 */ J2DGXColorS10();
-};
-
-struct J2DTevBlock8 {
- /* 802EED64 */ J2DTevBlock8();
- /* 802EEE8C */ ~J2DTevBlock8();
- /* 802EEF6C */ void initialize();
- /* 802EF1E0 */ void prepareTexture(u8);
- /* 802EF2B0 */ void insertTexture(u32, ResTIMG const*, JUTPalette*);
- /* 802F21C4 */ void insertTexture(u32, ResTIMG const*);
- /* 802EF67C */ void insertTexture(u32, JUTTexture*);
- /* 802EF80C */ void setTexture(u32, ResTIMG const*);
- /* 802EFA98 */ void setTexture(u32, JUTTexture*);
- /* 802EFB48 */ void removeTexture(u32);
- /* 802EFC40 */ void setFont(ResFONT*);
- /* 802EFCEC */ void setFont(JUTFont*);
- /* 802EFD68 */ void setPalette(u32, ResTLUT const*);
- /* 802EFE40 */ void shiftDeleteFlag(u8, bool);
- /* 802EFEAC */ void setGX();
- /* 802F019C */ void loadTexture(_GXTexMapID, u32);
- /* 802F1FB8 */ void getType();
- /* 802F1FC4 */ s32 getMaxStage();
- /* 802F1FCC */ void setTexNo(u32, u16);
- /* 802F1FDC */ void getTexNo(u32) const;
- /* 802F1FEC */ void setFontNo(u16);
- /* 802F1FF4 */ void getFontNo() const;
- /* 802F1FFC */ void setTevOrder(u32, J2DTevOrder);
- /* 802F2020 */ void getTevOrder(u32);
- /* 802F2034 */ void setTevColor(u32, J2DGXColorS10);
- /* 802F2060 */ void getTevColor(u32);
- /* 802F2074 */ void setTevKColor(u32, JUtility::TColor);
- /* 802F20A0 */ void getTevKColor(u32);
- /* 802F20B4 */ void setTevKColorSel(u32, u8);
- /* 802F20C0 */ void getTevKColorSel(u32);
- /* 802F20CC */ void setTevKAlphaSel(u32, u8);
- /* 802F20D8 */ void getTevKAlphaSel(u32);
- /* 802F20E4 */ void setTevStageNum(u8);
- /* 802F20EC */ void getTevStageNum() const;
- /* 802F20F4 */ void setTevStage(u32, J2DTevStage);
- /* 802F2130 */ void getTevStage(u32);
- /* 802F2144 */ void setTevSwapModeInfo(u32, J2DTevSwapModeInfo);
- /* 802F217C */ void setTevSwapModeTable(u32, J2DTevSwapModeTable);
- /* 802F218C */ void getTevSwapModeTable(u32);
- /* 802F219C */ void setIndTevStage(u32, J2DIndTevStage);
- /* 802F21B0 */ void getIndTevStage(u32);
- /* 802F21F4 */ void getTexture(u32);
- /* 802F2214 */ void getPalette(u32);
- /* 802F2234 */ void getFont();
- /* 802F223C */ void setUndeleteFlag(u8);
- /* 802F224C */ void setFontUndeleteFlag();
-};
-
-struct J2DTevBlock4 {
- /* 802ED8BC */ J2DTevBlock4();
- /* 802ED9E4 */ ~J2DTevBlock4();
- /* 802EDAC4 */ void initialize();
- /* 802EDD34 */ void prepareTexture(u8);
- /* 802EDE04 */ void insertTexture(u32, ResTIMG const*, JUTPalette*);
- /* 802EE1D4 */ void insertTexture(u32, JUTTexture*);
- /* 802F2464 */ void insertTexture(u32, ResTIMG const*);
- /* 802EE364 */ void setTexture(u32, ResTIMG const*);
- /* 802EE5F0 */ void setTexture(u32, JUTTexture*);
- /* 802EE6A0 */ void removeTexture(u32);
- /* 802EE798 */ void setFont(ResFONT*);
- /* 802EE84C */ void setFont(JUTFont*);
- /* 802EE8CC */ void setPalette(u32, ResTLUT const*);
- /* 802EE9A4 */ void shiftDeleteFlag(u8, bool);
- /* 802EEA2C */ void setGX();
- /* 802EED1C */ void loadTexture(_GXTexMapID, u32);
- /* 802F2258 */ void getType();
- /* 802F2264 */ s32 getMaxStage();
- /* 802F226C */ void setTexNo(u32, u16);
- /* 802F227C */ void getTexNo(u32) const;
- /* 802F228C */ void setFontNo(u16);
- /* 802F2294 */ void getFontNo() const;
- /* 802F229C */ void setTevOrder(u32, J2DTevOrder);
- /* 802F22C0 */ void getTevOrder(u32);
- /* 802F22D4 */ void setTevColor(u32, J2DGXColorS10);
- /* 802F2300 */ void getTevColor(u32);
- /* 802F2314 */ void setTevKColor(u32, JUtility::TColor);
- /* 802F2340 */ void getTevKColor(u32);
- /* 802F2354 */ void setTevKColorSel(u32, u8);
- /* 802F2360 */ void getTevKColorSel(u32);
- /* 802F236C */ void setTevKAlphaSel(u32, u8);
- /* 802F2378 */ void getTevKAlphaSel(u32);
- /* 802F2384 */ void setTevStageNum(u8);
- /* 802F238C */ void getTevStageNum() const;
- /* 802F2394 */ void setTevStage(u32, J2DTevStage);
- /* 802F23D0 */ void getTevStage(u32);
- /* 802F23E4 */ void setTevSwapModeInfo(u32, J2DTevSwapModeInfo);
- /* 802F241C */ void setTevSwapModeTable(u32, J2DTevSwapModeTable);
- /* 802F242C */ void getTevSwapModeTable(u32);
- /* 802F243C */ void setIndTevStage(u32, J2DIndTevStage);
- /* 802F2450 */ void getIndTevStage(u32);
- /* 802F2494 */ void getTexture(u32);
- /* 802F24B4 */ void getPalette(u32);
- /* 802F24D4 */ void getFont();
- /* 802F24DC */ void setUndeleteFlag(u8);
- /* 802F24EC */ void setFontUndeleteFlag();
-};
-
-struct J2DTevBlock2 {
- /* 802EC5B8 */ J2DTevBlock2();
- /* 802EC6C8 */ ~J2DTevBlock2();
- /* 802EC7A0 */ void initialize();
- /* 802ECA18 */ void prepareTexture(u8);
- /* 802F2708 */ void insertTexture(u32, ResTIMG const*);
- /* 802ECAE8 */ void insertTexture(u32, ResTIMG const*, JUTPalette*);
- /* 802ECDE8 */ void insertTexture(u32, JUTTexture*);
- /* 802ECF48 */ void setTexture(u32, ResTIMG const*);
- /* 802ED16C */ void setTexture(u32, JUTTexture*);
- /* 802ED21C */ void removeTexture(u32);
- /* 802ED3A4 */ void setFont(JUTFont*);
- /* 802ED2F0 */ void setFont(ResFONT*);
- /* 802ED424 */ void setPalette(u32, ResTLUT const*);
- /* 802ED4FC */ void shiftDeleteFlag(u8, bool);
- /* 802ED584 */ void setGX();
- /* 802ED874 */ void loadTexture(_GXTexMapID, u32);
- /* 802F24FC */ void getType();
- /* 802F2508 */ s32 getMaxStage();
- /* 802F2510 */ void setTexNo(u32, u16);
- /* 802F2520 */ void getTexNo(u32) const;
- /* 802F2530 */ void setFontNo(u16);
- /* 802F2538 */ void getFontNo() const;
- /* 802F2540 */ void setTevOrder(u32, J2DTevOrder);
- /* 802F2564 */ void getTevOrder(u32);
- /* 802F2578 */ void setTevColor(u32, J2DGXColorS10);
- /* 802F25A4 */ void getTevColor(u32);
- /* 802F25B8 */ void setTevKColor(u32, JUtility::TColor);
- /* 802F25E4 */ void getTevKColor(u32);
- /* 802F25F8 */ void setTevKColorSel(u32, u8);
- /* 802F2604 */ void getTevKColorSel(u32);
- /* 802F2610 */ void setTevKAlphaSel(u32, u8);
- /* 802F261C */ void getTevKAlphaSel(u32);
- /* 802F2628 */ void setTevStageNum(u8);
- /* 802F2630 */ void getTevStageNum() const;
- /* 802F2638 */ void setTevStage(u32, J2DTevStage);
- /* 802F2674 */ void getTevStage(u32);
- /* 802F2688 */ void setTevSwapModeInfo(u32, J2DTevSwapModeInfo);
- /* 802F26C0 */ void setTevSwapModeTable(u32, J2DTevSwapModeTable);
- /* 802F26D0 */ void getTevSwapModeTable(u32);
- /* 802F26E0 */ void setIndTevStage(u32, J2DIndTevStage);
- /* 802F26F4 */ void getIndTevStage(u32);
- /* 802F2738 */ void getTexture(u32);
- /* 802F2758 */ void getPalette(u32);
- /* 802F2778 */ void getFont();
- /* 802F2780 */ void setUndeleteFlag(u8);
- /* 802F2790 */ void setFontUndeleteFlag();
-};
-
-struct J2DTevBlock16 {
- /* 802F01E4 */ J2DTevBlock16();
- /* 802F030C */ ~J2DTevBlock16();
- /* 802F03EC */ void initialize();
- /* 802F0660 */ void prepareTexture(u8);
- /* 802F1F24 */ void insertTexture(u32, ResTIMG const*);
- /* 802F0730 */ void insertTexture(u32, ResTIMG const*, JUTPalette*);
- /* 802F0AFC */ void insertTexture(u32, JUTTexture*);
- /* 802F0C8C */ void setTexture(u32, ResTIMG const*);
- /* 802F0F18 */ void setTexture(u32, JUTTexture*);
- /* 802F0FC8 */ void removeTexture(u32);
- /* 802F10C0 */ void setFont(ResFONT*);
- /* 802F116C */ void setFont(JUTFont*);
- /* 802F11E8 */ void setPalette(u32, ResTLUT const*);
- /* 802F12C0 */ void shiftDeleteFlag(u8, bool);
- /* 802F132C */ void setGX();
- /* 802F161C */ void loadTexture(_GXTexMapID, u32);
- /* 802F1D18 */ void getType();
- /* 802F1D24 */ s32 getMaxStage();
- /* 802F1D2C */ void setTexNo(u32, u16);
- /* 802F1D3C */ void getTexNo(u32) const;
- /* 802F1D4C */ void setFontNo(u16);
- /* 802F1D54 */ void getFontNo() const;
- /* 802F1D5C */ void setTevOrder(u32, J2DTevOrder);
- /* 802F1D80 */ void getTevOrder(u32);
- /* 802F1D94 */ void setTevColor(u32, J2DGXColorS10);
- /* 802F1DC0 */ void getTevColor(u32);
- /* 802F1DD4 */ void setTevKColor(u32, JUtility::TColor);
- /* 802F1E00 */ void getTevKColor(u32);
- /* 802F1E14 */ void setTevKColorSel(u32, u8);
- /* 802F1E20 */ void getTevKColorSel(u32);
- /* 802F1E2C */ void setTevKAlphaSel(u32, u8);
- /* 802F1E38 */ void getTevKAlphaSel(u32);
- /* 802F1E44 */ void setTevStageNum(u8);
- /* 802F1E4C */ void getTevStageNum() const;
- /* 802F1E54 */ void setTevStage(u32, J2DTevStage);
- /* 802F1E90 */ void getTevStage(u32);
- /* 802F1EA4 */ void setTevSwapModeInfo(u32, J2DTevSwapModeInfo);
- /* 802F1EDC */ void setTevSwapModeTable(u32, J2DTevSwapModeTable);
- /* 802F1EEC */ void getTevSwapModeTable(u32);
- /* 802F1EFC */ void setIndTevStage(u32, J2DIndTevStage);
- /* 802F1F10 */ void getIndTevStage(u32);
- /* 802F1F54 */ void getTexture(u32);
- /* 802F1F74 */ void getPalette(u32);
- /* 802F1F94 */ void getFont();
- /* 802F1F9C */ void setUndeleteFlag(u8);
- /* 802F1FAC */ void setFontUndeleteFlag();
-};
-
-struct J2DTevBlock1 {
- /* 802EB88C */ J2DTevBlock1();
- /* 802EB998 */ ~J2DTevBlock1();
- /* 802EBA50 */ void initialize();
- /* 802EBC0C */ void prepareTexture(u8);
- /* 802F29A8 */ void insertTexture(u32, ResTIMG const*);
- /* 802EBCC0 */ void insertTexture(u32, ResTIMG const*, JUTPalette*);
- /* 802EBDE4 */ void insertTexture(u32, JUTTexture*);
- /* 802EBE8C */ void setTexture(u32, ResTIMG const*);
- /* 802EC01C */ void setTexture(u32, JUTTexture*);
- /* 802EC0A8 */ void removeTexture(u32);
- /* 802EC124 */ void setFont(ResFONT*);
- /* 802EC1D8 */ void setFont(JUTFont*);
- /* 802EC258 */ void setPalette(u32, ResTLUT const*);
- /* 802EC318 */ void shiftDeleteFlag(u8, bool);
- /* 802EC328 */ void setGX();
- /* 802EC570 */ void loadTexture(_GXTexMapID, u32);
- /* 802F27A0 */ void getType();
- /* 802F27AC */ bool getMaxStage();
- /* 802F27B4 */ void setTexNo(u32, u16);
- /* 802F27C4 */ void getTexNo(u32) const;
- /* 802F27D4 */ void setFontNo(u16);
- /* 802F27DC */ void getFontNo() const;
- /* 802F27E4 */ void setTevOrder(u32, J2DTevOrder);
- /* 802F2808 */ void getTevOrder(u32);
- /* 802F281C */ void setTevColor(u32, J2DGXColorS10);
- /* 802F2848 */ void getTevColor(u32);
- /* 802F285C */ void setTevKColor(u32, JUtility::TColor);
- /* 802F2888 */ void getTevKColor(u32);
- /* 802F289C */ void setTevKColorSel(u32, u8);
- /* 802F28A8 */ void getTevKColorSel(u32);
- /* 802F28B4 */ void setTevKAlphaSel(u32, u8);
- /* 802F28C0 */ void getTevKAlphaSel(u32);
- /* 802F28CC */ void setTevStageNum(u8);
- /* 802F28D0 */ bool getTevStageNum() const;
- /* 802F28D8 */ void setTevStage(u32, J2DTevStage);
- /* 802F2914 */ void getTevStage(u32);
- /* 802F2928 */ void setTevSwapModeInfo(u32, J2DTevSwapModeInfo);
- /* 802F2960 */ void setTevSwapModeTable(u32, J2DTevSwapModeTable);
- /* 802F2970 */ void getTevSwapModeTable(u32);
- /* 802F2980 */ void setIndTevStage(u32, J2DIndTevStage);
- /* 802F2994 */ void getIndTevStage(u32);
- /* 802F29D8 */ void getTexture(u32);
- /* 802F29F8 */ void getPalette(u32);
- /* 802F2A18 */ void getFont();
- /* 802F2A20 */ void setUndeleteFlag(u8);
- /* 802F2A30 */ void setFontUndeleteFlag();
-};
-
-struct J2DTevBlock {
- /* 802EA12C */ bool getTevSwapModeTable(u32);
- /* 802EA134 */ bool getTevStage(u32);
- /* 802EA13C */ bool getTevColor(u32);
- /* 802EA144 */ bool getTevOrder(u32);
- /* 802EA14C */ bool getTevKAlphaSel(u32);
- /* 802EA154 */ bool getTevKColorSel(u32);
- /* 802EA15C */ bool getTevKColor(u32);
- /* 802EA164 */ void getFontNo() const;
- /* 802EA170 */ void getTexNo(u32) const;
- /* 802EA17C */ bool getTevStageNum() const;
- /* 802EA184 */ bool getIndTevStage(u32);
- /* 802EB184 */ ~J2DTevBlock();
- /* 802EB1D0 */ void setGX();
- /* 802EB1D4 */ void setTevKColor(u32, JUtility::TColor);
- /* 802EB1D8 */ void setTevColor(u32, J2DGXColorS10);
- /* 802EB1DC */ void setTexNo(u32, u16);
- /* 802EB87C */ bool getTexture(u32);
- /* 802EB884 */ bool getPalette(u32);
- /* 802F2A40 */ void initialize();
- /* 802F2A44 */ void loadTexture(_GXTexMapID, u32);
- /* 802F2A48 */ void setFontNo(u16);
- /* 802F2A4C */ void setTevOrder(u32, J2DTevOrder);
- /* 802F2A50 */ void setTevKColorSel(u32, u8);
- /* 802F2A54 */ void setTevKAlphaSel(u32, u8);
- /* 802F2A58 */ void setTevStageNum(u8);
- /* 802F2A5C */ void setTevStage(u32, J2DTevStage);
- /* 802F2A60 */ void setTevSwapModeInfo(u32, J2DTevSwapModeInfo);
- /* 802F2A64 */ void setTevSwapModeTable(u32, J2DTevSwapModeTable);
- /* 802F2A68 */ void setIndTevStage(u32, J2DIndTevStage);
- /* 802F2A6C */ bool insertTexture(u32, JUTTexture*);
- /* 802F2A74 */ bool insertTexture(u32, ResTIMG const*, JUTPalette*);
- /* 802F2A7C */ bool insertTexture(u32, ResTIMG const*);
- /* 802F2A84 */ bool setTexture(u32, JUTTexture*);
- /* 802F2A8C */ bool setTexture(u32, ResTIMG const*);
- /* 802F2A94 */ bool removeTexture(u32);
- /* 802F2A9C */ bool setFont(JUTFont*);
- /* 802F2AA4 */ bool setFont(ResFONT*);
- /* 802F2AAC */ bool setPalette(u32, ResTLUT const*);
- /* 802F2AB4 */ bool prepareTexture(u8);
- /* 802F2ABC */ bool getFont();
- /* 802F2AC4 */ void shiftDeleteFlag(u8, bool);
- /* 802F2AC8 */ void setUndeleteFlag(u8);
- /* 802F2ACC */ void setFontUndeleteFlag();
-};
-
-struct J2DPEBlock {
- /* 802F17FC */ void initialize();
- /* 802F1840 */ void setGX();
-};
-
-struct J2DIndTexOrder {
- /* 802EA0FC */ void load(u8);
-};
-
-struct J2DIndTexMtx {
- /* 802EA098 */ void load(u8);
- /* 802EB2E4 */ ~J2DIndTexMtx();
-};
-
-struct J2DIndTexCoordScale {
- /* 802EA0CC */ void load(u8);
- /* 802EB290 */ ~J2DIndTexCoordScale();
-};
-
-struct J2DIndBlockFull {
- /* 802F1664 */ void initialize();
- /* 802F1730 */ void setGX();
- /* 802F1B94 */ void getType();
- /* 802F1BA0 */ void setIndTexStageNum(u8);
- /* 802F1BA8 */ void getIndTexStageNum() const;
- /* 802F1BB0 */ void setIndTexOrder(u32, J2DIndTexOrder);
- /* 802F1BCC */ void getIndTexOrder(u32);
- /* 802F1BE0 */ void setIndTexMtx(u32, J2DIndTexMtx);
- /* 802F1C38 */ void getIndTexMtx(u32);
- /* 802F1C4C */ void setIndTexCoordScale(u32, J2DIndTexCoordScale);
- /* 802F1C68 */ void getIndTexCoordScale(u32);
- /* 802F1C7C */ ~J2DIndBlockFull();
-};
-
-struct J2DColorBlock {
- /* 802EB394 */ void initialize();
- /* 802EB424 */ void setGX();
-};
-
-//
// Forward References:
//
@@ -743,28 +334,6 @@ extern "C" void setTevColor__11J2DTevBlockFUl13J2DGXColorS10();
extern "C" void setTexNo__11J2DTevBlockFUlUs();
extern "C" void __dt__19J2DIndTexCoordScaleFv();
extern "C" void __dt__12J2DIndTexMtxFv();
-extern "C" void GXSetTexCoordGen2();
-extern "C" void GXSetNumTexGens();
-extern "C" void GXSetCullMode();
-extern "C" void GXSetChanMatColor();
-extern "C" void GXSetNumChans();
-extern "C" void GXSetChanCtrl();
-extern "C" void GXSetNumIndStages();
-extern "C" void GXSetTevColorIn();
-extern "C" void GXSetTevAlphaIn();
-extern "C" void GXSetTevColorOp();
-extern "C" void GXSetTevAlphaOp();
-extern "C" void GXSetTevColorS10();
-extern "C" void GXSetTevKColor();
-extern "C" void GXSetTevKColorSel();
-extern "C" void GXSetTevKAlphaSel();
-extern "C" void GXSetTevSwapMode();
-extern "C" void GXSetTevSwapModeTable();
-extern "C" void GXSetAlphaCompare();
-extern "C" void GXSetTevOrder();
-extern "C" void GXSetNumTevStages();
-extern "C" void GXSetBlendMode();
-extern "C" void GXSetDither();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void _savegpr_25();
@@ -1245,7 +814,8 @@ asm J2DTevBlock1::~J2DTevBlock1() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void J2DTevBlock1::initialize() {
+extern "C" asm void initialize__12J2DTevBlock1Fv() {
+ // asm void J2DTevBlock1::initialize() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DMatBlock/initialize__12J2DTevBlock1Fv.s"
}
@@ -1403,7 +973,8 @@ asm J2DTevBlock2::~J2DTevBlock2() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void J2DTevBlock2::initialize() {
+extern "C" asm void initialize__12J2DTevBlock2Fv() {
+ // asm void J2DTevBlock2::initialize() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DMatBlock/initialize__12J2DTevBlock2Fv.s"
}
@@ -1561,7 +1132,8 @@ asm J2DTevBlock4::~J2DTevBlock4() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void J2DTevBlock4::initialize() {
+extern "C" asm void initialize__12J2DTevBlock4Fv() {
+ // asm void J2DTevBlock4::initialize() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DMatBlock/initialize__12J2DTevBlock4Fv.s"
}
@@ -1719,7 +1291,8 @@ asm J2DTevBlock8::~J2DTevBlock8() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void J2DTevBlock8::initialize() {
+extern "C" asm void initialize__12J2DTevBlock8Fv() {
+ // asm void J2DTevBlock8::initialize() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DMatBlock/initialize__12J2DTevBlock8Fv.s"
}
@@ -1877,7 +1450,8 @@ asm J2DTevBlock16::~J2DTevBlock16() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void J2DTevBlock16::initialize() {
+extern "C" asm void initialize__13J2DTevBlock16Fv() {
+ // asm void J2DTevBlock16::initialize() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DMatBlock/initialize__13J2DTevBlock16Fv.s"
}
@@ -2015,7 +1589,8 @@ asm void J2DTevBlock16::loadTexture(_GXTexMapID param_0, u32 param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void J2DIndBlockFull::initialize() {
+extern "C" asm void initialize__15J2DIndBlockFullFv() {
+ // asm void J2DIndBlockFull::initialize() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DMatBlock/initialize__15J2DIndBlockFullFv.s"
}
@@ -3453,8 +3028,8 @@ asm void J2DTevBlock1::getType() {
#pragma pop
/* 802F27AC-802F27B4 2ED0EC 0008+00 1/0 0/0 0/0 .text getMaxStage__12J2DTevBlock1Fv */
-bool J2DTevBlock1::getMaxStage() {
- return true;
+s32 J2DTevBlock1::getMaxStage() {
+ return 1;
}
/* 802F27B4-802F27C4 2ED0F4 0010+00 1/0 0/0 0/0 .text setTexNo__12J2DTevBlock1FUlUs */
diff --git a/libs/JSystem/J2DGraph/J2DMaterial.cpp b/libs/JSystem/J2DGraph/J2DMaterial.cpp
index def8304ad0..f56fe44bbb 100644
--- a/libs/JSystem/J2DGraph/J2DMaterial.cpp
+++ b/libs/JSystem/J2DGraph/J2DMaterial.cpp
@@ -11,117 +11,8 @@
// Types:
//
-struct _GXTlut {};
-
-struct ResTIMG {};
-
-struct JUtility {
- struct TColor {
- /* 80193960 */ TColor();
- };
-};
-
-struct JUTPalette {};
-
-struct JUTTexture {
- /* 802DE480 */ void storeTIMG(ResTIMG const*, JUTPalette*, _GXTlut);
-};
-
struct J3DTextureSRTInfo {};
-struct J2DTexMtx {};
-
-struct J2DTexGenBlock {
- /* 802EB510 */ void initialize();
- /* 802EB570 */ void setGX();
- /* 802EB620 */ ~J2DTexGenBlock();
- /* 802EB6A4 */ void setTexMtx(u32, J2DTexMtx&);
- /* 802EB7E0 */ void getTexMtx(u32, J2DTexMtx&);
-};
-
-struct J2DTexCoord {
- /* 802EB260 */ J2DTexCoord();
-};
-
-struct J2DTevBlock8 {
- /* 802EED64 */ J2DTevBlock8();
-};
-
-struct J2DTevBlock4 {
- /* 802ED8BC */ J2DTevBlock4();
-};
-
-struct J2DTevBlock2 {
- /* 802EC5B8 */ J2DTevBlock2();
-};
-
-struct J2DTevBlock16 {
- /* 802F01E4 */ J2DTevBlock16();
-};
-
-struct J2DTevBlock1 {
- /* 802EB88C */ J2DTevBlock1();
-};
-
-struct J2DGXColorS10 {};
-
-struct J2DTevBlock {
- /* 802EB184 */ ~J2DTevBlock();
- /* 802EB1D0 */ void setGX();
- /* 802EB1D4 */ void setTevKColor(u32, JUtility::TColor);
- /* 802EB1D8 */ void setTevColor(u32, J2DGXColorS10);
- /* 802EB1DC */ void setTexNo(u32, u16);
-};
-
-struct J2DPEBlock {
- /* 802F17FC */ void initialize();
- /* 802F1840 */ void setGX();
-};
-
-struct J2DIndTexOrder {
- /* 802EB378 */ J2DIndTexOrder();
-};
-
-struct J2DIndTexMtx {
- /* 802EB2E4 */ ~J2DIndTexMtx();
- /* 802EB320 */ J2DIndTexMtx();
-};
-
-struct J2DIndTexCoordScale {
- /* 802EB290 */ ~J2DIndTexCoordScale();
- /* 802EB2CC */ J2DIndTexCoordScale();
-};
-
-struct J2DIndBlockNull {
- /* 802EB1E0 */ void setGX();
- /* 802EB1E4 */ void getType();
- /* 802EB1F0 */ ~J2DIndBlockNull();
-};
-
-struct J2DIndBlock {
- /* 802EA18C */ bool getIndTexCoordScale(u32);
- /* 802EA194 */ bool getIndTexMtx(u32);
- /* 802EA19C */ bool getIndTexOrder(u32);
- /* 802EA1A4 */ bool getIndTexStageNum() const;
- /* 802EB13C */ ~J2DIndBlock();
- /* 802EB1CC */ void setGX();
- /* 802EB24C */ void initialize();
- /* 802EB250 */ void setIndTexStageNum(u8);
- /* 802EB254 */ void setIndTexOrder(u32, J2DIndTexOrder);
- /* 802EB258 */ void setIndTexMtx(u32, J2DIndTexMtx);
- /* 802EB25C */ void setIndTexCoordScale(u32, J2DIndTexCoordScale);
-};
-
-struct J2DColorChan {
- /* 802EB280 */ J2DColorChan();
-};
-
-struct J2DColorBlock {
- /* 802EB0F4 */ ~J2DColorBlock();
- /* 802EB394 */ void initialize();
- /* 802EB424 */ void setGX();
-};
-
//
// Forward References:
//
@@ -280,7 +171,8 @@ asm J2DMaterial::J2DMaterial() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm J2DMaterial::~J2DMaterial() {
+extern "C" asm void __dt__11J2DMaterialFv() {
+ // asm J2DMaterial::~J2DMaterial() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DMaterial/__dt__11J2DMaterialFv.s"
}
@@ -459,7 +351,7 @@ void J2DTevBlock::setTexNo(u32 param_0, u16 param_1) {
}
/* 802EB1E0-802EB1E4 2E5B20 0004+00 1/0 0/0 0/0 .text setGX__15J2DIndBlockNullFv */
-void J2DIndBlockNull::setGX() {
+extern "C" void setGX__15J2DIndBlockNullFv() {
/* empty function */
}
@@ -484,7 +376,7 @@ asm J2DIndBlockNull::~J2DIndBlockNull() {
#pragma pop
/* 802EB24C-802EB250 2E5B8C 0004+00 2/0 0/0 0/0 .text initialize__11J2DIndBlockFv */
-void J2DIndBlock::initialize() {
+extern "C" void initialize__11J2DIndBlockFv() {
/* empty function */
}
diff --git a/libs/JSystem/J2DGraph/J2DMaterialFactory.cpp b/libs/JSystem/J2DGraph/J2DMaterialFactory.cpp
index 550a4951a6..99e01d25db 100644
--- a/libs/JSystem/J2DGraph/J2DMaterialFactory.cpp
+++ b/libs/JSystem/J2DGraph/J2DMaterialFactory.cpp
@@ -11,74 +11,14 @@
// Types:
//
-struct JKRArchive {};
-
struct JUTResReference {
/* 802DE120 */ void getResource(void const*, u32, JKRArchive*);
};
-struct J2DTexMtx {
- /* 802E9CC4 */ void calc();
-};
-
-struct J2DTevStageInfo {};
-
-struct J2DTevStage {
- /* 802F4110 */ J2DTevStage(J2DTevStageInfo const&);
- /* 802F1940 */ J2DTevStage();
- /* 802F19A8 */ void setTevStageInfo(J2DTevStageInfo const&);
-};
-
struct J2DScreen {
static u8 mDataManage[4 + 4 /* padding */];
};
-struct J2DResReference {
- /* 8030CF10 */ void getResReference(u16) const;
- /* 8030CF44 */ void getName(u16) const;
-};
-
-struct J2DMaterial {
- /* 802EA410 */ void createTevBlock(int, bool);
- /* 802EA5C4 */ void createIndBlock(int, bool);
-};
-
-struct J2DMaterialBlock {};
-
-struct J2DMaterialFactory {
- /* 802F2AD0 */ J2DMaterialFactory(J2DMaterialBlock const&);
- /* 802F2C94 */ void countStages(int) const;
- /* 802F2D1C */ void create(J2DMaterial*, int, u32, J2DResReference*, J2DResReference*,
- JKRArchive*) const;
- /* 802F362C */ void newMatColor(int, int) const;
- /* 802F36CC */ void newColorChanNum(int) const;
- /* 802F3704 */ void newColorChan(int, int) const;
- /* 802F3758 */ void newTexGenNum(int) const;
- /* 802F3790 */ void newTexCoord(int, int) const;
- /* 802F3804 */ void newTexMtx(int, int) const;
- /* 802F38E0 */ void newCullMode(int) const;
- /* 802F3920 */ void newTexNo(int, int) const;
- /* 802F3968 */ void newFontNo(int) const;
- /* 802F39A8 */ void newTevOrder(int, int) const;
- /* 802F3A1C */ void newTevColor(int, int) const;
- /* 802F3AB4 */ void newTevKColor(int, int) const;
- /* 802F3B54 */ void newTevStageNum(int) const;
- /* 802F3B8C */ void newTevStage(int, int) const;
- /* 802F3BEC */ void newTevSwapModeTable(int, int) const;
- /* 802F3C88 */ void newIndTexStageNum(int) const;
- /* 802F3CB8 */ void newIndTexOrder(int, int) const;
- /* 802F3D20 */ void newIndTexMtx(int, int) const;
- /* 802F3E24 */ void newIndTevStage(int, int) const;
- /* 802F3F78 */ void newIndTexCoordScale(int, int) const;
- /* 802F3FE0 */ void newAlphaComp(int) const;
- /* 802F405C */ void newBlend(int) const;
- /* 802F40D8 */ void newDither(int) const;
-};
-
-struct J2DDataManage {
- /* 8030CE18 */ void get(char const*);
-};
-
//
// Forward References:
//
diff --git a/libs/JSystem/J2DGraph/J2DOrthoGraph.cpp b/libs/JSystem/J2DGraph/J2DOrthoGraph.cpp
index b1ebca077d..efa8d989a7 100644
--- a/libs/JSystem/J2DGraph/J2DOrthoGraph.cpp
+++ b/libs/JSystem/J2DGraph/J2DOrthoGraph.cpp
@@ -41,9 +41,6 @@ extern "C" void func_802E9260();
extern "C" void func_802E9368();
extern "C" void func_802E9564();
extern "C" void place__14J2DGrafContextFffff();
-extern "C" void C_MTXOrtho();
-extern "C" void GXSetProjection();
-extern "C" void GXLoadPosMtxImm();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__14J2DGrafContext[10];
diff --git a/libs/JSystem/J2DGraph/J2DPane.cpp b/libs/JSystem/J2DGraph/J2DPane.cpp
index 79e5fed82c..8f625f3db3 100644
--- a/libs/JSystem/J2DGraph/J2DPane.cpp
+++ b/libs/JSystem/J2DGraph/J2DPane.cpp
@@ -113,7 +113,6 @@ extern "C" void setScissor__14J2DGrafContextFv();
extern "C" void func_802E90C0();
extern "C" void func_802E987C();
extern "C" void get__13J2DDataManageFP14JSUInputStream();
-extern "C" void GXSetCullMode();
extern "C" void _savegpr_25();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
diff --git a/libs/JSystem/J2DGraph/J2DPicture.cpp b/libs/JSystem/J2DGraph/J2DPicture.cpp
index ede225ac4f..0b8507bf27 100644
--- a/libs/JSystem/J2DGraph/J2DPicture.cpp
+++ b/libs/JSystem/J2DGraph/J2DPicture.cpp
@@ -138,15 +138,6 @@ extern "C" void setCullBack__7J2DPaneFb();
extern "C" void setConnectParent__7J2DPaneFb();
extern "C" void update__7J2DPaneFv();
extern "C" void getNameResource__9J2DScreenFPCc();
-extern "C" void GXClearVtxDesc();
-extern "C" void GXSetTexCoordGen2();
-extern "C" void GXSetNumIndStages();
-extern "C" void GXSetTevDirect();
-extern "C" void GXSetTevKColor();
-extern "C" void GXSetTevKColorSel();
-extern "C" void GXSetTevKAlphaSel();
-extern "C" void GXLoadPosMtxImm();
-extern "C" void GXSetCurrentMtx();
extern "C" void __construct_array();
extern "C" void _savegpr_21();
extern "C" void _savegpr_22();
diff --git a/libs/JSystem/J2DGraph/J2DPictureEx.cpp b/libs/JSystem/J2DGraph/J2DPictureEx.cpp
index cdfa7e34fa..62123db41a 100644
--- a/libs/JSystem/J2DGraph/J2DPictureEx.cpp
+++ b/libs/JSystem/J2DGraph/J2DPictureEx.cpp
@@ -8,211 +8,6 @@
#include "dolphin/types.h"
//
-// Types:
-//
-
-struct _GXTlut {};
-
-struct _GXTexMapID {};
-
-struct _GXCullMode {};
-
-struct ResTLUT {};
-
-struct ResTIMG {};
-
-struct ResFONT {};
-
-struct JUtility {
- struct TColor {};
-};
-
-struct JUTPalette {};
-
-struct JUTTexture {
- /* 802DE2A8 */ void storeTIMG(ResTIMG const*, u8);
- /* 802DE480 */ void storeTIMG(ResTIMG const*, JUTPalette*, _GXTlut);
-};
-
-struct JSUStreamSeekFrom {};
-
-struct JSURandomInputStream {
- /* 802DC458 */ void peek(void*, s32);
- /* 802DC4DC */ void seek(s32, JSUStreamSeekFrom);
-};
-
-struct JSUInputStream {
- /* 802DC298 */ void read(void*, s32);
-};
-
-struct JGeometry {
- template <typename A1>
- struct TBox2 {};
- /* TBox2<f32> */
- struct TBox2__template0 {};
-
- template <typename A1>
- struct TVec2 {};
- /* TVec2<s16> */
- struct TVec2__template0 {
- /* 802FF204 */ void func_802FF204(void* _this);
- };
-};
-
-struct J2DTexMtx {};
-
-struct J2DTexGenBlock {
- /* 802EB6A4 */ void setTexMtx(u32, J2DTexMtx&);
-};
-
-struct J2DTevStage {};
-
-struct J2DScreen {
- /* 802F9640 */ void getNameResource(char const*);
-};
-
-struct J2DAnmTexPattern {};
-
-struct J2DAnmVisibilityFull {
- /* 8030C048 */ void getVisibility(u16, u8*) const;
-};
-
-struct J2DAnmBase {};
-
-struct J2DAnmTevRegKey {};
-
-struct J2DAnmTextureSRTKey {};
-
-struct J2DAnmVtxColor {};
-
-struct J2DAnmTransform {};
-
-struct J2DPane {
- /* 80053BC0 */ void calcMtx();
- /* 80053C00 */ void makeMatrix(f32, f32);
- /* 802F7540 */ void makeMatrix(f32, f32, f32, f32);
- /* 802F6F60 */ void move(f32, f32);
- /* 802F6FB4 */ void add(f32, f32);
- /* 802F6FF8 */ void resize(f32, f32);
- /* 802F72E0 */ void search(u64);
- /* 802F7388 */ void searchUserInfo(u64);
- /* 802F7430 */ void isUsed(ResTIMG const*);
- /* 802F74B8 */ void isUsed(ResFONT const*);
- /* 802F7680 */ void setCullBack(_GXCullMode);
- /* 802F7B18 */ void makePaneExStream(J2DPane*, JSURandomInputStream*);
- /* 802F7EF4 */ void setAnimation(J2DAnmBase*);
- /* 802F8004 */ void clearAnmTransform();
- /* 802F8080 */ void animationTransform(J2DAnmTransform const*);
- /* 802F8118 */ void setVisibileAnimation(J2DAnmVisibilityFull*);
- /* 802F81A0 */ void setVtxColorAnimation(J2DAnmVtxColor*);
- /* 802F8228 */ void animationPane(J2DAnmTransform const*);
- /* 802F83D0 */ void setAnimationVF(J2DAnmVisibilityFull*);
- /* 802F83FC */ void setAnimationVC(J2DAnmVtxColor*);
- /* 802F8464 */ void setConnectParent(bool);
- /* 802F8474 */ void update();
-};
-
-struct J2DAnmColor {};
-
-struct J2DMaterial {
- /* 802EA38C */ void setGX();
- /* 802EAB0C */ void setAnimation(J2DAnmTevRegKey*);
- /* 802EAA2C */ void setAnimation(J2DAnmTexPattern*);
- /* 802EA94C */ void setAnimation(J2DAnmTextureSRTKey*);
- /* 802EA89C */ void setAnimation(J2DAnmColor*);
-};
-
-struct J2DPictureEx {
- struct stage_enum {};
-
- /* 80256034 */ void getMaterial() const;
- /* 80306B1C */ void setAnimation(J2DAnmTexPattern*);
- /* 80306AC4 */ void setAnimation(J2DAnmColor*);
- /* 803071C4 */ void setAnimation(J2DAnmBase*);
- /* 80306B48 */ void setAnimation(J2DAnmTevRegKey*);
- /* 80306B7C */ void setAnimation(J2DAnmVtxColor*);
- /* 80256064 */ void setAnimation(J2DAnmTransform*);
- /* 80306AF0 */ void setAnimation(J2DAnmTextureSRTKey*);
- /* 80306B74 */ void setAnimation(J2DAnmVisibilityFull*);
- /* 80303640 */ void initiate(ResTIMG const*, ResTLUT const*);
- /* 803036EC */ J2DPictureEx(J2DPane*, JSURandomInputStream*, u32, J2DMaterial*);
- /* 8030393C */ ~J2DPictureEx();
- /* 803039CC */ void prepareTexture(u8);
- /* 80303AB4 */ void drawSelf(f32, f32, f32 (*)[3][4]);
- /* 80303B80 */ void drawFullSet(f32, f32, f32, f32, f32 (*)[3][4]);
- /* 80303BDC */ void drawTexCoord(f32, f32, f32, f32, s16, s16, s16, s16, s16, s16, s16, s16,
- f32 (*)[3][4]);
- /* 80306F04 */ void append(char const*, f32);
- /* 80303EA4 */ void append(char const*, JUTPalette*, f32);
- /* 80306ED4 */ void append(ResTIMG const*, f32);
- /* 80303E5C */ void append(ResTIMG const*, JUTPalette*, f32);
- /* 80303EEC */ void append(JUTTexture*, f32);
- /* 80307024 */ void insert(char const*, u8, f32);
- /* 80303F34 */ void insert(ResTIMG const*, JUTPalette*, u8, f32);
- /* 80304048 */ void insert(JUTTexture*, u8, f32);
- /* 80303FD8 */ void insert(char const*, JUTPalette*, u8, f32);
- /* 80307058 */ void insert(ResTIMG const*, u8, f32);
- /* 803040E4 */ void insertCommon(u8, f32);
- /* 8030437C */ void isInsert(u8) const;
- /* 80304608 */ void remove();
- /* 8030446C */ void remove(u8);
- /* 8030466C */ void remove(JUTTexture*);
- /* 80304728 */ void isRemove(u8) const;
- /* 8030708C */ void draw(f32, f32, bool, bool, bool);
- /* 80304890 */ void draw(f32, f32, f32, f32, bool, bool, bool);
- /* 8030477C */ void draw(f32, f32, u8, bool, bool, bool);
- /* 80304D88 */ void drawOut(f32, f32, f32, f32, f32, f32);
- /* 803070D0 */ void drawOut(f32, f32, f32, f32, f32, f32, f32, f32);
- /* 80304EF0 */ void drawOut(JGeometry::TBox2<f32> const&, JGeometry::TBox2<f32> const&);
- /* 80307134 */ void load(u8);
- /* 80305264 */ void load(_GXTexMapID, u8);
- /* 803052AC */ void setTevOrder(u8, u8, bool);
- /* 803053E0 */ void setTevStage(u8, u8, bool);
- /* 80305688 */ void setStage(J2DTevStage*, J2DPictureEx::stage_enum);
- /* 80305928 */ void setTevKColor(u8);
- /* 80305C70 */ void setTevKColorSel(u8);
- /* 80305D18 */ void setTevKAlphaSel(u8);
- /* 80305DC0 */ void shiftSetBlendRatio(u8, f32, bool, bool);
- /* 80305ED4 */ void setBlendColorRatio(f32, f32);
- /* 80305F34 */ void setBlendAlphaRatio(f32, f32);
- /* 80305F94 */ void changeTexture(ResTIMG const*, u8);
- /* 80306298 */ void changeTexture(char const*, u8, JUTPalette*);
- /* 80306134 */ void changeTexture(ResTIMG const*, u8, JUTPalette*);
- /* 803060DC */ void changeTexture(char const*, u8);
- /* 803062F8 */ void getTexture(u8) const;
- /* 80306350 */ void getTextureCount() const;
- /* 80306370 */ void setBlack(JUtility::TColor);
- /* 803063F8 */ void setWhite(JUtility::TColor);
- /* 80306480 */ void setBlackWhite(JUtility::TColor, JUtility::TColor);
- /* 80306664 */ void getBlackWhite(JUtility::TColor*, JUtility::TColor*) const;
- /* 80306824 */ void isSetBlackWhite(JUtility::TColor, JUtility::TColor) const;
- /* 803068F8 */ void getBlack() const;
- /* 80306958 */ void getWhite() const;
- /* 803069B8 */ void setAlpha(u8);
- /* 803069D8 */ void setCullBack(_GXCullMode);
- /* 80307168 */ void setCullBack(bool);
- /* 80306A0C */ void rewriteAlpha();
- /* 80306A24 */ void isUsed(ResTIMG const*);
- /* 803071A4 */ void isUsed(ResFONT const*);
- /* 80306C70 */ void animationPane(J2DAnmTransform const*);
- /* 80306DC8 */ void getUsableTlut(u8);
- /* 80306F94 */ void prepend(char const*, f32);
- /* 80306F34 */ void prepend(JUTTexture*, f32);
- /* 80306FC4 */ void prepend(ResTIMG const*, JUTPalette*, f32);
- /* 80306F64 */ void prepend(char const*, JUTPalette*, f32);
- /* 80306FF4 */ void prepend(ResTIMG const*, f32);
-};
-
-struct J2DPicture {
- /* 800202CC */ void setBlendRatio(f32, f32);
- /* 802FC050 */ J2DPicture();
- /* 802FCFF0 */ ~J2DPicture();
- /* 802FDB28 */ void drawSelf(f32, f32);
- /* 802FF1D0 */ void getTlutID(ResTIMG const*, u8);
- /* 802FF2E8 */ s32 getTypeID() const;
-};
-
-//
// Forward References:
//
@@ -339,23 +134,6 @@ extern "C" void getTlutID__10J2DPictureFPC7ResTIMGUc();
extern "C" void func_802FF204(void* _this);
extern "C" s32 getTypeID__10J2DPictureCFv();
extern "C" void getVisibility__20J2DAnmVisibilityFullCFUsPUc();
-extern "C" void PSMTXIdentity();
-extern "C" void PSMTXConcat();
-extern "C" void GXSetVtxDesc();
-extern "C" void GXClearVtxDesc();
-extern "C" void GXSetVtxAttrFmt();
-extern "C" void GXSetNumTexGens();
-extern "C" void GXBegin();
-extern "C" void GXSetChanMatColor();
-extern "C" void GXSetChanCtrl();
-extern "C" void GXSetNumIndStages();
-extern "C" void GXSetTevDirect();
-extern "C" void GXSetTevOp();
-extern "C" void GXSetTevSwapModeTable();
-extern "C" void GXSetTevOrder();
-extern "C" void GXSetNumTevStages();
-extern "C" void GXLoadPosMtxImm();
-extern "C" void GXSetCurrentMtx();
extern "C" void __construct_array();
extern "C" void _savegpr_23();
extern "C" void _savegpr_25();
@@ -496,7 +274,8 @@ asm J2DPictureEx::J2DPictureEx(J2DPane* param_0, JSURandomInputStream* param_1,
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm J2DPictureEx::~J2DPictureEx() {
+extern "C" asm void __dt__12J2DPictureExFv() {
+ // asm J2DPictureEx::~J2DPictureEx() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/__dt__12J2DPictureExFv.s"
}
diff --git a/libs/JSystem/J2DGraph/J2DPrint.cpp b/libs/JSystem/J2DGraph/J2DPrint.cpp
index 2b50951466..a209638370 100644
--- a/libs/JSystem/J2DGraph/J2DPrint.cpp
+++ b/libs/JSystem/J2DGraph/J2DPrint.cpp
@@ -8,55 +8,10 @@
#include "dolphin/types.h"
//
-// Types:
-//
-
-struct JUtility {
- struct TColor {};
-};
-
-struct JUTFont {
- /* 802DEDC4 */ void setGradColor(JUtility::TColor, JUtility::TColor);
-};
-
-struct JKRHeap {
- static u8 sSystemHeap[4];
-};
-
-struct J2DTextBoxVBinding {};
-
-struct J2DTextBoxHBinding {};
-
-struct J2DPrint {
- struct TSize {};
-
- /* 802F4394 */ J2DPrint(JUTFont*, f32, f32, JUtility::TColor, JUtility::TColor,
- JUtility::TColor, JUtility::TColor);
- /* 802F4420 */ ~J2DPrint();
- /* 802F4468 */ void private_initiate(JUTFont*, f32, f32, JUtility::TColor, JUtility::TColor,
- JUtility::TColor, JUtility::TColor, bool);
- /* 802F4658 */ void setBuffer(u32);
- /* 802F46C4 */ void setFontSize();
- /* 802F475C */ void locate(f32, f32);
- /* 802F4778 */ void print(f32, f32, u8, char const*, ...);
- /* 802F4828 */ void printReturn(char const*, f32, f32, J2DTextBoxHBinding, J2DTextBoxVBinding,
- f32, f32, u8);
- /* 802F4B4C */ void parse(u8 const*, int, int, u16*, J2DPrint::TSize&, u8, bool);
- /* 802F52E8 */ void doCtrlCode(int);
- /* 802F5410 */ void doEscapeCode(u8 const**, u8);
- /* 802F594C */ void initchar();
- /* 802F59C0 */ void getNumberS32(u8 const**, s32, s32, int);
- /* 802F5AC4 */ void getNumberF32(u8 const**, f32, f32, int);
-
- static u8 mStrBuff[4];
- static u8 mStrBuffSize[4];
-};
-
-//
// Forward References:
//
-extern "C" static void J2DPrint_print_alpha_va();
+extern "C" f32 J2DPrint_print_alpha_va(J2DPrint* pPrint, u8 param_1, const char* fmt, va_list args);
extern "C" void
__ct__8J2DPrintFP7JUTFontffQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColor();
extern "C" void __dt__8J2DPrintFv();
@@ -93,7 +48,6 @@ extern "C" void _restgpr_25();
extern "C" void _restgpr_26();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
-extern "C" void vsnprintf();
extern "C" void strlen();
extern "C" void strtol();
extern "C" void strtoul();
@@ -105,13 +59,13 @@ extern "C" u8 sSystemHeap__7JKRHeap[4];
/* ############################################################################################## */
/* 80451580-80451584 000A80 0004+00 3/3 0/0 0/0 .sbss mStrBuff__8J2DPrint */
-u8 J2DPrint::mStrBuff[4];
+const u8* J2DPrint::mStrBuff;
/* 80451584-80451588 000A84 0004+00 1/1 0/0 0/0 .sbss None */
-static u8 data_80451584[4];
+static bool sStrBufInitialized;
/* 80451588-8045158C 000A88 0004+00 3/3 0/0 0/0 .sbss mStrBuffSize__8J2DPrint */
-u8 J2DPrint::mStrBuffSize[4];
+size_t J2DPrint::mStrBuffSize;
/* 8045158C-80451590 000A8C 0004+00 2/2 0/0 0/0 .sbss None */
static u8 data_8045158C[4];
@@ -125,14 +79,20 @@ SECTION_SDATA2 static u8 lit_418[4] = {
};
/* 802F42F0-802F4394 2EEC30 00A4+00 1/1 0/0 0/0 .text J2DPrint_print_alpha_va */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void J2DPrint_print_alpha_va() {
- nofralloc
-#include "asm/JSystem/J2DGraph/J2DPrint/J2DPrint_print_alpha_va.s"
+f32 J2DPrint_print_alpha_va(J2DPrint* pPrint, u8 param_1, const char* fmt, va_list args) {
+ pPrint->initchar();
+ s32 tmp = vsnprintf((char*)J2DPrint::mStrBuff, J2DPrint::mStrBuffSize, fmt, args);
+
+ J2DPrint::TSize size;
+ if (tmp < 0) {
+ return FLOAT_LABEL(lit_418);
+ } else if (tmp >= J2DPrint::mStrBuffSize) {
+ tmp = J2DPrint::mStrBuffSize - 1;
+ data_8045158C[0] = 1;
+ }
+ pPrint->parse(J2DPrint::mStrBuff, tmp, 0x80000000 - 1, NULL, size, param_1, true);
+ return size.field_0x0;
}
-#pragma pop
/* ############################################################################################## */
/* 803CCF40-803CCFA0 -00001 0060+00 1/1 0/0 0/0 .data @938 */
@@ -175,26 +135,13 @@ SECTION_DATA extern void* __vt__8J2DPrint[3 + 1 /* padding */] = {
/* 802F4394-802F4420 2EECD4 008C+00 0/0 6/6 0/0 .text
* __ct__8J2DPrintFP7JUTFontffQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColor
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm J2DPrint::J2DPrint(JUTFont* param_0, f32 param_1, f32 param_2, JUtility::TColor param_3,
- JUtility::TColor param_4, JUtility::TColor param_5,
- JUtility::TColor param_6) {
- nofralloc
-#include "asm/JSystem/J2DGraph/J2DPrint/func_802F4394.s"
+J2DPrint::J2DPrint(JUTFont* pFont, f32 param_1, f32 param_2, JUtility::TColor param_3,
+ JUtility::TColor param_4, JUtility::TColor param_5, JUtility::TColor param_6) {
+ private_initiate(pFont, param_1, param_2, param_3, param_4, param_5, param_6, false);
}
-#pragma pop
/* 802F4420-802F4468 2EED60 0048+00 1/0 6/6 0/0 .text __dt__8J2DPrintFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm J2DPrint::~J2DPrint() {
- nofralloc
-#include "asm/JSystem/J2DGraph/J2DPrint/__dt__8J2DPrintFv.s"
-}
-#pragma pop
+J2DPrint::~J2DPrint() {}
/* ############################################################################################## */
/* 804561CC-804561D0 0047CC 0004+00 1/1 0/0 0/0 .sdata2 @644 */
@@ -206,6 +153,45 @@ SECTION_SDATA2 static f64 lit_650 = 4503601774854144.0 /* cast s32 to float */;
/* 802F4468-802F4658 2EEDA8 01F0+00 1/1 0/0 0/0 .text
* private_initiate__8J2DPrintFP7JUTFontffQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorb
*/
+// close
+#ifdef NONMATCHING
+void J2DPrint::private_initiate(JUTFont* pFont, f32 param_1, f32 param_2, JUtility::TColor param_3,
+ JUtility::TColor param_4, JUtility::TColor param_5,
+ JUtility::TColor param_6, bool param_7) {
+ if (mStrBuff == NULL) {
+ setBuffer(0x400); // r4
+ }
+ mFont = pFont;
+ field_0x48 = param_1;
+ field_0x4c = 32.0f;
+
+ if (mFont != NULL) {
+ if (!param_7) {
+ param_2 = mFont->getLeading();
+ }
+ field_0x4c = param_2;
+ }
+
+ field_0x5a = 1;
+ locate(0.0f, 0.0f);
+ mCharColor = param_3;
+ mGradColor = param_4;
+ field_0x38 = param_5;
+ field_0x3c = param_6;
+
+ if (mFont == NULL) {
+ field_0x58 = 80;
+ } else {
+ field_0x58 = mFont->getWidth() << 2;
+ }
+
+ if (mFont != NULL) {
+ setFontSize();
+ mFont->setGX(field_0x38, field_0x3c);
+ }
+ initchar();
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -217,18 +203,31 @@ asm void J2DPrint::private_initiate(JUTFont* param_0, f32 param_1, f32 param_2,
#include "asm/JSystem/J2DGraph/J2DPrint/func_802F4468.s"
}
#pragma pop
+#endif
/* 802F4658-802F46C4 2EEF98 006C+00 1/1 1/1 0/0 .text setBuffer__8J2DPrintFUl */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void J2DPrint::setBuffer(u32 param_0) {
- nofralloc
-#include "asm/JSystem/J2DGraph/J2DPrint/setBuffer__8J2DPrintFUl.s"
+u8* J2DPrint::setBuffer(size_t size) {
+ u8* tmp = (u8*)mStrBuff;
+ if (sStrBufInitialized) {
+ delete mStrBuff;
+ }
+
+ mStrBuff = new (JKRHeap::sSystemHeap, 0) u8[size];
+ mStrBuffSize = size;
+ sStrBufInitialized = true;
+ return tmp;
}
-#pragma pop
/* 802F46C4-802F475C 2EF004 0098+00 1/1 0/0 0/0 .text setFontSize__8J2DPrintFv */
+// matches with auto generated literal
+#ifdef NONMATCHING
+void J2DPrint::setFontSize() {
+ if (mFont) {
+ mFontSizeX = mFont->getCellWidth();
+ mFontSizeY = mFont->getCellHeight();
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -237,26 +236,26 @@ asm void J2DPrint::setFontSize() {
#include "asm/JSystem/J2DGraph/J2DPrint/setFontSize__8J2DPrintFv.s"
}
#pragma pop
+#endif
/* 802F475C-802F4778 2EF09C 001C+00 2/2 2/2 0/0 .text locate__8J2DPrintFff */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void J2DPrint::locate(f32 param_0, f32 param_1) {
- nofralloc
-#include "asm/JSystem/J2DGraph/J2DPrint/locate__8J2DPrintFff.s"
+void J2DPrint::locate(f32 param_0, f32 param_1) {
+ field_0x24 = param_0;
+ field_0x28 = param_1;
+ field_0x2c = param_0;
+ mCursorV = param_1;
+ field_0x34 = FLOAT_LABEL(lit_418);
}
-#pragma pop
/* 802F4778-802F4828 2EF0B8 00B0+00 0/0 2/2 0/0 .text print__8J2DPrintFffUcPCce */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void J2DPrint::print(f32 param_0, f32 param_1, u8 param_2, char const* param_3, ...) {
- nofralloc
-#include "asm/JSystem/J2DGraph/J2DPrint/print__8J2DPrintFffUcPCce.s"
+void J2DPrint::print(f32 param_0, f32 param_1, u8 param_2, char const* fmt, ...) {
+ locate(param_0, param_1);
+
+ va_list args;
+ va_start(args, fmt);
+ J2DPrint_print_alpha_va(this, param_2, fmt, args);
+ va_end(args);
}
-#pragma pop
/* ############################################################################################## */
/* 804561D8-804561E0 0047D8 0004+04 2/2 0/0 0/0 .sdata2 @786 */
@@ -323,14 +322,16 @@ asm void J2DPrint::doEscapeCode(u8 const** param_0, u8 param_1) {
#pragma pop
/* 802F594C-802F59C0 2F028C 0074+00 3/3 0/0 0/0 .text initchar__8J2DPrintFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void J2DPrint::initchar() {
- nofralloc
-#include "asm/JSystem/J2DGraph/J2DPrint/initchar__8J2DPrintFv.s"
+void J2DPrint::initchar() {
+ field_0x8 = mCharColor;
+ field_0xc = mGradColor;
+ field_0x10 = field_0x48;
+ field_0x14 = field_0x4c;
+ field_0x22 = field_0x5a;
+ field_0x20 = field_0x58;
+ field_0x18 = mFontSizeX;
+ field_0x1c = mFontSizeY;
}
-#pragma pop
/* 802F59C0-802F5AC4 2F0300 0104+00 1/1 0/0 0/0 .text getNumberS32__8J2DPrintFPPCUclli */
#pragma push
diff --git a/libs/JSystem/J2DGraph/J2DScreen.cpp b/libs/JSystem/J2DGraph/J2DScreen.cpp
index d88ece2595..11c5d58bf4 100644
--- a/libs/JSystem/J2DGraph/J2DScreen.cpp
+++ b/libs/JSystem/J2DGraph/J2DScreen.cpp
@@ -160,11 +160,6 @@ extern "C" void __ct__11J2DWindowExFP7J2DPaneP20JSURandomInputStreamUlP11J2DMate
extern "C" void __ct__12J2DPictureExFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial();
extern "C" void __ct__12J2DTextBoxExFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial();
extern "C" void get__13J2DDataManageFPCc();
-extern "C" void GXSetNumIndStages();
-extern "C" void GXSetTevDirect();
-extern "C" void GXSetTevSwapModeTable();
-extern "C" void GXSetScissor();
-extern "C" void GXGetScissor();
extern "C" void __destroy_new_array();
extern "C" void __construct_new_array();
extern "C" void _savegpr_25();
diff --git a/libs/JSystem/J2DGraph/J2DTevs.cpp b/libs/JSystem/J2DGraph/J2DTevs.cpp
index a2a3f82011..9a37e2d8d4 100644
--- a/libs/JSystem/J2DGraph/J2DTevs.cpp
+++ b/libs/JSystem/J2DGraph/J2DTevs.cpp
@@ -11,17 +11,6 @@
// Types:
//
-struct Vec {};
-
-struct J2DTextureSRTInfo {};
-
-struct J2DTexMtx {
- /* 802E9C90 */ void load(u32);
- /* 802E9CC4 */ void calc();
- /* 802E9D2C */ void getTextureMtx(J2DTextureSRTInfo const&, Vec, f32 (*)[4]);
- /* 802E9EBC */ void getTextureMtxMaya(J2DTextureSRTInfo const&, f32 (*)[4]);
-};
-
struct J2DTevBlock {
/* 802EA12C */ bool getTevSwapModeTable(u32);
/* 802EA134 */ bool getTevStage(u32);
@@ -36,22 +25,6 @@ struct J2DTevBlock {
/* 802EA184 */ bool getIndTevStage(u32);
};
-struct J2DIndTexOrder {
- /* 802EA0FC */ void load(u8);
-};
-
-struct J2DIndTexMtx {
- /* 802EA098 */ void load(u8);
-};
-
-struct J2DIndTexCoordScale {
- /* 802EA0CC */ void load(u8);
-};
-
-struct J2DIndTevStage {
- /* 802EA044 */ void load(u8);
-};
-
struct J2DIndBlock {
/* 802EA18C */ bool getIndTexCoordScale(u32);
/* 802EA194 */ bool getIndTexMtx(u32);
@@ -86,10 +59,10 @@ extern "C" bool getIndTexCoordScale__11J2DIndBlockFUl();
extern "C" bool getIndTexMtx__11J2DIndBlockFUl();
extern "C" bool getIndTexOrder__11J2DIndBlockFUl();
extern "C" bool getIndTexStageNum__11J2DIndBlockCFv();
-extern "C" extern u8 const j2dDefaultTexCoordInfo[32];
-extern "C" extern u8 const j2dDefaultTexMtxInfo[36];
-extern "C" extern u8 const j2dDefaultIndTexMtxInfo[28];
-extern "C" extern u8 const j2dDefaultTevStageInfo[20];
+extern "C" extern J2DTexCoordInfo const j2dDefaultTexCoordInfo[8];
+extern "C" extern J2DTexMtxInfo const j2dDefaultTexMtxInfo;
+extern "C" extern J2DIndTexMtxInfo const j2dDefaultIndTexMtxInfo;
+extern "C" extern J2DTevStageInfo const j2dDefaultTevStageInfo;
extern "C" extern u8 const j2dDefaultIndTevStageInfo[12];
extern "C" extern u32 j2dDefaultColInfo;
extern "C" extern u32 j2dDefaultTevOrderInfoNull;
@@ -318,33 +291,21 @@ bool J2DIndBlock::getIndTexStageNum() const {
/* ############################################################################################## */
/* 803A1B80-803A1BA0 02E1E0 0020+00 0/0 3/3 0/0 .rodata j2dDefaultTexCoordInfo */
-SECTION_RODATA extern u8 const j2dDefaultTexCoordInfo[32] = {
- 0x01, 0x04, 0x3C, 0x00, 0x01, 0x05, 0x3C, 0x00, 0x01, 0x06, 0x3C, 0x00, 0x01, 0x07, 0x3C, 0x00,
- 0x01, 0x08, 0x3C, 0x00, 0x01, 0x09, 0x3C, 0x00, 0x01, 0x0A, 0x3C, 0x00, 0x01, 0x0B, 0x3C, 0x00,
+extern J2DTexCoordInfo const j2dDefaultTexCoordInfo[8] = {
+ {1, 4, 60, 0}, {1, 5, 60, 0}, {1, 6, 60, 0}, {1, 7, 60, 0},
+ {1, 8, 60, 0}, {1, 9, 60, 0}, {1, 10, 60, 0}, {1, 11, 60, 0},
};
-COMPILER_STRIP_GATE(0x803A1B80, &j2dDefaultTexCoordInfo);
/* 803A1BA0-803A1BC4 02E200 0024+00 0/0 3/3 0/0 .rodata j2dDefaultTexMtxInfo */
-SECTION_RODATA extern u8 const j2dDefaultTexMtxInfo[36] = {
- 0x01, 0x01, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x803A1BA0, &j2dDefaultTexMtxInfo);
+extern J2DTexMtxInfo const j2dDefaultTexMtxInfo = {1, 1, 255, 255, 0.5f, 0.5f,
+ 0.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f};
/* 803A1BC4-803A1BE0 02E224 001C+00 0/0 3/3 0/0 .rodata j2dDefaultIndTexMtxInfo */
-SECTION_RODATA extern u8 const j2dDefaultIndTexMtxInfo[28] = {
- 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x803A1BC4, &j2dDefaultIndTexMtxInfo);
+extern J2DIndTexMtxInfo const j2dDefaultIndTexMtxInfo = {{0.5f, 0.0f, 0.0f, 0.0f, 0.5f, 0.0f}, 1};
/* 803A1BE0-803A1BF4 02E240 0014+00 0/0 1/1 0/0 .rodata j2dDefaultTevStageInfo */
-SECTION_RODATA extern u8 const j2dDefaultTevStageInfo[20] = {
- 0x04, 0x0A, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
- 0x05, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x803A1BE0, &j2dDefaultTevStageInfo);
+extern J2DTevStageInfo const j2dDefaultTevStageInfo = {4, 10, 15, 15, 0, 0, 0, 0, 1,
+ 0, 5, 7, 7, 0, 0, 0, 0, 1};
/* 803A1BF4-803A1C00 02E254 000C+00 0/0 7/7 0/0 .rodata j2dDefaultIndTevStageInfo */
SECTION_RODATA extern u8 const j2dDefaultIndTevStageInfo[12] = {
diff --git a/libs/JSystem/J2DGraph/J2DTextBox.cpp b/libs/JSystem/J2DGraph/J2DTextBox.cpp
index bd7e7dfe77..1ae9a76625 100644
--- a/libs/JSystem/J2DGraph/J2DTextBox.cpp
+++ b/libs/JSystem/J2DGraph/J2DTextBox.cpp
@@ -4,23 +4,10 @@
//
#include "JSystem/J2DGraph/J2DTextBox.h"
+#include "JSystem/J2DGraph/J2DPrint.h"
+#include "MSL_C.PPCEABI.bare.H/MSL_Common/src/string.h"
#include "dol2asm.h"
#include "dolphin/types.h"
-#include "msl_c/string.h"
-
-//
-// Types:
-//
-
-struct J2DPrint {
- /* 802F4394 */ J2DPrint(JUTFont*, f32, f32, JUtility::TColor, JUtility::TColor,
- JUtility::TColor, JUtility::TColor);
- /* 802F4420 */ ~J2DPrint();
- /* 802F475C */ void locate(f32, f32);
- /* 802F4778 */ void print(f32, f32, u8, char const*, ...);
- /* 802F4828 */ void printReturn(char const*, f32, f32, J2DTextBoxHBinding, J2DTextBoxVBinding,
- f32, f32, u8);
-};
//
// Forward References:
@@ -109,11 +96,6 @@ extern "C" void setAnimationVF__7J2DPaneFP20J2DAnmVisibilityFull();
extern "C" void setAnimationVC__7J2DPaneFP14J2DAnmVtxColor();
extern "C" void setCullBack__7J2DPaneFb();
extern "C" void update__7J2DPaneFv();
-extern "C" void GXSetTexCoordGen2();
-extern "C" void GXSetNumIndStages();
-extern "C" void GXSetTevDirect();
-extern "C" void GXLoadPosMtxImm();
-extern "C" void GXSetCurrentMtx();
extern "C" void _savegpr_25();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
diff --git a/libs/JSystem/J2DGraph/J2DTextBoxEx.cpp b/libs/JSystem/J2DGraph/J2DTextBoxEx.cpp
index 71c721fc2a..9e0ed40e50 100644
--- a/libs/JSystem/J2DGraph/J2DTextBoxEx.cpp
+++ b/libs/JSystem/J2DGraph/J2DTextBoxEx.cpp
@@ -8,145 +8,6 @@
#include "dolphin/types.h"
//
-// Types:
-//
-
-struct _GXCullMode {};
-
-struct ResTIMG {};
-
-struct ResFONT {};
-
-struct JUtility {
- struct TColor {};
-};
-
-struct JUTFont {};
-
-struct JSUStreamSeekFrom {};
-
-struct JSURandomInputStream {
- /* 802DC458 */ void peek(void*, s32);
- /* 802DC4DC */ void seek(s32, JSUStreamSeekFrom);
-};
-
-struct JSUInputStream {
- /* 802DC298 */ void read(void*, s32);
-};
-
-struct J2DTextBoxVBinding {};
-
-struct J2DTextBoxHBinding {};
-
-struct J2DAnmTexPattern {};
-
-struct J2DAnmVisibilityFull {
- /* 8030C048 */ void getVisibility(u16, u8*) const;
-};
-
-struct J2DAnmBase {};
-
-struct J2DAnmTevRegKey {};
-
-struct J2DAnmTextureSRTKey {};
-
-struct J2DAnmVtxColor {};
-
-struct J2DAnmTransform {};
-
-struct J2DPane {
- /* 80053BC0 */ void calcMtx();
- /* 80053C00 */ void makeMatrix(f32, f32);
- /* 802F7540 */ void makeMatrix(f32, f32, f32, f32);
- /* 802F6F60 */ void move(f32, f32);
- /* 802F6FB4 */ void add(f32, f32);
- /* 802F72E0 */ void search(u64);
- /* 802F7388 */ void searchUserInfo(u64);
- /* 802F7430 */ void isUsed(ResTIMG const*);
- /* 802F74B8 */ void isUsed(ResFONT const*);
- /* 802F7680 */ void setCullBack(_GXCullMode);
- /* 802F7B18 */ void makePaneExStream(J2DPane*, JSURandomInputStream*);
- /* 802F7EF4 */ void setAnimation(J2DAnmBase*);
- /* 802F8004 */ void clearAnmTransform();
- /* 802F8080 */ void animationTransform(J2DAnmTransform const*);
- /* 802F8118 */ void setVisibileAnimation(J2DAnmVisibilityFull*);
- /* 802F81A0 */ void setVtxColorAnimation(J2DAnmVtxColor*);
- /* 802F8228 */ void animationPane(J2DAnmTransform const*);
- /* 802F83D0 */ void setAnimationVF(J2DAnmVisibilityFull*);
- /* 802F83FC */ void setAnimationVC(J2DAnmVtxColor*);
- /* 802F8474 */ void update();
-};
-
-struct J2DTevStage {};
-
-struct J2DAnmColor {};
-
-struct J2DMaterial {
- /* 802EA38C */ void setGX();
- /* 802EAB0C */ void setAnimation(J2DAnmTevRegKey*);
- /* 802EAA2C */ void setAnimation(J2DAnmTexPattern*);
- /* 802EA94C */ void setAnimation(J2DAnmTextureSRTKey*);
- /* 802EA89C */ void setAnimation(J2DAnmColor*);
-};
-
-struct J2DTextBoxEx {
- struct stage_enum {};
-
- /* 80256024 */ void getMaterial() const;
- /* 8030890C */ void setAnimation(J2DAnmTexPattern*);
- /* 803088B4 */ void setAnimation(J2DAnmColor*);
- /* 80308938 */ void setAnimation(J2DAnmTevRegKey*);
- /* 80256044 */ void setAnimation(J2DAnmTransform*);
- /* 80308A48 */ void setAnimation(J2DAnmVtxColor*);
- /* 80308A4C */ void setAnimation(J2DAnmBase*);
- /* 803088E0 */ void setAnimation(J2DAnmTextureSRTKey*);
- /* 80308964 */ void setAnimation(J2DAnmVisibilityFull*);
- /* 803071E4 */ J2DTextBoxEx(J2DPane*, JSURandomInputStream*, u32, J2DMaterial*);
- /* 8030751C */ ~J2DTextBoxEx();
- /* 803075AC */ void drawSelf(f32, f32, f32 (*)[3][4]);
- /* 803078AC */ void draw(f32, f32);
- /* 80307AF0 */ void draw(f32, f32, f32, J2DTextBoxHBinding);
- /* 80307D5C */ void setFont(JUTFont*);
- /* 80307DC0 */ void getFont() const;
- /* 80307E0C */ void setTevOrder(bool);
- /* 80307EF0 */ void setTevStage(bool);
- /* 80307F94 */ void setStage(J2DTevStage*, J2DTextBoxEx::stage_enum);
- /* 8030823C */ void setBlack(JUtility::TColor);
- /* 803082C4 */ void setWhite(JUtility::TColor);
- /* 8030834C */ void setBlackWhite(JUtility::TColor, JUtility::TColor);
- /* 803084CC */ void getBlackWhite(JUtility::TColor*, JUtility::TColor*) const;
- /* 80308668 */ void isSetBlackWhite(JUtility::TColor, JUtility::TColor) const;
- /* 803086FC */ void getBlack() const;
- /* 8030875C */ void getWhite() const;
- /* 803087BC */ void setAlpha(u8);
- /* 803087DC */ void setCullBack(_GXCullMode);
- /* 803089EC */ void setCullBack(bool);
- /* 80308810 */ void rewriteAlpha();
- /* 80308828 */ void isUsed(ResFONT const*);
- /* 80308A28 */ void isUsed(ResTIMG const*);
- /* 8030896C */ void animationPane(J2DAnmTransform const*);
-};
-
-struct J2DTextBox {
- /* 802FF660 */ J2DTextBox();
- /* 803001E0 */ ~J2DTextBox();
- /* 80300870 */ void setConnectParent(bool);
- /* 803008E8 */ void drawSelf(f32, f32);
- /* 80300AF8 */ void resize(f32, f32);
- /* 80300C68 */ s32 getTypeID() const;
-};
-
-struct J2DPrint {
- /* 802F4394 */ J2DPrint(JUTFont*, f32, f32, JUtility::TColor, JUtility::TColor,
- JUtility::TColor, JUtility::TColor);
- /* 802F4420 */ ~J2DPrint();
- /* 802F475C */ void locate(f32, f32);
- /* 802F4778 */ void print(f32, f32, u8, char const*, ...);
- /* 802F4828 */ void printReturn(char const*, f32, f32, J2DTextBoxHBinding, J2DTextBoxVBinding,
- f32, f32, u8);
-};
-
-//
// Forward References:
//
@@ -232,16 +93,6 @@ extern "C" void drawSelf__10J2DTextBoxFff();
extern "C" void resize__10J2DTextBoxFff();
extern "C" s32 getTypeID__10J2DTextBoxCFv();
extern "C" void getVisibility__20J2DAnmVisibilityFullCFUsPUc();
-extern "C" void PSMTXIdentity();
-extern "C" void PSMTXConcat();
-extern "C" void GXSetVtxDesc();
-extern "C" void GXClearVtxDesc();
-extern "C" void GXSetChanMatColor();
-extern "C" void GXSetNumIndStages();
-extern "C" void GXSetTevDirect();
-extern "C" void GXSetTevSwapModeTable();
-extern "C" void GXLoadPosMtxImm();
-extern "C" void GXSetCurrentMtx();
extern "C" void _savegpr_25();
extern "C" void _savegpr_28();
extern "C" void _restgpr_25();
@@ -334,7 +185,8 @@ asm J2DTextBoxEx::J2DTextBoxEx(J2DPane* param_0, JSURandomInputStream* param_1,
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm J2DTextBoxEx::~J2DTextBoxEx() {
+extern "C" asm void __dt__12J2DTextBoxExFv() {
+ // asm J2DTextBoxEx::~J2DTextBoxEx() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DTextBoxEx/__dt__12J2DTextBoxExFv.s"
}
diff --git a/libs/JSystem/J2DGraph/J2DWindow.cpp b/libs/JSystem/J2DGraph/J2DWindow.cpp
index 338979dd47..b7b1bdefa8 100644
--- a/libs/JSystem/J2DGraph/J2DWindow.cpp
+++ b/libs/JSystem/J2DGraph/J2DWindow.cpp
@@ -95,12 +95,6 @@ extern "C" void setAnimationVC__7J2DPaneFP14J2DAnmVtxColor();
extern "C" void setCullBack__7J2DPaneFb();
extern "C" void setConnectParent__7J2DPaneFb();
extern "C" void update__7J2DPaneFv();
-extern "C" void GXClearVtxDesc();
-extern "C" void GXSetTexCoordGen2();
-extern "C" void GXSetNumIndStages();
-extern "C" void GXSetTevDirect();
-extern "C" void GXLoadPosMtxImm();
-extern "C" void GXSetCurrentMtx();
extern "C" void _savegpr_25();
extern "C" void _savegpr_26();
extern "C" void _savegpr_28();
diff --git a/libs/JSystem/J2DGraph/J2DWindowEx.cpp b/libs/JSystem/J2DGraph/J2DWindowEx.cpp
index 7439f7eb7d..48a58da648 100644
--- a/libs/JSystem/J2DGraph/J2DWindowEx.cpp
+++ b/libs/JSystem/J2DGraph/J2DWindowEx.cpp
@@ -8,153 +8,6 @@
#include "dolphin/types.h"
//
-// Types:
-//
-
-struct _GXCullMode {};
-
-struct _GXColor {};
-
-struct ResTIMG {};
-
-struct ResFONT {};
-
-struct JUtility {
- struct TColor {};
-};
-
-struct JSUStreamSeekFrom {};
-
-struct JSURandomInputStream {
- /* 802DC458 */ void peek(void*, s32);
- /* 802DC4DC */ void seek(s32, JSUStreamSeekFrom);
-};
-
-struct JSUInputStream {
- /* 802DC298 */ void read(void*, s32);
-};
-
-struct JGeometry {
- template <typename A1>
- struct TBox2 {};
- /* TBox2<f32> */
- struct TBox2__template0 {};
-};
-
-struct J2DAnmTexPattern {};
-
-struct J2DAnmVisibilityFull {
- /* 8030C048 */ void getVisibility(u16, u8*) const;
-};
-
-struct J2DAnmColor {};
-
-struct J2DAnmBase {};
-
-struct J2DAnmTevRegKey {};
-
-struct J2DAnmTextureSRTKey {};
-
-struct J2DAnmVtxColor {
- /* 8030363C */ void getColor(u8, u16, _GXColor*) const;
-};
-
-struct J2DAnmTransform {};
-
-struct J2DPane {
- /* 80053BC0 */ void calcMtx();
- /* 80053C00 */ void makeMatrix(f32, f32);
- /* 802F7540 */ void makeMatrix(f32, f32, f32, f32);
- /* 802F6F60 */ void move(f32, f32);
- /* 802F6FB4 */ void add(f32, f32);
- /* 802F7264 */ void clip(JGeometry::TBox2<f32> const&);
- /* 802F72E0 */ void search(u64);
- /* 802F7388 */ void searchUserInfo(u64);
- /* 802F7430 */ void isUsed(ResTIMG const*);
- /* 802F74B8 */ void isUsed(ResFONT const*);
- /* 802F7680 */ void setCullBack(_GXCullMode);
- /* 802F7AFC */ void getParentPane();
- /* 802F7B18 */ void makePaneExStream(J2DPane*, JSURandomInputStream*);
- /* 802F7EF4 */ void setAnimation(J2DAnmBase*);
- /* 802F8004 */ void clearAnmTransform();
- /* 802F8080 */ void animationTransform(J2DAnmTransform const*);
- /* 802F8118 */ void setVisibileAnimation(J2DAnmVisibilityFull*);
- /* 802F81A0 */ void setVtxColorAnimation(J2DAnmVtxColor*);
- /* 802F8228 */ void animationPane(J2DAnmTransform const*);
- /* 802F83D0 */ void setAnimationVF(J2DAnmVisibilityFull*);
- /* 802F83FC */ void setAnimationVC(J2DAnmVtxColor*);
- /* 802F8464 */ void setConnectParent(bool);
- /* 802F8474 */ void update();
-};
-
-struct J2DTevStage {};
-
-struct J2DMaterial {
- /* 802EA38C */ void setGX();
- /* 802EAB0C */ void setAnimation(J2DAnmTevRegKey*);
- /* 802EAA2C */ void setAnimation(J2DAnmTexPattern*);
- /* 802EA94C */ void setAnimation(J2DAnmTextureSRTKey*);
- /* 802EA89C */ void setAnimation(J2DAnmColor*);
-};
-
-struct J2DWindow {
- struct TMaterial {};
-
- /* 802F9A7C */ J2DWindow();
- /* 802FA880 */ ~J2DWindow();
- /* 802FB000 */ void resize(f32, f32);
- /* 802FB1D8 */ void drawSelf(f32, f32);
- /* 802FBF98 */ s32 getTypeID() const;
-};
-
-struct J2DWindowEx {
- struct stage_enum {};
-
- /* 8030327C */ void setAnimation(J2DAnmVtxColor*);
- /* 80303084 */ void setAnimation(J2DAnmTextureSRTKey*);
- /* 80256084 */ void setAnimation(J2DAnmTransform*);
- /* 8030310C */ void setAnimation(J2DAnmTexPattern*);
- /* 80303194 */ void setAnimation(J2DAnmTevRegKey*);
- /* 8030361C */ void setAnimation(J2DAnmBase*);
- /* 80303274 */ void setAnimation(J2DAnmVisibilityFull*);
- /* 80302FFC */ void setAnimation(J2DAnmColor*);
- /* 80300C94 */ J2DWindowEx(J2DPane*, JSURandomInputStream*, u32, J2DMaterial*);
- /* 80300F80 */ void setMinSize();
- /* 80301144 */ ~J2DWindowEx();
- /* 8030122C */ void drawSelf(f32, f32, f32 (*)[3][4]);
- /* 803012CC */ void draw_private(JGeometry::TBox2<f32> const&, JGeometry::TBox2<f32> const&);
- /* 80301994 */ void drawContents(JGeometry::TBox2<f32> const&);
- /* 80301D74 */ void drawFrameTexture(f32, f32, f32, f32, u16, u16, u16, u16, J2DMaterial*,
- bool);
- /* 80301FC8 */ void draw(JGeometry::TBox2<f32> const&);
- /* 80302164 */ void draw(JGeometry::TBox2<f32> const&, JGeometry::TBox2<f32> const&);
- /* 80303568 */ void draw(f32, f32, f32, f32);
- /* 80302284 */ void setTevOrder(bool);
- /* 80302388 */ void setTevStage(bool);
- /* 803024B4 */ void setStage(J2DTevStage*, J2DWindowEx::stage_enum);
- /* 80302764 */ void setBlack(JUtility::TColor);
- /* 803027EC */ void setWhite(JUtility::TColor);
- /* 80302874 */ void setBlackWhite(JUtility::TColor, JUtility::TColor);
- /* 80302A4C */ void getBlackWhite(JUtility::TColor*, JUtility::TColor*) const;
- /* 80302BE8 */ void isSetBlackWhite(JUtility::TColor, JUtility::TColor) const;
- /* 80302C88 */ void getBlack() const;
- /* 80302CE8 */ void getWhite() const;
- /* 80302D48 */ void setAlpha(u8);
- /* 80302D98 */ void setCullBack(_GXCullMode);
- /* 803035C0 */ void setCullBack(bool);
- /* 80302DF4 */ void rewriteAlpha();
- /* 80302E0C */ void getFrameTexture(u8, u8) const;
- /* 80302E74 */ void getContentsTexture(u8) const;
- /* 803035FC */ void isUsed(ResFONT const*);
- /* 80302EDC */ void isUsed(ResTIMG const*);
- /* 8030321C */ void isNeedSetAnm(u8);
- /* 80303370 */ void animationPane(J2DAnmTransform const*);
- /* 80303510 */ void getFrameMaterial(u8) const;
- /* 80303534 */ void getContentsMaterial() const;
- /* 8030353C */ void getMaterial(J2DWindow::TMaterial&) const;
-};
-
-//
// Forward References:
//
@@ -243,21 +96,6 @@ extern "C" void resize__9J2DWindowFff();
extern "C" void drawSelf__9J2DWindowFff();
extern "C" s32 getTypeID__9J2DWindowCFv();
extern "C" void getVisibility__20J2DAnmVisibilityFullCFUsPUc();
-extern "C" void PSMTXIdentity();
-extern "C" void PSMTXConcat();
-extern "C" void GXSetVtxDesc();
-extern "C" void GXClearVtxDesc();
-extern "C" void GXSetVtxAttrFmt();
-extern "C" void GXSetNumTexGens();
-extern "C" void GXBegin();
-extern "C" void GXSetChanMatColor();
-extern "C" void GXSetNumIndStages();
-extern "C" void GXSetTevDirect();
-extern "C" void GXSetTevOp();
-extern "C" void GXSetTevSwapModeTable();
-extern "C" void GXSetTevOrder();
-extern "C" void GXLoadPosMtxImm();
-extern "C" void GXSetCurrentMtx();
extern "C" void _savegpr_20();
extern "C" void _savegpr_25();
extern "C" void _savegpr_26();
@@ -371,7 +209,8 @@ asm void J2DWindowEx::setMinSize() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm J2DWindowEx::~J2DWindowEx() {
+extern "C" asm void __dt__11J2DWindowExFv() {
+ // asm J2DWindowEx::~J2DWindowEx() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DWindowEx/__dt__11J2DWindowExFv.s"
}
diff --git a/libs/JSystem/J3DGraphBase/J3DMatBlock.cpp b/libs/JSystem/J3DGraphBase/J3DMatBlock.cpp
index d270cf02f3..9d223cacf6 100644
--- a/libs/JSystem/J3DGraphBase/J3DMatBlock.cpp
+++ b/libs/JSystem/J3DGraphBase/J3DMatBlock.cpp
@@ -11,18 +11,6 @@
// Types:
//
-struct _GXTevKColorID {};
-
-struct _GXIndTexStageID {};
-
-struct _GXIndTexScale {};
-
-struct _GXIndTexMtxID {};
-
-struct _GXFogType {};
-
-struct _GXFogAdjTable {};
-
struct J3DSys {
static u8 sTexCoordScaleTable[64 + 4 /* padding */];
};
diff --git a/libs/JSystem/J3DGraphBase/J3DPacket.cpp b/libs/JSystem/J3DGraphBase/J3DPacket.cpp
index eff23be8c1..3f1d6b2803 100644
--- a/libs/JSystem/J3DGraphBase/J3DPacket.cpp
+++ b/libs/JSystem/J3DGraphBase/J3DPacket.cpp
@@ -5,12 +5,12 @@
#include "JSystem/J3DGraphBase/J3DPacket.h"
#include "JSystem/JKernel/JKRHeap.h"
+#include "MSL_C.PPCEABI.bare.H/MSL_Common/src/string.h"
#include "dol2asm.h"
#include "dolphin/gx/GX.h"
#include "dolphin/os/OSCache.h"
#include "dolphin/types.h"
#include "global.h"
-#include "msl_c/string.h"
//
// Types:
diff --git a/libs/JSystem/J3DGraphBase/J3DSys.cpp b/libs/JSystem/J3DGraphBase/J3DSys.cpp
index 44ae39148a..f1abde4b11 100644
--- a/libs/JSystem/J3DGraphBase/J3DSys.cpp
+++ b/libs/JSystem/J3DGraphBase/J3DSys.cpp
@@ -8,12 +8,6 @@
#include "dolphin/types.h"
//
-// Types:
-//
-
-struct _GXTexMapID {};
-
-//
// Forward References:
//
@@ -46,51 +40,12 @@ extern "C" void makeTexCoordTable__Fv();
extern "C" void makeAlphaCmpTable__Fv();
extern "C" void makeZModeTable__Fv();
extern "C" void makeTevSwapTable__Fv();
-extern "C" void GXSetVtxAttrFmt();
extern "C" void GXInvalidateVtxCache();
-extern "C" void GXSetTexCoordGen2();
-extern "C" void GXSetNumTexGens();
extern "C" void GXFlush();
-extern "C" void GXSetCullMode();
-extern "C" void GXSetCoPlanar();
extern "C" void GXSetChanAmbColor();
-extern "C" void GXSetChanMatColor();
-extern "C" void GXSetNumChans();
-extern "C" void GXSetChanCtrl();
-extern "C" void GXInitTexObj();
-extern "C" void GXLoadTexObj();
extern "C" void GXInitTexCacheRegion();
extern "C" void GXSetTevIndirect();
-extern "C" void GXSetIndTexMtx();
-extern "C" void GXSetIndTexCoordScale();
-extern "C" void GXSetIndTexOrder();
-extern "C" void GXSetNumIndStages();
-extern "C" void GXSetTevDirect();
-extern "C" void GXSetTevColorIn();
-extern "C" void GXSetTevAlphaIn();
-extern "C" void GXSetTevColorOp();
-extern "C" void GXSetTevAlphaOp();
-extern "C" void GXSetTevColor();
-extern "C" void GXSetTevColorS10();
-extern "C" void GXSetTevKColor();
-extern "C" void GXSetTevKColorSel();
-extern "C" void GXSetTevKAlphaSel();
-extern "C" void GXSetTevSwapMode();
-extern "C" void GXSetTevSwapModeTable();
-extern "C" void GXSetAlphaCompare();
-extern "C" void GXSetTevOrder();
-extern "C" void GXSetNumTevStages();
-extern "C" void GXSetFog();
-extern "C" void GXSetFogRangeAdj();
-extern "C" void GXSetBlendMode();
extern "C" void GXSetColorUpdate();
-extern "C" void GXSetAlphaUpdate();
-extern "C" void GXSetZMode();
-extern "C" void GXSetZCompLoc();
-extern "C" void GXSetDither();
-extern "C" void GXSetCurrentMtx();
-extern "C" void GXLoadTexMtxImm();
-extern "C" void GXSetClipMode();
extern "C" void _savegpr_25();
extern "C" void _savegpr_28();
extern "C" void _restgpr_25();
diff --git a/libs/JSystem/JKernel/JKRAramArchive.cpp b/libs/JSystem/JKernel/JKRAramArchive.cpp
index 743bd4086c..a6310e69a1 100644
--- a/libs/JSystem/JKernel/JKRAramArchive.cpp
+++ b/libs/JSystem/JKernel/JKRAramArchive.cpp
@@ -8,11 +8,11 @@
#include "JSystem/JKernel/JKRDvdAramRipper.h"
#include "JSystem/JKernel/JKRDvdRipper.h"
#include "JSystem/JKernel/JKRFile.h"
+#include "MSL_C.PPCEABI.bare.H/MSL_Common/src/string.h"
#include "dol2asm.h"
#include "dolphin/os/OSCache.h"
#include "dolphin/types.h"
#include "msl_c/math.h"
-#include "msl_c/string.h"
//
// Types:
diff --git a/libs/JSystem/JKernel/JKRArchivePri.cpp b/libs/JSystem/JKernel/JKRArchivePri.cpp
index 404d7b1440..d213d3b3fe 100644
--- a/libs/JSystem/JKernel/JKRArchivePri.cpp
+++ b/libs/JSystem/JKernel/JKRArchivePri.cpp
@@ -5,9 +5,10 @@
#include "JSystem/JKernel/JKRArchive.h"
#include "JSystem/JKernel/JKRHeap.h"
+#include "MSL_C.PPCEABI.bare.H/MSL_Common/src/ctype.h"
+#include "MSL_C.PPCEABI.bare.H/MSL_Common/src/string.h"
#include "dol2asm.h"
#include "dolphin/types.h"
-#include "msl_c/string.h"
//
// Declarations:
diff --git a/libs/JSystem/JKernel/JKRFileCache.cpp b/libs/JSystem/JKernel/JKRFileCache.cpp
index fcb49138f4..c854992978 100644
--- a/libs/JSystem/JKernel/JKRFileCache.cpp
+++ b/libs/JSystem/JKernel/JKRFileCache.cpp
@@ -7,9 +7,10 @@
#include "JSystem/JKernel/JKRDvdFile.h"
#include "JSystem/JKernel/JKRFileFinder.h"
#include "JSystem/JKernel/JKRHeap.h"
+#include "MSL_C.PPCEABI.bare.H/MSL_Common/src/ctype.h"
+#include "MSL_C.PPCEABI.bare.H/MSL_Common/src/string.h"
#include "dol2asm.h"
#include "global.h"
-#include "msl_c/string.h"
//
// Forward References:
diff --git a/libs/JSystem/JKernel/JKRFileLoader.cpp b/libs/JSystem/JKernel/JKRFileLoader.cpp
index 27c3b901c0..db9e0b531a 100644
--- a/libs/JSystem/JKernel/JKRFileLoader.cpp
+++ b/libs/JSystem/JKernel/JKRFileLoader.cpp
@@ -4,9 +4,9 @@
//
#include "JSystem/JKernel/JKRFileLoader.h"
+#include "MSL_C.PPCEABI.bare.H/MSL_Common/src/string.h"
#include "dol2asm.h"
#include "global.h"
-#include "msl_c/string.h"
//
// Forward References:
diff --git a/libs/JSystem/JKernel/JKRMemArchive.cpp b/libs/JSystem/JKernel/JKRMemArchive.cpp
index 593bdb5c21..7f5de050d3 100644
--- a/libs/JSystem/JKernel/JKRMemArchive.cpp
+++ b/libs/JSystem/JKernel/JKRMemArchive.cpp
@@ -7,9 +7,9 @@
#include "JSystem/JKernel/JKRDvdRipper.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/JUTException.h"
+#include "MSL_C.PPCEABI.bare.H/MSL_Common/src/string.h"
#include "dol2asm.h"
#include "dolphin/types.h"
-#include "msl_c/string.h"
//
// Types:
diff --git a/libs/JSystem/JKernel/JKRThread.cpp b/libs/JSystem/JKernel/JKRThread.cpp
index ada577955b..a9b1500360 100644
--- a/libs/JSystem/JKernel/JKRThread.cpp
+++ b/libs/JSystem/JKernel/JKRThread.cpp
@@ -6,9 +6,9 @@
#include "JSystem/JKernel/JKRThread.h"
#include "JSystem/JKernel/JKRExpHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
+#include "MSL_C.PPCEABI.bare.H/MSL_Common/src/printf.h"
#include "dol2asm.h"
#include "dolphin/types.h"
-#include "msl_c/string.h"
//
// Types:
diff --git a/libs/JSystem/JParticle/JPAParticle.cpp b/libs/JSystem/JParticle/JPAParticle.cpp
index 88a3ac6b14..eca1563738 100644
--- a/libs/JSystem/JParticle/JPAParticle.cpp
+++ b/libs/JSystem/JParticle/JPAParticle.cpp
@@ -11,8 +11,6 @@
// Types:
//
-struct Vec {};
-
struct JPAEmitterWorkData {};
struct JPABaseParticle {
@@ -55,7 +53,6 @@ extern "C" void createChild__14JPABaseEmitterFP15JPABaseParticle();
extern "C" void JPAGetYZRotateMtx__FssPA4_f();
extern "C" void __dl__FPv();
extern "C" void JMAVECScaleAdd__FPC3VecPC3VecP3Vecf();
-extern "C" void PSMTXConcat();
extern "C" void PSMTXMultVecSR();
extern "C" void _savegpr_26();
extern "C" void _savegpr_29();
diff --git a/libs/JSystem/JSupport/JSUMemoryStream.cpp b/libs/JSystem/JSupport/JSUMemoryStream.cpp
index 39702109d1..2274e89366 100644
--- a/libs/JSystem/JSupport/JSUMemoryStream.cpp
+++ b/libs/JSystem/JSupport/JSUMemoryStream.cpp
@@ -4,9 +4,9 @@
//
#include "JSystem/JSupport/JSUMemoryStream.h"
+#include "MSL_C.PPCEABI.bare.H/MSL_Common/src/string.h"
#include "dol2asm.h"
#include "dolphin/types.h"
-#include "msl_c/string.h"
//
// Declarations:
diff --git a/libs/JSystem/JUtility/JUTDirectPrint.cpp b/libs/JSystem/JUtility/JUTDirectPrint.cpp
index 53a93bdd42..43d84c9aa8 100644
--- a/libs/JSystem/JUtility/JUTDirectPrint.cpp
+++ b/libs/JSystem/JUtility/JUTDirectPrint.cpp
@@ -4,12 +4,12 @@
//
#include "JSystem/JUtility/JUTDirectPrint.h"
+#include "MSL_C.PPCEABI.bare.H/MSL_Common/src/printf.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"
//
// Forward References:
diff --git a/libs/JSystem/JUtility/JUTNameTab.cpp b/libs/JSystem/JUtility/JUTNameTab.cpp
index 5cc29e9a90..7ab0818cab 100644
--- a/libs/JSystem/JUtility/JUTNameTab.cpp
+++ b/libs/JSystem/JUtility/JUTNameTab.cpp
@@ -4,9 +4,9 @@
//
#include "JSystem/JUtility/JUTNameTab.h"
+#include "MSL_C.PPCEABI.bare.H/MSL_Common/src/string.h"
#include "dol2asm.h"
#include "dolphin/types.h"
-#include "msl_c/string.h"
JUTNameTab::JUTNameTab() {
setResource(NULL);
diff --git a/libs/JSystem/JUtility/JUTResFont.cpp b/libs/JSystem/JUtility/JUTResFont.cpp
index 10c2614859..21fd397036 100644
--- a/libs/JSystem/JUtility/JUTResFont.cpp
+++ b/libs/JSystem/JUtility/JUTResFont.cpp
@@ -246,7 +246,8 @@ void JUTResFont::setGX() {
GXSetNumTevStages(1);
GXSetNumTexGens(1);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0);
- GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT0, GX_DF_NONE, GX_AF_NONE);
+ GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT_NULL, GX_DF_NONE,
+ GX_AF_NONE);
GXSetTevOp(GX_TEVSTAGE0, GX_MODULATE);
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_SET);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_RGBA4, 0);
@@ -268,18 +269,19 @@ void JUTResFont::setGX(JUtility::TColor param_0, JUtility::TColor param_1) {
GXSetNumTevStages(2);
GXSetNumTexGens(1);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL);
- GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT0, GX_DF_NONE, GX_AF_NONE);
+ GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT_NULL, GX_DF_NONE,
+ GX_AF_NONE);
GXSetTevColor(GX_TEVREG0, param_0);
GXSetTevColor(GX_TEVREG1, param_1);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_C0, GX_CC_C1, GX_CC_TEXC, GX_CC_ZERO);
- GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_A0, GX_CA_A1, GX_CA_TEXA, 7);
- GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV);
- GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV);
+ GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_A0, GX_CA_A1, GX_CA_TEXA, GX_CA_ZERO);
+ GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
+ GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_ZERO, GX_CC_CPREV, GX_CC_RASC, GX_CC_ZERO);
- GXSetTevAlphaIn(GX_TEVSTAGE1, 7, GX_CA_APREV, GX_CA_TEXB, 7);
- GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV);
- GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV);
+ GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_ZERO, GX_CA_APREV, GX_CA_RASA, GX_CA_ZERO);
+ GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
+ GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_SET);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_RGBA4, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);