diff options
| author | lepelog <25211966+lepelog@users.noreply.github.com> | 2022-01-07 00:36:47 +0100 |
|---|---|---|
| committer | lepelog <25211966+lepelog@users.noreply.github.com> | 2022-01-12 20:26:04 +0100 |
| commit | 2fe9bb78aef296af380962c07d90cf0cca38e488 (patch) | |
| tree | 4dcb843a449d5417ca685a4eb2ed2e687e144e51 /libs | |
| parent | a1497b3bf5529efb280ae04d4c8e11fb8c1069ab (diff) | |
function ordering :(
Diffstat (limited to 'libs')
| -rw-r--r-- | libs/JSystem/J2DGraph/J2DAnimation.cpp | 30 | ||||
| -rw-r--r-- | libs/JSystem/J2DGraph/J2DAnmLoader.cpp | 1038 |
2 files changed, 467 insertions, 601 deletions
diff --git a/libs/JSystem/J2DGraph/J2DAnimation.cpp b/libs/JSystem/J2DGraph/J2DAnimation.cpp index f2241fe918..5235e7813e 100644 --- a/libs/JSystem/J2DGraph/J2DAnimation.cpp +++ b/libs/JSystem/J2DGraph/J2DAnimation.cpp @@ -21,9 +21,9 @@ f32 J2DGetKeyFrameInterpolations(f32 param_0, J3DAnmKeyTableBase* param_1, s16* * getTransform__19J2DAnmTransformFullCFUsP16J3DTransformInfo */ void J2DAnmTransformFull::getTransform(u16 param_0, J3DTransformInfo* transformInfo) const { u16 idx = (param_0 * 3); - J2DAnmTransformFullInfo* xPart = &mTableInfo[idx]; - J2DAnmTransformFullInfo* yPart = &mTableInfo[idx + 1]; - J2DAnmTransformFullInfo* zPart = &mTableInfo[idx + 2]; + J3DAnmTransformFullTable* xPart = &mTableInfo[idx]; + J3DAnmTransformFullTable* yPart = &mTableInfo[idx + 1]; + J3DAnmTransformFullTable* zPart = &mTableInfo[idx + 2]; u16 xMaxFrame = xPart->mScaleMaxFrame; if (getFrame() < 0) { transformInfo->mScale.x = mScaleValues[xPart->mScaleOffset]; @@ -230,7 +230,7 @@ void J2DAnmColor::searchUpdateMaterialID(J2DScreen* pScreen) { /* 8030AFC8-8030B200 305908 0238+00 1/0 0/0 0/0 .text getColor__15J2DAnmColorFullCFUsP8_GXColor */ void J2DAnmColorFull::getColor(u16 param_0, _GXColor* pColor) const { - J2DAnmColorFullInfo* info = &mInfoTable[param_0]; + J3DAnmColorFullTable* info = &mInfoTable[param_0]; u16 maxFrame = info->mRMaxFrame; if (getFrame() < 0) { pColor->r = mRValues[info->mROffset]; @@ -267,7 +267,7 @@ void J2DAnmColorFull::getColor(u16 param_0, _GXColor* pColor) const { /* 8030B200-8030B4C4 305B40 02C4+00 1/0 0/0 0/0 .text getColor__14J2DAnmColorKeyCFUsP8_GXColor */ void J2DAnmColorKey::getColor(u16 param_0, _GXColor* pColor) const { - J2DAnmColorKeyInfo* info = &mInfoTable[param_0]; + J3DAnmColorKeyTable* info = &mInfoTable[param_0]; f32 val; switch (info->mRInfo.mMaxFrame) { case 0: @@ -346,7 +346,7 @@ void J2DAnmColorKey::getColor(u16 param_0, _GXColor* pColor) const { /* 8030B4C4-8030B704 305E04 0240+00 1/0 0/0 0/0 .text * getColor__18J2DAnmVtxColorFullCFUcUsP8_GXColor */ void J2DAnmVtxColorFull::getColor(u8 param_0, u16 param_1, _GXColor* pColor) const { - J2DAnmVtxColorFullInfo* info = &mInfoTable[param_0][param_1]; + J3DAnmColorFullTable* info = &mInfoTable[param_0][param_1]; u16 maxFrame = info->mRMaxFrame; if (getFrame() < 0) { pColor->r = mRValues[info->mROffset]; @@ -384,7 +384,7 @@ void J2DAnmVtxColorFull::getColor(u8 param_0, u16 param_1, _GXColor* pColor) con /* 8030B704-8030B9F0 306044 02EC+00 1/0 0/0 0/0 .text * getColor__17J2DAnmVtxColorKeyCFUcUsP8_GXColor */ void J2DAnmVtxColorKey::getColor(u8 param_0, u16 param_1, _GXColor* pColor) const { - J2DAnmVtxColorKeyInfo* info = &mInfoTable[param_0][param_1]; + J3DAnmColorKeyTable* info = &mInfoTable[param_0][param_1]; f32 val; switch (info->mRInfo.mMaxFrame) { case 0: @@ -621,21 +621,21 @@ JUTPalette* J2DAnmTexPattern::getPalette(u16 param_0) const { /* 8030C048-8030C0F0 306988 00A8+00 0/0 3/3 0/0 .text getVisibility__20J2DAnmVisibilityFullCFUsPUc */ void J2DAnmVisibilityFull::getVisibility(u16 param_0, u8* pOut) const { - u16 maxFrame = field_0x14[param_0]._0; + u16 maxFrame = mTable[param_0]._0; if (getFrame() < 0) { - *pOut = field_0x18[field_0x14[param_0]._2]; + *pOut = mValues[mTable[param_0]._2]; } else if (getFrame() >= maxFrame) { - *pOut = field_0x18[field_0x14[param_0]._2 + (maxFrame - 1)]; + *pOut = mValues[mTable[param_0]._2 + (maxFrame - 1)]; } else { int frame = getFrame(); - *pOut = field_0x18[field_0x14[param_0]._2 + frame]; + *pOut = mValues[mTable[param_0]._2 + frame]; } } /* 8030C0F0-8030C3B4 306A30 02C4+00 0/0 1/1 0/0 .text * getTevColorReg__15J2DAnmTevRegKeyCFUsP11_GXColorS10 */ void J2DAnmTevRegKey::getTevColorReg(u16 param_0, _GXColorS10* pColor) const { - J2DAnmTevRegKeyInfo* info = &mAnmCRegKeyTable[param_0]; + J3DAnmCRegKeyTable* info = &mAnmCRegKeyTable[param_0]; f32 val; switch (info->mRTable.mMaxFrame) { case 0: @@ -714,7 +714,7 @@ void J2DAnmTevRegKey::getTevColorReg(u16 param_0, _GXColorS10* pColor) const { /* 8030C3B4-8030C678 306CF4 02C4+00 0/0 1/1 0/0 .text * getTevKonstReg__15J2DAnmTevRegKeyCFUsP8_GXColor */ void J2DAnmTevRegKey::getTevKonstReg(u16 param_0, _GXColor* pColor) const { - J2DAnmTevRegKeyInfo* info = &mAnmKRegKeyTable[param_0]; + J3DAnmKRegKeyTable* info = &mAnmKRegKeyTable[param_0]; f32 val; switch (info->mRTable.mMaxFrame) { case 0: @@ -795,7 +795,7 @@ void J2DAnmTevRegKey::getTevKonstReg(u16 param_0, _GXColor* pColor) const { void J2DAnmTevRegKey::searchUpdateMaterialID(J2DScreen* pScreen) { if (pScreen != NULL && pScreen->mNameTable != NULL) { for (u16 i = 0; i < mCRegUpdateMaterialNum; i++) { - s32 idx = pScreen->mNameTable->getIndex(field_0x28.getName(i)); + s32 idx = pScreen->mNameTable->getIndex(mCRegNameTab.getName(i)); if (idx != -1) { mCRegUpdateMaterialID[i] = idx; } else { @@ -803,7 +803,7 @@ void J2DAnmTevRegKey::searchUpdateMaterialID(J2DScreen* pScreen) { } } for (u16 i = 0; i < mKRegUpdateMaterialNum; i++) { - s32 idx = pScreen->mNameTable->getIndex(field_0x3c.getName(i)); + s32 idx = pScreen->mNameTable->getIndex(mKRegNameTab.getName(i)); if (idx != -1) { mKRegUpdateMaterialID[i] = idx; } else { diff --git a/libs/JSystem/J2DGraph/J2DAnmLoader.cpp b/libs/JSystem/J2DGraph/J2DAnmLoader.cpp index ee19e3f3d4..7260bd4f69 100644 --- a/libs/JSystem/J2DGraph/J2DAnmLoader.cpp +++ b/libs/JSystem/J2DGraph/J2DAnmLoader.cpp @@ -12,19 +12,84 @@ // Types: // -struct J3DAnmVtxColorKeyData {}; +struct DataBlockHeader { + /* 0x0 */ u32 mType; + /* 0x4 */ u32 mNextOffset; +}; + +struct DataHeader { + /* 0x00 */ u32 mMagic; + /* 0x04 */ u32 mType; + /* 0x08 */ u8 _8[4]; + /* 0x0C */ u32 mCount; + /* 0x10 */ u8 _10[0x20-0x10]; + /* 0x20 */ DataBlockHeader mFirst; +}; + +struct J3DAnmVtxColorFullData { /* PlaceHolder Structure */ + /* 0x00 */ DataBlockHeader mHeader; + u8 field_0x8; + u8 field_0x9; // padding? + s16 mFrameMax; + u16 mAnmTableNum[2]; + u8 field_0x10[0x18-0x10]; + s32 mTableOffsets[2]; + s32 mVtxColorIndexDataOffsets[2]; + s32 mVtxColorIndexPointerOffsets[2]; + s32 mRValuesOffset; + s32 mGValuesOffset; + s32 mBValuesOffset; + s32 mAValuesOffset; +}; -struct J3DAnmVtxColorFullData {}; +struct J3DAnmVisibilityFullData { + /* 0x00 */ DataBlockHeader mHeader; + u8 field_0x8; + u8 field_0x9; // padding? + s16 mFrameMax; + u16 field_0xc; + u16 field_0xe; + s32 mTableOffset; + s32 mValuesOffset; +}; -struct J3DAnmVisibilityFullData {}; +struct J3DAnmTransformFullData { + /* 0x00 */ DataBlockHeader mHeader; + u8 field_0x8; + u8 field_0x9; + s16 mFrameMax; + u16 field_0xc; + u8 field_0xe[0x14-0xe]; + s32 mTableOffset; + s32 mScaleValOffset; + s32 mRotValOffset; + s32 mTransValOffset; +}; -struct J3DAnmTransformFullData {}; +struct J3DAnmColorKeyData { + /* 0x00 */ DataBlockHeader mHeader; + /* 0x08 */ u8 field_0x8; + /* 0x09 */ u8 field_0x9[3]; + /* 0x0C */ s16 mFrameMax; + /* 0x0E */ u16 mUpdateMaterialNum; + /* 0x10 */ u16 field_0x10; + /* 0x12 */ u16 field_0x12; + /* 0x14 */ u16 field_0x14; + /* 0x16 */ u16 field_0x16; + /* 0x18 */ s32 mTableOffset; /* Created by retype action */ + /* 0x1C */ s32 mUpdateMaterialIDOffset; + /* 0x20 */ s32 mNameTabOffset; /* Created by retype action */ + /* 0x24 */ s32 mRValOffset; + /* 0x28 */ s32 mGValOffset; + /* 0x2C */ s32 mBValOffset; + /* 0x30 */ s32 mAValOffset; +}; // Size = 0x34 struct J3DAnmTextureSRTKeyData { - u8 field_0x0[8]; + /* 0x00 */ DataBlockHeader mHeader; u8 field_0x8; u8 field_0x9; - u16 field_0xa; + s16 field_0xa; u16 field_0xc; u16 field_0xe; u16 field_0x10; @@ -42,213 +107,188 @@ struct J3DAnmTextureSRTKeyData { u16 field_0x38; u16 field_0x3a; s32 mInfoTable2Offset; - u8 field_0x40[4]; - s32 mNameTab2Offset; - u8 field_0x48[0x5C-0x48]; + s32 field_0x40; + u32 mNameTab2Offset; + s32 field_0x48; + s32 field_0x4c; + s32 field_0x50; + s32 field_0x54; + s32 field_0x58; s32 field_0x5c; }; -struct J3DAnmTexPatternFullData {}; - -struct J3DAnmTevRegKeyData {}; - -struct J3DAnmColorKeyData {}; - -struct J3DAnmColorFullData {}; - -struct J2DScreen {}; - -// -// Forward References: -// - -extern "C" void load__20J2DAnmLoaderDataBaseFPCv(); -extern "C" void __ct__19J2DAnmKeyLoader_v15Fv(); -extern "C" void __dt__19J2DAnmKeyLoader_v15Fv(); -extern "C" void load__19J2DAnmKeyLoader_v15FPCv(); -extern "C" void setResource__19J2DAnmKeyLoader_v15FP10J2DAnmBasePCv(); -extern "C" void readAnmTransform__19J2DAnmKeyLoader_v15FPC22J3DAnmTransformKeyData(); -extern "C" void -setAnmTransform__19J2DAnmKeyLoader_v15FP18J2DAnmTransformKeyPC22J3DAnmTransformKeyData(); -extern "C" void readAnmTextureSRT__19J2DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData(); -extern "C" void -setAnmTextureSRT__19J2DAnmKeyLoader_v15FP19J2DAnmTextureSRTKeyPC23J3DAnmTextureSRTKeyData(); -extern "C" void readAnmColor__19J2DAnmKeyLoader_v15FPC18J3DAnmColorKeyData(); -extern "C" void setAnmColor__19J2DAnmKeyLoader_v15FP14J2DAnmColorKeyPC18J3DAnmColorKeyData(); -extern "C" void readAnmVtxColor__19J2DAnmKeyLoader_v15FPC21J3DAnmVtxColorKeyData(); -extern "C" void -setAnmVtxColor__19J2DAnmKeyLoader_v15FP17J2DAnmVtxColorKeyPC21J3DAnmVtxColorKeyData(); -extern "C" void load__20J2DAnmFullLoader_v15FPCv(); -extern "C" void setResource__20J2DAnmFullLoader_v15FP10J2DAnmBasePCv(); -extern "C" void __ct__20J2DAnmFullLoader_v15Fv(); -extern "C" void __dt__20J2DAnmFullLoader_v15Fv(); -extern "C" void readAnmTransform__20J2DAnmFullLoader_v15FPC23J3DAnmTransformFullData(); -extern "C" void -setAnmTransform__20J2DAnmFullLoader_v15FP19J2DAnmTransformFullPC23J3DAnmTransformFullData(); -extern "C" void readAnmColor__20J2DAnmFullLoader_v15FPC19J3DAnmColorFullData(); -extern "C" void setAnmColor__20J2DAnmFullLoader_v15FP15J2DAnmColorFullPC19J3DAnmColorFullData(); -extern "C" void readAnmTexPattern__20J2DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData(); -extern "C" void -setAnmTexPattern__20J2DAnmFullLoader_v15FP16J2DAnmTexPatternPC24J3DAnmTexPatternFullData(); -extern "C" void readAnmTevReg__19J2DAnmKeyLoader_v15FPC19J3DAnmTevRegKeyData(); -extern "C" void setAnmTevReg__19J2DAnmKeyLoader_v15FP15J2DAnmTevRegKeyPC19J3DAnmTevRegKeyData(); -extern "C" void readAnmVisibility__20J2DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData(); -extern "C" void -setAnmVisibility__20J2DAnmFullLoader_v15FP20J2DAnmVisibilityFullPC24J3DAnmVisibilityFullData(); -extern "C" void readAnmVtxColor__20J2DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData(); -extern "C" void -setAnmVtxColor__20J2DAnmFullLoader_v15FP18J2DAnmVtxColorFullPC22J3DAnmVtxColorFullData(); -extern "C" void __dt__14J2DAnmVtxColorFv(); -extern "C" void __dt__20J2DAnmVisibilityFullFv(); -extern "C" void __dt__12J2DAnmLoaderFv(); -extern "C" void func_8030A458(void* _this, void const*, void const*); -extern "C" void func_8030A470(void* _this, void const*, void const*); -extern "C" void func_8030A488(void* _this, void const*, void const*); -extern "C" void func_8030A4A0(void* _this, void const*, void const*); -extern "C" void func_8030A4B8(void* _this, void const*, void const*); -extern "C" void func_8030A4D0(void* _this, void const*, void const*); -extern "C" void func_8030A4E8(void* _this, void const*, void const*); -extern "C" void func_8030A500(void* _this, void const*, void const*); -extern "C" void func_8030A518(void* _this, void const*, void const*); -extern "C" void func_8030A530(void* _this, void const*, void const*); -extern "C" void func_8030A548(void* _this, void const*, void const*); -extern "C" void func_8030A560(void* _this, void const*, void const*); -extern "C" void func_8030A578(void* _this, void const*, void const*); - -// -// External References: -// - -extern "C" void searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void __ct__10JUTNameTabFv(); -extern "C" void setResource__10JUTNameTabFPC7ResNTAB(); -extern "C" void func_802F4260(void* _this, void const*, void const*); -extern "C" void func_802F42C0(void* _this, void const*, void const*); -extern "C" void getColor__14J2DAnmVtxColorCFUcUsP8_GXColor(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" extern void* __vt__10J2DAnmBase[4]; -extern "C" extern void* __vt__15J2DAnmTransform[5 + 4 /* padding */]; -extern "C" extern void* __vt__15J2DAnmTevRegKey[4]; -extern "C" extern void* __vt__16J2DAnmTexPattern[4]; -extern "C" extern void* __vt__19J2DAnmTextureSRTKey[4]; -extern "C" extern void* __vt__17J2DAnmVtxColorKey[5]; -extern "C" extern void* __vt__18J2DAnmVtxColorFull[5]; -extern "C" extern void* __vt__14J2DAnmColorKey[5]; -extern "C" extern void* __vt__15J2DAnmColorFull[5]; -extern "C" extern void* __vt__11J2DAnmColor[5]; -extern "C" extern void* __vt__18J2DAnmTransformKey[6]; -extern "C" extern void* __vt__19J2DAnmTransformFull[5]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803CD6C8-803CD6DC 02A7E8 0014+00 2/2 0/0 0/0 .data __vt__20J2DAnmFullLoader_v15 */ -SECTION_DATA extern void* __vt__20J2DAnmFullLoader_v15[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)load__20J2DAnmFullLoader_v15FPCv, - (void*)setResource__20J2DAnmFullLoader_v15FP10J2DAnmBasePCv, - (void*)__dt__20J2DAnmFullLoader_v15Fv, -}; - -/* 803CD6DC-803CD6F0 02A7FC 0014+00 2/2 0/0 0/0 .data __vt__19J2DAnmKeyLoader_v15 */ -SECTION_DATA extern void* __vt__19J2DAnmKeyLoader_v15[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)load__19J2DAnmKeyLoader_v15FPCv, - (void*)setResource__19J2DAnmKeyLoader_v15FP10J2DAnmBasePCv, - (void*)__dt__19J2DAnmKeyLoader_v15Fv, -}; - -/* 803CD6F0-803CD704 02A810 0014+00 5/5 0/0 0/0 .data __vt__12J2DAnmLoader */ -SECTION_DATA extern void* __vt__12J2DAnmLoader[5] = { - (void*)NULL /* RTTI */, (void*)NULL, (void*)NULL, (void*)NULL, (void*)__dt__12J2DAnmLoaderFv, +struct J3DAnmVtxColorKeyData { + /* 0x00 */ DataBlockHeader mHeader; + /* 0x08 */ u8 field_0x8; + /* 0x09 */ u8 field_0x9; + /* 0x0A */ s16 mFrameMax; + /* 0x0C */ u16 mAnmTableNum[2]; + /* 0x10 */ u8 field_0x10[0x18-0x10]; + /* 0x18 */ s32 mTableOffsets[2]; + /* 0x20 */ s32 mVtxColoIndexDataOffset[2]; + /* 0x28 */ s32 mVtxColoIndexPointerOffset[2]; + /* 0x30 */ s32 mRValOffset; + /* 0x34 */ s32 mGValOffset; + /* 0x38 */ s32 mBValOffset; + /* 0x3C */ s32 mAValOffset; +}; // Size = 0x40 + +struct J3DAnmTexPatternFullData { + /* 0x00 */ DataBlockHeader mHeader; + u8 field_0x8; + u8 field_0x9; + s16 mFrameMax; + u16 field_0xc; + u16 field_0xe; + s32 mTableOffset; + s32 mValuesOffset; + s32 mUpdaterMaterialIDOffset; + s32 mNameTabOffset; }; -/* 803CD704-803CD714 02A824 0010+00 2/2 0/0 0/0 .data __vt__20J2DAnmVisibilityFull */ -SECTION_DATA extern void* __vt__20J2DAnmVisibilityFull[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__20J2DAnmVisibilityFullFv, - (void*)searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen, +struct J3DAnmTevRegKeyData { + /* 0x00 */ DataBlockHeader mHeader; + u8 field_0x8; + u8 field_0x9; // maybe padding + s16 mFrameMax; + u16 mCRegUpdateMaterialNum; + u16 mKRegUpdateMaterialNum; + u16 field_0x10; + u16 field_0x12; + u16 field_0x14; + u16 field_0x16; + u16 field_0x18; + u16 field_0x1a; + u16 field_0x1c; + u16 field_0x1e; + s32 mCRegTableOffset; + s32 mKRegTableOffset; + s32 mCRegUpdateMaterialIDOffset; + s32 mKRegUpdateMaterialIDOffset; + s32 mCRegNameTabOffset; + s32 mKRegNameTabOffset; + s32 mCRValuesOffset; + s32 mCGValuesOffset; + s32 mCBValuesOffset; + s32 mCAValuesOffset; + s32 mKRValuesOffset; + s32 mKGValuesOffset; + s32 mKBValuesOffset; + s32 mKAValuesOffset; }; -/* 803CD714-803CD728 02A834 0014+00 2/2 2/2 0/0 .data __vt__14J2DAnmVtxColor */ -SECTION_DATA extern void* __vt__14J2DAnmVtxColor[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__14J2DAnmVtxColorFv, - (void*)searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen, - (void*)getColor__14J2DAnmVtxColorCFUcUsP8_GXColor, +struct J3DAnmColorFullData { /* PlaceHolder Structure */ + /* 0x00 */ DataBlockHeader mHeader; + u8 field_0x8; + u8 field_0x9[3]; + s16 mFrameMax; + u16 mUpdateMaterialNum; + u8 field_0x10[0x18-0x10]; + s32 mTableOffset; + s32 mUpdateMaterialIDOffset; + s32 mNameTabOffset; + s32 mRValuesOffset; + s32 mGValuesOffset; + s32 mBValuesOffset; + s32 mAValuesOffset; }; -/* 804562F8-80456300 0048F8 0004+04 11/11 0/0 0/0 .sdata2 @1581 */ -SECTION_SDATA2 static f32 lit_1581[1 + 1 /* padding */] = { - 0.0f, - /* padding */ - 0.0f, -}; +struct J2DScreen {}; /* 80308A6C-80309290 3033AC 0824+00 0/0 26/26 2/2 .text load__20J2DAnmLoaderDataBaseFPCv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void* J2DAnmLoaderDataBase::load(void const* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/load__20J2DAnmLoaderDataBaseFPCv.s" +void* J2DAnmLoaderDataBase::load(void const* param_0) { + const DataHeader* hdr = (const DataHeader*) param_0; + if (hdr == NULL) { + return NULL; + } else if (hdr->mMagic == 'J3D1') { + switch (hdr->mType) { + case 'bck1': + {J2DAnmKeyLoader_v15 loader; + J2DAnmTransformKey* anm = new J2DAnmTransformKey(); + loader._4 = anm; + return loader.load(param_0); + break; + } + case 'bpk1': + {J2DAnmKeyLoader_v15 loader; + J2DAnmColorKey* anm = new J2DAnmColorKey(); + loader._4 = anm; + return loader.load(param_0); + break; + } + case 'blk1': + return NULL; + case 'btk1': + {J2DAnmKeyLoader_v15 loader; + J2DAnmTextureSRTKey* anm = new J2DAnmTextureSRTKey(); + loader._4 = anm; + return loader.load(param_0); + break; + } + case 'brk1': + {J2DAnmKeyLoader_v15 loader; + J2DAnmTevRegKey* anm = new J2DAnmTevRegKey(); + loader._4 = anm; + return loader.load(param_0); + break; + } + case 'bxk1': + {J2DAnmKeyLoader_v15 loader; + J2DAnmVtxColorKey* anm = new J2DAnmVtxColorKey(); + loader._4 = anm; + return loader.load(param_0); + break; + } + case 'bca1': + {J2DAnmFullLoader_v15 loader; + J2DAnmTransformFull* anm = new J2DAnmTransformFull(); + loader._4 = anm; + return loader.load(param_0); + break; + } + case 'bpa1': + {J2DAnmFullLoader_v15 loader; + J2DAnmColorFull* anm = new J2DAnmColorFull(); + loader._4 = anm; + return loader.load(param_0); + break; + } + case 'btp1': + {J2DAnmFullLoader_v15 loader; + J2DAnmTexPattern* anm = new J2DAnmTexPattern(); + loader._4 = anm; + return loader.load(param_0); + } + case 'bva1': + {J2DAnmFullLoader_v15 loader; + J2DAnmVisibilityFull* anm = new J2DAnmVisibilityFull(); + loader._4 = anm; + return loader.load(param_0); + break; + } + case 'bla1': + return NULL; + case 'bxa1': + {J2DAnmFullLoader_v15 loader; + J2DAnmVtxColorFull* anm = new J2DAnmVtxColorFull(); + loader._4 = anm; + return loader.load(param_0); + } + } + return NULL; + } else { + return NULL; + } } -#pragma pop /* 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 optimization_level 0 -#pragma optimizewithasm off -asm J2DAnmKeyLoader_v15::J2DAnmKeyLoader_v15() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/__ct__19J2DAnmKeyLoader_v15Fv.s" -} -#pragma pop -#endif /* 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 optimization_level 0 -#pragma optimizewithasm off -asm J2DAnmKeyLoader_v15::~J2DAnmKeyLoader_v15() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/__dt__19J2DAnmKeyLoader_v15Fv.s" -} -#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 */ -#ifndef NM void *J2DAnmKeyLoader_v15::load(void const* param_0) { const DataHeader *hdr = (const DataHeader*) param_0; const DataBlockHeader *dataPtr = &hdr->mFirst; @@ -274,21 +314,9 @@ void *J2DAnmKeyLoader_v15::load(void const* param_0) { } return _4; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void load__19J2DAnmKeyLoader_v15FPCv() { - // asm void J2DAnmKeyLoader_v15::load(void const* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/load__19J2DAnmKeyLoader_v15FPCv.s" -} -#pragma pop -#endif /* 80309414-80309570 303D54 015C+00 1/0 0/0 0/0 .text * 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; @@ -323,35 +351,14 @@ void J2DAnmKeyLoader_v15::setResource(J2DAnmBase* pAnm, void const* param_1) { dataPtr = (DataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset); } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmKeyLoader_v15::setResource(J2DAnmBase* param_0, void const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/setResource__19J2DAnmKeyLoader_v15FP10J2DAnmBasePCv.s" -} -#pragma pop -#endif /* 80309570-80309598 303EB0 0028+00 1/1 0/0 0/0 .text * readAnmTransform__19J2DAnmKeyLoader_v15FPC22J3DAnmTransformKeyData */ -#ifndef NM void J2DAnmKeyLoader_v15::readAnmTransform(J3DAnmTransformKeyData const* pData) { this->setAnmTransform((J2DAnmTransformKey*)_4, pData); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmKeyLoader_v15::readAnmTransform(J3DAnmTransformKeyData const* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/readAnmTransform__19J2DAnmKeyLoader_v15FPC22J3DAnmTransformKeyData.s" -} -#pragma pop -#endif -template <typename T> +template <typename T> // TODO move T* JSUConvertOffsetToPtr(const void* ptr, const void* offset) { if (ptr == NULL) { return NULL; @@ -362,7 +369,6 @@ T* JSUConvertOffsetToPtr(const void* ptr, const void* offset) { /* 80309598-80309634 303ED8 009C+00 2/2 0/0 0/0 .text * 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; @@ -374,44 +380,22 @@ void J2DAnmKeyLoader_v15::setAnmTransform(J2DAnmTransformKey* param_0, J3DAnmTra 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 optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmKeyLoader_v15::setAnmTransform(J2DAnmTransformKey* param_0, - J3DAnmTransformKeyData const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_80309598.s" -} -#pragma pop -#endif /* 80309634-8030965C 303F74 0028+00 1/1 0/0 0/0 .text * readAnmTextureSRT__19J2DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData */ -#ifndef NM void J2DAnmKeyLoader_v15::readAnmTextureSRT(J3DAnmTextureSRTKeyData const* param_0) { this->setAnmTextureSRT((J2DAnmTextureSRTKey*) _4, param_0); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmKeyLoader_v15::readAnmTextureSRT(J3DAnmTextureSRTKeyData const* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/readAnmTextureSRT__19J2DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData.s" -} -#pragma pop -#endif /* 8030965C-80309848 303F9C 01EC+00 2/2 0/0 0/0 .text * 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->mUpdateMaterialNum = pData->field_0xc; pAnm->field_0x1a = pData->field_0xe; pAnm->field_0x1c = pData->field_0x10; pAnm->field_0x1e = pData->field_0x12; @@ -420,418 +404,300 @@ void J2DAnmKeyLoader_v15::setAnmTextureSRT(J2DAnmTextureSRTKey* pAnm, J3DAnmText 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 optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmKeyLoader_v15::setAnmTextureSRT(J2DAnmTextureSRTKey* param_0, - J3DAnmTextureSRTKeyData const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030965C.s" + pAnm->mScaleValues = JSUConvertOffsetToPtr<f32>(pData, (void*)pData->mScaleValOffset); + pAnm->mRotationValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mRotValOffset); + pAnm->mTranslationValues = JSUConvertOffsetToPtr<f32>(pData, (void*)pData->mTransValOffset); + if (pData->mNameTab2Offset != 0) { + pAnm->field_0x68.setResource(JSUConvertOffsetToPtr<ResNTAB>(pData, (void*)pData->mNameTab2Offset)); + } + pAnm->field_0x4e = pData->field_0x34; + pAnm->field_0x48 = pData->field_0x36; + pAnm->field_0x4a = pData->field_0x38; + pAnm->field_0x4c = pData->field_0x3a; + pAnm->field_0x5c = JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(pData, (void*)pData->mInfoTable2Offset); + pAnm->field_0x64 = JSUConvertOffsetToPtr<u16>(pData, (void*)pData->field_0x40); + pAnm->field_0x60 = JSUConvertOffsetToPtr<u8>(pData, (void*)pData->field_0x48); + pAnm->field_0x78 = JSUConvertOffsetToPtr<Vec>(pData, (void*)pData->field_0x48); + pAnm->field_0x50 = JSUConvertOffsetToPtr<f32>(pData, (void*)pData->field_0x50); + pAnm->field_0x54 = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->field_0x54); + pAnm->field_0x58 = JSUConvertOffsetToPtr<f32>(pData, (void*)pData->field_0x58); + switch (pData->field_0x5c) { + case 0: + pAnm->field_0x7c = 0; + break; + case 1: + pAnm->field_0x7c = 1; + break; + default: + pAnm->field_0x7c = 0; + break; + } } -#pragma pop -#endif /* 80309848-80309870 304188 0028+00 1/1 0/0 0/0 .text * readAnmColor__19J2DAnmKeyLoader_v15FPC18J3DAnmColorKeyData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmKeyLoader_v15::readAnmColor(J3DAnmColorKeyData const* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/readAnmColor__19J2DAnmKeyLoader_v15FPC18J3DAnmColorKeyData.s" +void J2DAnmKeyLoader_v15::readAnmColor(J3DAnmColorKeyData const* pData) { + this->setAnmColor((J2DAnmColorKey*)_4, pData); } -#pragma pop /* 80309870-8030995C 3041B0 00EC+00 2/2 0/0 0/0 .text * setAnmColor__19J2DAnmKeyLoader_v15FP14J2DAnmColorKeyPC18J3DAnmColorKeyData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmKeyLoader_v15::setAnmColor(J2DAnmColorKey* param_0, - J3DAnmColorKeyData const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/setAnmColor__19J2DAnmKeyLoader_v15FP14J2DAnmColorKeyPC18J3DAnmColorKeyData.s" +void J2DAnmKeyLoader_v15::setAnmColor(J2DAnmColorKey* pAnm, J3DAnmColorKeyData const* pData) { + pAnm->mFrameMax = pData->mFrameMax; + pAnm->field_0x4 = pData->field_0x8; + pAnm->mFrame = 0; + pAnm->mUpdateMaterialNum = pData->mUpdateMaterialNum; + pAnm->field_0x10 = pData->field_0x10; + pAnm->field_0x12 = pData->field_0x12; + pAnm->field_0x14 = pData->field_0x14; + pAnm->field_0x16 = pData->field_0x16; + pAnm->mInfoTable = JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(pData, (void*) pData->mTableOffset); + pAnm->mRValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mRValOffset); + pAnm->mGValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mGValOffset); + pAnm->mBValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mBValOffset); + pAnm->mAValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mAValOffset); + pAnm->mUpdateMaterialID = JSUConvertOffsetToPtr<u16>(pData, (void*)pData->mUpdateMaterialIDOffset); + pAnm->field_0x20.setResource(JSUConvertOffsetToPtr<ResNTAB>(pData, (void*)pData->mNameTabOffset)); } -#pragma pop /* 8030995C-80309984 30429C 0028+00 1/1 0/0 0/0 .text * readAnmVtxColor__19J2DAnmKeyLoader_v15FPC21J3DAnmVtxColorKeyData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmKeyLoader_v15::readAnmVtxColor(J3DAnmVtxColorKeyData const* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/readAnmVtxColor__19J2DAnmKeyLoader_v15FPC21J3DAnmVtxColorKeyData.s" +void J2DAnmKeyLoader_v15::readAnmVtxColor(J3DAnmVtxColorKeyData const* pData) { + this->setAnmVtxColor((J2DAnmVtxColorKey*) _4, pData); } -#pragma pop /* 80309984-80309A80 3042C4 00FC+00 2/2 0/0 0/0 .text * setAnmVtxColor__19J2DAnmKeyLoader_v15FP17J2DAnmVtxColorKeyPC21J3DAnmVtxColorKeyData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmKeyLoader_v15::setAnmVtxColor(J2DAnmVtxColorKey* param_0, - J3DAnmVtxColorKeyData const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/setAnmVtxColor__19J2DAnmKeyLoader_v15FP17J2DAnmVtxColorKeyPC21J3DAnmVtxColorKeyData.s" +void J2DAnmKeyLoader_v15::setAnmVtxColor(J2DAnmVtxColorKey* pAnm, J3DAnmVtxColorKeyData const* pData) { + pAnm->mFrameMax = pData->mFrameMax; + pAnm->field_0x4 = pData->field_0x8; + pAnm->mFrame = 0; + pAnm->mAnmTableNum[0] = pData->mAnmTableNum[0]; + pAnm->mAnmTableNum[1] = pData->mAnmTableNum[1]; + pAnm->mInfoTable[0] = JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(pData, (void*) pData->mTableOffsets[0]); + pAnm->mInfoTable[1] = JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(pData, (void*) pData->mTableOffsets[1]); + pAnm->mVtxColorIndexData[0] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(pData, (void*) pData->mVtxColoIndexDataOffset[0]); + pAnm->mVtxColorIndexData[1] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(pData, (void*) pData->mVtxColoIndexDataOffset[1]); + pAnm->mVtxColorIndexPointer[0] = JSUConvertOffsetToPtr<u16>(pData, (void*) pData->mVtxColoIndexPointerOffset[0]); + pAnm->mVtxColorIndexPointer[1] = JSUConvertOffsetToPtr<u16>(pData, (void*) pData->mVtxColoIndexPointerOffset[1]); + pAnm->mRValues = JSUConvertOffsetToPtr<s16>(pData, (void*) pData->mRValOffset); + pAnm->mGValues = JSUConvertOffsetToPtr<s16>(pData, (void*) pData->mGValOffset); + pAnm->mBValues = JSUConvertOffsetToPtr<s16>(pData, (void*) pData->mBValOffset); + pAnm->mAValues = JSUConvertOffsetToPtr<s16>(pData, (void*) pData->mAValOffset); } -#pragma pop /* 80309A80-80309B8C 3043C0 010C+00 2/1 0/0 0/0 .text load__20J2DAnmFullLoader_v15FPCv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void load__20J2DAnmFullLoader_v15FPCv() { - // asm void J2DAnmFullLoader_v15::load(void const* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/load__20J2DAnmFullLoader_v15FPCv.s" +void *J2DAnmFullLoader_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 'ANF1': + this->readAnmTransform((J3DAnmTransformFullData*) dataPtr); + break; + case 'PAF1': + this->readAnmColor((J3DAnmColorFullData*) dataPtr); + break; + case 'TPT1': + this->readAnmTexPattern((J3DAnmTexPatternFullData*) dataPtr); + break; + case 'VAF1': + this->readAnmVisibility((J3DAnmVisibilityFullData*) dataPtr); + break; + case 'VCF1': + this->readAnmVtxColor((J3DAnmVtxColorFullData*) dataPtr); + break; + } + dataPtr = (DataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset); + } + return _4; } -#pragma pop /* 80309B8C-80309CE8 3044CC 015C+00 1/0 0/0 0/0 .text * setResource__20J2DAnmFullLoader_v15FP10J2DAnmBasePCv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmFullLoader_v15::setResource(J2DAnmBase* param_0, void const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/setResource__20J2DAnmFullLoader_v15FP10J2DAnmBasePCv.s" +void J2DAnmFullLoader_v15::setResource(J2DAnmBase* pAnm, void const* pData) { + const DataHeader *hdr = (const DataHeader*) pData; + const DataBlockHeader *dataPtr = &hdr->mFirst; + for (s32 i = 0; i < hdr->mCount; i++) { + switch (dataPtr->mType) { + case 'ANF1': + if (pAnm->getKind() == 0) + this->setAnmTransform((J2DAnmTransformFull*) pAnm, (J3DAnmTransformFullData*) dataPtr); + break; + case 'PAF1': + if (pAnm->getKind() == 1) + this->setAnmColor((J2DAnmColorFull*) pAnm, (J3DAnmColorFullData*) dataPtr); + break; + case 'TPT1': + if (pAnm->getKind() == 2) + this->setAnmTexPattern((J2DAnmTexPattern*) pAnm, (J3DAnmTexPatternFullData*) dataPtr); + break; + case 'VAF1': + if (pAnm->getKind() == 6) + this->setAnmVisibility((J2DAnmVisibilityFull*) pAnm, (J3DAnmVisibilityFullData*) dataPtr); + break; + case 'VCF1': + if (pAnm->getKind() == 7) + this->setAnmVtxColor((J2DAnmVtxColorFull*) pAnm, (J3DAnmVtxColorFullData*) dataPtr); + break; + } + dataPtr = (DataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset); + } } -#pragma pop /* 80309CE8-80309D04 304628 001C+00 1/1 0/0 0/0 .text __ct__20J2DAnmFullLoader_v15Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J2DAnmFullLoader_v15::J2DAnmFullLoader_v15() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/__ct__20J2DAnmFullLoader_v15Fv.s" -} -#pragma pop +J2DAnmFullLoader_v15::J2DAnmFullLoader_v15() {} /* 80309D04-80309D60 304644 005C+00 2/1 0/0 0/0 .text __dt__20J2DAnmFullLoader_v15Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J2DAnmFullLoader_v15::~J2DAnmFullLoader_v15() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/__dt__20J2DAnmFullLoader_v15Fv.s" -} -#pragma pop +J2DAnmFullLoader_v15::~J2DAnmFullLoader_v15() {} /* 80309D60-80309D88 3046A0 0028+00 1/1 0/0 0/0 .text * readAnmTransform__20J2DAnmFullLoader_v15FPC23J3DAnmTransformFullData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmFullLoader_v15::readAnmTransform(J3DAnmTransformFullData const* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/readAnmTransform__20J2DAnmFullLoader_v15FPC23J3DAnmTransformFullData.s" +void J2DAnmFullLoader_v15::readAnmTransform(J3DAnmTransformFullData const* pData) { + this->setAnmTransform((J2DAnmTransformFull*) _4, pData); } -#pragma pop /* 80309D88-80309E1C 3046C8 0094+00 2/2 0/0 0/0 .text * setAnmTransform__20J2DAnmFullLoader_v15FP19J2DAnmTransformFullPC23J3DAnmTransformFullData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmFullLoader_v15::setAnmTransform(J2DAnmTransformFull* param_0, - J3DAnmTransformFullData const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_80309D88.s" +void J2DAnmFullLoader_v15::setAnmTransform(J2DAnmTransformFull* pAnm, J3DAnmTransformFullData const* pData) { + pAnm->field_0x22 = pData->field_0xc; + pAnm->mFrameMax = pData->mFrameMax; + pAnm->field_0x4 = pData->field_0x8; + pAnm->mFrame = 0; + pAnm->mTableInfo = JSUConvertOffsetToPtr<J3DAnmTransformFullTable>(pData, (void*) pData->mTableOffset); + pAnm->mScaleValues = JSUConvertOffsetToPtr<f32>(pData, (void*) pData->mScaleValOffset); + pAnm->mRotationValues = JSUConvertOffsetToPtr<s16>(pData, (void*) pData->mRotValOffset); + pAnm->mTranslateValues = JSUConvertOffsetToPtr<f32>(pData, (void*) pData->mTransValOffset); + } -#pragma pop /* 80309E1C-80309E44 30475C 0028+00 1/1 0/0 0/0 .text * readAnmColor__20J2DAnmFullLoader_v15FPC19J3DAnmColorFullData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmFullLoader_v15::readAnmColor(J3DAnmColorFullData const* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/readAnmColor__20J2DAnmFullLoader_v15FPC19J3DAnmColorFullData.s" +void J2DAnmFullLoader_v15::readAnmColor(J3DAnmColorFullData const* pData) { + this->setAnmColor((J2DAnmColorFull*) _4, pData); } -#pragma pop /* 80309E44-80309F10 304784 00CC+00 2/2 0/0 0/0 .text * setAnmColor__20J2DAnmFullLoader_v15FP15J2DAnmColorFullPC19J3DAnmColorFullData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmFullLoader_v15::setAnmColor(J2DAnmColorFull* param_0, - J3DAnmColorFullData const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/setAnmColor__20J2DAnmFullLoader_v15FP15J2DAnmColorFullPC19J3DAnmColorFullData.s" +void J2DAnmFullLoader_v15::setAnmColor(J2DAnmColorFull* pAnm, J3DAnmColorFullData const* pData) { + pAnm->mFrameMax = pData->mFrameMax; + pAnm->field_0x4 = pData->field_0x8; + pAnm->mFrame = 0; + pAnm->mUpdateMaterialNum = pData->mUpdateMaterialNum; + pAnm->mInfoTable = JSUConvertOffsetToPtr<J3DAnmColorFullTable>(pData, (void*) pData->mTableOffset); + pAnm->mRValues = JSUConvertOffsetToPtr<u8>(pData, (void*) pData->mRValuesOffset); + pAnm->mGValues = JSUConvertOffsetToPtr<u8>(pData, (void*) pData->mGValuesOffset); + pAnm->mBValues = JSUConvertOffsetToPtr<u8>(pData, (void*) pData->mBValuesOffset); + pAnm->mAValues = JSUConvertOffsetToPtr<u8>(pData, (void*) pData->mAValuesOffset); + pAnm->mUpdateMaterialID = JSUConvertOffsetToPtr<u16>(pData, (void*) pData->mUpdateMaterialIDOffset); + pAnm->field_0x20.setResource(JSUConvertOffsetToPtr<ResNTAB>(pData, (void*) pData->mNameTabOffset)); + } -#pragma pop /* 80309F10-80309F38 304850 0028+00 1/1 0/0 0/0 .text * readAnmTexPattern__20J2DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmFullLoader_v15::readAnmTexPattern(J3DAnmTexPatternFullData const* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/readAnmTexPattern__20J2DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData.s" +void J2DAnmFullLoader_v15::readAnmTexPattern(J3DAnmTexPatternFullData const* pData) { + this->setAnmTexPattern((J2DAnmTexPattern*) _4, pData); } -#pragma pop /* 80309F38-80309FDC 304878 00A4+00 2/2 0/0 0/0 .text * setAnmTexPattern__20J2DAnmFullLoader_v15FP16J2DAnmTexPatternPC24J3DAnmTexPatternFullData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmFullLoader_v15::setAnmTexPattern(J2DAnmTexPattern* param_0, - J3DAnmTexPatternFullData const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_80309F38.s" +void J2DAnmFullLoader_v15::setAnmTexPattern(J2DAnmTexPattern* pAnm, J3DAnmTexPatternFullData const* pData) { + pAnm->mFrameMax = pData->mFrameMax; + pAnm->field_0x4 = pData->field_0x8; + pAnm->mFrame = 0; + pAnm->mUpdateMaterialNum = pData->field_0xc; + pAnm->field_0x18 = pData->field_0xe; + pAnm->mAnmTable = JSUConvertOffsetToPtr<J3DAnmTexPatternFullTable>(pData, (void*) pData->mTableOffset); + pAnm->mValues = JSUConvertOffsetToPtr<u16>(pData, (void*) pData->mValuesOffset); + pAnm->mUpdaterMaterialID = JSUConvertOffsetToPtr<u16>(pData, (void*) pData->mUpdaterMaterialIDOffset); + pAnm->field_0x20.setResource(JSUConvertOffsetToPtr<ResNTAB>(pData, (void*) pData->mNameTabOffset)); } -#pragma pop /* 80309FDC-8030A004 30491C 0028+00 1/1 0/0 0/0 .text * readAnmTevReg__19J2DAnmKeyLoader_v15FPC19J3DAnmTevRegKeyData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmKeyLoader_v15::readAnmTevReg(J3DAnmTevRegKeyData const* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/readAnmTevReg__19J2DAnmKeyLoader_v15FPC19J3DAnmTevRegKeyData.s" +void J2DAnmKeyLoader_v15::readAnmTevReg(J3DAnmTevRegKeyData const* pData) { + this->setAnmTevReg((J2DAnmTevRegKey*) _4, pData); } -#pragma pop /* 8030A004-8030A190 304944 018C+00 2/2 0/0 0/0 .text * setAnmTevReg__19J2DAnmKeyLoader_v15FP15J2DAnmTevRegKeyPC19J3DAnmTevRegKeyData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmKeyLoader_v15::setAnmTevReg(J2DAnmTevRegKey* param_0, - J3DAnmTevRegKeyData const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/setAnmTevReg__19J2DAnmKeyLoader_v15FP15J2DAnmTevRegKeyPC19J3DAnmTevRegKeyData.s" +void J2DAnmKeyLoader_v15::setAnmTevReg(J2DAnmTevRegKey* pAnm, J3DAnmTevRegKeyData const* pData) { + pAnm->mFrameMax = pData->mFrameMax; + pAnm->field_0x4 = pData->field_0x8; + pAnm->mFrame = 0; + pAnm->mCRegUpdateMaterialNum = pData->mCRegUpdateMaterialNum; + pAnm->mAnmCRegKeyTable = JSUConvertOffsetToPtr<J3DAnmCRegKeyTable>(pData, (void*) pData->mCRegTableOffset); + pAnm->mCRegUpdateMaterialID = JSUConvertOffsetToPtr<u16>(pData, (void*) pData->mCRegUpdateMaterialIDOffset); + pAnm->mCRegNameTab.setResource(JSUConvertOffsetToPtr<ResNTAB>(pData, (void*) pData->mCRegNameTabOffset)); + pAnm->mKRegUpdateMaterialNum = pData->mKRegUpdateMaterialNum; + pAnm->mAnmKRegKeyTable = JSUConvertOffsetToPtr<J3DAnmKRegKeyTable>(pData, (void*) pData->mKRegTableOffset); + pAnm->mKRegUpdateMaterialID = JSUConvertOffsetToPtr<u16>(pData, (void*) pData->mKRegUpdateMaterialIDOffset); + pAnm->mKRegNameTab.setResource(JSUConvertOffsetToPtr<ResNTAB>(pData, (void*) pData->mKRegNameTabOffset)); + pAnm->field_0x14 = pData->field_0x10; + pAnm->field_0x16 = pData->field_0x12; + pAnm->field_0x18 = pData->field_0x14; + pAnm->field_0x1a = pData->field_0x16; + pAnm->mCRValues = JSUConvertOffsetToPtr<s16>(pData, (void*) pData->mCRValuesOffset); + pAnm->mCGValues = JSUConvertOffsetToPtr<s16>(pData, (void*) pData->mCGValuesOffset); + pAnm->mCBValues = JSUConvertOffsetToPtr<s16>(pData, (void*) pData->mCBValuesOffset); + pAnm->mCAValues = JSUConvertOffsetToPtr<s16>(pData, (void*) pData->mCAValuesOffset); + pAnm->field_0x1c = pData->field_0x18; + pAnm->field_0x1e = pData->field_0x1a; + pAnm->field_0x20 = pData->field_0x1c; + pAnm->field_0x22 = pData->field_0x1e; + pAnm->mKRValues = JSUConvertOffsetToPtr<s16>(pData, (void*) pData->mKRValuesOffset); + pAnm->mKGValues = JSUConvertOffsetToPtr<s16>(pData, (void*) pData->mKGValuesOffset); + pAnm->mKBValues = JSUConvertOffsetToPtr<s16>(pData, (void*) pData->mKBValuesOffset); + pAnm->mKAValues = JSUConvertOffsetToPtr<s16>(pData, (void*) pData->mKAValuesOffset); } -#pragma pop /* 8030A190-8030A1B8 304AD0 0028+00 1/1 0/0 0/0 .text * readAnmVisibility__20J2DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmFullLoader_v15::readAnmVisibility(J3DAnmVisibilityFullData const* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/readAnmVisibility__20J2DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData.s" +void J2DAnmFullLoader_v15::readAnmVisibility(J3DAnmVisibilityFullData const* pData) { + this->setAnmVisibility((J2DAnmVisibilityFull*) _4, pData); } -#pragma pop /* 8030A1B8-8030A234 304AF8 007C+00 2/2 0/0 0/0 .text * setAnmVisibility__20J2DAnmFullLoader_v15FP20J2DAnmVisibilityFullPC24J3DAnmVisibilityFullData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmFullLoader_v15::setAnmVisibility(J2DAnmVisibilityFull* param_0, - J3DAnmVisibilityFullData const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A1B8.s" +void J2DAnmFullLoader_v15::setAnmVisibility(J2DAnmVisibilityFull* pAnm, J3DAnmVisibilityFullData const* pData) { + pAnm->mFrameMax = pData->mFrameMax; + pAnm->field_0x4 = pData->field_0x8; + pAnm->mFrame = 0; + pAnm->field_0x10 = pData->field_0xc; + pAnm->field_0x12 = pData->field_0xe; + pAnm->mTable = JSUConvertOffsetToPtr<J3DAnmVisibilityFullTable>(pData, (void*) pData->mTableOffset); + pAnm->mValues = JSUConvertOffsetToPtr<u8>(pData, (void*) pData->mValuesOffset); } -#pragma pop /* 8030A234-8030A25C 304B74 0028+00 1/1 0/0 0/0 .text * readAnmVtxColor__20J2DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmFullLoader_v15::readAnmVtxColor(J3DAnmVtxColorFullData const* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/readAnmVtxColor__20J2DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData.s" +void J2DAnmFullLoader_v15::readAnmVtxColor(J3DAnmVtxColorFullData const* pData) { + this->setAnmVtxColor((J2DAnmVtxColorFull*) _4, pData); } -#pragma pop /* 8030A25C-8030A358 304B9C 00FC+00 2/2 0/0 0/0 .text * setAnmVtxColor__20J2DAnmFullLoader_v15FP18J2DAnmVtxColorFullPC22J3DAnmVtxColorFullData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DAnmFullLoader_v15::setAnmVtxColor(J2DAnmVtxColorFull* param_0, - J3DAnmVtxColorFullData const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A25C.s" -} -#pragma pop +void J2DAnmFullLoader_v15::setAnmVtxColor(J2DAnmVtxColorFull* pAnm, J3DAnmVtxColorFullData const* pData) { + pAnm->mFrameMax = pData->mFrameMax; + pAnm->field_0x4 = pData->field_0x8; + pAnm->mFrame = 0; + pAnm->mAnmTableNum[0] = pData->mAnmTableNum[0]; + pAnm->mAnmTableNum[1] = pData->mAnmTableNum[1]; + pAnm->mInfoTable[0] = JSUConvertOffsetToPtr<J3DAnmColorFullTable>(pData, (void*) pData->mTableOffsets[0]); + pAnm->mInfoTable[1] = JSUConvertOffsetToPtr<J3DAnmColorFullTable>(pData, (void*) pData->mTableOffsets[1]); + pAnm->mVtxColorIndexData[0] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(pData, (void*) pData->mVtxColorIndexDataOffsets[0]); + pAnm->mVtxColorIndexData[1] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(pData, (void*) pData->mVtxColorIndexDataOffsets[1]); + pAnm->mVtxColorIndexPointer[0] = JSUConvertOffsetToPtr<u16>(pData, (void*) pData->mVtxColorIndexPointerOffsets[0]); + pAnm->mVtxColorIndexPointer[1] = JSUConvertOffsetToPtr<u16>(pData, (void*) pData->mVtxColorIndexPointerOffsets[1]); + pAnm->mRValues = JSUConvertOffsetToPtr<u8>(pData, (void*) pData->mRValuesOffset); + pAnm->mGValues = JSUConvertOffsetToPtr<u8>(pData, (void*) pData->mGValuesOffset); + pAnm->mBValues = JSUConvertOffsetToPtr<u8>(pData, (void*) pData->mBValuesOffset); + pAnm->mAValues = JSUConvertOffsetToPtr<u8>(pData, (void*) pData->mAValuesOffset); -/* 8030A358-8030A3B4 304C98 005C+00 1/0 0/0 0/0 .text __dt__14J2DAnmVtxColorFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm J2DAnmVtxColor::~J2DAnmVtxColor() { -extern "C" asm void __dt__14J2DAnmVtxColorFv() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/__dt__14J2DAnmVtxColorFv.s" } -#pragma pop +/* 8030A358-8030A3B4 304C98 005C+00 1/0 0/0 0/0 .text __dt__14J2DAnmVtxColorFv */ +// J2DAnmVtxColor::~J2DAnmVtxColor() {} /* 8030A3B4-8030A410 304CF4 005C+00 1/0 0/0 0/0 .text __dt__20J2DAnmVisibilityFullFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm J2DAnmVisibilityFull::~J2DAnmVisibilityFull() { -extern "C" asm void __dt__20J2DAnmVisibilityFullFv() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/__dt__20J2DAnmVisibilityFullFv.s" -} -#pragma pop - -/* 8030A410-8030A458 304D50 0048+00 1/0 0/0 0/0 .text __dt__12J2DAnmLoaderFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm J2DAnmLoader::~J2DAnmLoader() { -extern "C" asm void __dt__12J2DAnmLoaderFv() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/__dt__12J2DAnmLoaderFv.s" -} -#pragma pop - -/* 8030A458-8030A470 304D98 0018+00 1/1 1/1 0/0 .text - * JSUConvertOffsetToPtr<25J3DAnmVisibilityFullTable>__FPCvPCv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_8030A458(void* _this, void const* param_0, void const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A458.s" -} -#pragma pop - -/* 8030A470-8030A488 304DB0 0018+00 1/1 1/1 0/0 .text - * JSUConvertOffsetToPtr<18J3DAnmKRegKeyTable>__FPCvPCv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_8030A470(void* _this, void const* param_0, void const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A470.s" -} -#pragma pop - -/* 8030A488-8030A4A0 304DC8 0018+00 1/1 1/1 0/0 .text - * JSUConvertOffsetToPtr<18J3DAnmCRegKeyTable>__FPCvPCv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_8030A488(void* _this, void const* param_0, void const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A488.s" -} -#pragma pop - -/* 8030A4A0-8030A4B8 304DE0 0018+00 1/1 1/1 0/0 .text - * JSUConvertOffsetToPtr<25J3DAnmTexPatternFullTable>__FPCvPCv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_8030A4A0(void* _this, void const* param_0, void const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A4A0.s" -} -#pragma pop - -/* 8030A4B8-8030A4D0 304DF8 0018+00 2/2 2/2 0/0 .text - * JSUConvertOffsetToPtr<20J3DAnmColorFullTable>__FPCvPCv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_8030A4B8(void* _this, void const* param_0, void const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A4B8.s" -} -#pragma pop - -/* 8030A4D0-8030A4E8 304E10 0018+00 1/1 1/1 0/0 .text - * JSUConvertOffsetToPtr<24J3DAnmTransformFullTable>__FPCvPCv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_8030A4D0(void* _this, void const* param_0, void const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A4D0.s" -} -#pragma pop - -/* 8030A4E8-8030A500 304E28 0018+00 2/2 2/2 0/0 .text - * JSUConvertOffsetToPtr<23J3DAnmVtxColorIndexData>__FPCvPCv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_8030A4E8(void* _this, void const* param_0, void const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A4E8.s" -} -#pragma pop - -/* 8030A500-8030A518 304E40 0018+00 2/2 2/2 0/0 .text - * JSUConvertOffsetToPtr<19J3DAnmColorKeyTable>__FPCvPCv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_8030A500(void* _this, void const* param_0, void const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A500.s" -} -#pragma pop - -/* 8030A518-8030A530 304E58 0018+00 1/1 1/1 0/0 .text JSUConvertOffsetToPtr<3Vec>__FPCvPCv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_8030A518(void* _this, void const* param_0, void const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A518.s" -} -#pragma pop - -/* 8030A530-8030A548 304E70 0018+00 5/5 16/16 0/0 .text JSUConvertOffsetToPtr<7ResNTAB>__FPCvPCv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_8030A530(void* _this, void const* param_0, void const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A530.s" -} -#pragma pop - -/* 8030A548-8030A560 304E88 0018+00 6/6 6/6 0/0 .text JSUConvertOffsetToPtr<s>__FPCvPCv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_8030A548(void* _this, void const* param_0, void const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A548.s" -} -#pragma pop - -/* 8030A560-8030A578 304EA0 0018+00 3/3 7/7 0/0 .text JSUConvertOffsetToPtr<f>__FPCvPCv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_8030A560(void* _this, void const* param_0, void const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A560.s" -} -#pragma pop - -/* 8030A578-8030A590 304EB8 0018+00 2/2 2/2 0/0 .text - * JSUConvertOffsetToPtr<23J3DAnmTransformKeyTable>__FPCvPCv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_8030A578(void* _this, void const* param_0, void const* param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A578.s" -} -#pragma pop +// J2DAnmVisibilityFull::~J2DAnmVisibilityFull() {} |
