X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_em%2Finit.c;h=b2a396dfcea8ad972ec86170e0736922962a554e;hb=38c98f98f536b80d9f8f2af263e2f22825ab5b2b;hp=d0ccc09442237c90d84769f8b5433924844ca717;hpb=3ff2e8a0b5c27b99a9920bdf5ed82bc41bf40181;p=rocksndiamonds.git diff --git a/src/game_em/init.c b/src/game_em/init.c index d0ccc094..b2a396df 100644 --- a/src/game_em/init.c +++ b/src/game_em/init.c @@ -1,83 +1,69 @@ -/* 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; -Pixmap objPixmap; -Pixmap sprPixmap; - -char play[SAMPLE_MAX]; -int play_x[SAMPLE_MAX]; -int play_y[SAMPLE_MAX]; -int play_element[SAMPLE_MAX]; - struct GlobalInfo_EM global_em_info; struct GameInfo_EM game_em; -char *progname; -char *arg_basedir; - -extern void tab_generate(); -extern void tab_generate_graphics_info_em(); - -int open_all(void) +void InitGfxBuffers_EM(void) { - Bitmap *emc_bitmaps[2]; - - SetBitmaps_EM(emc_bitmaps); - - objBitmap = emc_bitmaps[0]; - sprBitmap = emc_bitmaps[1]; + ReCreateBitmap(&screenBitmap, MAX_BUF_XSIZE * TILEX, MAX_BUF_YSIZE * TILEY); - return 0; + global_em_info.screenbuffer = screenBitmap; } -void InitGfxBuffers_EM() +void game_init_random(void) { - ReCreateBitmap(&screenBitmap, MAX_BUF_XSIZE * TILEX, MAX_BUF_YSIZE * TILEY, - DEFAULT_DEPTH); - - global_em_info.screenbuffer = screenBitmap; + game_em.random = 1684108901; /* what a nice seed */ } -void em_open_all() +void game_init_cave_buffers(void) { - /* pre-calculate some data */ - tab_generate(); + int x, y; - progname = "emerald mine"; + 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]; + } - if (open_all() != 0) - Error(ERR_EXIT, "em_open_all(): open_all() failed"); + lev.cave = lev.cavecol; + lev.next = lev.nextcol; + lev.draw = lev.drawcol; + lev.boom = lev.boomcol; +} - /* after "open_all()", because we need the graphic bitmaps to be defined */ - tab_generate_graphics_info_em(); +void em_open_all(void) +{ + InitGraphicInfo_EM(); - game_init_vars(); + game_init_random(); + game_init_cave_buffers(); } 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) @@ -85,10 +71,6 @@ void play_sound(int x, int y, int sample) play_element_sound(x, y, sample, -1); } -void sound_play(void) -{ -} - unsigned int InitEngineRandom_EM(int seed) { if (seed == NEW_RANDOMIZE) @@ -96,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; }