Ren'Py 6.11.1 Pre-Released

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
PyTom
Ren'Py Creator
Posts: 15893
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 6.11.1 Pre-Released

#1 Post by PyTom » Thu Sep 09, 2010 11:56 am

Ren'Py 6.11.1 "Done in One" is the first minor release of the Ren'Py 6.11 series. The primary focus of this release is to fix bugs found in 6.11.0, but it also includes a few low-risk new features, including alpha-controlled dissolves and a notification system.

Downloads of 6.11.1 and a full release announcement can be found at:

http://www.renpy.org/wiki/renpy/releases/6.11.1

A list of changes can be found at:

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


The goal with this release is to get a release out that fixes the highest-priority bugs in Ren'Py 6.11.0. The highest-priority bugs are those that only manifest on a few systems. Nobody is going to release a game that has broken bits of critical functionality on their system - but if the game is only broken in a few places, they might miss it.



While I was at it, I integrated all the other bug fixes and feature requests I had done. These include:

* AlphaBlend and AlphaDissolve, which let you do alpha-controlled blending. (See the video above.)
* A "modes" system that makes it far easier to react to, for example, changes from ADV mode to NVL mode, or from a menu to a dialogue.
* The ability to get the screen coordinates of the currently focused displayable, if possible. (This could be used to auto-place tooltips.)
* The renpy.notify function and Notify action, like we discussed.
* The ability to dump a list of files from the developer menu.

There's also an experimental updater, which can be accessed by hitting shift+U from the top launcher screen. (You can try it, but right now, only a null update is in place.)
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
jack_norton
Lemma-Class Veteran
Posts: 4067
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 6.11.1 Pre-Released

#2 Post by jack_norton » Thu Sep 09, 2010 12:24 pm

PyTom wrote: * The ability to get the screen coordinates of the currently focused displayable, if possible. (This could be used to auto-place tooltips.)
That's really cool! I could use this :) The new alphadissolve looks great too.
I was wondering about another feature which should be relatively easy to implement: double click. It's still common in many games to have single click perform an action, while doubleclick perform another. So would be enough to add to all buttons, beside the clicked= another parameter like doubleclicked=
And a general config.doubleclickdelay to set how many ms are counted to make a double click.
And don't forget also about my other suggestion of drag/drop which could be very useful as well.
follow me on Image Image Image
computer games

User avatar
Mihara
Regular
Posts: 119
Joined: Thu Mar 11, 2010 2:52 pm
Contact:

Re: Ren'Py 6.11.1 Pre-Released

#3 Post by Mihara » Thu Sep 09, 2010 3:23 pm

I tried to make use of modes to make the automatic window hide and show in NVL mode trigger a transition. The results are puzzling.

I'm not sure if it's a bug or not, but if it isn't, I would appreciate an explanation what am I doing wrong.

Code: Select all


init python:

    # This is important.
    config.default_text_cps = 30

    config.empty_window = nvl_show_core
    style.nvl_window.background = Solid('#00000067')
    
    config.window_hide_transition = Dissolve(0.2)
    config.window_show_transition = Dissolve(0.2)
    
    # So I want to have transitions trigger when the NVL window 
    # is hidden and shown automatically.
    # It works when it's being hidden.
    # When it's shown, the results are rather bizarre.
    def window_switch_callback(mode, old_modes):
        if mode in ["nvl","nvl_menu"] and old_modes[0] == "with":
            nvl_show(config.window_show_transition)
        if mode == "with" and old_modes[0] in ["nvl","nvl_menu"]:
            nvl_hide(config.window_hide_transition)
        
    config.mode_callbacks.append(window_switch_callback)

init:
    
    image eileen happy = Image('eileen_happy.png')
    image eileen concerned = Image('eileen_concerned.png')
    
    define narrator = NVLCharacter(None, kind = nvl,
        window_top_margin=6,
        window_bottom_margin=6,
        )
      
label start:
    show black
    show eileen happy with dissolve
    
    "It was a dark and stormy night."
    show eileen concerned with dissolve
    extend " And this line was supposed to have been printed out letter by letter,{w} but before it gets a chance to do that, it is shown in full, then erased, then printed out as slow text again.{w} So what am I doing wrong?"

User avatar
Jake
Support Hero
Posts: 3826
Joined: Sat Jun 17, 2006 7:28 pm
Contact:

Re: Ren'Py 6.11.1 Pre-Released

#4 Post by Jake » Thu Sep 09, 2010 4:09 pm

