#include <connect_engine.hpp>
Classes | |
struct | team_data_pod |
Public Member Functions | |
connect_engine (saved_game &state, const bool first_scenario, mp_game_metadata *metadata) | |
config * | current_config () |
void | import_user (const std::string &name, const bool observer, int side_taken=-1) |
void | import_user (const config &data, const bool observer, int side_taken=-1) |
bool | sides_available () const |
void | update_level () |
void | update_and_send_diff () |
bool | can_start_game () const |
void | start_game () |
void | start_game_commandline (const commandline_options &cmdline_opts, const game_config_view &game_config) |
void | leave_game () |
std::pair< bool, bool > | process_network_data (const config &data) |
int | find_user_side_index_by_id (const std::string &id) const |
const config & | level () const |
config & | scenario () |
const std::set< std::string > & | connected_users () const |
const std::vector< team_data_pod > & | team_data () const |
std::vector< side_engine_ptr > & | side_engines () |
const mp_game_settings & | params () const |
bool | first_scenario () const |
bool | force_lock_settings () const |
Private Member Functions | |
connect_engine (const connect_engine &)=delete | |
connect_engine & | operator= (const connect_engine &)=delete |
void | send_level_data () const |
void | save_reserved_sides_information () |
void | load_previous_sides_users () |
void | update_side_controller_options () |
std::set< std::string > & | connected_users_rw () |
Private Attributes | |
config | level_ |
saved_game & | state_ |
const mp_game_settings & | params_ |
const ng::controller | default_controller_ |
mp_game_metadata * | mp_metadata_ |
const bool | first_scenario_ |
bool | force_lock_settings_ |
std::vector< side_engine_ptr > | side_engines_ |
std::vector< const config * > | era_factions_ |
std::vector< team_data_pod > | team_data_ |
Friends | |
class | side_engine |
Definition at line 43 of file connect_engine.hpp.
ng::connect_engine::connect_engine | ( | saved_game & | state, |
const bool | first_scenario, | ||
mp_game_metadata * | metadata | ||
) |
Definition at line 88 of file connect_engine.cpp.
References _(), game_config::add_color_info(), ai::configuration::add_era_ai_from_config(), ai::configuration::add_mod_ai_from_config(), config::child_range(), saved_game::classification(), current_config(), data, config::empty(), config_attribute_value::empty(), era_factions_, utils::find(), first_scenario_, force_lock_settings_, prefs::get(), import_user(), utf8::index(), mp::initial_level_config(), game_classification::is_normal_mp_game(), level_, load_previous_sides_users(), config::mandatory_child(), saved_game::mp_settings(), params_, s, mp_game_settings::saved_game, scenario(), send_level_data(), side_engine, side_engines_, state_, config_attribute_value::str(), config_attribute_value::t_str(), team_data_, t_string::to_serialized(), update_level(), mp_game_settings::use_map_settings, and game_config_view::wrap().
|
privatedelete |
bool ng::connect_engine::can_start_game | ( | ) | const |
Definition at line 332 of file connect_engine.cpp.
References ng::CNTR_EMPTY, DBG_MP, and side_engines_.
Referenced by gui2::dialogs::mp_staging::network_handler(), campaign_controller::play_game(), and gui2::dialogs::mp_staging::update_status_label_and_buttons().
const std::set< std::string > & ng::connect_engine::connected_users | ( | ) | const |
Definition at line 815 of file connect_engine.cpp.
References mp_game_metadata::connected_players, and mp_metadata_.
Referenced by load_previous_sides_users(), process_network_data(), and ng::side_engine::update_controller_options().
|
private |
Definition at line 825 of file connect_engine.cpp.
References mp_game_metadata::connected_players, and mp_metadata_.
Referenced by import_user(), and process_network_data().
config * ng::connect_engine::current_config | ( | ) |
Definition at line 230 of file connect_engine.cpp.
References scenario().
Referenced by connect_engine(), and create_side_engine().
int ng::connect_engine::find_user_side_index_by_id | ( | const std::string & | id | ) | const |
Definition at line 724 of file connect_engine.cpp.
References i, and side_engines_.
Referenced by process_network_data().
|
inline |
Definition at line 108 of file connect_engine.hpp.
References first_scenario_.
|
inline |
Definition at line 109 of file connect_engine.hpp.
References force_lock_settings_.
Referenced by gui2::dialogs::mp_staging::add_side_node().
void ng::connect_engine::import_user | ( | const config & | data, |
const bool | observer, | ||
int | side_taken = -1 |
||
) |
Definition at line 241 of file connect_engine.cpp.
References ng::CNTR_COMPUTER, ng::CNTR_LOCAL, connected_users_rw(), data, mp_metadata_, game_config::images::observer, side_engines_, and update_side_controller_options().
void ng::connect_engine::import_user | ( | const std::string & | name, |
const bool | observer, | ||
int | side_taken = -1 |
||
) |
Definition at line 234 of file connect_engine.cpp.
References game_config::images::observer, and user_data.
Referenced by connect_engine(), load_previous_sides_users(), and process_network_data().
void ng::connect_engine::leave_game | ( | ) |
Definition at line 569 of file connect_engine.cpp.
References DBG_MP, and mp::send_to_server().
Referenced by gui2::dialogs::mp_staging::post_show().
|
inline |
Definition at line 81 of file connect_engine.hpp.
References level_.
|
private |
Definition at line 781 of file connect_engine.cpp.
References ng::CNTR_COMPUTER, ng::CNTR_RESERVED, connected_users(), utils::find(), import_user(), level_, config::mandatory_child(), utils::map_split(), mp_metadata_, names, and side_engines_.
Referenced by connect_engine().
|
privatedelete |
|
inline |
Definition at line 107 of file connect_engine.hpp.
References params_.
Referenced by gui2::dialogs::mp_staging::add_side_node(), and gui2::dialogs::mp_staging::pre_show().
std::pair< bool, bool > ng::connect_engine::process_network_data | ( | const config & | data | ) |
Definition at line 576 of file connect_engine.cpp.
References config::add_child(), connected_users(), connected_users_rw(), data, ERR_CF, utils::find(), find_user_side_index_by_id(), first_scenario_, import_user(), LOG_CF, LOG_MP, LOG_NW, game_config::images::observer, s, mp::send_to_server(), side_engines_, update_and_send_diff(), and update_side_controller_options().
Referenced by gui2::dialogs::mp_staging::network_handler().
|
private |
Definition at line 765 of file connect_engine.cpp.
References config::child_or_empty(), utils::join_map(), level_, config::mandatory_child(), utils::map_split(), and side_engines_.
Referenced by start_game(), and start_game_commandline().
|
inline |
Definition at line 82 of file connect_engine.hpp.
References level_, and config::optional_child().
Referenced by connect_engine(), current_config(), gui2::dialogs::mp_staging::pre_show(), start_game_commandline(), and update_level().
|
private |
Definition at line 742 of file connect_engine.cpp.
References config::add_child(), first_scenario_, prefs::get(), prefs::get_ignored_delim(), level_, mp_metadata_, mp_game_settings::name, params_, mp_game_settings::password, mp_game_metadata::queue_id, mp_game_metadata::queue_type, and mp::send_to_server().
Referenced by connect_engine().
|
inline |
Definition at line 106 of file connect_engine.hpp.
References side_engines_.
Referenced by gui2::dialogs::mp_staging::get_side_node_position(), and gui2::dialogs::mp_staging::pre_show().
bool ng::connect_engine::sides_available | ( | ) | const |
Definition at line 297 of file connect_engine.cpp.
References side_engines_.
Referenced by gui2::dialogs::mp_staging::update_status_label_and_buttons().
void ng::connect_engine::start_game | ( | ) |
Definition at line 390 of file connect_engine.cpp.
References DBG_MP, force_lock_settings_, randomness::mt_rng::get_next_random(), config::has_child(), i, level_, mp::level_to_gamestate(), config::mandatory_child(), mp_game_settings::mode, saved_game::mp_settings(), params_, save_reserved_sides_information(), mp::send_to_server(), mp_game_settings::shuffle_sides, side_engines_, state_, swap(), and update_and_send_diff().
Referenced by sp::configure_campaign(), campaign_controller::play_game(), and gui2::dialogs::mp_staging::post_show().
void ng::connect_engine::start_game_commandline | ( | const commandline_options & | cmdline_opts, |
const game_config_view & | game_config | ||
) |
Definition at line 469 of file connect_engine.cpp.
References DBG_MP, era_factions_, ERR_MP, level_, mp::level_to_gamestate(), commandline_options::multiplayer_ai_config, commandline_options::multiplayer_algorithm, commandline_options::multiplayer_controller, commandline_options::multiplayer_ignore_map_settings, commandline_options::multiplayer_parm, commandline_options::multiplayer_side, commandline_options::multiplayer_turns, save_reserved_sides_information(), scenario(), mp::send_to_server(), side_engines_, state_, and update_and_send_diff().
Referenced by mp::start_local_game_commandline().
|
inline |
Definition at line 101 of file connect_engine.hpp.
References team_data_.
Referenced by gui2::dialogs::mp_staging::add_side_node().
void ng::connect_engine::update_and_send_diff | ( | ) |
Definition at line 319 of file connect_engine.cpp.
References config::add_child(), config::empty(), config::get_diff(), level_, mp::send_to_server(), and update_level().
Referenced by gui2::dialogs::mp_staging::network_handler(), process_network_data(), start_game(), and start_game_commandline().
void ng::connect_engine::update_level | ( | ) |
Definition at line 308 of file connect_engine.cpp.
References config::add_child(), config::clear_children(), DBG_MP, scenario(), and side_engines_.
Referenced by connect_engine(), and update_and_send_diff().
|
private |
Definition at line 808 of file connect_engine.cpp.
References side_engines_.
Referenced by import_user(), and process_network_data().
|
friend |
Definition at line 122 of file connect_engine.hpp.
Referenced by connect_engine().
|
private |
Definition at line 129 of file connect_engine.hpp.
Referenced by ng::side_engine::controller_changed(), ng::side_engine::place_user(), ng::side_engine::reset(), ng::side_engine::side_engine(), and ng::side_engine::update_controller_options().
|
private |
Definition at line 136 of file connect_engine.hpp.
Referenced by connect_engine(), and start_game_commandline().
|
private |
Definition at line 131 of file connect_engine.hpp.
Referenced by connect_engine(), first_scenario(), process_network_data(), and send_level_data().
|
private |
Definition at line 133 of file connect_engine.hpp.
Referenced by connect_engine(), force_lock_settings(), and start_game().
|
private |
Definition at line 124 of file connect_engine.hpp.
Referenced by connect_engine(), level(), load_previous_sides_users(), save_reserved_sides_information(), scenario(), send_level_data(), start_game(), start_game_commandline(), and update_and_send_diff().
|
private |
Definition at line 130 of file connect_engine.hpp.
Referenced by connected_users(), connected_users_rw(), import_user(), load_previous_sides_users(), send_level_data(), and ng::side_engine::update_controller_options().
|
private |
Definition at line 127 of file connect_engine.hpp.
Referenced by connect_engine(), ng::side_engine::new_config(), params(), ng::side_engine::reset(), ng::side_engine::resolve_random(), send_level_data(), and start_game().
|
private |
Definition at line 135 of file connect_engine.hpp.
Referenced by can_start_game(), connect_engine(), find_user_side_index_by_id(), import_user(), load_previous_sides_users(), process_network_data(), save_reserved_sides_information(), side_engines(), sides_available(), start_game(), start_game_commandline(), update_level(), and update_side_controller_options().
|
private |
Definition at line 125 of file connect_engine.hpp.
Referenced by connect_engine(), ng::side_engine::side_engine(), start_game(), and start_game_commandline().
|
private |
Definition at line 137 of file connect_engine.hpp.
Referenced by connect_engine(), ng::side_engine::new_config(), ng::side_engine::side_engine(), team_data(), ng::side_engine::team_name(), and ng::side_engine::user_team_name().