#ifndef GLOBAL_H
#define GLOBAL_H
+#include "main_em.h"
+
#define EM_GFX_DIR "graphics.EM"
#define EM_SND_DIR "sounds.EM"
#define EM_LVL_DIR "levels.EM"
-#define MAXNAME 1024 /* arbitrary maximum length of filenames (cos i am lazy) */
-extern void snprintf_overflow(char *);
+/* arbitrary maximum length of filenames (cos i am lazy) */
+#define MAXNAME 1024
extern int debug;
extern char *progname;
extern char *arg_basedir;
-extern char *arg_display;
-extern char *arg_geometry;
-extern int arg_install;
-extern int arg_silence;
-extern unsigned int frame;
+extern int frame;
extern short ulaw_to_linear[256];
extern unsigned char linear_to_ulaw[65536];
int open_all(void);
void close_all(void);
-void readjoy(void);
+void readjoy(byte, struct PLAYER *);
void input_eventloop(void);
-void blitscreen(void);
void game_initscreen(void);
-void game_blitscore(void);
-void game_animscreen(void);
-void title_initscreen(void);
-void title_blitscore(void);
-void title_animscreen(void);
-void title_blitants(unsigned int y);
-void title_string(unsigned int y, unsigned int left, unsigned int right, char *string);
+void play_sound(int, int, int);
void sound_play(void);
-int cave_convert(char *filename);
+int cave_convert(char *);
+
+void game_init_vars(void);
+void game_play_init(int, char *);
+void game_loop(byte);
-int game_start(void);
void synchro_1(void);
void synchro_2(void);
void synchro_3(void);
-int clean_emerald(unsigned char *src, unsigned long *length);
-void convert_emerald(unsigned char *src);
+int cleanup_em_level(unsigned char *, int, char *);
+void convert_em_level(unsigned char *, int);
+void prepare_em_level(void);
int sound_thread(void);
-int read_sample(char *name, short **data, long *length);
+int read_sample(char *, short **, int *);
void read_cave_list(void);
void free_cave_list(void);