From: <av...@us...> - 2009-10-26 18:26:04
|
Revision: 3253 http://sc2.svn.sourceforge.net/sc2/?rev=3253&view=rev Author: avolkov Date: 2009-10-26 18:25:56 +0000 (Mon, 26 Oct 2009) Log Message: ----------- 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 Modified Paths: -------------- trunk/sc2/src/uqm/comm/starbas/starbas.c trunk/sc2/src/uqm/comm/syreen/syreenc.c trunk/sc2/src/uqm/comm.c Modified: trunk/sc2/src/uqm/comm/starbas/starbas.c =================================================================== --- trunk/sc2/src/uqm/comm/starbas/starbas.c 2009-10-25 22:21:08 UTC (rev 3252) +++ trunk/sc2/src/uqm/comm/starbas/starbas.c 2009-10-26 18:25:56 UTC (rev 3253) @@ -1288,11 +1288,13 @@ 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); } Modified: trunk/sc2/src/uqm/comm/syreen/syreenc.c =================================================================== --- trunk/sc2/src/uqm/comm/syreen/syreenc.c 2009-10-25 22:21:08 UTC (rev 3252) +++ trunk/sc2/src/uqm/comm/syreen/syreenc.c 2009-10-26 18:25:56 UTC (rev 3253) @@ -218,7 +218,6 @@ NPCPhrase (LATER); NPCPhrase (SEX_GOODBYE); - AlienTalkSegue (1); AlienTalkSegue (2); XFormColorMap (GetColorMapAddress ( SetAbsColorMapIndex (CommData.AlienColorMap, 0) Modified: trunk/sc2/src/uqm/comm.c =================================================================== --- trunk/sc2/src/uqm/comm.c 2009-10-25 22:21:08 UTC (rev 3252) +++ trunk/sc2/src/uqm/comm.c 2009-10-26 18:25:56 UTC (rev 3253) @@ -569,19 +569,16 @@ 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. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |