aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Kagerer2008-03-28 00:07:40 +0000
committerFlorian Kagerer2008-03-28 00:07:40 +0000
commit221e6bb84f67e8fd808d922a0ff347956b78e166 (patch)
tree90372e65740d1d7806be561864eca7cb097a5162
parent72484b204b85f1d25c01e0f0afc757d9a3c646b9 (diff)
downloadscummvm-rg350-221e6bb84f67e8fd808d922a0ff347956b78e166.tar.gz
scummvm-rg350-221e6bb84f67e8fd808d922a0ff347956b78e166.tar.bz2
scummvm-rg350-221e6bb84f67e8fd808d922a0ff347956b78e166.zip
- some accuracy changes for KyraEngine_v2::snd_playSoundEffect()
- fix one more skip flag bug in the sequence player - fix SoundTowns_v2::voicePlay() svn-id: r31278
-rw-r--r--engines/kyra/kyra_v2.cpp12
-rw-r--r--engines/kyra/sequences_v2.cpp2
-rw-r--r--engines/kyra/sound.h2
-rw-r--r--engines/kyra/sound_towns.cpp2
4 files changed, 10 insertions, 8 deletions
diff --git a/engines/kyra/kyra_v2.cpp b/engines/kyra/kyra_v2.cpp
index 11cc9b2fb9..7941a68256 100644
--- a/engines/kyra/kyra_v2.cpp
+++ b/engines/kyra/kyra_v2.cpp
@@ -1766,13 +1766,15 @@ void KyraEngine_v2::playVoice(int high, int low) {
void KyraEngine_v2::snd_playSoundEffect(int track) {
debugC(9, kDebugLevelMain | kDebugLevelSound, "KyraEngine_v2::snd_playSoundEffect(%d)", track);
- if (track == 10)
- track = _lastSfxTrack;
+ if (_flags.platform == Common::kPlatformFMTowns || _flags.platform == Common::kPlatformPC98) {
+ if (track == 10)
+ track = _lastSfxTrack;
- if (track == 10 || track == -1)
- return;
+ if (track == 10 || track == -1)
+ return;
- _lastSfxTrack = track;
+ _lastSfxTrack = track;
+ }
int16 vocIndex = (int16)READ_LE_UINT16(&_ingameSoundIndex[track * 2]);
if (vocIndex != -1)
diff --git a/engines/kyra/sequences_v2.cpp b/engines/kyra/sequences_v2.cpp
index 62bb4f0265..8e4118ea77 100644
--- a/engines/kyra/sequences_v2.cpp
+++ b/engines/kyra/sequences_v2.cpp
@@ -2605,7 +2605,7 @@ void KyraEngine_v2::seq_showStarcraftLogo() {
_screen->fadeToBlack();
_screen->showMouse();
- resetSkipFlag();
+ _eventList.clear();
delete ci;
}
diff --git a/engines/kyra/sound.h b/engines/kyra/sound.h
index 1970daa2e2..b786c9e013 100644
--- a/engines/kyra/sound.h
+++ b/engines/kyra/sound.h
@@ -428,7 +428,7 @@ public:
void haltTrack();
void beginFadeOut();
- bool voicePlay(const char *file);
+ bool voicePlay(const char *file, bool isSfx = false);
void playSoundEffect(uint8) {}
private:
diff --git a/engines/kyra/sound_towns.cpp b/engines/kyra/sound_towns.cpp
index 28d869b955..88651fbb5a 100644
--- a/engines/kyra/sound_towns.cpp
+++ b/engines/kyra/sound_towns.cpp
@@ -1432,7 +1432,7 @@ void SoundTowns_v2::haltTrack() {
//_driver->reset();
}
-bool SoundTowns_v2::voicePlay(const char *file) {
+bool SoundTowns_v2::voicePlay(const char *file, bool) {
static const uint16 rates[] = { 0x10E1, 0x0CA9, 0x0870, 0x0654, 0x0438, 0x032A, 0x021C, 0x0194 };
int h = 0;