From 691d0f9888830699861a9406a4c5fc6bff5c5aef Mon Sep 17 00:00:00 2001 From: Thomas Fach-Pedersen Date: Fri, 30 May 2014 12:45:01 -0700 Subject: BLADERUNNER: Avoid global constructor for pixelformat --- engines/bladerunner/bladerunner.cpp | 5 +++-- engines/bladerunner/bladerunner.h | 7 +++++-- engines/bladerunner/vqa_decoder.cpp | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp index 6f6b2f259b..b8bfce98b4 100644 --- a/engines/bladerunner/bladerunner.cpp +++ b/engines/bladerunner/bladerunner.cpp @@ -58,7 +58,8 @@ bool BladeRunnerEngine::hasFeature(EngineFeature f) const { } Common::Error BladeRunnerEngine::run() { - initGraphics(640, 480, true, &RGB555); + Graphics::PixelFormat format = createRGB555(); + initGraphics(640, 480, true, &format); if (!startup()) return Common::Error(Common::kUnknownError, "Failed to initialize resources"); @@ -78,7 +79,7 @@ Common::Error BladeRunnerEngine::run() { bool BladeRunnerEngine::startup() { bool r; - _surface1.create(640, 480, RGB555); + _surface1.create(640, 480, createRGB555()); r = openArchive("STARTUP.MIX"); if (!r) diff --git a/engines/bladerunner/bladerunner.h b/engines/bladerunner/bladerunner.h index 5a02d94b11..353a003641 100644 --- a/engines/bladerunner/bladerunner.h +++ b/engines/bladerunner/bladerunner.h @@ -35,8 +35,6 @@ namespace BladeRunner { -const Graphics::PixelFormat RGB555(2, 5, 5, 5, 0, 10, 5, 0, 0); - class Chapters; class Scene; class Script; @@ -91,6 +89,11 @@ public: void ISez(const char *str); }; +static inline +const Graphics::PixelFormat createRGB555() { + return Graphics::PixelFormat(2, 5, 5, 5, 0, 10, 5, 0, 0); +} + } // End of namespace BladeRunner #endif diff --git a/engines/bladerunner/vqa_decoder.cpp b/engines/bladerunner/vqa_decoder.cpp index 345fc2cc4d..ba30e73ee4 100644 --- a/engines/bladerunner/vqa_decoder.cpp +++ b/engines/bladerunner/vqa_decoder.cpp @@ -550,7 +550,7 @@ VQADecoder::VQAVideoTrack::VQAVideoTrack(VQADecoder *vqaDecoder) { _zbufChunk = new uint8[roundup(_maxZBUFChunkSize)]; _surface = new Graphics::Surface(); - _surface->create(_width, _height, RGB555); + _surface->create(_width, _height, createRGB555()); } VQADecoder::VQAVideoTrack::~VQAVideoTrack() { -- cgit v1.2.3