1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
#! @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"
prefix = os.environ.get("RENPY_PATH_TO_SAVES",
os.path.expanduser("~/.renpy"))
return os.path.join(prefix, save_directory)
def path_to_logdir(basedir):
return basedir
def predefined_searchpath(commondir):
import renpy
# The default gamedir, in private.
searchpath = [ renpy.config.gamedir ]
if env_searchpath := os.environ.get("RENPY_SEARCHPATH"):
searchpath.extend(env_searchpath.split("::"))
if commondir and os.path.isdir(commondir):
searchpath.append(commondir)
return searchpath
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()
|