diff --git a/WickedEngine/wiScene.h b/WickedEngine/wiScene.h index 43cfc30c5..2e2b6cde9 100644 --- a/WickedEngine/wiScene.h +++ b/WickedEngine/wiScene.h @@ -33,7 +33,7 @@ namespace wi::scene wi::ecs::ComponentManager& transforms = componentLibrary.Register("wi::scene::Scene::transforms"); wi::ecs::ComponentManager& hierarchy = componentLibrary.Register("wi::scene::Scene::hierarchy"); wi::ecs::ComponentManager& materials = componentLibrary.Register("wi::scene::Scene::materials", 8); // version = 8 - wi::ecs::ComponentManager& meshes = componentLibrary.Register("wi::scene::Scene::meshes", 3); // version = 3 + wi::ecs::ComponentManager& meshes = componentLibrary.Register("wi::scene::Scene::meshes", 4); // version = 4 wi::ecs::ComponentManager& impostors = componentLibrary.Register("wi::scene::Scene::impostors"); wi::ecs::ComponentManager& objects = componentLibrary.Register("wi::scene::Scene::objects", 4); // version = 4 wi::ecs::ComponentManager& rigidbodies = componentLibrary.Register("wi::scene::Scene::rigidbodies", 4); // version = 4 diff --git a/WickedEngine/wiScene_Components.h b/WickedEngine/wiScene_Components.h index 2ff71fd22..4f341a8c9 100644 --- a/WickedEngine/wiScene_Components.h +++ b/WickedEngine/wiScene_Components.h @@ -391,6 +391,7 @@ namespace wi::scene struct MeshSubset { + std::string surfaceName; // custom identifier for user, not used by engine wi::ecs::Entity materialID = wi::ecs::INVALID_ENTITY; uint32_t indexOffset = 0; uint32_t indexCount = 0; diff --git a/WickedEngine/wiScene_Serializers.cpp b/WickedEngine/wiScene_Serializers.cpp index 6855a7d40..de64e70c7 100644 --- a/WickedEngine/wiScene_Serializers.cpp +++ b/WickedEngine/wiScene_Serializers.cpp @@ -445,6 +445,10 @@ namespace wi::scene SerializeEntity(archive, subsets[i].materialID, seri); archive >> subsets[i].indexOffset; archive >> subsets[i].indexCount; + if (seri.GetVersion() >= 4) + { + archive >> subsets[i].surfaceName; + } } archive >> tessellationFactor; @@ -535,6 +539,10 @@ namespace wi::scene SerializeEntity(archive, subsets[i].materialID, seri); archive << subsets[i].indexOffset; archive << subsets[i].indexCount; + if (seri.GetVersion() >= 4) + { + archive << subsets[i].surfaceName; + } } archive << tessellationFactor; diff --git a/WickedEngine/wiVersion.cpp b/WickedEngine/wiVersion.cpp index 8db526e4f..e420a87c4 100644 --- a/WickedEngine/wiVersion.cpp +++ b/WickedEngine/wiVersion.cpp @@ -9,7 +9,7 @@ namespace wi::version // minor features, major updates, breaking compatibility changes const int minor = 71; // minor bug fixes, alterations, refactors, updates - const int revision = 568; + const int revision = 569; const std::string version_string = std::to_string(major) + "." + std::to_string(minor) + "." + std::to_string(revision);