Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Ren'Py Auto Speech Pauses

Automatically pause after punctuation for a natural feel while reading dialogue 路 By brunoais

Doesn't work for text invoked with $ renpy.say

A topic by hamaonoverdrive created 34 days ago Views: 36 Replies: 3
Viewing posts 1 to 2
(3 edits)

What it says in the title:

pc "Test, test. Test!! test." # works
$ renpy.say(pc, "Test, test. Test!! test.") # does not work
$ renpy.say(pc, speechPauses.add_speech_pauses("Test, test. Test!! test.")) # works

As best as I can tell, this is because renpy.say ignores the config.say_menu_text_filter setting. Is there some parameter I can pass to get expected behavior, or am I stuck wrapping everything said in a python block with speechPauses.add_speech_pauses?

Developer

I didn't test this but I'd assume it works:

A workaround you can try is making a new function that does that for you.

def says(who, what):
    return renpy.say(who, speechPauses.add_speech_pauses(what))

If you are using tooling that is calling renpy.say directly, you can consider replacing renpy.say() function but renpy also uses that function, so that can lead to duplicated pauses.

If you tell me the specific situation you are dealing with, I may come up with a compromise for you that won't be as hard to work with.

Ah you're right, that would be a very simple workaround! 馃槄

I think it might be worth some kind of note about this on the main page for this plugin-- it took a bit of troubleshooting for me to deduce that the plugin was breaking for dialogue in my minigame engine (where it's called with renpy.say) but not in body text (where it's invoked in the standard renpy way).

Developer

You're welcome.

I can edit the main page to mention that.