aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWillem Jan Palenstijn2011-12-11 22:27:05 +0100
committerWillem Jan Palenstijn2011-12-12 00:12:54 +0100
commitd416ea6abdad5ef487ed3b5624474e1212496233 (patch)
tree3c1ce308b610eeba9edcf9a77315f7c29598d787
parentcbe97db8f076e5a09b7f57791ddd44bfaae616ef (diff)
downloadscummvm-rg350-d416ea6abdad5ef487ed3b5624474e1212496233.tar.gz
scummvm-rg350-d416ea6abdad5ef487ed3b5624474e1212496233.tar.bz2
scummvm-rg350-d416ea6abdad5ef487ed3b5624474e1212496233.zip
DREAMWEB: Fix regressions in getBack1 and useLighter
-rw-r--r--engines/dreamweb/stubs.cpp27
-rw-r--r--engines/dreamweb/use.cpp4
2 files changed, 18 insertions, 13 deletions
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 3688715ea9..73f65bb145 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -3679,6 +3679,9 @@ void DreamBase::showArrows() {
void DreamBase::showOpBox() {
showFrame(tempGraphics(), kOpsx, kOpsy, 0, 0);
+
+ // CHECKME: There seem to be versions of dreamweb in which this call
+ // should be removed. It displays a red dot on the ops dialogs if left in.
showFrame(tempGraphics(), kOpsx, kOpsy + 55, 4, 0);
}
@@ -4205,20 +4208,22 @@ void DreamGenContext::cantDrop() {
void DreamGenContext::getBack1() {
if (data.byte(kPickup) != 0) {
blank();
- } else if (data.byte(kCommandtype) != 202) {
- // Not holding object
+ return;
+ }
+
+
+ if (data.byte(kCommandtype) != 202) {
data.byte(kCommandtype) = 202;
commandOnly(26);
- } else {
- // Already got object
- if (data.word(kMousebutton) == data.word(kOldbutton))
- return; // nogetback
+ }
- if (data.word(kMousebutton) & 1) {
- // Get back
- data.byte(kGetback) = 1;
- data.byte(kPickup) = 0;
- }
+ if (data.word(kMousebutton) == data.word(kOldbutton))
+ return;
+
+ if (data.word(kMousebutton) & 1) {
+ // Get back
+ data.byte(kGetback) = 1;
+ data.byte(kPickup) = 0;
}
}
diff --git a/engines/dreamweb/use.cpp b/engines/dreamweb/use.cpp
index 9126b7e885..d328e1d662 100644
--- a/engines/dreamweb/use.cpp
+++ b/engines/dreamweb/use.cpp
@@ -1130,8 +1130,8 @@ void DreamGenContext::useLighter() {
cx = 300;
al = 9;
showPuzText();
- getExAd(data.byte(kWithobject));
- es.byte(bx + 2) = 255;
+ DynObject *withObj = getExAd(data.byte(kWithobject));
+ withObj->mapad[0] = 255;
data.byte(kGetback) = 1;
}
}