removed test/debug code for EM graphics engine
[rocksndiamonds.git] / src / game_em / init.c
1 /* 2000-08-10T18:03:54Z
2  *
3  * open X11 display and sound
4  */
5
6 #include "main_em.h"
7
8 #include <signal.h>
9
10
11 Bitmap *objBitmap;
12 Bitmap *sprBitmap;
13
14 Bitmap *screenBitmap;
15
16 struct GlobalInfo_EM global_em_info;
17 struct GameInfo_EM game_em;
18
19 int open_all(void)
20 {
21   objBitmap = NULL;
22   sprBitmap = NULL;
23
24   return 0;
25 }
26
27 void InitGfxBuffers_EM(void)
28 {
29   ReCreateBitmap(&screenBitmap, MAX_BUF_XSIZE * TILEX, MAX_BUF_YSIZE * TILEY);
30
31   global_em_info.screenbuffer = screenBitmap;
32 }
33
34 void em_open_all(void)
35 {
36   /* pre-calculate some data */
37   tab_generate();
38
39   if (open_all() != 0)
40     Error(ERR_EXIT, "em_open_all(): open_all() failed");
41
42   /* after "open_all()", because we need the graphic bitmaps to be defined */
43   tab_generate_graphics_info_em();
44
45   game_init_random();
46   game_init_cave_buffers();
47 }
48
49 void em_close_all(void)
50 {
51 }
52
53 /* ---------------------------------------------------------------------- */
54
55 extern int screen_x;
56 extern int screen_y;
57
58 void play_element_sound(int x, int y, int sample, int element)
59 {
60   PlayLevelSound_EM(x, y, element, sample);
61 }
62
63 void play_sound(int x, int y, int sample)
64 {
65   play_element_sound(x, y, sample, -1);
66 }
67
68 unsigned int InitEngineRandom_EM(int seed)
69 {
70   if (seed == NEW_RANDOMIZE)
71   {
72     int simple_rnd = GetSimpleRandom(1000);
73     int i;
74
75     for (i = 0; i < simple_rnd || RandomEM == NEW_RANDOMIZE; i++)
76       RandomEM = RandomEM * 129 + 1;
77
78     seed = RandomEM;
79   }
80
81   RandomEM = seed;
82
83   return (unsigned int) seed;
84 }