From 4ade45cb11f5929bc951d02d8077c499880c76a6 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Mon, 27 May 2019 21:14:08 +0300 Subject: STARTREK: Improve game responsiveness - Add a delay after screen updates - Do not update the screen when drawing the background - this is unnecessary - Fix memory leak when drawing the background --- engines/startrek/graphics.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'engines/startrek/graphics.cpp') diff --git a/engines/startrek/graphics.cpp b/engines/startrek/graphics.cpp index f92ef77594..5c6a1441b6 100644 --- a/engines/startrek/graphics.cpp +++ b/engines/startrek/graphics.cpp @@ -131,6 +131,7 @@ void Graphics::clearScreenAndPriBuffer() { surface->fillRect(_screenRect, 0); _vm->_system->unlockScreen(); _vm->_system->updateScreen(); + _vm->_system->delayMillis(10); } void Graphics::loadPalette(const Common::String &paletteName) { @@ -200,6 +201,7 @@ void Graphics::setPaletteFadeLevel(byte *palData, int fadeLevel) { // FIXME: this isn't supposed to flush changes to graphics, only palettes. // Might not matter... _vm->_system->updateScreen(); + _vm->_system->delayMillis(10); } void Graphics::incPaletteFadeLevel() { @@ -636,6 +638,7 @@ void Graphics::updateScreen() { } _vm->_system->updateScreen(); + _vm->_system->delayMillis(10); } Sprite *Graphics::getSpriteAt(int16 x, int16 y) { @@ -759,8 +762,10 @@ void Graphics::drawBackgroundImage(const char *filename) { _vm->_system->getPaletteManager()->setPalette(palette, 0, 256); _vm->_system->copyRectToScreen(pixels, width, xoffset, yoffset, width, height); - _vm->_system->updateScreen(); + //_vm->_system->updateScreen(); + //_vm->_system->delayMillis(10); + delete[] pixels; delete[] palette; } -- cgit v1.2.3