Ren'Py 7.3.2 Released

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: 16093
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:

Ren'Py 7.3.2 Released

#1 Post by PyTom »

I'm mildly chagrined to announce Ren'Py 7.3.2. This is a patch release to Ren'Py 7.3, mostly intended to fix bugs and address issues that people have reported. As some of the bugs have significant performance and correctness impact, everyone who upgraded to Ren'Py 7.3.0 or 7.3.1 should move on to this version.

Ren'Py 7.3.1 added a few minor new features, including the ability to customize descriptive text.

Ren'Py 7.3 is the first release of Ren'Py with support for running on the web platform, inside a web browser supporting HTML 5, Web Assembly, and WebGL. Right now, this support is in beta, as it's limited by the capabilities of the web platform itself, but it's suitable for making web demos of Ren'Py games.

In addition to that, this release adds many new features to Ren'Py. These include:
  • Many improvements to creator-defined statements, allowing the parsing of Ren'Py statements and block, the catching of errors, and the ability to execute a second function after Ren'Py in the body of a statement has finished.
  • Screen language improvements, like the ability to capture screen language displayables into a variable and to use a property to determine if a screen is sensitive to input.
  • Text improvements, with self-closing text tags and the ability to control the capitalization of interpolated text.
  • Mobile platforms now support non-rectangular focus masks, and 64-bit Android is supported in time for the Google Play deadline.
  • There is a new Turkish translation of the launcher and Spanish translation of the tutorial game, while several of the other translations have been updated.
There are also a number of other changes, so check out the changelog for all of what's new.

Downloads of 7.3.2 can be found at:

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

A full list of changes to Ren'Py can be found at:

https://www.renpy.org/doc/html/changelog.html

A list of changes that may require you to update your game can be found at:

https://www.renpy.org/doc/html/incompatible.html

Please also check out the credits and sponsor list.



If you updated to Ren'Py 7.3.1, you need to hit shift+O (as in Oscar) to get to the console, then type in one of the following lines, as appropriate for your platform:

Code: Select all

renpy.windows = True
renpy.macintosh = True
renpy.linux = True
Then you can click 'update'. If you don't do this, the update may fail, and you'll need to re-download Ren'Py.
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
jack_norton
Lemma-Class Veteran
Posts: 4084
Joined: Mon Jul 21, 2008 5:41 pm
Completed: Too many! See my homepage
Projects: A lot! See www.winterwolves.com
Tumblr: winterwolvesgames
Contact:

Re: Ren'Py 7.3.2 Released

#2 Post by jack_norton »

Since I've updated, I'm getting a strange error never seen before:

Code: Select all

I'm sorry, but errors were detected in your script. Please correct the
errors listed below, and try again.


File "game/RPG framework/rpg_misc.rpy", line 533: a non-constant keyword argument like 'action (SetField(party,"gui_selected_char", entry),Hide("guiSkillDetails"),SetVariable("selected_skill",None))' is not allowed after a python block.
    action (SetField(party,"gui_selected_char", entry),Hide("guiSkillDetails"),SetVariable("selected_skill",None))
                                                                                                                  ^

File "game/RPG framework/rpg_misc.rpy", line 1346: a non-constant keyword argument like 'action (renpy.retain_after_load,SetVariable("ChosenUpgrade",Uname),Function(SetUpgrade,Uname))' is not allowed after a python block.
    action (renpy.retain_after_load,SetVariable("ChosenUpgrade",Uname),Function(SetUpgrade,Uname))
                                                                                                  ^

Ren'Py Version: Ren'Py 7.3.2.320
Tue Jul 02 09:25:05 2019
What should I do ? It's the first time I see it and the code was working fine on all previous Ren'Py versions. thanks :)
follow me on Image Image Image
computer games

User avatar
jack_norton
Lemma-Class Veteran
Posts: 4084
Joined: Mon Jul 21, 2008 5:41 pm
Completed: Too many! See my homepage
Projects: A lot! See www.winterwolves.com
Tumblr: winterwolvesgames
Contact:

Re: Ren'Py 7.3.2 Released

#3 Post by jack_norton »

Another weird error showing up on latest build:

