- fix decal upscaling

This commit is contained in:
Magnus Norddahl 2018-12-17 01:32:15 +01:00
parent 15d599813b
commit 9e15f26923

View file

@ -124,6 +124,8 @@ const uint8_t *FSoftwareTexture::GetPixels(int style)
auto tempbuffer = mTexture->CreateTexBuffer(0, mBufferFlags); auto tempbuffer = mTexture->CreateTexBuffer(0, mBufferFlags);
Pixels.Resize(GetPhysicalWidth()*GetPhysicalHeight()); Pixels.Resize(GetPhysicalWidth()*GetPhysicalHeight());
PalEntry *pe = (PalEntry*)tempbuffer.mBuffer; PalEntry *pe = (PalEntry*)tempbuffer.mBuffer;
if (!style)
{
for (int y = 0; y < GetPhysicalHeight(); y++) for (int y = 0; y < GetPhysicalHeight(); y++)
{ {
for (int x = 0; x < GetPhysicalWidth(); x++) for (int x = 0; x < GetPhysicalWidth(); x++)
@ -132,6 +134,17 @@ const uint8_t *FSoftwareTexture::GetPixels(int style)
} }
} }
} }
else
{
for (int y = 0; y < GetPhysicalHeight(); y++)
{
for (int x = 0; x < GetPhysicalWidth(); x++)
{
Pixels[y + x * GetPhysicalHeight()] = pe[x + y * GetPhysicalWidth()].r;
}
}
}
}
} }
return Pixels.Data(); return Pixels.Data();
} }