X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2Finit.c;h=5fb36f19d265af74699fea4965436e30d51822c2;hb=e742774a369161df5592ec2d7c553ea6d1143de3;hp=c1fbcc7bb222e9ecd9ad4d8ce9000784a4c25b50;hpb=6aaf28a58767bcc79a55cb3afbc8828fd4a16a6b;p=rocksndiamonds.git diff --git a/src/game_sp/init.c b/src/game_sp/init.c index c1fbcc7b..5fb36f19 100644 --- a/src/game_sp/init.c +++ b/src/game_sp/init.c @@ -7,33 +7,46 @@ 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; - StretchedSprites.BltEx = &DDSpriteBuffer_BltEx; + StretchedSprites.BltEx = &DDSpriteBuffer_BltEx; + StretchedSprites.BltImg = &DDSpriteBuffer_BltImg; +} + +static void init_global_values() +{ + menBorder.Checked = False; + 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 0 + /* 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 +54,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; +}