mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-05-09 22:14:56 +00:00
Check not only texture semantic but also name start and end to ensure to pick colormap for exporting models
This commit is contained in:
parent
a43d8bdd34
commit
bd9110fbb3
@ -41,6 +41,7 @@ void AssetDumperXModel::AddObjMaterials(ObjWriter& writer, DistinctMapper<Materi
|
||||
switch (texture.semantic)
|
||||
{
|
||||
case TS_COLOR_MAP:
|
||||
if (texture.nameStart == 'c' && texture.nameEnd == 'p')
|
||||
colorMap = texture.u.image;
|
||||
break;
|
||||
|
||||
@ -92,11 +93,9 @@ void AssetDumperXModel::AddObjVertices(ObjWriter& writer, const XModelSurfs* mod
|
||||
const auto& v = surface.verts0[vertexIndex];
|
||||
vec2_t uv;
|
||||
vec3_t normalVec;
|
||||
vec4_t color;
|
||||
|
||||
Common::Vec2UnpackTexCoords(v.texCoord, &uv);
|
||||
Common::Vec3UnpackUnitVec(v.normal, &normalVec);
|
||||
Common::Vec4UnpackGfxColor(v.color, &color);
|
||||
|
||||
ObjVertex objVertex{};
|
||||
ObjNormal objNormal{};
|
||||
@ -254,7 +253,7 @@ void AssetDumperXModel::AddXModelMaterials(AbstractXModelWriter& writer, Distinc
|
||||
for (auto textureIndex = 0; textureIndex < material->textureCount; textureIndex++)
|
||||
{
|
||||
const auto* textureTableEntry = &material->textureTable[textureIndex];
|
||||
if (textureTableEntry->semantic == TS_COLOR_MAP && textureTableEntry->u.image)
|
||||
if (textureTableEntry->semantic == TS_COLOR_MAP && textureTableEntry->nameStart == 'c' && textureTableEntry->nameEnd == 'p' && textureTableEntry->u.image)
|
||||
{
|
||||
xMaterial.colorMapName = textureTableEntry->u.image->name;
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user