diff options
author | Filippos Karapetis | 2011-12-06 03:34:36 +0200 |
---|---|---|
committer | Filippos Karapetis | 2011-12-06 03:34:36 +0200 |
commit | bdfd481a68f6a4830f1b18adcf8fe2fa171498b5 (patch) | |
tree | 2fbf78e524dc3bcf3ba3a9ad0c6caf2043d1d102 /engines/dreamweb | |
parent | e1a53cc455c79ce72415581d01aeacc86ee9a2eb (diff) | |
download | scummvm-rg350-bdfd481a68f6a4830f1b18adcf8fe2fa171498b5.tar.gz scummvm-rg350-bdfd481a68f6a4830f1b18adcf8fe2fa171498b5.tar.bz2 scummvm-rg350-bdfd481a68f6a4830f1b18adcf8fe2fa171498b5.zip |
DREAMWEB: 'settopleft', 'settopright', 'setbotleft', 'setbotright' ported to C++
Diffstat (limited to 'engines/dreamweb')
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 72 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 4 | ||||
-rw-r--r-- | engines/dreamweb/stubs.cpp | 60 | ||||
-rw-r--r-- | engines/dreamweb/stubs.h | 4 |
4 files changed, 64 insertions, 76 deletions
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index d5bf1977d0..8279a8dd9b 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -8024,78 +8024,6 @@ doqs: data.byte(kGetback) = 1; } -void DreamGenContext::setTopLeft() { - STACK_CHECK; - _cmp(data.byte(kSymboltopdir), 0); - if (!flags.z()) - { blank(); return; }; - _cmp(data.byte(kCommandtype), 210); - if (flags.z()) - goto alreadytopl; - data.byte(kCommandtype) = 210; - al = 19; - commandOnly(); -alreadytopl: - _cmp(data.word(kMousebutton), 0); - if (flags.z()) - return /* (notopleft) */; - data.byte(kSymboltopdir) = -1; -} - -void DreamGenContext::setTopRight() { - STACK_CHECK; - _cmp(data.byte(kSymboltopdir), 0); - if (!flags.z()) - { blank(); return; }; - _cmp(data.byte(kCommandtype), 211); - if (flags.z()) - goto alreadytopr; - data.byte(kCommandtype) = 211; - al = 20; - commandOnly(); -alreadytopr: - _cmp(data.word(kMousebutton), 0); - if (flags.z()) - return /* (notopright) */; - data.byte(kSymboltopdir) = 1; -} - -void DreamGenContext::setBotLeft() { - STACK_CHECK; - _cmp(data.byte(kSymbolbotdir), 0); - if (!flags.z()) - { blank(); return; }; - _cmp(data.byte(kCommandtype), 212); - if (flags.z()) - goto alreadybotl; - data.byte(kCommandtype) = 212; - al = 21; - commandOnly(); -alreadybotl: - _cmp(data.word(kMousebutton), 0); - if (flags.z()) - return /* (nobotleft) */; - data.byte(kSymbolbotdir) = -1; -} - -void DreamGenContext::setBotRight() { - STACK_CHECK; - _cmp(data.byte(kSymbolbotdir), 0); - if (!flags.z()) - { blank(); return; }; - _cmp(data.byte(kCommandtype), 213); - if (flags.z()) - goto alreadybotr; - data.byte(kCommandtype) = 213; - al = 22; - commandOnly(); -alreadybotr: - _cmp(data.word(kMousebutton), 0); - if (flags.z()) - return /* (nobotright) */; - data.byte(kSymbolbotdir) = 1; -} - void DreamGenContext::dumpSymbol() { STACK_CHECK; data.byte(kNewtextline) = 0; diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index 327a8a1e44..2b26b3dbca 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -599,7 +599,6 @@ public: void dumpKeypad(); void dumpZoom(); void endGameSeq(); - void setBotLeft(); void findFirstPath(); void useSLab(); void useAltar(); @@ -730,7 +729,6 @@ public: void readFromFile(); void initialInv(); void interruptTest(); - void setTopRight(); void findSetObject(); void useDiary(); void deleteExObject(); @@ -785,7 +783,6 @@ public: void hotelControl(); void mugger(); void gettingShot(); - void setTopLeft(); void searchForString(); void selectOpenOb(); void useGun(); @@ -825,7 +822,6 @@ public: void redrawMainScrn(); void makeMainScreen(); void useWinch(); - void setBotRight(); void updateSymbolTop(); void allPointer(); void checkSoundInt(); diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index 5fb861c360..ca1f3c1d38 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -3384,5 +3384,65 @@ void DreamGenContext::intro() { data.byte(kLasthardkey) = 0; } +void DreamGenContext::setTopLeft() { + if (data.byte(kSymboltopdir) != 0) { + blank(); + return; + } + + if (data.byte(kCommandtype) != 210) { + data.byte(kCommandtype) = 210; + commandOnly(19); + } + + if (data.word(kMousebutton) != 0); + data.byte(kSymboltopdir) = 0xFF; +} + +void DreamGenContext::setTopRight() { + if (data.byte(kSymboltopdir) != 0) { + blank(); + return; + } + + if (data.byte(kCommandtype) != 211) { + data.byte(kCommandtype) = 211; + commandOnly(20); + } + + if (data.word(kMousebutton) != 0); + data.byte(kSymboltopdir) = 1; +} + +void DreamGenContext::setBotLeft() { + if (data.byte(kSymbolbotdir) != 0) { + blank(); + return; + } + + if (data.byte(kCommandtype) != 212) { + data.byte(kCommandtype) = 212; + commandOnly(21); + } + + if (data.word(kMousebutton) != 0); + data.byte(kSymbolbotdir) = 0xFF; +} + +void DreamGenContext::setBotRight() { + if (data.byte(kSymbolbotdir) != 0) { + blank(); + return; + } + + if (data.byte(kCommandtype) != 213) { + data.byte(kCommandtype) = 213; + commandOnly(22); + } + + if (data.word(kMousebutton) != 0); + data.byte(kSymbolbotdir) = 1; +} + } /*namespace dreamgen */ diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index ff5c02e0d7..ce799d7d02 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -496,5 +496,9 @@ void getRidOfReels(); void setMode(); void liftNoise(uint8 index); + void setTopLeft(); + void setTopRight(); + void setBotLeft(); + void setBotRight(); #endif |