diff options
-rwxr-xr-x | devtools/tasmrecover/tasm-recover | 1 | ||||
-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 |
5 files changed, 17 insertions, 25 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index fab094178c..1d5264f00f 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -272,6 +272,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'createpanel', 'createpanel2', 'findroominloc', + 'autolook', 'reelsonscreen', 'reconstruct', ], skip_output = [ 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(); |