Add files via upload
This commit is contained in:
@@ -1378,6 +1378,11 @@ class Door(object):
|
|||||||
else:
|
else:
|
||||||
self.passage = False
|
self.passage = False
|
||||||
|
|
||||||
|
def kind(self, world):
|
||||||
|
if self.roomIndex != -1 and self.doorListPos != -1:
|
||||||
|
return world.get_room(self.roomIndex, self.player).kind(self)
|
||||||
|
return None
|
||||||
|
|
||||||
def __eq__(self, other):
|
def __eq__(self, other):
|
||||||
return isinstance(other, self.__class__) and self.name == other.name
|
return isinstance(other, self.__class__) and self.name == other.name
|
||||||
|
|
||||||
|
|||||||
27
CLI.py
27
CLI.py
@@ -6,7 +6,6 @@ import textwrap
|
|||||||
import shlex
|
import shlex
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
import source.classes.constants as CONST
|
|
||||||
from source.classes.BabelFish import BabelFish
|
from source.classes.BabelFish import BabelFish
|
||||||
|
|
||||||
from Utils import update_deprecated_args
|
from Utils import update_deprecated_args
|
||||||
@@ -28,10 +27,15 @@ def parse_cli(argv, no_defaults=False):
|
|||||||
fish = BabelFish(lang=lang)
|
fish = BabelFish(lang=lang)
|
||||||
|
|
||||||
# we need to know how many players we have first
|
# we need to know how many players we have first
|
||||||
|
# also if we're loading our own settings file, we should do that now
|
||||||
parser = argparse.ArgumentParser(add_help=False)
|
parser = argparse.ArgumentParser(add_help=False)
|
||||||
|
parser.add_argument('--settingsfile', help="input json file of settings", type=str)
|
||||||
parser.add_argument('--multi', default=defval(settings["multi"]), type=lambda value: min(max(int(value), 1), 255))
|
parser.add_argument('--multi', default=defval(settings["multi"]), type=lambda value: min(max(int(value), 1), 255))
|
||||||
multiargs, _ = parser.parse_known_args(argv)
|
multiargs, _ = parser.parse_known_args(argv)
|
||||||
|
|
||||||
|
if multiargs.settingsfile:
|
||||||
|
settings = apply_settings_file(settings, multiargs.settingsfile)
|
||||||
|
|
||||||
parser = argparse.ArgumentParser(formatter_class=ArgumentDefaultsHelpFormatter)
|
parser = argparse.ArgumentParser(formatter_class=ArgumentDefaultsHelpFormatter)
|
||||||
|
|
||||||
# get args
|
# get args
|
||||||
@@ -73,6 +77,7 @@ def parse_cli(argv, no_defaults=False):
|
|||||||
parser.add_argument('--multi', default=defval(settings["multi"]), type=lambda value: min(max(int(value), 1), 255))
|
parser.add_argument('--multi', default=defval(settings["multi"]), type=lambda value: min(max(int(value), 1), 255))
|
||||||
parser.add_argument('--securerandom', default=defval(settings["securerandom"]), action='store_true')
|
parser.add_argument('--securerandom', default=defval(settings["securerandom"]), action='store_true')
|
||||||
parser.add_argument('--teams', default=defval(1), type=lambda value: max(int(value), 1))
|
parser.add_argument('--teams', default=defval(1), type=lambda value: max(int(value), 1))
|
||||||
|
parser.add_argument('--settingsfile', dest="filename", help="input json file of settings", type=str)
|
||||||
|
|
||||||
if multiargs.multi:
|
if multiargs.multi:
|
||||||
for player in range(1, multiargs.multi + 1):
|
for player in range(1, multiargs.multi + 1):
|
||||||
@@ -106,6 +111,16 @@ def parse_cli(argv, no_defaults=False):
|
|||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
||||||
|
def apply_settings_file(settings, settings_path):
|
||||||
|
if os.path.exists(settings_path):
|
||||||
|
with open(settings_path) as json_file:
|
||||||
|
data = json.load(json_file)
|
||||||
|
for k, v in data.items():
|
||||||
|
settings[k] = v
|
||||||
|
return settings
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def parse_settings():
|
def parse_settings():
|
||||||
# set default settings
|
# set default settings
|
||||||
settings = {
|
settings = {
|
||||||
@@ -277,17 +292,15 @@ def parse_settings():
|
|||||||
|
|
||||||
# read saved settings file if it exists and set these
|
# read saved settings file if it exists and set these
|
||||||
settings_path = os.path.join(".", "resources", "user", "settings.json")
|
settings_path = os.path.join(".", "resources", "user", "settings.json")
|
||||||
if os.path.exists(settings_path):
|
settings = apply_settings_file(settings, settings_path)
|
||||||
with(open(settings_path)) as json_file:
|
|
||||||
data = json.load(json_file)
|
|
||||||
for k, v in data.items():
|
|
||||||
settings[k] = v
|
|
||||||
return settings
|
return settings
|
||||||
|
|
||||||
# Priority fallback is:
|
# Priority fallback is:
|
||||||
# 1: CLI
|
# 1: CLI
|
||||||
# 2: Settings file
|
# 2: Settings file(s)
|
||||||
# 3: Canned defaults
|
# 3: Canned defaults
|
||||||
|
|
||||||
|
|
||||||
def get_args_priority(settings_args, gui_args, cli_args):
|
def get_args_priority(settings_args, gui_args, cli_args):
|
||||||
args = {}
|
args = {}
|
||||||
args["settings"] = parse_settings() if settings_args is None else settings_args
|
args["settings"] = parse_settings() if settings_args is None else settings_args
|
||||||
|
|||||||
Reference in New Issue
Block a user