/* osdepend.c */

#ifndef osdepend_H
#define osdepend_H

#define FILENAME_SIZE 212

void setup_mapping_tables(void);
void setup_os_mapping_tables(void);
void setup_game_mapping_tables(void);
void codes_to_text(unsigned, char *);
const char *last_os_error(void);
void fatal(const char *);
void fatal_lookup(const char *);
void fatal_lookup_1(const char *, const char *);
void warning(const char *warning);
void warning_lookup(const char *);
void warning_lookup_1(const char *, const char *);
void warning_lookup_2(const char *, const char *, const char *);
void info(const char *);
void info_lookup(const char *);
void info_lookup_1(const char *, const char *);
void warn_bad_use(const char *opcode);
__pure char *msgs_lookup(const char *token);
__pure char *msgs_lookup_1(const char *token, const char *param);
__pure char *msgs_lookup_2(const char *token, const char *param0, const char *param1);
__pure zword_t *msgs_lookup_u(const char *token);
__pure zword_t *msgs_lookup_u_1(const char *token, const char *param);
int fit_word(const zword_t *, int);
int get_file_name (char *, char *, int, int);
//int print_status (int, char *[]);
void process_arguments (int, char *[]);
void set_colours(int, int, int);
void set_true_colours(int, int, int);
void set_font(int);
void z_sound_effect(int, unsigned *);
#ifdef ZSPEC11DRAFT
void z_sound_data(unsigned, unsigned);
#endif
void z_read_mouse(int);
void translate_name(char *);
void ro_print_error(void);
void os_update_window(void);
int os_read(int, zword_t *, int, int);
void gasp(void);
int release_memory(void);
const char *os_file_supplied(void);
void os_file_loaded(void);
void os_file_saved(int ok);

#ifndef os_H
typedef unsigned os_colour;
#endif
extern os_colour true_default_fg, true_default_bg;

os_colour z_true_colour_to_os_colour(zword_t c);
zword_t os_colour_to_z_true_colour(os_colour c);
int os_colour_to_z_colour(os_colour c);

#endif
