aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/use.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2011-12-15 00:43:08 +0200
committerFilippos Karapetis2011-12-15 00:43:08 +0200
commitdd8304dd75e051460b96414ab3abac865a5af6e2 (patch)
tree410e32b324d268f228219d260ea175069ed348e4 /engines/dreamweb/use.cpp
parent509755a010967cc685001762b11996cc73891015 (diff)
downloadscummvm-rg350-dd8304dd75e051460b96414ab3abac865a5af6e2.tar.gz
scummvm-rg350-dd8304dd75e051460b96414ab3abac865a5af6e2.tar.bz2
scummvm-rg350-dd8304dd75e051460b96414ab3abac865a5af6e2.zip
DREAMWEB: Port 'usehandle', 'usealtar' to C++
Diffstat (limited to 'engines/dreamweb/use.cpp')
-rw-r--r--engines/dreamweb/use.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/engines/dreamweb/use.cpp b/engines/dreamweb/use.cpp
index f5d631aed5..5306522c13 100644
--- a/engines/dreamweb/use.cpp
+++ b/engines/dreamweb/use.cpp
@@ -1434,4 +1434,43 @@ void DreamGenContext::useKey() {
}
}
+void DreamGenContext::useHandle() {
+ SetObject *object = getSetAd(findSetObject("CUTW"));
+ if (object->mapad[0] == 255) {
+ // Wire not cut
+ showPuzText(12, 300);
+ } else {
+ // Wire has been cut
+ showPuzText(13, 300);
+ data.byte(kNewlocation) = 22;
+ }
+
+ data.byte(kGetback) = 1;
+}
+
+void DreamGenContext::useAltar() {
+ if (findExObject("CNDA") == 114 || findExObject("CNDB") == 114) {
+ // Things on altar
+ showFirstUse();
+ data.byte(kGetback) = 1;
+ return;
+ }
+
+ if (data.byte(kCanmovealtar) == 1) {
+ // Move altar
+ data.byte(kProgresspoints)++;
+ showSecondUse();
+ data.word(kWatchingtime) = 160;
+ data.word(kReeltowatch) = 81;
+ data.word(kEndwatchreel) = 174;
+ data.byte(kWatchspeed) = 1;
+ data.byte(kSpeedcount) = 1;
+ DreamBase::setupTimedUse(47, 32, 98, 52, 76);
+ data.byte(kGetback) = 1;
+ } else {
+ showPuzText(23, 300);
+ data.byte(kGetback) = 1;
+ }
+}
+
} // End of namespace DreamGen