(This is a reupload and edited version of a DevLog that is tied to a project that I've restricted access to, as I discovered that the old post itself was very fairly popular. That project was a silly extremely short "Fire Emblem Sacred Stones" fan VN for O2A2 VN Jam / Yaoi Game Jam in 2023, but it's not all too important, only explains the context why some screenshots may show familiar character names. It is unlikely that in the future I'll ever update the VN into a state I'm content with.)
https://www.renpy.org/doc/html/multiple.html
NOTE: Since I was mostly using bubbles, I discovered that the styling for the namebox is not correct, because it seems to have dependency on the styling used in the say screen. While I could fix the issue for my VN by changing the say screen to also use same styling for the namebox as for the bubble namebox (I can't remember if more elements need to be changed), this is more of a band-aid solution, because it works as I don't use a namebox for the say screen in this VN.
https://lemmasoft.renai.us/forums/viewtopic.php?t=48419
Old forum topics to the rescue! I used the last post in the thread by Skyrius as a reference and could get it to work (for Ren'Py 8), also simplified implementation, because window_transform=None seems safe to use.
a) say and bubble screen edits:
b) How to define a dialogue in story script with specific transformation for dialogue box:
Most of the time I find the biggest struggle to use the proper syntax to actually use a feature. There are multiple ways to do it, and this link also has some other examples if you want to bring other specific changes to that dialogue line: https://www.renpy.org/doc/html/statement_equivalents.html I've found the following syntax to work best. Notice that it says 'show_window_transform' here and not 'window_transform'.
$ renpy.say(e, "Hello, world.", show_window_transform = moveFromLeftToRight(speed=0.4))
'thought' and 'e' are definitions of Characters (I included a screenshot of their definitions so you can see that character 'e' uses bubble screen while 'thought' uses the standard ADV say screen). 'moveFromLeftToRight(speed=0.4)' is just a transform I defined myself which I used for testing, which should be replaced with the Transform you want to use. You can keep on using the usual way of defining dialogue if you don't need special transforms for the dialogue box.
Since sometimes I also mix up terms, I think it's important to stress that Transform is not the same as Transition (Dissolve, Fade, you probably have used these before if you make VNs with Ren'Py), so you can't put a Transition as input parameter for show_window_transform. The moveFromLeftToRight in my example has a bit of a similar effect as Dissolve() because it changes the alpha value of the text box image.
Did you like this post? Tell us
Leave a comment
Log in with your itch.io account to leave a comment.