aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/monitor.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2011-12-18 16:43:05 +0200
committerFilippos Karapetis2011-12-18 16:43:05 +0200
commit62dc71a73a894426cb2f5c61e26ab53b0c9f06ad (patch)
tree49d239aac3bf33ca74cf0c95e3a934207c089ad2 /engines/dreamweb/monitor.cpp
parent362f21d30d2b8f531c30ec19829326e369ac01cd (diff)
downloadscummvm-rg350-62dc71a73a894426cb2f5c61e26ab53b0c9f06ad.tar.gz
scummvm-rg350-62dc71a73a894426cb2f5c61e26ab53b0c9f06ad.tar.bz2
scummvm-rg350-62dc71a73a894426cb2f5c61e26ab53b0c9f06ad.zip
DREAMWEB: Port 'getkeyandlogo' to C++
Diffstat (limited to 'engines/dreamweb/monitor.cpp')
-rw-r--r--engines/dreamweb/monitor.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/engines/dreamweb/monitor.cpp b/engines/dreamweb/monitor.cpp
index 8ff199cf49..dd94633105 100644
--- a/engines/dreamweb/monitor.cpp
+++ b/engines/dreamweb/monitor.cpp
@@ -445,4 +445,22 @@ void DreamGenContext::showKeys() {
scrollMonitor();
}
+void DreamGenContext::getKeyAndLogo() {
+ byte newLogo = es.byte(bx + 1) - 48;
+ MonitorKeyEntry *monitorKeyEntries = (MonitorKeyEntry *)data.ptr(offset_keys, 0);
+ byte keyNum = es.byte(bx + 1 + 2) - 48;
+ bx += 1 + 2 + 1;
+
+ if (monitorKeyEntries[keyNum].keyHeld == 1) {
+ // Key OK
+ data.byte(kLogonum) = newLogo;
+ al = 0;
+ } else {
+ monMessage(12); // "Access denied, key required -"
+ monPrint(monitorKeyEntries[keyNum].userpass + 12); // username
+ scrollMonitor();
+ al = 1;
+ }
+}
+
} // End of namespace DreamGen