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.
Message
Author
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

#136 Post by nyaatrap »

I use outlines for enhance alias, add border and drop shadow. It'd be hard to fit on every purpose. One advance can be one regression - hmm it's hard. I'd like to have a config variable to change how outline should be rendered (if it's easy thing).

AXYPB
Regular
Posts: 95
Joined: Thu Sep 04, 2014 3:04 am
Github: AXYPB
Contact:

Re: Ren'Py 6.99 Released

#137 Post by AXYPB »

The current method of text scaling also impacts outlines used as drop shadows. Resizing the window over 1.5 times the native resolution causes the alignment to round up beyond the intended position.

The following screenshots show text with an outline of (0,"#000000A0",2,2) to increase readability at the current stable release and 6.99.6.718:
Attachments
Text at maximized window, 6.99.5.602
Text at maximized window, 6.99.5.602
Text at maximized window, 6.99.6.718
Text at maximized window, 6.99.6.718
2015-09-04 02_44_20-Test4.png (6.54 KiB) Viewed 2082 times
Text at native resolution
Text at native resolution
2015-09-04 02_44_11-Test4.png (3.45 KiB) Viewed 2082 times

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.99 Released

#138 Post by jack_norton »

Yep, AXYPB explained clearly my issue too :) I think really in this case a parameter to turn old/new scaling system on off for the outline would be the best solution possible :)
follow me on Image Image Image
computer games

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 6.99 Released

#139 Post by PyTom »

Base on everyone's feedback, and my own playtesting, I've put together Ren'Py 6.99.6.723. There are three big changes here, all having to do with text rendering.

- Ren'Py will now shift glyphs around so that drawable-resolution text will fill the same area of the screen as virtual-resolution text. The motivation behind this is that since Ren'Py uses the virtual-resolution text to place things on the screen, when the drawable-resolution text was noticeably bigger or smaller than the projection of the virtual-resolution text, layout looked weird. For example, text box may be overfull if the drawable-resolution text is wider than the virtual text, or centered text might be off-center if it's narrower. This change is implemented by offsetting each glyph by a small amount. This offsetting is similar to that performed for kerning and line spacing, except that it's done later in the text rendering process.

- The outline scaling has been changed again. The new code rounds the outline scaling factor down, and then uses that to multiply the outlines. So the result is that the outline only doubles once the text has reached double size. I think this looks really good, in practice.

- But if you don't agree, you can define the outline position using the absolute type. If you do that, it won't be scaled at all.
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.99 Released

#140 Post by jack_norton »

Tried in my game, I think you nailed it - now looks good both in normal resolution and also scaled up :)
follow me on Image Image Image
computer games

User avatar
FragmentedBergyo
Regular
Posts: 101
Joined: Mon Jul 30, 2012 6:02 pm
Contact:

Re: Ren'Py 6.99 Released

#141 Post by FragmentedBergyo »

Weird, I thought this'd be gone, but the newest prerelease is still giving me the same error report.
This never happened before and 6.99.5 still works normally.
Any idea on what's going on? it's there no matter if I download the release manually or update the client.

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 6.99 Released

#142 Post by PyTom »

Is that the "subsurface rectangle" problem? If so, can you give me the new traceback. It might be subtly different, or it might not.
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

#143 Post by nyaatrap »

Outlines looks better in any aspect I checked. Text Layout is also accurate. It's great fix.

User avatar
FragmentedBergyo
Regular
Posts: 101
Joined: Mon Jul 30, 2012 6:02 pm
Contact:

Re: Ren'Py 6.99 Released

#144 Post by FragmentedBergyo »

PyTom wrote:Is that the "subsurface rectangle" problem? If so, can you give me the new traceback. It might be subtly different, or it might not.
It's the same, past the version numbers.

Code: Select all

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/front_page.rpy", line 257, in script
  File "renpy/common/000statements.rpy", line 457, in execute_call_screen
    store._return = renpy.call_screen(name, *args, **kwargs)
error: subsurface rectangle outside surface area.

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

