aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2009-11-15 08:22:14 +0000
committerPaul Gilbert2009-11-15 08:22:14 +0000
commit6bb2b8aa9a5c1e04828a6ce1ddde72b5d4292fa9 (patch)
treea3f8ce99c77346b5dfc5317b41c9294c1cf8b75d /engines
parentb2074291617725e35358d922847f890b9af55d8b (diff)
downloadscummvm-rg350-6bb2b8aa9a5c1e04828a6ce1ddde72b5d4292fa9.tar.gz
scummvm-rg350-6bb2b8aa9a5c1e04828a6ce1ddde72b5d4292fa9.tar.bz2
scummvm-rg350-6bb2b8aa9a5c1e04828a6ce1ddde72b5d4292fa9.zip
Added support for needed MADS game configuration options
svn-id: r45911
Diffstat (limited to 'engines')
-rw-r--r--engines/m4/globals.h5
-rw-r--r--engines/m4/m4.cpp7
-rw-r--r--engines/m4/m4.h2
3 files changed, 13 insertions, 1 deletions
diff --git a/engines/m4/globals.h b/engines/m4/globals.h
index 31d5baa6c2..ccab82ffcd 100644
--- a/engines/m4/globals.h
+++ b/engines/m4/globals.h
@@ -204,6 +204,11 @@ public:
// M4 variables
bool invSuppressClickSound;
+ // MADS variables
+ bool easyMouse;
+ bool invObjectsStill;
+ bool textWindowStill;
+ int storyMode;
void loadMadsVocab();
uint32 getVocabSize() { return _madsVocab.size(); }
diff --git a/engines/m4/m4.cpp b/engines/m4/m4.cpp
index 80fcbc4122..05c1bf897b 100644
--- a/engines/m4/m4.cpp
+++ b/engines/m4/m4.cpp
@@ -283,7 +283,12 @@ Common::Error M4Engine::goMADS() {
_globals->loadMadsQuotes(); // quotes.dat
_globals->loadMadsMessagesInfo(); // messages.dat
_globals->loadMadsObjects();
-
+
+ // Setup globals
+ _vm->_globals->easyMouse = true;
+ _vm->_globals->invObjectsStill = false;
+ _vm->_globals->textWindowStill = false;
+ _vm->_globals->storyMode = 0;
// Test code to dump all messages to the console
//for (int i = 0; i < _globals->getMessagesSize(); i++)
diff --git a/engines/m4/m4.h b/engines/m4/m4.h
index b793cfbbae..afd3a59e19 100644
--- a/engines/m4/m4.h
+++ b/engines/m4/m4.h
@@ -99,6 +99,8 @@ struct M4GameDescription;
#define GAME_FRAME_DELAY 50
+#define VALIDATE_MADS assert(!_vm->isM4())
+
inline void str_lower(char *s) { while (*s) { *s = tolower(*s); s++; } }
inline void str_upper(char *s) { while (*s) { *s = toupper(*s); s++; } }