mirror of
https://github.com/zeldaret/tp
synced 2026-05-23 06:54:28 -04:00
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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; }
|
||||
|
||||
@@ -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*);
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user