mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-20 16:15:43 +00:00
fix: correct asset references in xmodel material dumping
This commit is contained in:
parent
a0138c8abc
commit
9ab78d5384
@ -150,6 +150,14 @@ namespace
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char* AssetName(const char* input)
|
||||||
|
{
|
||||||
|
if (input && input[0] == ',')
|
||||||
|
return &input[1];
|
||||||
|
|
||||||
|
return input;
|
||||||
|
}
|
||||||
|
|
||||||
void AddXModelMaterials(XModelCommon& out, DistinctMapper<Material*>& materialMapper, const XModel* model)
|
void AddXModelMaterials(XModelCommon& out, DistinctMapper<Material*>& materialMapper, const XModel* model)
|
||||||
{
|
{
|
||||||
for (auto surfaceMaterialNum = 0; surfaceMaterialNum < model->numsurfs; surfaceMaterialNum++)
|
for (auto surfaceMaterialNum = 0; surfaceMaterialNum < model->numsurfs; surfaceMaterialNum++)
|
||||||
@ -160,18 +168,18 @@ namespace
|
|||||||
XModelMaterial xMaterial;
|
XModelMaterial xMaterial;
|
||||||
xMaterial.ApplyDefaults();
|
xMaterial.ApplyDefaults();
|
||||||
|
|
||||||
xMaterial.name = material->info.name;
|
xMaterial.name = AssetName(material->info.name);
|
||||||
const auto* colorMap = GetMaterialColorMap(material);
|
const auto* colorMap = GetMaterialColorMap(material);
|
||||||
if (colorMap)
|
if (colorMap)
|
||||||
xMaterial.colorMapName = std::string(colorMap->name);
|
xMaterial.colorMapName = AssetName(colorMap->name);
|
||||||
|
|
||||||
const auto* normalMap = GetMaterialNormalMap(material);
|
const auto* normalMap = GetMaterialNormalMap(material);
|
||||||
if (normalMap)
|
if (normalMap)
|
||||||
xMaterial.normalMapName = std::string(normalMap->name);
|
xMaterial.normalMapName = AssetName(normalMap->name);
|
||||||
|
|
||||||
const auto* specularMap = GetMaterialSpecularMap(material);
|
const auto* specularMap = GetMaterialSpecularMap(material);
|
||||||
if (specularMap)
|
if (specularMap)
|
||||||
xMaterial.specularMapName = std::string(specularMap->name);
|
xMaterial.specularMapName = AssetName(specularMap->name);
|
||||||
|
|
||||||
out.m_materials.emplace_back(std::move(xMaterial));
|
out.m_materials.emplace_back(std::move(xMaterial));
|
||||||
}
|
}
|
||||||
|
@ -145,6 +145,14 @@ namespace
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char* AssetName(const char* input)
|
||||||
|
{
|
||||||
|
if (input && input[0] == ',')
|
||||||
|
return &input[1];
|
||||||
|
|
||||||
|
return input;
|
||||||
|
}
|
||||||
|
|
||||||
void AddXModelMaterials(XModelCommon& out, DistinctMapper<Material*>& materialMapper, const XModel* model)
|
void AddXModelMaterials(XModelCommon& out, DistinctMapper<Material*>& materialMapper, const XModel* model)
|
||||||
{
|
{
|
||||||
for (auto surfaceMaterialNum = 0; surfaceMaterialNum < model->numsurfs; surfaceMaterialNum++)
|
for (auto surfaceMaterialNum = 0; surfaceMaterialNum < model->numsurfs; surfaceMaterialNum++)
|
||||||
@ -155,18 +163,18 @@ namespace
|
|||||||
XModelMaterial xMaterial;
|
XModelMaterial xMaterial;
|
||||||
xMaterial.ApplyDefaults();
|
xMaterial.ApplyDefaults();
|
||||||
|
|
||||||
xMaterial.name = material->info.name;
|
xMaterial.name = AssetName(material->info.name);
|
||||||
const auto* colorMap = GetMaterialColorMap(material);
|
const auto* colorMap = GetMaterialColorMap(material);
|
||||||
if (colorMap)
|
if (colorMap)
|
||||||
xMaterial.colorMapName = std::string(colorMap->name);
|
xMaterial.colorMapName = AssetName(colorMap->name);
|
||||||
|
|
||||||
const auto* normalMap = GetMaterialNormalMap(material);
|
const auto* normalMap = GetMaterialNormalMap(material);
|
||||||
if (normalMap)
|
if (normalMap)
|
||||||
xMaterial.normalMapName = std::string(normalMap->name);
|
xMaterial.normalMapName = AssetName(normalMap->name);
|
||||||
|
|
||||||
const auto* specularMap = GetMaterialSpecularMap(material);
|
const auto* specularMap = GetMaterialSpecularMap(material);
|
||||||
if (specularMap)
|
if (specularMap)
|
||||||
xMaterial.specularMapName = std::string(specularMap->name);
|
xMaterial.specularMapName = AssetName(specularMap->name);
|
||||||
|
|
||||||
out.m_materials.emplace_back(std::move(xMaterial));
|
out.m_materials.emplace_back(std::move(xMaterial));
|
||||||
}
|
}
|
||||||
|
@ -145,6 +145,14 @@ namespace
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char* AssetName(const char* input)
|
||||||
|
{
|
||||||
|
if (input && input[0] == ',')
|
||||||
|
return &input[1];
|
||||||
|
|
||||||
|
return input;
|
||||||
|
}
|
||||||
|
|
||||||
void AddXModelMaterials(XModelCommon& out, DistinctMapper<Material*>& materialMapper, const XModel* model)
|
void AddXModelMaterials(XModelCommon& out, DistinctMapper<Material*>& materialMapper, const XModel* model)
|
||||||
{
|
{
|
||||||
for (auto surfaceMaterialNum = 0; surfaceMaterialNum < model->numsurfs; surfaceMaterialNum++)
|
for (auto surfaceMaterialNum = 0; surfaceMaterialNum < model->numsurfs; surfaceMaterialNum++)
|
||||||
@ -155,18 +163,18 @@ namespace
|
|||||||
XModelMaterial xMaterial;
|
XModelMaterial xMaterial;
|
||||||
xMaterial.ApplyDefaults();
|
xMaterial.ApplyDefaults();
|
||||||
|
|
||||||
xMaterial.name = material->info.name;
|
xMaterial.name = AssetName(material->info.name);
|
||||||
const auto* colorMap = GetMaterialColorMap(material);
|
const auto* colorMap = GetMaterialColorMap(material);
|
||||||
if (colorMap)
|
if (colorMap)
|
||||||
xMaterial.colorMapName = std::string(colorMap->name);
|
xMaterial.colorMapName = AssetName(colorMap->name);
|
||||||
|
|
||||||
const auto* normalMap = GetMaterialNormalMap(material);
|
const auto* normalMap = GetMaterialNormalMap(material);
|
||||||
if (normalMap)
|
if (normalMap)
|
||||||
xMaterial.normalMapName = std::string(normalMap->name);
|
xMaterial.normalMapName = AssetName(normalMap->name);
|
||||||
|
|
||||||
const auto* specularMap = GetMaterialSpecularMap(material);
|
const auto* specularMap = GetMaterialSpecularMap(material);
|
||||||
if (specularMap)
|
if (specularMap)
|
||||||
xMaterial.specularMapName = std::string(specularMap->name);
|
xMaterial.specularMapName = AssetName(specularMap->name);
|
||||||
|
|
||||||
out.m_materials.emplace_back(std::move(xMaterial));
|
out.m_materials.emplace_back(std::move(xMaterial));
|
||||||
}
|
}
|
||||||
|
@ -150,6 +150,14 @@ namespace
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char* AssetName(const char* input)
|
||||||
|
{
|
||||||
|
if (input && input[0] == ',')
|
||||||
|
return &input[1];
|
||||||
|
|
||||||
|
return input;
|
||||||
|
}
|
||||||
|
|
||||||
void AddXModelMaterials(XModelCommon& out, DistinctMapper<Material*>& materialMapper, const XModel* model)
|
void AddXModelMaterials(XModelCommon& out, DistinctMapper<Material*>& materialMapper, const XModel* model)
|
||||||
{
|
{
|
||||||
for (auto surfaceMaterialNum = 0; surfaceMaterialNum < model->numsurfs; surfaceMaterialNum++)
|
for (auto surfaceMaterialNum = 0; surfaceMaterialNum < model->numsurfs; surfaceMaterialNum++)
|
||||||
@ -160,18 +168,18 @@ namespace
|
|||||||
XModelMaterial xMaterial;
|
XModelMaterial xMaterial;
|
||||||
xMaterial.ApplyDefaults();
|
xMaterial.ApplyDefaults();
|
||||||
|
|
||||||
xMaterial.name = material->info.name;
|
xMaterial.name = AssetName(material->info.name);
|
||||||
const auto* colorMap = GetMaterialColorMap(material);
|
const auto* colorMap = GetMaterialColorMap(material);
|
||||||
if (colorMap)
|
if (colorMap)
|
||||||
xMaterial.colorMapName = std::string(colorMap->name);
|
xMaterial.colorMapName = AssetName(colorMap->name);
|
||||||
|
|
||||||
const auto* normalMap = GetMaterialNormalMap(material);
|
const auto* normalMap = GetMaterialNormalMap(material);
|
||||||
if (normalMap)
|
if (normalMap)
|
||||||
xMaterial.normalMapName = std::string(normalMap->name);
|
xMaterial.normalMapName = AssetName(normalMap->name);
|
||||||
|
|
||||||
const auto* specularMap = GetMaterialSpecularMap(material);
|
const auto* specularMap = GetMaterialSpecularMap(material);
|
||||||
if (specularMap)
|
if (specularMap)
|
||||||
xMaterial.specularMapName = std::string(specularMap->name);
|
xMaterial.specularMapName = AssetName(specularMap->name);
|
||||||
|
|
||||||
out.m_materials.emplace_back(std::move(xMaterial));
|
out.m_materials.emplace_back(std::move(xMaterial));
|
||||||
}
|
}
|
||||||
|
@ -162,6 +162,14 @@ namespace
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char* AssetName(const char* input)
|
||||||
|
{
|
||||||
|
if (input && input[0] == ',')
|
||||||
|
return &input[1];
|
||||||
|
|
||||||
|
return input;
|
||||||
|
}
|
||||||
|
|
||||||
void AddXModelMaterials(XModelCommon& out, DistinctMapper<Material*>& materialMapper, const XModel* model)
|
void AddXModelMaterials(XModelCommon& out, DistinctMapper<Material*>& materialMapper, const XModel* model)
|
||||||
{
|
{
|
||||||
for (auto surfaceMaterialNum = 0; surfaceMaterialNum < model->numsurfs; surfaceMaterialNum++)
|
for (auto surfaceMaterialNum = 0; surfaceMaterialNum < model->numsurfs; surfaceMaterialNum++)
|
||||||
@ -172,18 +180,18 @@ namespace
|
|||||||
XModelMaterial xMaterial;
|
XModelMaterial xMaterial;
|
||||||
xMaterial.ApplyDefaults();
|
xMaterial.ApplyDefaults();
|
||||||
|
|
||||||
xMaterial.name = material->info.name;
|
xMaterial.name = AssetName(material->info.name);
|
||||||
const auto* colorMap = GetMaterialColorMap(material);
|
const auto* colorMap = GetMaterialColorMap(material);
|
||||||
if (colorMap)
|
if (colorMap)
|
||||||
xMaterial.colorMapName = std::string(colorMap->name);
|
xMaterial.colorMapName = AssetName(colorMap->name);
|
||||||
|
|
||||||
const auto* normalMap = GetMaterialNormalMap(material);
|
const auto* normalMap = GetMaterialNormalMap(material);
|
||||||
if (normalMap)
|
if (normalMap)
|
||||||
xMaterial.normalMapName = std::string(normalMap->name);
|
xMaterial.normalMapName = AssetName(normalMap->name);
|
||||||
|
|
||||||
const auto* specularMap = GetMaterialSpecularMap(material);
|
const auto* specularMap = GetMaterialSpecularMap(material);
|
||||||
if (specularMap)
|
if (specularMap)
|
||||||
xMaterial.specularMapName = std::string(specularMap->name);
|
xMaterial.specularMapName = AssetName(specularMap->name);
|
||||||
|
|
||||||
out.m_materials.emplace_back(std::move(xMaterial));
|
out.m_materials.emplace_back(std::move(xMaterial));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user