aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/sprite.cpp
diff options
context:
space:
mode:
authorBertrand Augereau2011-12-01 16:21:16 +0100
committerBertrand Augereau2011-12-01 18:33:05 +0100
commit24c355e04fe7fb536bbfd72bdb998b4dbf265148 (patch)
tree5b5257cbf2ef631c2d345a77e1792dc479468e2d /engines/dreamweb/sprite.cpp
parentba12c02a7513f31e20c126baa9562764bcc6cc4b (diff)
downloadscummvm-rg350-24c355e04fe7fb536bbfd72bdb998b4dbf265148.tar.gz
scummvm-rg350-24c355e04fe7fb536bbfd72bdb998b4dbf265148.tar.bz2
scummvm-rg350-24c355e04fe7fb536bbfd72bdb998b4dbf265148.zip
DREAMWEB: Ported 'sparky' to C++
Diffstat (limited to 'engines/dreamweb/sprite.cpp')
-rw-r--r--engines/dreamweb/sprite.cpp26
1 files changed, 24 insertions, 2 deletions
diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp
index a9f5bf1815..76f1dd34dd 100644
--- a/engines/dreamweb/sprite.cpp
+++ b/engines/dreamweb/sprite.cpp
@@ -570,7 +570,7 @@ void DreamGenContext::showrain() {
static void (DreamGenContext::*reelCallbacks[57])() = {
NULL, NULL,
NULL, &DreamGenContext::edeninbath,
- &DreamGenContext::sparky, &DreamGenContext::smokebloke,
+ NULL, &DreamGenContext::smokebloke,
&DreamGenContext::manasleep, &DreamGenContext::drunk,
&DreamGenContext::receptionist, &DreamGenContext::malefan,
&DreamGenContext::femalefan, &DreamGenContext::louis,
@@ -602,7 +602,7 @@ static void (DreamGenContext::*reelCallbacks[57])() = {
static void (DreamGenContext::*reelCallbacksCPP[57])(ReelRoutine &) = {
&DreamGenContext::gamer, &DreamGenContext::sparkydrip,
&DreamGenContext::eden, /*&DreamGenContext::edeninbath*/NULL,
- /*&DreamGenContext::sparky*/NULL, /*&DreamGenContext::smokebloke*/NULL,
+ &DreamGenContext::sparky, /*&DreamGenContext::smokebloke*/NULL,
/*&DreamGenContext::manasleep*/NULL, /*&DreamGenContext::drunk*/NULL,
/*&DreamGenContext::receptionist*/NULL, /*&DreamGenContext::malefan*/NULL,
/*&DreamGenContext::femalefan*/NULL, /*&DreamGenContext::louis*/NULL,
@@ -1107,5 +1107,27 @@ void DreamGenContext::eden(ReelRoutine &routine) {
addtopeoplelist(&routine);
}
+void DreamGenContext::sparky(ReelRoutine &routine) {
+ if (data.word(kCard1money))
+ routine.b7 = 3;
+ if (checkspeed(&routine)) {
+ if (routine.reelPointer() != 34) {
+ if (engine->randomNumber() < 30)
+ routine.incReelPointer();
+ else
+ routine.setReelPointer(27);
+ } else {
+ if (routine.reelPointer() != 48)
+ routine.incReelPointer();
+ else
+ routine.setReelPointer(27);
+ }
+ }
+ showgamereel(&routine);
+ addtopeoplelist(&routine);
+ if (routine.b7 & 128)
+ data.byte(kTalkedtosparky) = 1;
+}
+
} /*namespace dreamgen */