Code: Select all
init python:
screenshot_w, screenshot_h = 1280/6, 720/6
def screenshot_srf():
srf = renpy.display.draw.screenshot(None) # Take screenshot
srf = renpy.display.scale.smoothscale(srf, (screenshot_w, screenshot_h)) # Resize to 1/6th the size
return srf
class GetScreenshot(renpy.Displayable):
def __init__(self):
super(GetScreenshot, self).__init__()
self.width, self.height = screenshot_w, screenshot_h
self.srf = screenshot_srf()
def render(self, width, height, st, at):
render = renpy.Render(self.width, self.height)
render.blit(self.srf, (0, 0))
return render
def history_screenshot_callback(x):
x.screenshot = GetScreenshot()
# Add new function to the history callbacks
if history_screenshot_callback not in config.history_callbacks:
config.history_callbacks.append(history_screenshot_callback)
screen text_history:
for x,h in enumerate(_history_list):
add h.screenshotCode: Select all
I'm sorry, but an uncaught exception occurred.
While running game code:
File "renpy/common/00gamemenu.rpy", line 173, in script
$ ui.interact()
File "renpy/common/00gamemenu.rpy", line 173, in <module>
$ ui.interact()
File "renpy/common/00action_file.rpy", line 372, in __call__
renpy.save(fn, extra_info=save_name)
TypeError: no default __reduce__ due to non-trivial __cinit__ (perhaps store._history_list[0].screenshot.srf = <Surface(213x120x32)>)
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "renpy/common/00gamemenu.rpy", line 173, in script
$ ui.interact()
File "C:\Users\Kuro\Desktop\Renpy/renpy/ast.py", line 913, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "C:\Users\Kuro\Desktop\Renpy/renpy/python.py", line 2111, in py_exec_bytecode
exec(bytecode, globals, locals)
File "renpy/common/00gamemenu.rpy", line 173, in <module>
$ ui.interact()
File "C:\Users\Kuro\Desktop\Renpy/renpy/ui.py", line 298, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/core.py", line 2978, in interact
repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, **kwargs)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/core.py", line 3776, in interact_core
rv = root_widget.event(ev, x, y, 0)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/layout.py", line 1027, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/layout.py", line 1027, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/layout.py", line 1027, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/screen.py", line 720, in event
rv = self.child.event(ev, x, y, st)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/layout.py", line 1027, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/layout.py", line 245, in event
rv = d.event(ev, x - xo, y - yo, st)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/behavior.py", line 969, in event
return handle_click(self.clicked)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/behavior.py", line 904, in handle_click
rv = run(action)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/behavior.py", line 323, in run
return action(*args, **kwargs)
File "renpy/common/00action_file.rpy", line 372, in __call__
renpy.save(fn, extra_info=save_name)
File "C:\Users\Kuro\Desktop\Renpy/renpy/loadsave.py", line 416, in save
reraise(t, e, tb)
File "C:\Users\Kuro\Desktop\Renpy/renpy/loadsave.py", line 399, in save
dump((roots, renpy.game.log), logf)
File "C:\Users\Kuro\Desktop\Renpy/renpy/loadsave.py", line 49, in dump
cPickle.dump(o, f, cPickle.HIGHEST_PROTOCOL)
File "stringsource", line 2, in pygame_sdl2.surface.Surface.__reduce_cython__
TypeError: no default __reduce__ due to non-trivial __cinit__ (perhaps store._history_list[0].screenshot.srf = <Surface(213x120x32)>)
Code: Select all
I'm sorry, but an uncaught exception occurred.
While running game code:
File "renpy/common/00gamemenu.rpy", line 173, in script
$ ui.interact()
File "renpy/common/00gamemenu.rpy", line 173, in <module>
$ ui.interact()
File "renpy/common/00action_file.rpy", line 372, in __call__
renpy.save(fn, extra_info=save_name)
TypeError: no default __reduce__ due to non-trivial __cinit__ (perhaps store._history_list[0].screenshot.srf = <Surface(213x120x32)>)
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "renpy/common/00gamemenu.rpy", line 173, in script
$ ui.interact()
File "C:\Users\Kuro\Desktop\Renpy/renpy/ast.py", line 913, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "C:\Users\Kuro\Desktop\Renpy/renpy/python.py", line 2111, in py_exec_bytecode
exec(bytecode, globals, locals)
File "renpy/common/00gamemenu.rpy", line 173, in <module>
$ ui.interact()
File "C:\Users\Kuro\Desktop\Renpy/renpy/ui.py", line 298, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/core.py", line 2978, in interact
repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, **kwargs)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/core.py", line 3776, in interact_core
rv = root_widget.event(ev, x, y, 0)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/layout.py", line 1027, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/layout.py", line 1027, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/layout.py", line 1027, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/screen.py", line 720, in event
rv = self.child.event(ev, x, y, st)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/layout.py", line 1027, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/layout.py", line 245, in event
rv = d.event(ev, x - xo, y - yo, st)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/behavior.py", line 969, in event
return handle_click(self.clicked)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/behavior.py", line 904, in handle_click
rv = run(action)
File "C:\Users\Kuro\Desktop\Renpy/renpy/display/behavior.py", line 323, in run
return action(*args, **kwargs)
File "renpy/common/00action_file.rpy", line 372, in __call__
renpy.save(fn, extra_info=save_name)
File "C:\Users\Kuro\Desktop\Renpy/renpy/loadsave.py", line 416, in save
reraise(t, e, tb)
File "C:\Users\Kuro\Desktop\Renpy/renpy/loadsave.py", line 399, in save
dump((roots, renpy.game.log), logf)
File "C:\Users\Kuro\Desktop\Renpy/renpy/loadsave.py", line 51, in dump
pickle.dump(o, f, pickle.HIGHEST_PROTOCOL)
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 1376, in dump
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 224, in dump
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 286, in save
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 554, in save_tuple
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 286, in save
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 655, in save_dict
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 687, in _batch_setitems
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 331, in save
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 419, in save_reduce
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 639, in _batch_appends
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 331, in save
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 425, in save_reduce
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 286, in save
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 655, in save_dict
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 687, in _batch_setitems
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 331, in save
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 425, in save_reduce
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 286, in save
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 655, in save_dict
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 687, in _batch_setitems
File "/home/tom/ab/renpy-build/tmp/install.android-x86_64/lib/python2.7/pickle.py", line 306, in save
File "stringsource", line 2, in pygame_sdl2.surface.Surface.__reduce_cython__
TypeError: no default __reduce__ due to non-trivial __cinit__ (perhaps store._history_list[0].screenshot.srf = <Surface(213x120x32)>)