aboutsummaryrefslogtreecommitdiff
path: root/engines/prince/hero.cpp
diff options
context:
space:
mode:
authorlukaslw2014-07-14 03:26:17 +0200
committerlukaslw2014-07-14 03:26:17 +0200
commitb0c454fc9ba282f5f72a0c69a6b897e38eaddb82 (patch)
tree52c304d0d2036978354375c01a6aee4e507c9999 /engines/prince/hero.cpp
parent52dbd8866e418c4f0f7861216e14a70263822949 (diff)
downloadscummvm-rg350-b0c454fc9ba282f5f72a0c69a6b897e38eaddb82.tar.gz
scummvm-rg350-b0c454fc9ba282f5f72a0c69a6b897e38eaddb82.tar.bz2
scummvm-rg350-b0c454fc9ba282f5f72a0c69a6b897e38eaddb82.zip
PRINCE: Pathfinding - bug fixing, first correct path
Diffstat (limited to 'engines/prince/hero.cpp')
-rw-r--r--engines/prince/hero.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/engines/prince/hero.cpp b/engines/prince/hero.cpp
index e91d6a971f..94c7b8b313 100644
--- a/engines/prince/hero.cpp
+++ b/engines/prince/hero.cpp
@@ -38,6 +38,7 @@ Hero::Hero(PrinceEngine *vm, GraphicsMan *graph) : _vm(vm), _graph(graph)
, _specAnim(0), _drawX(0), _drawY(0), _drawZ(0), _zoomFactor(0), _scaleValue(0)
, _shadZoomFactor(0), _shadScaleValue(0), _shadLineLen(0), _shadDrawX(0), _shadDrawY(0)
, _frameXSize(0), _frameYSize(0), _scaledFrameXSize(0), _scaledFrameYSize(0), _color(0)
+ , _coords(nullptr), _dirTab(nullptr), _currCoords(nullptr), _currDirTab(nullptr), _step(0)
{
_zoomBitmap = (byte *)malloc(kZoomBitmapLen);
_shadowBitmap = (byte *)malloc(2 * kShadowBitmapSize);
@@ -788,6 +789,21 @@ void Hero::scrollHero() {
_drawX -= destValue;
}
+void Hero::freeOldMove() {
+ if (_coords != nullptr) {
+ free(_coords);
+ _coords = nullptr;
+ }
+ if (_dirTab != nullptr) {
+ free(_dirTab);
+ _dirTab = nullptr;
+ }
+ _step = 0;
+ _phase = 0;
+ _moveDelay = 0;
+ _state = Hero::STAY;
+}
+
}
/* vim: set tabstop=4 noexpandtab: */