DELTA 24575 6216 3357
SVN      	 t ` >SM W t Oณ11 /ฎ@ ~ฌ9 9ฐp ญ6ถr $ไEก P y Q๔@ฒ P  S@ช Kๆ@ฒ [ไ,+ ๑{ Oฮ@ L  ้r ^๖  ๖q Y๘~combat.h"
#include "game.h"
#include "map.h"
#include "movement.h"
#include "unitlist.h"

/* client/include */
#include "chatline_g.h"
#include "citydlg_g.h"
#include "dialogs_g.h"
#include "gui_main_g.h"
#include "mapctrl_g.h"
#include "mapview_g.h"
#include "menu_g.h"

/* client */
#include "audio.h"
#include "client_main.h"
#include "climap.h"
#include "climisc.h"
#include "editor.h"
#include "goto.h"
#include "options.h"
#include "overview_common.h"
#include "tilespec.h"
#include "update_queue.h"

#include "control.h"


struct client_nuke_data {
  int *units_id;
  int units_num;
  int tile_idx;
};if (is_valid_goto_destination(ptile)) {
      mouse_cursor_type = CURSOR_NUKEif (unit_list_size(punits) == 0) {
    return;
  }

  unit_list_iterate(punits, punit) {
    if (!unit_has_type_flag(punit, F_NUCLEAR)) {
    _("Only nuclear units can do this."));
      return;
    }
  } unit_list_iterate_end;

  if (hover_state != HOVER_NUKE) {
    set_hover_state(punits, HOVER_NUKE, ACTIVITY_LASTdo_unit_nuke(ptile);**
  Destroy the client nuke datastatic void client_nuke_data_destroy(void *p)
{
  struct client_nuke_data *data = p;

  free(data->units_id);
  free(data**
  Explode nuclear at a tile without enemy unitsstatic void do_real_unit_nuke(void *p)
{
  struct client_nuke_data *data = p;
  struct tile *ptile = index_to_tile(data->tile_idx);
  struct unit *punit;
  int i;

  fc_assert_ret(can_client_issue_orders());
  fc_assert_ret(ptile != NULL);

  for (i = 0; i < data->units_num; i++) {
    /* Ensure we have reached destination. */
    punit = player_unit_by_number(client_player(), data->units_id[i]);
    if (punit != NULL && unit_tile(punit) == ptile) {
      dsend_packet_unit_nuke(&client.conn, punit->id);
    }**
  Send units to 'ptile' and nuke there!**/
void do_unit_nuke(struct tile *ptile)
{
  if (truct client_nuke_data *data = fc_malloc(sizeof(*data));
    int i = 0;

    data->units_id = fc_malloc(sizeof(*data->units_id)
                               * get_num_units_in_focus());
    unit_list_iterate(get_units_in_focus(), punit) {
      data->units_id[i++] = punit->id;
    } unit_list_iterate_end;
    data->units_num = i;
    data->tile_idx = tile_index(ptile);

    send_goto_route();
    update_queue_connect_processing_finished_full
        (client.conn.client.last_request_id_used,
         do_real_unit_nuke, data, client_nuke_data_destro  Paradrop to a locationcase HOVER_NUKEcase HOVER_NONE  ฃ*>B U9ฉ E ป U9ฌ E A U9ญ E C U9ช E ฝ U9ฉ E ป \9จ W@ 3Nt_toggle_minesHandle user 'toggle bases display' input
*****/
void key_bases_toggle(void)
{
  request_toggle_basesHandle user 'toggle specials display' input
*****/
void key_specials_toggle(void)
{
  request_toggle_specialsHandle user 'toggle pollution display' input
*****/
void key_pollution_toggle(void)
{
  request_toggle_pollutionHandle user 'toggle cities display' input
*****/
void key_cities_toggle(void)
{
  request_toggle_citiesHandle user 'toggle units display' input
*****/
void key_units_toggle(void)
{
  request_toggle_unitsthe "Solid unit background color" optionENDREP
DELTA 20967 1978 1348
SVN  ศuศu
   ปR#tile *ptileENDREP
DELTA 24109 0 901
SVN  ผภX ว  nศ/ ึJๅU/* We only want targets reachable immediatly... */
    parameter->move_rate = 0;
    /* ...then we don't need to deal with dangers or refuel points. */
    parameter->is_pos_dangerous = NULL;
    parameter->get_moves_left_req = NULL;
    *initial_mp = -parameter->moves_left_initially;
    break;
  case HOVER_GOTO:
  case HOVER_PATROL:
    *initial_mp = parameter->move_rate - parameter->moves_left_initially;
    break;
  case HOVER_NONE:
  case HOVER_PARADROP:
    fc_assert_msg(hover_state != HOVER_NONE, "Goto with HOVER_NONE?");
    fc_assert_msg(hover_state != HOVER_PARADROP,
                  "Goto with HOVER_PARADROP?");
    *initial_mp = 0if (goto_map->template.move_rate > 0) {
      /* Round down -- if we can get there this turn with MP left, report 0,
       * if we get there with 0 MP, report 1 */
      turns = MAX(mp, 0) / goto_map->template.move_rate;
    } else if (goto_map->template.moves_left_initially > 0) {
      turns = (mp == 0);
    } else {
      /* Immobile unit can never reach destination. */
      continue;
    }ENDREP
DELTA 19893 2157 992
SVN  ธ*ธt=\ คF " P} Nฆ จPถ P} eช<ธ 4ฎQg ฐlV /ฒ{case HOVER_NUKE:
    ptile = canvas_pos_to_tile(canvas_x, canvas_y);

    is_valid_goto_draw_line(ptile);
  case HOVER_NONE:
  case HOVER_PARADROP:
    break;
  }case HOVER_NUKEcase HOVER_NONE:
  case HOVER_PARADROP:
    break;
  }unit_transport_get(punit1) == unit_transport_get(punit2)unit_transport_get(punit1) == punit2) {
    return 1;
  } else if (unit_transport_get(punit2) == punit1unit_transport_get(punit1);
    const struct unit *ptrans2 = unit_transport_get(punit2ENDREP
DELTA 23661 1079 3094
SVN      A ฅ( A ๙ฆswitch (hover_state) {
  case HOVER_GOTO:
  case HOVER_PATROL:
  case HOVER_CONNECT:
  case HOVER_NUKE:
    create_line_at_mouse_pos();
  case HOVER_NONE:
  case HOVER_PARADROP:
    break;
  };  ก-ขYb R  ฐ`S ๐Eฐhble = NULL;
  }/* FIXME: should display some indication of non-move orders here. */
      continueENDREP
