diff options
author | Paul Gilbert | 2013-03-17 16:28:20 -0400 |
---|---|---|
committer | Paul Gilbert | 2013-03-17 16:28:20 -0400 |
commit | 3d50c11071ee6b89fb11cda961b6f3cfb7c92f80 (patch) | |
tree | 89a93d6859adc11f94affc7f1803f6ed6d0242fe /engines/hopkins | |
parent | 9f81c4e556b4fd86d12291febfb53a1f2eee3886 (diff) | |
download | scummvm-rg350-3d50c11071ee6b89fb11cda961b6f3cfb7c92f80.tar.gz scummvm-rg350-3d50c11071ee6b89fb11cda961b6f3cfb7c92f80.tar.bz2 scummvm-rg350-3d50c11071ee6b89fb11cda961b6f3cfb7c92f80.zip |
HOPKINS: Fix corrupted frame at end of bank attack animation
Diffstat (limited to 'engines/hopkins')
-rw-r--r-- | engines/hopkins/hopkins.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp index 2821746232..64a6c056a4 100644 --- a/engines/hopkins/hopkins.cpp +++ b/engines/hopkins/hopkins.cpp @@ -834,6 +834,7 @@ bool HopkinsEngine::runFull() { case 3: if (!_globals._saveData->_data[svBankAttackAnimPlayedFl]) { + // Play the bank attack animation _soundManager.playSound(3); if (getPlatform() == Common::kPlatformOS2 || getPlatform() == Common::kPlatformBeOS) _graphicsManager.loadImage("fond"); @@ -865,13 +866,20 @@ bool HopkinsEngine::runFull() { } else { _animationManager.playAnim("BANQUE.ANM", 200, 28, 200); } + _soundManager._specialSoundNum = 0; _soundManager.removeSample(1); _soundManager.removeSample(2); _soundManager.removeSample(3); _soundManager.removeSample(4); - if (getPlatform() != Common::kPlatformLinux) + + if (getPlatform() != Common::kPlatformLinux) { + // Copy the end of the animation into the secondary buffer and fade out the screen + Common::fill(_graphicsManager._vesaBuffer, _graphicsManager._vesaBuffer + + SCREEN_WIDTH * 2 * SCREEN_HEIGHT, 0); _graphicsManager.fadeOutLong(); + } + _globals._saveData->_data[svBankAttackAnimPlayedFl] = 1; } _linesManager.setMaxLineIdx(5); |