aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/actor_walk.cpp
diff options
context:
space:
mode:
authorPeter Kohaut2018-02-18 22:18:41 +0100
committerPeter Kohaut2018-02-18 22:20:16 +0100
commit7090841ccc43c64d5a1d9058071ebccaf6b52fc2 (patch)
tree44fb7798096b66646039a34c6d4756e091bc700b /engines/bladerunner/actor_walk.cpp
parent1d69120112e16a74a9d101a0d4d9de04196d29de (diff)
downloadscummvm-rg350-7090841ccc43c64d5a1d9058071ebccaf6b52fc2.tar.gz
scummvm-rg350-7090841ccc43c64d5a1d9058071ebccaf6b52fc2.tar.bz2
scummvm-rg350-7090841ccc43c64d5a1d9058071ebccaf6b52fc2.zip
BLADERUNNER: Support for running
Fixed Runciter idle state Fixed movement track delay Basic combat support
Diffstat (limited to 'engines/bladerunner/actor_walk.cpp')
-rw-r--r--engines/bladerunner/actor_walk.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/engines/bladerunner/actor_walk.cpp b/engines/bladerunner/actor_walk.cpp
index fccc8e22b3..3a2327a8df 100644
--- a/engines/bladerunner/actor_walk.cpp
+++ b/engines/bladerunner/actor_walk.cpp
@@ -37,8 +37,8 @@ namespace BladeRunner {
ActorWalk::ActorWalk(BladeRunnerEngine *vm) {
_vm = vm;
- _walking = 0;
- _running = 0;
+ _walking = false;
+ _running = false;
_facing = -1;
_status = 0;
@@ -228,6 +228,16 @@ void ActorWalk::stop(int actorId, bool immediately, int combatAnimationMode, int
}
}
+void ActorWalk::run(int actorId) {
+ _running = true;
+
+ int animationMode = kAnimationModeRun;
+ if (_vm->_actors[actorId]->inCombat()) {
+ animationMode = kAnimationModeCombatRun;
+ }
+ _vm->_actors[actorId]->changeAnimationMode(animationMode, false);
+}
+
bool ActorWalk::isXYZEmpty(float x, float y, float z, int actorId) const {
if (_vm->_scene->_set->findWalkbox(x, z) == -1) {
return true;