diff options
author | Filippos Karapetis | 2019-05-27 21:14:08 +0300 |
---|---|---|
committer | Filippos Karapetis | 2019-05-27 21:14:08 +0300 |
commit | 4ade45cb11f5929bc951d02d8077c499880c76a6 (patch) | |
tree | 91305dff9811a8410098c653a0a8f086d0375209 /engines/startrek/graphics.cpp | |
parent | 430b87d5ff3d4b0824ba013b3c74cf682fc611d1 (diff) | |
download | scummvm-rg350-4ade45cb11f5929bc951d02d8077c499880c76a6.tar.gz scummvm-rg350-4ade45cb11f5929bc951d02d8077c499880c76a6.tar.bz2 scummvm-rg350-4ade45cb11f5929bc951d02d8077c499880c76a6.zip |
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
Diffstat (limited to 'engines/startrek/graphics.cpp')
-rw-r--r-- | engines/startrek/graphics.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
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; } |