Ren'Py 6.12.0 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
Aleema
Lemma-Class Veteran
Posts: 2677
Joined: Fri May 23, 2008 2:11 pm
Organization: happyB
Tumblr: happybackwards
Contact:

Re: Ren'Py 6.12.0 Pre-Released

#16 Post by Aleema »

I had a name in a list called "étoile". I put a u in front (u"étoile") but the error persists ... >_<

edit: unrelated question, what's it take for Ren'Py to graduate to 7.0? =P

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.12.0 Pre-Released

#17 Post by Spiky Caterpillar »

Aleema wrote:I had a name in a list called "étoile". I put a u in front (u"étoile") but the error persists ... >_<
My workarounds only cover backansi's second bug, the first is in how Ren'Py 6.12 handles python blocks. (... which I probably should wait for PyTom to fix, instead of charging in blindly and poking the code until it appears to work... but it's only one little function, and it's getting in the way of testing everything ELSE in the secret project to see if it works in 6.12...)

*poke*
*poke*
Changing the offending function in ast.py to

Code: Select all

    def get_hash(self):
        try:
            if self.hash is not None:
                return self.hash
        except:
            pass

        code = self.source
        if isinstance(code, renpy.python.ast.AST):
            code = renpy.python.ast.dump(code)
        import encodings.utf_8
        self.hash = chr(renpy.bytecode_version) + md5.md5(encodings.utf_8.encode(code)[0]).digest()
        return self.hash
seems to work, but may well do something horrible.

On the other hand, it was worth it, because now that the secret project compiles, I discover that the Linux libGLEW appears to be missing and OpenGL won't load as a result.
Nom nom nom nom nom LEAVES.

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 6.12.0 Pre-Released

#18 Post by PyTom »

Okay, I've released an update to the update server. You can access it by hitting shift+U while at the top screen of the 6.12 launcher.

The current update fixes three issues:

- Get_hash crashing horribly if a non-ASCII character is found in the file.
- Unicode characters not displaying properly in ATL blocks.
- libGLEW being omitted on Linux.

I'm now going to start looking into Jack's various bugs. (Especially for save problems, it would be helpful if I knew how to make the save file.)

EDIT: Oh, I'm pretty sure that DaFool's bug comes from dropping screens.rpy into a game with a script_version.rpy file. You can only use the new screens with a newer game - the definition of the screens changed a bit recently.
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 6.12.0 Pre-Released

#19 Post by jack_norton »

PyTom wrote: I'm now going to start looking into Jack's various bugs. (Especially for save problems, it would be helpful if I knew how to make the save file.)
Wait the bug is not on saving, but if I try to load a previous saved game (from a game with 6.11b). Should I upload a savegame ? (basically any savegame crashes)
follow me on Image Image Image
computer games

User avatar
Aleema
Lemma-Class Veteran
Posts: 2677
Joined: Fri May 23, 2008 2:11 pm
Organization: happyB
Tumblr: happybackwards
Contact:

Re: Ren'Py 6.12.0 Pre-Released

#20 Post by Aleema »

Yayyy! Is fixed!
*it is for posts like this that there was a minimum character count required to post*

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 6.12.0 Pre-Released

#21 Post by PyTom »

I've figured out the Planet Stronghold loading/saving problem.

The fundamental problem is that a Render is being placed into a variable or field. I'm not sure which one it is, but I'm pretty sure it's named myRender. This then gets saved to the save file, and when it reloads, a crash occurs.

To understand what's going on here, I need to explain why we have Renders in the first place. When displaying graphics, there is stuff we don't want to put in a save file. For example, OpenGL textures each have a number they get when they are loaded into memory. On each run, that number changes - so on one run, texture 17 could be a character, and on the next, a building. To deal with this, the screen is broken up into two things. Displayables represent the parts that can be saved, and Renders the parts that can't.

I made a change that allows Renders to be loaded into memory in 6.12. They still won't work - they never did - but they should at least load. Older code (with config.developer = False) will be able to save them, but when config.developer is True, you'll get an error instead.

This will be in the next update, which will be later today. (I want to have a go at those frame bugs, first.)
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 6.12.0 Pre-Released

#22 Post by jack_norton »

Ah...I know where it is!! Here, when you see a new enemy:

Code: Select all

