aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/people.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2011-12-09 09:42:30 +0200
committerFilippos Karapetis2011-12-09 09:43:42 +0200
commit597ff0bb989b60b09cdb81e73b0bbdb479eabd85 (patch)
tree5ec47755f8b150bf83d71c4cd9a9283ff42d987e /engines/dreamweb/people.cpp
parente5a6b7b16cd2ad16d5832901443492b1286c3dcc (diff)
downloadscummvm-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.cpp27
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