[Scummvm-git-logs] scummvm master -> d0f77bb43f552a562b199e41a1347cd1da452be7

antoniou79 noreply at scummvm.org
Fri May 5 12:07:26 UTC 2023


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
d0f77bb43f BLADERUNNER: Fix glitch in CT01 mainloop


Commit: d0f77bb43f552a562b199e41a1347cd1da452be7
    https://github.com/scummvm/scummvm/commit/d0f77bb43f552a562b199e41a1347cd1da452be7
Author: antoniou79 (a.antoniou79 at gmail.com)
Date: 2023-05-05T15:06:44+03:00

Commit Message:
BLADERUNNER: Fix glitch in CT01 mainloop

Changed paths:
    engines/bladerunner/script/scene/ct01.cpp
    engines/bladerunner/vqa_player.cpp


diff --git a/engines/bladerunner/script/scene/ct01.cpp b/engines/bladerunner/script/scene/ct01.cpp
index e3895baa401..9ccf1b7cc2a 100644
--- a/engines/bladerunner/script/scene/ct01.cpp
+++ b/engines/bladerunner/script/scene/ct01.cpp
@@ -26,7 +26,7 @@ namespace BladeRunner {
 enum kCT01Loops {
 	kCT01LoopInshotFromCT12WithSpinner = 0, //   0 -  14
 	kCT01LoopInshot                    = 1, //  15 - 194
-	kCT01LoopMainLoop                  = 2, // 195 - 255
+	kCT01LoopMainLoop                  = 2, // 195 - 255 (plays up to 254 due to a bug fix)
 	kCT01LoopDoorAnim                  = 4, // 256 - 315
 	kCT01LoopOutshot                   = 5, // 316 - 435
 	kCT01LoopInshotFromCT12NoSpinner   = 6, // 436 - 450
diff --git a/engines/bladerunner/vqa_player.cpp b/engines/bladerunner/vqa_player.cpp
index 53981775492..f2d1556ba7b 100644
--- a/engines/bladerunner/vqa_player.cpp
+++ b/engines/bladerunner/vqa_player.cpp
@@ -54,6 +54,11 @@ bool VQAPlayer::open() {
 		// smoke (overlay) after explosion of Dermo Labs in DR04
 		// This has still frames in the end that so it looked as if the smoke was "frozen"
 		_decoder._loopInfo.loops[0].end  = 58; // 59 up to 74 are still frames
+	} else if (_name.equals("CT01.VQA")) {
+		// In the last frame of the Mainloop (255) a Howie Lee's customer's hand
+		// backwards abruptly the loop looks jarring. We skip the last frame.
+		_decoder._loopInfo.loops[2].end  = 254;
+		_decoder._loopInfo.loops[3].end  = 254;
 	}
 #endif
 
@@ -187,9 +192,8 @@ int VQAPlayer::update(bool forceDraw, bool advanceFrame, bool useTime, Graphics:
 			}
 #endif
 		}
-		if (_frameNext != _frameBeginNext) {
-			_frameNext = _frameBeginNext;
-		}
+
+		_frameNext = _frameBeginNext;
 
 		if (loopEndQueued == -1) {
 			if (_repeatsCount != -1) {




More information about the Scummvm-git-logs mailing list