Remove unused code for saving embedded RGB map images

Only embedded images in RGBA format are loaded anymore, so the additional code for converting RGB to RGBA image data is not necessary.
This commit is contained in:
Robert Müller 2024-07-31 22:11:15 +02:00
parent 3ff3802867
commit fd1cc863b4

View file

@ -111,27 +111,8 @@ bool CEditorMap::Save(const char *pFileName)
} }
else else
{ {
const size_t PixelSize = CImageInfo::PixelSize(CImageInfo::FORMAT_RGBA); dbg_assert(pImg->m_Format == CImageInfo::FORMAT_RGBA, "Embedded images must be in RGBA format");
const size_t DataSize = (size_t)Item.m_Width * Item.m_Height * PixelSize; Item.m_ImageData = Writer.AddData(pImg->DataSize(), pImg->m_pData);
if(pImg->m_Format == CImageInfo::FORMAT_RGB)
{
// Convert to RGBA
unsigned char *pDataRGBA = (unsigned char *)malloc(DataSize);
unsigned char *pDataRGB = (unsigned char *)pImg->m_pData;
for(int j = 0; j < Item.m_Width * Item.m_Height; j++)
{
pDataRGBA[j * PixelSize] = pDataRGB[j * 3];
pDataRGBA[j * PixelSize + 1] = pDataRGB[j * 3 + 1];
pDataRGBA[j * PixelSize + 2] = pDataRGB[j * 3 + 2];
pDataRGBA[j * PixelSize + 3] = 255;
}
Item.m_ImageData = Writer.AddData(DataSize, pDataRGBA);
free(pDataRGBA);
}
else
{
Item.m_ImageData = Writer.AddData(DataSize, pImg->m_pData);
}
} }
Writer.AddItem(MAPITEMTYPE_IMAGE, i, sizeof(Item), &Item); Writer.AddItem(MAPITEMTYPE_IMAGE, i, sizeof(Item), &Item);
} }