rnd-19990220-1-src
[rocksndiamonds.git] / src / game.c
index fcaedf73e391e6c0882991de5811ecfc1e1968c7..78b950c28033f86c51620e6341ab11c62863561b 100644 (file)
@@ -550,9 +550,6 @@ void InitGame()
                    emulate_sb ? EMU_SOKOBAN :
                    emulate_sp ? EMU_SUPAPLEX : EMU_NONE);
 
-  /* determine border element for this level */
-  SetBorderElement();
-
   if (BorderElement == EL_LEERRAUM)
   {
     SBX_Left = 0;
@@ -591,12 +588,29 @@ void InitGame()
   DrawAllPlayers();
   FadeToFront();
 
+
+#if 1
+
+  if (setup.soft_scrolling)
+    XCopyArea(display, fieldbuffer, backbuffer, gc,
+             FX, FY, SXSIZE, SYSIZE, SX, SY);
+
+  redraw_mask |= REDRAW_FROM_BACKBUFFER;
+
+#endif
+
+
   /* copy default game door content to main double buffer */
   XCopyArea(display, pix[PIX_DOOR], drawto, gc,
            DOOR_GFX_PAGEX5, DOOR_GFX_PAGEY1, DXSIZE, DYSIZE, DX, DY);
 
-  DrawText(DX + XX_LEVEL, DY + YY_LEVEL,
-          int2str(level_nr, 2), FS_SMALL, FC_YELLOW);
+  if (level_nr < 100)
+    DrawText(DX + XX_LEVEL, DY + YY_LEVEL,
+            int2str(level_nr, 2), FS_SMALL, FC_YELLOW);
+  else
+    DrawText(DX + XX_LEVEL - 1, DY + YY_LEVEL + 1,
+            int2str(level_nr, 3), FS_SMALL, FC_SPECIAL3);
+
   DrawText(DX + XX_EMERALDS, DY + YY_EMERALDS,
           int2str(local_player->gems_still_needed,3), FS_SMALL, FC_YELLOW);
   DrawText(DX + XX_DYNAMITE, DY + YY_DYNAMITE,