Code: Select all

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/gameflow.rpy", line 431, in script call
    call chp3_teamtalk from _call_chp3_teamtalk
  File "game/full/plot/chp3.rpy", line 317, in script
    show screen MsgBox(msg="During this chapter you'll be able to 'lock in' your love interest. If you started the game with a romance, on day 45 there will be a 'break-up scene' where you can choose to end the romance or stay with your chosen partner for the rest of the game.\nIf you started the game without a romance, nothing will happen on that day.\n\nFrom day 50 on, visiting a potential
  File "renpy/common/000statements.rpy", line 501, in execute_show_screen
    args, kwargs = a.evaluate()
SyntaxError: EOL while scanning string literal (game/full/plot/chp3.rpy, line 317)

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/gameflow.rpy", line 431, in script call
    call chp3_teamtalk from _call_chp3_teamtalk
  File "game/full/plot/chp3.rpy", line 317, in script
    show screen MsgBox(msg="During this chapter you'll be able to 'lock in' your love interest. If you started the game with a romance, on day 45 there will be a 'break-up scene' where you can choose to end the romance or stay with your chosen partner for the rest of the game.\nIf you started the game without a romance, nothing will happen on that day.\n\nFrom day 50 on, visiting a potential
  File "C:\- indie dev -\games\renpy\renpy\ast.py", line 1947, in execute
    self.call("execute")
  File "C:\- indie dev -\games\renpy\renpy\ast.py", line 1935, in call
    return renpy.statements.call(method, parsed, *args, **kwargs)
  File "C:\- indie dev -\games\renpy\renpy\statements.py", line 277, in call
    return method(parsed, *args, **kwargs)
  File "renpy/common/000statements.rpy", line 501, in execute_show_screen
    args, kwargs = a.evaluate()
  File "C:\- indie dev -\games\renpy\renpy\ast.py", line 188, in evaluate
    kwargs[k] = renpy.python.py_eval(v, locals=scope)
  File "C:\- indie dev -\games\renpy\renpy\python.py", line 2033, in py_eval
    code = py_compile(code, 'eval')
  File "C:\- indie dev -\games\renpy\renpy\python.py", line 690, in py_compile
    raise e
SyntaxError: EOL while scanning string literal (game/full/plot/chp3.rpy, line 317)

Windows-7-6.1.7601-SP1
Ren'Py 7.3.2.320
 0.6.21
Tue Jul 02 10:02:44 2019
weird thing is that I just pass a simple string to that screen as parameter!!! If I remove some part of the string, it works, and I have no clue why. For example if I change it to:

Code: Select all

show screen MsgBox(msg="During this chapter you'll be able to 'lock in' your love interest. If you started the game with a romance, on day 45 there will be a 'break-up scene' where you can choose to end the romance or stay with your chosen partner for the rest of the game.",msgtitle="Time For Romance!")
works fine. But I don't understand what's the difference, apart for the fact that the string is shorter !? :shock:
follow me on Image Image Image
computer games

User avatar
jack_norton
Lemma-Class Veteran
Posts: 4084
Joined: Mon Jul 21, 2008 5:41 pm
Completed: Too many! See my homepage
Projects: A lot! See www.winterwolves.com
Tumblr: winterwolvesgames
Contact:

Re: Ren'Py 7.3.2 Released

#4 Post by jack_norton »

If it's any help, I tried to revert to 7.2.2 and the first issue was resolved, the second might be some wrong character on my side so might not be an actual bug, but the first one I think really is.
follow me on Image Image Image
computer games

User avatar
Zetsubou
Miko-Class Veteran
Posts: 522
Joined: Wed Mar 05, 2014 1:00 am
Completed: See my signature
Github: koroshiya
itch: zetsuboushita
Contact:

Re: Ren'Py 7.3.2 Released

#5 Post by Zetsubou »

jack_norton wrote: Tue Jul 02, 2019 3:26 am Since I've updated, I'm getting a strange error never seen before:

Code: Select all

File "game/RPG framework/rpg_misc.rpy", line 533: a non-constant keyword argument like 'action (SetField(party,"gui_selected_char", entry),Hide("guiSkillDetails"),SetVariable("selected_skill",None))' is not allowed after a python block.
    action (SetField(party,"gui_selected_char", entry),Hide("guiSkillDetails"),SetVariable("selected_skill",None))
What should I do ? It's the first time I see it and the code was working fine on all previous Ren'Py versions. thanks :)
Purely a guess here, but the wording of the error makes me think you have a code block like:

Code: Select all

screen blah:
  button:
    python:
      #do stuff
    action doMoreStuff
And renpy isn't returning from the python scope to the screen/widget the same way it used to, so it's not handling the action the same way it did before.
Looking on GitHub, there were several commits on 28th and 29th June to do with scoping. It looks like the changes were mostly reverted though.
Finished games
-My games: Sickness, Wander No More, Max Massacre, Humanity Must Perish, Tomboys Need Love Too, Sable's Grimoire, My Heart Grows Fonder, Man And Elf, A Dragon's Treasure, An Adventurer's Gallantry
-Commissions: No One But You, Written In The Sky, Diamond Rose, To Libertad, Catch Canvas, Love Ribbon, Happy Campers, Wolf Tails

Working on:
Sable's Grimoire 2

https://zetsubou.games

User avatar
jack_norton
Lemma-Class Veteran
Posts: 4084
Joined: Mon Jul 21, 2008 5:41 pm
Completed: Too many! See my homepage
Projects: A lot! See www.winterwolves.com
Tumblr: winterwolvesgames
Contact:

Re: Ren'Py 7.3.2 Released

#6 Post by jack_norton »

Thanks for the suggestion! Here is the full code of that screen, I forgot to post it:

Code: Select all

screen AttributeRealloc():
    add "gfx/hex_bg.jpg"
    #if quest, all members gets XP
    $cdb=party.available
    #DISPLAY PARTY
    frame xpos 0 ypos 0 xsize 550 ysize 720 xmargin 0 ymargin 0 xpadding 10 ypadding 10:
        hbox xcenter .5 ypos 8 spacing 8 box_wrap True:
            $readytogo=True
            for entry in cdb:
                $a=.75
                if entry.attributePoints>0:
                    $readytogo=False;a=1.0
                button:
                    xsize 240 ysize 135 xmargin 0 ymargin 0 xpadding 0 ypadding 0
                    background None
                    at tfadeset(a)
    #                    background Frame("gfx/namep.png",8,8,tile=True)
    #                else:
    #                    background Frame("gfx/name.png",8,8,tile=True)
                    fixed xsize 90 ysize 90 xpos 4 ycenter .5:
                        $img=CharPortrait(entry)
                        if party.gui_selected_char==entry:
                            add Frame( img,1,1) at an_blinking
                        else:
                            add Frame( img,1,1)
                        text ("lvl. %02d" % entry.level) size 18 xcenter .5 ycenter 1.02 style "maintxt2"
                    vbox xalign 1.0 ypos .3 spacing -2 xsize 130:
                        if entry.attributePoints>0:
                            text ("attributes (%d)" % entry.attributePoints) outlines [(2,"#1e1a16")] size 16 xcenter .5
                    text entry.name size 24 xcenter .5 style "maintxt2" ypos 2
                    action (SetField(party,"gui_selected_char", entry),Hide("guiSkillDetails"),SetVariable("selected_skill",None))
    #RIGHT DISPLAY
    use ReallocAttr(pCharacter=party.gui_selected_char)
    if readytogo==True:
        textbutton "EXIT" style "stat_button" xminimum 220 text_size 22 xalign .98 ycenter 42 action (renpy.retain_after_load,party.completedCombatResultAll,Return())
    else:
        textbutton "EXIT" style "stat_button" xminimum 220 text_size 22 xalign .98 ycenter 42 action Show("MsgBox",msg="You need to assign all the attribute points before exiting. You can also use the Auto button." )
I am not using any python blocks ! so I'm not sure what could be the problem :)
follow me on Image Image Image
computer games

User avatar
Zetsubou
Miko-Class Veteran
Posts: 522
Joined: Wed Mar 05, 2014 1:00 am
Completed: See my signature
Github: koroshiya
itch: zetsuboushita
Contact:

Re: Ren'Py 7.3.2 Released

#7 Post by Zetsubou »

It's not a python block, but I guess a single line python statement might also cause it?

Code: Select all

$img=CharPortrait(entry)
Is inside of the button. Maybe try putting it at the start of the for loop instead?

If that doesn't help, I'd try moving the action command earlier (just before "at tfadeset(a)") in case one of the other widgets or the at statement are causing it.
Finished games
-My games: Sickness, Wander No More, Max Massacre, Humanity Must Perish, Tomboys Need Love Too, Sable's Grimoire, My Heart Grows Fonder, Man And Elf, A Dragon's Treasure, An Adventurer's Gallantry
-Commissions: No One But You, Written In The Sky, Diamond Rose, To Libertad, Catch Canvas, Love Ribbon, Happy Campers, Wolf Tails

Working on:
Sable's Grimoire 2

https://zetsubou.games

User avatar
jack_norton
Lemma-Class Veteran
Posts: 4084
Joined: Mon Jul 21, 2008 5:41 pm
Completed: Too many! See my homepage
Projects: A lot! See www.winterwolves.com
Tumblr: winterwolvesgames
Contact:

Re: Ren'Py 7.3.2 Released

#8 Post by jack_norton »

Thanks, moving the action up, after the at tfadeset (since that must be run first) seems to have fixed it!
Still the behaviour is a bit weird anyway - if I force recompile the whole project says there are error, but if I run it normally with F5 it works. Seems to me that something is not working correctly.
Also if that rule must be taken in consideration now it would break existing games which were working fine before, I mean I could fix them but I should know if it's really an "official rule" or not first, since you even said most of the changes were reverted.
In any case, thanks for the help!
follow me on Image Image Image
computer games

User avatar
Zetsubou
Miko-Class Veteran
Posts: 522
Joined: Wed Mar 05, 2014 1:00 am
Completed: See my signature
Github: koroshiya
itch: zetsuboushita
Contact:

Re: Ren'Py 7.3.2 Released

#9 Post by Zetsubou »

Oh, I'm not saying that something isn't broken, or that all old code should be updated. Just trying to help find a fix :)
Good to hear that you got it working. Hopefully that should also make it a bit easier for someone to find what's changed in Renpy itself.
Finished games
-My games: Sickness, Wander No More, Max Massacre, Humanity Must Perish, Tomboys Need Love Too, Sable's Grimoire, My Heart Grows Fonder, Man And Elf, A Dragon's Treasure, An Adventurer's Gallantry
-Commissions: No One But You, Written In The Sky, Diamond Rose, To Libertad, Catch Canvas, Love Ribbon, Happy Campers, Wolf Tails

