Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Hey! So I finally gave this a shot by swapping out my existing flowchart viewport with zoom_viewport.

While zooming out immediately worked as expected, I ran into the following issues:

  • Despite supplying "draggable True" and "pagekeys True", neither of these input methods seem to work. ("mousewheel "zoom"" however, does.) Is there anything in particular I should be looking out for that could be interfering here?
  • Like I said, zooming out works perfectly, but whenever I scroll the mousewheel to zoom in, I run into the following error:
I'm sorry, but an uncaught exception occurred.
While running game code:
  File "renpy/display/render.pyx", line 494, in renpy.display.render.render_screen
  File "renpy/display/render.pyx", line 267, in renpy.display.render.render
  File "renpy/display/render.pyx", line 170, in renpy.display.render.render
  File "renpy/display/render.pyx", line 267, in renpy.display.render.render
  File "renpy/display/accelerator.pyx", line 1020, in renpy.display.accelerator.RenderTransform.render
  File "renpy/display/accelerator.pyx", line 439, in renpy.display.accelerator.RenderTransform.render_child
  File "renpy/display/render.pyx", line 267, in renpy.display.render.render
  File "renpy/display/render.pyx", line 170, in renpy.display.render.render
  File "renpy/display/render.pyx", line 267, in renpy.display.render.render
  File "renpy/display/render.pyx", line 170, in renpy.display.render.render
  File "renpy/display/render.pyx", line 267, in renpy.display.render.render
  File "renpy/display/render.pyx", line 170, in renpy.display.render.render
  File "renpy/display/render.pyx", line 267, in renpy.display.render.render
  File "renpy/display/render.pyx", line 170, in renpy.display.render.render
  File "renpy/display/render.pyx", line 267, in renpy.display.render.render
  File "renpy/display/render.pyx", line 170, in renpy.display.render.render
  File "renpy/display/render.pyx", line 267, in renpy.display.render.render
  File "renpy/display/render.pyx", line 170, in renpy.display.render.render
  File "renpy/display/render.pyx", line 267, in renpy.display.render.render
  File "renpy/display/render.pyx", line 170, in renpy.display.render.render
  File "renpy/display/render.pyx", line 267, in renpy.display.render.render
  File "renpy/display/render.pyx", line 170, in renpy.display.render.render
  File "renpy/display/render.pyx", line 267, in renpy.display.render.render
  File "renpy/display/render.pyx", line 170, in renpy.display.render.render
  File "renpy/display/render.pyx", line 267, in renpy.display.render.render
  File "renpy/display/render.pyx", line 170, in renpy.display.render.render
  File "renpy/display/render.pyx", line 267, in renpy.display.render.render
  File "renpy/display/accelerator.pyx", line 1020, in renpy.display.accelerator.RenderTransform.render
  File "renpy/display/accelerator.pyx", line 439, in renpy.display.accelerator.RenderTransform.render_child
  File "renpy/display/render.pyx", line 267, in renpy.display.render.render
  File "game/script/system/plugins/zoom_viewport/01_zoom_viewport.rpy", line 383, in render
  File "game/script/system/plugins/zoom_viewport/01_zoom_viewport.rpy", line 319, in redraw_adjustments
  File "game/script/system/plugins/zoom_viewport/01_zoom_viewport.rpy", line 343, in adjust_pos_for_zoom
IndexError: list index out of range

The error appears while the zoom-in animation is already happening, if that helps. 

I'd also be happy to send a game build to figure this out in more detail in DMs! (My Discord username is kigyodev.)

(+1)

You can try changing the line xpos, ypos = self.offset[0] into

            try:
                xpos, ypos = self.offsets[0]
            except IndexError:
                ## Didn't finish rendering/doesn't know where children are
                renpy.redraw(self, 0)
                return (0, 0)

and see what happens. I made some updates to ZoomViewport a while back that might have addressed this problem though - I'll get in touch on Discord to test things out!