guix/gnu/packages/aux-files/renpy/renpy.in
Liliana Marie Prikler 6c04a8961f
gnu: renpy: Update to 7.99.99-0-3e854bc.
* gnu/packages/aux-files/renpy/renpy.in (__renpy_files, path_to_gamedir):
New procedures.
* gnu/packages/game-development.scm (python-renpy): Update to
7.99.99-0-3e854bc.
(renpy): Likewise.
[inputs]: Add python-pefile, python-requests and python-six.
2022-06-17 18:49:05 +02:00

65 lines
1.7 KiB
Python

#! @PYTHON@
# -*- mode: python -*-
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"
def path_to_saves(gamedir, save_directory=None):
import renpy
if save_directory is None:
save_directory = renpy.config.save_directory
save_directory = renpy.exports.fsencode(save_directory)
if not save_directory:
return gamedir + "/saves"
return os.path.join(os.path.expanduser("~/.renpy"), save_directory)
def main():
try:
import renpy.bootstrap
import renpy.arguments
except ImportError:
print("""Could not import renpy.bootstrap.
Please ensure you decompressed Ren'py correctly, preserving the directory
structure.""", file=sys.stderr)
raise
args = renpy.arguments.bootstrap()
if not args.basedir:
print("""This Ren'py requires a basedir to launch.
The basedir is the directory, in which .rpy source files or compiled .rpyc files
live -- usually the 'game' subdirectory of a game packaged by Ren'py.
If you want the Ren'py launcher, use \"renpy-launcher\" instead.""",
file=sys.stderr)
sys.exit()
renpy.bootstrap.bootstrap("@RENPY_BASE@")
if __name__ == "__main__":
main()