Full traceback:
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\bootstrap.py", line 281, in bootstrap
    renpy.main.main()
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\main.py", line 466, in main
    run(restart)
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\main.py", line 142, in run
    renpy.execution.run_context(True)
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\execution.py", line 700, in run_context
    context.run()
  File "game/front_page.rpy", line 257, in script
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\ast.py", line 1661, in execute
    self.call("execute")
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\ast.py", line 1679, in call
    renpy.statements.call(method, parsed, *args, **kwargs)
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\statements.py", line 144, in call
    return method(parsed, *args, **kwargs)
  File "renpy/common/000statements.rpy", line 457, in execute_call_screen
    store._return = renpy.call_screen(name, *args, **kwargs)
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\exports.py", line 2360, in call_screen
    rv = renpy.ui.interact(mouse="screen", type="screen", roll_forward=roll_forward)
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\ui.py", line 277, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\display\core.py", line 2346, in interact
    repeat, rv = self.interact_core(preloads=preloads, **kwargs)
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\display\core.py", line 2683, in interact_core
    self.draw_screen(root_widget, fullscreen_video, (not fullscreen_video) or video_frame_drawn)
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\display\core.py", line 1785, in draw_screen
    renpy.config.screen_height,
  File "renpy/display/render.pyx", line 394, in renpy.display.render.render_screen (gen\renpy.display.render.c:6186)
    rv = render(root, width, height, 0, 0)
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\display\layout.py", line 650, in render
    surf = render(child, width, height, cst, cat)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3100)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\display\layout.py", line 650, in render
    surf = render(child, width, height, cst, cat)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3100)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\display\layout.py", line 650, in render
    surf = render(child, width, height, cst, cat)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3100)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\display\screen.py", line 610, in render
    child = renpy.display.render.render(self.child, w, h, st, at)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3100)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\display\layout.py", line 650, in render
    surf = render(child, width, height, cst, cat)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3100)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\display\layout.py", line 995, in render
    st, at)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3100)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\display\layout.py", line 773, in render
    surf = render(d, rw, height - y, cst, cat)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3100)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\display\layout.py", line 995, in render
    st, at)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3100)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\display\layout.py", line 1716, in render
    cwidth, cheight = sizeit('c', width, height, 0, 0)
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\display\layout.py", line 1711, in sizeit
    rend = render(pos_d[pos], width, height, st, at)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3100)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\display\layout.py", line 1716, in render
    cwidth, cheight = sizeit('c', width, height, 0, 0)
  File "C:\rest\drrr\renpy-6.99.6-sdk\renpy\display\layout.py", line 1711, in sizeit
    rend = render(pos_d[pos], width, height, st, at)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3100)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 194, in renpy.display.render.render (gen\renpy.display.render.c:2893)
    rv = rv.subsurface((0, 0, rv.width, rv.height), focus=True)
  File "renpy/display/render.pyx", line 773, in renpy.display.render.Render.subsurface (gen\renpy.display.render.c:10307)
    newchild = child.subsurface(crop, focus=focus)
  File "renpy/display/render.pyx", line 773, in renpy.display.render.Render.subsurface (gen\renpy.display.render.c:10307)
    newchild = child.subsurface(crop, focus=focus)
  File "renpy/display/render.pyx", line 773, in renpy.display.render.Render.subsurface (gen\renpy.display.render.c:10307)
    newchild = child.subsurface(crop, focus=focus)
  File "renpy/display/render.pyx", line 776, in renpy.display.render.Render.subsurface (gen\renpy.display.render.c:10353)
    newchild = child.subsurface(crop)
  File "pygame_sdl2/surface.pyx", line 572, in pygame_sdl2.surface.Surface.subsurface (gen\pygame_sdl2.surface.c:7685)
error: subsurface rectangle outside surface area.

Windows-7-6.1.7601-SP1
Ren'Py 6.99.6.723
Ren'Py Launcher 6.99.6.723

AXYPB
Regular
Posts: 95
Joined: Thu Sep 04, 2014 3:04 am
Github: AXYPB
Contact:

Re: Ren'Py 6.99 Released

#145 Post by AXYPB »

