aboutsummaryrefslogtreecommitdiff
path: root/engines/hopkins
diff options
context:
space:
mode:
authorPaul Gilbert2013-03-17 16:28:20 -0400
committerPaul Gilbert2013-03-17 16:28:20 -0400
commit3d50c11071ee6b89fb11cda961b6f3cfb7c92f80 (patch)
tree89a93d6859adc11f94affc7f1803f6ed6d0242fe /engines/hopkins
parent9f81c4e556b4fd86d12291febfb53a1f2eee3886 (diff)
downloadscummvm-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.cpp10
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);