diff --git a/src/play_controller.cpp b/src/play_controller.cpp index c6e2ec90975..4946afad734 100644 --- a/src/play_controller.cpp +++ b/src/play_controller.cpp @@ -684,9 +684,9 @@ void play_controller::do_init_side(bool is_replay, bool only_visual) { // Healing/income happen if it's not the first turn of processing, // or if we are loading a game. if (!only_visual && turn() > 1) { - for(unit_map::iterator i = gameboard_.units_.begin(); i != gameboard_.units_.end(); ++i) { - if (i->side() == player_number_) { - i->new_turn(); + BOOST_FOREACH(unit & i, gameboard_.units_) { + if (i.side() == player_number_) { + i.new_turn(); } } @@ -753,20 +753,19 @@ config play_controller::to_config() const { //current visible units - for(unit_map::const_iterator i = gameboard_.units_.begin(); i != gameboard_.units_.end(); ++i) { - if (i->side() == side_num) { + BOOST_FOREACH(const unit & i, gameboard_.units_) { + if (i.side() == side_num) { config& u = side.add_child("unit"); - i->get_location().write(u); - i->write(u); + i.get_location().write(u); + i.write(u); } } } //recall list { - for(std::vector::const_iterator j = t->recall_list().begin(); - j != t->recall_list().end(); ++j) { - config& u = side.add_child("unit"); - j->write(u); + BOOST_FOREACH(const unit & j, t->recall_list()) { + config& u = side.add_child("unit"); + j.write(u); } } } @@ -802,9 +801,10 @@ void play_controller::finish_side_turn(){ resources::whiteboard->on_finish_side_turn(player_number_); - for(unit_map::iterator uit = gameboard_.units_.begin(); uit != gameboard_.units_.end(); ++uit) { - if (uit->side() == player_number_) - uit->end_turn(); + BOOST_FOREACH(unit & uit, gameboard_.units_) { + if (uit.side() == player_number_) { + uit.end_turn(); + } } // Clear shroud, in case units had been slowed for the turn. actions::clear_shroud(player_number_); @@ -849,9 +849,11 @@ bool play_controller::enemies_visible() const return true; // See if any enemies are visible - for(unit_map::const_iterator u = gameboard_.units_.begin(); u != gameboard_.units_.end(); ++u) - if (current_team().is_enemy(u->side()) && !gui_->fogged(u->get_location())) + BOOST_FOREACH(const unit & u, gameboard_.units_) { + if (current_team().is_enemy(u.side()) && !gui_->fogged(u.get_location())) { return true; + } + } return false; } @@ -1399,20 +1401,17 @@ void play_controller::check_victory() } std::set not_defeated; - for (unit_map::const_iterator i = gameboard_.units_.begin(), - i_end = gameboard_.units_.end(); i != i_end; ++i) + BOOST_FOREACH( const unit & i , gameboard_.units_) { - const team& tm = gameboard_.teams_[i->side()-1]; - if (i->can_recruit() && tm.defeat_condition() == team::NO_LEADER) { - //DBG_NG << "seen leader for side " << i->side() << "\n"; - not_defeated.insert(i->side()); + const team& tm = gameboard_.teams_[i.side()-1]; + if (i.can_recruit() && tm.defeat_condition() == team::NO_LEADER) { + not_defeated.insert(i.side()); } else if (tm.defeat_condition() == team::NO_UNITS) { - //DBG_NG << "side doesn't require leader " << i->side() << "\n"; - not_defeated.insert(i->side()); + not_defeated.insert(i.side()); } } - BOOST_FOREACH(team& tm, this->gameboard_.teams_) + BOOST_FOREACH(team& tm, gameboard_.teams_) { if(tm.defeat_condition() == team::NEVER) { diff --git a/src/playsingle_controller.cpp b/src/playsingle_controller.cpp index 541e21a90d8..be8e34e37a6 100644 --- a/src/playsingle_controller.cpp +++ b/src/playsingle_controller.cpp @@ -550,13 +550,12 @@ LEVEL_RESULT playsingle_controller::play_scenario( // Add all the units that survived the scenario. LOG_NG << "Add units that survived the scenario to the recall list.\n"; - for(unit_map::iterator un = gameboard_.units_.begin(); un != gameboard_.units_.end(); ++un) { - - if (gameboard_.teams_[un->side() - 1].persistent()) { - LOG_NG << "Added unit " << un->id() << ", " << un->name() << "\n"; - un->new_turn(); - un->new_scenario(); - gameboard_.teams_[un->side() - 1].recall_list().push_back(*un); + BOOST_FOREACH (unit & un, gameboard_.units_) { + if (gameboard_.teams_[un.side() - 1].persistent()) { + LOG_NG << "Added unit " << un.id() << ", " << un.name() << "\n"; + un.new_turn(); + un.new_scenario(); + gameboard_.teams_[un.side() - 1].recall_list().push_back(un); } } gamestate_.snapshot = config(); @@ -845,8 +844,8 @@ void playsingle_controller::linger() gui_->redraw_everything(); // End all unit moves - for (unit_map::iterator u = gameboard_.units_.begin(); u != gameboard_.units_.end(); ++u) { - u->set_user_end_turn(true); + BOOST_FOREACH (unit & u, gameboard_.units_) { + u.set_user_end_turn(true); } try { // Same logic as single-player human turn, but diff --git a/src/replay_controller.cpp b/src/replay_controller.cpp index cb2aa455784..cb0dabbd61a 100644 --- a/src/replay_controller.cpp +++ b/src/replay_controller.cpp @@ -124,8 +124,8 @@ void replay_controller::init_gui(){ gui_->scroll_to_leader(gameboard_.units_, player_number_, display::WARP); update_locker lock_display((*gui_).video(),false); - for(std::vector::iterator t = gameboard_.teams_.begin(); t != gameboard_.teams_.end(); ++t) { - t->reset_objectives_changed(); + BOOST_FOREACH(team & t, gameboard_.teams_) { + t.reset_objectives_changed(); } update_replay_ui();