How to hide the textbox/dialog during all transitions?

Jul 2, 2021
74
185
Hey guys, first time asking for advice in here so be gentle lol. I'm wracking my brain trying to figure this out. I am still fairly new to renpy coding so I am still learning as I go and I just know there has to be a way to do this, but all my google searches come up empty. Is it at all possible to make the textbox/dialog/say window with the text an all hide and return with any and all transitions?

Like when I need to dissolve to the next scene, when a movie is played, or any other time a transition takes place or even when a choice menu comes up. Even with the dev commands, when I reload the game with SHIFT-R, it always remains on the screen during this. I know I can use "window hide" and "window show" before and after most of these events, but I am trying to find a way to just have it do this by default without the need to add this to every scene transition and dissolve that is used (which is a lot). I know there has to be a way, but I just cannot find it. I've tried adding various things to the "screen say(who, what):" section of the screens.rpy but have been met with limited success. Any help would be great, Thanks!
 

GetOutOfMyLab

Conversation Conqueror
Modder
Aug 13, 2021
6,271
16,794
Does this in options.rpy not do what you want?
Python:
## Window management ###########################################################
##
## This controls when the dialogue window is displayed. If "show", it is always
## displayed. If "hide", it is only displayed when dialogue is present. If
## "auto", the window is hidden before scene statements and shown again once
## dialogue is displayed.
##
## After the game has started, this can be changed with the "window show",
## "window hide", and "window auto" statements.
define config.window = "auto"
Maybe also check out these config variables:


 
Jul 2, 2021
74
185
Does this in options.rpy not do what you want?
Python:
## Window management ###########################################################
##
## This controls when the dialogue window is displayed. If "show", it is always
## displayed. If "hide", it is only displayed when dialogue is present. If
## "auto", the window is hidden before scene statements and shown again once
## dialogue is displayed.
##
## After the game has started, this can be changed with the "window show",
## "window hide", and "window auto" statements.
define config.window = "auto"
Maybe also check out these config variables:


Thanks for the replay, yeah, we have this value set already, but its still showing up over everything, and its very strange. I'll check out the other resources you provided, but pretty sure I may have already tried it, but I will see. Thanks!
 

GetOutOfMyLab

Conversation Conqueror
Modder
Aug 13, 2021
6,271
16,794
Thanks for the replay, yeah, we have this value set already, but its still showing up over everything, and its very strange. I'll check out the other resources you provided, but pretty sure I may have already tried it, but I will see. Thanks!
For animations, I suppose you could potentially use renpy.movie_cutscene(), which automatically hides overlays and underlays.

For scene transitions where you want to just display the image, you could just put pause before any text so that Ren'Py doesn't display the say screen:

Python:
scene newscene with dissolve

pause

char "Nice tiddies!"
For the choice menus... that's odd. I don't see why the say screen would be active there unless you are putting a caption in the choice menu.
 

Saint_RNG

Member
Game Developer
Apr 2, 2018
169
216
Have you tried removing all "window show" and "window hide" from your code ? Usually, define config.window = "auto" should be enough for the whole game. Or you could put a window hide just after "start label:" (but I think that's the same as setting define config.window = "hide", isn't it?).
 
Jul 2, 2021
74
185
Thanks for the tips all, I will give these a try and let you know what I come up with. This is been a real mind boggle, lol.
 
Jul 2, 2021
74
185
Have you tried removing all "window show" and "window hide" from your code ? Usually, define config.window = "auto" should be enough for the whole game. Or you could put a window hide just after "start label:" (but I think that's the same as setting define config.window = "hide", isn't it?).
THANK YOU!!!!! That was it! I tested it adding window hide before a movie but then did not use window show and there it was, the sayer text returned when it should have and the next video I play, the sayer text went away on its own. That was the problem. I guess when we call "window show", this keeps the window open from that point forward and overrides the window auto config. I would have never expected that, but now that I think about it, it makes total sense. Thank you, that has been driving us nuts for a while now!
 
  • Like
Reactions: Saint_RNG