From acaf8f762382f1aa886d4a3f5b0b8b662863f01c Mon Sep 17 00:00:00 2001 From: D G Turner Date: Thu, 14 Jun 2012 21:02:44 +0100 Subject: TOON: Fix two latent off-by-one errors in Character Class. These were exposed by assertions from Common::Array usage. --- engines/toon/character.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'engines/toon/character.cpp') diff --git a/engines/toon/character.cpp b/engines/toon/character.cpp index c9073de587..09730626f2 100644 --- a/engines/toon/character.cpp +++ b/engines/toon/character.cpp @@ -201,7 +201,7 @@ bool Character::walkTo(int16 newPosX, int16 newPosY) { if (_blockingWalk) { while ((_x != newPosX || _y != newPosY) && _currentPathNode < _currentPath.size() && !_vm->shouldQuitGame()) { if (_currentPathNode < _currentPath.size() - 4) { - int32 delta = MIN(4, _currentPath.size() - _currentPathNode); + int32 delta = MIN(4, _currentPath.size() - 1 - _currentPathNode); int16 dx = _currentPath[_currentPathNode+delta].x - _x; int16 dy = _currentPath[_currentPathNode+delta].y - _y; @@ -348,7 +348,7 @@ void Character::update(int32 timeIncrement) { if ((_flags & 0x1) && _currentPath.size() > 0) { if (_currentPathNode < _currentPath.size()) { if (_currentPathNode < _currentPath.size() - 10) { - int32 delta = MIN(10, _currentPath.size() - _currentPathNode); + int32 delta = MIN(10, _currentPath.size() - 1 - _currentPathNode); int16 dx = _currentPath[_currentPathNode+delta].x - _x; int16 dy = _currentPath[_currentPathNode+delta].y - _y; setFacing(getFacingFromDirection(dx, dy)); -- cgit v1.2.3