Ren'Py 6.99 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.
Post Reply
Message
Author
User avatar
Vegos
Newbie
Posts: 16
Joined: Wed Aug 05, 2015 6:19 pm
Location: Slovenia
Contact:

Re: Ren'Py 6.99 Released

#91 Post by Vegos »

This is what I can get from Event Viewer; the crash itself gives me no error log to see.


Faulting application name: renpy.exe, version: 0.0.0.0, time stamp: 0x5586cc5c
Faulting module name: HID.DLL, version: 10.0.10240.16384, time stamp: 0x559f3cb0
Exception code: 0xc0000005
Fault offset: 0x0000169b
Faulting process id: 0x146c
Faulting application start time: 0x01d0cfd0ab0f6d71
Faulting application path: D:\Creativity\RenPy\renpy-6.99.5-sdk\lib\windows-i686\renpy.exe
Faulting module path: C:\WINDOWS\SYSTEM32\HID.DLL


Edit: After some guesswork, I unplugged my controller (since it's a human interface device), and now it works as it should. Wouldn't have thought to check that if you asked for more details. So yep, definitely weird hardware problem. I'm using a Saitek RumblePad; in case this information is of any use :)

User avatar
Stapper
Regular
Posts: 96
Joined: Wed Feb 27, 2013 9:54 pm
Contact:

Re: Ren'Py 6.99 Released

#92 Post by Stapper »

With this newer version I can't seem to open my inventory anymore and my game crashes with this error:

Code: Select all

While running game code:
  File "renpy/common/00gamemenu.rpy", line 163, in script
    $ ui.interact()
  File "renpy/common/00gamemenu.rpy", line 163, in <module>
    $ ui.interact()
  File "game/def_hud.rpy", line 413, in <module>
    use inventory_view(inventory)
  File "game/inventory.rpy", line 206, in execute
    screen inventory_view(inventory, second_inventory=False):
  File "game/inventory.rpy", line 207, in execute
    vbox:
  File "game/inventory.rpy", line 208, in execute
    if single_inventory:
NameError: name 'single_inventory' is not defined
It seems that this new version isn't reading the default anymore that are specified in a screen:

Code: Select all

screen inventory_screen(inventory):
    default single_inventory = True 
    default tt = Tooltip("")  
Did anything change related to this?

User avatar
PyTom
Ren'Py Creator
Posts: 16096
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.99 Released

#93 Post by PyTom »

A lot changed, but I'd need far more code than this to really understand what's going wrong. It does strike me that you're defining single_inventory in inventory_screen, but the error appears to be in inventory_view, so maybe that has to do with the problem. Ren'Py did become more strict about isolating screen namespaces.
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
Stapper
Regular
Posts: 96
Joined: Wed Feb 27, 2013 9:54 pm
Contact:

Re: Ren'Py 6.99 Released

#94 Post by Stapper »

Sorry, I didn't want to unnecessarily flood the thread with the entire script :)
It worked like a charm in renpy-6.17.3, but I've been on a break and just updated to this version earlier this week to encounter this problem.

Here are the entire screens:

Code: Select all

screen inventory_screen(inventory):
    tag menu
    #modal True # change to True to prevent other interactions 
    default single_inventory = True 
    default tt = Tooltip("")    
    frame:
        style_group "invstyle"                 
        hbox:
            vbox:
                use inventory_view(inventory)                  
                use view_nav(inventory)
                use sort_nav(inventory) 
                textbutton "Close" action Hide("inventory_screen")                
            if crafting_screen:
                use crafting(inventory) 
    use inventory_tooltip
     
screen inventory_tooltip:    
    frame:        
        xalign 0.5 yalign 0.95 background None
        hbox:
            xalign 0.5
            text tt.value
    
screen inventory_view(inventory, second_inventory=False):
    vbox:       
        label inventory.name
        text ("Money: " + str(inventory.money))       
        side "c r":
            area (0, 0, 350, 400)
            viewport id "vp":
                draggable True   
                mousewheel True
                if inventory.grid_view:   
                    $ extra_spots = 3 - (len(inventory.inv) % 3)
                    $ total_grid = extra_spots + len(inventory.inv)
                    $ grid_y = total_grid/3
                    grid 3 grid_y:          
                        spacing 10                        
                        for item in inventory.inv:                
                            if item[0].icon:
                                $ hover_icon = im.Sepia(item[0].icon)
                                if single_inventory:
                                    imagebutton:
                                        idle LiveComposite((100,100), (0,0), item[0].icon, (0,0), Text(str(item[1])))
                                        hover LiveComposite((100,100), (0,0), hover_icon, (0,0), Text(str(item[1])))
                                        hovered tt.Action(item[0].name + ": " + item[0].desc)
                                        action item[0].act
                                else:
                                    imagebutton:
                                        idle LiveComposite((100,100), (0,0), item[0].icon, (0,0), Text(str(item[1])))
                                        hover LiveComposite((100,100), (0,0), hover_icon, (0,0), Text(str(item[1])))
                                        hovered tt.Action(item[0].name + ": " + item[0].desc + " (Value " + str(item[0].value) + ")")
                                        action transaction(inventory, second_inventory, item)                       
                            else:
                                if single_inventory:
                                    textbutton (item[0].name + " (" + str(item[1]) + ")") action Null hovered tt.Action(item[0].desc)                        
                                else:
                                    textbutton (item[0].name + " (" + str(item[1]) + ")") action transaction(inventory, second_inventory, item) hovered tt.Action(item[0].desc + " (Value " + str(item[0].value) + ")") 
                        for i in range(len(inventory.inv), total_grid):
                            null 
                else:
                    vbox:                                                  
                        for item in inventory.inv:                
                            hbox:
                                spacing 25
                                if item[0].icon:
                                    $ hover_icon = im.Sepia(item[0].icon)
                                    if single_inventory:
                                        imagebutton:
                                            idle LiveComposite((100,100), (0,0), item[0].icon, (0,0), Text(str(item[1])))
                                            hover LiveComposite((100,100), (0,0), hover_icon, (0,0), Text(str(item[1])))
                                            hovered tt.Action(item[0].name + ": " + item[0].desc)
                                            action item[0].act
                                    else:
                                        imagebutton:
                                            idle LiveComposite((100,100), (0,0), item[0].icon, (0,0), Text(str(item[1])))
                                            hover LiveComposite((100,100), (0,0), hover_icon, (0,0), Text(str(item[1])))
                                            hovered tt.Action(item[0].desc)
                                            action transaction(inventory, second_inventory, item) 
                                    vbox:
                                        text item[0].name
                                        text ("Value: " + "[item[0].value]")
                                else:
                                    if single_inventory:
                                        textbutton item[0].name action Null hovered tt.Action(item[0].desc)
                                    else:
                                        textbutton item[0].name action transaction(inventory, second_inventory, item) hovered tt.Action(item[0].desc)   
                                    text str(item[1])  
                                    text "([item[0].value])"
            vbar value YScrollValue("vp")                 

screen vendor(first_inventory, second_inventory):
    tag menu
    #modal True
    default single_inventory = False 
    default tt = Tooltip("")
    frame:       
        style_group "invstyle"
        vbox:
            hbox:
                vbox:
                    use inventory_view(first_inventory, second_inventory)               
                    use view_nav(first_inventory)
                    use sort_nav(first_inventory)
                null width 25
                vbox:
                    use inventory_view(second_inventory, first_inventory)
                    use view_nav(second_inventory)
                    use sort_nav(second_inventory)                  
            textbutton "Close" action Hide("vendor")
    use inventory_tooltip

screen crafting(inventory):
    vbox:            
        label "Recipes"
        hbox:
            xmaximum 600 xminimum 600 xfill True         
            text "Name" xalign 0.5   
            text "Ingredients" xalign 0.5   
        side "c r":
            area (0,0,600,400)
            viewport id "cookbook":
                draggable True
                mousewheel True
                vbox:
                    for item in cookbook:
                        hbox:                            
                            first_spacing 25 spacing 10
                            hbox:
                                xmaximum 250 xminimum 250 xfill True box_wrap True
                                if item.icon:
                                    add im.FactorScale(item.icon, 0.33)
                                if inventory.check_recipe(item):                                                  
                                    textbutton item.name action craft_item(inventory,item)
                                else:                                                                   
                                    text item.name
                            for i in item.recipe: 
                                if i[0].icon:
                                    add im.FactorScale(i[0].icon, 0.33)
                                else:
                                    text i[0].name
                                if inventory.qty(i[0]) >= i[1]:
                                    text "x" + str(i[1]) bold True
                                else:
                                    text "x" + str(i[1])             
            vbar value YScrollValue("cookbook") 
        textbutton "Hide" action ToggleVariable("crafting_screen") xalign 0.5
                
screen view_nav(inventory):
    hbox:
        text "View: "
        textbutton "Grid" action SetField(inventory, "grid_view", True)        
        textbutton "List" action SetField(inventory, "grid_view", False)     
                
screen sort_nav(inventory):
    hbox:
        text "Sort: "         
        textbutton "Name" action [ToggleField(inventory, "sort_by", inventory.sort_name), inventory.sort_name]
        textbutton "Qty" action [ToggleField(inventory, "sort_by", inventory.sort_qty), inventory.sort_qty]
        textbutton "Val" action [ToggleField(inventory, "sort_by", inventory.sort_value), inventory.sort_value]
        if inventory.sort_order:
            textbutton "asc." action [ToggleField(inventory, "sort_order"), inventory.sort_by]
        else:
            textbutton "des." action [ToggleField(inventory, "sort_order"), inventory.sort_by]
            
screen inventory_popup(message):
    zorder 100
    frame:
        style_group "invstyle"
        hbox:
            text message
    timer 1.5 action Hide("inventory_popup")
I hope this makes the problem more clear. Thanks for looking into it! :D

User avatar
PyTom
Ren'Py Creator
Posts: 16096
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.99 Released

#95 Post by PyTom »

The problem is that in recent releases, scoping became a bit stricter - if you need to use a variable in a child screen, you have to pass it in explicitly.
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: 16096
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.99 Released

#96 Post by PyTom »

I've made a new prerelease, Ren'Py 6.99.6.679. This has a few big changes:

- Ren'Py now has much better support for high resolution displays. Retina displays are now supported on Mac OS X and iOS - the latter support was broken by 6.99.5. On all platforms, Ren'Py will try to render text at the display resolution, rather than the game's resolution. This means that text should remain sharp even as the window is scaled up.

- Joystick support has been removed from Ren'Py, and replaced with gamepad support based on SDL2's new controller API. This API maps all sorts of gamepads to an Xbox-style controller, making standard bindings possible in the same way such bindings are possible for a keyboard and mouse.

- Ren'Py now automatically backs up .rpy files when a game changes. Files are backed up to the system-wide save directory. No more excuses for losing scripts!

Grab it by switching to the prerelease channel and updating in the launcher, or by downloading a fresh copy from:

http://www.renpy.org/dl/6.99.6/

Thanks to everyone who tests this prerelease.
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
Donmai
Eileen-Class Veteran
Posts: 1960
Joined: Sun Jun 10, 2012 1:45 am
Completed: Toire No Hanako, Li'l Red [NaNoRenO 2013], The One in LOVE [NaNoRenO 2014], Running Blade [NaNoRenO 2016], The Other Question, To The Girl With Sunflowers
Projects: Slumberland
Location: Brazil
Contact:

Re: Ren'Py 6.99 Released

#97 Post by Donmai »

Thanks for your hard work, Tom. 6.99.6.679 still has a little problem: it creates the 'images' folder on every new game. That's ok, it's a great feature and any novice can understand it's the right place to put the game's image files. However, the default 'script.rpy' keeps telling the user to declare the images the old way:

Code: Select all

# Declare images below this line, using the image statement.
# eg. image eileen happy = "eileen_happy.png"
The path is incomplete and the result is an error. I believe that's why lately we're having so many threads asking "why can't Ren'Py find my images?" on Ren'Py Questions And Announcements.
I would suggest changing it to

Code: Select all

# Image files that are inside the images folder don't need to be declared.
# See http://www.renpy.org/doc/html/displaying_images.html#defining-images
or something like that (writing English instructions is not my thing).
Image
No, sorry! You must be mistaking me for someone else.
TOIRE NO HANAKO (A Story About Fear)

User avatar
nyaatrap
Crawling Chaos
Posts: 1824
Joined: Mon Feb 13, 2012 5:37 am
Location: Kimashi Tower, Japan
Contact:

Re: Ren'Py 6.99 Released

#98 Post by nyaatrap »

Thanks for the update.
I have two questions on this version:
1: How to use gamepad? It looks just plugging in my gamepad to usb doesn't recognize it.
2: It's about the issue I replied on twitter (https://twitter.com/nyaatrap/status/633457058428260352).
I downloaded the new build, but having the same issue. While I'm dragging the tutorial game window edge, each textbuttons are sharpened/blurred differently.

User avatar
PyTom
Ren'Py Creator
Posts: 16096
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.99 Released

#99 Post by PyTom »

1) The gamepad is supposed to work right out of the box. What kind of gamepad do you have?

