I'm still using 2.62 to finish off my game, but I was just having a problem that I figured out that I wanted to bring to CJ's attention:
I have a cutscene that was mostly hanging when I'd try to skip it.
Only towards the end would it skip properly.
If I let the cutscene run, all worked well.
I found that the problem was at one point I ran an AnimateCharacter.
In this view/loop one frame would play a sound.
I would
while (!IsSoundPlaying())
Ã, Wait(1);
And then I'd run a different animation on a different character.
I did this for synchronization.
But I found out that that wait above would lock up the cutscene skip.
I got around it by watching for the specific frame to appear that played the sound instead.
Now the cutscene skips well.
I'm not asking for any resolution or anything.Ã, I'm just putting this out as an FYI to CJ since I didn't see this noted anywhere on the boards, manual, helps, faqs, etc that I saw.
Note that when you skip an animation, all the remaining sound playings within it are skipped and ignored, so when a cutscene is being skipped (which is actually a "fastforward" playing of it, ignoring screen refreshes and sound playings), the sound linked to the frame will not be played, so the while loop will go on "forever" (that is, the game will crash after the loop reaches a certain number).
So, if you need a cutscene to be skippable it's not a good practice to sync it by checking whether a sound is not playing (but the reverse is okay, like checking whether a sound IS playing, like while(IsSoundPlaying()) Wait(1);, since it will be ignored immediately when the cutscene is being skipped). A better choice is to use a timer, or better in your case, check the character's frame and see whether the one with sound playing is reached (since you had fixed it already, these're just some extra suggestions).
Yes, for obvious reasons when a cutscene is being skipped sound effects will not be played, which will mean that IsSoundPlaying always returns 0.
As Gilbert says, this is by design.