aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorBertrand Augereau2011-08-22 15:53:54 +0200
committerBertrand Augereau2011-08-22 16:46:14 +0200
commit911cb1ea5852839bbaed3732ba60ce8561ba15d1 (patch)
treeaee2bcd884991ee06847af1fd576b92d97512f72 /engines
parentb65f54982e14b04378abae0323e0b48ec7686c81 (diff)
downloadscummvm-rg350-911cb1ea5852839bbaed3732ba60ce8561ba15d1.tar.gz
scummvm-rg350-911cb1ea5852839bbaed3732ba60ce8561ba15d1.tar.bz2
scummvm-rg350-911cb1ea5852839bbaed3732ba60ce8561ba15d1.zip
DREAMWEB: 'finishedwalking' ported to C++
Diffstat (limited to 'engines')
-rw-r--r--engines/dreamweb/dreamgen.cpp10
-rw-r--r--engines/dreamweb/dreamgen.h5
-rw-r--r--engines/dreamweb/stubs.cpp8
-rw-r--r--engines/dreamweb/stubs.h3
4 files changed, 13 insertions, 13 deletions
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 4ba1324a51..54428c633c 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -15954,15 +15954,6 @@ toofaraway:
walktotext();
}
-void DreamGenContext::finishedwalking() {
- STACK_CHECK;
- _cmp(data.byte(kLinepointer), 254);
- if (!flags.z())
- return /* (iswalking) */;
- al = data.byte(kFacing);
- _cmp(al, data.byte(kTurntoface));
-}
-
void DreamGenContext::examineobtext() {
STACK_CHECK;
bl = data.byte(kCommand);
@@ -18624,7 +18615,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
case addr_walkintoroom: walkintoroom(); break;
case addr_afterintroroom: afterintroroom(); break;
case addr_obname: obname(); break;
- case addr_finishedwalking: finishedwalking(); break;
case addr_examineobtext: examineobtext(); break;
case addr_printmessage: printmessage(); break;
case addr_printmessage2: printmessage2(); break;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index 5c4d0166bc..a20d251c1b 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -119,7 +119,6 @@ public:
static const uint16 addr_printmessage2 = 0xca30;
static const uint16 addr_printmessage = 0xca2c;
static const uint16 addr_examineobtext = 0xca20;
- static const uint16 addr_finishedwalking = 0xca1c;
static const uint16 addr_obname = 0xca18;
static const uint16 addr_afterintroroom = 0xca14;
static const uint16 addr_walkintoroom = 0xca10;
@@ -1588,7 +1587,7 @@ public:
void adjustright();
void putunderzoom();
void vsync();
- void turnpathoff();
+ //void finishedwalking();
void findinvpos();
void usetext();
void hangonpq();
@@ -1974,7 +1973,7 @@ public:
void usecontrol();
void buttonseven();
void redrawmainscrn();
- void finishedwalking();
+ void turnpathoff();
void findallryan();
//void channel0tran();
void buttonpress();
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index e77b18832b..f0938ea30b 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -1155,6 +1155,14 @@ void DreamGenContext::removesetobject(uint8 index) {
getsetad(index)->b58[0] = 0xff;
}
+void DreamGenContext::finishedwalking() {
+ flags._z = finishedwalkingCPP();
+}
+
+bool DreamGenContext::finishedwalkingCPP() {
+ return (data.byte(kLinepointer) == 254) && (data.byte(kFacing) == data.byte(kTurntoface));
+}
+
bool DreamGenContext::isCD() {
// The original sources has two codepaths depending if the game is 'if cd' or not
// This is a hack to guess which version to use with the assumption that if we have a cd version
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 6b0ed594be..5443ee50a3 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -167,4 +167,7 @@
void removesetobject();
void removesetobject(uint8 index);
void showallfree();
+ bool finishedwalkingCPP();
+ void finishedwalking();
+