diff options
author | Filippos Karapetis | 2011-12-09 09:42:30 +0200 |
---|---|---|
committer | Filippos Karapetis | 2011-12-09 09:43:42 +0200 |
commit | 597ff0bb989b60b09cdb81e73b0bbdb479eabd85 (patch) | |
tree | 5ec47755f8b150bf83d71c4cd9a9283ff42d987e /engines/dreamweb/people.cpp | |
parent | e5a6b7b16cd2ad16d5832901443492b1286c3dcc (diff) | |
download | scummvm-rg350-597ff0bb989b60b09cdb81e73b0bbdb479eabd85.tar.gz scummvm-rg350-597ff0bb989b60b09cdb81e73b0bbdb479eabd85.tar.bz2 scummvm-rg350-597ff0bb989b60b09cdb81e73b0bbdb479eabd85.zip |
DREAMWEB: Port 'soldier1' to C++
Diffstat (limited to 'engines/dreamweb/people.cpp')
-rw-r--r-- | engines/dreamweb/people.cpp | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/engines/dreamweb/people.cpp b/engines/dreamweb/people.cpp index 6b78178229..889a430a22 100644 --- a/engines/dreamweb/people.cpp +++ b/engines/dreamweb/people.cpp @@ -31,7 +31,7 @@ static void (DreamGenContext::*reelCallbacks[57])() = { NULL, NULL, &DreamGenContext::receptionist, NULL, NULL, NULL, - NULL, &DreamGenContext::soldier1, + NULL, NULL, NULL, NULL, &DreamGenContext::heavy, NULL, NULL, NULL, @@ -63,7 +63,7 @@ static void (DreamGenContext::*reelCallbacksCPP[57])(ReelRoutine &) = { &DreamGenContext::manAsleep, &DreamGenContext::drunk, /*&DreamGenContext::receptionist*/NULL, &DreamGenContext::genericPerson /*maleFan*/, &DreamGenContext::genericPerson /*femaleFan*/, &DreamGenContext::louis, - &DreamGenContext::louisChair, /*&DreamGenContext::soldier1*/NULL, + &DreamGenContext::louisChair, &DreamGenContext::soldier1, &DreamGenContext::bossMan, &DreamGenContext::interviewer, /*&DreamGenContext::heavy*/NULL, &DreamGenContext::manAsleep /*manAsleep2*/, &DreamGenContext::genericPerson /*manSatStill*/, &DreamGenContext::drinker, @@ -763,4 +763,27 @@ void DreamGenContext::introMonks2(ReelRoutine &routine) { showGameReel(&routine); } +void DreamGenContext::soldier1(ReelRoutine &routine) { + if (routine.reelPointer() != 0) { + data.word(kWatchingtime) = 10; + if (routine.reelPointer() == 30) { + data.byte(kCombatcount)++; + if (data.byte(kCombatcount) == 40) + data.byte(kMandead) = 2; + } else if (checkSpeed(routine)) { + // Not after shot + routine.incReelPointer(); + } + } else if (data.byte(kLastweapon) == 1) { + data.word(kWatchingtime) = 10; + if (data.byte(kManspath) == 2 && data.byte(kFacing) == 4) + routine.incReelPointer(); + data.byte(kLastweapon) = 0xFF; + data.byte(kCombatcount) = 0; + } + + showGameReel(&routine); + addToPeopleList(&routine); +} + } // End of namespace DreamGen |