Collision mesh extraction (#1330)

* temp

* extract collision mesh

* temp

* improve

* toggle, cleanup
This commit is contained in:
water111
2022-04-25 21:53:23 -04:00
committed by GitHub
parent 1bede6954d
commit 61766d2d22
37 changed files with 877 additions and 46 deletions
+9
View File
@@ -233,6 +233,10 @@ void Texture::serialize(Serializer& ser) {
ser.from_ptr(&load_to_pool);
}
void CollisionMesh::serialize(Serializer& ser) {
ser.from_pod_vector(&vertices);
}
void Level::serialize(Serializer& ser) {
ser.from_ptr(&version);
if (ser.is_loading() && version != TFRAG3_VERSION) {
@@ -282,6 +286,8 @@ void Level::serialize(Serializer& ser) {
tree.serialize(ser);
}
collision.serialize(ser);
ser.from_ptr(&version2);
if (ser.is_loading() && version2 != TFRAG3_VERSION) {
ASSERT_MSG(false, fmt::format(
@@ -352,6 +358,9 @@ std::array<int, MemoryUsageCategory::NUM_CATEGORIES> Level::get_memory_usage() c
result[SHRUB_IND] += sizeof(u32) * shrub_tree.indices.size();
}
// collision
result[COLLISION] += sizeof(CollisionMesh::Vertex) * collision.vertices.size();
return result;
}