EXTERNS.H 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782
  1. /******************************************************************************
  2. ******************************************************************************/
  3. // Global Constants
  4. // Sound Fx. flags etc...
  5. extern short int crowd_mood_a;
  6. extern short int crowd_mood_b;
  7. extern float possession;
  8. extern float poss_held;
  9. extern char kickoff;
  10. #include "3deng.h"
  11. extern char debug;
  12. struct butts {
  13. int x;
  14. int y;
  15. int w;
  16. char s[10];
  17. char l;
  18. };
  19. extern butts us_buttons[];
  20. extern int max_butts;
  21. // Pixel Colours.
  22. extern char ball_col;
  23. extern char shadow_col;
  24. extern char team_a_col;
  25. extern char team_b_col;
  26. // General Control variables...
  27. extern char demo;
  28. // Ball fx.
  29. extern float newdx,newdy;
  30. extern short wind_on,wind_d_trend,wind_s_trend;
  31. extern float wind_x,wind_y,wind_speed;
  32. extern float init_wind_x,init_wind_y,init_wind_speed;
  33. extern float wind_var_ang;
  34. extern float bounce_dis;
  35. extern float gravity;
  36. extern int cntspot_x;
  37. extern int cntspot_y;
  38. // Pitch sizes.
  39. extern int pitch_len, pitch_wid;
  40. extern int halfway_line, scr_pinch;
  41. extern int right_bounds;
  42. extern int left_bounds;
  43. extern int lower_bounds;
  44. extern int upper_bounds;
  45. extern float zone_wid;
  46. extern float zone_hgt;
  47. extern float prat;
  48. extern int goal_height; //8 feet
  49. extern int goal_depth; //8 feet
  50. extern int post_width; //5 inches approx.
  51. extern int top_post_y;
  52. extern int bot_post_y;
  53. // Players.
  54. extern int players;
  55. extern int avg1_rate,avg1_power,avg1_bcontrol,avg1_flair,
  56. avg1_vision,avg1_accuracy,avg1_fitness,avg1_disc;
  57. extern int avg2_rate,avg2_power,avg2_bcontrol,avg2_flair,
  58. avg2_vision,avg2_accuracy,avg2_fitness,avg2_disc;
  59. extern int danger_radius;
  60. extern int visual_range;
  61. extern int tackle_range;
  62. extern int block_range;
  63. extern int steal_range;
  64. extern int min_block_range;
  65. /******************************************************************************
  66. ******************************************************************************/
  67. // Major control variables...
  68. extern char audio_version;
  69. /******************************************************************************
  70. ******************************************************************************/
  71. // Randomize variables...
  72. extern short int rand1_tab[];
  73. extern short int rand2_tab[];
  74. extern char andys_random;
  75. // Global Match Variables...
  76. // Man to man marking table....
  77. extern int man2man[10][2];
  78. extern char man2man_a,man2man_b;
  79. struct mtime{
  80. unsigned short min;
  81. float sec;
  82. };
  83. extern int seconds;
  84. extern mtime match_time;
  85. extern int time_factor;
  86. extern float MF;
  87. extern float mf_scale;
  88. extern float omf_scale;
  89. extern char mf_fixed;
  90. extern char alarm,watch;
  91. extern int stop_min;
  92. extern int stop_sec;
  93. extern char practice;
  94. extern char team_a_on;
  95. extern char team_b_on;
  96. extern char arrow_on;
  97. extern char arrow_guy;
  98. extern short rand_seed,seed;
  99. extern int logic_cnt;
  100. extern char ball_move;
  101. extern float man_down;
  102. extern int match_tactics1[32*2+6][10][2];
  103. extern int match_tactics2[32*2+6][10][2];
  104. extern int launch_type;
  105. extern float launch_x,launch_y;
  106. extern float ballxdis, ballydis, ballzdis;
  107. extern float eff_ballx,eff_bally,eff_ballz;
  108. extern float ballx, bally, ballz;
  109. extern float b_xoff,b_yoff,b_zoff;
  110. extern float prev_ballx, prev_bally, prev_ballz;
  111. extern float ns_ballx, ns_bally, ns_ballz;
  112. extern float ball_zspin, ball_xyspin;
  113. extern float full_zspin, full_xyspin;
  114. extern float shoot_x,shoot_y;
  115. extern int first_bounce;
  116. extern int swerve, spin_cnt, spin_ball, prediction;
  117. extern float ball_horz_ang,ball_vert_ang;
  118. extern float ball_diam;
  119. extern short keeper_down=FALSE;
  120. extern int keeper_will_save;
  121. extern char keeper_on_grnd;
  122. extern float keeper_contact;
  123. extern int set_xyspin,set_zspin;
  124. extern int throw_cnt;
  125. extern char ball_in_goal;
  126. extern char ball_in_hands;
  127. extern char game_action;
  128. extern int team_a_goals;
  129. extern char last_goal;
  130. extern int team_b_goals;
  131. extern int just_scored;
  132. extern int just_thrown;
  133. extern int goal_scorer;
  134. extern int pass_type;
  135. extern int kick_type;
  136. extern int receiver;
  137. extern char cross_now;
  138. extern char must_shoot;
  139. extern char chip_pass;
  140. extern char must_pass;
  141. extern char must_punt;
  142. extern char keeper_a_in_box;
  143. extern char keeper_b_in_box;
  144. extern int keeper_steps;
  145. extern short save_block;
  146. extern float save_xoff,save_yoff,save_zoff;
  147. extern float shot_speed;
  148. extern int scr_x,scr_y,ball_speed;
  149. extern int interceptor_a;
  150. extern int interceptor_b;
  151. extern int in_cross_area;
  152. extern float close_in_number;
  153. extern int ball_inair, super_shot, opponents_near_holder,opponents_really_close;
  154. extern int ball_poss,sender_1_2,ball_still,last_touch,want_pass;
  155. extern int before,support_me;
  156. extern int cannot_pick_up;
  157. extern int ball_limbo_p;
  158. extern char ball_limbo_on;
  159. extern float ball_limbo_c;
  160. extern int ball_released;
  161. extern short last_user_a;
  162. extern short last_user_b;
  163. extern int want_pass_stat,ball_zone1,ball_zone2,ball_out_of_play;
  164. extern int nearest_a,nearest_b,old_ltouch,old_ball_poss;
  165. extern int near_path_a,near_path_b;
  166. extern int zone1_x,zone1_y,zone2_x,zone2_y;
  167. extern int incident_x,incident_y;
  168. extern int difficulty;
  169. extern int ready_centre;
  170. extern float ball_pred_tab[50][3];
  171. extern float ns_ball_pred_tab[50][3];
  172. extern int shooter;
  173. extern char force_select;
  174. extern char heading_ball;
  175. extern char shot_attempt;
  176. extern char flag;
  177. extern char in_game;
  178. extern char analogue;
  179. extern char match_mode;
  180. extern int dead_ball_cnt;
  181. extern int defense_a,defense_b;
  182. extern int savex,savey,savez;
  183. extern char shot_acknowledged;
  184. extern int shot_pending;
  185. extern char match_mode;
  186. extern int duration;
  187. extern char tweening;
  188. /******************************************************************************
  189. ******************************************************************************/
  190. // Screen Buffer Stuff...
  191. extern int scr_a[100][4];
  192. extern int scr_b[100][4];
  193. extern int plot_cnta;
  194. extern int plot_cntb;
  195. extern int plot_buffer;
  196. extern int replay_pos;
  197. extern int replay_cnt;
  198. extern int pitch_sprs;
  199. // Sprite Stuff...
  200. extern float spr_coord_tab[MAX_3D_SPRS*3+1];
  201. extern short spr_ref_tab[MAX_3D_SPRS];
  202. // User Interface...
  203. extern short ball_travel;
  204. extern short select_cnt;
  205. extern int button_lit;
  206. extern int delay_cnt;
  207. extern int play_nums_on;
  208. extern char *action;
  209. extern char frame;
  210. extern int frames;
  211. extern int frms_per_sec;
  212. extern "C" int game_speed; // Currently declared in network.c
  213. extern int last_second;
  214. extern int old_clock;
  215. #pragma pack (1)
  216. struct user_config{
  217. short type;
  218. short control;
  219. int inp_x;
  220. int inp_y;
  221. int inp_ox;
  222. int inp_oy;
  223. short inp_fb;
  224. char chng;
  225. signed char plr;
  226. };
  227. extern "C" volatile user_config users[MAX_USERS]; // Declared in network.c
  228. struct user_vectors_i{
  229. short x_f1;
  230. short y_f2;
  231. };
  232. extern "C" volatile user_vectors_i users_dir_i[512][MAX_USERS]; // Declared in network.c
  233. #pragma pack (4)
  234. extern "C" volatile int writeptr;
  235. extern "C" volatile int readptr;
  236. struct user_vectors{
  237. float x;
  238. float y;
  239. char m;
  240. char f;
  241. };
  242. extern user_vectors users_dir[MAX_USERS]; // Declared in glob_vars.h, as usual
  243. extern short auto_users_list_a[10];
  244. extern short auto_users_a;
  245. extern short play_ball_a;
  246. extern char new_select;
  247. extern short auto_users_list_b[10];
  248. extern short auto_users_b;
  249. extern short play_ball_b;
  250. extern char user_controlled;
  251. extern char after_touch_on;
  252. extern "C" int num_of_users; // Currently in network.c
  253. extern short f1_down;
  254. extern short f2_down;
  255. extern char setp_kick_type;
  256. extern float setp_kick_x;
  257. extern float setp_kick_y;
  258. extern short user_taker;
  259. // Input devices
  260. extern float ux,uy; // User x,y,f1,f2,move
  261. extern char uf1,uf2;
  262. extern char um;
  263. // Joysticks & keyboard, taken to network.c
  264. extern "C" signed char key1[6];
  265. extern "C" signed char key2[6];
  266. extern "C" unsigned short joy1_cnt_x,joy1_cnt_y;
  267. extern "C" unsigned short joy2_cnt_x,joy2_cnt_y;
  268. extern "C" int joy1_max_x,joy1_max_y,joy1_min_x,joy1_min_y;
  269. extern "C" int joy2_max_x,joy2_max_y,joy2_min_x,joy2_min_y;
  270. extern "C" volatile int joy1_x;
  271. extern "C" volatile int joy1_y;
  272. extern "C" volatile int joy1_fire;
  273. extern "C" volatile int joy2_x;
  274. extern "C" volatile int joy2_y;
  275. extern "C" volatile int joy2_fire;
  276. extern "C" volatile char joy1_move;
  277. extern "C" volatile char joy2_move;
  278. extern "C" char joystick1_on;
  279. extern "C" char joystick2_on;
  280. extern "C" char digital_joy1;
  281. extern "C" char digital_joy2;
  282. extern char camera;
  283. extern char old_cam;
  284. extern char already_there;
  285. extern char reselection;
  286. extern float camera_dist;
  287. extern float poss_mode;
  288. /******************************************************************************
  289. ******************************************************************************/
  290. // Team Players Data...
  291. // Wall data...
  292. extern float wallx,wally;
  293. extern int men_in_wall;
  294. struct wall {
  295. int guy;
  296. float x,y;
  297. };
  298. extern wall wguys[];
  299. extern float keeper_pos_x,keeper_pos_y;
  300. extern char in_range,in_header_rng,in_shot_rng;
  301. extern int taker_x,taker_y;
  302. extern int penalty_taker;
  303. extern int penalty_taker_a;
  304. extern int penalty_taker_b;
  305. extern int player_num;
  306. extern int centre_guy_1;
  307. extern int centre_guy_2;
  308. extern int fkick_taker;
  309. extern int fkick_taker_a;
  310. extern int fkick_taker_b;
  311. extern int gkick_taker;
  312. extern int goal_kicker_a;
  313. extern int goal_kicker_b;
  314. extern int corner_taker;
  315. extern int corn_kicker_a;
  316. extern int corn_kicker_b;
  317. extern int ktaker;
  318. extern int bad_guy;
  319. extern char direct_fk;
  320. extern char play_advantage;
  321. extern char set_piece_on;
  322. extern int throw_in_taker;
  323. extern int main_man;
  324. extern float opp_dir_tab[11][3];
  325. extern int drib_opps;
  326. struct bubbles{int say;int cnt;};
  327. extern bubbles speech_tab[26];
  328. struct match_player {
  329. // Player General...
  330. int tm_player;
  331. float tm_x, tm_xdis, tm_y, tm_ydis, tm_z, tm_zdis;
  332. float tm_dist;
  333. int tm_pos;
  334. int tm_limbo;
  335. short guy_on;
  336. char control;
  337. char tm_srng;
  338. char tm_off;
  339. char tm_stopped;
  340. // Player Attributes...
  341. int tm_rate; //Speed.
  342. int tm_pow; //Physical Power.
  343. int tm_cont; //Ball Control.
  344. int tm_flair; //Flair.
  345. int tm_vis; //Vision.
  346. int tm_ac; //Accuracy.
  347. int tm_stam; //Stamina.
  348. int tm_disc; //Discipline.
  349. // Match Stats...
  350. int tm_book; //Bookings.
  351. int tm_fouls; //Fouls Committed.
  352. int tm_tacks; //Tackles attempted.
  353. int tm_twon; //Tackles won.
  354. int tm_shots; //Shots attempted.
  355. int tm_saved; //Shots saved.
  356. int tm_goals; //Goals scored.
  357. int tm_pass; //Passes attempted.
  358. int tm_pwon; //Passes completed.
  359. int tm_inj; //Injury type.
  360. int tm_posst; //Time in possession.
  361. // Animation Data...
  362. int tm_spr, turn_dir, face_dir, dir_mode;
  363. float tm_anim, tm_frm, tm_fstep;
  364. unsigned char tm_hcol,tm_htype;
  365. float tm_mcspd;
  366. float ls_anim,ls_frm;
  367. float contact;
  368. char tm_newanim;
  369. // Action Data...
  370. int tm_act, tm_poss, tm_wall, tm_leave, tm_mark;
  371. int go_dist, go_cnt;
  372. float go_txdis,go_tydis,go_tx,go_ty,go_xoff,go_yoff,tm_jump;
  373. char go_step;
  374. // Player Intelligence...
  375. int int_move, int_cnt, mess_num, mess_cnt;
  376. int tm_comm,tm_ccnt;
  377. };
  378. extern match_player teams[22];
  379. struct officials {
  380. float x,y,z,dir_x,dir_y,anim,frm,fstep,goto_x,goto_y;
  381. int act,go;
  382. char newanim;
  383. };
  384. extern officials refs[3];
  385. extern char offside_now;
  386. extern char can_be_offside;
  387. extern char offside_on;
  388. extern int ref_accuracy;
  389. extern int ref_strictness;
  390. extern int ref_wait;
  391. extern int tussle_tab[8];
  392. extern int *tussle_ptr;
  393. /******************************************************************************
  394. ******************************************************************************/
  395. // FUNCTIONS
  396. /******************************************************************************
  397. ******************************************************************************/
  398. // DISPLAY.CPP
  399. extern void grid_map();
  400. extern void line_border(int x,int y,int wid,int hgt,int col);
  401. extern void draw_buttons();
  402. extern void light_button(int b);
  403. extern void unlight_button(int b);
  404. extern void conv_xypitch(float x, float y, int *screen_x, int *screen_y);
  405. extern void pitch_markings();
  406. extern void draw_pitch();
  407. extern void pitch_plot(int x,int y,int z,char c,char a); //Place screen coords on plot buffer.
  408. extern void draw_buffer();
  409. extern void draw_ball();
  410. extern void draw_team();
  411. extern void panel_data();
  412. extern void faster();
  413. extern void slower();
  414. extern void show_nums();
  415. extern void frame_count();
  416. extern void frame_count_i();
  417. extern void init_pitch_sprites();
  418. extern void add_pitch_sprite(short x,short y,short z,short ref);
  419. // ACTIONS.CPP
  420. extern void fire_ball_off();
  421. extern float actual_spd(match_player *player);
  422. extern float angle_to_xy(float a,float b,float x,float y);
  423. extern void user_conts(match_player *player);
  424. extern void init_anim(match_player *player,int anim);
  425. extern void init_team();
  426. extern void init_officials();
  427. extern void user_set_piece(match_player *player);
  428. extern void init_stand_act(match_player *player);
  429. extern void init_kick_act(match_player *player,int mc,float pc);
  430. extern void kick_action(match_player *player);
  431. extern void init_steal_act(match_player *player);
  432. extern void init_kphold_act(match_player *player);
  433. extern void init_throw_act(match_player *player);
  434. extern void turn_clock(match_player *player);
  435. extern void turn_anti(match_player *player);
  436. extern void turn_action(match_player *player);
  437. extern void throw_action(match_player *player);
  438. extern void init_turn_act(match_player *player);
  439. extern void init_jump_act(match_player *player,char dir,char ride=FALSE);
  440. extern void init_run_act(match_player *player,float tx,float ty,char s);
  441. extern void init_fall(match_player *player);
  442. extern void init_tackle_act(match_player *player,float tx,float ty);
  443. extern void go_toward_target(match_player *player);
  444. extern void dont_run_off(match_player *player);
  445. extern void stand_action(match_player *player);
  446. extern void steal_action(match_player *player);
  447. extern void kphold_action(match_player *player);
  448. extern void run_action(match_player *player);
  449. extern void tackle_action(match_player *player);
  450. extern void fall_action(match_player *player);
  451. extern void process_teams();
  452. extern void user_init_tackle(match_player *player);
  453. extern void init_save_act(match_player *player,int tx,int ty,int tz,int an,int zone,int bp,int cont);
  454. extern void taker_pass_f(float x,float y);
  455. extern void taker_pass_h(float x,float y);
  456. extern void taker_tee_up(float x,float y);
  457. extern void taker_shoot_d(float x,float y);
  458. extern void taker_shoot(float x,float y);
  459. extern void taker_punt(float x,float y);
  460. // BALL.CPP
  461. extern float get_angle(float x,float y,float d);
  462. extern void get_xydis_from_ang(float a,float d);
  463. extern float get_s_angle(float z,float d);
  464. extern void get_zdis_from_ang(float a,float d);
  465. extern void stop_ball_spin();
  466. extern void add_spin_fx();
  467. extern void move_ball();
  468. extern void grav_ball();
  469. extern void ball_friction();
  470. extern void ball_trajectory();
  471. extern void get_ball_zone();
  472. extern void launch_ball(int p);
  473. extern void reset_ball();
  474. extern void respot_ball();
  475. extern void pitch_bounds();
  476. extern void hit_goal_post();
  477. extern void hit_cross_bar();
  478. extern void hit_high_side_net();
  479. extern void hit_low_side_net();
  480. extern void hit_top_net();
  481. extern void hit_inside_back_net();
  482. extern void hit_inside_back_net_r();
  483. extern void hit_inside_top_net();
  484. extern void hit_inside_high_side();
  485. extern void hit_inside_low_side();
  486. extern void go_left_goal();
  487. extern void go_right_goal();
  488. extern void ball_collision();
  489. extern void get_ball_speed();
  490. extern void ball_limbo(int p,float c);
  491. extern void process_ball();
  492. extern void own_goal();
  493. extern void good_goal();
  494. extern void new_shot(int p);
  495. extern void reset_shot();
  496. // BALLINT.CPP
  497. extern void rebound_off_plr(match_player *player);
  498. extern void hold_ball(match_player *player);
  499. extern void collect_ball(match_player *player);
  500. extern void put_spin_on_ball(int power);
  501. extern void control_difficulty(match_player *player);
  502. extern void control_ball(match_player *player);
  503. extern void ball_interact(match_player *player);
  504. extern void predict_ball();
  505. extern void get_opp_near_ball(int holder);
  506. extern void player_distances();
  507. extern int get_nearest_guy(int p_num);
  508. extern void get_nearest();
  509. extern void holder_lose_ball();
  510. // INTELL.CPP
  511. extern int in_kicking_range(match_player *player,float x,float y);
  512. extern void process_speech();
  513. extern void init_speech(int p,int comm,int t=FALSE);
  514. extern void keeper_boxes();
  515. extern void reset_ideas(match_player *player);
  516. extern void reset_all_ideas();
  517. extern int shall_i_turn(match_player *player,float x,float y,char s);
  518. extern void go_to_path(int p_num,char header_only=FALSE);
  519. extern void get_tack_path(match_player *player);
  520. extern void get_target(char flag,int bz,int zx,int zy,int pn,int &x,int &y,int tac[(32*2)+6][10][2]);
  521. extern void find_zonal_target(match_player *player,float px,float py);
  522. extern int get_near_path(int p_num,int not_busy);
  523. extern void get_face_xy(int d,float &x,float &y);
  524. extern void forward_joystick(match_player *p,float &x,float &y);
  525. extern int get_dir(float x,float y);
  526. extern int angle_of_vis(match_player *player,int x,int y,float d,char cross);
  527. extern void get_opp_dir_tab(int pnum);
  528. extern int opp_around(int x,int y,int pnum);
  529. extern void player_ints(match_player *player);
  530. extern void pass_ball(int ps,char cross);
  531. extern void make_pass(match_player *player,int p,char cross);
  532. extern void dribble_dir(match_player *player,float &x,float &y);
  533. extern void go_dribble(match_player *player,float x,float y);
  534. extern void make_run(match_player *player);
  535. extern int run_decide(match_player *player);
  536. extern int punt_decide(match_player *player);
  537. extern int head_punt_decide(match_player *player);
  538. extern void make_punt(match_player *player);
  539. extern void punt_ball(match_player *player);
  540. extern void make_shoot(match_player *player);
  541. extern void shoot_ball(match_player *player);
  542. extern int shoot_decide(match_player *player);
  543. extern int head_shoot_decide(match_player *player);
  544. extern void set_pos_flags(match_player *player);
  545. extern int pass_decide(match_player *player,char cross);
  546. extern void player_comment(match_player *player);
  547. extern void tackle_decide(match_player *player);
  548. extern void steal_decide(match_player *player);
  549. extern void block_decide(match_player *player);
  550. extern void free_ball(match_player *player);
  551. extern void out_of_vis(match_player *player);
  552. extern void got_ball(match_player *player);
  553. extern void we_have_ball(match_player *player);
  554. extern int in_close(match_player *player);
  555. extern int can_close_down(match_player *player);
  556. extern void close_him_down(match_player *player);
  557. extern void force_error(match_player *player);
  558. extern void forceful_retrieve(match_player *player);
  559. extern int facing_opp_side(match_player *player);
  560. extern void go_to_between(int p_num);
  561. extern int facing_opp_back(match_player *player);
  562. extern void opp_has_ball(match_player *player);
  563. extern void intelligence(match_player *player);
  564. extern void user_intelligence(match_player *player);
  565. extern void override(match_player *player);
  566. extern void process_comments();
  567. extern void rotate_offs(int an,float &x,float &y,float &z,float nx,float ny);
  568. // MATHS.CPP
  569. extern void af_randomize();
  570. extern float calc_dist(float x,float y);
  571. extern int rand_range(int range);
  572. // USER.CPP
  573. extern void reselect();
  574. extern void select_users();
  575. extern void auto_select_a(short u);
  576. extern void auto_select_b(short u);
  577. extern void clear_all_autos();
  578. extern void user_xy(char u);
  579. extern void convert_inputs();
  580. extern void go_button();
  581. extern void mouse_fired();
  582. extern void process_butts();
  583. extern short user_taker_a(short p);
  584. extern short user_taker_b(short p);
  585. extern void reselect_all_users();
  586. // 3D_UPDT.CPP
  587. extern void realtime_coords();
  588. extern void process_replay();
  589. extern void new_update_coords();
  590. extern void update_3d();
  591. extern void init_3d();
  592. extern void info_line();
  593. extern void process_pitch_sprs();
  594. extern float cth,sth; // Current viewing angle...
  595. // RULES.CPP
  596. extern void retake_foul();
  597. extern void match_rules();
  598. extern void process_offs();
  599. extern void init_match_mode();
  600. extern void init_foul(int fouler,char direct,char see=FALSE);
  601. extern void init_offside(match_player *player);
  602. extern char bounds_rules();
  603. // TEST.CPP
  604. extern void stop_mf_time();
  605. // KEYH.C
  606. extern void claim_key_int(void);
  607. extern void release_key_int(void);
  608. // MY_AUDIO.CPP
  609. void play_fx(int fx,float x,float y);
  610. // NETWORK.C
  611. extern "C" void read_joystick(char j,int *x, int *y, int *sw);
  612. extern "C" void read_joy1(int *x, int *y, int *sw);
  613. extern "C" void read_joy2(int *x, int *y, int *sw);
  614. extern "C" void calibrate_joy(char j,unsigned short *x,unsigned short *y);
  615. extern "C" void get_joy_dir1(int *x,int *y,int *f);
  616. extern "C" void get_joy_dir2(int *x,int *y,int *f);
  617. extern "C" void get_user_inputs();
  618. extern "C" void process_user_inputs();
  619. extern "C" volatile int Teams[MAX_USERS],Players[MAX_USERS];
  620. extern "C" volatile int net_quit;
  621. extern "C" volatile char paused;
  622. extern "C" volatile char pause_request;
  623. extern "C" volatile char keys[256];
  624. extern "C" volatile char key_togs[256];
  625. extern "C" void NetTest(void);
  626. extern "C" void Network_Play_Ready();
  627. extern "C" void Quit_Network_Play();
  628. extern "C" void End_Network_Game();
  629. extern "C" void __far nethandler(void);
  630. extern "C" unsigned int NetworkHandle;
  631. extern "C" short wConsoleNode;
  632. extern "C" volatile int network_on;
  633. extern "C" volatile int count;
  634. extern "C" volatile int tick;
  635. extern "C" volatile int ftick;
  636.