[IclipMap_t] Structure fixes
This commit is contained in:
parent
756d7c15a9
commit
c216929687
@ -26,7 +26,8 @@ namespace Assets
|
|||||||
buffer->align(Utils::Stream::ALIGN_4);
|
buffer->align(Utils::Stream::ALIGN_4);
|
||||||
Game::cStaticModel* destStaticModelList = buffer->dest<Game::cStaticModel>();
|
Game::cStaticModel* destStaticModelList = buffer->dest<Game::cStaticModel>();
|
||||||
buffer->save(asset->staticModelList, sizeof(Game::cStaticModel), asset->numStaticModels);
|
buffer->save(asset->staticModelList, sizeof(Game::cStaticModel), asset->numStaticModels);
|
||||||
for (int i = 0; i < asset->numStaticModels; i++) {
|
for (int i = 0; i < asset->numStaticModels; i++)
|
||||||
|
{
|
||||||
if (asset->staticModelList[i].xmodel)
|
if (asset->staticModelList[i].xmodel)
|
||||||
{
|
{
|
||||||
destStaticModelList[i].xmodel = builder->requireAsset(Game::XAssetType::ASSET_TYPE_XMODEL, asset->staticModelList[i].xmodel->name).model;
|
destStaticModelList[i].xmodel = builder->requireAsset(Game::XAssetType::ASSET_TYPE_XMODEL, asset->staticModelList[i].xmodel->name).model;
|
||||||
@ -40,7 +41,7 @@ namespace Assets
|
|||||||
buffer->align(Utils::Stream::ALIGN_4);
|
buffer->align(Utils::Stream::ALIGN_4);
|
||||||
Game::dMaterial* mats = buffer->dest<Game::dMaterial>();
|
Game::dMaterial* mats = buffer->dest<Game::dMaterial>();
|
||||||
buffer->save(asset->materials, sizeof(Game::dMaterial), asset->numMaterials);
|
buffer->save(asset->materials, sizeof(Game::dMaterial), asset->numMaterials);
|
||||||
for(int i=0; i<asset->numMaterials; i++)
|
for (int i = 0; i < asset->numMaterials; i++)
|
||||||
{
|
{
|
||||||
buffer->save(asset->materials[i].name, strlen(asset->materials[i].name) + 1, 1);
|
buffer->save(asset->materials[i].name, strlen(asset->materials[i].name) + 1, 1);
|
||||||
Utils::Stream::ClearPointer(&mats[i].name);
|
Utils::Stream::ClearPointer(&mats[i].name);
|
||||||
@ -53,7 +54,7 @@ namespace Assets
|
|||||||
buffer->align(Utils::Stream::ALIGN_4);
|
buffer->align(Utils::Stream::ALIGN_4);
|
||||||
Game::cBrushSide* sides = buffer->dest<Game::cBrushSide>();
|
Game::cBrushSide* sides = buffer->dest<Game::cBrushSide>();
|
||||||
buffer->save(asset->cBrushSides, sizeof(Game::cBrushSide), asset->numCBrushSides);
|
buffer->save(asset->cBrushSides, sizeof(Game::cBrushSide), asset->numCBrushSides);
|
||||||
for (int i = 0; i<asset->numCBrushSides; i++)
|
for (int i = 0; i < asset->numCBrushSides; i++)
|
||||||
{
|
{
|
||||||
if (sides[i].side) // OffsetToPointer
|
if (sides[i].side) // OffsetToPointer
|
||||||
{
|
{
|
||||||
@ -77,7 +78,7 @@ namespace Assets
|
|||||||
buffer->align(Utils::Stream::ALIGN_4);
|
buffer->align(Utils::Stream::ALIGN_4);
|
||||||
Game::cNode* nodes = buffer->dest<Game::cNode>();
|
Game::cNode* nodes = buffer->dest<Game::cNode>();
|
||||||
buffer->save(asset->cNodes, sizeof(Game::cNode), asset->numCNodes);
|
buffer->save(asset->cNodes, sizeof(Game::cNode), asset->numCNodes);
|
||||||
for (int i = 0; i<asset->numCNodes; i++)
|
for (int i = 0; i < asset->numCNodes; i++)
|
||||||
{
|
{
|
||||||
if (nodes[i].plane) // OffsetToPointer
|
if (nodes[i].plane) // OffsetToPointer
|
||||||
{
|
{
|
||||||
@ -107,12 +108,13 @@ namespace Assets
|
|||||||
{
|
{
|
||||||
buffer->align(Utils::Stream::ALIGN_4);
|
buffer->align(Utils::Stream::ALIGN_4);
|
||||||
Game::cLeafBrushNode* node = buffer->dest<Game::cLeafBrushNode>();
|
Game::cLeafBrushNode* node = buffer->dest<Game::cLeafBrushNode>();
|
||||||
buffer->save(asset->cLeafBrushNodes, sizeof(Game::cLeafBrushNode) , asset->numCLeafBrushNodes);
|
buffer->save(asset->cLeafBrushNodes, sizeof(Game::cLeafBrushNode), asset->numCLeafBrushNodes);
|
||||||
for(int i=0; i<asset->numCLeafBrushNodes; i++)
|
|
||||||
|
for (int i = 0; i < asset->numCLeafBrushNodes; i++)
|
||||||
{
|
{
|
||||||
if(node[i].leafBrushCount > 0)
|
if (node[i].leafBrushCount > 0)
|
||||||
{
|
{
|
||||||
if(node[i].data.leaf.brushes) // OffsetToPointer
|
if (node[i].data.leaf.brushes) // OffsetToPointer
|
||||||
{
|
{
|
||||||
buffer->align(Utils::Stream::ALIGN_2);
|
buffer->align(Utils::Stream::ALIGN_2);
|
||||||
buffer->save(node[i].data.leaf.brushes, 2, node[i].leafBrushCount);
|
buffer->save(node[i].data.leaf.brushes, 2, node[i].leafBrushCount);
|
||||||
@ -163,7 +165,8 @@ namespace Assets
|
|||||||
buffer->align(Utils::Stream::ALIGN_4);
|
buffer->align(Utils::Stream::ALIGN_4);
|
||||||
Game::CollisionPartition* border = buffer->dest<Game::CollisionPartition>();
|
Game::CollisionPartition* border = buffer->dest<Game::CollisionPartition>();
|
||||||
buffer->save(asset->collisionPartitions, sizeof(Game::CollisionPartition), asset->numCollisionPartitions);
|
buffer->save(asset->collisionPartitions, sizeof(Game::CollisionPartition), asset->numCollisionPartitions);
|
||||||
for (int i = 0; i<asset->numCollisionPartitions; i++)
|
|
||||||
|
for (int i = 0; i < asset->numCollisionPartitions; i++)
|
||||||
{
|
{
|
||||||
if (border[i].borders) // OffsetToPointer
|
if (border[i].borders) // OffsetToPointer
|
||||||
{
|
{
|
||||||
@ -194,21 +197,25 @@ namespace Assets
|
|||||||
buffer->align(Utils::Stream::ALIGN_128);
|
buffer->align(Utils::Stream::ALIGN_128);
|
||||||
Game::cBrush* brushes = buffer->dest<Game::cBrush>();
|
Game::cBrush* brushes = buffer->dest<Game::cBrush>();
|
||||||
buffer->save(asset->cBrushes, sizeof(Game::cBrush), asset->numCBrushes);
|
buffer->save(asset->cBrushes, sizeof(Game::cBrush), asset->numCBrushes);
|
||||||
for(int i=0; i<asset->numCBrushes; i++)
|
|
||||||
|
for (short i = 0; i < asset->numCBrushes; i++)
|
||||||
{
|
{
|
||||||
if(brushes[i].brushSide)
|
if (brushes[i].brushSide)
|
||||||
{
|
{
|
||||||
Game::cBrushSide* side = buffer->dest<Game::cBrushSide>();
|
Game::cBrushSide* side = buffer->dest<Game::cBrushSide>();
|
||||||
buffer->save(brushes[i].brushSide, sizeof(Game::cBrushSide), 1);
|
buffer->save(brushes[i].brushSide, sizeof(Game::cBrushSide), 1);
|
||||||
|
|
||||||
if (brushes[i].brushSide->side)
|
if (brushes[i].brushSide->side)
|
||||||
{
|
{
|
||||||
buffer->align(Utils::Stream::ALIGN_4);
|
buffer->align(Utils::Stream::ALIGN_4);
|
||||||
buffer->save(brushes[i].brushSide->side, sizeof(Game::cPlane), 1);
|
buffer->save(brushes[i].brushSide->side, sizeof(Game::cPlane), 1);
|
||||||
Utils::Stream::ClearPointer(&side->side);
|
Utils::Stream::ClearPointer(&side->side);
|
||||||
}
|
}
|
||||||
|
|
||||||
Utils::Stream::ClearPointer(&brushes[i].brushSide);
|
Utils::Stream::ClearPointer(&brushes[i].brushSide);
|
||||||
}
|
}
|
||||||
if(brushes[i].brushEdge)
|
|
||||||
|
if (brushes[i].brushEdge)
|
||||||
{
|
{
|
||||||
buffer->save(brushes[i].brushEdge, 1, 1);
|
buffer->save(brushes[i].brushEdge, 1, 1);
|
||||||
Utils::Stream::ClearPointer(&brushes[i].brushEdge);
|
Utils::Stream::ClearPointer(&brushes[i].brushEdge);
|
||||||
@ -250,7 +257,7 @@ namespace Assets
|
|||||||
buffer->align(Utils::Stream::ALIGN_4);
|
buffer->align(Utils::Stream::ALIGN_4);
|
||||||
Game::DynEntityDef* dynEntDest = buffer->dest<Game::DynEntityDef>();
|
Game::DynEntityDef* dynEntDest = buffer->dest<Game::DynEntityDef>();
|
||||||
buffer->save(asset->dynEntDefList[i], sizeof(Game::DynEntityDef), asset->dynEntCount[i]);
|
buffer->save(asset->dynEntDefList[i], sizeof(Game::DynEntityDef), asset->dynEntCount[i]);
|
||||||
for(int j = 0; j < asset->dynEntCount[i]; j++)
|
for (int j = 0; j < asset->dynEntCount[i]; j++)
|
||||||
{
|
{
|
||||||
Game::XModel* m = asset->dynEntDefList[j]->xModel;
|
Game::XModel* m = asset->dynEntDefList[j]->xModel;
|
||||||
Game::FxEffectDef* fx = asset->dynEntDefList[j]->destroyFx;
|
Game::FxEffectDef* fx = asset->dynEntDefList[j]->destroyFx;
|
||||||
@ -316,7 +323,7 @@ namespace Assets
|
|||||||
void IclipMap_t::mark(Game::XAssetHeader header, Components::ZoneBuilder::Zone* builder)
|
void IclipMap_t::mark(Game::XAssetHeader header, Components::ZoneBuilder::Zone* builder)
|
||||||
{
|
{
|
||||||
Game::clipMap_t* asset = header.clipMap;
|
Game::clipMap_t* asset = header.clipMap;
|
||||||
for(int i=0; i<asset->numStaticModels; i++)
|
for (int i = 0; i < asset->numStaticModels; i++)
|
||||||
{
|
{
|
||||||
Game::XModel* m = asset->staticModelList[i].xmodel;
|
Game::XModel* m = asset->staticModelList[i].xmodel;
|
||||||
builder->loadAsset(Game::XAssetType::ASSET_TYPE_XMODEL, m->name);
|
builder->loadAsset(Game::XAssetType::ASSET_TYPE_XMODEL, m->name);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user