rnd-20040821-5-src
[rocksndiamonds.git] / src / game_em / global.h
1 #ifndef GLOBAL_H
2 #define GLOBAL_H
3
4 #include "../libgame/libgame.h"
5
6 #define EM_GFX_DIR      "graphics.EM"
7 #define EM_SND_DIR      "sounds.EM"
8 #define EM_LVL_DIR      "levels.EM"
9
10 /* arbitrary maximum length of filenames (cos i am lazy) */
11 #define MAXNAME 1024
12
13 extern void snprintf_overflow(char *);
14
15 extern int debug;
16 extern char *progname;
17 extern char *arg_basedir;
18 extern char *arg_display;
19 extern char *arg_geometry;
20 extern int arg_install;
21 extern int arg_silence;
22
23 extern unsigned int frame;
24
25 #define EM_GAME_STATUS_MENU     1
26 #define EM_GAME_STATUS_PLAY     2
27
28 extern int em_game_status;
29
30 extern short ulaw_to_linear[256];
31 extern unsigned char linear_to_ulaw[65536];
32
33 /* all global function prototypes */
34
35 int open_all(void);
36 void close_all(void);
37
38 void readjoy(byte);
39 void input_eventloop(void);
40
41 void blitscreen(void);
42 void game_initscreen(void);
43 void game_blitscore(void);
44 void game_animscreen(void);
45 void title_initscreen(void);
46 void title_blitscore(void);
47 void title_animscreen(void);
48 void title_blitants(unsigned int y);
49 void title_string(unsigned int y, unsigned int left, unsigned int right,
50                   char *string);
51
52 void sound_play(void);
53
54 int cave_convert(char *filename);
55
56 void game_init_vars(void);
57 int game_loop(byte);
58
59 void synchro_1(void);
60 void synchro_2(void);
61 void synchro_3(void);
62
63 int clean_emerald(unsigned char *src, unsigned long *length);
64 void convert_emerald(unsigned char *src);
65
66 int sound_thread(void);
67 int read_sample(char *name, short **data, long *length);
68
69 void read_cave_list(void);
70 void free_cave_list(void);
71
72 #endif