Speech animation not looping when SkipStyle set to KeyMouse

Started by Laura Hunt, Thu 04/08/2022 18:54:36

Previous topic - Next topic

Laura Hunt


I'm not sure if this is a bug, a feature, or if there's something really obvious I'm missing.

I'm using AGS 3.6.0.30, and I have set Speech.SkipStyle to eSkipKeyMouse. I'm using "Lucasarts" speech style (above the characters' heads) and I don't have any voice clips/voiceover.

What I expect to happen is that when my character says something (cTestChar.Say("Hi! I am a test character.");), the text will stay on screen and his talking animation will loop until I click the mouse or press a key.

However, what happens is that his talking animation only plays up until a certain point and then it freezes until I press a key or click the mouse and a new line plays.

My guess is that this animation only plays for as long as it would usually take for the text to be dismissed at the current TextReadingSpeed, and then it simply stops. Is this intended? Am I missing anything?

Snarky

What you describe seems to me like the desired behavior for most cases. Certainly it's how I would expect it to work with Sierra-style animated speech, and I don't really see a reason why LucasArts-style speech should be different, when it's set to not advance automatically. I think it would look bizarre if the line is, for example, "Hi, Bob!" and the speech animation just keeps running and running indefinitely. (Or, by analogy, if you had voice acting, I would expect it to play once, and then wait for you to dismiss the line. I wouldn't expect the voiced line to keep playing over and over until you advanced.)

What happens if you set Game.TextReadingSpeed to 0?

Laura Hunt

Quote from: Snarky on Thu 04/08/2022 22:43:52
What you describe seems to me like the desired behavior for most cases. Certainly it's how I would expect it to work with Sierra-style animated speech, and I don't really see a reason why LucasArts-style speech should be different, when it's set to not advance automatically. I think it would look bizarre if the line is, for example, "Hi, Bob!" and the speech animation just keeps running and running indefinitely.

Might be a question of personal taste, but it looks fine to me! As long as the line is on screen, even if it's really short, it makes sense to see the character animating. What looks weird is when the animation stops on a frame in which the character's mouth is open, for example, so you have the line there waiting for you to press a key, and the character is just frozen there with its mouth like : O It would probably make more sense if it switched to its idle animation automatically at least, but there are workarounds in any case (custom speech function, using Think instead, etc)

Quote from: Snarky on Thu 04/08/2022 22:43:52(Or, by analogy, if you had voice acting, I would expect it to play once, and then wait for you to dismiss the line. I wouldn't expect the voiced line to keep playing over and over until you advanced.)

Ah sure, if you have voice acting it definitely makes sense.

QuoteWhat happens if you set Game.TextReadingSpeed to 0?

0 is not a valid value, but 1 kind of works. Eventually the animation ends up stopping, but in most cases players will have moved on to the next line before that. But I think I'll end up using a custom speech function just in case :)

Crimson Wizard

This is the original behavior: speech animation works as long as text "reading" counter is running, or speech voice is playing. After that it is supposed to stop at the speech view's frame 0.

SMF spam blocked by CleanTalk