DELTA 26063 8235 520
SVN  †  †    †   †  ‚ˆi‚ˆH% —M ¥ ðV˜fc_assert(game.plr_bg_color == NULL);ENDREP
DELTA 12734 67 7982
SVN  µ'Ó‚G– …X €„
 ƒˆl½ G Ÿ GŒ ° PÒ> N‹@­ PÒ> N‹@® PÒ>² N‹@ ‚G« U‹@Š „B1€A G  V•w“ ‚Q—\€Œ # › PÒ>˜ N‹@€†$ §J§ L‹@€Ã8 \Ò?€G L‹@€5 …xÒ>œ A‹@€ EÒ>€H A‹@€‚$ DÒ?¸ A‹@€ƒ EÒ>‚ Þ€‡5 DÒ?  A‹@€ƒG ‚äE€‚ ƒ/çu€‚` ‚cî>€‚ S‹;€„ UÒ>  ©½ L‹@ 4ªn€{ UÒ>€I L‹@€ƒ  PÒ>ª P‹@€… PÒ>€„q N‹@€†	 PÒ>— N‹@€Y PÒ>‘ N‹@€Yfc_config.h>
#endif

/* utility */
#include "fcintl.h"
#include "ioz.h"
#include "log.h"
#include "mem.h"
#include "shared.h"
#include "support.h"

/* aicore */
#include "cm.h"

/* common */
#include "base.h"
#include "city.h"
#include "connection.h"
#include "disaster.h"
#include "government.h"
#include "idex.h"
#include "map.h"
#include "nation.h"
#include "packets.h"
#include "player.h"
#include "research.h"
#include "spaceship.h"
#include "specialist.h"
#include "tech.h"
#include "terrain.h"
#include "traderoutesbool am_i_server = FALSE;

static void game_defaults(void);

****
  Is program type server?
