chore: dump and load lod dist from xmodel json

This commit is contained in:
Jan 2024-08-10 22:12:32 +02:00
parent 4db13de471
commit 0d343dd3fa
No known key found for this signature in database
GPG Key ID: 44B581F78FF5C57C
3 changed files with 8 additions and 4 deletions

View File

@ -16,9 +16,10 @@ namespace T6
{ {
public: public:
std::string file; std::string file;
float distance;
}; };
NLOHMANN_DEFINE_TYPE_EXTENSION(JsonXModelLod, file); NLOHMANN_DEFINE_TYPE_EXTENSION(JsonXModelLod, file, distance);
class JsonXModel class JsonXModel
{ {

View File

@ -464,8 +464,10 @@ namespace
return false; return false;
} }
xmodel.lodInfo[lodNumber].surfIndex = static_cast<uint16_t>(m_surfaces.size()); auto& lodInfo = xmodel.lodInfo[lodNumber];
xmodel.lodInfo[lodNumber].numsurfs = static_cast<uint16_t>(common->m_objects.size()); lodInfo.dist = jLod.distance;
lodInfo.surfIndex = static_cast<uint16_t>(m_surfaces.size());
lodInfo.numsurfs = static_cast<uint16_t>(common->m_objects.size());
return std::ranges::all_of(common->m_objects, return std::ranges::all_of(common->m_objects,
[this, &common](const XModelObject& commonObject) [this, &common](const XModelObject& commonObject)

View File

@ -61,7 +61,7 @@ namespace
} }
} }
void CreateJsonXModel(JsonXModel& jXModel, const XModel& xmodel) const static void CreateJsonXModel(JsonXModel& jXModel, const XModel& xmodel)
{ {
if (xmodel.collLod >= 0) if (xmodel.collLod >= 0)
jXModel.collLod = xmodel.collLod; jXModel.collLod = xmodel.collLod;
@ -70,6 +70,7 @@ namespace
{ {
JsonXModelLod lod; JsonXModelLod lod;
lod.file = std::format("model_export/{}_lod{}{}", xmodel.name, lodNumber, GetExtensionForModelByConfig()); lod.file = std::format("model_export/{}_lod{}{}", xmodel.name, lodNumber, GetExtensionForModelByConfig());
lod.distance = xmodel.lodInfo[lodNumber].dist;
jXModel.lods.emplace_back(std::move(lod)); jXModel.lods.emplace_back(std::move(lod));
} }