DELTA 19508 420 786
SVN  Õ€/«k †p Š ‚ †eŽ k‰† BŠX€n AÐ@ oŒx¢ C@„ Z¶ ¤ .Ã@ ˆ‘j… „h™s€… 
 $ ƒ_¡€y ‡p¤z€ x«f‡ q¬d „°? Ž@´I§ !Âq€ B¶ €˜H P>€D B¶  ƒÄW™ RÃ@€H B¶ €…V P> ‚AÈE †Ë8€} ‚wÑ6€}%Ôkastring.h"#include "textsourceupdate_source_label(void);
static void refresh_airlift_column(void);
static void refresh_airlift_button(void);  GD_COL_AIRLIFT,

  GD_COL_NUM
};
..._action(void)
{
  popup_goto_dialog(framesource = gtk_label_new("" /* filled in later */);
  gtk_label_set_line_wrap(GTK_LABEL(source), TRUE);
  gtk_label_set_justify(GTK_LABEL(source), GTK_JUSTIFY_CENTER);
  gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dshell)->vbox),
        source, FALSE, FALSE, 0);

  label = g_object_new(GTK_TYPE_LABEL,
    "use-underline", TRUE,
    "label", _("Select destination ci_ty"),
    "xalign", 0.0,
    "yalign", 0.5,
    NULL);
  frame = gtk_frame_new("");
  gtk_frame_set_label_widget(GTK_FRAME(frame), label);
  gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dshell)->vbox),
        frame, TRUE, TRUE, 0);

  vbox = gtk_vbox_new(FALSE, 6);
  gtk_container_add(GTK_CONTAINER(frame  /* Set the mnemonic in the frame label to focus the city list */
  gtk_label_set_mnemonic_widget(GTK_LABEL(label), viewrend = gtk_cell_renderer_text_new();
  col = gtk_tree_view_column_new_with_attributes(_("Airlift"), rend,
    "text", GD_COL_AIRLIFTAIRLIFTsource_label();/* GD_COL_AIRLIFT is populated later */  Refresh the label that shows where the selected unit(s) currently are
  (and the relevant cities' airlift capacities, if relevant).*********/
static void update_source_label(void)
{
  /* Arbitrary limit to stop the label getting ridiculously long */
  static const int max_cities = 10;
  struct {
    const struct city *city;
    struct unit_list *units;
  } cities[max_cities];
  int ncities = 0;
  bool too_many = FALSE;
  bool no_city = FALSE; /* any units not in a city? */
  struct astring strs[max_cities];
  int nstrs;
  char *last_str;
  const char *descriptions[max_cities+1];
  int i;

  /* Sanity check: if no units selected, give up */
  if (unit_list_size(get_units_in_focus()) == 0) {
    gtk_label_set_text(GTK_LABEL(source), _("No units selected."));
    return;
  }

  /* Divide selected units up into a list of unique cities */
  unit_list_iterate(get_units_in_focus(), punit) {
    const struct city *pcity = tile_city(unit_tile(punit));
    if (pcity) {
      /* Inefficient, but it's not a long list */
      for (i = 0; i < ncities; i++) {
        if (cities[i].city == pcity) {
          unit_list_append(cities[i].units, punit);
          break;
        }
      }
      if (i == ncities) {
        if (ncities < max_cities) {
          cities[ncities].city = pcity;
          cities[ncities].units = unit_list_new();
          unit_list_append(cities[ncities].units, punit);
          ncities++;
        } else {
          too_many = TRUE;
          break;
        }
      }
    } else {
      no_city = TRUE;
    }
  } unit_list_iterate_end;

  /* Describe the individual cities. */
  for (i = 0; i < ncities; i++) {
    const char *air_text = get_airlift_text(cities[i].units, NULL);
    astr_init(&strs[i]);
    astr_add(&strs[i], 
             /* TRANS: goto/airlift dialog. "Paris (airlift: 2/4)".
              * A set of these appear in an "and"-separated list. */
             air_text ? _("%s (airlift: %s)") : "%s",
             city_name(cities[i].city), air_text);
    /* FIXME: free air_text */
    descriptions[i] = astr_str(&strs[i]);
    unit_list_destroy(cities[i].units);
  }
  if (too_many) {
    /* TRANS: goto/airlift dialog. Too many cities to list, some omitted.
     * Appears at the end of an "and"-separated list. */
    descriptions[ncities] = last_str = fc_strdup(Q_("?gotodlg:more"));
    nstrs = ncities+1;
  } else if (no_city) {
    /* TRANS: goto/airlift dialog. For units not currently in a city.
     * Appears at the end of an "and"-separated list. */
    descriptions[ncities] = last_str = fc_strdup(Q_("?gotodlg:no city"));
    nstrs = ncities+1;
  } else {
    last_str = NULL;
    nstrs = ncities;
  }

  /* Finally, update the label. */
  {
    struct astring label = ASTRING_INIT, list = ASTRING_INIT;
    astr_set(&label, 
             /* TRANS: goto/airlift dialog. Current location of units; %s is an
              * "and"-separated list of cities and associated info */
             _("Currently in: %s"),
             astr_build_and_list(&list, descriptions, nstrs));
    astr_free(&list);
    gtk_label_set_text(GTK_LABEL(source), astr_str(&label));
    astr_free(&label);
  }

  /* Clear up. */
  for (i = 0; i < ncities; i++) {
    astr_free(&strs[i]);
  }
  free(last_str); /* might have been NULL */  Refresh city list (in response to "all cities" checkbox changing).  refresh_airlift_column(  Refresh airlift column in city list (without tearing everything down).*********/
static void refresh_airlift_column(void)
{
  GtkTreeIter iter;
  bool valid;
  valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store), &iter);
  while (valid) {
    int city_id;
    const struct city *pcity;
    const char *air_text;
    gtk_tree_model_get(GTK_TREE_MODEL(store), &iter,
                       GD_COL_CITY_ID, &city_id, -1);
    pcity = game_city_by_number(city_id);
    fc_assert_ret(pcity != NULL);
    air_text = get_airlift_text(get_units_in_focus(), pcity);
    gtk_list_store_set(GTK_LIST_STORE(store), &iter,
                       GD_COL_AIRLIFT, air_text ? air_text : "-", -1);
    /* FIXME: FC_FREE(air_text); */
    valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(store), &iter);
  }struct city *pdestcity = get_selected_city();
  if (NULL != pdestcity) {
    center_tile_mapcanvas(city_tile(pdestcity));
  }Location of current units and ability to airlift may have changed */
    update_source_label();
    refresh_airlift_column();ENDREP
DELTA 17627 37219 41754
SVN  ƒ—=ƒ°?‚¬] †O ‰ L†Aˆ j‡º ¡‰"€_ ¸; ‚U¬[€	 T»2 ‡$¯}€K ‚~¸;€S Šn»2€„ †TÏ: Öh€` „8Øu€ `»2 OÞ¤ ¥Jë[Ž ‚M‘4€l „n”Q€„ `‚º €•g s‚Ð  4™?€‚ <€k Ÿ‰ …O <“ ƒK¦® Yª¦ lÅw ŒN¹£ ŸfÅw£ ™ræ€X ™‚€!¿ 7‚™o¿ Œm‚›b£ ¾z‚¨v‰ `‚ç}œ o‚èX ‚éG€;  ‚ëT‚ ªh‚ìUbitvectorresearch#include "control.h"
#include "goto.h"

#include "text.h"
BORDERS_DISABLED != game.info.borders && !pcity) {
    struct player *owner = tile_owner(ptile)struct player_diplstate *ds = player_diplstate_get(client.conn.playing,
                                                         owner);
const char *improvements[improvement_count()];
    int has_improvements = 0struct player_diplstate *ds
        = player_diplstate_get(client_player(), owner);mprovements[has_improvements++] =
            improvement_name_translation(pimprove);
      }
    } improvement_iterate_end;

    if (0 < has_improvements) {
      struct astring list = ASTRING_INIT;

      astr_build_and_list(&list, improvements, has_improvements);
      /* TRANS: %s is a list of "and"-separated improvements. */
      astr_add_line(&str, _("   with %s."), astr_str(&list));
      astr_free(&list);
    }

    unit_list_iterate(get_units_in_focus(), pfocus_unit) {
      struct city *hcity = game!client_player() || owner == client_player()) {
      struct city *pcity = player_city_by_numberstruct player_diplstate *ds = player_diplstate_get(client_player(),
                                                         owner);                  name_translation(&city_by_numberrule_name(&ptype->veteran[punit->veteran].name)[0] != '\0') {
    astr_add(&str, " (%s)", name_translation(&Describe the airlift capacity of a city for the given units (from their
  current positions).
  If pdest is non-NULL, describe its capacity as a destination, otherwise
  describe the capacity of the city the unit's currently in (if any) as a
  source. (If the units in the list are in different cities, this will
  probably not give a useful result in this case.)
  If not all of the listed units can be airlifted, return the description
  for those that can.
  Returns NULL if an airlift is not possible for any of the unitsairlift_text(const struct unit_list *punits,
                             const struct city *pdest)
{
  static struct astring str = ASTRING_INIT;
  bool src = (pdest == NULL);
  enum texttype { AL_IMPOSSIBLE, AL_UNKNOWN, AL_FINITE, AL_INFINITE }
      best = AL_IMPOSSIBLE;
  int cur = 0, max = 0;

  unit_list_iterate(punits, punit) {
    enum texttype this = AL_IMPOSSIBLE;
    enum unit_airlift_result result;

    /* NULL will tell us about the capability of airlifting from source */
    result = test_unit_can_airlift_to(client_player(), punit, pdest);

    switch(result) {
    case AR_NO_MOVES:
    case AR_WRONG_UNITTYPE:
    case AR_OCCUPIED:
    case AR_NOT_IN_CITY:
    case AR_BAD_SRC_CITY:
    case AR_BAD_DST_CITY:
      /* No chance of an airlift. */
      this = AL_IMPOSSIBLE;
      break;
    case AR_OK:
    case AR_OK_SRC_UNKNOWN:
    case AR_OK_DST_UNKNOWN:
    case AR_SRC_NO_FLIGHTS:
    case AR_DST_NO_FLIGHTS:
      /* May or may not be able to airlift now, but there's a chance we could
       * later */
      {
        const struct city *pcity = src ? tile_city(unit_tile(punit)) : pdest;
        fc_assert_ret_val(pcity != NULL, fc_strdup("-"));
        if (!src && (game.info.airlifting_style & AIRLIFTING_UNLIMITED_DEST)) {
          /* No restrictions on destination (and we can infer this even for
           * other players' cities). */
          this = AL_INFINITE;
        } else if (client_player() == city_owner(pcity)) {
          /* A city we know about. */
          int this_cur = pcity->airlift, this_max = city_airlift_max(pcity);
          if (this_max <= 0) {
            /* City known not to be airlift-capable. */
            this = AL_IMPOSSIBLE;
          } else {
            if (src
                && (game.info.airlifting_style & AIRLIFTING_UNLIMITED_SRC)) {
              /* Unlimited capacity. */
              this = AL_INFINITE;
            } else {
              /* Limited capacity (possibly zero right now). */
              this = AL_FINITE;
              /* Store the numbers. This whole setup assumes that numeric
               * capacity isn't unit-dependent. */
              if (best == AL_FINITE) {
                fc_assert(cur == this_cur && max == this_max);
              }
              cur = this_cur;
              max = this_max;
            }
          }
        } else {
          /* Unknown capacity. */
          this = AL_UNKNOWN;
        }
      }
      break;
    }

    /* Now take the most optimistic view. */
    best = MAX(best, this);
  } unit_list_iterate_end;

  switch(best) {
  case AL_IMPOSSIBLE:
    return NULL;
  case AL_UNKNOWN:
    astr_set(&str, "?");
    break;
  case AL_FINITE:
    astr_set(&str, "%d/%d", cur, max);
    break;
  case AL_INFINITE:
    astr_set(&str, _("Yes"));
    breakconst struct player_research *presearch;
  int ours = 0, theirs = 0;
  bool team = FALSE;

  if (!client_has_player()) {
    return 0;
  }
  presearch = player_research_get(client_player());

  /* Sum up science */
  players_iterate(pplayer) {
    if (pplayer == client_player()player_research_get(pplayer)->tech_upkeep;
      }
    } else if (presearch == player_research_get(pplayer)presearchplayer_research_getMAX(1, ceil((double) (total - done) / perturn) = player_research_get(client_player()player_research_get(client_player()player_research_get(client_player() player_city_by_number(unit_owner(punit),
                                              UU_OK == unit_upgrade_info(unit_list_front(punits), buf, bufsz)_player()
          && UU_OK == unit_upgrade_test(punit, FALSE)player_research_get(client_player()_player()char buf[4 * MAX_LEN_NAME];
Q/* TRANS: Just happending 2 strings, using the correct localized
     * syntax. */
    astr_add_line(&str, _("%s - %s"),
                  ruler_title_for_player(pplayer, buf, sizeof(buf) -ENDREP
DELTA 17475 219 351
SVN  ”-•"e Š! €e ŠŠget_airlift_text(const struct unit_list *punits,
                             const struct city *pdesENDREP
DELTA 19459 7352 2434
SVN  †  †  g …ß? € K‚º €_ T…Á  ½;…ßB**
  A city's maximum airlift capacity.
  (Note, this still returns a finite number even if airliftingstyle allows
  unlimited airlifts)**/
int city_airlift_max(const struct city *pcity)
{
  return get_city_bonus(pcity, EFT_AIRLIFT†  Î0Ñ3ƒ€ƒ Î0 y */
  int waste_level = get_city_output_bonus(pcity, get_output_type(otype),
                                          EFT_OUTPUT_WASTE);
  int waste_by_dist = get_city_output_bonus(pcity, get_output_type(otype),
                                            EFT_OUTPUT_WASTE_BY_DISTANCE);
  int waste_pct = get_city_output_bonus(pcity, get_output_type(otype), 
                          ENDREP
DELTA 18655 1407 643
SVN  Í{Î+ Ä6  ‰eÄcity_airlift_maxENDREP
DELTA 17648 3637 49532
SVN  †‹†  ƒ>Ä Šw ƒ  Še€T ˆ9ŒK€| ]—  Ž˜i† §	‚ c´ ‚Â™ –Ä(… Ú>€„ Hà@¶ Qƒéx \çx€ K¡@€…9 é(€‚} Yìn€‰W U„å|€ K¡@€…< U„åz Pô› …tõO€F ƒûA€g ‚ÿ< ‚]w¤ >„g vƒìw ™I†w ]Ä/ £¡" •#Ä/¯ ì7ÙS– /‚¼ Šk‚ÇO ýk‚Ò;¢ …LƒÐ$€ƒJ ‹>ƒÕh€E ƒƒâP€ƒ1 Xƒé4€ƒP b¡;€L ƒƒï €ƒ] Yƒõ3€r a¡;€H M¡@€‚_ \ƒû@€C N„„$€ƒ= ƒþ'¶ …:„€8€$ vƒþ'› „€8 g„‰< `„‹/ž _„Œ*€n „– „€8 †U„‘G€ „ –~„™J† ™„°L ŠC„ÉO z„Ô)– ž„ÕDž ÕY„óM€ ‡z…Ê%  …É( ²h…Òlogdvdata.h"
#include "autosettlers.h"

#include "cm.h"

/* ai */
#include "advdomesticLIST_TAG cityimpr
#define SPECLIST_TYPE struct cityimpr
#include "speclist.h"

static bool sell_random_building(struct player *pplayer,
                                 struct cityimpr_list *imprs);
static bool sell_random_unit(struct player *pplayer,
units_and_buildings
            number_ccmr = cm_result_new(pcity**
  **/
static void city_global_turn_notify(struct conn_list *dest)
{
  cities_iterate(pcity) {
    struct impr_type *pimprove = pcity->production.value.building;

    /* can_player_build_improvement_now() checks whether wonder is build
     * elsewhere (or destroyed). */
    if (VUT_IMPROVEMENT == pcity->production.kind
        && is_great_wonder(pimprove)
        && (1 >= city_production_turns_to_build(pcity, TRUE))
        && can_player_build_improvement_now(city_owner(pcity), pimprove)) {
      notify_conn(dest, city_tile(pcity),
_("Notice: Wonder %s in %s will be finished next turn.    }
  } cities**
  Send turn notifications for specified city to specified connections.
  If 'pplayer' is not NULL, the message will be cached for this player.**/
static void city_turn_notify(const struct city *pcity,
                             struct conn_list *dest,
                             const struct player *cache_for_player)
{
  struct impr_type *pimprove = pcity->production.value.building;
  struct packet_chat_msg packet;
  int turns_growth, turns_granary;

  if (0 < pcity->surplus[O_FOOD]) {
    turns_growth = ((city_granary_size(pcity->size) - pcity->food_stock - 1)
                    / pcity->surplus[O_FOOD]);

    if (0 == get_city_bonus(pcity, EFT_GROWTH_FOOD)
        && 0 < get_current_construction_bonus(pcity, EFT_GROWTH_FOOD,
                                              RPT_CERTAIN)
        && 0 < pcity->surplus[O_SHIELD]                       - pcity->shield_stock) / pcity->surplus[O_SHIELD];
      /* If growth and granary completion occur simultaneously, granary
       * preserves food.  -AJS. */
      if (5 > turns_growth && 5 > turns_granary
          && turns_growth < turns_granary) {
        package_event(&packet, city_tile(pcity),
                      E_CITY_GRAN_THROTTLE, ftc_server,
    "(being built) more effectively."),
                      city_link(pcity),
                      improvement_name_translation(pimprove));
        lsend_packet_chat_msg(dest, &packet);
        if (NULL != cache_for_player) {
          event_cache_add_for_player(&packet, cache_for_player);
        }
      }
    }

    if (0 >= turns_growth && !city_celebrating(pcity)
        && city_can_grow_to(pcity, pcity->size + 1)) {
      package_event(&packet, city_tile(pcity),
                    E_CITY_MAY_SOON_GROW, ftc_server,
                    _("%s may soon grow to size %i."),
                    city_link(pcity), pcity->size + 1);
      lsend_packet_chat_msg(dest, &packet);
      if (NULL != cache_for_player) {
        event_cache_add_for_player(&packet, cache_for_player);
      }
    }
  } else {
    if (0 >= pcity->food_stock + pcity->surplus[O_FOOD]
        && 0 > pcity->surplus[O_FOOD]) {
      package_event(&packet, city_tile(pcity),
                    E_CITY_FAMINE_FEARED, ftc_server,
                    _("Warning: Famine feared in %s."), city_link(pcity));
      lsend_packet_chat_msg(dest, &packet);
      if (NULL != cache_for_player) {
        event_cache_add_for_player(&packet, cache_for_player);
      }
    }
  Send global and player specific city turn notifications. If 'pconn' is
  NULL, it will send to all connections and cache the events.**/
void send_city_turn_notifications(struct connection *pconn)
{
  if (NULL != pconn) {
    struct player *pplayer = conn_get_player(pconn);

    if (NULL != pplayer) {
      city_list_iterate(pplayer->cities, pcity) {
        city_turn_notify(pcity, pconn->self, NULL);
      } city_list_iterate_end;
    }
    city_global_turn_notify(pconn->self);
  } else {
    players_iterate(pplayer) {
      city_list_iterate(pplayer->cities, pcity) {
        city_turn_notify(pcity, pplayer->connections, pplayer);
      } city_list_iterate_end;
    } players_iterate_end;
    /* NB: notifications to 'game.est_connections' are automatically
     * cached. */
    city_global_turn_notify(game.est_connectionschar buf[4 * MAX_LEN_NAME];If the treasury is
     *     not balance units and buildings are soldunits and buildings */
          player_balance_treasury_units_and_buildings(pplayer);
          break;for_player(pplayer, buf, sizeof(buf)
        unit_owner(punit)->score.units_lost++;only available from %sr      pplayer->score.units_built++if (pop_cost > 0) {
        /* Additional message if the unit has population cost. */
        notify_player(pplayer, city_tile(pcity), E_UNIT_BUILT_POP_COST,
                      ftc_server,
                      /* TRANS: <unit> cost... <city> shrinks... */
                      _("%s cost %d population. %s shrinks to size %d."),
                      utype_name_translation(utype), pop_cost,
                      city_link(pcity), pcity->size);
      }a building from the given list. Returns TRUE if a building
  was sold(struct player *pplayer,
                                 struct cityimpr_list *imprs)
{
  struct cityimpr *pcityimpr;
  int r;

  fc_assert_ret_val(pplayer != NULL, FALSE);

  if (!imprs || cityimpr_list_size(imprs) == 0) {
    return FALSE;
  }

  r = fc_rand(cityimpr_list_size(imprs));
  pcityimpr = cityimpr_list_get(imprs, r);

  notify_player(pplayer, city_tile(pcityimpr->pcity), E_IMP_AUCTIONED,
                ftc_server,
improvement_name_translation(pcityimpr->pimprove),
                city_link(pcityimpr->pcity));

  do_sell_building(pplayer, pcityimpr->pcity, pcityimpr->pimprove);
  cityimpr_list_remove(imprs, pcityimpr);

  /* Get back the gold upkeep that was already paid this turn. */
  pplayer->economic.gold += city_improvement_upkeep(pcityimpr->pcity,
                                                    pcityimpr->pimprove);

  city_refresh_queue_add(pcityimpr->pcity);
andomly "sell" a unit from the given list. Returns TRUE if a unit was
  sold(struct player *pplayer,
                             struct unit_list *punitlist)
{
  struct unit *punit;
  int gold_upkeep, r;

  fc_assert_ret_val(pplayer != NULL, FALSE);

  if (!punitlist || unit_list_size(punitlist) == 0) {
    return FALSE;
  }

  r = fc_rand(unit_list_size(punitlist));
  punit = unit_list_get(punitlist, r);
  gold_upkeep = punit->upkeep[O_GOLD];

  /* All units in punitlist shopuld have gold upkeep! */
  fc_assert_ret_val(gold_upkeep > 0, FALSE);

_("Not enough gold. %s disbanded."),
                unit_tile_link(punit));
  unit_list_remove(punitlist, punit);
  pplayer->score.units_lost++;
  wipe_unit(punit);

  /* Get the upkeep gold back. */
  pplayer->economic.gold += gold_upkeep;
Balance the gold of a nation by selling some random units and buildings.static bool player_balance_treasury_units_and_buildings
            (struct player *pplayer)
{
  struct cityimpr_list *pimprlist;
  struct cityimpr ci;
  struct unit_list *punitlist;
  int impr_count = 0, unit_count = 0;
  bool sell_unit = TRUE;

  if (!pplayer) {
    return FALSE;
  }

  pimprlist = cityimpr_list_new();
  punitlist = unit_list_new(list_append(pimprlist, &ci);
      }
    } city_built_iterate_end;
while (pplayer->economic.gold < 0
         && (cityimpr_list_size(pimprlist) != impr_count
             || unit_list_size(punitlist) != unit_count)) {
    if (!sell_unit) {
      sell_random_building(pplayer, pimprlist);
      impr_count = cityimpr_list_size(pimprlist);
    } else {
      sell_random_unit(pplayer, punitlist);
      unit_count = unit_list_size(punitlist);
    }
    sell_unit = !sell_unit;
  }

  if (pplayer->economic.gold < 0list_destroy(pimprlist);
  unit_list_destroy(punitlistwhile (pplayer->economic.gold < 0
         && sell_random_unit(pplayer, punitlist)) {
    /* all done in sell_random_unit() */
  }

  if (pplayer->economic.gold < 0unit_list_destroy(punitlistlist *pimprlistpimprlist = cityimpr_list_new(list_append(pimprlist, &ci);
    }
  } city_built_iterate_end;

  /* Try to sell some buildings. */
  while (pplayer->economic.gold < 0
         && sell_random_building(pplayer, pimprlist)) {
    /* all done in sell_random_building */
  }list_destroy(pimprlistwhile (pplayer->economic.gold < 0
         && sell_random_unit(pplayer, punitlist)) {
    /* all done in sell_random_unit() */
  }playerNULL == player_city_by_numbercity_airlift_max(pcity  pplayer->score.units_built++
  /* This should be _before_ the size of the city is increased. Thus, the
   * order of the messages is correct (1: migration; 2: increased size). */†‹ †‚Y—G’IE*¯E]E‚J/ŠEBƒLz†E]™D;ˆLŠF\D,†J&‚D]Lw†HUFVGv„G‚žIN‚`ƒE‚CƒD]…F‚x„FƒG@IH‚MPNƒ2¤H‚Dƒ „Wƒ*œX‚WZhPhF8Ix†K‚FlI	F‚‚PhI„tGŒJ‡G.‚D„zGh—er.mgr_worldchance) {
 const char *nname; = nation_adjective_for_player(city_owner(best_))/* no migr */N.B.: link always returns the spointer.sz_strlcpy_text,(pnotifyptile, E_CITY_TRANSFER, ftc_server,/* : <1> to2> ( >)_("Citizens of %s are thinking aboutng%s "  "(%s) for a better life."),} elsedo, 
/* stop herecontinu}
st_iterate_safe_end;
}
ENDREP
id: 4i.5f2.r19509/22506
type: file
pred: 4i.5f2.r19341/102
count: 464
text: 19509 12782 9694 103183 482fa8160460e2bcaa5381c70ba0609a
props: 10955 1971 112 0 e17e3e5087e98ab1d6f041bdc6ae85ee
cpath: /branches/S2_3/server/cityturn.c
copyroot: 18395 /branches/S2_3

PLAIN
K 11
Makefile.am
V 23
file 5q.5f2.r18992/3608
K 8
advisors
V 24
dir 4n2.5f2.r19459/12934
K 9
aiiface.c
V 24
file 4gm.5ck.r18039/1242
K 9
aiiface.h
V 25
file 4gn.5ck.r17797/11328
K 6
auth.c
V 25
file 39c.5f2.r18472/12225
K 6
auth.h
V 23
file 39d.0.r13513/10535
K 11
barbarian.c
V 23
file lw.5f2.r19335/1423
K 11
barbarian.h
V 24
file lx.5ck.r18054/18407
K 10
cityhand.c
V 23
file 10.5f2.r18580/9188
K 10
cityhand.h
V 23
file 4f.0.r13297/423686
K 11
citytools.c
V 22
file 4g.5f2.r18964/304
K 11
citytools.h
V 24
file 4h.5ck.r18270/28958
K 10
cityturn.c
V 24
file 4i.5f2.r19509/22506
K 10
cityturn.h
V 24
file 4j.5f2.r18661/18259
K 11
civserver.c
V 24
file 4k.5f2.r18624/55776
K 11
civserver.h
V 21
file 4l.0.r2805/33121
K 10
commands.c
V 25
file 2ly.5f2.r19275/11545
K 10
commands.h
V 25
file 2lz.5f2.r18475/23374
K 13
connecthand.c
V 24
file 2dw.5f2.r18617/3111
K 13
connecthand.h
V 25
file 2dx.5ck.r18054/16767
K 9
console.c
V 23
file dd.5ck.r18091/5268
K 9
console.h
V 24
file de.5ck.r18054/16526
K 10
diplhand.c
V 24
file 4m.5f2.r19053/10171
K 10
diplhand.h
V 21
file 4n.0.r13421/6826
K 11
diplomats.c
V 22
file vz.5f2.r18778/940
K 11
diplomats.h
V 24
file w0.5ck.r18384/65844
K 10
edithand.c
V 24
file 3bk.5f2.r19026/7111
K 10
edithand.h
V 26
file 4ez.5f2.r18451/115622
K 10
gamehand.c
V 25
file 4o.5f2.r18451/114619
K 10
gamehand.h
V 24
file 4p.5ck.r15698/24111
K 9
generator
V 24
dir 2me.5f2.r19456/10247
K 11
ggzserver.c
V 25
file 39a.5f2.r18470/14682
K 11
ggzserver.h
V 25
file 39b.5bk.r15001/48999
K 10
handchat.c
V 25
file 4q.5ck.r18362/122188
K 10
handchat.h
V 24
file dj.5ck.r18270/28229
K 9
maphand.c
V 22
file 13.5f2.r19016/254
K 9
maphand.h
V 23
file 14.5f2.r18739/8394
K 6
meta.c
V 22
file 4s.5f2.r18986/388
K 6
meta.h
V 24
file 4t.5ck.r18054/19078
K 8
notify.c
V 23
file 4i2.5f2.r18492/146
K 8
notify.h
V 24
file 4i3.5ck.r18282/3660
K 9
plrhand.c
V 23
file 4u.5f2.r19103/2995
K 9
plrhand.h
V 23
file 4v.5f2.r19103/3251
K 8
report.c
V 25
file vi.5ck.r18308/133485
K 8
report.h
V 24
file vj.5ck.r18270/29203
K 9
ruleset.c
V 23
file 8w.5f2.r19026/6853
K 9
ruleset.h
V 22
file 8x.5ck.r17946/997
K 13
sanitycheck.c
V 23
file wi.5f2.r18739/9176
K 13
sanitycheck.h
V 23
file wj.5f2.r18739/9438
K 10
savegame.c
V 24
file vl.5f2.r19020/27939
K 10
savegame.h
V 24
file vm.5ck.r17289/22938
K 11
savegame2.c
V 24
file 4m0.5f2.r19339/2299
K 11
savegame2.h
V 25
file 4m1.5ck.r18078/67503
K 7
score.c
V 26
file 2eg.5ck.r18308/128519
K 7
score.h
V 24
file 2eh.5ck.r17332/6378
K 9
scripting
V 23
dir 31x.5f2.r18540/6691
K 8
sernet.c
V 24
file 15.5f2.r18605/17657
K 8
sernet.h
V 24
file 4y.5f2.r18472/12743
K 10
settings.c
V 24
file 2m0.5f2.r19454/6142
K 10
settings.h
V 24
file 2m1.5ck.r18294/3094
K 11
spacerace.c
V 25
file 9a.5ck.r18362/123929
K 11
spacerace.h
V 21
file 9b.0.r11338/1129
K 9
srv_log.c
V 25
file 15t.5fa.r18550/20788
K 9
srv_log.h
V 25
file 15u.5em.r17928/40497
K 10
srv_main.c
V 22
file vg.5f2.r19412/190
K 10
srv_main.h
V 24
file vh.5ck.r18279/84001
K 11
stdinhand.c
V 22
file 4z.5f2.r19436/942
K 11
stdinhand.h
V 24
file 50.5f2.r18475/24430
K 11
techtools.c
V 25
file 33n.5f2.r19053/10428
K 11
techtools.h
V 24
file 33o.5f2.r18666/2309
K 10
unithand.c
V 23
file 18.5f2.r18580/9448
K 10
unithand.h
V 24
file 19.5f2.r18579/17095
K 11
unittools.c
V 23
file 1a.5f2.r19495/8402
K 11
unittools.h
V 24
file 1b.5ck.r18384/66086
K 8
voting.c
V 26
file 4ex.5ck.r18308/137159
K 8
voting.h
V 25
file 4ey.5ck.r18054/19315
END
ENDREP
id: z.5f2.r19509/26214
type: dir
pred: z.5f2.r19495/12108
count: 4392
text: 19509 22768 3433 3433 6fff3a580a2585d24e9e8aba5c8a180e
props: 17175 659 139 0 d1c9699dde7f9d81e54426750008041d
cpath: /branches/S2_3/server
copyroot: 18395 /branches/S2_3

id: q.5f2.r19509/26462
type: file
pred: q.5f2.r19459/17405
count: 493
text: 19509 12009 675 112819 bb1a8c0c8b0049c9085375e076cb113d
props: 11069 12442 112 0 7c45f13e78520e4754bc476682276743
cpath: /branches/S2_3/common/city.c
copyroot: 18395 /branches/S2_3

id: 3q.5f2.r19509/26720
type: file
pred: 3q.5f2.r18655/7537
count: 301
text: 19509 12713 41 26411 03528ad3351873a07253b9e46edf069d
props: 10806 12641 112 0 0103cdead8b16a89c717b6ef9ed59c6a
cpath: /branches/S2_3/common/city.h
copyroot: 18395 /branches/S2_3

PLAIN
K 11
Makefile.am
V 23
file 5h.5f2.r18992/7549
K 4
ai.c
V 24
file 4go.5ck.r18039/5198
K 4
ai.h
V 24
file 4gp.5f2.r19322/5978
K 6
aicore
V 22
dir 18t.5f2.r19403/961
K 6
base.c
V 26
file 3jw.5ck.r18308/142652
K 6
base.h
V 26
file 3jx.5ck.r18308/143381
K 9
borders.c
V 25
file 4f0.5ck.r18297/35065
K 9
borders.h
V 24
file 4f1.5ck.r15975/2116
K 8
capstr.c
V 24
file dv.5ck.r17617/51579
K 8
capstr.h
V 24
file dw.5bk.r14881/38989
K 6
city.c
V 23
file q.5f2.r19509/26462
K 6
city.h
V 24
file 3q.5f2.r19509/26720
K 8
combat.c
V 24
file wp.5ck.r18226/16047
K 8
combat.h
V 24
file wq.5ck.r18086/20783
K 12
connection.c
V 24
file un.5f2.r18472/17081
K 12
connection.h
V 24
file uo.5f2.r18472/17343
K 8
dataio.c
V 25
file 15r.5ck.r17928/47899
K 8
dataio.h
V 25
file 15s.5ck.r18054/23274
K 11
diptreaty.c
V 23
file 3r.5ck.r18298/9103
K 11
diptreaty.h
V 24
file 3s.5ck.r18054/23946
K 9
effects.c
V 25
file 2eo.5f2.r19459/17662
K 9
effects.h
V 25
file 2ep.5ck.r18270/34711
K 8
events.c
V 24
file 33h.5f2.r18484/9399
K 8
events.h
V 24
file 3t.5f2.r18540/10746
K 14
fc_interface.c
V 25
file 4up.5ck.r17933/11024
K 14
fc_interface.h
V 24
file 4uq.5ck.r17932/7373
K 10
fc_types.h
V 26
file 2ll.5f2.r18451/120446
K 15
featured_text.c
V 25
file 4h3.5f2.r18624/60476
K 15
featured_text.h
V 25
file 4h4.5ck.r18054/23516
K 6
game.c
V 24
file 3u.5f2.r18475/28508
K 6
game.h
V 21
file 3v.5f2.r19117/52
K 19
generate_packets.py
V 25
file 2f4.5ck.r18382/12661
K 12
government.c
V 23
file he.5f2.r18404/6822
K 12
government.h
V 23
file hf.5f2.r18404/7081
K 6
idex.c
V 23
file qo.5ck.r18342/2669
K 6
idex.h
V 21
file qp.0.r8119/15235
K 13
improvement.c
V 24
file vb.5f2.r19459/16882
K 13
improvement.h
V 24
file vc.5f2.r19459/17143
K 5
map.c
V 23
file r.5f2.r18904/15975
K 5
map.h
V 24
file 41.5f2.r18904/16231
K 10
movement.c
V 24
file 2xv.5f2.r18658/2250
K 10
movement.h
V 25
file 2xw.5f2.r18579/21839
K 18
name_translation.h
V 25
file 4k1.5f2.r19438/11489
K 8
nation.c
V 23
file il.5f2.r18707/5017
K 8
nation.h
V 23
file im.5f2.r18707/5271
K 9
packets.c
V 24
file 43.5f2.r18624/60682
K 11
packets.def
V 25
file 2f5.5f2.r18564/27847
K 9
packets.h
V 24
file 44.5ck.r18100/70467
K 8
player.c
V 23
file 45.5f2.r19329/1803
K 8
player.h
V 23
file 46.5f2.r19103/7459
K 14
requirements.c
V 25
file 2wq.5ck.r18326/39682
K 14
requirements.h
V 25
file 2wr.5ck.r17509/18916
K 10
research.c
V 24
file 4ro.5ck.r17856/7997
K 10
research.h
V 23
file 4rp.5f2.r19401/177
K 11
spaceship.c
V 20
file 98.0.r9977/2632
K 11
spaceship.h
V 24
file 99.5ck.r18054/26016
K 12
specialist.c
V 25
file 33f.5ck.r18326/38937
K 12
specialist.h
V 25
file 33g.5ck.r18326/39185
K 6
team.c
V 23
file 33i.5f2.r19039/556
K 6
team.h
V 24
file 33j.5ck.r18062/9861
K 6
tech.c
V 21
file t.5f2.r19098/204
K 6
tech.h
V 21
file u.5f2.r19401/375
K 9
terrain.c
V 26
file 2fp.5ck.r18308/147138
K 9
terrain.h
V 23
file qs.5f2.r19006/2572
K 6
tile.c
V 25
file 2ys.5f2.r18739/13391
K 6
tile.h
V 24
file 2yt.5f2.r18644/6312
K 6
unit.c
V 23
file v.5f2.r19495/12355
K 6
unit.h
V 24
file 48.5f2.r19495/12606
K 10
unitlist.c
V 25
file 39m.5f2.r18579/22102
K 10
unitlist.h
V 24
file 39n.5f2.r18567/2793
K 10
unittype.c
V 23
file v9.5f2.r18585/1099
K 10
unittype.h
V 24
file va.5f2.r19026/11315
K 9
version.c
V 25
file oe.5ck.r17122/322944
K 9
version.h
V 21
file e7.0.r13518/7887
K 8
vision.c
V 25
file 4dm.5ck.r18000/29175
K 8
vision.h
V 25
file 4dn.5ck.r18000/29420
K 10
worklist.c
V 25
file o8.5ck.r16929/277491
K 10
worklist.h
V 23
file o9.5ck.r18038/1433
END
ENDREP
id: p.5f2.r19509/30468
type: dir
pred: p.5f2.r19495/16353
count: 2952
text: 19509 26977 3478 3478 64198a73a4e5f843520b8aa4a7fe01eb
props: 12883 2571 96 0 2763e13ff5d021346ae24ff6c9ced232
cpath: /branches/S2_3/common
copyroot: 18395 /branches/S2_3

id: 10e.5f2.r19509/30716
type: file
pred: 10e.5f2.r19508/6496
count: 31
text: 19509 0 5800 16387 36c01ca3ff85fe76c7201fcb9456d5ca
props: 10534 1625 111 0 2a5912525b098cb46a1301ee940f7617
cpath: /branches/S2_3/client/gui-gtk-2.0/gotodlg.c
copyroot: 18395 /branches/S2_3

PLAIN
K 11
Makefile.am
V 24
file zu.5ck.r17430/16398
K 8
canvas.c
V 25
file 2y6.5ck.r16281/14174
K 8
canvas.h
V 23
file 2y7.0.r10096/14437
K 16
caravan_dialog.c
V 26
file 376.5ck.r18308/161816
K 10
chatline.c
V 25
file zw.5ck.r18308/163850
K 10
chatline.h
V 24
file zx.5ck.r16063/47311
K 15
choice_dialog.c
V 26
file 377.5ck.r17122/362877
K 15
choice_dialog.h
V 23
file 378.0.r12670/99360
K 9
citydlg.c
V 22
file zy.5f2.r19460/741
K 9
citydlg.h
V 20
file zz.0.r5493/6351
K 9
cityrep.c
V 26
file 100.5ck.r18308/162339
K 9
cityrep.h
V 25
file 101.5ck.r18101/91562
K 8
cma_fe.c
V 22
file 102.5ck.r17403/53
K 8
cma_fe.h
V 25
file 103.5ck.r15813/67548
K 8
colors.c
V 26
file 104.5ck.r17122/362357
K 8
colors.h
V 24
file 105.5ck.r16180/3087
K 12
connectdlg.c
V 26
file 106.5ck.r15410/343701
K 12
connectdlg.h
V 21
file 107.0.r7580/6878
K 9
dialogs.c
V 23
file 108.5f2.r19441/761
K 9
dialogs.h
V 22
file 109.0.r11212/7101
K 10
diplodlg.c
V 23
file 10a.5f2.r19149/446
K 10
diplodlg.h
V 23
file 10b.0.r9577/108261
K 17
diplomat_dialog.c
V 25
file 36n.5ck.r18382/16671
K 9
editgui.c
V 26
file 4ej.5f2.r18451/125522
K 9
editgui.h
V 25
file 4ek.5ck.r15355/70937
K 10
editprop.c
V 25
file 4el.5f2.r19026/15328
K 10
editprop.h
V 26
file 3bj.5f3.r18451/125959
K 10
embedggz.c
V 26
file 4gq.5ck.r17122/363137
K 9
finddlg.c
V 25
file 10c.5ck.r16015/48885
K 9
finddlg.h
V 22
file 2d0.0.r5989/22356
K 10
gamedlgs.c
V 26
file 10d.5ck.r17122/363800
K 9
gotodlg.c
V 25
file 10e.5f2.r19509/30716
K 9
gotodlg.h
V 24
file 10f.5f2.r19508/6767
K 10
graphics.c
V 23
file 10g.0.r11337/79662
K 10
graphics.h
V 23
file 10h.0.r11337/80150
K 12
gtkpixcomm.c
V 25
file 10i.5ck.r16973/10277
K 12
gtkpixcomm.h
V 22
file 10j.0.r10800/1606
K 10
gui_main.c
V 24
file 10k.5f2.r19508/7034
K 10
gui_main.h
V 25
file 10l.5ck.r18048/13615
K 11
gui_stuff.c
V 24
file 10m.5f2.r18440/2633
K 11
gui_stuff.h
V 25
file 10n.5ck.r18150/60736
K 11
happiness.c
V 23
file 10o.5ck.r17522/118
K 11
happiness.h
V 23
file 10p.0.r9577/106064
K 9
helpdlg.c
V 23
file 10q.5f2.r19005/552
K 9
helpdlg.h
V 23
file 10r.0.r4313/267882
K 10
inputdlg.c
V 25
file 10s.5ck.r16015/49143
K 10
inputdlg.h
V 21
file 10t.0.r7580/3991
K 10
inteldlg.c
V 25
file 10u.5f2.r18914/16032
K 10
inteldlg.h
V 23
file 2d1.0.r9577/108626
K 9
mapctrl.c
V 24
file 10v.5f2.r18996/7705
K 9
mapctrl.h
V 25
file 10w.5bk.r14157/11089
K 9
mapview.c
V 25
file 10x.5ck.r18076/31042
K 9
mapview.h
V 24
file 10y.5ck.r17351/2736
K 6
menu.c
V 25
file 10z.5f2.r18914/15761
K 6
menu.h
V 25
file 110.5ck.r16067/65085
K 12
messagedlg.c
V 23
file 111.0.r11771/10924
K 12
messagedlg.h
V 22
file 2d2.0.r5989/22693
K 12
messagewin.c
V 22
file 112.5ck.r18211/79
K 12
messagewin.h
V 25
file 113.5ck.r18082/27153
K 11
optiondlg.c
V 25
file 4js.5ck.r18314/70594
K 11
optiondlg.h
V 25
file 114.5ck.r17037/29773
K 7
pages.c
V 23
file 2pi.5f2.r19490/421
K 7
pages.h
V 25
file 2pj.5ck.r18054/34881
K 8
plrdlg.c
V 25
file 115.5ck.r18150/61512
K 8
plrdlg.h
V 22
file 116.0.r10803/7069
K 10
ratesdlg.h
V 22
file 2d3.0.r5989/22018
K 4
rc2c
V 23
file 117.0.r4313/274431
K 10
repodlgs.c
V 24
file 118.5f2.r19060/3618
K 10
repodlgs.h
V 24
file 119.5f2.r18440/2365
K 11
resources.c
V 23
file 11a.0.r5390/112550
K 11
resources.h
V 23
file 11b.0.r4313/267539
K 14
spaceshipdlg.c
V 26
file 11c.5ck.r17042/129784
K 14
spaceshipdlg.h
V 23
file 11d.0.r9577/110090
K 8
sprite.c
V 25
file 2y8.5ck.r18314/70793
K 8
sprite.h
V 23
file 2y9.0.r10141/29270
K 11
theme_dlg.c
V 26
file 47d.5ck.r17122/361837
K 8
themes.c
V 26
file 34x.5ck.r17122/358813
K 13
tileset_dlg.c
V 26
file 45i.5ck.r18362/132286
K 14
voteinfo_bar.c
V 25
file 4h8.5ck.r18314/71050
K 14
voteinfo_bar.h
V 24
file 4h9.5ck.r17959/2670
K 7
wldlg.c
V 25
file 11e.5f2.r19459/24035
K 7
wldlg.h
V 25
file 11f.5ck.r16285/86707
END
ENDREP
id: zs.5f2.r19509/34747
type: dir
pred: zs.5f2.r19508/11067
count: 1453
text: 19509 30986 3748 3748 eca28f3c3a918f8aca646ff8b92a3082
props: 11108 11912 79 0 480bb3268560e84c2d6c8376c422c65e
cpath: /branches/S2_3/client/gui-gtk-2.0
copyroot: 18395 /branches/S2_3

id: 2g3.5f2.r19509/35010
type: file
pred: 2g3.5f2.r19026/19576
count: 144
text: 19509 5827 6001 55359 ca0f345ae0b14915a919807ec16b6b03
props: 11057 45424 111 0 93646be3752db5a3cd8e77177837d494
cpath: /branches/S2_3/client/text.c
copyroot: 18395 /branches/S2_3

id: 2g4.5f2.r19509/35271
type: file
pred: 2g4.5ck.r17475/5221
count: 21
text: 19509 11859 123 2722 a36922d45c43e8304a6d3aec21819c18
props: 10887 4603 111 0 8e6f231ffe21dad0a34f68090b1c0b69
cpath: /branches/S2_3/client/text.h
copyroot: 18395 /branches/S2_3

PLAIN
K 11
Makefile.am
V 24
file 5f.5f2.r18992/11559
K 6
agents
V 22
dir zf.5f2.r18768/1034
K 11
attribute.c
V 23
file xh.5ck.r18350/7014
K 11
attribute.h
V 19
file xi.0.r4715/844
K 7
audio.c
V 26
file 139.5ck.r17122/401512
K 7
audio.h
V 25
file 13a.5ck.r18054/43658
K 12
audio_none.c
V 23
file 13d.0.r6129/145164
K 12
audio_none.h
V 22
file 13e.0.r4452/27228
K 11
audio_sdl.c
V 26
file 13f.5ck.r16578/477644
K 11
audio_sdl.h
V 22
file 13g.0.r4452/26570
K 17
chatline_common.c
V 25
file 14q.5ck.r18289/38798
K 17
chatline_common.h
V 25
file 14r.5ck.r18289/39050
K 16
citydlg_common.c
V 24
file z4.5f2.r19459/23771
K 16
citydlg_common.h
V 24
file z5.5ck.r18054/34390
K 13
cityrepdata.c
V 22
file mb.5f2.r19437/709
K 13
cityrepdata.h
V 24
file mc.5ck.r18054/34639
K 11
civclient.c
V 23
file 4f2.5ck.r15408/695
K 13
client_main.c
V 21
file 2f.5fb.r19242/78
K 13
client_main.h
V 23
file hz.5cq.r16632/1773
K 8
climap.c
V 25
file 197.5ck.r16888/19519
K 8
climap.h
V 25
file 198.5ck.r16888/20012
K 9
climisc.c
V 23
file d5.5f2.r19329/6055
K 9
climisc.h
V 23
file i0.5f2.r19329/6313
K 8
clinet.c
V 24
file hc.5f2.r18605/21622
K 8
clinet.h
V 25
file i1.5bk.r14427/324634
K 15
colors_common.c
V 24
file 33a.5ck.r18351/1671
K 15
colors_common.h
V 25
file 33b.5ck.r16397/92170
K 19
connectdlg_common.c
V 23
file 2fw.5f2.r19500/442
K 19
connectdlg_common.h
V 25
file 2fx.5ck.r16532/38983
K 9
control.c
V 23
file gz.5f2.r19508/6241
K 9
control.h
V 24
file i2.5f2.r18996/12009
K 7
dummy.c
V 23
file 4f9.5ck.r15641/551
K 8
editor.c
V 25
file 3bg.5f2.r18644/10324
K 8
editor.h
V 26
file 3bh.5f2.r18451/131632
K 11
ggzclient.c
V 25
file 394.5ck.r18061/46733
K 11
ggzclient.h
V 24
file 395.0.r12670/122419
K 17
global_worklist.c
V 25
file 4i6.5f2.r18642/15850
K 17
global_worklist.h
V 26
file 4i7.5ck.r16319/100206
K 6
goto.c
V 25
file vu.5ck.r18383/114475
K 6
goto.h
V 24
file vv.5ck.r15509/18108
K 8
gui-ftwl
V 24
dir 2k2.5f2.r18913/44390
K 11
gui-gtk-2.0
V 23
dir zs.5f2.r19509/34747
K 7
gui-sdl
V 24
dir 16t.5f2.r19508/22593
K 8
gui-stub
V 23
dir mh.5f2.r19508/25673
K 9
gui-win32
V 23
dir np.5f2.r19053/33291
K 7
gui-xaw
V 23
dir 9o.5f2.r19508/14774
K 10
helpdata.c
V 23
file h1.5f2.r19397/5620
K 10
helpdata.h
V 24
file i3.5f2.r18573/28199
K 7
include
V 23
dir b8.5f2.r19508/16811
K 16
mapctrl_common.c
V 26
file 15m.5ck.r18308/189026
K 16
mapctrl_common.h
V 25
file 15n.5ck.r18054/43899
K 16
mapview_common.c
V 24
file z2.5f2.r19407/19373
K 16
mapview_common.h
V 24
file z3.5f2.r19407/19641
K 19
messagewin_common.c
V 25
file 14s.5ck.r18357/12915
K 19
messagewin_common.h
V 25
file 14t.5ck.r18082/46403
K 9
options.c
V 23
file dc.5f2.r19371/8862
K 9
options.h
V 23
file i4.5ck.r18115/6527
K 17
overview_common.c
V 25
file 2yk.5ck.r17735/12797
K 17
overview_common.h
V 25
file 2yl.5ck.r16930/40516
K 10
packhand.c
V 22
file n.5f2.r19329/5797
K 10
packhand.h
V 24
file i5.5bk.r14422/90154
K 15
plrdlg_common.c
V 25
file 14u.5ck.r18042/20931
K 15
plrdlg_common.h
V 25
file 14v.5ck.r18054/42900
K 17
repodlgs_common.c
V 25
file 11i.5f2.r19459/28333
K 17
repodlgs_common.h
V 26
file 11j.5ck.r18151/137972
K 9
reqtree.c
V 24
file 2ym.5f2.r19058/3666
K 9
reqtree.h
V 24
file 2yn.5f2.r19058/3927
K 9
servers.c
V 25
file 33x.5f2.r19198/10339
K 9
servers.h
V 24
file 33y.5f2.r19198/5785
K 6
text.c
V 25
file 2g3.5f2.r19509/35010
K 6
text.h
V 25
file 2g4.5f2.r19509/35271
K 15
themes_common.c
V 25
file 352.5ck.r16930/48921
K 15
themes_common.h
V 25
file 353.5ck.r16930/49172
K 10
tilespec.c
V 23
file hl.5f2.r19387/2227
K 10
tilespec.h
V 24
file i6.5ck.r16930/49667
K 14
update_queue.c
V 22
file 4jw.5f2.r18410/59
K 14
update_queue.h
V 25
file 4jx.5ck.r18357/13363
K 10
voteinfo.c
V 23
file 4fe.5ck.r17708/187
K 10
voteinfo.h
V 25
file 4ff.5ck.r16201/17543
END
ENDREP
id: d.5f2.r19509/39275
type: dir
pred: d.5f2.r19508/29678
count: 5086
text: 19509 35528 3734 3734 3e92eb490665ae27457fbe38de9ed3c4
props: 17175 1380 160 0 7b3e01f16aae8514c8fa39e5f80a327d
cpath: /branches/S2_3/client
copyroot: 18395 /branches/S2_3

PLAIN
K 9
ABOUT-NLS
V 22
file fu.0.r13215/85704
K 7
AUTHORS
V 19
file 5u.0.r12982/94
K 7
COPYING
V 19
file 1h.0.r9643/400
K 9
ChangeLog
V 26
file 6l.5f2.r19244/2167680
K 7
INSTALL
V 21
file 6.5f2.r19422/445
K 11
Makefile.am
V 24
file 59.5ck.r17690/10482
K 4
NEWS
V 22
file 6m.5f2.r18757/131
K 6
README
V 20
file 7.0.r4421/96382
K 2
ai
V 21
dir 8.5f2.r19502/2341
K 10
autogen.sh
V 23
file 12o.5f2.r19422/686
K 9
bootstrap
V 24
dir 2p5.5ck.r17613/37512
K 6
client
V 22
dir d.5f2.r19509/39275
K 6
common
V 22
dir p.5f2.r19509/30468
K 12
config.mac.h
V 20
file hb.0.r6045/5982
K 12
configure.ac
V 22
file 149.5f2.r19497/87
K 4
data
V 21
dir w.5f2.r19493/4896
K 6
debian
V 22
dir 5w.5f2.r18990/6094
K 12
dependencies
V 22
dir 2yu.5f2.r19483/184
K 11
diff_ignore
V 21
file qq.5ck.r17605/92
K 3
doc
V 22
dir k7.5f2.r19435/1961
K 10
fc_version
V 22
file 2lo.5f4.r19243/46
K 2
m4
V 23
dir 12p.5f2.r19081/2453
K 6
manual
V 24
dir 2m2.5f2.r19275/16137
K 7
modinst
V 23
dir 4pj.5f2.r19309/1783
K 2
po
V 24
dir fs.5f2.r19484/371394
K 7
scripts
V 22
dir 2yo.5f2.r19279/687
K 6
server
V 22
dir z.5f2.r19509/26214
K 10
stamp-h.in
V 19
file 80.0.r1125/241
K 5
tests
V 22
dir 2g9.5ck.r15661/767
K 7
utility
V 22
dir 1c.5f2.r18992/3362
K 3
vms
V 21
dir u9.0.r11105/70719
K 5
win32
V 24
dir 2eu.5bk.r13732/30345
END
ENDREP
id: 3.5f2.r19509/40827
type: dir
pred: 3.5f2.r19508/31229
count: 14160
text: 19509 39524 1290 1290 7e6d6dfc2bcec9d1cc6bf22dc8982e39
props: 17175 3052 264 0 91336f1f63d2f606e65376614b5c72e4
cpath: /branches/S2_3
copyroot: 18395 /branches/S2_3

PLAIN
K 5
S1_14
V 21
dir 3.21.r18109/18803
K 4
S2_0
V 22
dir 3.10x.r18110/10487
K 4
S2_1
V 22
dir 3.59e.r18786/42474
K 4
S2_2
V 21
dir 3.5cy.r19503/3924
K 4
S2_3
V 22
dir 3.5f2.r19509/40827
K 11
freeciv-web
V 22
dir 3.5bl.r13594/14918
END
ENDREP
id: 1.0.r19509/41316
type: dir
pred: 1.0.r19508/31717
count: 4979
text: 19509 41070 233 233 012c8cc9c485980958e5f57bb1ce7781
cpath: /branches
copyroot: 0 /

PLAIN
K 8
branches
V 20
dir 1.0.r19509/41316
K 4
tags
V 19
dir 2.0.r19429/5398
K 5
trunk
V 22
dir 3.5ck.r19506/30099
K 7
website
V 18
dir 3ge.0.r12388/0
END
ENDREP
id: 0.0.r19509/41637
type: dir
pred: 0.0.r19508/32037
count: 19509
text: 19509 41473 151 151 20e40523f30f55f87f15bb2ae5b520ee
cpath: /
copyroot: 0 /

3q.5f2.t19508-1 modify true false /branches/S2_3/common/city.h

2g4.5f2.t19508-1 modify true false /branches/S2_3/client/text.h

4i.5f2.t19508-1 modify true false /branches/S2_3/server/cityturn.c

q.5f2.t19508-1 modify true false /branches/S2_3/common/city.c

10e.5f2.t19508-1 modify true false /branches/S2_3/client/gui-gtk-2.0/gotodlg.c

2g3.5f2.t19508-1 modify true false /branches/S2_3/client/text.c


41637 41787
