diff -Nur -X/home/thue/freeciv-dev/freeciv/diff_ignore freeciv/common/player.h wonderbuild/common/player.h --- freeciv/common/player.h Mon Jul 24 11:21:45 2000 +++ wonderbuild/common/player.h Fri Jul 28 14:22:22 2000 @@ -205,4 +205,14 @@ int is_barbarian(const struct player *pplayer); +#define players_iterate(PI_player) \ +{ \ + int PI_p_itr; \ + for (PI_p_itr = 0; PI_p_itr < game.nplayers; PI_p_itr++) { \ + PI_player = get_player(PI_p_itr); + +#define players_iterate_end \ + } \ +} + #endif /* FC__PLAYER_H */ diff -Nur -X/home/thue/freeciv-dev/freeciv/diff_ignore freeciv/server/plrhand.c wonderbuild/server/plrhand.c --- freeciv/server/plrhand.c Fri Jul 28 13:46:26 2000 +++ wonderbuild/server/plrhand.c Fri Jul 28 14:19:11 2000 @@ -216,14 +216,33 @@ char buffer[4096]; buffer[0]=0; for (i=0;iname, - get_nation_name(game.players[pcity->owner].nation)); - } else { - cat_snprintf(buffer, sizeof(buffer), _("%s has been DESTROYED\n"), - get_improvement_type(i)->name); + if (is_wonder(i)) { + if (game.global_wonders[i]) { + if ((pcity=find_city_by_id(game.global_wonders[i]))) { + cat_snprintf(buffer, sizeof(buffer), _("%s in %s (%s)\n"), + get_impr_name_ex(pcity, i), pcity->name, + get_nation_name(game.players[pcity->owner].nation)); + } else { + cat_snprintf(buffer, sizeof(buffer), _("%s has been DESTROYED\n"), + get_improvement_type(i)->name); + } + } + } + } + for (i=0;icities, pcity2) { + if (pcity2->currently_building == i && !pcity2->is_building_unit) { + cat_snprintf(buffer, sizeof(buffer), + _("(building %s in %s (%s))\n"), + get_improvement_type(i)->name, pcity2->name, + get_nation_name(pplayer->nation)); + } + } city_list_iterate_end; + } players_iterate_end; } } }