summaryrefslogtreecommitdiff
path: root/include/JSystem/J3DGraphLoader
diff options
context:
space:
mode:
authorLagoLunatic <LagoLunatic@users.noreply.github.com>2024-01-03 21:30:38 -0500
committerLagoLunatic <LagoLunatic@users.noreply.github.com>2024-01-03 21:30:38 -0500
commit512cf5512fa27d956b4afed3987602c88fc42cc2 (patch)
treea7b113a36891f59455889fbea279d6a014e0f323 /include/JSystem/J3DGraphLoader
parent13e7dc77c7dda57f884813e5395617b6633b602e (diff)
Merge duplicate JSystem structs into a new header
Diffstat (limited to 'include/JSystem/J3DGraphLoader')
-rw-r--r--include/JSystem/J3DGraphLoader/J3DClusterLoader.h21
-rw-r--r--include/JSystem/J3DGraphLoader/J3DModelLoader.h38
2 files changed, 10 insertions, 49 deletions
diff --git a/include/JSystem/J3DGraphLoader/J3DClusterLoader.h b/include/JSystem/J3DGraphLoader/J3DClusterLoader.h
index a55c3fff..dc1be9e7 100644
--- a/include/JSystem/J3DGraphLoader/J3DClusterLoader.h
+++ b/include/JSystem/J3DGraphLoader/J3DClusterLoader.h
@@ -1,29 +1,10 @@
#ifndef J3DCLUSTERLOADER_H
#define J3DCLUSTERLOADER_H
-#include "global.h"
+#include "JSystem/JFileHeader.h"
class J3DDeformData;
-// TODO: move these into a new header
-struct JSystemBlockHeader { // actual name unknown
- /* 0x0 */ u32 mType;
- /* 0x4 */ u32 mNextOffset;
-
- const JSystemBlockHeader* getNext() const {
- return reinterpret_cast<const JSystemBlockHeader*>(reinterpret_cast<const u8*>(this) + mNextOffset);
- }
-}; // Size = 0x8
-
-struct JSystemFileHeader { // actual name unknown
- /* 0x00 */ u32 mMagic;
- /* 0x04 */ u32 mType;
- /* 0x08 */ u32 mFileSize;
- /* 0x0C */ u32 mBlockNum;
- /* 0x10 */ u8 _10[0x20 - 0x10];
- /* 0x20 */ JSystemBlockHeader mFirst;
-};
-
class J3DClusterBlock : public JSystemBlockHeader {
private:
friend class J3DClusterLoader;
diff --git a/include/JSystem/J3DGraphLoader/J3DModelLoader.h b/include/JSystem/J3DGraphLoader/J3DModelLoader.h
index bc1fb8fd..84d97544 100644
--- a/include/JSystem/J3DGraphLoader/J3DModelLoader.h
+++ b/include/JSystem/J3DGraphLoader/J3DModelLoader.h
@@ -1,41 +1,21 @@
#ifndef J3DMODELLOADER_H
#define J3DMODELLOADER_H
-#include "dolphin/types.h"
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
+#include "JSystem/JFileHeader.h"
inline u32 getBdlFlag_MaterialType(u32 i_flags) {
return i_flags & 0x3000;
}
-// Actual struct name unknown
-struct J3DModelBlock {
- /* 0x00 */ u32 mBlockType;
- /* 0x04 */ u32 mBlockSize;
-
- // Fake inline
- const J3DModelBlock* getNext() const {
- return reinterpret_cast<const J3DModelBlock*>(reinterpret_cast<const u8*>(this) + mBlockSize);
- }
-};
-
-struct J3DModelFileData {
- /* 0x00 */ u32 mMagic1;
- /* 0x04 */ u32 mMagic2;
- /* 0x08 */ u8 field_0x08[4];
- /* 0x0C */ u32 mBlockNum;
- /* 0x10 */ u8 field_0x10[0x10];
- /* 0x20 */ J3DModelBlock mBlocks[1];
-};
-
-struct J3DModelInfoBlock : public J3DModelBlock {
+struct J3DModelInfoBlock : public JSystemBlockHeader {
/* 0x08 */ u16 mFlags;
/* 0x0C */ u32 mPacketNum;
/* 0x10 */ u32 mVtxNum;
/* 0x14 */ void* mpHierarchy;
}; // Size: 0x18
-struct J3DVertexBlock : public J3DModelBlock {
+struct J3DVertexBlock : public JSystemBlockHeader {
/* 0x08 */ void* mpVtxAttrFmtList;
/* 0x0C */ void* mpVtxPosArray;
/* 0x10 */ void* mpVtxNrmArray;
@@ -44,7 +24,7 @@ struct J3DVertexBlock : public J3DModelBlock {
/* 0x20 */ void* mpVtxTexCoordArray[8];
}; // Size: 0x40
-struct J3DEnvelopBlock : public J3DModelBlock {
+struct J3DEnvelopBlock : public JSystemBlockHeader {
/* 0x08 */ u16 mWEvlpMtxNum;
/* 0x0C */ void* mpWEvlpMixMtxNum;
/* 0x10 */ void* mpWEvlpMixMtxIndex;
@@ -52,7 +32,7 @@ struct J3DEnvelopBlock : public J3DModelBlock {
/* 0x18 */ void* mpInvJointMtx;
}; // Size: 0x1C
-struct J3DDrawBlock : public J3DModelBlock {
+struct J3DDrawBlock : public JSystemBlockHeader {
/* 0x08 */ u16 mMtxNum;
/* 0x0C */ void* mpDrawMtxFlag;
/* 0x10 */ void* mpDrawMtxIndex;
@@ -60,7 +40,7 @@ struct J3DDrawBlock : public J3DModelBlock {
struct J3DJointBlock;
-struct J3DMaterialBlock : public J3DModelBlock {
+struct J3DMaterialBlock : public JSystemBlockHeader {
/* 0x08 */ u16 mMaterialNum;
/* 0x0C */ void* mpMaterialInitData;
/* 0x10 */ void* mpMaterialID;
@@ -94,7 +74,7 @@ struct J3DMaterialBlock : public J3DModelBlock {
/* 0x80 */ void* mpNBTScaleInfo;
};
-struct J3DMaterialBlock_v21 : public J3DModelBlock {
+struct J3DMaterialBlock_v21 : public JSystemBlockHeader {
/* 0x08 */ u16 mMaterialNum;
/* 0x0C */ void* field_0x0c;
/* 0x10 */ void* field_0x10;
@@ -102,7 +82,7 @@ struct J3DMaterialBlock_v21 : public J3DModelBlock {
/* more */
};
-struct J3DMaterialDLBlock : public J3DModelBlock {
+struct J3DMaterialDLBlock : public JSystemBlockHeader {
/* 0x08 */ u16 mMaterialNum;
/* 0x0C */ void* mpDisplayListInit;
/* 0x10 */ void* mpPatchingInfo;
@@ -115,7 +95,7 @@ struct J3DMaterialDLBlock : public J3DModelBlock {
struct J3DShapeBlock;
-struct J3DTextureBlock : public J3DModelBlock {
+struct J3DTextureBlock : public JSystemBlockHeader {
/* 0x08 */ u16 mTextureNum;
/* 0x0C */ void* mpTextureRes;
/* 0x10 */ void* mpNameTable;