DELTA 17079 203 11373
SVN  ††|†…W ‚û{ µ M…@ u‚þe¢ ƒ…|ƒ return name_translation(&city_styles[style].name);
}
rule_name(&city_styles[style].nameENDREP
DELTA 15813 45663 1816
SVN  ÛtßC5ˆ …e €c ƒ†€r ’.Š~€ƒX –
žd† ´n† „>Ä|€{ 7É6€S Ëo/* utility */
#include "shared.h"

/* common */
#include "fc_types.h"
#include "name_translation.h"};

/* S_LAST-terminated */
extern enum tile_special_type infrastructure_specials[];

BV_DEFINE(bv_special, S_LAST#define SPECENUM_NAME mapgen_terrain_property
#define SPECENUM_VALUE0   MG_MOUNTAINOUS
#define SPECENUM_VALUE1   MG_GREEN
#define SPECENUM_VALUE2   MG_FOLIAGE
#define SPECENUM_VALUE3   MG_TROPICAL
#define SPECENUM_VALUE4   MG_TEMPERATE
#define SPECENUM_VALUE5   MG_COLD
#define SPECENUM_VALUE6   MG_FROZEN
#define SPECENUM_VALUE7   MG_WET
#define SPECENUM_VALUE8   MG_DRY
#define SPECENUM_VALUE9   MG_OCEAN_DEPTH
#define SPECENUM_VALUE10  MG_LAST
#include "specenum_gen.h"const const bool is_native_terrain_to_special(enum tile_special_type special,
                                  const struct terrain *pterrain);
bool is_native_tile_to_special(enum tile_special_type special,
                               const struct tile *ptileint get_preferred_pillage(bv_special pset,
                          bv_bases basesENDREP
DELTA 2789 4650 3675
SVN  ²f´u®= †8 €®=/* utility */
#include "support.h"            /* bool */

/* common */
#include "fc_types.h"
#include "name_translation.h"
#include "requirements.h"

/* B_LAST is a value that is guaranteed to be larger than all
 * actual Impr_type_id values.  It is used as a flag value; it can
 * also be used for fixed allocations to ensure ability to hold the
 * full number of improvement types.
 *
 * B_NEVER is the pointer equivalent replacement for B_LAST flag value.
 */
#define B_LAST MAX_NUM_ITEMS

#define B_NEVER (NULL)


/* Changing these breaks network compatibility. */
enum impr_flag_id {
  IF_VISIBLE_BY_OTHERS,  /* improvement should be visible to others without spying */
  IF_SAVE_SMALL_WONDER,  /* this small wonder is moved to another city if game.savepalace is on. */
  IF_GOLD,		 /* when built, gives gold */
  IF_LAST
};

enum impr_genus_id {
  IG_GREAT_WONDER,
  IG_SMALL_WONDER,
  IG_IMPROVEMENT,
  IG_SPECIAL,
  IG_LAST
};

BV_DEFINE(bv_imprs, B_LAST);

/* Type of improvement. (Read from buildings.ruleset file.) */
struct impr_type {
  Impr_type_id item_number;
  struct name_translation name;
  char graphic_str[MAX_LEN_NAME];	/* city icon of improv. */
  char graphic_alt[MAX_LEN_NAME];	/* city icon of improv. */
  struct requirement_vector reqs;
  struct advance *obsolete_by;		/* A_NEVER = never obsolete */
  struct impr_type *replaced_by;	/* B_NEVER = never replaced */
  int build_cost;			/* Use wrappers to access this. */
  int upkeep;
  int sabotage;		/* Base chance of diplomat sabotage succeeding. */
  enum impr_genus_id genus;		/* genus; e.g. GreatWonder */
  unsigned int flags;
  char *helptext;
  char soundtag[MAX_LEN_NAME];
  char soundtag_alt[MAX_LEN_NAME];

  bool allows_units;   /* Cache */
};


/* General improvement accessor functions. */
Impr_type_id improvement_count(void);
Impr_type_id improvement_index(const struct impr_type *pimprove);
Impr_type_id improvement_number(const struct impr_type *pimprove);

struct impr_type *improvement_by_number(const Impr_type_id id);

struct impr_type *valid_improvement(struct impr_type *pimprove);
struct impr_type *valid_improvement_by_number(const Impr_type_id id);

struct impr_type *find_improvement_by_rule_name(const char *name);
struct impr_type *find_improvement_by_translated_name(const char *name);

const char *improvement_rule_name(const struct impr_type *pimprove);
const char *improvement_name_translation(const struct impr_type *pimprove);

/* General improvement flag accessor routines */
bool improvement_has_flag(const struct impr_type *pimprove,
			  enum impr_flag_id flag);
enum impr_flag_id find_improvement_flag_by_rule_name(const char *s);

/* Ancillary routines */
int impr_build_shield_cost(const struct impr_type *pimprove);
int impr_buy_gold_cost(const struct impr_type *pimprove, int shields_in_stock);
int impr_sell_gold(const struct impr_type *pimprove);

bool is_improvement_visible(const struct impr_type *pimprove);

bool is_great_wonder(const struct impr_type *pimprove);
bool is_small_wonder(const struct impr_type *pimprove);
bool is_wonder(const struct impr_type *pimprove);
bool is_improvement(const struct impr_type *pimprove);
bool is_special_improvement(const struct impr_type *pimprove);

bool can_sell_building(struct impr_type *pimprove);
bool can_city_sell_building(const struct city *pcity,
			    struct impr_type *pimprove);

/* Macros for struct packet_game_info::great_wonder_owners[]. */
#define WONDER_DESTROYED -2     /* Used as player id. */
#define WONDER_NOT_OWNED -1     /* User as player id. */
#define WONDER_OWNED(player_id) ((player_id) >= 0)

/* Macros for struct player::wonders[]. */
#define WONDER_NOT_BUILT 0      /* User as city id. */
#define WONDER_BUILT(city_id) ((city_id) != WONDER_NOT_BUILT)

void wonder_built(const struct city *pcity, const struct impr_type *pimprove);
void wonder_destroyed(const struct city *pcity,
                      const struct impr_type *pimprove);

bool wonder_is_built(const struct player *pplayer,
                     const struct impr_type *pimprove);
struct city *find_city_from_wonder(const struct player *pplayer,
                                   const struct impr_type *pimprove);

bool great_wonder_is_built(const struct impr_type *pimprove);
bool great_wonder_is_destroyed(const struct impr_type *pimprove);
bool great_wonder_is_available(const struct impr_type *pimprove);
struct city *find_city_from_great_wonder(const struct impr_type *pimprove);
struct player *great_wonder_owner(const struct impr_type *pimprove);

bool small_wonder_is_built(const struct player *pplayer,
                           const struct impr_type *pimprove);
struct city *find_city_from_small_wonder(const struct player *pplayer,
                                         const struct impr_type *pimprove);

/* player related improvement functions */
bool improvement_obsolete(const struct player *pplayer,
			  const struct impr_type *pimprove);
bool impr_provides_buildable_units(const struct player *pplayer,
                                   const struct impr_type *pimprove);

bool can_player_build_improvement_direct(const struct player *p,
					 struct impr_type *pimprove);
bool can_player_build_improvement_later(const struct player *p,
					struct impr_type *pimprove);
bool can_player_build_improvement_now(const struct player *p,
				      struct impr_type *pimprove);

/* General genus accessor routines */
enum impr_genus_id find_genus_by_rule_name(const char *s);

/* Initialization and iteration */
void improvements_init(void);
void improvements_free(void);

struct impr_type *improvement_array_first(void);
const struct impr_type *improvement_array_last(void);

#define improvement_iterate(_p)						\
{									\
  struct impr_type *_p = improvement_array_first();			\
  if (NULL != _p) {							\
    for (; _p <= improvement_array_last(); _p++) {

#define improvement_iterate_end						\
    }									\
  }									\
}
#endif  /* FC__IMPROVEMENT_H */
ENDREP
DELTA 15428 9933 1286
SVN  Ð9ÔMZ‡+ …c  ŒK…x˜ EŠ@€ƒ Pµ@ …S’>€H ^µ@“ "–^€K Yµ@ Š4d· „§{€L …_¬<£ ‚o²'· h·:– EŠ@ Ž¶y€k Š~Å;Is tile native to base?
*******/
bool is_native_tile_to_base(const struct base_type *pbase,
                            const struct tile *ptile)
{
  /* FIXME: Bases cannot be built in a city currently?  It should be a
   * a negative requirement in the ruleset. */
  return (!tile_city(ptile)
          && are_reqs_active(NULL, NULL, NULL, ptile,
                             NULL, NULL, NULL, &pbase->reqs, RPT_POSSIBLE))const struct base_type *pbase)
{
  return name_translation(&pbase->name)(untranslated) rulerule_name(const struct base_type *pbase)
{
  return rule_name(&pbase->name)if (tile_has_base(ptile, pbase)) {
    /* Exist already
  fc_assert_ret_val(ARRAY_SIZE(base_type_flag_names) == BF_LAST, BF_LAST);
fc_assert_ret_val(NULL != pbase, -1fc_assert_ret_val(NULL != pbase, -1);
  return pbase - number of base_types.

  fc_assert_ret_val(ARRAY_SIZE(base_gui_type_names) == BASE_GUI_LAST,
                    BASE_GUI_LAST);
ENDREP
DELTA 17079 14442 537
SVN  âGâe †  ÜI…~name_translationENDREP
DELTA 16931 4889 296
SVN   ] c
 ‘w † Žf‘wconst ENDREP
DELTA 16861 13702 809
SVN  Ä&Ál	  ®  “P°VENDREP
DELTA 16929 222590 2538
SVN  ‚©‚¥h;` Þ €P ^¤Œ æ} ƒ*âC› ^¤ ˆ]æj† „	ïG€K ^¤ nöN˜ R¤ ¯qù*const struct unit_type *punittype)
{
  return name_translation(&punittype->name)(translated)rule_name(&punittype->name)const const struct unit_class *pclass)
{
  return name_translation(&pclass->name)rule_name(&pclass->name)ENDREP
DELTA 16578 147079 8725
SVN  ð&îqqŠ …t €‚  Œ‡g€E YÈ   ”¦ ‡T–.€ žW€q ƒ8¯,€f Ã%³(´ ƒöo´ §wú€@ µA¢1€L PÈ  ‚Úcš RÈ  …@Ý\€f Yæ*´ EÈ  ‡pè6stdlib.h>             /* exit */
#include <string.h>
#include <math.h>

/* utility */
#include "fcintl.h"
#include "game.h"
#include "log.h"
#include "mem.h"                /* free */
#include "shared.h"             /* ARRAY_SIZE */
#include "support.h"

/* common */
#include "player.h"
fc_assert_ret_val(NULL != padvance, -1);
  return padvance - advancesfc_assert_ret_val(NULL != padvance, -1fc_assert_ret_val(tech == A_FUTURE
                    || (tech >= 0 && tech < game.control.num_tech_types),
                    -1fc_assert_ret_val(require >= 0 && require < AR_SIZE, -1);
  fc_assert_ret_val(tech >= A_NONE || tech < A_LAST, -1fc_assert_ret_val(require >= 0 && require < AR_SIZE, NULL);
  fc_assert_ret_val(NULL != padvance, NULLfc_assert_ret_val(flag >= 0 && flag < TF_LAST, FALSEfc_assert_ret_val(ARRAY_SIZE(flag_names) == TF_LAST,fc_assert_ret_val(pplayer->ai_data.science_cost > 0, FC_INFINITYconst struct advance *padvance)
{
  return name_translation(&padvance->name)rule_name(&padvance->name)name_set(&advances[A_NONE].name, N_("None"));

  /* Initialize dummy tech A_UNSET */
  name_set(&advances[A_UNSET].name, N_("None"));

  /* Initialize dummy tech A_FUTURE */
  name_set(&advances[A_FUTURE].name, N_("Future Tech."))name_set(&advances[A_UNKNOWN].name, N_("(Unknown)"))ENDREP
DELTA 16578 20179 1710
SVN  Ë!È3d‡  …j € X‡  G  Œˆ€F ^¾<’ Eˆ@€h …w—<€F P¾< Nž8  ƒ €L P¾< _¤,€y P¾< …(©¬ „<®z€h E¾< ‚`¶&€d ‘\¹E/* utility */
#include "fcintl.h"
#include "log.h"
#include "mem.h"
#include "shared.h"
#include "support.h"

/* common */
#include "game.h"
#include "playerfc_assert_ret_val(NULL != pgovern, -1);
  return pgovern - governmentsgovernment index.
*****/
int government_number(const struct government *pgovern)
{
  fc_assert_ret_val(NULL != pgovern, -1fc_assert_ret_val(NULL != pplayer, NULL);
  return pplayer->governmentfc_assert_ret_val(NULL != pcity,fc_assert_ret_val(NULL != pgovern, NULL);
  return rule_name(&pgovern->name)const struct government *pgovern)
{
  fc_assert_ret_val(NULL != pgovern, NULL);
  return name_translation(&pgovern->name)int i;

  fc_assert_ret_val(NULL != pp, NULLreturn name_translation(pp->is_male ? &best_match->male
                          : &best_match->female)                              const struct government *gov)
{
  fc_assert_ret_val(NULL != gov, FALSEENDREP
DELTA 16518 0 598
SVN  ëfë="r …g €` ¼x† …"Ãz† É† Ê$† ”+×;/* utility */
#include "shared.h"

/* common */
#include "fc_types.h"
#include "name_translationconst const const ENDREP
DELTA 14427 22829 4042
SVN  ›P¤Ptš ‡# €ƒ ‚}‰*€‡ !Ž`€= ‹Gu¿ PÛ@ bc€ PÛ@ `£>€ PÛ@ ‰B©$ ƒQ²| ƒ ¶f †Sº! „Á ƒ?Å;€_ ƒ=É\  ‚KÍ(€T PÛ@– J…u ƒÒf¸ ]„| ‚Ö€B PÛ@ Sá? %Úk± A¸@€T PÛ@¯ A¸@€] PÛ@® A¸@€h PÛ@° A¸@€ PÛ@¯ A¸@€‚ EÛ@ ”\á! ƒöŠ 5ù0¥ iû€F …hüI¤ ‚‚>¤ –f„j/* utility */
#include "fcintl.h"
#include "log.h"
#include "mem.h"
#include "support.h"

/* common */
#include "connection.h"
#include "game.h"
#include "government.h"
#include "player.h"
#include "tech.h"

#include "nation.h"

static struct nation_type *nations = NULL;

struct nation_iter {
  struct iterator vtable;
  struct nation_type *p, *end;
};
#define NATION_ITER(p) ((struct nation_iter *)(p))#define bounds_check_nation(pnation, loglevel)                              \
    real_bounds_check_nation(pnation, loglevel,                             \
                             log_do_output_for_level(loglevel), __FILE__,   \
                             __FUNCTION__, __LINE__)
static bool real_bounds_check_nation(const struct nation_type *pnation,
                                     enum log_level level, bool do_output,
                                     const char *file, const char *function,
                                     int line)
{
  if (0 == nation_count()) {
    if (do_output) {
      do_log(file, function, line, TRUE, level,
             "Function called before nations setup.");
    }
    return FALSE;
  }
  if (NULL == pnation) {
    if (do_output) {
      do_log(file, function, line, TRUE, level,
             "This function has NULL nation argument.");
    }if (do_output) {
      do_log(file, function, line, TRUE, level,
             "This function has bad nation number %d (count %d).",
             pnation->item_number, nation_count());
    })) {
    return "";
  }
  return rule_name(&pnation->adjective)const struct nation_type *pnation)
{
  if (!bounds_check_nation(pnation, LOG_ERROR)) {
    return "";
  }
  return name_translation(&pnation->adjective)const struct nation_type *pnation)
{
  if (!bounds_check_nation(pnation, LOG_ERROR)) {
    return "";
  }
  return name_translation(&pnation->noun_plural)fc_assert_ret_val(NULL != pplayer, NULL);
  if (!bounds_check_nation(pplayer->nation, LOG_FATALfc_assert_ret_val(pcity != NULL,fc_assert_ret_val(punit != NULL, NULL);
  return nation_of_player(unit_owner(punit))**
  Return the nationfc_assert_ret_val(NULL != pnation, -1);
  return pnationfc_assert_ret_val(NULL != pnation, -1);
  return pnation - nations**
  Return the**
  Implementation of iterator 'sizeof' function*************/
size_t nation_iter_sizeof(void)
{
  return sizeof(struct nation_iter)**
  Implementation of iterator 'next' function*************/
static void nation_iter_next(struct iterator *iter)
{
  NATION_ITER(iter)->p++**
  Implementation of iterator 'get' function*************/
static void *nation_iter_get(const struct iterator *iter)
{
  return NATION_ITER(iter)->p**
  Implementation of iterator 'valid' function*************/
static bool nation_iter_valid(const struct iterator *iter)
{
  struct nation_iter *it = NATION_ITER(iter);
  return it->p < it->end**
  Implementation of iterator 'init' function*************/
struct iterator *nation_iter_init(struct nation_iter *it)
{
  it->vtable.next = nation_iter_next;
  it->vtable.get = nation_iter_get;
  it->vtable.valid = nation_iter_valid;
  it->p = nations;
  it->end = nations + nation_count();
  return ITERATOR(it)log_fatal(log_fatal("Duplicate group name %s.",log_fatal("Too many groups of nations (%d is the maximum)",
          fc_assert_ret_val(NULL != pgroup, -1fc_assert_ret_val(NULL != pgroup, -1ENDREP
DELTA 13518 0 2503
SVN  “8“;$„O B €E d‚,  Z„‘ ƒ6…\€‚9 †9‰G  }‘F = aicore

lib_LTLIBRARIES = libfreeciv.la

AM_CPPFLAGS = -I$(top_srcdir)/utility -I$(srcdir)/aicore

libfreeciv_la_SOURCES = \
		ai.c		\
		ai.h		\
		base.c		\
		base.h		\
		borders.c	\
		borders.heatured_text.c	\
		featured_textme_translation.h vision.c	\
		vision.h	\
		worklist.c	\
		worklist.h	\
		version.c	\
		version.h

libfreeciv_la_DEPENDENCIES = \
 $(top_builddir)/utility/libcivutility.la \
 $(top_builddir)/common/aicore/libaicore.la

libfreeciv_la_LIBADD = \
 $(top_builddir)/utility/libcivutility.la \
 $(top_builddir)/common/aicore/libaicore.laBUILT_SOURCES += fc_svnrev_gen.hENDREP
DELTA 13002 272960 6492
SVN  ¸	Å5x¡: …_ €& Q†'€] ‡x€H J‰(€‚ aŒ`€r ‚gc‚ 8L 6’€> •!¤ …]–p€ 	/ ‚ž@€8 T¡ =¢q– ‚8¤=€ˆ% D«~€†c ƒ'­%€†x·o/* utility */
#include "shared.h"

/* common */
#include "fc_types.h"
#include "name_translation.h"

/*
  [kept for amusement and posterity]
typedef int Tech_type_id;/* [more accurately]
 * Unlike most other indices, the Tech_type_id is widely used, because it 
 * so frequently passed to packet and scripting.  The client menu routines 
 * sometimes add and substract these numbers.
 */UNKNOWN (A_LAST-3)
#define A_LAST_REAL A_UNKNOWN

#define A_NEVER (NULL)ndicates that no tech is selected (for research).

   A_FUTURE indicates that the player is researching a future tech.

   A_UNKNOWN may be passed to other players instead of the actual value.

   A_LAST is a value that is guaranteed to be larger than all
   actual Tech_type_ility to hold the
   full number of techs.

   A_NEVER is the pointer equivalent replacement for A_LAST flag valueatPREREQS_KNOWNPREREQS_KNOWN = 1,
  TECH_KNOWN = 2,
};

enum tech_req {
  AR_ONE = 0,
  AR_TWO = 1,
  AR_ROOT = 2,
  AR_SIZE
};

struct advance {
  Tech_type_id item_number;
  struct name_translation name;
  struct advance *require[AR_SIZE];(not A_NONE)
   *  - A_FUTURE
   *  - A_UNSET (indicates need for choosing new research)
   * For enemies, A_UNKNOWN is sent to the client, but not on server
   *
   * Has the same values as researching, plus A_UNKNOWN used between turns
   * (not -1 anymore) for savegames. */
  Tech_type_id researching_saved;
  int bulbs_researching_savedPREREQS_KNOWNplayer_research_updateplayer_research_update.
   */
  int num_known_tech_with_flag[TF_LAST];
};

/* General advance/technology accessor functions. */
Tech_type_id advance_count(void);
Tech_type_id advance_index(const struct advance *padvance);
Tech_type_id advance_number(const struct advance *padvance);

struct advance *advance_by_number(const Tech_type_id atype);

struct advance *valid_advance(struct advance *padvance);
struct advance *valid_advance_by_number(const Tech_type_id atype);

struct advance *find_advance_by_rule_name(const char *name);
struct advance *find_advance_by_translated_name(const char *name);

const char *advance_name_by_player(const struct player *pplayer,
				   Tech_type_id tech);
const char *advance_name_for_player(const struct player *pplayer,
				    Tech_type_id tech);
const char *advance_name_researching(const struct player *pplayer);

const char *advance_rule_name(const struct advance *padvance);
const char *advance_name_translation(const struct advance *padvance);

/* General advance/technology flag accessor routines */
bool advance_hasfind_advance_flag_by_rule_name(const char *s);

/* FIXME: oddball function used in one place */
Tech_type_id find_advance_by_flag(Tech_type_id index, enum tech_flag_id flag);

/* Ancillary routines */
enum tech_state player_invention_state(const struct player *pplayer,
				       Tech_type_id tech);
enum tech_state player_invention_set(struct player *pplayer,
				     Tech_type_id tech,
				     enum tech_state value);
bool player_invention_reachable(const struct player *pplayer,
                                const Tech_type_id tech);

Tech_type_id player_research_step(const struct player *pplayer,
				  Tech_type_id goal);
void player_research_update(struct player *pplayer);

Tech_type_id advance_required(const Tech_type_id tech,
			      enum tech_req require);
struct advance *advance_requires(const struct advance *padvance,
				 enum tech_req require
			    Tech_type_id tech,
			    Tech_type_id goal);
bool is_future_tech(Tech_type_id tech);

void precalc_tech_data(void);

/* Initialization and iteration */
void player_research_init(struct player_research* research);

void techs_init(void);
void techs_free(void);

/* This iterates over almost all technologies.  It includes non-existent
 * technologies, but not A_FUTURE. */
#define advance_index_iterate(_start, _index)				\
{									\
  Tech_type_id _index = (_start);					\
  for (; _index < advance_count(); _index++) {

#define advance_index_iterate_end					\
  }									\
}

const struct advance *advance_array_last(void);

#define advance_iterate(_start, _p)					\
{									\
  struct advance *_p = advance_by_number(_start);			\
  if (NULL != _p) {							\
    for (; _p <= advance_array_last(); _p++) {

#define advance_iterate_end						\
    }									\
  }									\
}ENDREP
DELTA 13133 8028 1580
SVN  ˜T˜HZ m €T ƒtŽS† †’Gint government_count(void);
int government_index(const struct government *pgovern);
const ENDREP
DELTA 16958 1112 1130
SVN  ··I …c ½ œx†† £† ’c¤!/* common */
#include "fc_types.h"
#include "name_translationconst const ENDREP
DELTA 16945 14234 14781
SVN  †  †  |“( ‡ Ž ˆY‡oŒ ˆ
:¶ T†Ž« L…ì Û@šB† 'ÏQ 3Ðw€K „Ò0 ’6ý£ «7(‡ ”hºc† ‚YÏQ€K ŠHÒ0ª ìÝv† ²Q‚Ê€1 ‚kƒÿ† „~ ‚K„…€„  P„ƒu€„ Š)„ˆ7œ ƒ{…“Nœ ‘"…˜6œ †(…ªCœ .…±a¡ †3…Â• t…ÈU€w ,‚  _…Ìl¨ c…ÏL© ……á3  ‹…ç%· ƒ…ò^€T q…÷/¡ Š%†‡k€H ŒN†“2€gme_translationupdate_queuedestroy(invisible_cities);
    invisible_cities = NULL**
  Called only by handle_map_info() belowremovecity_map_radius_sq_get(pcity), ptile,
                                     radius_sq = packet->city_radius_sq;destroyremovecity_map_radius_sq_get(pcity), ptile,
                                      packet->size;
  pcity->size = packet->sizremove
      pconn = fc_calloc(1, sizeof(struct connection));
      pconn->buffer = NULL;
      pconn->send_buffer = NULL;
      pconn->ping_time = -1.0;
      if (pplayer) {
        remove
    if (pinfo->id == client.conn.id) {
      /* NB: In this case, pconn is not a duplication of client.conn.
       *
       * pconn->addr is our address that the server knows whereas
       * client.conn.addr is the address to the server. Also,
       * pconn->capability stores our capabilites known at server side
       * whereas client.conn.capability represents the capabilities of the
       * server. */
      if (client.conn.playing != pplayer
          || client.conn.observer != pinfo->observer) {
    * the game. */
        preparing_client_state = TRUE;
      }

      /* Copy our current state into the static structure (our connection
       * to the server). */
      client.conn.established = pinfo->established;
      client.conn.observer = pinfo->observer;
      client.conn.access_level = pinfo->access_level;
      client.conn.playing = pplayer;
      sz_strlcpy(client.conn.username, pinfo->username);
    }
  }

  update_players_dialog();
  update_conn_list_dialog();

  if (pinfo->used && pinfo->id == client.conn.idname_set(&c->name, p->name);name_set(&u->name, p->name);name_set(&a->name, p->name);name_set(&b->name, p->name);
  name_set(&gov->name, p->name);rule_name(&gov->name)name_set(&gov->ruler_titles[p->id].male, p->male_title);
  name_set(&gov->ruler_titles[p->id].female, p->female_title);name_set(&pterrain->name, p->name_orig);name_set(&presource->name, p->name_orig);name_set(&pbase->name, p->name);;

    group = add_new_nation_group(packet->groups[i]);name_set(&pl->adjective, p->adjective);
  name_set(&pl->noun_plural, p->noun_plural)name_set(&cs->name, packet->name)name_set(&s->name, p->name);
  name_set(&s->abbreviation, p->short_name)data.control) {
        popup_incite_dialog(pcity, cost);
      }
    }
    break;
  case DIPLOMAT_MOVE:
    if (can_client_issue_orders()) {
      process_diplomat_arrival(pdiplomat, target_id);
    }
    break;
  default:
    log†  Í\Î‚9 ‘eg€@ … “v€y ´h˜t                          client.last_processed_request_id_seen);
  update_queue_processing_started(client.conn.client.
                                  request_id_of_currently_handled_packet  update_queue_processing_finished(client.conn.client.
                                   last_processed_request_id_seen)ENDREP
DELTA 16929 44124 2694
SVN  ²2¯$" ŸR ” P˜= Y :€C P˜= i¤_€K \˜= ˆ`©Rrule_name(&sp->name)const struct specialist *sp)
{
  return name_translation(&sp->name)const struct specialist *sp)
{
  return name_translation(&sp->abbreviation)ENDREP
DELTA 17068 28977 5256
SVN  †  †  XŽ5 ˆy Ž ‰^ˆi É“’ ˆnÜb“ zåb“  æn“ ‚è “ rê“ ƒUì“ ¡hï› …m‚’8š ºx‚˜t“ …‚Ó~“ 3‚Ù)“ ƒ‚Ún“ Õy‚Þ˜ m„îu c„å@ (ƒ¶&“ „ƒÃ`¹ —;ƒÈ€ †^ƒá€ †9ƒé$– ýqƒð$¤ |Üx Žj„ïd— M„þs€b ˜…€x€J …š,€  é…œf€Y ˜\†‡$€…?me_translationet(&a->name, name)rule_name(&a->name)rule_name(&a->name)rule_name(&a->name)rule_name(&a->name)rule_name(&a->name)rule_name(&a->name)et(&punitclass->name, name)et(&punittype->name, name)rule_name(&u->name)rule_name(&u->name)rule_name(&u->name)rule_name(&u->name)et(&b->name, name);
  }
rule_name(&b->name)
                                     rule_name(&b->name)if (0 == strcmp(name, "unused")) {
      name_set(&pterrain->name, "");
    } else {
      name_set(&pterrain->name, name);
    }
    if (0 == strcmp(name, "unused")) {
      name_set(&presource->name, "");
    } else {
      name_set(&presource->name, name);
    }et(&pbase->name, name)et(&gov->name, name);
  } governmentname_set(&title->male,
name_set(&title->female,
             secfile_lookup_str(file, "%s.ruler_female_title", sec_name))et(&pl->adjective, adjective);
    name_set(&pl->noun_plural, noun_plural)rule_name(&n2->adjective), rule_name(&pl->adjective))
          || 0 == strcmp(rule_name(&n2->noun_plural),
                         rule_name(&pl->noun_plural)        name_set(&title->male, male_name);

        name_set(&title->female, female_name) = '\0';
    }

    pl->player = NULL;
  } nations_iterate_end;

  /* Calculate parent nations.  O(n^2) algorithm. */
  nations_iterate(pl) {
    struct nation_type *parents[nation_count()];
    int count = 0;

    nations_iterate(p2) {
      for (k = 0; p2->civilwar_nations[k] != NO_NATION_SELECTED; k++) {
	if (p2->civilwar_nations[k] == pl) {
	  parents[count] = p2;
	  count++;
	}
      }
    } nations_iterate_end;

    fc_assert(sizeof(parents[0]) == sizeof(*pl->parent_nations));
    pl->parent_nations = fc_malloc((count + 1) * sizeof(parents[0]));
    memcpy(pl->parent_nations, parents, count * sizeof(parents[0]));
    pl->parent_nations[count] = NO_NATION_SELECTED;
  } nations_iterate_end;†  ƒÊ?ƒÃdr† ‡-…?€a ˆEŽ€k ¯5™(“ …DÈo“ –ÎE€S …-å,“ ‰bêk“ Œô_š k‚€z› …t‚‘“ oô_ ‹_‚˜t“ „Y‚¤e€\ ˆ5‚ª€X Ž ‚³#Ÿ ˆ~‚ÁAet(&city_styles[i].name,
               secfile_lookup_str(file, "%s.name", section_name(style)))name_set(&s->name, secfile_lookup_str(file, "%s.name", sec_name));

    item = secfile_lookup_str_default(file, rule_name(&s->name),
                                      "%s.short_name", sec_name);
    name_set(&s->abbreviation, item)rule_name(&c->name)rule_name(&u->name)rule_name(&s->name));
    sz_strlcpy(packet.short_name, rule_name(&s->abbreviation)rule_name(&a->name)rule_name(&b->name)rule_name(&pterrain->name)rule_name(&presource->name)rule_name(&b->name)rule_name(&g->name)rule_name(&p_title->male));
      sz_strlcpy(title.female_title, rule_name(&p_title->female)rule_name(&n->adjective));
    sz_strlcpy(packet.noun_plural, rule_name(&n->noun_plural)rule_name(&city_styles[k].name)ENDREP
DELTA
SVN   œ…(†|‚@E¤IH€OD{•EOŸDn†EBDPDI‚G¥D„D‚'D{‡J‚1‚T{J(„E‚‰DFD{¥Fƒ
“D{D‚>¥DƒD{[aE:Œ@FªX…1¢K…v‡D†D…hE‚/D‚{†D†=DP‡E…sG…J”J†kI†b…D‚ZJ†uJ‡E†D†9ƒD*‰D{‡D‚„Gƒ‹K†j„L‡ŠDƒ$EgH‡D‚8†D‚D„N…Eƒ#‚D…s†E‡OI‡&D‚8D…)D….™J‡‚N‰„E‡@…D†&‚Dˆ3†Eƒ+f‰@†D{‡F†^„DƒmEˆ~J†kˆE…5I‰„H‡jF‡?m‰<D‰jD„NŠF†]‚E†ŠFˆ\…F†^QˆeH†cE…6™U‹6I‹QD‰DŠ+JˆkD…s@G HAF‹
D‹„E‡OMˆFˆJƒ@I„^G…"ŠE†gƒFˆP…XˆJ‚E‡†FŽ‚KŠŠUˆcHŽK‡E‹JH‰|@RŒƒE†SK†kEŒpGZ@Œp‚au^‰<LˆxK†D‡PFŽGZKˆxFˆQˆDŽ0‚DŒq‹D‘aD‚hDh’RŽKJE‘;N‘WVŽ8†L‡ƒE†^@wŽL…Fƒ
@KLˆx„E‘;FˆxewF”ƒS’(‚@_“/K‡@”PˆQj•2Tˆd„D‹KƒSŽM‚DŽE’pSŽNEŠkO‰nD˜hZvG˜nNŽTI‰=DŽ4L˜NMŽ$J‰=SŽ„U•g†J•[RŽNDŽgD‹Zb•\X‹yEŽp@A†#DJK”H›RJ‡KšuV…2D…s/*
 Freeciv - Copyright (C) 2004 - TheProject
   This program is free software; you can redistribute it and/or modifyit under the terms ofGNU General Public License as pshed b S Foundation; either version 2, or (atr op)any lat.
d inhope thatwill be useful,but WITHOUT ANY WARRANTY; without eveimplied warranty ofMERCHANTABILITYFITNESS FOR A PARTICULAR PURPOSE.  Seefre details.
*/

#ifndef FC__NAME_TRANSLATION_H
#define
/* utility */
#include "fcintl.h"supportDon't allow omodules to accesrectlyfields.vernacular _private__transd_Ret ngs (suchnames) keptir original,
 *upon first.is cacfutur.
struct{ENABLE_NLS
  const char *; /* S doesnereeing* Usedmutableendi[MAX_LEN]/* Oucomparison};InititalizmacroINIT { NULL, "\0" }
#else
es aurestatic inloidinit(*p)
{
  ->0] = '\0';=;}Setseoo_long["N\"%s\" too ; truncating.";() sz_loud_strlcpy(,,)/* NotyetReturrule(rQn_);
if ( ==) ())(? : Q);
  }f
ENDREP
DELTA 16586 5927 4127
SVN  ùgöy<ˆZ …\ €r G†:¬ ƒm†| J•@ ‘A  ƒžož ‚¡ž ›¤-€K Q˜> yÂ ™ U˜> ƒgÅ¾ É§ ‚&Ø@§ WÚv€N Q˜> }ëHŸ Rý šRî:€@ ƒH‰9€| ‚A[€| ‚3vŒ ‚L“.Œ „v•€A »{›$  T˜?¯ Oµ@ ƒdÙƒ (Ür  T˜? ‹\î/* utility */
#include "fcintl.h"
#include "log.h"                /* fc_assert */
#include "mem.h"                /* common */
#include "game.h"
#include "mapfc_assert_ret_val(pterrain, '\0'fc_assert_ret_val(pterrain, -1fc_assert_ret_val(pterrain, -1const struct terrain *pterrain)
{
  return name_translation(&pterrain->namerule_name(&pterrain->namefc_assert_ret_val(ARRAY_SIZE(flag_names) == TER_COUNT, TER_LASfc_assert_ret_val(NULL != presource, -1fc_assert_ret_val(NULL != presource, -1const struct resource *presource)
{
  return name_translation(&presource->namerule_name(&presource->name);
}
fc_assert_ret_val(ARRAY_SIZE(tile_special_type_names) == S_LAST,fc_assert_ret_val(ARRAY_SIZE(tile_special_type_names) == S_LAST, NULL);
  fc_assert_ret_val(type >= 0 && type < S_LAST, NULLfc_assert_ret_val(ARRAY_SIZE(tile_special_type_names) == S_LAST, NULL);
  fc_assert_ret_val(type >= 0 && type < S_LAST, NULLfc_assert_refc_assert_refc_assert_ret_val(to_test_for >= 0 && to_test_for < S_LAST, FALSEfc_assert(FALSE);
  return FALSE Is there terrain of the given class near tile?fc_fc_assert(FALSE);
  return FALSEENDREP
DELTA 13169 59355 1069
SVN  ’>“4 …^ €` ††€T …pŒN/* utility */
#include "shared.h"

/* common */
#include "fc_types.h"
#include "name_translationconst struct specialist *sp);
const char *specialist_abbreviation_translation(const ENDREP
DELTA 16578 292007 5725
SVN  É`ÈT …` …j €/ œ|‡¦ ‚+¤€G S@ <§G€M Q˜@ ‚¹v™ Q˜@ –T¼l´ ‚xÓb´ ´{Öz¢ …!Œ€h 	’%‚ ƒo“1® „C—P® ŠCœC‚ ƒ0§	‚ ƒ/ª<‚ Eª< ƒm®3‚ T»  ˆ²w‚ ƒk» ‚ ƒ_¾n‚ ‡ÂP/* utility */
#include "fcintl.h"
#include "log.h"
#include "mem.h"
#include "shared.h"     /* ARRAY_SIZE */
#include "support.h"

/* common */
#include "game.h"
#include "mapfc_assert_ret_val(NULL != pimprove, -1fc_assert_ret_val(NULL != pimprove, -1);
  return pimprove->item_numberconst struct impr_type *pimprove)
{
  return name_translation(&pimprove->namerule_name(&pimprove->namefc_assert_ret_val(flag >= 0 && flag < IF_LAST, FALSEfc_assert_ret_val(ARRAY_SIZE(flag_names) == IF_LAST,fc_assert_ret(NULL != pcity);
  fcfc_assert_ret(NULL != pcity);
  fc_assert_ret(is_wonder(pimprove));

  pplayer = city_owner(pcity);
  fcfcfc_assert_ret_val(NULL != pplayer, NULL);
  fcfc_assert_ret_val(NULL != pplayer, NULL);
  fcfcfcfcfcfcfcfcENDREP
id: 33f.5ck.r17107/31053
type: file
pred: 33f.5ck.r16929/270982
count: 7
text: 17107 23663 210 6034 280d98655ac467af52ec228c1ac41279
props: 10490 6797 110 0 dce24d5ac3f5e86568d59a55fa196991
cpath: /trunk/common/specialist.c
copyroot: 15280 /trunk

id: 33g.5ck.r17107/31301
type: file
pred: 33g.0.r13169/67406
count: 5
text: 17107 29871 210 2435 b9025a130ecfe5482e612b67dfed5c0d
props: 10490 7151 110 0 dce24d5ac3f5e86568d59a55fa196991
cpath: /trunk/common/specialist.h
copyroot: 15280 /trunk

id: vb.5ck.r17107/31546
type: file
pred: vb.5ck.r16929/271229
count: 86
text: 17107 30111 911 25684 6e3e803b00156bf269f780ab2582ca79
props: 11067 578 111 0 3f70303ff9ea148b5e232db96a904e98
cpath: /trunk/common/improvement.c
copyroot: 15280 /trunk

id: vc.5ck.r17107/31794
type: file
pred: vc.5ck.r16156/17522
count: 64
text: 17107 1280 5968 6773 86b27fc634e089e9846d210b7b07cad6
props: 10767 58 111 0 9c2dbf68c7baabdec873d497eccc2dc6
cpath: /trunk/common/improvement.h
copyroot: 15280 /trunk

id: 3jw.5ck.r17107/32039
type: file
pred: 3jw.5ck.r16929/271479
count: 28
text: 17107 7276 1041 10829 59086a8e6f9017764fa50a8641281165
props: 12670 90710 34 0 25e6c2f7558b7484000d4d090dea5b92
cpath: /trunk/common/base.c
copyroot: 15280 /trunk

id: 3jx.5ck.r17107/32283
type: file
pred: 3jx.5ck.r16931/5615
count: 29
text: 17107 8415 27 4195 8a89b77cb4d806e2b38b4223631648bd
props: 12670 90984 34 0 25e6c2f7558b7484000d4d090dea5b92
cpath: /trunk/common/base.h
copyroot: 15280 /trunk

id: v9.5ck.r17107/32522
type: file
pred: v9.5ck.r16929/271964
count: 119
text: 17107 8519 297 37608 97eb95cf8b0842971047f059fb44557c
props: 10932 10175 111 0 3f70303ff9ea148b5e232db96a904e98
cpath: /trunk/common/unittype.c
copyroot: 15280 /trunk

id: t.5ck.r17107/32769
type: file
pred: t.5ck.r16929/272213
count: 122
text: 17107 8847 1420 30577 1dffcdad8a595b238f598b5ef9da8563
props: 11069 11747 112 0 0ba48eb7b1f123775dc0e292f9b3ab64
cpath: /trunk/common/tech.c
copyroot: 15280 /trunk

id: va.5ck.r17107/33011
type: file
pred: va.5ck.r16929/272702
count: 106
text: 17107 11336 159 13757 cef7a10d11adc8c7ab9bfa23d46ccd2b
props: 10932 10530 111 0 c621529c87aa3e4513ceb9a8b717aa47
cpath: /trunk/common/unittype.h
copyroot: 15280 /trunk

id: u.5ck.r17107/33259
type: file
pred: u.5bk.r14777/28073
count: 72
text: 17107 15823 4414 8885 71768087f8f688b72893dd738e096225
props: 11069 12096 111 0 7f9b5cf6c8fffd7438ed66579e7ad166
cpath: /trunk/common/tech.h
copyroot: 15280 /trunk

id: q.5ck.r17107/33499
type: file
pred: q.5ck.r17079/15919
count: 465
text: 17107 0 125 98960 ae9b2557676fabc1e26e173c3b425ae3
props: 11069 12442 112 0 7c45f13e78520e4754bc476682276743
cpath: /trunk/common/city.c
copyroot: 15280 /trunk

id: 3q.5ck.r17107/33736
type: file
pred: 3q.5ck.r17079/16161
count: 283
text: 17107 8346 40 29029 718714a4f17f809a7ab96ee05a66280c
props: 10806 12641 112 0 0103cdead8b16a89c717b6ef9ed59c6a
cpath: /trunk/common/city.h
copyroot: 15280 /trunk

id: 2fp.5ck.r17107/33977
type: file
pred: 2fp.5ck.r16929/276987
count: 62
text: 17107 28525 1317 31609 c5c24ef076595bbf44b0a2abd057ac21
props: 10805 60404 111 0 eaeaff8c6ba56cfe19b921c33649c016
cpath: /trunk/common/terrain.c
copyroot: 15280 /trunk

id: qs.5ck.r17107/34226
type: file
pred: qs.5ck.r16670/10051
count: 76
text: 17107 154 1096 12227 95fa0e1a844243351ffba0bfc97efac1
props: 10805 60759 111 0 14533b38c2d22fb145a05b253c8fb2e8
cpath: /trunk/common/terrain.h
copyroot: 15280 /trunk

id: 2ll.5ck.r17107/34470
type: file
pred: 2ll.5ck.r16861/15352
count: 71
text: 17107 8470 20 8428 60b03e1dd3555b0e1c96f627d5dd2a14
props: 10836 12026 111 0 18cdb9becb11c47631b7a093e907200c
cpath: /trunk/common/fc_types.h
copyroot: 15280 /trunk

id: he.5ck.r17107/34715
type: file
pred: he.5ck.r16929/277987
count: 70
text: 17107 10298 1008 9267 709048c3d4899a3d2407b927ffe515b5
props: 11057 31287 111 0 a3a3251698e05efa35962766e5c7e5c1
cpath: /trunk/common/government.c
copyroot: 15280 /trunk

id: hf.5ck.r17107/34964
type: file
pred: hf.0.r13136/24006
count: 54
text: 17107 20268 118 3144 908928ffb3b93ce0d37fe92faa93a533
props: 10865 23625 111 0 8a31d593ba19cf3c77978cca3b416828
cpath: /trunk/common/government.h
copyroot: 15280 /trunk

id: 4k1.5ck.r17107/35209
type: file
count: 0
text: 17107 26928 1584 3612 9b275dad3af02273715a6e211edd1f83
cpath: /trunk/common/name_translation.h
copyroot: 15280 /trunk

id: il.5ck.r17107/35379
type: file
pred: il.5ck.r16929/280634
count: 76
text: 17107 11520 3608 21072 1a853816669c22621b96745c22466ce8
props: 11057 33068 111 0 b67b0fa27168318cbcd02c748356f132
cpath: /trunk/common/nation.c
copyroot: 15280 /trunk

id: 5h.5ck.r17107/35625
type: file
pred: 5h.5ck.r15882/11922
count: 72
text: 17107 15158 639 2491 bd044317469bd6030095f91fc3db4bb7
props: 10503 239 111 0 7f9b5cf6c8fffd7438ed66579e7ad166
cpath: /trunk/common/Makefile.am
copyroot: 15280 /trunk

id: im.5ck.r17107/35869
type: file
pred: im.5ck.r16958/3971
count: 73
text: 17107 20415 106 7058 05936c47839e386518f4162fd8b4bb9e
props: 11057 33421 111 0 b67b0fa27168318cbcd02c748356f132
cpath: /trunk/common/nation.h
copyroot: 15280 /trunk

PLAIN
K 11
Makefile.am
V 24
file 5h.5ck.r17107/35625
K 4
ai.c
V 26
file 4go.5ck.r16929/276308
K 4
ai.h
V 25
file 4gp.5ck.r15837/11321
K 6
aicore
V 23
dir 18t.5ck.r17034/7240
K 6
base.c
V 25
file 3jw.5ck.r17107/32039
K 6
base.h
V 25
file 3jx.5ck.r17107/32283
K 9
borders.c
V 26
file 4f0.5ck.r16929/278729
K 9
borders.h
V 24
file 4f1.5ck.r15975/2116
K 8
capstr.c
V 24
file dv.5ck.r15284/31880
K 8
capstr.h
V 24
file dw.5bk.r14881/38989
K 6
city.c
V 23
file q.5ck.r17107/33499
K 6
city.h
V 24
file 3q.5ck.r17107/33736
K 8
combat.c
V 25
file wp.5ck.r16929/273443
K 8
combat.h
V 21
file wq.0.r12783/4096
K 12
connection.c
V 25
file un.5ck.r16929/278483
K 12
connection.h
V 24
file uo.5ck.r16643/26599
K 8
dataio.c
V 26
file 15r.5ck.r16929/272949
K 8
dataio.h
V 23
file 15s.0.r10480/10050
K 11
diptreaty.c
V 25
file 3r.5ck.r17042/105205
K 11
diptreaty.h
V 20
file 3s.0.r9582/5141
K 9
effects.c
V 26
file 2eo.5ck.r17042/105938
K 9
effects.h
V 24
file 2ep.5ck.r15795/3002
K 8
events.c
V 24
file 33h.5ck.r16955/3011
K 8
events.h
V 24
file 3t.5ck.r16427/12542
K 10
fc_types.h
V 25
file 2ll.5ck.r17107/34470
K 15
featured_text.c
V 24
file 4h3.5ck.r17101/7762
K 15
featured_text.h
V 24
file 4h4.5ck.r17101/7954
K 6
game.c
V 24
file 3u.5ck.r17074/29061
K 6
game.h
V 24
file 3v.5ck.r17074/29301
K 19
generate_packets.py
V 26
file 2f4.5ck.r16929/277237
K 12
government.c
V 24
file he.5ck.r17107/34715
K 12
government.h
V 24
file hf.5ck.r17107/34964
K 6
idex.c
V 23
file qo.5ck.r17056/5076
K 6
idex.h
V 21
file qp.0.r8119/15235
K 13
improvement.c
V 24
file vb.5ck.r17107/31546
K 13
improvement.h
V 24
file vc.5ck.r17107/31794
K 5
map.c
V 22
file r.5ck.r17056/4837
K 5
map.h
V 25
file 41.5ck.r16929/280138
K 10
movement.c
V 26
file 2xv.5ck.r16929/276493
K 10
movement.h
V 23
file 2xw.5ck.r15857/778
K 18
name_translation.h
V 25
file 4k1.5ck.r17107/35209
K 8
nation.c
V 24
file il.5ck.r17107/35379
K 8
nation.h
V 24
file im.5ck.r17107/35869
K 9
packets.c
V 25
file 43.5ck.r16929/281123
K 11
packets.def
V 25
file 2f5.5ck.r17058/55305
K 9
packets.h
V 23
file 44.5ck.r16689/1380
K 8
player.c
V 24
file 45.5ck.r16984/85123
K 8
player.h
V 24
file 46.5ck.r16984/85369
K 14
requirements.c
V 26
file 2wq.5ck.r16929/280380
K 14
requirements.h
V 25
file 2wr.5ck.r15815/55883
K 11
spaceship.c
V 20
file 98.0.r9977/2632
K 11
spaceship.h
V 20
file 99.0.r9977/2979
K 12
specialist.c
V 25
file 33f.5ck.r17107/31053
K 12
specialist.h
V 25
file 33g.5ck.r17107/31301
K 6
team.c
V 26
file 33i.5ck.r16929/272456
K 6
team.h
V 23
file 33j.0.r13136/23073
K 6
tech.c
V 23
file t.5ck.r17107/32769
K 6
tech.h
V 23
file u.5ck.r17107/33259
K 9
terrain.c
V 25
file 2fp.5ck.r17107/33977
K 9
terrain.h
V 24
file qs.5ck.r17107/34226
K 6
tile.c
V 26
file 2ys.5ck.r17042/105693
K 6
tile.h
V 24
file 2yt.5ck.r15423/7247
K 6
unit.c
V 23
file v.5ck.r17058/54824
K 6
unit.h
V 24
file 48.5ck.r17058/55063
K 10
unitlist.c
V 26
file 39m.5ck.r16929/279404
K 10
unitlist.h
V 25
file 39n.5ck.r15930/60875
K 10
unittype.c
V 24
file v9.5ck.r17107/32522
K 10
unittype.h
V 24
file va.5ck.r17107/33011
K 9
version.c
V 26
file oe.5bk.r14377/2278985
K 9
version.h
V 21
file e7.0.r13518/7887
K 8
vision.c
V 26
file 4dm.5ck.r16929/278916
K 8
vision.h
V 26
file 4dn.5ck.r16929/279652
K 10
worklist.c
V 25
file o8.5ck.r16929/277491
K 10
worklist.h
V 24
file o9.5ck.r16319/92430
END
ENDREP
id: p.5ck.r17107/39428
type: dir
pred: p.5ck.r17101/11408
count: 2704
text: 17107 36111 3304 3304 72980cfa726587f09aeadd0dabf3dcf9
props: 12883 2571 96 0 2763e13ff5d021346ae24ff6c9ced232
cpath: /trunk/common
copyroot: 15280 /trunk

id: 8w.5ck.r17107/39660
type: file
pred: 8w.5ck.r17068/41798
count: 425
text: 17107 23903 2995 160228 a78c21d92322ca9697d8fde4b3d231a3
props: 11085 367 112 0 7f6d12fc80ead5cc285da723cb8caa9d
cpath: /trunk/server/ruleset.c
copyroot: 15280 /trunk

PLAIN
K 11
Makefile.am
V 24
file 5q.5ck.r16224/20275
K 9
aiiface.c
V 25
file 4gm.5ck.r15837/20486
K 9
aiiface.h
V 25
file 4gn.5ck.r15803/18216
K 6
auth.c
V 26
file 39c.5ck.r16929/304752
K 6
auth.h
V 23
file 39d.0.r13513/10535
K 11
barbarian.c
V 25
file lw.5ck.r16929/305739
K 11
barbarian.h
V 21
file lx.0.r13220/1454
K 10
cityhand.c
V 24
file 10.5ck.r16984/92364
K 10
cityhand.h
V 23
file 4f.0.r13297/423686
K 11
citytools.c
V 22
file 4g.5ck.r17062/103
K 11
citytools.h
V 23
file 4h.5ck.r17049/6245
K 10
cityturn.c
V 25
file 4i.5ck.r17042/119636
K 10
cityturn.h
V 23
file 4j.5ck.r15766/7385
K 11
civserver.c
V 22
file 4k.5ck.r17075/335
K 11
civserver.h
V 21
file 4l.0.r2805/33121
K 10
commands.c
V 23
file 2ly.5ck.r16997/688
K 10
commands.h
V 24
file 2lz.5ck.r16033/8570
K 13
connecthand.c
V 26
file 2dw.5ck.r17042/119140
K 13
connecthand.h
V 25
file 2dx.5ck.r16334/13190
K 9
console.c
V 24
file dd.5ck.r16598/29263
K 9
console.h
V 24
file de.5ck.r16598/29507
K 10
diplhand.c
V 25
file 4m.5ck.r17042/120128
K 10
diplhand.h
V 21
file 4n.0.r13421/6826
K 11
diplomats.c
V 25
file vz.5ck.r16578/436353
K 11
diplomats.h
V 24
file w0.5bk.r13745/13943
K 10
edithand.c
V 26
file 3bk.5ck.r16929/307228
K 10
edithand.h
V 23
file 4ez.5ck.r15317/588
K 10
gamehand.c
V 25
file 4o.5ck.r16929/306484
K 10
gamehand.h
V 24
file 4p.5ck.r15698/24111
K 9
generator
V 24
dir 2me.5ck.r17068/41555
K 11
ggzserver.c
V 26
file 39a.5ck.r16929/306979
K 11
ggzserver.h
V 25
file 39b.5bk.r15001/48999
K 10
gotohand.c
V 25
file 11.5ck.r16929/298882
K 10
gotohand.h
V 25
file 7r.5ck.r16929/301579
K 10
handchat.c
V 25
file 4q.5ck.r16929/301825
K 10
handchat.h
V 22
file dj.0.r7100/189089
K 9
maphand.c
V 24
file 13.5ck.r16984/97418
K 9
maphand.h
V 24
file 14.5ck.r16436/77319
K 6
meta.c
V 25
file 4s.5ck.r16578/436111
K 6
meta.h
V 23
file 4t.5bk.r14763/1928
K 8
notify.c
V 25
file 4i2.5ck.r17101/11639
K 8
notify.h
V 25
file 4i3.5ck.r16357/30259
K 9
plrhand.c
V 23
file 4u.5ck.r17049/6484
K 9
plrhand.h
V 25
file 4v.5ck.r16578/438972
K 8
report.c
V 23
file vi.5ck.r16977/1265
K 8
report.h
V 24
file vj.5ck.r16847/19782
K 9
ruleset.c
V 24
file 8w.5ck.r17107/39660
K 9
ruleset.h
V 24
file 8x.5ck.r16686/46254
K 13
sanitycheck.c
V 24
file wi.5ck.r16984/98160
K 13
sanitycheck.h
V 25
file wj.5ck.r16578/437729
K 10
savegame.c
V 24
file vl.5ck.r17074/33540
K 10
savegame.h
V 24
file vm.5ck.r15698/25092
K 7
score.c
V 25
file 2eg.5ck.r16984/94020
K 7
score.h
V 22
file 2eh.0.r11430/3487
K 9
scripting
V 23
dir 31x.5ck.r17105/1548
K 8
sernet.c
V 25
file 15.5ck.r17042/120376
K 8
sernet.h
V 25
file 4y.5bk.r14427/262734
K 10
settings.c
V 25
file 2m0.5ck.r17074/33044
K 10
settings.h
V 25
file 2m1.5ck.r16846/12347
K 10
settlers.c
V 24
file 7s.5ck.r16984/96678
K 10
settlers.h
V 24
file 7t.5bk.r14416/98109
K 11
spacerace.c
V 25
file 9a.5ck.r16929/306235
K 11
spacerace.h
V 21
file 9b.0.r11338/1129
K 10
srv_main.c
V 23
file vg.5ck.r17041/9471
K 10
srv_main.h
V 23
file vh.5ck.r16647/3913
K 11
stdinhand.c
V 24
file 4z.5ck.r17101/11824
K 11
stdinhand.h
V 24
file 50.5ck.r16302/31441
K 11
techtools.c
V 26
file 33n.5ck.r17042/120868
K 11
techtools.h
V 24
file 33o.5ck.r15913/5569
K 10
unithand.c
V 24
file 18.5ck.r17058/60269
K 10
unithand.h
V 23
file 19.5ck.r16959/4142
K 11
unittools.c
V 24
file 1a.5ck.r17074/33291
K 11
unittools.h
V 24
file 1b.5ck.r17058/60025
K 8
voting.c
V 26
file 4ex.5ck.r17042/121119
K 8
voting.h
V 25
file 4ey.5ck.r15675/47518
END
ENDREP
id: z.5ck.r17107/43331
type: dir
pred: z.5ck.r17105/5212
count: 3963
text: 17107 39906 3412 3412 f95ad2e75aeddcf8f66a0cce12e8def1
props: 13932 1834 123 0 2b883b78ac685994a9940e39e0d24770
cpath: /trunk/server
copyroot: 15280 /trunk

id: n.5ck.r17107/43563
type: file
pred: n.5ck.r17068/45956
count: 728
text: 17107 20550 3082 112390 f987c27db2896b577fe73ad601513b21
props: 11088 14698 112 0 2c9d3e41a2f20488aa9cdb8d740d094e
cpath: /trunk/client/packhand.c
copyroot: 15280 /trunk

PLAIN
K 11
Makefile.am
V 24
file 5f.5ck.r16999/27621
K 6
agents
V 24
dir zf.5ck.r17042/126826
K 11
attribute.c
V 24
file xh.5ck.r17034/13614
K 11
attribute.h
V 19
file xi.0.r4715/844
K 7
audio.c
V 26
file 139.5ck.r16929/343729
K 7
audio.h
V 25
file 13a.5ck.r16165/81556
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.r17101/20001
K 17
chatline_common.h
V 25
file 14r.5ck.r16888/19266
K 16
citydlg_common.c
V 24
file z4.5ck.r17068/45704
K 16
citydlg_common.h
V 25
file z5.5ck.r16984/109254
K 13
cityrepdata.c
V 23
file mb.5ck.r17030/1319
K 13
cityrepdata.h
V 21
file mc.0.r9153/21475
K 11
civclient.c
V 23
file 4f2.5ck.r15408/695
K 13
client_main.c
V 23
file 2f.5cp.r17075/4227
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 24
file d5.5ck.r17101/20255
K 9
climisc.h
V 23
file i0.5ck.r17044/3522
K 8
clinet.c
V 25
file hc.5ck.r16929/347665
K 8
clinet.h
V 25
file i1.5bk.r14427/324634
K 15
colors_common.c
V 26
file 33a.5ck.r16929/316194
K 15
colors_common.h
V 25
file 33b.5ck.r16397/92170
K 19
connectdlg_common.c
V 26
file 2fw.5ck.r16929/342570
K 19
connectdlg_common.h
V 25
file 2fx.5ck.r16532/38983
K 9
control.c
V 23
file gz.5ck.r17076/1017
K 9
control.h
V 24
file i2.5ck.r16594/13196
K 7
dummy.c
V 23
file 4f9.5ck.r15641/551
K 8
editor.c
V 26
file 3bg.5ck.r17042/156322
K 8
editor.h
V 25
file 3bh.5ck.r15761/13075
K 11
ggzclient.c
V 25
file 394.5ck.r15814/34717
K 11
ggzclient.h
V 24
file 395.0.r12670/122419
K 17
global_worklist.c
V 26
file 4i6.5ck.r17042/154592
K 17
global_worklist.h
V 26
file 4i7.5ck.r16319/100206
K 6
goto.c
V 25
file vu.5ck.r17042/143219
K 6
goto.h
V 24
file vv.5ck.r15509/18108
K 8
gui-ftwl
V 25
dir 2k2.5ck.r17042/153907
K 11
gui-gtk-2.0
V 23
dir zs.5ck.r17101/19755
K 7
gui-sdl
V 24
dir 16t.5ck.r17079/36082
K 8
gui-stub
V 23
dir mh.5ck.r17079/39556
K 9
gui-win32
V 24
dir np.5ck.r17042/142973
K 7
gui-xaw
V 23
dir 9o.5ck.r17079/28122
K 10
helpdata.c
V 25
file h1.5ck.r17042/154154
K 10
helpdata.h
V 25
file i3.5bk.r14417/261925
K 7
include
V 23
dir b8.5ck.r17079/30356
K 16
mapctrl_common.c
V 25
file 15m.5ck.r17068/46203
K 16
mapctrl_common.h
V 23
file 15n.0.r11378/41712
K 16
mapview_common.c
V 22
file z2.5ck.r17078/428
K 16
mapview_common.h
V 25
file z3.5ck.r16578/482844
K 19
messagewin_common.c
V 25
file 14s.5ck.r17077/10273
K 19
messagewin_common.h
V 25
file 14t.5ck.r15909/37338
K 9
options.c
V 24
file dc.5ck.r17037/48855
K 9
options.h
V 24
file i4.5ck.r16998/72284
K 17
overview_common.c
V 25
file 2yk.5ck.r16930/40265
K 17
overview_common.h
V 25
file 2yl.5ck.r16930/40516
K 10
packhand.c
V 23
file n.5ck.r17107/43563
K 10
packhand.h
V 24
file i5.5bk.r14422/90154
K 15
plrdlg_common.c
V 26
file 14u.5ck.r16929/341814
K 15
plrdlg_common.h
V 26
file 14v.5bk.r14417/257761
K 17
repodlgs_common.c
V 25
file 11i.5ck.r16971/56554
K 17
repodlgs_common.h
V 25
file 11j.5ck.r16971/56809
K 9
reqtree.c
V 26
file 2ym.5ck.r16929/315694
K 9
reqtree.h
V 23
file 2yn.0.r13481/22674
K 9
servers.c
V 26
file 33x.5ck.r17042/156570
K 9
servers.h
V 25
file 33y.5ck.r15505/14398
K 6
text.c
V 24
file 2g3.5ck.r17044/3035
K 6
text.h
V 24
file 2g4.5bk.r14284/8380
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 25
file hl.5ck.r17042/155045
K 10
tilespec.h
V 24
file i6.5ck.r16930/49667
K 14
update_queue.c
V 25
file 4jw.5ck.r17079/36327
K 14
update_queue.h
V 25
file 4jx.5ck.r16999/23921
K 10
voteinfo.c
V 26
file 4fe.5ck.r17042/154402
K 10
voteinfo.h
V 25
file 4ff.5ck.r16201/17543
END
ENDREP
id: d.5ck.r17107/47583
type: dir
pred: d.5ck.r17101/24273
count: 4767
text: 17107 43810 3760 3760 15e358a481884207c9e2b94451b7be81
props: 12883 2898 109 0 732f4656541fb514e4368d9517bdf317
cpath: /trunk/client
copyroot: 15280 /trunk

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.5ck.r15924/3800068
K 7
INSTALL
V 23
file 6.5ck.r16872/79279
K 11
Makefile.am
V 23
file 59.5bk.r14918/1267
K 4
NEWS
V 23
file 6m.5ck.r16839/2057
K 6
README
V 20
file 7.0.r4421/96382
K 2
ai
V 22
dir 8.5ck.r16984/92135
K 10
autogen.sh
V 24
file 12o.5ck.r16223/7590
K 9
bootstrap
V 23
dir 2p5.5ck.r16731/2595
K 6
client
V 22
dir d.5ck.r17107/47583
K 6
common
V 22
dir p.5ck.r17107/39428
K 12
config.mac.h
V 20
file hb.0.r6045/5982
K 12
configure.ac
V 24
file 149.5ck.r17010/2239
K 4
data
V 21
dir w.5ck.r17090/7119
K 6
debian
V 23
dir 5w.5ck.r16224/17276
K 12
dependencies
V 23
dir 2yu.5ck.r17024/5709
K 11
diff_ignore
V 23
file qq.5ck.r16311/3290
K 3
doc
V 22
dir k7.5ck.r17012/6320
K 2
m4
V 23
dir 12p.5ck.r17012/4520
K 6
manual
V 23
dir 2m2.5ck.r17035/8944
K 2
po
V 22
dir fs.5ck.r17026/2600
K 7
scripts
V 23
dir 2yo.5bk.r14810/1300
K 6
server
V 22
dir z.5ck.r17107/43331
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.5ck.r17082/6600
K 10
version.in
V 24
file 2lo.5ck.r17041/9237
K 3
vms
V 21
dir u9.0.r11105/70719
K 5
win32
V 24
dir 2eu.5bk.r13732/30345
END
ENDREP
id: 3.5ck.r17107/49087
type: dir
pred: 3.5ck.r17105/6712
count: 12847
text: 17107 47816 1258 1258 3d039e3ee4a13f799fe8a956cf48d910
props: 11109 0 255 0 8cbc80e0da9c47b05b8ffee17ea9b0f1
cpath: /trunk
copyroot: 15280 /trunk

PLAIN
K 8
branches
V 19
dir 1.0.r17106/7058
K 4
tags
V 19
dir 2.0.r16877/5158
K 5
trunk
V 22
dir 3.5ck.r17107/49087
K 7
website
V 18
dir 3ge.0.r12388/0
END
ENDREP
id: 0.0.r17107/49473
type: dir
pred: 0.0.r17106/7375
count: 17107
text: 17107 49310 150 150 c9f3c9a1da15201d1e8a0b79ecbba6ef
cpath: /
copyroot: 0 /

he.5ck.t17106-1 modify true false /trunk/common/government.c

va.5ck.t17106-1 modify true false /trunk/common/unittype.h

u.5ck.t17106-1 modify true false /trunk/common/tech.h

5h.5ck.t17106-1 modify true false /trunk/common/Makefile.am

il.5ck.t17106-1 modify true false /trunk/common/nation.c

hf.5ck.t17106-1 modify true false /trunk/common/government.h

im.5ck.t17106-1 modify true false /trunk/common/nation.h

n.5ck.t17106-1 modify true false /trunk/client/packhand.c

33f.5ck.t17106-1 modify true false /trunk/common/specialist.c

8w.5ck.t17106-1 modify true false /trunk/server/ruleset.c

_0.5ck.t17106-1 add true false /trunk/common/name_translation.h

2fp.5ck.t17106-1 modify true false /trunk/common/terrain.c

33g.5ck.t17106-1 modify true false /trunk/common/specialist.h

vb.5ck.t17106-1 modify true false /trunk/common/improvement.c

q.5ck.t17106-1 modify true false /trunk/common/city.c

qs.5ck.t17106-1 modify true false /trunk/common/terrain.h

3jw.5ck.t17106-1 modify true false /trunk/common/base.c

vc.5ck.t17106-1 modify true false /trunk/common/improvement.h

3q.5ck.t17106-1 modify true false /trunk/common/city.h

3jx.5ck.t17106-1 modify true false /trunk/common/base.h

v9.5ck.t17106-1 modify true false /trunk/common/unittype.c

2ll.5ck.t17106-1 modify true false /trunk/common/fc_types.h

t.5ck.t17106-1 modify true false /trunk/common/tech.c


49473 49622
