summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Savchenko <bircoph@gentoo.org>2017-07-16 19:33:06 +0300
committerAndrew Savchenko <bircoph@gentoo.org>2017-07-16 19:33:06 +0300
commit7976e453eea2bb1c0fb2a404a5b70b976594bb97 (patch)
tree16bc90b2723046d8177deb6e652e614fbda2ecca /games-engines/renpy/files
parentdev-python/zeep: Version bumps to 2.2.0 (diff)
downloadgentoo-7976e453eea2bb1c0fb2a404a5b70b976594bb97.tar.gz
gentoo-7976e453eea2bb1c0fb2a404a5b70b976594bb97.tar.bz2
gentoo-7976e453eea2bb1c0fb2a404a5b70b976594bb97.zip
games-engines/renpy: fix compat support for old games
- Katawa Shoujo, see bug 601200: check for window to be on list before removal - Elven Relations: do not create removed style elements Package-Manager: Portage-2.3.6, Repoman-2.3.2 Signed-off-by: Andrew Savchenko <bircoph@gentoo.org>
Diffstat (limited to 'games-engines/renpy/files')
-rw-r--r--games-engines/renpy/files/renpy-6.99.12.4-compat-style.patch43
-rw-r--r--games-engines/renpy/files/renpy-6.99.12.4-compat-window.patch51
2 files changed, 94 insertions, 0 deletions
diff --git a/games-engines/renpy/files/renpy-6.99.12.4-compat-style.patch b/games-engines/renpy/files/renpy-6.99.12.4-compat-style.patch
new file mode 100644
index 00000000000..122ebf1e43e
--- /dev/null
+++ b/games-engines/renpy/files/renpy-6.99.12.4-compat-style.patch
@@ -0,0 +1,43 @@
+commit 1d350d993d2b51df7880e92b48ed103e059ec385
+Author: Andrew Savchenko <bircoph@gmail.com>
+Date: Sun Jul 16 17:07:27 2017 +0300
+
+ Fix compatibility problem With ElvenRelations-1.2:
+
+ When starting game:
+
+ Full traceback:
+ File "/home/andrew/src/_compat/styles.rpymc", line 22, in script
+ File "/usr/lib64/python2.7/site-packages/renpy699/renpy/ast.py", line 814, in execute
+ renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
+ File "/usr/lib64/python2.7/site-packages/renpy699/renpy/python.py", line 1719, in py_exec_bytecode
+ exec bytecode in globals, locals
+ File "renpy/common/_compat/styles.rpym", line 374, in <module>
+ style.selected_button = _SelectedCompat('button')
+ File "renpy/common/_compat/styles.rpym", line 347, in __init__
+ self.target = target
+ File "renpy/style.pyx", line 378, in renpy.style.StyleCore.__setattr__ (gen/renpy.style.c:6236)
+ raise Exception("Style property {} is not known.".format(name))
+ Exception: Style property target is not known.
+
+ "button*" properties are no longer present in RenPy, so relevant
+ code is removed.
+
+diff --git a/renpy/common/_compat/styles.rpym b/renpy/common/_compat/styles.rpym
+index d83eeb0..174f0b6 100644
+--- a/renpy/common/_compat/styles.rpym
++++ b/renpy/common/_compat/styles.rpym
+@@ -371,13 +371,6 @@ init python:
+ self.property_updates = [ ]
+
+
+- style.selected_button = _SelectedCompat('button')
+- style.selected_button_text = _SelectedCompat('button_text')
+- style.gm_nav_selected_button = _SelectedCompat('gm_nav_button')
+- style.gm_nav_selected_button_text = _SelectedCompat('gm_nav_button_text')
+- style.prefs_selected_button = _SelectedCompat('prefs_button')
+- style.prefs_selected_button_text = _SelectedCompat('prefs_button_text')
+-
+ def _apply_selected_compat():
+ for scs in _selected_compat:
+ scs.apply()
diff --git a/games-engines/renpy/files/renpy-6.99.12.4-compat-window.patch b/games-engines/renpy/files/renpy-6.99.12.4-compat-window.patch
new file mode 100644
index 00000000000..8c8bd21b4f6
--- /dev/null
+++ b/games-engines/renpy/files/renpy-6.99.12.4-compat-window.patch
@@ -0,0 +1,51 @@
+commit cf3f7fd4cb69c154f43a5e00c7501463a6d63ff5
+Author: Andrew Savchenko <bircoph@gmail.com>
+Date: Sun Jul 16 16:59:14 2017 +0300
+
+ Fix compatibility problem with Katawa Shoujo 1.3.1
+
+ The game fails to start with renpy-6.99.12.4:
+
+ I'm sorry, but an uncaught exception occurred.
+
+ While running game code:
+ File "game/ui_settings.rpy", line 21, in <module>
+ File "renpy/common/00compat.rpy", line 134, in _set_script_version
+ config.window_auto_hide.remove("call screen")
+ ValueError: list.remove(x): x not in list
+
+ -- Full Traceback ------------------------------------------------------------
+
+ Full traceback:
+ File "/home/rondo/ui_settings.rpyc", line 2, in script
+ File "/usr/lib64/python2.7/site-packages/renpy699/renpy/ast.py", line 814, in execute
+ renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
+ File "/usr/lib64/python2.7/site-packages/renpy699/renpy/python.py", line 1695, in py_exec_bytecode
+ exec bytecode in globals, locals
+ File "game/ui_settings.rpy", line 21, in <module>
+ File "/usr/lib64/python2.7/site-packages/renpy699/renpy/defaultstore.py", line 92, in __setattr__
+ renpy.store._set_script_version(value) # E1101 @UndefinedVariable
+ File "renpy/common/00compat.rpy", line 134, in _set_script_version
+ config.window_auto_hide.remove("call screen")
+ File "/usr/lib64/python2.7/site-packages/renpy699/renpy/python.py", line 610, in do_mutation
+ return method(self, *args, **kwargs)
+ ValueError: list.remove(x): x not in list
+
+ This happens because "call screen" element is being unconditionally
+ removed from config.window_auto_hide list, though it is not always
+ present there. A simple if check fixes this.
+
+diff --git a/renpy/common/00compat.rpy b/renpy/common/00compat.rpy
+index c16ad1d..eefb8e0 100644
+--- a/renpy/common/00compat.rpy
++++ b/renpy/common/00compat.rpy
+@@ -131,7 +131,8 @@ init -1900 python:
+ if version <= (6, 99, 10):
+ config.new_translate_order = False
+ config.old_say_args = True
+- config.window_auto_hide.remove("call screen")
++ if "call screen" in config.window_auto_hide:
++ config.window_auto_hide.remove("call screen")
+ config.quit_action = ui.gamemenus("_quit_prompt")
+ config.enforce_window_max_size = False
+ config.splashscreen_suppress_overlay = False