X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_bd%2Fmain_bd.c;h=fdc5cf0c0a6350f576ac309400ad14bb768536e7;hb=dc7bcae20949adb40e3bf797eab98ecb286a2453;hp=bd3b038239c244f5a039de01cdc02a478bb147be;hpb=97c25dcac5f23b62ca152112eb48f8e9b14156ef;p=rocksndiamonds.git diff --git a/src/game_bd/main_bd.c b/src/game_bd/main_bd.c index bd3b0382..fdc5cf0c 100644 --- a/src/game_bd/main_bd.c +++ b/src/game_bd/main_bd.c @@ -17,6 +17,39 @@ struct LevelInfo_BD native_bd_level; struct EngineSnapshotInfo_BD engine_snapshot_bd; +// ============================================================================ +// initialization functions +// ============================================================================ + +void InitGfxBuffers_BD(void) +{ + ReCreateBitmap(&gd_screen_bitmap, SXSIZE, SYSIZE); + + set_cell_size(TILESIZE_VAR); + set_play_area(SXSIZE, SYSIZE); +} + +void bd_open_all(void) +{ + InitGraphicInfo_BD(); + + gd_cave_init(); + gd_cave_db_init(); + + gd_c64_import_init_tables(); + + gd_caveset_clear(); + + gd_init_keystate(); + + gd_sound_init(); +} + +void bd_close_all(void) +{ +} + + // ============================================================================ // level file functions // ============================================================================ @@ -154,3 +187,16 @@ boolean checkGameRunning_BD(void) { return (game_bd.game != NULL && game_bd.game->state_counter == GAME_INT_CAVE_RUNNING); } + +unsigned int InitEngineRandom_BD(int seed) +{ + if (seed == NEW_RANDOMIZE) + { + // get randomly selected seed to render the cave + seed = g_random_int_range(0, GD_CAVE_SEED_MAX); + } + + game_bd.random_seed = seed; + + return (unsigned int)seed; +}