DELTA 19953 7034 485
SVN  Œm†8 ‡  €‚? pˆa€‚Q R‹.€(ai_type *ait, struct player *pplayer);
void dai_player_free(struct ai_type *ait, struct player *pplayer);

void dai_player_save(struct ai_type *ait, struct player *pplayer,
                     struct section_file *file, int plrno);
void dai_player_load(struct ai_type *ait, struct player *pplayer,
                    ,
                                               struct ai_type *deftype)
{
  return (struct ai_city *)city_ai_data(pcity, deftype);
}

static inline struct unit_ai *def_ai_unit_data(const struct unit *punit,
                                               struct ai_type *deftype)
{
  return (struct unit_ai *)unit_ai_data(punit, deftype,
                                                struct ai_type *deftype)
{
  return (struct ai_plr *)player_ai_data(pplayer, deftype);
}

#endif /* FC__AIPLAYER_H */
ENDREP
DELTA 19272 4966 9990
SVN  „“t„“…< ( Š[ ˜ ƒŠK PŽ|€t ’<€b ”> ‡S¤U€B ‚¬z„ ‚!® c± ¶ O¢~ „´ ƒz¸€J b¼q k½Y„ y¾D GÀ=œ O¢~ ‚+Ái€B Äm™ O¢~ ‚eÆj€2 XËk £ÍC §9ðX€q „A˜k ‘M,€
 Šm°)€# ƒd¼! À€_ JÁj ‡RÃ4€W ˆIË[ƒ jÔ$ƒ ,Ö½ ƒE×u ‡"Û:… Uâ[ „
äF„ †èN€n „gð€J ‚Eõ8 ƒz÷} Mûw ƒüD… {ÿK ‚€d J‚s„ ‚ƒ;€  –=‚†„ •‚œC€ S‚²r‹ ‚t‚³H ƒ$‚¶< ‚#‚¹` ‚>‚¼ y‚¾A r‚À: r‚Á, ƒ{‚Â€{ ›L‚Ç& ‚4‚âr· šV‚år„ Uƒå} ,‚Ý+ BŸ €h wƒƒZ€@ ‚Lƒ„O ƒ0ƒ‡µ jƒŠy gƒŒ„ `ƒ›i… aƒœH€D dƒŸ/€‚ †Hƒ¡]€` ƒyƒ©„ ƒ­ ‚Bƒ®" ‚ ƒ°d€~ †Mƒ³{ ‡kƒºf ƒ,ƒÂQ ƒƒÅ} ŽƒÉ€ ƒgƒØ7€ ƒgƒÝ#± uƒá9 ƒQƒâ.„ ‚&ƒå}€O ‚Qƒèp€‚X Uƒí€b eƒï4 ƒ#ƒð ƒTƒó< c’< ƒû7 bƒø´ ‚uƒû€P †Bƒþ5 ‡\„„w¼ ‚n„’ jƒ€- „‘  C”> „’Utraits.h"

/* ai/defaultdai_incident_war(struct player *violator, struct player *victim);
static void dai_incident_diplomat(struct player *violator, struct player *victim);
static void dai_incident_nuclear(struct player *violator, struct player *victim);
static void ddai_incident_nuclear_self(struct player *violator,
				      struct player *victim);
static void dd_alive(eplayer) {
    if (eplayer == pplayer || eplayer == aplayeralivddai_diplomacy_get(player1, player2)->countdown == -1);d_alive(eplayer) {
      if (eplayer == giver
          || eplayer == takeradv_dalive_end;
    return worth;_alive(aplayer) {
    if (aplayer != us
        && aplayer != themalive_end;
  return NULL;dai_goldequiv_clause(struct player *pplayer,
				struct player *aplayer,
				struct Clause *pclause,
				bool verbose,
				enum diplstate_type ds_after)
{
  struct ai_plr *ai = ddddai_treaty_evaluate(struct ai_type *ait, struct player *pplayer,
                         struct player *aplayer,ddai_treaty_react(struct player *pplayer,
			     struct player *aplayer,
			     struct Clause *pclause)
{
  struct ai_dip_intel *adip = ddai_treaty_accepted(struct ai_type *ait, struct player *pplayer,
                         struct player *aplayer, struct Treaty *ptreaty)
{
  struct ai_plr *ai = dddai_treaty_react(pplayer, aplayer, pclause);
    if (is_pact_clause(pclause->type)
        && dddai_war_desire(struct player *pplayer, struct player *target)
{
  struct ai_plr *ai = dUTYUTY
        && utype_has_flag(pcity->production.value.utype, UTYd_alivalivdai_diplomacy_suggest(struct player *pplayer, 
				  struct player *aplayer,
				  enum clause_type what,
				dai_diplomacy_first_contact(struct ai_type *ait, struct player *pplayer,
 ddd_alivdaliv_alive(aplayer) {
    struct ai_dip_intel *adip = dai_diplomacy_get(pplayer, aplayer);
    int amount = 0;

    if (pplayer == aplayer) {
      continue;
    }
alivdai_diplomacy_suggest(player1, player2, CLAUSE_ADVANCE, tech2);
	dai_diplomacy_suggest(player2, player1, CLAUSE_ADVANCE, tech);
	if (diff > 0) {
          d          dddddddddai_go_to_war(struct player *pplayer, struct player *target,
			  enum war_reason reason)
{
  struct ai_dip_intel *adip = dd_alive(ally) {
    if (!pplayers_allied(pplayer, ally) aliv*****/
void dai_diplomacy_actions(struct ai_type *ait, struct player *pplayer)
{
  struct ai_plr *ai = d  int war_threshold;
  int aggr;
  float aggr_sr;
  float max_srd_alive(aplayer) {
      struct ai_dip_intel *adip = daliv_alivWAR(pplayer, aplayer)) {
      need_targets = FALSE;
    } else if (alive_end;

  aggr = ai_trait_get_value(TRAIT_AGGRESSIVE, pplayer);
  max_sr = TRAIT_MAX_VALUE_SR;
  aggr_sr = sqrt(aggr);

  war_threshold = (MAX_AI_LOVE * (0.67 + aggr_sr / max_sr / 3.0)) - MAX_AI_LOVE;

  if (need_targets && target && most_hatred < war_threshold
      && d_alive(aplayer) {
    struct ai_dip_intel *adip = dai_diplomacy_get(pplayer, aplayer);

    if (alivdd_alive(aplayer) {
    enum diplstate_type ds = player_diplstate_get(pplayer, aplayer)->type;
    struct ai_dip_intel *adip = dddddai_goldequiv_clause(pplayer, aplayer, &clause,
                                  FALSE, DS_ALLIANCE) < 0) {
        break;
      }
      ddai_goldequiv_clause(pplayer, aplayer, &clause,
                                  FALSE, DS_PEACE) < 0) {
        break;
      }
      ddai_goldequiv_clause(pplayer, aplayer, &clause,
 dalivdai_on_war_footing(struct player *pplayer)
{
  players_iterate(plr) {
    if (ddai_incident(struct ai_type *ait, enum incident_type type,
                  struct player *violator, struct player *victim)
{
  switch(type) {
    case INCIDENT_DIPLOMAT:
      dai_incident_diplomat(violator, victim);
      break;
    case INCIDENT_WAR:
      dai_incident_war(violator, victim);
      break;
    case INCIDENT_PILLAGE:
      ddai_incident_nuclear(violator, victim);
      break;
    case INCIDENT_NUCLEAR_NOT_TARGET:
      dddddai_incident_nuclear_self(struct player *violator,
 dai_incident_diplomat(struct player *violator,
                                 d_alive(ally) {
          if (!pplayers_allied(pplayer, ally)alive_end;
      }dENDREP
DELTA 19953 7897 1078
SVN  š)œb0Œ; ˆ €D ‚ˆ\€‚0 <ŒP€w [€„	 ‚”5€‚O \˜e€x A™hdai_unit_task_rule_name(const enum ai_unit_task task);
const char *dai_type *ait, struct unit *punit,
                             struct tile *ptile, struct pf_path *path, int step);

void dai_fill_unit_param(struct pf_parameter *parameter,
                         struct adv_risk_cost *risk_cost,
                         struct unit *punit, struct tile *ptile);
bool ddai_log_path(struct unit *punit,
                  struct pf_path *path, struct pf_parameter *parameter);
bool dai_unit_goto_constrained(struct unit *punit, struct tile *ptile,
                               struct pf_parameter *parameter);
bool ddai_unit_new_task(struct unit *punit, enum ai_unit_task task, 
                       struct tile *ptile);
void dai_unit_new_adv_task(struct ai_type *ait, struct unit *punit,
                           enum adv_unit_task task, struct tile *ptile);
bool dai_unit_make_homecity(struct unit *punit, struct city *pcity);
bool dai_unit_attack(struct unit *punit, struct tile *ptile);
bool dai_unit_move(struct unit *punit, struct tile *ptile);

void dai_government_change(struct player *pplayer, struct government *gov);
int ddai_choose_role_unit(struct player *pplayer, struct city *pcity,
                          struct adv_choice *choice, enum choice_type type,
                          int role, int want, bool need_boat);
void dai_build_adv_override(struct ai_type *ait, struct city *pcity,
                            struct adv_choice *choice);
bool dai_type *ait, struct player *plr1,
                                struct player *plr2,
                                ENDREP
DELTA 20460 10256 539
SVN  ‹ŒOƒy ‡' €ƒ3 t‰O€F;ŠXai_type *ait, struct player *pplayer);

void dai_treaty_evaluate(struct ai_type *ait, struct player *pplayer,
                         struct player *aplayer, struct Treaty *ptreaty);
void dai_treaty_accepted(struct ai_type *ait, struct player *pplayer,
                         struct player *aplayer, struct Treaty *ptreaty);

void dai_incident(struct ai_type *ait, enum incident_type type,
                  struct player *violator,ai_type *ait, struct player *pplayer,
                                ENDREP
DELTA 21779 0 906
SVN  „ÀU„Â?K‚U Û# — §HÛ#Ž ƒ(‚‚d  U‚‰{ ‚I‚†l€U ˆc‚‰g€\ /‚‰g õn‚”2’ ŽeƒŠ¿ ¦,„™Ž („¿-default_ai_get_self(), ai_type *ait, ai_type *ait, struct city *pcityai_type *ait, struct section_file *file,
                   const struct city *pcity,struct ai_type *ait, const struct section_file *file,
                   struct city *pcity,case EFT_TRANSFORMai_type *ait, struct player *pplayer,
                         ai_type *ait, ENDREP
DELTA 20460 11294 12547
SVN  ì~ó	aˆT ŒO — ‹MŒO— †_˜— ‚&ž{€ 7¡w€G †¿[— „wÅv€o ƒ=Ë0— Îm€Z #Ð#€ƒp PÈ ‡<Òv— Læ6 ‹8Ú~— …æ6— .ëP, default_ai_get_self(), default_ai_get_self(), default_ai_get_self()ai_type *ait, struct player *pplayer,
                          bool is_new_phase)
{
  struct ai_plr *ai = def_ai_player_data(pplayer, default_ai_get_self()UTYF_DIPLOMAT)
        && def_ai_unit_data(punit, default_ai_get_self(), default_ai_get_self()ai_type *ait, struct player *pplayer)
{
  struct ai_plr *ai = def_ai_player_data(pplayer, default_ai_get_self(), default_ai_get_self()#if defined(DEBUG) || defined(IS_DEVEL_VERSION)
  fc_assert(ai->phase_initialized);
#endif
    /* See adv_data_get() */
    if (ai->phase_initialized) {
      dai_data_phase_finished(default_ai_get_self(), pplayer);
      dai_data_phase_begin(default_ai_get_self(), pplayer, FALSE);
    } else {
      /* wrong order */
      log_debug("%s advisor data phase closed when adv_data_get() called",
                player_name(pplayer));
      dai_data_phase_begin(default_ai_get_self(), pplayer, FALSE);
      dai_data_phase_finished(default_ai_get_self(), pplayer);
    }
  }

  return ai, default_ai_get_self(), default_ai_get_self(), default_ai_get_self()ENDREP
DELTA 20460 24486 864
SVN  ÚuÛn8! ²_ ± ˆ	³¡ Åe»— ¶4€|— ’·0 …`ÉNŽ YÏ'… ‡Ð Ž ƒa×
{
  int maxrate = (ai_handicap(pplayer, H_RATES)maxrate = CLIP(34, maxrate, 100);, default_ai_get_self(), default_ai_get_self()ai_type *ait, ait, ai_type *ait, ENDREP
DELTA 21647 13707 1863
SVN  ƒž*ƒŸwBX À. — ˆÀ.© I  ›ÉŽ •-ä7— ¾@ùd— ¯X¸$— ÈAç|— ˆ]‚°=— ´"‚¹— °n‚í<, default_ai_get_self(), default_ai_get_self())->wallvalue);
}

ai_type *ait, , default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self()ENDREP
DELTA 20460 27081 344
SVN  ž=Ÿqƒz –8 €‚k … ˜3€?~ai_type *ait, struct city *pcity);
void dai_city_free(struct ai_type *ait, struct city *pcity);

struct section_file;
void dai_city_save(struct ai_type *ait, struct section_file *file,
                   const struct city *pcity, const char *citystr);
void dai_city_load(struct ai_type *ait, const struct section_file *file,
                   struct city *pcity,ai_type *ait, struct player *pplayer,
                          struct city *wonder_city);

void dai_consider_wonder_city(struct ai_type *ait, ENDREP
DELTA 19667 0 2757
SVN  ›!›m‚[ –| €| ]˜0± \™<® ]šDdai_data_init(struct player *pplayer);
void dai_data_close(struct player *pplayer);

void dai_data_phase_begin(struct ai_type *ait, struct player *pplayer,
                          bool is_new_phase);
void dai_data_phase_finished(struct ai_type *ait, dai_plr_data_get(struct player *pplayer);

bool ddai_diplomacy_get(const struct player *plr1,
 ENDREP
DELTA 77 25651 598
SVN  †ˆ‚Y …@ €‚YFC__AIHAND_H
#define FC__AIHAND_H

#include "fc_types.h"

void dai_do_first_activities(struct ai_type *ait, struct player *pplayer);
void dai_do_last_activities(struct ai_type *ait, struct player *pplayer);

void dai_calc_data(const struct player *pplayer, int *trade, int *expenses,
                   int *income);

#endif  /* FC__AIHAND_H */
ENDREP
DELTA 21647 16758 4017
SVN  …ã4…ê0{‰Y œK — ŠœK€k †0§½ R…Ø —m®G— ‚Æ4— vÈG— ƒ^Ø=— ™VÜ— Š5õq— ®‚€&— †b‚®<— ‚i‚µ— ©_‚¸— ›>‚áf— –ƒý$— ƒ>„“?— –„–}— ƒ[„¬~— Ž}„°Y— ˆ„¿V— †„Ç^— ›I„Ío— ‚„é8— Ž5„ëG— ƒ„ù|— ¶K„ý€B –9…³i“ ƒ>…Ê&Ž †…Í]€o ‚&…Ô&€o ƒD…×€U L…ß|— ƒr…ÛQ€\ L…ß|— ‚l…àH, default_ai_get_self(), default_ai_get_self());
        struct unit_ai *unit_data = def_ai_unit_data(punit, default_ai_get_self(), default_ai_get_self())->done = TRUE; /* Stay with charge */, default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self(), default_ai_get_self()ai_type *ait, struct tile *ptile,
                                struct ai_type *aitai_type *ait, ai_type *ait, struct unit *punit)
{
  struct unit_ai *unit_data = def_ai_unit_data(punit, default_ai_get_self()ai_type *ait, struct unit *punit)
{
  struct unit_ai *unit_data = def_ai_unit_data(punit, default_ai_get_self()ai_type *ait, struct section_file *file,
                   const struct unit *punit,, default_ai_get_self()struct ai_type *ait, const struct section_file *file,
                   struct unit *punit,, default_ai_get_self()ENDREP
DELTA 20460 28087 239
SVN  ‹{Œ
 ‰ Ž ‚m‰ai_type *ait, ENDREP
DELTA 19272 3192 1427
SVN  ‘3©5“o …_ €0 h†<€ƒC G €ƒ" G  „g‡ …/Œ G €‚  Kˆx€‰8 ‚$#include <stdarg.h>

/* common */
#include "player.h"

/* server */
#include "notify.h"

/* ai */
#include "aicity.h"
#include "aidata.h"
#include "aiplayer.h"
#include "aiunitProduce logline fragment for srv_log.
**************************************************************************/
void dai_city_log(struct ai_type *ait, char *buffer, int buflength,
                  const struct city *pcity)
{
  struct ai_city *city_data = def_ai_city_data(pcity, default_ai_get_self());

  fc_snprintf(buffer, buflength, "d%d u%d g%d",
              city_data->danger, city_data->urgency,
              city_data->grave_danger);
}

****
  Produce logline fragment for srv_log.
**************************************************************************/
void dai_unit_log(struct ai_type *ait, char *buffer, int buflength,
                  const struct unit *punit)
{
  struct unit_ai *unit_data = def_ai_unit_data(punit, default_ai_get_self());

  fc_snprintf(buffer, buflength, "%d %d",
              unit_data->bodyguard, unit_data->ferryboat);
}

d
****
  Log message for bodyguards. They will appear like this
    2: Polish Mech. Inf.[485] bodyguard (38,22){Riflemen:574@37,23} was ...
  note that these messages are likely to wrap if long.
**************************************************************************/
void real_bodyguard    enum log_level level,  bool notify,
                        const struct unit *punit, const char *msg, ...)
{
  char buffer[500];
  char buffer2[500];
  va_list ap;
  const struct unit *pcharge;
  const struct city *pcity;
  int id = -1;
  int charge_x = -1;
  int charge_y = -1;
  const char *type = "guard";
  const char *s = "none";
  struct unit_ai *unit_data = def_ai_unit_data(punit, default_ai_get_self());

  pcity = game_city_by_number(unit_data->charge);
  pcharge = game_unit_by_number(unit_data->charge);
  if (pcharge) {
    index_to_map_pos(&charge_x, &charge_y, tile_index(unit_tile(pcharge)));
    id = pcharge->id;
    type = "bodyguard";
    s = unit_rule_name(pcharge);
  } else if (pcity) {
    index_to_map_pos(&charge_x, &charge_y, tile_index(city_tile(pcity)));
    id = pcity->id;
    type = "cityguard";
    s = city_name(pcity);
  }
  /* else perhaps the charge died */

  fc_snprintf(buffer, sizeof(buffer),
              "%s %s[%d] %s (%d,%d){%s:%d@%d,%d} ",
              nation_rule_name(nation_of_unit(punit)),
              unit_rule_name(punit),
              punit->id,
              type,
              TILE_XY(unit_tile(punit)),
              s, id, charge_x, charge_yENDREP
DELTA 21779 3532 23462
SVN  ‚Î@‚Ïf ‚†` €S Œ<‚‡	… —u‚“EŽ £‚«3ai_type *ait, struct player *pplayer,
                          struct unit *punit,ait, ai_type *ait, ENDREP
DELTA 19078 8131 2887
SVN  ­f«h*‡B   †/Žf „•€] ‡$št ƒ¤-€ƒt ‚©b€p3­3ddai_military_rampage(struct unit *punit, int thresh_adj,
                          int thresh_move);
void dai_manage_units(struct player *pplayer); 
void dai_manage_unit(struct player *pplayer, struct unit *punit);
void ddai_consider_tile_dangerous(struct ai_type *ait, struct tile *ptile,
                                 struct unit *punit,
				 enum danger_consideration *result);

enum unit_move_type dai_uclass_move_type(const struct unit_class *pclass);

/* Call this after rulesets are loaded */
void dai_units_ruleset_init(struct ai_type *ait);

void dai_unit_init(struct ai_type *ait, struct unit *punit);
void dai_unit_turn_end(struct ai_type *ait, struct unit *punit);
void dai_unit_close(struct ai_type *ait, dai_unit_save(struct ai_type *ait, struct section_file *file,
                   const struct unit *punit, const char *unitstr);
void dai_unit_load(struct ai_type *ait, const struct section_file *file,
                   struct unit *punit,ENDREP
DELTA 20695 2492 169
SVN  ¢l–-ƒB×D  ³ E‹@€ H ¹ E‹@€ H ¹ E‹@€a H ¹ E‹@€h H ¹ E‹@€+ H ¹ E‹@€D H ¹ E‹@€) H ¹ E‹@€ H ¹ E‹@€ H ¹ E‹@€n H ¹ E‹@€n H ¹ E‹@€D H ¹ E‹@€F H ¹ E‹@€J H ¹ E‹@€ H ¹ E‹@€ H ¹ E‹@€ H ¹ E‹@€ H ¹ E‹@€ H ¹ E‹@€‚ H ¹ E‹@€{ H ¹ E‹@€n H ¹ E‹@€n H ¹ E‹@€' H ¹ E‹@€‚  H ¹ E‹@€) H ¹ E‹@€% H ¹ E‹@€' H ¹ E‹@€‚ H ¹ E‹@€‚ H ¹ E‹@€z H ¹ E‹@€l H ¹ E‹@€C H ¹ E‹@€C H ¹ E‹@€‚ H ¹ E‹@€‚ H ¹ E‹@€; H  ‚9€1 a‘ €D o“%€‚ ƒ6–¨ e™u€‡J H¢$Call default ai with classic ai type as parameter.
*****/
static void cai_player_alloc(struct player *pplayer)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_player_alloc(deftype, pplayer);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_player_free(struct player *pplayer)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_player_free(deftype, pplayer);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_player_save(struct player *pplayer, struct section_file *file,
                     int plrno)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_player_save(deftype, pplayer, file, plrno);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_player_load(struct player *pplayer, struct section_file *file,
                            int plrno)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_player_load(deftype, pplayer, file, plrno);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_assess_danger_player(struct player *pplayer)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_assess_danger_player(deftype, pplayer);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_data_phase_begin(struct player *pplayer, bool is_new_phase)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_data_phase_begin(deftype, pplayer, is_new_phase);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_data_phase_finished(struct player *pplayer)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_data_phase_finished(deftype, pplayer);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_city_alloc(struct city *pcity)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_city_alloc(deftype, pcity);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_city_free(struct city *pcity)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_city_free(deftype, pcity);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_city_save(struct section_file *file, const struct city *pcity,
                          const char *citystr)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_city_save(deftype, file, pcity, citystr);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_city_load(const struct section_file *file, struct city *pcity,
                          const char *citystr)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_city_load(deftype, file, pcity, citystr);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_build_adv_override(struct city *pcity, struct adv_choice *choice)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_build_adv_override(deftype, pcity, choice);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_wonder_city_distance(struct player *pplayer, struct adv_data *adv)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_wonder_city_distance(deftype, pplayer, adv);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_build_adv_adjust(struct player *pplayer, struct city *wonder_city)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_build_adv_adjust(deftype, pplayer, wonder_city);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_units_ruleset_init(void)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_units_ruleset_init(deftype);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_unit_init(struct unit *punit)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_unit_init(deftype, punit);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_unit_close(struct unit *punit)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_unit_close(deftype, punit);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_ferry_init_ferry(struct unit *ferry)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_ferry_init_ferry(deftype, ferry);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_unit_turn_end(struct unit *punit)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_unit_turn_end(deftype, punit);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_unit_move_or_attack(struct unit *punit, struct tile *ptile,
                                    struct pf_path *path, int step)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_unit_move_or_attack(deftype, punit, ptile, path, step);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_unit_new_adv_task(struct unit *punit, enum adv_unit_task task,
                                  struct tile *ptile)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_unit_new_adv_task(deftype, punit, task, ptile);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_unit_save(struct section_file *file, const struct unit *punit,
                          const char *unitstr)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_unit_save(deftype, file, punit, unitstr);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_unit_load(const struct section_file *file, struct unit *punit,
                          const char *unitstr)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_unit_load(deftype, file, punit, unitstr);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_auto_settler_reset(struct player *pplayer)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_auto_settler_reset(deftype, pplayer);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_auto_settler_run(struct player *pplayer, struct unit *punit,
                                 struct settlermap *state)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_auto_settler_run(deftype, pplayer, punit, state);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_do_first_activities(struct player *pplayer)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_do_first_activities(deftype, pplayer);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_diplomacy_actions(struct player *pplayer)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_diplomacy_actions(deftype, pplayer);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_do_last_activities(struct player *pplayer)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_do_last_activities(deftype, pplayer);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_treaty_evaluate(struct player *pplayer, struct player *aplayer,
                                struct Treaty *ptreaty)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_treaty_evaluate(deftype, pplayer, aplayer, ptreaty);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_treaty_accepted(struct player *pplayer, struct player *aplayer, 
                                struct Treaty *ptreaty)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_treaty_accepted(deftype, pplayer, aplayer, ptreaty);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_diplomacy_first_contact(struct player *pplayer,
                                        struct player *aplayer)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_diplomacy_first_contact(deftype, pplayer, aplayer);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_incident(enum incident_type type, struct player *violator,
                         struct player *victim)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_incident(deftype, type, violator, victim);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_city_log(char *buffer, int buflength, const struct city *pcity)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_city_log(deftype, buffer, buflength, pcity);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_unit_log(char *buffer, int buflength, const struct unit *punit)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_unit_log(deftype, buffer, buflength, punit);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_consider_plr_dangerous(struct player *plr1, struct player *plr2,
                                       enum danger_consideration *result)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_consider_plr_dangerous(deftype, plr1, plr2, result);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_consider_tile_dangerous(struct tile *ptile, struct unit *punit,
                                        enum danger_consideration *result)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_consider_tile_dangerous(deftype, ptile, punit, result);
}

***
  Call default ai with classic ai type as parameter.
*****/
static void cai_consider_wonder_city(struct city *pcity, bool *result)
{
  struct ai_type *deftype = default_ai_get_self();

  dai_consider_wonder_city(deftype, pcity, result);
}

cai_player_alloc;
  ai->funcs.player_free = cai_player_free;
  ai->funcs.player_save = cai_player_save;
  ai->funcs.player_load = cai_player_load;
  ai->funcs.gained_control = ccai_assess_danger_player;

  ai->funcs.phase_begin = cai_data_phase_begin;
  ai->funcs.phase_finished = cai_data_phase_finished;

  ai->funcs.city_alloc = cai_city_alloc;
  ai->funcs.city_free = ccai_city_save;
  ai->funcs.city_load = cai_city_load;
  ai->funcs.choose_building = cai_build_adv_override;
  ai->funcs.build_adv_prepare = cai_wonder_city_distance;
  ai->funcs.build_adv_adjust_want = cai_build_adv_adjust;

  ai->funcs.units_ruleset_init = ccai_unit_init;
  ai->funcs.unit_free = ccai_ferry_init_ferry;

  ai->funcs.unit_turn_end = cai_unit_turn_end;
  ai->funcs.unit_move = cai_unit_move_or_attack;
  ai->funcs.unit_task = cai_unit_new_adv_task;

  ai->funcs.unit_save = cai_unit_save;
  ai->funcs.unit_load = cai_unit_load;

  ai->funcs.settler_reset = cai_auto_settler_reset;
  ai->funcs.settler_run = cai_auto_settler_run;

  ai->funcs.first_activities = cai_do_first_activities;
  ai->funcs.diplomacy_actions = cai_diplomacy_actions;
  ai->funcs.last_activities = cai_do_last_activities;
  ai->funcs.treaty_evaluate = cai_treaty_evaluate;
  ai->funcs.treaty_accepted = cai_treaty_accepted;
  ai->funcs.first_contact = cai_diplomacy_first_contact;
  ai->funcs.incident = cai_incident;

  ai->funcs.log_fragment_city = cai_city_log;
  ai->funcs.log_fragment_unit = cai_unit_log;

  ai->funcs.consider_plr_dangerous = cai_consider_plr_dangerous;
  ai->funcs.consider_tile_dangerous = cai_consider_tile_dangerous;
  ai->funcs.consider_wonder_city = cENDREP
DELTA 20315 1014 958
SVN  ——f4 †* €4 ‡struct ai_type *ait, char *buffer, int buflength,
                  const struct city *pcity);
void dai_unit_log(struct ai_type *ait, char *buffer, int buflength,
                 ENDREP
DELTA 21779 27025 965
SVN  ‚Äh‚Ä} ©z Ž ‚šu©sai_type *ait, ENDREP
DELTA 7965 9561 1222
SVN  	Š„4 …X €„4/* utility */
#include "support.h"            /* bool type */

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

struct ai_data;
struct ai_plr;
struct tile_data_cache;

void dai_auto_settler_init(struct ai_plr *ai);
void dai_auto_settler_free(struct ai_plr *ai);

void dai_auto_settler_reset(struct ai_type *ait, struct player *pplayer);
void dai_auto_settler_run(struct ai_type *ait, struct player *pplayer,
                          struct unit *punit, struct settlermap *state);

void contemplate_new_city(struct city *pcity);

#endif /* FC__AISETTLER_H */
ENDREP
DELTA 21154 1423 3037
SVN  öD÷t‚ ‘H — ‚‘H N­? ƒ=”+ƒ ‚-—hƒ šƒ  ›3ƒ †TœSƒ }£'ƒ ˆ¥$ƒ ƒt­2 ›@ƒ Z²Fƒ ‡Ã — {Ê'ƒ JË"‚ …(Ìnƒ lÒƒ +Ôƒ †dÕ-ƒ ‰.Üƒ ˆå?Ž ‚Bí?€g |ðHƒ ƒvñD— 
õ:, default_ai_get_self()UTYF_HELP_WONDERUTYUTYUTYUTYUTYUTYUTYUTYF_TRADE_ROUTEUTYUTY, default_ai_get_self()UTYltUTYUTYUTYUTYUTYai_type *ait, /* Mark unavailable */
    def_ai_city_data(acity, default_ai_get_self())->distance_to_wonder_city = 0;UTY, default_ai_get_self()ENDREP
DELTA 19953 5662 827
SVN  ’b“PZ ‰. Ž …‰'€K ‚W. ]’ai_type *ait, dai_amphibious_goto_constrained(struct unit *ferry,
                                     struct unit *passenger,
                                     struct tile *ptile,
                                 dENDREP
DELTA 21779 28262 77
SVN  ¦i§g! J Ž ƒCŽ ƒcXº ‚žY ‡y–Pº ˆžYai_type *ait, ai_type *ait, ai_type *ait, struct player *pplayer,
                    ai_type *ait, struct player *pplayer,
                    ENDREP
DELTA 19723 0 23
SVN  ˆˆ	 ‡ Ž o‡ai_type *ait, ENDREP
DELTA 21779 29023 853
SVN  ‚ÄP‚Æ
#‚& ¦: €B •C¦G€U Àj¼5€R ·ýG½ Ž~‚µRai_type *ait, struct player *plr1,
                               ai_type *ait, struct unit *punit,
                           enum adv_unit_task task,ai_type *ait, struct unit *punit,
                             struct tile *ptile,ai_type *ait, struct city *pcity,
                           ENDREP
id: c.5ha.r21810/31111
type: file
pred: c.5ha.r21349/2192
count: 88
text: 21810 16071 1016 5608 0728a864ae2b03589f13f44dd9e86664
props: 10819 16731 111 0 4431d79514046f1aa5f62b22420cfa99
cpath: /trunk/ai/default/aiunit.h
copyroot: 19757 /trunk/ai/default/aiunit.h

id: 2iw.5gp.r21810/31376
type: file
pred: 2iw.5gp.r21779/31226
count: 87
text: 21810 29044 38 41597 8f949dac7fd68e65585e87a13d0670a4
props: 10806 16634 111 0 45c0e160a790dc8f7645f8a7eabea654
cpath: /trunk/ai/default/aiferry.c
copyroot: 19757 /trunk/ai/default/aiferry.c

id: 2li.5h4.r21810/31647
type: file
pred: 2li.5h4.r20460/34412
count: 16
text: 21810 29111 583 1292 df013aca62d28ce8a51879a58929d2f2
props: 10181 11072 110 0 dce24d5ac3f5e86568d59a55fa196991
cpath: /trunk/ai/default/aisettler.h
copyroot: 19757 /trunk/ai/default/aisettler.h

id: 1m.5gb.r21810/31922
type: file
pred: 1m.5gb.r21779/31498
count: 180
text: 21810 29722 432 15348 3661f5f2a152997ad5404b22a3be482b
props: 10779 49627 112 0 61465523e3c60d371baa05b44953aea9
cpath: /trunk/ai/default/advdomestic.c
copyroot: 19757 /trunk/ai/default/advdomestic.c

id: 6i3.5h1.r21810/32201
type: file
pred: 6i3.5h1.r21779/31777
count: 11
text: 21810 30464 189 5095 bbb1537c63dfa0c82adc6dbf7c26d31e
cpath: /trunk/ai/default/aiplayer.c
copyroot: 19757 /trunk/ai/default/aiplayer.c

id: 2ix.5gq.r21810/32416
type: file
pred: 2ix.5gq.r20460/35439
count: 10
text: 21810 30183 253 2512 d16450fbd0aceac1b88d7765d8f04a5c
props: 10188 14561 110 0 dce24d5ac3f5e86568d59a55fa196991
cpath: /trunk/ai/default/aiferry.h
copyroot: 19757 /trunk/ai/default/aiferry.h

id: 1n.5gc.r21810/32687
type: file
pred: 1n.5gc.r19757/6929
count: 13
text: 21810 30681 34 1049 d353391513e5a008ddd2cb6b3377780d
props: 9681 3962 110 0 a3ee73c7ed0bd397f9f2fedc7793a5b7
cpath: /trunk/ai/default/advdomestic.h
copyroot: 19757 /trunk/ai/default/advdomestic.h

id: 9.5h7.r21810/32960
type: file
pred: 9.5h7.r21779/31991
count: 253
text: 21810 30739 343 41738 276a0b77136cfa34951cc2f87bdba3af
props: 11015 549 112 0 bb22896f97f507ab8508e233583a40b4
cpath: /trunk/ai/default/aitools.c
copyroot: 19757 /trunk/ai/default/aitools.c

id: 6i4.5h2.r21810/33227
type: file
pred: 6i4.5h2.r21779/32258
count: 6
text: 21810 0 857 1946 fb95a4655725cf7c0ba61caf4af28f15
cpath: /trunk/ai/default/aiplayer.h
copyroot: 19757 /trunk/ai/default/aiplayer.h

id: 2ek.5g9.r21810/33437
type: file
pred: 2ek.5g9.r21517/93503
count: 168
text: 21810 885 4851 67990 243ca2f00d4694a9ea579e145d7f6ceb
props: 11095 5259 111 0 09fa8b389220258550f0df17fa730769
cpath: /trunk/ai/default/advdiplomacy.c
copyroot: 19757 /trunk/ai/default/advdiplomacy.c

id: a.5h8.r21810/33718
type: file
pred: a.5h8.r20460/36257
count: 90
text: 21810 5765 1655 3682 81f9bb5628909a453849289ad70b3625
props: 10865 30111 111 0 7f9b5cf6c8fffd7438ed66579e7ad166
cpath: /trunk/ai/default/aitools.h
copyroot: 19757 /trunk/ai/default/aitools.h

id: 2el.5ga.r21810/33985
type: file
pred: 2el.5ga.r20460/36524
count: 15
text: 21810 7449 533 1615 974374c0d1d3f536ccf9094acc07ba12
props: 11095 5609 110 0 fdfdab56f53d2388a66f6a5ce0985f95
cpath: /trunk/ai/default/advdiplomacy.h
copyroot: 19757 /trunk/ai/default/advdiplomacy.h

id: 20.5gj.r21810/34264
type: file
pred: 20.5gj.r21796/25425
count: 382
text: 21810 8011 430 74047 f268de3c7dba0ccae8a403b763d7f379
props: 11069 16784 112 0 24b501182e64f7bbc4aaaa8b3f1d9020
cpath: /trunk/ai/default/aicity.c
copyroot: 19757 /trunk/ai/default/aicity.c

id: 6mb.5gl.r21810/34532
type: file
pred: 6mb.5gl.r21779/32737
count: 20
text: 21810 8466 1217 14729 a13706f4374913cf0ce4aa8201bb094a
cpath: /trunk/ai/default/aidata.c
copyroot: 19757 /trunk/ai/default/aidata.c

id: 22.5gt.r21810/34744
type: file
pred: 22.5gt.r21779/33223
count: 172
text: 21810 9714 231 28142 fe3335a956707eecf3a3f95bf36a4d83
props: 10865 30805 112 0 8869376353a720fe76c0d512d1b8c326
cpath: /trunk/ai/default/aihand.c
copyroot: 19757 /trunk/ai/default/aihand.c

id: 1u.5gd.r21810/35012
type: file
pred: 1u.5gd.r21779/33756
count: 282
text: 21810 9974 296 53239 33cc088606d0f4379bd37fc55163b6e4
props: 10765 17515 112 0 ecd9c25ffd2014c732acffc1b3aab533
cpath: /trunk/ai/default/advmilitary.c
copyroot: 19757 /trunk/ai/default/advmilitary.c

id: 21.5gk.r21810/35290
type: file
pred: 21.5gk.r20460/38648
count: 51
text: 21810 10300 536 4081 6597b8d52e7e6bb13eac8658333258b5
props: 10755 56594 111 0 eaeaff8c6ba56cfe19b921c33649c016
cpath: /trunk/ai/default/aicity.h
copyroot: 19757 /trunk/ai/default/aicity.h

id: 6mc.5gm.r21810/35557
type: file
pred: 6mc.5gm.r20460/38915
count: 12
text: 21810 10865 380 3565 7509393e41f86c7a25066832358587db
cpath: /trunk/ai/default/aidata.h
copyroot: 19757 /trunk/ai/default/aidata.h

id: 23.5gu.r21810/35768
type: file
pred: 23.5gu.r20460/39401
count: 16
text: 21810 11271 364 1049 97a1ba6a1cb1447b7bdb9d8933a4f925
props: 8119 27074 110 0 2297367bb62237eae251d6a189335c2c
cpath: /trunk/ai/default/aihand.h
copyroot: 19757 /trunk/ai/default/aihand.h

id: 1v.5ge.r21810/36034
type: file
pred: 1v.5ge.r20460/39933
count: 29
text: 21810 13198 35 1552 d22889fc441f7c86197991431d3cb5f6
props: 10755 56943 111 0 1912998302effd94f7d1c131050552ad
cpath: /trunk/ai/default/advmilitary.h
copyroot: 19757 /trunk/ai/default/advmilitary.h

id: 6p8.5gx.r21810/36310
type: file
pred: 6p8.5gx.r21779/34034
count: 8
text: 21810 13262 2608 5264 e9c5e66db4e2e6381f28c4584df3f2f4
cpath: /trunk/ai/default/ailog.c
copyroot: 19757 /trunk/ai/default/ailog.c

id: 4n8.5fg.r21810/36519
type: file
pred: 4n8.5fg.r20695/7221
count: 43
text: 21810 17116 11668 19245 0fbd8eeb44ec01d6adc30cb2ac2c43a9
cpath: /trunk/ai/default/defaultai.c
copyroot: 18919 /trunk/ai/default/defaultai.c

id: 6p9.5gy.r21810/36738
type: file
pred: 6p9.5gy.r20315/39250
count: 5
text: 21810 28812 204 3046 937e71c2e1951320efde51f63fbaa408
cpath: /trunk/ai/default/ailog.h
copyroot: 19757 /trunk/ai/default/ailog.h

id: b.5h9.r21810/36946
type: file
pred: b.5h9.r21779/35059
count: 474
text: 21810 11661 1507 95536 b094de8e2c812b921972fcc88e836867
props: 10755 57649 112 0 77fd11a7d1954721a87806f6d511a224
cpath: /trunk/ai/default/aiunit.c
copyroot: 19757 /trunk/ai/default/aiunit.c

id: 2lh.5h3.r21810/37214
type: file
pred: 2lh.5h3.r21779/35326
count: 97
text: 21810 15899 142 42884 199982b6d6f47a9a2a3bcd89a05b2afd
props: 10865 31505 111 0 23629f8214b2309975780a037517e920
cpath: /trunk/ai/default/aisettler.c
copyroot: 19757 /trunk/ai/default/aisettler.c

PLAIN
K 11
Makefile.am
V 26
file 6k4.5ck.r20808/186535
K 14
advdiplomacy.c
V 25
file 2ek.5g9.r21810/33437
K 14
advdiplomacy.h
V 25
file 2el.5ga.r21810/33985
K 13
advdomestic.c
V 24
file 1m.5gb.r21810/31922
K 13
advdomestic.h
V 24
file 1n.5gc.r21810/32687
K 13
advmilitary.c
V 24
file 1u.5gd.r21810/35012
K 13
advmilitary.h
V 24
file 1v.5ge.r21810/36034
K 10
advspace.c
V 24
file f2.5gf.r20460/38380
K 10
advspace.h
V 24
file f3.5gg.r20460/40210
K 7
aiair.c
V 25
file 15y.5gh.r21779/33489
K 7
aiair.h
V 25
file 15z.5gi.r20460/39666
K 8
aicity.c
V 24
file 20.5gj.r21810/34264
K 8
aicity.h
V 24
file 21.5gk.r21810/35290
K 8
aidata.c
V 25
file 6mb.5gl.r21810/34532
K 8
aidata.h
V 25
file 6mc.5gm.r21810/35557
K 12
aidiplomat.c
V 25
file 16r.5gn.r21779/32948
K 12
aidiplomat.h
V 25
file 16s.5go.r20460/39126
K 9
aiferry.c
V 25
file 2iw.5gp.r21810/31376
K 9
aiferry.h
V 25
file 2ix.5gq.r21810/32416
K 9
aiguard.c
V 25
file 335.5gr.r21779/34524
K 9
aiguard.h
V 25
file 336.5gs.r19757/13163
K 8
aihand.c
V 24
file 22.5gt.r21810/34744
K 8
aihand.h
V 24
file 23.5gu.r21810/35768
K 8
aihunt.c
V 25
file 2gc.5gv.r21779/34793
K 8
aihunt.h
V 25
file 2gd.5gw.r20460/42058
K 7
ailog.c
V 25
file 6p8.5gx.r21810/36310
K 7
ailog.h
V 25
file 6p9.5gy.r21810/36738
K 15
aiparatrooper.c
V 25
file 36o.5gz.r21779/34241
K 15
aiparatrooper.h
V 25
file 36p.5h0.r20460/40966
K 10
aiplayer.c
V 25
file 6i3.5h1.r21810/32201
K 10
aiplayer.h
V 25
file 6i4.5h2.r21810/33227
K 11
aisettler.c
V 25
file 2lh.5h3.r21810/37214
K 11
aisettler.h
V 25
file 2li.5h4.r21810/31647
K 8
aitech.c
V 24
file 24.5h5.r20460/42326
K 8
aitech.h
V 24
file 25.5h6.r20460/34962
K 9
aitools.c
V 23
file 9.5h7.r21810/32960
K 9
aitools.h
V 23
file a.5h8.r21810/33718
K 8
aiunit.c
V 23
file b.5h9.r21810/36946
K 8
aiunit.h
V 23
file c.5ha.r21810/31111
K 11
defaultai.c
V 25
file 4n8.5fg.r21810/36519
K 11
defaultai.h
V 24
file 4n9.5fh.r20695/7436
END
ENDREP
id: 6k3.5ck.r21810/39389
type: dir
pred: 6k3.5ck.r21796/27589
count: 66
text: 21810 37490 1886 1886 b01dc5a7ae4224a842aec82637b34c67
props: 19010 5510 53 0 1aad128f6d028f535e9ce7233326568e
cpath: /trunk/ai/default
copyroot: 15280 /trunk

PLAIN
K 11
Makefile.am
V 24
file 5d.5ck.r20500/19979
K 10
aitraits.c
V 25
file 7k0.5ck.r21420/16178
K 10
aitraits.h
V 25
file 7k2.5ck.r20500/19827
K 7
default
V 24
dir 6k3.5ck.r21810/39389
K 4
stub
V 24
dir 6k5.5ck.r19286/10397
K 8
threaded
V 23
dir 6pi.5ck.r21331/5194
END
ENDREP
id: 8.5ck.r21810/39908
type: dir
pred: 8.5ck.r21796/28108
count: 1467
text: 21810 39627 268 268 4ec9624ea022a51d3c6cb118832463e3
props: 11108 11315 64 0 abac628483ea4fdfa3bea3a3a56e0532
cpath: /trunk/ai
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.r20415/4358289
K 7
INSTALL
V 22
file 6.5ck.r21468/8473
K 11
Makefile.am
V 22
file 59.5ck.r21668/716
K 4
NEWS
V 22
file 6m.5ck.r21786/165
K 6
README
V 20
file 7.0.r4421/96382
K 2
ai
V 22
dir 8.5ck.r21810/39908
K 10
autogen.sh
V 23
file 12o.5ck.r21323/726
K 9
bootstrap
V 22
dir 2p5.5ck.r21695/916
K 6
client
V 22
dir d.5ck.r21809/14957
K 6
common
V 22
dir p.5ck.r21807/36229
K 12
config.mac.h
V 20
file hb.0.r6045/5982
K 12
configure.ac
V 23
file 149.5ck.r21784/171
K 4
data
V 22
dir w.5ck.r21809/10196
K 6
debian
V 24
dir 5w.5ck.r21460/324392
K 12
dependencies
V 24
dir 2yu.5ck.r21769/47248
K 11
diff_ignore
V 24
file qq.5ck.r21039/26581
K 3
doc
V 22
dir k7.5ck.r21809/5732
K 10
fc_version
V 25
file 2lo.5en.r21796/28335
K 2
m4
V 24
dir 12p.5ck.r21754/23316
K 2
po
V 24
dir fs.5ck.r21758/257715
K 7
scripts
V 22
dir 2yo.5ck.r21694/735
K 6
server
V 21
dir z.5ck.r21808/7899
K 10
stamp-h.in
V 19
file 80.0.r1125/241
K 5
tests
V 23
dir 2g9.5ck.r20384/1173
K 5
tools
V 22
dir 4pj.5js.r21472/121
K 7
utility
V 22
dir 1c.5ck.r21766/3686
K 3
vms
V 25
dir u9.5ck.r21528/1396085
K 5
win32
V 23
dir 2eu.5ck.r21785/1378
END
ENDREP
id: 3.5ck.r21810/41408
type: dir
pred: 3.5ck.r21809/16460
count: 15727
text: 21810 40135 1260 1260 d3a25028ff0328d8c4ae8f7ecfecf0d7
props: 20140 3888 282 0 e4bb46e81629a60eef613b169b23a9ea
cpath: /trunk
copyroot: 15280 /trunk

PLAIN
K 8
branches
V 19
dir 1.0.r21805/7034
K 4
tags
V 19
dir 2.0.r21795/5838
K 5
trunk
V 22
dir 3.5ck.r21810/41408
K 7
website
V 18
dir 3ge.0.r12388/0
END
ENDREP
id: 0.0.r21810/41798
type: dir
pred: 0.0.r21809/16849
count: 21810
text: 21810 41635 150 150 a346d5d18ad6fd1cee651d587d4b77a6
cpath: /
copyroot: 0 /

6p9.5gy.t21809-1 modify true false /trunk/ai/default/ailog.h

2iw.5gp.t21809-1 modify true false /trunk/ai/default/aiferry.c

2li.5h4.t21809-1 modify true false /trunk/ai/default/aisettler.h

1m.5gb.t21809-1 modify true false /trunk/ai/default/advdomestic.c

2ix.5gq.t21809-1 modify true false /trunk/ai/default/aiferry.h

6i3.5h1.t21809-1 modify true false /trunk/ai/default/aiplayer.c

1n.5gc.t21809-1 modify true false /trunk/ai/default/advdomestic.h

9.5h7.t21809-1 modify true false /trunk/ai/default/aitools.c

6i4.5h2.t21809-1 modify true false /trunk/ai/default/aiplayer.h

2ek.5g9.t21809-1 modify true false /trunk/ai/default/advdiplomacy.c

a.5h8.t21809-1 modify true false /trunk/ai/default/aitools.h

2el.5ga.t21809-1 modify true false /trunk/ai/default/advdiplomacy.h

20.5gj.t21809-1 modify true false /trunk/ai/default/aicity.c

6mb.5gl.t21809-1 modify true false /trunk/ai/default/aidata.c

22.5gt.t21809-1 modify true false /trunk/ai/default/aihand.c

1u.5gd.t21809-1 modify true false /trunk/ai/default/advmilitary.c

21.5gk.t21809-1 modify true false /trunk/ai/default/aicity.h

6mc.5gm.t21809-1 modify true false /trunk/ai/default/aidata.h

b.5h9.t21809-1 modify true false /trunk/ai/default/aiunit.c

23.5gu.t21809-1 modify true false /trunk/ai/default/aihand.h

1v.5ge.t21809-1 modify true false /trunk/ai/default/advmilitary.h

6p8.5gx.t21809-1 modify true false /trunk/ai/default/ailog.c

2lh.5h3.t21809-1 modify true false /trunk/ai/default/aisettler.c

c.5ha.t21809-1 modify true false /trunk/ai/default/aiunit.h

4n8.5fg.t21809-1 modify true false /trunk/ai/default/defaultai.c


41798 41948
