diff options
author | Cameron Cawley | 2019-11-09 14:52:05 +0000 |
---|---|---|
committer | Filippos Karapetis | 2019-11-10 01:25:46 +0200 |
commit | d1fa1154fe5758fe48928062ff9b43d1bcfc7770 (patch) | |
tree | ab6e301f5a000c0fdeea52a83c0a92b59b55d68a /backends | |
parent | a00ccb215fcf5657aea797877285c1e7e6cac5f0 (diff) | |
download | scummvm-rg350-d1fa1154fe5758fe48928062ff9b43d1bcfc7770.tar.gz scummvm-rg350-d1fa1154fe5758fe48928062ff9b43d1bcfc7770.tar.bz2 scummvm-rg350-d1fa1154fe5758fe48928062ff9b43d1bcfc7770.zip |
BACKENDS: Fix using fillScreen in non-paletted screen modes
Diffstat (limited to 'backends')
-rw-r--r-- | backends/base-backend.cpp | 4 | ||||
-rw-r--r-- | backends/graphics/opengl/opengl-graphics.cpp | 5 | ||||
-rw-r--r-- | backends/graphics/surfacesdl/surfacesdl-graphics.cpp | 4 |
3 files changed, 4 insertions, 9 deletions
diff --git a/backends/base-backend.cpp b/backends/base-backend.cpp index 3e95c3e26a..9164b8d721 100644 --- a/backends/base-backend.cpp +++ b/backends/base-backend.cpp @@ -57,7 +57,7 @@ void BaseBackend::initBackend() { void BaseBackend::fillScreen(uint32 col) { Graphics::Surface *screen = lockScreen(); - if (screen && screen->getPixels()) - memset(screen->getPixels(), col, screen->h * screen->pitch); + if (screen) + screen->fillRect(Common::Rect(screen->w, screen->h), col); unlockScreen(); } diff --git a/backends/graphics/opengl/opengl-graphics.cpp b/backends/graphics/opengl/opengl-graphics.cpp index 9d11925613..f40b84c2bf 100644 --- a/backends/graphics/opengl/opengl-graphics.cpp +++ b/backends/graphics/opengl/opengl-graphics.cpp @@ -452,11 +452,6 @@ void OpenGLGraphicsManager::copyRectToScreen(const void *buf, int pitch, int x, } void OpenGLGraphicsManager::fillScreen(uint32 col) { - // FIXME: This does not conform to the OSystem specs because fillScreen - // is always taking CLUT8 color values and use color indexed mode. This is, - // however, plain odd and probably was a forgotten when we introduced - // RGB support. Thus, we simply do the "sane" thing here and hope OSystem - // gets fixed one day. _gameScreen->fill(col); } diff --git a/backends/graphics/surfacesdl/surfacesdl-graphics.cpp b/backends/graphics/surfacesdl/surfacesdl-graphics.cpp index 3b2e3eaf6f..7cddd4443f 100644 --- a/backends/graphics/surfacesdl/surfacesdl-graphics.cpp +++ b/backends/graphics/surfacesdl/surfacesdl-graphics.cpp @@ -1610,8 +1610,8 @@ void SurfaceSdlGraphicsManager::unlockScreen() { void SurfaceSdlGraphicsManager::fillScreen(uint32 col) { Graphics::Surface *screen = lockScreen(); - if (screen && screen->getPixels()) - memset(screen->getPixels(), col, screen->h * screen->pitch); + if (screen) + screen->fillRect(Common::Rect(screen->w, screen->h), col); unlockScreen(); } |