aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/titanic/main_game_window.cpp36
-rw-r--r--engines/titanic/main_game_window.h49
-rw-r--r--engines/titanic/module.mk1
-rw-r--r--engines/titanic/screen_manager.cpp25
-rw-r--r--engines/titanic/screen_manager.h25
-rw-r--r--engines/titanic/titanic.cpp9
-rw-r--r--engines/titanic/titanic.h5
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();