diff -urd -X freeciv.current/diff_ignore freeciv.current/client/packhand.c work/client/packhand.c --- freeciv.current/client/packhand.c Wed Sep 12 10:19:22 2001 +++ work/client/packhand.c Sat Sep 15 10:33:38 2001 @@ -1425,7 +1425,40 @@ enum tile_terrain_type old_terrain = ptile->terrain; enum known_type old_known = ptile->known; int tile_changed = 0; + static struct { + int counter, new, type, special, known, changed, no_change; + } stats; + + stats.counter++; + if (old_known == TILE_UNKNOWN) { + stats.new++; + } else { + if (ptile->terrain == packet->type && ptile->special == packet->special + && ptile->known == packet->known) { + stats.no_change++; + } else { + stats.changed++; + } + + if (ptile->terrain != packet->type) { + stats.type++; + } + if (ptile->special != packet->special) { + stats.special++; + } + if (ptile->known != packet->known) { + stats.known++; + } + } + + if (stats.counter % 100 == 0) { + freelog(LOG_NORMAL, + "all=%d new=%d changed=%d {type=%d, special=%d, known=%d} " + "no-change=%d", + stats.counter, stats.new, stats.changed, stats.type, + stats.special, stats.known, stats.no_change); + } if (ptile->terrain != packet->type) { /*terrain*/ tile_changed = 1; ptile->terrain = packet->type;