summaryrefslogtreecommitdiff
path: root/gnu/packages/aux-files/renpy/renpy.in
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/aux-files/renpy/renpy.in')
-rw-r--r--gnu/packages/aux-files/renpy/renpy.in21
1 files changed, 19 insertions, 2 deletions
diff --git a/gnu/packages/aux-files/renpy/renpy.in b/gnu/packages/aux-files/renpy/renpy.in
index 914a735fa4..9115d9aee3 100644
--- a/gnu/packages/aux-files/renpy/renpy.in
+++ b/gnu/packages/aux-files/renpy/renpy.in
@@ -1,12 +1,29 @@
#! @PYTHON@
# -*- mode: python -*-
-from __future__ import print_function
-
+import glob
import os
import sys
import warnings
+def __renpy_files(directory):
+ for pattern in ['*.rpa', '*.rpyc', '*.rpy']:
+ for file in glob.iglob(pattern, root_dir=directory):
+ yield file
+
+def path_to_gamedir(basedir, name):
+ candidates = [name, 'game', 'data', 'launcher/game']
+
+ if __renpy_files(basedir):
+ return basedir
+
+ for candidate in candidates:
+ gamedir = os.path.join(basedir, candidate)
+ if __renpy_files(gamedir):
+ return gamedir
+
+ return basedir
+
def path_to_common(renpy_base):
return renpy_base + "/common"