Working on:
Sable's Grimoire 2

https://zetsubou.games

User avatar
PyTom
Ren'Py Creator
Posts: 16093
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 7.3.2 Released

#10 Post by PyTom »

It isn't documented - an oversight - but jack_norton's problem is due to a change in behavior. It warns you of something that had always been weird in Ren'Py - if you did:

Code: Select all

screen test():

    default a = 0

    textbutton "Foo":
         $ a = 1
         action Return(a)
This would return 0, not 1, due to properties being evaluated before children. Since that's a problem, Ren'Py now warns about such non-idiomatic screens.

You can disable this warning with:

Code: Select all

define config.keyword_after_python = True
As the only line in a file named something like 01oldcode.rpy. Howere, note that the old semantics are really weird and hard to understand, hence making the change in the first place. I'm going to document this in the incompatible changes page.
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
jack_norton
Lemma-Class Veteran
Posts: 4084
Joined: Mon Jul 21, 2008 5:41 pm
Completed: Too many! See my homepage
Projects: A lot! See www.winterwolves.com
Tumblr: winterwolvesgames
Contact:

Re: Ren'Py 7.3.2 Released

#11 Post by jack_norton »

Thanks for the explanation :) So if I use that define I can still use the old code without changes, right?
follow me on Image Image Image
computer games

