DELTA 17651 35612 2090
SVN  ŠE‘cjˆN ‰ €L p‰8€D ‹nŠ|€n L…€! kŸ}€) SÎ ‰–m€‚< ˜¡J² ‚/¹N€V ƒ%¼a— ŽWÀ  ‰2Î~ Ø0 ƒçJ …4êK ‰*ï‡ ‘ù)srv_log.h"
#include "unithand.h"

/* server/advisors */
#include "advdata.h"tech.h"
#include "aitools.h"
#include "aiunit.h"
#include "defaultai*
  Returns the total amount of trade generated (trade) and total amount of
  gold needed as upkeep (expenses)*/
void ai_calc_data(struct player *pplayer, int *trade, int *expenses)
{
  if (NULL != trade) {
    *trade = 0;
  }
  if (NULL != expenses) {
    *expenses = 0;if (NULL != trade) {
      *trade += pcity->surplus[O_TRADE];
    }

    if (NULL != expenses) {
      *expenses += pcity->usage[O_GOLD];
    }
  } city_list_iterate_endai_calc_data(pplayer, &trade, &expenses);

  if (game.info.gold_upkeep_style > 0) {
    /* Account for units with gold upkeep paid for by the nation.
     * (game.info.gold_upkeep_style = 1,2) */
    unit_list_iterate(pplayer->units, punit) {
      expenses += punit->upkeep[O_GOLD];
    } unit_list_iterate_end;
  }      struct ai_city *city_data = def_ai_city_datacity_data->celebrate = TRUE;
        can_celebrate++;
      } else {
        city_datadef_ai_city_data(pcity)_c(pplayer, pplayer->connectionsssssserver.ENDREP
DELTA 18101 5261 66581
SVN  …£…£%' …ƒ$  …w…ƒ$ ‹…‰¥ ŽU…”>ssBORDERS_DISABLED != game.info.bordersENDREP
DELTA 17122 275915 5199
SVN  †Œ†  ƒ=Ë_ ‰0 Œ ™-‰%’ G¢u€\ 9¦ž ‡a§P Oí@‹ W¾€ƒT Pí?™ Nµ €ƒ Sç š Nµ €x Pí? \¾€| j½z \¾€x e½ Nµ €… Pí? \¾€†? CØ€ƒ
 Sç  a¾€ƒ: Sç  a¾€Œl Sç  a¾€ƒ e“  ƒ°€‚2 Sç — U¾€ f’ ‘H´W€; ÅyÇž 65€; ‹e¤ Ÿx¨u¼ Sç  Ž<Éy€; ­Ù/‹ žL‚†F€; Oƒ«8 ´‚¦[§ q¨v É‚Û_ …%ƒ¥€; ‚=ƒ«8 eƒ®j± ‚%ƒ°I °*ƒ³q „tƒä ÂUƒé O„»:€‚{ s„¾ €$ ‰„² O„»:€‚{ s„¾ €s ¡u„ÁH” ˆ+„ãN• ›B„ì M„»:€‚ P„®|€C ‚K…Œh¤ ‚0…:  %…‘m€l »J…£)bitvector.h"popdown_optiondlg(science_report_dialogs_popdown_all();
  meswin_dialog_popdown();
  popdown_worklist_editor();
  popdown_all_city_dialogs();
  city_report_dialog_popdown();
  economy_report_dialog_popdown();
  units_report_dialog_popdownpopdown_notify_goto_dialog();
Notify gotoruct notify_goto_data {
  char *headline;
  char *lines;
  struct tile *ptile;
};

#define SPECLIST_TAG notify_goto
#define SPECLIST_TYPE struct notify_goto_data
#include "speclist.h"

struct notify_goto_dialog {
  struct widget *window;
  struct widget *close_button;
  struct widget *label;
  struct notify_goto_list *datas;
};

static struct notify_goto_dialog *notify_goto_dialog = NULL;

static void notify_goto_dialog_advance(struct notify_goto_dialog *pdialog);Create a notify goto datastatic struct notify_goto_data *notify_goto_data_new(const char *headline,
                                                     const char *lines,
                                                     struct tile *ptile)
{
  struct notify_goto_data *pdata = fc_malloc(sizeof(*pdata));

  pdata->headline = fc_strdup(headline);
  pdata->lines = fc_strdup(lines);
  pdata->ptile = ptile;
  return pdataDestroy a notify goto datastatic void notify_goto_data_destroy(struct notify_goto_data *pdata)
{
  free(pdata->headline);
  free(pdata->lines);
}
Move the notifyint notify_goto_dialog_callback(struct widget *widget)
{
  struct notify_goto_dialog *pdialog =
      (struct notify_goto_dialog *) widget->data.ptr;

  if (Main.event.button.button == SDL_BUTTON_LEFT) {
    move_window_group(pdialog->label, pdialog->wClose the notifyint notify_goto_dialog_close_callback(struct widget *widget)
{
  struct notify_goto_dialog *pdialog =
      (struct notify_goto_dialog *) widget->data.ptr;

  if (Main.event.button.button == SDL_BUTTON_LEFT) {
    notify_goto_dialog_advance(pdialogGoto callbackstatic int notify_goto_dialog_goto_callback(struct widget *widget)
{
  struct notify_goto_dialog *pdialog =
      (struct notify_goto_dialog *) widget->data.ptr;
  const struct notify_goto_data *pdata = notify_goto_list_get(pdialog->datas,
                                                              0);

  if (Main.event.button.button == SDL_BUTTON_LEFT) {
    if (NULL != pdata->ptile) {
      center_tile_mapcanvas(pdata->ptile);
    }
  } else if (Main.event.button.button == SDL_BUTTON_RIGHT) {
     struct city *pcity;

     if (NULL != pdata->ptile && (pcity = tile_city(pdata->ptile))) {
      popup_city_dialog(pcity);
    }
  }

  return -1;
}
Create a notifystruct notify_goto_dialog *notify_goto_dialog_new(void)
{
  struct notify_goto_dialog *pdialog = fc_malloc(sizeof(*pdialog));
  SDL_String16 *str;

  /* Window. */
  str = create_str16_from_char("", adj_font(12));
  str->style |= TTF_STYLE_BOLD;

  pdialog->window = create_window_skeleton(NULL, str, 0);
  pdialog->window->action = notify_goto_dialog_callback;
  pdialog->window->data.ptr = pdialog;
  set_wstate(pdialog->window, FC_WS_NORMAL);
  add_to_gui_list(ID_WINDOW, pdialog->window);

  /* Close button. */
  pdialog->close_button = create_themeicon(pTheme->Small_CANCEL_Icon,
                                           pdialog->window->dst,
                                           WF_WIDGET_HAS_INFO_LABEL
                                           | WF_RESTORE_BACKGROUND);
  pdialog->close_button->info_label =
     dialog->close_button->action = notify_goto_dialog_close_callback;
  pdialog->close_button->data.ptr = pdialog;
  set_wstate(pdialog->close_button, FC_WS_NORMAL);
  pdialog->close_button->key = SDLK_ESCAPE;
  add_to_gui_list(ID_BUTTON, pdialog->close_button);

  pdialog->label = NULL;

  /* Data list. */
  pdialog->datas = notify_goto_list_new_full(notify_goto_data_destroy);

  return pdialogDestroy a notifynotify_goto_dialog_destroy(struct notify_goto_dialog *pdialog)
{
  widget_undraw(pdialog->window);
  widget_mark_dirty(pdialog->window);
  remove_gui_layer(pdialog->window->dst);

  del_widget_pointer_from_gui_list(pdialog->window);
  del_widget_pointer_from_gui_list(pdialog->close_button);
  if (NULL != pdialog->label) {
    del_widget_pointer_from_gui_list(pdialog->label);
  }

  notify_goto_list_destroy(pdialog->datas);
  free(pdialog)Update a notifynotify_goto_dialog_update(struct notify_goto_dialog *pdialog)
{
  const struct notify_goto_data *pdata = notify_goto_list_get(pdialog->datas,
                                                              0);

  if (NULL == pdata) {
    return;
  }

  widget_undraw(pdialog->window);
  widget_mark_dirty(pdialog->window);

  copy_chars_to_string16(pdialog->window->string16, pdata->headline);
  if (NULL != pdialog->label) {
    del_widget_pointer_from_gui_list(pdialog->label);
  }
  pdialog->label = create_iconlabel_from_chars(NULL, pdialog->window->dst,
                                               pdata->lines, adj_font(12),
                                               WF_RESTORE_BACKGROUND);
  pdialog->label->action = notify_goto_dialog_goto_callback;
  pdialog->label->data.ptr = pdialog;
  set_wstate(pdialog->label, FC_WS_NORMAL);
  add_to_gui_list(ID_LABEL, pdialog->label);

  resize_window(pdialog->window, NULL, NULL,
                adj_size(pdialog->label->size.w + 40),
                adj_size(pdialog->label->size.h + 60));
  widget_set_position(pdialog->window,
                      (Main.screen->w - pdialog->window->size.w) / 2,
                      (Main.screen->h - pdialog->window->size.h) / 2);
  widget_set_position(pdialog->close_button, pdialog->window->size.w
                      - pdialog->close_button->size.w - 1,
                      pdialog->window->size.y + adj_size(2));
  widget_set_position(pdialog->label, adj_size(20), adj_size(40));

  widget_redraw(pdialog->window);
  widget_redraw(pdialog->close_button);
  widget_redraw(pdialog->label);
  widget_mark_dirty(pdialog->window);
  flush_all()Update a notifynotify_goto_dialog_advance(struct notify_goto_dialog *pdialog)
{
  if (1 < notify_goto_list_size(pdialog->datas)) {
    notify_goto_list_remove(pdialog->datas,
                            notify_goto_list_get(pdialog->datas, 0));
    notify_goto_dialog_update(pdialog);
  } else {
    notify_goto_dialog_destroy(pdialog);
    if (pdialog == notify_goto_dialog) {
      notify_goto_dialog = NULL;
    }if (NULL == notify_goto_dialog) {
    notify_goto_dialog = notify_goto_dialog_new();
  }
  fc_assert(NULL != notify_goto_dialog);

  notify_goto_list_prepend(notify_goto_dialog->datas,
                           notify_goto_data_new(headline, lines, ptile));
  notify_goto_dialog_update(notify_goto_dialog)Popdown the notify gotovoid popdown_notify_goto_dialog(void)
{
  if (NULL != notify_goto_dialog) {
    notify_goto_dialog_destroy(notify_goto_dialog);
    notify_goto_dialog = NULL                        WF_WIDGET_HAS_INFO_LABEL | WF_RESTORE_BACKGROUND);
  pBuf->info_label = create_str16_from_char(_("Close Dialog (Esc)"),
                                           unit_by_number(client_player()                        WF_WIDGET_HAS_INFO_LABEL | WF_RESTORE_BACKGROUND);
  pBuf->info_label = create_str16_from_char(_("Close Dialog (Esc)"),
                                           /* TRANS: "CtW" = "Chance to Win" */_("Terrain Defense Bonus: +%d%% "), bonus);

  return buffer                        WF_WIDGET_HAS_INFO_LABEL | WF_RESTORE_BACKGROUND);
  pBuf->info_label = create_str16_from_char(_("Close Dialog (Esc)"),
                                           _controlled                        WF_WIDGET_HAS_INFO_LABEL | WF_RESTORE_BACKGROUND);
  pBuf->info_label = create_str16_from_char(_("Close Dialog (Esc)"),
                                           /* TRANS: "CtW" = "Chance to Win" */
                          WF_WIDGET_HAS_INFO_LABEL | WF_RESTORE_BACKGROUND);
  pBuf->info_label = create_str16_from_char(_("Close Dialog (Esc)"),
                                           const char *namename = base_name_translation(pbase);
    } else {ssconst struct nation_leader_list *leaders =
        nation_leaders(nation_by_number(pSetup->nation));
    const struct nation_leader *pleader;

    pSetup->selected_leader++;
    pleader = nation_leader_list_get(leaders, pSetup->selected_leader);

    /* change leadaer sex */
    if (pSetup->leader_sex != nation_leader_is_male(pleader)) {
      change_sex_callback(NULL);
    }
nation_leader_name(pleader));
    
    FC_FREE(pLeaderName);
    pLeaderName = fc_strdup(nation_leader_name(pleader));

    if (nation_leader_list_size(leaders) - 1const struct nation_leader_list *leaders =
        nation_leaders(nation_by_number(pSetup->nation));
    const struct nation_leader *pleader;

    pSetup->selected_leader--;
    pleader = nation_leader_list_get(leaders, pSetup->selected_leader);

    /* change leadaer sex */
    if (pSetup->leader_sex != nation_leader_is_male(pleader)) {
      change_sex_callback(NULL);
    }
nation_leader_name(pleader));

    FC_FREE(pLeaderName);
    pLeaderName = fc_strdup(nation_leader_name(pleader));
_("Nation's Legend")_("SORRY... NO INFO")const struct nation_leader_list *leaders =
      nation_leaders(nation_by_number(pSetup->nation));
  const struct nation_leader *pleader;

  pSetup->selected_leader = fc_rand(nation_leader_list_size(leaders));
  pleader = nation_leader_list_get(leaders, pSetup->selected_leader);
nation_leader_name(pleader));

  FC_FREE(pLeaderName);
  pLeaderName = fc_strdup(nation_leader_name(pleader));

  /* initialize leader sex */
  pSetup->leader_sex = nation_leader_is_male(pleader)1 < nation_leader_list_size(leaders)nation_leader_list_size(leaders)
           0, 0, pMain_Bg->w - 1, pMain_Bg->h - 1,
           get_game_colorRGB(COLOR_THEME_NATIONDLG_FRAME†Œ ¬Wˆyˆ¨P‹MœG9…a—DqEpEQ„DgTBƒDgD…EpFl‡JyŒE8G2Eg„E‚:SqG‚/F‚;H‚BS‚L‚^QuFP‘IKxMƒ…F‚0D^„Db—Eg‹GƒˆPƒxE‚1I„=G‚;I‚cƒH„NDrGƒJ„NH„eO„8ˆF„ EƒD‚1FGM‚AE‚E‰K†L…h‚D†D9K…iM‚jJ‚H8‰F…^„J…cDvE…j„O†-a…tq†F†N†E†(L‚‚K†T„M†^Fƒ4j†oF†|ƒHDrQˆ]S†-Qˆ]J†U„@Iˆ MˆcN†o‰†H†^ƒqˆ,@F‡R‰TˆoMƒBLˆrˆ+b‡ƒQ‡~GŒ@O‹C‚TŒF…c„E†u‰DŒEŒHV‚GWW†sHŽ'rˆRL†FGƒg‰‹PŽEŽƒI…>D…\„(F‚EQzH„vE‡mIz‚IŠD‡I‹qK(‚G‚K F„W@Xs…F†Y‡DczŒ#KN]†-\"F‹sJ†U„w’DjL’F~Š@C”$F…cD7D…Q‰E†`ƒD:ƒEH8ŒNB…KGƒy‚IˆE†Hƒxˆ@I•tF•G”pD–NšE–F”G”pŒD…@J•t•F–\D—w‚DXE|IHVH—|Eƒ{F•"H˜	]•)VM.E2’DL‡L‚/‰F†_D…_U™/SDF1R™ZG…>@Q•p‚\–F”G–JG–c†F–LŽFšg‡G›…G›T@S—)F˜‘DF˜ŒF•D9†FŠKF‚)D9GœdF•Y‚D™bE™D|K˜E2†G9F•„LœdN™aM˜}‰F„‚H›‰G•EWE2E)F•…I›#ƒG–JˆHVžG–J†HžO„8‚jž2RŸGŸ†D„&G•H™
F‚E‘HG•YˆD›7“UŸIDœPƒDžD™bD™{‹L‚/Fž.TŸƒGJI•Iž\Jœ~ƒEE3F2D…@Pž„I9‚FœTŽM•…E”wE ƒD›(G›[‡J Jr S•I5E¢'K XE¡U eD¡rL£G•D…_D†kK£*‡J¡+›U KQ£TH c…H™.F¡LFœH¢4…H¤‚D›(J -„Q¢{‚DŽEŽG„X¥ƒJ¥ƒG›[H¡‡R•G¥(ƒu¤zh”qD¡Rl•Y˜qH•NN•Y\˜q@Q•pŒD›UŒD…T‹D›GƒE¨5ŠD¤‚F–z‚F¨Q@V—)ƒG¨cG¨ID¥O˜
@Q•pF¨dj¨:D„@l¨jEœzG©[D„S©h…D¤\ƒF¬ DŸoF˜D‘„E¨RF…cF>H‚nActiveWidgetList,
			  pNationDlg->pEnd);
  
  if(Scroll) {
    SDL_Rect area2  w =->size.w * TARGETS_COL;setup_vertical_sbar_,
	.x + w + adj_(12),y + i -4), h, FALSE.x =1y->pUp_Left_Button2h = hFillAlpha(pWindow->theme, &, &bg_colorputframe,- 1hget_gameRGB(COLOR_THEME_NATIONDLG_FRAME)}
  /* Sellected  Name */
  pBufw / 2 + (-w)6/* LeaderEditprev/hh30NextnexwyPrevChangeSexhFirst City StyllenResif (!= pLast__do3  } while (Bufutlin7)10wDisconnStar-
_random_l(pS->nredraw_groupBegin , w_flush);
}

/*
  Close the dialog.  This should allowuser to
  (at least) a unit to aate.
/
void popdown_races_()
wcancel_help_dlg_cack(NULLFC_FREE(pIn, make already-takens unavailable.
informis contained ipacket__usedtoggles_set_sensi(struct NAT *bool c= *!return = ()->data.pt
 _iterate(->is_ ||->player  log_debug("  [%d]: %d = %s",_index  rule_n =pointer__main_list(MAX_ID -wst,WS_DISABLED == TRU_end ( = fc(lay_count(p_PRESSEDforce_exit_from_event_loop(NORMAlabelen1000_cs = _ofby_numbdisRuleset (mod) has suggesloading cer ti. Confirm 
 anup__Tconstr *on't}
ENDREP
DELTA 17146 74207 407
SVN  „¢„œ 1‡U ¢ €n •^£€| ÚFº	€n "£ ”d–z€| áT¬q€n ¤$‚N …^‚³r ¦r‚¹PŽ †‚àP€n ŒI‚çlŠ ƒ'‚ô~Š ‚c‚ønŒ F‚õ= 9‚übŠ ‚c‚þdŒ F‚õ=› u‚ÿy³ ‚Wƒ„Z ^ƒ‡2€_ ‰ƒˆqŠ ƒAƒ’GŠ 4ƒ–GŠ ƒ@ƒ˜:Š 4ƒœ9Š ƒrƒž,
           dst.x, dst.y, dst.x + dst.w, dst.y + dst.h,
           get_game_colorRGB(COLOR_THEME_HELPDLG_FRAME
             0, 0, pBackgroundTmpl->w - 1, pBackgroundTmpl->h - 1,
             get_game_colorRGB(COLOR_THEME_HELPDLG_FRAME
           dst.x, dst.y, dst.x + dst.w, dst.y + dst.h,
           get_game_colorRGB(COLOR_THEME_HELPDLG_FRAME
             0, 0, pBackgroundTmpl->w - 1, pBackgroundTmpl->h - 1,
             get_game_colorRGB(COLOR_THEME_HELPDLG_FRAME
           dst.x, dst.y, dst.x + dst.w, dst.y + dst.h,
           get_game_colorRGB(COLOR_THEME_HELPDLG_FRAMEss*line_color = 
           dst.x, dst.y, dst.x + dst.w, dst.y + dst.h,
           get_game_colorRGB(COLOR_THEME_HELPDLG_FRAMEline_colorline_colorline_color);line_colorline_color);ub1->size.x + pSub1->size.wub1->size.y + pSub1->size.h / 2,
        line_colorget_game_colorRGB(COLOR_THEME_HELPDLG_LINE3);
      break;
      default:
        line_color = line_colorline_colorline_colorline_colorline_colorENDREP
DELTA 18027 2564 254
SVN  ‚Äj‚Äl ò  ‚Lò ÐôPssENDREP
DELTA 16998 16924 4221
SVN  ‚¹*‚¹D=‚d í$ ª A  H½ Š 4îZ ƒnü öiÿ|€j w÷M€q bù&“ ¼û€@ 9‚·qreal_menus_init(void)
{
  /* PORTME */
}

void real_sscity_report_dialog_popup(FALSE);
    break;
   case MENU_REPORT_UNITS:
    units_report_dialog_popup(FALSEeconomy_report_dialog_popup(FALSE);
    break;
   case MENU_REPORT_SCIENCE:
    science_report_dialog_popup(FALSEmeswin_dialog_popupfc_snprintf(tmp, sizeof(tmp), xlt, terr);
    xlt=tmp;
  }

  fcENDREP
DELTA 18314 20697 9926
SVN  …•^…•` Ý  Ù_ KÞ. ƒµeßys_iterate(govsENDREP
DELTA 18308 36312 2657
SVN  †  †  .ƒ{ …Û!  …ÛT ƒ…Ý/€‚I Q‚™ ºI…å7€  Q‚™˜ dƒ¡>šacket)
{
  struct government *gov = government_by_number(packet->gov);

  fc_assert_ret_msg(NULL != gov, "Bad government %d.", packet->gov);

  (void) government_ruler_title_new(gov, nation_by_number(packet->nation),
                                    packet->male_title,
                                    packet->female_titlecitizens_graphic);
  sz_strlcpy(cs->citizens_graphic_alt, packet->citizens_graphic_alt);

  tileset_setup_city_tiles(tileset, id**
  Packet ruleset_gameruleset_game(const struct †  Û/ØH  ØH‚gENDREP
DELTA 17839 23762 376
SVN  ‚—O‚—S ±`  ƒZ±` Ëuµ: …‚/ ‘‚†KssssENDREP
DELTA 18308 39271 126
SVN  †  †  L ð €L „¯ðds_iterate(gov) {
    tileset_setup_government(tileset, gov);
  } governments†  „Åw„Åy‚ „Åw  "ENDREP
DELTA 18100 3486 2333
SVN  É ø?z³7 † „ ƒ~†€5 ‚4‹> Zw vŽQ l‹> š3 @  …u³/ G — Gˆ €‚i G £ Gˆ €ƒ[ G  Gˆ €d G €g Gˆ €‰ G €O Gˆ € G ª Gˆ € G ¬ Gˆ €	 G ¼ Gˆ €ˆ Gª>¥ Gˆ € G · Gˆ €Y G µ Gˆ €b G ´ Gˆ €m G ¶ Gˆ € G µ Gˆ €‚" Gª>‘ wÃ€‚^ LÅ~ |Ã€‚$ LÅ~ª Gˆ €‚ G º Gˆ €? SÈ-hashgovernment_by_translated_name(const char *name)
{
  governments_iterate(gov) {
    if (0 == strcmp(government_name_translation(gov), name)) {
      return gov;
    }
  } governmentsss
******
  Ruler titles.
*****/
struct ruler_title {
  const struct nation_type *pnation;
  struct name_translation male;
  struct name_translation female;
};

#define RULER_TITLE_NATION_KEY(pnation) FC_INT_TO_PTR(nation_number(pnation))
/* Prefer nation_count() as -1, since some versions of gcc may misscompile
 * it. */
#define RULER_TITLE_DEFAULT_KEY FC_INT_TO_PTR(nation_count())

******
  Create a new ruler title.
*****/
static struct ruler_title *ruler_title_new(const struct nation_type *pnation,
                                           const char *ruler_male_title,
                                           const char *ruler_female_title)
{
  struct ruler_title *pruler_title = fc_malloc(sizeof(*pruler_title));

  pruler_title->pnation = pnation;
  name_set(&pruler_title->male, ruler_male_title);
  name_set(&pruler_title->female, ruler_female_title);

  return pruler_title;
}

******
  Free a ruler title.
*****/
static void ruler_title_destroy(struct ruler_title *pruler_title)
{
  free(pruler_title);
}

******
  Add a new ruler title for the nation. Pass NULL for pnation for defining
  the default title.
*****/
struct ruler_title *
government_ruler_title_new(struct government *pgovern,
                           const struct nation_type *pnation,
                           const char *ruler_male_title,
                           const char *ruler_female_title)
{
  struct ruler_title *pruler_title =
      ruler_title_new(pnation, ruler_male_title, ruler_female_title);
  void *ret;

  if (NULL != pnation) {
    ret = hash_replace(pgovern->ruler_titles,
                       RULER_TITLE_NATION_KEY(pnation), pruler_title);
    fc_assert_msg(NULL == ret, "Ruler title for government \"%s\" (nb %d) "
                  "and nation \"%s\" (nb %d) was set twice.",
                  government_rule_name(pgovern), government_number(pgovern),
                  nation_rule_name(pnation), nation_number(pnation));
  } else {
    ret = hash_replace(pgovern->ruler_titles,
                       RULER_TITLE_DEFAULT_KEY, pruler_title);
    fc_assert_msg(NULL == ret, "Default ruler title for government \"%s\" "
                  "(nb %d) was set twice.",
                  government_rule_name(pgovern), government_number(pgovern));
  }

  return pruler_title;
}

******
  Return the nation of the rule title. Returns NULL if this is default.
*****/
const struct nation_type *
ruler_title_nation(const struct ruler_title *pruler_title)
{
  return pruler_title->pnation;
}

******
  Return the male rule title name.
*****/
const char *
ruler_title_male_rule_name(const struct ruler_title *pruler_title)
{
  return rule_name(&pruler_title->male);
}

******
  Return the female rule title name.
*****/
const char *
ruler_title_female_rule_name(const struct ruler_title *pruler_title)
{
  return rule_name(&pruler_title->female);
}

******
  Return the ruler title of the player (translated).
*****/
const char *ruler_title_translation(const struct player *pplayer)
{
  const struct government *pgovern = government_of_player(pplayer);
  const struct nation_type *pnation = nation_of_player(pplayer);
  struct ruler_title *pruler_title;

  /* Try specific nation rule title. */
  pruler_title = hash_lookup_data(pgovern->ruler_titles,
                                  RULER_TITLE_NATION_KEY(pnation));

  if (NULL == pruler_title) {
    /* Try default rule title. */
    pruler_title = hash_lookup_data(pgovern->ruler_titles,
                                    RULER_TITLE_DEFAULT_KEY);
  }

  if (NULL == pruler_title) {
    log_error("Missing title for government \"%s\" (nb %d) "
              "nation \"%s\" (nb %d).",
              government_rule_name(pgovern), government_number(pgovern),
              nation_rule_name(pnation), nation_number(pnation));
    return pplayer->is_male ? _("Mr.") : _("Ms.");
  }

  return name_translation(pplayer->is_male ? &pruler_title->male
                          : &pruler_title->female*************
  Government iterator.
*****/
struct government_iter {
  struct iterator vtable;
  struct government *p, *end;
};
#define GOVERNMENT_ITER(p) ((struct government_iter *) (p))

******
  Implementation of iterator 'sizeof' function.
*****/
size_t government_iter_sizeof(void)
{
  return sizeof(struct government_iter);
}

******
  Implementation of iterator 'next' function.
*****/
static void government_iter_next(struct iterator *iter)
{
  GOVERNMENT_ITER(iter)->p++;
}

******
  Implementation of iterator 'get' function.
*****/
static void *government_iter_get(const struct iterator *iter)
{
  return GOVERNMENT_ITER(iter)->p;
}

******
  Implementation of iterator 'valid' function.
*****/
static bool government_iter_valid(const struct iterator *iter)
{
  struct government_iter *it = GOVERNMENT_ITER(iter);
  return it->p < it->end;
}

******
  Implementation of iterator 'init' function.
*****/
struct iterator *government_iter_init(struct government_iter *it)
{
  it->vtable.next = government_iter_next;
  it->vtable.get = government_iter_get;
  it->vtable.valid = government_iter_valid;
  it->p = governments;
  it->end = governments + government_count();
  return ITERATOR(it*************
  A*************/
static inline void government_init(struct government *pgovern)
{
  memset(pgovern, 0, sizeof(*pgovern));

  pgovern->item_number = pgovern - governments;
  pgovern->ruler_titles =
      hash_new_full(hash_fval_keyval, hash_fcmp_keyval, NULL,
                    (hash_free_fn_t) ruler_title_destroy);
  requirement_vector_init(&pgovern*************
 *************/
static inline void government_free(struct government *pgovern)
{
  hash_free(pgovern->ruler_titles);
  pgovern->ruler_titles = NULL;

  if (NULL != pgovern->helptext) {
    strvec_destroy(pgovern->helptext);
    pgovern->helptext = NULL;
  }

  requirement_vector_free(&pgovern*************
  Allocate the governments.
*****/
void governments_alloc(int num)
{
  int i;

  fc_assert(NULL == governments);
  governments = fc_malloc(sizeof(*governments) * num);
  game.control.government_count = num;

  for (i = 0; i < game.control.government_count; i++) {
    government_init(governments + i);
  }
}

******
  De-allocate the currently allocated governments.
*****/
void governments_free(void)
{
  int i;

  if (NULL == governments) {
    return;
  }

  for (i = 0; i < game.control.government_count; i++) {
    government_free(governments + i);
  }
ENDREP
DELTA 18308 74579 1656
SVN  ™Ÿ<,y …k €r n†¦ †z€ ‹¢ ‡Œn€ˆ •€ƒ/!˜u/* utility */
#include "hash.h"
#include "shared.h"

/* common */
#include "fc_types.h"
#include "name_translationstruct ruler_title;     /* Opaque typeThis is struct government itself.  All information about a form of
 * government is contained inhere. -- SKi */
struct government   struct hash_table *ruler_titles;Ruler titles. */
struct ruler_title *
government_ruler_title_new(struct government *pgovern,
                           const struct nation_type *pnation,
                           const char *ruler_male_title,
                           const char *ruler_female_title);

const struct nation_type *
ruler_title_nation(const struct ruler_title *pruler_title);
const char *
ruler_title_male_rule_name(const struct ruler_title *pruler_title);
const char *
ruler_title_female_rule_name(const struct ruler_title *pruler_title);

const char *ruler_title_translation(const struct player *pplayer);

#define government_ruler_titles_iterate(NAME_pgov, NAME_rule_title)         \
  generic_iterate(struct hash_iter, const struct ruler_title *,             \
                  NAME_rule_title, hash_iter_sizeof, hash_value_iter_init,  \
                  NAME_pgov->ruler_titles)
#define government_ruler_titles_iterate_end generic_iterate_end

/* Ancillary routines */
bool can_change_to_government(struct player *pplayer,
                        _iter;
size_t government_iter_sizeof(void);
struct iterator *government_iter_init(struct government_iter *it);

/* Iterate over government types. */
#define governments_iterate(NAME_pgov)                                      \
  generic_iterate(struct government_iter, struct government *,              \
                  NAME_pgov, government_iter_sizeof, government_iter_init)
#define governments_iterate_end generic_iterate_endENDREP
DELTA 18298 909 3670
SVN  ‚Ü7‚Ü	  ðh  ƒqðt lãz æDõsENDREP
DELTA 18025 0 68514
SVN  †  †  „Uï ‡J Œ “	‡;€F Ét›0 ‰å% ‰^î6 Ž;ø Ž
†Y ”h ŠF¥ †U¯P ‡]¶* ¾€ƒ PƒÖ>¢ p¾ €1 R†’r€, SƒÖ> ­xÅI¡ ØuóX ’‚ÌR šr‚Þn „*‚ùe ?‚ùe† ‚û) ‚Hƒ€a¡ ‡Yƒƒ@ ‡ ƒ‹ ƒ’C€‚ aƒ£4€‚ ƒ!ƒ¦€Y ¦Yƒ©h¡ ¡aƒÐX’ ‹[ƒò5€) ®YƒÿL †„®*¡ –v„´` w„®* ‘N„ÌR †0„Þ%€Y lƒ«1Š Nƒ×{ …„è2 ?„í5 †J„ît †	„õ>€…s 4‚„s †H…d€O ~…‰r€‰s VƒÖ> FÒ  Œ…’ ‚#…ž€‚ …£€™
 Q…¼}€F ]…¿€  PƒÖ?š FÒ €H ƒ!…Êy€‚4 …Ïw€f  …Ñ4€‚' †—e †˜h€ƒ: †—e †˜h€? W…å8º B…û>€ _…è*€‚L …ó =…õ€n ‚…÷&Ÿ y…ùH† ‚…÷&Ÿ ‚…üd€B p…ÿ4 pƒÌo€K X†n  W†‚j€` b†ƒ|€‚k ‚	†‰€M q†Œ{€( B…û> X†@¥ J†G€‚ †•^€g ‚d†—e€V l†œ6€tring_vectorvoid load_city_name_list(struct section_file *file,
                                struct nation_type *pnation,
                                const char *secfile_str1,
                           **/
static char *lookup_string(struct section_file *file, const char *prefix,
                           const char *suffix)
{
  const char *sval = secfile_lookup_str(file, "%s.%s", prefix, suffix);

  if (NULL != sval) {
    char copy[strlen(sval) + 1];

    strcpy(copy, sval);
    remove_leading_trailing_spaces(copy);
    if (strlen(copy) > 0) {
      return fc_strdup(copy);
    }
  }
  return NULL**
  Lookup optional string vector**/
static struct strvec *lookup_strvec(struct section_file *file,
                                    const char *prefix, const char *suffix)
{
  size_t dim;
  const char **vec"%s.%s", prefix, suffix);

  if (NULL != vec) {
    struct strvec *dest = strvec_new();

    strvec_store(dest, vec, dim);
    free(vec);
    return dest;
  }
  return NULLstrvec(file, sec_name, "helptext"targetstrvec(file, sec_name, "helptext"0 == num_role_units(L_BARBARIAN)
      && BARBS_DISABLED != game.server.barbarianrate) {
    ruleset_error(LOG_FATAL, "\"%s\": No role=barbarian units?", filename);
  }
  if (0 == num_role_units(L_BARBARIAN_LEADER)
      && BARBS_DISABLED != game.server.barbarianrate0 == num_role_units(L_BARBARIAN_BUILD)
      && BARBS_DISABLED != game.server.barbarianrate) {
    ruleset_error(LOG_FATAL, "\"%s\": No role=barbarian build units?", filename);
  }
  if (0 == num_role_units(L_BARBARIAN_BOAT)
      && BARBS_DISABLED != game.server.barbarianrate0 == num_role_units(L_BARBARIAN_SEA)
      && BARBS_DISABLED != game.server.barbarianratestrvec(file, sec_name, "helptext"truct strvec *psv;
  psv = lookup_strvec(file, "parameters", "river_help_text");
  PACKET_STRVEC_COMPUTE(terrain_control.river_help_text, psv);
  if (NULL != psv) {
    strvec_destroy(psvstrvec(file, tsection, "helptext"  pbase->helptext = lookup_strvec(file, section, "helptext");
  } base_type_iterate_end;
governmentsssstrvec(file, sec_name, "helptext");
  } governments_iterate_end;


  /* titles */
  governments_iterate(g) {
    const char *sec_name =
        section_name(section_list_get(sec, government_index(g)));
    const char *male, *female;

    if ((male = secfile_lookup_str(file, "%s.ruler_male_title", sec_name))
        && (female = secfile_lookup_str(file, "%s.ruler_male_title",
                                        sec_name))) {
      (void) government_ruler_title_new(g, NULL, male, female);
    } else {
      ruleset_error(LOG_FATAL, "Lack of default ruler titles for "
                    "government \"%s\" (nb %d): %s",
                    government_rule_name(g), government_number(g),
                    secfile_error());
    }
  } governments**
  This checks if nations[pos] leader names are not already defined in any
  previous nation, or twice in its own leader name table.
  If not return NULL, if yes return pointer to name which is repeated
  **/
static const char *check_leader_names(struct nation_type *pnation,
                                      struct nation_type **ppconflict_nation)
{
  nation_leader_list_iterate(nation_leaders(pnation), pleader) {
    const char *name = nation_leader_name(pleader);

    nation_leader_list_iterate(nation_leaders(pnation), prev_leader) {
      if (prev_leader == pleader) {
        break;
      } else if (0 == fc_strcasecmp(name, nation_leader_name(prev_leader))) {
        *ppconflict_nation = pnation;
        return name;
      }
    } nation_leader_list_iterate_end;
  } nation_leader_list_iterate_end;

  nations_iterate(prev_nation) {
    if (prev_nation == pnation) {
      break;
    }

    nation_leader_list_iterate(nation_leaders(prev_nation), pleader) {
      const char *name = nation_leader_name(pleader);

      nation_leader_list_iterate(nation_leaders(prev_nation), prev_leader) {
        if (prev_leader == pleader) {
          break;
        } else if (0 == fc_strcasecmp(name,
                                      nation_leader_name(prev_leader))) {
          *ppconflict_nation = prev_nation;
          return name;
        }
      } nation_leader_list_iterate_end;
    } nation_leader_list_iterate_end;
  } nations_iterate_end;
  return NULL
**/
static void load_city_name_list(struct section_file *file,
                                struct nation_type *pnation,
                                const char *secfile_str1,
                                const char *secfile_str2)
{
  size_t dim, j; Each string will be of the form "<cityname> (<label>, <label>, ...)".
   * The cityname is just the name for this city, while each "label" matches
   * a terrain type for the city (or "river"), with a preceeding ! to negate
   * it. The parentheses are optional (but necessary to have the settings,
   * of course). Our job is now to parse it. */
  for (j = 0; j < dim; j++) {
    size_t len = strlen(cities[j]);
    char city_name[len + 1], *p, *next, *end;
    struct nation_city *pncity;

    sz_strlcpy(city_name, cities[j]);

    /* Now we wish to determine values for all of the city labels. A value
     * of NCP_NONE means no preference (which is necessary so that the use
     * of this is optional); NCP_DISLIKE means the label is negated and
     * NCP_LIKE means it's labelled. Mostly the parsing just involves
     * a lot of ugly string handling... */
    if ((p = strchr(city_name, '('))) {
      *p++ = '\0';

      if (!(end = strchr(p, ')'))) {
        ruleset_error(LOG_ERROR, "\"%s\" [%s] %s: city name \"%s\" "
                      "unmatched parenthesis.", secfile_name(file),
                      secfile_str1, secfile_str2, cities[j]);
      }

      for (*end++ = '\0'; '\0' != *end; end++) {
        if (!fc_isspace(*end)) {
          ruleset_error(LOG_ERROR, "\"%s\" [%s] %s: city name \"%s\" "
                        "contains characthers after last parenthesis, "
                        "ignoring...", secfile_name(file), secfile_str1,
                        secfile_str2, cities[j]);
        }
      }
    }

    /* Build the nation_city. */
    remove_leading_trailing_spaces(city_name);
    if (check_name(city_name)) {
      /* The ruleset contains a name that is too long. This shouldn't
       * happen - if it does, the author should get immediate feedback. */
      ruleset_error(LOG_ERROR, "\"%s\" [%s] %s: city name \"%s\" "
                    "is too long; shortening it.", secfile_name(file),
                    secfile_str1, secfile_str2, city_name);
      city_name[MAX_LEN_NAME - 1] = '\0';
    }
    pncity = nation_city_new(pnation, city_name);

    if (NULL != p) {
      /* Handle the labels one at a time. */
      do {
        enum nation_city_preference prefer;

        if ((next = strchr(p, ','))) {
          *next = '\0';
        }
        remove_leading_trailing_spaces(p);

        /* The ! is used to mark a negative, which is recorded with
         * NCP_DISLIKE. Otherwise we use a NCP_LIKE.
         */
        if (*p == '!') {
          p++;
          prefer = NCP_DISLIKE;
        } else {
          prefer = NCP_LIKE;
        }

        if (0 == fc_strcasecmp(p, "river")) {
          nation_city_set_river_preference(pncity, prefer);
        } else {
          const struct terrain *pterrain = terrain_by_rule_name(p);

          if (NULL == pterrain) {
            /* Try with removing frequent trailing 's'. */
            size_t l = strlen(p);

            if (0 < l && 's' == fc_tolower(p[l - 1])) {
              p[l - 1] = '\0';
            }
            pterrain = terrain_by_rule_name(p);
          }

          if (NULL != pterrain) {
            nation_city_set_terrain_preference(pncity, pterrain, prefer);
          } else {
* available in the default ruleset but not in civ1/civ2.
             * In normal use we should just ignore hints for unknown
             * terrains, but nation authors may want to know about this
p);
          }
        }

        p = next ? next + 1 : NULL;
      } while (NULL != p && '\0' != *p);
    }
  }

  if (NULL != cities) {
    free(cities);
  }Load nations.ruleset file
****/
static void load_ruleset_nations(struct section_file *file)
{
  struct government *gov;
  int j;
  size_t dim;
  char temp_name[MAX_LEN_NAME];
  const char **vec;
  const char *name, *bad_leaderif (NULL == name) {
      ruleset_error(LOG_FATAL, "Error: %s", secfile_error());
    }
    pgroup = nation_group_new(name);
    if (!secfile_lookup_int(file, &j, "%s.match", section_name(psection))) {
      ruleset_error(LOG_FATAL, "Error: %s", secfile_error());
    }
    nation_group_set_match(pgroup, j);  nations_iterate(pnation) {
    struct nation_type *pconflict;
    const int i = nation_index(pnation/* Nation groups. */
    vec = secfile_lookup_str_vec(file, &dim, "%s.groups", sec_name);
    for (j = 0; j < dim; j++) {
      struct nation_group *pgroup = nation_group_by_rule_name(vec[j]);

      if (NULL != pgroup) {
        nation_group_list_append(pnation->groups, pgroup);
      } else {iUnknown group \"%s\".",
                    nation_rule_name(pnation), vec[j]);
      }
    }
    if (NULL != vec) {
      free(vec);
    }

    /* Nation conflicts. */
    vec = secfile_lookup_str_vec(file, &dim, "%s.conflicts_with", sec_name);
    for (j = 0; j < dim; j++) {
      pconflict = nation_by_rule_name(vec[j]);

      if (NULL != pconflict) {
        nation_list_append(pnation->server.conflicts_with, pconflict);
      } else {ionflicts_with nation \"%s\" is unknown.",
                    nation_rule_name(pnation), vec[j]);
      }
    }
    if (NULL != vec) {
      free(vec);
    }

    /* Nation leaders. */
    for (j = 0; j < MAX_NUM_LEADERS; j++) {
      const char *sex;
      bool is_male = FALSE;

      name = secfile_lookup_str(file, "%s.leaders%d.name", sec_name, j);
      if (NULL == name) {
        /* No more to read. */
        break;
      }

      if (check_name(name)) {
        /* The ruleset contains a name that is too long. This shouldn't
         * happen - if it does, the author should get immediate feedback */
        sz_strlcpy(temp_name, name);
        ruleset_error(LOG_ERROR, "Nation %s: leader name \"%s\" "
                      "is too long; shortening it to \"%s\".",
                      nation_rule_name(pnation), name, temp_name);
        name = temp_name;
      }

      sex = secfile_lookup_str(file, "%s.leaders%d.sex", sec_name, j);
      if (NULL == sex) {
        ruleset_error(LOG_FATAL, "Nation %s: leader \"%s\": %s.",
                      nation_rule_name(pnation), name, secfile_error());
      } else if (0 == fc_strcasecmp("Male", sex)) {
        is_male = TRUE;
      } else if (0 != fc_strcasecmp("Female", sex)) {
        ruleset_error(LOG_FATAL, "Nation %s: leader \"%s\" has unsupported "
                      "sex variant \"%s\".",
                      nation_rule_name(pnation), name, sex);
      }
      (void) nation_leader_new(pnation, name, is_male);
    }

    /* Check the number of leaders. */
    if (MAX_NUM_LEADERS == j) {
      /* Too much leaders, get the real number defined in the ruleset. */
      while (NULL != secfile_entry_lookup(file, "%s.leaders%d.name",
                                          sec_name, j)) {
        j++;
      }
      log_error("Nation %s: Too many leaders; using %d of %d",
                nation_rule_name(pnation), MAX_NUM_LEADERS, j);
    } else if (0 == j) {
      ruleset_error(LOG_FATAL,
                    "Nation %s: no leaders; at least one is required.",
                    nation_rule_name(pnation));
    }

    /* Cpnation, &pconflict))) {
      if (pnation == pconflict) {: leader \"%s\" defined more than once.",
                      nation_rule_name(pnation), bad_leader);
      } else {
        ruleset_error(LOG_FATAL,
nation_rule_name(pnation), nation_rule_name(pconflict),
                      bad_leader);
      }
    }

    pnation->is_available =
        secfile_lookup_bool_default(file, TRUE, "%s.is_available", sec_name);
    pnation->is_playable =
        secfile_lookup_bool_default(file, TRUE, "%s.is_playable", sec_name);

    if (pnationnation->barb_type = NOT_A_BARBARIAN;
    } else if (fc_strcasecmp(barb_type, "Land") == 0) {
      if (pnationnation));
      }
      pnationnationnation));
      }
      pnationnation), barb_type);
    }

    /* Flags */
    sz_strlcpy(pnationnation->flag_flag_alt", sec_name));

    /* Ruler titles */
    j = -1;
    while ((name"%s.ruler_titles%d.government",
, *female;
      gov = government_by_rule_name(name);

      if (NULL != gov) {
        if ((mal  sec_name, j))
            && (female = secfile_lookup_str(file,
                                            "%s.ruler_titles%d.female_title",
                                            sec_name, j))) {
          (void) government_ruler_title_new(gov, pnation, male, female);
        } else {
          ruleset_error(LOG_ERROR, "%s", secfile_error());
        }nation), name);
      }
    }

    /* City styles */
    name = secfile_lookup_str(file, "%s.city_style", sec_name);
    pnation->city_style = city_style_by_rule_name(name);
    if (0 > pnation->city_stylenation), name);
      pnation->city_style = 0;
    }

    while (city_style_has_requirements(city_styles + pnation->city_style)) {
      if (pnation->city_style == 0) { nation_rule_name(pnation));
        nation), name);
      pnation->city_style = 0;
    }

    /* Civilwar nations */
    vec = secfile_lookup_str_vec(file, &dim,
                                 "%s.civilwar_nations", sec_name);
    for (j = 0; j < dim; j++) {
      pconflict = nation_by_rule_name(vec[j
       * probability of being chosen. */
      if (NULL != pconflict) {
        nation_list_append(pnation->server.civilwar_nations, pconflict);
        nation_list_append(pconflict->server.parent_nations, pnation);
      } else {nation), vec[j]);
      }
    }
    if (NULL != vec) {
      free(vec);
    }

    /* Load nation specific initial items */
    lookup_tech_list(file, sec_name, "init_techs",
                       pnation->server.nation->server.init_buildings, filename);
    lookup_unit_list(file, sec_name, "init_units", LOG_ERROR,
                     pnation->server.init_units, †  ƒÖƒÎK“8€ƒ- 4€ «eˆ ±C´´ æ>´ ŠöK¸ ‘,‚e¿  ‚”€] „‚¤• s‚¨b ‚«€…E ƒY‚±@€L ‚+‚¸:€‚ &‚¼/€^ ¾k‚Á~€F I‚ÿ;Œ S‚û> ¼:ƒ‚I€Z 0ƒ¸@ ŽƒÀ qƒÏ …!ƒÐ}filename);
    fc_strlcat(tmp, sec_name, 200);
    fc_strlcat(tmp, ".init_government", 200);
    pnation->server.init_government = lookup_government(file, tmp, filename);

    /* Read default city names. */
    load_city_name_list(file, pnation, sec_name, "cities");

    pnation->legend = fc_strdup(secfile_lookup_str(file, "%s.legend",
                                                   sec_name));
    if (check_strlen(pnationnation),
                    pnation->legend);
      pnation->legend[MAX_LEN_MSG - 1] = '\0';
    }

    pnation->player = NULLPACKET_STRVEC_COMPUTE(packet.helptext, u->helptext);PACKET_STRVEC_COMPUTE(packet.helptext, a->helptext);    PACKET_STRVEC_COMPUTE(packet.helptext, b->helptext);    PACKET_STRVEC_COMPUTE(packet.helptext, pterrain->helptext);    packet.conflicts = b->conflicts;

    PACKET_STRVEC_COMPUTE(packet.helptext, b->helptext)int j;

  governmentsPACKET_STRVEC_COMPUTE(gov.helptext, g->helptext);

    lsend_packet_ruleset_government(dest, &gov);

    /* Send one packet_government_ruler_title per ruler title. */
    government_ruler_titles_iterate(g, pruler_title) {
      const struct nation_type *pnation = ruler_title_nation(pruler_title);

      title.gov = government_number(g);
      title.nation = (NULL != pnation ? nation_number(pnation) : -1);
      sz_strlcpy(title.male_title, ruler_title_male_rule_name(pruler_title));
      sz_strlcpy(title.female_title,
                 ruler_title_female_rule_name(pruler_title));
      lsend_packet_ruleset_government_ruler_title(dest, &title);
    } government_ruler_titles_iterate_end;
  } governmentsi = 0;
  nation_groups_iterate(pgroup) {
    sz_strlcpy(groups_packet.groups[i++], nation_group_rule_name(pgroup));
  } nation_groups_iterate_end;
  lsend_packet_ruleset_nation_groups(dest, &groups_packet
    i = 0;
    nation_leader_list_iterate(nation_leaders(n), pleader) {
      sz_strlcpy(packet.leader_name[i], nation_leader_name(pleader));
      packet.leader_is_male[i] = nation_leader_is_male(pleader);
      i++;
    } nation_leader_list_iterate_end;
    packet.leader_count = i;

    sz_strlcpy(packet.legend, n->legend);

    i = 0;
    nation_group_list_iterate(n->groups, pgroup) {
      packet.groups[i++] = nation_group_number(pgroup);
    } nation_group_list_iterate_end;
    packet.ngroups = i;server.init_techs[i] != A_LAST;
       i++) {
    if (pnation->server.return FALSEserver.init_techs[i] != A_LAST;
         i++) {
      Tech_type_id tech = pnation->server.ssENDREP
DELTA 18308 106571 164
SVN  ‚³T‚³eSm ¾t €T ‚~¿@ ƒHÂ> SÆ‘ R¼? Õ\È; ‚)ž „a @ ƒ&¥! F @ ‚ª ­ …D®s_iterate(gov) {
    if (!could_switch_to_government[government_index(gov)]
        sss_iterate_end;
} ssssssENDREP
id: 8w.5ck.r18317/42976
type: file
pred: 8w.5ck.r18308/133974
count: 456
text: 18317 25209 17505 161611 71bd3d16e17aca047eb2b878b318e1bc
props: 11085 367 112 0 7f6d12fc80ead5cc285da723cb8caa9d
cpath: /trunk/server/ruleset.c
copyroot: 15280 /trunk

id: 33n.5ck.r18317/43224
type: file
pred: 33n.5ck.r18308/136658
count: 83
text: 18317 42741 205 39397 e3b5a79ff04de025d7779a08654530b0
props: 11004 2210 111 0 05a46e497021c8716b647ee1425e21a2
cpath: /trunk/server/techtools.c
copyroot: 15280 /trunk

PLAIN
K 11
Makefile.am
V 22
file 5q.5ck.r17686/505
K 8
advisors
V 25
dir 4n2.5ck.r18308/133242
K 9
aiiface.c
V 24
file 4gm.5ck.r18039/1242
K 9
aiiface.h
V 25
file 4gn.5ck.r17797/11328
K 6
auth.c
V 26
file 39c.5ck.r18308/131570
K 6
auth.h
V 23
file 39d.0.r13513/10535
K 11
barbarian.c
V 24
file lw.5ck.r18300/14850
K 11
barbarian.h
V 24
file lx.5ck.r18054/18407
K 10
cityhand.c
V 25
file 10.5ck.r18308/128025
K 10
cityhand.h
V 23
file 4f.0.r13297/423686
K 11
citytools.c
V 25
file 4g.5ck.r18308/131323
K 11
citytools.h
V 24
file 4h.5ck.r18270/28958
K 10
cityturn.c
V 25
file 4i.5ck.r18308/133728
K 10
cityturn.h
V 24
file 4j.5ck.r18054/18647
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 24
file 2ly.5ck.r18097/4560
K 10
commands.h
V 24
file 2lz.5ck.r18097/4802
K 13
connecthand.c
V 25
file 2dw.5ck.r18309/10603
K 13
connecthand.h
V 25
file 2dx.5ck.r18054/16767
K 9
console.c
V 23
file dd.5ck.r18091/5268
K 9
console.h
V 24
file de.5ck.r18054/16526
K 10
diplhand.c
V 25
file 4m.5ck.r18308/135422
K 10
diplhand.h
V 21
file 4n.0.r13421/6826
K 11
diplomats.c
V 25
file vz.5ck.r18308/135912
K 11
diplomats.h
V 24
file w0.5bk.r13745/13943
K 10
edithand.c
V 25
file 3bk.5ck.r18309/11040
K 10
edithand.h
V 23
file 4ez.5ck.r15317/588
K 10
gamehand.c
V 24
file 4o.5ck.r18279/84987
K 10
gamehand.h
V 24
file 4p.5ck.r15698/24111
K 9
generator
V 23
dir 2me.5ck.r18296/6085
K 11
ggzserver.c
V 25
file 39a.5ck.r17625/26065
K 11
ggzserver.h
V 25
file 39b.5bk.r15001/48999
K 10
gotohand.c
V 24
file 11.5ck.r17700/11700
K 10
gotohand.h
V 25
file 7r.5ck.r16929/301579
K 10
handchat.c
V 25
file 4q.5ck.r18308/128272
K 10
handchat.h
V 24
file dj.5ck.r18270/28229
K 9
maphand.c
V 25
file 13.5ck.r18308/134469
K 9
maphand.h
V 24
file 14.5ck.r18079/38932
K 6
meta.c
V 25
file 4s.5ck.r18308/135671
K 6
meta.h
V 24
file 4t.5ck.r18054/19078
K 8
notify.c
V 24
file 4i2.5ck.r18098/4991
K 8
notify.h
V 24
file 4i3.5ck.r18282/3660
K 9
plrhand.c
V 23
file 4u.5ck.r18312/2810
K 9
plrhand.h
V 24
file 4v.5ck.r18309/12023
K 8
report.c
V 25
file vi.5ck.r18308/133485
K 8
report.h
V 24
file vj.5ck.r18270/29203
K 9
ruleset.c
V 24
file 8w.5ck.r18317/42976
K 9
ruleset.h
V 22
file 8x.5ck.r17946/997
K 13
sanitycheck.c
V 25
file wi.5ck.r18308/136908
K 13
sanitycheck.h
V 25
file wj.5ck.r16578/437729
K 10
savegame.c
V 24
file vl.5ck.r18309/11533
K 10
savegame.h
V 24
file vm.5ck.r17289/22938
K 11
savegame2.c
V 25
file 4m0.5ck.r18309/10849
K 11
savegame2.h
V 25
file 4m1.5ck.r18078/67503
K 7
score.c
V 26
file 2eg.5ck.r18308/128519
K 7
score.h
V 24
file 2eh.5ck.r17332/6378
K 9
scripting
V 24
dir 31x.5ck.r18314/61912
K 8
sernet.c
V 25
file 15.5ck.r18308/136412
K 8
sernet.h
V 23
file 4y.5ck.r17707/4012
K 10
settings.c
V 25
file 2m0.5ck.r18301/12584
K 10
settings.h
V 24
file 2m1.5ck.r18294/3094
K 11
spacerace.c
V 25
file 9a.5ck.r18308/134221
K 11
spacerace.h
V 21
file 9b.0.r11338/1129
K 9
srv_log.c
V 26
file 15t.5el.r18308/134909
K 9
srv_log.h
V 25
file 15u.5em.r17928/40497
K 10
srv_main.c
V 24
file vg.5ck.r18309/10356
K 10
srv_main.h
V 24
file vh.5ck.r18279/84001
K 11
stdinhand.c
V 24
file 4z.5ck.r18309/11285
K 11
stdinhand.h
V 24
file 50.5ck.r18023/25156
K 11
techtools.c
V 25
file 33n.5ck.r18317/43224
K 11
techtools.h
V 26
file 33o.5ck.r17839/175626
K 10
unithand.c
V 25
file 18.5ck.r18308/137350
K 10
unithand.h
V 23
file 19.5ck.r16959/4142
K 11
unittools.c
V 25
file 1a.5ck.r18308/136161
K 11
unittools.h
V 23
file 1b.5ck.r18052/8629
K 8
voting.c
V 26
file 4ex.5ck.r18308/137159
K 8
voting.h
V 25
file 4ey.5ck.r18054/19315
END
ENDREP
id: z.5ck.r18317/47043
type: dir
pred: z.5ck.r18314/65730
count: 4261
text: 18317 43473 3557 3557 6811883c8ff421fa62c45f03957ef05c
props: 17175 659 139 0 d1c9699dde7f9d81e54426750008041d
cpath: /trunk/server
copyroot: 15280 /trunk

id: 2f5.5ck.r18317/47275
type: file
pred: 2f5.5ck.r18298/9345
count: 331
text: 18317 25146 35 44553 477d0dcc7337e66d610242279c502edb
props: 11057 30210 112 0 64942f9576ccbd6a94350596bbb7a5cc
cpath: /trunk/common/packets.def
copyroot: 15280 /trunk

id: he.5ck.r18317/47523
type: file
pred: he.5ck.r18308/147632
count: 74
text: 18317 16400 6846 15423 11521194d34af12aa7e0a45fe62df31a
props: 11057 31287 111 0 a3a3251698e05efa35962766e5c7e5c1
cpath: /trunk/common/government.c
copyroot: 15280 /trunk

id: hf.5ck.r18317/47773
type: file
pred: hf.5ck.r18308/147879
count: 57
text: 18317 23275 1841 4028 f5dd9748634522e480d5d317fce86105
props: 10865 23625 111 0 8a31d593ba19cf3c77978cca3b416828
cpath: /trunk/common/government.h
copyroot: 15280 /trunk

PLAIN
K 11
Makefile.am
V 23
file 5h.5ck.r17932/7536
K 4
ai.c
V 24
file 4go.5ck.r18039/5198
K 4
ai.h
V 24
file 4gp.5ck.r18039/5375
K 6
aicore
V 24
dir 18t.5ck.r18311/14178
K 6
base.c
V 26
file 3jw.5ck.r18308/142652
K 6
base.h
V 26
file 3jx.5ck.r18308/143381
K 9
borders.c
V 25
file 4f0.5ck.r18297/35065
K 9
borders.h
V 24
file 4f1.5ck.r15975/2116
K 8
capstr.c
V 24
file dv.5ck.r17617/51579
K 8
capstr.h
V 24
file dw.5bk.r14881/38989
K 6
city.c
V 24
file q.5ck.r18308/145043
K 6
city.h
V 25
file 3q.5ck.r18308/145285
K 8
combat.c
V 24
file wp.5ck.r18226/16047
K 8
combat.h
V 24
file wq.5ck.r18086/20783
K 12
connection.c
V 25
file un.5ck.r18308/148374
K 12
connection.h
V 25
file uo.5ck.r18308/148867
K 8
dataio.c
V 25
file 15r.5ck.r17928/47899
K 8
dataio.h
V 25
file 15s.5ck.r18054/23274
K 11
diptreaty.c
V 23
file 3r.5ck.r18298/9103
K 11
diptreaty.h
V 24
file 3s.5ck.r18054/23946
K 9
effects.c
V 25
file 2eo.5ck.r18270/34465
K 9
effects.h
V 25
file 2ep.5ck.r18270/34711
K 8
events.c
V 25
file 33h.5ck.r18314/66580
K 8
events.h
V 24
file 3t.5ck.r18054/23708
K 14
fc_interface.c
V 25
file 4up.5ck.r17933/11024
K 14
fc_interface.h
V 24
file 4uq.5ck.r17932/7373
K 10
fc_types.h
V 24
file 2ll.5ck.r18298/9593
K 15
featured_text.c
V 26
file 4h3.5ck.r18308/144846
K 15
featured_text.h
V 25
file 4h4.5ck.r18054/23516
K 6
game.c
V 25
file 3u.5ck.r18308/149115
K 6
game.h
V 25
file 3v.5ck.r18308/149609
K 19
generate_packets.py
V 25
file 2f4.5ck.r18270/34211
K 12
government.c
V 24
file he.5ck.r18317/47523
K 12
government.h
V 24
file hf.5ck.r18317/47773
K 6
idex.c
V 25
file qo.5ck.r17392/111674
K 6
idex.h
V 21
file qp.0.r8119/15235
K 13
improvement.c
V 25
file vb.5ck.r18308/142158
K 13
improvement.h
V 25
file vc.5ck.r18308/142895
K 5
map.c
V 23
file r.5ck.r17934/70109
K 5
map.h
V 24
file 41.5ck.r18296/10349
K 10
movement.c
V 26
file 2xv.5ck.r18308/146640
K 10
movement.h
V 26
file 2xw.5ck.r18308/146890
K 18
name_translation.h
V 25
file 4k1.5ck.r17107/35209
K 8
nation.c
V 23
file il.5ck.r18312/6855
K 8
nation.h
V 24
file im.5ck.r18279/91917
K 9
packets.c
V 22
file 43.5ck.r17688/132
K 11
packets.def
V 25
file 2f5.5ck.r18317/47275
K 9
packets.h
V 24
file 44.5ck.r18100/70467
K 8
player.c
V 25
file 45.5ck.r18308/148128
K 8
player.h
V 25
file 46.5ck.r18308/148622
K 14
requirements.c
V 26
file 2wq.5ck.r18308/150100
K 14
requirements.h
V 25
file 2wr.5ck.r17509/18916
K 10
research.c
V 24
file 4ro.5ck.r17856/7997
K 10
research.h
V 26
file 4rp.5ck.r17839/180149
K 11
spaceship.c
V 20
file 98.0.r9977/2632
K 11
spaceship.h
V 24
file 99.5ck.r18054/26016
K 12
specialist.c
V 26
file 33f.5ck.r18308/141910
K 12
specialist.h
V 26
file 33g.5ck.r18308/142406
K 6
team.c
V 24
file 33i.5ck.r18062/9622
K 6
team.h
V 24
file 33j.5ck.r18062/9861
K 6
tech.c
V 24
file t.5ck.r18308/143873
K 6
tech.h
V 24
file u.5ck.r18308/144605
K 9
terrain.c
V 26
file 2fp.5ck.r18308/147138
K 9
terrain.h
V 25
file qs.5ck.r18308/147386
K 6
tile.c
V 25
file 2ys.5ck.r18297/34577
K 6
tile.h
V 25
file 2yt.5ck.r17934/69378
K 6
unit.c
V 24
file v.5ck.r18308/143141
K 6
unit.h
V 25
file 48.5ck.r18308/144114
K 10
unitlist.c
V 26
file 39m.5ck.r18308/149361
K 10
unitlist.h
V 26
file 39n.5ck.r18308/149854
K 10
unittype.c
V 25
file v9.5ck.r18308/143625
K 10
unittype.h
V 25
file va.5ck.r18308/144357
K 9
version.c
V 25
file oe.5ck.r17122/322944
K 9
version.h
V 21
file e7.0.r13518/7887
K 8
vision.c
V 25
file 4dm.5ck.r18000/29175
K 8
vision.h
V 25
file 4dn.5ck.r18000/29420
K 10
worklist.c
V 25
file o8.5ck.r16929/277491
K 10
worklist.h
V 23
file o9.5ck.r18038/1433
END
ENDREP
id: p.5ck.r18317/51560
type: dir
pred: p.5ck.r18314/70362
count: 2875
text: 18317 48022 3525 3525 a59a5fca1566a5192ae1bc16e575d7f8
props: 12883 2571 96 0 2763e13ff5d021346ae24ff6c9ced232
cpath: /trunk/common
copyroot: 15280 /trunk

id: 22.5ck.r18317/51792
type: file
pred: 22.5ck.r18279/95900
count: 152
text: 18317 0 1222 18659 d8d873ae94756a46add9ccdbe643891e
props: 10865 30805 112 0 8869376353a720fe76c0d512d1b8c326
cpath: /trunk/ai/aihand.c
copyroot: 15280 /trunk

PLAIN
K 11
Makefile.am
V 24
file 5d.5ck.r17700/26401
K 14
advdiplomacy.c
V 26
file 2ek.5ck.r18308/154852
K 14
advdiplomacy.h
V 25
file 2el.5ck.r17622/41667
K 13
advdomestic.c
V 25
file 1m.5ck.r18308/154370
K 13
advdomestic.h
V 23
file 1n.0.r13297/443238
K 13
advmilitary.c
V 25
file 1u.5ck.r18308/155573
K 13
advmilitary.h
V 23
file 1v.0.r13297/446464
K 10
advspace.c
V 25
file f2.5ck.r16929/287580
K 10
advspace.h
V 21
file f3.0.r8119/28225
K 7
aiair.c
V 26
file 15y.5ck.r18308/155817
K 7
aiair.h
V 25
file 15z.5ck.r18054/30939
K 8
aicity.c
V 24
file 20.5ck.r18136/27193
K 8
aicity.h
V 24
file 21.5ck.r18136/27433
K 12
aidiplomat.c
V 26
file 16r.5ck.r18308/155331
K 12
aidiplomat.h
V 25
file 16s.5ck.r18054/30699
K 9
aiferry.c
V 26
file 2iw.5ck.r18308/154128
K 9
aiferry.h
V 25
file 2ix.5ck.r18054/30227
K 9
aiguard.c
V 26
file 335.5ck.r18308/156303
K 9
aiguard.h
V 25
file 336.5ck.r18054/31175
K 8
aihand.c
V 24
file 22.5ck.r18317/51792
K 8
aihand.h
V 23
file 23.5ck.r18081/6422
K 8
aihunt.c
V 26
file 2gc.5ck.r18308/156543
K 8
aihunt.h
V 25
file 2gd.5ck.r18054/31410
K 15
aiparatrooper.c
V 26
file 36o.5ck.r18308/156056
K 15
aiparatrooper.h
V 23
file 36p.0.r12670/95202
K 11
aisettler.c
V 26
file 2lh.5ck.r18308/157023
K 11
aisettler.h
V 25
file 2li.5ck.r18054/29985
K 8
aitech.c
V 25
file 24.5ck.r17839/186545
K 8
aitech.h
V 22
file 25.0.r10755/53545
K 9
aitools.c
V 24
file 9.5ck.r18308/154613
K 9
aitools.h
V 24
file a.5ck.r18308/155094
K 8
aiunit.c
V 24
file b.5ck.r18308/156783
K 8
aiunit.h
V 23
file c.5ck.r17796/32162
K 11
defaultai.c
V 25
file 4n8.5ck.r17797/19409
K 11
defaultai.h
V 25
file 4n9.5ck.r17796/33605
END
ENDREP
id: 8.5ck.r18317/53665
type: dir
pred: 8.5ck.r18308/158902
count: 1313
text: 18317 52030 1622 1622 b3b9a59eebaa2687d1dbc1dfc6ef723b
props: 11108 11315 64 0 abac628483ea4fdfa3bea3a3a56e0532
cpath: /trunk/ai
copyroot: 15280 /trunk

id: 2ym.5ck.r18317/53895
type: file
pred: 2ym.5ck.r17839/188629
count: 35
text: 18317 16172 48 35795 c214e440dd17e760fb70993fa3d2dac4
props: 11057 36702 111 0 5396249b3009eb64cd90e5da0b7a56fa
cpath: /trunk/client/reqtree.c
copyroot: 15280 /trunk

id: 10z.5ck.r18317/54142
type: file
pred: 10z.5ck.r18297/41320
count: 162
text: 18317 1252 78 86437 30bd71a3fc23bfa7d72860ad41d03713
props: 11057 39977 111 0 05d0c9433d86d9823b0e8b2536eb2299
cpath: /trunk/client/gui-gtk-2.0/menu.c
copyroot: 15280 /trunk

PLAIN
K 11
Makefile.am
V 24
file zu.5ck.r17430/16398
K 8
canvas.c
V 25
file 2y6.5ck.r16281/14174
K 8
canvas.h
V 23
file 2y7.0.r10096/14437
K 16
caravan_dialog.c
V 26
file 376.5ck.r18308/161816
K 10
chatline.c
V 25
file zw.5ck.r18308/163850
K 10
chatline.h
V 24
file zx.5ck.r16063/47311
K 15
choice_dialog.c
V 26
file 377.5ck.r17122/362877
K 15
choice_dialog.h
V 23
file 378.0.r12670/99360
K 9
citydlg.c
V 25
file zy.5ck.r18308/161299
K 9
citydlg.h
V 20
file zz.0.r5493/6351
K 9
cityrep.c
V 26
file 100.5ck.r18308/162339
K 9
cityrep.h
V 25
file 101.5ck.r18101/91562
K 8
cma_fe.c
V 22
file 102.5ck.r17403/53
K 8
cma_fe.h
V 25
file 103.5ck.r15813/67548
K 8
colors.c
V 26
file 104.5ck.r17122/362357
K 8
colors.h
V 24
file 105.5ck.r16180/3087
K 12
connectdlg.c
V 26
file 106.5ck.r15410/343701
K 12
connectdlg.h
V 21
file 107.0.r7580/6878
K 9
dialogs.c
V 26
file 108.5ck.r18308/162600
K 9
dialogs.h
V 22
file 109.0.r11212/7101
K 10
diplodlg.c
V 23
file 10a.5ck.r18134/289
K 10
diplodlg.h
V 23
file 10b.0.r9577/108261
K 17
diplomat_dialog.c
V 26
file 36n.5ck.r18308/162859
K 9
editgui.c
V 25
file 4ej.5ck.r17617/68081
K 9
editgui.h
V 25
file 4ek.5ck.r15355/70937
K 10
editprop.c
V 26
file 4el.5ck.r18308/163646
K 10
editprop.h
V 24
file 3bj.5cl.r15704/4438
K 10
embedggz.c
V 26
file 4gq.5ck.r17122/363137
K 9
finddlg.c
V 25
file 10c.5ck.r16015/48885
K 9
finddlg.h
V 22
file 2d0.0.r5989/22356
K 10
gamedlgs.c
V 26
file 10d.5ck.r17122/363800
K 9
gotodlg.c
V 26
file 10e.5ck.r18308/161041
K 9
gotodlg.h
V 23
file 10f.0.r4313/263426
K 10
graphics.c
V 23
file 10g.0.r11337/79662
K 10
graphics.h
V 23
file 10h.0.r11337/80150
K 12
gtkpixcomm.c
V 25
file 10i.5ck.r16973/10277
K 12
gtkpixcomm.h
V 22
file 10j.0.r10800/1606
K 10
gui_main.c
V 26
file 10k.5ck.r18308/161556
K 10
gui_main.h
V 25
file 10l.5ck.r18048/13615
K 11
gui_stuff.c
V 25
file 10m.5ck.r18150/60478
K 11
gui_stuff.h
V 25
file 10n.5ck.r18150/60736
K 11
happiness.c
V 23
file 10o.5ck.r17522/118
K 11
happiness.h
V 23
file 10p.0.r9577/106064
K 9
helpdlg.c
V 26
file 10q.5ck.r18308/163385
K 9
helpdlg.h
V 23
file 10r.0.r4313/267882
K 10
inputdlg.c
V 25
file 10s.5ck.r16015/49143
K 10
inputdlg.h
V 21
file 10t.0.r7580/3991
K 10
inteldlg.c
V 26
file 10u.5ck.r18308/163127
K 10
inteldlg.h
V 23
file 2d1.0.r9577/108626
K 9
mapctrl.c
V 25
file 10v.5ck.r18270/38950
K 9
mapctrl.h
V 25
file 10w.5bk.r14157/11089
K 9
mapview.c
V 25
file 10x.5ck.r18076/31042
K 9
mapview.h
V 24
file 10y.5ck.r17351/2736
K 6
menu.c
V 25
file 10z.5ck.r18317/54142
K 6
menu.h
V 25
file 110.5ck.r16067/65085
K 12
messagedlg.c
V 23
file 111.0.r11771/10924
K 12
messagedlg.h
V 22
file 2d2.0.r5989/22693
K 12
messagewin.c
V 22
file 112.5ck.r18211/79
K 12
messagewin.h
V 25
file 113.5ck.r18082/27153
K 11
optiondlg.c
V 25
file 4js.5ck.r18314/70594
K 11
optiondlg.h
V 25
file 114.5ck.r17037/29773
K 7
pages.c
V 26
file 2pi.5ck.r18308/162080
K 7
pages.h
V 25
file 2pj.5ck.r18054/34881
K 8
plrdlg.c
V 25
file 115.5ck.r18150/61512
K 8
plrdlg.h
V 22
file 116.0.r10803/7069
K 10
ratesdlg.h
V 22
file 2d3.0.r5989/22018
K 4
rc2c
V 23
file 117.0.r4313/274431
K 10
repodlgs.c
V 24
file 118.5ck.r18167/3473
K 10
repodlgs.h
V 25
file 119.5ck.r18076/31562
K 11
resources.c
V 23
file 11a.0.r5390/112550
K 11
resources.h
V 23
file 11b.0.r4313/267539
K 14
spaceshipdlg.c
V 26
file 11c.5ck.r17042/129784
K 14
spaceshipdlg.h
V 23
file 11d.0.r9577/110090
K 8
sprite.c
V 25
file 2y8.5ck.r18314/70793
K 8
sprite.h
V 23
file 2y9.0.r10141/29270
K 11
theme_dlg.c
V 26
file 47d.5ck.r17122/361837
K 8
themes.c
V 26
file 34x.5ck.r17122/358813
K 13
tileset_dlg.c
V 25
file 45i.5bk.r13968/60424
K 14
voteinfo_bar.c
V 25
file 4h8.5ck.r18314/71050
K 14
voteinfo_bar.h
V 24
file 4h9.5ck.r17959/2670
K 7
wldlg.c
V 26
file 11e.5ck.r16929/320462
K 7
wldlg.h
V 25
file 11f.5ck.r16285/86707
END
ENDREP
id: zs.5ck.r18317/58175
type: dir
pred: zs.5ck.r18314/75031
count: 1411
text: 18317 54397 3765 3765 3ca18a0f648cbf7a796ee2a935c771d2
props: 11108 11912 79 0 480bb3268560e84c2d6c8376c422c65e
cpath: /trunk/client/gui-gtk-2.0
copyroot: 15280 /trunk

id: an.5ck.r18317/58422
type: file
pred: an.5ck.r18101/96331
count: 120
text: 18317 15017 431 40132 cc63a034edbf18c1bdd6b3399e58e059
props: 10882 2348 111 0 014f4f31d8fa52a1c17e04bfb7ac7579
cpath: /trunk/client/gui-xaw/menu.c
copyroot: 15280 /trunk

PLAIN
K 11
Makefile.am
V 24
file bq.5ck.r17430/21163
K 9
actions.c
V 24
file nt.5ck.r18101/95828
K 9
actions.h
V 21
file nu.0.r1888/21779
K 4
ad2c
V 22
file 9q.0.r1186/243967
K 8
canvas.c
V 21
file 9r.0.r3959/87925
K 8
canvas.h
V 20
file 9s.0.r4034/9073
K 9
canvasp.h
V 20
file 9t.0.r4034/8365
K 10
chatline.c
V 25
file 9u.5ck.r17122/373441
K 10
chatline.h
V 21
file 9v.0.r2187/10435
K 9
citydlg.c
V 25
file 9w.5ck.r18308/168632
K 9
citydlg.h
V 20
file 9x.0.r2187/8309
K 9
cityrep.c
V 25
file 9y.5ck.r18151/138480
K 9
cityrep.h
V 24
file g1.5ck.r18101/97080
K 8
cma_fe.c
V 23
file 2ei.5ck.r17713/119
K 8
cma_fe.h
V 21
file 2ej.0.r6908/4433
K 8
colors.c
V 25
file a2.5ck.r16578/453349
K 8
colors.h
V 21
file a3.0.r10532/9312
K 12
connectdlg.c
V 24
file a4.5ck.r18270/43467
K 12
connectdlg.h
V 21
file a5.0.r2187/12228
K 9
dialogs.c
V 25
file a6.5ck.r18308/169142
K 9
dialogs.h
V 21
file a7.0.r10882/3191
K 10
diplodlg.c
V 25
file a8.5ck.r17627/118010
K 10
diplodlg.h
V 20
file a9.0.r2187/7955
K 17
diplomat_dialog.c
V 26
file 37p.5ck.r18308/169398
K 9
finddlg.c
V 25
file aa.5ck.r18308/169918
K 9
finddlg.h
V 22
file 2dk.0.r5989/31562
K 9
gotodlg.c
V 25
file ab.5ck.r18308/168379
K 9
gotodlg.h
V 21
file ac.0.r1888/21069
K 10
graphics.c
V 25
file ad.5ck.r17122/371918
K 10
graphics.h
V 21
file ae.0.r10789/6338
K 10
gui_main.c
V 25
file bm.5ck.r18308/168887
K 10
gui_main.h
V 22
file bn.0.r11408/10219
K 11
gui_stuff.c
V 24
file bo.5ck.r18027/15206
K 11
gui_stuff.h
V 21
file bp.0.r4964/56392
K 9
helpdlg.c
V 25
file af.5ck.r18308/170173
K 9
helpdlg.h
V 21
file g2.0.r1888/23188
K 10
inputdlg.c
V 20
file ag.0.r7586/1961
K 10
inputdlg.h
V 20
file ah.0.r7586/2315
K 10
inteldlg.c
V 25
file ai.5ck.r18308/169663
K 10
inteldlg.h
V 23
file 2dl.0.r10108/22972
K 9
mapctrl.c
V 24
file aj.5ck.r18270/43215
K 9
mapctrl.h
V 21
file ak.0.r10532/9667
K 9
mapview.c
V 24
file al.5ck.r17735/17831
K 9
mapview.h
V 24
file am.5bk.r13912/46304
K 6
menu.c
V 24
file an.5ck.r18317/58422
K 6
menu.h
V 24
file ao.5ck.r16824/42452
K 12
messagedlg.c
V 25
file ap.5bk.r14427/290582
K 12
messagedlg.h
V 22
file 2dm.0.r5989/31896
K 12
messagewin.c
V 24
file aq.5ck.r18082/31672
K 12
messagewin.h
V 24
file g3.5ck.r18082/32178
K 11
optiondlg.c
V 24
file ar.5ck.r18314/75279
K 11
optiondlg.h
V 24
file as.5ck.r16998/79026
K 7
pages.c
V 25
file 2qm.5ck.r18061/34807
K 7
pages.h
V 22
file 2qn.0.r10536/7909
K 9
pixcomm.c
V 21
file at.0.r3145/18494
K 9
pixcomm.h
V 20
file au.0.r4034/9777
K 10
pixcommp.h
V 20
file av.0.r4034/8719
K 8
plrdlg.c
V 23
file aw.5ck.r18042/9274
K 8
plrdlg.h
V 20
file g4.0.r5489/3140
K 10
ratesdlg.c
V 25
file ax.5ck.r17122/372425
K 10
ratesdlg.h
V 22
file 2dn.0.r5989/31227
K 10
repodlgs.c
V 23
file ay.5ck.r18167/7741
K 10
repodlgs.h
V 24
file az.5ck.r18076/36844
K 11
resources.c
V 20
file b0.0.r9310/2224
K 11
resources.h
V 21
file b1.0.r3145/14204
K 14
spaceshipdlg.c
V 25
file b2.5ck.r17042/135081
K 14
spaceshipdlg.h
V 21
file b3.0.r2187/11152
K 8
themes.c
V 25
file 350.5ck.r18314/75534
K 14
voteinfo_bar.c
V 25
file 4hg.5ck.r16063/52010
K 14
voteinfo_bar.h
V 25
file 4hh.5ck.r16063/52179
K 7
wldlg.c
V 25
file o5.5ck.r16929/327729
K 7
wldlg.h
V 24
file o6.5ck.r16285/91411
END
ENDREP
id: 9o.5ck.r18317/61862
type: dir
pred: 9o.5ck.r18314/78974
count: 964
text: 18317 58672 3177 3177 39301648f389ed717e479a96fa7a92f8
props: 11108 12237 78 0 a27c61ac5fddbd709df8c1876129f940
cpath: /trunk/client/gui-xaw
copyroot: 15280 /trunk

id: yg.5ck.r18317/62104
type: file
pred: yg.5ck.r18027/18884
count: 79
text: 18317 14955 34 41580 388feae5fc1ab43fff9926dc0e56cbca
props: 10989 3605 111 0 d69121ee529fb8cb3643d711ec0f2158
cpath: /trunk/client/gui-win32/menu.c
copyroot: 15280 /trunk

PLAIN
K 11
Makefile.am
V 24
file nr.5ck.r16063/58955
K 8
canvas.c
V 26
file 2ya.5ck.r16578/457273
K 8
canvas.h
V 22
file 2yb.0.r10131/2132
K 10
chatline.c
V 25
file xk.5ck.r16199/132896
K 10
chatline.h
V 20
file xl.0.r5785/7678
K 9
citydlg.c
V 24
file xm.5ck.r17928/67261
K 9
citydlg.h
V 19
file xn.0.r5671/865
K 9
cityrep.c
V 25
file xo.5ck.r17122/378926
K 9
cityrep.h
V 22
file xp.0.r3745/159022
K 8
cma_fe.c
V 25
file 2fu.5ck.r17296/31864
K 8
cma_fe.h
V 20
file 2fv.0.r7442/210
K 8
colors.c
V 21
file xq.0.r10461/1484
K 8
colors.h
V 21
file xr.0.r10461/1841
K 12
connectdlg.c
V 25
file xs.5ck.r17627/122454
K 12
connectdlg.h
V 20
file xt.0.r8331/7783
K 9
dialogs.c
V 24
file xu.5ck.r17928/67514
K 9
dialogs.h
V 21
file xv.0.r10883/4520
K 10
diplodlg.c
V 25
file xw.5ck.r17627/121946
K 10
diplodlg.h
V 22
file xx.0.r13481/26989
K 9
finddlg.c
V 23
file xy.5ck.r16025/7544
K 9
finddlg.h
V 22
file 2dg.0.r5989/39776
K 9
gotodlg.c
V 23
file xz.5ck.r16025/6031
K 9
gotodlg.h
V 20
file y0.0.r3786/3776
K 10
graphics.c
V 25
file y1.5ck.r17042/139532
K 10
graphics.h
V 21
file y2.0.r10294/2998
K 10
gui_main.c
V 24
file y3.5ck.r17849/70625
K 10
gui_main.h
V 24
file y4.5ck.r16059/40327
K 11
gui_stuff.c
V 23
file y5.5ck.r16025/6536
K 11
gui_stuff.h
V 22
file y6.0.r13328/10851
K 11
happiness.c
V 23
file 137.5bk.r14335/341
K 11
happiness.h
V 23
file 138.0.r13481/26751
K 9
helpdlg.c
V 25
file y7.5ck.r18308/173860
K 9
helpdlg.h
V 22
file y8.0.r3745/150873
K 10
inputdlg.c
V 19
file y9.0.r8895/460
K 10
inputdlg.h
V 22
file ya.0.r3745/153242
K 10
inteldlg.c
V 25
file yb.5ck.r17839/197848
K 10
inteldlg.h
V 22
file 2dh.0.r5989/39102
K 9
mapctrl.c
V 25
file yc.5ck.r15410/360029
K 9
mapctrl.h
V 21
file yd.0.r6430/14685
K 9
mapview.c
V 24
file ye.5ck.r17735/23497
K 9
mapview.h
V 22
file yf.0.r13412/11359
K 6
menu.c
V 24
file yg.5ck.r18317/62104
K 6
menu.h
V 20
file yh.0.r5785/9458
K 12
messagedlg.c
V 25
file yi.5bk.r14427/299083
K 12
messagedlg.h
V 22
file 2di.0.r5989/40112
K 12
messagewin.c
V 25
file yj.5bk.r14427/295548
K 12
messagewin.h
V 22
file yk.0.r3745/155966
K 11
optiondlg.c
V 25
file yl.5ck.r17122/377390
K 11
optiondlg.h
V 21
file ym.0.r3959/96575
K 7
pages.c
V 25
file 2qk.5ck.r16063/58356
K 7
pages.h
V 22
file 2ql.0.r8639/12634
K 8
plrdlg.c
V 25
file yn.5ck.r17627/122200
K 8
plrdlg.h
V 20
file yo.0.r3847/6164
K 10
ratesdlg.c
V 25
file yp.5ck.r17122/379957
K 10
ratesdlg.h
V 22
file 2dj.0.r5989/39439
K 10
repodlgs.c
V 24
file yq.5ck.r17850/32256
K 10
repodlgs.h
V 22
file yr.0.r3745/151547
K 14
spaceshipdlg.c
V 25
file yt.5ck.r17042/139786
K 14
spaceshipdlg.h
V 20
file yu.0.r3778/5068
K 8
sprite.c
V 25
file 2yc.5ck.r16059/39575
K 8
sprite.h
V 23
file 2yd.0.r10141/44406
K 8
themes.c
V 23
file 34z.0.r10945/20562
K 14
voteinfo_bar.c
V 25
file 4he.5ck.r16063/58606
K 14
voteinfo_bar.h
V 25
file 4hf.5ck.r16063/58781
K 7
wldlg.c
V 25
file yv.5ck.r17122/380467
K 7
wldlg.h
V 24
file yw.5ck.r16285/95572
END
ENDREP
id: np.5ck.r18317/65282
type: dir
pred: np.5ck.r18308/177042
count: 713
text: 18317 62354 2915 2915 762ce3f3f25ec5f0327227a28782239c
props: 11108 12557 68 0 fbaef5f6348d6ae4b0cc177104ca4ad2
cpath: /trunk/client/gui-win32
copyroot: 15280 /trunk

id: n.5ck.r18317/65527
type: file
pred: n.5ck.r18308/177288
count: 779
text: 18317 15561 581 113736 3800da1d83febbc14e47fba210c799aa
props: 11088 14698 112 0 2c9d3e41a2f20488aa9cdb8d740d094e
cpath: /trunk/client/packhand.c
copyroot: 15280 /trunk

id: 17a.5ck.r18317/65774
type: file
pred: 17a.5ck.r18308/178816
count: 176
text: 18317 1360 12362 108119 3a4c7a107557461e495643dff40fdb45
props: 10805 78030 111 0 ae073b1a8624f4e72ab3bef202bf2f05
cpath: /trunk/client/gui-sdl/dialogs.c
copyroot: 15280 /trunk

id: 17z.5ck.r18317/66033
type: file
pred: 17z.5ck.r17977/68415
count: 70
text: 18317 13753 1173 69120 5ba6e4244373e8027e69027d3f691a66
props: 10411 164601 111 0 3d57169d64a739976bce7d2e578e29eb
cpath: /trunk/client/gui-sdl/helpdlg.c
copyroot: 15280 /trunk

PLAIN
K 11
Makefile.am
V 25
file 16u.5ck.r17905/31818
K 19
SDL_gfxPrimitives.c
V 25
file 4u0.5ck.r17905/31016
K 19
SDL_gfxPrimitives.h
V 25
file 4u1.5ck.r17977/66943
K 24
SDL_gfxPrimitives_font.h
V 25
file 4u2.5ck.r17905/31633
K 14
SDL_rotozoom.c
V 24
file 3jy.0.r12670/115301
K 14
SDL_rotozoom.h
V 24
file 3jz.0.r12670/115888
K 9
SDL_ttf.c
V 24
file 2dz.5bk.r13597/7386
K 9
SDL_ttf.h
V 24
file 2e0.5bk.r13597/7647
K 11
alphablit.c
V 23
file 3be.0.r13354/59832
K 8
canvas.c
V 25
file 39i.5ck.r18314/79469
K 8
canvas.h
V 23
file 39j.0.r13354/56918
K 16
caravan_dialog.c
V 26
file 3bp.5ck.r17122/386217
K 10
chatline.c
V 25
file 16y.5ck.r18082/40125
K 10
chatline.h
V 26
file 16z.5ck.r16199/137581
K 9
citydlg.c
V 26
file 170.5ck.r18308/177793
K 9
citydlg.h
V 23
file 171.0.r13354/55222
K 9
cityrep.c
V 26
file 172.5ck.r18308/178560
K 9
cityrep.h
V 26
file 173.5ck.r18101/104032
K 8
cma_fe.c
V 25
file 174.5ck.r17977/67143
K 8
cma_fe.h
V 23
file 175.0.r11361/43495
K 8
colors.c
V 23
file 176.0.r13354/62500
K 8
colors.h
V 24
file 177.5bk.r14076/4693
K 12
connectdlg.c
V 25
file 178.5ck.r18270/49648
K 12
connectdlg.h
V 23
file 179.0.r12349/45319
K 9
dialogs.c
V 25
file 17a.5ck.r18317/65774
K 9
dialogs.h
V 25
file 17b.5ck.r17357/12486
K 10
diplodlg.c
V 26
file 17c.5ck.r17627/126137
K 10
diplodlg.h
V 22
file 17d.0.r11584/2869
K 17
diplomat_dialog.c
V 26
file 3bn.5ck.r18308/179074
K 9
finddlg.c
V 25
file 17e.5ck.r17146/88408
K 9
finddlg.h
V 20
file 2d8.0.r5991/702
K 9
gotodlg.c
V 26
file 17f.5ck.r18308/177537
K 9
gotodlg.h
V 22
file 17g.0.r6515/58208
K 10
graphics.c
V 25
file 17h.5ck.r17977/67906
K 10
graphics.h
V 25
file 17i.5ck.r17977/68161
K 11
gui_iconv.c
V 26
file 17l.5ck.r16578/465566
K 11
gui_iconv.h
V 23
file 17m.0.r13354/66657
K 8
gui_id.h
V 25
file 17n.5ck.r17230/40092
K 10
gui_main.c
V 26
file 17o.5ck.r18101/103260
K 10
gui_main.h
V 25
file 17p.5ck.r17169/47828
K 11
gui_mouse.c
V 25
file 3ca.5ck.r17169/47579
K 11
gui_mouse.h
V 24
file 3cb.0.r12670/112397
K 12
gui_string.c
V 25
file 17r.5ck.r18314/80749
K 12
gui_string.h
V 23
file 17s.0.r13481/30445
K 14
gui_tilespec.c
V 25
file 191.5ck.r17977/65403
K 14
gui_tilespec.h
V 25
file 192.5bk.r13912/53929
K 11
happiness.c
V 23
file 17x.0.r11361/41144
K 11
happiness.h
V 23
file 17y.0.r11361/41867
K 9
helpdlg.c
V 25
file 17z.5ck.r18317/66033
K 9
helpdlg.h
V 23
file 180.0.r11361/47416
K 10
inputdlg.c
V 23
file 181.0.r11361/47897
K 10
inputdlg.h
V 23
file 182.0.r5500/260641
K 10
inteldlg.c
V 26
file 183.5ck.r18308/179339
K 10
inteldlg.h
V 22
file 2d9.0.r11409/2687
K 9
mapctrl.c
V 25
file 184.5ck.r18270/49396
K 9
mapctrl.h
V 23
file 185.0.r13354/63700
K 9
mapview.c
V 26
file 186.5ck.r18308/178051
K 9
mapview.h
V 23
file 187.0.r13354/56676
K 6
menu.c
V 26
file 188.5ck.r18308/178307
K 6
menu.h
V 25
file 189.5bk.r13856/57405
K 12
messagedlg.c
V 26
file 18a.5ck.r16578/465051
K 12
messagedlg.h
V 22
file 2da.0.r5989/48394
K 12
messagewin.c
V 25
file 18b.5ck.r18082/39106
K 12
messagewin.h
V 25
file 18c.5ck.r18082/39362
K 5
mmx.h
V 23
file 2e1.0.r6286/134429
K 11
optiondlg.c
V 25
file 18d.5ck.r18082/38343
K 11
optiondlg.h
V 25
file 18e.5ck.r17169/46811
K 7
pages.c
V 25
file 2qg.5ck.r18082/38857
K 7
pages.h
V 22
file 2qh.0.r8639/16416
K 8
plrdlg.c
V 23
file 18f.5ck.r18251/297
K 8
plrdlg.h
V 22
file 18g.0.r6387/81301
K 10
ratesdlg.h
V 22
file 2db.0.r5989/47726
K 10
repodlgs.c
V 25
file 18i.5ck.r18167/13670
K 10
repodlgs.h
V 25
file 18j.5ck.r18076/43515
K 14
spaceshipdlg.c
V 25
file 18m.5ck.r17146/89433
K 14
spaceshipdlg.h
V 23
file 18n.0.r5500/263363
K 8
sprite.c
V 25
file 39k.5ck.r18314/79217
K 8
sprite.h
V 24
file 39l.0.r12670/108062
K 18
themebackgrounds.c
V 25
file 3ff.5ck.r18314/79977
K 18
themebackgrounds.h
V 25
file 3fg.5bk.r13794/17440
K 13
themecolors.c
V 25
file 392.5ck.r18314/80491
K 13
themecolors.h
V 24
file 393.0.r12670/114433
K 8
themes.c
V 25
file 38p.5ck.r18314/80238
K 11
themespec.c
V 26
file 390.5ck.r17392/130205
K 11
themespec.h
V 26
file 391.5ck.r16578/464018
K 11
unistring.c
V 23
file 18o.0.r13354/57401
K 11
unistring.h
V 23
file 18p.0.r13481/30205
K 14
voteinfo_bar.c
V 25
file 4ha.5ck.r16063/62859
K 14
voteinfo_bar.h
V 25
file 4hb.5ck.r16063/63032
K 8
widget.c
V 25
file 3fu.5ck.r17977/65923
K 8
widget.h
V 25
file 3fv.5ck.r17230/39838
K 15
widget_button.c
V 25
file 3fh.5ck.r17146/86344
K 15
widget_button.h
V 24
file 3g7.0.r12670/113556
K 17
widget_checkbox.c
V 24
file 3fi.5bk.r14076/6064
K 17
widget_checkbox.h
V 24
file 3g8.0.r12670/106620
K 14
widget_combo.c
V 25
file 4k3.5ck.r17230/40601
K 14
widget_combo.h
V 25
file 4k4.5ck.r17230/40775
K 13
widget_core.c
V 25
file 3fj.5ck.r17230/40344
K 13
widget_edit.c
V 25
file 3fk.5ck.r17977/69182
K 13
widget_edit.h
V 24
file 3g9.0.r12670/115595
K 13
widget_icon.c
V 25
file 3fl.5ck.r17977/66435
K 13
widget_icon.h
V 24
file 3ga.0.r12670/112107
K 14
widget_label.c
V 25
file 3fm.5ck.r18314/79720
K 14
widget_label.h
V 24
file 3gb.0.r12670/110079
K 10
widget_p.h
V 24
file 3fn.0.r12670/107197
K 18
widget_scrollbar.c
V 26
file 3fo.5df.r17392/130722
K 18
widget_scrollbar.h
V 24
file 3gc.0.r12670/116811
K 15
widget_window.c
V 25
file 3fp.5ck.r17977/64893
K 15
widget_window.h
V 23
file 3gd.0.r12699/32533
K 7
wldlg.c
V 25
file 18q.5ck.r17977/69439
K 7
wldlg.h
V 26
file 18r.5ck.r16285/100508
END
ENDREP
id: 16t.5ck.r18317/71558
type: dir
pred: 16t.5ck.r18314/86275
count: 645
text: 18317 66290 5255 5255 4bae1724d2104fc80aa839e3f1c6315a
props: 11108 12869 78 0 a27c61ac5fddbd709df8c1876129f940
cpath: /trunk/client/gui-sdl
copyroot: 15280 /trunk

id: h1.5ck.r18317/71802
type: file
pred: h1.5ck.r18314/86520
count: 233
text: 18317 15478 53 84704 be7d44a857881cac88c63ed05fbbd9c1
props: 10865 39466 112 0 7c92b74246787b3b87930d3304880700
cpath: /trunk/client/helpdata.c
copyroot: 15280 /trunk

id: hl.5ck.r18317/72048
type: file
pred: hl.5ck.r18308/188778
count: 447
text: 18317 16249 122 176889 7ebdaf93dad20a203a5076831779fa20
props: 11096 3792 112 0 71c6b453a620995957914f193a952f13
cpath: /trunk/client/tilespec.c
copyroot: 15280 /trunk

PLAIN
K 11
Makefile.am
V 24
file 5f.5ck.r16999/27621
K 6
agents
V 24
dir zf.5ck.r18308/160301
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.r17122/401512
K 7
audio.h
V 25
file 13a.5ck.r18054/43658
K 12
audio_none.c
V 23
file 13d.0.r6129/145164
K 12
audio_none.h
V 22
file 13e.0.r4452/27228
K 11
audio_sdl.c
V 26
file 13f.5ck.r16578/477644
K 11
audio_sdl.h
V 22
file 13g.0.r4452/26570
K 17
chatline_common.c
V 25
file 14q.5ck.r18289/38798
K 17
chatline_common.h
V 25
file 14r.5ck.r18289/39050
K 16
citydlg_common.c
V 25
file z4.5ck.r18308/160543
K 16
citydlg_common.h
V 24
file z5.5ck.r18054/34390
K 13
cityrepdata.c
V 24
file mb.5ck.r18268/21637
K 13
cityrepdata.h
V 24
file mc.5ck.r18054/34639
K 11
civclient.c
V 23
file 4f2.5ck.r15408/695
K 13
client_main.c
V 21
file 2f.5cp.r18304/90
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 25
file d5.5ck.r18308/192580
K 9
climisc.h
V 25
file i0.5ck.r18151/154767
K 8
clinet.c
V 25
file hc.5ck.r18151/154004
K 8
clinet.h
V 25
file i1.5bk.r14427/324634
K 15
colors_common.c
V 25
file 33a.5ck.r17618/25002
K 15
colors_common.h
V 25
file 33b.5ck.r16397/92170
K 19
connectdlg_common.c
V 23
file 2fw.5ck.r18305/942
K 19
connectdlg_common.h
V 25
file 2fx.5ck.r16532/38983
K 9
control.c
V 25
file gz.5ck.r18308/160795
K 9
control.h
V 22
file i2.5ck.r17128/896
K 7
dummy.c
V 23
file 4f9.5ck.r15641/551
K 8
editor.c
V 25
file 3bg.5ck.r17928/77933
K 8
editor.h
V 25
file 3bh.5ck.r15761/13075
K 11
ggzclient.c
V 25
file 394.5ck.r18061/46733
K 11
ggzclient.h
V 24
file 395.0.r12670/122419
K 17
global_worklist.c
V 25
file 4i6.5ck.r17509/30059
K 17
global_worklist.h
V 26
file 4i7.5ck.r16319/100206
K 6
goto.c
V 25
file vu.5ck.r17392/129962
K 6
goto.h
V 24
file vv.5ck.r15509/18108
K 8
gui-ftwl
V 25
dir 2k2.5ck.r18308/188284
K 11
gui-gtk-2.0
V 23
dir zs.5ck.r18317/58175
K 7
gui-sdl
V 24
dir 16t.5ck.r18317/71558
K 8
gui-stub
V 23
dir mh.5ck.r18314/89816
K 9
gui-win32
V 23
dir np.5ck.r18317/65282
K 7
gui-xaw
V 23
dir 9o.5ck.r18317/61862
K 10
helpdata.c
V 24
file h1.5ck.r18317/71802
K 10
helpdata.h
V 24
file i3.5ck.r18237/40742
K 7
include
V 23
dir b8.5ck.r18270/48908
K 16
mapctrl_common.c
V 26
file 15m.5ck.r18308/189026
K 16
mapctrl_common.h
V 25
file 15n.5ck.r18054/43899
K 16
mapview_common.c
V 25
file z2.5ck.r18308/192325
K 16
mapview_common.h
V 24
file z3.5ck.r18054/44148
K 19
messagewin_common.c
V 25
file 14s.5ck.r18082/46145
K 19
messagewin_common.h
V 25
file 14t.5ck.r18082/46403
K 9
options.c
V 24
file dc.5ck.r18270/58951
K 9
options.h
V 23
file i4.5ck.r18115/6527
K 17
overview_common.c
V 25
file 2yk.5ck.r17735/12797
K 17
overview_common.h
V 25
file 2yl.5ck.r16930/40516
K 10
packhand.c
V 23
file n.5ck.r18317/65527
K 10
packhand.h
V 24
file i5.5bk.r14422/90154
K 15
plrdlg_common.c
V 25
file 14u.5ck.r18042/20931
K 15
plrdlg_common.h
V 25
file 14v.5ck.r18054/42900
K 17
repodlgs_common.c
V 26
file 11i.5ck.r18151/137715
K 17
repodlgs_common.h
V 26
file 11j.5ck.r18151/137972
K 9
reqtree.c
V 25
file 2ym.5ck.r18317/53895
K 9
reqtree.h
V 23
file 2yn.0.r13481/22674
K 9
servers.c
V 26
file 33x.5ck.r17122/406310
K 9
servers.h
V 25
file 33y.5ck.r15505/14398
K 6
text.c
V 26
file 2g3.5ck.r18308/168133
K 6
text.h
V 24
file 2g4.5ck.r17475/5221
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 24
file hl.5ck.r18317/72048
K 10
tilespec.h
V 24
file i6.5ck.r16930/49667
K 14
update_queue.c
V 26
file 4jw.5ck.r18101/110053
K 14
update_queue.h
V 25
file 4jx.5ck.r18082/46852
K 10
voteinfo.c
V 23
file 4fe.5ck.r17708/187
K 10
voteinfo.h
V 25
file 4ff.5ck.r16201/17543
END
ENDREP
id: d.5ck.r18317/76067
type: dir
pred: d.5ck.r18314/93835
count: 4979
text: 18317 72296 3758 3758 ee03bfa9fd4c0ce622b414d538486eac
props: 17175 1380 160 0 7b3e01f16aae8514c8fa39e5f80a327d
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 22
file 6.5ck.r17486/2711
K 11
Makefile.am
V 24
file 59.5ck.r17690/10482
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.r18317/53665
K 10
autogen.sh
V 24
file 12o.5ck.r16223/7590
K 9
bootstrap
V 24
dir 2p5.5ck.r17613/37512
K 6
client
V 22
dir d.5ck.r18317/76067
K 6
common
V 22
dir p.5ck.r18317/51560
K 12
config.mac.h
V 20
file hb.0.r6045/5982
K 12
configure.ac
V 25
file 149.5ck.r18113/13510
K 4
data
V 21
dir w.5ck.r18315/3561
K 6
debian
V 22
dir 5w.5ck.r17748/2019
K 12
dependencies
V 23
dir 2yu.5ck.r17871/1886
K 11
diff_ignore
V 21
file qq.5ck.r17605/92
K 3
doc
V 22
dir k7.5ck.r18235/8273
K 10
fc_version
V 22
file 2lo.5en.r18281/51
K 2
m4
V 23
dir 12p.5ck.r17653/2245
K 6
manual
V 24
dir 2m2.5ck.r18214/62476
K 7
modinst
V 24
dir 4pj.5ck.r18314/66348
K 2
po
V 24
dir fs.5ck.r18303/233287
K 7
scripts
V 23
dir 2yo.5bk.r14810/1300
K 6
server
V 22
dir z.5ck.r18317/47043
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 23
dir 1c.5ck.r18314/59872
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.r18317/77614
type: dir
pred: 3.5ck.r18315/5106
count: 13726
text: 18317 76300 1301 1301 4997e617e19da6c17103a6702f3ab24c
props: 17175 3052 264 0 91336f1f63d2f606e65376614b5c72e4
cpath: /trunk
copyroot: 15280 /trunk

PLAIN
K 8
branches
V 19
dir 1.0.r18316/5254
K 4
tags
V 19
dir 2.0.r17998/5187
K 5
trunk
V 22
dir 3.5ck.r18317/77614
K 7
website
V 18
dir 3ge.0.r12388/0
END
ENDREP
id: 0.0.r18317/78003
type: dir
pred: 0.0.r18316/5570
count: 18317
text: 18317 77840 150 150 68fa984114d5fc941bce3994ee560d0b
cpath: /
copyroot: 0 /

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

22.5ck.t18316-1 modify true false /trunk/ai/aihand.c

2f5.5ck.t18316-1 modify true false /trunk/common/packets.def

h1.5ck.t18316-1 modify true false /trunk/client/helpdata.c

17z.5ck.t18316-1 modify true false /trunk/client/gui-sdl/helpdlg.c

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

an.5ck.t18316-1 modify true false /trunk/client/gui-xaw/menu.c

17a.5ck.t18316-1 modify true false /trunk/client/gui-sdl/dialogs.c

2ym.5ck.t18316-1 modify true false /trunk/client/reqtree.c

10z.5ck.t18316-1 modify true false /trunk/client/gui-gtk-2.0/menu.c

yg.5ck.t18316-1 modify true false /trunk/client/gui-win32/menu.c

hl.5ck.t18316-1 modify true false /trunk/client/tilespec.c

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

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

33n.5ck.t18316-1 modify true false /trunk/server/techtools.c


78003 78152
