mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-03 10:31:17 -04:00
J3DAnmLoader
This commit is contained in:
+1
-1
@@ -898,7 +898,7 @@ config.libs = [
|
||||
Object(Matching, "JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.cpp"),
|
||||
Object(Matching, "JSystem/J3DGraphLoader/J3DJointFactory.cpp"),
|
||||
Object(Matching, "JSystem/J3DGraphLoader/J3DShapeFactory.cpp"),
|
||||
Object(NonMatching, "JSystem/J3DGraphLoader/J3DAnmLoader.cpp"),
|
||||
Object(Matching, "JSystem/J3DGraphLoader/J3DAnmLoader.cpp"),
|
||||
],
|
||||
),
|
||||
JSystemLib(
|
||||
|
||||
@@ -21,8 +21,6 @@ struct J3DAnmColorKeyTable {
|
||||
J3DAnmKeyTableBase mAInfo;
|
||||
}; // Size = 0x18
|
||||
|
||||
struct J3DAnmVtxColorIndexData;
|
||||
|
||||
struct J3DAnmColorFullTable {
|
||||
/* 0x00 */ u16 mRMaxFrame;
|
||||
/* 0x02 */ u16 mROffset;
|
||||
@@ -683,6 +681,12 @@ private:
|
||||
/* 0x40 */ J3DAnmColorFullTable * mAnmTable;
|
||||
};
|
||||
|
||||
class J3DAnmVtxColorIndexData {
|
||||
public:
|
||||
/* 0x00 */ u16 mNum;
|
||||
/* 0x04 */ void* mpData;
|
||||
};
|
||||
|
||||
class J3DAnmVtxColor : public J3DAnmBase {
|
||||
public:
|
||||
J3DAnmVtxColor() : J3DAnmBase(0) {
|
||||
@@ -697,10 +701,11 @@ public:
|
||||
|
||||
virtual ~J3DAnmVtxColor();
|
||||
virtual void getColor(u8, u16, GXColor*) const {}
|
||||
inline J3DAnmVtxColorIndexData* getAnmVtxColorIndexData(u8 idx, u16 frame) { return &mAnmVtxColorIndexData[idx][frame]; }
|
||||
|
||||
protected:
|
||||
/* 0x10 */ s16 mAnmTableNum[2];
|
||||
/* 0x14 */ void* mAnmVtxColorIndexData[2];
|
||||
/* 0x10 */ u16 mAnmTableNum[2];
|
||||
/* 0x14 */ J3DAnmVtxColorIndexData* mAnmVtxColorIndexData[2];
|
||||
}; // Size: 0x1C
|
||||
|
||||
class J3DAnmVtxColorKey : public J3DAnmVtxColor {
|
||||
|
||||
@@ -344,7 +344,6 @@ void J3DAnmFullLoader_v15::readAnmVtxColor(const J3DAnmVtxColorFullData* param_1
|
||||
|
||||
/* 803001B0-80300318 .text setAnmVtxColor__20J3DAnmFullLoader_v15FP18J3DAnmVtxColorFullPC22J3DAnmVtxColorFullData */
|
||||
void J3DAnmFullLoader_v15::setAnmVtxColor(J3DAnmVtxColorFull* dst, const J3DAnmVtxColorFullData* data) {
|
||||
/* Nonmatching */
|
||||
dst->mFrameMax = data->mFrameMax;
|
||||
dst->mAttribute = data->field_0x8;
|
||||
dst->mFrame = 0.0f;
|
||||
@@ -357,9 +356,10 @@ void J3DAnmFullLoader_v15::setAnmVtxColor(J3DAnmVtxColorFull* dst, const J3DAnmV
|
||||
void* indexPtr0 = JSUConvertOffsetToPtr<u16>(data, (void*)data->mVtxColorIndexPointerOffsets[0]);
|
||||
void* indexPtr1 = JSUConvertOffsetToPtr<u16>(data, (void*)data->mVtxColorIndexPointerOffsets[1]);
|
||||
|
||||
for (s32 i = 0; i < data->mIndexNum[0]; i++) {
|
||||
// dst->mpIndexPtr
|
||||
}
|
||||
for (s32 i = 0; i < dst->mAnmTableNum[0]; i++)
|
||||
dst->mAnmVtxColorIndexData[0][i].mpData = (void*)((s32)indexPtr0 + (s32)dst->mAnmVtxColorIndexData[0][i].mpData * 2);
|
||||
for (s32 i = 0; i < dst->mAnmTableNum[1]; i++)
|
||||
dst->mAnmVtxColorIndexData[1][i].mpData = (void*)((s32)indexPtr1 + (s32)dst->mAnmVtxColorIndexData[1][i].mpData * 2);
|
||||
|
||||
dst->mColorR = JSUConvertOffsetToPtr<u8>(data, (void*)data->mRValuesOffset);
|
||||
dst->mColorG = JSUConvertOffsetToPtr<u8>(data, (void*)data->mGValuesOffset);
|
||||
@@ -606,9 +606,10 @@ void J3DAnmKeyLoader_v15::setAnmVtxColor(J3DAnmVtxColorKey* dst, const J3DAnmVtx
|
||||
void* indexPtr0 = JSUConvertOffsetToPtr<u16>(data, (void*)data->mVtxColorIndexPointerOffsets[0]);
|
||||
void* indexPtr1 = JSUConvertOffsetToPtr<u16>(data, (void*)data->mVtxColorIndexPointerOffsets[1]);
|
||||
|
||||
for (s32 i = 0; i < data->mIndexNum[0]; i++) {
|
||||
// dst->mpIndexPtr
|
||||
}
|
||||
for (s32 i = 0; i < dst->mAnmTableNum[0]; i++)
|
||||
dst->mAnmVtxColorIndexData[0][i].mpData = (void*)((s32)indexPtr0 + (s32)dst->mAnmVtxColorIndexData[0][i].mpData * 2);
|
||||
for (s32 i = 0; i < dst->mAnmTableNum[1]; i++)
|
||||
dst->mAnmVtxColorIndexData[1][i].mpData = (void*)((s32)indexPtr1 + (s32)dst->mAnmVtxColorIndexData[1][i].mpData * 2);
|
||||
|
||||
dst->mColorR = JSUConvertOffsetToPtr<s16>(data, (void*)data->mRValuesOffset);
|
||||
dst->mColorG = JSUConvertOffsetToPtr<s16>(data, (void*)data->mGValuesOffset);
|
||||
|
||||
Reference in New Issue
Block a user