Ren'Py 8.0.0 and 7.5.0 Prereleased

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Message
Author
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 8.0.0 and 7.5.0 Preleased

#16 Post by PyTom »

zmook>>>

It wasn't a known issue, and it's working for me. Do you have an error, or an example where it isn't working? I believe you, I just can't repeat the issue here.
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
zmook
Veteran
Posts: 421
Joined: Wed Aug 26, 2020 6:44 pm
Contact:

Re: Ren'Py 8.0.0 and 7.5.0 Preleased

#17 Post by zmook »

Oh, I think I see the problem. Does Style Inspector (shift-I) only show screens? I have a complex displayable that I am showing as an image.

Here's the screen. There are two images being shown, a background image and a (complex) character sprite.

Image

Style inspector with the mouse over the girl, does not show the elements of the displayable she's constructed from:

Image

She is defined like this:

Code: Select all

image kasei = placeholder("kasei neutral", "change clothes: satin jacket, black tank, plaid skirt", resize=False)

init python:
    # generates a placeholder for a image to be rendered
    def placeholder(img_fname, desc, resize=True):
        # find the shortest full filename included in this game that matches the 
        # supplied name
        path = next(iter(sorted(
                    [x for x in renpy.list_files() if img_fname in x],key=len)), None)
        if path:
            img = Image(path)
            if resize: img = Frame(img)
        else:
            img = Solid("#846")
            
        overlay = Window(
                    Text("{i}// TODO: %s //" % desc, rest_indent=24, 
                        xmaximum=int(config.screen_width*0.6)), 
                    align=(0.1,0.1), background="#8468", padding=(8,4))

        return Fixed(img, overlay, fit_first=True)
colin r
➔ if you're an artist and need a bit of help coding your game, feel free to send me a PM

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 8.0.0 and 7.5.0 Preleased

#18 Post by PyTom »

By default, the style inspector avoids showing the master layer. If you use the shortcut for the full inspector - shift+alt+I - all displayables are shown. I'm glad that's all it was.
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
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 8.0.0 and 7.5.0 Preleased

#19 Post by PyTom »

8.0.0.22052902 / 7.5.0.22052902)

The big thing here is adding one of the last major pieces of 8.0 and 7.5 - support for ARM Linux. While not particularly intrusive into Ren'Py proper, this adds support for two major platforms - Rasperry Pis, and ARM Chromebooks running Linux. (x86_64 chromebooks have been supported for a long time.) I really wanted to get these platforms into this release, as they're easy to support and provide inexpensive ways to develop and run Ren'Py games, and are popular among educators and students.

The SDK is fully supported on ARM Linux as it is on other Linux platforms. For now, the ARM SDK is a separate download, but that download contains support for all platforms. The ARM SDK is required to run games on ARM Linux platforms.


This also deprecates jEdit, which I haven't updated in years. You can still take the 7.4 version, install it with Ren'Py, and it will run as well or poorly as it did in the past, but it's not offered to new installs that don't do this manual installation.

Finally, there were two small bug fixes, and a large number of documentation improvements.


My sense is that 8.0.0 and 7.5.0 are doing really well, thank you for everyone who's been testing these releases.


Downloads of 8.0.0 can be found at:

https://www.renpy.org/release/8.0.0

Downloads of 7.5.0 can be found at:

https://www.renpy.org/release/7.5.0
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

RFB
Newbie
Posts: 5
Joined: Sun May 29, 2022 4:37 pm
Contact:

Re: Ren'Py 8.0.0 and 7.5.0 Preleased

#20 Post by RFB »

Got this exception on Renpy 8.0.0:

Code: Select all

