mirror of
https://github.com/zeldaret/tp
synced 2026-07-07 06:04:58 -04:00
more simple J2D/J3D funcs (#166)
* more simple J2D/J3D funcs * JPABaseShape constructor * fmt Co-authored-by: lepelog <25211966+lepelog@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
f7916ebde1
commit
c15d8fcb3e
@@ -21,11 +21,13 @@ struct J3DGXColor : public _GXColor {
|
||||
struct J3DNBTScaleInfo {
|
||||
/* 8032587C */ void operator=(J3DNBTScaleInfo const&);
|
||||
|
||||
/* 0x0 */ u8 field_0x0;
|
||||
/* 0x0 */ u8 mbHasScale;
|
||||
/* 0x4 */ Vec mScale;
|
||||
}; // Size: 0x10
|
||||
|
||||
struct J3DNBTScale : public J3DNBTScaleInfo {};
|
||||
struct J3DNBTScale : public J3DNBTScaleInfo {
|
||||
Vec* getScale() { return &mScale; }
|
||||
};
|
||||
|
||||
class J3DTexGenBlock {
|
||||
public:
|
||||
@@ -50,7 +52,7 @@ public:
|
||||
/* 8000DFD8 */ virtual J3DTexMtx* getTexMtx(u32);
|
||||
/* 80317424 */ virtual void setNBTScale(J3DNBTScale const*);
|
||||
/* 80317420 */ virtual void setNBTScale(J3DNBTScale);
|
||||
/* 80317334 */ virtual bool getNBTScale();
|
||||
/* 80317334 */ virtual J3DNBTScale* getNBTScale();
|
||||
/* 80317428 */ virtual bool getTexMtxOffset() const;
|
||||
/* 80317430 */ virtual void setTexMtxOffset(u32);
|
||||
/* 803171DC */ virtual ~J3DTexGenBlock();
|
||||
@@ -71,7 +73,7 @@ public:
|
||||
/* 8031ACD0 */ virtual void diffTexMtx();
|
||||
/* 8031AD30 */ virtual void diffTexGen();
|
||||
/* 80317B9C */ virtual s32 countDLSize();
|
||||
/* 80322E74 */ virtual void getType();
|
||||
/* 80322E74 */ virtual u32 getType();
|
||||
/* 80322D3C */ virtual void setTexGenNum(u32 const*);
|
||||
/* 80322D34 */ virtual void setTexGenNum(u32);
|
||||
/* 80322D48 */ virtual void getTexGenNum() const;
|
||||
@@ -98,7 +100,7 @@ public:
|
||||
/* 8031A9E8 */ virtual void load();
|
||||
/* 8031ABC0 */ virtual void patch();
|
||||
/* 80317BAC */ virtual s32 countDLSize();
|
||||
/* 80322C6C */ virtual void getType();
|
||||
/* 80322C6C */ virtual u32 getType();
|
||||
/* 80322C9C */ virtual void setNBTScale(J3DNBTScale const*);
|
||||
/* 80322C78 */ virtual void setNBTScale(J3DNBTScale);
|
||||
/* 80322CC0 */ virtual void getNBTScale();
|
||||
@@ -116,7 +118,7 @@ public:
|
||||
/* 8031A948 */ virtual void load();
|
||||
/* 8031AB18 */ virtual void patch();
|
||||
/* 80317BA4 */ virtual s32 countDLSize();
|
||||
/* 80322DA8 */ virtual void getType();
|
||||
/* 80322DA8 */ virtual u32 getType();
|
||||
/* 80322DD8 */ virtual void setNBTScale(J3DNBTScale const*);
|
||||
/* 80322DB4 */ virtual void setNBTScale(J3DNBTScale);
|
||||
/* 80322DFC */ virtual void getNBTScale();
|
||||
@@ -205,7 +207,7 @@ public:
|
||||
/* 8031C0AC */ virtual void patchTexNoAndTexCoordScale();
|
||||
/* 8031DFB4 */ virtual void ptrToIndex();
|
||||
/* 80322974 */ virtual void indexToPtr();
|
||||
/* 80322998 */ virtual void getType();
|
||||
/* 80322998 */ virtual u32 getType();
|
||||
/* 80317BB4 */ virtual s32 countDLSize();
|
||||
/* 803229D0 */ virtual void setTexNo(u32, u16 const*);
|
||||
/* 803229C0 */ virtual void setTexNo(u32, u16);
|
||||
@@ -269,7 +271,7 @@ public:
|
||||
/* 8031C854 */ virtual void patchTexNoAndTexCoordScale();
|
||||
/* 80321FE8 */ virtual void ptrToIndex();
|
||||
/* 80321FEC */ virtual void indexToPtr();
|
||||
/* 80322010 */ virtual void getType();
|
||||
/* 80322010 */ virtual u32 getType();
|
||||
/* 80317BCC */ virtual s32 countDLSize();
|
||||
/* 8032202C */ virtual void setTexNo(u32, u16 const*);
|
||||
/* 8032201C */ virtual void setTexNo(u32, u16);
|
||||
@@ -339,7 +341,7 @@ public:
|
||||
/* 8031C558 */ virtual void patchTexNoAndTexCoordScale();
|
||||
/* 803223AC */ virtual void ptrToIndex();
|
||||
/* 803223B0 */ virtual void indexToPtr();
|
||||
/* 803223D4 */ virtual void getType();
|
||||
/* 803223D4 */ virtual u32 getType();
|
||||
/* 80317BC4 */ virtual s32 countDLSize();
|
||||
/* 803223F0 */ virtual void setTexNo(u32, u16 const*);
|
||||
/* 803223E0 */ virtual void setTexNo(u32, u16);
|
||||
@@ -409,7 +411,7 @@ public:
|
||||
/* 8031CB7C */ virtual void patchTexNoAndTexCoordScale();
|
||||
/* 8031DED0 */ virtual void ptrToIndex();
|
||||
/* 80321C20 */ virtual void indexToPtr();
|
||||
/* 80321C44 */ virtual void getType();
|
||||
/* 80321C44 */ virtual u32 getType();
|
||||
/* 80317BD4 */ virtual s32 countDLSize();
|
||||
/* 80321C60 */ virtual void setTexNo(u32, u16 const*);
|
||||
/* 80321C50 */ virtual void setTexNo(u32, u16);
|
||||
@@ -479,7 +481,7 @@ public:
|
||||
/* 8031C2E8 */ virtual void patchTexNoAndTexCoordScale();
|
||||
/* 80322770 */ virtual void ptrToIndex();
|
||||
/* 80322774 */ virtual void indexToPtr();
|
||||
/* 80322798 */ virtual void getType();
|
||||
/* 80322798 */ virtual u32 getType();
|
||||
/* 80317BBC */ virtual s32 countDLSize();
|
||||
/* 803227B4 */ virtual void setTexNo(u32, u16 const*);
|
||||
/* 803227A4 */ virtual void setTexNo(u32, u16);
|
||||
@@ -581,7 +583,7 @@ class J3DPEBlockXlu : public J3DPEBlock {
|
||||
public:
|
||||
/* 8031E98C */ virtual void load();
|
||||
/* 80317BF4 */ virtual s32 countDLSize();
|
||||
/* 80323258 */ virtual void getType();
|
||||
/* 80323258 */ virtual u32 getType();
|
||||
/* 80323264 */ virtual ~J3DPEBlockXlu();
|
||||
};
|
||||
|
||||
@@ -589,7 +591,7 @@ class J3DPEBlockTexEdge : public J3DPEBlock {
|
||||
public:
|
||||
/* 8031E6C8 */ virtual void load();
|
||||
/* 80317BEC */ virtual s32 countDLSize();
|
||||
/* 803232C0 */ virtual void getType();
|
||||
/* 803232C0 */ virtual u32 getType();
|
||||
/* 803232CC */ virtual ~J3DPEBlockTexEdge();
|
||||
};
|
||||
|
||||
@@ -597,7 +599,7 @@ class J3DPEBlockOpa : public J3DPEBlock {
|
||||
public:
|
||||
/* 8031E408 */ virtual void load();
|
||||
/* 80317BE4 */ virtual s32 countDLSize();
|
||||
/* 80323328 */ virtual void getType();
|
||||
/* 80323328 */ virtual u32 getType();
|
||||
/* 80323334 */ virtual ~J3DPEBlockOpa();
|
||||
};
|
||||
|
||||
@@ -612,7 +614,7 @@ public:
|
||||
/* 8031F940 */ virtual void diffFog();
|
||||
/* 8031F9B8 */ virtual void diffBlend();
|
||||
/* 80317C04 */ virtual s32 countDLSize();
|
||||
/* 8032194C */ virtual void getType();
|
||||
/* 8032194C */ virtual u32 getType();
|
||||
/* 8032197C */ virtual void setFog(J3DFog);
|
||||
/* 80321958 */ virtual void setFog(J3DFog*);
|
||||
/* 803219A0 */ virtual void getFog();
|
||||
@@ -654,7 +656,7 @@ public:
|
||||
/* 80321ACC */ virtual void diff(u32);
|
||||
/* 8031F0D8 */ virtual void diffBlend();
|
||||
/* 80317BFC */ virtual s32 countDLSize();
|
||||
/* 80321B00 */ virtual void getType();
|
||||
/* 80321B00 */ virtual u32 getType();
|
||||
/* 80321B28 */ virtual void setAlphaComp(J3DAlphaComp const*);
|
||||
/* 80321B0C */ virtual void setAlphaComp(J3DAlphaComp const&);
|
||||
/* 80321B44 */ virtual void getAlphaComp();
|
||||
@@ -732,7 +734,7 @@ public:
|
||||
/* 8031E328 */ virtual void diff(u32);
|
||||
/* 8031E12C */ virtual void load();
|
||||
/* 80317BDC */ virtual s32 countDLSize();
|
||||
/* 80323390 */ virtual void getType();
|
||||
/* 80323390 */ virtual u32 getType();
|
||||
/* 8032339C */ virtual void setIndTexStageNum(u8);
|
||||
/* 803233A4 */ virtual void getIndTexStageNum() const;
|
||||
/* 803233AC */ virtual void setIndTexOrder(u32, J3DIndTexOrder);
|
||||
@@ -758,7 +760,7 @@ public:
|
||||
/* 803173A0 */ virtual void reset(J3DIndBlock*);
|
||||
/* 80317398 */ virtual void diff(u32);
|
||||
/* 8031739C */ virtual void load();
|
||||
/* 803173A4 */ virtual void getType();
|
||||
/* 803173A4 */ virtual u32 getType();
|
||||
/* 803173B0 */ virtual ~J3DIndBlockNull();
|
||||
};
|
||||
|
||||
@@ -830,7 +832,7 @@ public:
|
||||
/* 8031A4D4 */ virtual void diffColorChan();
|
||||
/* 8031A8E0 */ virtual void diffLightObj(u32);
|
||||
/* 80317B94 */ virtual s32 countDLSize();
|
||||
/* 80322E80 */ virtual void getType();
|
||||
/* 80322E80 */ virtual u32 getType();
|
||||
/* 80322EB8 */ virtual void setMatColor(u32, J3DGXColor const*);
|
||||
/* 80322E8C */ virtual void setMatColor(u32, J3DGXColor);
|
||||
/* 80322EE4 */ virtual void getMatColor(u32);
|
||||
@@ -878,7 +880,7 @@ public:
|
||||
/* 80319BB4 */ virtual void diffMatColor();
|
||||
/* 80319D30 */ virtual void diffColorChan();
|
||||
/* 80317B84 */ virtual s32 countDLSize();
|
||||
/* 80323560 */ virtual void getType();
|
||||
/* 80323560 */ virtual u32 getType();
|
||||
/* 80323184 */ virtual void setMatColor(u32, J3DGXColor const*);
|
||||
/* 80323158 */ virtual void setMatColor(u32, J3DGXColor);
|
||||
/* 803231B0 */ virtual void getMatColor(u32);
|
||||
@@ -913,7 +915,7 @@ public:
|
||||
/* 8031816C */ virtual void load();
|
||||
/* 8031FDE4 */ virtual void reset(J3DColorBlock*);
|
||||
/* 80317B8C */ virtual s32 countDLSize();
|
||||
/* 80323074 */ virtual void getType();
|
||||
/* 80323074 */ virtual u32 getType();
|
||||
/* 803230AC */ virtual void setAmbColor(u32, J3DGXColor const*);
|
||||
/* 80323080 */ virtual void setAmbColor(u32, J3DGXColor);
|
||||
/* 803230D8 */ virtual void getAmbColor(u32);
|
||||
|
||||
@@ -45,6 +45,7 @@ public:
|
||||
/* 80316E70 */ virtual void change();
|
||||
|
||||
J3DMaterial* getNext() const { return mNext; }
|
||||
J3DShape* getShape() const { return mShape; }
|
||||
J3DTevBlock* getTevBlock() const { return mTevBlock; }
|
||||
J3DColorBlock* getColorBlock() const { return mColorBlock; }
|
||||
J3DTexGenBlock* getTexGenBlock() const { return mTexGenBlock; }
|
||||
@@ -57,8 +58,9 @@ public:
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
J3DNBTScale* getNBTScale() const { return mTexGenBlock->getNBTScale(); }
|
||||
|
||||
private:
|
||||
public:
|
||||
/* 0x04 */ J3DMaterial* mNext;
|
||||
/* 0x08 */ J3DShape* mShape;
|
||||
/* 0x0C */ J3DJoint* mJoint;
|
||||
@@ -72,7 +74,7 @@ private:
|
||||
/* 0x2C */ J3DTevBlock* mTevBlock;
|
||||
/* 0x30 */ J3DIndBlock* mIndBlock;
|
||||
/* 0x34 */ J3DPEBlock* mPEBlock;
|
||||
/* 0x38 */ J3DMaterial* field_0x38;
|
||||
/* 0x38 */ J3DMaterial* mpOrigMaterial;
|
||||
/* 0x3C */ J3DMaterialAnm* mMaterialAnm;
|
||||
/* 0x40 */ J3DCurrentMtx mCurrentMtx;
|
||||
/* 0x48 */ J3DDisplayListObj* mSharedDLObj;
|
||||
|
||||
@@ -57,6 +57,7 @@ public:
|
||||
}
|
||||
|
||||
void addChildPacket(J3DPacket*);
|
||||
J3DPacket* getNextPacket() const { return mpNextSibling; }
|
||||
|
||||
inline void clear() {
|
||||
mpNextSibling = NULL;
|
||||
@@ -81,9 +82,22 @@ public:
|
||||
J3DError newSingleDisplayList(u32);
|
||||
virtual void draw();
|
||||
|
||||
J3DDisplayListObj* getDisplayListObj() { return mpDisplayListObj; }
|
||||
J3DDisplayListObj* getDisplayListObj() const { return mpDisplayListObj; }
|
||||
void setDisplayListObj(J3DDisplayListObj* pObj) { mpDisplayListObj = pObj; }
|
||||
|
||||
void callDL() const { getDisplayListObj()->callDL(); }
|
||||
|
||||
enum {
|
||||
LOCKED = 0x01,
|
||||
};
|
||||
|
||||
bool checkFlag(u32 flag) const { return (mFlags & flag) != 0; }
|
||||
void onFlag(u32 flag) { mFlags |= flag; }
|
||||
void offFlag(u32 flag) { mFlags &= ~flag; }
|
||||
void lock() { onFlag(LOCKED); }
|
||||
void unlock() { offFlag(LOCKED); }
|
||||
J3DTexMtx* getTexMtxObj() const { return mpTexMtx; }
|
||||
|
||||
public:
|
||||
/* 0x10 */ u32 mFlags;
|
||||
/* 0x14 */ char mPad0[0x0C]; // unk
|
||||
@@ -104,11 +118,16 @@ public:
|
||||
|
||||
void setShape(J3DShape* pShape) { mpShape = pShape; }
|
||||
void setModel(J3DModel* pModel) { mpModel = pModel; }
|
||||
void setMtxBuffer(J3DMtxBuffer* pMtxBuffer) { mpMtxBuffer = pMtxBuffer; }
|
||||
void setBaseMtxPtr(Mtx* pMtx) { mpBaseMtxPtr = pMtx; }
|
||||
|
||||
J3DShape* getShape() const { return mpShape; }
|
||||
J3DModel* getModel() const { return mpModel; }
|
||||
|
||||
public:
|
||||
/* 0x28 */ J3DShape* mpShape;
|
||||
/* 0x2C */ J3DMtxBuffer* mpMtxBuffer;
|
||||
/* 0x30 */ Mtx* mpViewMtx;
|
||||
/* 0x30 */ Mtx* mpBaseMtxPtr;
|
||||
/* 0x34 */ u32 mDiffFlag;
|
||||
/* 0x38 */ J3DModel* mpModel;
|
||||
}; // Size: 0x3C
|
||||
@@ -121,13 +140,17 @@ public:
|
||||
void endDiff();
|
||||
bool isSame(J3DMatPacket*) const;
|
||||
|
||||
J3DShapePacket* getShapePacket() const { return mpShapePacket; }
|
||||
void setShapePacket(J3DShapePacket* packet) { mpShapePacket = packet; }
|
||||
void setInitShapePacket(J3DShapePacket* packet) { mpInitShapePacket = packet; }
|
||||
|
||||
virtual ~J3DMatPacket();
|
||||
virtual bool entry(J3DDrawBuffer*);
|
||||
virtual void draw();
|
||||
|
||||
public:
|
||||
/* 0x28 */ J3DShapePacket* mpShapePacket;
|
||||
/* 0x2C */ J3DShapePacket* mpFirstShapePacket;
|
||||
/* 0x28 */ J3DShapePacket* mpInitShapePacket;
|
||||
/* 0x2C */ J3DShapePacket* mpShapePacket;
|
||||
/* 0x30 */ J3DMaterial* mpMaterial;
|
||||
/* 0x34 */ u32 mSortFlags;
|
||||
/* 0x38 */ J3DTexture* mpTexture;
|
||||
|
||||
@@ -23,6 +23,13 @@ class J3DMaterial;
|
||||
class J3DVertexData;
|
||||
class J3DDrawMtxData;
|
||||
|
||||
enum J3DShpFlag {
|
||||
J3DShpFlag_SkinPosCpu = 0x0004,
|
||||
J3DShpFlag_SkinNrmCpu = 0x0008,
|
||||
J3DShpFlag_Hidden = 0x0010,
|
||||
J3DShpFlag_EnableLod = 0x0100,
|
||||
};
|
||||
|
||||
class J3DShape {
|
||||
public:
|
||||
/* 80314B48 */ void initialize();
|
||||
@@ -44,13 +51,23 @@ public:
|
||||
|
||||
void onFlag(u32 flag) { mFlags |= flag; }
|
||||
void offFlag(u32 flag) { mFlags &= ~flag; }
|
||||
bool checkFlag(u32 flag) { return !!(mFlags & flag); }
|
||||
void setDrawMtxDataPointer(J3DDrawMtxData* pMtxData) { mDrawMtxData = pMtxData; }
|
||||
void setVertexDataPointer(J3DVertexData* pVtxData) { mVertexData = pVtxData; }
|
||||
void* getVcdVatCmd() const { return mVcdVatCmd; }
|
||||
void setVcdVatCmd(void* pVatCmd) { mVcdVatCmd = pVatCmd; }
|
||||
void show() { offFlag(1); }
|
||||
void hide() { onFlag(1); }
|
||||
void setCurrentViewNoPtr(u32* pViewNoPtr) { mCurrentViewNo = pViewNoPtr; }
|
||||
void setScaleFlagArray(u8* pScaleFlagArray) { mScaleFlagArray = pScaleFlagArray; }
|
||||
void setDrawMtx(Mtx** pDrawMtx) { mDrawMtx = pDrawMtx; }
|
||||
void setNrmMtx(Mtx33** pNrmMtx) { mNrmMtx = pNrmMtx; }
|
||||
bool getNBTFlag() const { return mHasNBT; }
|
||||
u32 getBumpMtxOffset() const { return mBumpMtxOffset; }
|
||||
|
||||
inline J3DMaterial* getMaterial() const { return mMaterial; }
|
||||
inline u32 getPipeline() const { return (mFlags >> 2) & 7; }
|
||||
inline u32 getTexMtxLoadType() const { return mFlags & 0xF000; }
|
||||
static void resetVcdVatCache() { sOldVcdVatCmd = NULL; }
|
||||
|
||||
static void* sOldVcdVatCmd;
|
||||
@@ -64,17 +81,17 @@ private:
|
||||
/* 0x14 */ Vec mMin;
|
||||
/* 0x20 */ Vec mMax;
|
||||
/* 0x2C */ void* mVcdVatCmd;
|
||||
/* 0x30 */ _GXAttr* mVtxDesc;
|
||||
/* 0x30 */ GXVtxDescList* mVtxDesc;
|
||||
/* 0x34 */ bool mHasNBT;
|
||||
/* 0x38 */ J3DShapeMtx* mShapeMtx;
|
||||
/* 0x3C */ J3DShapeDraw* mShapeDraw;
|
||||
/* 0x38 */ J3DShapeMtx** mShapeMtx;
|
||||
/* 0x3C */ J3DShapeDraw** mShapeDraw;
|
||||
/* 0x40 */ J3DCurrentMtx mCurrentMtx;
|
||||
/* 0x48 */ bool mHasPNMTXIdx;
|
||||
/* 0x4C */ J3DVertexData* mVertexData;
|
||||
/* 0x50 */ J3DDrawMtxData* mDrawMtxData;
|
||||
/* 0x54 */ u8* mScaleFlagArray;
|
||||
/* 0x58 */ Mtx* mDrawMtx;
|
||||
/* 0x5C */ Mtx* mNrmMtx;
|
||||
/* 0x58 */ Mtx** mDrawMtx;
|
||||
/* 0x5C */ Mtx33** mNrmMtx;
|
||||
/* 0x60 */ u32* mCurrentViewNo;
|
||||
/* 0x64 */ u32 mBumpMtxOffset;
|
||||
};
|
||||
|
||||
@@ -4,6 +4,19 @@
|
||||
#include "dolphin/mtx/mtxvec.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class J3DTexMtx;
|
||||
class J3DTexGenBlock;
|
||||
|
||||
class J3DDifferedTexMtx {
|
||||
public:
|
||||
/* 8031322C */ void loadExecute(f32 const (*)[4]);
|
||||
|
||||
static J3DTexGenBlock* sTexGenBlock;
|
||||
static J3DTexMtx* sTexMtxObj;
|
||||
};
|
||||
|
||||
extern u8 struct_804515B0[4];
|
||||
|
||||
class J3DShapeMtx {
|
||||
public:
|
||||
/* 803130A8 */ void resetMtxLoadCache();
|
||||
@@ -20,10 +33,14 @@ public:
|
||||
/* 80313BF0 */ virtual void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]);
|
||||
|
||||
static u8 sMtxLoadPipeline[48];
|
||||
static u8 sMtxLoadCache[20 + 4 /* padding */];
|
||||
static u8 sCurrentPipeline[4];
|
||||
static u8 sCurrentScaleFlag[4];
|
||||
static u8 sTexMtxLoadType[4];
|
||||
static u16 sMtxLoadCache[10 + 2 /* padding */];
|
||||
static u32 sCurrentPipeline;
|
||||
// static J3DScaleFlag sCurrentScaleFlag;
|
||||
static u8* sCurrentScaleFlag;
|
||||
static u32 sTexMtxLoadType;
|
||||
|
||||
static void setCurrentPipeline(u32 pipeline) { sCurrentPipeline = pipeline; }
|
||||
static void setLODFlag(u8 flag) { struct_804515B0[1] = flag; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ u16 mUseMtxIndex;
|
||||
|
||||
@@ -19,8 +19,14 @@ class J3DShape;
|
||||
class J3DDrawBuffer;
|
||||
class J3DTexture;
|
||||
|
||||
enum J3DSysFlag {
|
||||
J3DSysFlag_SkinPosCpu = 0x00000004,
|
||||
J3DSysFlag_SkinNrmCpu = 0x00000008,
|
||||
J3DSysFlag_PostTexMtx = 0x40000000,
|
||||
};
|
||||
|
||||
struct J3DSys {
|
||||
/* 0x000 */ Mtx mMtx;
|
||||
/* 0x000 */ Mtx mViewMtx;
|
||||
/* 0x030 */ J3DMtxCalc* mCurrentMtxCalc;
|
||||
/* 0x034 */ u32 mFlags;
|
||||
/* 0x038 */ J3DModel* mModel;
|
||||
@@ -31,7 +37,9 @@ struct J3DSys {
|
||||
/* 0x050 */ u32 mDrawMode;
|
||||
/* 0x054 */ u32 mMaterialMode;
|
||||
/* 0x058 */ J3DTexture* mTexture;
|
||||
/* 0x05C */ u8 field_0x5c[0x10C - 0x5C];
|
||||
/* 0x05C */ u8 field_0x5c[0x104 - 0x5C];
|
||||
/* 0x104 */ Mtx* mModelDrawMtx;
|
||||
/* 0x104 */ Mtx33* mModelNrmMtx;
|
||||
/* 0x10C */ void* mVtxPos;
|
||||
/* 0x110 */ void* mVtxNrm;
|
||||
/* 0x114 */ _GXColor* mVtxCol;
|
||||
@@ -56,17 +64,25 @@ struct J3DSys {
|
||||
/* 0x4 */ XLU,
|
||||
};
|
||||
|
||||
Mtx* getViewMtx() { return &mViewMtx; }
|
||||
|
||||
void setDrawModeOpaTexEdge() { mDrawMode = OPA_TEX_EDGE; }
|
||||
|
||||
void setDrawModeXlu() { mDrawMode = XLU; }
|
||||
|
||||
void* getVtxPos() const { return mVtxPos; }
|
||||
void setVtxPos(void* pVtxPos) { mVtxPos = pVtxPos; }
|
||||
|
||||
void* getVtxNrm() const { return mVtxNrm; }
|
||||
void setVtxNrm(void* pVtxNrm) { mVtxNrm = pVtxNrm; }
|
||||
|
||||
void* getVtxCol() const { return mVtxCol; }
|
||||
void setVtxCol(_GXColor* pVtxCol) { mVtxCol = pVtxCol; }
|
||||
|
||||
void setModel(J3DModel* pModel) { mModel = pModel; }
|
||||
void setShapePacket(J3DShapePacket* pPacket) { mShapePacket = pPacket; }
|
||||
void setMatPacket(J3DMatPacket* pPacket) { mMatPacket = pPacket; }
|
||||
void setMaterialMode(u32 mode) { mMaterialMode = mode; }
|
||||
|
||||
void setTexture(J3DTexture* pTex) { mTexture = pTex; }
|
||||
|
||||
@@ -74,6 +90,18 @@ struct J3DSys {
|
||||
|
||||
void offFlag(u32 flag) { mFlags &= ~flag; }
|
||||
|
||||
bool checkFlag(u32 flag) { return mFlags & flag; }
|
||||
|
||||
void setModelDrawMtx(Mtx* pMtxArr) {
|
||||
mModelDrawMtx = pMtxArr;
|
||||
GXSetArray(GX_POS_MTX_ARRAY, mModelDrawMtx, sizeof(*mModelDrawMtx));
|
||||
}
|
||||
|
||||
void setModelNrmMtx(Mtx33* pMtxArr) {
|
||||
mModelNrmMtx = pMtxArr;
|
||||
GXSetArray(GX_NRM_MTX_ARRAY, mModelNrmMtx, sizeof(*mModelNrmMtx));
|
||||
}
|
||||
|
||||
static Mtx mCurrentMtx;
|
||||
static Vec mCurrentS;
|
||||
static Vec mParentS;
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "JSystem/JUtility/JUTTexture.h"
|
||||
#include "dolphin/mtx/mtx.h"
|
||||
#include "dolphin/mtx/mtx44.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class J3DTexture {
|
||||
@@ -18,27 +19,21 @@ public:
|
||||
};
|
||||
|
||||
struct J3DTextureSRTInfo {
|
||||
/* 0x00 */ f32 field_0x0;
|
||||
/* 0x04 */ f32 field_0x4;
|
||||
/* 0x08 */ s16 field_0x8;
|
||||
/* 0x0C */ f32 field_0xc;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x00 */ f32 mScaleX;
|
||||
/* 0x04 */ f32 mScaleY;
|
||||
/* 0x08 */ s16 mRotation;
|
||||
/* 0x0C */ f32 mTranslationX;
|
||||
/* 0x10 */ f32 mTranslationY;
|
||||
}; // Size: 0x14
|
||||
|
||||
struct J3DTexMtxInfo {
|
||||
/* 80325718 */ void operator=(J3DTexMtxInfo const&);
|
||||
|
||||
/* 0x00 */ u8 field_0x0;
|
||||
/* 0x01 */ u8 field_0x1;
|
||||
/* 0x04 */ f32 field_0x04;
|
||||
/* 0x08 */ f32 field_0x08;
|
||||
/* 0x0C */ f32 field_0x0c;
|
||||
/* 0x10 */ J3DTextureSRTInfo field_0x10;
|
||||
/* 0x24 */ Mtx mEffectMtx;
|
||||
/* 0x54 */ f32 field_0x54;
|
||||
/* 0x58 */ f32 field_0x58;
|
||||
/* 0x5C */ f32 field_0x5c;
|
||||
/* 0x60 */ f32 field_0x60;
|
||||
/* 0x00 */ u8 mProjection;
|
||||
/* 0x01 */ u8 mInfo;
|
||||
/* 0x04 */ Vec mCenter;
|
||||
/* 0x10 */ J3DTextureSRTInfo mSRT;
|
||||
/* 0x24 */ Mtx44 mEffectMtx;
|
||||
}; // Size: 0x64
|
||||
|
||||
class J3DTexMtx {
|
||||
|
||||
Reference in New Issue
Block a user