diff -Nur -X/home/thue/freeciv-dev/no.freeciv freeciv/common/capstr.c airplane_goto/common/capstr.c --- freeciv/common/capstr.c Sun Apr 16 19:23:00 2000 +++ airplane_goto/common/capstr.c Thu Apr 27 14:05:15 2000 @@ -71,7 +71,7 @@ */ #define CAPABILITY "+1.10 +fog_of_war +fortify_two_step +get_sabotage_list \ -ocean_reclamation +dipl_cli_pop_dlg" +ocean_reclamation +dipl_cli_pop_dlg advance_focus_package" /* "+1.10" is protocol for 1.10.0 stable release @@ -87,6 +87,9 @@ "dipl_cli_pop_dlg" is protocol extension for notification to client of need to popup diplomat dialog. + + "advance_focus_packet" is a protocol extension that the server uses to + tell the client that the server does not intent to move a unit further. */ void init_our_capability(void) diff -Nur -X/home/thue/freeciv-dev/no.freeciv freeciv/server/gotohand.c airplane_goto/server/gotohand.c --- freeciv/server/gotohand.c Wed Apr 26 22:59:33 2000 +++ airplane_goto/server/gotohand.c Thu Apr 27 14:10:54 2000 @@ -15,6 +15,7 @@ #include #include +#include "capability.h" #include "game.h" #include "log.h" #include "map.h" @@ -984,10 +985,13 @@ if (punit->x == dest_x && punit->y == dest_y) punit->activity=ACTIVITY_IDLE; else if (punit->moves_left) { - struct packet_generic_integer packet; - packet.value = punit->id; - send_packet_generic_integer(pplayer->conn, PACKET_ADVANCE_FOCUS, - &packet); + struct connection *pc = pplayer->conn; + if (pc && has_capability("ocean_reclamation", pc->capability)) { + struct packet_generic_integer packet; + packet.value = punit->id; + send_packet_generic_integer(pc, PACKET_ADVANCE_FOCUS, + &packet); + } } punit->connecting=0;