Stop passing a milion game_config refs around during game initializaton

There are only 3 places where it's actually really needed. Used the game_config_manager
singleton to retrieve a reference in those cases.
This commit is contained in:
Charles Dang 2018-06-25 14:57:05 +11:00
parent 11ca2d8ad8
commit 4eee386664
23 changed files with 57 additions and 65 deletions

View file

@ -17,6 +17,7 @@
#include "display.hpp" #include "display.hpp"
#include "events.hpp" #include "events.hpp"
#include "game_config_manager.hpp"
#include "gui/core/event/handler.hpp" // gui2::is_in_dialog #include "gui/core/event/handler.hpp" // gui2::is_in_dialog
#include "gui/dialogs/loading_screen.hpp" #include "gui/dialogs/loading_screen.hpp"
#include "hotkey/command_executor.hpp" #include "hotkey/command_executor.hpp"
@ -31,9 +32,9 @@
static lg::log_domain log_display("display"); static lg::log_domain log_display("display");
#define ERR_DP LOG_STREAM(err, log_display) #define ERR_DP LOG_STREAM(err, log_display)
controller_base::controller_base(const config& game_config) controller_base::controller_base()
: events::sdl_handler(false) : events::sdl_handler(false)
, game_config_(game_config) , game_config_(game_config_manager::get()->game_config())
, key_() , key_()
, scrolling_(false) , scrolling_(false)
, scroll_up_(false) , scroll_up_(false)

View file

