This commit is contained in:
lepelog 2022-01-04 18:06:14 +01:00
parent 2d125d40b8
commit a1497b3bf5
4 changed files with 213 additions and 41 deletions

View File

@ -20,9 +20,9 @@ public:
f32 getFrame() const { return mFrame; } f32 getFrame() const { return mFrame; }
s32 getKind() const { return mKind; } s32 getKind() const { return mKind; }
private:
/* 0x0 */ // vtable /* 0x0 */ // vtable
/* 0x4 */ u8 field_0x4[2]; /* 0x4 */ u8 field_0x4;
/* 0x5 */ u8 field_0x5;
/* 0x6 */ s16 mFrameMax; /* 0x6 */ s16 mFrameMax;
/* 0x8 */ f32 mFrame; /* 0x8 */ f32 mFrame;
/* 0xC */ s32 mKind; /* 0xC */ s32 mKind;
@ -107,13 +107,12 @@ public:
/* 80184370 */ virtual ~J2DAnmTransform() {} /* 80184370 */ virtual ~J2DAnmTransform() {}
/* 80191130 */ virtual void getTransform(u16, J3DTransformInfo*) const; /* 80191130 */ virtual void getTransform(u16, J3DTransformInfo*) const;
protected:
/* 0x10 */ f32* mScaleValues; /* 0x10 */ f32* mScaleValues;
/* 0x14 */ s16* mRotationValues; /* 0x14 */ s16* mRotationValues;
/* 0x18 */ f32* mTranslateValues; /* 0x18 */ f32* mTranslateValues;
}; // Size: 0x1C }; // Size: 0x1C
struct J2DAnmTransformKeyInfo { struct J3DAnmTransformKeyTable {
J3DAnmKeyTableBase mScaleInfo; J3DAnmKeyTableBase mScaleInfo;
J3DAnmKeyTableBase mRotationInfo; J3DAnmKeyTableBase mRotationInfo;
J3DAnmKeyTableBase mTranslateInfo; J3DAnmKeyTableBase mTranslateInfo;
@ -127,10 +126,10 @@ public:
} }
/* 8030AAFC */ virtual void calcTransform(f32, u16, J3DTransformInfo*) const; /* 8030AAFC */ virtual void calcTransform(f32, u16, J3DTransformInfo*) const;
private: /* 0x1C */ u8 field_0x1c[6];
/* 0x1C */ u8 field_0x1c[8]; /* 0x22 */ s16 field_0x22;
/* 0x24 */ u32 field_0x24; /* 0x24 */ u32 field_0x24;
/* 0x28 */ J2DAnmTransformKeyInfo* mInfoTable; /* 0x28 */ J3DAnmTransformKeyTable* mInfoTable;
}; };
struct J2DAnmTransformFullInfo { struct J2DAnmTransformFullInfo {
@ -153,12 +152,6 @@ private:
/* 0x24 */ J2DAnmTransformFullInfo* mTableInfo; /* 0x24 */ J2DAnmTransformFullInfo* mTableInfo;
}; };
struct J2DAnmTextureSRTKeyInfo {
J3DAnmKeyTableBase mScaleInfo;
J3DAnmKeyTableBase mRotationInfo;
J3DAnmKeyTableBase mTranslationInfo;
}; // Size = 0x12
class J2DAnmTextureSRTKey : public J2DAnmBase { class J2DAnmTextureSRTKey : public J2DAnmBase {
public: public:
/* 8030B9F0 */ void calcTransform(f32, u16, J3DTextureSRTInfo*) const; /* 8030B9F0 */ void calcTransform(f32, u16, J3DTextureSRTInfo*) const;
@ -167,30 +160,31 @@ public:
/* 8030BC60 */ virtual void searchUpdateMaterialID(J2DScreen*); /* 8030BC60 */ virtual void searchUpdateMaterialID(J2DScreen*);
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum / 3; } u16 getUpdateMaterialNum() const { return mUpdateMaterialNum / 3; }
private:
/* 0x10 */ int field_0x10; /* 0x10 */ int field_0x10;
/* 0x14 */ J2DAnmTextureSRTKeyInfo* mInfoTable; /* 0x14 */ J3DAnmTransformKeyTable* mInfoTable;
/* 0x18 */ u16 mUpdateMaterialNum; /* 0x18 */ u16 mUpdateMaterialNum;
/* 0x1A */ u16 field_0x1a; /* 0x1A */ u16 field_0x1a;
/* 0x1C */ u16 field_0x1c; /* 0x1C */ u16 field_0x1c;
/* 0x1E */ u16 field_0x1e;
/* 0x20 */ f32* mScaleValues; /* 0x20 */ f32* mScaleValues;
/* 0x24 */ s16* mRotationValues; /* 0x24 */ s16* mRotationValues;
/* 0x28 */ f32* mTranslationValues; /* 0x28 */ f32* mTranslationValues;
/* 0x2C */ u8* mUpdateTexMtxID; /* 0x2C */ u8* mUpdateTexMtxID;
/* 0x30 */ u16* mUpdateMaterialID; /* 0x30 */ u16* mUpdateMaterialID;
/* 0x34 */ JUTNameTab field_0x34; /* 0x34 */ JUTNameTab field_0x34;
/* 0x44 */ u8 field_0x44[4]; /* 0x44 */ Vec *field_0x44;
/* 0x48 */ u16 field_0x48; /* 0x48 */ u16 field_0x48;
/* 0x4A */ u16 field_0x4a; /* 0x4A */ u16 field_0x4a;
/* 0x4C */ u16 field_0x4c; /* 0x4C */ u16 field_0x4c;
/* 0x4E */ u16 field_0x4e; /* 0x4E */ u16 field_0x4e;
/* 0x50 */ int field_0x50; /* 0x50 */ f32* field_0x50;
/* 0x54 */ int field_0x54; /* 0x54 */ s16* field_0x54;
/* 0x58 */ int field_0x58; /* 0x58 */ f32* field_0x58;
/* 0x5C */ int field_0x5c; /* 0x5C */ J3DAnmTransformKeyTable* field_0x5c;
/* 0x60 */ u8 field_0x60[8]; /* 0x60 */ u8* field_0x60;
/* 0x64 */ u16* field_0x64;
/* 0x68 */ JUTNameTab field_0x68; /* 0x68 */ JUTNameTab field_0x68;
/* 0x78 */ u8 field_0x78[4]; /* 0x78 */ Vec* field_0x78;
/* 0x7C */ int field_0x7c; /* 0x7C */ int field_0x7c;
}; };

