From 9283694f145ab6e226dab8616f229429290bd893 Mon Sep 17 00:00:00 2001 From: LagoLunatic Date: Mon, 8 Jan 2024 17:29:55 -0500 Subject: [PATCH] J3DModelLoaderCalcSize OK --- configure.py | 2 +- .../J3DGraphLoader/J3DModelLoaderCalcSize.cpp | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/configure.py b/configure.py index 4d5474cd8..659881174 100644 --- a/configure.py +++ b/configure.py @@ -895,7 +895,7 @@ config.libs = [ Object(NonMatching, "JSystem/J3DGraphLoader/J3DMaterialFactory_v21.cpp"), Object(Matching, "JSystem/J3DGraphLoader/J3DClusterLoader.cpp"), Object(Matching, "JSystem/J3DGraphLoader/J3DModelLoader.cpp"), - Object(NonMatching, "JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.cpp"), + Object(Matching, "JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.cpp"), Object(Matching, "JSystem/J3DGraphLoader/J3DJointFactory.cpp"), Object(Matching, "JSystem/J3DGraphLoader/J3DShapeFactory.cpp"), Object(NonMatching, "JSystem/J3DGraphLoader/J3DAnmLoader.cpp"), diff --git a/src/JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.cpp b/src/JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.cpp index c57961efe..89eac7433 100644 --- a/src/JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.cpp +++ b/src/JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.cpp @@ -100,23 +100,21 @@ u32 J3DModelLoader::calcLoadMaterialTableSize(const void* i_data) { /* 802FDB0C-802FDD28 .text calcLoadBinaryDisplayListSize__14J3DModelLoaderFPCvUl */ u32 J3DModelLoader::calcLoadBinaryDisplayListSize(const void* i_data, u32 i_flags) { - /* Nonmatching - regalloc */ - u32 i; u32 size = 0; const JUTDataFileHeader* header = (const JUTDataFileHeader*)i_data; const JUTDataBlockHeader* block = &header->mFirstBlock; - i = 0; + u32 i = 0; size += sizeof(J3DModelData); for (; i < header->mBlockNum; i++) { switch (block->mType) { case 'INF1': - size += calcSizeInformation((const J3DModelInfoBlock*)block, i_flags); + size += calcSizeInformation((const J3DModelInfoBlock*)block, (u32)i_flags); break; case 'JNT1': size += calcSizeJoint((const J3DJointBlock*)block); break; case 'SHP1': - size += calcSizeShape((const J3DShapeBlock*)block, i_flags); + size += calcSizeShape((const J3DShapeBlock*)block, (u32)i_flags); break; case 'TEX1': size += calcSizeTexture((const J3DTextureBlock*)block); @@ -128,9 +126,9 @@ u32 J3DModelLoader::calcLoadBinaryDisplayListSize(const void* i_data, u32 i_flag break; case 'MAT3': u32 matFlags = 0x50100000; - matFlags |= i_flags & 0x03000000; - mpMaterialBlock = (J3DMaterialBlock*)block; - u32 matType = getBdlFlag_MaterialType(i_flags); + matFlags |= (u32)i_flags & 0x03000000; + mpMaterialBlock = (const J3DMaterialBlock*)block; + u32 matType = getBdlFlag_MaterialType((u32)i_flags); if (matType == 0) { field_0x18 = 1; size += calcSizeMaterial((const J3DMaterialBlock*)block, matFlags);