Add default options.
This commit is contained in:
parent
2b8db38fee
commit
77e74510af
63
Utils.py
63
Utils.py
|
@ -165,6 +165,58 @@ def get_public_ipv6() -> str:
|
|||
pass # we could be offline, in a local game, or ipv6 may not be available
|
||||
return ip
|
||||
|
||||
|
||||
def get_default_options() -> dict:
|
||||
if not hasattr(get_default_options, "options"):
|
||||
options = dict()
|
||||
|
||||
# Refer to host.yaml for comments as to what all these options mean.
|
||||
generaloptions = dict()
|
||||
generaloptions["rom_file"] = "Zelda no Densetsu - Kamigami no Triforce (Japan).sfc"
|
||||
generaloptions["qusb2snes"] = "QUsb2Snes\\QUsb2Snes.exe"
|
||||
generaloptions["rom_start"] = True
|
||||
generaloptions["output_path"] = "output"
|
||||
options["general_options"] = generaloptions
|
||||
|
||||
serveroptions = dict()
|
||||
serveroptions["host"] = None
|
||||
serveroptions["port"] = 38281
|
||||
serveroptions["password"] = None
|
||||
serveroptions["multidata"] = None
|
||||
serveroptions["savefile"] = None
|
||||
serveroptions["disable_save"] = False
|
||||
serveroptions["loglevel"] = "info"
|
||||
serveroptions["server_password"] = None
|
||||
serveroptions["port_forward"] = False
|
||||
serveroptions["disable_item_cheat"] = False
|
||||
serveroptions["location_check_points"] = 1
|
||||
serveroptions["hint_cost"] = 1000
|
||||
serveroptions["forfeit_mode"] = "goal"
|
||||
serveroptions["remaining_mode"] = "goal"
|
||||
serveroptions["auto_shutdown"] = 0
|
||||
serveroptions["compatibility"] = 2
|
||||
options["server_options"] = serveroptions
|
||||
|
||||
multimysteryoptions = dict()
|
||||
multimysteryoptions["teams"] = 1
|
||||
multimysteryoptions["enemizer_path"] = "EnemizerCLI/EnemizerCLI.Core.exe"
|
||||
multimysteryoptions["player_files_path"] = "Players"
|
||||
multimysteryoptions["players"] = 0
|
||||
multimysteryoptions["weights_file_path"] = "weights.yaml"
|
||||
multimysteryoptions["meta_file_path"] = "meta.yaml"
|
||||
multimysteryoptions["player_name"] = ""
|
||||
multimysteryoptions["create_spoiler"] = 1
|
||||
multimysteryoptions["zip_roms"] = 0
|
||||
multimysteryoptions["zip_diffs"] = 2
|
||||
multimysteryoptions["zip_spoiler"] = 0
|
||||
multimysteryoptions["zip_multidata"] = 1
|
||||
multimysteryoptions["zip_format"] = 1
|
||||
multimysteryoptions["race"] = 0
|
||||
options["multi_mystery_options"] = multimysteryoptions
|
||||
get_default_options.options = options
|
||||
return get_default_options.options
|
||||
|
||||
|
||||
def get_options() -> dict:
|
||||
if not hasattr(get_options, "options"):
|
||||
locations = ("options.yaml", "host.yaml",
|
||||
|
@ -173,7 +225,16 @@ def get_options() -> dict:
|
|||
for location in locations:
|
||||
if os.path.exists(location):
|
||||
with open(location) as f:
|
||||
get_options.options = parse_yaml(f.read())
|
||||
options = parse_yaml(f.read())
|
||||
|
||||
default_options = get_default_options()
|
||||
for key, value in options.items():
|
||||
if isinstance(value, dict):
|
||||
for key2, value2 in value.items():
|
||||
default_options[key][key2] = value2
|
||||
else:
|
||||
default_options[key] = value
|
||||
get_options.options = default_options
|
||||
break
|
||||
else:
|
||||
raise FileNotFoundError(f"Could not find {locations[1]} to load options.")
|
||||
|
|
Loading…
Reference in New Issue