cleanup of unused EM engine source files and declarations
[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   Bitmap *emc_bitmaps[2];
22
23   SetBitmaps_EM(emc_bitmaps);
24
25   objBitmap = emc_bitmaps[0];
26   sprBitmap = emc_bitmaps[1];
27
28   return 0;
29 }
30
31 void InitGfxBuffers_EM(void)
32 {
33   ReCreateBitmap(&screenBitmap, MAX_BUF_XSIZE * TILEX, MAX_BUF_YSIZE * TILEY);
34
35   global_em_info.screenbuffer = screenBitmap;
36 }
37
38 void em_open_all(void)
39 {
40   /* pre-calculate some data */
41   tab_generate();
42
43   if (open_all() != 0)
44     Error(ERR_EXIT, "em_open_all(): open_all() failed");
45
46   /* after "open_all()", because we need the graphic bitmaps to be defined */
47   tab_generate_graphics_info_em();
48
49   game_init_vars();
50 }
51
52 void em_close_all(void)
53 {
54 }
55
56 /* ---------------------------------------------------------------------- */
57
58 extern int screen_x;
59 extern int screen_y;
60
61 void play_element_sound(int x, int y, int sample, int element)
62 {
63   PlayLevelSound_EM(x, y, element, sample);
64 }
65
66 void play_sound(int x, int y, int sample)
67 {
68   play_element_sound(x, y, sample, -1);
69 }
70
71 unsigned int InitEngineRandom_EM(int seed)
72 {
73   if (seed == NEW_RANDOMIZE)
74   {
75     int simple_rnd = GetSimpleRandom(1000);
76     int i;
77
78     for (i = 0; i < simple_rnd || RandomEM == NEW_RANDOMIZE; i++)
79       RandomEM = RandomEM * 129 + 1;
80
81     seed = RandomEM;
82   }
83
84   RandomEM = seed;
85
86   return (unsigned int) seed;
87 }