While running game code:
  File "renpy/common/00gallery.rpy", line 155, in __call__
    renpy.invoke_in_new_context(self.gallery.show, self.index)
  File "renpy/common/00gallery.rpy", line 519, in show
    result = i.show((button, image) not in unlocked_images, image, len(b.images))
  File "renpy/common/00gallery.rpy", line 106, in show
    return ui.interact()
  File "renpy/common/00gallery.rpy", line 623, in execute
    screen _gallery(locked, displayables, index, count, gallery, **properties):
  File "renpy/common/00gallery.rpy", line 623, in execute
    screen _gallery(locked, displayables, index, count, gallery, **properties):
  File "renpy/common/00gallery.rpy", line 637, in execute
    if gallery.navigation:
  File "renpy/common/00gallery.rpy", line 638, in execute
    use gallery_navigation
  File "renpy/common/00gallery.rpy", line 640, in execute
    screen gallery_navigation():
  File "renpy/common/00gallery.rpy", line 640, in execute
    screen gallery_navigation():
  File "renpy/common/00gallery.rpy", line 641, in execute
    hbox:
  File "renpy/common/00gallery.rpy", line 647, in execute
    textbutton _("prev") action gallery.Previous(unlocked=gallery.unlocked_advance)
  File "renpy/common/00gallery.rpy", line 647, in keywords
    textbutton _("prev") action gallery.Previous(unlocked=gallery.unlocked_advance)
  File "renpy/common/00gallery.rpy", line 647, in <module>
    textbutton _("prev") action gallery.Previous(unlocked=gallery.unlocked_advance)
NameError: name 'gallery' is not defined
Was there a change in how variables are passed to screens inluded with "use"? I could get rid of the error by adding a parameter to the gallery_navigation screen and pass it explicitly, but changing code in Renpy's own files can't be the right solution.

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 8.0.0 and 7.5.0 Preleased

#21 Post by PyTom »

RFB, can you break that out so I can see what's going on, and figure what the change was?
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

RFB
Newbie
Posts: 5
Joined: Sun May 29, 2022 4:37 pm
Contact:

Re: Ren'Py 8.0.0 and 7.5.0 Preleased

#22 Post by RFB »

I'm not exactly sure what you need from me, but this is easily reproducible:

Create a new game in 8.0.0 and replace the content of script.rpy with this:

Code: Select all

init python:

    the_gallery = Gallery()

    the_gallery.locked_button = Image("gui/window_icon.png")
    the_gallery.navigation = True

    the_gallery.button("Gallery")
    the_gallery.image("gui/window_icon.png")

screen the_gallery():

    add the_gallery.make_button("Gallery", Image("gui/window_icon.png"))

label start:

    show screen the_gallery()

    pause
Launch the game, click start, click the image button and get the exception.

Bonus: Try this one instead for an even weirder error where the navigation screen picks up the string variable named "gallery".

Code: Select all

init python:

    the_gallery = Gallery()

    gallery = "gui/window_icon.png"

    the_gallery.locked_button = Image("gui/window_icon.png")
    the_gallery.navigation = True

    the_gallery.button("Gallery")
    the_gallery.image(gallery)

screen the_gallery():

    add the_gallery.make_button("Gallery", Image("gui/window_icon.png"))

label start:

    show screen the_gallery()

    pause

Code: Select all

While running game code:
  File "game/script.rpy", line 21, in script
    pause
  File "renpy/common/000statements.rpy", line 455, in execute_pause
    renpy.pause()
  File "renpy/common/00gallery.rpy", line 155, in __call__
    renpy.invoke_in_new_context(self.gallery.show, self.index)
  File "renpy/common/00gallery.rpy", line 519, in show
    result = i.show((button, image) not in unlocked_images, image, len(b.images))
  File "renpy/common/00gallery.rpy", line 106, in show
    return ui.interact()
  File "renpy/common/00gallery.rpy", line 623, in execute
    screen _gallery(locked, displayables, index, count, gallery, **properties):
  File "renpy/common/00gallery.rpy", line 623, in execute
    screen _gallery(locked, displayables, index, count, gallery, **properties):
  File "renpy/common/00gallery.rpy", line 637, in execute
    if gallery.navigation:
  File "renpy/common/00gallery.rpy", line 638, in execute
    use gallery_navigation
  File "renpy/common/00gallery.rpy", line 640, in execute
    screen gallery_navigation():
  File "renpy/common/00gallery.rpy", line 640, in execute
    screen gallery_navigation():
  File "renpy/common/00gallery.rpy", line 641, in execute
    hbox:
  File "renpy/common/00gallery.rpy", line 647, in execute
    textbutton _("prev") action gallery.Previous(unlocked=gallery.unlocked_advance)
  File "renpy/common/00gallery.rpy", line 647, in keywords
    textbutton _("prev") action gallery.Previous(unlocked=gallery.unlocked_advance)
  File "renpy/common/00gallery.rpy", line 647, in <module>
    textbutton _("prev") action gallery.Previous(unlocked=gallery.unlocked_advance)