***/
bool is_server(void)
{
  return am_i_server
  Set program type to servervoid i_am_server(void)
{
  am_i_server = TRUE
  Set program type to clientvoid i_am_client(void)
{
  am_i_server = FALSE
Count the # of thousand citizen in a civilisation  Find city with given name from any playercity *gamegame_city_by_number(int id)
{
  return idex_lookup_city(id);
}


game_unit_by_numberIt's possible that during city transfer homecity/unit owner
   * information is inconsistent, and client then tries to remove
   * now unseen unit so that homecity is not in the list of cities
   * of the player (seemingly) owning the unit.
   * Thus cannot use player_city_by_number() here, but have to
   * consider cities of all players. */
  pcity = game_city_by_number(punit->homecity);
  if (pcity) {
    unit_list_remove(pcity->units_supported, punit);

    log_debug("game_remove_unit()"
              " at (%d,%d) unit %d, %s %s home (%d,%d) city %d, %s %s",
              TILE_XY(unit_tile(punit)),
              punit->id, 
              nation_rule_name(nation_of_unit(punit)),
              unit_rule_name(punit),
              TILE_XY(pcity->tile),
              punit->homecity,
              nation_rule_name(nation_of_city(pcity)),
              city_name(pcity));
  } else if (IDENTITY_NUMBER_ZERO == punit->homecity) {
    log_debug("game_remove_unit() at (%d,%d) unit %d, %s %s home %d",
              TILE_XY(unit_tile(punit)),
              punit->id, 
              nation_rule_name(nation_of_unit(punit)),
              unit_rule_name(punit),
              punit->homecity);
  } else {
    log_error("game_remove_unit() at (%d,%d) unit %d, %s %s home %d invalid",
              TILE_XY(unit_tile(punit)),
              punit->id, 
              nation_rule_name(nation_of_unit(punit)),
              unit_rule_name(punit),
              punit->homecity);
  }

  unit_list_remove(unit_tile(punit)->units, punit);
  unit_list_removeunit_virtual_destroy(punit)
  Remove city from gamevoid game_remove_city(struct city *pcity)
{
  struct tile *pcenter = city_tile(pcity);
  struct player *powner = city_owner(pcity);

  if (NULL != powner) {
    /* always unlink before clearing data */
    city_list_remove(powner->cities, pcity);
  }

  if (NULL == pcenter) {
    log_debug("game_remove_city() virtual city %d, %s",
              pcity->id,
              city_name(pcity));
  } else {
    log_debug("game_remove_city() at (%d,%d) city %d, %s %s",
              TILE_XY(pcenter),
              pcity->id,
              nation_rule_name(nation_of_player(powner)),
              city_name(pcity));

    city_tile_iterate(city_map_radius_sq_get(pcity), pcenter, ptile) {
      if (tile_worked(ptile) == pcity) {
        tile_set_worked(ptile, NULL);
      }
    } city_tile_iterate_end;
  }
*************
  Set default game values**/
static void game_defaults(void)
{
  int i;

  /* The control packet. */
  game.control.government_count        = 0;
  game.control.nation_count            = 0;
  game.control.num_base_types          = 0;
  game.control.num_road_types          = 0;
  game.control.num_impr_types          = 0;
  game.control.num_specialist_types    = 0;
  game.control.num_tech_types          = 0;
  game.control.num_unit_classes        = 0;
  game.control.num_unit_types          = 0;
  game.control.num_disaster_types      = 0;
  game.control.prefered_tileset[0]     = '\0';
  game.control.resource_count          = 0;
  game.control.styles_count            = 0;
  game.control.terrain_count           = 0;

  /* The info packet. */
  game.info.aifill           = GAME_DEFAULT_AIFILL;
  game.info.airlifting_style = GAME_DEFAULT_AIRLIFTINGSTYLE;
  game.info.angrycitizen     = GAME_DEFAULT_ANGRYCITIZEN;
  game.info.borders          = GAME_DEFAULT_BORDERS;
  game.info.calendar_skip_0  = FALSE;
  game.info.celebratesize    = GAME_DEFAULT_CELEBRATESIZE;
  game.info.citymindist      = GAME_DEFAULT_CITYMINDIST;
  game.info.cooling          = 0;
  game.info.coolinglevel     = 0; /* set later */
  game.info.diplomacy        = GAME_DEFAULT_DIPLOMACY;
  game.info.fogofwar         = GAME_DEFAULT_FOGOFWAR;
  game.info.foodbox          = GAME_DEFAULT_FOODBOX;
  game.info.fulltradesize    = GAME_DEFAULT_FULLTRADESIZE;
  for (i = 0; i < A_LAST; i++) {
    /* game.num_tech_types = 0 here */
    game.info.global_advances[i] = FALSE;
  }
  for (i = 0; i < B_LAST; i++) {
    /* game.num_impr_types = 0 here */
    game.info.great_wonder_owners[i] = WONDER_NOT_OWNED;
  }
  game.info.globalwarming    = 0;
  game.info.global_warming   = GAME_DEFAULT_GLOBAL_WARMING;
  game.info.gold             = GAME_DEFAULT_GOLD;
  game.info.government_during_revolution_id = G_MAGIC; /* flag */
  game.info.happyborders     = GAME_DEFAULT_HAPPYBORDERS;
  game.info.heating          = 0;
  game.info.is_edit_mode     = FALSE;
  game.info.is_new_game      = TRUE;
  game.info.killstack        = GAME_DEFAULT_KILLSTACK;
  game.info.killcitizen      = GAME_DEFAULT_KILLCITIZEN;
  game.info.negative_year_label[0] = '\0';
  game.info.notradesize      = GAME_DEFAULT_NOTRADESIZE;
  game.info.nuclearwinter    = 0;
  game.info.nuclear_winter   = GAME_DEFAULT_NUCLEAR_WINTER;
  game.info.positive_year_label[0] = '\0';
  game.info.rapturedelay     = GAME_DEFAULT_RAPTUREDELAY;
  game.info.restrictinfra    = GAME_DEFAULT_RESTRICTINFRA;
  game.info.sciencebox       = GAME_DEFAULT_SCIENCEBOX;
  game.info.shieldbox        = GAME_DEFAULT_SHIELDBOX;
  game.info.skill_level      = GAME_DEFAULT_SKILL_LEVEL;
  game.info.slow_invasions   = RS_DEFAULT_SLOW_INVASIONS;
  game.info.spacerace        = GAME_DEFAULT_SPACERACE;
  game.info.team_pooled_research = GAME_DEFAULT_TEAM_POOLED_RESEARCH;
  game.info.tech             = GAME_DEFAULT_TECHLEVEL;
  game.info.timeout          = GAME_DEFAULT_TIMEOUT;
  game.info.trademindist     = GAME_DEFAULT_TRADEMINDIST;
  game.info.trading_city     = GAME_DEFAULT_TRADING_CITY;
  game.info.trading_gold     = GAME_DEFAULT_TRADING_GOLD;
  game.info.trading_tech     = GAME_DEFAULT_TRADING_TECH;
  game.info.turn             = 0;
  game.info.warminglevel     = 0; /* set later */
  game.info.year_0_hack      = FALSE;
  game.info.year             = GAME_START_YEAR;

  /* The scenario packet. */
  game.scenario.description[0] = '\0';
  game.scenario.is_scenario = FALSE;
  game.scenario.name[0] = '\0';
  game.scenario.players = TRUE;
  game.scenario.startpos_nations = FALSE;

  /* Veteran system. */
  game.veteran = NULL;

  /* player colors */
  game.plr_bg_color = NULL;

  if (is_server()) {
    /* All settings only used by the server (./server/ and ./ai/ */
    sz_strlcpy(game.server.allow_take, GAME_DEFAULT_ALLOW_TAKE);
    game.server.allied_victory    = GAME_DEFAULT_ALLIED_VICTORY;
    game.server.allowed_city_names = GAME_DEFAULT_ALLOWED_CITY_NAMES;
    game.server.aqueductloss      = GAME_DEFAULT_AQUEDUCTLOSS;
    game.server.auto_ai_toggle    = GAME_DEFAULT_AUTO_AI_TOGGLE;
    game.server.autoattack        = GAME_DEFAULT_AUTOATTACK;
    game.server.barbarianrate     = GAME_DEFAULT_BARBARIANRATE;
    game.server.civilwarsize      = GAME_DEFAULT_CIVILWARSIZE;
    game.server.connectmsg[0]     = '\0';
    game.server.conquercost       = GAME_DEFAULT_CONQUERCOST;
    game.server.contactturns      = GAME_DEFAULT_CONTACTTURNS;
    for (i = 0; i < DEBUG_LAST; i++) {
      game.server.debug[i] = FALSE;
    }
    sz_strlcpy(game.server.demography, GAME_DEFAULT_DEMOGRAPHY);
    game.server.diplchance        = GAME_DEFAULT_DIPLCHANCE;
    game.server.diplcost          = GAME_DEFAULT_DIPLCOST;
    game.server.dispersion        = GAME_DEFAULT_DISPERSION;
    game.server.endspaceship      = GAME_DEFAULT_END_SPACESHIP;
    game.server.end_turn          = GAME_DEFAULT_END_TURN;
    game.server.event_cache.chat  = GAME_DEFAULT_EVENT_CACHE_CHAT;
    game.server.event_cache.info  = GAME_DEFAULT_EVENT_CACHE_INFO;
    game.server.event_cache.max_size = GAME_DEFAULT_EVENT_CACHE_MAX_SIZE;
    game.server.event_cache.turns = GAME_DEFAULT_EVENT_CACHE_TURNS;
    game.server.foggedborders     = GAME_DEFAULT_FOGGEDBORDERS;
    game.server.fogofwar_old      = game.info.fogofwar;
    game.server.freecost          = GAME_DEFAULT_FREECOST;
    game.server.homecaughtunits   = GAME_DEFAULT_HOMECAUGHTUNITS;
    game.server.kick_time         = GAME_DEFAULT_KICK_TIME;
    game.server.killunhomed       = GAME_DEFAULT_KILLUNHOMED;
    game.server.maxconnectionsperhost = GAME_DEFAULT_MAXCONNECTIONSPERHOST;
    game.server.last_ping         = 0;
    game.server.max_players       = GAME_DEFAULT_MAX_PLAYERS;
    game.server.meta_info.user_message[0] = '\0';
    game.server.meta_info.user_message_set = FALSE;
    game.server.mgr_distance      = GAME_DEFAULT_MGR_DISTANCE;
    game.server.mgr_foodneeded    = GAME_DEFAULT_MGR_FOODNEEDED;
    game.server.mgr_nationchance  = GAME_DEFAULT_MGR_NATIONCHANCE;
    game.server.mgr_turninterval  = GAME_DEFAULT_MGR_TURNINTERVAL;
    game.server.mgr_worldchance   = GAME_DEFAULT_MGR_WORLDCHANCE;
    game.server.migration         = GAME_DEFAULT_MIGRATION;
    game.server.min_players       = GAME_DEFAULT_MIN_PLAYERS;
    game.server.natural_city_names = GAME_DEFAULT_NATURALCITYNAMES;
    game.server.plrcolormode      = GAME_DEFAULT_PLRCOLORMODE;
    game.server.netwait           = GAME_DEFAULT_NETWAIT;
    game.server.occupychance      = GAME_DEFAULT_OCCUPYCHANCE;
    game.server.onsetbarbarian    = GAME_DEFAULT_ONSETBARBARIAN;
    game.server.phase_mode_stored = GAME_DEFAULT_PHASE_MODE;
    game.server.pingtime          = GAME_DEFAULT_PINGTIME;
    game.server.pingtimeout       = GAME_DEFAULT_PINGTIMEOUT;
    game.server.razechance        = GAME_DEFAULT_RAZECHANCE;
    game.server.revealmap         = GAME_DEFAULT_REVEALMAP;
    game.server.revolution_length = GAME_DEFAULT_REVOLUTION_LENGTH;
    sz_strlcpy(game.server.rulesetdir, GAME_DEFAULT_RULESETDIR);
    game.server.save_compress_level = GAME_DEFAULT_COMPRESS_LEVEL;
    game.server.save_compress_type = GAME_DEFAULT_COMPRESS_TYPE;
    sz_strlcpy(game.server.save_name, GAME_DEFAULT_SAVE_NAME);
    game.server.save_nturns       = GAME_DEFAULT_SAVETURNS;
    game.server.save_options.save_known = TRUE;
    game.server.save_options.save_private_map = TRUE;
    game.server.save_options.save_random = TRUE;
    game.server.save_options.save_starts = TRUE;
    game.server.savepalace        = GAME_DEFAULT_SAVEPALACE;
    game.server.scorelog          = GAME_DEFAULT_SCORELOG;
    game.server.scoreturn         = GAME_DEFAULT_SCORETURN;
    game.server.seed              = GAME_DEFAULT_SEED;
    sz_strlcpy(game.server.start_units, GAME_DEFAULT_START_UNITS);
    game.server.start_year        = GAME_START_YEAR;
    game.server.tcptimeout        = GAME_DEFAULT_TCPTIMEOUT;
    game.server.techlost_donor    = GAME_DEFAULT_TECHLOST_DONOR;
    game.server.techlost_recv     = GAME_DEFAULT_TECHLOST_RECV;
    game.server.techpenalty       = GAME_DEFAULT_TECHPENALTY;
    game.server.timeoutaddenemymove = GAME_DEFAULT_TIMEOUTADDEMOVE;
    game.server.timeoutcounter    = GAME_DEFAULT_TIMEOUTCOUNTER;
    game.server.timeoutinc        = GAME_DEFAULT_TIMEOUTINC;
    game.server.timeoutincmult    = GAME_DEFAULT_TIMEOUTINCMULT;
    game.server.timeoutint        = GAME_DEFAULT_TIMEOUTINT;
    game.server.timeoutintinc     = GAME_DEFAULT_TIMEOUTINTINC;
    game.server.turnblock         = GAME_DEFAULT_TURNBLOCK;
    game.server.unitwaittime      = GAME_DEFAULT_UNITWAITTIME;
    game.server.plr_colors        = NULL;
  }se all game settings.

  The variables are listed in alphabetical order**/
void game_init(void)
{
  game_defaults();
  player_slots_init();
  map_init();
  team_slots_init();
  game_ruleset_init();
  idex_init();
  cm_init();
  player_researches_init()Frees all memory of the game/
void game_free(void)
{
  player_slots_free();
  map_free();
  idex_free();
  team_slots_free();
  game_ruleset_free();
  cm_free()
  Do all changes to change view, and not full
  game_free()/game_init()/
void game_reset(void)
{
  if (is_server()) {
    game_free();
    game_init();
  } else {
    /* Reset the players infos. */
    players_iterate(pplayer) {
      player_clear(pplayer, FALSE);
    } players_iterate_end;

    map_free();
    idex_free();

    map_init();
    idex_init();
  }
  Initialize the objects which will read from a ruleset/
void game_ruleset_init(void)
{
  nation_sets_groups_init();
  ruleset_cache_init();
  disaster_types_init();
  trade_route_types_init();
  terrains_init();
  base_types_init();
  road_types_init();
  improvements_init();
  techs_init();
  unit_classes_init();
  unit_types_init();
  specialists_init();
  user_unit_type_flags_init();
  user_terrain_flags_init();
  user_tech_flags_init()
 game_ruleset_free(void)
{
  CALL_FUNC_EACH_AI(units_ruleset_close);

  /* Clear main structures which can points to the ruleset dependent
   * structures. */
  players_iterate(pplayer) {
    player_ruleset_close(pplayer);
  } players_iterate_end;
  game.government_during_revolution = NULL;

  specialists_free();
  unit_classes_free();
  techs_free();
  governments_free();
  nations_free();
  unit_types_free();
  unit_type_flags_free();
  role_unit_precalcs_free();
  improvements_free();
  base_types_free();
  road_types_free();
  city_styles_free();
  disaster_types_free();
  terrains_free();
  user_tech_flags_free();
  user_terrain_flags_free();
  ruleset_cache_free();
  nation_sets_groups_free();

  /* Destroy the default veteran system. */
  veteran_system_destroy(game.veteran);
  game.veteran = NULL;

  /* Player colors. */
  if (game.plr_bg_color != NULL) {
    rgbcolor_destroy(game.plr_bg_color);
    game.plr_bg_color = NULL;
  }
  Initialize wonder information/
void initialize_globals(void)
{
  players_iterate(pplayer) {
    city_list_iterate(pplayer->cities, pcity) {
      city_built_iterate(pcity, pimprove) {
        if (is_wonder(pimprove)) {
          if (is_great_wonder(pimprove)) {
            game.info.great_wonder_owners[improvement_index(pimprove)] =
                player_number(pplayer);
          }
          pplayer->wonders[improvement_index(pimprove)] = pcity->id;
        }
      } city_builtint increase = get_world_bonus(EFT_TURN_YEARS);
  const int slowdown = (game.info.spacerace
			? get_world_bonus(EFT_SLOW_DOWN_TIMELINE) : 0);

  if (game.info.year_0_hack) {
    /* hacked it to get rid of year 0 */
    year = 0;
    game.info.year_0_hack = FALSE;
  }slowdown >= 3) {
    if (increase > 1) {
      increase = 1;
    }
  } else if (slowdown >= 2) {
    if (increase > 2) {
      increase = 2;
    }
  } else if (slowdown >= 1) {
    if (increase > 5) {
      increase = 5;
    }
  }

  year += increase;

  if (year == 0 && game.info.calendar_skip_0) {
    year = 1;
    game.info.year_0_hack = TRUE;
  }
  Return TRUE if it is this player's phase.
  NB: The meaning of the 'phase' argument must match its use in the
  function begin_turn() in server/srv_main.c.
  NB: The phase mode PMT_TEAMS_ALTERNATE assumes that every player is
  on a team, i.e. that pplayer->team is neverbool is_player_phase(const struct player *pplayer, int phase)
{
  switch (game.info.phase_mode) {
  case PMT_CONCURRENT:
    return TRUE;
    break;
  case PMT_PLAYERS_ALTERNATE:
    return player_number(pplayer) == phase;
    break;
  case PMT_TEAMS_ALTERNATE:
    fc_assert_ret_val(NULL != pplayer->team, FALSE);
    return team_number(pplayer->team) == phase;
    break;
  default:
    break;
  }

  fc_assert_msg(FALSE, "Unrecognized phase mode %d in is_player_phase().",
                phase);
  return TRUEunit
  (tens/hundreds/thousands...) defined in cities.rulesetfc_assert_ret_val(thousand_citizen >= 0, NULL);
  return big_int_to_text(thousand_citizen, game.info.pop_report_zeroes - 1)Produce a statically allocated textual representation of the given
  year**/
const char *textyear(int year)
{
  static char y[32];
  if (year < 0) {
    /* TRANS: <year> <label> -> "1000 BC" */
    fc_snprintf(y, sizeof(y), _("%d %s"), -year,
                game.info.negative_year_label);
  } else {
    /* TRANS: <year> <label> -> "1000 AD" */
    fc_snprintf(y, sizeof(y), _("%d %s"), year,
                game.info.positive_year_label);
  }
  return y
  Return a string conaining the save yearatic char *year_suffix(void)
{
  static char buf[MAX_LEN_NAME];
  const char *year_suffix;
  char safe_year_suffix[MAX_LEN_NAME];
  const char *max = safe_year_suffix + MAX_LEN_NAME - 1;
  char *c = safe_year_suffix;

  if (game.info.year < 0) {
    year_suffix = game.info.negative_year_label;
  } else {
    year_suffix = game.info.positive_year_label;
  }

  /* Remove all non alphanumeric characters from the year suffix. */
  for (; '\0' != *year_suffix && c < max; year_suffix++) {
    if (fc_isalnum(*year_suffix)) {
      *c++ = *year_suffix;
    }
  }
  *c = '\0';

  fc_snprintf(buf, sizeof(buf), "%s", safe_year_suffix);

  return buf
  Generate a default save file name and place it in the provided buffer.
  Within the name the following custom formats are allowed:

    %R = <reason>
    %S = <suffix>
    %T = <game.info.turn>
    %Y = <game.info.year>

  Examples:
    'freeciv-T%04T-Y%+04Y-%R' => 'freeciv-T0099-Y-0050-manual'
                              => 'freeciv-T0100-Y00001-auto'

  Returns the number of characters written, or the number of characters
  that would have been written if truncation occurs.

  NB: If you change the format definition, be sure to update the above
      function comment and the help text for the 'savename' settingint generate_save_name(const char *format, char *buf, int buflen,
                       const char *reason)
{
  struct cf_sequence sequences[] = {
    cf_str_seq('R', (reason == NULL) ? "auto" : reason),
    cf_str_seq('S', year_suffix()),
    cf_int_seq('T', game.info.turn),
    cf_int_seq('Y', game.info.year),
    cf_end()
  };

  fc_vsnprintcf(buf, buflen, format, sequences, -1);

  if (0 == strcmp(format, buf)) {
    /* Use the default savename if 'format' does not contain
     * printf information. */
    char savename[512];

    fc_snprintf(savename, sizeof(savename), "%s-T%%04T-Y%%05Y-%%R",
                format);
    fc_vsnprintcf(buf, buflen, savename, sequences, -1);
  }

  log_debug("save name generated from '%s': %s", format, buf);

  return strlen(buf)
  Initialize user flagvoid user_flag_init(struct user_flag *flag)
{
  flag->name = NULL;
  flag->helptxt = NULL
  Free user flagvoid user_flag_free(struct user_flag *flag)
{
  if (flag->name != NULL) {
    FC_FREE(flag->name);
    flag->name = NULL;
  }
  if (flag->helptxt != NULL) {
    FC_FREE(flag->helptxt);
    flag->helptxt = NULL;
  }
}
ENDREP
DELTA 25859 573 121
SVN  †  †    †   †  †  †  } „Òe ¥ Ì„Ób€Xfc_assert(game.plr_bg_color == NULL);   } nation_set_list_iterate_end;
    packet.nsets = i;

    i = 0;
    nation_group_lisŒÀ ßÞA  ÞAXENDREP
id: 8w.5kv.r26088/19905
type: file
pred: 8w.5kv.r25859/61023
count: 651
text: 26088 19696 182 216897 264c37f881473b60eb99f5939884a41b
props: 11085 367 112 0 7f6d12fc80ead5cc285da723cb8caa9d
cpath: /branches/S2_5/server/ruleset.c
copyroot: 22812 /branches/S2_5

PLAIN
K 11
Makefile.am
V 23
file 5q.5kv.r25962/7414
K 8
advisors
V 23
dir 4n2.5kv.r25683/1257
K 9
aiiface.c
V 25
file 4gm.5ck.r22318/27020
K 9
aiiface.h
V 24
file 4gn.5ck.r20559/1295
K 6
auth.c
V 25
file 39c.5ck.r20274/32101
K 6
auth.h
V 25
file 39d.5ck.r18977/19170
K 11
barbarian.c
V 24
file lw.5kv.r25427/14169
K 11
barbarian.h
V 24
file lx.5ck.r22667/36940
K 14
citizenshand.c
V 25
file 6mz.5ck.r22267/14643
K 14
citizenshand.h
V 25
file 6n0.5ck.r22267/14833
K 10
cityhand.c
V 24
file 10.5ck.r19573/66885
K 10
cityhand.h
V 23
file 4f.0.r13297/423686
K 11
citytools.c
V 23
file 4g.5kv.r25814/3783
K 11
citytools.h
V 23
file 4h.5kv.r25667/8969
K 10
cityturn.c
V 22
file 4i.5kv.r25027/180
K 10
cityturn.h
V 24
file 4j.5ck.r22267/13479
K 11
civserver.c
V 23
file 4k.5kv.r24557/7334
K 11
civserver.h
V 21
file 4l.0.r2805/33121
K 10
commands.c
V 22
file 2ly.5kv.r25101/53
K 10
commands.h
V 24
file 2lz.5ck.r21821/2153
K 13
connecthand.c
V 22
file 2dw.5kv.r26010/49
K 13
connecthand.h
V 24
file 2dx.5kv.r23607/6193
K 9
console.c
V 24
file dd.5kv.r24896/15603
K 9
console.h
V 23
file de.5ck.r19183/7918
K 10
diplhand.c
V 24
file 4m.5kv.r26035/10734
K 10
diplhand.h
V 21
file 4n.0.r13421/6826
K 11
diplomats.c
V 23
file vz.5kv.r25814/2799
K 11
diplomats.h
V 23
file w0.5ck.r19106/3619
K 10
edithand.c
V 25
file 3bk.5kv.r25427/14635
K 10
edithand.h
V 26
file 4ez.5ck.r18452/115476
K 6
fcdb.c
V 24
file 6l3.5kv.r25474/3634
K 6
fcdb.h
V 25
file 6l4.5kv.r24501/15794
K 10
gamehand.c
V 24
file 4o.5kv.r23861/18970
K 10
gamehand.h
V 24
file 4p.5ck.r15698/24111
K 9
generator
V 24
dir 2me.5kv.r24879/18476
K 11
ggzserver.c
V 25
file 39a.5ck.r20126/49744
K 11
ggzserver.h
V 23
file 39b.5ck.r20191/350
K 10
handchat.c
V 24
file 4q.5kv.r25916/11288
K 10
handchat.h
V 24
file dj.5ck.r18270/28229
K 9
maphand.c
V 21
file 13.5kv.r25993/78
K 9
maphand.h
V 23
file 14.5kv.r24760/7587
K 6
meta.c
V 23
file 4s.5kv.r24170/9164
K 6
meta.h
V 24
file 4t.5kv.r24201/11322
K 8
notify.c
V 24
file 4i2.5ck.r22596/6685
K 8
notify.h
V 24
file 4i3.5ck.r18282/3660
K 9
plrhand.c
V 23
file 4u.5kv.r26072/2696
K 9
plrhand.h
V 24
file 4v.5kv.r25859/61805
K 8
report.c
V 21
file vi.5ck.r22618/92
K 8
report.h
V 24
file vj.5ck.r18270/29203
K 10
rssanity.c
V 24
file hew.5kv.r25814/3319
K 10
rssanity.h
V 25
file hey.5ck.r21709/23329
K 9
ruleset.c
V 24
file 8w.5kv.r26088/19905
K 9
ruleset.h
V 24
file 8x.5kv.r24188/21310
K 13
sanitycheck.c
V 24
file wi.5kv.r25427/15678
K 13
sanitycheck.h
V 24
file wj.5ck.r20315/26296
K 10
savegame.c
V 22
file vl.5kv.r25861/275
K 10
savegame.h
V 24
file vm.5ck.r20758/19233
K 11
savegame2.c
V 23
file 4m0.5kv.r25695/689
K 11
savegame2.h
V 25
file 4m1.5ck.r21363/11592
K 7
score.c
V 24
file 2eg.5ck.r21929/5694
K 7
score.h
V 24
file 2eh.5ck.r21929/6179
K 9
scripting
V 24
dir 31x.5kv.r26035/10215
K 8
sernet.c
V 23
file 15.5kv.r26073/4991
K 8
sernet.h
V 24
file 4y.5ck.r19197/31924
K 10
settings.c
V 25
file 2m0.5kv.r25859/61280
K 10
settings.h
V 24
file 2m1.5kv.r23404/2389
K 11
spacerace.c
V 24
file 9a.5kv.r24606/23848
K 11
spacerace.h
V 21
file 9b.0.r11338/1129
K 9
srv_log.c
V 25
file 15t.5el.r22382/32625
K 9
srv_log.h
V 25
file 15u.5em.r20315/26035
K 10
srv_main.c
V 22
file vg.5kv.r26082/625
K 10
srv_main.h
V 24
file vh.5kv.r23883/21338
K 11
stdinhand.c
V 22
file 4z.5kv.r25965/492
K 11
stdinhand.h
V 24
file 50.5kv.r25916/11029
K 11
techtools.c
V 25
file 33n.5kv.r26063/21679
K 11
techtools.h
V 25
file 33o.5ck.r21976/23870
K 10
unithand.c
V 22
file 18.5kv.r25079/203
K 10
unithand.h
V 24
file 19.5ck.r21095/21648
K 11
unittools.c
V 22
file 1a.5kv.r25949/127
K 11
unittools.h
V 24
file 1b.5kv.r25698/15423
K 8
voting.c
V 25
file 4ex.5kv.r25916/10567
K 8
voting.h
V 25
file 4ey.5ck.r18054/19315
END
ENDREP
id: z.5kv.r26088/23876
type: dir
pred: z.5kv.r26082/4592
count: 5276
text: 26088 20166 3697 3697 6b447df2a85e76a1d72c1f53a1ec54d5
props: 23991 453 166 0 e5026e1cb18fe57b41417951bfac7b19
cpath: /branches/S2_5/server
copyroot: 22812 /branches/S2_5

id: n.5kv.r26088/24123
type: file
pred: n.5kv.r26063/26425
count: 895
text: 26088 0 78 136264 4f94dc9a9dbe8877841aee94f5f8e6cf
props: 11088 14698 112 0 2c9d3e41a2f20488aa9cdb8d740d094e
cpath: /branches/S2_5/client/packhand.c
copyroot: 22812 /branches/S2_5

PLAIN
K 11
Makefile.am
V 23
file 5f.5kv.r25962/1188
K 6
agents
V 22
dir zf.5kv.r23841/2148
K 11
attribute.c
V 23
file xh.5kv.r23780/1181
K 11
attribute.h
V 24
file xi.5ck.r18863/23649
K 7
audio.c
V 24
file 139.5ck.r22180/7668
K 7
audio.h
V 24
file 13a.5ck.r22180/7911
K 12
audio_none.c
V 26
file 13d.5ck.r19259/462511
K 12
audio_none.h
V 25
file 13e.5ck.r18863/20841
K 11
audio_sdl.c
V 25
file 13f.5ck.r19354/73618
K 11
audio_sdl.h
V 25
file 13g.5ck.r18863/23885
K 17
chatline_common.c
V 24
file 14q.5kv.r24896/5437
K 17
chatline_common.h
V 24
file 14r.5kv.r24893/5197
K 16
citydlg_common.c
V 23
file z4.5kv.r25543/5114
K 16
citydlg_common.h
V 24
file z5.5ck.r18863/18619
K 13
cityrepdata.c
V 22
file mb.5kv.r24130/185
K 13
cityrepdata.h
V 24
file mc.5ck.r18863/19121
K 13
client_main.c
V 23
file 2f.5m3.r25133/2645
K 13
client_main.h
V 24
file hz.5cq.r18863/25358
K 8
climap.c
V 24
file 197.5ck.r20232/3008
K 8
climap.h
V 25
file 198.5ck.r18863/24126
K 9
climisc.c
V 22
file d5.5kv.r25907/789
K 9
climisc.h
V 24
file i0.5ck.r20865/60492
K 8
clinet.c
V 23
file hc.5kv.r26022/1649
K 8
clinet.h
V 24
file i1.5ck.r18863/24866
K 15
colors_common.c
V 24
file 33a.5kv.r22856/3020
K 15
colors_common.h
V 25
file 33b.5kv.r24137/11622
K 19
connectdlg_common.c
V 24
file 2fw.5kv.r26073/9206
K 19
connectdlg_common.h
V 25
file 2fx.5ck.r19154/53802
K 9
control.c
V 24
file gz.5kv.r25165/29446
K 9
control.h
V 23
file i2.5kv.r24694/7006
K 7
dummy.c
V 23
file 4f9.5ck.r15641/551
K 12
dummycxx.cpp
V 23
file 6kr.5ck.r18947/939
K 8
editor.c
V 23
file 3bg.5kv.r24535/192
K 8
editor.h
V 25
file 3bh.5kv.r23106/10680
K 11
ggzclient.c
V 26
file 394.5ck.r20126/104106
K 11
ggzclient.h
V 25
file 395.5ck.r18863/21083
K 17
global_worklist.c
V 26
file 4i6.5ck.r19259/493810
K 17
global_worklist.h
V 25
file 4i7.5ck.r18863/22960
K 6
goto.c
V 23
file vu.5kv.r24694/7264
K 6
goto.h
V 24
file vv.5ck.r20865/49000
K 11
gui-gtk-2.0
V 23
dir zs.5kv.r25924/13651
K 11
gui-gtk-3.0
V 22
dir zs.5kx.r25999/6705
K 6
gui-qt
V 23
dir 6ie.5kv.r26085/3835
K 7
gui-sdl
V 24
dir 16t.5kv.r26050/10225
K 8
gui-stub
V 23
dir mh.5kv.r25859/69263
K 7
gui-xaw
V 23
dir 9o.5kv.r25859/77749
K 14
gui_cbsetter.c
V 24
file a3c.5kv.r25000/7316
K 14
gui_cbsetter.h
V 25
file a3d.5ck.r20753/37736
K 15
gui_interface.c
V 25
file 6jm.5ni.r25000/22121
K 15
gui_interface.h
V 25
file 6jn.5nj.r25000/22345
K 10
helpdata.c
V 23
file h1.5kv.r26038/8640
K 10
helpdata.h
V 24
file i3.5kv.r25496/41390
K 7
include
V 23
dir b8.5kv.r25859/79926
K 19
luaconsole_common.c
V 24
file 75z.5kv.r24896/5958
K 19
luaconsole_common.h
V 25
file 760.5ck.r20306/31022
K 9
luascript
V 24
dir 761.5kv.r24746/14570
K 16
mapctrl_common.c
V 25
file 15m.5ck.r20865/59741
K 16
mapctrl_common.h
V 25
file 15n.5ck.r19893/12504
K 16
mapview_common.c
V 23
file z2.5kv.r24606/9847
K 16
mapview_common.h
V 24
file z3.5ck.r20392/39510
K 19
messagewin_common.c
V 25
file 14s.5ck.r19354/71979
K 19
messagewin_common.h
V 25
file 14t.5ck.r18863/21579
K 9
options.c
V 24
file dc.5kv.r25480/19022
K 9
options.h
V 23
file i4.5kv.r23149/6288
K 17
overview_common.c
V 25
file 2yk.5kv.r23660/90028
K 17
overview_common.h
V 24
file 2yl.5ck.r19511/5441
K 10
packhand.c
V 23
file n.5kv.r26088/24123
K 10
packhand.h
V 24
file i5.5ck.r18863/20596
K 15
plrdlg_common.c
V 23
file 14u.5kv.r23427/983
K 15
plrdlg_common.h
V 25
file 14v.5ck.r18863/21328
K 17
repodlgs_common.c
V 25
file 11i.5ck.r22325/76263
K 17
repodlgs_common.h
V 25
file 11j.5ck.r19589/11861
K 9
reqtree.c
V 25
file 2ym.5kv.r24137/11365
K 9
reqtree.h
V 24
file 2yn.5ck.r19057/3837
K 9
servers.c
V 25
file 33x.5kv.r25000/28091
K 9
servers.h
V 25
file 33y.5ck.r20478/36372
K 6
text.c
V 25
file 2g3.5kv.r26063/26165
K 6
text.h
V 25
file 2g4.5ck.r22264/31375
K 15
themes_common.c
V 25
file 352.5ck.r19354/73121
K 15
themes_common.h
V 25
file 353.5ck.r18863/22710
K 10
tilespec.c
V 25
file hl.5kv.r24584/229048
K 10
tilespec.h
V 23
file i6.5kv.r23825/6831
K 19
unitselect_common.c
V 24
file 76v.5ck.r20397/3580
K 19
unitselect_common.h
V 24
file 76w.5ck.r20397/3746
K 14
update_queue.c
V 25
file 4jw.5ck.r22413/14226
K 14
update_queue.h
V 25
file 4jx.5ck.r18863/22078
K 10
voteinfo.c
V 25
file 4fe.5ck.r19354/72931
K 10
voteinfo.h
V 25
file 4ff.5ck.r18863/22523
END
ENDREP
id: d.5kv.r26088/28605
type: dir
pred: d.5kv.r26085/8315
count: 5882
text: 26088 24380 4212 4212 57958a7e9ffc2ae3d2a5e8f099bb8769
props: 23991 877 341 0 4a292777c297b001f37cdd3988879aee
cpath: /branches/S2_5/client
copyroot: 22812 /branches/S2_5

id: 3u.5kv.r26088/28852
type: file
pred: 3u.5kv.r24678/8714
count: 384
text: 26088 106 19563 27038 db3047d2cfc950764c6bc5b30422a8fb
props: 11041 20516 112 0 779057fa36f350a13e5c75663a7074d1
cpath: /branches/S2_5/common/game.c
copyroot: 22812 /branches/S2_5

PLAIN
K 11
Makefile.am
V 23
file 5h.5kv.r25190/4634
K 4
ai.c
V 25
file 4go.5ck.r22382/18940
K 4
ai.h
V 24
file 4gp.5kv.r24551/3927
K 6
aicore
V 23
dir 18t.5kv.r25876/1273
K 6
base.c
V 24
file 3jw.5kv.r24813/2285
K 6
base.h
V 24
file 3jx.5kv.r24678/8969
K 9
borders.c
V 26
file 4f0.5ck.r19259/404033
K 9
borders.h
V 25
file 4f1.5ck.r18858/99721
K 8
capstr.c
V 22
file dv.5kv.r24977/289
K 8
capstr.h
V 24
file dw.5ck.r18858/97074
K 10
citizens.c
V 24
file 6mx.5ck.r20853/5961
K 10
citizens.h
V 24
file 6my.5ck.r20853/6145
K 6
city.c
V 23
file q.5kv.r24934/13610
K 6
city.h
V 22
file 3q.5kv.r25543/304
K 8
combat.c
V 23
file wp.5kv.r25731/2439
K 8
combat.h
V 23
file wq.5kv.r24574/4864
K 12
connection.c
V 22
file un.5kv.r25723/179
K 12
connection.h
V 24
file uo.5ck.r22458/34945
K 8
dataio.c
V 25
file 15r.5kv.r24606/15631
K 8
dataio.h
V 25
file 15s.5kv.r24606/15891
K 11
diptreaty.c
V 22
file 3r.5kv.r24571/205
K 11
diptreaty.h
V 24
file 3s.5ck.r22430/33000
K 10
disaster.c
V 24
file b2m.5ck.r22688/4704
K 10
disaster.h
V 24
file b2o.5ck.r22688/4889
K 9
effects.c
V 25
file 2eo.5kv.r26038/13624
K 9
effects.h
V 25
file 2ep.5kv.r26038/13886
K 8
events.c
V 23
file 33h.5ck.r21798/853
K 8
events.h
V 24
file 3t.5ck.r22430/32762
K 12
fc_cmdhelp.c
V 24
file 76j.5ck.r20867/6570
K 12
fc_cmdhelp.h
V 23
file 76k.5kv.r23664/127
K 14
fc_interface.c
V 24
file 4up.5ck.r22631/8528
K 14
fc_interface.h
V 25
file 4uq.5ck.r20355/12782
K 10
fc_types.h
V 25
file 2ll.5kv.r24188/10213
K 15
featured_text.c
V 25
file 4h3.5kv.r24896/10630
K 15
featured_text.h
V 25
file 4h4.5kv.r24896/10840
K 6
game.c
V 24
file 3u.5kv.r26088/28852
K 6
game.h
V 23
file 3v.5kv.r24455/2931
K 19
generate_packets.py
V 24
file 2f4.5kv.r24774/2428
K 12
government.c
V 24
file he.5kv.r23690/32769
K 12
government.h
V 24
file hf.5ck.r18858/98787
K 6
idex.c
V 25
file qo.5ck.r19259/406132
K 6
idex.h
V 24
file qp.5ck.r18858/92434
K 13
improvement.c
V 25
file vb.5kv.r24792/100869
K 13
improvement.h
V 25
file vc.5kv.r24792/101133
K 5
map.c
V 21
file r.5kv.r24284/470
K 5
map.h
V 21
file 41.5kv.r25756/49
K 8
mapimg.c
V 25
file 6n9.5kv.r23660/79318
K 8
mapimg.h
V 24
file 6na.5ck.r22508/1884
K 10
movement.c
V 25
file 2xv.5kv.r25897/14344
K 10
movement.h
V 24
file 2xw.5kv.r25619/6757
K 18
name_translation.h
V 25
file 4k1.5kv.r24145/26976
K 8
nation.c
V 23
file il.5kv.r25349/1658
K 8
nation.h
V 23
file im.5kv.r25349/1914
K 9
packets.c
V 22
file 43.5kv.r23849/115
K 11
packets.def
V 25
file 2f5.5kv.r25859/55701
K 9
packets.h
V 23
file 44.5kv.r22884/2307
K 8
player.c
V 23
file 45.5kv.r25698/5497
K 8
player.h
V 24
file 46.5kv.r26063/31158
K 14
requirements.c
V 26
file 2wq.5kv.r24792/100598
K 14
requirements.h
V 24
file 2wr.5kv.r24786/4573
K 10
research.c
V 23
file 4ro.5kv.r24929/986
K 10
research.h
V 25
file 4rp.5kv.r26063/31417
K 10
rgbcolor.c
V 25
file 6i6.5ck.r21333/48710
K 10
rgbcolor.h
V 25
file 6i7.5ck.r21333/48896
K 6
road.c
V 24
file 6pq.5kv.r24786/5090
K 6
road.h
V 25
file 6pr.5kv.r24694/12186
K 10
scriptcore
V 24
dir 75a.5kv.r25897/16319
K 11
spaceship.c
V 24
file 98.5kv.r24606/14851
K 11
spaceship.h
V 24
file 99.5kv.r24606/15110
K 12
specialist.c
V 23
file 33f.5ck.r22372/258
K 12
specialist.h
V 26
file 33g.5kv.r24146/147197
K 6
team.c
V 23
file 33i.5kv.r25892/212
K 6
team.h
V 25
file 33j.5ck.r18858/94759
K 6
tech.c
V 23
file t.5kv.r26063/31618
K 6
tech.h
V 23
file u.5kv.r26063/31875
K 9
terrain.c
V 23
file 2fp.5kv.r25241/409
K 9
terrain.h
V 23
file qs.5kv.r23334/6406
K 6
tile.c
V 22
file 2ys.5kv.r24523/90
K 6
tile.h
V 22
file 2yt.5kv.r24860/85
K 13
traderoutes.c
V 25
file bf8.5ck.r22228/24352
K 13
traderoutes.h
V 25
file bfa.5ck.r22430/33483
K 8
traits.h
V 24
file 7k3.5ck.r22120/1406
K 6
unit.c
V 23
file v.5kv.r25897/16580
K 6
unit.h
V 24
file 48.5kv.r25048/13610
K 10
unitlist.c
V 25
file 39m.5ck.r21517/87214
K 10
unitlist.h
V 24
file 39n.5kv.r24114/1627
K 10
unittype.c
V 22
file v9.5kv.r25549/906
K 10
unittype.h
V 23
file va.5kv.r25549/1163
K 9
version.c
V 22
file oe.5kv.r25781/331
K 9
version.h
V 23
file e7.5kv.r24298/5515
K 8
vision.c
V 26
file 4dm.5ck.r19259/404222
K 8
vision.h
V 24
file 4dn.5ck.r21811/9325
K 12
workertask.c
V 24
file llw.5ck.r22482/3617
K 12
workertask.h
V 24
file lly.5ck.r22482/3434
K 10
worklist.c
V 25
file o8.5ck.r19259/402799
K 10
worklist.h
V 24
file o9.5ck.r18858/98299
END
ENDREP
id: p.5kv.r26088/33420
type: dir
pred: p.5kv.r26063/36437
count: 3570
text: 26088 29110 4297 4297 310dadf8bc6d04b14aa3104ede174cf7
props: 23740 0 112 0 b2bc91bf125d83375389d51f25ff2c2f
cpath: /branches/S2_5/common
copyroot: 22812 /branches/S2_5

PLAIN
K 9
ABOUT-NLS
V 24
file fu.5kv.r23463/86338
K 7
AUTHORS
V 24
file 5u.5ck.r22143/14016
K 7
COPYING
V 19
file 1h.0.r9643/400
K 9
ChangeLog
V 26
file 6l.5kv.r25637/6537782
K 7
INSTALL
V 22
file 6.5kv.r25136/6183
K 11
Makefile.am
V 23
file 59.5kv.r25144/3611
K 4
NEWS
V 24
file 6m.5kv.r25633/30575
K 6
README
V 20
file 7.0.r4421/96382
K 2
ai
V 22
dir 8.5kv.r26063/39595
K 10
autogen.sh
V 23
file 12o.5kv.r24092/228
K 9
bootstrap
V 23
dir 2p5.5kv.r25971/4686
K 6
client
V 22
dir d.5kv.r26088/28605
K 6
common
V 22
dir p.5kv.r26088/33420
K 12
configure.ac
V 24
file 149.5kv.r25962/7160
K 4
data
V 24
dir w.5kv.r26002/2786098
K 6
debian
V 22
dir 5w.5kv.r23304/4091
K 12
dependencies
V 23
dir 2yu.5kv.r25595/4433
K 11
diff_ignore
V 24
file qq.5ck.r21039/26581
K 3
doc
V 22
dir k7.5kv.r25785/2886
K 10
fc_version
V 25
file 2lo.5kw.r25859/60510
K 2
m4
V 23
dir 12p.5kv.r25644/2535
K 7
scripts
V 22
dir 2yo.5kv.r26041/649
K 6
server
V 22
dir z.5kv.r26088/23876
K 5
tests
V 22
dir 2g9.5kv.r25380/686
K 5
tools
V 23
dir 4pj.5lo.r25962/6919
K 12
translations
V 23
dir t0n.5kv.r26046/5288
K 7
utility
V 22
dir 1c.5kv.r25968/4329
K 3
vms
V 25
dir u9.5ck.r21528/1396085
K 5
win32
V 23
dir 2eu.5kv.r25499/1616
END
ENDREP
id: 3.5kv.r26088/34875
type: dir
pred: 3.5kv.r26085/9768
count: 17247
text: 26088 33666 1196 1196 b305b32cd7ba5bd03d081725d15c05a2
props: 20140 3888 282 0 e4bb46e81629a60eef613b169b23a9ea
cpath: /branches/S2_5
copyroot: 22812 /branches/S2_5

PLAIN
K 5
S1_14
V 21
dir 3.21.r18109/18803
K 4
S2_0
V 21
dir 3.10x.r21862/4178
K 4
S2_1
V 22
dir 3.59e.r20026/11014
K 4
S2_2
V 21
dir 3.5cy.r21861/5036
K 4
S2_3
V 21
dir 3.5f2.r24391/5183
K 4
S2_4
V 22
dir 3.5ii.r26087/15398
K 4
S2_5
V 22
dir 3.5kv.r26088/34875
K 11
freeciv-web
V 22
dir 3.5bl.r13594/14918
END
ENDREP
id: 1.0.r26088/35435
type: dir
pred: 1.0.r26087/15958
count: 7880
text: 26088 35117 305 305 620a1164b792eab2586d561b6ebe316b
cpath: /branches
copyroot: 0 /

PLAIN
K 8
branches
V 20
dir 1.0.r26088/35435
K 4
tags
V 19
dir 2.0.r25885/6524
K 5
trunk
V 22
dir 3.5ck.r26086/16656
K 7
website
V 21
dir 3ge.0.r22980/2263
END
ENDREP
id: 0.0.r26088/35759
type: dir
pred: 0.0.r26087/16282
count: 26088
text: 26088 35592 154 154 27d8b2abeef7ffe2cc6a11db575f8d79
cpath: /
copyroot: 0 /

3u.5kv.t26086-1 modify true false /branches/S2_5/common/game.c

n.5kv.t26086-1 modify true false /branches/S2_5/client/packhand.c

8w.5kv.t26086-1 modify true false /branches/S2_5/server/ruleset.c


35759 35909
