[IclipMap_t] Use existing clipmap as base
This commit is contained in:
parent
0e21794380
commit
3b702b9d9a
@ -586,6 +586,17 @@ namespace Assets
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Game::clipMap_t* orgClipMap = nullptr;
|
||||||
|
Game::DB_EnumXAssets(Game::XAssetType::ASSET_TYPE_MAP_ENTS, [](Game::XAssetHeader header, void* clipMap)
|
||||||
|
{
|
||||||
|
if (!*reinterpret_cast<void**>(clipMap))
|
||||||
|
{
|
||||||
|
*reinterpret_cast<Game::clipMap_t**>(clipMap) = header.clipMap;
|
||||||
|
}
|
||||||
|
}, &orgClipMap, false);
|
||||||
|
|
||||||
|
if (orgClipMap) std::memcpy(clipMap, orgClipMap, sizeof Game::clipMap_t);
|
||||||
|
|
||||||
Utils::Stream::Reader reader(builder->getAllocator(), clipFile.getBuffer());
|
Utils::Stream::Reader reader(builder->getAllocator(), clipFile.getBuffer());
|
||||||
|
|
||||||
__int64 magic = reader.read<__int64>();
|
__int64 magic = reader.read<__int64>();
|
||||||
@ -880,6 +891,11 @@ namespace Assets
|
|||||||
Utils::Stream::ClearPointer(&clipMap->dynEntCollList[i]);
|
Utils::Stream::ClearPointer(&clipMap->dynEntCollList[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!reader.end())
|
||||||
|
{
|
||||||
|
Components::Logger::Error("Clipmap data left!");
|
||||||
|
}
|
||||||
|
|
||||||
header->clipMap = clipMap;
|
header->clipMap = clipMap;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2476,7 +2476,6 @@ namespace Game
|
|||||||
char edgeCount[2][3];
|
char edgeCount[2][3];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
struct cLeaf_t
|
struct cLeaf_t
|
||||||
{
|
{
|
||||||
unsigned __int16 firstCollAabbIndex;
|
unsigned __int16 firstCollAabbIndex;
|
||||||
|
@ -26,7 +26,7 @@ namespace Utils
|
|||||||
return this->buffer[this->position++];
|
return this->buffer[this->position++];
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
throw std::runtime_error("Reading past the buffer");
|
||||||
}
|
}
|
||||||
|
|
||||||
void* Stream::Reader::read(size_t size, size_t count)
|
void* Stream::Reader::read(size_t size, size_t count)
|
||||||
@ -43,7 +43,7 @@ namespace Utils
|
|||||||
return _buffer;
|
return _buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
return nullptr;
|
throw std::runtime_error("Reading past the buffer");
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Stream::Reader::end()
|
bool Stream::Reader::end()
|
||||||
|
Loading…
Reference in New Issue
Block a user