- Jun 10, 2017
- 10,862
- 16,012
Answered in the other thread you asked for help, since the question fit it way better than here.Did that and still nothing
Answered in the other thread you asked for help, since the question fit it way better than here.Did that and still nothing
Honestly, it a bit annoying, a bit frustrating, but also a lot of fun. I'll not do this every days, but when I works on it, despite all the rage I sometimes feel, in the end it was a pleasure. And I learn so many things about Ren'py, which isn't a bad dealThanks so much for your hard work
The idea isn't bad, but there's a problem. Either I open the screen as empty, and you'll not see what it do for the name/value ; and like the future object handling will probably involve some styling, you can mess without knowing it. Or I open it "as it", then you can have to deal with the fact that there's too many variables and Ren'py become slow ; this without guaranty that you'll have an object or a list of objects on the screen to validate the effect on them.Wouldn't it be possible to lets say click on a button "Change Font Size" which then opens the variable viewer and a popup with + - and "done" which sets the size i.e. +5 pixels and then calls renpy.restart_interaction() ? Which would refresh the variable viewer right away and a click on "Done" would save the setting?
You don't copy the console, but "to the console". So the benefit is just that you don't stuggle when the names are some weird things and/or deep inside an object.Whats the benefit of being able to copy the console?
I can imagine that... the annoying and frustrating part I'm currently pretty frustrated with a main menu I want to do But yeah that's another storyHonestly, it a bit annoying, a bit frustrating, but also a lot of fun. I'll not do this every days, but when I works on it, despite all the rage I sometimes feel, in the end it was a pleasure. And I learn so many things about Ren'py, which isn't a bad deal
The idea isn't bad, but there's a problem. Either I open the screen as empty, and you'll not see what it do for the name/value ; and like the future object handling will probably involve some styling, you can mess without knowing it. Or I open it "as it", then you can have to deal with the fact that there's too many variables and Ren'py become slow ; this without guaranty that you'll have an object or a list of objects on the screen to validate the effect on them.
But there's perhaps a possibility to open it with a couple of faked variables/values.
I'll keep this on my notes, but... well don't expect it in a near future. I have some mods in mind, few tools I want to finish, oh... and I want to see if I can make a game so I surely also need to find some times for it
Take your imagination and multiply by 10... Remember, I need to have solutions compatible with older versions erservingface:I can imagine that... the annoying and frustrating part
What I learned is that the straight solution isn't always the better one. If you can't do it with the expected Ren'py feature, try to recreate the said feature.I'm currently pretty frustrated with a main menu I want to do
And it's a good and helpful, thanks.Just wanted to give you an idea that might help you with the task
Hell yeah, making something compatible for all ren'py versions is pretty impossible with renpy included features Since they changed sooo damn muchTake your imagination and multiply by 10... Remember, I need to have solutions compatible with older versions erservingface:
Now that I have my utilities behind it's good, I worked around most of the issues. But the first time I worked on it, it was something like : "yeah, after trying two days, I finally can do it", followed by, "alright, stay calm, it's now broke with the [whatever] version, but you'll find a way, right ?"
That's why I need to write it in Python equivalent, because there's no way to write something like "if this statement don't exist yet, use this one" in pure Ren'py.
What I learned is that the straight solution isn't always the better one. If you can't do it with the expected Ren'py feature, try to recreate the said feature.
By example, Veqvil once asked me about an interruptible video, just in case. But one that stop only at the end of the video, to stay right with the following picture. Well, instead of fighting with the video capabilities (they can't do that), I used a screen.
You put the video inside, use a timer set on the movie length, and add a fully transparent imagebutton covering the whole screen. This way, when you click on the screen, wherever you do it, you raise a flag, and the timer will force a return from the screen if it's raised. Else it will just go for another loop of the video.
And it's a good and helpful, thanks.
In the fly I would say that the answer probably look like this :The slide in doesn't work with "ShowMenu" since it doesn't take a transition
default slideX = config.screen_width
screen slideIn():
timer 0.01:
repeat True
action If( slideX != 0, SetVariable( "slideX", slideX - 10 ), Hide( "slideIn" ) )
screen slideOut( target ):
timer 0.01:
repeat True
action If( slideX != config.screen_width, SetVariable( "slideX", slideX + 10 ), Hide( "slideOut" ) )
# The calling on "hide" probably already removed the screen,
# you need to display it again if you want to see the slide.
frame:
xpos slideX
use target
screen preferences():
on "show" action Show( "slideIn" )
on "hide" action Show( "slideOut", "realPreferences" )
frame:
xpos slideX
use realPreferences
screen realPreferences():
[what is actually the 'preferences' screen]
screen preferences:
if not renpy.get_screen( "main_menu" ) is None:
on "show" action Show( "slideIn" )
on "hide" action Show( "slideOut", "realPreferences" )
else:
# Be sure that it's on the screen
on "show" action SetVariable( "slideX", 0 )
# Don't break the slide.
on "hide" action SetVariable( "slideX", config.screen_width )
[...]
As far as I remember, it's not ShowMenu the cause here. It just set few variables because Ren'py use another context for the menus. It's because of the "tag menu" that one screen replace the other.[...]ShowMenu which replaces the main menu one)
Awesome, that should be a nice workaround I'll try it tomorrow (g2g to work in a bit) also yes it's the "tag menu" that replaces the previously as "menu" tagged screen. But the ShowMenu can be rewritten to take a transition argument, but I like your idea more So I'll test it tomorrow as I said Thank you so much even though I didn't really come here for help it's very much appreciatedIn the fly I would say that the answer probably look like this :
Still this will happen each time you open the preferences menu, so if you want it to slide only from the main menu, put the two on statements behind a condition. Something like :Code:default slideX = config.screen_width screen slideIn(): timer 0.01: repeat True action If( slideX != 0, SetVariable( "slideX", slideX - 10 ), Hide( "slideIn" ) ) screen slideOut( target ): timer 0.01: repeat True action If( slideX != config.screen_width, SetVariable( "slideX", slideX + 10 ), Hide( "slideOut" ) ) # The calling on "hide" probably already removed the screen, # you need to display it again if you want to see the slide. frame: xpos slideX use target screen preferences(): on "show" action Show( "slideIn" ) on "hide" action Show( "slideOut", "realPreferences" ) frame: xpos slideX use realPreferences screen realPreferences(): [what is actually the 'preferences' screen]
Code:screen preferences: if not renpy.get_screen( "main_menu" ) is None: on "show" action Show( "slideIn" ) on "hide" action Show( "slideOut", "realPreferences" ) else: # Be sure that it's on the screen on "show" action SetVariable( "slideX", 0 ) # Don't break the slide. on "hide" action SetVariable( "slideX", config.screen_width ) [...]
As far as I remember, it's not ShowMenu the cause here. It just set few variables because Ren'py use another context for the menus. It's because of the "tag menu" that one screen replace the other.
So, get ride of the tag in the preferences screen, add a 'zorder' to make it be displayed on top of the main menu, and you should have both at the same time.
It's weird, since it's the exact same link that the one right below, in the "attached" box. But you were right, one worked and the other not. I fixed it.Download link is broken
Normally it shouldn't happen... well, being honest, it's more that I made my best for it to not happen. Working with any possible game also mean that I need to handle so many screen ratio and style. But still, shouldn't happen, sigh. What game did that to you ? I'll take a look later.One small issue I had is that the bottom ~60% of the Previous Value line is cut off by the variable list. Since you've already considered adding a font size option in the future, this problem would be solved as well.
Happens on every game I've tried, so it's more likely a problem on my end, rather than with specific games. Tried playing around with several different resolutions (default is 1920 x 1080) but it didn't change anything. If you can think of an easy solution I'd much appreciate it, but no worries if not. Integers are still mostly readable anyway.Normally it shouldn't happen... well, being honest, it's more that I made my best for it to not happen. Working with any possible game also mean that I need to handle so many screen ratio and style. But still, shouldn't happen, sigh. What game did that to you ? I'll take a look later.
The size of this part of the screen is hardcoded, so the only thing you can do is change the size of the text. On the console, first look at the actual size :If you can think of an easy solution I'd much appreciate it, but no worries if not. Integers are still mostly readable anyway.
style.AONvve_text.size
style.AONvve_text.size = 25
Actually it's more a, "but what crossed my mind when I decided this", but thanks This said, I learn a lot more about Ren'py, so even if I fail it will worth it.All the best with your game dev career!