Author: silene
Date: Sun May 17 22:30:07 2009
New Revision: 35714

URL: http://svn.gna.org/viewcvs/wesnoth?rev=35714&view=rev
Log:
Merged find_leader and team_leader into unit_map::find_leader.

Modified:
    trunk/src/actions.cpp
    trunk/src/actions.hpp
    trunk/src/ai/ai.cpp
    trunk/src/ai/ai_actions.cpp
    trunk/src/ai/ai_move.cpp
    trunk/src/ai/ai_village.cpp
    trunk/src/ai/formula_ai.cpp
    trunk/src/game_display.cpp
    trunk/src/menu_events.cpp
    trunk/src/menu_events.hpp
    trunk/src/play_controller.cpp
    trunk/src/playturn.cpp
    trunk/src/unit.cpp
    trunk/src/unit.hpp
    trunk/src/unit_map.cpp
    trunk/src/unit_map.hpp

Modified: trunk/src/actions.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/actions.cpp?rev=35714&r1=35713&r2=35714&view=diff
==============================================================================
--- trunk/src/actions.cpp (original)
+++ trunk/src/actions.cpp Sun May 17 22:30:07 2009
@@ -1622,7 +1622,7 @@
                return false;
        }
 
-       const bool has_leader = find_leader(units,int(team_num+1)) != 
units.end();
+       const bool has_leader = units.find_leader(team_num + 1) != units.end();
        bool grants_timebonus = false;
 
        // We strip the village off all other sides, unless it is held by an 
ally
@@ -1652,26 +1652,6 @@
        }
 
        return false;
-}
-
-unit_map::iterator find_leader(unit_map& units, int side)
-{
-       for(unit_map::iterator i = units.begin(); i != units.end(); ++i) {
-               if(static_cast<int>(i->second.side()) == side && 
i->second.can_recruit())
-                       return i;
-       }
-
-       return units.end();
-}
-
-unit_map::const_iterator find_leader(const unit_map& units, int side)
-{
-       for(unit_map::const_iterator i = units.begin(); i != units.end(); ++i) {
-               if(static_cast<int>(i->second.side()) == side && 
i->second.can_recruit())
-                       return i;
-       }
-
-       return units.end();
 }
 
 // Simple algorithm: no maximum number of patients per healer.

Modified: trunk/src/actions.hpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/actions.hpp?rev=35714&r1=35713&r2=35714&view=diff
==============================================================================
--- trunk/src/actions.hpp (original)
+++ trunk/src/actions.hpp Sun May 17 22:30:07 2009
@@ -242,14 +242,6 @@
                  const unit_map& units, int *time_bonus = NULL);
 
 /**
- * Given the 1-based side, will find the leader of that side,
- * and return an iterator to the leader
- */
-unit_map::iterator find_leader(unit_map& units, int side);
-
-unit_map::const_iterator find_leader(const unit_map& units, int side);
-
-/**
  * Resets resting for all units on this side: should be called after 
calculate_healing().
  * @todo FIXME: Try moving this to unit::new_turn, then move it above 
calculate_healing().
  */

Modified: trunk/src/ai/ai.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/ai.cpp?rev=35714&r1=35713&r2=35714&view=diff
==============================================================================
--- trunk/src/ai/ai.cpp (original)
+++ trunk/src/ai/ai.cpp Sun May 17 22:30:07 2009
@@ -482,7 +482,7 @@
 
        // We want to protect our leader.
        // FIXME: suokko tweaked these from (1.0, 20)->(2.0,15).  Should this 
