diff options
-rwxr-xr-x | devtools/tasmrecover/tasm-recover | 4 | ||||
-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 |
5 files changed, 68 insertions, 76 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 930091d394..74af58f989 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -467,9 +467,13 @@ generator = cpp(context, "DreamGen", blacklist = [ 'security', 'seecommandtail', 'setallchanges', + 'setbotleft', + 'setbotright', 'setlocation', 'setmode', 'setsoundoff', + 'settopleft', + 'settopright', 'setupemm', 'setuppit', 'setuptimedtemp', 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 |