aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKostas Nakos2007-11-13 19:41:35 +0000
committerKostas Nakos2007-11-13 19:41:35 +0000
commit323cb4827f1a51ce92d2bc3479420104db144e82 (patch)
tree3fd9e10f104ef885cf7ba5d71043fe1d10423dcb
parentbe01daccdbcb14f4558b7faf7e4d91c3f52bc9a3 (diff)
downloadscummvm-rg350-323cb4827f1a51ce92d2bc3479420104db144e82.tar.gz
scummvm-rg350-323cb4827f1a51ce92d2bc3479420104db144e82.tar.bz2
scummvm-rg350-323cb4827f1a51ce92d2bc3479420104db144e82.zip
Moving the vitual keyboard show/hide hints during the copy protection screens to the scumm engine.
As the original code is slightly cryptic, there may be something wrong with MI1 (as commented) svn-id: r29495
-rw-r--r--engines/scumm/room.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/engines/scumm/room.cpp b/engines/scumm/room.cpp
index dc3af6354d..11ac1ea1ed 100644
--- a/engines/scumm/room.cpp
+++ b/engines/scumm/room.cpp
@@ -24,7 +24,7 @@
*/
-
+#include "common/system.h"
#include "scumm/actor.h"
#include "scumm/boxes.h"
#include "scumm/intern.h"
@@ -213,6 +213,22 @@ void ScummEngine::startScene(int room, Actor *a, int objectNr) {
}
_doEffect = true;
+
+ // Hint the backend about the virtual keyboard during copy protection screens
+ if (_game.id == GID_MONKEY2) {
+ if (_system->getFeatureState(OSystem::kFeatureVirtualKeyboard)) {
+ if (room != 108)
+ _system->setFeatureState(OSystem::kFeatureVirtualKeyboard, false);
+ } else if (room == 108)
+ _system->setFeatureState(OSystem::kFeatureVirtualKeyboard, true);
+ } else if (_game.id == GID_MONKEY_EGA) { // this is my estimation that the room code is 90 (untested)
+ if (_system->getFeatureState(OSystem::kFeatureVirtualKeyboard)) {
+ if (room != 90)
+ _system->setFeatureState(OSystem::kFeatureVirtualKeyboard, false);
+ } else if (room == 90)
+ _system->setFeatureState(OSystem::kFeatureVirtualKeyboard, true);
+ }
+
}
/**