diff options
-rw-r--r-- | engines/wage/detection_tables.h | 1 | ||||
-rw-r--r-- | engines/wage/gui.cpp | 21 |
2 files changed, 12 insertions, 10 deletions
diff --git a/engines/wage/detection_tables.h b/engines/wage/detection_tables.h index 0214f22f28..e74862e03f 100644 --- a/engines/wage/detection_tables.h +++ b/engines/wage/detection_tables.h @@ -84,7 +84,6 @@ static const ADGameDescription gameDescriptions[] = { // No Next button in intro FANGAME("Jamie the Demon Slayer", "fa0ca9618c18425b6d9bf913f762d91b", 232789), FANGAMEN("Journey", "The Journey 1.6.2 US", "e66f37472e1414a088eb5d5acc4df794", 820572), - // Problems with window overlay FANGAMEN("Jumble", "LSJUMBLE", "7c46851d2f90c7da9efe40b1688869c2", 647339), // Original file name is "LSJUMBLE†" FANGAME("Karth of the Jungle", "5f2346834821dc3c4008e139cd37b3cb", 96711), FANGAME("Karth of the Jungle", "444f9426f342135fbcc32180e5ba5b1c", 96960), // Alternative version diff --git a/engines/wage/gui.cpp b/engines/wage/gui.cpp index 4c848963aa..93c799e73a 100644 --- a/engines/wage/gui.cpp +++ b/engines/wage/gui.cpp @@ -238,6 +238,12 @@ void Gui::draw() { return; } + if (_scene != _engine->_world->_player->_currentScene) + _sceneDirty = true; + + if (_sceneDirty || _bordersDirty) + drawDesktop(); + if (_sceneIsActive) { drawConsole(); drawScene(); @@ -264,13 +270,11 @@ void Gui::draw() { } void Gui::drawScene() { - if (_scene == _engine->_world->_player->_currentScene && !_sceneDirty) + if (!_sceneDirty && !_bordersDirty) return; _scene = _engine->_world->_player->_currentScene; - drawDesktop(); - _sceneDirty = true; _consoleDirty = true; _menuDirty = true; @@ -288,17 +292,16 @@ void Gui::drawScene() { _consoleTextArea.setWidth(_scene->_textBounds->width() - 2 * kBorderWidth); _consoleTextArea.setHeight(_scene->_textBounds->height() - 2 * kBorderWidth); - if (_scene && (_bordersDirty || _sceneDirty)) - paintBorder(&_screen, _sceneArea, kWindowScene); + paintBorder(&_screen, _sceneArea, kWindowScene); } // Render console void Gui::drawConsole() { - if (_consoleDirty || _consoleFullRedraw) - renderConsole(&_screen, _consoleTextArea); + if (!_consoleDirty && !_consoleFullRedraw && !_bordersDirty) + return; - if (_bordersDirty || _consoleDirty || _consoleFullRedraw) - paintBorder(&_screen, _consoleTextArea, kWindowConsole); + renderConsole(&_screen, _consoleTextArea); + paintBorder(&_screen, _consoleTextArea, kWindowConsole); } void Gui::drawBox(Graphics::Surface *g, int x, int y, int w, int h) { |