I've discovered a crash on window transitions that does not occur with the previous pre-release. When I attempt to use any transition with config.window_show_transition or config.window_hide_transition, a ZeroDivisionError occurs. Removing these transitions prevents the exception from occurring.

Code: Select all

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "renpy/common/00action_other.rpy", line 355, in __call__
    renpy.call_replay(self.label, self.scope)
  File "game/script.rpy", line 30, in script
    window show
  File "renpy/common/000window.rpy", line 102, in execute_window_show
    _window_show(trans)
  File "renpy/common/000window.rpy", line 48, in _window_show
    renpy.with_statement(trans)
ZeroDivisionError: float division

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

Full traceback:
  File "renpy/common/_layout/screen_main_menu.rpym", line 29, in script
    $ ui.interact()
  File "C:\Users\...\renpy\ast.py", line 797, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "C:\Users\...\renpy\python.py", line 1448, in py_exec_bytecode
    exec bytecode in globals, locals
  File "renpy/common/_layout/screen_main_menu.rpym", line 29, in <module>
    $ ui.interact()
  File "C:\Users\...\renpy\ui.py", line 277, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "C:\Users\...\renpy\display\core.py", line 2346, in interact
    repeat, rv = self.interact_core(preloads=preloads, **kwargs)
  File "C:\Users\...\renpy\display\core.py", line 2982, in interact_core
    rv = root_widget.event(ev, x, y, 0)
  File "C:\Users\...\renpy\display\layout.py", line 877, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "C:\Users\...\renpy\display\transition.py", line 45, in event
    return self.new_widget.event(ev, x, y, st) # E1101
  File "C:\Users\...\renpy\display\layout.py", line 877, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "C:\Users\...\renpy\display\layout.py", line 877, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "C:\Users\...\renpy\display\screen.py", line 638, in event
    rv = self.child.event(ev, x, y, st)
  File "C:\Users\...\renpy\display\layout.py", line 877, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "C:\Users\...\renpy\sl2\sldisplayables.py", line 97, in event
    return self.child.event(ev, x, y, st)
  File "C:\Users\...\renpy\display\behavior.py", line 790, in event
    return handle_click(self.clicked)
  File "C:\Users\...\renpy\display\behavior.py", line 733, in handle_click
    rv = run(action)
  File "C:\Users\...\renpy\display\behavior.py", line 295, in run
    return var(*args, **kwargs)
  File "renpy/common/00action_other.rpy", line 355, in __call__
    renpy.call_replay(self.label, self.scope)
  File "C:\Users\...\renpy\game.py", line 357, in call_replay
    renpy.execution.run_context(False)
  File "C:\Users\...\renpy\execution.py", line 700, in run_context
    context.run()
  File "game/s001.rpy", line 30, in script
    window show
  File "C:\Users\...\renpy\ast.py", line 1661, in execute
    self.call("execute")
  File "C:\Users\...\renpy\ast.py", line 1679, in call
    renpy.statements.call(method, parsed, *args, **kwargs)
  File "C:\Users\...\renpy\statements.py", line 144, in call
    return method(parsed, *args, **kwargs)
  File "renpy/common/000window.rpy", line 102, in execute_window_show
    _window_show(trans)
  File "renpy/common/000window.rpy", line 48, in _window_show
    renpy.with_statement(trans)
  File "C:\Users\...\renpy\exports.py", line 1262, in with_statement
    return renpy.game.interface.do_with(trans, paired, clear=clear)
  File "C:\Users\...\renpy\display\core.py", line 1925, in do_with
    clear=clear)
  File "C:\Users\...\renpy\display\core.py", line 2346, in interact
    repeat, rv = self.interact_core(preloads=preloads, **kwargs)
  File "C:\Users\...\renpy\display\core.py", line 2683, in interact_core
    self.draw_screen(root_widget, fullscreen_video, (not fullscreen_video) or video_frame_drawn)
  File "C:\Users\...\renpy\display\core.py", line 1785, in draw_screen
    renpy.config.screen_height,
  File "renpy/display/render.pyx", line 394, in renpy.display.render.render_screen (gen\renpy.display.render.c:6186)
    rv = render(root, width, height, 0, 0)
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\Users\...\renpy\display\layout.py", line 650, in render
    surf = render(child, width, height, cst, cat)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3100)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\Users\...\renpy\display\transition.py", line 363, in render
    top = render(self.new_widget, width, height, st, at)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3100)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\Users\...\renpy\display\layout.py", line 650, in render
    surf = render(child, width, height, cst, cat)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3100)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\Users\...\renpy\display\layout.py", line 650, in render
    surf = render(child, width, height, cst, cat)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3100)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\Users\...\renpy\display\movetransition.py", line 375, in render
    old_r = renpy.display.render.render(self.old, width, height, st, at)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3100)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "renpy/display/accelerator.pyx", line 104, in renpy.display.accelerator.transform_render (gen\renpy.display.accelerator.c:1904)
    cr = render(child, widtho, heighto, st - self.child_st_base, at)
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\Users\...\renpy\display\layout.py", line 1863, in render
    cr = renpy.display.render.render(self.child, w, h, st, at)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3100)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\Users\...\renpy\display\screen.py", line 610, in render
    child = renpy.display.render.render(self.child, w, h, st, at)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3100)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\Users\...\renpy\display\layout.py", line 650, in render
    surf = render(child, width, height, cst, cat)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3100)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\Users\...\renpy\display\layout.py", line 995, in render
    st, at)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3100)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\Users\...\renpy\display\layout.py", line 809, in render
    surf = render(d, width - x, rh, cst, cat)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3100)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2717)
    rv = d.render(widtho, heighto, st, at)
  File "C:\Users\...\renpy\text\text.py", line 1655, in render
    layout = Layout(self, width, height, renders, splits_from=virtual_layout)
  File "C:\Users\...\renpy\text\text.py", line 673, in __init__
    textsupport.tweak_glyph_spacing(all_glyphs, target_x - maxx, target_y - y, maxx, y)
  File "renpy/text/textsupport.pyx", line 861, in renpy.text.textsupport.tweak_glyph_spacing (gen\renpy.text.textsupport.c:9756)
    g.x += int(dx * g.x / w)
