Hey! I really like this module, but I have a small hiccup with it recently. Occasionally, the dialogue skips lines waaaay too fast and it's very frustrating. Because it happens only every now and then, it's hard to determine why and when it occurs. I was wondering if anyone else has this issue, or if I messed something up at some stage.
In general settings I've set "Allow speech to be skipped by which events" to Mouse or keyboard. I've tried setting Game.IgnoreUserInputAfterTextTimeoutMs to ridiculous values, but it doesn't change anything. I also played around with some values in the module itself but to no avail.
The only settings I changed for the dialogues are below, although I highly doubt they would have an impact on skipping the lines since they're purely aesthetic changes.
// Lowers the dialog options a little bit
game.dialog_options_x = 10;
game.dialog_options_y = 10;
// Changes the colour of highlighted dialogue option
game.dialog_options_highlight_color = 19695;
// Edit the Speech Bubble Module
SpeechBubble.BorderColor = Game.GetColorFromRGB(10,12,14);
SpeechBubble.BackgroundColor = Game.GetColorFromRGB(10,12,14);
SpeechBubble.BackgroundTransparency = 0;
SpeechBubble.PaddingTop = 8;
SpeechBubble.PaddingBottom = 8;
SpeechBubble.PaddingLeft = 8;
SpeechBubble.PaddingRight = 8;
SpeechBubble.MaxTextWidth = 230;
SpeechBubble.CornerRoundingRadius = 0;
SpeechBubble.HeightOverHead = 8;
SpeechBubble.TextAlign = eAlignCentre;
The only other thing I've changed in the module is this:
bool animateSpeech(this Character*, String message)
{
if(this.Moving)
this.StopMoving();
if(this.SpeechView > 0)
{
this.LockView(this.SpeechView);
if(Game.GetFrameCountForLoop(this.SpeechView, this.Loop) > 1)
this.Animate(this.Loop, this.SpeechAnimationDelay, eRepeat, eNoBlock, eForwards);
}
int speechDuration = calculateDuration(message);
if(BlockSpeech(speechDuration, true) == eBlockTimeOut)
{
//this.UnlockView(); <---------------------- Commented this out
int speechPause = calculateSpeechPause();
return (BlockSpeech(speechPause, false) != eBlockTimeOut);
}
else
{
//this.UnlockView(); <---------------------- Commented this out
return false;
}
}
When the above wasn't commented out, the characters would keep unlocking the view, so they always went back to idle/talking view when new line of dialogue appeared, so I couldn't get characters to talk while in a special animation (someone sitting on the ground and talking for example). Still, I don't think this would impact skipping the dialogue?
I'm using v0.8.0.
I'm really stuck with this issue and I'm not sure if this is AGS thing or the module or if there could be something else affecting the dialogues. If anyone has any ideas how to go about fixing the dialogue skipping problem, please let me know! Many thanks.