1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
|
/* Declarations of functions only visible to Xconq kernel.
Copyright (C) 1996-1997 Stanley T. Shebs.
Xconq is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version. See the file COPYING. */
extern int move_unit PARAMS ((Unit *unit, int nx, int ny));
extern int maybe_react_to_move PARAMS ((Unit *unit, int ox, int oy));
extern void consume_move_supplies PARAMS ((Unit *unit));
#undef DEF_ACTION
#define DEF_ACTION(name,code,args,PREPFN,netprepfn,dofn,checkfn,ARGDECL,doc) \
extern int PREPFN PARAMS (ARGDECL);
#include "action.def"
extern void finish_turn PARAMS ((Side *side));
extern void resign_game PARAMS ((Side *side, Side *side2));
extern void change_people_side_around PARAMS ((int x, int y, int u,
Side *side));
extern void change_control_side_around PARAMS ((int x, int y, int u,
Side *side));
extern void maybe_starve PARAMS ((Unit *unit, int partial));
extern void set_side_ai PARAMS ((Side *side, char *typename));
extern int change_cell PARAMS ((Unit *unit, int x, int y));
extern void rescue_occupants PARAMS ((Unit *unit));
extern void wreck_unit PARAMS ((Unit *unit));
extern void maybe_track PARAMS ((Unit *unit));
extern void maybe_lose_track PARAMS ((Unit *unit, int nx, int ny));
extern void notify_tech PARAMS ((Side *side, int u, int oldtech, int newtech));
extern void notify_tp PARAMS ((Side *side, Unit *unit, int u2, int oldtp,
int newtp));
extern void reckon_damage_around PARAMS ((int x, int y, int r));
extern void damage_unit PARAMS ((Unit *unit, enum damage_reasons reason, Unit *agent));
extern void capture_unit PARAMS ((Unit *unit, Unit *pris, int captype));
extern int detonate_unit PARAMS ((Unit *unit, int x, int y, int z));
extern void damage_terrain PARAMS ((int u, int x, int y));
extern int damaged_terrain_type PARAMS ((int t));
extern void set_side_name PARAMS ((Side *side, Side *side2, char *newname));
extern void set_side_longname PARAMS ((Side *side, Side *side2,
char *newname));
extern void set_side_shortname PARAMS ((Side *side, Side *side2,
char *newname));
extern void set_side_noun PARAMS ((Side *side, Side *side2, char *newname));
extern void set_side_pluralnoun PARAMS ((Side *side, Side *side2,
char *newname));
extern void set_side_adjective PARAMS ((Side *side, Side *side2,
char *newname));
extern void set_side_emblemname PARAMS ((Side *side, Side *side2,
char *newname));
extern void set_side_colorscheme PARAMS ((Side *side, Side *side2,
char *newname));
extern void become_designer PARAMS ((Side *side));
extern void become_nondesigner PARAMS ((Side *side));
extern void set_trust PARAMS ((Side *side, Side *side2, int val));
extern void set_mutual_trust PARAMS ((Side *side, Side *side2, int val));
extern void set_autofinish PARAMS ((Side *side, int value));
extern void set_willing_to_save PARAMS ((Side *side, int flag));
extern void set_willing_to_draw PARAMS ((Side *side, int flag));
extern void send_message PARAMS ((Side *side, SideMask sidemask, char *str));
extern void set_side_self_unit PARAMS ((Side *side, struct a_unit *unit));
extern void set_doctrine PARAMS ((Side *side, char *spec));
extern void set_controlled_by PARAMS ((Side *side, Side *side2, int val));
#ifdef DESIGNERS
extern void paint_view PARAMS ((Side *side, int x, int y, int r, int tview,
int uview));
#endif /* DESIGNERS */
extern void change_unit_side PARAMS ((Unit *unit, Side *newside, int reason,
Unit *agent));
extern int set_unit_side PARAMS ((Unit *unit, Side *side));
extern int set_unit_origside PARAMS ((Unit *unit, Side *side));
extern void set_unit_plan_type PARAMS ((Side *side, Unit *unit, int type));
extern void set_unit_asleep PARAMS ((Side *side, Unit *unit, int flag,
int recurse));
extern void set_unit_reserve PARAMS ((Side *side, Unit *unit, int flag,
int recurse));
extern void set_unit_ai_control PARAMS ((Side *side, Unit *unit, int flag,
int recurse));
extern void set_unit_main_goal PARAMS ((Side *side, Unit *unit, Goal *goal));
extern void set_unit_waiting_for_transport PARAMS ((Side *side, Unit *unit,
int flag));
extern void set_unit_name PARAMS ((Side *side, Unit *unit, char *newname));
extern int disband_unit PARAMS ((Side *side, Unit *unit));
extern void kill_unit PARAMS ((Unit *unit, int reason));
extern void kill_unit_aux PARAMS ((Unit *unit, int reason));
extern void set_unit_position PARAMS ((Unit *unit, int x, int y, int z));
extern void change_morale PARAMS ((Unit *unit, int sign, int morchange));
#ifdef DESIGNERS
extern Unit *designer_create_unit PARAMS ((Side *side, int u, int s,
int x, int y));
extern int designer_teleport PARAMS ((Unit *unit, int x, int y, Unit *other));
extern int designer_change_side PARAMS ((Unit *unit, Side *side));
extern int designer_disband PARAMS ((Unit *unit));
#endif /* DESIGNERS */
extern void reserve_unit PARAMS ((Side *side, Unit *unit));
extern void wake_unit PARAMS ((Side *side, Unit *unit, int wakeoccs));
extern void wake_area PARAMS ((Side *side, int x, int y, int n, int occs));
extern void set_formation PARAMS ((Unit *unit, Unit *leader, int x, int y,
int dist, int flex));
extern void delay_unit PARAMS ((Unit *unit, int flag));
extern int clear_task_agenda PARAMS ((Plan *plan));
extern void force_replan PARAMS ((Side *side, Unit *unit, int passive_only));
extern void execute_plan PARAMS ((Unit *unit, int try));
extern int resupply_if_low PARAMS ((Unit *unit));
extern int rearm_if_low PARAMS ((Unit *unit));
extern int do_for_occupants PARAMS ((Unit *unit));
extern int go_after_victim PARAMS ((Unit *unit, int range));
extern int fire_at_opportunity PARAMS ((Unit *unit));
extern int explore_reachable_cell PARAMS ((Unit *unit, int range));
extern int capture_useful_if_nearby PARAMS ((Unit *unit));
extern int capture_indep_if_nearby PARAMS ((Unit *unit));
extern void random_walk PARAMS ((Unit *unit));
extern TaskOutcome execute_task PARAMS ((Unit *unit));
extern TaskOutcome execute_task_aux PARAMS ((Unit *unit, Task *task));
extern void pop_task PARAMS ((Plan *plan));
extern void add_task PARAMS ((Unit *unit, int pos, Task *task));
extern void push_move_to_task PARAMS ((Unit *unit, int x, int y));
extern void set_move_to_task PARAMS ((Unit *unit, int x, int y));
extern void set_move_near_task PARAMS ((Unit *unit, int x, int y, int dist));
extern void push_move_near_task PARAMS ((Unit *unit, int x, int y, int dist));
extern void set_move_dir_task PARAMS ((Unit *unit, int dir, int n));
extern void set_build_task PARAMS ((Unit *unit, int u2, int run));
extern void push_build_task PARAMS ((Unit *unit, int u2, int run));
extern void push_research_task PARAMS ((Unit *unit, int u2, int n));
extern void set_hit_task PARAMS ((Unit *unit, int x, int y));
extern void push_specific_hit_task PARAMS ((Unit *unit, int x, int y,
int u, int s));
extern void set_specific_hit_task PARAMS ((Unit *unit, int x, int y,
int u, int s));
extern void push_hit_task PARAMS ((Unit *unit, int x, int y));
extern void set_capture_task PARAMS ((Unit *unit, int x, int y));
extern void push_capture_task PARAMS ((Unit *unit, int x, int y));
extern void set_disband_task PARAMS ((Unit *unit));
extern void set_resupply_task PARAMS ((Unit *unit, int m));
extern void push_occupy_task PARAMS ((Unit *unit, Unit *transport));
extern void push_pickup_task PARAMS ((Unit *unit, Unit *occ));
extern void push_produce_task PARAMS ((Unit *unit, int m, int n));
extern void set_sentry_task PARAMS ((Unit *unit, int n));
extern void push_sentry_task PARAMS ((Unit *unit, int n));
extern Feature *create_feature PARAMS ((char *typename, char *name));
extern void set_feature_type_name PARAMS ((Feature *feature, char *typename));
extern void set_feature_name PARAMS ((Feature *feature, char *name));
extern void destroy_feature PARAMS ((Feature *feature));
extern void renumber_features PARAMS ((void));
#ifdef DESIGNERS
extern void paint_cell PARAMS ((Side *side, int x, int y, int r, int t));
extern void paint_border PARAMS ((Side *side, int x, int y, int dir,
int t, int mode));
extern void paint_connection PARAMS ((Side *side, int x, int y, int dir,
int t, int mode));
extern void paint_coating PARAMS ((Side *side, int x, int y, int r,
int t, int depth));
extern void paint_people PARAMS ((Side *side, int x, int y, int r, int s));
extern void paint_control PARAMS ((Side *side, int x, int y, int r, int s));
extern void paint_feature PARAMS ((Side *side, int x, int y, int r, int f));
extern void paint_elevation PARAMS ((Side *side, int x, int y, int r,
int elev));
extern void paint_temperature PARAMS ((Side *side, int x, int y, int r,
int temp));
extern void paint_material PARAMS ((Side *side, int x, int y, int r,
int m, int amt));
extern void paint_clouds PARAMS ((Side *side, int x, int y, int r,
int cloudtype, int bot, int hgt));
extern void paint_winds PARAMS ((Side *side, int x, int y, int r,
int dir, int force));
#endif /* DESIGNERS */
extern void request_additional_side PARAMS ((char *playerspec));
|