mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-31 20:45:32 +00:00
Nif loader: workaround for missed textures in BB/BH
Works for Better Bodies / Better Heads addons.
This commit is contained in:
parent
fa880e3274
commit
b1381ddd69
1 changed files with 12 additions and 1 deletions
|
@ -540,7 +540,7 @@ static Ogre::String getMaterial(const Nif::NiTriShape *shape, const Ogre::String
|
|||
Nif::NiSourceTexture *st = t->textures[0].texture.getPtr();
|
||||
if (st->external)
|
||||
{
|
||||
/* Bethesda at some at some point converted all their BSA
|
||||
/* Bethesda at some point converted all their BSA
|
||||
* textures from tga to dds for increased load speed, but all
|
||||
* texture file name references were kept as .tga.
|
||||
*/
|
||||
|
@ -559,6 +559,17 @@ static Ogre::String getMaterial(const Nif::NiTriShape *shape, const Ogre::String
|
|||
if(!Ogre::ResourceGroupManager::getSingleton().resourceExistsInAnyGroup(texName))
|
||||
texName = path + st->filename;
|
||||
}
|
||||
else if (!Ogre::ResourceGroupManager::getSingleton().resourceExistsInAnyGroup(texName))
|
||||
{
|
||||
// workaround for Better Heads addon
|
||||
size_t lastSlash = st->filename.rfind('\\');
|
||||
if (lastSlash != std::string::npos && lastSlash + 1 != st->filename.size()) {
|
||||
texName = path + st->filename.substr(lastSlash + 1);
|
||||
// workaround for Better Bodies addon
|
||||
if (!Ogre::ResourceGroupManager::getSingleton().resourceExistsInAnyGroup(texName))
|
||||
texName = st->filename;
|
||||
}
|
||||
}
|
||||
}
|
||||
else warn("Found internal texture, ignoring.");
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue