diff options
Diffstat (limited to 'gnu/packages/aux-files/renpy')
-rw-r--r-- | gnu/packages/aux-files/renpy/renpy.in | 21 |
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" |