X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2Finit.c;h=0e217a9dcbbc90216629237b495b71e44242c799;hb=3c080c7b33b6dfcc6e0039b592c5f268535873e7;hp=c1fbcc7bb222e9ecd9ad4d8ce9000784a4c25b50;hpb=6aaf28a58767bcc79a55cb3afbc8828fd4a16a6b;p=rocksndiamonds.git diff --git a/src/game_sp/init.c b/src/game_sp/init.c index c1fbcc7b..0e217a9d 100644 --- a/src/game_sp/init.c +++ b/src/game_sp/init.c @@ -7,16 +7,9 @@ Bitmap *sp_objects; Bitmap *screenBitmap; - -static void BlitScreenToBitmap_SP__Stage_Blt() -{ - BlitScreenToBitmap_SP(window); -} - static void init_struct_functions() { - Stage.Blt = &BlitScreenToBitmap_SP__Stage_Blt; - + Stage.Blt = &DDScrollBuffer_Blt; Stage.ScrollTo = &DDScrollBuffer_ScrollTo; Stage.ScrollTowards = &DDScrollBuffer_ScrollTowards; Stage.SoftScrollTo = &DDScrollBuffer_SoftScrollTo; @@ -24,16 +17,35 @@ static void init_struct_functions() StretchedSprites.BltEx = &DDSpriteBuffer_BltEx; } +static void init_global_values() +{ + menBorder.Checked = True * 0; + menPanel.Checked = True; + menAutoScroll.Checked = True; + + MainForm.picPane.Width = picPane.Width = SCR_FIELDX * TILEX; + MainForm.picPane.Height = picPane.Height = SCR_FIELDY * TILEY; +} + void sp_open_all() { init_struct_functions(); + init_global_values(); Form_Load(); SetBitmaps_SP(&sp_objects); +#if 1 + /* too small for oversized levels, but too big for graphics performance */ + /* (the whole playfield is drawn/updated, not only visible/scrolled area) */ + /* !!! FIX THIS !!! */ + screenBitmap = CreateBitmap(60 * TILEX, 24 * TILEY, + DEFAULT_DEPTH); +#else screenBitmap = CreateBitmap(MAX_BUF_XSIZE * TILEX, MAX_BUF_YSIZE * TILEY, DEFAULT_DEPTH); +#endif DDSpriteBuffer_CreateFromFile("[NONE]", 16, 16); } @@ -41,3 +53,25 @@ void sp_open_all() void sp_close_all() { } + +unsigned int InitEngineRandom_SP(long seed) +{ + if (seed == NEW_RANDOMIZE) + { +#if 0 + printf("::: init.c: InitEngineRandom_SP(): subRandomize()\n"); +#endif + + subRandomize(); + + seed = (long)RandomSeed; + } + + RandomSeed = (short)seed; + +#if 0 + printf("::: init.c: InitEngineRandom_SP(): RandomSeed == %d\n", RandomSeed); +#endif + + return (unsigned int) seed; +}