Mp Create: further progress, including adding a page for custom Options
This commit is contained in:
parent
d83acc004a
commit
62a299d1eb
3 changed files with 459 additions and 69 deletions
|
@ -100,24 +100,15 @@
|
|||
|
||||
border = "all"
|
||||
border_size = 5
|
||||
horizontal_alignment = "left"
|
||||
horizontal_grow = "true"
|
||||
|
||||
[combobox]
|
||||
id = "era"
|
||||
id = "eras"
|
||||
definition = "default"
|
||||
|
||||
# TODO: don't hardcode
|
||||
[option]
|
||||
label = "Default"
|
||||
[/option]
|
||||
|
||||
[option]
|
||||
label = "Era of Heroes"
|
||||
[/option]
|
||||
[/combobox]
|
||||
|
||||
[/column]
|
||||
|
||||
|
||||
[/row]
|
||||
|
||||
[row]
|
||||
|
@ -144,7 +135,7 @@
|
|||
|
||||
border = "all"
|
||||
border_size = 5
|
||||
horizontal_alignment = "left"
|
||||
horizontal_grow = "true"
|
||||
|
||||
[combobox]
|
||||
id = "era"
|
||||
|
@ -164,12 +155,20 @@
|
|||
[/combobox]
|
||||
|
||||
[/column]
|
||||
|
||||
|
||||
[/row]
|
||||
|
||||
|
||||
[/grid]
|
||||
|
||||
[/column]
|
||||
|
||||
[column]
|
||||
grow_factor = 0
|
||||
|
||||
[spacer]
|
||||
width = 40
|
||||
[/spacer]
|
||||
[/column]
|
||||
|
||||
[column]
|
||||
grow_factor = 0
|
||||
|
@ -236,8 +235,8 @@
|
|||
|
||||
[column]
|
||||
grow_factor = 1
|
||||
horizontal_grow = "true"
|
||||
border = "all"
|
||||
horizontal_alignment = "left"
|
||||
border = "top,bottom,right"
|
||||
border_size = 5
|
||||
|
||||
[label]
|
||||
|
@ -246,6 +245,14 @@
|
|||
[/label]
|
||||
|
||||
[/column]
|
||||
|
||||
[column]
|
||||
grow_factor = 0
|
||||
|
||||
[spacer]
|
||||
width = 10
|
||||
[/spacer]
|
||||
[/column]
|
||||
|
||||
[/row]
|
||||
|
||||
|
@ -273,6 +280,249 @@
|
|||
|
||||
#enddef
|
||||
|
||||
#define _GUI_MP_CREATE_OPTIONS_PANEL
|
||||
[row]
|
||||
|
||||
[column]
|
||||
grow_factor = 1
|
||||
border = "all"
|
||||
border_size = 5
|
||||
horizontal_grow = "true"
|
||||
vertical_grow = "true"
|
||||
|
||||
[tree_view]
|
||||
id = "custom_options"
|
||||
definition = "default"
|
||||
|
||||
horizontal_scrollbar_mode = "never"
|
||||
#vertical_scrollbar_mode = "auto"
|
||||
|
||||
indention_step_size = 25
|
||||
|
||||
[node]
|
||||
id = "option_node"
|
||||
unfolded = true
|
||||
|
||||
[node_definition]
|
||||
|
||||
[row]
|
||||
|
||||
[column]
|
||||
|
||||
[toggle_button]
|
||||
id = "tree_view_node_icon"
|
||||
definition = "tree_view_node"
|
||||
[/toggle_button]
|
||||
|
||||
[/column]
|
||||
|
||||
[column]
|
||||
grow_factor = 1
|
||||
border = "all"
|
||||
border_size = 5
|
||||
horizontal_grow = "true"
|
||||
|
||||
[label]
|
||||
id = "tree_view_node_label"
|
||||
[/label]
|
||||
|
||||
[/column]
|
||||
|
||||
[/row]
|
||||
|
||||
[/node_definition]
|
||||
|
||||
[/node]
|
||||
|
||||
[node]
|
||||
id = "option_checkbox_node"
|
||||
unfolded = true
|
||||
|
||||
[node_definition]
|
||||
|
||||
[row]
|
||||
|
||||
[column]
|
||||
border = "all"
|
||||
border_size = 5
|
||||
horizontal_alignment = "left"
|
||||
|
||||
[toggle_button]
|
||||
id = "option_checkbox"
|
||||
definition = "default"
|
||||
[/toggle_button]
|
||||
|
||||
[/column]
|
||||
|
||||
[/row]
|
||||
|
||||
[/node_definition]
|
||||
|
||||
[/node]
|
||||
|
||||
[node]
|
||||
id = "option_combobox_node"
|
||||
unfolded = true
|
||||
|
||||
[node_definition]
|
||||
|
||||
[row]
|
||||
|
||||
[column]
|
||||
border = "all"
|
||||
border_size = 5
|
||||
|
||||
[label]
|
||||
id = "combobox_label"
|
||||
linked_group = "custom_options_labels"
|
||||
[/label]
|
||||
|
||||
[/column]
|
||||
|
||||
[column]
|
||||
grow_factor = 1
|
||||
border = "all"
|
||||
border_size = 5
|
||||
horizontal_grow = "true"
|
||||
|
||||
[combobox]
|
||||
id = "option_combobox"
|
||||
[/combobox]
|
||||
|
||||
[/column]
|
||||
|
||||
[/row]
|
||||
|
||||
[/node_definition]
|
||||
|
||||
[/node]
|
||||
|
||||
[node]
|
||||
id = "option_slider_node"
|
||||
unfolded = true
|
||||
|
||||
[node_definition]
|
||||
|
||||
[row]
|
||||
|
||||
[column]
|
||||
border = "all"
|
||||
border_size = 5
|
||||
|
||||
[label]
|
||||
id = "slider_label"
|
||||
linked_group = "custom_options_labels"
|
||||
[/label]
|
||||
|
||||
[/column]
|
||||
|
||||
[column]
|
||||
grow_factor = 1
|
||||
border = "all"
|
||||
border_size = 5
|
||||
horizontal_grow = "true"
|
||||
|
||||
[slider]
|
||||
id = "option_slider"
|
||||
definition = "default"
|
||||
[/slider]
|
||||
|
||||
[/column]
|
||||
|
||||
[/row]
|
||||
|
||||
[/node_definition]
|
||||
|
||||
[/node]
|
||||
|
||||
[node]
|
||||
id = "option_text_entry_node"
|
||||
unfolded = true
|
||||
|
||||
[node_definition]
|
||||
|
||||
[row]
|
||||
|
||||
[column]
|
||||
border = "all"
|
||||
border_size = 5
|
||||
|
||||
[label]
|
||||
id = "text_entry_label"
|
||||
linked_group = "custom_options_labels"
|
||||
[/label]
|
||||
|
||||
[/column]
|
||||
|
||||
[column]
|
||||
grow_factor = 1
|
||||
border = "all"
|
||||
border_size = 5
|
||||
|
||||
horizontal_grow = "true"
|
||||
|
||||
[text_box]
|
||||
id = "option_text_entry"
|
||||
definition = "default"
|
||||
[/text_box]
|
||||
|
||||
[/column]
|
||||
|
||||
[/row]
|
||||
|
||||
[/node_definition]
|
||||
|
||||
[/node]
|
||||
|
||||
[node]
|
||||
id = "options_default_button"
|
||||
unfolded = true
|
||||
|
||||
[node_definition]
|
||||
[row]
|
||||
grow_factor = 0
|
||||
|
||||
[column]
|
||||
|
||||
[spacer]
|
||||
height = 10
|
||||
[/spacer]
|
||||
|
||||
[/column]
|
||||
|
||||
[/row]
|
||||
|
||||
[row]
|
||||
grow_factor = 1
|
||||
|
||||
[column]
|
||||
grow_factor = 1
|
||||
border = "all"
|
||||
border_size = 5
|
||||
horizontal_alignment = "right"
|
||||
|
||||
[button]
|
||||
id = "reset_option_values"
|
||||
definition = "default"
|
||||
|
||||
label = _ "Defaults"
|
||||
[/button]
|
||||
|
||||
[/column]
|
||||
|
||||
[/row]
|
||||
|
||||
[/node_definition]
|
||||
|
||||
[/node]
|
||||
|
||||
[/tree_view]
|
||||
|
||||
[/column]
|
||||
|
||||
[/row]
|
||||
#enddef
|
||||
|
||||
#define _GUI_MP_CREATE_SETTING_PANEL
|
||||
[row]
|
||||
grow_factor = 0
|
||||
|
@ -513,6 +763,11 @@
|
|||
fixed_width = "true"
|
||||
[/linked_group]
|
||||
|
||||
[linked_group]
|
||||
id = "custom_options_labels"
|
||||
fixed_width = "true"
|
||||
[/linked_group]
|
||||
|
||||
[tooltip]
|
||||
id = "tooltip"
|
||||
[/tooltip]
|
||||
|
@ -765,27 +1020,6 @@
|
|||
[row]
|
||||
grow_factor = 1
|
||||
|
||||
[column]
|
||||
grow_factor = 0
|
||||
vertical_alignment = "bottom"
|
||||
|
||||
border = "all"
|
||||
border_size = 5
|
||||
horizontal_alignment = "left"
|
||||
[button]
|
||||
id = "password"
|
||||
definition = "default"
|
||||
|
||||
label = _ "Set Password"
|
||||
[/button]
|
||||
|
||||
[/column]
|
||||
|
||||
[/row]
|
||||
|
||||
[row]
|
||||
grow_factor = 0
|
||||
|
||||
[column]
|
||||
grow_factor = 0
|
||||
|
||||
|
@ -1122,6 +1356,38 @@
|
|||
|
||||
[/row]
|
||||
|
||||
[row]
|
||||
grow_factor = 0
|
||||
|
||||
[column]
|
||||
grow_factor = 0
|
||||
|
||||
border = "all"
|
||||
border_size = 5
|
||||
horizontal_alignment = "left"
|
||||
[label]
|
||||
definition = "default"
|
||||
|
||||
label = _ "Password:"
|
||||
[/label]
|
||||
|
||||
[/column]
|
||||
|
||||
[column]
|
||||
grow_factor = 1
|
||||
|
||||
border = "all"
|
||||
border_size = 5
|
||||
horizontal_alignment = "left"
|
||||
[text_box]
|
||||
id = "game_password"
|
||||
definition = "default"
|
||||
[/text_box]
|
||||
|
||||
[/column]
|
||||
|
||||
[/row]
|
||||
|
||||
[/grid]
|
||||
|
||||
[/column]
|
||||
|
@ -1230,6 +1496,10 @@
|
|||
{_GUI_MP_CREATE_GENERAL_PANEL}
|
||||
[/layer]
|
||||
|
||||
[layer]
|
||||
{_GUI_MP_CREATE_OPTIONS_PANEL}
|
||||
[/layer]
|
||||
|
||||
[layer]
|
||||
{_GUI_MP_CREATE_SETTING_PANEL}
|
||||
[/layer]
|
||||
|
@ -1276,7 +1546,7 @@
|
|||
horizontal_alignment = "right"
|
||||
[button]
|
||||
id = "ok"
|
||||
definition = "default"
|
||||
definition = "large"
|
||||
|
||||
label = _ "Create Game"
|
||||
[/button]
|
||||
|
@ -1291,7 +1561,7 @@
|
|||
horizontal_alignment = "left"
|
||||
[button]
|
||||
id = "cancel"
|
||||
definition = "default"
|
||||
definition = "large"
|
||||
|
||||
label = _ "Cancel"
|
||||
[/button]
|
||||
|
@ -1313,6 +1583,8 @@
|
|||
[/window]
|
||||
|
||||
#undef _GUI_MP_CREATE_OPTION_SLIDER
|
||||
#undef _GUI_MP_CREATE_GENERAL_PANEL
|
||||
#undef _GUI_MP_CREATE_OPTIONS_PANEL
|
||||
#undef _GUI_MP_CREATE_SETTING_PANEL
|
||||
#undef _GUI_MP_CREATE_TAB_BAR
|
||||
#undef _GUI_MP_CREATE_TAB_PADDING
|
||||
|
|
|
@ -16,14 +16,14 @@
|
|||
|
||||
#include "gui/dialogs/multiplayer/mp_create_game.hpp"
|
||||
|
||||
#include <boost/multi_index_container.hpp>
|
||||
// ^ This is apparently unnecessary, but if removed it doesn't compile...
|
||||
|
||||
#include "game_preferences.hpp"
|
||||
#include "gettext.hpp"
|
||||
#include "gui/auxiliary/field.hpp"
|
||||
#include "gui/dialogs/helper.hpp"
|
||||
#include "gui/dialogs/transient_message.hpp"
|
||||
#include "gui/widgets/integer_selector.hpp"
|
||||
#include "gui/widgets/button.hpp"
|
||||
#include "gui/widgets/combobox.hpp"
|
||||
#ifdef GUI2_EXPERIMENTAL_LISTBOX
|
||||
#include "gui/widgets/list.hpp"
|
||||
#else
|
||||
|
@ -31,7 +31,12 @@
|
|||
#endif
|
||||
#include "gui/widgets/minimap.hpp"
|
||||
#include "gui/widgets/settings.hpp"
|
||||
#include "gui/widgets/slider.hpp"
|
||||
#include "gui/widgets/stacked_widget.hpp"
|
||||
#include "gui/widgets/toggle_button.hpp"
|
||||
#include "gui/widgets/text_box.hpp"
|
||||
#include "gui/widgets/tree_view.hpp"
|
||||
#include "gui/widgets/tree_view_node.hpp"
|
||||
#include "settings.hpp"
|
||||
|
||||
#ifdef GUI2_EXPERIMENTAL_LISTBOX
|
||||
|
@ -55,8 +60,7 @@ tmp_create_game::tmp_create_game(const config& cfg, ng::create_engine& eng)
|
|||
dialog_callback<tmp_create_game,
|
||||
&tmp_create_game::update_map_settings>))
|
||||
, fog_(register_bool("fog", true, preferences::fog, preferences::set_fog))
|
||||
, shroud_(register_bool(
|
||||
"shroud", true, preferences::shroud, preferences::set_shroud))
|
||||
, shroud_(register_bool("shroud", true, preferences::shroud, preferences::set_shroud))
|
||||
, start_time_(register_bool("random_start_time",
|
||||
true,
|
||||
preferences::random_start_time,
|
||||
|
@ -75,6 +79,7 @@ tmp_create_game::tmp_create_game(const config& cfg, ng::create_engine& eng)
|
|||
true,
|
||||
preferences::xp_modifier,
|
||||
preferences::set_xp_modifier))
|
||||
//, options_manager_()
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -85,9 +90,8 @@ void tmp_create_game::pre_show(twindow& window)
|
|||
tlistbox& list = find_widget<tlistbox>(&window, "map_list", false);
|
||||
#ifdef GUI2_EXPERIMENTAL_LISTBOX
|
||||
connect_signal_notify_modified(list,
|
||||
std::bind(&tmp_create_game::update_map,
|
||||
*this,
|
||||
std::ref(window)));
|
||||
std::bind(&tmp_create_game::update_map,
|
||||
*this, std::ref(window)));
|
||||
#else
|
||||
list.set_callback_value_change(
|
||||
dialog_callback<tmp_create_game, &tmp_create_game::update_map>);
|
||||
|
@ -137,10 +141,24 @@ void tmp_create_game::pre_show(twindow& window)
|
|||
|
||||
update_map_settings(window);
|
||||
|
||||
//
|
||||
// Set up eras combobox
|
||||
//
|
||||
|
||||
const std::vector<std::string>& era_names = engine_.extras_menu_item_names(ng::create_engine::ERA, false);
|
||||
if(era_names.empty()) {
|
||||
gui2::show_transient_message(window.video(), "", _("No eras found."));
|
||||
throw config::error(_("No eras found"));
|
||||
}
|
||||
|
||||
find_widget<tcombobox>(&window, "eras", false).set_values(era_names);
|
||||
|
||||
//
|
||||
// Set up mods list
|
||||
//
|
||||
tlistbox& mod_list = find_widget<tlistbox>(&window, "mod_list", false);
|
||||
|
||||
//std::vector<std::string> mods = engine_.extras_menu_item_names(ng::create_engine::MOD);
|
||||
|
||||
//std::vector<std::string> mods = engine_.extras_menu_item_names(ng::create_engine::MOD, false);
|
||||
for(const auto& mod : engine_.get_const_extras_by_type(ng::create_engine::MOD)) {
|
||||
std::map<std::string, string_map> data;
|
||||
string_map item;
|
||||
|
@ -170,13 +188,16 @@ void tmp_create_game::pre_show(twindow& window)
|
|||
list_data["tab_label"]["label"] = _("General");
|
||||
tab_bar.add_row(list_data);
|
||||
|
||||
list_data["tab_label"]["label"] = _("Custom Options");
|
||||
tab_bar.add_row(list_data);
|
||||
|
||||
list_data["tab_label"]["label"] = _("Game Settings");
|
||||
tab_bar.add_row(list_data);
|
||||
|
||||
tab_bar.select_row(0);
|
||||
|
||||
on_tab_select(window);
|
||||
|
||||
|
||||
update_map(window);
|
||||
}
|
||||
|
||||
|
@ -185,6 +206,11 @@ void tmp_create_game::on_tab_select(twindow& window)
|
|||
const int i = find_widget<tlistbox>(&window, "tab_bar", false).get_selected_row();
|
||||
|
||||
find_widget<tstacked_widget>(&window, "pager", false).select_layer(i);
|
||||
|
||||
// TODO: don't hardcode
|
||||
if(i == 1) {
|
||||
update_options_list(window);
|
||||
}
|
||||
}
|
||||
|
||||
void tmp_create_game::post_show(twindow& window)
|
||||
|
@ -194,6 +220,97 @@ void tmp_create_game::post_show(twindow& window)
|
|||
}
|
||||
}
|
||||
|
||||
void tmp_create_game::update_options_list(twindow& window)
|
||||
{
|
||||
const int index = find_widget<tlistbox>(&window, "map_list", false)
|
||||
.get_selected_row();
|
||||
|
||||
scenario_ = &cfg_.child("multiplayer", index);
|
||||
|
||||
ttree_view& options_tree = find_widget<ttree_view>(&window, "custom_options", false);
|
||||
|
||||
//options_tree.clear();
|
||||
|
||||
for(const auto& options : scenario_->child_range("options")) {
|
||||
std::map<std::string, string_map> data;
|
||||
string_map item;
|
||||
|
||||
item["label"] = (*scenario_)["name"];
|
||||
data["tree_view_node_label"] = item;
|
||||
|
||||
ttree_view_node& option_node = options_tree.add_node("option_node", data);
|
||||
|
||||
data.clear();
|
||||
|
||||
for(const auto& checkbox_option : options.child_range("checkbox")) {
|
||||
item["label"] = checkbox_option["name"];
|
||||
data["option_checkbox"] = item;
|
||||
|
||||
ttree_view_node& node = option_node.add_child("option_checkbox_node", data);
|
||||
|
||||
ttoggle_button* checkbox = dynamic_cast<ttoggle_button*>(node.find("option_checkbox", true));
|
||||
|
||||
VALIDATE(checkbox, missing_widget("option_checkbox"));
|
||||
|
||||
checkbox->set_value(checkbox_option["default"].to_bool());
|
||||
//checkbox->set_label(checkbox_option["name"].str());
|
||||
}
|
||||
|
||||
for(const auto& combobox_option : options.child_range("combo")) {
|
||||
item["label"] = combobox_option["name"];
|
||||
data["combobox_label"] = item;
|
||||
|
||||
ttree_view_node& node = option_node.add_child("option_combobox_node", data);
|
||||
|
||||
std::vector<std::string> combo_items;
|
||||
|
||||
for(const auto& item : combobox_option.child_range("item")) {
|
||||
combo_items.push_back(item["name"]);
|
||||
}
|
||||
|
||||
if(!combo_items.empty()) {
|
||||
tcombobox* combobox = dynamic_cast<tcombobox*>(node.find("option_combobox", true));
|
||||
|
||||
VALIDATE(combobox, missing_widget("option_combobox"));
|
||||
|
||||
combobox->set_values(combo_items);
|
||||
}
|
||||
}
|
||||
|
||||
for(const auto& slider_option : options.child_range("slider")) {
|
||||
item["label"] = slider_option["name"];
|
||||
data["slider_label"] = item;
|
||||
|
||||
ttree_view_node& node = option_node.add_child("option_slider_node", data);
|
||||
|
||||
tslider* slider = dynamic_cast<tslider*>(node.find("option_slider", true));
|
||||
|
||||
VALIDATE(slider, missing_widget("option_slider"));
|
||||
|
||||
slider->set_step_size(slider_option["step"].to_int());
|
||||
slider->set_minimum_value(slider_option["min"].to_int());
|
||||
slider->set_maximum_value(slider_option["max"].to_int());
|
||||
slider->set_value(slider_option["default"].to_int());
|
||||
}
|
||||
|
||||
for(const auto& text_entry_option : options.child_range("entry")) {
|
||||
item["label"] = text_entry_option["name"];
|
||||
data["text_entry_label"] = item;
|
||||
|
||||
ttree_view_node& node = option_node.add_child("option_text_entry_node", data);
|
||||
|
||||
ttext_box* textbox = dynamic_cast<ttext_box*>(node.find("option_text_entry", true));
|
||||
|
||||
VALIDATE(textbox, missing_widget("option_text_entry"));
|
||||
|
||||
textbox->set_value(text_entry_option["default"].str());
|
||||
}
|
||||
|
||||
// Add the Defaults button at the end
|
||||
option_node.add_child("options_default_button", {});
|
||||
}
|
||||
}
|
||||
|
||||
void tmp_create_game::update_map(twindow& window)
|
||||
{
|
||||
tminimap& minimap = find_widget<tminimap>(&window, "minimap", false);
|
||||
|
@ -202,15 +319,15 @@ void tmp_create_game::update_map(twindow& window)
|
|||
tcontrol& map_size = find_widget<tcontrol>(&window, "map_size", false);
|
||||
|
||||
const int index = find_widget<tlistbox>(&window, "map_list", false)
|
||||
.get_selected_row();
|
||||
.get_selected_row();
|
||||
|
||||
engine_.set_current_level(index);
|
||||
|
||||
// TODO: fix for different selections
|
||||
ng::scenario* current_scenario = dynamic_cast<ng::scenario*>(&engine_.current_level());
|
||||
|
||||
//if(index >= 0) {
|
||||
config::const_child_itors children = cfg_.child_range("multiplayer");
|
||||
std::advance(children.first, index);
|
||||
scenario_ = &*children.first;
|
||||
scenario_ = &cfg_.child("multiplayer", index);
|
||||
|
||||
minimap.set_map_data((*scenario_)["map_data"]);
|
||||
description.set_label((*scenario_)["description"]);
|
||||
players.set_label(std::to_string(current_scenario->num_players()));
|
||||
|
@ -222,6 +339,10 @@ void tmp_create_game::update_map(twindow& window)
|
|||
//}
|
||||
|
||||
update_map_settings(window);
|
||||
|
||||
if(find_widget<tlistbox>(&window, "tab_bar", false).get_selected_row() == 1) {
|
||||
update_options_list(window);
|
||||
}
|
||||
}
|
||||
|
||||
void tmp_create_game::update_map_settings(twindow& window)
|
||||
|
@ -243,20 +364,12 @@ void tmp_create_game::update_map_settings(twindow& window)
|
|||
|
||||
fog_->set_widget_value(window, side["fog"].to_bool(true));
|
||||
shroud_->set_widget_value(window, side["shroud"].to_bool(false));
|
||||
start_time_->set_widget_value(
|
||||
window, (*scenario_)["random_start_time"].to_bool(true));
|
||||
start_time_->set_widget_value(window, (*scenario_)["random_start_time"].to_bool(true));
|
||||
|
||||
turns_->set_widget_value(
|
||||
window, ::settings::get_turns((*scenario_)["turns"].str()));
|
||||
gold_->set_widget_value(
|
||||
window, ::settings::get_village_gold(side["village_gold"].str()));
|
||||
support_->set_widget_value(
|
||||
window,
|
||||
::settings::get_village_support(side["village_support"].str()));
|
||||
experience_->set_widget_value(
|
||||
window,
|
||||
::settings::get_xp_modifier(
|
||||
(*scenario_)["experience_modifier"].str()));
|
||||
turns_->set_widget_value(window, ::settings::get_turns((*scenario_)["turns"].str()));
|
||||
gold_->set_widget_value(window, ::settings::get_village_gold(side["village_gold"].str()));
|
||||
support_->set_widget_value(window,::settings::get_village_support(side["village_support"].str()));
|
||||
experience_->set_widget_value(window,::settings::get_xp_modifier((*scenario_)["experience_modifier"].str()));
|
||||
}
|
||||
// No scenario selected just leave the state unchanged for now.
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include "gui/dialogs/dialog.hpp"
|
||||
|
||||
#include "game_initialization/create_engine.hpp"
|
||||
#include "game_initialization/mp_options.hpp"
|
||||
|
||||
class config;
|
||||
|
||||
|
@ -45,6 +46,8 @@ private:
|
|||
|
||||
ng::create_engine& engine_;
|
||||
|
||||
//mp::options::manager options_manager_;
|
||||
|
||||
/**
|
||||
* All fields are also in the normal field vector, but they need to be
|
||||
* manually controlled as well so add the pointers here as well.
|
||||
|
@ -56,6 +59,8 @@ private:
|
|||
|
||||
void on_tab_select(twindow& window);
|
||||
|
||||
void update_options_list(twindow& window);
|
||||
|
||||
public:
|
||||
// another map selected
|
||||
void update_map(twindow& window);
|
||||
|
|
Loading…
Add table
Reference in a new issue