From 2caf266413642a2732e4a2c6d738d709ea29fd91 Mon Sep 17 00:00:00 2001 From: Charles Dang Date: Thu, 5 Oct 2017 16:58:07 +1100 Subject: [PATCH] Configure Engine: formatting cleanup --- src/game_initialization/configure_engine.cpp | 206 +++++++------ src/game_initialization/configure_engine.hpp | 292 +++++++++++++++---- 2 files changed, 334 insertions(+), 164 deletions(-) diff --git a/src/game_initialization/configure_engine.cpp b/src/game_initialization/configure_engine.cpp index 96a28000dad..d4886a57d57 100644 --- a/src/game_initialization/configure_engine.cpp +++ b/src/game_initialization/configure_engine.cpp @@ -12,28 +12,30 @@ */ #include "game_initialization/configure_engine.hpp" + #include "formula/string_utils.hpp" #include "game_config_manager.hpp" #include "mp_game_settings.hpp" +#include "preferences/credentials.hpp" #include "settings.hpp" #include "tod_manager.hpp" -#include "preferences/credentials.hpp" #include -#include #include +#include -namespace ng { - -configure_engine::configure_engine(saved_game& state, const config* intial) +namespace ng +{ +configure_engine::configure_engine(saved_game& state, const config* initial) : state_(state) , parameters_(state_.mp_settings()) - , initial_(intial ? intial : &state_.get_starting_pos()) + , initial_(initial ? initial : &state_.get_starting_pos()) { set_use_map_settings(use_map_settings_default()); } -void configure_engine::set_default_values() { +void configure_engine::set_default_values() +{ set_use_map_settings(use_map_settings_default()); set_game_name(game_name_default()); set_num_turns(num_turns_default()); @@ -50,171 +52,159 @@ void configure_engine::set_default_values() { set_random_faction_mode(random_faction_mode_default()); } -bool configure_engine::force_lock_settings() const { +bool configure_engine::force_lock_settings() const +{ return initial_cfg()["force_lock_settings"].to_bool(!state_.classification().is_normal_mp_game()); } -std::string configure_engine::game_name() const { return parameters_.name; } -int configure_engine::num_turns() const { return parameters_.num_turns; } -int configure_engine::village_gold() const { return parameters_.village_gold; } -int configure_engine::village_support() const { return parameters_.village_support; } -int configure_engine::xp_modifier() const { return parameters_.xp_modifier; } -int configure_engine::mp_countdown_init_time() const { return parameters_.mp_countdown_init_time; } -int configure_engine::mp_countdown_reservoir_time() const { return parameters_.mp_countdown_reservoir_time; } -int configure_engine::mp_countdown_turn_bonus() const { return parameters_.mp_countdown_turn_bonus; } -int configure_engine::mp_countdown_action_bonus() const { return parameters_.mp_countdown_action_bonus; } -bool configure_engine::mp_countdown() const { return parameters_.mp_countdown; } -bool configure_engine::use_map_settings() const { return parameters_.use_map_settings; } -bool configure_engine::random_start_time() const { return parameters_.random_start_time; } -bool configure_engine::fog_game() const { return parameters_.fog_game; } -bool configure_engine::shroud_game() const { return parameters_.shroud_game; } -bool configure_engine::allow_observers() const { return parameters_.allow_observers; } -bool configure_engine::registered_users_only() const { return parameters_.registered_users_only; } -bool configure_engine::shuffle_sides() const { return parameters_.shuffle_sides; } -mp_game_settings::RANDOM_FACTION_MODE configure_engine::random_faction_mode() const { return parameters_.random_faction_mode; } -const config& configure_engine::options() const { return parameters_.options; } - -void configure_engine::set_game_name(std::string val) { parameters_.name = val; } -void configure_engine::set_game_password(std::string val) { parameters_.password = val; } -void configure_engine::set_num_turns(int val) { parameters_.num_turns = val; } -void configure_engine::set_village_gold(int val) { parameters_.village_gold = val; } -void configure_engine::set_village_support(int val) { parameters_.village_support = val; } -void configure_engine::set_xp_modifier(int val) { parameters_.xp_modifier = val; } -void configure_engine::set_mp_countdown_init_time(int val) { parameters_.mp_countdown_init_time = val; } -void configure_engine::set_mp_countdown_reservoir_time(int val) { parameters_.mp_countdown_reservoir_time = val; } -void configure_engine::set_mp_countdown_turn_bonus(int val) { parameters_.mp_countdown_turn_bonus = val; } -void configure_engine::set_mp_countdown_action_bonus(int val) { parameters_.mp_countdown_action_bonus = val; } -void configure_engine::set_mp_countdown(bool val) { parameters_.mp_countdown = val; } -void configure_engine::set_use_map_settings(bool val) { parameters_.use_map_settings = val; } -void configure_engine::set_random_start_time(bool val) { parameters_.random_start_time = val; } -void configure_engine::set_fog_game(bool val) { parameters_.fog_game = val; } -void configure_engine::set_shroud_game(bool val) { parameters_.shroud_game = val; } -void configure_engine::set_allow_observers(bool val) { parameters_.allow_observers = val; } -void configure_engine::set_registered_users_only(bool val) { parameters_.registered_users_only = val; } -void configure_engine::set_oos_debug(bool val) { state_.classification().oos_debug = val; } -void configure_engine::set_shuffle_sides(bool val) { parameters_.shuffle_sides = val; } -void configure_engine::set_random_faction_mode(mp_game_settings::RANDOM_FACTION_MODE val) { parameters_.random_faction_mode = val;} -void configure_engine::set_options(const config& cfg) { parameters_.options = cfg; } - -std::string configure_engine::game_name_default() { +std::string configure_engine::game_name_default() +{ utils::string_map i18n_symbols; i18n_symbols["login"] = preferences::login(); return vgettext("$login|’s game", i18n_symbols); } -int configure_engine::num_turns_default() const { - return use_map_settings() ? - settings::get_turns(initial_cfg()["turns"]) : - preferences::turns(); + +int configure_engine::num_turns_default() const +{ + return use_map_settings() ? settings::get_turns(initial_cfg()["turns"]) : preferences::turns(); } -int configure_engine::village_gold_default() const { - return use_map_settings() ? - settings::get_village_gold(initial_cfg()["mp_village_gold"], &state_.classification()) : - preferences::village_gold(); + +int configure_engine::village_gold_default() const +{ + return use_map_settings() + ? settings::get_village_gold(initial_cfg()["mp_village_gold"], &state_.classification()) + : preferences::village_gold(); } -int configure_engine::village_support_default() const { - return use_map_settings() ? - settings::get_village_support(initial_cfg()["mp_village_support"]) : - preferences::village_support(); + +int configure_engine::village_support_default() const +{ + return use_map_settings() + ? settings::get_village_support(initial_cfg()["mp_village_support"]) + : preferences::village_support(); } -int configure_engine::xp_modifier_default() const { - return use_map_settings() ? - settings::get_xp_modifier(initial_cfg()["experience_modifier"]) : - preferences::xp_modifier(); + +int configure_engine::xp_modifier_default() const +{ + return use_map_settings() + ? settings::get_xp_modifier(initial_cfg()["experience_modifier"]) + : preferences::xp_modifier(); } -int configure_engine::mp_countdown_init_time_default() const { + +int configure_engine::mp_countdown_init_time_default() const +{ return preferences::countdown_init_time(); } -int configure_engine::mp_countdown_reservoir_time_default() const { + +int configure_engine::mp_countdown_reservoir_time_default() const +{ return preferences::countdown_reservoir_time(); } -int configure_engine::mp_countdown_turn_bonus_default() const { + +int configure_engine::mp_countdown_turn_bonus_default() const +{ return preferences::countdown_turn_bonus(); } -int configure_engine::mp_countdown_action_bonus_default() const { + +int configure_engine::mp_countdown_action_bonus_default() const +{ return preferences::countdown_action_bonus(); } -bool configure_engine::mp_countdown_default() const { + +bool configure_engine::mp_countdown_default() const +{ return preferences::countdown(); } -bool configure_engine::use_map_settings_default() const { + +bool configure_engine::use_map_settings_default() const +{ return force_lock_settings() || preferences::use_map_settings(); } -bool configure_engine::random_start_time_default() const { - return use_map_settings() ? - initial_cfg()["random_start_time"].to_bool(false) : - preferences::random_start_time(); + +bool configure_engine::random_start_time_default() const +{ + return use_map_settings() + ? initial_cfg()["random_start_time"].to_bool(false) + : preferences::random_start_time(); } -bool configure_engine::fog_game_default() const { - return use_map_settings() ? - initial_cfg()["mp_fog"].to_bool(state_.classification().is_normal_mp_game()) : - preferences::fog(); + +bool configure_engine::fog_game_default() const +{ + return use_map_settings() + ? initial_cfg()["mp_fog"].to_bool(state_.classification().is_normal_mp_game()) + : preferences::fog(); } -bool configure_engine::shroud_game_default() const { - return use_map_settings() ? - initial_cfg()["mp_shroud"].to_bool(false) : - preferences::shroud(); + +bool configure_engine::shroud_game_default() const +{ + return use_map_settings() ? initial_cfg()["mp_shroud"].to_bool(false) : preferences::shroud(); } -bool configure_engine::allow_observers_default() const { + +bool configure_engine::allow_observers_default() const +{ return preferences::allow_observers(); } + bool configure_engine::registered_users_only_default() const { return preferences::registered_users_only(); } -bool configure_engine::shuffle_sides_default() const { + +bool configure_engine::shuffle_sides_default() const +{ return preferences::shuffle_sides(); } -mp_game_settings::RANDOM_FACTION_MODE configure_engine::random_faction_mode_default() const { - return mp_game_settings::RANDOM_FACTION_MODE::string_to_enum(preferences::random_faction_mode(), mp_game_settings::RANDOM_FACTION_MODE::DEFAULT); + +mp_game_settings::RANDOM_FACTION_MODE configure_engine::random_faction_mode_default() const +{ + return mp_game_settings::RANDOM_FACTION_MODE::string_to_enum( + preferences::random_faction_mode(), mp_game_settings::RANDOM_FACTION_MODE::DEFAULT); } -const config& configure_engine::options_default() const { +const config& configure_engine::options_default() const +{ return preferences::options(); } -const mp_game_settings& configure_engine::get_parameters() const { - return parameters_; -} - void configure_engine::write_parameters() { config& scenario = this->state_.get_starting_pos(); const mp_game_settings& params = this->state_.mp_settings(); - if (params.random_start_time) { - if (!tod_manager::is_start_ToD(scenario["random_start_time"])) { + if(params.random_start_time) { + if(!tod_manager::is_start_ToD(scenario["random_start_time"])) { scenario["random_start_time"] = true; } - } - else { + } else { scenario["random_start_time"] = false; } + scenario["experience_modifier"] = params.xp_modifier; scenario["turns"] = params.num_turns; - for (config& side : scenario.child_range("side")) - { - if (!params.use_map_settings) { + for(config& side : scenario.child_range("side")) { + if(!params.use_map_settings) { side["fog"] = params.fog_game; side["shroud"] = params.shroud_game; side["village_gold"] = params.village_gold; side["village_support"] = params.village_support; - } - else { - if (side["fog"].empty()) { + } else { + if(side["fog"].empty()) { side["fog"] = params.fog_game; } - if (side["shroud"].empty()) { + + if(side["shroud"].empty()) { side["shroud"] = params.shroud_game; } - if (side["village_gold"].empty()) { + + if(side["village_gold"].empty()) { side["village_gold"] = params.village_gold; } - if (side["village_support"].empty()) { + + if(side["village_support"].empty()) { side["village_support"] = params.village_support; } } } } -} //end namespace ng +} // end namespace ng diff --git a/src/game_initialization/configure_engine.hpp b/src/game_initialization/configure_engine.hpp index 3c4ef41eb03..89248697b7d 100644 --- a/src/game_initialization/configure_engine.hpp +++ b/src/game_initialization/configure_engine.hpp @@ -15,12 +15,12 @@ #pragma once #include "gettext.hpp" -#include "preferences/game.hpp" #include "mp_game_settings.hpp" +#include "preferences/game.hpp" #include "saved_game.hpp" -namespace ng { - +namespace ng +{ /** * configure_engine * @@ -30,59 +30,226 @@ namespace ng { class configure_engine { public: - configure_engine(saved_game& state, const config* intial = nullptr); + configure_engine(saved_game& state, const config* initial = nullptr); - // Set all parameters to their default values + /** Set all parameters to their default values. */ void set_default_values(); - // check force_lock_settings in config + /** Checks force_lock_settings in config. */ bool force_lock_settings() const; - // getter methods - std::string game_name() const; - int num_turns() const; - int village_gold() const; - int village_support() const; - int xp_modifier() const; - int mp_countdown_init_time() const; - int mp_countdown_reservoir_time() const; - int mp_countdown_turn_bonus() const; - int mp_countdown_action_bonus() const; - bool mp_countdown() const; - bool use_map_settings() const; - bool random_start_time() const; - bool fog_game() const; - bool shroud_game() const; - bool allow_observers() const; - bool registered_users_only() const; - bool shuffle_sides() const; - mp_game_settings::RANDOM_FACTION_MODE random_faction_mode() const; - const config& options() const; + // + // Getter methods + // - // setter methods - void set_game_name(std::string name); - void set_game_password(std::string name); - void set_num_turns(int val); - void set_village_gold(int val); - void set_village_support(int val); - void set_xp_modifier(int val); - void set_mp_countdown_init_time(int val); - void set_mp_countdown_reservoir_time(int val); - void set_mp_countdown_turn_bonus(int val); - void set_mp_countdown_action_bonus(int val); - void set_mp_countdown(bool val); - void set_use_map_settings(bool val); - void set_random_start_time(bool val); - void set_fog_game(bool val); - void set_shroud_game(bool val); - void set_allow_observers(bool val); - void set_registered_users_only(bool val); - void set_oos_debug(bool val); - void set_shuffle_sides(bool val); - void set_random_faction_mode(mp_game_settings::RANDOM_FACTION_MODE val); - void set_options(const config& cfg); + std::string game_name() const + { + return parameters_.name; + } + + int num_turns() const + { + return parameters_.num_turns; + } + + int village_gold() const + { + return parameters_.village_gold; + } + + int village_support() const + { + return parameters_.village_support; + } + + int xp_modifier() const + { + return parameters_.xp_modifier; + } + + int mp_countdown_init_time() const + { + return parameters_.mp_countdown_init_time; + } + + int mp_countdown_reservoir_time() const + { + return parameters_.mp_countdown_reservoir_time; + } + + int mp_countdown_turn_bonus() const + { + return parameters_.mp_countdown_turn_bonus; + } + + int mp_countdown_action_bonus() const + { + return parameters_.mp_countdown_action_bonus; + } + + bool mp_countdown() const + { + return parameters_.mp_countdown; + } + + bool use_map_settings() const + { + return parameters_.use_map_settings; + } + + bool random_start_time() const + { + return parameters_.random_start_time; + } + + bool fog_game() const + { + return parameters_.fog_game; + } + + bool shroud_game() const + { + return parameters_.shroud_game; + } + + bool allow_observers() const + { + return parameters_.allow_observers; + } + + bool registered_users_only() const + { + return parameters_.registered_users_only; + } + + bool shuffle_sides() const + { + return parameters_.shuffle_sides; + } + + mp_game_settings::RANDOM_FACTION_MODE random_faction_mode() const + { + return parameters_.random_faction_mode; + } + + const config& options() const + { + return parameters_.options; + } + + // + // Setter methods + // + + void set_game_name(std::string name) + { + parameters_.name = name; + } + + void set_game_password(std::string name) + { + parameters_.password = name; + } + + void set_num_turns(int val) + { + parameters_.num_turns = val; + } + + void set_village_gold(int val) + { + parameters_.village_gold = val; + } + + void set_village_support(int val) + { + parameters_.village_support = val; + } + + void set_xp_modifier(int val) + { + parameters_.xp_modifier = val; + } + + void set_mp_countdown_init_time(int val) + { + parameters_.mp_countdown_init_time = val; + } + + void set_mp_countdown_reservoir_time(int val) + { + parameters_.mp_countdown_reservoir_time = val; + } + + void set_mp_countdown_turn_bonus(int val) + { + parameters_.mp_countdown_turn_bonus = val; + } + + void set_mp_countdown_action_bonus(int val) + { + parameters_.mp_countdown_action_bonus = val; + } + + void set_mp_countdown(bool val) + { + parameters_.mp_countdown = val; + } + + void set_use_map_settings(bool val) + { + parameters_.use_map_settings = val; + } + + void set_random_start_time(bool val) + { + parameters_.random_start_time = val; + } + + void set_fog_game(bool val) + { + parameters_.fog_game = val; + } + + void set_shroud_game(bool val) + { + parameters_.shroud_game = val; + } + + void set_allow_observers(bool val) + { + parameters_.allow_observers = val; + } + + void set_registered_users_only(bool val) + { + parameters_.registered_users_only = val; + } + + void set_oos_debug(bool val) + { + state_.classification().oos_debug = val; + } + + void set_shuffle_sides(bool val) + { + parameters_.shuffle_sides = val; + } + + void set_random_faction_mode(mp_game_settings::RANDOM_FACTION_MODE val) + { + parameters_.random_faction_mode = val; + } + + void set_options(const config& cfg) + { + parameters_.options = cfg; + } + + // + // Parameter defaults + // - // parameter defaults static std::string game_name_default(); int num_turns_default() const; int village_gold_default() const; @@ -103,32 +270,45 @@ public: mp_game_settings::RANDOM_FACTION_MODE random_faction_mode_default() const; const config& options_default() const; - // parameters_ accessor - const mp_game_settings& get_parameters() const; + const mp_game_settings& get_parameters() const + { + return parameters_; + } - const std::vector& entry_point_titles() const; void write_parameters(); void update_initial_cfg(const config& cfg) { initial_ = &cfg; } + + const std::vector& entry_point_titles() const; + private: saved_game& state_; + mp_game_settings& parameters_; + /// Never nullptr. const config* initial_; - // village gold, village support, fog, and shroud are per player, always show values of player 1. + /** - * @todo This might not be 100% correct, but at the moment - * it is not possible to show the fog and shroud per player. - * This might change in the future. + * Village gold, village support, fog, and shroud are per player but always show the + * player 1's values. + * + * @todo This might not be 100% correct, but at the moment it is not possible to show + * fog and shroud per player. This might change in the future. + * + * @todo: Is the above even still true? + * -- vultraz, 2017-10-05 + * * NOTE when 'load game' is selected there are no sides. */ const config& side_cfg() const { return initial_->child_or_empty("side"); } + const config& initial_cfg() const { return *initial_;