Do not make alien comm code play each track individually when there are events interspersed, it causes subtitle blinking, and there is no need for this

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3253 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
avolkov
2009-10-26 18:25:56 +00:00
parent 90945cf8df
commit 4cf3f2b292
3 changed files with 13 additions and 15 deletions
+9 -12
View File
@@ -569,19 +569,16 @@ SpewPhrases (COUNT wait_track)
which_track = PlayingTrack ();
if (which_track == 0 && !rewind)
{
// initial start of player
if (wait_track == 1 || wait_track == (COUNT)~0)
{ // initial start of player
UnlockMutex (GraphicsLock);
PlayTrack ();
// wait for the trackplayer to start playing
do
{
UnlockMutex (GraphicsLock);
PlayTrack ();
do
{
TaskSwitch ();
which_track = PlayingTrack ();
} while (!which_track);
LockMutex (GraphicsLock);
}
TaskSwitch ();
which_track = PlayingTrack ();
} while (!which_track);
LockMutex (GraphicsLock);
}
else if (which_track <= wait_track)
{ // XXX: I don't know why this is here, but it is not harmful.
+4 -2
View File
@@ -1288,11 +1288,13 @@ DiscussDevices (BOOLEAN TalkAbout)
if (VuxBeastIndex)
{
for (i = 1; i < VuxBeastIndex; ++i)
AlienTalkSegue (i);
// Run all tracks upto the Vux Beast scientist's report
AlienTalkSegue (VuxBeastIndex - 1);
// Disable Commander's speech animation and run the report
i = CommData.AlienTalkDesc.NumFrames;
CommData.AlienTalkDesc.NumFrames = 0;
AlienTalkSegue (VuxBeastIndex);
// Enable Commander's speech animation and run the rest
CommData.AlienTalkDesc.NumFrames = i;
AlienTalkSegue ((COUNT)~0);
}
-1
View File
@@ -218,7 +218,6 @@ FriendlyExit (RESPONSE_REF R)
NPCPhrase (LATER);
NPCPhrase (SEX_GOODBYE);
AlienTalkSegue (1);
AlienTalkSegue (2);
XFormColorMap (GetColorMapAddress (
SetAbsColorMapIndex (CommData.AlienColorMap, 0)