id: gz.5ii.r26326/5416
type: file
pred: gz.5ii.r24575/24348
count: 305
text: 26326 0 3260 106922 1a542c50a09fcca7aff28b73726e77fe
props: 11088 7720 112 0 89a05fc93c37a832d4b63085dac12c4b
cpath: /branches/S2_4/client/control.c
copyroot: 20416 /branches/S2_4

id: i2.5ii.r26326/5674
type: file
pred: i2.5ii.r20967/50470
count: 89
text: 26326 3289 32 9333 4e90312b9e0e873f9604c43517ac1d26
props: 10742 12674 111 0 5b9b86a3db090bf987d4c148d06e82d2
cpath: /branches/S2_4/client/control.h
copyroot: 20416 /branches/S2_4

id: vu.5ii.r26326/5931
type: file
pred: vu.5ii.r26262/448
count: 134
text: 26326 3350 1086 41048 c4f2544516062ceea41f4f4966057b4a
props: 11057 46140 111 0 8ab1a522471ad7dd5014b23b42c49491
cpath: /branches/S2_4/client/goto.c
copyroot: 20416 /branches/S2_4

id: 15m.5ii.r26326/6187
type: file
pred: 15m.5ck.r20389/27960
count: 110
text: 26326 4461 551 23668 35dc763d9a438fec349d2f7568a372df
props: 11057 48634 111 0 e77f29e20031f26b4b1e16b63c7aa55c
cpath: /branches/S2_4/client/mapctrl_common.c
copyroot: 20416 /branches/S2_4

id: z2.5ii.r26326/6456
type: file
pred: z2.5ii.r23999/152
count: 318
text: 26326 5040 347 123225 4a706bb0a2e73b7f3e9275ccbd8df342
props: 11084 12552 112 0 73ff9df0f3aabd6f615c7264c2fe22c7
cpath: /branches/S2_4/client/mapview_common.c
copyroot: 20416 /branches/S2_4

PLAIN
K 11
Makefile.am
V 22
file 5f.5ii.r25963/912
K 6
agents
V 22
dir zf.5ii.r23844/2357
K 11
attribute.c
V 23
file xh.5ii.r23789/1745
K 11
attribute.h
V 24
file xi.5ck.r18863/23649
K 7
audio.c
V 27
file 139.5ii.r21492/3324670
K 7
audio.h
V 25
file 13a.5ck.r18863/23408
K 12
audio_none.c
V 26
file 13d.5ck.r19259/462511
K 12
audio_none.h
V 25
file 13e.5ck.r18863/20841
K 11
audio_sdl.c
V 25
file 13f.5ck.r19354/73618
K 11
audio_sdl.h
V 25
file 13g.5ck.r18863/23885
K 17
chatline_common.c
V 24
file 14q.5ii.r24897/9515
K 17
chatline_common.h
V 25
file 14r.5ck.r18863/23155
K 16
citydlg_common.c
V 23
file z4.5ii.r24933/7003
K 16
citydlg_common.h
V 24
file z5.5ck.r18863/18619
K 13
cityrepdata.c
V 21
file mb.5ii.r24134/90
K 13
cityrepdata.h
V 24
file mc.5ck.r18863/19121
K 11
civclient.c
V 23
file 4f2.5ck.r15408/695
K 13
client_main.c
V 22
file 2f.5ix.r26200/639
K 13
client_main.h
V 24
file hz.5cq.r18863/25358
K 8
climap.c
V 24
file 197.5ck.r20232/3008
K 8
climap.h
V 25
file 198.5ck.r18863/24126
K 9
climisc.c
V 25
file d5.5ii.r26231/101926
K 9
climisc.h
V 23
file i0.5ck.r19330/6112
K 8
clinet.c
V 22
file hc.5ii.r26023/944
K 8
clinet.h
V 24
file i1.5ck.r18863/24866
K 15
colors_common.c
V 24
file 33a.5ii.r22857/2948
K 15
colors_common.h
V 25
file 33b.5ck.r19135/48891
K 19
connectdlg_common.c
V 24
file 2fw.5ii.r26074/6064
K 19
connectdlg_common.h
V 25
file 2fx.5ck.r19154/53802
K 9
control.c
V 23
file gz.5ii.r26326/5416
K 9
control.h
V 23
file i2.5ii.r26326/5674
K 7
dummy.c
V 23
file 4f9.5ck.r15641/551
K 12
dummycxx.cpp
V 23
file 6kr.5ck.r18947/939
K 8
editor.c
V 23
file 3bg.5ii.r26200/909
K 8
editor.h
V 24
file 3bh.5ii.r26200/1164
K 11
ggzclient.c
V 26
file 394.5ck.r20126/104106
K 11
ggzclient.h
V 25
file 395.5ck.r18863/21083
K 17
global_worklist.c
V 26
file 4i6.5ck.r19259/493810
K 17
global_worklist.h
V 25
file 4i7.5ck.r18863/22960
K 6
goto.c
V 23
file vu.5ii.r26326/5931
K 6
goto.h
V 24
file vv.5ck.r18863/20355
K 8
gui-ftwl
V 24
dir 2k2.5ii.r26111/23844
K 11
gui-gtk-2.0
V 22
dir zs.5ii.r26323/9006
K 11
gui-gtk-3.0
V 23
dir zs.5ik.r26323/13474
K 6
gui-qt
V 24
dir 6ie.5ii.r26232/15020
K 7
gui-sdl
V 23
dir 16t.5ii.r26313/6076
K 8
gui-stub
V 23
dir mh.5ii.r26232/11474
K 9
gui-win32
V 23
dir np.5ii.r26111/20598
K 7
gui-xaw
V 23
dir 9o.5ii.r26234/19858
K 10
helpdata.c
V 22
file h1.5ii.r25865/911
K 10
helpdata.h
V 24
file i3.5ck.r18863/21834
K 7
include
V 23
dir b8.5ii.r26232/25547
K 19
luaconsole_common.c
V 25
file 75z.5ii.r24897/10037
K 19
luaconsole_common.h
V 25
file 760.5ck.r20306/31022
K 9
luascript
V 24
dir 761.5ii.r24747/10542
K 16
mapctrl_common.c
V 24
file 15m.5ii.r26326/6187
K 16
mapctrl_common.h
V 25
file 15n.5ck.r19893/12504
K 16
mapview_common.c
V 23
file z2.5ii.r26326/6456
K 16
mapview_common.h
V 24
file z3.5ck.r20392/39510
K 19
messagewin_common.c
V 25
file 14s.5ck.r19354/71979
K 19
messagewin_common.h
V 25
file 14t.5ck.r18863/21579
K 9
options.c
V 24
file dc.5ii.r24202/13487
K 9
options.h
V 24
file i4.5ii.r22672/12010
K 17
overview_common.c
V 25
file 2yk.5ii.r23661/17311
K 17
overview_common.h
V 24
file 2yl.5ck.r19511/5441
K 10
packhand.c
V 23
file n.5ii.r26232/25803
K 10
packhand.h
V 24
file i5.5ck.r18863/20596
K 15
plrdlg_common.c
V 23
file 14u.5ii.r23428/983
K 15
plrdlg_common.h
V 25
file 14v.5ck.r18863/21328
K 17
repodlgs_common.c
V 25
file 11i.5ii.r22326/71643
K 17
repodlgs_common.h
V 25
file 11j.5ck.r19589/11861
K 9
reqtree.c
V 24
file 2ym.5ii.r24138/5067
K 9
reqtree.h
V 24
file 2yn.5ck.r19057/3837
K 9
servers.c
V 25
file 33x.5ii.r22326/76420
K 9
servers.h
V 25
file 33y.5ck.r19197/36044
K 6
text.c
V 26
file 2g3.5ii.r26231/113108
K 6
text.h
V 25
file 2g4.5ii.r20967/50730
K 15
themes_common.c
V 25
file 352.5ck.r19354/73121
K 15
themes_common.h
V 25
file 353.5ck.r18863/22710
K 10
tilespec.c
V 22
file hl.5ii.r24293/364
K 10
tilespec.h
V 23
file i6.5ii.r23826/5332
K 19
unitselect_common.c
V 24
file 76v.5ck.r20397/3580
K 19
unitselect_common.h
V 24
file 76w.5ck.r20397/3746
K 14
update_queue.c
V 25
file 4jw.5ii.r22414/13188
K 14
update_queue.h
V 25
file 4jx.5ck.r18863/22078
K 10
voteinfo.c
V 25
file 4fe.5ck.r19354/72931
K 10
voteinfo.h
V 25
file 4ff.5ck.r18863/22523
END
ENDREP
id: d.5ii.r26326/10872
type: dir
pred: d.5ii.r26323/17897
count: 5624
text: 26326 6722 4137 4137 f413a6b800d50a62a3f28196e9d2beee
props: 23992 803 299 0 86ef12017fc9a8fae6749e3fb3a2aa50
cpath: /branches/S2_4/client
copyroot: 20416 /branches/S2_4

