From 8ec499c177d88e11930b8550c47c352d65dc603a Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 16 Mar 2016 19:05:16 -0400 Subject: TITANIC: Implementing setActiveView, surface clearing --- engines/titanic/game_view.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'engines/titanic/game_view.cpp') diff --git a/engines/titanic/game_view.cpp b/engines/titanic/game_view.cpp index a2905d148c..315b2a8909 100644 --- a/engines/titanic/game_view.cpp +++ b/engines/titanic/game_view.cpp @@ -23,11 +23,11 @@ #include "titanic/game_view.h" #include "titanic/game_manager.h" #include "titanic/main_game_window.h" +#include "titanic/screen_manager.h" namespace Titanic { -CGameView::CGameView() : _gameManager(nullptr), _fieldC(nullptr), - _field8(0) { +CGameView::CGameView() : _gameManager(nullptr), _surface(nullptr) { } void CGameView::setGameManager(CGameManager *gameManager) { @@ -35,10 +35,8 @@ void CGameView::setGameManager(CGameManager *gameManager) { } void CGameView::postLoad() { - if (_fieldC) - warning("TODO"); - - _fieldC = nullptr; + delete _surface; + _surface = nullptr; } void CGameView::deleteView(int roomNumber, int nodeNumber, int viewNumber) { @@ -48,7 +46,14 @@ void CGameView::deleteView(int roomNumber, int nodeNumber, int viewNumber) { } void CGameView::createSurface(const CResourceKey &key) { - + // Reset any current view surface + _gameManager->initBounds(); + delete _surface; + _surface = nullptr; + + // Create a fresh surface + CScreenManager::setCurrent(); + _surface = CScreenManager::_currentScreenManagerPtr->createSurface(key); } /*------------------------------------------------------------------------*/ -- cgit v1.2.3