diff options
Diffstat (limited to 'src/JSystem/J3DGraphLoader/J3DModelLoader.cpp')
| -rw-r--r-- | src/JSystem/J3DGraphLoader/J3DModelLoader.cpp | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/src/JSystem/J3DGraphLoader/J3DModelLoader.cpp b/src/JSystem/J3DGraphLoader/J3DModelLoader.cpp index 63e95ac6..4d9defe9 100644 --- a/src/JSystem/J3DGraphLoader/J3DModelLoader.cpp +++ b/src/JSystem/J3DGraphLoader/J3DModelLoader.cpp @@ -18,15 +18,15 @@ J3DModelData* J3DModelLoaderDataBase::load(const void* i_data, u32 i_flags) { if (i_data == NULL) { return NULL; } - const J3DModelFileData* fileHeader = (const J3DModelFileData*)i_data; - if (fileHeader->mMagic1 == 'J3D1' && fileHeader->mMagic2 == 'bmd1') { + const JSystemFileHeader* fileHeader = (const JSystemFileHeader*)i_data; + if (fileHeader->mMagic == 'J3D1' && fileHeader->mType == 'bmd1') { return NULL; } - if (fileHeader->mMagic1 == 'J3D2' && fileHeader->mMagic2 == 'bmd2') { + if (fileHeader->mMagic == 'J3D2' && fileHeader->mType == 'bmd2') { J3DModelLoader_v21 loader; return loader.load(i_data, i_flags); } - if (fileHeader->mMagic1 == 'J3D2' && fileHeader->mMagic2 == 'bmd3') { + if (fileHeader->mMagic == 'J3D2' && fileHeader->mType == 'bmd3') { J3DModelLoader_v26 loader; return loader.load(i_data, i_flags); } @@ -38,8 +38,8 @@ J3DMaterialTable* J3DModelLoaderDataBase::loadMaterialTable(const void* i_data) if (!i_data) { return NULL; } - const J3DModelFileData* fileHeader = (const J3DModelFileData*)i_data; - if (fileHeader->mMagic1 == 'J3D2' && fileHeader->mMagic2 == 'bmt3') { + const JSystemFileHeader* fileHeader = (const JSystemFileHeader*)i_data; + if (fileHeader->mMagic == 'J3D2' && fileHeader->mType == 'bmt3') { J3DModelLoader_v26 loader; return loader.loadMaterialTable(i_data); } @@ -51,8 +51,8 @@ J3DModelData* J3DModelLoaderDataBase::loadBinaryDisplayList(const void* i_data, if (!i_data) { return NULL; } - const J3DModelFileData* fileHeader = (const J3DModelFileData*)i_data; - if (fileHeader->mMagic1 == 'J3D2' && (fileHeader->mMagic2 == 'bdl3' || fileHeader->mMagic2 == 'bdl4')) { + const JSystemFileHeader* fileHeader = (const JSystemFileHeader*)i_data; + if (fileHeader->mMagic == 'J3D2' && (fileHeader->mType == 'bdl3' || fileHeader->mType == 'bdl4')) { J3DModelLoader_v26 loader; return loader.loadBinaryDisplayList(i_data, i_flags); } @@ -67,10 +67,10 @@ J3DModelData* J3DModelLoader::load(const void* i_data, u32 i_flags) { mpModelData->mpRawData = i_data; mpModelData->setModelDataType(0); mpMaterialTable = &mpModelData->mMaterialTable; - const J3DModelFileData* data = (J3DModelFileData*)i_data; - const J3DModelBlock* block = data->mBlocks; + const JSystemFileHeader* data = (JSystemFileHeader*)i_data; + const JSystemBlockHeader* block = &data->mFirstBlock; for (u32 block_no = 0; block_no < data->mBlockNum; block_no++) { - switch (block->mBlockType) { + switch (block->mType) { case 'INF1': readInformation((J3DModelInfoBlock*)block, (u32)i_flags); // cast fixes regalloc break; @@ -120,10 +120,10 @@ J3DModelData* J3DModelLoader::load(const void* i_data, u32 i_flags) { J3DMaterialTable* J3DModelLoader::loadMaterialTable(const void* i_data) { mpMaterialTable = new J3DMaterialTable(); mpMaterialTable->clear(); - const J3DModelFileData* data = (J3DModelFileData*)i_data; - const J3DModelBlock* block = data->mBlocks; + const JSystemFileHeader* data = (JSystemFileHeader*)i_data; + const JSystemBlockHeader* block = &data->mFirstBlock; for (u32 block_no = 0; block_no < data->mBlockNum; block_no++) { - switch (block->mBlockType) { + switch (block->mType) { case 'MAT3': readMaterialTable((J3DMaterialBlock*)block, 0x51100000); break; @@ -152,10 +152,10 @@ J3DModelData* J3DModelLoader::loadBinaryDisplayList(const void* i_data, u32 i_fl mpModelData->mpRawData = i_data; mpModelData->setModelDataType(1); mpMaterialTable = &mpModelData->mMaterialTable; - const J3DModelFileData* data = (J3DModelFileData*)i_data; - const J3DModelBlock* block = data->mBlocks; + const JSystemFileHeader* data = (JSystemFileHeader*)i_data; + const JSystemBlockHeader* block = &data->mFirstBlock; for (u32 block_no = 0; block_no < data->mBlockNum; block_no++) { - switch (block->mBlockType) { + switch (block->mType) { case 'INF1': readInformation((J3DModelInfoBlock*)block, (u32)i_flags); // cast fixes regalloc break; @@ -309,7 +309,7 @@ void J3DModelLoader::readVertex(const J3DVertexBlock* i_block) { } else if (nrm_end != NULL) { vertex_data.mNrmNum = ((u32)nrm_end - (u32)vertex_data.mVtxNrmArray) / nrm_size + 1; } else { - vertex_data.mNrmNum = (i_block->mBlockSize - (u32)i_block->mpVtxNrmArray) / nrm_size + 1; + vertex_data.mNrmNum = (i_block->mNextOffset - (u32)i_block->mpVtxNrmArray) / nrm_size + 1; } void* color0_end = NULL; @@ -324,13 +324,13 @@ void J3DModelLoader::readVertex(const J3DVertexBlock* i_block) { } else if (color0_end != NULL) { vertex_data.mColNum = ((u32)color0_end - (u32)vertex_data.mVtxColorArray[0]) / 4 + 1; } else { - vertex_data.mColNum = (i_block->mBlockSize - (u32)i_block->mpVtxColorArray[0]) / 4 + 1; + vertex_data.mColNum = (i_block->mNextOffset - (u32)i_block->mpVtxColorArray[0]) / 4 + 1; } if (vertex_data.mVtxTexCoordArray[0] == NULL) { vertex_data.mTexCoordNum = 0; } else { - vertex_data.mTexCoordNum = (i_block->mBlockSize - (u32)i_block->mpVtxTexCoordArray[0]) / 8 + 1; + vertex_data.mTexCoordNum = (i_block->mNextOffset - (u32)i_block->mpVtxTexCoordArray[0]) / 8 + 1; } } |
