aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/people.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/dreamweb/people.cpp')
-rw-r--r--engines/dreamweb/people.cpp26
1 files changed, 24 insertions, 2 deletions
diff --git a/engines/dreamweb/people.cpp b/engines/dreamweb/people.cpp
index ef443380da..508228a786 100644
--- a/engines/dreamweb/people.cpp
+++ b/engines/dreamweb/people.cpp
@@ -43,7 +43,7 @@ static void (DreamGenContext::*reelCallbacks[57])() = {
NULL, &DreamGenContext::businessMan,
&DreamGenContext::train, NULL,
&DreamGenContext::mugger, &DreamGenContext::helicopter,
- &DreamGenContext::introMagic1, &DreamGenContext::introMusic,
+ NULL, &DreamGenContext::introMusic,
&DreamGenContext::introMagic2, &DreamGenContext::candles2,
&DreamGenContext::gates, &DreamGenContext::introMagic3,
&DreamGenContext::introMonks1, &DreamGenContext::candles,
@@ -75,7 +75,7 @@ static void (DreamGenContext::*reelCallbacksCPP[57])(ReelRoutine &) = {
&DreamGenContext::rockstar, /*&DreamGenContext::businessMan*/NULL,
/*&DreamGenContext::train*/NULL, &DreamGenContext::genericPerson /*aide*/,
/*&DreamGenContext::mugger*/NULL, /*&DreamGenContext::helicopter*/NULL,
- /*&DreamGenContext::introMagic1*/NULL, /*&DreamGenContext::introMusic*/NULL,
+ &DreamGenContext::introMagic1, /*&DreamGenContext::introMusic*/NULL,
/*&DreamGenContext::introMagic2*/NULL, /*&DreamGenContext::candles2*/NULL,
/*&DreamGenContext::gates*/NULL, /*&DreamGenContext::introMagic3*/NULL,
/*&DreamGenContext::intromonks1*/NULL, /*&DreamGenContext::candles*/NULL,
@@ -353,6 +353,28 @@ void DreamGenContext::drunk(ReelRoutine &routine) {
addToPeopleList(&routine);
}
+void DreamGenContext::introMagic1(ReelRoutine &routine) {
+ if (checkSpeed(routine)) {
+ uint16 nextReelPointer = routine.reelPointer() + 1;
+ if (nextReelPointer == 145)
+ nextReelPointer = 121;
+ routine.setReelPointer(nextReelPointer);
+ if (nextReelPointer == 121) {
+ ++data.byte(kIntrocount);
+ push(es);
+ push(bx);
+ intro1Text();
+ bx = pop();
+ es = pop();
+ if (data.byte(kIntrocount) == 8) {
+ data.byte(kMapy) += 10;
+ data.byte(kNowinnewroom) = 1;
+ }
+ }
+ }
+ showGameReel(&routine);
+}
+
void DreamGenContext::security(ReelRoutine &routine) {
if (routine.reelPointer() == 32) {
if (data.byte(kLastweapon) == 1) {