AttributeError: 'str' object has no attribute 'Previous'
My quick fix was to change was to change these lines in renpy/common/00_gallery.rpy

Code: Select all

        if gallery.navigation:
            use gallery_navigation

    screen gallery_navigation():
        hbox:
with this

Code: Select all

        if gallery.navigation:
            use gallery_navigation(gallery)

    screen gallery_navigation(gallery):
        hbox:

User avatar
m_from_space
Miko-Class Veteran
Posts: 939
Joined: Sun Feb 21, 2021 3:36 am
Contact:

Re: Ren'Py 8.0.0 and 7.5.0 Preleased

#23 Post by m_from_space »

There is a small issue I have regarding generation of translation files. The documentation (https://www.renpy.org/doc/html/translation.html#tips) reads "To prevent this, labels that are given the hide clause are ignored when generating translations.". This does not occur to me with the latest renpy version of 8.0.

The following code will still create a translation file, consisting of all the 5 strings (1x dialogue, 3x menu items and 1x string translation):

Code: Select all

label epilog hide:
    e "This is a dialogue"
    menu:
        "What do you want to drink?"
        "Juice.":
            pass
        "Water.":
            pass
    $ drink = _("Milk")

User avatar
Ocelot
Lemma-Class Veteran
Posts: 2384
Joined: Tue Aug 23, 2016 10:35 am
Github: MiiNiPaa
Discord: MiiNiPaa#4384
Contact:

Re: Ren'Py 8.0.0 and 7.5.0 Preleased

#24 Post by Ocelot »

m_from_space wrote: Wed Jun 08, 2022 3:34 am There is a small issue I have regarding generation of translation files. The documentation (https://www.renpy.org/doc/html/translation.html#tips) reads "To prevent this, labels that are given the hide clause are ignored when generating translations.". This does not occur to me with the latest renpy version of 8.0.

The following code will still create a translation file, consisting of all the 5 strings (1x dialogue, 3x menu items and 1x string translation):

Code: Select all

label epilog hide:
    e "This is a dialogue"
    menu:
        "What do you want to drink?"
        "Juice.":
            pass
        "Water.":
            pass
    $ drink = _("Milk")
Isn't hiding labels used when adding labels to existing code to prevent regeneration of IDs? I believe that it isn't "code under that label is ignored" but "translation behaves as if label statement wasn't there, which means that all dialogue will be considered belonging to preceding label"
< < insert Rick Cook quote here > >

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 8.0.0 and 7.5.0 Preleased

#25 Post by PyTom »

Ocelot is correct as to what hide does.
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
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 8.0.0 and 7.5.0 Preleased

#26 Post by PyTom »

Ren'Py 8.0.0.22060901 / Ren'Py 7.5.0.2206090)

I just made a new prerelease, with a lot of fixes for issues that the community reported. Thank you to everyone that's been testing these releases.
  • Expressions in ATL are now evaluated using a cached and compiled version of the expression, and hence are slightly faster.
  • Modal screens do not, on their own, cause skipping to stop.
  • An issue with modal screens that could cause focus to keep changing (and hence the screen to stop being interactive) has been fixed.
  • The child of an imagebutton changing cases per-interaction behaviors to occur for that child; this allows ConditionSwitch to function when it is the child of an imagebutton.
  • It is now possible to create bare-zip and bare-tar.bz2 packages. These contain the same files as the zip package, but do not prefix each file with a directory starting with the package name and version. This is mostly intended for the Market package, so that launch configurations do not need to be updated each time the game is released.
  • A divide by zero error that happened when changing the volume during fade has been fixed. (This lead to a crash.)
  • A problem setting the pan on the web platform has been fixed. (This lead to a crash.)
  • Scopes are now stored with DynamicImages that use the special [prefix_] substitution. This allows a dynamic image to both contain information taken from the screen, and have a prefix associated.
  • Android now prompts for the app store to use, and will disable app store support if one is not selected. It also now lists OpenGL ES 3.0 as a requirement.
  • The Android text input system has been reverted to the SDL version. The SDL version does not support languages that require input methods
    (Japanese, Chinese, etc.) - that's an issue the library is working on. Unfortunately, the changes I made to support IMEs were not reliable enough to use in production.
  • There have been many updates to documentation and translations.
Downloads of 8.0.0 can be found at:

https://www.renpy.org/release/8.0.0

Downloads of 7.5.0 can be found at:

https://www.renpy.org/release/7.5.0
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
m_from_space
Miko-Class Veteran
Posts: 939
Joined: Sun Feb 21, 2021 3:36 am
Contact:

Re: Ren'Py 8.0.0 and 7.5.0 Preleased

#27 Post by m_from_space »

Ocelot wrote: Wed Jun 08, 2022 7:10 amIsn't hiding labels used when adding labels to existing code to prevent regeneration of IDs? I believe that it isn't "code under that label is ignored" but "translation behaves as if label statement wasn't there, which means that all dialogue will be considered belonging to preceding label"
So I have to admit that I still don't understand what you are explaining, even reading it multiple times and also the documentation.

"Adding labels can also confuse the translation process. To prevent this, labels that are given the hide clause are ignored when generating translations." How does adding labels confuse the translation process?

User avatar
m_from_space
Miko-Class Veteran
Posts: 939
Joined: Sun Feb 21, 2021 3:36 am
Contact:

Re: Ren'Py 8.0.0 and 7.5.0 Preleased

#28 Post by m_from_space »

PyTom wrote: Wed Jun 08, 2022 10:55 pm Ren'Py 8.0.0.22060901 / Ren'Py 7.5.0.2206090)
This broke something with my game. Tooltips that worked perfectly now don't. Also mouse icons of imagebuttons don't show up in the case the tooltip loads. The problem seems to be the dismiss displayable. If you place it at the end of the screen it works again. (Did work at the beginning of the screen in the former renpy version.)