label showenemy(enm):
    python:
        myDisplayable = im.Image("gfx/rpg/"+Enemy[enm][1]+".png")
        myRender = renpy.render(myDisplayable, 800, 600, 0, 0)
        sizes = myRender.get_size()
        currentwidth=sizes[0]; currentheight = sizes[1]
        xscale = 1.0
        yscale = 1.0
        if (currentwidth > 480):
            xscale = float(480) / float(currentwidth)
        if (currentheight > 500):
            yscale = float(500) / float(currentheight)
        if (xscale < yscale):
            minscale = xscale
        else:
            minscale = yscale
        newwidth = currentwidth * minscale
        newheight = currentheight * minscale    
    scene black
    show i_panel at Position(xpos=1.5,yalign=0.5)
    transform enmshw:
        xalign 0.5 yalign 0.5 alpha 0
        linear 1.0 alpha 1.0
        linear 1.0 xalign 0.0
        pause 1.0
        linear 1.0 zoom minscale
    $ renpy.show("r_"+Enemy[enm][1],[enmshw])
        
    show i_panel:
        xpos 1.5 yalign 0.5
        linear 1.5 xalign 0.0
        
    image test:
        contains:
            Null()
            pause 2.0
            xalign 0.9 yalign 0.0
            Text(Enemy[enm][2],style="bix",size=40,slow_cps=8,slow=True)
        contains:
            Null()
            pause 3.0
            xalign 0.5 yalign 0.97
            Text("click to continue",style="bix",size=32,slow_cps=8,slow=True)
    show test
    transform blink(d):
        alpha 0
        pause d
        linear 0.5 alpha 1.0
        
    python:
        with ui.vbox(-2,xmaximum=500,xfill=True,xpos=470,ypos=150):
            ui.at(blink(2))
            ui.text("Hit Points: "+str(Enemy[enm][3]),size=25,style="bix2")
            ui.at(blink(2.4))
            ui.text("HP Regen: "+str(Enemy[enm][19])+"/turn",size=25,style="bix2")
            ui.at(blink(2.8))
            ui.text("XP When Killed: "+str(Enemy[enm][18]),size=25,style="bix2")
            ui.at(blink(3.2))
            ui.text("Attack: "+DmgT[Enemy[enm][5]],size=25,style="bix2")
            ui.at(blink(3.6))
            ui.text("Damage: ("+str(Enemy[enm][6])+"-"+str(Enemy[enm][7])+") x"+str(Enemy[enm][8]),size=25,style="bix2")
            ui.at(blink(4.0))
            ui.text("Armor Rating:",size=25,style="bix2")
        with ui.vbox(-2,xmaximum=500,xfill=True,xpos=760,ypos=150):
            ui.at(blink(2.2))
            ui.text("Skill Points: "+str(Enemy[enm][4]),size=25,style="bix2")
            ui.at(blink(2.6))
            ui.text("SP Regen: "+str(Enemy[enm][20])+"/turn",size=25,style="bix2")
            ui.at(blink(2.8))
            ui.text("Critical Hit: "+str(Enemy[enm][17])+"%",size=25,style="bix2")
            ui.at(blink(3.0))
            ui.text("Evasion: "+str(Enemy[enm][15])+"%",size=25,style="bix2")
            ui.at(blink(3.4))
            ui.text("Accuracy: "+str(Enemy[enm][9])+"%",size=25,style="bix2")
            ##  ui.at(blink(3.8))
            ##  ui.text("x Rate of Fire: "+str(Enemy[enm][8]),size=25,style="bix2")
            for i in range(5):
                ui.at(blink(4.2+i*0.15))
                ui.text(str(Enemy[enm][10+i])+" vs "+DmgT[i],size=25,style="bix2")
        with ui.vbox(-2,xmaximum=530,xfill=True,xpos=470,ypos=480):
            ui.at(blink(5.4))
            ui.text("Special Move: "+EnemySk[Enemy[enm][16]][2]+" ("+str(EnemySk[Enemy[enm][16]][3])+"sp)",size=25,style="bix2")
            ui.at(blink(5.6))
            ui.text(EnemySk[Enemy[enm][16]][1],size=22,style="bix2")
            
        renpy.pause()
    return
would be wiser to get rid of that completely (I can find a workaround, no problems for me)?
follow me on Image Image Image
computer 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 6.12.0 Pre-Released

#23 Post by PyTom »

Yes. You probably should just do:

Code: Select all

label showenemy(enm):
    python:
        currentwidth, currentheight = renpy.image_size("gfx/rpg/"+Enemy[enm][1]+".png")
        # ...
You should probably also get rid of myRender if you load it, using code like:

Code: Select all

label after_load:
    $ myRender = None
    return
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 6.12.0 Pre-Released

#24 Post by jack_norton »

Cool thanks a lot, will add this. I'd like to ship PS with the latest version of Renpy so will run also on netbooks, once the frame bug is fixed :)
follow me on Image Image Image
computer 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 6.12.0 Pre-Released

#25 Post by PyTom »

