diff options
author | Bertrand Augereau | 2011-12-02 12:07:53 +0100 |
---|---|---|
committer | Bertrand Augereau | 2011-12-02 13:09:01 +0100 |
commit | 95a8cdd36cb43c576232b50a0dd8dbbb676e39f0 (patch) | |
tree | 1779bdb57bd7866a249db1024d1d9d145774acea /engines/dreamweb | |
parent | 3bfb412694c911c60fffb715fb9bbe82a456ebb0 (diff) | |
download | scummvm-rg350-95a8cdd36cb43c576232b50a0dd8dbbb676e39f0.tar.gz scummvm-rg350-95a8cdd36cb43c576232b50a0dd8dbbb676e39f0.tar.bz2 scummvm-rg350-95a8cdd36cb43c576232b50a0dd8dbbb676e39f0.zip |
DREAMWEB: 'singleKey' ported to C++
Diffstat (limited to 'engines/dreamweb')
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 17 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 1 | ||||
-rw-r--r-- | engines/dreamweb/keypad.cpp | 14 | ||||
-rw-r--r-- | engines/dreamweb/stubs.h | 2 |
4 files changed, 16 insertions, 18 deletions
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index 1c2c4ce038..11163ee9d2 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -9465,23 +9465,6 @@ gotlight: showFrame(); } -void DreamGenContext::singleKey() { - STACK_CHECK; - _cmp(data.byte(kGraphicpress), al); - if (!flags.z()) - goto gotkey; - _add(al, 11); - _cmp(data.byte(kPresscount), 8); - if (!flags.c()) - goto gotkey; - _sub(al, 11); -gotkey: - ds = data.word(kTempgraphics); - _sub(al, 20); - ah = 0; - showFrame(); -} - void DreamGenContext::dumpKeypad() { STACK_CHECK; di = (36+112)-3; diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index f84b037a64..f6c482b082 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -915,7 +915,6 @@ public: void quitSymbol(); void setTopRight(); void findSetObject(); - void singleKey(); void hangOne(); void carParkDrip(); void useDiary(); diff --git a/engines/dreamweb/keypad.cpp b/engines/dreamweb/keypad.cpp index 0867ffd2ab..dc19d97bd2 100644 --- a/engines/dreamweb/keypad.cpp +++ b/engines/dreamweb/keypad.cpp @@ -32,5 +32,19 @@ void DreamGenContext::putUnderMenu() { multiPut(segRef(data.word(kBuffers)).ptr(kUndertimedtext, 0), kMenux, kMenuy, 48, 48); } +void DreamGenContext::singleKey(uint8 key, uint16 x, uint16 y) { + if (key == data.byte(kGraphicpress)) { + key += 11; + if (data.byte(kPresscount) < 8) + key -= 11; + } + key -= 20; + showFrame(tempGraphics(), x, y, key, 0); +} + +void DreamGenContext::singleKey() { + singleKey(al, di, bx); +} + } /*namespace dreamgen */ diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index 60231c4e6e..25b2b531f9 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -382,4 +382,6 @@ void gamer(ReelRoutine &routine); void eden(ReelRoutine &routine); void sparky(ReelRoutine &routine); + void singleKey(uint8 key, uint16 x, uint16 y); + void singleKey(); |