PyTom wrote: Downloads of 6.11.1 and a full release announcement can be found at:
I'm pretty happy to see this - the movement+offset fix works perfectly, thanks!
Server error: user 'Jake' not found

User avatar
jack_norton
Lemma-Class Veteran
Posts: 4067
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 6.11.1 Pre-Released

#5 Post by jack_norton » Fri Sep 10, 2010 6:54 am

I found a bug that I think before wasn't present. Check the screenshot below:
justifybug.jpg
I am using a simple ui.frame and a ui.text with justify=True and you can see that the rightmost letter is truncated in one line (the word "Each"). I think before it was displaying it correctly.
follow me on Image Image Image
computer games

User avatar
PyTom
Ren'Py Creator
Posts: 15893
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 6.11.1 Pre-Released

#6 Post by PyTom » Fri Sep 10, 2010 9:03 am

I don't think that's new - I didn't touch anything regarding text. Thant being said, can you put together a small example so I can see what's going on?
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
jack_norton
Lemma-Class Veteran
Posts: 4067
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 6.11.1 Pre-Released

#7 Post by jack_norton » Fri Sep 10, 2010 9:24 am

Yes, the code in question is really simple:

Code: Select all

    TutN=("Welcome to Planet Stronghold combat! You can now play a short tutorial to help you understand how battles work. You can skip it if you want, but we recommend you to play it!",
    "On the top of screen you see the enemies info: for each enemy you see the name, the Hit Points, the Skill Points (they are used in the special moves) and the condition. You also see a graphic representation of the enemies in the center of the screen. {p}On the bottom of screen you see your party: for each member you see a portrait, that, once clicked, brings you to the status/inventory screen and the current active effects below it:\n{color=#FF0}T{/color}=Tired, {color=#FF0}S{/color}=Stunned, {color=#FF0}B{/color}=Bleeding and {color=#FF0}KO{/color}=knockout.\nOn the right instead, from top to bottom: the name, the current hit points, psionic points and small icons representing equipped weapon/armor/item.",
    "In the game there are several kinds of weapons with different statistics: min-max damage, accuracy, rate of fire and damage type.{p}Damage type can be: {image=icons/energy.png}energy, {image=icons/explosive.png}explosive, {image=icons/piercing.png}armor piercing, {image=icons/acid.png}acid and {image=icons/psionic.png}psionic. Each damage type is more effective on certain types of enemies: in this first battle, for example, the RoboAnt-02 are easily damaged by energy weapons, while they will absorb some damage from all the other kinds of attacks. So it's a very important aspect to remember.{p}The rate of fire determines how many times you shoot with that weapon during your turn, and the accuracy measures the chances to hit with each shot.",
    "The currently active player has an orange border, and you see the action menu sliding up.\nYou have 6 options available, the first 3 are the different attack modes: {p}{color=#FF0}Burst{/color} shoot more times but with less accuracy and no chance of critical hits.{p}{color=#FF0}Normal{/color} shoot at the enemy with current weapon, default attack mode. {p}{color=#FF0}Aimed{/color} shoot less times but with more accuracy and chance of critical hits. Defense penalty.{p}{color=#FF0}Defend{/color} you take cover and regain some HP/PP and get a defense bonus{p}{color=#FF0}Item{/color} lets you use the currently equipped item. {p}{color=#FF0}Psionic{/color} opens the Psionic Powers menu (if you're a soldier your psionic skills are very limited)",
    "Lastly, remember that at the beginning of each turn the enemies will regain some Skill Points, used in their special attacks, while your characters will regain some Psionic Points. For your party members that value is influenced by their Skills. Later in the game you can find some types of enemies that also regenerate Hit Points.\nFor now, experiment with the various attack modes and try to learn how the battle works. Tom Shatz has higher level than your character and has better equipment, so you should be able to win, but even if you lose this battle, the story will go on, so don't worry."
    )
            ui.frame(xalign=0.5, yalign=0.4, yminimum=250, xmaximum=860, xfill=True, style="rpg")
            ui.text(TutN[tutorial],size=17,line_spacing=-2,slow=True,slow_speed=80,xalign=0.5,ypos=0,justify=True)
and the style "rpg" is quite standard too:

Code: Select all

    style.create("rpg","default")
    style.rpg.background= Frame("gfx/rpgframe.png",24,24,tile=True)
    style.rpg.xpadding=10
    style.rpg.top_padding=10
    style.rpg.bottom_padding=8
I think should be all, I just used standard commands this time :)
follow me on Image Image Image
computer games

