From f192b3019662e9ca6805992ba5e879e5b50b0958 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Tue, 12 Nov 2013 21:09:30 +0000 Subject: Support for player autopilot terget next to mission target, bumped network protocol version to 28, disable freeflight button if there is no autopilot target. --- src/game/base/game.cc | 18 +++++++++++++++++- src/game/base/ship.cc | 3 --- 2 files changed, 17 insertions(+), 4 deletions(-) (limited to 'src/game') diff --git a/src/game/base/game.cc b/src/game/base/game.cc index 4a4441d..776f6c1 100644 --- a/src/game/base/game.cc +++ b/src/game/base/game.cc @@ -2723,8 +2723,24 @@ bool Game::load_settings() void Game::frame(float seconds) { - if (!running()) + if (!running()) { return; + } + + for (core::GameInterface::Players::iterator it = core::game()->players().begin(); it != core::game()->players().end(); ++it) { + core::Entity *target = 0; + + // set player autopilot target + if ((*it)->control()) { + assert ((*it)->control()->moduletype() == ship_enttype); + + Ship * ship = static_cast((*it)->control()); + if (ship->state() != Ship::Docked) { + target = ship->autopilot_target(); + } + } + (*it)->set_autopilot_target(target); + } } void Game::player_connect(core::Player *player) diff --git a/src/game/base/ship.cc b/src/game/base/ship.cc index 7c9de1f..e9d9b54 100644 --- a/src/game/base/ship.cc +++ b/src/game/base/ship.cc @@ -496,9 +496,6 @@ void Ship::set_zone(core::Zone *zone) void Ship::set_autopilot_target(core::Entity *target) { if (ship_autopilot_target != target) { - if (owner()) { - owner()->set_mission_target(target); - } ship_autopilot_target = target; } } -- cgit v1.2.3