From 8db95df32ec6b6c0cbc0b53d8cb1050b23c09ba9 Mon Sep 17 00:00:00 2001 From: Lynix Date: Sun, 17 Jul 2016 21:10:20 +0200 Subject: [PATCH] Utility/OBJSaver: Fix multiple materials saving Former-commit-id: 27c24c6bd755a98a1be41208cdb5055aa51a6110 [formerly 3820670cc464da0888433eb41ab8156d9023fac3] Former-commit-id: 25982ac2cbe28413fb837f3184b9585ed8172cdc --- src/Nazara/Utility/Formats/MD2Loader.cpp | 2 +- src/Nazara/Utility/Formats/OBJSaver.cpp | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Nazara/Utility/Formats/MD2Loader.cpp b/src/Nazara/Utility/Formats/MD2Loader.cpp index d1d03cf52..c61dffd09 100644 --- a/src/Nazara/Utility/Formats/MD2Loader.cpp +++ b/src/Nazara/Utility/Formats/MD2Loader.cpp @@ -102,7 +102,7 @@ namespace Nz stream.Read(skin, 68*sizeof(char)); ParameterList matData; - matData.SetParameter(MaterialData::CustomDefined, true); + matData.SetParameter(MaterialData::CustomDefined); matData.SetParameter(MaterialData::DiffuseTexturePath, baseDir + skin); mesh->SetMaterialData(i, std::move(matData)); diff --git a/src/Nazara/Utility/Formats/OBJSaver.cpp b/src/Nazara/Utility/Formats/OBJSaver.cpp index 4fe468135..9a79638bc 100644 --- a/src/Nazara/Utility/Formats/OBJSaver.cpp +++ b/src/Nazara/Utility/Formats/OBJSaver.cpp @@ -122,7 +122,7 @@ namespace Nz bool bValue; String strVal; - if (matData.GetBooleanParameter(MaterialData::CustomDefined, &bValue) && bValue) + if (matData.HasParameter(MaterialData::CustomDefined)) { Color colorVal; float fValue; @@ -160,9 +160,10 @@ namespace Nz const StaticMesh* staticMesh = static_cast(mesh.GetSubMesh(i)); std::size_t triangleCount = staticMesh->GetTriangleCount(); - std::size_t vertexCount = staticMesh->GetVertexCount(); meshes[i].faces.resize(triangleCount); + meshes[i].material = staticMesh->GetMaterialIndex(); + meshes[i].name = "mesh_" + String::Number(i); meshes[i].vertices.resize(triangleCount * 3); {