2) Can you cause the issue to occur, and then send me the log.txt? My feeling is that this might be happening at particular window sizes, and I'd need to know what sizes those are.
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
nyaatrap
Crawling Chaos
Posts: 1824
Joined: Mon Feb 13, 2012 5:37 am
Location: Kimashi Tower, Japan
Contact:

Re: Ren'Py 6.99 Released

#100 Post by nyaatrap »

I compare (1024,768) and (1032,774) of the tutorial game. The following screenshot shows blueness of each lines are different.
Clipboard 1.png
Here is the log. On Windows 7, Intel HD Graphics 4600.
log.txt
(32.63 KiB) Downloaded 96 times
My gamepad is cheap usb one from minor company. Its driver should be default windows one. It was working on 6.99.5.

User avatar
PyTom
Ren'Py Creator
Posts: 16096
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.99 Released

#101 Post by PyTom »

Yeah, 6.99.6 totally redid how gamepads work, to use the newer SDL code. Can you grab the next nightly (2015-08-20) when it is built? That should include support for more devices, and more debugging info in - you guessed it - log.txt.
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
FragmentedBergyo
Regular
Posts: 101
Joined: Mon Jul 30, 2012 6:02 pm
Contact:

Re: Ren'Py 6.99 Released

#102 Post by FragmentedBergyo »

