diff options
author | Strangerke | 2014-11-27 00:11:57 +0100 |
---|---|---|
committer | Paul Gilbert | 2014-12-12 22:47:11 -0500 |
commit | 953321cc26f431f82314866b15fe312094e32ecb (patch) | |
tree | 060fe53f285d4ed71b77a61a2c1efd4dde8f39c2 | |
parent | 0cafe2719d56e1acd1b3972737a9f8e031d51136 (diff) | |
download | scummvm-rg350-953321cc26f431f82314866b15fe312094e32ecb.tar.gz scummvm-rg350-953321cc26f431f82314866b15fe312094e32ecb.tar.bz2 scummvm-rg350-953321cc26f431f82314866b15fe312094e32ecb.zip |
ACCESS: Fix a glitch in the intro, add a workaround for a crash, fix a logic flaw
-rw-r--r-- | engines/access/amazon/amazon_game.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/engines/access/amazon/amazon_game.cpp b/engines/access/amazon/amazon_game.cpp index 1a89ddb80d..05ac80e350 100644 --- a/engines/access/amazon/amazon_game.cpp +++ b/engines/access/amazon/amazon_game.cpp @@ -161,8 +161,8 @@ void AmazonEngine::doCredit() { _buffer2.plotImage(_objectsTable[0], 12, Common::Point(88, 55)); _buffer2.plotImage(_objectsTable[0], 6, Common::Point(194, 98)); } else if (_pCount <= 520) { - _buffer2.plotImage(_objectsTable[0], 7, Common::Point(90, 35)); - _buffer2.plotImage(_objectsTable[0], 8, Common::Point(90, 35)); + _buffer2.plotImage(_objectsTable[0], 7, Common::Point(32, 13)); + _buffer2.plotImage(_objectsTable[0], 8, Common::Point(162, 80)); } else if (_pCount <= 580) { _buffer2.plotImage(_objectsTable[0], 9, Common::Point(18, 15)); _buffer2.plotImage(_objectsTable[0], 10, Common::Point(164, 81)); @@ -258,6 +258,7 @@ void AmazonEngine::doTitle() { _events->pollEvents(); g_system->delayMillis(10); } + if (_events->_rightButton) { _skipStart = true; _room->clearRoom(); @@ -343,19 +344,19 @@ void AmazonEngine::doTitle() { ++_screen->_scrollRow; _buffer1.moveBufferUp(); - _room->buildRow(_screen->_scrollRow + _screen->_vWindowHeight, _screen->_vWindowLinesTall * _screen->_bufferBytesWide); + // WORKAROUND: the original was using _screen->_vWindowBytesWide * _screen->_vWindowLinesTall + _room->buildRow(_screen->_scrollRow + _screen->_vWindowHeight, _screen->_vWindowLinesTall); if (_screen->_scrollRow + _screen->_vWindowHeight >= _room->_playFieldHeight) { _room->clearRoom(); _events->showCursor(); return; } - - scrollTitle(); - while (!shouldQuit() && (_events->_vbCount > 0)) { - _events->pollEvents(); - g_system->delayMillis(10); - } + } + scrollTitle(); + while (!shouldQuit() && (_events->_vbCount > 0)) { + _events->pollEvents(); + g_system->delayMillis(10); } } } |