rnd-20100216-1-src
[rocksndiamonds.git] / src / game_sp / MainForm.c
index 0a66bd964ae134efaaa000851e7bec2d48e44a83..1c93dc26e7627ceddfb38fc49cc6d57b975e0154 100644 (file)
@@ -674,16 +674,26 @@ void DrawFieldNoAnimated(int X, int Y);
 // --- Option Explicit
 // --- Option Compare Text
 
+#if 0
+
 long SetParent(long hWndChild, long hWndNewParent);
 long SetWindowLong(long hWnd, long nIndex, long dwNewLong);
 long GetWindowLong(long hWnd, long nIndex);
+#if 0
 long GetTempPath(long nBufferLength, char *lpBuffer);
+#endif
 long GetWindowText(long hWnd, char *lpString, long cch);
 
+#endif
+
+#if 0
+
 #define GWL_STYLE                      ((-16))
 #define WS_CHILD                       (0x40000000)
 #define WS_POPUP                       (0x80000000)
 
+#endif
+
 // [UNCOMMENTED] Dim StretchWidth2&
 
 char *MpxBmp;
@@ -1003,6 +1013,17 @@ static boolean InstanceStillRunning(char *TmpFile)
 
 #endif
 
+void DrawFrameIfNeeded()
+{
+  DrawFrame(0);
+
+  /* !!! CHECK THIS !!! */
+#if 1
+  if (! menBorder.Checked)
+    DrawFrame(1);
+#endif
+}
+
 void DisplayLevel()
 {
   int X, Y;
@@ -1018,13 +1039,18 @@ void DisplayLevel()
   if (! LevelLoaded)
     return;
 
+  ClearRectangle(backbuffer, REAL_SX, REAL_SY, FULL_SXSIZE, FULL_SYSIZE);
+  ClearRectangle(screenBitmap, 0, 0,
+                MAX_BUF_XSIZE * TILEX, MAX_BUF_YSIZE * TILEY);
+
 #if 1
   SetDisplayRegion();
 #endif
 
   DrawFrame(0);
 
-#if 0
+  /* !!! CHECK THIS !!! */
+#if 1
   if (! menBorder.Checked)
     DrawFrame(1);
 #endif
@@ -1369,7 +1395,10 @@ void Form_Load()
   PauseMode = 0;
   //  BaseWidth = 16
 
-  menBorder_Click();
+#if 1
+  if (0)
+    menBorder_Click();
+#endif
 
   Loaded = True;
 
@@ -2461,6 +2490,9 @@ void menPlay_Click()
   UpdateDeltaT();
 #endif
 
+#if 1
+#endif
+
 #if 0
   printf("::: MainForm.c: menPlay_Click(): subFetchAndInitLevelB(): ...\n");
 #endif
@@ -3099,7 +3131,11 @@ static void ReStretch(float NewStretch)
 #endif
 }
 
+#if 0
 static void SetScrollEdges()
+#else
+void SetScrollEdges()
+#endif
 {
 #if 0
   printf("::: MainForm.c: SetScrollEdges() ... [%ld, %ld, %ld, %ld] [%f, %d] [%d, %d, %d, %d]\n",
@@ -3125,7 +3161,7 @@ void DrawField(int X, int Y)
 
   tsi = GetSI(X, Y);
   Tmp = LowByte(PlayField16[tsi]);
-  if (40 < Tmp)
+  if (Tmp > 40)
     Tmp = 0;
 
   if (Tmp == fiRAM || Tmp == fiHardWare)
@@ -3136,11 +3172,23 @@ void DrawField(int X, int Y)
 
   if (EditFlag)
   {
-    if (fiOrangeDisk < Tmp && Tmp < fiSnikSnak)
+    if (Tmp > fiOrangeDisk && Tmp < fiSnikSnak)
       Tmp = DisPlayField[tsi];
   }
 
+#if 1
+  if (Tmp >= 0 && Tmp <= 40)
+  {
+    subCopyImageToScreen(tsi, fiGraphic[Tmp]);
+
+#if 1
+    if (Tmp != fiSpace && Tmp != fiSnikSnak && Tmp != fiElectron)
+      GfxGraphic[X][Y] = fiGraphic[Tmp];
+#endif
+  }
+#else
   StretchedSprites.BltEx(StretchWidth * X, StretchWidth * Y, Tmp);
+#endif
 }
 
 void DrawFieldAnimated(int X, int Y)
@@ -3180,15 +3228,23 @@ void DrawFieldNoAnimated(int X, int Y)
   switch (Tmp)
   {
     case fiSnikSnak:
+#if 1
+      subCopyImageToScreen(tsi, aniSpace);
+#else
       StretchedSprites.BltEx(StretchWidth * X, StretchWidth * Y, fiSpace);
+#endif
       break;
 
     case fiElectron:
+#if 1
+      subCopyImageToScreen(tsi, aniSpace);
+#else
       StretchedSprites.BltEx(StretchWidth * X, StretchWidth * Y, fiSpace);
+#endif
       break;
 
     default:
-      if (40 < Tmp)
+      if (Tmp > 40)
         Tmp = 0;
 
       if (Tmp == fiRAM || Tmp == fiHardWare)
@@ -3199,16 +3255,30 @@ void DrawFieldNoAnimated(int X, int Y)
 
       if (EditFlag)
       {
-        if (fiOrangeDisk < Tmp && Tmp < fiSnikSnak)
+        if (Tmp > fiOrangeDisk && Tmp < fiSnikSnak)
           Tmp = DisPlayField[tsi];
       }
 
 #if 0
-      printf("::: MainForm.c: DrawFieldNoAnimated(): %d, %d [%d]\n",
-            X, Y, Tmp);
+      if (TEST_flag)
+       printf("::: MainForm.c: DrawFieldNoAnimated(): %d, %d [%d]\n",
+              X, Y, Tmp);
 #endif
 
+#if 1
+      if (Tmp >= 0 && Tmp <= 40)
+      {
+       subCopyImageToScreen(tsi, fiGraphic[Tmp]);
+
+#if 1
+       if (Tmp != fiSpace && Tmp != fiSnikSnak && Tmp != fiElectron)
+         GfxGraphic[X][Y] = fiGraphic[Tmp];
+#endif
+      }
+#else
       StretchedSprites.BltEx(StretchWidth * X, StretchWidth * Y, Tmp);
+#endif
+
       break;
   }
 }