Ren'Py Gripes

In this forum we discuss the future of Ren'Py, both bug fixes and longer-term development. Pre-releases are announced and discussed here.
Message
Author
User avatar
Imperf3kt
Lemma-Class Veteran
Posts: 3785
Joined: Mon Dec 14, 2015 5:05 am
itch: Imperf3kt
Location: Your monitor
Contact:

Re: Ren'Py Gripes

#481 Post by Imperf3kt »

Lena_Borodach wrote: Tue Jan 29, 2019 7:42 am Made some silly mouth animation.

Code: Select all

default preferences.text_cps = 200
image talking_mouth:
    'talking_mouth_1'
    1/preferences.text_cps    
    'talking_mouth_2'
    1/preferences.text_cps
    'talking_mouth_3'
    1/preferences.text_cps
    'talking_mouth_4'
    1/preferences.text_cps
    'talking_mouth_5'
    1/preferences.text_cps
    'talking_mouth_6'
    1/preferences.text_cps
    'talking_mouth_7'
    1/preferences.text_cps
    'talking_mouth_8'
    1/preferences.text_cps
    repeat    

label main_menu:
    return
label start:
    show talking_mouth:
        align(.5,.5)
    pause
    return

and it returned an exception

Code: Select all

I'm sorry, but an uncaught exception occurred.

Executing ATL code at game/script.rpy:19
  File "game/script.rpy", line 27, in script
  File "renpy/common/000statements.rpy", line 416, in execute_pause
    renpy.pause()
Exception: ATL appears to be in an infinite loop.
Lol whut ? :lol: I mean, sure it is infinitely looped, so what? ATL entities are often looped, what's the point to even detect it?
Oh dear...
My workaround.

Code: Select all

default preferences.text_cps = 200
image talking_mouth:
    .0000001
    'talking_mouth_1'
    1/preferences.text_cps    
    'talking_mouth_2'
    1/preferences.text_cps
        (........and so on)
Your issue seems to be related to using "pause", not ATL.
Do you have a script something like this:

Code: Select all

label start:
    show my_silly_animation
    pause
    return
That might be triggering it, if your code does look kinda like that, try adding dialogue after the pause
Warning: May contain trace amounts of gratuitous plot.
pro·gram·mer (noun) An organism capable of converting caffeine into code.

Current project: GGD Mentor

Twitter

User avatar
PyTom
Ren'Py Creator
Posts: 16088
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Ren'Py Gripes

#482 Post by PyTom »

It's not just looped, the problem is that it's in an infinite loop that's not making progress.

The problem is likely that since 1 is an integer and this is python 2, 1/preferences.text_cps is 0, and hence it never actually makes any progress.

This code will also have the problem that if preferences.text_cps is 0, you'll get a division by zero error and the resultant crash.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
Kia
Eileen-Class Veteran
Posts: 1039
Joined: Fri Aug 01, 2014 7:49 am
Deviantart: KiaAzad
Discord: Kia#6810
Contact:

Re: Ren'Py Gripes

#483 Post by Kia »

may I ask for your input on this small issue please.
viewtopic.php?f=8&t=53607&p=504600#p504597

User avatar
Imperf3kt
Lemma-Class Veteran
Posts: 3785
Joined: Mon Dec 14, 2015 5:05 am
itch: Imperf3kt
Location: Your monitor
Contact:

Re: Ren'Py Gripes

#484 Post by Imperf3kt »

Quick menu shows even when say window is hidden, is this intended? Looking through my projects, it looks as if this has been like this for ages, since I've always placed $quick_menu=False before creating a choice menu.

For now I've come up with this fix which seems to work just fine, but its bugging me that it even has to be done.

Code: Select all

if quick_menu and renpy.get_screen("say"):
Last edited by Imperf3kt on Tue Feb 26, 2019 8:31 am, edited 1 time in total.
Warning: May contain trace amounts of gratuitous plot.
pro·gram·mer (noun) An organism capable of converting caffeine into code.

Current project: GGD Mentor

Twitter

User avatar
PyTom
Ren'Py Creator
Posts: 16088
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Ren'Py Gripes

#485 Post by PyTom »

Yes, that's intentional.

Choices are where the user most wants to save, so it seems weird to make access to saving more difficult during a choice screen.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
Imperf3kt
Lemma-Class Veteran
Posts: 3785
Joined: Mon Dec 14, 2015 5:05 am
itch: Imperf3kt
Location: Your monitor
Contact:

