more misc. cleanup (#2232)

This commit is contained in:
Caroline Madsen
2024-10-31 20:36:11 -04:00
committed by GitHub
parent 30777a85b5
commit 09423b6fa0
121 changed files with 2254 additions and 17343 deletions
+71 -333
View File
@@ -4,217 +4,9 @@
//
#include "JSystem/J3DGraphLoader/J3DAnmLoader.h"
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
#include "JSystem/JSupport/JSupport.h"
#include "dol2asm.h"
#include "dolphin/os.h"
//
// Types:
//
class J3DAnmLoader {
public:
virtual J3DAnmBase* load(const void*) = 0;
virtual void setResource(J3DAnmBase*, const void*) = 0;
/* 80339800 */ virtual ~J3DAnmLoader() {}
};
class J3DAnmKeyLoader_v15 : public J3DAnmLoader {
public:
/* 803384E0 */ J3DAnmKeyLoader_v15();
/* 80338FEC */ void readAnmTransform(J3DAnmTransformKeyData const*);
/* 80339014 */ void setAnmTransform(J3DAnmTransformKey*, J3DAnmTransformKeyData const*);
/* 803390B0 */ void readAnmTextureSRT(J3DAnmTextureSRTKeyData const*);
/* 803390D8 */ void setAnmTextureSRT(J3DAnmTextureSRTKey*, J3DAnmTextureSRTKeyData const*);
/* 803392B0 */ void readAnmColor(J3DAnmColorKeyData const*);
/* 803392D8 */ void setAnmColor(J3DAnmColorKey*, J3DAnmColorKeyData const*);
/* 803393C4 */ void readAnmCluster(J3DAnmClusterKeyData const*);
/* 803393EC */ void setAnmCluster(J3DAnmClusterKey*, J3DAnmClusterKeyData const*);
/* 80339458 */ void readAnmTevReg(J3DAnmTevRegKeyData const*);
/* 80339480 */ void setAnmTevReg(J3DAnmTevRegKey*, J3DAnmTevRegKeyData const*);
/* 8033960C */ void readAnmVtxColor(J3DAnmVtxColorKeyData const*);
/* 80339634 */ void setAnmVtxColor(J3DAnmVtxColorKey*, J3DAnmVtxColorKeyData const*);
/* 80338D44 */ virtual J3DAnmBase* load(void const*);
/* 80338E8C */ virtual void setResource(J3DAnmBase*, void const*);
/* 803384FC */ virtual ~J3DAnmKeyLoader_v15();
/* 0x4 */ J3DAnmBase* mAnm;
};
class J3DAnmFullLoader_v15 : public J3DAnmLoader {
public:
/* 80338468 */ J3DAnmFullLoader_v15();
/* 80338800 */ void readAnmTransform(J3DAnmTransformFullData const*);
/* 80338828 */ void setAnmTransform(J3DAnmTransformFull*, J3DAnmTransformFullData const*);
/* 803388BC */ void readAnmColor(J3DAnmColorFullData const*);
/* 803388E4 */ void setAnmColor(J3DAnmColorFull*, J3DAnmColorFullData const*);
/* 803389B0 */ void readAnmTexPattern(J3DAnmTexPatternFullData const*);
/* 803389D8 */ void setAnmTexPattern(J3DAnmTexPattern*, J3DAnmTexPatternFullData const*);
/* 80338A7C */ void readAnmVisibility(J3DAnmVisibilityFullData const*);
/* 80338AA4 */ void setAnmVisibility(J3DAnmVisibilityFull*, J3DAnmVisibilityFullData const*);
/* 80338B20 */ void readAnmCluster(J3DAnmClusterFullData const*);
/* 80338B48 */ void setAnmCluster(J3DAnmClusterFull*, J3DAnmClusterFullData const*);
/* 80338BB4 */ void readAnmVtxColor(J3DAnmVtxColorFullData const*);
/* 80338BDC */ void setAnmVtxColor(J3DAnmVtxColorFull*, J3DAnmVtxColorFullData const*);
/* 80338558 */ virtual J3DAnmBase* load(void const*);
/* 803386A0 */ virtual void setResource(J3DAnmBase*, void const*);
/* 80338484 */ virtual ~J3DAnmFullLoader_v15();
/* 0x4 */ J3DAnmBase* mAnm;
};
//
// Forward References:
//
extern "C" void load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag();
extern "C" void setResource__20J3DAnmLoaderDataBaseFP10J3DAnmBasePCv();
extern "C" void __ct__20J3DAnmFullLoader_v15Fv();
extern "C" void __dt__20J3DAnmFullLoader_v15Fv();
extern "C" void __ct__19J3DAnmKeyLoader_v15Fv();
extern "C" void __dt__19J3DAnmKeyLoader_v15Fv();
extern "C" void load__20J3DAnmFullLoader_v15FPCv();
extern "C" void setResource__20J3DAnmFullLoader_v15FP10J3DAnmBasePCv();
extern "C" void readAnmTransform__20J3DAnmFullLoader_v15FPC23J3DAnmTransformFullData();
extern "C" void
setAnmTransform__20J3DAnmFullLoader_v15FP19J3DAnmTransformFullPC23J3DAnmTransformFullData();
extern "C" void readAnmColor__20J3DAnmFullLoader_v15FPC19J3DAnmColorFullData();
extern "C" void setAnmColor__20J3DAnmFullLoader_v15FP15J3DAnmColorFullPC19J3DAnmColorFullData();
extern "C" void readAnmTexPattern__20J3DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData();
extern "C" void
setAnmTexPattern__20J3DAnmFullLoader_v15FP16J3DAnmTexPatternPC24J3DAnmTexPatternFullData();
extern "C" void readAnmVisibility__20J3DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData();
extern "C" void
setAnmVisibility__20J3DAnmFullLoader_v15FP20J3DAnmVisibilityFullPC24J3DAnmVisibilityFullData();
extern "C" void readAnmCluster__20J3DAnmFullLoader_v15FPC21J3DAnmClusterFullData();
extern "C" void
setAnmCluster__20J3DAnmFullLoader_v15FP17J3DAnmClusterFullPC21J3DAnmClusterFullData();
extern "C" void readAnmVtxColor__20J3DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData();
extern "C" void
setAnmVtxColor__20J3DAnmFullLoader_v15FP18J3DAnmVtxColorFullPC22J3DAnmVtxColorFullData();
extern "C" void load__19J3DAnmKeyLoader_v15FPCv();
extern "C" void setResource__19J3DAnmKeyLoader_v15FP10J3DAnmBasePCv();
extern "C" void readAnmTransform__19J3DAnmKeyLoader_v15FPC22J3DAnmTransformKeyData();
extern "C" void
setAnmTransform__19J3DAnmKeyLoader_v15FP18J3DAnmTransformKeyPC22J3DAnmTransformKeyData();
extern "C" void readAnmTextureSRT__19J3DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData();
extern "C" void
setAnmTextureSRT__19J3DAnmKeyLoader_v15FP19J3DAnmTextureSRTKeyPC23J3DAnmTextureSRTKeyData();
extern "C" void readAnmColor__19J3DAnmKeyLoader_v15FPC18J3DAnmColorKeyData();
extern "C" void setAnmColor__19J3DAnmKeyLoader_v15FP14J3DAnmColorKeyPC18J3DAnmColorKeyData();
extern "C" void readAnmCluster__19J3DAnmKeyLoader_v15FPC20J3DAnmClusterKeyData();
extern "C" void setAnmCluster__19J3DAnmKeyLoader_v15FP16J3DAnmClusterKeyPC20J3DAnmClusterKeyData();
extern "C" void readAnmTevReg__19J3DAnmKeyLoader_v15FPC19J3DAnmTevRegKeyData();
extern "C" void setAnmTevReg__19J3DAnmKeyLoader_v15FP15J3DAnmTevRegKeyPC19J3DAnmTevRegKeyData();
extern "C" void readAnmVtxColor__19J3DAnmKeyLoader_v15FPC21J3DAnmVtxColorKeyData();
extern "C" void
setAnmVtxColor__19J3DAnmKeyLoader_v15FP17J3DAnmVtxColorKeyPC21J3DAnmVtxColorKeyData();
extern "C" void __dt__20J3DAnmVisibilityFullFv();
extern "C" s32 getKind__20J3DAnmVisibilityFullCFv();
extern "C" void __dt__12J3DAnmLoaderFv();
extern "C" void func_80339848(void* _this, void const*, void const*);
extern "C" void func_80339860(void* _this, void const*, void const*);
extern "C" extern char const* const J3DAnmLoader__stringBase0;
//
// External References:
//
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
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 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*);
extern "C" void __ct__15J3DAnmTransformFsPfPsPf();
extern "C" void __ct__19J3DAnmTextureSRTKeyFv();
extern "C" void __ct__18J3DAnmVtxColorFullFv();
extern "C" void __ct__17J3DAnmVtxColorKeyFv();
extern "C" void __ct__15J3DAnmColorFullFv();
extern "C" void __ct__14J3DAnmColorKeyFv();
extern "C" void __ct__15J3DAnmTevRegKeyFv();
extern "C" void __ct__16J3DAnmTexPatternFv();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_29();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__10J3DAnmBase[4];
extern "C" extern void* __vt__18J3DAnmTransformKey[5];
extern "C" extern void* __vt__16J3DAnmClusterKey[5];
extern "C" extern void* __vt__13J3DAnmCluster[5];
extern "C" extern void* __vt__17J3DAnmClusterFull[5];
extern "C" extern void* __vt__27J3DAnmTransformFullWithLerp[5];
extern "C" extern void* __vt__19J3DAnmTransformFull[5 + 1 /* padding */];
//
// Declarations:
//
/* ############################################################################################## */
/* 803A2130-803A2130 02E790 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_803A2130 =
"J3DAnmLoader: this is not a J3D Binary.\n";
#pragma pop
/* 803CF238-803CF24C 02C358 0014+00 2/2 0/0 0/0 .data __vt__19J3DAnmKeyLoader_v15 */
SECTION_DATA extern void* __vt__19J3DAnmKeyLoader_v15[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)load__19J3DAnmKeyLoader_v15FPCv,
(void*)setResource__19J3DAnmKeyLoader_v15FP10J3DAnmBasePCv,
(void*)__dt__19J3DAnmKeyLoader_v15Fv,
};
/* 803CF24C-803CF260 02C36C 0014+00 2/2 0/0 0/0 .data __vt__20J3DAnmFullLoader_v15 */
SECTION_DATA extern void* __vt__20J3DAnmFullLoader_v15[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)load__20J3DAnmFullLoader_v15FPCv,
(void*)setResource__20J3DAnmFullLoader_v15FP10J3DAnmBasePCv,
(void*)__dt__20J3DAnmFullLoader_v15Fv,
};
/* 803CF260-803CF274 02C380 0014+00 5/5 0/0 0/0 .data __vt__12J3DAnmLoader */
SECTION_DATA extern void* __vt__12J3DAnmLoader[5] = {
(void*)NULL /* RTTI */, (void*)NULL, (void*)NULL, (void*)NULL, (void*)__dt__12J3DAnmLoaderFv,
};
/* 803CF274-803CF288 02C394 0010+04 2/2 0/0 0/0 .data __vt__20J3DAnmVisibilityFull */
SECTION_DATA extern void* __vt__20J3DAnmVisibilityFull[4 + 1 /* padding */] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__20J3DAnmVisibilityFullFv,
(void*)getKind__20J3DAnmVisibilityFullCFv,
/* padding */
NULL,
};
/* 804564C0-804564C8 004AC0 0004+04 13/13 0/0 0/0 .sdata2 @889 */
SECTION_SDATA2 static f32 lit_889[1 + 1 /* padding */] = {
0.0f,
/* padding */
0.0f,
};
/* 80337B40-80338134 332480 05F4+00 0/0 7/7 1/1 .text
* load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag */
J3DAnmBase* J3DAnmLoaderDataBase::load(const void* i_data, J3DAnmLoaderDataBaseFlag flag) {
@@ -298,7 +90,6 @@ J3DAnmBase* J3DAnmLoaderDataBase::load(const void* i_data, J3DAnmLoaderDataBaseF
return NULL;
}
/* 80338134-80338468 332A74 0334+00 0/0 1/1 0/0 .text
* setResource__20J3DAnmLoaderDataBaseFP10J3DAnmBasePCv */
void J3DAnmLoaderDataBase::setResource(J3DAnmBase* param_1, const void* param_2) {
@@ -382,28 +173,15 @@ void J3DAnmLoaderDataBase::setResource(J3DAnmBase* param_1, const void* param_2)
/* 80338468-80338484 332DA8 001C+00 2/2 0/0 0/0 .text __ct__20J3DAnmFullLoader_v15Fv */
J3DAnmFullLoader_v15::J3DAnmFullLoader_v15() {}
/* 80338484-803384E0 332DC4 005C+00 3/2 0/0 0/0 .text __dt__20J3DAnmFullLoader_v15Fv */
J3DAnmFullLoader_v15::~J3DAnmFullLoader_v15() {}
/* 803384E0-803384FC 332E20 001C+00 2/2 0/0 0/0 .text __ct__19J3DAnmKeyLoader_v15Fv */
J3DAnmKeyLoader_v15::J3DAnmKeyLoader_v15() {}
/* 803384FC-80338558 332E3C 005C+00 3/2 0/0 0/0 .text __dt__19J3DAnmKeyLoader_v15Fv */
J3DAnmKeyLoader_v15::~J3DAnmKeyLoader_v15() {}
/* ############################################################################################## */
/* 803A2130-803A2130 02E790 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_803A2159 = "Unknown data block\n";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_803A216D = "\0\0";
#pragma pop
/* 80338558-803386A0 332E98 0148+00 2/1 0/0 0/0 .text load__20J3DAnmFullLoader_v15FPCv */
J3DAnmBase* J3DAnmFullLoader_v15::load(const void* param_1) {
const JUTDataFileHeader* header = (const JUTDataFileHeader*)param_1;
@@ -437,7 +215,6 @@ J3DAnmBase* J3DAnmFullLoader_v15::load(const void* param_1) {
return mAnm;
}
/* 803386A0-80338800 332FE0 0160+00 2/1 0/0 0/0 .text
* setResource__20J3DAnmFullLoader_v15FP10J3DAnmBasePCv */
void J3DAnmFullLoader_v15::setResource(J3DAnmBase* param_1, const void* param_2) {
@@ -487,10 +264,10 @@ void J3DAnmFullLoader_v15::setAnmTransform(J3DAnmTransformFull* param_1,
param_1->mAttribute = param_2->field_0x8;
param_1->mFrame = 0.0f;
param_1->mAnmTable =
JSUConvertOffsetToPtr<J3DAnmTransformFullTable>(param_2, (void*)param_2->mTableOffset);
param_1->mScaleData = JSUConvertOffsetToPtr<f32>(param_2, (void*)param_2->mScaleValOffset);
param_1->mRotData = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mRotValOffset);
param_1->mTransData = JSUConvertOffsetToPtr<f32>(param_2, (void*)param_2->mTransValOffset);
JSUConvertOffsetToPtr<J3DAnmTransformFullTable>(param_2, param_2->mTableOffset);
param_1->mScaleData = JSUConvertOffsetToPtr<f32>(param_2, param_2->mScaleValOffset);
param_1->mRotData = JSUConvertOffsetToPtr<s16>(param_2, param_2->mRotValOffset);
param_1->mTransData = JSUConvertOffsetToPtr<f32>(param_2, param_2->mTransValOffset);
}
@@ -509,18 +286,17 @@ void J3DAnmFullLoader_v15::setAnmColor(J3DAnmColorFull* param_1,
param_1->mFrame = 0.0f;
param_1->mUpdateMaterialNum = param_2->mUpdateMaterialNum;
param_1->mAnmTable =
JSUConvertOffsetToPtr<J3DAnmColorFullTable>(param_2, (void*)param_2->mTableOffset);
JSUConvertOffsetToPtr<J3DAnmColorFullTable>(param_2, param_2->mTableOffset);
param_1->mColorR = JSUConvertOffsetToPtr<u8>(param_2, param_2->mRValuesOffset);
param_1->mColorG = JSUConvertOffsetToPtr<u8>(param_2, param_2->mGValuesOffset);
param_1->mColorB = JSUConvertOffsetToPtr<u8>(param_2, param_2->mBValuesOffset);
param_1->mColorA = JSUConvertOffsetToPtr<u8>(param_2, param_2->mAValuesOffset);
param_1->mUpdateMaterialID =
JSUConvertOffsetToPtr<u16>(param_2, (void*)param_2->mUpdateMaterialIDOffset);
JSUConvertOffsetToPtr<u16>(param_2, param_2->mUpdateMaterialIDOffset);
param_1->mUpdateMaterialName.setResource(
JSUConvertOffsetToPtr<ResNTAB>(param_2, (void*)param_2->mNameTabOffset));
JSUConvertOffsetToPtr<ResNTAB>(param_2, param_2->mNameTabOffset));
}
/* 803389B0-803389D8 3332F0 0028+00 1/1 0/0 0/0 .text
* readAnmTexPattern__20J3DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData */
void J3DAnmFullLoader_v15::readAnmTexPattern(const J3DAnmTexPatternFullData* param_1) {
@@ -537,15 +313,14 @@ void J3DAnmFullLoader_v15::setAnmTexPattern(J3DAnmTexPattern* param_1,
param_1->mUpdateMaterialNum = param_2->field_0xc;
param_1->field_0x14 = param_2->field_0xe;
param_1->mAnmTable =
JSUConvertOffsetToPtr<J3DAnmTexPatternFullTable>(param_2, (void*)param_2->mTableOffset);
param_1->mTextureIndex = JSUConvertOffsetToPtr<u16>(param_2, (void*)param_2->mValuesOffset);
JSUConvertOffsetToPtr<J3DAnmTexPatternFullTable>(param_2, param_2->mTableOffset);
param_1->mTextureIndex = JSUConvertOffsetToPtr<u16>(param_2, param_2->mValuesOffset);
param_1->mUpdateMaterialID =
JSUConvertOffsetToPtr<u16>(param_2, (void*)param_2->mUpdateMaterialIDOffset);
JSUConvertOffsetToPtr<u16>(param_2, param_2->mUpdateMaterialIDOffset);
param_1->mUpdateMaterialName.setResource(
JSUConvertOffsetToPtr<ResNTAB>(param_2, (void*)param_2->mNameTabOffset));
JSUConvertOffsetToPtr<ResNTAB>(param_2, param_2->mNameTabOffset));
}
/* 80338A7C-80338AA4 3333BC 0028+00 1/1 0/0 0/0 .text
* readAnmVisibility__20J3DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData */
void J3DAnmFullLoader_v15::readAnmVisibility(const J3DAnmVisibilityFullData* param_1) {
@@ -562,11 +337,10 @@ void J3DAnmFullLoader_v15::setAnmVisibility(J3DAnmVisibilityFull* param_1,
param_1->mUpdateMaterialNum = param_2->field_0xc;
param_1->field_0xe = param_2->field_0xe;
param_1->mAnmTable =
JSUConvertOffsetToPtr<J3DAnmVisibilityFullTable>(param_2, (void*)param_2->mTableOffset);
JSUConvertOffsetToPtr<J3DAnmVisibilityFullTable>(param_2, param_2->mTableOffset);
param_1->mVisibility = JSUConvertOffsetToPtr<u8>(param_2, param_2->mValuesOffset);
}
/* 80338B20-80338B48 333460 0028+00 1/1 0/0 0/0 .text
* readAnmCluster__20J3DAnmFullLoader_v15FPC21J3DAnmClusterFullData */
void J3DAnmFullLoader_v15::readAnmCluster(const J3DAnmClusterFullData* param_1) {
@@ -581,11 +355,10 @@ void J3DAnmFullLoader_v15::setAnmCluster(J3DAnmClusterFull* param_1,
param_1->mAttribute = param_2->field_0x8;
param_1->mFrame = 0.0f;
param_1->mAnmTable =
JSUConvertOffsetToPtr<J3DAnmClusterFullTable>(param_2, (void*)param_2->mTableOffset);
param_1->mWeight = JSUConvertOffsetToPtr<f32>(param_2, (void*)param_2->mWeightOffset);
JSUConvertOffsetToPtr<J3DAnmClusterFullTable>(param_2, param_2->mTableOffset);
param_1->mWeight = JSUConvertOffsetToPtr<f32>(param_2, param_2->mWeightOffset);
}
/* 80338BB4-80338BDC 3334F4 0028+00 1/1 0/0 0/0 .text
* readAnmVtxColor__20J3DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData */
void J3DAnmFullLoader_v15::readAnmVtxColor(const J3DAnmVtxColorFullData* param_1) {
@@ -602,17 +375,17 @@ void J3DAnmFullLoader_v15::setAnmVtxColor(J3DAnmVtxColorFull* dst,
dst->mAnmTableNum[0] = data->mAnmTableNum[0];
dst->mAnmTableNum[1] = data->mAnmTableNum[1];
dst->mpTable[0] =
JSUConvertOffsetToPtr<J3DAnmColorFullTable>(data, (void*)data->mTableOffsets[0]);
JSUConvertOffsetToPtr<J3DAnmColorFullTable>(data, data->mTableOffsets[0]);
dst->mpTable[1] =
JSUConvertOffsetToPtr<J3DAnmColorFullTable>(data, (void*)data->mTableOffsets[1]);
JSUConvertOffsetToPtr<J3DAnmColorFullTable>(data, data->mTableOffsets[1]);
dst->mAnmVtxColorIndexData[0] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(
data, (void*)data->mVtxColorIndexDataOffsets[0]);
data, data->mVtxColorIndexDataOffsets[0]);
dst->mAnmVtxColorIndexData[1] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(
data, (void*)data->mVtxColorIndexDataOffsets[1]);
data, data->mVtxColorIndexDataOffsets[1]);
void* indexPtr0 =
JSUConvertOffsetToPtr<u16>(data, (void*)data->mVtxColorIndexPointerOffsets[0]);
JSUConvertOffsetToPtr<u16>(data, data->mVtxColorIndexPointerOffsets[0]);
void* indexPtr1 =
JSUConvertOffsetToPtr<u16>(data, (void*)data->mVtxColorIndexPointerOffsets[1]);
JSUConvertOffsetToPtr<u16>(data, data->mVtxColorIndexPointerOffsets[1]);
for (s32 i = 0; i < dst->mAnmTableNum[0]; i++)
dst->mAnmVtxColorIndexData[0][i].mpData =
@@ -627,7 +400,6 @@ void J3DAnmFullLoader_v15::setAnmVtxColor(J3DAnmVtxColorFull* dst,
dst->mColorA = JSUConvertOffsetToPtr<u8>(data, data->mAValuesOffset);
}
/* 80338D44-80338E8C 333684 0148+00 2/1 0/0 0/0 .text load__19J3DAnmKeyLoader_v15FPCv */
J3DAnmBase* J3DAnmKeyLoader_v15::load(const void* param_1) {
const JUTDataFileHeader* header = (const JUTDataFileHeader*)param_1;
@@ -661,7 +433,6 @@ J3DAnmBase* J3DAnmKeyLoader_v15::load(const void* param_1) {
return mAnm;
}
/* 80338E8C-80338FEC 3337CC 0160+00 2/1 0/0 0/0 .text
* setResource__19J3DAnmKeyLoader_v15FP10J3DAnmBasePCv */
void J3DAnmKeyLoader_v15::setResource(J3DAnmBase* param_1, const void* param_2) {
@@ -711,10 +482,10 @@ void J3DAnmKeyLoader_v15::setAnmTransform(J3DAnmTransformKey* param_1,
param_1->mDecShift = param_2->field_0x9;
param_1->mFrame = 0.0f;
param_1->mAnmTable =
JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(param_2, (void*)param_2->mTableOffset);
param_1->mScaleData = JSUConvertOffsetToPtr<f32>(param_2, (void*)param_2->field_0x18);
param_1->mRotData = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->field_0x1c);
param_1->mTransData = JSUConvertOffsetToPtr<f32>(param_2, (void*)param_2->field_0x20);
JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(param_2, param_2->mTableOffset);
param_1->mScaleData = JSUConvertOffsetToPtr<f32>(param_2, param_2->field_0x18);
param_1->mRotData = JSUConvertOffsetToPtr<s16>(param_2, param_2->field_0x1c);
param_1->mTransData = JSUConvertOffsetToPtr<f32>(param_2, param_2->field_0x20);
}
@@ -738,34 +509,33 @@ void J3DAnmKeyLoader_v15::setAnmTextureSRT(J3DAnmTextureSRTKey* param_1,
param_1->mRotNum = param_2->field_0x10;
param_1->mTransNum = param_2->field_0x12;
param_1->mAnmTable =
JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(param_2, (void*)param_2->mTableOffset);
JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(param_2, param_2->mTableOffset);
param_1->mUpdateMaterialID =
JSUConvertOffsetToPtr<u16>(param_2, (void*)param_2->mUpdateMatIDOffset);
JSUConvertOffsetToPtr<u16>(param_2, param_2->mUpdateMatIDOffset);
param_1->mUpdateMaterialName.setResource(
JSUConvertOffsetToPtr<ResNTAB>(param_2, (void*)param_2->mNameTab1Offset));
JSUConvertOffsetToPtr<ResNTAB>(param_2, param_2->mNameTab1Offset));
param_1->mUpdateTexMtxID =
JSUConvertOffsetToPtr<u8>(param_2, param_2->mUpdateTexMtxIDOffset);
param_1->mSRTCenter = JSUConvertOffsetToPtr<Vec>(param_2, (void*)param_2->unkOffset);
param_1->mScaleData = JSUConvertOffsetToPtr<f32>(param_2, (void*)param_2->mScaleValOffset);
param_1->mRotData = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mRotValOffset);
param_1->mTransData = JSUConvertOffsetToPtr<f32>(param_2, (void*)param_2->mTransValOffset);
param_1->mSRTCenter = JSUConvertOffsetToPtr<Vec>(param_2, param_2->unkOffset);
param_1->mScaleData = JSUConvertOffsetToPtr<f32>(param_2, param_2->mScaleValOffset);
param_1->mRotData = JSUConvertOffsetToPtr<s16>(param_2, param_2->mRotValOffset);
param_1->mTransData = JSUConvertOffsetToPtr<f32>(param_2, param_2->mTransValOffset);
if (param_2->mNameTab2Offset) {
param_1->mPostUpdateMaterialName.setResource(
JSUConvertOffsetToPtr<ResNTAB>(param_2, (void*)param_2->mNameTab2Offset));
JSUConvertOffsetToPtr<ResNTAB>(param_2, param_2->mNameTab2Offset));
}
param_1->field_0x4a = param_2->field_0x34;
param_1->field_0x44 = param_2->field_0x36;
param_1->field_0x46 = param_2->field_0x38;
param_1->field_0x48 = param_2->field_0x3a;
param_1->field_0x58 =
JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(param_2, (void*)param_2->mInfoTable2Offset);
param_1->mPostUpdateMaterialID =
JSUConvertOffsetToPtr<u16>(param_2, (void*)param_2->field_0x40);
JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(param_2, param_2->mInfoTable2Offset);
param_1->mPostUpdateMaterialID = JSUConvertOffsetToPtr<u16>(param_2, param_2->field_0x40);
param_1->mPostUpdateTexMtxID = JSUConvertOffsetToPtr<u8>(param_2, param_2->field_0x48);
param_1->mPostSRTCenter = JSUConvertOffsetToPtr<Vec>(param_2, (void*)param_2->field_0x4c);
param_1->field_0x4c = JSUConvertOffsetToPtr<f32>(param_2, (void*)param_2->field_0x50);
param_1->field_0x50 = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->field_0x54);
param_1->field_0x54 = JSUConvertOffsetToPtr<f32>(param_2, (void*)param_2->field_0x58);
param_1->mPostSRTCenter = JSUConvertOffsetToPtr<Vec>(param_2, param_2->field_0x4c);
param_1->field_0x4c = JSUConvertOffsetToPtr<f32>(param_2, param_2->field_0x50);
param_1->field_0x50 = JSUConvertOffsetToPtr<s16>(param_2, param_2->field_0x54);
param_1->field_0x54 = JSUConvertOffsetToPtr<f32>(param_2, param_2->field_0x58);
switch (param_2->field_0x5c) {
case 0:
case 1:
@@ -796,15 +566,15 @@ void J3DAnmKeyLoader_v15::setAnmColor(J3DAnmColorKey* param_1, const J3DAnmColor
param_1->field_0x10 = param_2->field_0x14;
param_1->field_0x12 = param_2->field_0x16;
param_1->mAnmTable =
JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(param_2, (void*)param_2->mTableOffset);
param_1->mColorR = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mRValOffset);
param_1->mColorG = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mGValOffset);
param_1->mColorB = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mBValOffset);
param_1->mColorA = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mAValOffset);
JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(param_2, param_2->mTableOffset);
param_1->mColorR = JSUConvertOffsetToPtr<s16>(param_2, param_2->mRValOffset);
param_1->mColorG = JSUConvertOffsetToPtr<s16>(param_2, param_2->mGValOffset);
param_1->mColorB = JSUConvertOffsetToPtr<s16>(param_2, param_2->mBValOffset);
param_1->mColorA = JSUConvertOffsetToPtr<s16>(param_2, param_2->mAValOffset);
param_1->mUpdateMaterialID =
JSUConvertOffsetToPtr<u16>(param_2, (void*)param_2->mUpdateMaterialIDOffset);
JSUConvertOffsetToPtr<u16>(param_2, param_2->mUpdateMaterialIDOffset);
param_1->mUpdateMaterialName.setResource(
JSUConvertOffsetToPtr<ResNTAB>(param_2, (void*)param_2->mNameTabOffset));
JSUConvertOffsetToPtr<ResNTAB>(param_2, param_2->mNameTabOffset));
}
@@ -822,8 +592,8 @@ void J3DAnmKeyLoader_v15::setAnmCluster(J3DAnmClusterKey* param_1,
param_1->mAttribute = param_2->field_0x8;
param_1->mFrame = 0.0f;
param_1->mAnmTable =
JSUConvertOffsetToPtr<J3DAnmClusterKeyTable>(param_2, (void*)param_2->mTableOffset);
param_1->mWeight = JSUConvertOffsetToPtr<f32>(param_2, (void*)param_2->mWeightOffset);
JSUConvertOffsetToPtr<J3DAnmClusterKeyTable>(param_2, param_2->mTableOffset);
param_1->mWeight = JSUConvertOffsetToPtr<f32>(param_2, param_2->mWeightOffset);
}
@@ -842,34 +612,34 @@ void J3DAnmKeyLoader_v15::setAnmTevReg(J3DAnmTevRegKey* param_1,
param_1->mFrame = 0.0f;
param_1->mCRegUpdateMaterialNum = param_2->mCRegUpdateMaterialNum;
param_1->mAnmCRegKeyTable =
JSUConvertOffsetToPtr<J3DAnmCRegKeyTable>(param_2, (void*)param_2->mCRegTableOffset);
JSUConvertOffsetToPtr<J3DAnmCRegKeyTable>(param_2, param_2->mCRegTableOffset);
param_1->mCRegUpdateMaterialID =
JSUConvertOffsetToPtr<u16>(param_2, (void*)param_2->mCRegUpdateMaterialIDOffset);
JSUConvertOffsetToPtr<u16>(param_2, param_2->mCRegUpdateMaterialIDOffset);
param_1->mCRegUpdateMaterialName.setResource(
JSUConvertOffsetToPtr<ResNTAB>(param_2, (void*)param_2->mCRegNameTabOffset));
JSUConvertOffsetToPtr<ResNTAB>(param_2, param_2->mCRegNameTabOffset));
param_1->mKRegUpdateMaterialNum = param_2->mKRegUpdateMaterialNum;
param_1->mAnmKRegKeyTable =
JSUConvertOffsetToPtr<J3DAnmKRegKeyTable>(param_2, (void*)param_2->mKRegTableOffset);
JSUConvertOffsetToPtr<J3DAnmKRegKeyTable>(param_2, param_2->mKRegTableOffset);
param_1->mKRegUpdateMaterialID =
JSUConvertOffsetToPtr<u16>(param_2, (void*)param_2->mKRegUpdateMaterialIDOffset);
JSUConvertOffsetToPtr<u16>(param_2, param_2->mKRegUpdateMaterialIDOffset);
param_1->mKRegUpdateMaterialName.setResource(
JSUConvertOffsetToPtr<ResNTAB>(param_2, (void*)param_2->mKRegNameTabOffset));
JSUConvertOffsetToPtr<ResNTAB>(param_2, param_2->mKRegNameTabOffset));
param_1->mCRegDataCountR = param_2->field_0x10;
param_1->mCRegDataCountG = param_2->field_0x12;
param_1->mCRegDataCountB = param_2->field_0x14;
param_1->mCRegDataCountA = param_2->field_0x16;
param_1->mAnmCRegDataR = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mCRValuesOffset);
param_1->mAnmCRegDataG = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mCGValuesOffset);
param_1->mAnmCRegDataB = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mCBValuesOffset);
param_1->mAnmCRegDataA = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mCAValuesOffset);
param_1->mAnmCRegDataR = JSUConvertOffsetToPtr<s16>(param_2, param_2->mCRValuesOffset);
param_1->mAnmCRegDataG = JSUConvertOffsetToPtr<s16>(param_2, param_2->mCGValuesOffset);
param_1->mAnmCRegDataB = JSUConvertOffsetToPtr<s16>(param_2, param_2->mCBValuesOffset);
param_1->mAnmCRegDataA = JSUConvertOffsetToPtr<s16>(param_2, param_2->mCAValuesOffset);
param_1->mKRegDataCountR = param_2->field_0x18;
param_1->mKRegDataCountG = param_2->field_0x1a;
param_1->mKRegDataCountB = param_2->field_0x1c;
param_1->mKRegDataCountA = param_2->field_0x1e;
param_1->mAnmKRegDataR = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mKRValuesOffset);
param_1->mAnmKRegDataG = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mKGValuesOffset);
param_1->mAnmKRegDataB = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mKBValuesOffset);
param_1->mAnmKRegDataA = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mKAValuesOffset);
param_1->mAnmKRegDataR = JSUConvertOffsetToPtr<s16>(param_2, param_2->mKRValuesOffset);
param_1->mAnmKRegDataG = JSUConvertOffsetToPtr<s16>(param_2, param_2->mKGValuesOffset);
param_1->mAnmKRegDataB = JSUConvertOffsetToPtr<s16>(param_2, param_2->mKBValuesOffset);
param_1->mAnmKRegDataA = JSUConvertOffsetToPtr<s16>(param_2, param_2->mKAValuesOffset);
}
@@ -889,15 +659,15 @@ void J3DAnmKeyLoader_v15::setAnmVtxColor(J3DAnmVtxColorKey* dst,
dst->mAnmTableNum[0] = data->mAnmTableNum[0];
dst->mAnmTableNum[1] = data->mAnmTableNum[1];
dst->mpTable[0] =
JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(data, (void*)data->mTableOffsets[0]);
JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(data, data->mTableOffsets[0]);
dst->mpTable[1] =
JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(data, (void*)data->mTableOffsets[1]);
JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(data, data->mTableOffsets[1]);
dst->mAnmVtxColorIndexData[0] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(
data, (void*)data->mVtxColoIndexDataOffset[0]);
data, data->mVtxColoIndexDataOffset[0]);
dst->mAnmVtxColorIndexData[1] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(
data, (void*)data->mVtxColoIndexDataOffset[1]);
void* indexPtr0 = JSUConvertOffsetToPtr<u16>(data, (void*)data->mVtxColoIndexPointerOffset[0]);
void* indexPtr1 = JSUConvertOffsetToPtr<u16>(data, (void*)data->mVtxColoIndexPointerOffset[1]);
data, data->mVtxColoIndexDataOffset[1]);
void* indexPtr0 = JSUConvertOffsetToPtr<u16>(data, data->mVtxColoIndexPointerOffset[0]);
void* indexPtr1 = JSUConvertOffsetToPtr<u16>(data, data->mVtxColoIndexPointerOffset[1]);
for (s32 i = 0; i < dst->mAnmTableNum[0]; i++)
dst->mAnmVtxColorIndexData[0][i].mpData =
@@ -906,40 +676,8 @@ void J3DAnmKeyLoader_v15::setAnmVtxColor(J3DAnmVtxColorKey* dst,
dst->mAnmVtxColorIndexData[1][i].mpData =
(void*)((s32)indexPtr1 + (s32)dst->mAnmVtxColorIndexData[1][i].mpData * 2);
dst->mColorR = JSUConvertOffsetToPtr<s16>(data, (void*)data->mRValOffset);
dst->mColorG = JSUConvertOffsetToPtr<s16>(data, (void*)data->mGValOffset);
dst->mColorB = JSUConvertOffsetToPtr<s16>(data, (void*)data->mBValOffset);
dst->mColorA = JSUConvertOffsetToPtr<s16>(data, (void*)data->mAValOffset);
dst->mColorR = JSUConvertOffsetToPtr<s16>(data, data->mRValOffset);
dst->mColorG = JSUConvertOffsetToPtr<s16>(data, data->mGValOffset);
dst->mColorB = JSUConvertOffsetToPtr<s16>(data, data->mBValOffset);
dst->mColorA = JSUConvertOffsetToPtr<s16>(data, data->mAValOffset);
}
/* 8033979C-803397F8 3340DC 005C+00 1/0 0/0 0/0 .text __dt__20J3DAnmVisibilityFullFv */
J3DAnmVisibilityFull::~J3DAnmVisibilityFull() {
// NONMATCHING
}
/* 803397F8-80339800 334138 0008+00 1/0 0/0 0/0 .text getKind__20J3DAnmVisibilityFullCFv
*/
s32 J3DAnmVisibilityFull::getKind() const {
return 6;
}
/* 80339800-80339848 334140 0048+00 1/0 0/0 0/0 .text __dt__12J3DAnmLoaderFv */
// J3DAnmLoader::~J3DAnmLoader() {
extern "C" void __dt__12J3DAnmLoaderFv() {
// NONMATCHING
}
/* 80339848-80339860 334188 0018+00 1/1 0/0 0/0 .text
* JSUConvertOffsetToPtr<21J3DAnmClusterKeyTable>__FPCvPCv */
extern "C" void func_80339848(void* _this, void const* param_0, void const* param_1) {
// NONMATCHING
}
/* 80339860-80339878 3341A0 0018+00 1/1 0/0 0/0 .text
* JSUConvertOffsetToPtr<22J3DAnmClusterFullTable>__FPCvPCv */
extern "C" void func_80339860(void* _this, void const* param_0, void const* param_1) {
// NONMATCHING
}
/* 803A2130-803A2130 02E790 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -7,48 +7,9 @@
#include "JSystem/J3DGraphAnimator/J3DSkinDeform.h"
#include "JSystem/JSupport/JSupport.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "dol2asm.h"
#include "dolphin/os.h"
#include "string.h"
//
// Forward References:
//
extern "C" void load__24J3DClusterLoaderDataBaseFPCv();
extern "C" void __ct__20J3DClusterLoader_v15Fv();
extern "C" void __dt__20J3DClusterLoader_v15Fv();
extern "C" void load__20J3DClusterLoader_v15FPCv();
extern "C" void readCluster__20J3DClusterLoader_v15FPC15J3DClusterBlock();
extern "C" void __dt__16J3DClusterLoaderFv();
extern "C" void func_80334644(void* _this, void const*, void const*);
extern "C" void func_8033465C(void* _this, void const*, void const*);
extern "C" void func_80334674(void* _this, void const*, void const*);
extern "C" extern char const* const J3DClusterLoader__stringBase0;
//
// External References:
//
extern "C" void* __nw__FUl();
extern "C" void* __nwa__FUl();
extern "C" void* __nwa__FUli();
extern "C" void __dl__FPv();
extern "C" void __ct__10JUTNameTabFPC7ResNTAB();
extern "C" void func_802F42C0(void* _this, void const*, void const*);
extern "C" void func_8030A530(void* _this, void const*, void const*);
extern "C" void func_8030A560(void* _this, void const*, void const*);
extern "C" void __ct__13J3DDeformDataFv();
extern "C" void __ct__11J3DDeformerFP13J3DDeformData();
extern "C" void _savegpr_23();
extern "C" void _savegpr_26();
extern "C" void _restgpr_23();
extern "C" void _restgpr_26();
//
// Declarations:
//
/* 80334130-803341CC 32EA70 009C+00 0/0 1/1 0/0 .text load__24J3DClusterLoaderDataBaseFPCv */
void* J3DClusterLoaderDataBase::load(const void* i_data) {
const JUTDataFileHeader* fileHeader = (JUTDataFileHeader*)i_data;
@@ -61,23 +22,6 @@ void* J3DClusterLoaderDataBase::load(const void* i_data) {
return NULL;
}
/* ############################################################################################## */
/* 803CF0E8-803CF0F8 02C208 0010+00 2/2 0/0 0/0 .data __vt__20J3DClusterLoader_v15 */
SECTION_DATA extern void* __vt__20J3DClusterLoader_v15[4] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)load__20J3DClusterLoader_v15FPCv,
(void*)__dt__20J3DClusterLoader_v15Fv,
};
/* 803CF0F8-803CF108 02C218 0010+00 3/3 0/0 0/0 .data __vt__16J3DClusterLoader */
SECTION_DATA extern void* __vt__16J3DClusterLoader[4] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)NULL,
(void*)__dt__16J3DClusterLoaderFv,
};
/* 803341CC-803341E8 32EB0C 001C+00 1/1 0/0 0/0 .text __ct__20J3DClusterLoader_v15Fv */
J3DClusterLoader_v15::J3DClusterLoader_v15() {}
@@ -198,4 +142,4 @@ extern "C" void func_80334674(void* _this, void const* param_0, void const* para
// NONMATCHING
}
/* 803A2098-803A2098 02E6F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 803A2098-803A2098 02E6F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+4 -19
View File
@@ -8,29 +8,14 @@
#include "JSystem/J3DGraphAnimator/J3DJoint.h"
#include "JSystem/JSupport/JSupport.h"
//
// Types:
//
extern "C" u16* func_8033677C(const void*, const void*); // JSUConvertOffsetToPtr<u16>
extern "C" void* __nw__FUl();
extern "C" void __ct__8J3DJointFv();
/* 80337178-803371D0 331AB8 0058+00 0/0 1/1 0/0 .text __ct__15J3DJointFactoryFRC13J3DJointBlock */
J3DJointFactory::J3DJointFactory(J3DJointBlock const& block) {
mJointInitData = JSUConvertOffsetToPtr<J3DJointInitData>(&block, block.mpJointInitData);
// Fix when we have our ODR working.
// mIndexTable = JSUConvertOffsetToPtr<u16>(&block, block.mpIndexTable);
mIndexTable = func_8033677C(&block, block.mpIndexTable);
mJointInitData = JSUConvertOffsetToPtr<J3DJointInitData>(&block, (u32)block.mpJointInitData);
mIndexTable = JSUConvertOffsetToPtr<u16>(&block, (u32)block.mpIndexTable);
}
/* 803371D0-80337338 331B10 0168+00 0/0 1/1 0/0 .text create__15J3DJointFactoryFi */
J3DJoint* J3DJointFactory::create(int param_0) {
// NONMATCHING
}
/* J3DJoint* J3DJointFactory::create(int no) {
J3DJoint* J3DJointFactory::create(int no) {
J3DJoint* joint = new J3DJoint();
joint->mJntNo = no;
joint->mKind = getKind(no);
@@ -45,4 +30,4 @@ J3DJoint* J3DJointFactory::create(int param_0) {
joint->mScaleCompensate = 0;
return joint;
} */
}
@@ -11,54 +11,7 @@
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
#include "JSystem/JSupport/JSupport.h"
#include "dolphin/os.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" void countMaterialNum__14J3DModelLoaderFPCv();
extern "C" void calcLoadSize__14J3DModelLoaderFPCvUl();
extern "C" void calcLoadMaterialTableSize__14J3DModelLoaderFPCv();
extern "C" void calcLoadBinaryDisplayListSize__14J3DModelLoaderFPCvUl();
extern "C" void calcSizeInformation__14J3DModelLoaderFPC17J3DModelInfoBlockUl();
extern "C" void calcSizeJoint__14J3DModelLoaderFPC13J3DJointBlock();
extern "C" void calcSizeEnvelope__14J3DModelLoaderFPC16J3DEnvelopeBlock();
extern "C" void calcSizeDraw__14J3DModelLoaderFPC12J3DDrawBlock();
extern "C" void calcSizeMaterial__18J3DModelLoader_v26FPC16J3DMaterialBlockUl();
extern "C" void calcSizeShape__14J3DModelLoaderFPC13J3DShapeBlockUl();
extern "C" void calcSizeTexture__14J3DModelLoaderFPC15J3DTextureBlock();
extern "C" void calcSizeMaterialTable__18J3DModelLoader_v26FPC16J3DMaterialBlockUl();
extern "C" void calcSizeTextureTable__14J3DModelLoaderFPC15J3DTextureBlock();
extern "C" void calcSizePatchedMaterial__14J3DModelLoaderFPC16J3DMaterialBlockUl();
extern "C" void calcSizeMaterialDL__14J3DModelLoaderFPC18J3DMaterialDLBlockUl();
extern "C" extern char const* const J3DModelLoaderCalcSize__stringBase0;
//
// External References:
//
extern "C" void __ct__18J3DMaterialFactoryFRC16J3DMaterialBlock();
extern "C" void __ct__18J3DMaterialFactoryFRC18J3DMaterialDLBlock();
extern "C" void countUniqueMaterials__18J3DMaterialFactoryFv();
extern "C" void
calcSize__18J3DMaterialFactoryCFP11J3DMaterialQ218J3DMaterialFactory12MaterialTypeiUl();
extern "C" void func_8033674C(void* _this, void const*, void const*);
extern "C" void __ct__15J3DShapeFactoryFRC13J3DShapeBlock();
extern "C" void calcSize__15J3DShapeFactoryFiUl();
extern "C" void calcSizeVcdVatCmdBuffer__15J3DShapeFactoryFUl();
extern "C" void _savegpr_22();
extern "C" void _savegpr_25();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _restgpr_22();
extern "C" void _restgpr_25();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
//
// Declarations:
//
/* 80336794-803367D4 3310D4 0040+00 0/0 3/0 0/0 .text countMaterialNum__14J3DModelLoaderFPCv */
u16 J3DModelLoader::countMaterialNum(const void* stream) {
@@ -73,18 +26,8 @@ u16 J3DModelLoader::countMaterialNum(const void* stream) {
return 0;
}
/* ############################################################################################## */
/* 803A20E8-803A20E8 02E748 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_803A20E8 = "Unknown data block\n";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_803A20FC = "\0\0\0";
#pragma pop
/* 803367D4-803369A0 331114 01CC+00 0/0 3/0 0/0 .text calcLoadSize__14J3DModelLoaderFPCvUl */
// size load issue.
#ifdef NONMATCHING
// NONMATCHING size load issue
u32 J3DModelLoader::calcLoadSize(void const* stream, u32 flags_) {
int flags = flags_;
const J3DModelFileData* header = static_cast<const J3DModelFileData*>(stream);
@@ -128,11 +71,6 @@ u32 J3DModelLoader::calcLoadSize(void const* stream, u32 flags_) {
}
return size;
}
#else
u32 J3DModelLoader::calcLoadSize(void const* param_0, u32 param_1) {
// NONMATCHING
}
#endif
/* 803369A0-80336A98 3312E0 00F8+00 0/0 3/0 0/0 .text
* calcLoadMaterialTableSize__14J3DModelLoaderFPCv */
@@ -176,13 +114,13 @@ u32 J3DModelLoader::calcLoadMaterialTableSize(const void* stream) {
/* 80336A98-80336CD8 3313D8 0240+00 0/0 3/0 0/0 .text
* calcLoadBinaryDisplayListSize__14J3DModelLoaderFPCvUl */
// flags issue
#ifdef NONMATCHING
// NONMATCHING flags issue
u32 J3DModelLoader::calcLoadBinaryDisplayListSize(const void* stream, u32 flags) {
const J3DModelFileData* header = (const J3DModelFileData*)stream;
const J3DModelBlock* nextBlock = header->mBlocks;
u32 i = 0;
u32 matFlags = flags & (J3DMLF_Material_UseIndirect | J3DMLF_26);
u32 flags2;
int size = sizeof(J3DModelData);
for (; i < header->mBlockNum; i++) {
switch (nextBlock->mBlockType) {
@@ -204,7 +142,7 @@ u32 J3DModelLoader::calcLoadBinaryDisplayListSize(const void* stream, u32 flags)
case 'MAT2':
break;
case 'MAT3':
u32 flags2 = (J3DMLF_21 | J3DMLF_Material_PE_Full | J3DMLF_Material_Color_LightOn);
flags2 = (J3DMLF_21 | J3DMLF_Material_PE_Full | J3DMLF_Material_Color_LightOn);
flags2 |= matFlags;
mpMaterialBlock = (const J3DMaterialBlock*)nextBlock;
if ((flags & (J3DMLF_13 | J3DMLF_DoBdlMaterialCalc)) == 0) {
@@ -231,11 +169,6 @@ u32 J3DModelLoader::calcLoadBinaryDisplayListSize(const void* stream, u32 flags)
}
return size;
}
#else
u32 J3DModelLoader::calcLoadBinaryDisplayListSize(void const* param_0, u32 param_1) {
// NONMATCHING
}
#endif
/* 80336CD8-80336D64 331618 008C+00 2/2 0/0 0/0 .text
* calcSizeInformation__14J3DModelLoaderFPC17J3DModelInfoBlockUl */
@@ -404,4 +337,4 @@ u32 J3DModelLoader::calcSizeMaterialDL(const J3DMaterialDLBlock* block, u32 flag
return size;
}
/* 803A20E8-803A20E8 02E748 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 803A20E8-803A20E8 02E748 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+4 -23
View File
@@ -9,31 +9,12 @@
#include "JSystem/JSupport/JSupport.h"
#include "dolphin/os.h"
//
// Forward References:
//
//
// External References:
//
extern "C" J3DShapeInitData* func_80336764(const void*,
const void*); // JSUConvertOffsetToPtr<J3DShapeInitData>
extern "C" u16* func_8033677C(const void*, const void*); // JSUConvertOffsetToPtr<u16>
//
// Declarations:
//
/* 80337350-80337400 331C90 00B0+00 0/0 2/2 0/0 .text __ct__15J3DShapeFactoryFRC13J3DShapeBlock */
J3DShapeFactory::J3DShapeFactory(J3DShapeBlock const& block) {
//mShapeInitData = JSUConvertOffsetToPtr<J3DShapeInitData>(&block, (u32)block.mpShapeInitData);
mShapeInitData = func_80336764(&block, block.mpShapeInitData),
//mIndexTable = JSUConvertOffsetToPtr<u16>(&block, (u32)block.mpIndexTable);
mIndexTable = func_8033677C(&block, block.mpIndexTable),
mShapeInitData = JSUConvertOffsetToPtr<J3DShapeInitData>(&block, (u32)block.mpShapeInitData);
mIndexTable = JSUConvertOffsetToPtr<u16>(&block, (u32)block.mpIndexTable);
mVtxDescList = JSUConvertOffsetToPtr<GXVtxDescList>(&block, (u32)block.mpVtxDescList),
//mMtxTable = JSUConvertOffsetToPtr<u16>(&block, (u32)block.mpMtxTable);
mMtxTable = func_8033677C(&block, block.mpMtxTable),
mMtxTable = JSUConvertOffsetToPtr<u16>(&block, (u32)block.mpMtxTable);
mDisplayListData = JSUConvertOffsetToPtr<u8>(&block, (u32)block.mpDisplayListData),
mMtxInitData = JSUConvertOffsetToPtr<J3DShapeMtxInitData>(&block, (u32)block.mpMtxInitData),
mDrawInitData = JSUConvertOffsetToPtr<J3DShapeDrawInitData>(&block, (u32)block.mpDrawInitData),
@@ -213,4 +194,4 @@ s32 J3DShapeFactory::calcSizeShapeMtx(u32 flag, int shapeNo, int mtxGroupNo) con
}
return ret;
}
}