User avatar
PyTom
Ren'Py Creator
Posts: 15893
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 6.11.1 Pre-Released

#8 Post by PyTom » Fri Sep 10, 2010 9:31 am

Yes, but I suspect things like the fonts might be - if not to blame entirely - at least part of the problem. That's why I'd like a small demo of this scene, so I can see exactly what is going on.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
jack_norton
Lemma-Class Veteran
Posts: 4067
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 6.11.1 Pre-Released

#9 Post by jack_norton » Fri Sep 10, 2010 10:17 am

ok, will try to build up a small demo then :) I checked and you were correct: same behaviour happened even in the previous 6.11 so isn't a new bug.
follow me on Image Image Image
computer games

User avatar
Spiky Caterpillar
Veteran
Posts: 253
Joined: Fri Nov 14, 2008 7:59 pm
Completed: Lots.
Projects: Black Closet
Organization: Slipshod
Location: Behind you.
Contact:

Crash on load

#10 Post by Spiky Caterpillar » Sun Sep 12, 2010 11:47 pm

Loading saves made in 6.11.0L crashes 6.11.1a.

To replicate:
Start the tutorial game from the 6.11.0L launcher. Save the game.
Start the tutorial game from 6.11.1a. Load the game. It crashes with the following traceback:

Code: Select all

  File "(homedir)/code/renpy-6.11.1a/renpy/bootstrap.py", line 254, in bootstrap
    renpy.main.main()
  File "(homedir)/code/renpy-6.11.1a/renpy/main.py", line 310, in main
    run(restart)
  File "(homedir)/code/renpy-6.11.1a/renpy/main.py", line 93, in run
    game.context().run()
  File "(homedir)/code/renpy-6.11.1a/renpy/execution.py", line 259, in run
    node = node.execute()
  File "(homedir)/code/renpy-6.11.1a/renpy/ast.py", line 347, in execute
    renpy.exports.say(who, what, interact=getattr(self, 'interact', True))
  File "(homedir)/code/renpy-6.11.1a/renpy/exports.py", line 569, in say
    who(what, interact=interact)
  File "(homedir)/code/renpy-6.11.1a/renpy/character.py", line 680, in __call__
    self.do_display(who, what, cb_args=self.cb_args, **display_args)
  File "(homedir)/code/renpy-6.11.1a/renpy/character.py", line 639, in do_display
    **display_args)
  File "(homedir)/code/renpy-6.11.1a/renpy/character.py", line 343, in display_say
    renpy.exports.mode(mode)
  File "(homedir)/code/renpy-6.11.1a/renpy/exports.py", line 1460, in mode
    c(mode, modes)
  File "(homedir)/code/renpy-6.11.1a/common/00nvl_mode.rpy", line 323, in _nvl_adv_callback
    old = old_modes[0]
IndexError: list index out of range

While running game code:
 - script call at line 549 of (homedir)/code/renpy-projects/MagicalDiary/game/chapter1.rpy
 - script call at line 893 of (homedir)/code/renpy-projects/MagicalDiary/game/week2.rpy
 - script at line 6 of (homedir)/code/renpy-projects/MagicalDiary/game/enginepatch.rpy
 - python at line 323 of (homedir)/code/renpy-6.11.1a/common/00nvl_mode.rpy.
It looks like it's trying to apply the NVL<->ADV mode transitions in a new way that the old save didn't handle right; the following patch to exports.py seems to fix the problem.

Code: Select all

*** exports.py.STOCK    2010-09-12 20:32:39.000000000 -0700
--- exports.py  2010-09-12 20:32:50.000000000 -0700
***************
*** 1452,1457 ****
--- 1452,1459 ----
          return
  
      modes = ctx.modes
+     if not modes:
+         return
  
      try:
          ctx.use_modes = False
Nom nom nom nom nom LEAVES.

User avatar
PyTom
Ren'Py Creator
Posts: 15893
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 6.11.1 Pre-Released

#11 Post by PyTom » Mon Sep 13, 2010 12:00 am

Mihara - fixed your problem. Extend is problematic, especially when it interacts with NVL-mode - but I think I now have it working, at least in this case.

I really need to rewrite Character to simplify it.

Spiky - Thanks for tracking that down. I didn't use that exact patch, but a similar one, which is in revision 1255.

I've pushed both fixes up to Ren'Py Update, so you should be able to get them if you hit shift+U at the launcher's front screen. (I'd like feedback as to how well it works, from anyone trying this.)
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
jack_norton
Lemma-Class Veteran
Posts: 4067
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 6.11.1 Pre-Released

