/* basename.c */
extern char *amh_basename(char *string);
extern char *amh_dirname(char *string);
/* cmphi.c */
extern void zero_level_stats(int i);
extern void update_misshigh(mission *mp);
extern void print_cur_high(int font);
extern void print_prev_high(int font);
/* color.c */
extern unsigned int ship_color(int player);
/* dump.c */
extern void cls(void);
extern void dump(void);
/* expl.c */
extern void explode(int numsparks, trajectory *obj);
extern void new_particle(trajectory *traj);
extern void update_partics(void);
/* gfx.c */
extern void my_swapbuffers(int mode);
/* high.c */
extern void write_mission_high(mission *mp);
extern void read_mission_high(mission *mp);
/* init.c */
extern void clear_normal(void);
extern void setwinattr(void);
extern void newsize(void);
extern void initwindow(void);
extern void closeall(void);
extern void initvars(void);
/* lexer.c */
extern char *tok_string(TOKEN tok);
extern void print_token(tok_info *toki);
extern tok_info *gettoken(FILE *file);
/* lide.c */
extern int intersect(float r0[2], float r1[2], float r2[2], float r3[2], float *s);
extern void my_intersect(float p1[2], float p2[2], float p3[2], float p4[2], float *s);
extern int intersect_all(float p1[2], float p2[2], int player);
extern int intersect_ships(int player, float p1[2], float p2[2]);
/* main.c */
extern void main(int argc, char **argv);
/* malloc.c */
extern xyz ***make_3d_array(int num_frames, int num_verts);
extern void free_rock_geom(rock *r);
/* mission.c */
extern void add_to_library(rock **rpp, rock *rp);
extern unsigned int get_mission_checksum(char *name);
extern void read_mission_levels(mission *miss);
extern void free_mission(mission *mp);
extern void loadmissions(void);
/* nput.c */
extern char *vgets(char *banner, char *prompt, int numchars, unsigned int drawcolor);
/* olay.c */
extern void copyright(void);
extern void draw_overlay_logo(void);
extern void update_overlay(int flags);
extern void map_colors(void);
extern void clear_overlay(void);
extern void print_missionname(void);
extern void print_levelname(level *l);
/* parse.c */
extern tok_info *expecting(FILE *file, TOKEN expect);
extern rock *newrdag(void);
extern void free_geometry(rock *rdag);
extern rock *already_loaded_geometry(char *name);
extern void print_rdag(rock *rdag);
extern void read_level(level *l, FILE *file);
/* play.c */
extern void game_off(void);
extern void play(void);
extern void startgame(void);
extern void initkeys(void);
extern void getkeys(int p);
extern float max_radius(int player);
extern int affirm(int player, char *string1, char *string2);
extern int ask(int player, char *string1, char *string2);
/* read.c */
extern void read_in_rock(rock *Rock,int force_load);
extern void load_geom_rdag(rock *rdag);
extern void loadgeometry(void);
extern void reload_mission(void);
extern void reload_ifnewer(void);
extern void free_all_geometry_by_name(char *name);
/* rocks.c */
extern void init_scene(void);
extern rock *add_rock(rock *template);
extern void kill_rock(rock **r);
extern void free_all_rocks(void);
extern rock *newrock(rock *template);
extern float my_rand_float(float min, float max);
extern void print_all_rocks(void);
extern void update_rocks(void);
extern int v2f_line_ship(int p, float *t);
extern int v2f_line(rock *r, xyz *v);
extern int draw_line_rock(rock *r);
extern void draw_rock(rock **r);
/* score.c */
extern void init_score_fonts(void);
extern void draw_text(void);
/* select.c */
extern level *getmission(void);
/* sfx.c */
extern void kill_all_sound(void);
extern void sfx_kill(int sound);
extern void sfx(int sound);
extern void end_sound(void);
extern void set_volume(int level);
extern void init_sound(void);
extern void toggle_sound(void);
extern int volume_change(int direction);
/* ship.c */
extern void draw_ship(int p);
extern void rotate_left(int i);
extern void rotate_right(int i);
extern void update_ships(void);
extern int update_trajectory(trajectory *t);
extern void thrust(int i, int active);
extern void decelerate(int i);
extern void fire(int i);
extern void draw_scene(void);
extern void update_bullets(void);
/* sin.c */
extern void make_math_tables(void);
extern float fast_rand(void);
/* sound.c */
extern void snd_init_sound(void);
extern void snd_set_volume(int level);
extern int snd_toggle_sound(void);
extern void snd_end_sound(void);
extern int check_for_audio_hw(void);
extern int snd_volume_change(int direction);
/* syserr.c */
extern void syserr(char *s);
/* time.c */
extern float my_time(void);
/* tmain.c */
extern void main(int argc, char **argv);
/* vector.c */
extern void printfontinfo(int fid);
extern int openvecfont(float columns, float rows, float scaledown);
extern void vmov2(int fid, float x, float y);
extern void vmovrel2(int fid, float x, float y);
extern void vchar(int fid, char *guide);
extern void vlprint(int fid, char *string);
extern void vleprint(int fid, char *string,char *erase);
extern void vrprint(int fid, char *string);
extern void vreprint(int fid, char *string,char *erase);
extern void vcprint(int fid, char *string);
extern void vprint(int fid, char *string);
extern float vstrwidth(int fid, char *string);
extern void vccprint(int fid, int dmode, unsigned int bgcolor, unsigned int fgcolor, char *string);
extern void vdim(int d);