PLAIN
K 9
ABOUT-NLS
V 22
file fu.0.r13215/85704
K 7
AUTHORS
V 24
file 5u.5ii.r22144/14016
K 7
COPYING
V 19
file 1h.0.r9643/400
K 9
ChangeLog
V 26
file 6l.5ii.r25883/5694991
K 7
INSTALL
V 23
file 6.5ii.r23651/28514
K 11
Makefile.am
V 24
file 59.5ii.r23989/13807
K 4
NEWS
V 24
file 6m.5ii.r25632/75507
K 8
NEWS-2.4
V 25
file jp5.5ii.r25880/14898
K 6
README
V 20
file 7.0.r4421/96382
K 2
ai
V 23
dir 8.5ii.r26231/136416
K 10
autogen.sh
V 23
file 12o.5ii.r24093/115
K 9
bootstrap
V 23
dir 2p5.5ii.r25972/2965
K 6
client
V 22
dir d.5ii.r26326/10872
K 6
common
V 22
dir p.5ii.r26277/10629
K 12
config.mac.h
V 20
file hb.0.r6045/5982
K 12
configure.ac
V 24
file 149.5ii.r26148/1097
K 4
data
V 21
dir w.5ii.r25921/8869
K 6
debian
V 22
dir 5w.5ii.r22192/3202
K 12
dependencies
V 23
dir 2yu.5ii.r25596/4029
K 11
diff_ignore
V 22
file qq.5ck.r19346/607
K 3
doc
V 22
dir k7.5ii.r25879/2126
K 10
fc_version
V 26
file 2lo.5ij.r26231/136661
K 2
m4
V 23
dir 12p.5ii.r25030/2842
K 6
manual
V 23
dir 2m2.5ii.r24834/7345
K 7
modinst
V 24
dir 4pj.5ii.r25963/10460
K 2
po
V 22
dir fs.5ii.r26027/7551
K 7
scripts
V 22
dir 2yo.5ii.r24504/875
K 6
server
V 21
dir z.5ii.r26275/3864
K 10
stamp-h.in
V 19
file 80.0.r1125/241
K 5
tests
V 22
dir 2g9.5ii.r22097/841
K 7
utility
V 22
dir 1c.5ii.r26116/5514
K 3
vms
V 25
dir u9.5ii.r21529/1398731
K 5
win32
V 23
dir 2eu.5ii.r24296/3491
END
ENDREP
id: 3.5ii.r26326/12484
type: dir
pred: 3.5ii.r26323/19510
count: 16270
text: 26326 11119 1352 1352 f537fb449e2083a4dd8813f8831e2489
props: 20140 3888 282 0 e4bb46e81629a60eef613b169b23a9ea
cpath: /branches/S2_4
copyroot: 20416 /branches/S2_4