edit:
Placing the dismiss at the end of the screen still makes problems, since buttons won't react to user interaction anymore.

Code: Select all

screen myitems:
    modal True
    $ tooltip = GetTooltip() or renpy.random.choice(["waiting","knockknock"])
    dismiss action Hide()
    vbox:
        imagebutton idle Solid("#00f"):
            xsize 100 ysize 50
            action Confirm("Really?", NullAction())
            tooltip "clickme"
            mouse "somecursor"
        text tooltip

User avatar
zmook
Veteran
Posts: 421
Joined: Wed Aug 26, 2020 6:44 pm
Contact:

Re: Ren'Py 8.0.0 and 7.5.0 Preleased

#29 Post by zmook »

m_from_space wrote: Thu Jun 09, 2022 4:44 am "Adding labels can also confuse the translation process. To prevent this, labels that are given the hide clause are ignored when generating translations." How does adding labels confuse the translation process?
I *think* that's referring to the system Ren'py uses for giving IDs to lines of dialogue, which would be necessary to do mappings of translations. PyTom explains it here: https://patreon.renpy.org/rpyc.html
colin r
➔ if you're an artist and need a bit of help coding your game, feel free to send me a PM

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 8.0.0 and 7.5.0 Preleased

#30 Post by PyTom »

Ren'Py 8.0.0.22061101 / Ren'Py 7.5.0.22061101)

There aren't a ton of changes in this one, but I had some time, so I made a new prelease.
  • m_from_space's regression above was caused by the children of boxes and fixeds being iterated in the wrong order. I've corrected that order.
  • We fixed an issue where the ATL function statement could cause Ren'Py to crash, when used in conjunction with repeat.
  • The updater forces the URL to unicode, which was a problem on 7.5.0.


Downloads of 8.0.0 can be found at:

https://www.renpy.org/release/8.0.0

Downloads of 7.5.0 can be found at:

https://www.renpy.org/release/7.5.0
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: Google [Bot]