diff options
author | Sven Hesse | 2008-02-16 02:20:30 +0000 |
---|---|---|
committer | Sven Hesse | 2008-02-16 02:20:30 +0000 |
commit | a67ebc3d7a724061a52d458af6ca0443dc99a547 (patch) | |
tree | 261a9d663151018a7f25e3ae2420ba0ba147c699 /engines/gob | |
parent | 28d61e484bba27cadd49ba4fd15dcc4f8f928cf6 (diff) | |
download | scummvm-rg350-a67ebc3d7a724061a52d458af6ca0443dc99a547.tar.gz scummvm-rg350-a67ebc3d7a724061a52d458af6ca0443dc99a547.tar.bz2 scummvm-rg350-a67ebc3d7a724061a52d458af6ca0443dc99a547.zip |
Fixed a Gob3 walking issue noticeable when Blount walks down double-wide stairs (see bug report #1888627)
svn-id: r30874
Diffstat (limited to 'engines/gob')
-rw-r--r-- | engines/gob/goblin_v2.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/engines/gob/goblin_v2.cpp b/engines/gob/goblin_v2.cpp index 7fa877fa8a..c9e155ad08 100644 --- a/engines/gob/goblin_v2.cpp +++ b/engines/gob/goblin_v2.cpp @@ -266,7 +266,7 @@ void Goblin_v2::movePathFind(Mult::Mult_Object *obj, Gob_Object *gobDesc, int16 if (_vm->_map->_screenWidth == 640) { if (_vm->_map->getPass(obj->goblinX, obj->goblinY) == 10) animData->nextState = 41; - if (_vm->_map->getPass(obj->goblinX - 1, obj->goblinY) != 10) + if (_vm->_map->getPass(obj->goblinX - 1, obj->goblinY + 2) != 10) animData->nextState = 7; } break; @@ -277,7 +277,7 @@ void Goblin_v2::movePathFind(Mult::Mult_Object *obj, Gob_Object *gobDesc, int16 if (_vm->_map->_screenWidth == 640) { if (_vm->_map->getPass(obj->goblinX, obj->goblinY) == 20) animData->nextState = 39; - else if (_vm->_map->getPass(obj->goblinX, obj->goblinY) == 19) + if (_vm->_map->getPass(obj->goblinX, obj->goblinY) == 19) animData->nextState = 27; } break; @@ -287,7 +287,7 @@ void Goblin_v2::movePathFind(Mult::Mult_Object *obj, Gob_Object *gobDesc, int16 if (_vm->_map->_screenWidth == 640) { if (_vm->_map->getPass(obj->goblinX, obj->goblinY) == 10) animData->nextState = 43; - if (_vm->_map->getPass(obj->goblinX + 1, obj->goblinY) != 10) + if (_vm->_map->getPass(obj->goblinX + 1, obj->goblinY + 2) != 10) animData->nextState = 5; } break; @@ -351,6 +351,8 @@ void Goblin_v2::moveAdvance(Mult::Mult_Object *obj, Gob_Object *gobDesc, case 13: case 16: case 23: + case 40: + case 41: animData->curLookDir = 0; break; @@ -358,6 +360,8 @@ void Goblin_v2::moveAdvance(Mult::Mult_Object *obj, Gob_Object *gobDesc, case 15: case 18: case 21: + case 26: + case 38: animData->curLookDir = 2; break; @@ -367,6 +371,8 @@ void Goblin_v2::moveAdvance(Mult::Mult_Object *obj, Gob_Object *gobDesc, case 12: case 19: case 22: + case 42: + case 43: animData->curLookDir = 4; break; @@ -374,6 +380,8 @@ void Goblin_v2::moveAdvance(Mult::Mult_Object *obj, Gob_Object *gobDesc, case 14: case 17: case 20: + case 27: + case 39: animData->curLookDir = 6; break; |