diff options
author | Bertrand Augereau | 2011-11-23 13:09:31 +0100 |
---|---|---|
committer | Bertrand Augereau | 2011-11-23 15:25:52 +0100 |
commit | 7843073c0eba240e5270be90c87bb708cce2d2cc (patch) | |
tree | 14de9a8966f6775b6b7eba34dda0220517a0b297 /engines | |
parent | a8a698c82b748b73224f01c3bd19b29a2e698ab0 (diff) | |
download | scummvm-rg350-7843073c0eba240e5270be90c87bb708cce2d2cc.tar.gz scummvm-rg350-7843073c0eba240e5270be90c87bb708cce2d2cc.tar.bz2 scummvm-rg350-7843073c0eba240e5270be90c87bb708cce2d2cc.zip |
DREAMWEB: 'autolook' ported to C++
Diffstat (limited to 'engines')
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 23 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 3 | ||||
-rw-r--r-- | engines/dreamweb/stubs.cpp | 14 | ||||
-rw-r--r-- | engines/dreamweb/stubs.h | 1 |
4 files changed, 16 insertions, 25 deletions
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index 8e5a784d27..34fa14c1c0 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -4894,29 +4894,6 @@ void DreamGenContext::drawfloor() { es = pop(); } -void DreamGenContext::autolook() { - STACK_CHECK; - ax = data.word(kMousex); - _cmp(ax, data.word(kOldx)); - if (!flags.z()) - goto diffmouse; - ax = data.word(kMousey); - _cmp(ax, data.word(kOldy)); - if (!flags.z()) - goto diffmouse; - _dec(data.word(kLookcounter)); - _cmp(data.word(kLookcounter), 0); - if (!flags.z()) - return /* (noautolook) */; - _cmp(data.word(kWatchingtime), 0); - if (!flags.z()) - return /* (noautolook) */; - dolook(); - return; -diffmouse: - data.word(kLookcounter) = 1000; -} - void DreamGenContext::look() { STACK_CHECK; _cmp(data.word(kWatchingtime), 0); diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index 6bed222d1b..606961c84c 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -378,7 +378,6 @@ public: static const uint16 addr_redrawmainscrn = 0xc478; static const uint16 addr_dolook = 0xc474; static const uint16 addr_look = 0xc470; - static const uint16 addr_autolook = 0xc46c; static const uint16 addr_drawfloor = 0xc428; static const uint16 addr_deleteextext = 0xc420; static const uint16 addr_deleteexframe = 0xc41c; @@ -1586,7 +1585,7 @@ public: void dosreturn(); void wheelsound(); void actualsave(); - void autolook(); + //void autolook(); void playguitar(); //void showreelframe(); void searchforsame(); diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index 73b7b27b56..bd3439a77b 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -2260,5 +2260,19 @@ void DreamGenContext::findroominloc() { data.byte(kRoomnum) = roomNum; } +void DreamGenContext::autolook() { + if ((data.word(kMousex) != data.word(kOldx)) || (data.word(kMousey) != data.word(kOldy))) { + data.word(kLookcounter) = 1000; + return; + } + + --data.word(kLookcounter); + if (data.word(kLookcounter)) + return; + if (data.word(kWatchingtime)) + return; + dolook(); +} + } /*namespace dreamgen */ diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index 2a9a068439..39d1758974 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -332,4 +332,5 @@ void findroominloc(); void reelsonscreen(); void reconstruct(); + void autolook(); |