aboutsummaryrefslogtreecommitdiff
path: root/engines/avalanche/shootemup.cpp
diff options
context:
space:
mode:
authoruruk2014-02-19 19:52:07 +0100
committeruruk2014-02-19 19:52:07 +0100
commit7970cddb1f81d584917376838c9d43b7118c852e (patch)
treee0a3ad4bde3d00fb93583821a113a978187c6b82 /engines/avalanche/shootemup.cpp
parent2d5493b599b8ea5410a0ba481b6cd12c05debf52 (diff)
downloadscummvm-rg350-7970cddb1f81d584917376838c9d43b7118c852e.tar.gz
scummvm-rg350-7970cddb1f81d584917376838c9d43b7118c852e.tar.bz2
scummvm-rg350-7970cddb1f81d584917376838c9d43b7118c852e.zip
AVALANCHE: Implement ShootEmUp::peopleRunning().
Diffstat (limited to 'engines/avalanche/shootemup.cpp')
-rw-r--r--engines/avalanche/shootemup.cpp31
1 files changed, 30 insertions, 1 deletions
diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp
index 5a490124a1..edd4d7a87a 100644
--- a/engines/avalanche/shootemup.cpp
+++ b/engines/avalanche/shootemup.cpp
@@ -439,7 +439,36 @@ void ShootEmUp::bumpFolk() {
}
void ShootEmUp::peopleRunning() {
- warning("STUB: ShootEmUp::peopleRunning()");
+ if (_count321 != 0)
+ return;
+
+ for (int i = 0; i < 4; i++) {
+ if (_running[i]._x != kFlag) {
+ if (((_running[i]._y + _running[i]._iy) <= 53) || ((_running[i]._y + _running[i]._iy) >= 120))
+ _running[i]._iy = -(_running[i]._iy);
+
+ byte frame = 0;
+ if (_running[i]._ix < 0)
+ frame = _running[i]._frame;
+ else
+ frame = _running[i]._frame + 7;
+ define(_running[i]._x, _running[i]._y, frame, 0, 0, 1, false, true);
+
+ if (_running[i]._frameDelay == 0) {
+ _running[i]._frame++;
+ if (_running[i]._frame == _running[i]._tooHigh)
+ _running[i]._frame = _running[i]._lowest;
+ _running[i]._frameDelay = kFrameDelayMax;
+ _running[i]._y += _running[i]._iy;
+ } else
+ _running[i]._frameDelay--;
+
+ if (((_running[i]._x + _running[i]._ix) <= 0) || ((_running[i]._x + _running[i]._ix) >= 620))
+ turnAround(i, true);
+
+ _running[i]._x += _running[i]._ix;
+ }
+ }
}
void ShootEmUp::updateTime() {