14
14
15
15
ModuleUpdate .update ()
16
16
17
+ import copy
17
18
import Utils
19
+ import Options
20
+ from BaseClasses import seeddigits , get_seed , PlandoOptions
21
+ from Main import main as ERmain
22
+ from settings import get_settings
23
+ from Utils import parse_yamls , version_tuple , __version__ , tuplize_version , user_path
18
24
from worlds .alttp import Options as LttPOptions
19
- from worlds .generic import PlandoConnection
20
- from Utils import parse_yamls , version_tuple , __version__ , tuplize_version , get_options , user_path
21
25
from worlds .alttp .EntranceRandomizer import parse_arguments
22
- from Main import main as ERmain
23
- from BaseClasses import seeddigits , get_seed , PlandoOptions
24
- import Options
25
26
from worlds .alttp .Text import TextTable
26
27
from worlds .AutoWorld import AutoWorldRegister
27
- import copy
28
+ from worlds . generic import PlandoConnection
28
29
29
30
30
31
def mystery_argparse ():
31
- options = get_options ()
32
- defaults = options ["generator" ]
33
-
34
- def resolve_path (path : str , resolver : Callable [[str ], str ]) -> str :
35
- return path if os .path .isabs (path ) else resolver (path )
32
+ options = get_settings ()
33
+ defaults = options .generator
36
34
37
35
parser = argparse .ArgumentParser (description = "CMD Generation Interface, defaults come from host.yaml." )
38
- parser .add_argument ('--weights_file_path' , default = defaults [ " weights_file_path" ] ,
36
+ parser .add_argument ('--weights_file_path' , default = defaults . weights_file_path ,
39
37
help = 'Path to the weights file to use for rolling game settings, urls are also valid' )
40
38
parser .add_argument ('--samesettings' , help = 'Rolls settings per weights file rather than per player' ,
41
39
action = 'store_true' )
42
- parser .add_argument ('--player_files_path' , default = resolve_path ( defaults [ " player_files_path" ], user_path ) ,
40
+ parser .add_argument ('--player_files_path' , default = defaults . player_files_path ,
43
41
help = "Input directory for player files." )
44
42
parser .add_argument ('--seed' , help = 'Define seed number to generate.' , type = int )
45
- parser .add_argument ('--multi' , default = defaults [ " players" ] , type = lambda value : max (int (value ), 1 ))
46
- parser .add_argument ('--spoiler' , type = int , default = defaults [ " spoiler" ] )
47
- parser .add_argument ('--outputpath' , default = resolve_path ( options [ " general_options" ][ " output_path" ], user_path ) ,
43
+ parser .add_argument ('--multi' , default = defaults . players , type = lambda value : max (int (value ), 1 ))
44
+ parser .add_argument ('--spoiler' , type = int , default = defaults . spoiler )
45
+ parser .add_argument ('--outputpath' , default = options . general_options . output_path ,
48
46
help = "Path to output folder. Absolute or relative to cwd." ) # absolute or relative to cwd
49
- parser .add_argument ('--race' , action = 'store_true' , default = defaults [ " race" ] )
50
- parser .add_argument ('--meta_file_path' , default = defaults [ " meta_file_path" ] )
47
+ parser .add_argument ('--race' , action = 'store_true' , default = defaults . race )
48
+ parser .add_argument ('--meta_file_path' , default = defaults . meta_file_path )
51
49
parser .add_argument ('--log_level' , default = 'info' , help = 'Sets log level' )
52
50
parser .add_argument ('--yaml_output' , default = 0 , type = lambda value : max (int (value ), 0 ),
53
51
help = 'Output rolled mystery results to yaml up to specified number (made for async multiworld)' )
54
- parser .add_argument ('--plando' , default = defaults [ " plando_options" ] ,
52
+ parser .add_argument ('--plando' , default = defaults . plando_options ,
55
53
help = 'List of options that can be set manually. Can be combined, for example "bosses, items"' )
56
54
parser .add_argument ("--skip_prog_balancing" , action = "store_true" ,
57
55
help = "Skip progression balancing step during generation." )
@@ -71,6 +69,8 @@ def get_seed_name(random_source) -> str:
71
69
def main (args = None , callback = ERmain ):
72
70
if not args :
73
71
args , options = mystery_argparse ()
72
+ else :
73
+ options = get_settings ()
74
74
75
75
seed = get_seed (args .seed )
76
76
Utils .init_logging (f"Generate_{ seed } " , loglevel = args .log_level )
@@ -137,7 +137,7 @@ def main(args=None, callback=ERmain):
137
137
erargs = parse_arguments (['--multi' , str (args .multi )])
138
138
erargs .seed = seed
139
139
erargs .plando_options = args .plando
140
- erargs .glitch_triforce = options [ " generator" ][ " glitch_triforce_room" ]
140
+ erargs .glitch_triforce = options . generator . glitch_triforce_room
141
141
erargs .spoiler = args .spoiler
142
142
erargs .race = args .race
143
143
erargs .outputname = seed_name
0 commit comments