PLAIN
K 5
S1_14
V 21
dir 3.21.r18109/18803
K 4
S2_0
V 21
dir 3.10x.r21862/4178
K 4
S2_1
V 22
dir 3.59e.r20026/11014
K 4
S2_2
V 21
dir 3.5cy.r21861/5036
K 4
S2_3
V 21
dir 3.5f2.r24391/5183
K 4
S2_4
V 22
dir 3.5ii.r26326/12484
K 4
S2_5
V 22
dir 3.5kv.r26325/12213
K 11
freeciv-web
V 22
dir 3.5bl.r13594/14918
END
ENDREP
id: 1.0.r26326/13045
type: dir
pred: 1.0.r26325/12774
count: 7977
text: 26326 12727 305 305 4eddb27d76d68302e1bcdb501ba9eaf2
cpath: /branches
copyroot: 0 /

PLAIN
K 8
branches
V 20
dir 1.0.r26326/13045
K 4
tags
V 19
dir 2.0.r25885/6524
K 5
trunk
V 22
dir 3.5ck.r26324/27447
K 7
website
V 21
dir 3ge.0.r22980/2263
END
ENDREP
id: 0.0.r26326/13369
type: dir
pred: 0.0.r26325/13098
count: 26326
text: 26326 13202 154 154 f71e78728c49d2a83f720b25264849da
cpath: /
copyroot: 0 /

gz.5ii.t26325-1 modify true false /branches/S2_4/client/control.c

z2.5ii.t26325-1 modify true false /branches/S2_4/client/mapview_common.c

i2.5ii.t26325-1 modify true false /branches/S2_4/client/control.h

vu.5ii.t26325-1 modify true false /branches/S2_4/client/goto.c

15m.5ii.t26325-1 modify true false /branches/S2_4/client/mapctrl_common.c


13369 13519