View File

@ -11,12 +11,24 @@ struct J2DAnmLoaderDataBase {
class J2DAnmLoader { class J2DAnmLoader {
public: public:
virtual void load(void const*) = 0; virtual void *load(void const*) = 0;
virtual void setResource(J2DAnmBase*, void const*) = 0; virtual void setResource(J2DAnmBase*, void const*) = 0;
/* 8030A410 */ virtual ~J2DAnmLoader(); /* 8030A410 */ virtual ~J2DAnmLoader() {}
}; };
struct J3DAnmTransformKeyData; struct J3DAnmTransformKeyData {
/* 0x00 */ u8 _0[0x8];
/* 0x08 */ u8 _8;
/* 0x09 */ u8 _9;
/* 0x0A */ s16 mFrameMax;
/* 0x0C */ u16 _C;
/* 0x0E */ u8 _E[0x14-0xE];
/* 0x14 */ s32 mTableOffset;
/* 0x18 */ s32 mScaleOffset;
/* 0x1C */ s32 mRotationOffset;
/* 0x20 */ s32 mTranslateOffset;
};
struct J3DAnmTextureSRTKeyData; struct J3DAnmTextureSRTKeyData;
struct J3DAnmColorKeyData; struct J3DAnmColorKeyData;
struct J3DAnmVtxColorKeyData; struct J3DAnmVtxColorKeyData;
@ -41,9 +53,11 @@ public:
/* 80309FDC */ void readAnmTevReg(J3DAnmTevRegKeyData const*); /* 80309FDC */ void readAnmTevReg(J3DAnmTevRegKeyData const*);
/* 8030A004 */ void setAnmTevReg(J2DAnmTevRegKey*, J3DAnmTevRegKeyData const*); /* 8030A004 */ void setAnmTevReg(J2DAnmTevRegKey*, J3DAnmTevRegKeyData const*);
/* 80309308 */ virtual void load(void const*); /* 80309308 */ virtual void *load(void const*);
/* 80309414 */ virtual void setResource(J2DAnmBase*, void const*); /* 80309414 */ virtual void setResource(J2DAnmBase*, void const*);
/* 803092AC */ virtual ~J2DAnmKeyLoader_v15(); /* 803092AC */ virtual ~J2DAnmKeyLoader_v15();
/* 0x04 */ void* _4;
}; };
class J2DAnmFullLoader_v15 : public J2DAnmLoader { class J2DAnmFullLoader_v15 : public J2DAnmLoader {

View File

@ -103,9 +103,9 @@ void J2DAnmTransformFull::getTransform(u16 param_0, J3DTransformInfo* transformI
void J2DAnmTransformKey::calcTransform(f32 param_0, u16 param_1, void J2DAnmTransformKey::calcTransform(f32 param_0, u16 param_1,
J3DTransformInfo* transformInfo) const { J3DTransformInfo* transformInfo) const {
u16 idx = param_1 * 3; u16 idx = param_1 * 3;
J2DAnmTransformKeyInfo* xInf = &mInfoTable[idx]; J3DAnmTransformKeyTable* xInf = &mInfoTable[idx];
J2DAnmTransformKeyInfo* yInf = &mInfoTable[idx + 1]; J3DAnmTransformKeyTable* yInf = &mInfoTable[idx + 1];
J2DAnmTransformKeyInfo* zInf = &mInfoTable[idx + 2]; J3DAnmTransformKeyTable* zInf = &mInfoTable[idx + 2];
switch (xInf->mScaleInfo.mMaxFrame) { switch (xInf->mScaleInfo.mMaxFrame) {
case 0: case 0:
transformInfo->mScale.x = 1; transformInfo->mScale.x = 1;
@ -464,9 +464,9 @@ void J2DAnmVtxColorKey::getColor(u8 param_0, u16 param_1, _GXColor* pColor) cons
* calcTransform__19J2DAnmTextureSRTKeyCFfUsP17J3DTextureSRTInfo */ * calcTransform__19J2DAnmTextureSRTKeyCFfUsP17J3DTextureSRTInfo */
void J2DAnmTextureSRTKey::calcTransform(f32 param_0, u16 param_1, J3DTextureSRTInfo* pInfo) const { void J2DAnmTextureSRTKey::calcTransform(f32 param_0, u16 param_1, J3DTextureSRTInfo* pInfo) const {
u16 idx = param_1 * 3; u16 idx = param_1 * 3;
J2DAnmTextureSRTKeyInfo* xInf = &mInfoTable[idx]; J3DAnmTransformKeyTable* xInf = &mInfoTable[idx];
J2DAnmTextureSRTKeyInfo* yInf = &mInfoTable[idx + 1]; J3DAnmTransformKeyTable* yInf = &mInfoTable[idx + 1];
J2DAnmTextureSRTKeyInfo* zInf = &mInfoTable[idx + 2]; J3DAnmTransformKeyTable* zInf = &mInfoTable[idx + 2];
switch (xInf->mScaleInfo.mMaxFrame) { switch (xInf->mScaleInfo.mMaxFrame) {
case 0: case 0:
pInfo->mScaleX = 1; pInfo->mScaleX = 1;
@ -502,27 +502,27 @@ void J2DAnmTextureSRTKey::calcTransform(f32 param_0, u16 param_1, J3DTextureSRTI
param_0, &zInf->mRotationInfo, &mRotationValues[zInf->mRotationInfo.mOffset])) param_0, &zInf->mRotationInfo, &mRotationValues[zInf->mRotationInfo.mOffset]))
<< field_0x10; << field_0x10;
} }
switch (xInf->mTranslationInfo.mMaxFrame) { switch (xInf->mTranslateInfo.mMaxFrame) {
case 0: case 0:
pInfo->mTranslationX = 0; pInfo->mTranslationX = 0;
break; break;
case 1: case 1:
pInfo->mTranslationX = mTranslationValues[xInf->mTranslationInfo.mOffset]; pInfo->mTranslationX = mTranslationValues[xInf->mTranslateInfo.mOffset];
break; break;
default: default:
pInfo->mTranslationX = J2DGetKeyFrameInterpolationf( pInfo->mTranslationX = J2DGetKeyFrameInterpolationf(
param_0, &xInf->mTranslationInfo, &mTranslationValues[xInf->mTranslationInfo.mOffset]); param_0, &xInf->mTranslateInfo, &mTranslationValues[xInf->mTranslateInfo.mOffset]);
} }
switch (yInf->mTranslationInfo.mMaxFrame) { switch (yInf->mTranslateInfo.mMaxFrame) {
case 0: case 0:
pInfo->mTranslationY = 0; pInfo->mTranslationY = 0;
break; break;
case 1: case 1:
pInfo->mTranslationY = mTranslationValues[yInf->mTranslationInfo.mOffset]; pInfo->mTranslationY = mTranslationValues[yInf->mTranslateInfo.mOffset];
break; break;
default: default:
pInfo->mTranslationY = J2DGetKeyFrameInterpolationf( pInfo->mTranslationY = J2DGetKeyFrameInterpolationf(
param_0, &yInf->mTranslationInfo, &mTranslationValues[yInf->mTranslationInfo.mOffset]); param_0, &yInf->mTranslateInfo, &mTranslationValues[yInf->mTranslateInfo.mOffset]);
} }
} }

View File

@ -18,11 +18,35 @@ struct J3DAnmVtxColorFullData {};
struct J3DAnmVisibilityFullData {}; struct J3DAnmVisibilityFullData {};
struct J3DAnmTransformKeyData {};
struct J3DAnmTransformFullData {}; struct J3DAnmTransformFullData {};
struct J3DAnmTextureSRTKeyData {}; struct J3DAnmTextureSRTKeyData {
u8 field_0x0[8];
u8 field_0x8;
u8 field_0x9;
u16 field_0xa;
u16 field_0xc;
u16 field_0xe;
u16 field_0x10;
u16 field_0x12;
s32 mTableOffset;
s32 mUpdateMatIDOffset;
s32 mNameTab1Offset;
s32 mUpdateTexMtxIDOffset;
s32 unkOffset;
s32 mScaleValOffset;
s32 mRotValOffset;
s32 mTransValOffset;
u16 field_0x34;
u16 field_0x36;
u16 field_0x38;
u16 field_0x3a;
s32 mInfoTable2Offset;
u8 field_0x40[4];
s32 mNameTab2Offset;
u8 field_0x48[0x5C-0x48];
s32 field_0x5c;
};
struct J3DAnmTexPatternFullData {}; struct J3DAnmTexPatternFullData {};
@ -184,6 +208,9 @@ asm void* J2DAnmLoaderDataBase::load(void const* param_0) {
#pragma pop #pragma pop
/* 80309290-803092AC 303BD0 001C+00 1/1 0/0 0/0 .text __ct__19J2DAnmKeyLoader_v15Fv */ /* 80309290-803092AC 303BD0 001C+00 1/1 0/0 0/0 .text __ct__19J2DAnmKeyLoader_v15Fv */
#ifndef NM
J2DAnmKeyLoader_v15::J2DAnmKeyLoader_v15() {}
#else
#pragma push #pragma push
#pragma optimization_level 0 #pragma optimization_level 0
#pragma optimizewithasm off #pragma optimizewithasm off
@ -192,8 +219,12 @@ asm J2DAnmKeyLoader_v15::J2DAnmKeyLoader_v15() {
#include "asm/JSystem/J2DGraph/J2DAnmLoader/__ct__19J2DAnmKeyLoader_v15Fv.s" #include "asm/JSystem/J2DGraph/J2DAnmLoader/__ct__19J2DAnmKeyLoader_v15Fv.s"
} }
#pragma pop #pragma pop
#endif
/* 803092AC-80309308 303BEC 005C+00 2/1 0/0 0/0 .text __dt__19J2DAnmKeyLoader_v15Fv */ /* 803092AC-80309308 303BEC 005C+00 2/1 0/0 0/0 .text __dt__19J2DAnmKeyLoader_v15Fv */
#ifndef NM
J2DAnmKeyLoader_v15::~J2DAnmKeyLoader_v15() {}
#else
#pragma push #pragma push
#pragma optimization_level 0 #pragma optimization_level 0
#pragma optimizewithasm off #pragma optimizewithasm off
@ -202,8 +233,48 @@ asm J2DAnmKeyLoader_v15::~J2DAnmKeyLoader_v15() {
#include "asm/JSystem/J2DGraph/J2DAnmLoader/__dt__19J2DAnmKeyLoader_v15Fv.s" #include "asm/JSystem/J2DGraph/J2DAnmLoader/__dt__19J2DAnmKeyLoader_v15Fv.s"
} }
#pragma pop #pragma pop
#endif
struct DataBlockHeader {
/* 0x0 */ u32 mType;
/* 0x4 */ u32 mNextOffset;
};
struct DataHeader {
/* 0x00 */ u8 _0[0xC];
/* 0x0C */ u32 mCount;
/* 0x10 */ u8 _10[0x20-0x10];
/* 0x20 */ DataBlockHeader mFirst;
};
/* 80309308-80309414 303C48 010C+00 2/1 0/0 0/0 .text load__19J2DAnmKeyLoader_v15FPCv */ /* 80309308-80309414 303C48 010C+00 2/1 0/0 0/0 .text load__19J2DAnmKeyLoader_v15FPCv */
#ifndef NM
void *J2DAnmKeyLoader_v15::load(void const* param_0) {
const DataHeader *hdr = (const DataHeader*) param_0;
const DataBlockHeader *dataPtr = &hdr->mFirst;
for (s32 i = 0; i < hdr->mCount; i++) {
switch (dataPtr->mType) {
case 'ANK1':
this->readAnmTransform((J3DAnmTransformKeyData*) dataPtr);
break;
case 'PAK1':
this->readAnmColor((J3DAnmColorKeyData*) dataPtr);
break;
case 'TTK1':
this->readAnmTextureSRT((J3DAnmTextureSRTKeyData*) dataPtr);
break;
case 'VCK1':
this->readAnmVtxColor((J3DAnmVtxColorKeyData*) dataPtr);
break;
case 'TRK1':
this->readAnmTevReg((J3DAnmTevRegKeyData*) dataPtr);
break;
}
dataPtr = (DataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset);
}
return _4;
}
#else
#pragma push #pragma push
#pragma optimization_level 0 #pragma optimization_level 0
#pragma optimizewithasm off #pragma optimizewithasm off
@ -213,9 +284,46 @@ extern "C" asm void load__19J2DAnmKeyLoader_v15FPCv() {
#include "asm/JSystem/J2DGraph/J2DAnmLoader/load__19J2DAnmKeyLoader_v15FPCv.s" #include "asm/JSystem/J2DGraph/J2DAnmLoader/load__19J2DAnmKeyLoader_v15FPCv.s"
} }
#pragma pop #pragma pop
#endif
/* 80309414-80309570 303D54 015C+00 1/0 0/0 0/0 .text /* 80309414-80309570 303D54 015C+00 1/0 0/0 0/0 .text
* setResource__19J2DAnmKeyLoader_v15FP10J2DAnmBasePCv */ * setResource__19J2DAnmKeyLoader_v15FP10J2DAnmBasePCv */
#ifndef NM
void J2DAnmKeyLoader_v15::setResource(J2DAnmBase* pAnm, void const* param_1) {
const DataHeader *hdr = (const DataHeader*) param_1;
const DataBlockHeader *dataPtr = &hdr->mFirst;
for (s32 i = 0; i < hdr->mCount; i++) {
switch (dataPtr->mType) {
case 'ANK1':
if (pAnm->getKind() == 0) {
this->setAnmTransform((J2DAnmTransformKey*) pAnm, (J3DAnmTransformKeyData*) dataPtr);
}
break;
case 'PAK1':
if (pAnm->getKind() == 1) {
this->setAnmColor((J2DAnmColorKey*) pAnm, (J3DAnmColorKeyData*) dataPtr);
}
break;
case 'TTK1':
if (pAnm->getKind() == 4) {
this->setAnmTextureSRT((J2DAnmTextureSRTKey*) pAnm, (J3DAnmTextureSRTKeyData*) dataPtr);
}
break;
case 'TRK1':
if (pAnm->getKind() == 5) {
this->setAnmTevReg((J2DAnmTevRegKey*) pAnm, (J3DAnmTevRegKeyData*) dataPtr);
}
break;
case 'VCK1':
if (pAnm->getKind() == 7) {
this->setAnmVtxColor((J2DAnmVtxColorKey*) pAnm, (J3DAnmVtxColorKeyData*) dataPtr);
}
break;
}
dataPtr = (DataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset);
}
}
#else
#pragma push #pragma push
#pragma optimization_level 0 #pragma optimization_level 0
#pragma optimizewithasm off #pragma optimizewithasm off
@ -224,9 +332,15 @@ asm void J2DAnmKeyLoader_v15::setResource(J2DAnmBase* param_0, void const* param
#include "asm/JSystem/J2DGraph/J2DAnmLoader/setResource__19J2DAnmKeyLoader_v15FP10J2DAnmBasePCv.s" #include "asm/JSystem/J2DGraph/J2DAnmLoader/setResource__19J2DAnmKeyLoader_v15FP10J2DAnmBasePCv.s"
} }
#pragma pop #pragma pop
#endif
/* 80309570-80309598 303EB0 0028+00 1/1 0/0 0/0 .text /* 80309570-80309598 303EB0 0028+00 1/1 0/0 0/0 .text
* readAnmTransform__19J2DAnmKeyLoader_v15FPC22J3DAnmTransformKeyData */ * readAnmTransform__19J2DAnmKeyLoader_v15FPC22J3DAnmTransformKeyData */
#ifndef NM
void J2DAnmKeyLoader_v15::readAnmTransform(J3DAnmTransformKeyData const* pData) {
this->setAnmTransform((J2DAnmTransformKey*)_4, pData);
}
#else
#pragma push #pragma push
#pragma optimization_level 0 #pragma optimization_level 0
#pragma optimizewithasm off #pragma optimizewithasm off
@ -235,9 +349,32 @@ asm void J2DAnmKeyLoader_v15::readAnmTransform(J3DAnmTransformKeyData const* par
#include "asm/JSystem/J2DGraph/J2DAnmLoader/readAnmTransform__19J2DAnmKeyLoader_v15FPC22J3DAnmTransformKeyData.s" #include "asm/JSystem/J2DGraph/J2DAnmLoader/readAnmTransform__19J2DAnmKeyLoader_v15FPC22J3DAnmTransformKeyData.s"
} }
#pragma pop #pragma pop
#endif
template <typename T>
T* JSUConvertOffsetToPtr(const void* ptr, const void* offset) {
if (ptr == NULL) {
return NULL;
} else {
return (T*) ((s32)ptr + (s32)offset);
}
}
/* 80309598-80309634 303ED8 009C+00 2/2 0/0 0/0 .text /* 80309598-80309634 303ED8 009C+00 2/2 0/0 0/0 .text
* setAnmTransform__19J2DAnmKeyLoader_v15FP18J2DAnmTransformKeyPC22J3DAnmTransformKeyData */ * setAnmTransform__19J2DAnmKeyLoader_v15FP18J2DAnmTransformKeyPC22J3DAnmTransformKeyData */
#ifndef NM
void J2DAnmKeyLoader_v15::setAnmTransform(J2DAnmTransformKey* param_0, J3DAnmTransformKeyData const* param_1) {
param_0->field_0x22 = param_1->_C;
param_0->mFrameMax = param_1->mFrameMax;
param_0->field_0x4 = param_1->_8;
param_0->field_0x24 = param_1->_9;
param_0->mFrame = 0;
param_0->mInfoTable = JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(param_1, (void*)param_1->mTableOffset);
param_0->mScaleValues = JSUConvertOffsetToPtr<f32>(param_1, (void*) param_1->mScaleOffset);
param_0->mRotationValues = JSUConvertOffsetToPtr<s16>(param_1, (void*) param_1->mRotationOffset);
param_0->mTranslateValues = JSUConvertOffsetToPtr<f32>(param_1, (void*) param_1->mTranslateOffset);
}
#else
#pragma push #pragma push
#pragma optimization_level 0 #pragma optimization_level 0
#pragma optimizewithasm off #pragma optimizewithasm off
@ -247,9 +384,15 @@ asm void J2DAnmKeyLoader_v15::setAnmTransform(J2DAnmTransformKey* param_0,
#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_80309598.s" #include "asm/JSystem/J2DGraph/J2DAnmLoader/func_80309598.s"
} }
#pragma pop #pragma pop
#endif
/* 80309634-8030965C 303F74 0028+00 1/1 0/0 0/0 .text /* 80309634-8030965C 303F74 0028+00 1/1 0/0 0/0 .text
* readAnmTextureSRT__19J2DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData */ * readAnmTextureSRT__19J2DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData */
#ifndef NM
void J2DAnmKeyLoader_v15::readAnmTextureSRT(J3DAnmTextureSRTKeyData const* param_0) {
this->setAnmTextureSRT((J2DAnmTextureSRTKey*) _4, param_0);
}
#else
#pragma push #pragma push
#pragma optimization_level 0 #pragma optimization_level 0
#pragma optimizewithasm off #pragma optimizewithasm off
@ -258,9 +401,29 @@ asm void J2DAnmKeyLoader_v15::readAnmTextureSRT(J3DAnmTextureSRTKeyData const* p
#include "asm/JSystem/J2DGraph/J2DAnmLoader/readAnmTextureSRT__19J2DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData.s" #include "asm/JSystem/J2DGraph/J2DAnmLoader/readAnmTextureSRT__19J2DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData.s"
} }
#pragma pop #pragma pop
#endif
/* 8030965C-80309848 303F9C 01EC+00 2/2 0/0 0/0 .text /* 8030965C-80309848 303F9C 01EC+00 2/2 0/0 0/0 .text
* setAnmTextureSRT__19J2DAnmKeyLoader_v15FP19J2DAnmTextureSRTKeyPC23J3DAnmTextureSRTKeyData */ * setAnmTextureSRT__19J2DAnmKeyLoader_v15FP19J2DAnmTextureSRTKeyPC23J3DAnmTextureSRTKeyData */
#ifndef NM
void J2DAnmKeyLoader_v15::setAnmTextureSRT(J2DAnmTextureSRTKey* pAnm, J3DAnmTextureSRTKeyData const* pData) {
pAnm->mUpdateMaterialNum = pData->field_0xc;
pAnm->mFrameMax = pData->field_0xa;
pAnm->field_0x4 = pData->field_0x8;
pAnm->field_0x10 = pData->field_0x9;
pAnm->mFrame = 0;
pAnm->field_0x1a = pData->field_0xe;
pAnm->field_0x1c = pData->field_0x10;
pAnm->field_0x1e = pData->field_0x12;
pAnm->mInfoTable = JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(pData, (void*)pData->mTableOffset);
pAnm->mUpdateMaterialID = JSUConvertOffsetToPtr<u16>(pData, (void*)pData->mUpdateMatIDOffset);
pAnm->field_0x34.setResource(JSUConvertOffsetToPtr<ResNTAB>(pData, (void*)pData->mNameTab1Offset));
pAnm->mUpdateTexMtxID = JSUConvertOffsetToPtr<u8>(pData, (void*)pData->mUpdateTexMtxIDOffset);
pAnm->field_0x44 = JSUConvertOffsetToPtr<Vec>(pData, (void*)pData->unkOffset);
}
#else
#pragma push #pragma push
#pragma optimization_level 0 #pragma optimization_level 0
#pragma optimizewithasm off #pragma optimizewithasm off
@ -270,6 +433,7 @@ asm void J2DAnmKeyLoader_v15::setAnmTextureSRT(J2DAnmTextureSRTKey* param_0,
#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030965C.s" #include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030965C.s"
} }
#pragma pop #pragma pop
#endif
/* 80309848-80309870 304188 0028+00 1/1 0/0 0/0 .text /* 80309848-80309870 304188 0028+00 1/1 0/0 0/0 .text
* readAnmColor__19J2DAnmKeyLoader_v15FPC18J3DAnmColorKeyData */ * readAnmColor__19J2DAnmKeyLoader_v15FPC18J3DAnmColorKeyData */