rnd-20040822-3-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 extern boolean skip_menu;
30
31 extern short ulaw_to_linear[256];
32 extern unsigned char linear_to_ulaw[65536];
33
34 /* all global function prototypes */
35
36 int open_all(void);
37 void close_all(void);
38
39 void readjoy(byte);
40 void input_eventloop(void);
41
42 void blitscreen(void);
43 void game_initscreen(void);
44 void game_blitscore(void);
45 void game_animscreen(void);
46 void title_initscreen(void);
47 void title_blitscore(void);
48 void title_animscreen(void);
49 void title_blitants(unsigned int y);
50 void title_string(unsigned int y, unsigned int left, unsigned int right,
51                   char *string);
52
53 void sound_play(void);
54
55 int cave_convert(char *filename);
56
57 void game_init_vars(void);
58 int game_play_init(int, char *);
59 int game_loop(byte);
60
61 void synchro_1(void);
62 void synchro_2(void);
63 void synchro_3(void);
64
65 int clean_emerald(unsigned char *src, unsigned long *length);
66 void convert_emerald(unsigned char *src);
67
68 int sound_thread(void);
69 int read_sample(char *name, short **data, long *length);
70
71 void read_cave_list(void);
72 void free_cave_list(void);
73
74 #endif