#12 Post by jack_norton » Mon Sep 13, 2010 2:23 am

I tried the update and worked fine! Nice system, probably all the troule I had with mine was because I used to download a zip and uncompressed it, instead of the single files. I never had problem even with my own though, so maybe better if you wait for some more feedback about it:)
follow me on Image Image Image
computer games

User avatar
Spiky Caterpillar
Veteran
Posts: 253
Joined: Fri Nov 14, 2008 7:59 pm
Completed: Lots.
Projects: Black Closet
Organization: Slipshod
Location: Behind you.
Contact:

Re: Ren'Py 6.11.1 Pre-Released

#13 Post by Spiky Caterpillar » Mon Sep 13, 2010 2:28 am

The updater seems to work fine (though the new files come in with CRLF line endings for some reason), but the patched version crashes Magical Diary with a complaint that an ADVCharacter object has no 'mode' (traceback attached), and loading a save made in 6.11.0L on the first line of the tutorial, using 6.11.1a+autoupdate, while it no longer crashes, will advance to a blank window when clicked.
Nom nom nom nom nom LEAVES.

User avatar
Mihara
Regular
Posts: 119
Joined: Thu Mar 11, 2010 2:52 pm
Contact:

Re: Ren'Py 6.11.1 Pre-Released

#14 Post by Mihara » Mon Sep 13, 2010 12:42 pm

PyTom wrote:Mihara - fixed your problem. Extend is problematic, especially when it interacts with NVL-mode - but I think I now have it working, at least in this case.
Tested, fix works, though it turns out my code when used in a real project uncovers something that might be another bug...

Code: Select all


init python:

    zoomvertin = ComposeTransition(CropMove(4.0,mode="custom", startcrop=(0.5,0.0,0.0,1.0),endcrop=(0.0,0.0,1.0,1.0), startpos=(0.5,0.0),endpos=(0.0,0.0)),before=Fade(4.0,0,0))

    config.empty_window = nvl_show_core
    style.nvl_window.background = Solid('#00000067')

    config.window_hide_transition = Dissolve(0.2)
    config.window_show_transition = Dissolve(0.2)
    
    def window_switch_callback(mode, old_modes):
        if mode in ["nvl","nvl_menu"] and old_modes[0] == "with":
            nvl_show(config.window_show_transition)
        if mode == "with" and old_modes[0] in ["nvl","nvl_menu"]:
            nvl_hide(config.window_hide_transition)
        
    config.mode_callbacks.append(window_switch_callback)
    
init:
    
    image red = Solid('#f00')
    image white = Solid('#fff')
    image eileen happy = Image('eileen_happy.png')
    image eileen concerned = Image('eileen_concerned.png')
    
    define narrator = NVLCharacter(None, kind = nvl,
        window_top_margin=6,
        window_bottom_margin=6,
        )
    
label start:
    scene red
    show eileen happy with dissolve
    
    "Previously, this transition would result in the original image fading to black, while the vertical strip of white is expanding outward."
    scene white with zoomvertin
    
    show eileen concerned with dissolve
    "Now it doesn't."
    
    scene red
    show eileen concerned
    with dissolve
    
    "It does if I remove the mode callback or 'nvl hide' before using the transition, like this."
    
    nvl hide dissolve
    scene white with zoomvertin
    
    "It's not a problem to do an nvl hide in my case, but I'm not sure it's working as designed right now. It appears to me that ComposeTransition is getting confused on what it should be doing when interrupted by a mode change."
Update system also works, but here's a question...

It seems to me you are downloading files one by one (there's what, over 150 updated files in this batch?) instead of downloading a gzipped batch and then unzipping it. Won't that chew your server traffic even faster in the long run than everybody downloading a single large update? Also, some indication of which build are we on would be nice.

User avatar
jack_norton
Lemma-Class Veteran
Posts: 4067
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 6.11.1 Pre-Released

#15 Post by jack_norton » Mon Sep 13, 2010 12:54 pm

Mihara wrote: It seems to me you are downloading files one by one (there's what, over 150 updated files in this batch?) instead of downloading a gzipped batch and then unzipping it. Won't that chew your server traffic even faster in the long run than everybody downloading a single large update? Also, some indication of which build are we on would be nice.
with my auto-updater/installer I did that, but then you could have troubles when unzipping, in particular on Mac OS (unzipping inside a bundle) and on Windows (permission problems).
follow me on Image Image Image
computer games

Post Reply

Who is online

Users browsing this forum: No registered users