I've pushed out 6.12.0b, as a shift+U update, download, and Android package. This fixes all the bugs above, except for DaFool's one, which is almost certainly caused by an incorrect script_version somewhere.
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
backansi
Veteran
Posts: 224
Joined: Sun May 31, 2009 7:15 am
Location: Korea, Republic of
Contact:

Re: Ren'Py 6.12.0 Pre-Released

#26 Post by backansi »

I found a typo.

Code: Select all

AttributeError: 'Show' object has no attribute 'scren'
------
#00screen.py
    class Show(Action):
    #....
        def predict(self):
            renpy.predict_screen(self.scren, **self.kwargs)

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 6.12.0 Pre-Released

#27 Post by PyTom »

Fixed. Thanks!
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
DaFool
Lemma-Class Veteran
Posts: 4171
Joined: Tue Aug 01, 2006 12:39 pm
Contact:

Re: Ren'Py 6.12.0 Pre-Released

#28 Post by DaFool »

PyTom wrote:I've pushed out 6.12.0b, as a shift+U update, download, and Android package. This fixes all the bugs above, except for DaFool's one, which is almost certainly caused by an incorrect script_version somewhere.
I just deleted script_version.rpy and rpyc It doesn't seem to be looking for it anyway.

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 6.12.0 Pre-Released

#29 Post by jack_norton »

Maybe it's not really a renpy bug. However behaviour changed vs last version. I got this crash:

Code: Select all

Exception: Widget <renpy.display.layout.Window object at 0x10499C30> expects a child.

While running game code:
 - script call at line 75 of C:\- indie dev -\games\renpy.new\Planet Stronghold/game/mapmoves.rpy
 - script at line 1732 of C:\- indie dev -\games\renpy.new\Planet Stronghold/game/data.rpy
 - python at line 1804 of C:\- indie dev -\games\renpy.new\Planet Stronghold/game/data.rpy.

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

  File "C:\- indie dev -\games\renpy\renpy\bootstrap.py", line 276, in bootstrap
  File "C:\- indie dev -\games\renpy\renpy\main.py", line 320, in main
  File "C:\- indie dev -\games\renpy\renpy\main.py", line 93, in run
  File "C:\- indie dev -\games\renpy\renpy\execution.py", line 259, in run
  File "C:\- indie dev -\games\renpy\renpy\ast.py", line 588, in execute
  File "C:\- indie dev -\games\renpy\renpy\python.py", line 957, in py_exec_bytecode
  File "C:\- indie dev -\games\renpy.new\Planet Stronghold/game/data.rpy", line 1804, in <module>
  File "C:\- indie dev -\games\renpy\renpy\display\layout.py", line 193, in __exit__
  File "C:\- indie dev -\games\renpy\renpy\ui.py", line 327, in context_exit
  File "C:\- indie dev -\games\renpy\renpy\ui.py", line 308, in close
  File "C:\- indie dev -\games\renpy\renpy\ui.py", line 148, in close
Exception: Widget <renpy.display.layout.Window object at 0x10499C30> expects a child.

While running game code:
 - script call at line 75 of C:\- indie dev -\games\renpy.new\Planet Stronghold/game/mapmoves.rpy
 - script at line 1732 of C:\- indie dev -\games\renpy.new\Planet Stronghold/game/data.rpy
 - python at line 1804 of C:\- indie dev -\games\renpy.new\Planet Stronghold/game/data.rpy.

Ren'Py Version: Ren'Py 6.12.0b
in the armory inventory, it can happen that I have no items on the left list. Before it was working (showing nothing), now it crashes. I think would be cool if instead of crashing because can't find a child, maybe renpy would add something like a ui.null() or something so that it doesn't crash? after all if people forget to add a ui widget they will noticed it because the layout should be messed up, but at least not have a crash 8)
edit: actually crashed even before, sorry :)
Last edited by jack_norton on Mon Jan 31, 2011 5:29 am, edited 1 time in total.
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 6.12.0 Pre-Released

#30 Post by jack_norton »

I got an even more fun one:

Code: Select all

I'm sorry, but an uncaught exception occurred.

Exception: 1 Renders are alive at shutdown. This is probably a memory leak bug in Ren'Py.

While running game code:

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

  File "C:\- indie dev -\games\renpy\renpy\bootstrap.py", line 276, in bootstrap
  File "C:\- indie dev -\games\renpy\renpy\main.py", line 334, in main
  File "render.pyx", line 93, in renpy.display.render.check_at_shutdown (render.c:1480)
Exception: 1 Renders are alive at shutdown. This is probably a memory leak bug in Ren'Py.

While running game code:

Ren'Py Version: Ren'Py 6.12.0b
cool, Ren'Py is becoming a sort of AI that can understand when has memory leaks! :lol:
follow me on Image Image Image
computer games

Post Reply

Who is online

Users browsing this forum: No registered users