aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2014-01-15 11:28:19 +0200
committerEugene Sandulenko2014-01-15 15:39:29 +0200
commitf3ca6b2626501195bc6d4ec9babf324afdcb530d (patch)
tree202d6dbca00649c4fd4f1cdbcb20b69dd2b65945
parentf6ebae63cd84a3ebb1a95865de11243743cd9871 (diff)
downloadscummvm-rg350-f3ca6b2626501195bc6d4ec9babf324afdcb530d.tar.gz
scummvm-rg350-f3ca6b2626501195bc6d4ec9babf324afdcb530d.tar.bz2
scummvm-rg350-f3ca6b2626501195bc6d4ec9babf324afdcb530d.zip
FULLPIPE: Implement ModalMap::handleMessage()
-rw-r--r--engines/fullpipe/modal.cpp33
1 files changed, 32 insertions, 1 deletions
diff --git a/engines/fullpipe/modal.cpp b/engines/fullpipe/modal.cpp
index a5b70f0775..c790ef29f5 100644
--- a/engines/fullpipe/modal.cpp
+++ b/engines/fullpipe/modal.cpp
@@ -312,7 +312,38 @@ void ModalMap::update() {
}
bool ModalMap::handleMessage(ExCommand *cmd) {
- warning("STUB: ModalMap::handleMessage()");
+ if (cmd->_messageKind != 17)
+ return false;
+
+ switch (cmd->_messageNum) {
+ case 29:
+ _flag = 1;
+ _mouseX = g_fp->_mouseScreenPos.x;
+ _mouseY = g_fp->_mouseScreenPos.x;
+
+ _field_3C = _rect2.top;
+ _field_38 = _rect2.left;
+
+ break;
+
+ case 30:
+ _flag = 0;
+ break;
+
+ case 36:
+ if (cmd->_keyCode != 9 && cmd->_keyCode != 27 )
+ return false;
+
+ break;
+
+ case 107:
+ break;
+
+ default:
+ return false;
+ }
+
+ _isRunning = 0;
return true;
}