diff options
Diffstat (limited to 'engines/mutationofjb/game.cpp')
-rw-r--r-- | engines/mutationofjb/game.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/engines/mutationofjb/game.cpp b/engines/mutationofjb/game.cpp index a46ca63965..b7f1893198 100644 --- a/engines/mutationofjb/game.cpp +++ b/engines/mutationofjb/game.cpp @@ -35,7 +35,7 @@ namespace MutationOfJB { Game::Game(MutationOfJBEngine *vm) -: _vm(vm), _delayedLocalScript(nullptr), _scriptExecCtx(*this) { +: _vm(vm), _delayedLocalScript(nullptr), _gui(*this, _vm->getScreen()), _scriptExecCtx(*this) { _gameData = new GameData; loadGameData(false); @@ -48,6 +48,8 @@ Game::Game(MutationOfJBEngine *vm) _localScript = nullptr; _room = new Room(this, _vm->getScreen()); + _gui.init(); + changeScene(13, false); // Initial scene. } @@ -84,6 +86,10 @@ bool Game::loadGameData(bool partB) { } Script *Game::changeSceneLoadScript(uint8 sceneId, bool partB) { + if (isCurrentSceneMap()) { + _gui.markInventoryDirty(); + } + _gameData->_lastScene = _gameData->_currentScene; _gameData->_currentScene = sceneId; _gameData->_partB = partB; @@ -165,6 +171,12 @@ void Game::update() { _localScript = _delayedLocalScript; _delayedLocalScript = nullptr; } + + _gui.update(); +} + +Gui &Game::getGui() { + return _gui; } } |