diff options
-rw-r--r-- | engines/bladerunner/actor.h | 1 | ||||
-rw-r--r-- | engines/bladerunner/bladerunner.cpp | 1 | ||||
-rw-r--r-- | engines/bladerunner/combat.cpp | 5 |
3 files changed, 7 insertions, 0 deletions
diff --git a/engines/bladerunner/actor.h b/engines/bladerunner/actor.h index 9d84e57593..5f4884fa4e 100644 --- a/engines/bladerunner/actor.h +++ b/engines/bladerunner/actor.h @@ -128,6 +128,7 @@ public: void setAtXYZ(const Vector3 &pos, int facing, bool setFacing = true, bool moving = false, bool retired = false); void setAtWaypoint(int waypointId, int angle, int unknown, bool retired); + int getId() const { return _id; }; float getX() const; float getY() const; float getZ() const; diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp index 8c729a7b36..ecb4048233 100644 --- a/engines/bladerunner/bladerunner.cpp +++ b/engines/bladerunner/bladerunner.cpp @@ -374,6 +374,7 @@ Common::Error BladeRunnerEngine::run() { // else { // newGame(kGameDifficultyMedium); // } + gameLoop(); _mouse->disable(); diff --git a/engines/bladerunner/combat.cpp b/engines/bladerunner/combat.cpp index afe339c5e5..f62e91dfd1 100644 --- a/engines/bladerunner/combat.cpp +++ b/engines/bladerunner/combat.cpp @@ -158,6 +158,11 @@ void Combat::shoot(int actorId, Vector3 &to, int screenX) { if (actor->inCombat()) { actor->combatModeOff(); } +#if BLADERUNNER_ORIGINAL_BUGS +#else + // make sure the dead enemy won't pick a pending movement track and re-spawn + actor->_movementTrack->flush(); +#endif actor->stopWalking(false); actor->changeAnimationMode(kAnimationModeDie, false); |