1 /**********************************************************************
2 Freeciv - Copyright (C) 1996 - A Kjeldberg, L Gregersen, P Unold
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 2, or (at your option)
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12 ***********************************************************************/
18 #endif /* __cplusplus */
25 enum goto_tile_state
{
33 void init_client_goto(void);
34 void free_client_goto(void);
36 void enter_goto_state(struct unit_list
*punits
);
37 void exit_goto_state(void);
39 void goto_unit_killed(struct unit
*punit
);
41 bool goto_is_active(void);
42 bool goto_get_turns(int *min
, int *max
);
43 bool goto_tile_state(const struct tile
*ptile
, enum goto_tile_state
*state
,
44 int *turns
, bool *waypoint
);
45 bool goto_add_waypoint(void);
46 bool goto_pop_waypoint(void);
48 bool is_valid_goto_destination(const struct tile
*ptile
);
49 bool is_valid_goto_draw_line(struct tile
*dest_tile
);
51 void request_orders_cleared(struct unit
*punit
);
52 void send_goto_path(struct unit
*punit
, struct pf_path
*path
,
53 struct unit_order
*last_order
);
54 bool send_goto_tile(struct unit
*punit
, struct tile
*ptile
);
55 bool send_attack_tile(struct unit
*punit
, struct tile
*ptile
);
56 void send_patrol_route(void);
57 void send_goto_route(void);
58 void send_connect_route(enum unit_activity activity
,
59 struct extra_type
*tgt
);
61 struct pf_path
*path_to_nearest_allied_city(struct unit
*punit
);
62 struct tile
*tile_before_end_path(struct unit
*punit
, struct tile
*ptile
);
66 #endif /* __cplusplus */
68 #endif /* FC__GOTO_H */