From 63c782c0d09cd5dd6281defa7117237702cd2449 Mon Sep 17 00:00:00 2001 From: hatal175 Date: Mon, 10 Jul 2023 04:46:15 +0300 Subject: J3DPacket, J3DShape OK (#366) --- include/JSystem/J3DGraphBase/J3DMaterial.h | 2 ++ include/JSystem/J3DGraphBase/J3DPacket.h | 42 ++++++++++++++++++++++++++++++ include/JSystem/J3DGraphBase/J3DShapeMtx.h | 9 ++++--- include/JSystem/J3DGraphBase/J3DSys.h | 1 + 4 files changed, 51 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/JSystem/J3DGraphBase/J3DMaterial.h b/include/JSystem/J3DGraphBase/J3DMaterial.h index a237249980..d55c532e2e 100644 --- a/include/JSystem/J3DGraphBase/J3DMaterial.h +++ b/include/JSystem/J3DGraphBase/J3DMaterial.h @@ -70,6 +70,8 @@ public: bool isDrawModeOpaTexEdge() { return (mMaterialMode & 3) == 0; } J3DPEBlock* getPEBlock() { return mPEBlock; } void onInvalid() { mInvalid = 1; } + u32 getTexGenNum() const { return mTexGenBlock->getTexGenNum(); } + u8 getTevStageNum() const { return mTevBlock->getTevStageNum(); } void setTevColor(u32 i, const J3DGXColorS10* i_color) { mTevBlock->setTevColor(i, i_color); } void setTevKColor(u32 i, const J3DGXColor* i_color) { mTevBlock->setTevKColor(i, i_color); } diff --git a/include/JSystem/J3DGraphBase/J3DPacket.h b/include/JSystem/J3DGraphBase/J3DPacket.h index 0b80f6b50b..06eaa771bd 100644 --- a/include/JSystem/J3DGraphBase/J3DPacket.h +++ b/include/JSystem/J3DGraphBase/J3DPacket.h @@ -18,6 +18,48 @@ class J3DTexMtx; class J3DTexMtxObj; class J3DTexture; +inline u32 getDiffFlag_LightObjNum(u32 param_1) { + return (param_1 & 0xf0) >> 4; +} + +inline u32 getDiffFlag_TexGenNum(u32 param_1) { + return (param_1 & 0xf00) >> 8; +} + +inline int calcDifferedBufferSize_TexMtxSize(int param_1) { + return param_1 * 0x35; +} + +inline int calcDifferedBufferSize_TexGenSize(int param_1) { + return param_1 * 0x3d + 10; +} + +inline u32 getDiffFlag_TexNoNum(u32 param_1) { + return (param_1 & 0xf0000) >> 0x10; +} + +inline int calcDifferedBufferSize_TexNoSize(int param_1) { + return param_1 * 0x37; +} + +inline u32 calcDifferedBufferSize_TexNoAndTexCoordScaleSize(u32 param_1) { + u32 res = param_1 * 0x37; + res += ((param_1 + 1) >> 1) * 0x37; + return res; +} + +inline u32 getDiffFlag_TevStageNum(u32 param_1) { + return (param_1 & 0xf00000) >> 0x14; +} + +inline int calcDifferedBufferSize_TevStageSize(int param_1) { + return param_1 * 10; +} + +inline int calcDifferedBufferSize_TevStageDirectSize(int param_1) { + return param_1 * 5; +} + class J3DDisplayListObj { public: J3DDisplayListObj() { diff --git a/include/JSystem/J3DGraphBase/J3DShapeMtx.h b/include/JSystem/J3DGraphBase/J3DShapeMtx.h index 177f754261..97010b8527 100644 --- a/include/JSystem/J3DGraphBase/J3DShapeMtx.h +++ b/include/JSystem/J3DGraphBase/J3DShapeMtx.h @@ -28,7 +28,10 @@ public: static J3DTexMtxObj* sTexMtxObj; }; -extern u8 struct_804515B0[4]; +extern u8 struct_804515B0; +extern u8 struct_804515B1; +extern u8 struct_804515B2; +extern u8 struct_804515B3; class J3DShapeMtx { public: @@ -57,8 +60,8 @@ public: static u32 sTexMtxLoadType; static void setCurrentPipeline(u32 pipeline) { sCurrentPipeline = pipeline; } - static void setLODFlag(u8 flag) { struct_804515B0[1] = flag; } - static u8 getLODFlag() { return struct_804515B0[1]; } + static void setLODFlag(u8 flag) { struct_804515B1 = flag; } + static u8 getLODFlag() { return struct_804515B1; } static void resetMtxLoadCache(); private: diff --git a/include/JSystem/J3DGraphBase/J3DSys.h b/include/JSystem/J3DGraphBase/J3DSys.h index fe25597bc0..3d97babee0 100644 --- a/include/JSystem/J3DGraphBase/J3DSys.h +++ b/include/JSystem/J3DGraphBase/J3DSys.h @@ -135,6 +135,7 @@ struct J3DSys { static u16 sTexCoordScaleTable[32]; }; +extern u32 j3dDefaultViewNo; extern J3DSys j3dSys; #endif /* J3DSYS_H */ -- cgit v1.2.3