aboutsummaryrefslogtreecommitdiff
path: root/engines/gob
diff options
context:
space:
mode:
authorSven Hesse2006-05-31 10:55:57 +0000
committerSven Hesse2006-05-31 10:55:57 +0000
commitda69cc267cbae8dff5ff3bb4f88ca8c81c5bc220 (patch)
treef59e84e3767e00baffab15cf310fb8fbce2de33b /engines/gob
parent31ebfdd1be2a099713962dea0c8b275aa59aa0a5 (diff)
downloadscummvm-rg350-da69cc267cbae8dff5ff3bb4f88ca8c81c5bc220.tar.gz
scummvm-rg350-da69cc267cbae8dff5ff3bb4f88ca8c81c5bc220.tar.bz2
scummvm-rg350-da69cc267cbae8dff5ff3bb4f88ca8c81c5bc220.zip
Hopefully fixed bug #1498024
svn-id: r22796
Diffstat (limited to 'engines/gob')
-rw-r--r--engines/gob/goblin.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/engines/gob/goblin.cpp b/engines/gob/goblin.cpp
index 9c7a337369..f3bf22ad61 100644
--- a/engines/gob/goblin.cpp
+++ b/engines/gob/goblin.cpp
@@ -933,12 +933,14 @@ void Goblin::targetItem(void) {
}
}
- if ((_vm->_map->_itemsMap[_pressedMapY +
- 1][_pressedMapX]) ==
- (_vm->_map->_itemsMap[_pressedMapY][_pressedMapX])) {
- _pressedMapY++;
- _vm->_map->_destY = _pressedMapY;
- _gobDestY = _pressedMapY;
+ if (_pressedMapY < (_vm->_map->_mapHeight-1)) {
+ if ((_vm->_map->_itemsMap[_pressedMapY +
+ 1][_pressedMapX]) ==
+ (_vm->_map->_itemsMap[_pressedMapY][_pressedMapX])) {
+ _pressedMapY++;
+ _vm->_map->_destY = _pressedMapY;
+ _gobDestY = _pressedMapY;
+ }
}
}
@@ -1024,8 +1026,8 @@ void Goblin::moveFindItem(int16 posX, int16 posY) {
break;
}
- _pressedMapX = posX / 12;
- _pressedMapY = posY / 6;
+ _pressedMapX = MIN(posX / 12, 25);
+ _pressedMapY = MIN(posY / 6, 27);
if (_vm->_map->_itemsMap[_pressedMapY][_pressedMapX] == 0
&& i < 20) {