diff options
author | Sven Hesse | 2007-05-01 14:49:13 +0000 |
---|---|---|
committer | Sven Hesse | 2007-05-01 14:49:13 +0000 |
commit | 54b8a4d06f56b3045f0e5a1ec3709ac1524f48d0 (patch) | |
tree | 6e9a7122743cfc534b388c08542a0adb6879d093 /engines/gob/game.cpp | |
parent | 8aed6861f9d6f0f2177e6bb6be24d2497c46984e (diff) | |
download | scummvm-rg350-54b8a4d06f56b3045f0e5a1ec3709ac1524f48d0.tar.gz scummvm-rg350-54b8a4d06f56b3045f0e5a1ec3709ac1524f48d0.tar.bz2 scummvm-rg350-54b8a4d06f56b3045f0e5a1ec3709ac1524f48d0.zip |
Made the collisionAreas' coordinates unsigned. This should fix bug #1706988
svn-id: r26715
Diffstat (limited to 'engines/gob/game.cpp')
-rw-r--r-- | engines/gob/game.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/engines/gob/game.cpp b/engines/gob/game.cpp index 926e9e3f68..43eac76928 100644 --- a/engines/gob/game.cpp +++ b/engines/gob/game.cpp @@ -198,7 +198,7 @@ byte *Game::loadExtData(int16 itemId, int16 *pResWidth, void Game::freeCollision(int16 id) { for (int i = 0; i < 250; i++) { if (_collisionAreas[i].id == id) - _collisionAreas[i].left = -1; + _collisionAreas[i].left = 0xFFFF; } } @@ -675,13 +675,13 @@ byte *Game::loadLocTexts(void) { void Game::setCollisions(void) { byte *savedIP; - int16 left; - int16 top; - int16 width; - int16 height; + uint16 left; + uint16 top; + uint16 width; + uint16 height; Collision *collArea; - for (collArea = _collisionAreas; collArea->left != -1; collArea++) { + for (collArea = _collisionAreas; collArea->left != 0xFFFF; collArea++) { if (((collArea->id & 0xC000) != 0x8000) || (collArea->funcSub == 0)) continue; @@ -691,7 +691,8 @@ void Game::setCollisions(void) { top = _vm->_parse->parseValExpr(); width = _vm->_parse->parseValExpr(); height = _vm->_parse->parseValExpr(); - if ((_vm->_draw->_renderFlags & RENDERFLAG_CAPTUREPOP) && (left != -1)) { + if ((_vm->_draw->_renderFlags & RENDERFLAG_CAPTUREPOP) && + (left != 0xFFFF)) { left += _vm->_draw->_backDeltaX; top += _vm->_draw->_backDeltaY; } |