X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_em%2Finit.c;h=b2a396dfcea8ad972ec86170e0736922962a554e;hb=38c98f98f536b80d9f8f2af263e2f22825ab5b2b;hp=fc84fbf31aa282933a00f7b524198378d01d1ae6;hpb=8da08295743b5a375f8cabe26cc1d48249c89b42;p=rocksndiamonds.git diff --git a/src/game_em/init.c b/src/game_em/init.c index fc84fbf3..b2a396df 100644 --- a/src/game_em/init.c +++ b/src/game_em/init.c @@ -1,29 +1,16 @@ -/* 2000-08-10T18:03:54Z +/* 2000-01-06 06:43:39 * - * open X11 display and sound + * set everything up and close everything down */ #include "main_em.h" -#include - - -Bitmap *objBitmap; -Bitmap *sprBitmap; Bitmap *screenBitmap; struct GlobalInfo_EM global_em_info; struct GameInfo_EM game_em; -int open_all(void) -{ - objBitmap = NULL; - sprBitmap = NULL; - - return 0; -} - void InitGfxBuffers_EM(void) { ReCreateBitmap(&screenBitmap, MAX_BUF_XSIZE * TILEX, MAX_BUF_YSIZE * TILEY); @@ -31,16 +18,40 @@ void InitGfxBuffers_EM(void) global_em_info.screenbuffer = screenBitmap; } -void em_open_all(void) +void game_init_random(void) +{ + game_em.random = 1684108901; /* what a nice seed */ +} + +void game_init_cave_buffers(void) { - /* pre-calculate some data */ - tab_generate(); + int x, y; - if (open_all() != 0) - Error(ERR_EXIT, "em_open_all(): open_all() failed"); + for (x = 0; x < CAVE_BUFFER_WIDTH; x++) + { + for (y = 0; y < CAVE_BUFFER_HEIGHT; y++) + { + lev.cavebuf[x][y] = Zborder; + lev.nextbuf[x][y] = Zborder; + lev.drawbuf[x][y] = Zborder; + lev.boombuf[x][y] = Xblank; + } + + lev.cavecol[x] = lev.cavebuf[x]; + lev.nextcol[x] = lev.nextbuf[x]; + lev.drawcol[x] = lev.drawbuf[x]; + lev.boomcol[x] = lev.boombuf[x]; + } - /* after "open_all()", because we need the graphic bitmaps to be defined */ - tab_generate_graphics_info_em(); + lev.cave = lev.cavecol; + lev.next = lev.nextcol; + lev.draw = lev.drawcol; + lev.boom = lev.boomcol; +} + +void em_open_all(void) +{ + InitGraphicInfo_EM(); game_init_random(); game_init_cave_buffers(); @@ -50,14 +61,9 @@ void em_close_all(void) { } -/* ---------------------------------------------------------------------- */ - -extern int screen_x; -extern int screen_y; - void play_element_sound(int x, int y, int sample, int element) { - PlayLevelSound_EM(x, y, element, sample); + PlayLevelSound_EM(CAVE_POS_X(x), CAVE_POS_Y(y), element, sample); } void play_sound(int x, int y, int sample) @@ -72,13 +78,13 @@ unsigned int InitEngineRandom_EM(int seed) int simple_rnd = GetSimpleRandom(1000); int i; - for (i = 0; i < simple_rnd || RandomEM == NEW_RANDOMIZE; i++) - RandomEM = RandomEM * 129 + 1; + for (i = 0; i < simple_rnd || game_em.random == NEW_RANDOMIZE; i++) + game_em.random = game_em.random * 129 + 1; - seed = RandomEM; + seed = game_em.random; } - RandomEM = seed; + game_em.random = seed; - return (unsigned int) seed; + return (unsigned int)seed; }