aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/sprite.cpp
diff options
context:
space:
mode:
authorBertrand Augereau2011-12-03 18:22:09 +0100
committerBertrand Augereau2011-12-03 18:30:30 +0100
commit3f791509d78c234a92e43a1656d6d5ebd3aafb91 (patch)
tree18e341f04d1cd39bce55a6b58136ee4c725bc09b /engines/dreamweb/sprite.cpp
parentb775915af8228670b942ecfce10ed13264577382 (diff)
downloadscummvm-rg350-3f791509d78c234a92e43a1656d6d5ebd3aafb91.tar.gz
scummvm-rg350-3f791509d78c234a92e43a1656d6d5ebd3aafb91.tar.bz2
scummvm-rg350-3f791509d78c234a92e43a1656d6d5ebd3aafb91.zip
DREAMWEB: people.cpp
Diffstat (limited to 'engines/dreamweb/sprite.cpp')
-rw-r--r--engines/dreamweb/sprite.cpp304
1 files changed, 0 insertions, 304 deletions
diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp
index 67ce7dcbba..5e4822728c 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 */