Author: alink
Date: Tue Jul  8 22:13:22 2008
New Revision: 27851

URL: http://svn.gna.org/viewcvs/wesnoth?rev=27851&view=rev
Log:
When joining a MP game, improve the "Choose your side" dialog:
Now called "Choose your faction" and displays "Starting position: 3"
to show you which slot you will have.
Also team-color the leader preview. Faction and leader menus not TC-ed yet.

Modified:
    trunk/src/multiplayer_wait.cpp
    trunk/src/multiplayer_wait.hpp

Modified: trunk/src/multiplayer_wait.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/multiplayer_wait.cpp?rev=27851&r1=27850&r2=27851&view=diff
==============================================================================
--- trunk/src/multiplayer_wait.cpp (original)
+++ trunk/src/multiplayer_wait.cpp Tue Jul  8 22:13:22 2008
@@ -46,9 +46,10 @@
 namespace mp {
 
 wait::leader_preview_pane::leader_preview_pane(game_display& disp,
-               const config::child_list& side_list) :
+               const config::child_list& side_list, const std::string& color) :
        gui::preview_pane(disp.video()),
        side_list_(side_list),
+       color_(color),
        leader_combo_(disp, std::vector<std::string>()),
        gender_combo_(disp, std::vector<std::string>()),
        leaders_(side_list, &leader_combo_, &gender_combo_),
@@ -116,7 +117,7 @@
 #ifdef LOW_MEM
                        image = utg->image();
 #else
-                       image = utg->image() + std::string("~RC(") + 
std::string(utg->flag_rgb() + ">1)");
+                       image = utg->image() + std::string("~RC(") + 
std::string(utg->flag_rgb() + ">" + color_ + ")");
 #endif
                }
 
@@ -253,7 +254,7 @@
                        throw config::error(_("No multiplayer sides available 
in this game"));
                        return;
                }
-               
+
                const bool allow_changes = 
(*sides_list[side_choice])["allow_changes"] != "no";
 
                //if the client is allowed to choose their team, instead of 
having
@@ -283,12 +284,16 @@
                                choices.push_back((**side)["name"]);
                        }
 
+                       std::string color = 
(*sides_list[side_choice])["colour"];
+                       if (color.empty())
+                               color = 
lexical_cast<std::string>(side_choice+1);
+
                        std::vector<gui::preview_pane* > preview_panes;
                        leader_preview_pane leader_selector(disp(),
-                                       possible_sides);
+                                       possible_sides, color);
                        preview_panes.push_back(&leader_selector);
 
-                       const int res = gui::show_dialog(disp(), NULL, "", 
_("Choose your side:"),
+                       const int res = gui::show_dialog(disp(), NULL, 
_("Choose your faction:"), _("Starting position: ") + 
lexical_cast<std::string>(side_choice+1),
                                                gui::OK_CANCEL, &choices, 
&preview_panes);
                        if(res < 0) {
                                set_result(QUIT);

Modified: trunk/src/multiplayer_wait.hpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/multiplayer_wait.hpp?rev=27851&r1=27850&r2=27851&view=diff
==============================================================================
--- trunk/src/multiplayer_wait.hpp (original)
+++ trunk/src/multiplayer_wait.hpp Tue Jul  8 22:13:22 2008
@@ -49,7 +49,7 @@
        {
        public:
                leader_preview_pane(game_display& disp,
-                               const config::child_list& side_list);
+                               const config::child_list& side_list, const 
std::string& color);
 
                bool show_above() const;
                bool left_side() const;
@@ -63,6 +63,7 @@
                virtual void process_event();
 
                const config::child_list side_list_;
+               const std::string color_;
                gui::combo leader_combo_; // Must appear before the 
leader_list_manager
                gui::combo gender_combo_; // Must appear before the 
leader_list_manager
                leader_list_manager leaders_;


_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits

Reply via email to