MODULE: QueuedSpeech v4.1 - Updated 1 Oct 2016 (Bugfix edition)

Started by monkey0506, Sun 04/12/2005 04:23:21

Previous topic - Next topic

monkey0506

You can download v3.5 by going here. Click the arrow to the far right to download the SCM file.

monkey0506


cat

The module crashed on me during the final test run just one hour before the MAGS deadline :-\



It only happened once, but it crashed the complete game. I have no clue what this line is supposed to do anyway, so I just commented it out. This line cannot work at all, it will always be a blocking function within rep_ex_always...

Slasher

If Block == eNoBlock

should lines not read:
Code: ags

chara,Walk(xx, yy, Block)


Just a stab in the dark...

cat

It does not make sense either way because in rep_ex_always you are never allowed to use blocking functions...

I guess we have to wait for monkey0506.

Julius Dangerous

i'm using Build 3.3.5.5 of AGS and the v.4.0 of this module doesn't works
___________________________________________________________

Crimson Wizard

Quote from: Julius Dangerous on Wed 01/06/2016 22:49:28
i'm using Build 3.3.5.5 of AGS and the v.4.0 of this module doesn't works
Does it give any error messages, or it simply fails to perform what it must?

cat

As written in the first post, this module requires AGS 3.4.0

However, with the current bug not solved, I STRONGLY ADVICE AGAINST USING THIS MODULE

monkey0506

I've only just noticed this bug report. I haven't been around the forums much lately. The line in question was an incomplete attempt at getting the character to be able to move about freely without destroying or stopping the queued speech. This code was not meant to be included in the production release of v4.0, I apologize for that. Commenting it out won't harm anything in the rest of the module. I will upload a fixed v4.1 shortly, which will utilize #362 for AGS v3.4.1+ (and ignoring that feature for prior AGS versions).

Edit: Actually... looking at the changelog, it seems that I forgot that the feature wasn't fully implemented. It's been well over a year since I released this version, so I don't recall.

Edit, Mk. II: v4.1 is uploaded, and I even tested the changes. :=

Khris


daneeca

Hi! I'm using this great module and I ran into a small issue. If I change the language ingame, while a bunch of queued speeches playing, then it doesn't translate these texts. I have the "GetTranslation" part before the texts but it works only if I change the language before I start to play the QueuedSpeech. Is there and easy way to update the actual speeches somehow? Or should I replay all queued speeches manually when I change the language? Thank you in advance for your help!

Crimson Wizard

I was not sure if the module stores already translated text, or untranslated text?
If latter, the easiest fix would be to go into function BuildOverlay inside the module's script and do this at the very beginning:
Code: ags

message = GetTranslation(message);

this will ensure it always displays current messages in current language. But you have to also make sure to pass non-translated strings in the module's functions from outside.


Since you asked about this on Discord, I'd also mention that the module strangely does not account for room scrolling... Again, the quick fix seems to be this: go again to BuildOverlay,
1) Put this at the beginning:
Code: ags

int char_x = this.x - GetViewportX();
int char_y = this.y - GetViewportY();

2) Replace all other this.x and this.y with char_x and char_y inside function BuildOverlay.

Potajito

Quote from: Crimson Wizard on Sat 16/05/2020 13:56:07
I was not sure if the module stores already translated text, or untranslated text?
If latter, the easiest fix would be to go into function BuildOverlay inside the module's script and do this at the very beginning:
Code: ags

message = GetTranslation(message);

this will ensure it always displays current messages in current language. But you have to also make sure to pass non-translated strings in the module's functions from outside.


Since you asked about this on Discord, I'd also mention that the module strangely does not account for room scrolling... Again, the quick fix seems to be this: go again to BuildOverlay,
1) Put this at the beginning:
Code: ags

int char_x = this.x - GetViewportX();
int char_y = this.y - GetViewportY();

2) Replace all other this.x and this.y with char_x and char_y inside function BuildOverlay.
Thanks a lot for this! I had this problem and that did the trick. Thanks also for this module, it's super useful and still works pretty good nowadays :D

Potajito

I know this is an old module and all that, but so far it's been working for me...
Everything but the audioclip part. What I'm doing is importing the lines that are said using QueuedSpeech as Audioclips, and passing them as such, for example:
Code: ags
cNarrator.SayQueued("This is it...", aNarrator1);

But the line displays on screen for like one ms and then it dissapears, no audio at all.
Then I thought that as a workaround I could use aNarrator1.Play and aNarratorX.PlayQueued and try to sync them, but I don't really know how to sync them, as audio is playing much faster than the lines, and also it looks hacky as shit.
Has anyone been able to make the audioclips work? Do you have any other idea for a workaround?
Cheers!

Monsieur OUXX

Quote from: Potajito on Sun 16/05/2021 17:55:50
But the line displays on screen for like one ms and then it dissapears, no audio at all.

Not very helpful but my guess is that the text disappears instantly becaue the audio is not played at all (if the audio is zero-seconds long then the text disappears as soon as it appears, it makes sense). I'm just saying that to help looking in the right direction.
 

Potajito

Well, I managed to fix the audio not playing, and meanwhile I adapted the module to AGS 3.5+ (currently working on AGS 3.6 Alpha). I also added Crimson Wizard fixes for localization and room scrolling.

Here it is, in case anyone is interested:

https://drive.google.com/file/d/1UBl2ACjRqZDQUgQDTrRXwsf1n3s09jui/view?usp=sharing

eri0o


SMF spam blocked by CleanTalk