diff options
author | Willem Jan Palenstijn | 2011-12-11 22:27:05 +0100 |
---|---|---|
committer | Willem Jan Palenstijn | 2011-12-12 00:12:54 +0100 |
commit | d416ea6abdad5ef487ed3b5624474e1212496233 (patch) | |
tree | 3c1ce308b610eeba9edcf9a77315f7c29598d787 | |
parent | cbe97db8f076e5a09b7f57791ddd44bfaae616ef (diff) | |
download | scummvm-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.cpp | 27 | ||||
-rw-r--r-- | engines/dreamweb/use.cpp | 4 |
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; } } |