J2DGraph debug (#3028)

* J2DGraph debug

* J2DGraph debug
This commit is contained in:
Jcw87
2026-01-11 19:00:04 -08:00
committed by GitHub
parent 6e76f12dd3
commit 2dd7e2ea62
27 changed files with 1200 additions and 931 deletions
+62 -65
View File
@@ -27,9 +27,13 @@ enum J2DAnmKind {
class J2DAnmBase {
public:
J2DAnmBase() {
mFrame = 0;
mFrame = 0.0f;
mFrameMax = 0;
}
J2DAnmBase(s16 frameMax) {
mFrame = 0.0f;
mFrameMax = frameMax;
}
virtual ~J2DAnmBase() {}
virtual void searchUpdateMaterialID(J2DScreen*) {}
@@ -54,10 +58,10 @@ class J2DAnmVtxColor : public J2DAnmBase {
public:
J2DAnmVtxColor() {
mKind = KIND_VTX_COLOR;
for (s32 i = 0; i < ARRAY_SIZEU(mAnmTableNum); i++) {
for (int i = 0; i < ARRAY_SIZE(mAnmTableNum); i++) {
mAnmTableNum[i] = NULL;
}
for (s32 i = 0; i < ARRAY_SIZEU(mVtxColorIndexData); i++) {
for (int i = 0; i < ARRAY_SIZE(mVtxColorIndexData); i++) {
mVtxColorIndexData[i] = NULL;
}
}
@@ -92,7 +96,7 @@ struct J3DTextureSRTInfo;
class J2DAnmVtxColorKey : public J2DAnmVtxColor {
public:
J2DAnmVtxColorKey() {
for (s32 i = 0; i < ARRAY_SIZEU(mInfoTable); i++) {
for (int i = 0; i < ARRAY_SIZE(mInfoTable); i++) {
mInfoTable[i] = NULL;
}
}
@@ -113,7 +117,7 @@ public:
class J2DAnmVtxColorFull : public J2DAnmVtxColor {
public:
J2DAnmVtxColorFull() {
for (s32 i = 0; i < ARRAY_SIZEU(mInfoTable); i++) {
for (int i = 0; i < ARRAY_SIZE(mInfoTable); i++) {
mInfoTable[i] = NULL;
}
}
@@ -155,7 +159,7 @@ public:
*/
class J2DAnmTransform : public J2DAnmBase {
public:
J2DAnmTransform(f32* pScaleValues, s16* pRotationValues, f32* pTranslateValues) {
J2DAnmTransform(s16 frameMax, f32* pScaleValues, s16* pRotationValues, f32* pTranslateValues) : J2DAnmBase(frameMax) {
mScaleValues = pScaleValues;
mRotationValues = pRotationValues;
mTranslateValues = pTranslateValues;
@@ -175,18 +179,18 @@ public:
*/
class J2DAnmTransformKey : public J2DAnmTransform {
public:
J2DAnmTransformKey() : J2DAnmTransform(NULL, NULL, NULL) {
J2DAnmTransformKey() : J2DAnmTransform(0, NULL, NULL, NULL) {
field_0x24 = 0;
mInfoTable = NULL;
}
virtual ~J2DAnmTransformKey() {}
virtual void getTransform(u16 p1, J3DTransformInfo* pInfo) const {
this->calcTransform(getFrame(), p1, pInfo);
this->calcTransform(mFrame, p1, pInfo);
}
virtual void calcTransform(f32, u16, J3DTransformInfo*) const;
/* 0x1C */ u8 field_0x1c[6];
/* 0x22 */ s16 field_0x22;
/* 0x22 */ u16 field_0x22;
/* 0x24 */ u32 field_0x24;
/* 0x28 */ J3DAnmTransformKeyTable* mInfoTable;
};
@@ -197,7 +201,7 @@ public:
*/
class J2DAnmTransformFull : public J2DAnmTransform {
public:
J2DAnmTransformFull() : J2DAnmTransform(NULL, NULL, NULL) { mTableInfo = NULL; }
J2DAnmTransformFull() : J2DAnmTransform(0, NULL, NULL, NULL) { mTableInfo = NULL; }
virtual ~J2DAnmTransformFull() {}
virtual void getTransform(u16, J3DTransformInfo*) const;
@@ -214,21 +218,13 @@ class J2DAnmTextureSRTKey : public J2DAnmBase {
public:
J2DAnmTextureSRTKey() {
field_0x10 = 0;
field_0x1e = 0;
field_0x1c = 0;
field_0x1a = 0;
mUpdateMaterialNum = 0;
mUpdateMaterialNum = field_0x1a = field_0x1c = field_0x1e = 0;
mInfoTable = NULL;
mTranslationValues = NULL;
mScaleValues = NULL;
mScaleValues = mTranslationValues = NULL;
mRotationValues = NULL;
field_0x4c = 0;
field_0x4a = 0;
field_0x48 = 0;
field_0x4e = 0;
field_0x4e = field_0x48 = field_0x4a = field_0x4c = 0;
field_0x5c = NULL;
field_0x58 = NULL;
field_0x50 = NULL;
field_0x50 = field_0x58 = NULL;
field_0x54 = NULL;
field_0x7c = 0;
mKind = KIND_TEXTURE_SRT;
@@ -238,9 +234,15 @@ public:
virtual ~J2DAnmTextureSRTKey() {}
virtual void searchUpdateMaterialID(J2DScreen*);
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum / 3; }
u16 getUpdateMaterialID(u16 i) const { return mUpdateMaterialID[i]; }
u8 getUpdateTexMtxID(u16 i) const { return mUpdateTexMtxID[i]; }
void getTransform(u16 param_1, J3DTextureSRTInfo* param_2) {
u16 getUpdateMaterialID(u16 i) const {
J3D_PANIC(514, i < mUpdateMaterialNum / 3 && i >= 0, "Error : range over.");
return mUpdateMaterialID[i];
}
u8 getUpdateTexMtxID(u16 i) const {
J3D_PANIC(513, i < mUpdateMaterialNum / 3 && i >= 0, "Error : range over.");
return mUpdateTexMtxID[i];
}
void getTransform(u16 param_1, J3DTextureSRTInfo* param_2) const {
calcTransform(mFrame, param_1, param_2);
}
@@ -279,8 +281,13 @@ public:
class J2DAnmTexPattern : public J2DAnmBase {
public:
struct J2DAnmTexPatternTIMGPointer {
J2DAnmTexPatternTIMGPointer();
~J2DAnmTexPatternTIMGPointer();
J2DAnmTexPatternTIMGPointer() {
mRes = NULL;
mPalette = NULL;
}
~J2DAnmTexPatternTIMGPointer() {
delete mPalette;
}
/* 0x0 */ ResTIMG* mRes;
/* 0x4 */ JUTPalette* mPalette;
@@ -302,7 +309,10 @@ public:
virtual ~J2DAnmTexPattern() { delete[] mTIMGPtrArray; }
virtual void searchUpdateMaterialID(J2DScreen*);
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; }
u16 getUpdateMaterialID(u16 i) const { return mUpdateMaterialID[i]; }
u16 getUpdateMaterialID(u16 i) const {
J3D_PANIC(619, i < mUpdateMaterialNum, "Error : range over.");
return mUpdateMaterialID[i];
}
J3DAnmTexPatternFullTable* getAnmTable() const { return mAnmTable; }
/* 0x10 */ u16* mValues;
@@ -321,39 +331,31 @@ public:
class J2DAnmTevRegKey : public J2DAnmBase {
public:
J2DAnmTevRegKey() {
mKRegUpdateMaterialNum = 0;
mCRegUpdateMaterialNum = 0;
field_0x1a = 0;
field_0x18 = 0;
field_0x16 = 0;
field_0x14 = 0;
field_0x22 = 0;
field_0x20 = 0;
field_0x1e = 0;
field_0x1c = 0;
mKRegUpdateMaterialID = NULL;
mCRegUpdateMaterialID = NULL;
mCAValues = NULL;
mCBValues = NULL;
mCGValues = NULL;
mCRValues = NULL;
mKAValues = NULL;
mKBValues = NULL;
mKGValues = NULL;
mKRValues = NULL;
mCRegUpdateMaterialNum = mKRegUpdateMaterialNum = 0;
field_0x14 = field_0x16 = field_0x18 = field_0x1a = 0;
field_0x1c = field_0x1e = field_0x20 = field_0x22 = 0;
mCRegUpdateMaterialID = mKRegUpdateMaterialID = NULL;
mCRValues = mCGValues = mCBValues = mCAValues = NULL;
mKRValues = mKGValues = mKBValues = mKAValues = NULL;
mKind = KIND_TEV_REG;
}
void getTevColorReg(u16, _GXColorS10*) const;
void getTevKonstReg(u16, _GXColor*) const;
void getTevColorReg(u16, GXColorS10*) const;
void getTevKonstReg(u16, GXColor*) const;
virtual ~J2DAnmTevRegKey() {}
virtual void searchUpdateMaterialID(J2DScreen* pScreen);
u16 getCRegUpdateMaterialNum() const { return mCRegUpdateMaterialNum; }
u16 getCRegUpdateMaterialID(u16 i) const { return mCRegUpdateMaterialID[i]; }
u16 getCRegUpdateMaterialID(u16 i) const {
J3D_PANIC(770, i < mCRegUpdateMaterialNum, "Error : range over.");
return mCRegUpdateMaterialID[i];
}
u16 getKRegUpdateMaterialNum() const { return mKRegUpdateMaterialNum; }
u16 getKRegUpdateMaterialID(u16 i) const { return mKRegUpdateMaterialID[i]; }
u16 getKRegUpdateMaterialID(u16 i) const {
J3D_PANIC(778, i < mKRegUpdateMaterialNum, "Error : range over.");
return mKRegUpdateMaterialID[i];
}
J3DAnmCRegKeyTable* getAnmCRegKeyTable() const { return mAnmCRegKeyTable; }
J3DAnmKRegKeyTable* getAnmKRegKeyTable() const { return mAnmKRegKeyTable; }
@@ -391,10 +393,7 @@ public:
class J2DAnmColor : public J2DAnmBase {
public:
J2DAnmColor() {
field_0x16 = 0;
field_0x14 = 0;
field_0x12 = 0;
field_0x10 = 0;
field_0x10 = field_0x12 = field_0x14 = field_0x16 = 0;
mUpdateMaterialNum = 0;
mUpdateMaterialID = NULL;
mKind = KIND_COLOR;
@@ -403,7 +402,10 @@ public:
virtual void searchUpdateMaterialID(J2DScreen*);
virtual void getColor(u16, _GXColor*) const {}
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; }
u16 getUpdateMaterialID(u16 i) const { return mUpdateMaterialID[i]; }
u16 getUpdateMaterialID(u16 i) const {
J3D_PANIC(224, i < mUpdateMaterialNum, "Error : range over.");
return mUpdateMaterialID[i];
}
/* 0x10 */ u16 field_0x10;
/* 0x12 */ u16 field_0x12;
@@ -475,17 +477,12 @@ public:
/* 0x40 */ J3DAnmColorFullTable* mInfoTable;
};
template <typename T>
inline f32 J2DHermiteInterpolation(f32, T*, T*, T*, T*, T*, T*);
template <>
inline f32 J2DHermiteInterpolation<f32>(f32 f1, f32* f2, f32* f3, f32* f4, f32* f5, f32* f6,
f32* f7) {
inline f32 J2DHermiteInterpolation(f32 f1, const f32* f2, const f32* f3, const f32* f4, const f32* f5, const f32* f6,
const f32* f7) {
return JMAHermiteInterpolation(f1, *f2, *f3, *f4, *f5, *f6, *f7);
}
template <>
inline f32 J2DHermiteInterpolation<s16>(__REGISTER f32 pp1, __REGISTER s16* pp2, __REGISTER s16* pp3,
inline f32 J2DHermiteInterpolation(__REGISTER f32 pp1, __REGISTER s16* pp2, __REGISTER s16* pp3,
__REGISTER s16* pp4, __REGISTER s16* pp5, __REGISTER s16* pp6,
__REGISTER s16* pp7) {
#ifdef __MWERKS__
@@ -49,6 +49,8 @@ public:
virtual s32 getGrafType() const { return 0; }
virtual void setLookat() {}
JGeometry::TBox2<f32>* getBounds() { return &mBounds; }
public:
/* 0x04 */ JGeometry::TBox2<f32> mBounds;
/* 0x14 */ JGeometry::TBox2<f32> mScissorBounds;
+1 -1
View File
@@ -13,7 +13,7 @@ struct J2DResReference {
/* 0x00 */ u16 mCount;
/* 0x02 */ u16 mOffsets[1];
s8* getResReference(u16) const;
char* getResReference(u16) const;
char* getName(u16) const;
};
+344 -87
View File
@@ -73,7 +73,7 @@ public:
virtual u32 getType() = 0;
virtual u8 getMaxStage() = 0;
virtual void setTexNo(u32, u16) {}
virtual u32 getTexNo(u32) const { return 0xFFFF; }
virtual u16 getTexNo(u32) const { return 0xFFFF; }
virtual void setFontNo(u16) {}
virtual u16 getFontNo() const { return 0xFFFF; }
virtual void setTevOrder(u32, J2DTevOrder) {}
@@ -127,46 +127,84 @@ public:
virtual void loadTexture(_GXTexMapID, u32);
virtual u32 getType() { return 'TVB1'; }
virtual u8 getMaxStage() { return 1; }
virtual void setTexNo(u32 index, u16 texNo) { mTexNo[index] = texNo; }
virtual u32 getTexNo(u32 index) const { return mTexNo[index]; }
virtual void setTexNo(u32 index, u16 texNo) {
J3D_PANIC(241, index < 1, "Error : range over.");
mTexNo[index] = texNo;
}
virtual u16 getTexNo(u32 index) const {
J3D_PANIC(242, index < 1, "Error : range over.");
return mTexNo[index];
}
virtual void setFontNo(u16 fontNo) { mFontNo = fontNo; }
virtual u16 getFontNo() const { return mFontNo; }
virtual void setTevOrder(u32 index, J2DTevOrder order) {
J3D_PANIC(247, index < 1, "Error : range over.");
mTevOrder[index] = order;
}
virtual J2DTevOrder* getTevOrder(u32 index) { return &mTevOrder[index]; }
virtual J2DTevOrder* getTevOrder(u32 index) {
J3D_PANIC(248, index < 1, "Error : range over.");
return &mTevOrder[index];
}
virtual void setTevColor(u32 index, J2DGXColorS10 color) {
J3D_PANIC(250, index < 4, "Error : range over.");
mTevColor[index] = color;
}
virtual J2DGXColorS10* getTevColor(u32 index) { return &mTevColor[index]; }
virtual J2DGXColorS10* getTevColor(u32 index) {
J3D_PANIC(251, index < 4, "Error : range over.");
return &mTevColor[index];
}
virtual void setTevKColor(u32 index, JUtility::TColor color) {
J3D_PANIC(253, index < 4, "Error : range over.");
mTevKColor[index] = color;
}
virtual JUtility::TColor* getTevKColor(u32 index) { return &mTevKColor[index]; }
virtual void setTevKColorSel(u32 index, u8 sel) { mTevKColorSel[index] = sel; }
virtual u8 getTevKColorSel(u32 index) { return mTevKColorSel[index]; }
virtual void setTevKAlphaSel(u32 index, u8 sel) { mTevKAlphaSel[index] = sel; }
virtual u8 getTevKAlphaSel(u32 index) { return mTevKAlphaSel[index]; }
virtual JUtility::TColor* getTevKColor(u32 index) {
J3D_PANIC(254, index < 4, "Error : range over.");
return &mTevKColor[index];
}
virtual void setTevKColorSel(u32 index, u8 sel) {
J3D_PANIC(256, index < 1, "Error : range over.");
mTevKColorSel[index] = sel;
}
virtual u8 getTevKColorSel(u32 index) {
J3D_PANIC(257, index < 1, "Error : range over.");
return mTevKColorSel[index];
}
virtual void setTevKAlphaSel(u32 index, u8 sel) {
J3D_PANIC(259, index < 1, "Error : range over.");
mTevKAlphaSel[index] = sel;
}
virtual u8 getTevKAlphaSel(u32 index) {
J3D_PANIC(260, index < 1, "Error : range over.");
return mTevKAlphaSel[index];
}
virtual void setTevStageNum(u8 num) {}
virtual u8 getTevStageNum() const { return 1; }
virtual void setTevStage(u32 index, J2DTevStage stage) {
J3D_PANIC(265, index < 1, "Error : range over.");
mTevStage[index] = stage;
}
virtual J2DTevStage* getTevStage(u32 index) { return &mTevStage[index]; }
virtual J2DTevStage* getTevStage(u32 index) {
J3D_PANIC(266, index < 1, "Error : range over.");
return &mTevStage[index];
}
virtual void setTevSwapModeInfo(u32 index, J2DTevSwapModeInfo info) {
J3D_PANIC(268, index < 1, "Error : range over.");
mTevStage[index].setTevSwapModeInfo(info);
}
virtual void setTevSwapModeTable(u32 index, J2DTevSwapModeTable table) {
J3D_PANIC(270, index < 4, "Error : range over.");
mTevSwapModeTable[index] = table;
}
virtual J2DTevSwapModeTable* getTevSwapModeTable(u32 index) {
J3D_PANIC(271, index < 4, "Error : range over.");
return &mTevSwapModeTable[index];
}
virtual void setIndTevStage(u32 index, J2DIndTevStage stage) {
J3D_PANIC(273, index < 1, "Error : range over.");
mIndTevStage[index] = stage;
}
virtual J2DIndTevStage* getIndTevStage(u32 index) {
J3D_PANIC(274, index < 1, "Error : range over.");
return &mIndTevStage[index];
}
virtual bool insertTexture(u32 index, ResTIMG const* p_timg) {
@@ -182,14 +220,20 @@ public:
virtual bool setPalette(u32, ResTLUT const*);
virtual bool prepareTexture(u8);
virtual JUTTexture* getTexture(u32 index) {
return index >= 1 ? NULL : mTexture[index];
if (index >= 1) {
return NULL;
}
return mTexture[index];
}
virtual JUTPalette* getPalette(u32 index) {
return index >= 1 ? NULL : mPalette[index];
if (index >= 1) {
return NULL;
}
return mPalette[index];
}
virtual JUTFont* getFont() { return mFont; }
virtual void shiftDeleteFlag(u8, bool);
virtual void setUndeleteFlag(u8 flag) { mUndeleteFlag &= flag; }
virtual void setUndeleteFlag(u8 flag) { mUndeleteFlag = mUndeleteFlag & flag; }
virtual void setFontUndeleteFlag() { mUndeleteFlag &= 0x7F; }
virtual ~J2DTevBlock1();
@@ -223,46 +267,84 @@ public:
virtual void loadTexture(_GXTexMapID, u32);
virtual u32 getType() { return 'TVB2'; }
virtual u8 getMaxStage() { return 2; }
virtual void setTexNo(u32 index, u16 texNo) { mTexNo[index] = texNo; }
virtual u32 getTexNo(u32 index) const { return mTexNo[index]; }
virtual void setTexNo(u32 index, u16 texNo) {
J3D_PANIC(351, index < 2, "Error : range over.");
mTexNo[index] = texNo;
}
virtual u16 getTexNo(u32 index) const {
J3D_PANIC(352, index < 2, "Error : range over.");
return mTexNo[index];
}
virtual void setFontNo(u16 fontNo) { mFontNo = fontNo; }
virtual u16 getFontNo() const { return mFontNo; }
virtual void setTevOrder(u32 index, J2DTevOrder order) {
J3D_PANIC(357, index < 2, "Error : range over.");
mTevOrder[index] = order;
}
virtual J2DTevOrder* getTevOrder(u32 index) { return &mTevOrder[index]; }
virtual J2DTevOrder* getTevOrder(u32 index) {
J3D_PANIC(358, index < 2, "Error : range over.");
return &mTevOrder[index];
}
virtual void setTevColor(u32 index, J2DGXColorS10 color) {
J3D_PANIC(360, index < 4, "Error : range over.");
mTevColor[index] = color;
}
virtual J2DGXColorS10* getTevColor(u32 index) { return &mTevColor[index]; }
virtual J2DGXColorS10* getTevColor(u32 index) {
J3D_PANIC(361, index < 4, "Error : range over.");
return &mTevColor[index];
}
virtual void setTevKColor(u32 index, JUtility::TColor color) {
J3D_PANIC(363, index < 4, "Error : range over.");
mTevKColor[index] = color;
}
virtual JUtility::TColor* getTevKColor(u32 index) { return &mTevKColor[index]; }
virtual void setTevKColorSel(u32 index, u8 sel) { mTevKColorSel[index] = sel; }
virtual u8 getTevKColorSel(u32 index) { return mTevKColorSel[index]; }
virtual void setTevKAlphaSel(u32 index, u8 sel) { mTevKAlphaSel[index] = sel; }
virtual u8 getTevKAlphaSel(u32 index) { return mTevKAlphaSel[index]; }
virtual JUtility::TColor* getTevKColor(u32 index) {
J3D_PANIC(364, index < 4, "Error : range over.");
return &mTevKColor[index];
}
virtual void setTevKColorSel(u32 index, u8 sel) {
J3D_PANIC(366, index < 2, "Error : range over.");
mTevKColorSel[index] = sel;
}
virtual u8 getTevKColorSel(u32 index) {
J3D_PANIC(367, index < 2, "Error : range over.");
return mTevKColorSel[index];
}
virtual void setTevKAlphaSel(u32 index, u8 sel) {
J3D_PANIC(369, index < 2, "Error : range over.");
mTevKAlphaSel[index] = sel;
}
virtual u8 getTevKAlphaSel(u32 index) {
J3D_PANIC(370, index < 2, "Error : range over.");
return mTevKAlphaSel[index];
}
virtual void setTevStageNum(u8 num) { mTevStageNum = num; }
virtual u8 getTevStageNum() const { return mTevStageNum; }
virtual void setTevStage(u32 index, J2DTevStage stage) {
J3D_PANIC(375, index < 2, "Error : range over.");
mTevStage[index] = stage;
}
virtual J2DTevStage* getTevStage(u32 index) { return &mTevStage[index]; }
virtual J2DTevStage* getTevStage(u32 index) {
J3D_PANIC(376, index < 2, "Error : range over.");
return &mTevStage[index];
}
virtual void setTevSwapModeInfo(u32 index, J2DTevSwapModeInfo info) {
J3D_PANIC(378, index < 2, "Error : range over.");
mTevStage[index].setTevSwapModeInfo(info);
}
virtual void setTevSwapModeTable(u32 index, J2DTevSwapModeTable table) {
J3D_PANIC(380, index < 4, "Error : range over.");
mTevSwapModeTable[index] = table;
}
virtual J2DTevSwapModeTable* getTevSwapModeTable(u32 index) {
J3D_PANIC(381, index < 4, "Error : range over.");
return &mTevSwapModeTable[index];
}
virtual void setIndTevStage(u32 index, J2DIndTevStage stage) {
J3D_PANIC(383, index < 2, "Error : range over.");
mIndTevStage[index] = stage;
}
virtual J2DIndTevStage* getIndTevStage(u32 index) {
J3D_PANIC(384, index < 2, "Error : range over.");
return &mIndTevStage[index];
}
virtual bool insertTexture(u32 index, ResTIMG const* p_timg) {
@@ -278,14 +360,20 @@ public:
virtual bool setPalette(u32, ResTLUT const*);
virtual bool prepareTexture(u8);
virtual JUTTexture* getTexture(u32 index) {
return index >= 2 ? NULL : mTexture[index];
if (index >= 2) {
return NULL;
}
return mTexture[index];
}
virtual JUTPalette* getPalette(u32 index) {
return index >= 2 ? NULL : mPalette[index];
if (index >= 2) {
return NULL;
}
return mPalette[index];
}
virtual JUTFont* getFont() { return mFont; }
virtual void shiftDeleteFlag(u8, bool);
virtual void setUndeleteFlag(u8 flag) { mUndeleteFlag &= flag; }
virtual void setUndeleteFlag(u8 flag) { mUndeleteFlag = mUndeleteFlag & flag; }
virtual void setFontUndeleteFlag() { mUndeleteFlag &= 0x7F; }
virtual ~J2DTevBlock2();
@@ -321,46 +409,84 @@ public:
virtual void loadTexture(_GXTexMapID, u32);
virtual u32 getType() { return 'TVB4'; }
virtual u8 getMaxStage() { return 4; }
virtual void setTexNo(u32 index, u16 texNo) { mTexNo[index] = texNo; }
virtual u32 getTexNo(u32 index) const { return mTexNo[index]; }
virtual void setTexNo(u32 index, u16 texNo) {
J3D_PANIC(459, index < 4, "Error : range over.");
mTexNo[index] = texNo;
}
virtual u16 getTexNo(u32 index) const {
J3D_PANIC(460, index < 4, "Error : range over.");
return mTexNo[index];
}
virtual void setFontNo(u16 fontNo) { mFontNo = fontNo; }
virtual u16 getFontNo() const { return mFontNo; }
virtual void setTevOrder(u32 index, J2DTevOrder order) {
J3D_PANIC(465, index < 4, "Error : range over.");
mTevOrder[index] = order;
}
virtual J2DTevOrder* getTevOrder(u32 index) { return &mTevOrder[index]; }
virtual J2DTevOrder* getTevOrder(u32 index) {
J3D_PANIC(466, index < 4, "Error : range over.");
return &mTevOrder[index];
}
virtual void setTevColor(u32 index, J2DGXColorS10 color) {
J3D_PANIC(468, index < 4, "Error : range over.");
mTevColor[index] = color;
}
virtual J2DGXColorS10* getTevColor(u32 index) { return &mTevColor[index]; }
virtual J2DGXColorS10* getTevColor(u32 index) {
J3D_PANIC(469, index < 4, "Error : range over.");
return &mTevColor[index];
}
virtual void setTevKColor(u32 index, JUtility::TColor color) {
J3D_PANIC(471, index < 4, "Error : range over.");
mTevKColor[index] = color;
}
virtual JUtility::TColor* getTevKColor(u32 index) { return &mTevKColor[index]; }
virtual void setTevKColorSel(u32 index, u8 sel) { mTevKColorSel[index] = sel; }
virtual u8 getTevKColorSel(u32 index) { return mTevKColorSel[index]; }
virtual void setTevKAlphaSel(u32 index, u8 sel) { mTevKAlphaSel[index] = sel; }
virtual u8 getTevKAlphaSel(u32 index) { return mTevKAlphaSel[index]; }
virtual JUtility::TColor* getTevKColor(u32 index) {
J3D_PANIC(472, index < 4, "Error : range over.");
return &mTevKColor[index];
}
virtual void setTevKColorSel(u32 index, u8 sel) {
J3D_PANIC(474, index < 4, "Error : range over.");
mTevKColorSel[index] = sel;
}
virtual u8 getTevKColorSel(u32 index) {
J3D_PANIC(475, index < 4, "Error : range over.");
return mTevKColorSel[index];
}
virtual void setTevKAlphaSel(u32 index, u8 sel) {
J3D_PANIC(477, index < 4, "Error : range over.");
mTevKAlphaSel[index] = sel;
}
virtual u8 getTevKAlphaSel(u32 index) {
J3D_PANIC(478, index < 4, "Error : range over.");
return mTevKAlphaSel[index];
}
virtual void setTevStageNum(u8 num) { mTevStageNum = num; }
virtual u8 getTevStageNum() const { return mTevStageNum; }
virtual void setTevStage(u32 index, J2DTevStage stage) {
J3D_PANIC(483, index < 4, "Error : range over.");
mTevStage[index] = stage;
}
virtual J2DTevStage* getTevStage(u32 index) { return &mTevStage[index]; }
virtual J2DTevStage* getTevStage(u32 index) {
J3D_PANIC(484, index < 4, "Error : range over.");
return &mTevStage[index];
}
virtual void setTevSwapModeInfo(u32 index, J2DTevSwapModeInfo info) {
J3D_PANIC(486, index < 4, "Error : range over.");
mTevStage[index].setTevSwapModeInfo(info);
}
virtual void setTevSwapModeTable(u32 index, J2DTevSwapModeTable table) {
J3D_PANIC(488, index < 4, "Error : range over.");
mTevSwapModeTable[index] = table;
}
virtual J2DTevSwapModeTable* getTevSwapModeTable(u32 index) {
J3D_PANIC(489, index < 4, "Error : range over.");
return &mTevSwapModeTable[index];
}
virtual void setIndTevStage(u32 index, J2DIndTevStage stage) {
J3D_PANIC(491, index < 4, "Error : range over.");
mIndTevStage[index] = stage;
}
virtual J2DIndTevStage* getIndTevStage(u32 index) {
J3D_PANIC(492, index < 4, "Error : range over.");
return &mIndTevStage[index];
}
virtual bool insertTexture(u32 index, ResTIMG const* p_timg) {
@@ -376,14 +502,20 @@ public:
virtual bool setPalette(u32, ResTLUT const*);
virtual bool prepareTexture(u8);
virtual JUTTexture* getTexture(u32 index) {
return index >= 4 ? NULL : mTexture[index];
if (index >= 4) {
return NULL;
}
return mTexture[index];
}
virtual JUTPalette* getPalette(u32 index) {
return index >= 4 ? NULL : mPalette[index];
if (index >= 4) {
return NULL;
}
return mPalette[index];
}
virtual JUTFont* getFont() { return mFont; }
virtual void shiftDeleteFlag(u8, bool);
virtual void setUndeleteFlag(u8 flag) { mUndeleteFlag &= flag; }
virtual void setUndeleteFlag(u8 flag) { mUndeleteFlag = mUndeleteFlag & flag; }
virtual void setFontUndeleteFlag() { mUndeleteFlag &= 0x7F; }
virtual ~J2DTevBlock4();
@@ -419,46 +551,84 @@ public:
virtual void loadTexture(_GXTexMapID, u32);
virtual u32 getType() { return 'TVB8'; }
virtual u8 getMaxStage() { return 8; }
virtual void setTexNo(u32 index, u16 texNo) { mTexNo[index] = texNo; }
virtual u32 getTexNo(u32 index) const { return mTexNo[index]; }
virtual void setTexNo(u32 index, u16 texNo) {
J3D_PANIC(570, index < 8, "Error : range over.");
mTexNo[index] = texNo;
}
virtual u16 getTexNo(u32 index) const {
J3D_PANIC(571, index < 8, "Error : range over.");
return mTexNo[index];
}
virtual void setFontNo(u16 fontNo) { mFontNo = fontNo; }
virtual u16 getFontNo() const { return mFontNo; }
virtual void setTevOrder(u32 index, J2DTevOrder order) {
J3D_PANIC(576, index < 8, "Error : range over.");
mTevOrder[index] = order;
}
virtual J2DTevOrder* getTevOrder(u32 index) { return &mTevOrder[index]; }
virtual J2DTevOrder* getTevOrder(u32 index) {
J3D_PANIC(577, index < 8, "Error : range over.");
return &mTevOrder[index];
}
virtual void setTevColor(u32 index, J2DGXColorS10 color) {
J3D_PANIC(579, index < 4, "Error : range over.");
mTevColor[index] = color;
}
virtual J2DGXColorS10* getTevColor(u32 index) { return &mTevColor[index]; }
virtual J2DGXColorS10* getTevColor(u32 index) {
J3D_PANIC(580, index < 4, "Error : range over.");
return &mTevColor[index];
}
virtual void setTevKColor(u32 index, JUtility::TColor color) {
J3D_PANIC(582, index < 4, "Error : range over.");
mTevKColor[index] = color;
}
virtual JUtility::TColor* getTevKColor(u32 index) { return &mTevKColor[index]; }
virtual void setTevKColorSel(u32 index, u8 sel) { mTevKColorSel[index] = sel; }
virtual u8 getTevKColorSel(u32 index) { return mTevKColorSel[index]; }
virtual void setTevKAlphaSel(u32 index, u8 sel) { mTevKAlphaSel[index] = sel; }
virtual u8 getTevKAlphaSel(u32 index) { return mTevKAlphaSel[index]; }
virtual JUtility::TColor* getTevKColor(u32 index) {
J3D_PANIC(583, index < 4, "Error : range over.");
return &mTevKColor[index];
}
virtual void setTevKColorSel(u32 index, u8 sel) {
J3D_PANIC(585, index < 8, "Error : range over.");
mTevKColorSel[index] = sel;
}
virtual u8 getTevKColorSel(u32 index) {
J3D_PANIC(586, index < 8, "Error : range over.");
return mTevKColorSel[index];
}
virtual void setTevKAlphaSel(u32 index, u8 sel) {
J3D_PANIC(588, index < 8, "Error : range over.");
mTevKAlphaSel[index] = sel;
}
virtual u8 getTevKAlphaSel(u32 index) {
J3D_PANIC(589, index < 8, "Error : range over.");
return mTevKAlphaSel[index];
}
virtual void setTevStageNum(u8 num) { mTevStageNum = num; }
virtual u8 getTevStageNum() const { return mTevStageNum; }
virtual void setTevStage(u32 index, J2DTevStage stage) {
J3D_PANIC(594, index < 8, "Error : range over.");
mTevStage[index] = stage;
}
virtual J2DTevStage* getTevStage(u32 index) { return &mTevStage[index]; }
virtual J2DTevStage* getTevStage(u32 index) {
J3D_PANIC(595, index < 8, "Error : range over.");
return &mTevStage[index];
}
virtual void setTevSwapModeInfo(u32 index, J2DTevSwapModeInfo info) {
J3D_PANIC(597, index < 8, "Error : range over.");
mTevStage[index].setTevSwapModeInfo(info);
}
virtual void setTevSwapModeTable(u32 index, J2DTevSwapModeTable table) {
J3D_PANIC(599, index < 4, "Error : range over.");
mTevSwapModeTable[index] = table;
}
virtual J2DTevSwapModeTable* getTevSwapModeTable(u32 index) {
J3D_PANIC(600, index < 4, "Error : range over.");
return &mTevSwapModeTable[index];
}
virtual void setIndTevStage(u32 index, J2DIndTevStage stage) {
J3D_PANIC(602, index < 8, "Error : range over.");
mIndTevStage[index] = stage;
}
virtual J2DIndTevStage* getIndTevStage(u32 index) {
J3D_PANIC(603, index < 8, "Error : range over.");
return &mIndTevStage[index];
}
virtual bool insertTexture(u32 index, ResTIMG const* p_timg) {
@@ -474,14 +644,20 @@ public:
virtual bool setPalette(u32, ResTLUT const*);
virtual bool prepareTexture(u8);
virtual JUTTexture* getTexture(u32 index) {
return index >= 8 ? NULL : mTexture[index];
if (index >= 8) {
return NULL;
}
return mTexture[index];
}
virtual JUTPalette* getPalette(u32 index) {
return index >= 8 ? NULL : mPalette[index];
if (index >= 8) {
return NULL;
}
return mPalette[index];
}
virtual JUTFont* getFont() { return mFont; }
virtual void shiftDeleteFlag(u8, bool);
virtual void setUndeleteFlag(u8 flag) { mUndeleteFlag &= flag; }
virtual void setUndeleteFlag(u8 flag) { mUndeleteFlag = mUndeleteFlag & flag; }
virtual void setFontUndeleteFlag() { mFontUndeleteFlag = false; }
virtual ~J2DTevBlock8();
@@ -518,46 +694,84 @@ public:
virtual void loadTexture(_GXTexMapID, u32);
virtual u32 getType() { return 'TV16'; }
virtual u8 getMaxStage() { return 16; }
virtual void setTexNo(u32 index, u16 texNo) { mTexNo[index] = texNo; }
virtual u32 getTexNo(u32 index) const { return mTexNo[index]; }
virtual void setTexNo(u32 index, u16 texNo) {
J3D_PANIC(682, index < 8, "Error : range over.");
mTexNo[index] = texNo;
}
virtual u16 getTexNo(u32 index) const {
J3D_PANIC(683, index < 8, "Error : range over.");
return mTexNo[index];
}
virtual void setFontNo(u16 fontNo) { mFontNo = fontNo; }
virtual u16 getFontNo() const { return mFontNo; }
virtual void setTevOrder(u32 index, J2DTevOrder order) {
J3D_PANIC(688, index < 16, "Error : range over.");
mTevOrder[index] = order;
}
virtual J2DTevOrder* getTevOrder(u32 index) { return &mTevOrder[index]; }
virtual J2DTevOrder* getTevOrder(u32 index) {
J3D_PANIC(689, index < 16, "Error : range over.");
return &mTevOrder[index];
}
virtual void setTevColor(u32 index, J2DGXColorS10 color) {
J3D_PANIC(691, index < 4, "Error : range over.");
mTevColor[index] = color;
}
virtual J2DGXColorS10* getTevColor(u32 index) { return &mTevColor[index]; }
virtual J2DGXColorS10* getTevColor(u32 index) {
J3D_PANIC(692, index < 4, "Error : range over.");
return &mTevColor[index];
}
virtual void setTevKColor(u32 index, JUtility::TColor color) {
J3D_PANIC(694, index < 4, "Error : range over.");
mTevKColor[index] = color;
}
virtual JUtility::TColor* getTevKColor(u32 index) { return &mTevKColor[index]; }
virtual void setTevKColorSel(u32 index, u8 sel) { mTevKColorSel[index] = sel; }
virtual u8 getTevKColorSel(u32 index) { return mTevKColorSel[index]; }
virtual void setTevKAlphaSel(u32 index, u8 sel) { mTevKAlphaSel[index] = sel; }
virtual u8 getTevKAlphaSel(u32 index) { return mTevKAlphaSel[index]; }
virtual JUtility::TColor* getTevKColor(u32 index) {
J3D_PANIC(695, index < 4, "Error : range over.");
return &mTevKColor[index];
}
virtual void setTevKColorSel(u32 index, u8 sel) {
J3D_PANIC(697, index < 16, "Error : range over.");
mTevKColorSel[index] = sel;
}
virtual u8 getTevKColorSel(u32 index) {
J3D_PANIC(698, index < 16, "Error : range over.");
return mTevKColorSel[index];
}
virtual void setTevKAlphaSel(u32 index, u8 sel) {
J3D_PANIC(700, index < 16, "Error : range over.");
mTevKAlphaSel[index] = sel;
}
virtual u8 getTevKAlphaSel(u32 index) {
J3D_PANIC(701, index < 16, "Error : range over.");
return mTevKAlphaSel[index];
}
virtual void setTevStageNum(u8 num) { mTevStageNum = num; }
virtual u8 getTevStageNum() const { return mTevStageNum; }
virtual void setTevStage(u32 index, J2DTevStage stage) {
J3D_PANIC(706, index < 16, "Error : range over.");
mTevStage[index] = stage;
}
virtual J2DTevStage* getTevStage(u32 index) { return &mTevStage[index]; }
virtual J2DTevStage* getTevStage(u32 index) {
J3D_PANIC(707, index < 16, "Error : range over.");
return &mTevStage[index];
}
virtual void setTevSwapModeInfo(u32 index, J2DTevSwapModeInfo info) {
J3D_PANIC(709, index < 16, "Error : range over.");
mTevStage[index].setTevSwapModeInfo(info);
}
virtual void setTevSwapModeTable(u32 index, J2DTevSwapModeTable table) {
J3D_PANIC(711, index < 4, "Error : range over.");
mTevSwapModeTable[index] = table;
}
virtual J2DTevSwapModeTable* getTevSwapModeTable(u32 index) {
J3D_PANIC(712, index < 4, "Error : range over.");
return &mTevSwapModeTable[index];
}
virtual void setIndTevStage(u32 index, J2DIndTevStage stage) {
J3D_PANIC(714, index < 16, "Error : range over.");
mIndTevStage[index] = stage;
}
virtual J2DIndTevStage* getIndTevStage(u32 index) {
J3D_PANIC(715, index < 16, "Error : range over.");
return &mIndTevStage[index];
}
virtual bool insertTexture(u32 index, ResTIMG const* p_timg) {
@@ -573,14 +787,20 @@ public:
virtual bool setPalette(u32, ResTLUT const*);
virtual bool prepareTexture(u8);
virtual JUTTexture* getTexture(u32 index) {
return index >= 8 ? NULL : mTexture[index];
if (index >= 8) {
return NULL;
}
return mTexture[index];
}
virtual JUTPalette* getPalette(u32 index) {
return index >= 8 ? NULL : mPalette[index];
if (index >= 8) {
return NULL;
}
return mPalette[index];
}
virtual JUTFont* getFont() { return mFont; }
virtual void shiftDeleteFlag(u8, bool);
virtual void setUndeleteFlag(u8 flag) { mUndeleteFlag &= flag; }
virtual void setUndeleteFlag(u8 flag) { mUndeleteFlag = mUndeleteFlag & flag; }
virtual void setFontUndeleteFlag() { mFontUndeleteFlag = false; }
virtual ~J2DTevBlock16();
@@ -619,8 +839,8 @@ struct J2DAlphaCompInfo {
/* 0x7 */ u8 field_0x7;
};
inline u16 J2DCalcAlphaCmp(s32 param_1, u32 param_2, u32 param_3) {
return ((param_1) << 5) | ((param_2 & 0xff) << 3) | (param_3 & 0xff);
inline u16 J2DCalcAlphaCmp(u8 param_1, u8 param_2, u8 param_3) {
return (param_1 << 5) | (param_2 << 3) | param_3;
}
/**
@@ -643,11 +863,11 @@ struct J2DAlphaComp {
mRef0 = other.mRef0;
mRef1 = other.mRef1;
}
u8 getComp0() { return mAlphaCmp >> 5 & 7; }
u8 getRef0() { return mRef0; }
u8 getOp() { return mAlphaCmp >> 3 & 3; }
u8 getComp1() { return mAlphaCmp & 7; }
u8 getRef1() { return mRef1; }
u8 getComp0() const { return mAlphaCmp >> 5 & 7; }
u8 getRef0() const { return mRef0; }
u8 getOp() const { return mAlphaCmp >> 3 & 3; }
u8 getComp1() const { return mAlphaCmp & 7; }
u8 getRef1() const { return mRef1; }
/* 0x0 */ u16 mAlphaCmp;
/* 0x2 */ u8 mRef0;
@@ -682,10 +902,10 @@ struct J2DBlend {
J2DBlend() { mBlendInfo = j2dDefaultBlendInfo; }
J2DBlend(const J2DBlendInfo& info) { mBlendInfo = info; }
void setBlendInfo(const J2DBlendInfo& info) { mBlendInfo = info; }
u8 getType() { return mBlendInfo.mType; }
u8 getSrcFactor() { return mBlendInfo.mSrcFactor; }
u8 getDstFactor() { return mBlendInfo.mDstFactor; }
u8 getOp() { return mBlendInfo.mOp; }
u8 getType() const { return mBlendInfo.mType; }
u8 getSrcFactor() const { return mBlendInfo.mSrcFactor; }
u8 getDstFactor() const { return mBlendInfo.mDstFactor; }
u8 getOp() const { return mBlendInfo.mOp; }
/* 0x0 */ J2DBlendInfo mBlendInfo;
};
@@ -697,6 +917,7 @@ struct J2DBlend {
class J2DPEBlock {
public:
J2DPEBlock() { initialize(); }
~J2DPEBlock() {}
void initialize();
void setGX();
@@ -744,19 +965,27 @@ public:
virtual void setIndTexStageNum(u8 num) { mIndTexStageNum = num; }
virtual u8 getIndTexStageNum() const { return mIndTexStageNum; }
virtual void setIndTexOrder(u32 index, J2DIndTexOrder order) {
J3D_PANIC(856, index < 4, "Error : range over.");
mIndTexOrder[index] = order;
}
virtual J2DIndTexOrder* getIndTexOrder(u32 index) {
J3D_PANIC(857, index < 4, "Error : range over.");
return &mIndTexOrder[index];
}
virtual void setIndTexMtx(u32 index, J2DIndTexMtx mtx) {
J3D_PANIC(859, index < 3, "Error : range over.");
mIndTexMtx[index] = mtx;
}
virtual J2DIndTexMtx* getIndTexMtx(u32 index) { return &mIndTexMtx[index]; }
virtual J2DIndTexMtx* getIndTexMtx(u32 index) {
J3D_PANIC(860, index < 3, "Error : range over.");
return &mIndTexMtx[index];
}
virtual void setIndTexCoordScale(u32 index, J2DIndTexCoordScale scale) {
J3D_PANIC(862, index < 4, "Error : range over.");
mTexCoordScale[index] = scale;
}
virtual J2DIndTexCoordScale* getIndTexCoordScale(u32 index) {
J3D_PANIC(863, index < 4, "Error : range over.");
return &mTexCoordScale[index];
}
virtual ~J2DIndBlockFull() {}
@@ -801,11 +1030,27 @@ public:
u32 getTexGenNum() const { return mTexGenNum; }
void setTexGenNum(u32 num) { mTexGenNum = num; }
void setTexCoord(u32 i, J2DTexCoord coord) { mTexGenCoord[i] = coord; }
void setTexCoord(u32 i, const J2DTexCoord* coord) { mTexGenCoord[i] = *coord; }
void setTexMtx(u32 i, J2DTexMtx* mtx) { mTexMtx[i] = mtx; }
J2DTexMtx& getTexMtx(u32 i) { return *mTexMtx[i]; }
J2DTexCoord& getTexCoord(u32 i) { return mTexGenCoord[i]; }
void setTexCoord(u32 i, J2DTexCoord coord) {
J3D_PANIC(101, i < 8, "Error : range over.");
mTexGenCoord[i] = coord;
}
void setTexCoord(u32 i, const J2DTexCoord* coord) {
J3D_PANIC(98, i < 8, "Error : range over.");
J3D_PANIC(99, coord, "Error : null pointer.");
mTexGenCoord[i] = *coord;
}
void setTexMtx(u32 i, J2DTexMtx* mtx) {
J3D_PANIC(120, i < 8, "Error : range over.");
mTexMtx[i] = mtx;
}
J2DTexMtx& getTexMtx(u32 i) {
J3D_PANIC(108, i < 8, "Error : range over.");
return *mTexMtx[i];
}
J2DTexCoord& getTexCoord(u32 i) {
J3D_PANIC(102, i < 8, "Error : range over.");
return mTexGenCoord[i];
}
virtual ~J2DTexGenBlock();
}; // Size: 0x48
@@ -829,12 +1074,24 @@ public:
virtual ~J2DColorBlock() {}
JUtility::TColor* getMatColor(u32 i) { return &mMatColor[i]; }
J2DColorChan* getColorChan(u32 i) { return &mColorChan[i]; }
JUtility::TColor* getMatColor(u32 i) {
J3D_PANIC(49, i < 2, "Error : range over.");
return &mMatColor[i];
}
J2DColorChan* getColorChan(u32 i) {
J3D_PANIC(55, i < 4, "Error : range over.");
return &mColorChan[i];
}
void setCullMode(u8 mode) { mCullMode = mode; }
void setColorChanNum(u8 num) { mColorChanNum = num; }
void setMatColor(u32 i, JUtility::TColor color) { mMatColor[i] = color; }
void setColorChan(u32 i, const J2DColorChan& color) { mColorChan[i] = color; }
void setMatColor(u32 i, JUtility::TColor color) {
J3D_PANIC(48, i < 2, "Error : range over.");
mMatColor[i] = color;
}
void setColorChan(u32 i, const J2DColorChan& color) {
J3D_PANIC(54, i < 4, "Error : range over.");
mColorChan[i] = color;
}
};
#endif /* J2DMATBLOCK_H */
@@ -133,7 +133,7 @@ public:
J2DBlend newBlend(int) const;
u8 newDither(int) const;
u32 getMaterialMode(int idx) const {
u8 getMaterialMode(int idx) const {
return field_0x4[field_0x8[idx]].field_0x0;
}
+1
View File
@@ -22,6 +22,7 @@ public:
f32 getWidthPower() { return mBounds.getWidth() / mOrtho.getWidth(); }
f32 getHeightPower() { return mBounds.getHeight() / mOrtho.getHeight(); }
const JGeometry::TBox2<f32>* getOrtho() const { return &mOrtho; }
void setOrtho(f32 x, f32 y, f32 width, f32 height, f32 far, f32 near) {
JGeometry::TBox2<f32> ortho(x, y, x + width, y + height);
setOrtho(ortho, far, near);
+1
View File
@@ -174,6 +174,7 @@ public:
void show() { mVisible = true; }
void hide() { mVisible = false; }
bool isInfluencedAlpha() const { return mIsInfluencedAlpha; }
bool isConnectParent() const { return mConnected; }
u64 getUserInfo() const { return mUserInfoTag; }
+4
View File
@@ -17,6 +17,7 @@ enum J2DMirror {
};
enum J2DBinding {
/* 0 */ J2DBind_None = 0,
/* 1 */ J2DBind_Bottom = (1 << 0),
/* 2 */ J2DBind_Top = (1 << 1),
/* 4 */ J2DBind_Right = (1 << 2),
@@ -189,6 +190,9 @@ public:
void initinfo();
void setTevMode();
static void swap(f32&, f32&);
J2DBinding getBinding() const;
void setMirror(J2DMirror);
bool isTumble() const;
void setBlendKonstColor();
void setBlendKonstAlpha();
void getNewColor(JUtility::TColor*);
+8 -1
View File
@@ -103,6 +103,7 @@ public:
mInfo = info;
return *this;
}
void setIndTexOrderInfo(const J2DIndTexOrderInfo& info) { mInfo = info; }
void load(u8);
private:
@@ -147,6 +148,7 @@ public:
mIndTexMtxInfo = info;
return *this;
}
void setIndTexMtxInfo(const J2DIndTexMtxInfo& info) { mIndTexMtxInfo = info; }
void load(u8);
void load(u32);
void calc();
@@ -191,6 +193,7 @@ public:
mInfo = info;
return *this;
}
void setIndTexCoordScaleInfo(const J2DIndTexCoordScaleInfo& info) { mInfo = info; }
void load(u8);
private:
@@ -426,7 +429,7 @@ public:
}
void setTexSel(u8 param_0) {
field_0x7 = (field_0x7 & ~0x0c) | (param_0 * 4);
field_0x7 = (field_0x7 & ~0x0c) | (param_0 << 2);
}
void setRasSel(u8 param_0) {
@@ -632,6 +635,10 @@ public:
u8 getMatSrc() const { return mColorChan & 1; }
void operator=(const J2DColorChan& other) {
mColorChan = other.mColorChan;
}
private:
/* 0x0 */ u16 mColorChan;
};