Skip to content

Commit 67b0bdc

Browse files
committed
.
1 parent 5322106 commit 67b0bdc

2 files changed

Lines changed: 33 additions & 48 deletions

File tree

src/gui/dialogs/multiplayer/mp_create_game.cpp

Lines changed: 31 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ void mp_create_game::pre_show()
313313
//
314314
mod_list_ = &find_widget<listbox>("mod_list");
315315

316-
const auto& activemods = prefs::get().modifications();//
316+
const auto& activemods = prefs::get().modifications();
317317
for(const auto& mod : create_engine_.get_extras_by_type(ng::create_engine::MOD)) {
318318
grid* row_grid = &mod_list_->add_row(widget_data{{ "mod_name", {{ "label", mod->name }}}});
319319

@@ -945,60 +945,43 @@ void mp_create_game::load_game_callback()
945945
set_retval(LOAD_GAME);
946946
}
947947

948-
void mp_create_game::save_preset()
948+
config mp_create_game::settings_config()
949949
{
950-
config preset;
951-
preset["scenario"] = create_engine_.current_level().id();
952-
preset["era"] = create_engine_.current_era().id;
953-
preset["fog"] = fog_->get_widget_value();
954-
preset["shroud"] = shroud_->get_widget_value();
955-
preset["village_gold"] = gold_->get_widget_value();
956-
preset["village_support"] = support_->get_widget_value();
957-
preset["experience_modifier"] = experience_->get_widget_value();
958-
preset["countdown"] = time_limit_->get_widget_value();
959-
preset["countdown_turn_limit"] = init_turn_limit_->get_widget_value();
960-
preset["countdown_action_bonus"] = action_bonus_->get_widget_value();
961-
preset["countdown_turn_bonus"] = turn_bonus_->get_widget_value();
962-
preset["countdown_reservoir"] = reservoir_->get_widget_value();
963-
preset["random_start_time"] = start_time_->get_widget_value();
964-
preset["shuffle_sides"] = shuffle_sides_->get_widget_value();
965-
preset["turns"] = turns_->get_widget_value();
966-
preset["observer"] = observers_->get_widget_value();
967-
preset["use_map_settings"] = use_map_settings_->get_widget_value();
968-
969-
// TODO: code de-duplication
970-
preset["mp_modifications"] = utils::join(create_engine_.active_mods(), ",");
971-
preset.add_child("options", options_manager_->get_options_config());
950+
config settings;
951+
952+
settings["scenario"] = create_engine_.current_level().id();
953+
settings["era"] = create_engine_.current_era().id;
954+
settings["fog"] = fog_->get_widget_value();
955+
settings["shroud"] = shroud_->get_widget_value();
956+
settings["village_gold"] = gold_->get_widget_value();
957+
settings["village_support"] = support_->get_widget_value();
958+
settings["experience_modifier"] = experience_->get_widget_value();
959+
settings["countdown"] = time_limit_->get_widget_value();
960+
settings["countdown_turn_limit"] = init_turn_limit_->get_widget_value();
961+
settings["countdown_action_bonus"] = action_bonus_->get_widget_value();
962+
settings["countdown_turn_bonus"] = turn_bonus_->get_widget_value();
963+
settings["countdown_reservoir"] = reservoir_->get_widget_value();
964+
settings["random_start_time"] = start_time_->get_widget_value();
965+
settings["shuffle_sides"] = shuffle_sides_->get_widget_value();
966+
settings["turns"] = turns_->get_widget_value();
967+
settings["observer"] = observers_->get_widget_value();
968+
settings["use_map_settings"] = use_map_settings_->get_widget_value();
969+
settings["mp_modifications"] = utils::join(create_engine_.active_mods(), ",");
970+
settings.add_child("options", options_manager_->get_options_config());
972971
random_faction_mode::type type = random_faction_mode::get_enum(selected_rfm_index_).value_or(random_faction_mode::type::independent);
973-
preset["random_faction_mode"] = random_faction_mode::get_string(type);
972+
settings["random_faction_mode"] = random_faction_mode::get_string(type);
973+
974+
return settings;
975+
}
974976

975-
prefs::get().add_game_preset(std::move(preset));
977+
void mp_create_game::save_preset()
978+
{
979+
prefs::get().add_game_preset(settings_config());
976980
}
977981

978982
void mp_create_game::backup_settings()
979983
{
980-
previous_settings_.clear();
981-
previous_settings_["scenario"] = create_engine_.current_level().id();
982-
previous_settings_["era"] = create_engine_.current_era().id;
983-
previous_settings_["fog"] = fog_->get_widget_value();
984-
previous_settings_["shroud"] = shroud_->get_widget_value();
985-
previous_settings_["village_gold"] = gold_->get_widget_value();
986-
previous_settings_["village_support"] = support_->get_widget_value();
987-
previous_settings_["experience_modifier"] = experience_->get_widget_value();
988-
previous_settings_["countdown"] = time_limit_->get_widget_value();
989-
previous_settings_["countdown_turn_limit"] = init_turn_limit_->get_widget_value();
990-
previous_settings_["countdown_action_bonus"] = action_bonus_->get_widget_value();
991-
previous_settings_["countdown_turn_bonus"] = turn_bonus_->get_widget_value();
992-
previous_settings_["countdown_reservoir"] = reservoir_->get_widget_value();
993-
previous_settings_["random_start_time"] = start_time_->get_widget_value();
994-
previous_settings_["shuffle_sides"] = shuffle_sides_->get_widget_value();
995-
previous_settings_["turns"] = turns_->get_widget_value();
996-
previous_settings_["observer"] = observers_->get_widget_value();
997-
previous_settings_["use_map_settings"] = use_map_settings_->get_widget_value();
998-
previous_settings_["mp_modifications"] = utils::join(create_engine_.active_mods(), ",");
999-
previous_settings_.add_child("options", options_manager_->get_options_config());
1000-
random_faction_mode::type type = random_faction_mode::get_enum(selected_rfm_index_).value_or(random_faction_mode::type::independent);
1001-
previous_settings_["random_faction_mode"] = random_faction_mode::get_string(type);
984+
previous_settings_ = settings_config();
1002985
}
1003986

1004987
std::vector<std::string> mp_create_game::get_active_mods()

src/gui/dialogs/multiplayer/mp_create_game.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,8 @@ class mp_create_game : public modal_dialog, private plugin_executor
135135

136136
void backup_settings();
137137

138+
config settings_config();
139+
138140
enum tab { TAB_GENERAL, TAB_OPTIONS, TAB_SETTINGS };
139141
};
140142

0 commit comments

Comments
 (0)