* 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.
		
			
				
	
	
		
			65 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			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()
 |