aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Bouclet2017-08-05 08:19:44 +0200
committerBastien Bouclet2017-08-05 08:36:32 +0200
commitcd6a4423ef9b8fd04de977c757ce801b6565306e (patch)
tree2165910cc303c05372e487dd1d82b16f88844279
parent75491291f9c8cb737dba273cd2ff2abe1ee74bb2 (diff)
downloadscummvm-rg350-cd6a4423ef9b8fd04de977c757ce801b6565306e.tar.gz
scummvm-rg350-cd6a4423ef9b8fd04de977c757ce801b6565306e.tar.bz2
scummvm-rg350-cd6a4423ef9b8fd04de977c757ce801b6565306e.zip
MOHAWK: Myst: Display every second fireplace button animation frame
The animation is too slow when displaying each frame at 60 fps. Fixes #10053
-rw-r--r--engines/mohawk/myst_stacks/myst.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/engines/mohawk/myst_stacks/myst.cpp b/engines/mohawk/myst_stacks/myst.cpp
index e72d4e5c59..3ef0a99822 100644
--- a/engines/mohawk/myst_stacks/myst.cpp
+++ b/engines/mohawk/myst_stacks/myst.cpp
@@ -844,16 +844,19 @@ void Myst::o_fireplaceToggleButton(uint16 var, const ArgumentsArray &args) {
uint16 bitmask = args[0];
uint16 line = _fireplaceLines[var - 17];
+ // The animations are too slow when playing each animation image at 60fps.
+ // Only play every second image.
+
if (line & bitmask) {
// Unset button
- for (uint i = 4795; i >= 4779; i--) {
+ for (uint i = 4795; i >= 4779; i -= 2) {
_vm->_gfx->copyImageToScreen(i, getInvokingResource<MystArea>()->getRect());
_vm->doFrame();
}
_fireplaceLines[var - 17] &= ~bitmask;
} else {
// Set button
- for (uint i = 4779; i <= 4795; i++) {
+ for (uint i = 4779; i <= 4795; i += 2) {
_vm->_gfx->copyImageToScreen(i, getInvokingResource<MystArea>()->getRect());
_vm->doFrame();
}