m_do_ext work

also jsys documentation
This commit is contained in:
Jasper St. Pierre
2024-06-26 22:50:12 -07:00
parent abe7439e00
commit 1d5c9da99b
10 changed files with 635 additions and 302 deletions
@@ -283,15 +283,15 @@ struct J3DAnmClusterFullData {
struct J3DAnmTransformKeyData {
/* 0x00 */ JUTDataBlockHeader mHeader;
/* 0x08 */ u8 field_0x8;
/* 0x09 */ u8 field_0x9;
/* 0x08 */ u8 mAttribute;
/* 0x09 */ u8 mDecShift;
/* 0x0A */ s16 mFrameMax;
/* 0x0C */ u16 field_0xc;
/* 0x10 */ int field_0x10;
/* 0x14 */ s32 mTableOffset;
/* 0x18 */ s32 field_0x18;
/* 0x1c */ s32 field_0x1c;
/* 0x20 */ s32 field_0x20;
/* 0x18 */ s32 mScaleOffset;
/* 0x1c */ s32 mRotOffset;
/* 0x20 */ s32 mTransOffset;
};
struct J3DAnmClusterKeyData {
@@ -45,7 +45,7 @@ public:
JUTNameTab* getMaterialName() const { return mMaterialName; }
u16 getMaterialNum() const { return mMaterialNum; }
bool isLocked() { return field_0x20 == 1; }
bool isLocked() { return mbIsLocked == 1; }
private:
friend class J3DJointTree;
@@ -57,10 +57,10 @@ private:
/* 0x08 */ J3DMaterial** mMaterialNodePointer;
/* 0x0C */ JUTNameTab* mMaterialName;
/* 0x10 */ u16 mUniqueMatNum;
/* 0x14 */ J3DMaterial* field_0x14;
/* 0x14 */ J3DMaterial* mMaterialBase;
/* 0x18 */ J3DTexture* mTexture;
/* 0x1C */ JUTNameTab* mTextureName;
/* 0x20 */ u16 field_0x20;
/* 0x20 */ u16 mbIsLocked;
}; // Size: 0x24
#endif /* J3DMATERIALATTACH_H */
@@ -79,9 +79,9 @@ public:
u16 checkBumpFlag() const { return mbHasBumpArray; }
void setBumpFlag(u32 flag) { mbHasBumpArray = flag; }
bool checkBBoardFlag() const { return mbHasBillboard == 1; }
void entryTexMtxAnimator(J3DAnmTextureSRTKey* anm) { mMaterialTable.entryTexMtxAnimator(anm); }
void entryTevRegAnimator(J3DAnmTevRegKey* anm) { mMaterialTable.entryTevRegAnimator(anm); }
void entryMatColorAnimator(J3DAnmColor* anm) { mMaterialTable.entryMatColorAnimator(anm); }
s32 entryTexMtxAnimator(J3DAnmTextureSRTKey* anm) { return mMaterialTable.entryTexMtxAnimator(anm); }
s32 entryTevRegAnimator(J3DAnmTevRegKey* anm) { return mMaterialTable.entryTevRegAnimator(anm); }
s32 entryMatColorAnimator(J3DAnmColor* anm) { return mMaterialTable.entryMatColorAnimator(anm); }
void setTexMtxAnimator(J3DAnmTextureSRTKey* pAnm, J3DTexMtxAnm* pTexAnm, J3DTexMtxAnm* pDualAnmR) {
mMaterialTable.setTexMtxAnimator(pAnm, pTexAnm, pDualAnmR);
}
+1
View File
@@ -7,6 +7,7 @@
// Perhaps move to a new J3DEnum.h?
enum J3DError {
J3DErrType_Success = 0,
J3DErrType_Locked = 2,
J3DErrType_OutOfMemory = 4,
};
+49 -35
View File
@@ -44,23 +44,46 @@ typedef union {
volatile PPCWGPipe GXFIFO : 0xCC008000;
// Direct
inline void GXPosition2f32(f32 x, f32 z) {
GXFIFO.f32 = x;
GXFIFO.f32 = z;
}
inline void GXPosition3f32(f32 x, f32 y, f32 z) {
GXFIFO.f32 = x;
GXFIFO.f32 = y;
GXFIFO.f32 = z;
}
inline void GXPosition2s8(s8 x, s8 y) {
GXFIFO.s8 = x;
GXFIFO.s8 = y;
}
inline void GXPosition3s8(s8 x, s8 y, s8 z) {
GXFIFO.s8 = x;
GXFIFO.s8 = y;
GXFIFO.s8 = z;
}
inline void GXPosition2u16(u16 x, u16 y) {
GXFIFO.u16 = x;
GXFIFO.u16 = y;
}
inline void GXPosition3s16(s16 x, s16 y, s16 z) {
GXFIFO.s16 = x;
GXFIFO.s16 = y;
GXFIFO.s16 = z;
}
inline void GXNormal3f32(f32 x, f32 y, f32 z) {
GXFIFO.f32 = x;
GXFIFO.f32 = y;
GXFIFO.f32 = z;
}
inline void GXPosition2f32(f32 x, f32 z) {
GXFIFO.f32 = x;
GXFIFO.f32 = z;
}
inline void GXColor1u32(u32 c) {
GXFIFO.u32 = c;
}
@@ -79,36 +102,6 @@ inline void GXTexCoord1x8(u8 s) {
GXFIFO.u8 = s;
}
inline void GXPosition2u16(u16 x, u16 y) {
GXFIFO.u16 = x;
GXFIFO.u16 = y;
}
inline void GXPosition1x16(u16 x) {
GXFIFO.u16 = x;
}
inline void GXPosition1x8(u8 x) {
GXFIFO.u8 = x;
}
inline void GXPosition3s8(s8 x, s8 y, s8 z) {
GXFIFO.s8 = x;
GXFIFO.s8 = y;
GXFIFO.s8 = z;
}
inline void GXPosition2s8(s8 x, s8 y) {
GXFIFO.s8 = x;
GXFIFO.s8 = y;
}
inline void GXPosition3s16(s16 x, s16 y, s16 z) {
GXFIFO.s16 = x;
GXFIFO.s16 = y;
GXFIFO.s16 = z;
}
inline void GXTexCoord2s8(s8 x, s8 y) {
GXFIFO.s8 = x;
GXFIFO.s8 = y;
@@ -124,6 +117,27 @@ inline void GXTexCoord2s16(const s16 u, const s16 v) {
GXFIFO.s16 = v;
}
// Indexed
inline void GXPosition1x8(u8 x) {
GXFIFO.u8 = x;
}
inline void GXPosition1x16(u16 x) {
GXFIFO.u16 = x;
}
inline void GXNormal1x8(u8 x) {
GXFIFO.u8 = x;
}
inline void GXColor1x16(u16 x) {
GXFIFO.u16 = x;
}
inline void GXTexCoord1x16(u16 x) {
GXFIFO.u16 = x;
}
inline void GFWriteBPCmd(u32 param_1) {
GXFIFO.u8 = 0x61;
GXFIFO.u32 = param_1;
+6 -7
View File
@@ -582,11 +582,10 @@ public:
public:
/* 0x08 */ GXColor mColor;
/* 0x0C */ dKy_tevstr_c* mpTevStr;
/* 0x10 */ s16 mNumLines;
/* 0x12 */ s16 mNumSegmentsPerLine;
/* 0x14 */ u16 m14;
/* 0x16 */ u8 m16;
/* 0x17 */ u8 m17[0x18 - 0x17];
/* 0x10 */ u16 mNumLines;
/* 0x12 */ u16 mMaxSegments;
/* 0x14 */ u16 mNumSegments;
/* 0x16 */ u8 mCurArr;
/* 0x18 */ mDoExt_3Dline_c* mpLines;
};
@@ -604,8 +603,8 @@ public:
/* 0x28 */ GXColor mColor;
/* 0x2C */ dKy_tevstr_c* mpTevStr;
/* 0x30 */ u16 mNumLines;
/* 0x32 */ u16 m32;
/* 0x34 */ u16 m34;
/* 0x32 */ u16 mMaxSegments;
/* 0x34 */ u16 mNumSegments;
/* 0x36 */ u8 mCurArr;
/* 0x37 */ u8 m37[0x38 - 0x37];
/* 0x38 */ mDoExt_3Dline_c* mpLines;