[Scummvm-cvs-logs] scummvm master -> 3f791509d78c234a92e43a1656d6d5ebd3aafb91

tramboi bertrand_augereau at yahoo.fr
Sat Dec 3 17:31:21 CET 2011


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
3f791509d7 DREAMWEB: people.cpp


Commit: 3f791509d78c234a92e43a1656d6d5ebd3aafb91
    https://github.com/scummvm/scummvm/commit/3f791509d78c234a92e43a1656d6d5ebd3aafb91
Author: Bertrand Augereau (bertrand_augereau at yahoo.fr)
Date: 2011-12-03T09:30:30-08:00

Commit Message:
DREAMWEB: people.cpp

Changed paths:
  A engines/dreamweb/people.cpp
    engines/dreamweb/module.mk
    engines/dreamweb/sprite.cpp



diff --git a/engines/dreamweb/module.mk b/engines/dreamweb/module.mk
index 64f444f..304daf6 100644
--- a/engines/dreamweb/module.mk
+++ b/engines/dreamweb/module.mk
@@ -10,6 +10,7 @@ MODULE_OBJS := \
 	monitor.o \
 	object.o \
 	pathfind.o \
+	people.o \
 	print.o \
 	saveload.o \
 	sprite.o \
diff --git a/engines/dreamweb/people.cpp b/engines/dreamweb/people.cpp
new file mode 100644
index 0000000..56e9551
--- /dev/null
+++ b/engines/dreamweb/people.cpp
@@ -0,0 +1,332 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "dreamweb/dreamweb.h"
+
+namespace DreamGen {
+
+static void (DreamGenContext::*reelCallbacks[57])() = {
+	NULL, NULL,
+	NULL, &DreamGenContext::edenInBath,
+	NULL, &DreamGenContext::smokeBloke,
+	&DreamGenContext::manAsleep, &DreamGenContext::drunk,
+	&DreamGenContext::receptionist, NULL,
+	NULL, &DreamGenContext::louis,
+	&DreamGenContext::louisChair, &DreamGenContext::soldier1,
+	&DreamGenContext::bossMan, &DreamGenContext::interviewer,
+	&DreamGenContext::heavy, &DreamGenContext::manAsleep2,
+	&DreamGenContext::manSatStill, &DreamGenContext::drinker,
+	&DreamGenContext::bartender, NULL,
+	&DreamGenContext::tattooMan, &DreamGenContext::attendant,
+	&DreamGenContext::keeper, &DreamGenContext::candles1,
+	&DreamGenContext::smallCandle, &DreamGenContext::security,
+	&DreamGenContext::copper, &DreamGenContext::poolGuard,
+	NULL, &DreamGenContext::businessMan,
+	&DreamGenContext::train, &DreamGenContext::aide,
+	&DreamGenContext::mugger, &DreamGenContext::helicopter,
+	&DreamGenContext::introMagic1, &DreamGenContext::introMusic,
+	&DreamGenContext::introMagic2, &DreamGenContext::candles2,
+	&DreamGenContext::gates, &DreamGenContext::introMagic3,
+	&DreamGenContext::introMonks1, &DreamGenContext::candles,
+	&DreamGenContext::introMonks2, &DreamGenContext::handClap,
+	&DreamGenContext::monkAndRyan, &DreamGenContext::endGameSeq,
+	&DreamGenContext::priest, &DreamGenContext::madman,
+	&DreamGenContext::madmansTelly, &DreamGenContext::alleyBarkSound,
+	&DreamGenContext::foghornSound, &DreamGenContext::carParkDrip,
+	&DreamGenContext::carParkDrip, &DreamGenContext::carParkDrip,
+	&DreamGenContext::carParkDrip
+};
+
+static void (DreamGenContext::*reelCallbacksCPP[57])(ReelRoutine &) = {
+	&DreamGenContext::gamer, &DreamGenContext::sparkyDrip,
+	&DreamGenContext::eden, /*&DreamGenContext::edenInBath*/NULL,
+	&DreamGenContext::sparky, /*&DreamGenContext::smokeBloke*/NULL,
+	/*&DreamGenContext::manAsleep*/NULL, /*&DreamGenContext::drunk*/NULL,
+	/*&DreamGenContext::receptionist*/NULL, &DreamGenContext::maleFan,
+	&DreamGenContext::femaleFan, /*&DreamGenContext::louis*/NULL,
+	/*&DreamGenContext::louisChair*/NULL, /*&DreamGenContext::soldier1*/NULL,
+	/*&DreamGenContext::bossMan*/NULL, /*&DreamGenContext::interviewer*/NULL,
+	/*&DreamGenContext::heavy*/NULL, /*&DreamGenContext::manAsleep2*/NULL,
+	/*&DreamGenContext::manSatStill*/NULL, /*&DreamGenContext::drinker*/NULL,
+	/*&DreamGenContext::bartender*/NULL, &DreamGenContext::otherSmoker,
+	/*&DreamGenContext::tattooMan*/NULL, /*&DreamGenContext::attendant*/NULL,
+	/*&DreamGenContext::keeper*/NULL, /*&DreamGenContext::candles1*/NULL,
+	/*&DreamGenContext::smallcandle*/NULL, /*&DreamGenContext::security*/NULL,
+	/*&DreamGenContext::copper*/NULL, /*&DreamGenContext::poolGuard*/NULL,
+	&DreamGenContext::rockstar, /*&DreamGenContext::businessMan*/NULL,
+	/*&DreamGenContext::train*/NULL, /*&DreamGenContext::aide*/NULL,
+	/*&DreamGenContext::mugger*/NULL, /*&DreamGenContext::helicopter*/NULL,
+	/*&DreamGenContext::introMagic1*/NULL, /*&DreamGenContext::introMusic*/NULL,
+	/*&DreamGenContext::introMagic2*/NULL, /*&DreamGenContext::candles2*/NULL,
+	/*&DreamGenContext::gates*/NULL, /*&DreamGenContext::introMagic3*/NULL,
+	/*&DreamGenContext::intromonks1*/NULL, /*&DreamGenContext::candles*/NULL,
+	/*&DreamGenContext::intromonks2*/NULL, /*&DreamGenContext::handClap*/NULL,
+	/*&DreamGenContext::monkAndRyan*/NULL, /*&DreamGenContext::endGameSeq*/NULL,
+	/*&DreamGenContext::priest*/NULL, /*&DreamGenContext::madman*/NULL,
+	/*&DreamGenContext::madmansTelly*/NULL, /*&DreamGenContext::alleyBarkSound*/NULL,
+	/*&DreamGenContext::foghornSound*/NULL, /*&DreamGenContext::carParkDrip*/NULL,
+	/*&DreamGenContext::carParkDrip*/NULL, /*&DreamGenContext::carParkDrip*/NULL,
+	/*&DreamGenContext::carParkDrip*/NULL
+};
+
+void DreamGenContext::updatePeople() {
+	data.word(kListpos) = kPeoplelist;
+	memset(getSegment(data.word(kBuffers)).ptr(kPeoplelist, 12 * sizeof(People)), 0xff, 12 * sizeof(People));
+	++data.word(kMaintimer);
+
+	// The original callbacks are called with es:bx pointing to their reelRoutine entry.
+	// The new callbacks take a mutable ReelRoutine parameter.
+
+	es = cs;
+	ReelRoutine *r = (ReelRoutine *)cs.ptr(kReelroutines, 0);
+
+	for (int i = 0; r[i].reallocation != 255; ++i) {
+		bx = kReelroutines + 8*i;
+		if (r[i].reallocation == data.byte(kReallocation) &&
+		        r[i].mapX == data.byte(kMapx) &&
+		        r[i].mapY == data.byte(kMapy)) {
+			if (reelCallbacks[i]) {
+				assert(!reelCallbacksCPP[i]);
+				(this->*(reelCallbacks[i]))();
+			} else {
+				assert(reelCallbacksCPP[i]);
+				(this->*(reelCallbacksCPP[i]))(r[i]);
+			}
+		}
+	}
+}
+
+void DreamGenContext::madmanText() {
+	if (isCD()) {
+		if (data.byte(kSpeechcount) >= 63)
+			return;
+		if (data.byte(kCh1playing) != 255)
+			return;
+		al = data.byte(kSpeechcount);
+		++data.byte(kSpeechcount);
+	} else {
+		if (data.byte(kCombatcount) >= 61)
+			return;
+		al = data.byte(kCombatcount);
+		_and(al, 3);
+		if (!flags.z())
+			return;
+		al = data.byte(kCombatcount) / 4;
+	}
+	setupTimedTemp(47 + al, 82, 72, 80, 90, 1);
+}
+
+void DreamGenContext::madman() {
+	ReelRoutine *routine = (ReelRoutine *)es.ptr(bx, 0);
+	data.word(kWatchingtime) = 2;
+	if (checkSpeed(routine)) {
+		ax = routine->reelPointer();
+		if (ax >= 364) {
+			data.byte(kMandead) = 2;
+			showGameReel(routine);
+			return;
+		}
+		if (ax == 10) {
+			loadTempText("DREAMWEB.T82");
+			data.byte(kCombatcount) = (uint8)-1;
+			data.byte(kSpeechcount) = 0;
+		}
+		++ax;
+		if (ax == 294) {
+			if (data.byte(kWongame) == 1)
+				return;
+			data.byte(kWongame) = 1;
+			push(es);
+			push(bx);
+			getRidOfTempText();
+			bx = pop();
+			es = pop();
+			return;
+		}
+		if (ax == 66) {
+			++data.byte(kCombatcount);
+			push(es);
+			push(bx);
+			madmanText();
+			bx = pop();
+			es = pop();
+			ax = 53;
+			if (data.byte(kCombatcount) >= (isCD() ? 64 : 62)) {
+				if (data.byte(kCombatcount) == (isCD() ? 70 : 68))
+					ax = 310;
+				else {
+					if (data.byte(kLastweapon) == 8) {
+						data.byte(kCombatcount) = isCD() ? 72 : 70;
+						data.byte(kLastweapon) = (uint8)-1;
+						data.byte(kMadmanflag) = 1;
+						ax = 67;
+					}
+				}
+			}
+		}
+		routine->setReelPointer(ax);
+	}
+	showGameReel(routine);
+	routine->mapX = data.byte(kMapx);
+	madMode();
+}
+
+void DreamGenContext::madMode() {
+	data.word(kWatchingtime) = 2;
+	data.byte(kPointermode) = 0;
+	if (data.byte(kCombatcount) < (isCD() ? 65 : 63))
+		return;
+	if (data.byte(kCombatcount) >= (isCD() ? 70 : 68))
+		return;
+	data.byte(kPointermode) = 2;
+}
+
+void DreamGenContext::addToPeopleList() {
+	addToPeopleList((ReelRoutine *)es.ptr(bx, sizeof(ReelRoutine)));
+}
+
+void DreamGenContext::addToPeopleList(ReelRoutine *routine) {
+	uint16 routinePointer = (const uint8 *)routine - cs.ptr(0, 0);
+
+	People *people = (People *)getSegment(data.word(kBuffers)).ptr(data.word(kListpos), sizeof(People));
+	people->setReelPointer(routine->reelPointer());
+	people->setRoutinePointer(routinePointer);
+	people->b4 = routine->b7;
+	data.word(kListpos) += sizeof(People);
+}
+
+void DreamGenContext::checkSpeed() {
+	ReelRoutine *routine = (ReelRoutine *)es.ptr(bx, sizeof(ReelRoutine));
+	flags._z = checkSpeed(routine);
+}
+
+bool DreamGenContext::checkSpeed(ReelRoutine *routine) {
+	if (data.byte(kLastweapon) != (uint8)-1)
+		return true;
+	++routine->counter;
+	if (routine->counter != routine->period)
+		return false;
+	routine->counter = 0;
+	return true;
+}
+
+void DreamGenContext::sparkyDrip(ReelRoutine &routine) {
+	if (checkSpeed(&routine))
+		playChannel0(14, 0);
+}
+
+void DreamGenContext::otherSmoker(ReelRoutine &routine) {
+	showGameReel(&routine);
+	addToPeopleList(&routine);
+}
+
+void DreamGenContext::gamer(ReelRoutine &routine) {
+	if (checkSpeed(&routine)) {
+		uint8 v;
+		do {
+			v = 20 + engine->randomNumber() % 5;
+		} while (v == routine.reelPointer());
+		routine.setReelPointer(v);
+	}
+
+	showGameReel(&routine);
+	addToPeopleList(&routine);
+}
+
+void DreamGenContext::eden(ReelRoutine &routine) {
+	if (data.byte(kGeneraldead))
+		return;
+	showGameReel(&routine);
+	addToPeopleList(&routine);
+}
+
+void DreamGenContext::femaleFan(ReelRoutine &routine) {
+	showGameReel(&routine);
+	addToPeopleList(&routine);
+}
+
+void DreamGenContext::maleFan(ReelRoutine &routine) {
+	showGameReel(&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;
+}
+
+void DreamGenContext::rockstar(ReelRoutine &routine) {
+	if ((routine.reelPointer() == 303) || (routine.reelPointer() == 118)) {
+		data.byte(kNewlocation) = 45;
+		showGameReel(&routine);
+		return;
+	}
+	if (checkSpeed(&routine)) {
+		uint16 nextReelPointer = routine.reelPointer() + 1;
+		if (nextReelPointer == 118) {
+			data.byte(kMandead) = 2;
+		} else if (nextReelPointer == 79) {
+			--nextReelPointer;
+			if (data.byte(kLastweapon) != 1) {
+				++data.byte(kCombatcount);
+				if (data.byte(kCombatcount) == 40) {
+					data.byte(kCombatcount) = 0;
+					nextReelPointer = 79;
+				}
+			} else {
+				data.byte(kLastweapon) = -1;
+				nextReelPointer = 123;
+			}
+		}
+		routine.setReelPointer(nextReelPointer);
+	}
+	showGameReel(&routine);
+	if (routine.reelPointer() == 78) {
+		addToPeopleList(&routine);
+		data.byte(kPointermode) = 2;
+		data.word(kWatchingtime) = 0;
+	} else {
+		data.word(kWatchingtime) = 2;
+		data.byte(kPointermode) = 0;
+		routine.mapY = data.byte(kMapy);
+	}
+}
+
+} /*namespace dreamgen */
+
diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp
index 67ce7dc..5e48227 100644
--- a/engines/dreamweb/sprite.cpp
+++ b/engines/dreamweb/sprite.cpp
@@ -565,182 +565,6 @@ void DreamGenContext::showRain() {
 	playChannel1(soundIndex);
 }
 
-static void (DreamGenContext::*reelCallbacks[57])() = {
-	NULL, NULL,
-	NULL, &DreamGenContext::edenInBath,
-	NULL, &DreamGenContext::smokeBloke,
-	&DreamGenContext::manAsleep, &DreamGenContext::drunk,
-	&DreamGenContext::receptionist, NULL,
-	NULL, &DreamGenContext::louis,
-	&DreamGenContext::louisChair, &DreamGenContext::soldier1,
-	&DreamGenContext::bossMan, &DreamGenContext::interviewer,
-	&DreamGenContext::heavy, &DreamGenContext::manAsleep2,
-	&DreamGenContext::manSatStill, &DreamGenContext::drinker,
-	&DreamGenContext::bartender, NULL,
-	&DreamGenContext::tattooMan, &DreamGenContext::attendant,
-	&DreamGenContext::keeper, &DreamGenContext::candles1,
-	&DreamGenContext::smallCandle, &DreamGenContext::security,
-	&DreamGenContext::copper, &DreamGenContext::poolGuard,
-	NULL, &DreamGenContext::businessMan,
-	&DreamGenContext::train, &DreamGenContext::aide,
-	&DreamGenContext::mugger, &DreamGenContext::helicopter,
-	&DreamGenContext::introMagic1, &DreamGenContext::introMusic,
-	&DreamGenContext::introMagic2, &DreamGenContext::candles2,
-	&DreamGenContext::gates, &DreamGenContext::introMagic3,
-	&DreamGenContext::introMonks1, &DreamGenContext::candles,
-	&DreamGenContext::introMonks2, &DreamGenContext::handClap,
-	&DreamGenContext::monkAndRyan, &DreamGenContext::endGameSeq,
-	&DreamGenContext::priest, &DreamGenContext::madman,
-	&DreamGenContext::madmansTelly, &DreamGenContext::alleyBarkSound,
-	&DreamGenContext::foghornSound, &DreamGenContext::carParkDrip,
-	&DreamGenContext::carParkDrip, &DreamGenContext::carParkDrip,
-	&DreamGenContext::carParkDrip
-};
-
-static void (DreamGenContext::*reelCallbacksCPP[57])(ReelRoutine &) = {
-	&DreamGenContext::gamer, &DreamGenContext::sparkyDrip,
-	&DreamGenContext::eden, /*&DreamGenContext::edenInBath*/NULL,
-	&DreamGenContext::sparky, /*&DreamGenContext::smokeBloke*/NULL,
-	/*&DreamGenContext::manAsleep*/NULL, /*&DreamGenContext::drunk*/NULL,
-	/*&DreamGenContext::receptionist*/NULL, &DreamGenContext::maleFan,
-	&DreamGenContext::femaleFan, /*&DreamGenContext::louis*/NULL,
-	/*&DreamGenContext::louisChair*/NULL, /*&DreamGenContext::soldier1*/NULL,
-	/*&DreamGenContext::bossMan*/NULL, /*&DreamGenContext::interviewer*/NULL,
-	/*&DreamGenContext::heavy*/NULL, /*&DreamGenContext::manAsleep2*/NULL,
-	/*&DreamGenContext::manSatStill*/NULL, /*&DreamGenContext::drinker*/NULL,
-	/*&DreamGenContext::bartender*/NULL, &DreamGenContext::otherSmoker,
-	/*&DreamGenContext::tattooMan*/NULL, /*&DreamGenContext::attendant*/NULL,
-	/*&DreamGenContext::keeper*/NULL, /*&DreamGenContext::candles1*/NULL,
-	/*&DreamGenContext::smallcandle*/NULL, /*&DreamGenContext::security*/NULL,
-	/*&DreamGenContext::copper*/NULL, /*&DreamGenContext::poolGuard*/NULL,
-	&DreamGenContext::rockstar, /*&DreamGenContext::businessMan*/NULL,
-	/*&DreamGenContext::train*/NULL, /*&DreamGenContext::aide*/NULL,
-	/*&DreamGenContext::mugger*/NULL, /*&DreamGenContext::helicopter*/NULL,
-	/*&DreamGenContext::introMagic1*/NULL, /*&DreamGenContext::introMusic*/NULL,
-	/*&DreamGenContext::introMagic2*/NULL, /*&DreamGenContext::candles2*/NULL,
-	/*&DreamGenContext::gates*/NULL, /*&DreamGenContext::introMagic3*/NULL,
-	/*&DreamGenContext::intromonks1*/NULL, /*&DreamGenContext::candles*/NULL,
-	/*&DreamGenContext::intromonks2*/NULL, /*&DreamGenContext::handClap*/NULL,
-	/*&DreamGenContext::monkAndRyan*/NULL, /*&DreamGenContext::endGameSeq*/NULL,
-	/*&DreamGenContext::priest*/NULL, /*&DreamGenContext::madman*/NULL,
-	/*&DreamGenContext::madmansTelly*/NULL, /*&DreamGenContext::alleyBarkSound*/NULL,
-	/*&DreamGenContext::foghornSound*/NULL, /*&DreamGenContext::carParkDrip*/NULL,
-	/*&DreamGenContext::carParkDrip*/NULL, /*&DreamGenContext::carParkDrip*/NULL,
-	/*&DreamGenContext::carParkDrip*/NULL
-};
-
-void DreamGenContext::updatePeople() {
-	data.word(kListpos) = kPeoplelist;
-	memset(getSegment(data.word(kBuffers)).ptr(kPeoplelist, 12 * sizeof(People)), 0xff, 12 * sizeof(People));
-	++data.word(kMaintimer);
-
-	// The original callbacks are called with es:bx pointing to their reelRoutine entry.
-	// The new callbacks take a mutable ReelRoutine parameter.
-
-	es = cs;
-	ReelRoutine *r = (ReelRoutine *)cs.ptr(kReelroutines, 0);
-
-	for (int i = 0; r[i].reallocation != 255; ++i) {
-		bx = kReelroutines + 8*i;
-		if (r[i].reallocation == data.byte(kReallocation) &&
-		        r[i].mapX == data.byte(kMapx) &&
-		        r[i].mapY == data.byte(kMapy)) {
-			if (reelCallbacks[i]) {
-				assert(!reelCallbacksCPP[i]);
-				(this->*(reelCallbacks[i]))();
-			} else {
-				assert(reelCallbacksCPP[i]);
-				(this->*(reelCallbacksCPP[i]))(r[i]);
-			}
-		}
-	}
-}
-
-void DreamGenContext::madmanText() {
-	if (isCD()) {
-		if (data.byte(kSpeechcount) >= 63)
-			return;
-		if (data.byte(kCh1playing) != 255)
-			return;
-		al = data.byte(kSpeechcount);
-		++data.byte(kSpeechcount);
-	} else {
-		if (data.byte(kCombatcount) >= 61)
-			return;
-		al = data.byte(kCombatcount);
-		_and(al, 3);
-		if (!flags.z())
-			return;
-		al = data.byte(kCombatcount) / 4;
-	}
-	setupTimedTemp(47 + al, 82, 72, 80, 90, 1);
-}
-
-void DreamGenContext::madman() {
-	ReelRoutine *routine = (ReelRoutine *)es.ptr(bx, 0);
-	data.word(kWatchingtime) = 2;
-	if (checkSpeed(routine)) {
-		ax = routine->reelPointer();
-		if (ax >= 364) {
-			data.byte(kMandead) = 2;
-			showGameReel(routine);
-			return;
-		}
-		if (ax == 10) {
-			loadTempText("DREAMWEB.T82");
-			data.byte(kCombatcount) = (uint8)-1;
-			data.byte(kSpeechcount) = 0;
-		}
-		++ax;
-		if (ax == 294) {
-			if (data.byte(kWongame) == 1)
-				return;
-			data.byte(kWongame) = 1;
-			push(es);
-			push(bx);
-			getRidOfTempText();
-			bx = pop();
-			es = pop();
-			return;
-		}
-		if (ax == 66) {
-			++data.byte(kCombatcount);
-			push(es);
-			push(bx);
-			madmanText();
-			bx = pop();
-			es = pop();
-			ax = 53;
-			if (data.byte(kCombatcount) >= (isCD() ? 64 : 62)) {
-				if (data.byte(kCombatcount) == (isCD() ? 70 : 68))
-					ax = 310;
-				else {
-					if (data.byte(kLastweapon) == 8) {
-						data.byte(kCombatcount) = isCD() ? 72 : 70;
-						data.byte(kLastweapon) = (uint8)-1;
-						data.byte(kMadmanflag) = 1;
-						ax = 67;
-					}
-				}
-			}
-		}
-		routine->setReelPointer(ax);
-	}
-	showGameReel(routine);
-	routine->mapX = data.byte(kMapx);
-	madMode();
-}
-
-void DreamGenContext::madMode() {
-	data.word(kWatchingtime) = 2;
-	data.byte(kPointermode) = 0;
-	if (data.byte(kCombatcount) < (isCD() ? 65 : 63))
-		return;
-	if (data.byte(kCombatcount) >= (isCD() ? 70 : 68))
-		return;
-	data.byte(kPointermode) = 2;
-}
-
 void DreamGenContext::moveMap(uint8 param) {
 	switch (param) {
 	case 32:
@@ -795,20 +619,6 @@ uint8 DreamGenContext::getBlockOfPixel(uint8 x, uint8 y) {
 		return type;
 }
 
-void DreamGenContext::addToPeopleList() {
-	addToPeopleList((ReelRoutine *)es.ptr(bx, sizeof(ReelRoutine)));
-}
-
-void DreamGenContext::addToPeopleList(ReelRoutine *routine) {
-	uint16 routinePointer = (const uint8 *)routine - cs.ptr(0, 0);
-
-	People *people = (People *)getSegment(data.word(kBuffers)).ptr(data.word(kListpos), sizeof(People));
-	people->setReelPointer(routine->reelPointer());
-	people->setRoutinePointer(routinePointer);
-	people->b4 = routine->b7;
-	data.word(kListpos) += sizeof(People);
-}
-
 Rain *DreamGenContext::splitIntoLines(uint8 x, uint8 y, Rain *rain) {
 	do {
 		// Look for line start
@@ -1060,119 +870,5 @@ void DreamGenContext::reconstruct() {
 	data.byte(kHavedoneobs) = 0;
 }
 
-void DreamGenContext::checkSpeed() {
-	ReelRoutine *routine = (ReelRoutine *)es.ptr(bx, sizeof(ReelRoutine));
-	flags._z = checkSpeed(routine);
-}
-
-bool DreamGenContext::checkSpeed(ReelRoutine *routine) {
-	if (data.byte(kLastweapon) != (uint8)-1)
-		return true;
-	++routine->counter;
-	if (routine->counter != routine->period)
-		return false;
-	routine->counter = 0;
-	return true;
-}
-
-void DreamGenContext::sparkyDrip(ReelRoutine &routine) {
-	if (checkSpeed(&routine))
-		playChannel0(14, 0);
-}
-
-void DreamGenContext::otherSmoker(ReelRoutine &routine) {
-	showGameReel(&routine);
-	addToPeopleList(&routine);
-}
-
-void DreamGenContext::gamer(ReelRoutine &routine) {
-	if (checkSpeed(&routine)) {
-		uint8 v;
-		do {
-			v = 20 + engine->randomNumber() % 5;
-		} while (v == routine.reelPointer());
-		routine.setReelPointer(v);
-	}
-
-	showGameReel(&routine);
-	addToPeopleList(&routine);
-}
-
-void DreamGenContext::eden(ReelRoutine &routine) {
-	if (data.byte(kGeneraldead))
-		return;
-	showGameReel(&routine);
-	addToPeopleList(&routine);
-}
-
-void DreamGenContext::femaleFan(ReelRoutine &routine) {
-	showGameReel(&routine);
-	addToPeopleList(&routine);
-}
-
-void DreamGenContext::maleFan(ReelRoutine &routine) {
-	showGameReel(&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;
-}
-
-void DreamGenContext::rockstar(ReelRoutine &routine) {
-	if ((routine.reelPointer() == 303) || (routine.reelPointer() == 118)) {
-		data.byte(kNewlocation) = 45;
-		showGameReel(&routine);
-		return;
-	}
-	if (checkSpeed(&routine)) {
-		uint16 nextReelPointer = routine.reelPointer() + 1;
-		if (nextReelPointer == 118) {
-			data.byte(kMandead) = 2;
-		} else if (nextReelPointer == 79) {
-			--nextReelPointer;
-			if (data.byte(kLastweapon) != 1) {
-				++data.byte(kCombatcount);
-				if (data.byte(kCombatcount) == 40) {
-					data.byte(kCombatcount) = 0;
-					nextReelPointer = 79;
-				}
-			} else {
-				data.byte(kLastweapon) = -1;
-				nextReelPointer = 123;
-			}
-		}
-		routine.setReelPointer(nextReelPointer);
-	}
-	showGameReel(&routine);
-	if (routine.reelPointer() == 78) {
-		addToPeopleList(&routine);
-		data.byte(kPointermode) = 2;
-		data.word(kWatchingtime) = 0;
-	} else {
-		data.word(kWatchingtime) = 2;
-		data.byte(kPointermode) = 0;
-		routine.mapY = data.byte(kMapy);
-	}
-}
-
 } /*namespace dreamgen */
 






More information about the Scummvm-git-logs mailing list