From fc6bde8f2388aa39bd976f2e2d7b9daab38c134a Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 12 Oct 2015 21:42:35 -0400 Subject: SHERLOCK: RT: Slightly increase movement speed This may cause slight timing issues when doing animations of Holmes playing musical instruments; I've already added special cases for several of them to still keep animations in sync with the music --- engines/sherlock/events.h | 2 +- engines/sherlock/tattoo/tattoo_scene.cpp | 5 ++++- engines/sherlock/tattoo/tattoo_talk.cpp | 5 +++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/engines/sherlock/events.h b/engines/sherlock/events.h index e13ef18822..c3fa147399 100644 --- a/engines/sherlock/events.h +++ b/engines/sherlock/events.h @@ -30,7 +30,7 @@ namespace Sherlock { -#define GAME_FRAME_RATE 30 +#define GAME_FRAME_RATE 40 #define GAME_FRAME_TIME (1000 / GAME_FRAME_RATE) enum CursorId { ARROW = 0, MAGNIFY = 1, WAIT = 2, EXIT_ZONES_START = 5, INVALID_CURSOR = -1 }; diff --git a/engines/sherlock/tattoo/tattoo_scene.cpp b/engines/sherlock/tattoo/tattoo_scene.cpp index 4dffaa0ce0..3b3e10d814 100644 --- a/engines/sherlock/tattoo/tattoo_scene.cpp +++ b/engines/sherlock/tattoo/tattoo_scene.cpp @@ -655,7 +655,9 @@ int TattooScene::startCAnim(int cAnimNum, int playRate) { if (ui._windowOpen) ui.banishWindow(); - //_activeCAnim._filesize = cAnim._size; + if (_currentScene == 3 && cAnimNum == 21) + // Set framerate for correct playing of violin in Holmes' bedroom + events.setFrameRate(30); // Open up the room resource file and get the data for the animation Common::SeekableReadStream *stream = res.load(_roomFilename); @@ -719,6 +721,7 @@ int TattooScene::startCAnim(int cAnimNum, int playRate) { _activeCAnim._zPlacement = REMOVE; _activeCAnim._removeBounds = _activeCAnim._oldBounds; _vm->_ui->_bgFound = -1; + events.setFrameRate(GAME_FRAME_RATE); // Free up the animation _activeCAnim.close(); diff --git a/engines/sherlock/tattoo/tattoo_talk.cpp b/engines/sherlock/tattoo/tattoo_talk.cpp index a4ceca042b..dd5c821d22 100644 --- a/engines/sherlock/tattoo/tattoo_talk.cpp +++ b/engines/sherlock/tattoo/tattoo_talk.cpp @@ -192,6 +192,9 @@ void TattooTalk::talkTo(const Common::String filename) { if (filename == "wilb29a") events.incWaitCounter(); + if (filename == "keys33d") + events.setFrameRate(30); + Talk::talkTo(filename); if (filename == "wilb29a") @@ -200,6 +203,8 @@ void TattooTalk::talkTo(const Common::String filename) { events.decWaitCounter(); events.setCursor(ARROW); } + if (filename == "keys33d") + events.setFrameRate(GAME_FRAME_RATE); } void TattooTalk::talkInterface(const byte *&str) { -- cgit v1.2.3