aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authoruruk2014-05-26 09:23:31 +0200
committeruruk2014-05-26 09:23:31 +0200
commit921385b30c53eed03143e25509a28e079cbdc34d (patch)
treea38e5479083b17495c9a2ec57cfd6c827bb73d30 /engines
parent0986347b9366cd27b5c41fa878a702beae781e6a (diff)
downloadscummvm-rg350-921385b30c53eed03143e25509a28e079cbdc34d.tar.gz
scummvm-rg350-921385b30c53eed03143e25509a28e079cbdc34d.tar.bz2
scummvm-rg350-921385b30c53eed03143e25509a28e079cbdc34d.zip
CGE2: Add stub for keyboard handling.
Diffstat (limited to 'engines')
-rw-r--r--engines/cge2/cge2.cpp3
-rw-r--r--engines/cge2/cge2.h2
-rw-r--r--engines/cge2/events.cpp24
-rw-r--r--engines/cge2/events.h29
4 files changed, 58 insertions, 0 deletions
diff --git a/engines/cge2/cge2.cpp b/engines/cge2/cge2.cpp
index ef4646194e..7c4d1f13c8 100644
--- a/engines/cge2/cge2.cpp
+++ b/engines/cge2/cge2.cpp
@@ -59,6 +59,7 @@ CGE2Engine::CGE2Engine(OSystem *syst, const ADGameDescription *gameDescription)
_commandHandlerTurbo = nullptr;
_infoLine = nullptr;
_mouse = nullptr;
+ _keyboard = nullptr;
_talk = nullptr;
for (int i = 0; i < kMaxPoint; i++)
_point[i] = nullptr;
@@ -97,6 +98,7 @@ void CGE2Engine::init() {
_commandHandlerTurbo = new CommandHandler(this, true);
_infoLine = new InfoLine(this, kInfoW);
_mouse = new Mouse(this);
+ _keyboard = new Keyboard(this);
for (int i = 0; i < kMaxPoint; i++)
_point[i] = new V3D();
}
@@ -123,6 +125,7 @@ void CGE2Engine::deinit() {
delete _commandHandlerTurbo;
delete _infoLine;
delete _mouse;
+ delete _keyboard;
if (_talk != nullptr)
delete _talk;
for (int i = 0; i < kMaxPoint; i++) {
diff --git a/engines/cge2/cge2.h b/engines/cge2/cge2.h
index d40d417ae8..d067e40153 100644
--- a/engines/cge2/cge2.h
+++ b/engines/cge2/cge2.h
@@ -50,6 +50,7 @@ class Spare;
class CommandHandler;
class InfoLine;
class Mouse;
+class Keyboard;
class Talk;
class Hero;
class Bitmap;
@@ -213,6 +214,7 @@ public:
CommandHandler *_commandHandlerTurbo;
InfoLine *_infoLine;
Mouse *_mouse;
+ Keyboard *_keyboard;
Talk *_talk;
V3D *_point[kMaxPoint];
private:
diff --git a/engines/cge2/events.cpp b/engines/cge2/events.cpp
index 3675909d74..670ea61c93 100644
--- a/engines/cge2/events.cpp
+++ b/engines/cge2/events.cpp
@@ -36,6 +36,30 @@
#include "cge2/cge2_main.h"
namespace CGE2 {
+
+/*----------------- KEYBOARD interface -----------------*/
+
+Keyboard::Keyboard(CGE2Engine *vm) : _client(NULL), _vm(vm) {
+ warning("STUB: Keyboard::Keyboard() - Recheck the whole implementation!!!");
+}
+
+Keyboard::~Keyboard() {
+}
+
+Sprite *Keyboard::setClient(Sprite *spr) {
+ warning("STUB: Keyboard::setClient()");
+ return spr;
+}
+
+bool Keyboard::getKey(Common::Event &event) {
+ warning("STUB: Keyboard::getKey()");
+ return false;
+}
+
+void Keyboard::newKeyboard(Common::Event &event) {
+ warning("STUB: Keyboard::newKeyboard()");
+}
+
/*----------------- MOUSE interface -----------------*/
Mouse::Mouse(CGE2Engine *vm) : Sprite(vm), _busy(NULL), _hold(NULL), _hx(0), _vm(vm) {
diff --git a/engines/cge2/events.h b/engines/cge2/events.h
index 1442d85b39..99f017bae3 100644
--- a/engines/cge2/events.h
+++ b/engines/cge2/events.h
@@ -34,6 +34,35 @@
namespace CGE2 {
+/*----------------- KEYBOARD interface -----------------*/
+
+#define kEventMax 256
+
+enum EventMask {
+ kMouseRoll = 1 << 0,
+ kMouseLeftDown = 1 << 1,
+ kMouseLeftUp = 1 << 2,
+ kMouseRightDown = 1 << 3,
+ kMouseRightUp = 1 << 4,
+ kEventAttn = 1 << 5,
+ kEventKeyb = 1 << 7
+};
+
+class Keyboard {
+private:
+ bool getKey(Common::Event &event);
+ CGE2Engine *_vm;
+public:
+ Sprite *_client;
+ bool _keyAlt;
+
+ void newKeyboard(Common::Event &event);
+ Sprite *setClient(Sprite *spr);
+
+ Keyboard(CGE2Engine *vm);
+ ~Keyboard();
+};
+
/*----------------- MOUSE interface -----------------*/
class Mouse : public Sprite {