trajano
Regular
Posts: 60
Joined: Sun Jun 16, 2019 7:59 pm
Github: trajano
Contact:

Does RAPT work?

#12 Post by trajano »

I can't seem to get Android builds working, but I haven't done much exploration yet. At the moment what I see is

Code: Select all

Ren'Py 7.3.2.320

I'm compiling a short test program, to see if you have a working JDK on your system.



Traceback (most recent call last):
  File "game/mobilebuild.rpy", line 197, in call
  File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/subprocess.py", line 710, in __init__
  File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/subprocess.py", line 958, in _execute_child
WindowsError: [Error 5] Access is denied

I was unable to use javac to compile a test file. If you haven't installed the Java Development Kit yet, please download it from:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

The JDK is different from the JRE, so it's possible you have Java without having the JDK. Without a working JDK, I can't continue.
FWIW here's the fullversion of Java I have

Code: Select all

C:\opt\renpy>javac -fullversion
javac full version "1.8.0_211-b12"

C:\opt\renpy>java -fullversion
java full version "1.8.0_211-b12"
The last time my Android builds worked was in 7.2.2

User avatar
jack_norton
Lemma-Class Veteran
Posts: 4084
Joined: Mon Jul 21, 2008 5:41 pm
Completed: Too many! See my homepage
Projects: A lot! See www.winterwolves.com
Tumblr: winterwolvesgames
Contact:

Re: Ren'Py 7.3.2 Released

#13 Post by jack_norton »

I have troubles too on Android with access error but when renpy attempts to remove a directory. I usually exit the launcher and restart and then works.
follow me on Image Image Image
computer games

trajano
Regular
Posts: 60
Joined: Sun Jun 16, 2019 7:59 pm
Github: trajano
Contact:

Re: Ren'Py 7.3.2 Released

#14 Post by trajano »

@Jack so you got Android builds working? I just tried downgrading RenPy and it still failed so it may be because RAPT is newer. Running as Admin didn't help either.

User avatar
jack_norton
Lemma-Class Veteran
Posts: 4084
Joined: Mon Jul 21, 2008 5:41 pm
Completed: Too many! See my homepage
Projects: A lot! See www.winterwolves.com
Tumblr: winterwolvesgames
Contact:

Re: Ren'Py 7.3.2 Released

#15 Post by jack_norton »

Yes here works fine (I'm on windows 7)
follow me on Image Image Image
computer games

Post Reply

Who is online

Users browsing this forum: AWizardWithWords, Bing [Bot]