diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/titanic/main_game_window.cpp | 36 | ||||
-rw-r--r-- | engines/titanic/main_game_window.h | 49 | ||||
-rw-r--r-- | engines/titanic/module.mk | 1 | ||||
-rw-r--r-- | engines/titanic/screen_manager.cpp | 25 | ||||
-rw-r--r-- | engines/titanic/screen_manager.h | 25 | ||||
-rw-r--r-- | engines/titanic/titanic.cpp | 9 | ||||
-rw-r--r-- | engines/titanic/titanic.h | 5 |
7 files changed, 149 insertions, 1 deletions
diff --git a/engines/titanic/main_game_window.cpp b/engines/titanic/main_game_window.cpp new file mode 100644 index 0000000000..774cde6de1 --- /dev/null +++ b/engines/titanic/main_game_window.cpp @@ -0,0 +1,36 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#include "titanic/main_game_window.h" + +namespace Titanic { + +CMainGameWindow::CMainGameWindow(TitanicEngine *vm): _vm(vm) { + _gameView = nullptr; + _gameManager = nullptr; + _project = nullptr; + _field50 = 0; + _image = nullptr; + _cursor = nullptr; +} + +} // End of namespace Titanic diff --git a/engines/titanic/main_game_window.h b/engines/titanic/main_game_window.h new file mode 100644 index 0000000000..ae303470ae --- /dev/null +++ b/engines/titanic/main_game_window.h @@ -0,0 +1,49 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#ifndef TITANIC_MAIN_GAME_WINDOW_H +#define TITANIC_MAIN_GAME_WINDOW_H + +#include "common/scummsys.h" +#include "common/array.h" + +namespace Titanic { + +class TitanicEngine; + +class CMainGameWindow { +private: + TitanicEngine *_vm; +public: + void *_gameView; + void *_gameManager; + void *_project; + int _field50; + void *_image; + void *_cursor; +public: + CMainGameWindow(TitanicEngine *vm); +}; + +} // End of namespace Titanic + +#endif /* TITANIC_MAIN_GAME_WINDOW_H */ diff --git a/engines/titanic/module.mk b/engines/titanic/module.mk index 2ddd8d1181..6f26bd441f 100644 --- a/engines/titanic/module.mk +++ b/engines/titanic/module.mk @@ -3,6 +3,7 @@ MODULE := engines/titanic MODULE_OBJS := \ detection.o \ font.o \ + main_game_window.o \ screen_manager.o \ titanic.o diff --git a/engines/titanic/screen_manager.cpp b/engines/titanic/screen_manager.cpp index 7493f1f959..6ee67ca617 100644 --- a/engines/titanic/screen_manager.cpp +++ b/engines/titanic/screen_manager.cpp @@ -71,4 +71,29 @@ OSScreenManager::OSScreenManager(): CScreenManager() { _directDrawManager = nullptr; } +void OSScreenManager::setMode() {} +void OSScreenManager::proc5() {} +void OSScreenManager::proc6() {} +void OSScreenManager::proc7() {} +void OSScreenManager::proc8() {} +void OSScreenManager::proc9() {} +void OSScreenManager::proc10() {} +void OSScreenManager::proc11() {} +void OSScreenManager::proc12() {} +void OSScreenManager::proc13() {} +void OSScreenManager::proc14() {} +void OSScreenManager::proc15() {} +void OSScreenManager::proc16() {} +void OSScreenManager::getFont() {} +void OSScreenManager::proc18() {} +void OSScreenManager::proc19() {} +void OSScreenManager::proc20() {} +void OSScreenManager::proc21() {} +void OSScreenManager::proc22() {} +void OSScreenManager::proc23() {} +void OSScreenManager::proc24() {} +void OSScreenManager::proc25() {} +void OSScreenManager::showCursor() {} +void OSScreenManager::proc27() {} + } // End of namespace Titanic diff --git a/engines/titanic/screen_manager.h b/engines/titanic/screen_manager.h index e79fde07c3..b30b7a0798 100644 --- a/engines/titanic/screen_manager.h +++ b/engines/titanic/screen_manager.h @@ -98,6 +98,31 @@ public: STFont _fonts[4]; public: OSScreenManager(); + + virtual void setMode(); + virtual void proc5(); + virtual void proc6(); + virtual void proc7(); + virtual void proc8(); + virtual void proc9(); + virtual void proc10(); + virtual void proc11(); + virtual void proc12(); + virtual void proc13(); + virtual void proc14(); + virtual void proc15(); + virtual void proc16(); + virtual void getFont(); + virtual void proc18(); + virtual void proc19(); + virtual void proc20(); + virtual void proc21(); + virtual void proc22(); + virtual void proc23(); + virtual void proc24(); + virtual void proc25(); + virtual void showCursor(); + virtual void proc27(); }; } // End of namespace Titanic diff --git a/engines/titanic/titanic.cpp b/engines/titanic/titanic.cpp index f0a70ce191..9230717c8e 100644 --- a/engines/titanic/titanic.cpp +++ b/engines/titanic/titanic.cpp @@ -32,10 +32,14 @@ namespace Titanic { TitanicEngine::TitanicEngine(OSystem *syst, const TitanicGameDescription *gameDesc) - : _gameDescription(gameDesc), Engine(syst) { + : _gameDescription(gameDesc), Engine(syst) { + _window = nullptr; + _screenManager = nullptr; } TitanicEngine::~TitanicEngine() { + delete _window; + delete _screenManager; } void TitanicEngine::initialize() { @@ -44,6 +48,9 @@ void TitanicEngine::initialize() { DebugMan.addDebugChannel(kDebugScripts, "scripts", "Game scripts"); DebugMan.addDebugChannel(kDebugGraphics, "graphics", "Graphics handling"); DebugMan.addDebugChannel(kDebugSound, "sound", "Sound and Music handling"); + + _window = new CMainGameWindow(this); + _screenManager = new OSScreenManager(); } Common::Error TitanicEngine::run() { diff --git a/engines/titanic/titanic.h b/engines/titanic/titanic.h index a49bb2d70c..1265e70658 100644 --- a/engines/titanic/titanic.h +++ b/engines/titanic/titanic.h @@ -28,6 +28,8 @@ #include "common/serializer.h" #include "engines/advancedDetector.h" #include "engines/engine.h" +#include "titanic/screen_manager.h" +#include "titanic/main_game_window.h" /** * This is the namespace of the Titanic engine. @@ -73,6 +75,9 @@ protected: virtual Common::Error run(); virtual bool hasFeature(EngineFeature f) const; public: + OSScreenManager *_screenManager; + CMainGameWindow *_window; +public: TitanicEngine(OSystem *syst, const TitanicGameDescription *gameDesc); virtual ~TitanicEngine(); |