/*

#include "function.h"

*/
#include <stdrr.h>
#include <sys/types.h>

/** action.c **/
int char_init(void);
int is_hit(int player);
int guard_check(int you, int g_point, int pow, int kezuri);
int damage_gen(int player, int pow, int gard);
int combo_check(void);
int blitz_fire_sys(int init);
int fire_to_fire_check(int a_num, int b_num);
int fire_to_char_check(int a_num, int you);

/** color.c **/
int col_val_change(short *dest, short *sorce, int value, int size);

/** command.c **/
int pause(int init_sw);
int pad_read(int port, int init_sw);
int read_val(int player, int trigger);
int read_command(int player, int command);

/** display.c **/
int SPR_getIndex(char *ptr);
int SPR_putIndex(char *ptr, int num);
int SPR_defineUnit(int num, char *ptr);
int draw_char_disp(int *spr_top, int *smem_top, int player);
int char_deco_disp(int *spr_top, int *smem_top, int prior);
int blitz_fire_disp(int *spr_top, int *smem_top);
int zoom_sp6_pat_set(char *dat, int dest_num, int zoom_x, int zoom_y);
int vartical_adjust(int event_offset);
int holizontal_adjust(int event_offset);
int side_bonus(int *spr_top, int player, int caseof, int option);
int write_hit(int *spr_top, int start_sw, int player, int x, int y);
int write_spr_back(int back_collor);
int credit_disp();
int shadow(int *spr_top, int player, int center, int size);
int disp_direction(int *spr_top);
int disp_gfont(int *spr_top, char *str, int pal, int posx, int posy,
	int cntrng, int attribute);

/** game.c **/
int round_proc(int round);
int intrrupt(void);
int credit_serv(int);
/* void main(int argc, char *argv[]); */

/** hp.c **/
int hp_init(void);
int credit_font_read(int font);
int char_env_dsp(void);
int char_face_dsp(int *spr_top);
int sco_dsp(int *spr_top);
int hp_disp(int *spr_top);
int time_disp(int *spr_top, int time_init);


/** loader.c **/
int load_japan1(void);
int load_yuki(int player, int collor);
int load_shinobu(int player, int collor);
int load_char_pat(const char *filename, int *offset, int player,int pal_num);
int load_char_face(const char *filename, int player);
int load_player_pal(char *filename, int player, int collor_no);
int load_sp6_pal(const char *filename, int pal_num, int load_num);
int load_shadow(void);
int free_char_pat(void);
int bg_pct_load(const char *filename);
int pct_disp(const char *filename, int sx, int sy);
short *pct_load(const char *filename, int *pctx, int *pcty);
int load_tile(const char *filename, int xsize, int ysize);
char *read_file(const char *filename, int filesize);


/** midi.c **/
int midi_man_open(char *SndWork, int interval);
int midi_man_close();
int midi_interval(int interval);
int midi_relativeTempo(int relative_tempo);
int midi_play_mode(int mode);
int midi_out_port(char port);
int midi_play_reset();
int midi_play_start(char *filename);
int midi_play_stop();



/** name.c **/
int name3_voice_read(char name3[]);
int name_zoom_font_set(void);
int trig_pad_a(int port, int *open_flag);
int list_ranking(void);
int rand_name_set(char *name);
int name_entry_init(void);
int rank_check(int player);
int name_entry_com(int player);
int name_spr_pos_set(int *spr, int mx,int my,int mz, int rx,int ry,int rz);
int name_spr_ptr_set(int spr, int top);
int name_select(int *spr, char sel[], int ranking);
int star_set(int *spr);
int star_move(int *spr, int mx, int my, int mz, int rx, int ry, int rz, int);
int read_name_star();
int fsincos_set();
int fsin(int deg_bi10);
int fcos(int deg_bi10);


/* pad6.c */
int SND_joy_in_0(int port, int *dat);
int SND_joy_in_6(int port, int *dat);
int SND_joy_in_7(int port, int *dat);


/** scroll.c **/
void scroll_crtc();
int scroll_init();
int scroll_raster_type(int mode);
int scroll_bg_write();
int VRAM_putData(int pos, char *ptr, int byte);
int VRAM_putTile(int pos, int ptr, int byte);



/** setup.c **/
int write_stetus_cfg(int list);
int write_stetus_opt(int list);
int wait_pad(int port);
int feeld_scrol(int feeld);
int options(int pad_port);
int config(int pad_port);
int select_list(int list);
int game_setup(int pad_port);


/** sound.c **/
int se_hit(int player, int tone);
char *load_pcm(const char *filename);
int snd_init(int use_pcm_ch);
int se_play(char *buf, int ch, int note);
int voice_play(int player, int no);
int voice_read(int player, const char *dir, int n);


/** sys_r.c **/
int spr_fead_in(int init);
int spr_zoom_1(char *sorce, int dist_pat, int sz_x, int sz_y,
										int zm_x, int zm_y);
int spr_zoom_2(char *sorce, int dist_pat, int sz_x, int sz_y);
int disp_mode_set(int mode, int mini);
int spr_init(void);
int standing_option(int *line, int argc, char *argv[]);
int get_extern_option(FILE *fp, int *no, char **strs);
int greeting_message(char *s1, char *s2);
int standing_rootin(int argc, char *argv[]);
int error(const char *str);
int sync_wait(int wait);
int putString(WORD x, WORD y, char *str);
int putStringMatte(WORD x, WORD y, char *str);


/** vscom.c **/
int com_shinobu(int player);


/**** charctor ****/
int shinobu_act(int *spr_top, int *smem_top, int player);
int yuki_act(int *spr_top, int *smem_top, int player);
/*int lah_laser(int *spr_top, int *smem_top, int player, int init);*/
int lah_laser(int player, int init);



