aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2015-10-12 21:42:35 -0400
committerPaul Gilbert2015-10-12 21:42:35 -0400
commitfc6bde8f2388aa39bd976f2e2d7b9daab38c134a (patch)
tree038f8e97e2079959b7d8e0c83ccb54798646d4da
parent8bed2184154dab111c374c46562763386c47cda0 (diff)
downloadscummvm-rg350-fc6bde8f2388aa39bd976f2e2d7b9daab38c134a.tar.gz
scummvm-rg350-fc6bde8f2388aa39bd976f2e2d7b9daab38c134a.tar.bz2
scummvm-rg350-fc6bde8f2388aa39bd976f2e2d7b9daab38c134a.zip
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
-rw-r--r--engines/sherlock/events.h2
-rw-r--r--engines/sherlock/tattoo/tattoo_scene.cpp5
-rw-r--r--engines/sherlock/tattoo/tattoo_talk.cpp5
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) {