diff options
author | Filippos Karapetis | 2011-12-15 00:43:08 +0200 |
---|---|---|
committer | Filippos Karapetis | 2011-12-15 00:43:08 +0200 |
commit | dd8304dd75e051460b96414ab3abac865a5af6e2 (patch) | |
tree | 410e32b324d268f228219d260ea175069ed348e4 /engines/dreamweb/use.cpp | |
parent | 509755a010967cc685001762b11996cc73891015 (diff) | |
download | scummvm-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.cpp | 39 |
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 |