X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_em%2Finit.c;h=bd9cbc8576d1e751f38dbbc1d1a487c58c4b33a3;hb=476df02707a263f71b8b91f7c6947e8033d20f5e;hp=5f8ea9188b1913b3c26ea04a50cf47488855a2c6;hpb=30eb586d06bc4d1ee7388dced1c20e530292aa93;p=rocksndiamonds.git diff --git a/src/game_em/init.c b/src/game_em/init.c index 5f8ea918..bd9cbc85 100644 --- a/src/game_em/init.c +++ b/src/game_em/init.c @@ -1,41 +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; -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; - -int open_all(void) -{ - Bitmap *emc_bitmaps[2]; - - SetBitmaps_EM(emc_bitmaps); - - objBitmap = emc_bitmaps[0]; - sprBitmap = emc_bitmaps[1]; - - return 0; -} - void InitGfxBuffers_EM(void) { ReCreateBitmap(&screenBitmap, MAX_BUF_XSIZE * TILEX, MAX_BUF_YSIZE * TILEY); @@ -43,31 +18,49 @@ 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; - 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); @@ -78,8 +71,18 @@ void play_sound(int x, int y, int sample) play_element_sound(x, y, sample, -1); } -void sound_play(void) +int correctLevelPosX_EM(int lx) +{ + lx -= 1; + + return lx; +} + +int correctLevelPosY_EM(int ly) { + ly -= 1; + + return ly; } unsigned int InitEngineRandom_EM(int seed) @@ -89,13 +92,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; }