GRAPHICS: Allow saving thumbnails of 32 bits screens
Fixes saving in Myst ME when using the OpenGL output
This commit is contained in:
parent
d3e372db19
commit
e9bfbbd470
1 changed files with 5 additions and 1 deletions
|
@ -171,7 +171,8 @@ static bool grabScreen565(Graphics::Surface *surf) {
|
|||
if (!screen)
|
||||
return false;
|
||||
|
||||
assert(screen->format.bytesPerPixel == 1 || screen->format.bytesPerPixel == 2);
|
||||
assert(screen->format.bytesPerPixel == 1 || screen->format.bytesPerPixel == 2
|
||||
|| screen->format.bytesPerPixel == 4);
|
||||
assert(screen->getPixels() != 0);
|
||||
|
||||
Graphics::PixelFormat screenFormat = g_system->getScreenFormat();
|
||||
|
@ -197,6 +198,9 @@ static bool grabScreen565(Graphics::Surface *surf) {
|
|||
} else if (screenFormat.bytesPerPixel == 2) {
|
||||
uint16 col = READ_UINT16(screen->getBasePtr(x, y));
|
||||
screenFormat.colorToRGB(col, r, g, b);
|
||||
} else if (screenFormat.bytesPerPixel == 4) {
|
||||
uint32 col = READ_UINT32(screen->getBasePtr(x, y));
|
||||
screenFormat.colorToRGB(col, r, g, b);
|
||||
}
|
||||
|
||||
*((uint16 *)surf->getBasePtr(x, y)) = Graphics::RGBToColor<Graphics::ColorMasks<565> >(r, g, b);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue