aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backends/platform/dc/display.cpp2
-rw-r--r--backends/platform/ps2/systemps2.cpp2
-rw-r--r--graphics/VectorRendererSpec.cpp20
-rw-r--r--graphics/scaler.cpp14
-rw-r--r--graphics/video/mpeg_player.cpp8
-rw-r--r--graphics/video/mpeg_player.h3
6 files changed, 32 insertions, 17 deletions
diff --git a/backends/platform/dc/display.cpp b/backends/platform/dc/display.cpp
index f3bfc4b78f..9ff692f3fa 100644
--- a/backends/platform/dc/display.cpp
+++ b/backends/platform/dc/display.cpp
@@ -197,8 +197,6 @@ void OSystem_Dreamcast::initSize(uint w, uint h)
{
assert(w <= SCREEN_W && h <= SCREEN_H);
- gBitFormat = 4444;
-
_overlay_visible = false;
_overlay_fade = 0.0;
_screen_w = w;
diff --git a/backends/platform/ps2/systemps2.cpp b/backends/platform/ps2/systemps2.cpp
index adf519cee3..e8a7d11318 100644
--- a/backends/platform/ps2/systemps2.cpp
+++ b/backends/platform/ps2/systemps2.cpp
@@ -76,8 +76,6 @@ volatile uint32 msecCount = 0;
OSystem_PS2 *g_systemPs2;
-int gBitFormat = 555;
-
#define FOREVER 2147483647
namespace Graphics {
diff --git a/graphics/VectorRendererSpec.cpp b/graphics/VectorRendererSpec.cpp
index 46c0ec6a67..055a51a4a1 100644
--- a/graphics/VectorRendererSpec.cpp
+++ b/graphics/VectorRendererSpec.cpp
@@ -151,8 +151,6 @@ inline uint32 fp_sqroot(uint32 x) {
}
-extern int gBitFormat;
-
namespace Graphics {
VectorRenderer *createRenderer(int mode) {
@@ -172,21 +170,27 @@ VectorRenderer *createRenderer(int mode) {
return 0; \
}
+
// FIXME/TODO: This looks like a real gross hack.
// It might be fine to assume that '1555' only happens for PSP
// so it could maybe be handled via DISABLE_FANCY_THEMES,
// same goes for 4444, which is only used by DC port.
- if (gBitFormat == 1555) {
+ PixelFormat format = g_system->getOverlayFormat();
+ if (format == createPixelFormat<1555>()) {
CREATE_RENDERER_16(1555)
- } else if (gBitFormat == 4444) {
+ }
+ if (format == createPixelFormat<4444>()) {
CREATE_RENDERER_16(4444)
- } else if (gBitFormat == 555) {
+ }
+ if (format == createPixelFormat<555>()) {
CREATE_RENDERER_16(555)
- } else if (gBitFormat == 565) {
+ }
+ if (format == createPixelFormat<565>()) {
CREATE_RENDERER_16(565)
- } else {
- return 0;
}
+
+ return 0;
+
#undef CREATE_RENDERER_16
#endif
}
diff --git a/graphics/scaler.cpp b/graphics/scaler.cpp
index e1f3775eac..edfb114ef7 100644
--- a/graphics/scaler.cpp
+++ b/graphics/scaler.cpp
@@ -29,6 +29,20 @@
int gBitFormat = 565;
+static const Graphics::PixelFormat gPixelFormat555 = {
+ 2,
+ 3, 3, 3, 8,
+ 10, 5, 0, 0
+ };
+
+static const Graphics::PixelFormat gPixelFormat565 = {
+ 2,
+ 3, 2, 3, 8,
+ 11, 5, 0, 0
+ };
+
+
+
#ifndef DISABLE_HQ_SCALERS
// RGB-to-YUV lookup table
extern "C" {
diff --git a/graphics/video/mpeg_player.cpp b/graphics/video/mpeg_player.cpp
index 8c017e5bb5..1910babce4 100644
--- a/graphics/video/mpeg_player.cpp
+++ b/graphics/video/mpeg_player.cpp
@@ -45,7 +45,7 @@ BaseAnimationState::BaseAnimationState(OSystem *sys, int width, int height)
_colorTab = NULL;
_rgbToPix = NULL;
- _bitFormat = 0;
+ memset(&_overlayFormat, 0, sizeof(_overlayFormat));
#endif
}
@@ -353,7 +353,8 @@ void BaseAnimationState::buildLookup(int p, int lines) {
void BaseAnimationState::buildLookup() {
// Do we already have lookup tables for this bit format?
- if (gBitFormat == _bitFormat && _colorTab && _rgbToPix)
+ Graphics::PixelFormat format = _sys->getOverlayFormat();
+ if (format == _overlayFormat && _colorTab && _rgbToPix)
return;
free(_colorTab);
@@ -389,7 +390,6 @@ void BaseAnimationState::buildLookup() {
}
// Set up entries 0-255 in rgb-to-pixel value tables.
- Graphics::PixelFormat format = _sys->getOverlayFormat();
for (i = 0; i < 256; i++) {
r_2_pix_alloc[i + 256] = format.RGBToColor(i, 0, 0);
g_2_pix_alloc[i + 256] = format.RGBToColor(0, i, 0);
@@ -407,7 +407,7 @@ void BaseAnimationState::buildLookup() {
b_2_pix_alloc[i + 512] = b_2_pix_alloc[511];
}
- _bitFormat = gBitFormat;
+ _overlayFormat = format;
}
void BaseAnimationState::plotYUV(int width, int height, byte *const *dat) {
diff --git a/graphics/video/mpeg_player.h b/graphics/video/mpeg_player.h
index 7d42618926..48c15261fc 100644
--- a/graphics/video/mpeg_player.h
+++ b/graphics/video/mpeg_player.h
@@ -27,6 +27,7 @@
#define GRAPHICS_VIDEO_MPEG_PLAYER_H
#include "common/scummsys.h"
+#include "graphics/pixelformat.h"
// Uncomment this if you are using libmpeg2 0.3.1.
// #define USE_MPEG2_0_3_1
@@ -122,7 +123,7 @@ protected:
} _palettes[50];
#else
OverlayColor *_overlay;
- int _bitFormat;
+ Graphics::PixelFormat _overlayFormat;
int16 *_colorTab;
OverlayColor *_rgbToPix;
#endif