@ -61,7 +61,7 @@ class manager;
class controller_base : public events::sdl_handler, public events::pump_monitor class controller_base : public events::sdl_handler, public events::pump_monitor
{ {
public: public:
controller_base(const config& game_config); controller_base();
virtual ~controller_base(); virtual ~controller_base();
virtual void play_slice(bool is_delay_enabled = true); virtual void play_slice(bool is_delay_enabled = true);

View file

@ -61,13 +61,13 @@ static std::vector<std::string> saved_windows_;
namespace editor { namespace editor {
editor_controller::editor_controller(const config &game_config) editor_controller::editor_controller()
: controller_base(game_config) : controller_base()
, mouse_handler_base() , mouse_handler_base()
, quit_confirmation(std::bind(&editor_controller::quit_confirm, this)) , quit_confirmation(std::bind(&editor_controller::quit_confirm, this))
, active_menu_(editor::MAP) , active_menu_(editor::MAP)
, reports_(new reports()) , reports_(new reports())
, gui_(new editor_display(*this, controller_base::get_theme(game_config, "editor"))) , gui_(new editor_display(*this, controller_base::get_theme(game_config_, "editor")))
, tods_() , tods_()
, context_manager_(new context_manager(*gui_.get(), game_config_)) , context_manager_(new context_manager(*gui_.get(), game_config_))
, toolkit_(nullptr) , toolkit_(nullptr)
@ -81,8 +81,8 @@ editor_controller::editor_controller(const config &game_config)
toolkit_.reset(new editor_toolkit(*gui_.get(), key_, game_config_, *context_manager_.get())); toolkit_.reset(new editor_toolkit(*gui_.get(), key_, game_config_, *context_manager_.get()));
context_manager_->locs_ = toolkit_->get_palette_manager()->location_palette_.get(); context_manager_->locs_ = toolkit_->get_palette_manager()->location_palette_.get();
context_manager_->switch_context(0, true); context_manager_->switch_context(0, true);
init_tods(game_config); init_tods(game_config_);
init_music(game_config); init_music(game_config_);
get_current_map_context().set_starting_position_labels(gui()); get_current_map_context().set_starting_position_labels(gui());
cursor::set(cursor::NORMAL); cursor::set(cursor::NORMAL);

View file

@ -78,7 +78,7 @@ class editor_controller : public controller_base,
* to the map can be retrieved between the main loop's end and the controller's * to the map can be retrieved between the main loop's end and the controller's
* destruction. * destruction.
*/ */
explicit editor_controller(const config &game_config); editor_controller();
~editor_controller(); ~editor_controller();

View file

@ -25,7 +25,7 @@ lg::log_domain log_editor("editor");
namespace editor { namespace editor {
EXIT_STATUS start(const config& game_conf, const std::string& filename /* = "" */, EXIT_STATUS start(const std::string& filename /* = "" */,
bool take_screenshot /* = false */, const std::string& screenshot_filename /* = "map_screenshot.bmp" */) bool take_screenshot /* = false */, const std::string& screenshot_filename /* = "map_screenshot.bmp" */)
{ {
EXIT_STATUS e = EXIT_ERROR; EXIT_STATUS e = EXIT_ERROR;
@ -33,7 +33,7 @@ EXIT_STATUS start(const config& game_conf, const std::string& filename /* = "" *
hotkey::scope_changer h_; hotkey::scope_changer h_;
hotkey::deactivate_all_scopes(); hotkey::deactivate_all_scopes();
hotkey::set_scope_active(hotkey::SCOPE_EDITOR); hotkey::set_scope_active(hotkey::SCOPE_EDITOR);
editor_controller editor(game_conf); editor_controller editor;
if (!filename.empty() && filesystem::file_exists (filename)) { if (!filename.empty() && filesystem::file_exists (filename)) {
if (filesystem::is_directory(filename)) { if (filesystem::is_directory(filename)) {
editor.context_manager_->set_default_dir(filename); editor.context_manager_->set_default_dir(filename);

View file

@ -33,6 +33,6 @@ enum EXIT_STATUS {
* go back to the titlescreen or quit to desktop altogether) * go back to the titlescreen or quit to desktop altogether)
*/ */
EXIT_STATUS start(const config& game_config, const std::string& filename = "", bool take_screenshot = false, const std::string& screenshot_filename = "map_screenshot.bmp"); EXIT_STATUS start(const std::string& filename = "", bool take_screenshot = false, const std::string& screenshot_filename = "map_screenshot.bmp");
} //end namespace editor } //end namespace editor

View file

@ -21,6 +21,7 @@
#include "filesystem.hpp" #include "filesystem.hpp"
#include "formatter.hpp" #include "formatter.hpp"
#include "formula/string_utils.hpp" #include "formula/string_utils.hpp"
#include "game_config_manager.hpp"
#include "gettext.hpp" #include "gettext.hpp"
#include "lexical_cast.hpp" #include "lexical_cast.hpp"
#include "log.hpp" #include "log.hpp"
@ -193,7 +194,7 @@ std::string make_game_type_marker(std::string text, bool color_for_missing)
} // end anon namespace } // end anon namespace
game_info::game_info(const config& game, const config& game_config, const std::vector<std::string>& installed_addons) game_info::game_info(const config& game, const std::vector<std::string>& installed_addons)
: id(game["id"]) : id(game["id"])
, map_data(game["map_data"]) , map_data(game["map_data"])
, name(game["name"]) , name(game["name"])
@ -229,6 +230,8 @@ game_info::game_info(const config& game, const config& game_config, const std::v
, required_addons() , required_addons()
, addons_outcome(SATISFIED) , addons_outcome(SATISFIED)
{ {
const config& game_config = game_config_manager::get()->game_config();
// Parse the list of addons required to join this game. // Parse the list of addons required to join this game.
for(const config& addon : game.child_range("addon")) { for(const config& addon : game.child_range("addon")) {
if(addon.has_attribute("id")) { if(addon.has_attribute("id")) {

View file

@ -137,7 +137,7 @@ struct user_info
*/ */
struct game_info struct game_info
{ {
game_info(const config& c, const config& game_config, const std::vector<std::string>& installed_addons); game_info(const config& c, const std::vector<std::string>& installed_addons);
bool can_join() const; bool can_join() const;
bool can_observe() const; bool can_observe() const;

View file

@ -35,9 +35,8 @@ static lg::log_domain log_lobby("lobby");
namespace mp namespace mp
{ {
lobby_info::lobby_info(const config& game_config, const std::vector<std::string>& installed_addons) lobby_info::lobby_info(const std::vector<std::string>& installed_addons)
: game_config_(game_config) : installed_addons_(installed_addons)
, installed_addons_(installed_addons)
, gamelist_() , gamelist_()
, gamelist_initialized_(false) , gamelist_initialized_(false)
, rooms_() , rooms_()
@ -116,7 +115,7 @@ void lobby_info::process_gamelist(const config& data)
games_by_id_.clear(); games_by_id_.clear();
for(const auto& c : gamelist_.child("gamelist").child_range("game")) { for(const auto& c : gamelist_.child("gamelist").child_range("game")) {
game_info game(c, game_config_, installed_addons_); game_info game(c, installed_addons_);
games_by_id_.emplace(game.id, std::move(game)); games_by_id_.emplace(game.id, std::move(game));
} }
@ -160,12 +159,12 @@ bool lobby_info::process_gamelist_diff(const config& data)
if(diff_result == "new" || diff_result == "modified") { if(diff_result == "new" || diff_result == "modified") {
if(current_i == games_by_id_.end()) { if(current_i == games_by_id_.end()) {
games_by_id_.emplace(game_id, game_info(c, game_config_, installed_addons_)); games_by_id_.emplace(game_id, game_info(c, installed_addons_));
continue; continue;
} }
// Had a game with that id, so update it and mark it as such // Had a game with that id, so update it and mark it as such
current_i->second = game_info(c, game_config_, installed_addons_); current_i->second = game_info(c, installed_addons_);
current_i->second.display_status = game_info::UPDATED; current_i->second.display_status = game_info::UPDATED;
} else if(diff_result == "deleted") { } else if(diff_result == "deleted") {
if(current_i == games_by_id_.end()) { if(current_i == games_by_id_.end()) {

View file

@ -30,7 +30,7 @@ namespace mp
class lobby_info class lobby_info
{ {
public: public:
explicit lobby_info(const config& game_config, const std::vector<std::string>& installed_addons); explicit lobby_info(const std::vector<std::string>& installed_addons);
typedef std::map<int, game_info> game_info_map; typedef std::map<int, game_info> game_info_map;
@ -143,8 +143,6 @@ public:
private: private:
void process_userlist(); void process_userlist();
const config& game_config_;
const std::vector<std::string>& installed_addons_; const std::vector<std::string>& installed_addons_;
config gamelist_; config gamelist_;

View file

@ -442,7 +442,7 @@ void enter_wait_mode(mp_workflow_helper_ptr helper, int game_id, bool observe)
} }
if(dlg_ok) { if(dlg_ok) {
campaign_controller controller(helper->state, helper->game_config, game_config_manager::get()->terrain_types()); campaign_controller controller(helper->state, game_config_manager::get()->terrain_types());
controller.set_mp_info(campaign_info.get()); controller.set_mp_info(campaign_info.get());
controller.play_game(); controller.play_game();
} }
@ -473,7 +473,7 @@ void enter_staging_mode(mp_workflow_helper_ptr helper)
} // end connect_engine_ptr, dlg scope } // end connect_engine_ptr, dlg scope
if(dlg_ok) { if(dlg_ok) {
campaign_controller controller(helper->state, helper->game_config, game_config_manager::get()->terrain_types()); campaign_controller controller(helper->state, game_config_manager::get()->terrain_types());
controller.set_mp_info(campaign_info.get()); controller.set_mp_info(campaign_info.get());
controller.play_game(); controller.play_game();
} }
@ -527,7 +527,7 @@ bool enter_lobby_mode(mp_workflow_helper_ptr helper, const std::vector<std::stri
sound::stop_music(); sound::stop_music();
} }
mp::lobby_info li(helper->game_config, installed_addons); mp::lobby_info li(installed_addons);
helper->lobby_info = &li; helper->lobby_info = &li;
if(!initial_lobby_config.empty()) { if(!initial_lobby_config.empty()) {
@ -639,16 +639,16 @@ void start_client(const config& game_config, saved_game& state, const std::strin
} while(re_enter); } while(re_enter);
} }
bool goto_mp_connect(ng::connect_engine& engine, const config& game_config, wesnothd_connection* connection) bool goto_mp_connect(ng::connect_engine& engine, wesnothd_connection* connection)
{ {
lobby_info li(game_config, {}); lobby_info li({});
return gui2::dialogs::mp_staging::execute(engine, li, connection); return gui2::dialogs::mp_staging::execute(engine, li, connection);
} }
bool goto_mp_wait(saved_game& state, const config& game_config, wesnothd_connection* connection, bool observe) bool goto_mp_wait(saved_game& state, wesnothd_connection* connection, bool observe)
{ {
lobby_info li(game_config, std::vector<std::string>()); lobby_info li({});
gui2::dialogs::mp_join_game dlg(state, li, *connection, false, observe); gui2::dialogs::mp_join_game dlg(state, li, *connection, false, observe);
@ -671,7 +671,7 @@ void start_local_game(const config& game_config, saved_game& state)
preferences::set_message_private(false); preferences::set_message_private(false);
// TODO: should lobby_info take a nullptr in this case, or should we pass the installed_addons data here too? // TODO: should lobby_info take a nullptr in this case, or should we pass the installed_addons data here too?
lobby_info li(game_config, {}); lobby_info li({});
mp_workflow_helper_ptr workflow_helper = std::make_shared<mp_workflow_helper>(game_config, state, nullptr, &li); mp_workflow_helper_ptr workflow_helper = std::make_shared<mp_workflow_helper>(game_config, state, nullptr, &li);
enter_create_mode(workflow_helper); enter_create_mode(workflow_helper);
@ -773,7 +773,7 @@ void start_local_game_commandline(const config& game_config, saved_game& state,
unsigned int repeat = (cmdline_opts.multiplayer_repeat) ? *cmdline_opts.multiplayer_repeat : 1; unsigned int repeat = (cmdline_opts.multiplayer_repeat) ? *cmdline_opts.multiplayer_repeat : 1;
for(unsigned int i = 0; i < repeat; i++){ for(unsigned int i = 0; i < repeat; i++){
saved_game state_copy(state); saved_game state_copy(state);
campaign_controller controller(state_copy, game_config, game_config_manager::get()->terrain_types()); campaign_controller controller(state_copy, game_config_manager::get()->terrain_types());
controller.play_game(); controller.play_game();
} }
} }

View file

@ -57,13 +57,12 @@ void start_client(const config& game_config,
* Opens mp::connect screen and sets game state according to the * Opens mp::connect screen and sets game state according to the
* changes made. * changes made.
*/ */
bool goto_mp_connect(ng::connect_engine& engine, bool goto_mp_connect(ng::connect_engine& engine, wesnothd_connection* connection);
const config& game_config, wesnothd_connection* connection);
/** /**
* Opens mp::wait screen and sets game state according to the * Opens mp::wait screen and sets game state according to the
* changes made. * changes made.
*/ */
bool goto_mp_wait(saved_game& state, const config& game_config, wesnothd_connection* connection, bool observe); bool goto_mp_wait(saved_game& state, wesnothd_connection* connection, bool observe);
} }

View file

@ -191,7 +191,7 @@ void campaign_controller::show_carryover_message(
LEVEL_RESULT campaign_controller::playsingle_scenario(end_level_data& end_level) LEVEL_RESULT campaign_controller::playsingle_scenario(end_level_data& end_level)
{ {
playsingle_controller playcontroller(is_replay_ ? state_.get_replay_starting_point() : state_.get_starting_point(), playsingle_controller playcontroller(is_replay_ ? state_.get_replay_starting_point() : state_.get_starting_point(),
state_, game_config_, tdata_, false); state_, tdata_, false);
LOG_NG << "created objects... " << (SDL_GetTicks() - playcontroller.get_ticks()) << "\n"; LOG_NG << "created objects... " << (SDL_GetTicks() - playcontroller.get_ticks()) << "\n";
@ -227,7 +227,7 @@ LEVEL_RESULT campaign_controller::playsingle_scenario(end_level_data& end_level)
LEVEL_RESULT campaign_controller::playmp_scenario(end_level_data& end_level) LEVEL_RESULT campaign_controller::playmp_scenario(end_level_data& end_level)
{ {
playmp_controller playcontroller(state_.get_starting_point(), state_, game_config_, tdata_, mp_info_); playmp_controller playcontroller(state_.get_starting_point(), state_, tdata_, mp_info_);
LEVEL_RESULT res = playcontroller.play_scenario(state_.get_starting_point()); LEVEL_RESULT res = playcontroller.play_scenario(state_.get_starting_point());
// Check if the player started as mp client and changed to host // Check if the player started as mp client and changed to host
@ -359,7 +359,7 @@ LEVEL_RESULT campaign_controller::play_game()
if(mp_info_ && !mp_info_->is_host) { if(mp_info_ && !mp_info_->is_host) {
// Opens join game dialog to get a new gamestate. // Opens join game dialog to get a new gamestate.
if(!mp::goto_mp_wait(state_, game_config_, &mp_info_->connection, res == LEVEL_RESULT::OBSERVER_END)) { if(!mp::goto_mp_wait(state_, &mp_info_->connection, res == LEVEL_RESULT::OBSERVER_END)) {
return LEVEL_RESULT::QUIT; return LEVEL_RESULT::QUIT;
} }
@ -383,7 +383,7 @@ LEVEL_RESULT campaign_controller::play_game()
(game_config::debug && game_type == game_classification::CAMPAIGN_TYPE::MULTIPLAYER) (game_config::debug && game_type == game_classification::CAMPAIGN_TYPE::MULTIPLAYER)
) { ) {
// Opens staging dialog to allow users to make an adjustments for scenario. // Opens staging dialog to allow users to make an adjustments for scenario.
if(!mp::goto_mp_connect(*connect_engine, game_config_, mp_info_ ? &mp_info_->connection : nullptr)) { if(!mp::goto_mp_connect(*connect_engine, mp_info_ ? &mp_info_->connection : nullptr)) {
return LEVEL_RESULT::QUIT; return LEVEL_RESULT::QUIT;
} }
} else { } else {

View file

@ -57,15 +57,13 @@ struct mp_campaign_info
class campaign_controller class campaign_controller
{ {
saved_game& state_; saved_game& state_;
const config& game_config_;
const ter_data_cache & tdata_; const ter_data_cache & tdata_;
const bool is_unit_test_; const bool is_unit_test_;
bool is_replay_; bool is_replay_;
mp_campaign_info* mp_info_; mp_campaign_info* mp_info_;
public: public:
campaign_controller(saved_game& state, const config& game_config, const ter_data_cache & tdata, bool is_unit_test = false) campaign_controller(saved_game& state, const ter_data_cache & tdata, bool is_unit_test = false)
: state_(state) : state_(state)
, game_config_(game_config)
, tdata_(tdata) , tdata_(tdata)
, is_unit_test_(is_unit_test) , is_unit_test_(is_unit_test)
, is_replay_(false) , is_replay_(false)

View file

@ -466,7 +466,7 @@ bool game_launcher::play_test()
load_game_config_for_game(state_.classification()); load_game_config_for_game(state_.classification());
try { try {
campaign_controller ccontroller(state_, game_config_manager::get()->game_config(), game_config_manager::get()->terrain_types()); campaign_controller ccontroller(state_, game_config_manager::get()->terrain_types());
ccontroller.play_game(); ccontroller.play_game();
} catch(const savegame::load_game_exception &e) { } catch(const savegame::load_game_exception &e) {
load_data_.reset(new savegame::load_game_metadata(std::move(e.data_))); load_data_.reset(new savegame::load_game_metadata(std::move(e.data_)));
@ -500,7 +500,7 @@ int game_launcher::unit_test()
load_game_config_for_game(state_.classification()); load_game_config_for_game(state_.classification());
try { try {
campaign_controller ccontroller(state_, game_config_manager::get()->game_config(), game_config_manager::get()->terrain_types(), true); campaign_controller ccontroller(state_, game_config_manager::get()->terrain_types(), true);
LEVEL_RESULT res = ccontroller.play_game(); LEVEL_RESULT res = ccontroller.play_game();
if (!(res == LEVEL_RESULT::VICTORY) || lg::broke_strict()) { if (!(res == LEVEL_RESULT::VICTORY) || lg::broke_strict()) {
return 1; return 1;
@ -526,7 +526,7 @@ int game_launcher::unit_test()
} }
try { try {
campaign_controller ccontroller(state_, game_config_manager::get()->game_config(), game_config_manager::get()->terrain_types(), true); campaign_controller ccontroller(state_, game_config_manager::get()->terrain_types(), true);
LEVEL_RESULT res = ccontroller.play_replay(); LEVEL_RESULT res = ccontroller.play_replay();
if (!(res == LEVEL_RESULT::VICTORY) || lg::broke_strict()) { if (!(res == LEVEL_RESULT::VICTORY) || lg::broke_strict()) {
std::cerr << "Observed failure on replay" << std::endl; std::cerr << "Observed failure on replay" << std::endl;
@ -550,8 +550,7 @@ bool game_launcher::play_screenshot_mode()
::init_textdomains(game_config_manager::get()->game_config()); ::init_textdomains(game_config_manager::get()->game_config());
editor::start(game_config_manager::get()->game_config(), editor::start(screenshot_map_, true, screenshot_filename_);
screenshot_map_, true, screenshot_filename_);
return false; return false;
} }
@ -956,7 +955,7 @@ void game_launcher::launch_game(RELOAD_GAME_DATA reload)
}); });
try { try {
campaign_controller ccontroller(state_, game_config_manager::get()->game_config(), game_config_manager::get()->terrain_types()); campaign_controller ccontroller(state_, game_config_manager::get()->terrain_types());
LEVEL_RESULT result = ccontroller.play_game(); LEVEL_RESULT result = ccontroller.play_game();
ai::manager::singleton_ = nullptr; ai::manager::singleton_ = nullptr;
// don't show The End for multiplayer scenario // don't show The End for multiplayer scenario
@ -984,7 +983,7 @@ void game_launcher::play_replay()
{ {
assert(!load_data_); assert(!load_data_);
try { try {
campaign_controller ccontroller(state_, game_config_manager::get()->game_config(), game_config_manager::get()->terrain_types()); campaign_controller ccontroller(state_, game_config_manager::get()->terrain_types());
ccontroller.play_replay(); ccontroller.play_replay();
} catch (const savegame::load_game_exception &e) { } catch (const savegame::load_game_exception &e) {
load_data_.reset(new savegame::load_game_metadata(std::move(e.data_))); load_data_.reset(new savegame::load_game_metadata(std::move(e.data_)));
@ -1001,8 +1000,7 @@ editor::EXIT_STATUS game_launcher::start_editor(const std::string& filename)
::init_textdomains(game_config_manager::get()->game_config()); ::init_textdomains(game_config_manager::get()->game_config());
editor::EXIT_STATUS res = editor::start( editor::EXIT_STATUS res = editor::start(filename);
game_config_manager::get()->game_config(), filename);
if(res != editor::EXIT_RELOAD_DATA) if(res != editor::EXIT_RELOAD_DATA)
return res; return res;

View file

@ -89,10 +89,10 @@ static lg::log_domain log_engine("engine");
namespace events namespace events
{ {
menu_handler::menu_handler(game_display* gui, play_controller& pc, const config& game_config) menu_handler::menu_handler(game_display* gui, play_controller& pc)
: gui_(gui) : gui_(gui)
, pc_(pc) , pc_(pc)
, game_config_(game_config) , game_config_(game_config_manager::get()->game_config())
, last_search_() , last_search_()
, last_search_hit_() , last_search_hit_()
{ {

View file

@ -45,7 +45,7 @@ namespace events
class menu_handler : private chat_handler class menu_handler : private chat_handler
{ {
public: public:
menu_handler(game_display* gui, play_controller& pc, const config& game_config); menu_handler(game_display* gui, play_controller& pc);
virtual ~menu_handler(); virtual ~menu_handler();
void set_gui(game_display* gui) void set_gui(game_display* gui)

View file

@ -128,10 +128,9 @@ static void clear_resources()
play_controller::play_controller(const config& level, play_controller::play_controller(const config& level,
saved_game& state_of_game, saved_game& state_of_game,
const config& game_config,
const ter_data_cache& tdata, const ter_data_cache& tdata,
bool skip_replay) bool skip_replay)
: controller_base(game_config) : controller_base()
, observer() , observer()
, quit_confirmation() , quit_confirmation()
, ticks_(SDL_GetTicks()) , ticks_(SDL_GetTicks())
@ -144,7 +143,7 @@ play_controller::play_controller(const config& level,
, plugins_context_() , plugins_context_()
, labels_manager_() , labels_manager_()
, mouse_handler_(nullptr, *this) , mouse_handler_(nullptr, *this)
, menu_handler_(nullptr, *this, game_config) , menu_handler_(nullptr, *this)
, hotkey_handler_(new hotkey_handler(*this, saved_game_)) , hotkey_handler_(new hotkey_handler(*this, saved_game_))
, soundsources_manager_() , soundsources_manager_()
, persist_() , persist_()

View file

@ -94,7 +94,6 @@ public:
play_controller(const config& level, play_controller(const config& level,
saved_game& state_of_game, saved_game& state_of_game,
const config& game_config,
const ter_data_cache& tdata, const ter_data_cache& tdata,
bool skip_replay); bool skip_replay);

View file

@ -39,10 +39,10 @@ static lg::log_domain log_engine("engine");
#define LOG_NG LOG_STREAM(info, log_engine) #define LOG_NG LOG_STREAM(info, log_engine)
playmp_controller::playmp_controller(const config& level, playmp_controller::playmp_controller(const config& level,
saved_game& state_of_game, const config& game_config, saved_game& state_of_game,
const ter_data_cache & tdata, const ter_data_cache & tdata,
mp_campaign_info* mp_info) mp_campaign_info* mp_info)
: playsingle_controller(level, state_of_game, game_config, tdata, mp_info && mp_info->skip_replay) : playsingle_controller(level, state_of_game, tdata, mp_info && mp_info->skip_replay)
, network_processing_stopped_(false) , network_processing_stopped_(false)
, blindfold_(*gui_, mp_info && mp_info->skip_replay_blindfolded) , blindfold_(*gui_, mp_info && mp_info->skip_replay_blindfolded)
, mp_info_(mp_info) , mp_info_(mp_info)

View file

@ -24,7 +24,6 @@ class playmp_controller : public playsingle_controller, public syncmp_handler
{ {
public: public:
playmp_controller(const config& level, saved_game& state_of_game, playmp_controller(const config& level, saved_game& state_of_game,
const config& game_config,
const ter_data_cache & tdata, mp_campaign_info* mp_info); const ter_data_cache & tdata, mp_campaign_info* mp_info);
virtual ~playmp_controller(); virtual ~playmp_controller();

View file

@ -66,9 +66,8 @@ static lg::log_domain log_enginerefac("enginerefac");
#define LOG_RG LOG_STREAM(info, log_enginerefac) #define LOG_RG LOG_STREAM(info, log_enginerefac)
playsingle_controller::playsingle_controller(const config& level, playsingle_controller::playsingle_controller(const config& level,
saved_game& state_of_game, saved_game& state_of_game, const ter_data_cache & tdata, bool skip_replay)
const config& game_config, const ter_data_cache & tdata, bool skip_replay) : play_controller(level, state_of_game, tdata, skip_replay)
: play_controller(level, state_of_game, game_config, tdata, skip_replay)
, cursor_setter_(cursor::NORMAL) , cursor_setter_(cursor::NORMAL)
, replay_sender_(*resources::recorder) , replay_sender_(*resources::recorder)
, network_reader_([this](config& cfg) {return receive_from_wesnothd(cfg);}) , network_reader_([this](config& cfg) {return receive_from_wesnothd(cfg);})

View file

@ -37,7 +37,7 @@ class playsingle_controller : public play_controller
{ {
public: public:
playsingle_controller(const config& level, saved_game& state_of_game, playsingle_controller(const config& level, saved_game& state_of_game,
const config& game_config, const ter_data_cache & tdata, bool skip_replay); const ter_data_cache & tdata, bool skip_replay);
LEVEL_RESULT play_scenario(const config& level); LEVEL_RESULT play_scenario(const config& level);
void play_scenario_init(); void play_scenario_init();