MCPcopy Create free account
hub / github.com/Segs/Segs / getModelTextures

Function getModelTextures

Projects/CoX/Utilities/MapViewer/src/CohTextureConverter.cpp:125–157  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

123}
124
125std::vector<SEGS::HTexture> getModelTextures(Urho3D::Context *ctx,std::vector<QString> &names)
126{
127 uint32_t name_count = std::max<uint32_t>(1,names.size());
128 std::vector<SEGS::HTexture> res;
129 res.reserve(name_count);
130 SEGS::HTexture white_tex = tryLoadTexture(ctx,"white.tga");
131
132 for(size_t tex_idx=0; tex_idx < names.size(); ++tex_idx )
133 {
134 QFileInfo fi(names[tex_idx]);
135 QString baseName = fi.completeBaseName();
136 if(baseName!=names[tex_idx])
137 {
138 if(fi.fileName() == names[tex_idx])
139 names[tex_idx] = baseName;
140 else
141 names[tex_idx] = fi.path()+"/"+baseName;
142 }
143 if ( names[tex_idx].contains("PORTAL",Qt::CaseInsensitive) )
144 res.emplace_back(tryLoadTexture(ctx,"invisible.tga"));
145 else
146 res.emplace_back(tryLoadTexture(ctx,names[tex_idx]));
147 // replace missing texture with white
148 // TODO: make missing textures much more visible ( high contrast + text ? )
149 if ( g_converted_textures.end()==g_converted_textures.find(res[tex_idx].idx) )
150 {
151 res[tex_idx] = white_tex;
152 }
153 }
154 if (names.empty())
155 res.emplace_back(white_tex);
156 return res;
157}
158
159//! @}

Callers 2

buildModelFunction · 0.85

Calls 5

tryLoadTextureFunction · 0.85
sizeMethod · 0.45
endMethod · 0.45
findMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected