#ifndef MAIN_H
#define MAIN_H 1

#ifdef WIN32
    #define VIEW_README "notepad readme.txt"
#else
    #define VIEW_README "less readme.txt &"
#endif

#define TEMPFILE "./sailseas.tmp"
#define LOGFILE "./sailseas.log"

enum {
    DELETE_DEL,
    DELETE_DUP,
    DELETE_REN,
    DELETE_MUP,
    DELETE_MDN
};

struct ship_t;
struct savegame_t;

void print_welcome(void);

int main_loop(int newgame);
void paint_screen(void);
void paint_money(void);
int save_screen(int i);
void paint_save(const char *un, size_t len, int i);
int read_game(struct savegame_t *game, FILE *fp);
void write_game(const struct savegame_t *game, FILE *fp);
int load_fg_bg(void);
void switch_screen_mode(int x, int y, int f);
void new_world(const char *nworld);

void new_game(void);
void load_game(void);
void save_game(void);
void delete_saved_game(int i);
void delete_all_saved(void);
void get_paused_games(void);
void get_maps(void);
void get_prefs(void);
void get_custkeys(FILE *fp);
void set_default_keys(void);
void write_prefs(void);
int copy_file(const char *onefn, const char *twofn);
void open_help(void);
char shift_key(char key);
const char *key_name(Uint32 key);

void save_print_screen(void);
void init_bmps(void);
void del_bmps(void);
void init_keyboard(void);
void init_mouse(void);
void set_mouse_buttons(Uint8 button, int i);
void get_events(int *quit);
double hypotenuse(double x, double y);
void rotate(double xp, double yp, double *nxp, double *nyp, double angle);
void fatal_error(const char *s);
int is_usage(const char *s);
int print_usage(const char *progname);
void chomp(char *s);

#endif