have been kept?
-       const unit_map::const_iterator leader = find_leader(units_,get_side());
+       const unit_map::const_iterator leader = units_.find_leader(get_side());
        if(leader != units_.end()) {
                items.push_back(protected_item(
                                        
lexical_cast_default<double>(parms["protect_leader"], 1.0),
@@ -601,7 +601,7 @@
        const bool passive_leader = 
utils::string_bool(current_team().ai_parameters()["passive_leader"])||passive_leader_shares_keep;
 
 
-       unit_map::iterator leader = find_leader(units_,get_side());
+       unit_map::iterator leader = units_.find_leader(get_side());
        if (leader != units_.end())
        {
                evaluate_recruiting_value(leader);
@@ -661,7 +661,7 @@
        LOG_AI << "get villages phase\n";
 
        // Iterator could be invalidated by combat analysis or 
move_leader_to_goals.
-       leader = find_leader(units_,get_side());
+       leader = units_.find_leader(get_side());
 
        LOG_AI << "villages...\n";
        if(get_villages(possible_moves, dstsrc, enemy_dstsrc, leader)) {
@@ -680,7 +680,7 @@
 
        LOG_AI << "retreating...\n";
 
-       leader = find_leader(units_,get_side());
+       leader = units_.find_leader(get_side());
        const bool retreated_unit = 
retreat_units(possible_moves,srcdst,dstsrc,enemy_dstsrc,leader);
        if(retreated_unit) {
                do_move();
@@ -711,7 +711,7 @@
                if(!passive_leader||passive_leader_shares_keep) {
                        map_location before = leader->first;
                        move_leader_to_keep(enemy_dstsrc);
-                       leader = find_leader(units_,get_side());
+                       leader = units_.find_leader(get_side());
                        if(leader == units_.end()) {
                                return;
                        }
@@ -1330,7 +1330,7 @@
                return;
        }
 
-       const unit_map::const_iterator leader = find_leader(units_,get_side());
+       const unit_map::const_iterator leader = units_.find_leader(get_side());
        if(leader == units_.end()) {
                return;
        }
@@ -1435,7 +1435,7 @@
 
 bool ai::do_recruitment()
 {
-       const unit_map::const_iterator leader = find_leader(units_,get_side());
+       const unit_map::const_iterator leader = units_.find_leader(get_side());
        if(leader == units_.end()) {
                return false;
        }
@@ -1556,7 +1556,7 @@
                return;
        }
 
-       const unit_map::iterator leader = find_leader(units_,get_side());
+       const unit_map::iterator leader = units_.find_leader(get_side());
        if(leader == units_.end() || leader->second.incapacitated()) {
                WRN_AI << "Leader not found\n";
                return;
@@ -1600,7 +1600,7 @@
                const move_map& /*dstsrc*/, const move_map& enemy_dstsrc)
 {
 
-       unit_map::iterator leader = find_leader(units_,get_side());
+       unit_map::iterator leader = units_.find_leader(get_side());
        if(leader == units_.end() || leader->second.incapacitated() || 
leader->second.movement_left() == 0) {
                return;
        }
@@ -1704,7 +1704,7 @@
        }
 
        // We didn't move: are we in trouble?
-       leader = find_leader(units_,get_side());
+       leader = units_.find_leader(get_side());
        if (!passive_leader && !leader->second.has_moved() && 
leader->second.attacks_left()) {
                std::map<map_location,paths> dummy_possible_moves;
                move_map fullmove_srcdst;
@@ -1719,7 +1719,7 @@
 
 bool ai::leader_can_reach_keep()
 {
-       const unit_map::iterator leader = find_leader(units_,get_side());
+       const unit_map::iterator leader = units_.find_leader(get_side());
        if(leader == units_.end() || leader->second.incapacitated()) {
                return false;
        }

Modified: trunk/src/ai/ai_actions.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/ai_actions.cpp?rev=35714&r1=35713&r2=35714&view=diff
==============================================================================
--- trunk/src/ai/ai_actions.cpp (original)
+++ trunk/src/ai/ai_actions.cpp Sun May 17 22:30:07 2009
@@ -387,7 +387,7 @@
 
 bool ai_recruit_result::test_leader_present( const unit_map& units, 
unit_map::const_iterator& my_leader, bool /*update_knowledge*/ )
 {
-       my_leader = find_leader(units,get_side());
+       my_leader = units.find_leader(get_side());
        if (my_leader == units.end()){
                set_error(E_NO_LEADER);
                return false;

Modified: trunk/src/ai/ai_move.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/ai_move.cpp?rev=35714&r1=35713&r2=35714&view=diff
==============================================================================
--- trunk/src/ai/ai_move.cpp (original)
+++ trunk/src/ai/ai_move.cpp Sun May 17 22:30:07 2009
@@ -910,7 +910,7 @@
 
 void ai::move_leader_to_keep(const move_map& enemy_dstsrc)
 {
-       const unit_map::iterator leader = find_leader(units_,get_side());
+       const unit_map::iterator leader = units_.find_leader(get_side());
        if(leader == units_.end() || leader->second.incapacitated()) {
                return;
        }

Modified: trunk/src/ai/ai_village.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/ai_village.cpp?rev=35714&r1=35713&r2=35714&view=diff
==============================================================================
--- trunk/src/ai/ai_village.cpp (original)
+++ trunk/src/ai/ai_village.cpp Sun May 17 22:30:07 2009
@@ -222,7 +222,7 @@
                        if(units_.count(i->first) == 0) {
                                const location loc = 
move_unit(i->second,i->first,possible_moves);
                                ++moves_made;
-                               leader = find_leader(units_, get_side());
+                               leader = units_.find_leader(get_side());
 
                                // If we didn't make it to the destination, it 
means we were ambushed.
                                if(loc != i->first) {

Modified: trunk/src/ai/formula_ai.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/formula_ai.cpp?rev=35714&r1=35713&r2=35714&view=diff
==============================================================================
--- trunk/src/ai/formula_ai.cpp (original)
+++ trunk/src/ai/formula_ai.cpp Sun May 17 22:30:07 2009
@@ -2455,7 +2455,7 @@
 
        } else if(key == "my_leader")
        {
-               unit_map::const_iterator i = team_leader(get_side(), 
get_info().units);
+               unit_map::const_iterator i = 
get_info().units.find_leader(get_side());
                if(i == get_info().units.end()) {
                        return variant();
                }

Modified: trunk/src/game_display.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/game_display.cpp?rev=35714&r1=35713&r2=35714&view=diff
==============================================================================
--- trunk/src/game_display.cpp (original)
+++ trunk/src/game_display.cpp Sun May 17 22:30:07 2009
@@ -248,7 +248,7 @@
 
 void game_display::scroll_to_leader(unit_map& units, int side, SCROLL_TYPE 
scroll_type,bool force)
 {
-       const unit_map::iterator leader = find_leader(units,side);
+       unit_map::const_iterator leader = units.find_leader(side);
 
        if(leader != units_.end()) {
                // YogiHH: I can't see why we need another key_handler here,

Modified: trunk/src/menu_events.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/menu_events.cpp?rev=35714&r1=35713&r2=35714&view=diff
==============================================================================
--- trunk/src/menu_events.cpp (original)
+++ trunk/src/menu_events.cpp Sun May 17 22:30:07 2009
@@ -141,18 +141,18 @@
                return textbox_info_;
        }
 
-       std::string menu_handler::get_title_suffix(int team_num)
+       std::string menu_handler::get_title_suffix(int side_num)
        {
                int controlled_recruiters = 0;
                for(size_t i = 0; i < teams_.size(); ++i) {
                        if(teams_[i].is_human() && !teams_[i].recruits().empty()
-                       && team_leader(i+1, units_) != units_.end()) {
+                       && units_.find_leader(i + 1) != units_.end()) {
                        ++controlled_recruiters;
                        }
                }
                std::stringstream msg;
                if(controlled_recruiters >= 2) {
-                       const unit_map::const_iterator leader = 
team_leader(team_num, units_);
+                       unit_map::const_iterator leader = 
units_.find_leader(side_num);
                        if(leader != units_.end() && 
!leader->second.name().empty()) {
                                msg << " (" << leader->second.name(); msg << 
")";
                        }
@@ -401,7 +401,7 @@
 
                        const team_data data = 
calculate_team_data(teams_[n],n+1,units_);
 
-                       const unit_map::const_iterator leader = 
team_leader(n+1,units_);
+                       unit_map::const_iterator leader = units_.find_leader(n 
+ 1);
                        std::string leader_name;
                        //output the number of the side first, and this will
                        //cause it to be displayed in the correct colour
@@ -515,7 +515,7 @@
                        settings_table_empty = false;
 
                        std::stringstream str;
-                       const unit_map::const_iterator leader = 
team_leader(n+1, units_);
+                       unit_map::const_iterator leader = units_.find_leader(n 
+ 1);
 
                        if(leader != units_.end()) {
                                // Add leader image. If it's fogged
@@ -1297,11 +1297,11 @@
                return true;
        }
 
-       void menu_handler::goto_leader(const unsigned int team_num)
-       {
-               const unit_map::const_iterator i = team_leader(team_num,units_);
+       void menu_handler::goto_leader(int side_num)
+       {
+               unit_map::const_iterator i = units_.find_leader(side_num);
                if(i != units_.end()) {
-                       clear_shroud(team_num);
+                       clear_shroud(side_num);
                        gui_->scroll_to_tile(i->first,game_display::WARP);
                }
        }

Modified: trunk/src/menu_events.hpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/menu_events.hpp?rev=35714&r1=35713&r2=35714&view=diff
==============================================================================
--- trunk/src/menu_events.hpp (original)
+++ trunk/src/menu_events.hpp Sun May 17 22:30:07 2009
@@ -65,7 +65,7 @@
        gui::floating_textbox& get_textbox();
        void set_gui(game_display* gui) { gui_ = gui; }
 
-       std::string get_title_suffix(int team_num);
+       std::string get_title_suffix(int side_num);
        void objectives(const unsigned int team_num);
        void show_statistics(const unsigned int team_num);
        void unit_list();
@@ -86,7 +86,7 @@
        void toggle_shroud_updates(const unsigned int team_num);
        void update_shroud_now(const unsigned int team_num);
        bool end_turn(const unsigned int team_num);
-       void goto_leader(const unsigned int team_num);
+       void goto_leader(int side_num);
        void unit_description(mouse_handler& mousehandler);
        void rename_unit(mouse_handler& mousehandler);
        void create_unit(mouse_handler& mousehandler);

Modified: trunk/src/play_controller.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/play_controller.cpp?rev=35714&r1=35713&r2=35714&view=diff
==============================================================================
--- trunk/src/play_controller.cpp (original)
+++ trunk/src/play_controller.cpp Sun May 17 22:30:07 2009
@@ -928,7 +928,7 @@
        case hotkey::HOTKEY_RECALL: {
                // last_hex_ is set by mouse_events::mouse_motion
                // Enable recruit/recall on castle/keep tiles
-               const unit_map::const_iterator leader = 
team_leader(player_number_,units_);
+               unit_map::const_iterator leader = 
units_.find_leader(player_number_);
                if (leader != units_.end()) {
                        return can_recruit_on(map_, leader->first, 
mouse_handler_.get_last_hex());
                } else {

Modified: trunk/src/playturn.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/playturn.cpp?rev=35714&r1=35713&r2=35714&view=diff
==============================================================================
--- trunk/src/playturn.cpp (original)
+++ trunk/src/playturn.cpp Sun May 17 22:30:07 2009
@@ -153,7 +153,7 @@
                if(index < teams_.size()) {
                        if (!player.empty())
                                teams_[index].set_current_player(player);
-                       const unit_map::iterator leader = find_leader(units_, 
side);
+                       unit_map::iterator leader = units_.find_leader(side);
                        bool restart = gui_.get_playing_team() == index;
                        if(!player.empty() && leader != units_.end())
                                leader->second.rename(player);
@@ -197,7 +197,7 @@
                        throw network::error("");
                }
 
-               const unit_map::iterator leader = find_leader(units_,side);
+               unit_map::iterator leader = units_.find_leader(side);
                const bool have_leader = (leader != units_.end());
 
                if (controller == "ai"){

Modified: trunk/src/unit.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/unit.cpp?rev=35714&r1=35713&r2=35714&view=diff
==============================================================================
--- trunk/src/unit.cpp (original)
+++ trunk/src/unit.cpp Sun May 17 22:30:07 2009
@@ -3056,17 +3056,6 @@
        return res;
 }
 
-unit_map::const_iterator team_leader(unsigned int side, const unit_map& units)
-{
-       for(unit_map::const_iterator i = units.begin(); i != units.end(); ++i) {
-               if(i->second.can_recruit() && i->second.side() == side) {
-                       return i;
-               }
-       }
-
-       return units.end();
-}
-
 unit_map::iterator find_visible_unit(unit_map& units,
                const map_location loc,
                const gamemap& map,

Modified: trunk/src/unit.hpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/unit.hpp?rev=35714&r1=35713&r2=35714&view=diff
==============================================================================
--- trunk/src/unit.hpp (original)
+++ trunk/src/unit.hpp Sun May 17 22:30:07 2009
@@ -500,7 +500,7 @@
 int team_units_cost(const unit_map& units, unsigned int team_num);
 
 int team_upkeep(const unit_map& units, unsigned int team_num);
-unit_map::const_iterator team_leader(unsigned int side, const unit_map& units);
+
 unit_map::iterator find_visible_unit(unit_map& units,
                const map_location loc,
                const gamemap& map,

Modified: trunk/src/unit_map.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/unit_map.cpp?rev=35714&r1=35713&r2=35714&view=diff
==============================================================================
--- trunk/src/unit_map.cpp (original)
+++ trunk/src/unit_map.cpp Sun May 17 22:30:07 2009
@@ -273,3 +273,22 @@
        LOG_NG << "unit_map::clean_invalid - removed " << num_cleaned << " 
invalid map entries.\n";
 }
 
+unit_map::const_unit_iterator unit_map::find_leader(int side) const
+{
+       unit_map::const_iterator i = begin(), i_end = end();
+       for (; i != i_end; ++i) {
+               if (static_cast<int>(i->second.side()) == side && 
i->second.can_recruit())
+                       return i;
+       }
+       return i_end;
+}
+
+unit_map::unit_iterator unit_map::find_leader(int side)
+{
+       unit_map::iterator i = begin(), i_end = end();
+       for (; i != i_end; ++i) {
+               if (static_cast<int>(i->second.side()) == side && 
i->second.can_recruit())
+                       return i;
+       }
+       return i_end;
+}

Modified: trunk/src/unit_map.hpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/unit_map.hpp?rev=35714&r1=35713&r2=35714&view=diff
==============================================================================
--- trunk/src/unit_map.hpp (original)
+++ trunk/src/unit_map.hpp Sun May 17 22:30:07 2009
@@ -289,6 +289,9 @@
        const_unit_iterator find(const unit_id_type& id) const;
        const_unit_iterator find(const std::string& id) const;
 
+       const_unit_iterator find_leader(int side) const;
+       unit_iterator find_leader(int side);
+
        size_t count(const map_location& loc) const { return lmap_.count(loc); }
 
        /**


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

Reply via email to