mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-02-24 18:39:59 +00:00
Handle non-string RefIds when displaying a class image
This commit is contained in:
parent
25c1e6abee
commit
6e39c0336c
@ -889,14 +889,21 @@ namespace MWGui
|
||||
|
||||
void setClassImage(MyGUI::ImageBox* imageBox, const ESM::RefId& classId)
|
||||
{
|
||||
const VFS::Manager* const vfs = MWBase::Environment::get().getResourceSystem()->getVFS();
|
||||
std::string classImage
|
||||
= Misc::ResourceHelpers::correctTexturePath("textures\\levelup\\" + classId.getRefIdString() + ".dds", vfs);
|
||||
if (!vfs->exists(classImage))
|
||||
std::string_view fallback = "textures\\levelup\\warrior.dds";
|
||||
std::string classImage;
|
||||
if (const auto* id = classId.getIf<ESM::StringRefId>())
|
||||
{
|
||||
Log(Debug::Warning) << "No class image for " << classId << ", falling back to default";
|
||||
classImage = "textures\\levelup\\warrior.dds";
|
||||
const VFS::Manager* const vfs = MWBase::Environment::get().getResourceSystem()->getVFS();
|
||||
classImage
|
||||
= Misc::ResourceHelpers::correctTexturePath("textures\\levelup\\" + id->getValue() + ".dds", vfs);
|
||||
if (!vfs->exists(classImage))
|
||||
{
|
||||
Log(Debug::Warning) << "No class image for " << classId << ", falling back to default";
|
||||
classImage = fallback;
|
||||
}
|
||||
}
|
||||
else
|
||||
classImage = fallback;
|
||||
imageBox->setImageTexture(classImage);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user