[Scummvm-git-logs] scummvm master -> 8e568b6a26679a91631cc5452b9fd1e96bf422da
aquadran
noreply at scummvm.org
Fri Jun 20 19:05:58 UTC 2025
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
8e568b6a26 WINTERMUTE: Use setOutputPixelFormat when loading JPEG images
Commit: 8e568b6a26679a91631cc5452b9fd1e96bf422da
https://github.com/scummvm/scummvm/commit/8e568b6a26679a91631cc5452b9fd1e96bf422da
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2025-06-20T21:05:55+02:00
Commit Message:
WINTERMUTE: Use setOutputPixelFormat when loading JPEG images
Changed paths:
engines/wintermute/base/gfx/base_image.cpp
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/base_image.cpp b/engines/wintermute/base/gfx/base_image.cpp
index 4b3d51fc80e..a0c3cd6fb22 100644
--- a/engines/wintermute/base/gfx/base_image.cpp
+++ b/engines/wintermute/base/gfx/base_image.cpp
@@ -26,6 +26,8 @@
*/
#include "engines/wintermute/base/gfx/base_image.h"
+#include "engines/wintermute/base/gfx/base_renderer.h"
+#include "engines/wintermute/base/base_engine.h"
#include "engines/wintermute/base/base_file_manager.h"
#include "engines/wintermute/base/file/base_savefile_manager_file.h"
@@ -72,7 +74,9 @@ bool BaseImage::loadFile(const Common::String &filename) {
} else if (_filename.hasSuffix(".tga")) {
_decoder = new Image::TGADecoder();
} else if (_filename.hasSuffix(".jpg")) {
- _decoder = new Image::JPEGDecoder();
+ Image::JPEGDecoder *jpeg = new Image::JPEGDecoder();
+ jpeg->setOutputPixelFormat(BaseEngine::getRenderer()->getPixelFormat());
+ _decoder = jpeg;
} else {
error("BaseImage::loadFile : Unsupported fileformat %s", filename.c_str());
}
diff --git a/engines/wintermute/base/gfx/opengl/base_surface_opengl3d.cpp b/engines/wintermute/base/gfx/opengl/base_surface_opengl3d.cpp
index eb62444f802..526ad9567b3 100644
--- a/engines/wintermute/base/gfx/opengl/base_surface_opengl3d.cpp
+++ b/engines/wintermute/base/gfx/opengl/base_surface_opengl3d.cpp
@@ -165,6 +165,9 @@ bool BaseSurfaceOpenGL3D::create(const Common::String &filename, bool defaultCK,
if (_filename.hasSuffix(".bmp")) {
// Ignores alpha channel for BMPs
needsColorKey = true;
+ } else if (_filename.hasSuffix(".jpg")) {
+ // Ignores alpha channel for JPEGs
+ needsColorKey = true;
} else if (BaseEngine::instance().getTargetExecutable() < WME_LITE) {
// WME 1.x always use colorkey, even for images with transparency
needsColorKey = true;
diff --git a/engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp b/engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp
index 1f90bf9f3eb..87b335fc4b0 100644
--- a/engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp
+++ b/engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp
@@ -151,6 +151,9 @@ bool BaseSurfaceOSystem::finishLoad() {
if (_filename.hasSuffix(".bmp")) {
// Ignores alpha channel for BMPs
needsColorKey = true;
+ } else if (_filename.hasSuffix(".jpg")) {
+ // Ignores alpha channel for JPEGs
+ needsColorKey = true;
} else if (BaseEngine::instance().getTargetExecutable() < WME_LITE) {
// WME 1.x always use colorkey, even for images with transparency
needsColorKey = true;
More information about the Scummvm-git-logs
mailing list