rnd-20090721-2-src
[rocksndiamonds.git] / src / game_sp / init.c
index 0f380e5845e4640cc442094f0a806f63f43b27a8..c1fbcc7bb222e9ecd9ad4d8ce9000784a4c25b50 100644 (file)
@@ -13,18 +13,29 @@ static void BlitScreenToBitmap_SP__Stage_Blt()
   BlitScreenToBitmap_SP(window);
 }
 
+static void init_struct_functions()
+{
+  Stage.Blt = &BlitScreenToBitmap_SP__Stage_Blt;
+
+  Stage.ScrollTo      = &DDScrollBuffer_ScrollTo;
+  Stage.ScrollTowards = &DDScrollBuffer_ScrollTowards;
+  Stage.SoftScrollTo  = &DDScrollBuffer_SoftScrollTo;
+
+  StretchedSprites.BltEx = &DDSpriteBuffer_BltEx;
+}
+
 void sp_open_all()
 {
+  init_struct_functions();
+
+  Form_Load();
+
   SetBitmaps_SP(&sp_objects);
 
   screenBitmap = CreateBitmap(MAX_BUF_XSIZE * TILEX, MAX_BUF_YSIZE * TILEY,
                               DEFAULT_DEPTH);
 
-  StretchedSprites.BltEx = &DDSpriteBuffer_BltEx;
-
   DDSpriteBuffer_CreateFromFile("[NONE]", 16, 16);
-
-  Stage.Blt = &BlitScreenToBitmap_SP__Stage_Blt;
 }
 
 void sp_close_all()