mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-03 18:36:06 -04:00
Merge duplicate JSystem structs into a new header
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user