I was suspicious about the text resizing, but it's resized really well, not losing the position or size of outlines. Really well done. Small question though. I'm using an image displayable for the CTC indicator. It's made to resemble the font so it's a white symbol with outlined.
Now that the text is resized, it clashes a bit.
Would it be possible to instead make a CTC indicator an outlined font symbol that's slowly going in and out of transparency?

User avatar
PyTom
Ren'Py Creator
Posts: 16096
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.99 Released

#103 Post by PyTom »

Yes, you can just use Text("<symbol>") in place of the image file name.
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
nyaatrap
Crawling Chaos
Posts: 1824
Joined: Mon Feb 13, 2012 5:37 am
Location: Kimashi Tower, Japan
Contact:

Re: Ren'Py 6.99 Released

#104 Post by nyaatrap »

PyTom wrote:Yeah, 6.99.6 totally redid how gamepads work, to use the newer SDL code. Can you grab the next nightly (2015-08-20) when it is built? That should include support for more devices, and more debugging info in - you guessed it - log.txt.
Unfortunately, it doesn't work. The new log shows:

Code: Select all

controller: '0b043165000000000000504944564944' None 0
FYI, my gamepad is from Sanwa supply (Japanese company who is making cheap devices. Their devices are not good, but many Japanese are using them because of their cheapness)

User avatar
PyTom
Ren'Py Creator
Posts: 16096
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.99 Released

#105 Post by PyTom »

Can you use this tool to set up the mappings:

http://www.generalarcade.com/gamepadtool/
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], Sugar_and_rice