[Scummvm-git-logs] scummvm master -> 60d5eb8653e73908784935636910a2034248866e
antoniou79
noreply at scummvm.org
Tue Jul 28 15:51:50 UTC 2026
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
60d5eb8653 MYST3: Fix end frame glitch in right cups wheel in Amateria
Commit: 60d5eb8653e73908784935636910a2034248866e
https://github.com/scummvm/scummvm/commit/60d5eb8653e73908784935636910a2034248866e
Author: antoniou79 (a.antoniou79 at gmail.com)
Date: 2026-07-28T18:51:37+03:00
Commit Message:
MYST3: Fix end frame glitch in right cups wheel in Amateria
Fixes #17033
We don't allow var 35 to reach 801 in the case of the "crash"/"exposion" of the ball in the right cups wheel. Covers six particular combination cases, as detailed in the bug report.
Changed paths:
engines/myst3/movie.cpp
engines/myst3/puzzles.cpp
diff --git a/engines/myst3/movie.cpp b/engines/myst3/movie.cpp
index 30a78661f5c..41c7b5c7e49 100644
--- a/engines/myst3/movie.cpp
+++ b/engines/myst3/movie.cpp
@@ -394,7 +394,6 @@ void ScriptedMovie::update(bool pauseAtFirstFrame) {
if (getId() == 12001
&& _vm->_state->getLocationRoom() == 1005 && _vm->_state->getLocationAge() == 10
&& nextFrame >= 200 && nextFrame < 250) {
- debug("effectiveStartframe for getId(): %d (room: %d, age: %d) is: %d", getId(), _vm->_state->getLocationRoom(), _vm->_state->getLocationAge(), effectiveStartFrame);
// fix glitchy transition for rotation of the left turntable track (movie id 12001, room: 1005, age: 10),
// eg. when the left dial panel has no wood pegs
if (nextFrame >= 247) {
diff --git a/engines/myst3/puzzles.cpp b/engines/myst3/puzzles.cpp
index 7ddf34634e3..a94a12be1f8 100644
--- a/engines/myst3/puzzles.cpp
+++ b/engines/myst3/puzzles.cpp
@@ -949,8 +949,13 @@ void Puzzles::pinball(int16 var) {
--rightToLeftJumpCountdown;
}
if (!rightToLeftJumpCountdown) {
- _vm->_state->setVar(35, crashedRightFrame);
- crashedRightFrame++;
+ if (crashedRightFrame != 801) {
+ _vm->_state->setVar(35, crashedRightFrame);
+ crashedRightFrame++;
+ } else {
+ // fix for right cups wheel animation glitch (bug #17033) - avoid setting var 35 to 801
+ warning("Skipping setting the next scripted frame (var 35) for right cups wheel to %d", crashedRightFrame);
+ }
}
_vm->_state->setVar(32, rightPanelFrame);
More information about the Scummvm-git-logs
mailing list