ZeroDivisionError: float division

Windows-7-6.1.7601-SP1
Ren'Py 6.99.6.723
Project1

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 6.99 Released

#146 Post by PyTom »

Thanks, everyone. I have some good ideas on how to fix these, and will try to get those fixes out today.
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 6.99 Released

#147 Post by PyTom »

Okay, 6.99.6.726 is up. It fixes these crashes, and adds one new requested feature for very advanced users. That feature is that it's now possible to create game/python-packages, and use pip to install pure-python modules in that directory, and have them work in 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
FragmentedBergyo
Regular
Posts: 101
Joined: Mon Jul 30, 2012 6:02 pm
Contact:

Re: Ren'Py 6.99 Released

#148 Post by FragmentedBergyo »

Thank you for the quick fix. Sadly, the previous error gets replaced by a similar, but new one.
Any idea on what's causing it?

Code: Select all

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/front_page.rpy", line 257, in script
  File "renpy/common/000statements.rpy", line 457, in execute_call_screen
    store._return = renpy.call_screen(name, *args, **kwargs)
Exception: Creating subsurface failed. child size = (298.0, 600.0), crop = (0, 0, 298.0, 362.0)

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

Full traceback:
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\bootstrap.py", line 281, in bootstrap
    renpy.main.main()
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\main.py", line 466, in main
    run(restart)
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\main.py", line 142, in run
    renpy.execution.run_context(True)
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\execution.py", line 700, in run_context
    context.run()
  File "game/front_page.rpy", line 257, in script
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\ast.py", line 1661, in execute
    self.call("execute")
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\ast.py", line 1679, in call
    renpy.statements.call(method, parsed, *args, **kwargs)
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\statements.py", line 144, in call
    return method(parsed, *args, **kwargs)
  File "renpy/common/000statements.rpy", line 457, in execute_call_screen
    store._return = renpy.call_screen(name, *args, **kwargs)
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\exports.py", line 2360, in call_screen
    rv = renpy.ui.interact(mouse="screen", type="screen", roll_forward=roll_forward)
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\ui.py", line 277, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\display\core.py", line 2346, in interact
    repeat, rv = self.interact_core(preloads=preloads, **kwargs)
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\display\core.py", line 2683, in interact_core
    self.draw_screen(root_widget, fullscreen_video, (not fullscreen_video) or video_frame_drawn)
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\display\core.py", line 1785, in draw_screen
    renpy.config.screen_height,
  File "renpy/display/render.pyx", line 394, in renpy.display.render.render_screen (gen\renpy.display.render.c:6190)
    rv = render(root, width, height, 0, 0)
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2721)
    rv = d.render(widtho, heighto, st, at)
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\display\layout.py", line 650, in render
    surf = render(child, width, height, cst, cat)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3104)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2721)
    rv = d.render(widtho, heighto, st, at)
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\display\layout.py", line 650, in render
    surf = render(child, width, height, cst, cat)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3104)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2721)
    rv = d.render(widtho, heighto, st, at)
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\display\layout.py", line 650, in render
    surf = render(child, width, height, cst, cat)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3104)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2721)
    rv = d.render(widtho, heighto, st, at)
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\display\screen.py", line 610, in render
    child = renpy.display.render.render(self.child, w, h, st, at)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3104)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2721)
    rv = d.render(widtho, heighto, st, at)
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\display\layout.py", line 650, in render
    surf = render(child, width, height, cst, cat)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3104)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2721)
    rv = d.render(widtho, heighto, st, at)
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\display\layout.py", line 995, in render
    st, at)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3104)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2721)
    rv = d.render(widtho, heighto, st, at)
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\display\layout.py", line 773, in render
    surf = render(d, rw, height - y, cst, cat)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3104)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2721)
    rv = d.render(widtho, heighto, st, at)
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\display\layout.py", line 995, in render
    st, at)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3104)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2721)
    rv = d.render(widtho, heighto, st, at)
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\display\layout.py", line 1716, in render
    cwidth, cheight = sizeit('c', width, height, 0, 0)
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\display\layout.py", line 1711, in sizeit
    rend = render(pos_d[pos], width, height, st, at)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3104)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 185, in renpy.display.render.render (gen\renpy.display.render.c:2721)
    rv = d.render(widtho, heighto, st, at)
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\display\layout.py", line 1716, in render
    cwidth, cheight = sizeit('c', width, height, 0, 0)
  File "C:\rest\drrr\renpy-6.99.5-sdk\renpy\display\layout.py", line 1711, in sizeit
    rend = render(pos_d[pos], width, height, st, at)
  File "renpy/display/render.pyx", line 103, in renpy.display.render.render (gen\renpy.display.render.c:3104)
    cpdef render(d, object widtho, object heighto, double st, double at):
  File "renpy/display/render.pyx", line 194, in renpy.display.render.render (gen\renpy.display.render.c:2897)
    rv = rv.subsurface((0, 0, rv.width, rv.height), focus=True)
  File "renpy/display/render.pyx", line 783, in renpy.display.render.Render.subsurface (gen\renpy.display.render.c:10586)
    raise Exception("Creating subsurface failed. child size = ({}, {}), crop = {!r}".format(childw, childh, crop))
Exception: Creating subsurface failed. child size = (298.0, 600.0), crop = (0, 0, 298.0, 362.0)

Windows-7-6.1.7601-SP1
Ren'Py 6.99.6.726
Ren'Py Launcher 6.99.6.726

AXYPB
Regular
Posts: 95
Joined: Thu Sep 04, 2014 3:04 am
Github: AXYPB
Contact:

Re: Ren'Py 6.99 Released

#149 Post by AXYPB »

PyTom wrote:Okay, 6.99.6.726 is up. It fixes these crashes, and adds one new requested feature for very advanced users. That feature is that it's now possible to create game/python-packages, and use pip to install pure-python modules in that directory, and have them work in Ren'Py.
The fix for ZeroDivisionError is satisfactory. Thank you for your work.

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 6.99 Released

#150 Post by PyTom »

FragmentedBergyo, yes - the last release had some code to check what's going on.

I've made a 6.99.6.727 that fixes the problem, I think.
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: No registered users