aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBertrand Augereau2011-12-03 20:01:51 +0100
committerBertrand Augereau2011-12-03 20:05:12 +0100
commitee0f3bcaadcaf08988ba789b9875270cd6472672 (patch)
treec1bad55194400c79848e410563c2c67f735cd174
parentb011591b3289012cb696a80523683df04b2301f2 (diff)
downloadscummvm-rg350-ee0f3bcaadcaf08988ba789b9875270cd6472672.tar.gz
scummvm-rg350-ee0f3bcaadcaf08988ba789b9875270cd6472672.tar.bz2
scummvm-rg350-ee0f3bcaadcaf08988ba789b9875270cd6472672.zip
DREAMWEB: 'madmansTelly' (so british! :) ) ported to C++
-rwxr-xr-xdevtools/tasmrecover/tasm-recover1
-rw-r--r--engines/dreamweb/dreamgen.cpp13
-rw-r--r--engines/dreamweb/dreamgen.h1
-rw-r--r--engines/dreamweb/people.cpp12
-rw-r--r--engines/dreamweb/stubs.h1
5 files changed, 12 insertions, 16 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 66e1dcc567..500a691ce3 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -245,6 +245,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'look',
'loopchannel0',
'madman',
+ 'madmanstelly',
'madmantext',
'madmode',
'mainman',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 48d544e991..7bd735f975 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -1555,19 +1555,6 @@ void DreamGenContext::priest() {
es = pop();
}
-void DreamGenContext::madmansTelly() {
- STACK_CHECK;
- ax = es.word(bx+3);
- _inc(ax);
- _cmp(ax, 307);
- if (!flags.z())
- goto notendtelly;
- ax = 300;
-notendtelly:
- es.word(bx+3) = ax;
- showGameReel();
-}
-
void DreamGenContext::priestText() {
STACK_CHECK;
_cmp(es.word(bx+3), 2);
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index a3df8ce4e5..662cb15704 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -822,7 +822,6 @@ public:
void purgeAnItem();
void enableSoundInt();
void volumeAdjust();
- void madmansTelly();
void purgeALocation();
void notHeldError();
void getSetAd();
diff --git a/engines/dreamweb/people.cpp b/engines/dreamweb/people.cpp
index eab3add84f..6479d29022 100644
--- a/engines/dreamweb/people.cpp
+++ b/engines/dreamweb/people.cpp
@@ -50,7 +50,7 @@ static void (DreamGenContext::*reelCallbacks[57])() = {
&DreamGenContext::introMonks2, &DreamGenContext::handClap,
&DreamGenContext::monkAndRyan, &DreamGenContext::endGameSeq,
&DreamGenContext::priest, NULL,
- &DreamGenContext::madmansTelly, &DreamGenContext::alleyBarkSound,
+ NULL, &DreamGenContext::alleyBarkSound,
&DreamGenContext::foghornSound, &DreamGenContext::carParkDrip,
&DreamGenContext::carParkDrip, &DreamGenContext::carParkDrip,
&DreamGenContext::carParkDrip
@@ -82,7 +82,7 @@ static void (DreamGenContext::*reelCallbacksCPP[57])(ReelRoutine &) = {
/*&DreamGenContext::intromonks2*/NULL, /*&DreamGenContext::handClap*/NULL,
/*&DreamGenContext::monkAndRyan*/NULL, /*&DreamGenContext::endGameSeq*/NULL,
/*&DreamGenContext::priest*/NULL, &DreamGenContext::madman,
- /*&DreamGenContext::madmansTelly*/NULL, /*&DreamGenContext::alleyBarkSound*/NULL,
+ &DreamGenContext::madmansTelly, /*&DreamGenContext::alleyBarkSound*/NULL,
/*&DreamGenContext::foghornSound*/NULL, /*&DreamGenContext::carParkDrip*/NULL,
/*&DreamGenContext::carParkDrip*/NULL, /*&DreamGenContext::carParkDrip*/NULL,
/*&DreamGenContext::carParkDrip*/NULL
@@ -319,5 +319,13 @@ void DreamGenContext::rockstar(ReelRoutine &routine) {
}
}
+void DreamGenContext::madmansTelly(ReelRoutine &routine) {
+ uint16 nextReelPointer = routine.reelPointer() + 1;
+ if (nextReelPointer == 307)
+ nextReelPointer = 300;
+ routine.setReelPointer(nextReelPointer);
+ showGameReel(&routine);
+}
+
} /*namespace dreamgen */
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index b2bf69898a..f80dfad4bb 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -395,6 +395,7 @@
void femaleFan(ReelRoutine &routine);
void maleFan(ReelRoutine &routine);
void rockstar(ReelRoutine &routine);
+ void madmansTelly(ReelRoutine &routine);
void singleKey(uint8 key, uint16 x, uint16 y);
void showKeypad();
void showOuterPad();