Re: Ren'Py Gripes

#486 Post by Imperf3kt »

Yes, I understand that, but the say window disappears during a choice menu (if you don't use dialogue), and if you've customised the quick menu to be similar to many other VNs (in the top right of the say window), you're left with a weird disembodied quick menu floating a third of the way up your screen and nothing behind it.

I mean this is happening:
screenshot0001.png
Which just looks wrong.
If a player wants to save, they still have the right mouse button or the escape key and if I recall correctly, default auto save behaviour is to save at choice menus.
Warning: May contain trace amounts of gratuitous plot.
pro·gram·mer (noun) An organism capable of converting caffeine into code.

Current project: GGD Mentor

Twitter

User avatar
Saa
Regular
Posts: 32
Joined: Tue Aug 20, 2013 7:11 pm
Tumblr: nipahgirl
Contact:

Re: Ren'Py Gripes

#487 Post by Saa »

1. According to the Game Accessibility Guidelines, developers should "ensure that all areas of the user interface can be accessed using the same input method as the gameplay", but in RenPy, the keyboard can't be used at all to navigate the pause menu.

2. There should be an easy way to capitalize interpolated test, like a !c flag or something. It just feels like a waste of time making two variables instead of one because I might need it at the start of a sentence.

User avatar
malakme
Newbie
Posts: 12
Joined: Fri Apr 26, 2019 6:34 pm
Contact:

Re: Ren'Py Gripes

#488 Post by malakme »

First off, I think it's really cool how much you make an effort to make this program easier for us. Thank you!

I don't know if it's my laptop causing the gripe, but this problem only ever happens when I use Ren'Py. Sometimes when I highlight text and click elsewhere, the highlighted text will automatically delete. Has anyone else experienced this?

User avatar
PyTom
Ren'Py Creator
Posts: 16088
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Ren'Py Gripes

#489 Post by PyTom »

Saa wrote: Tue Apr 30, 2019 7:31 pm 1. According to the Game Accessibility Guidelines, developers should "ensure that all areas of the user interface can be accessed using the same input method as the gameplay", but in RenPy, the keyboard can't be used at all to navigate the pause menu.
Do you have an example of this? Since the keyboard should be usable to access the game menu - the arrow keys and enter.
2. There should be an easy way to capitalize interpolated test, like a !c flag or something. It just feels like a waste of time making two variables instead of one because I might need it at the start of a sentence.
I've added !c, which is what you describe, as well as !u and !l for upper and lower case.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
Saa
Regular
Posts: 32
Joined: Tue Aug 20, 2013 7:11 pm
Tumblr: nipahgirl
Contact:

Re: Ren'Py Gripes

#490 Post by Saa »

PyTom wrote: Tue Apr 30, 2019 10:17 pmDo you have an example of this? Since the keyboard should be usable to access the game menu - the arrow keys and enter.
I'm so sorry, I should have tested it further! Turns out it was a problem in my code. Oops!
PyTom wrote: Tue Apr 30, 2019 10:17 pmI've added !c, which is what you describe, as well as !u and !l for upper and lower case.
Great! But was it in the nightly build? I'm using the May 01 build and it's not working (nothing happens). I'll wait for the next one! Those flags are going to be lifesavers! Edit: Works wonderfully! Thank you so much!

User avatar
nature1996
Regular
Posts: 62
Joined: Wed Jun 21, 2017 10:35 am
Contact:

Re: Ren'Py Gripes

#491 Post by nature1996 »

I'm not sure if it as been brought up, but on the use of float for screen customization.

I feel like there is an untapped potential for using float while defining screen. If fully implemented, we could have screen that would scale to all size...

But right now there is a few problem:
  • while the 0.0 point is well define on subpart, like inside a "frame" for example, the 1.0 is often pass the limit when using xalign and yalign.
  • When using for size, 0.1 isn't half the size of 0.2. I'm not sure but the relation doesn't seem to be a linear one.
  • When there is scrollbar on viewport, they aren't considered for the size or position parameters.
  • When there is multiple component, sometime one of them stop scaling (I have in mind a certain button that was exactly in the bottom right corner until I added another component to the main screen.
  • In vbox and hbox, using xfill and yfill on the last component of each make it the size of the screen, not the size of the remaining space after the other component are drawn.
  • To my knowledge, you cant scale the font to match a fraction of the total size. Since both are in pixel, it might be useful to be able to do so, though the ability to have a fix size but with a better x/yfill might also prevent the appearance of gap. Maybe the ability to set 3 parameters (float x, float y, min_size=default) where it would chose the max between min_size and min(x, y)
  • Generally, you don't always get the expected behaviour which is the result of all this plus other small thing.
Correcting all that would solve the problem of trying to scale everything by counting pixel by pixel. You could easily say things like: that first box is at 0.0 and fill 0.3 of the space, and that box is at 1.0 and fill 0.7 of the space, so both touch but don't overlap each other.

That's mostly an addition of small gripes, but this is the forum for that right?
Je parle aussi français

User avatar
Kia
Eileen-Class Veteran
Posts: 1039
Joined: Fri Aug 01, 2014 7:49 am
Deviantart: KiaAzad
Discord: Kia#6810
Contact:

Re: Ren'Py Gripes

#492 Post by Kia »

nature1996 wrote: Mon May 06, 2019 1:56 pm I'm not sure if it as been brought up, but on the use of float for screen customization.
I remember trying it before, by passing a float to the screen and use it for zoom a frame that contains everything else you can easily scale up or down a screen.

Code: Select all

screen test(z= 1.0):
    frame:
        zoom z
        ...
I think you're right about the individual elements. many of them can use some improvements like:
  • "fit_first", "fit_last" and "fit_biggest" for everything
  • let a grid have empty slots without throwing an error
  • and text inside bars like buttons have one

Code: Select all

bar:
    value Preference("auto-forward time")
    xysize(300,40)
    label _("Auto-Forward Time")
instead of:

Code: Select all

frame:
    background None
    fixed:
        fit_first True
        bar value Preference("auto-forward time") xysize(300,40)
        label _("Auto-Forward Time")

strayerror
Regular
Posts: 159
Joined: Fri Jan 04, 2019 3:44 pm
Contact:

Re: Ren'Py Gripes

#493 Post by strayerror »

The on statement in ATL permits a list of events as keywords, conversely the on statement in SL2 only allows a single event, which must be provided as a quoted string. Being able to condense duplicate show & replace and hide & replaced actions in screens would be very nice as it would express the clear intention for the two behaviours to be same and preclude the possibility of accidentally updating one without the other.

User avatar
SypherZent
Veteran
Posts: 362
Joined: Fri Sep 02, 2016 3:14 am
Completed: Multiverse Heroes, Space Hamster in Turmoil
Location: Puerto Rico
Contact:

Re: Ren'Py Gripes

#494 Post by SypherZent »

Not sure if this is a bug, or a decided change.
Didn't know where to post it.

The latest release of Ren'Py has broken the menu feature for my game.
Basically, I use the current format:

Code: Select all

    menu:
        doppelganger "What's your order?"

        "Chat":
            jump shop_chat
After the latest release, it's no longer possible to use a defined character within the menu chat.
It used to work perfectly, showing the menu options as well as the dialogue and the name of the speaking character.
However, after the update, the chat entirely disappears, leaving only the menu options with no dialogue behind it, nor character name.

If I remove the speaking character variable 'doppelganger', then the dialogue works fine for the menu screen again:

Code: Select all

    menu:
        "What's your order?"

        "Chat":
            jump shop_chat
Would be nice if this were fixed to work as it used to, so that I don't have to recode my game before publishing the demo on Steam.
If it's not fixed, I can just code my own choice screen, but that seems to defeat the purpose of using an engine.
I'd really like the speaking character's name to appear as it used to, before the latest update.
Would prefer to code own choice system than to omit, if this won't be fixed.
Even a heads up would be nice, I guess. Sucks being in the dark, and can't find any documentation on this change.

Thanks, and sorry for the hassle.
Creator of Multiverse Heroes & Space Hamster in Turmoil

Want me to code your game?
Check my services thread!

User avatar
PyTom
Ren'Py Creator
Posts: 16088
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Ren'Py Gripes

#495 Post by PyTom »

Sypherzent>>>

I tried this in the current nightly version of Ren'Py, and it seems to work for me, using something like:

Code: Select all

label start:

    scene bg washington

    menu:
        e "Does this work?"

        "Yes":
            pass
        "No":
            pass

    "..."

    return
There wasn't an intentional change to menus, and I don't think they changed at all. Can you extract out a minimal example? My guess is that it might have something to do with your doppleganger character.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

Post Reply

Who is online

Users browsing this forum: No registered users