Improve texture size detection to prevent possible crashes on normal textures (not wpengine textures)

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
This commit is contained in:
Alexis Maiquez 2022-10-28 05:17:26 +02:00
parent 70d815c183
commit ab308b2c63

View File

@ -22,15 +22,27 @@ CTexture::CTexture (void* fileData)
} }
else else
{ {
// TODO: DETERMINE IF TEXTURES CAN HAVE 0 IMAGES if (this->m_header->freeImageFormat != FREE_IMAGE_FORMAT::FIF_UNKNOWN)
// get first image size {
std::vector<TextureMipmap*>::const_iterator element = this->m_header->images.find (0)->second.begin (); // wpengine-texture format always has one mipmap
// get first image size
std::vector<TextureMipmap*>::const_iterator element = this->m_header->images.find (0)->second.begin ();
// set the texture resolution
this->m_resolution = {
(*element)->width, (*element)->height,
this->m_header->width, this->m_header->height
};
}
else
{
// set the texture resolution
this->m_resolution = {
this->m_header->textureWidth, this->m_header->textureHeight,
this->m_header->width, this->m_header->height
};
}
// set the texture resolution
this->m_resolution = {
(*element)->width, (*element)->height,
this->m_header->width, this->m_header->height
};
} }
if (this->m_header->freeImageFormat != FREE_IMAGE_FORMAT::FIF_UNKNOWN) if (this->m_header->freeImageFormat != FREE_IMAGE_FORMAT::FIF_UNKNOWN)