diff options
-rw-r--r-- | engines/mohawk/riven_stacks/gspit.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/engines/mohawk/riven_stacks/gspit.cpp b/engines/mohawk/riven_stacks/gspit.cpp index 1e3441a6a7..05f46c60dc 100644 --- a/engines/mohawk/riven_stacks/gspit.cpp +++ b/engines/mohawk/riven_stacks/gspit.cpp @@ -95,12 +95,17 @@ void GSpit::xgrotatepins(const ArgumentArray &args) { return; uint32 &pinPos = _vm->_vars["gpinpos"]; - uint32 startTime = (pinPos - 1) * 1200; - if (pinPos == 4) + static const uint32 pinPosTimes[] = { + 8416, 0, 1216, 2416, 3616, 4846, 6016, 7216 + }; + + uint32 startTime = pinPosTimes[pinPos]; + pinPos++; + uint32 endTime = pinPosTimes[pinPos]; + + if (pinPos > 4) pinPos = 1; - else - pinPos++; // Play the rotating sound _vm->_sound->playSound(12); @@ -109,7 +114,7 @@ void GSpit::xgrotatepins(const ArgumentArray &args) { RivenVideo *video = _vm->_video->openSlot(_vm->_vars["gupmoov"]); video->enable(); video->seek(startTime); - video->playBlocking(startTime + 1215); + video->playBlocking(endTime); video->disable(); } |