#ifndef	KO_SELECT_H		  
#define	KO_SELECT_H

#define MAX_CUP_NUMBER	4
enum GameMode {
	GM_GP=0,
	GM_TA,
	GM_RECORD,
	GM_VS,
	GM_CEDIT,
	GM_PR,
	GM_OPTION,
	GM_MEDIT
};
typedef enum GameMode GameMode;

enum GselMode {
	GS_SELECT1=0,
	GS_SELECT2,
	GS_OK,
	GS_CSEL_OUT,
	GS_CSEL_OUT2,
	GS_WIPE,/* Wipe中(キー入力不可) */
	GS_WIPE2/* record画面に行くためのWipe中(キー入力不可) */
};
typedef enum GselMode GselMode;

enum Msel1Mode {
	MS1_SELECT=0,
	MS1_SELECT2,/* Wipe中(キー入力不可) */
	MS1_OK,
	MS1_OK2/* Wipe中(キー入力不可) */
};
typedef enum Msel1Mode Msel1Mode;

enum Msel2Mode {
	MS2_EDIT=0,
	MS2_EDIT2,/* Wipe中(キー入力不可) */
	MS2_OK,
	MS2_OK2/* Wipe中(キー入力不可) */
};
typedef enum Msel2Mode Msel2Mode;

enum TimeAttackType {
	TA_GHOST_OFF=0,
	TA_GHOST_ON,
	TA_STAFF_GHOST,
	TA_PRO_GHOST,
	TA_CHAMP_GHOST
};
typedef enum TimeAttackType TimeAttackType;

extern GameMode game_mode;
extern GselMode gsel_mode;
extern int gsel_cursor2[];
extern Msel1Mode msel1_mode;
extern Msel2Mode msel2_mode;
extern char msel_cursor_set_flg[];
extern char machine_change_flg[];
extern float setting_data30[];


extern int crs_number_buf,crs_number_buf_record;
extern ushort new_button,new_button_trg,new_button_repeat;
extern char cup_status[MAX_CUP_NUMBER];
extern char joker_status;
extern char title_status;
extern char command_status;
extern TimeAttackType time_attack_type;

extern char *course_names_ptr;
extern char *course_names[];
extern char *machine_names[];
extern const char msel_cursor2machine_chart[];


extern void init_editcourse_names(void);
extern void init_course_names(void);
extern void ko_SetContData(Controller *cp);
extern Gfx *SetOKPrimColor_base(Gfx *gdl,int type);
extern void init_cup_status(void);
extern void SetCupStatus(void);
extern int GetStarNumber(void);
extern int Check_DDFZ_Seq(void);
extern void FZ_ChangeSoundMode(void);
extern void FZ_Bgm_Start(int num);
extern void FZ_Bgm_Stop(void);
extern void FZ_Bgm_Stop2(void);
extern int msel_cursor2machine(int num);
extern int msel_machine2cursor(int num);
extern void SetJokerStatus(void);
extern void ClearCursorPosition(void);


#define SetOKPrimColor0(gdl)	SetOKPrimColor_base(gdl,0)
#define SetOKPrimColor1(gdl)	SetOKPrimColor_base(gdl,1)



#endif
