From 8ecbe6798d5bd5798db7d0dbd84f198416434557 Mon Sep 17 00:00:00 2001 From: Martin Michelsen Date: Sun, 14 Apr 2024 20:58:55 -0700 Subject: [PATCH] fix --config option to less-common commands --- src/Main.cc | 47 ++++++++++++++++++----------------------------- 1 file changed, 18 insertions(+), 29 deletions(-) diff --git a/src/Main.cc b/src/Main.cc index e22ecd1d..2c758940 100644 --- a/src/Main.cc +++ b/src/Main.cc @@ -56,6 +56,11 @@ bool use_terminal_colors = false; void print_version_info(); void print_usage(); +std::string get_config_filename(Arguments& args) { + string config_filename = args.get("config"); + return config_filename.empty() ? "system/config.json" : config_filename; +} + template vector parse_int_vector(const JSON& o) { vector ret; @@ -1425,8 +1430,7 @@ Action a_print_word_select_table( given, prints the table sorted by token ID for that version. If no version\n\ option is given, prints the token table sorted by canonical name.\n", +[](Arguments& args) { - string config_filename = args.get("config"); - auto s = make_shared(config_filename); + auto s = make_shared(get_config_filename(args)); s->load_patch_indexes(false); s->load_text_index(false); s->load_word_select_table(false); @@ -1488,8 +1492,7 @@ Action a_convert_rare_item_set( auto version = get_cli_version(args); double rate_factor = args.get("multiply", 1.0); - string config_filename = args.get("config"); - auto s = make_shared(config_filename); + auto s = make_shared(get_config_filename(args)); s->load_config_early(); s->load_patch_indexes(false); s->load_text_index(false); @@ -1553,8 +1556,7 @@ Action a_describe_item( string description = args.get(1); auto version = get_cli_version(args); - string config_filename = args.get("config"); - auto s = make_shared(config_filename); + auto s = make_shared(get_config_filename(args)); s->load_config_early(); s->load_patch_indexes(false); s->load_text_index(false); @@ -1625,8 +1627,7 @@ Action a_describe_item( Action a_name_all_items( "name-all-items", nullptr, +[](Arguments& args) { - string config_filename = args.get("config"); - auto s = make_shared(config_filename); + auto s = make_shared(get_config_filename(args)); s->load_config_early(); s->load_patch_indexes(false); s->load_text_index(false); @@ -1676,8 +1677,7 @@ Action a_name_all_items( Action a_print_item_parameter_tables( "print-item-tables", nullptr, +[](Arguments& args) { - string config_filename = args.get("config"); - auto s = make_shared(config_filename); + auto s = make_shared(get_config_filename(args)); s->load_patch_indexes(false); s->load_text_index(false); s->load_item_definitions(false); @@ -1700,8 +1700,7 @@ Action a_show_ep3_cards( +[](Arguments& args) { bool one_line = args.get("one-line"); - string config_filename = args.get("config"); - auto s = make_shared(config_filename); + auto s = make_shared(get_config_filename(args)); s->load_ep3_cards(false); unique_ptr text_english; @@ -1751,8 +1750,7 @@ Action a_generate_ep3_cards_html( bool is_nte = (get_cli_version(args, Version::GC_EP3) == Version::GC_EP3_NTE); - string config_filename = args.get("config"); - auto s = make_shared(config_filename); + auto s = make_shared(get_config_filename(args)); s->load_patch_indexes(false); s->load_text_index(false); s->load_ep3_cards(false); @@ -1917,8 +1915,7 @@ Action a_show_ep3_maps( +[](Arguments& args) { config_log.info("Collecting Episode 3 data"); - string config_filename = args.get("config"); - auto s = make_shared(config_filename); + auto s = make_shared(get_config_filename(args)); s->load_ep3_cards(false); s->load_ep3_maps(false); @@ -1943,8 +1940,7 @@ Action a_show_battle_params( Print the Blue Burst battle parameters from the system/blueburst directory\n\ in a human-readable format.\n", +[](Arguments& args) { - string config_filename = args.get("config"); - auto s = make_shared(config_filename); + auto s = make_shared(get_config_filename(args)); s->load_patch_indexes(false); s->load_battle_params(false); @@ -1985,8 +1981,7 @@ Action a_find_rare_enemy_seeds( size_t min_count = args.get("min-count", 1); string quest_name = args.get("quest", false); - string config_filename = args.get("config"); - auto s = make_shared(config_filename); + auto s = make_shared(get_config_filename(args)); shared_ptr vq; if (!quest_name.empty()) { s->load_config_early(); @@ -2071,8 +2066,7 @@ Action a_find_rare_enemy_seeds( Action a_load_maps_test( "load-maps-test", nullptr, +[](Arguments& args) { using SDT = SetDataTable; - string config_filename = args.get("config"); - auto s = make_shared(config_filename); + auto s = make_shared(get_config_filename(args)); s->load_config_early(); s->clear_map_file_caches(); s->load_patch_indexes(false); @@ -2327,8 +2321,7 @@ Action a_format_ep3_battle_record( Action a_replay_ep3_battle_commands( "replay-ep3-battle-commands", nullptr, +[](Arguments& args) { - string config_filename = args.get("config"); - auto s = make_shared(config_filename); + auto s = make_shared(get_config_filename(args)); s->load_ep3_cards(false); s->load_ep3_maps(false); @@ -2391,12 +2384,8 @@ Action a_run_server_replay_log( mkdir("system/players", 0755); } - string config_filename = args.get("config"); const string& replay_log_filename = args.get("replay-log"); bool is_replay = !replay_log_filename.empty(); - if (config_filename.empty()) { - config_filename = "system/config.json"; - } signal(SIGPIPE, SIG_IGN); if (isatty(fileno(stderr))) { @@ -2408,7 +2397,7 @@ Action a_run_server_replay_log( } shared_ptr base(event_base_new(), event_base_free); - auto state = make_shared(base, config_filename, is_replay); + auto state = make_shared(base, get_config_filename(args), is_replay); state->load_all(); shared_ptr dns_server;