Fix bug #5 (lockup when aborting orz initial communication)

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@673 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
ghaushe
2003-02-05 01:10:52 +00:00
parent 648cb1adbd
commit ffcf8c68dc
2 changed files with 8 additions and 3 deletions
+1
View File
@@ -1,4 +1,5 @@
Changes towards version 0.2: Changes towards version 0.2:
- Fixed lockup when fastforwarding through orz comm -PBlue
- A new windows installer is now in builds/win32_install -PBlue - A new windows installer is now in builds/win32_install -PBlue
- Added '-a' switch to go between OpenAL and MixSDL at runtime -PBlue - Added '-a' switch to go between OpenAL and MixSDL at runtime -PBlue
- Melnorme will pronounce numbers now -fOSSiL - Melnorme will pronounce numbers now -fOSSiL
+6 -2
View File
@@ -1253,7 +1253,10 @@ Rewind:
else else
{ {
CommData.AlienFrame = F; CommData.AlienFrame = F;
if (! which_track)
return (FALSE); return (FALSE);
else
return (TRUE);
} }
ContinuityBreak = FALSE; ContinuityBreak = FALSE;
} }
@@ -1276,6 +1279,7 @@ Rewind:
void void
AlienTalkSegue (COUNT wait_track) AlienTalkSegue (COUNT wait_track)
{ {
BOOLEAN abort;
if ((GLOBAL (CurrentActivity) & CHECK_ABORT) if ((GLOBAL (CurrentActivity) & CHECK_ABORT)
|| (CommData.AlienTransitionDesc.AnimFlags & TALK_INTRO)) || (CommData.AlienTransitionDesc.AnimFlags & TALK_INTRO))
return; return;
@@ -1370,12 +1374,12 @@ AlienTalkSegue (COUNT wait_track)
} }
} }
if (!SpewPhrases (wait_track) || wait_track == (COUNT)~0) if (!(abort = SpewPhrases (wait_track)) || wait_track == (COUNT)~0)
FadeMusic (FOREGROUND_VOL, ONE_SECOND); FadeMusic (FOREGROUND_VOL, ONE_SECOND);
else else
CommData.AlienTransitionDesc.AnimFlags &= ~TALK_INTRO; CommData.AlienTransitionDesc.AnimFlags &= ~TALK_INTRO;
if (wait_track == (COUNT)~0 || CommData.AlienTalkDesc.NumFrames) if (wait_track == (COUNT)~0 || ! abort || CommData.AlienTalkDesc.NumFrames)
{ {
CommData.AlienTransitionDesc.AnimFlags |= TALK_DONE; CommData.AlienTransitionDesc.AnimFlags |= TALK_DONE;
if ((CommData.AlienTalkDesc.AnimFlags & WAIT_TALKING)) if ((CommData.AlienTalkDesc.AnimFlags & WAIT_TALKING))