-
Notifications
You must be signed in to change notification settings - Fork 15
Description
When attempting to open the Action Editor via the Shift-P keystroke, an exception occurs as it tries to render the expressions of Live2D characters. The Action Editor opens fine if there are no characters on screen. Traceback provided below.
I'm sorry, but an uncaught exception occurred.
While running game code:
File "game/script.rpy", line 74, in script
"The crisp air carried a biting chill, cutting through Colleen's uniform as autumn neared its end. She stood just inside the gates; in her hands, a blank homework sheet fluttered against the breeze, a glaring reminder of her procrastination."
File "game/ActionEditor.rpy", line 2992, in open_action_editor
renpy.call_screen("_new_action_editor")
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/render.pyx", line 487, in renpy.display.render.render_screen
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/render.pyx", line 170, in renpy.display.render.render
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/render.pyx", line 170, in renpy.display.render.render
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/render.pyx", line 170, in renpy.display.render.render
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/render.pyx", line 170, in renpy.display.render.render
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/accelerator.pyx", line 1021, in renpy.display.accelerator.RenderTransform.render
File "renpy/display/accelerator.pyx", line 440, in renpy.display.accelerator.RenderTransform.render_child
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/render.pyx", line 170, in renpy.display.render.render
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/accelerator.pyx", line 1021, in renpy.display.accelerator.RenderTransform.render
File "renpy/display/accelerator.pyx", line 440, in renpy.display.accelerator.RenderTransform.render_child
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/accelerator.pyx", line 1021, in renpy.display.accelerator.RenderTransform.render
File "renpy/display/accelerator.pyx", line 440, in renpy.display.accelerator.RenderTransform.render_child
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/render.pyx", line 170, in renpy.display.render.render
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/accelerator.pyx", line 1021, in renpy.display.accelerator.RenderTransform.render
File "renpy/display/accelerator.pyx", line 440, in renpy.display.accelerator.RenderTransform.render_child
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/render.pyx", line 170, in renpy.display.render.render
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "game/ActionEditor.rpy", line 1409, in transform
w, h = renpy.render(new_widget, 0, 0, 0, 0).get_size()
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/render.pyx", line 170, in renpy.display.render.render
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "game/ActionEditor.rpy", line 174, in render
self.d.render(width, height, 0, 0)
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/render.pyx", line 170, in renpy.display.render.render
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
KeyError: 'exp_uni_reading'
-- Full Traceback ------------------------------------------------------------
Traceback (most recent call last):
File "game/script.rpy", line 74, in script
"The crisp air carried a biting chill, cutting through Colleen's uniform as autumn neared its end. She stood just inside the gates; in her hands, a blank homework sheet fluttered against the breeze, a glaring reminder of her procrastination."
File "renpy/ast.py", line 2915, in execute
Say.execute(self)
~~~~~~~~~~~^^^^^^
File "renpy/ast.py", line 991, in execute
renpy.exports.say(who, what, *args, **kwargs)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/exports/sayexports.py", line 129, in say
who(what, *args, **kwargs)
~~~^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/character.py", line 1543, in call
self.do_display(who, what, cb_args=self.cb_args, dtt=dtt, **display_args)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/character.py", line 1198, in do_display
display_say(who, what, self.do_show, **display_args)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/character.py", line 888, in display_say
rv = renpy.ui.interact(mouse="say", type=type, roll_forward=roll_forward)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/ui.py", line 304, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/core.py", line 2219, in interact
repeat, rv = self.interact_core(
~~~~~~~~~~~~~~~~~~^
preloads=preloads,
^^^^^^^^^^^^^^^^^^
...<4 lines>...
**kwargs,
^^^^^^^^^
) # type: ignore
^
File "renpy/display/core.py", line 3302, in interact_core
rv = root_widget.event(ev, x, y, 0)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "renpy/display/layout.py", line 1284, in event
rv = i.event(ev, x - xo, y - yo, cst)
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/behavior.py", line 559, in event
rv = run(action)
~~~^^^^^^^^
File "renpy/display/behavior.py", line 411, in run
return action(*args, **kwargs)
~~~~~~^^^^^^^^^^^^^^^^^
File "renpy/game.py", line 301, in invoke_in_new_context
return callable(*args, **kwargs)
~~~~~~~~^^^^^^^^^^^^^^^^^
File "game/ActionEditor.rpy", line 2992, in open_action_editor
renpy.call_screen("_new_action_editor")
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
File "renpy/exports/statementexports.py", line 348, in call_screen
rv = renpy.ui.interact(mouse="screen", type="screen", roll_forward=roll_forward)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/ui.py", line 304, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/core.py", line 2219, in interact
repeat, rv = self.interact_core(
~~~~~~~~~~~~~~~~~~^
preloads=preloads,
^^^^^^^^^^^^^^^^^^
...<4 lines>...
**kwargs,
^^^^^^^^^
) # type: ignore
^
File "renpy/display/core.py", line 2890, in interact_core
self.draw_screen(root_widget, fullscreen_video, (not fullscreen_video) or video_frame_drawn)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/core.py", line 1380, in draw_screen
surftree = renpy.display.render.render_screen(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
root_widget,
^^^^^^^^^^^^
renpy.config.screen_width,
^^^^^^^^^^^^^^^^^^^^^^^^^^
renpy.config.screen_height,
^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "renpy/display/render.pyx", line 487, in renpy.display.render.render_screen
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/layout.py", line 899, in render
surf = render(child, width, height, cst, cat)
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/render.pyx", line 170, in renpy.display.render.render
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/layout.py", line 899, in render
surf = render(child, width, height, cst, cat)
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/render.pyx", line 170, in renpy.display.render.render
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/layout.py", line 899, in render
surf = render(child, width, height, cst, cat)
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/render.pyx", line 170, in renpy.display.render.render
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/image.py", line 532, in render
return wrap_render(self.target, width, height, st, at)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/image.py", line 307, in wrap_render
rend = render(child, w, h, st, at)
~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/render.pyx", line 170, in renpy.display.render.render
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/transform.py", line 1090, in render
return RenderTransform(self).render(width, height, st, at)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/accelerator.pyx", line 1021, in renpy.display.accelerator.RenderTransform.render
File "renpy/display/accelerator.pyx", line 440, in renpy.display.accelerator.RenderTransform.render_child
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/layout.py", line 899, in render
surf = render(child, width, height, cst, cat)
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/render.pyx", line 170, in renpy.display.render.render
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/transform.py", line 1090, in render
return RenderTransform(self).render(width, height, st, at)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/accelerator.pyx", line 1021, in renpy.display.accelerator.RenderTransform.render
File "renpy/display/accelerator.pyx", line 440, in renpy.display.accelerator.RenderTransform.render_child
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/transform.py", line 1090, in render
return RenderTransform(self).render(width, height, st, at)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/accelerator.pyx", line 1021, in renpy.display.accelerator.RenderTransform.render
File "renpy/display/accelerator.pyx", line 440, in renpy.display.accelerator.RenderTransform.render_child
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/layout.py", line 899, in render
surf = render(child, width, height, cst, cat)
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/render.pyx", line 170, in renpy.display.render.render
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/transform.py", line 1090, in render
return RenderTransform(self).render(width, height, st, at)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/accelerator.pyx", line 1021, in renpy.display.accelerator.RenderTransform.render
File "renpy/display/accelerator.pyx", line 440, in renpy.display.accelerator.RenderTransform.render_child
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/layout.py", line 899, in render
surf = render(child, width, height, cst, cat)
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/render.pyx", line 170, in renpy.display.render.render
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/display/transform.py", line 1088, in render
self.update_state()
~~~~~~~~~~~~~~~~~^^
File "renpy/display/transform.py", line 1060, in update_state
fr = self.function(self, fst, fat)
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "game/ActionEditor.rpy", line 1409, in transform
w, h = renpy.render(new_widget, 0, 0, 0, 0).get_size()
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/render.pyx", line 170, in renpy.display.render.render
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "game/ActionEditor.rpy", line 174, in render
self.d.render(width, height, 0, 0)
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/image.py", line 532, in render
return wrap_render(self.target, width, height, st, at)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/image.py", line 307, in wrap_render
rend = render(child, w, h, st, at)
~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "renpy/display/render.pyx", line 170, in renpy.display.render.render
File "renpy/display/render.pyx", line 260, in renpy.display.render.render
File "renpy/gl2/live2d.py", line 1025, in render
expression_redraw = self.update_expressions(st)
~~~~~~~~~~~~~~~~~~~~~~~^^^^
File "renpy/gl2/live2d.py", line 940, in update_expressions
e = common.all_expressions[name]
~~~~~~~~~~~~~~~~~~~~~~^^^^^^
KeyError: 'exp_uni_reading'
Windows-10-10.0.19045-SP0 AMD64
Ren'Py 8.4.1.25072401