[Scummvm-cvs-logs] SF.net SVN: scummvm: [32155] scummvm/trunk/engines/kyra
athrxx at users.sourceforge.net
athrxx at users.sourceforge.net
Sat May 17 19:44:24 CEST 2008
Revision: 32155
http://scummvm.svn.sourceforge.net/scummvm/?rev=32155&view=rev
Author: athrxx
Date: 2008-05-17 10:44:23 -0700 (Sat, 17 May 2008)
Log Message:
-----------
- fixes bug #1962601 at least for intro and outro
- add a mutex lock in sound_towns
Modified Paths:
--------------
scummvm/trunk/engines/kyra/sequences_hof.cpp
scummvm/trunk/engines/kyra/sound_towns.cpp
Modified: scummvm/trunk/engines/kyra/sequences_hof.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sequences_hof.cpp 2008-05-17 16:45:28 UTC (rev 32154)
+++ scummvm/trunk/engines/kyra/sequences_hof.cpp 2008-05-17 17:44:23 UTC (rev 32155)
@@ -855,8 +855,8 @@
seq_printCreditsString(81, 240, 70, _seqTextColorMap, 252);
seq_printCreditsString(82, 240, 90, _seqTextColorMap, _seqTextColor[0]);
_screen->copyPage(2, 12);
+ seq_playTalkText(_flags.isTalkie ? 28 : 24);
delay(endtime - _system->getMillis());
- seq_playTalkText(_flags.isTalkie ? 28 : 24);
_seqTextColor[0] = 1;
if (_flags.isTalkie) {
@@ -2337,8 +2337,11 @@
uint32 chatTimeout = _system->getMillis() + dur * _tickLength;
int curframe = firstframe;
- if (vocIndex && speechEnabled())
+ if (vocIndex && speechEnabled()) {
+ while (_sound->voiceIsPlaying() && !skipFlag())
+ delay(4);
seq_playTalkText(vocIndex);
+ }
while (_system->getMillis() < chatTimeout && !(_abortIntroFlag || skipFlag())) {
if (lastframe < 0) {
@@ -2377,11 +2380,8 @@
if (_abortIntroFlag || skipFlag())
_sound->voiceStop();
- if (lastframe < 0) {
- int t = ABS(lastframe);
- if (t < curframe)
- curframe = t;
- }
+ if (ABS(lastframe) < curframe)
+ curframe = ABS(lastframe);
if (curframe == firstframe)
curframe++;
Modified: scummvm/trunk/engines/kyra/sound_towns.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sound_towns.cpp 2008-05-17 16:45:28 UTC (rev 32154)
+++ scummvm/trunk/engines/kyra/sound_towns.cpp 2008-05-17 17:44:23 UTC (rev 32155)
@@ -1301,6 +1301,7 @@
void SoundTowns::playEuphonyTrack(uint32 offset, int loop) {
uint8 * twm = _vm->resource()->fileData("twmusic.pak", 0);
+ Common::StackLock lock(_mutex);
if (!_parser) {
_parser = new MidiParser_EuD(_driver->queue());
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list