aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/hdb/module.mk3
-rw-r--r--engines/hdb/window.cpp88
-rw-r--r--engines/hdb/window.h65
3 files changed, 155 insertions, 1 deletions
diff --git a/engines/hdb/module.mk b/engines/hdb/module.mk
index 137ff04649..c037495cb2 100644
--- a/engines/hdb/module.mk
+++ b/engines/hdb/module.mk
@@ -13,7 +13,8 @@ MODULE_OBJS := \
file-manager.o \
hdb.o \
lua-script.o \
- map-loader.o
+ map-loader.o \
+ window.o
MODULE_DIRS += \
engines/hdb
diff --git a/engines/hdb/window.cpp b/engines/hdb/window.cpp
new file mode 100644
index 0000000000..048ea06037
--- /dev/null
+++ b/engines/hdb/window.cpp
@@ -0,0 +1,88 @@
+/* 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 "hdb/hdb.h"
+
+namespace HDB {
+
+bool Window::init() {
+
+ warning("STUB: Window::init: Incomplete");
+
+ _gfxTL = g_hdb->_drawMan->loadPic("menu_back_topleft");
+ _gfxTM = g_hdb->_drawMan->loadPic("menu_back_top");
+ _gfxTR = g_hdb->_drawMan->loadPic("menu_back_topright");
+
+ _gfxL = g_hdb->_drawMan->loadPic("menu_back_left");
+ _gfxM = g_hdb->_drawMan->loadPic("menu_back_middle");
+ _gfxR = g_hdb->_drawMan->loadPic("menu_back_right");
+
+ _gfxBL = g_hdb->_drawMan->loadPic("menu_back_btmleft");
+ _gfxBM = g_hdb->_drawMan->loadPic("menu_back_bottom");
+ _gfxBR = g_hdb->_drawMan->loadPic("menu_back_btmright");
+
+ _gfxTitleL = g_hdb->_drawMan->loadPic("menu_title_left");
+ _gfxTitleM = g_hdb->_drawMan->loadPic("menu_title_mid");
+ _gfxTitleR = g_hdb->_drawMan->loadPic("menu_title_right");
+
+ _gGfxTL = g_hdb->_drawMan->loadPic("g_menu_back_topleft");
+ _gGfxTM = g_hdb->_drawMan->loadPic("g_menu_back_top");
+ _gGfxTR = g_hdb->_drawMan->loadPic("g_menu_back_topright");
+
+ _gGfxL = g_hdb->_drawMan->loadPic("g_menu_back_left");
+ _gGfxM = g_hdb->_drawMan->loadPic("g_menu_back_middle");
+ _gGfxR = g_hdb->_drawMan->loadPic("g_menu_back_right");
+
+ _gGfxBL = g_hdb->_drawMan->loadPic("g_menu_back_btmleft");
+ _gGfxBM = g_hdb->_drawMan->loadPic("g_menu_back_bottom");
+ _gGfxBR = g_hdb->_drawMan->loadPic("g_menu_back_btmright");
+
+ _gGfxTitleL = g_hdb->_drawMan->loadPic("g_menu_title_left");
+ _gGfxTitleM = g_hdb->_drawMan->loadPic("g_menu_title_mid");
+ _gGfxTitleR = g_hdb->_drawMan->loadPic("g_menu_title_right");
+
+ _gfxIndent = g_hdb->_drawMan->loadPic("menu_delivery_indentation");
+ _gfxArrowTo = g_hdb->_drawMan->loadPic("menu_arrow_deliverto");
+
+ _gfxTry = _gfxAgain = NULL; // They will be loaded when needed
+
+ _gfxInvSelect = g_hdb->_drawMan->loadPic("inventory_normal");
+ _gfxHandright = g_hdb->_drawMan->loadPic("menu_hand_pointright");
+
+ restartSystem();
+
+ return true;
+}
+
+void Window::restartSystem() {
+ _dialogDelay = 0;
+}
+
+void Window::openDialog(const char *title, int tileIndex, const char *string, int more, const char *luaMore) {
+ warning("STUB: Window::openDialog() required");
+}
+
+void Window::setDialogDelay(int seconds) {
+ warning("STUB: Window::setDialogDelay() required");
+}
+
+} // End of Namespace
diff --git a/engines/hdb/window.h b/engines/hdb/window.h
new file mode 100644
index 0000000000..32df5be377
--- /dev/null
+++ b/engines/hdb/window.h
@@ -0,0 +1,65 @@
+/* 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 HDB_WINDOW_H
+#define HDB_WINDOW_H
+
+namespace HDB {
+
+class Window {
+public:
+
+ bool init();
+ void restartSystem();
+
+ // Dialog Functions
+
+ void openDialog(const char *title, int tileIndex, const char *string, int more, const char *luaMore);
+ void setDialogDelay(int delay);
+ uint32 getDialogDelay() {
+ return _dialogDelay;
+ }
+
+private:
+
+ uint32 _dialogDelay; // Used for Cinematics
+
+ // Windows GFX
+ Picture *_gfxTL, *_gfxTM, *_gfxTR;
+ Picture *_gfxL, *_gfxM, *_gfxR;
+ Picture *_gfxBL, *_gfxBM, *_gfxBR;
+ Picture *_gfxTitleL, *_gfxTitleM, *_gfxTitleR;
+ Picture *_gGfxTL, *_gGfxTM, *_gGfxTR;
+ Picture *_gGfxL, *_gGfxM, *_gGfxR;
+ Picture *_gGfxBL, *_gGfxBM, *_gGfxBR;
+ Picture *_gGfxTitleL, *_gGfxTitleM, *_gGfxTitleR;
+ Picture *_gfxResources, *_gfxDeliveries;
+ Picture *_gfxIndent, *_gfxArrowTo, *_gfxHandright;
+ Picture *_gfxTry, *_gfxAgain, *_gfxInvSelect;
+ Tile *_gfxMonkeystone;
+ Picture *_gfxLevelRestart, *_gfxPuasePlaque;
+
+};
+
+} // End of Namespace
+
+#endif // !HDB_WINDOW_H