[Scummvm-git-logs] scummvm master -> 1852df571d7eeb6df979b7e2679be09ef4d95fda
aquadran
noreply at scummvm.org
Thu Oct 31 11:40:42 UTC 2024
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
1852df571d WINTERMUTE: Amend to commit with TGA handling.
Commit: 1852df571d7eeb6df979b7e2679be09ef4d95fda
https://github.com/scummvm/scummvm/commit/1852df571d7eeb6df979b7e2679be09ef4d95fda
Author: PaweÅ KoÅodziejski (aquadran at gmail.com)
Date: 2024-10-31T12:40:36+01:00
Commit Message:
WINTERMUTE: Amend to commit with TGA handling.
Handle gfx swap data also for 3D renderer. Revert for 2D renderer for now.
Changed paths:
engines/wintermute/base/gfx/opengl/base_surface_opengl3d.cpp
engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp
diff --git a/engines/wintermute/base/gfx/opengl/base_surface_opengl3d.cpp b/engines/wintermute/base/gfx/opengl/base_surface_opengl3d.cpp
index 961e5e6ee6e..aa9b7da457d 100644
--- a/engines/wintermute/base/gfx/opengl/base_surface_opengl3d.cpp
+++ b/engines/wintermute/base/gfx/opengl/base_surface_opengl3d.cpp
@@ -161,9 +161,17 @@ bool BaseSurfaceOpenGL3D::create(const Common::String &filename, bool defaultCK,
}
#ifdef SCUMM_BIG_ENDIAN
- _imageData = img.getSurface()->convertTo(Graphics::PixelFormat(4, 8, 8, 8, 8, 24, 16, 8, 0), img.getPalette(), img.getPaletteCount());
+ if (img.getSurface()->format.bytesPerPixel == 1 && _filename.hasSuffix(".tga")) {
+ _imageData = img.getSurface()->convertTo(Graphics::PixelFormat(4, 8, 8, 8, 8, 24, 0, 8, 16), img.getPalette(), img.getPaletteCount());
+ } else {
+ _imageData = img.getSurface()->convertTo(Graphics::PixelFormat(4, 8, 8, 8, 8, 24, 16, 8, 0), img.getPalette(), img.getPaletteCount());
+ }
#else
- _imageData = img.getSurface()->convertTo(Graphics::PixelFormat(4, 8, 8, 8, 8, 0, 8, 16, 24), img.getPalette(), img.getPaletteCount());
+ if (img.getSurface()->format.bytesPerPixel == 1 && _filename.hasSuffix(".tga")) {
+ _imageData = img.getSurface()->convertTo(Graphics::PixelFormat(4, 8, 8, 8, 8, 16, 8, 0, 24), img.getPalette(), img.getPaletteCount());
+ } else {
+ _imageData = img.getSurface()->convertTo(Graphics::PixelFormat(4, 8, 8, 8, 8, 0, 8, 16, 24), img.getPalette(), img.getPaletteCount());
+ }
#endif
if (BaseEngine::instance().getTargetExecutable() < WME_LITE) {
diff --git a/engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp b/engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp
index 8a8b119e5fc..1122ef0614e 100644
--- a/engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp
+++ b/engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp
@@ -121,16 +121,6 @@ bool BaseSurfaceOSystem::finishLoad() {
_surface->free();
delete _surface;
- //
- // ScummVM TGA decoder interpreting palette as RGB, but TGA data has as BGR
- // swap R and B color components
- //
- if (image->getPaletteCount() != 0 && _filename.hasSuffix(".tga")) {
- byte tmp = _ckBlue;
- _ckBlue = _ckRed;
- _ckRed = tmp;
- }
-
bool needsColorKey = false;
bool replaceAlpha = true;
if (image->getSurface()->format.bytesPerPixel == 1) {
More information about the Scummvm-git-logs
mailing list