diff -ru -X /home/jjm/cvs/no.freeciv FreecivCVS/server/citytools.c freeciv/server/citytools.c --- FreecivCVS/server/citytools.c Thu Feb 10 07:50:25 2000 +++ freeciv/server/citytools.c Sun Feb 13 10:13:23 2000 @@ -1037,6 +1037,8 @@ unit_list_init(&pnewcity->units_supported); city_list_insert(&pplayer->cities, pnewcity); + give_citymap_from_player_to_player(pnewcity, cplayer, pplayer); + return pnewcity; } diff -ru -X /home/jjm/cvs/no.freeciv FreecivCVS/server/maphand.c freeciv/server/maphand.c --- FreecivCVS/server/maphand.c Sat Jan 8 08:29:08 2000 +++ freeciv/server/maphand.c Sun Feb 13 10:09:51 2000 @@ -119,6 +119,23 @@ } /************************************************************************** +... +**************************************************************************/ +void give_citymap_from_player_to_player(struct city *pcity, + struct player *pfrom, struct player *pdest) +{ + int cx, cy, mx, my; + + city_map_iterate(cx, cy) { + mx = map_adjust_x(pcity->x+cx-(CITY_MAP_SIZE/2)); + my = map_adjust_y(pcity->y+cy-(CITY_MAP_SIZE/2)); + if(map_get_known(mx, my, pfrom) && !map_get_known(mx, my, pdest)) { + light_square(pdest, mx, my, 0); + } + } +} + +/************************************************************************** dest can be NULL meaning all players **************************************************************************/ void send_all_known_tiles(struct player *dest) diff -ru -X /home/jjm/cvs/no.freeciv FreecivCVS/server/maphand.h freeciv/server/maphand.h --- FreecivCVS/server/maphand.h Sat Jan 8 08:29:09 2000 +++ freeciv/server/maphand.h Sun Feb 13 10:01:56 2000 @@ -21,6 +21,8 @@ void relight_square_if_known(int x, int y); void give_map_from_player_to_player(struct player *pfrom, struct player *pdest); void give_seamap_from_player_to_player(struct player *pfrom, struct player *pdest); +void give_citymap_from_player_to_player(struct city *pcity, + struct player *pfrom, struct player *pdest); void send_all_known_tiles(struct player *dest); void send_tile_info(struct player *dest, int x, int y, enum known_type type); void lighten_tile(struct player *dest, int x, int y);