summaryrefslogtreecommitdiff
path: root/include/JSystem/J3DGraphBase
diff options
context:
space:
mode:
authorCaroline Madsen <69010899+randomsalience@users.noreply.github.com>2024-11-01 16:46:27 -0400
committerGitHub <noreply@github.com>2024-11-01 13:46:27 -0700
commit21cb60624a6cb0c518f85af7688bf618de252650 (patch)
tree942030fd3bf1ee4f28a0542f9fdf9b909c5d6fa1 /include/JSystem/J3DGraphBase
parent09423b6fa00029d0325cbade59c78ae42f1014de (diff)
J3DMatBlock, J3DMaterialFactory work (#2233)
Diffstat (limited to 'include/JSystem/J3DGraphBase')
-rw-r--r--include/JSystem/J3DGraphBase/J3DMatBlock.h846
-rw-r--r--include/JSystem/J3DGraphBase/J3DMaterial.h1
-rw-r--r--include/JSystem/J3DGraphBase/J3DShape.h4
-rw-r--r--include/JSystem/J3DGraphBase/J3DShapeMtx.h4
-rw-r--r--include/JSystem/J3DGraphBase/J3DTexture.h1
5 files changed, 429 insertions, 427 deletions
diff --git a/include/JSystem/J3DGraphBase/J3DMatBlock.h b/include/JSystem/J3DGraphBase/J3DMatBlock.h
index 9ab7424801..0a35d27caa 100644
--- a/include/JSystem/J3DGraphBase/J3DMatBlock.h
+++ b/include/JSystem/J3DGraphBase/J3DMatBlock.h
@@ -65,7 +65,7 @@ extern const J3DNBTScaleInfo j3dDefaultNBTScaleInfo;
*/
class J3DTexGenBlock {
public:
- /* 80317354 */ virtual void reset(J3DTexGenBlock*);
+ /* 80317354 */ virtual void reset(J3DTexGenBlock*) {}
virtual void calc(f32 const (*)[4]) = 0;
virtual void calcWithoutViewMtx(f32 const (*)[4]) = 0;
virtual void calcPostTexMtx(f32 const (*)[4]) = 0;
@@ -75,35 +75,35 @@ public:
virtual void diff(u32) = 0;
virtual void diffTexMtx() = 0;
virtual void diffTexGen() = 0;
- /* 803172FC */ virtual s32 countDLSize();
+ /* 803172FC */ virtual s32 countDLSize() { return 0; }
virtual u32 getType() = 0;
- /* 8031741C */ virtual void setTexGenNum(u32 const*);
+ /* 8031741C */ virtual void setTexGenNum(u32 const*) {}
/* 8000E0D0 */ virtual void setTexGenNum(u32) {}
/* 8000DFE8 */ virtual u32 getTexGenNum() const { return 0; }
/* 8000E0CC */ virtual void setTexCoord(u32, J3DTexCoord const*) {}
/* 8000DFE0 */ virtual J3DTexCoord* getTexCoord(u32) { return NULL; }
/* 8003AB2C */ virtual void setTexMtx(u32, J3DTexMtx*) {}
/* 8000DFD8 */ virtual J3DTexMtx* getTexMtx(u32) { return NULL; }
- /* 80317424 */ virtual void setNBTScale(J3DNBTScale const*);
- /* 80317420 */ virtual void setNBTScale(J3DNBTScale);
- /* 80317334 */ virtual J3DNBTScale* getNBTScale();
- /* 80317428 */ virtual bool getTexMtxOffset() const;
- /* 80317430 */ virtual void setTexMtxOffset(u32);
+ /* 80317424 */ virtual void setNBTScale(J3DNBTScale const*) {}
+ /* 80317420 */ virtual void setNBTScale(J3DNBTScale) {}
+ /* 80317334 */ virtual J3DNBTScale* getNBTScale() { return NULL; }
+ /* 80317428 */ virtual u32 getTexMtxOffset() const { return 0; }
+ /* 80317430 */ virtual void setTexMtxOffset(u32) {}
/* 803171DC */ virtual ~J3DTexGenBlock() {}
};
struct J3DTexGenBlockNull : public J3DTexGenBlock {
- /* 80332AA0 */ virtual void calc(f32 const (*)[4]); // {}
- /* 80332AA4 */ virtual void calcWithoutViewMtx(f32 const (*)[4]); // {}
- /* 80332AA8 */ virtual void calcPostTexMtx(f32 const (*)[4]); // {}
- /* 80332AAC */ virtual void calcPostTexMtxWithoutViewMtx(f32 const (*)[4]); // {}
- /* 80332AB0 */ virtual void load(); // {}
- /* 80332AB4 */ virtual void patch(); // {}
- /* 80332AB8 */ virtual void diff(u32); // {}
- /* 80332ABC */ virtual void diffTexMtx(); // {}
- /* 80332AC0 */ virtual void diffTexGen(); // {}
- /* 80332AC4 */ virtual u32 getType(); // { return 'TGNL'; }
- /* 80332AD0 */ virtual ~J3DTexGenBlockNull(); // {}
+ /* 80332AA0 */ virtual void calc(f32 const (*)[4]) {}
+ /* 80332AA4 */ virtual void calcWithoutViewMtx(f32 const (*)[4]) {}
+ /* 80332AA8 */ virtual void calcPostTexMtx(f32 const (*)[4]) {}
+ /* 80332AAC */ virtual void calcPostTexMtxWithoutViewMtx(f32 const (*)[4]) {}
+ /* 80332AB0 */ virtual void load() {}
+ /* 80332AB4 */ virtual void patch() {}
+ /* 80332AB8 */ virtual void diff(u32) {}
+ /* 80332ABC */ virtual void diffTexMtx() {}
+ /* 80332AC0 */ virtual void diffTexGen() {}
+ /* 80332AC4 */ virtual u32 getType() { return 'TGNL'; }
+ /* 80332AD0 */ virtual ~J3DTexGenBlockNull() {}
};
/**
@@ -122,23 +122,23 @@ public:
/* 80321584 */ virtual void calcWithoutViewMtx(f32 const (*)[4]);
/* 803216D8 */ virtual void calcPostTexMtx(f32 const (*)[4]);
/* 8032181C */ virtual void calcPostTexMtxWithoutViewMtx(f32 const (*)[4]);
- /* 80322E70 */ virtual void load();
+ /* 80322E70 */ virtual void load() {}
/* 8031AA88 */ virtual void patch();
/* 8031AC68 */ virtual void diff(u32);
/* 8031ACD0 */ virtual void diffTexMtx();
/* 8031AD30 */ virtual void diffTexGen();
/* 80317B9C */ virtual s32 countDLSize();
- /* 80322E74 */ virtual u32 getType();
- /* 80322D3C */ virtual void setTexGenNum(u32 const*);
- /* 80322D34 */ virtual void setTexGenNum(u32);
- /* 80322D48 */ virtual u32 getTexGenNum() const;
- /* 80322D50 */ virtual void setTexCoord(u32, J3DTexCoord const*);
- /* 80322D64 */ virtual J3DTexCoord* getTexCoord(u32);
- /* 80322D78 */ virtual void setTexMtx(u32, J3DTexMtx*);
- /* 80322D88 */ virtual J3DTexMtx* getTexMtx(u32);
- /* 80322D98 */ virtual bool getTexMtxOffset() const;
- /* 80322DA0 */ virtual void setTexMtxOffset(u32);
- /* 80317180 */ virtual ~J3DTexGenBlockPatched();
+ /* 80322E74 */ virtual u32 getType() { return 'TGPT'; }
+ /* 80322D3C */ virtual void setTexGenNum(u32 const* num) { mTexGenNum = *num; }
+ /* 80322D34 */ virtual void setTexGenNum(u32 num) { mTexGenNum = num; }
+ /* 80322D48 */ virtual u32 getTexGenNum() const { return mTexGenNum; }
+ /* 80322D50 */ virtual void setTexCoord(u32 idx, J3DTexCoord const* coord) { mTexCoord[idx] = *coord; }
+ /* 80322D64 */ virtual J3DTexCoord* getTexCoord(u32 idx) { return & mTexCoord[idx]; }
+ /* 80322D78 */ virtual void setTexMtx(u32 idx, J3DTexMtx* mtx) { mTexMtx[idx] = mtx; }
+ /* 80322D88 */ virtual J3DTexMtx* getTexMtx(u32 idx) { return mTexMtx[idx]; }
+ /* 80322D98 */ virtual u32 getTexMtxOffset() const { return mTexMtxOffset; }
+ /* 80322DA0 */ virtual void setTexMtxOffset(u32 offset) { mTexMtxOffset = offset; }
+ /* 80317180 */ virtual ~J3DTexGenBlockPatched() {}
/* 0x04 */ u32 mTexGenNum;
/* 0x08 */ J3DTexCoord mTexCoord[8];
@@ -161,11 +161,11 @@ public:
/* 8031A9E8 */ virtual void load();
/* 8031ABC0 */ virtual void patch();
/* 80317BAC */ virtual s32 countDLSize();
- /* 80322C6C */ virtual u32 getType();
- /* 80322C9C */ virtual void setNBTScale(J3DNBTScale const*);
- /* 80322C78 */ virtual void setNBTScale(J3DNBTScale);
- /* 80322CC0 */ virtual J3DNBTScale* getNBTScale();
- /* 80322CC8 */ virtual ~J3DTexGenBlockBasic();
+ /* 80322C6C */ virtual u32 getType() { return 'TGBC'; }
+ /* 80322C9C */ virtual void setNBTScale(J3DNBTScale const* scale) { mNBTScale = *scale; }
+ /* 80322C78 */ virtual void setNBTScale(J3DNBTScale scale) { mNBTScale = scale; }
+ /* 80322CC0 */ virtual J3DNBTScale* getNBTScale() { return &mNBTScale; }
+ /* 80322CC8 */ virtual ~J3DTexGenBlockBasic() {}
/* 0x5C */ J3DNBTScale mNBTScale;
}; // Size: 0x6C
@@ -185,11 +185,11 @@ public:
/* 8031A948 */ virtual void load();
/* 8031AB18 */ virtual void patch();
/* 80317BA4 */ virtual s32 countDLSize();
- /* 80322DA8 */ virtual u32 getType();
- /* 80322DD8 */ virtual void setNBTScale(J3DNBTScale const*);
- /* 80322DB4 */ virtual void setNBTScale(J3DNBTScale);
- /* 80322DFC */ virtual J3DNBTScale* getNBTScale();
- /* 80322E04 */ virtual ~J3DTexGenBlock4();
+ /* 80322DA8 */ virtual u32 getType() { return 'TGB4'; }
+ /* 80322DD8 */ virtual void setNBTScale(J3DNBTScale const* scale) { mNBTScale = *scale; }
+ /* 80322DB4 */ virtual void setNBTScale(J3DNBTScale scale) { mNBTScale = scale; }
+ /* 80322DFC */ virtual J3DNBTScale* getNBTScale() { return &mNBTScale; }
+ /* 80322E04 */ virtual ~J3DTexGenBlock4() {}
/* 0x5C */ J3DNBTScale mNBTScale;
}; // Size: 0x6C
@@ -200,58 +200,58 @@ public:
*/
class J3DTevBlock {
public:
- /* 80317350 */ virtual void reset(J3DTevBlock*);
- /* 80317330 */ virtual void load();
+ /* 80317350 */ virtual void reset(J3DTevBlock*) {}
+ /* 80317330 */ virtual void load() {}
/* 8031CD44 */ virtual void diff(u32);
- /* 80321948 */ virtual void diffTexNo();
- /* 80321938 */ virtual void diffTevReg();
- /* 80321944 */ virtual void diffTexCoordScale();
- /* 80321940 */ virtual void diffTevStage();
- /* 8032193C */ virtual void diffTevStageIndirect();
- /* 8000DBD4 */ virtual void patch();
- /* 8032353C */ virtual void patchTexNo();
- /* 80323540 */ virtual void patchTevReg();
- /* 8000DBC8 */ virtual void patchTexNoAndTexCoordScale();
+ /* 80321948 */ virtual void diffTexNo() {}
+ /* 80321938 */ virtual void diffTevReg() {}
+ /* 80321944 */ virtual void diffTexCoordScale() {}
+ /* 80321940 */ virtual void diffTevStage() {}
+ /* 8032193C */ virtual void diffTevStageIndirect() {}
+ /* 8000DBD4 */ virtual void patch() {}
+ /* 8032353C */ virtual void patchTexNo() {}
+ /* 80323540 */ virtual void patchTevReg() {}
+ /* 8000DBC8 */ virtual void patchTexNoAndTexCoordScale() {}
virtual void ptrToIndex() = 0;
virtual void indexToPtr() = 0;
virtual u32 getType() = 0;
- /* 8031730C */ virtual s32 countDLSize();
- /* 80323544 */ virtual void setTexNo(u32, u16 const*);
+ /* 8031730C */ virtual s32 countDLSize() { return 0; }
+ /* 80323544 */ virtual void setTexNo(u32, u16 const*) {}
/* 8000E0AC */ virtual void setTexNo(u32, u16) {}
/* 8000DF94 */ virtual u16 getTexNo(u32) const { return 0xffff; }
- /* 80323548 */ virtual void setTevOrder(u32, J3DTevOrder const*);
+ /* 80323548 */ virtual void setTevOrder(u32, J3DTevOrder const*) {}
/* 8000E0BC */ virtual void setTevOrder(u32, J3DTevOrder) {}
/* 8000DFB8 */ virtual J3DTevOrder* getTevOrder(u32) { return NULL; }
- /* 80110E80 */ virtual void setTevColor(u32, J3DGXColorS10 const*);
+ /* 80110E80 */ virtual void setTevColor(u32, J3DGXColorS10 const*) {}
/* 8000E0C4 */ virtual void setTevColor(u32, J3DGXColorS10) {}
/* 8000DFC8 */ virtual J3DGXColorS10* getTevColor(u32) { return NULL; }
/* 800732AC */ virtual void setTevKColor(u32, J3DGXColor const*) {}
/* 8000E0C0 */ virtual void setTevKColor(u32, J3DGXColor) {}
/* 8000DFC0 */ virtual J3DGXColor* getTevKColor(u32) { return NULL; }
- /* 80322950 */ virtual void setTevKColorSel(u32, u8 const*);
+ /* 80322950 */ virtual void setTevKColorSel(u32, u8 const*) {}
/* 8000E0B8 */ virtual void setTevKColorSel(u32, u8) {}
- /* 8000DFB0 */ virtual bool getTevKColorSel(u32) { return false; }
- /* 80322954 */ virtual void setTevKAlphaSel(u32, u8 const*);
+ /* 8000DFB0 */ virtual u8 getTevKColorSel(u32) { return false; }
+ /* 80322954 */ virtual void setTevKAlphaSel(u32, u8 const*) {}
/* 8000E0B4 */ virtual void setTevKAlphaSel(u32, u8) {}
- /* 8000DFA8 */ virtual bool getTevKAlphaSel(u32) { return false; }
- /* 8032354C */ virtual void setTevStageNum(u8 const*);
+ /* 8000DFA8 */ virtual u8 getTevKAlphaSel(u32) { return false; }
+ /* 8032354C */ virtual void setTevStageNum(u8 const*) {}
/* 8000E0C8 */ virtual void setTevStageNum(u8) {}
/* 8000DFD0 */ virtual u8 getTevStageNum() const { return 1; }
- /* 80323550 */ virtual void setTevStage(u32, J3DTevStage const*);
+ /* 80323550 */ virtual void setTevStage(u32, J3DTevStage const*) {}
/* 8000E0A8 */ virtual void setTevStage(u32, J3DTevStage) {}
/* 8000DF8C */ virtual J3DTevStage* getTevStage(u32) { return NULL; }
- /* 8032295C */ virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo const*);
- /* 80322958 */ virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo);
- /* 80322960 */ virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable const*);
+ /* 8032295C */ virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo const*) {}
+ /* 80322958 */ virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo) {}
+ /* 80322960 */ virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable const*) {}
/* 8000E0B0 */ virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable) {}
/* 8000DFA0 */ virtual J3DTevSwapModeTable* getTevSwapModeTable(u32) { return NULL; }
- /* 80323554 */ virtual void setIndTevStage(u32, J3DIndTevStage const*);
+ /* 80323554 */ virtual void setIndTevStage(u32, J3DIndTevStage const*) {}
/* 8000E0A4 */ virtual void setIndTevStage(u32, J3DIndTevStage) {}
/* 8000DF84 */ virtual J3DIndTevStage* getIndTevStage(u32) { return NULL; }
- /* 80323558 */ virtual u32 getTexNoOffset() const;
- /* 80322964 */ virtual bool getTevRegOffset() const;
- /* 80321FE0 */ virtual void setTexNoOffset(u32);
- /* 8032296C */ virtual void setTevRegOffset(u32);
+ /* 80323558 */ virtual u32 getTexNoOffset() const { return 0; }
+ /* 80322964 */ virtual u32 getTevRegOffset() const { return 0; }
+ /* 80321FE0 */ virtual void setTexNoOffset(u32 offset) { mTexNoOffset = offset; }
+ /* 8032296C */ virtual void setTevRegOffset(u32) {}
/* 80317224 */ virtual ~J3DTevBlock() {}
protected:
@@ -268,11 +268,11 @@ class J3DTevBlockNull : public J3DTevBlock {
public:
J3DTevBlockNull() { initialize(); }
/* 803176D4 */ void initialize();
- /* 80332A0C */ virtual void reset(J3DTevBlock*); // {}
- /* 80332A10 */ virtual void ptrToIndex(); // {}
- /* 80332A14 */ virtual void indexToPtr(); // { indexToPtr_private(mTexNoOffset); }
- /* 80332A38 */ virtual u32 getType(); // { return 'TVNL'; }
- /* 80332A44 */ virtual ~J3DTevBlockNull(); // {}
+ /* 80332A0C */ virtual void reset(J3DTevBlock*) {}
+ /* 80332A10 */ virtual void ptrToIndex() {}
+ /* 80332A14 */ virtual void indexToPtr() { indexToPtr_private(mTexNoOffset); }
+ /* 80332A38 */ virtual u32 getType() { return 'TVNL'; }
+ /* 80332A44 */ virtual ~J3DTevBlockNull() {}
};
/**
@@ -287,7 +287,7 @@ public:
/* 803176E0 */ void initialize();
/* 80320418 */ virtual void reset(J3DTevBlock*);
- /* 80322970 */ virtual void load();
+ /* 80322970 */ virtual void load() {}
/* 8031CE00 */ virtual void diffTexNo();
/* 8031D028 */ virtual void diffTevReg();
/* 8031D0C4 */ virtual void diffTexCoordScale();
@@ -298,37 +298,37 @@ public:
/* 8031BFE0 */ virtual void patchTevReg();
/* 8031C0AC */ virtual void patchTexNoAndTexCoordScale();
/* 8031DFB4 */ virtual void ptrToIndex();
- /* 80322974 */ virtual void indexToPtr();
- /* 80322998 */ virtual u32 getType();
+ /* 80322974 */ virtual void indexToPtr() { indexToPtr_private(mTexNoOffset); }
+ /* 80322998 */ virtual u32 getType() { return 'TVPT'; }
/* 80317BB4 */ virtual s32 countDLSize();
- /* 803229D0 */ virtual void setTexNo(u32, u16 const*);
- /* 803229C0 */ virtual void setTexNo(u32, u16);
- /* 803229E4 */ virtual u16 getTexNo(u32) const;
- /* 80322A08 */ virtual void setTevOrder(u32, J3DTevOrder const*);
- /* 803229F4 */ virtual void setTevOrder(u32, J3DTevOrder);
- /* 80322A1C */ virtual J3DTevOrder* getTevOrder(u32);
- /* 80322B24 */ virtual void setTevColor(u32, J3DGXColorS10 const*);
- /* 80322AF8 */ virtual void setTevColor(u32, J3DGXColorS10);
- /* 80322B50 */ virtual J3DGXColorS10* getTevColor(u32);
- /* 80322B90 */ virtual void setTevKColor(u32, J3DGXColor const*);
- /* 80322B64 */ virtual void setTevKColor(u32, J3DGXColor);
- /* 80322BBC */ virtual J3DGXColor* getTevKColor(u32);
- /* 80322BDC */ virtual void setTevKColorSel(u32, u8 const*);
- /* 80322BD0 */ virtual void setTevKColorSel(u32, u8);
- /* 80322BEC */ virtual bool getTevKColorSel(u32);
- /* 803229AC */ virtual void setTevStageNum(u8 const*);
- /* 803229A4 */ virtual void setTevStageNum(u8);
- /* 803229B8 */ virtual u8 getTevStageNum() const;
- /* 80322A6C */ virtual void setTevStage(u32, J3DTevStage const*);
- /* 80322A30 */ virtual void setTevStage(u32, J3DTevStage);
- /* 80322AA8 */ virtual J3DTevStage* getTevStage(u32);
- /* 80322AD0 */ virtual void setIndTevStage(u32, J3DIndTevStage const*);
- /* 80322ABC */ virtual void setIndTevStage(u32, J3DIndTevStage);
- /* 80322AE4 */ virtual J3DIndTevStage* getIndTevStage(u32);
- /* 80322BF8 */ virtual u32 getTexNoOffset() const;
- /* 80322C00 */ virtual bool getTevRegOffset() const;
- /* 80322C08 */ virtual void setTevRegOffset(u32);
- /* 80322C10 */ virtual ~J3DTevBlockPatched();
+ /* 803229D0 */ virtual void setTexNo(u32 idx, u16 const* texNo) { mTexNo[idx] = *texNo; }
+ /* 803229C0 */ virtual void setTexNo(u32 idx, u16 texNo) { mTexNo[idx] = texNo; }
+ /* 803229E4 */ virtual u16 getTexNo(u32 idx) const { return mTexNo[idx]; }
+ /* 80322A08 */ virtual void setTevOrder(u32 idx, J3DTevOrder const* order) { mTevOrder[idx] = *order; }
+ /* 803229F4 */ virtual void setTevOrder(u32 idx, J3DTevOrder order) { mTevOrder[idx] = order; }
+ /* 80322A1C */ virtual J3DTevOrder* getTevOrder(u32 idx) { return &mTevOrder[idx]; }
+ /* 80322B24 */ virtual void setTevColor(u32 idx, J3DGXColorS10 const* color) { mTevColor[idx] = *color; }
+ /* 80322AF8 */ virtual void setTevColor(u32 idx, J3DGXColorS10 color) { mTevColor[idx] = color; }
+ /* 80322B50 */ virtual J3DGXColorS10* getTevColor(u32 idx) { return &mTevColor[idx]; }
+ /* 80322B90 */ virtual void setTevKColor(u32 idx, J3DGXColor const* color) { mTevKColor[idx] = *color; }
+ /* 80322B64 */ virtual void setTevKColor(u32 idx, J3DGXColor color) { mTevKColor[idx] = color; }
+ /* 80322BBC */ virtual J3DGXColor* getTevKColor(u32 idx) { return &mTevKColor[idx]; }
+ /* 80322BDC */ virtual void setTevKColorSel(u32 idx, u8 const* sel) { mTevKColorSel[idx] = *sel; }
+ /* 80322BD0 */ virtual void setTevKColorSel(u32 idx, u8 sel) { mTevKColorSel[idx] = sel; }
+ /* 80322BEC */ virtual u8 getTevKColorSel(u32 idx) { return mTevKColorSel[idx]; }
+ /* 803229AC */ virtual void setTevStageNum(u8 const* num) { mTevStageNum = *num; }
+ /* 803229A4 */ virtual void setTevStageNum(u8 num) { mTevStageNum = num; }
+ /* 803229B8 */ virtual u8 getTevStageNum() const { return mTevStageNum; }
+ /* 80322A6C */ virtual void setTevStage(u32 idx, J3DTevStage const* stage) { mTevStage[idx] = *stage; }
+ /* 80322A30 */ virtual void setTevStage(u32 idx, J3DTevStage stage) { mTevStage[idx] = stage; }
+ /* 80322AA8 */ virtual J3DTevStage* getTevStage(u32 idx) { return &mTevStage[idx]; }
+ /* 80322AD0 */ virtual void setIndTevStage(u32 idx, J3DIndTevStage const* stage) { mIndTevStage[idx] = *stage; }
+ /* 80322ABC */ virtual void setIndTevStage(u32 idx, J3DIndTevStage stage) { mIndTevStage[idx] = stage; }
+ /* 80322AE4 */ virtual J3DIndTevStage* getIndTevStage(u32 idx) { return &mIndTevStage[idx]; }
+ /* 80322BF8 */ virtual u32 getTexNoOffset() const { return mTexNoOffset; }
+ /* 80322C00 */ virtual u32 getTevRegOffset() const { return mTevRegOffset; }
+ /* 80322C08 */ virtual void setTevRegOffset(u32 offset) { mTevRegOffset = offset; }
+ /* 80322C10 */ virtual ~J3DTevBlockPatched() {}
/* 0x08 */ u16 mTexNo[8];
/* 0x18 */ J3DTevOrder mTevOrder[8];
@@ -363,46 +363,46 @@ public:
/* 8031C6F4 */ virtual void patchTexNo();
/* 8031C788 */ virtual void patchTevReg();
/* 8031C854 */ virtual void patchTexNoAndTexCoordScale();
- /* 80321FE8 */ virtual void ptrToIndex();
- /* 80321FEC */ virtual void indexToPtr();
- /* 80322010 */ virtual u32 getType();
+ /* 80321FE8 */ virtual void ptrToIndex() {}
+ /* 80321FEC */ virtual void indexToPtr() { indexToPtr_private(mTexNoOffset); }
+ /* 80322010 */ virtual u32 getType() { return 'TVB4'; }
/* 80317BCC */ virtual s32 countDLSize();
- /* 8032202C */ virtual void setTexNo(u32, u16 const*);
- /* 8032201C */ virtual void setTexNo(u32, u16);
- /* 80322040 */ virtual u16 getTexNo(u32) const;
- /* 80322064 */ virtual void setTevOrder(u32, J3DTevOrder const*);
- /* 80322050 */ virtual void setTevOrder(u32, J3DTevOrder);
- /* 80322078 */ virtual J3DTevOrder* getTevOrder(u32);
- /* 803220B8 */ virtual void setTevColor(u32, J3DGXColorS10 const*);
- /* 8032208C */ virtual void setTevColor(u32, J3DGXColorS10);
- /* 803220E4 */ virtual J3DGXColorS10* getTevColor(u32);
- /* 80322124 */ virtual void setTevKColor(u32, J3DGXColor const*);
- /* 803220F8 */ virtual void setTevKColor(u32, J3DGXColor);
- /* 80322150 */ virtual J3DGXColor* getTevKColor(u32);
- /* 80322170 */ virtual void setTevKColorSel(u32, u8 const*);
- /* 80322164 */ virtual void setTevKColorSel(u32, u8);
- /* 80322180 */ virtual bool getTevKColorSel(u32);
- /* 80322198 */ virtual void setTevKAlphaSel(u32, u8 const*);
- /* 8032218C */ virtual void setTevKAlphaSel(u32, u8);
- /* 803221A8 */ virtual bool getTevKAlphaSel(u32);
- /* 803221BC */ virtual void setTevStageNum(u8 const*);
- /* 803221B4 */ virtual void setTevStageNum(u8);
- /* 803221C8 */ virtual u8 getTevStageNum() const;
- /* 8032220C */ virtual void setTevStage(u32, J3DTevStage const*);
- /* 803221D0 */ virtual void setTevStage(u32, J3DTevStage);
- /* 80322248 */ virtual J3DTevStage* getTevStage(u32);
- /* 80322294 */ virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo const*);
- /* 8032225C */ virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo);
- /* 803222DC */ virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable const*);
- /* 803222CC */ virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable);
- /* 803222EC */ virtual J3DTevSwapModeTable* getTevSwapModeTable(u32);
- /* 80322310 */ virtual void setIndTevStage(u32, J3DIndTevStage const*);
- /* 803222FC */ virtual void setIndTevStage(u32, J3DIndTevStage);
- /* 80322324 */ virtual J3DIndTevStage* getIndTevStage(u32);
- /* 80322338 */ virtual u32 getTexNoOffset() const;
- /* 80322340 */ virtual bool getTevRegOffset() const;
- /* 80322348 */ virtual void setTevRegOffset(u32);
- /* 80322350 */ virtual ~J3DTevBlock4();
+ /* 8032202C */ virtual void setTexNo(u32 idx, u16 const* texNo) { mTexNo[idx] = *texNo; }
+ /* 8032201C */ virtual void setTexNo(u32 idx, u16 texNo) { mTexNo[idx] = texNo; }
+ /* 80322040 */ virtual u16 getTexNo(u32 idx) const { return mTexNo[idx]; }
+ /* 80322064 */ virtual void setTevOrder(u32 idx, J3DTevOrder const* order) { mTevOrder[idx] = *order; }
+ /* 80322050 */ virtual void setTevOrder(u32 idx, J3DTevOrder order) { mTevOrder[idx] = order; }
+ /* 80322078 */ virtual J3DTevOrder* getTevOrder(u32 idx) { return &mTevOrder[idx]; }
+ /* 803220B8 */ virtual void setTevColor(u32 idx, J3DGXColorS10 const* color) { mTevColor[idx] = *color; }
+ /* 8032208C */ virtual void setTevColor(u32 idx, J3DGXColorS10 color) { mTevColor[idx] = color; }
+ /* 803220E4 */ virtual J3DGXColorS10* getTevColor(u32 idx) { return &mTevColor[idx]; }
+ /* 80322124 */ virtual void setTevKColor(u32 idx, J3DGXColor const* color) { mTevKColor[idx] = *color; }
+ /* 803220F8 */ virtual void setTevKColor(u32 idx, J3DGXColor color) { mTevKColor[idx] = color; }
+ /* 80322150 */ virtual J3DGXColor* getTevKColor(u32 idx) { return &mTevKColor[idx]; }
+ /* 80322170 */ virtual void setTevKColorSel(u32 idx, u8 const* sel) { mTevKColorSel[idx] = *sel; }
+ /* 80322164 */ virtual void setTevKColorSel(u32 idx, u8 sel) { mTevKColorSel[idx] = sel; }
+ /* 80322180 */ virtual u8 getTevKColorSel(u32 idx) { return mTevKColorSel[idx]; }
+ /* 80322198 */ virtual void setTevKAlphaSel(u32 idx, u8 const* sel) { mTevKAlphaSel[idx] = *sel; }
+ /* 8032218C */ virtual void setTevKAlphaSel(u32 idx, u8 sel) { mTevKAlphaSel[idx] = sel; }
+ /* 803221A8 */ virtual u8 getTevKAlphaSel(u32 idx) { return mTevKAlphaSel[idx]; }
+ /* 803221BC */ virtual void setTevStageNum(u8 const* num) { mTevStageNum = *num; }
+ /* 803221B4 */ virtual void setTevStageNum(u8 num) { mTevStageNum = num; }
+ /* 803221C8 */ virtual u8 getTevStageNum() const { return mTevStageNum; }
+ /* 8032220C */ virtual void setTevStage(u32 idx, J3DTevStage const* stage) { mTevStage[idx] = *stage; }
+ /* 803221D0 */ virtual void setTevStage(u32 idx, J3DTevStage stage) { mTevStage[idx] = stage; }
+ /* 80322248 */ virtual J3DTevStage* getTevStage(u32 idx) { return &mTevStage[idx]; }
+ /* 80322294 */ virtual void setTevSwapModeInfo(u32 idx, J3DTevSwapModeInfo const* info) { mTevStage[idx].setTevSwapModeInfo(*info); }
+ /* 8032225C */ virtual void setTevSwapModeInfo(u32 idx, J3DTevSwapModeInfo info) { mTevStage[idx].setTevSwapModeInfo(info); }
+ /* 803222DC */ virtual void setTevSwapModeTable(u32 idx, J3DTevSwapModeTable const* table) { mTevSwapModeTable[idx] = *table; }
+ /* 803222CC */ virtual void setTevSwapModeTable(u32 idx, J3DTevSwapModeTable table) { mTevSwapModeTable[idx] = table; }
+ /* 803222EC */ virtual J3DTevSwapModeTable* getTevSwapModeTable(u32 idx) { return &mTevSwapModeTable[idx]; }
+ /* 80322310 */ virtual void setIndTevStage(u32 idx, J3DIndTevStage const* stage) { mIndTevStage[idx] = *stage; }
+ /* 803222FC */ virtual void setIndTevStage(u32 idx, J3DIndTevStage stage) { mIndTevStage[idx] = stage; }
+ /* 80322324 */ virtual J3DIndTevStage* getIndTevStage(u32 idx) { return &mIndTevStage[idx]; }
+ /* 80322338 */ virtual u32 getTexNoOffset() const { return mTexNoOffset; }
+ /* 80322340 */ virtual u32 getTevRegOffset() const { return mTevRegOffset; }
+ /* 80322348 */ virtual void setTevRegOffset(u32 offset) { mTevRegOffset = offset; }
+ /* 80322350 */ virtual ~J3DTevBlock4() {}
/* 0x08 */ u16 mTexNo[4];
/* 0x10 */ J3DTevOrder mTevOrder[4];
@@ -439,46 +439,46 @@ public:
/* 8031C3F8 */ virtual void patchTexNo();
/* 8031C48C */ virtual void patchTevReg();
/* 8031C558 */ virtual void patchTexNoAndTexCoordScale();
- /* 803223AC */ virtual void ptrToIndex();
- /* 803223B0 */ virtual void indexToPtr();
- /* 803223D4 */ virtual u32 getType();
+ /* 803223AC */ virtual void ptrToIndex() {}
+ /* 803223B0 */ virtual void indexToPtr() { indexToPtr_private(mTexNoOffset); }
+ /* 803223D4 */ virtual u32 getType() { return 'TVB2'; }
/* 80317BC4 */ virtual s32 countDLSize();
- /* 803223F0 */ virtual void setTexNo(u32, u16 const*);
- /* 803223E0 */ virtual void setTexNo(u32, u16);
- /* 80322404 */ virtual u16 getTexNo(u32) const;
- /* 80322428 */ virtual void setTevOrder(u32, J3DTevOrder const*);
- /* 80322414 */ virtual void setTevOrder(u32, J3DTevOrder);
- /* 8032243C */ virtual J3DTevOrder* getTevOrder(u32);
- /* 8032247C */ virtual void setTevColor(u32, J3DGXColorS10 const*);
- /* 80322450 */ virtual void setTevColor(u32, J3DGXColorS10);
- /* 803224A8 */ virtual J3DGXColorS10* getTevColor(u32);
- /* 803224E8 */ virtual void setTevKColor(u32, J3DGXColor const*);
- /* 803224BC */ virtual void setTevKColor(u32, J3DGXColor);
- /* 80322514 */ virtual J3DGXColor* getTevKColor(u32);
- /* 80322534 */ virtual void setTevKColorSel(u32, u8 const*);
- /* 80322528 */ virtual void setTevKColorSel(u32, u8);
- /* 80322544 */ virtual bool getTevKColorSel(u32);
- /* 8032255C */ virtual void setTevKAlphaSel(u32, u8 const*);
- /* 80322550 */ virtual void setTevKAlphaSel(u32, u8);
- /* 8032256C */ virtual bool getTevKAlphaSel(u32);
- /* 80322580 */ virtual void setTevStageNum(u8 const*);
- /* 80322578 */ virtual void setTevStageNum(u8);
- /* 8032258C */ virtual u8 getTevStageNum() const;
- /* 803225D0 */ virtual void setTevStage(u32, J3DTevStage const*);
- /* 80322594 */ virtual void setTevStage(u32, J3DTevStage);
- /* 8032260C */ virtual J3DTevStage* getTevStage(u32);
- /* 80322658 */ virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo const*);
- /* 80322620 */ virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo);
- /* 803226A0 */ virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable const*);
- /* 80322690 */ virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable);
- /* 803226B0 */ virtual J3DTevSwapModeTable* getTevSwapModeTable(u32);
- /* 803226D4 */ virtual void setIndTevStage(u32, J3DIndTevStage const*);
- /* 803226C0 */ virtual void setIndTevStage(u32, J3DIndTevStage);
- /* 803226E8 */ virtual J3DIndTevStage* getIndTevStage(u32);
- /* 803226FC */ virtual u32 getTexNoOffset() const;
- /* 80322704 */ virtual bool getTevRegOffset() const;
- /* 8032270C */ virtual void setTevRegOffset(u32);
- /* 80322714 */ virtual ~J3DTevBlock2();
+ /* 803223F0 */ virtual void setTexNo(u32 idx, u16 const* texNo) { mTexNo[idx] = *texNo; }
+ /* 803223E0 */ virtual void setTexNo(u32 idx, u16 texNo) { mTexNo[idx] = texNo; }
+ /* 80322404 */ virtual u16 getTexNo(u32 idx) const { return mTexNo[idx]; }
+ /* 80322428 */ virtual void setTevOrder(u32 idx, J3DTevOrder const* order) { mTevOrder[idx] = *order; }
+ /* 80322414 */ virtual void setTevOrder(u32 idx, J3DTevOrder order) { mTevOrder[idx] = order; }
+ /* 8032243C */ virtual J3DTevOrder* getTevOrder(u32 idx) { return &mTevOrder[idx]; }
+ /* 8032247C */ virtual void setTevColor(u32 idx, J3DGXColorS10 const* color) { mTevColor[idx] = *color; }
+ /* 80322450 */ virtual void setTevColor(u32 idx, J3DGXColorS10 color) { mTevColor[idx] = color; }
+ /* 803224A8 */ virtual J3DGXColorS10* getTevColor(u32 idx) { return &mTevColor[idx]; }
+ /* 803224E8 */ virtual void setTevKColor(u32 idx, J3DGXColor const* color) { mTevKColor[idx] = *color; }
+ /* 803224BC */ virtual void setTevKColor(u32 idx, J3DGXColor color) { mTevKColor[idx] = color; }
+ /* 80322514 */ virtual J3DGXColor* getTevKColor(u32 idx) { return &mTevKColor[idx]; }
+ /* 80322534 */ virtual void setTevKColorSel(u32 idx, u8 const* sel) { mTevKColorSel[idx] = *sel; }
+ /* 80322528 */ virtual void setTevKColorSel(u32 idx, u8 sel) { mTevKColorSel[idx] = sel; }
+ /* 80322544 */ virtual u8 getTevKColorSel(u32 idx) { return mTevKColorSel[idx]; }
+ /* 8032255C */ virtual void setTevKAlphaSel(u32 idx, u8 const* sel) { mTevKAlphaSel[idx] = *sel; }
+ /* 80322550 */ virtual void setTevKAlphaSel(u32 idx, u8 sel) { mTevKAlphaSel[idx] = sel; }
+ /* 8032256C */ virtual u8 getTevKAlphaSel(u32 idx) { return mTevKAlphaSel[idx]; }
+ /* 80322580 */ virtual void setTevStageNum(u8 const* num) { mTevStageNum = *num; }
+ /* 80322578 */ virtual void setTevStageNum(u8 num) { mTevStageNum = num; }
+ /* 8032258C */ virtual u8 getTevStageNum() const { return mTevStageNum; }
+ /* 803225D0 */ virtual void setTevStage(u32 idx, J3DTevStage const* stage) { mTevStage[idx] = *stage; }
+ /* 80322594 */ virtual void setTevStage(u32 idx, J3DTevStage stage) { mTevStage[idx] = stage; }
+ /* 8032260C */ virtual J3DTevStage* getTevStage(u32 idx) { return &mTevStage[idx]; }
+ /* 80322658 */ virtual void setTevSwapModeInfo(u32 idx, J3DTevSwapModeInfo const* info) { mTevStage[idx].setTevSwapModeInfo(*info); }
+ /* 80322620 */ virtual void setTevSwapModeInfo(u32 idx, J3DTevSwapModeInfo info) { mTevStage[idx].setTevSwapModeInfo(info); }
+ /* 803226A0 */ virtual void setTevSwapModeTable(u32 idx, J3DTevSwapModeTable const* table) { mTevSwapModeTable[idx] = *table; }
+ /* 80322690 */ virtual void setTevSwapModeTable(u32 idx, J3DTevSwapModeTable table) { mTevSwapModeTable[idx] = table; }
+ /* 803226B0 */ virtual J3DTevSwapModeTable* getTevSwapModeTable(u32 idx) { return &mTevSwapModeTable[idx]; }
+ /* 803226D4 */ virtual void setIndTevStage(u32 idx, J3DIndTevStage const* stage) { mIndTevStage[idx] = *stage; }
+ /* 803226C0 */ virtual void setIndTevStage(u32 idx, J3DIndTevStage stage) { mIndTevStage[idx] = stage; }
+ /* 803226E8 */ virtual J3DIndTevStage* getIndTevStage(u32 idx) { return &mIndTevStage[idx]; }
+ /* 803226FC */ virtual u32 getTexNoOffset() const { return mTexNoOffset; }
+ /* 80322704 */ virtual u32 getTevRegOffset() const { return mTevRegOffset; }
+ /* 8032270C */ virtual void setTevRegOffset(u32 offset) { mTevRegOffset = offset; }
+ /* 80322714 */ virtual ~J3DTevBlock2() {}
/* 0x08 */ u16 mTexNo[2];
/* 0x0C */ J3DTevOrder mTevOrder[2];
@@ -516,45 +516,45 @@ public:
/* 8031CAB0 */ virtual void patchTevReg();
/* 8031CB7C */ virtual void patchTexNoAndTexCoordScale();
/* 8031DED0 */ virtual void ptrToIndex();
- /* 80321C20 */ virtual void indexToPtr();
- /* 80321C44 */ virtual u32 getType();
+ /* 80321C20 */ virtual void indexToPtr() { indexToPtr_private(mTexNoOffset); }
+ /* 80321C44 */ virtual u32 getType() { return 'TV16'; }
/* 80317BD4 */ virtual s32 countDLSize();
- /* 80321C60 */ virtual void setTexNo(u32, u16 const*);
- /* 80321C50 */ virtual void setTexNo(u32, u16);
- /* 80321C74 */ virtual u16 getTexNo(u32) const;
- /* 80321C98 */ virtual void setTevOrder(u32, J3DTevOrder const*);
- /* 80321C84 */ virtual void setTevOrder(u32, J3DTevOrder);
- /* 80321CAC */ virtual J3DTevOrder* getTevOrder(u32);
- /* 80321CEC */ virtual void setTevColor(u32, J3DGXColorS10 const*);
- /* 80321CC0 */ virtual void setTevColor(u32, J3DGXColorS10);
- /* 80321D18 */ virtual J3DGXColorS10* getTevColor(u32);
- /* 80321D58 */ virtual void setTevKColor(u32, J3DGXColor const*);
- /* 80321D2C */ virtual void setTevKColor(u32, J3DGXColor);
- /* 80321D84 */ virtual J3DGXColor* getTevKColor(u32);
- /* 80321DA4 */ virtual void setTevKColorSel(u32, u8 const*);
- /* 80321D98 */ virtual void setTevKColorSel(u32, u8);
- /* 80321DB4 */ virtual bool getTevKColorSel(u32);
- /* 80321DCC */ virtual void setTevKAlphaSel(u32, u8 const*);
- /* 80321DC0 */ virtual void setTevKAlphaSel(u32, u8);
- /* 80321DDC */ virtual bool getTevKAlphaSel(u32);
- /* 80321DE8 */ virtual void setTevStageNum(u8);
- /* 80321DF0 */ virtual void setTevStageNum(u8 const*);
- /* 80321DFC */ virtual u8 getTevStageNum() const;
- /* 80321E40 */ virtual void setTevStage(u32, J3DTevStage const*);
- /* 80321E04 */ virtual void setTevStage(u32, J3DTevStage);
- /* 80321E7C */ virtual J3DTevStage* getTevStage(u32);
- /* 80321EC8 */ virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo const*);
- /* 80321E90 */ virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo);
- /* 80321F10 */ virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable const*);
- /* 80321F00 */ virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable);
- /* 80321F20 */ virtual J3DTevSwapModeTable* getTevSwapModeTable(u32);
- /* 80321F44 */ virtual void setIndTevStage(u32, J3DIndTevStage const*);
- /* 80321F30 */ virtual void setIndTevStage(u32, J3DIndTevStage);
- /* 80321F58 */ virtual J3DIndTevStage* getIndTevStage(u32);
- /* 80321F6C */ virtual u32 getTexNoOffset() const;
- /* 80321F74 */ virtual bool getTevRegOffset() const;
- /* 80321F7C */ virtual void setTevRegOffset(u32);
- /* 80321F84 */ virtual ~J3DTevBlock16();
+ /* 80321C60 */ virtual void setTexNo(u32 idx, u16 const* texNo) { mTexNo[idx] = *texNo; }
+ /* 80321C50 */ virtual void setTexNo(u32 idx, u16 texNo) { mTexNo[idx] = texNo; }
+ /* 80321C74 */ virtual u16 getTexNo(u32 idx) const { return mTexNo[idx]; }
+ /* 80321C98 */ virtual void setTevOrder(u32 idx, J3DTevOrder const* order) { mTevOrder[idx] = *order; }
+ /* 80321C84 */ virtual void setTevOrder(u32 idx, J3DTevOrder order) { mTevOrder[idx] = order; }
+ /* 80321CAC */ virtual J3DTevOrder* getTevOrder(u32 idx) { return &mTevOrder[idx]; }
+ /* 80321CEC */ virtual void setTevColor(u32 idx, J3DGXColorS10 const* color) { mTevColor[idx] = *color; }
+ /* 80321CC0 */ virtual void setTevColor(u32 idx, J3DGXColorS10 color) { mTevColor[idx] = color; }
+ /* 80321D18 */ virtual J3DGXColorS10* getTevColor(u32 idx) { return &mTevColor[idx]; }
+ /* 80321D58 */ virtual void setTevKColor(u32 idx, J3DGXColor const* color) { mTevKColor[idx] = *color; }
+ /* 80321D2C */ virtual void setTevKColor(u32 idx, J3DGXColor color) { mTevKColor[idx] = color; }
+ /* 80321D84 */ virtual J3DGXColor* getTevKColor(u32 idx) { return &mTevKColor[idx]; }
+ /* 80321DA4 */ virtual void setTevKColorSel(u32 idx, u8 const* sel) { mTevKColorSel[idx] = *sel; }
+ /* 80321D98 */ virtual void setTevKColorSel(u32 idx, u8 sel) { mTevKColorSel[idx] = sel; }
+ /* 80321DB4 */ virtual u8 getTevKColorSel(u32 idx) { return mTevKColorSel[idx]; }
+ /* 80321DCC */ virtual void setTevKAlphaSel(u32 idx, u8 const* sel) { mTevKAlphaSel[idx] = *sel; }
+ /* 80321DC0 */ virtual void setTevKAlphaSel(u32 idx, u8 sel) { mTevKAlphaSel[idx] = sel; }
+ /* 80321DDC */ virtual u8 getTevKAlphaSel(u32 idx) { return mTevKAlphaSel[idx]; }
+ /* 80321DE8 */ virtual void setTevStageNum(u8 num) { mTevStageNum = num; }
+ /* 80321DF0 */ virtual void setTevStageNum(u8 const* num) { mTevStageNum = *num; }
+ /* 80321DFC */ virtual u8 getTevStageNum() const { return mTevStageNum; }
+ /* 80321E40 */ virtual void setTevStage(u32 idx, J3DTevStage const* stage) { mTevStage[idx] = *stage; }
+ /* 80321E04 */ virtual void setTevStage(u32 idx, J3DTevStage stage) { mTevStage[idx] = stage; }
+ /* 80321E7C */ virtual J3DTevStage* getTevStage(u32 idx) { return &mTevStage[idx]; }
+ /* 80321EC8 */ virtual void setTevSwapModeInfo(u32 idx, J3DTevSwapModeInfo const* info) { mTevStage[idx].setTevSwapModeInfo(*info); }
+ /* 80321E90 */ virtual void setTevSwapModeInfo(u32 idx, J3DTevSwapModeInfo info) { mTevStage[idx].setTevSwapModeInfo(info); }
+ /* 80321F10 */ virtual void setTevSwapModeTable(u32 idx, J3DTevSwapModeTable const* table) { mTevSwapModeTable[idx] = *table; }
+ /* 80321F00 */ virtual void setTevSwapModeTable(u32 idx, J3DTevSwapModeTable table) { mTevSwapModeTable[idx] = table; }
+ /* 80321F20 */ virtual J3DTevSwapModeTable* getTevSwapModeTable(u32 idx) { return &mTevSwapModeTable[idx]; }
+ /* 80321F44 */ virtual void setIndTevStage(u32 idx, J3DIndTevStage const* stage) { mIndTevStage[idx] = *stage; }
+ /* 80321F30 */ virtual void setIndTevStage(u32 idx, J3DIndTevStage stage) { mIndTevStage[idx] = stage; }
+ /* 80321F58 */ virtual J3DIndTevStage* getIndTevStage(u32 idx) { return &mIndTevStage[idx]; }
+ /* 80321F6C */ virtual u32 getTexNoOffset() const { return mTexNoOffset; }
+ /* 80321F74 */ virtual u32 getTevRegOffset() const { return mTevRegOffset; }
+ /* 80321F7C */ virtual void setTevRegOffset(u32 offset) { mTevRegOffset = offset; }
+ /* 80321F84 */ virtual ~J3DTevBlock16() {}
/* 0x008 */ u16 mTexNo[8];
/* 0x018 */ J3DTevOrder mTevOrder[16];
@@ -591,27 +591,27 @@ public:
/* 8031C274 */ virtual void patchTexNo();
/* 8031C2E4 */ virtual void patchTevReg();
/* 8031C2E8 */ virtual void patchTexNoAndTexCoordScale();
- /* 80322770 */ virtual void ptrToIndex();
- /* 80322774 */ virtual void indexToPtr();
- /* 80322798 */ virtual u32 getType();
+ /* 80322770 */ virtual void ptrToIndex() {}
+ /* 80322774 */ virtual void indexToPtr() { indexToPtr_private(mTexNoOffset); }
+ /* 80322798 */ virtual u32 getType() { return 'TVB1'; }
/* 80317BBC */ virtual s32 countDLSize();
- /* 803227B4 */ virtual void setTexNo(u32, u16 const*);
- /* 803227A4 */ virtual void setTexNo(u32, u16);
- /* 803227C8 */ virtual u16 getTexNo(u32) const;
- /* 803227EC */ virtual void setTevOrder(u32, J3DTevOrder const*);
- /* 803227D8 */ virtual void setTevOrder(u32, J3DTevOrder);
- /* 80322800 */ virtual J3DTevOrder* getTevOrder(u32);
- /* 80322818 */ virtual void setTevStageNum(u8 const*);
- /* 80322814 */ virtual void setTevStageNum(u8);
- /* 8032281C */ virtual u8 getTevStageNum() const;
- /* 80322860 */ virtual void setTevStage(u32, J3DTevStage const*);
- /* 80322824 */ virtual void setTevStage(u32, J3DTevStage);
- /* 8032289C */ virtual J3DTevStage* getTevStage(u32);
- /* 803228C4 */ virtual void setIndTevStage(u32, J3DIndTevStage const*);
- /* 803228B0 */ virtual void setIndTevStage(u32, J3DIndTevStage);
- /* 803228D8 */ virtual J3DIndTevStage* getIndTevStage(u32);
- /* 803228EC */ virtual u32 getTexNoOffset() const;
- /* 803228F4 */ virtual ~J3DTevBlock1();
+ /* 803227B4 */ virtual void setTexNo(u32 idx, u16 const* no) { mTexNo[idx] = *no; }
+ /* 803227A4 */ virtual void setTexNo(u32 idx, u16 no) { mTexNo[idx] = no; }
+ /* 803227C8 */ virtual u16 getTexNo(u32 idx) const { return mTexNo[idx]; }
+ /* 803227EC */ virtual void setTevOrder(u32 idx, J3DTevOrder const* order) { mTevOrder[idx] = *order; }
+ /* 803227D8 */ virtual void setTevOrder(u32 idx, J3DTevOrder order) { mTevOrder[idx] = order; }
+ /* 80322800 */ virtual J3DTevOrder* getTevOrder(u32 idx) { return &mTevOrder[idx]; }
+ /* 80322818 */ virtual void setTevStageNum(u8 const* num) {}
+ /* 80322814 */ virtual void setTevStageNum(u8 num) {}
+ /* 8032281C */ virtual u8 getTevStageNum() const { return 1; }
+ /* 80322860 */ virtual void setTevStage(u32 idx, J3DTevStage const* stage) { mTevStage[idx] = *stage; }
+ /* 80322824 */ virtual void setTevStage(u32 idx, J3DTevStage stage) { mTevStage[idx] = stage; }
+ /* 8032289C */ virtual J3DTevStage* getTevStage(u32 idx) { return &mTevStage[idx]; }
+ /* 803228C4 */ virtual void setIndTevStage(u32 idx, J3DIndTevStage const* stage) { mIndTevStage[idx] = *stage; }
+ /* 803228B0 */ virtual void setIndTevStage(u32 idx, J3DIndTevStage stage) { mIndTevStage[idx] = stage; }
+ /* 803228D8 */ virtual J3DIndTevStage* getIndTevStage(u32 idx) { return &mIndTevStage[idx]; }
+ /* 803228EC */ virtual u32 getTexNoOffset() const { return mTexNoOffset; }
+ /* 803228F4 */ virtual ~J3DTevBlock1() {}
/* 0x08 */ u16 mTexNo[1];
/* 0x0A */ J3DTevOrder mTevOrder[1];
@@ -799,35 +799,35 @@ struct J3DAlphaComp {
*/
class J3DPEBlock {
public:
- /* 80317348 */ virtual void reset(J3DPEBlock*);
+ /* 80317348 */ virtual void reset(J3DPEBlock*) {}
virtual void load() = 0;
- /* 8000DBCC */ virtual void patch();
- /* 80317344 */ virtual void diff(u32);
- /* 8031735C */ virtual void diffFog();
- /* 80317360 */ virtual void diffBlend();
- virtual s32 countDLSize();
+ /* 8000DBCC */ virtual void patch() {}
+ /* 80317344 */ virtual void diff(u32) {}
+ /* 8031735C */ virtual void diffFog() {}
+ /* 80317360 */ virtual void diffBlend() {}
+ /* 8031731C */ virtual s32 countDLSize() { return 0; }
virtual u32 getType() = 0;
- /* 80317368 */ virtual void setFog(J3DFog);
- /* 80317364 */ virtual void setFog(J3DFog*);
+ /* 80317368 */ virtual void setFog(J3DFog) {}
+ /* 80317364 */ virtual void setFog(J3DFog*) {}
/* 8000DF5C */ virtual J3DFog* getFog() { return NULL; }
- /* 8031736C */ virtual void setAlphaComp(J3DAlphaComp const*);
+ /* 8031736C */ virtual void setAlphaComp(J3DAlphaComp const*) {}
/* 8000E01C */ virtual void setAlphaComp(J3DAlphaComp const&) {}
/* 8000DF54 */ virtual J3DAlphaComp* getAlphaComp() { return NULL; }
- /* 80317370 */ virtual void setBlend(J3DBlend const*);
+ /* 80317370 */ virtual void setBlend(J3DBlend const*) {}
/* 8000E018 */ virtual void setBlend(J3DBlend const&) {}
/* 8000DF4C */ virtual J3DBlend* getBlend() { return NULL; }
- /* 80317374 */ virtual void setZMode(J3DZMode const*);
+ /* 80317374 */ virtual void setZMode(J3DZMode const*) {}
/* 8000E014 */ virtual void setZMode(J3DZMode) {}
/* 8000DF44 */ virtual J3DZMode* getZMode() { return NULL; }
- /* 80317378 */ virtual void setZCompLoc(u8 const*);
+ /* 80317378 */ virtual void setZCompLoc(u8 const*) {}
/* 8000E010 */ virtual void setZCompLoc(u8) {}
/* 8000DF3C */ virtual u8 getZCompLoc() const { return 0; }
- /* 80317380 */ virtual void setDither(u8 const*);
- /* 8031737C */ virtual void setDither(u8);
- /* 80317384 */ virtual u8 getDither() const;
- /* 8031738C */ virtual u32 getFogOffset() const;
- /* 80317394 */ virtual void setFogOffset(u32);
- virtual ~J3DPEBlock() {}
+ /* 80317380 */ virtual void setDither(u8 const*) {}
+ /* 8031737C */ virtual void setDither(u8) {}
+ /* 80317384 */ virtual u8 getDither() const { return 0; }
+ /* 8031738C */ virtual u32 getFogOffset() const { return 0; }
+ /* 80317394 */ virtual void setFogOffset(u32) {}
+ /* 803172B4 */ virtual ~J3DPEBlock() {}
};
/**
@@ -835,9 +835,9 @@ public:
*
*/
struct J3DPEBlockNull : public J3DPEBlock {
- /* 803329A0 */ virtual void load(); // {}
- /* 803329A4 */ virtual u32 getType(); // { return 'PENL'; }
- /* 803329B0 */ virtual ~J3DPEBlockNull(); // {}
+ /* 803329A0 */ virtual void load() {}
+ /* 803329A4 */ virtual u32 getType() { return 'PENL'; }
+ /* 803329B0 */ virtual ~J3DPEBlockNull() {}
};
/**
@@ -848,8 +848,8 @@ class J3DPEBlockXlu : public J3DPEBlock {
public:
/* 8031E98C */ virtual void load();
/* 80317BF4 */ virtual s32 countDLSize();
- /* 80323258 */ virtual u32 getType();
- /* 80323264 */ virtual ~J3DPEBlockXlu();
+ /* 80323258 */ virtual u32 getType() { return 'PEXL'; }
+ /* 80323264 */ virtual ~J3DPEBlockXlu() {}
};
/**
@@ -860,8 +860,8 @@ class J3DPEBlockTexEdge : public J3DPEBlock {
public:
/* 8031E6C8 */ virtual void load();
/* 80317BEC */ virtual s32 countDLSize();
- /* 803232C0 */ virtual u32 getType();
- /* 803232CC */ virtual ~J3DPEBlockTexEdge();
+ /* 803232C0 */ virtual u32 getType() { return 'PEED'; }
+ /* 803232CC */ virtual ~J3DPEBlockTexEdge() {}
};
/**
@@ -872,8 +872,8 @@ class J3DPEBlockOpa : public J3DPEBlock {
public:
/* 8031E408 */ virtual void load();
/* 80317BE4 */ virtual s32 countDLSize();
- /* 80323328 */ virtual u32 getType();
- /* 80323334 */ virtual ~J3DPEBlockOpa();
+ /* 80323328 */ virtual u32 getType() { return 'PEOP'; }
+ /* 80323334 */ virtual ~J3DPEBlockOpa() {}
};
/**
@@ -894,28 +894,28 @@ public:
/* 8031F940 */ virtual void diffFog();
/* 8031F9B8 */ virtual void diffBlend();
/* 80317C04 */ virtual s32 countDLSize();
- /* 8032194C */ virtual u32 getType();
- /* 8032197C */ virtual void setFog(J3DFog);
- /* 80321958 */ virtual void setFog(J3DFog*);
- /* 803219A0 */ virtual J3DFog* getFog();
- /* 803219C4 */ virtual void setAlphaComp(J3DAlphaComp const*);
- /* 803219A8 */ virtual void setAlphaComp(J3DAlphaComp const&);
- /* 803219E0 */ virtual J3DAlphaComp* getAlphaComp();
- /* 803219F4 */ virtual void setBlend(J3DBlend const*);
- /* 803219E8 */ virtual void setBlend(J3DBlend const&);
- /* 80321A00 */ virtual J3DBlend* getBlend();
- /* 80321A14 */ virtual void setZMode(J3DZMode const*);
- /* 80321A08 */ virtual void setZMode(J3DZMode);
- /* 80321A20 */ virtual J3DZMode* getZMode();
- /* 80321A30 */ virtual void setZCompLoc(u8 const*);
- /* 80321A28 */ virtual void setZCompLoc(u8);
- /* 80321A3C */ virtual u8 getZCompLoc() const;
- /* 80321A4C */ virtual void setDither(u8 const*);
- /* 80321A44 */ virtual void setDither(u8);
- /* 80321A58 */ virtual u8 getDither() const;
- /* 80321A60 */ virtual u32 getFogOffset() const;
- /* 80321A68 */ virtual void setFogOffset(u32);
- /* 80321A70 */ virtual ~J3DPEBlockFull();
+ /* 8032194C */ virtual u32 getType() { return 'PEFL'; }
+ /* 8032197C */ virtual void setFog(J3DFog fog) { mFog.setFogInfo(fog.getFogInfo()); }
+ /* 80321958 */ virtual void setFog(J3DFog* pFog) { mFog.setFogInfo(pFog->getFogInfo()); }
+ /* 803219A0 */ virtual J3DFog* getFog() { return &mFog; }
+ /* 803219C4 */ virtual void setAlphaComp(J3DAlphaComp const* alphaComp) { mAlphaComp = *alphaComp; }
+ /* 803219A8 */ virtual void setAlphaComp(J3DAlphaComp const& alphaComp) { mAlphaComp = alphaComp; }
+ /* 803219E0 */ virtual J3DAlphaComp* getAlphaComp() { return &mAlphaComp; }
+ /* 803219F4 */ virtual void setBlend(J3DBlend const* blend) { mBlend = *blend; }
+ /* 803219E8 */ virtual void setBlend(J3DBlend const& blend) { mBlend = blend; }
+ /* 80321A00 */ virtual J3DBlend* getBlend() { return &mBlend; }
+ /* 80321A14 */ virtual void setZMode(J3DZMode const* zMode) { mZMode = *zMode; }
+ /* 80321A08 */ virtual void setZMode(J3DZMode zMode) { mZMode = zMode; }
+ /* 80321A20 */ virtual J3DZMode* getZMode() { return &mZMode; }
+ /* 80321A30 */ virtual void setZCompLoc(u8 const* zCompLoc) { mZCompLoc = *zCompLoc; }
+ /* 80321A28 */ virtual void setZCompLoc(u8 zCompLoc) { mZCompLoc = zCompLoc; }
+ /* 80321A3C */ virtual u8 getZCompLoc() const { return mZCompLoc; }
+ /* 80321A4C */ virtual void setDither(u8 const* dither) { mDither = *dither; }
+ /* 80321A44 */ virtual void setDither(u8 dither) { mDither = dither; }
+ /* 80321A58 */ virtual u8 getDither() const { return mDither; }
+ /* 80321A60 */ virtual u32 getFogOffset() const { return mFogOffset; }
+ /* 80321A68 */ virtual void setFogOffset(u32 fogOffset) { mFogOffset = fogOffset; }
+ /* 80321A70 */ virtual ~J3DPEBlockFull() {}
/* 0x04 */ J3DFog mFog;
/* 0x30 */ J3DAlphaComp mAlphaComp;
@@ -939,26 +939,26 @@ public:
/* 803211B4 */ virtual void reset(J3DPEBlock*);
/* 8031EC50 */ virtual void load();
- /* 80321ACC */ virtual void diff(u32);
+ /* 80321ACC */ virtual void diff(u32 param_0) { if (param_0 & 0x20000000) diffBlend(); };
/* 8031F0D8 */ virtual void diffBlend();
/* 80317BFC */ virtual s32 countDLSize();
- /* 80321B00 */ virtual u32 getType();
- /* 80321B28 */ virtual void setAlphaComp(J3DAlphaComp const*);
- /* 80321B0C */ virtual void setAlphaComp(J3DAlphaComp const&);
- /* 80321B44 */ virtual J3DAlphaComp* getAlphaComp();
- /* 80321B58 */ virtual void setBlend(J3DBlend const*);
- /* 80321B4C */ virtual void setBlend(J3DBlend const&);
- /* 80321B64 */ virtual J3DBlend* getBlend();
- /* 80321B78 */ virtual void setZMode(J3DZMode const*);
- /* 80321B6C */ virtual void setZMode(J3DZMode);
- /* 80321B84 */ virtual J3DZMode* getZMode();
- /* 80321B94 */ virtual void setZCompLoc(u8 const*);
- /* 80321B8C */ virtual void setZCompLoc(u8);
- /* 80321BA0 */ virtual u8 getZCompLoc() const;
- /* 80321BB0 */ virtual void setDither(u8 const*);
- /* 80321BA8 */ virtual void setDither(u8);
- /* 80321BBC */ virtual u8 getDither() const;
- /* 80321BC4 */ virtual ~J3DPEBlockFogOff();
+ /* 80321B00 */ virtual u32 getType() { return 'PEFG'; }
+ /* 80321B28 */ virtual void setAlphaComp(J3DAlphaComp const* alphaComp) { mAlphaComp = *alphaComp; }
+ /* 80321B0C */ virtual void setAlphaComp(J3DAlphaComp const& alphaComp) { mAlphaComp = alphaComp; }
+ /* 80321B44 */ virtual J3DAlphaComp* getAlphaComp() { return &mAlphaComp; }
+ /* 80321B58 */ virtual void setBlend(J3DBlend const* blend) { mBlend = *blend; }
+ /* 80321B4C */ virtual void setBlend(J3DBlend const& blend) { mBlend = blend; }
+ /* 80321B64 */ virtual J3DBlend* getBlend() { return &mBlend; }
+ /* 80321B78 */ virtual void setZMode(J3DZMode const* zMode) { mZMode = *zMode; }
+ /* 80321B6C */ virtual void setZMode(J3DZMode zMode) { mZMode = zMode; }
+ /* 80321B84 */ virtual J3DZMode* getZMode() { return &mZMode; }
+ /* 80321B94 */ virtual void setZCompLoc(u8 const* zCompLoc) { mZCompLoc = *zCompLoc; }
+ /* 80321B8C */ virtual void setZCompLoc(u8 zCompLoc) { mZCompLoc = zCompLoc; }
+ /* 80321BA0 */ virtual u8 getZCompLoc() const { return mZCompLoc; }
+ /* 80321BB0 */ virtual void setDither(u8 const* dither) { mDither = *dither; }
+ /* 80321BA8 */ virtual void setDither(u8 dither) { mDither = dither; }
+ /* 80321BBC */ virtual u8 getDither() const { return mDither; }
+ /* 80321BC4 */ virtual ~J3DPEBlockFogOff() {}
/* 0x04 */ J3DAlphaComp mAlphaComp;
/* 0x08 */ J3DBlend mBlend;
@@ -1049,21 +1049,21 @@ struct J3DIndTexOrder : public J3DIndTexOrderInfo {
*/
class J3DIndBlock {
public:
- /* 8031734C */ virtual void reset(J3DIndBlock*);
+ /* 8031734C */ virtual void reset(J3DIndBlock*) {}
virtual void diff(u32) = 0;
virtual void load() = 0;
- /* 80317314 */ virtual s32 countDLSize();
+ /* 80317314 */ virtual s32 countDLSize() { return 0; }
virtual u32 getType() = 0;
/* 8000E0A0 */ virtual void setIndTexStageNum(u8) {}
/* 8000DF7C */ virtual u8 getIndTexStageNum() const { return 0; }
- /* 80317410 */ virtual void setIndTexOrder(u32, J3DIndTexOrder);
- /* 8031740C */ virtual void setIndTexOrder(u32, J3DIndTexOrder const*);
+ /* 80317410 */ virtual void setIndTexOrder(u32, J3DIndTexOrder) {}
+ /* 8031740C */ virtual void setIndTexOrder(u32, J3DIndTexOrder const*) {}
/* 8000DF74 */ virtual J3DIndTexOrder* getIndTexOrder(u32) { return NULL; }
- /* 80317414 */ virtual void setIndTexMtx(u32, J3DIndTexMtx const*);
+ /* 80317414 */ virtual void setIndTexMtx(u32, J3DIndTexMtx const*) {}
/* 8000E060 */ virtual void setIndTexMtx(u32, J3DIndTexMtx) {}
/* 8000DF6C */ virtual J3DIndTexMtx* getIndTexMtx(u32) { return NULL; }
/* 8000E020 */ virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale) {}
- /* 80317418 */ virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale const*);
+ /* 80317418 */ virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale const*) {}
/* 8000DF64 */ virtual J3DIndTexCoordScale* getIndTexCoordScale(u32) { return NULL; }
/* 8031726C */ virtual ~J3DIndBlock() {}
};
@@ -1074,11 +1074,11 @@ public:
*/
class J3DIndBlockNull : public J3DIndBlock {
public:
- /* 803173A0 */ virtual void reset(J3DIndBlock*);
- /* 80317398 */ virtual void diff(u32);
- /* 8031739C */ virtual void load();
- /* 803173A4 */ virtual u32 getType();
- /* 803173B0 */ virtual ~J3DIndBlockNull();
+ /* 803173A0 */ virtual void reset(J3DIndBlock*) {}
+ /* 80317398 */ virtual void diff(u32) {}
+ /* 8031739C */ virtual void load() {}
+ /* 803173A4 */ virtual u32 getType() { return 'IBLN'; }
+ /* 803173B0 */ virtual ~J3DIndBlockNull() {}
};
/**
@@ -1096,19 +1096,19 @@ public:
/* 8031E328 */ virtual void diff(u32);
/* 8031E12C */ virtual void load();
/* 80317BDC */ virtual s32 countDLSize();
- /* 80323390 */ virtual u32 getType();
- /* 8032339C */ virtual void setIndTexStageNum(u8);
- /* 803233A4 */ virtual u8 getIndTexStageNum() const;
- /* 803233AC */ virtual void setIndTexOrder(u32, J3DIndTexOrder);
- /* 803233C0 */ virtual void setIndTexOrder(u32, J3DIndTexOrder const*);
- /* 803233D4 */ virtual J3DIndTexOrder* getIndTexOrder(u32);
- /* 8032341C */ virtual void setIndTexMtx(u32, J3DIndTexMtx const*);
- /* 803233E8 */ virtual void setIndTexMtx(u32, J3DIndTexMtx);
- /* 80323450 */ virtual J3DIndTexMtx* getIndTexMtx(u32);
- /* 80323478 */ virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale const*);
- /* 80323464 */ virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale);
- /* 8032348C */ virtual J3DIndTexCoordScale* getIndTexCoordScale(u32);
- /* 803234A0 */ virtual ~J3DIndBlockFull();
+ /* 80323390 */ virtual u32 getType() { return 'IBLF'; }
+ /* 8032339C */ virtual void setIndTexStageNum(u8 num) { mIndTexStageNum = num; }
+ /* 803233A4 */ virtual u8 getIndTexStageNum() const { return mIndTexStageNum; }
+ /* 803233AC */ virtual void setIndTexOrder(u32 idx, J3DIndTexOrder order) { mIndTexOrder[idx] = order; }
+ /* 803233C0 */ virtual void setIndTexOrder(u32 idx, J3DIndTexOrder const* order) { mIndTexOrder[idx] = *order; }
+ /* 803233D4 */ virtual J3DIndTexOrder* getIndTexOrder(u32 idx) { return &mIndTexOrder[idx]; }
+ /* 8032341C */ virtual void setIndTexMtx(u32 idx, J3DIndTexMtx const* mtx) { mIndTexMtx[idx] = *mtx; }
+ /* 803233E8 */ virtual void setIndTexMtx(u32 idx, J3DIndTexMtx mtx) { mIndTexMtx[idx] = mtx; }
+ /* 80323450 */ virtual J3DIndTexMtx* getIndTexMtx(u32 idx) { return &mIndTexMtx[idx]; }
+ /* 80323478 */ virtual void setIndTexCoordScale(u32 idx, J3DIndTexCoordScale const* scale) { mIndTexCoordScale[idx] = *scale; }
+ /* 80323464 */ virtual void setIndTexCoordScale(u32 idx, J3DIndTexCoordScale scale) { mIndTexCoordScale[idx] = scale; }
+ /* 8032348C */ virtual J3DIndTexCoordScale* getIndTexCoordScale(u32 idx) { return &mIndTexCoordScale[idx]; }
+ /* 803234A0 */ virtual ~J3DIndBlockFull() {}
/* 0x04 */ u8 mIndTexStageNum;
/* 0x05 */ J3DIndTexOrder mIndTexOrder[4];
@@ -1132,12 +1132,13 @@ struct J3DColorChanInfo {
extern const J3DColorChanInfo j3dDefaultColorChanInfo;
-// static inline u32 setChanCtrlMacro(u8 enable, GXColorSrc ambSrc, GXColorSrc matSrc, u32 lightMask,
-// GXDiffuseFn diffuseFn, GXAttnFn attnFn) {
-// return (matSrc << 0) | enable << 1 | (lightMask & 0x0F) << 2 | ambSrc << 6 |
-// ((attnFn == GX_AF_SPEC) ? GX_DF_NONE : diffuseFn) << 7 | (attnFn != GX_AF_NONE) << 9 |
-// (attnFn != GX_AF_SPEC) << 10 | (lightMask >> 4 & 0x0F) << 11;
-// }
+static inline u32 setChanCtrlMacro(u8 enable, GXColorSrc ambSrc, GXColorSrc matSrc, u32 lightMask,
+ GXDiffuseFn diffuseFn, GXAttnFn attnFn) {
+ u32 tmp = matSrc << 0;
+ return tmp | enable << 1 | (lightMask & 0x0F) << 2 | ambSrc << 6 |
+ ((attnFn == GX_AF_SPEC) ? GX_DF_NONE : diffuseFn) << 7 | (attnFn != GX_AF_NONE) << 9 |
+ (attnFn != GX_AF_SPEC) << 10 | (lightMask >> 4 & 0x0F) << 11;
+}
/**
* @ingroup jsystem-j3d
@@ -1173,25 +1174,24 @@ struct J3DColorChan {
// ((param_4 != 0) << 10) | ((param_4 != 2) << 9) | ((param_3 != 0) << 7) | ((param_5 != 0) << 6) |
// (b3 << 5) | (b2 << 4) | (b1 << 3) | (b0 << 2) | ((param_0 != 0) << 1) | param_1;
}
- u8 getLightMask() { return (((mColorChanID & 0x7800) >> 7) | (mColorChanID & 0x3c) >> 2); }
+ u8 getLightMask() { return ((mColorChanID >> 2) & 0xf) | ((mColorChanID >> 11) & 0xf) << 4; }
void setLightMask(u8 param_1) {
mColorChanID = (mColorChanID & ~0x3c) | ((param_1 & 0xf) << 2);
mColorChanID = (mColorChanID & ~0x7800) | ((param_1 & 0xf0) << 7);
}
- // u8 getEnable() { return (mColorChanID & 2) >> 1; }
- // GXColorSrc getAmbSrc() { return (GXColorSrc)((mColorChanID & 0x40) >> 6); }
- // GXColorSrc getMatSrc() { return (GXColorSrc)(mColorChanID & 1); }
- // GXDiffuseFn getDiffuseFn() { return (GXDiffuseFn) ((mColorChanID & 0x180) >> 7); }
- // GXAttnFn getAttnFn() {
- // u8 AttnArr[] = {2,0,2,1};
- // return (GXAttnFn)AttnArr[(mColorChanID & 0x600) >> 9];
- // }
+ u8 getEnable() { return (mColorChanID >> 1) & 1; }
+ GXColorSrc getAmbSrc() { return (GXColorSrc)((mColorChanID >> 6) & 1); }
+ GXColorSrc getMatSrc() { return (GXColorSrc)(mColorChanID & 1); }
+ GXDiffuseFn getDiffuseFn() { return (GXDiffuseFn) ((mColorChanID >> 7) & 3); }
+ // This function has to appear in J3DMatBlock.cpp because it generates extra data in .sdata2
+ inline GXAttnFn getAttnFn();
- // void load() {
- // J3DGDWrite_u32(setChanCtrlMacro(getEnable(), getAmbSrc(), getMatSrc(), getLightMask(),
- // getDiffuseFn(), getAttnFn()));
- // }
+ // NONMATCHING regalloc
+ void load() {
+ J3DGDWrite_u32(setChanCtrlMacro(getEnable(), getAmbSrc(), getMatSrc(), getLightMask(),
+ getDiffuseFn(), getAttnFn()));
+ }
/* 0x0 */ u16 mColorChanID;
};
@@ -1202,39 +1202,39 @@ struct J3DColorChan {
*/
class J3DColorBlock {
public:
- /* 80317324 */ virtual void load();
- /* 80317358 */ virtual void reset(J3DColorBlock*);
- /* 8031733C */ virtual void patch();
- /* 80317434 */ virtual void patchMatColor();
- /* 8000DBD0 */ virtual void patchLight();
- /* 80317340 */ virtual void diff(u32);
- /* 80317438 */ virtual void diffAmbColor();
- /* 8031743C */ virtual void diffMatColor();
- /* 80317440 */ virtual void diffColorChan();
- /* 80317444 */ virtual void diffLightObj(u32);
- /* 80317304 */ virtual s32 countDLSize();
+ /* 80317324 */ virtual void load() {}
+ /* 80317358 */ virtual void reset(J3DColorBlock*) {}
+ /* 8031733C */ virtual void patch() {}
+ /* 80317434 */ virtual void patchMatColor() {}
+ /* 8000DBD0 */ virtual void patchLight() {}
+ /* 80317340 */ virtual void diff(u32) {}
+ /* 80317438 */ virtual void diffAmbColor() {}
+ /* 8031743C */ virtual void diffMatColor() {}
+ /* 80317440 */ virtual void diffColorChan() {}
+ /* 80317444 */ virtual void diffLightObj(u32) {}
+ /* 80317304 */ virtual s32 countDLSize() { return 0; }
virtual u32 getType() = 0;
- /* 80317448 */ virtual void setMatColor(u32, J3DGXColor const*);
+ /* 80317448 */ virtual void setMatColor(u32, J3DGXColor const*) {}
/* 8000E0DC */ virtual void setMatColor(u32, J3DGXColor) {}
/* 8000E000 */ virtual J3DGXColor* getMatColor(u32) { return NULL; }
- /* 801A4C0C */ virtual void setAmbColor(u32, J3DGXColor const*);
+ /* 801A4C0C */ virtual void setAmbColor(u32, J3DGXColor const*) {}
/* 8000E0D4 */ virtual void setAmbColor(u32, J3DGXColor) {}
/* 8000DFF0 */ virtual J3DGXColor* getAmbColor(u32) { return NULL; }
/* 8000E0E0 */ virtual void setColorChanNum(u8) {}
- /* 8031744C */ virtual void setColorChanNum(u8 const*);
+ /* 8031744C */ virtual void setColorChanNum(u8 const*) {}
/* 8000E008 */ virtual u8 getColorChanNum() const { return 0; }
/* 8000E0D8 */ virtual void setColorChan(u32, J3DColorChan const&) {}
- /* 80317450 */ virtual void setColorChan(u32, J3DColorChan const*);
+ /* 80317450 */ virtual void setColorChan(u32, J3DColorChan const*) {}
/* 8000DFF8 */ virtual J3DColorChan* getColorChan(u32) { return NULL; }
- /* 801A4C08 */ virtual void setLight(u32, J3DLightObj*);
- /* 80317454 */ virtual bool getLight(u32);
- /* 80317460 */ virtual void setCullMode(u8 const*);
- /* 8031745C */ virtual void setCullMode(u8);
- /* 80317328 */ virtual s32 getCullMode() const;
- /* 80317464 */ virtual u32 getMatColorOffset() const;
- /* 8031746C */ virtual u32 getColorChanOffset() const;
- /* 80317474 */ virtual void setMatColorOffset(u32);
- /* 80317478 */ virtual void setColorChanOffset(u32);
+ /* 801A4C08 */ virtual void setLight(u32, J3DLightObj*) {}
+ /* 80317454 */ virtual J3DLightObj* getLight(u32) { return NULL; }
+ /* 80317460 */ virtual void setCullMode(u8 const*) {}
+ /* 8031745C */ virtual void setCullMode(u8) {}
+ /* 80317328 */ virtual s32 getCullMode() const { return 2; }
+ /* 80317464 */ virtual u32 getMatColorOffset() const { return 0; }
+ /* 8031746C */ virtual u32 getColorChanOffset() const { return 0; }
+ /* 80317474 */ virtual void setMatColorOffset(u32) {}
+ /* 80317478 */ virtual void setColorChanOffset(u32) {}
/* 80317138 */ virtual ~J3DColorBlock() {}
};
@@ -1243,8 +1243,8 @@ public:
*
*/
struct J3DColorBlockNull : public J3DColorBlock {
- /* 80332B2C */ virtual u32 getType(); // { return 'CLNL'; }
- /* 80332B38 */ virtual ~J3DColorBlockNull(); // {}
+ /* 80332B2C */ virtual u32 getType() { return 'CLNL'; }
+ /* 80332B38 */ virtual ~J3DColorBlockNull() {}
};
/**
@@ -1269,29 +1269,29 @@ public:
/* 8031A4D4 */ virtual void diffColorChan();
/* 8031A8E0 */ virtual void diffLightObj(u32);
/* 80317B94 */ virtual s32 countDLSize();
- /* 80322E80 */ virtual u32 getType();
- /* 80322EB8 */ virtual void setMatColor(u32, J3DGXColor const*);
- /* 80322E8C */ virtual void setMatColor(u32, J3DGXColor);
- /* 80322EE4 */ virtual J3DGXColor* getMatColor(u32);
- /* 80322F24 */ virtual void setAmbColor(u32, J3DGXColor const*);
- /* 80322EF8 */ virtual void setAmbColor(u32, J3DGXColor);
- /* 80322F50 */ virtual J3DGXColor* getAmbColor(u32);
- /* 80322F70 */ virtual void setColorChanNum(u8);
- /* 80322F64 */ virtual void setColorChanNum(u8 const*);
- /* 80322F78 */ virtual u8 getColorChanNum() const;
- /* 80322F94 */ virtual void setColorChan(u32, J3DColorChan const&);
- /* 80322F80 */ virtual void setColorChan(u32, J3DColorChan const*);
- /* 80322FA8 */ virtual J3DColorChan* getColorChan(u32);
- /* 80322FBC */ virtual void setLight(u32, J3DLightObj*);
- /* 80322FCC */ virtual bool getLight(u32);
- /* 80322FE4 */ virtual void setCullMode(u8 const*);
- /* 80322FDC */ virtual void setCullMode(u8);
- /* 80322FF0 */ virtual s32 getCullMode() const;
- /* 80322FF8 */ virtual u32 getMatColorOffset() const;
- /* 80323000 */ virtual u32 getColorChanOffset() const;
- /* 80323008 */ virtual void setMatColorOffset(u32);
- /* 80323010 */ virtual void setColorChanOffset(u32);
- /* 80323018 */ virtual ~J3DColorBlockLightOn();
+ /* 80322E80 */ virtual u32 getType() { return 'CLON'; }
+ /* 80322EB8 */ virtual void setMatColor(u32 idx, J3DGXColor const* color) { mMatColor[idx] = *color; }
+ /* 80322E8C */ virtual void setMatColor(u32 idx, J3DGXColor color) { mMatColor[idx] = color; }
+ /* 80322EE4 */ virtual J3DGXColor* getMatColor(u32 idx) { return &mMatColor[idx]; }
+ /* 80322F24 */ virtual void setAmbColor(u32 idx, J3DGXColor const* color) { mAmbColor[idx] = *color; }
+ /* 80322EF8 */ virtual void setAmbColor(u32 idx, J3DGXColor color) { mAmbColor[idx] = color; }
+ /* 80322F50 */ virtual J3DGXColor* getAmbColor(u32 idx) { return &mAmbColor[idx]; }
+ /* 80322F70 */ virtual void setColorChanNum(u8 num) { mColorChanNum = num; }
+ /* 80322F64 */ virtual void setColorChanNum(u8 const* num) { mColorChanNum = *num; }
+ /* 80322F78 */ virtual u8 getColorChanNum() const { return mColorChanNum; }
+ /* 80322F94 */ virtual void setColorChan(u32 idx, J3DColorChan const& chan) { mColorChan[idx] = chan; }
+ /* 80322F80 */ virtual void setColorChan(u32 idx, J3DColorChan const* chan) { mColorChan[idx] = *chan; }
+ /* 80322FA8 */ virtual J3DColorChan* getColorChan(u32 idx) { return &mColorChan[idx]; }
+ /* 80322FBC */ virtual void setLight(u32 idx, J3DLightObj* light) { mLight[idx] = light; }
+ /* 80322FCC */ virtual J3DLightObj* getLight(u32 idx) { return mLight[idx]; }
+ /* 80322FE4 */ virtual void setCullMode(u8 const* mode) { mCullMode = *mode; }
+ /* 80322FDC */ virtual void setCullMode(u8 mode) { mCullMode = mode; }
+ /* 80322FF0 */ virtual s32 getCullMode() const { return mCullMode; }
+ /* 80322FF8 */ virtual u32 getMatColorOffset() const { return mMatColorOffset; }
+ /* 80323000 */ virtual u32 getColorChanOffset() const { return mColorChanOffset; }
+ /* 80323008 */ virtual void setMatColorOffset(u32 offset) { mMatColorOffset = offset; }
+ /* 80323010 */ virtual void setColorChanOffset(u32 offset) { mColorChanOffset = offset; }
+ /* 80323018 */ virtual ~J3DColorBlockLightOn() {}
/* 0x04 */ J3DGXColor mMatColor[2];
/* 0x0C */ J3DGXColor mAmbColor[2];
@@ -1323,23 +1323,23 @@ public:
/* 80319BB4 */ virtual void diffMatColor();
/* 80319D30 */ virtual void diffColorChan();
/* 80317B84 */ virtual s32 countDLSize();
- /* 80323560 */ virtual u32 getType();
- /* 80323184 */ virtual void setMatColor(u32, J3DGXColor const*);
- /* 80323158 */ virtual void setMatColor(u32, J3DGXColor);
- /* 803231B0 */ virtual J3DGXColor* getMatColor(u32);
- /* 803231D0 */ virtual void setColorChanNum(u8);
- /* 803231C4 */ virtual void setColorChanNum(u8 const*);
- /* 803231D8 */ virtual u8 getColorChanNum() const;
- /* 803231F4 */ virtual void setColorChan(u32, J3DColorChan const&);
- /* 803231E0 */ virtual void setColorChan(u32, J3DColorChan const*);
- /* 80323208 */ virtual J3DColorChan* getColorChan(u32);
- /* 80323224 */ virtual void setCullMode(u8 const*);
- /* 8032321C */ virtual void setCullMode(u8);
- /* 80323230 */ virtual s32 getCullMode() const;
- /* 80323238 */ virtual u32 getMatColorOffset() const;
- /* 80323240 */ virtual u32 getColorChanOffset() const;
- /* 80323248 */ virtual void setMatColorOffset(u32);
- /* 80323250 */ virtual void setColorChanOffset(u32);
+ /* 80323560 */ virtual u32 getType() { return 'CLOF'; }
+ /* 80323184 */ virtual void setMatColor(u32 idx, J3DGXColor const* color) { mMatColor[idx] = *color; }
+ /* 80323158 */ virtual void setMatColor(u32 idx, J3DGXColor color) { mMatColor[idx] = color; }
+ /* 803231B0 */ virtual J3DGXColor* getMatColor(u32 idx) { return &mMatColor[idx]; }
+ /* 803231D0 */ virtual void setColorChanNum(u8 num) { mColorChanNum = num; }
+ /* 803231C4 */ virtual void setColorChanNum(u8 const* num) { mColorChanNum = *num; }
+ /* 803231D8 */ virtual u8 getColorChanNum() const { return mColorChanNum; }
+ /* 803231F4 */ virtual void setColorChan(u32 idx, J3DColorChan const& chan) { mColorChan[idx] = chan; }
+ /* 803231E0 */ virtual void setColorChan(u32 idx, J3DColorChan const* chan) { mColorChan[idx] = *chan; }
+ /* 80323208 */ virtual J3DColorChan* getColorChan(u32 idx) { return &mColorChan[idx]; }
+ /* 80323224 */ virtual void setCullMode(u8 const* mode) { mCullMode = *mode; }
+ /* 8032321C */ virtual void setCullMode(u8 mode) { mCullMode = mode; }
+ /* 80323230 */ virtual s32 getCullMode() const { return mCullMode; }
+ /* 80323238 */ virtual u32 getMatColorOffset() const { return mMatColorOffset; }
+ /* 80323240 */ virtual u32 getColorChanOffset() const { return mColorChanOffset; }
+ /* 80323248 */ virtual void setMatColorOffset(u32 offset) { mMatColorOffset = offset; }
+ /* 80323250 */ virtual void setColorChanOffset(u32 offset) { mColorChanOffset = offset; }
/* 803170DC */ virtual ~J3DColorBlockLightOff() {}
/* 0x04 */ J3DGXColor mMatColor[2];
@@ -1364,11 +1364,11 @@ public:
/* 8031816C */ virtual void load();
/* 8031FDE4 */ virtual void reset(J3DColorBlock*);
/* 80317B8C */ virtual s32 countDLSize();
- /* 80323074 */ virtual u32 getType();
- /* 803230AC */ virtual void setAmbColor(u32, J3DGXColor const*);
- /* 80323080 */ virtual void setAmbColor(u32, J3DGXColor);
- /* 803230D8 */ virtual J3DGXColor* getAmbColor(u32);
- /* 803230EC */ virtual ~J3DColorBlockAmbientOn();
+ /* 80323074 */ virtual u32 getType() { return 'CLAB'; }
+ /* 803230AC */ virtual void setAmbColor(u32 idx, J3DGXColor const* color) { mAmbColor[idx] = *color; }
+ /* 80323080 */ virtual void setAmbColor(u32 idx, J3DGXColor color) { mAmbColor[idx] = color; }
+ /* 803230D8 */ virtual J3DGXColor* getAmbColor(u32 idx) { return &mAmbColor[idx]; }
+ /* 803230EC */ virtual ~J3DColorBlockAmbientOn() {}
/* 0x20 */ J3DGXColor mAmbColor[2];
}; // Size: 0x28
diff --git a/include/JSystem/J3DGraphBase/J3DMaterial.h b/include/JSystem/J3DGraphBase/J3DMaterial.h
index 499450147c..7deeff03f0 100644
--- a/include/JSystem/J3DGraphBase/J3DMaterial.h
+++ b/include/JSystem/J3DGraphBase/J3DMaterial.h
@@ -113,6 +113,7 @@ public:
*/
class J3DPatchedMaterial : public J3DMaterial {
public:
+ J3DPatchedMaterial() { initialize(); }
/* 80316FB8 */ void initialize();
/* 80316FD8 */ virtual void makeDisplayList();
diff --git a/include/JSystem/J3DGraphBase/J3DShape.h b/include/JSystem/J3DGraphBase/J3DShape.h
index 3e02440cc5..512a8fe289 100644
--- a/include/JSystem/J3DGraphBase/J3DShape.h
+++ b/include/JSystem/J3DGraphBase/J3DShape.h
@@ -56,8 +56,8 @@ public:
}
void setCurrentTexMtx(u8 param_1, u8 param_2, u8 param_3, u8 param_4,
- u8 param_5, u8 param_6, u8 param_7, u8 param_8) {
- mMtxIdxRegA = ((param_1 & 0xff) << 6) | (param_2 << 0xc)| (param_3 << 0x12) | (param_4 << 0x18);
+ u8 param_5, u8 param_6, u8 param_7, u8 param_8) {
+ mMtxIdxRegA = (param_1 << 6) | (param_2 << 0xc) | (param_3 << 0x12) | (param_4 << 0x18);
mMtxIdxRegB = (param_5) | param_6 << 6 | param_7 << 0xc | param_8 << 0x12;
}
};
diff --git a/include/JSystem/J3DGraphBase/J3DShapeMtx.h b/include/JSystem/J3DGraphBase/J3DShapeMtx.h
index 3a5a7e889a..21d0e506cd 100644
--- a/include/JSystem/J3DGraphBase/J3DShapeMtx.h
+++ b/include/JSystem/J3DGraphBase/J3DShapeMtx.h
@@ -65,7 +65,7 @@ public:
/* 80313BF0 */ virtual void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]);
static J3DShapeMtx_LoadFunc sMtxLoadPipeline[4];
- static u16 sMtxLoadCache[10 + 2 /* padding */];
+ static u16 sMtxLoadCache[10];
static u32 sCurrentPipeline;
static u8* sCurrentScaleFlag;
static u8 sNBTFlag;
@@ -190,4 +190,4 @@ private:
/* 0xC */ u16* mUseMtxIndexTable;
};
-#endif /* J3DSHAPEMTX_H */ \ No newline at end of file
+#endif /* J3DSHAPEMTX_H */
diff --git a/include/JSystem/J3DGraphBase/J3DTexture.h b/include/JSystem/J3DGraphBase/J3DTexture.h
index ef3838def3..39e3612337 100644
--- a/include/JSystem/J3DGraphBase/J3DTexture.h
+++ b/include/JSystem/J3DGraphBase/J3DTexture.h
@@ -96,6 +96,7 @@ struct J3DTexCoord : public J3DTexCoordInfo {
u8 getTexGenMtx() { return mTexGenMtx & 0xff; }
u16 getTexMtxReg() { return mTexMtxReg & 0xff; }
void setTexGenMtx(u8 param_1) { mTexGenMtx = param_1; }
+ void setTexMtxReg(u16 reg) { mTexMtxReg = reg; }
J3DTexCoord& operator=(const J3DTexCoord& other) {
// Fake match (__memcpy or = doesn't match)
*(u32*)this = *(u32*)&other;