diff options
author | Filippos Karapetis | 2011-12-14 01:52:13 +0200 |
---|---|---|
committer | Filippos Karapetis | 2011-12-14 01:52:13 +0200 |
commit | d4124e116ac8a9aaf52dcfe727cd600e27555154 (patch) | |
tree | 0a64000f6570618ed5c4df32752deca68bbf3150 /engines/dreamweb/people.cpp | |
parent | c95bdeb20ca16927fbac990c9633cb0db9e1fc3e (diff) | |
download | scummvm-rg350-d4124e116ac8a9aaf52dcfe727cd600e27555154.tar.gz scummvm-rg350-d4124e116ac8a9aaf52dcfe727cd600e27555154.tar.bz2 scummvm-rg350-d4124e116ac8a9aaf52dcfe727cd600e27555154.zip |
DREAMWEB: Port 'heavy' to C++
Diffstat (limited to 'engines/dreamweb/people.cpp')
-rw-r--r-- | engines/dreamweb/people.cpp | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/engines/dreamweb/people.cpp b/engines/dreamweb/people.cpp index 99e382f325..99a83f44d3 100644 --- a/engines/dreamweb/people.cpp +++ b/engines/dreamweb/people.cpp @@ -33,7 +33,7 @@ static void (DreamGenContext::*reelCallbacks[57])() = { NULL, NULL, NULL, NULL, NULL, NULL, - &DreamGenContext::heavy, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, @@ -65,7 +65,7 @@ static void (DreamGenContext::*reelCallbacksCPP[57])(ReelRoutine &) = { &DreamGenContext::genericPerson /*femaleFan*/, &DreamGenContext::louis, &DreamGenContext::louisChair, &DreamGenContext::soldier1, &DreamGenContext::bossMan, &DreamGenContext::interviewer, - /*&DreamGenContext::heavy*/NULL, &DreamGenContext::manAsleep /*manAsleep2*/, + &DreamGenContext::heavy, &DreamGenContext::manAsleep /*manAsleep2*/, &DreamGenContext::genericPerson /*manSatStill*/, &DreamGenContext::drinker, &DreamGenContext::bartender, &DreamGenContext::genericPerson /*otherSmoker*/, &DreamGenContext::genericPerson /*tattooMan*/, &DreamGenContext::attendant, @@ -835,4 +835,28 @@ void DreamGenContext::bartender(ReelRoutine &routine) { addToPeopleList(&routine); } +void DreamGenContext::heavy(ReelRoutine &routine) { + routine.b7 &= 127; + if (routine.reelPointer() != 43) { + data.word(kWatchingtime) = 10; + if (routine.reelPointer() == 70) { + // After shot + data.byte(kCombatcount)++; + if (data.byte(kCombatcount) == 80) + data.byte(kMandead) = 2; + } else { + if (checkSpeed(routine)) + routine.incReelPointer(); + } + } else if (data.byte(kLastweapon) == 1 && data.byte(kManspath) == 5 && data.byte(kFacing) == 4) { + // Heavy wait + data.byte(kLastweapon) = (byte)-1; + routine.incReelPointer(); + data.byte(kCombatcount) = 0; + } + + showGameReel(&routine); + addToPeopleList(&routine); +} + } // End of namespace DreamGen |