aboutsummaryrefslogtreecommitdiff
path: root/engines/startrek/graphics.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2019-05-27 21:14:08 +0300
committerFilippos Karapetis2019-05-27 21:14:08 +0300
commit4ade45cb11f5929bc951d02d8077c499880c76a6 (patch)
tree91305dff9811a8410098c653a0a8f086d0375209 /engines/startrek/graphics.cpp
parent430b87d5ff3d4b0824ba013b3c74cf682fc611d1 (diff)
downloadscummvm-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.cpp7
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;
}