rnd-20090721-2-src
authorHolger Schemel <info@artsoft.org>
Tue, 21 Jul 2009 10:42:26 +0000 (12:42 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:57:27 +0000 (10:57 +0200)
src/conftime.h
src/game_sp/DDScrollBuffer.c
src/game_sp/DirectDrawGlobals.c
src/game_sp/Display.c
src/game_sp/Globals.c
src/game_sp/InitGameConditions.c
src/game_sp/MainForm.c
src/game_sp/init.c
src/game_sp/vb_types.h

index d3857196d0128aa5b64139740f56dd01fc1601d0..a921959dfc310a195f63dfbe09a395a20086d4a8 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "2009-07-20 23:25"
+#define COMPILE_DATE_STRING "2009-07-21 12:41"
index 86a6aad09cb2897c9b860035ab0cbff4c3d6136f..7bacd72af703f744baded6e7034cef85a0e4ca29 100644 (file)
@@ -334,7 +334,7 @@ void DDScrollBuffer_SoftScrollTo(int X, int Y, long TimeMS, int FPS)
   static boolean AlreadyRunning = False;
 
 #if 1
-  printf("::: 3: X,Y ==  %d, %d [%f]\n", X, Y, Stretch);
+  printf("::: 1: DDScrollBuffer.c: DDScrollBuffer_SoftScrollTo: X,Y ==  %d, %d [%f]\n", X, Y, Stretch);
 #endif
 
   if (NoDisplayFlag)
@@ -359,7 +359,7 @@ void DDScrollBuffer_SoftScrollTo(int X, int Y, long TimeMS, int FPS)
     StepCount = 1;
 
 #if 1
-  printf("::: MARK 1: %f, %d, %ld, %ld [%d, %d, %ld, %ld]\n",
+  printf("::: 2: DDScrollBuffer.c: DDScrollBuffer_SoftScrollTo: %f, %d, %ld, %ld [%d, %d, %ld, %ld]\n",
         tStep, FPS, TimeMS, maxD,
         X, Y, mScrollX, mScrollY);
 #endif
@@ -388,10 +388,6 @@ void DDScrollBuffer_SoftScrollTo(int X, int Y, long TimeMS, int FPS)
     // Blt();
   }
 
-#if 1
-  printf("::: MARK 2\n");
-#endif
-
   if (UserDragFlag)
     goto SoftScrollEH;
 
index 7c028b75049511f5fcf577a5a2e3463d321b003c..9ea35bcd4d4862d7dcc93e9a746af086a89a9fd4 100644 (file)
@@ -8,6 +8,8 @@
 
 // --- Option Explicit
 
+#if 0
+
 DirectX7 DirectX;
 DirectDraw7 DirectDraw;
 DirectDrawSurface7 PrimarySurface;
@@ -46,3 +48,5 @@ void ClipToWindow(long hWnd)
   PrimarySurface.SetClipper(Clipper);
   SET_TO_NOTHING(&Clipper, sizeof(Clipper));
 }
+
+#endif
index ea36612fb302949ecf2bf80828ea1468c1bbefab..d75db7b92cd4e89ce1ab4bdbb8032db02117d774 100644 (file)
@@ -120,11 +120,7 @@ void ScrollTo(int X, int Y)
   //  ScrollX = X
   //  ScrollY = Y
 
-#if 1
-  DDScrollBuffer_ScrollTo(X, Y);
-#else
   Stage.ScrollTo(X, Y);
-#endif
 }
 
 void ScrollTowards(int X, int Y)
@@ -145,11 +141,7 @@ void ScrollTowards(int X, int Y)
   //  ScrollX = X
   //  ScrollY = Y
 
-#if 1
-  DDScrollBuffer_ScrollTowards(X, Y, 2 * Stretch);
-#else
   Stage.ScrollTowards(X, Y, 2 * Stretch);
-#endif
 }
 
 void SoftScrollTo(int X, int Y, long TimeMS, int FPS)
@@ -157,7 +149,11 @@ void SoftScrollTo(int X, int Y, long TimeMS, int FPS)
   long oldX, oldY;
 
 #if 1
-  printf("::: 1: X,Y ==  %d, %d (1)\n", X, Y);
+  printf("::: 1: Display.c: SoftScrollTo: X,Y == %d, %d\n", X, Y);
+  printf("::: %d, %d, %d, %d [%ld]\n",
+        ScrollMinX, ScrollMaxX,
+        ScrollMinY, ScrollMaxY,
+        ScrollDelta);
 #endif
 
   if (NoDisplayFlag)
@@ -175,12 +171,8 @@ void SoftScrollTo(int X, int Y, long TimeMS, int FPS)
   //  ScrollY = Y
 
 #if 1
-  printf("::: 2: X,Y ==  %d, %d\n", X, Y);
+  printf("::: 2: Display.c: SoftScrollTo: X,Y == %d, %d\n", X, Y);
 #endif
 
-#if 1
-  DDScrollBuffer_SoftScrollTo(X, Y, TimeMS, FPS);
-#else
   Stage.SoftScrollTo(X, Y, TimeMS, FPS);
-#endif
 }
index 82d463566dba4734d4728d9fef569cfc2f24e1d0..4da9c45b06e970bcf5e40ea3739b705798c06d7e 100644 (file)
@@ -397,10 +397,6 @@ void ReadLevel()
 
   for (i = 0; i <= FieldMax; i++)
   {
-#if 0
-    printf("::: %d: %d\n", i, PlayField8[i]);
-#endif
-
     PlayField16[i] = PlayField8[i];
     DisPlayField[i] = PlayField8[i];
     PlayField8[i] = 0;
index e12e98360c740f1fabc208451ad32877c0af0411..c23f9d38c197d2ea36a913f2364d61de79411fc5 100644 (file)
@@ -103,9 +103,6 @@ int InitMurphyPosB(int si)
 
   subCalculateScreenScrollPos();           // calculate screen start addrs
 
-  printf("::: InitGameConditions.c: ScreenScroll{X,Y}Pos %d, %d\n",
-        ScreenScrollXPos, ScreenScrollYPos);
-
   if (AutoScrollFlag)
   {
     if (bPlaying)
index 5105a789610e652dad04a8c00ff1cc77d324f390..6a8465700ed6b84e18694167e6dd9b8232965032 100644 (file)
@@ -7,6 +7,9 @@
 #if 1
 
 static void DrawFrame(int Delta);
+static void ReStretch(float NewStretch);
+static void picPane_Paint();
+static void picViewPort_Resize();
 
 #else
 
@@ -1004,7 +1007,8 @@ void DisplayLevel()
   int X, Y;
 
 #if 1
-  printf("::: DisplayLevel (%d, %d, %d)\n", Loaded, LevelLoaded, bPlaying);
+  printf("::: MainForm.c: DisplayLevel: %d, %d, %d\n",
+        Loaded, LevelLoaded, bPlaying);
 #endif
 
   if (! Loaded)
@@ -1027,7 +1031,7 @@ void DisplayLevel()
   if (bPlaying)
   {
 #if 1
-    printf("::: DisplayLevel [%ld, %ld, %ld, %ld]...\n",
+    printf("::: MainForm.c: DisplayLevel: [%ld, %ld, %ld, %ld]...\n",
           DisplayMinY, DisplayMaxY, DisplayMinX, DisplayMaxX);
 #endif
 
@@ -1035,9 +1039,6 @@ void DisplayLevel()
     {
       for (X = DisplayMinX; X <= DisplayMaxX; X++)
       {
-#if 0
-       printf("::: DrawFieldNoAnimated(%d, %d)\n", X, Y);
-#endif
         DrawFieldNoAnimated(X, Y);
       }
     }
@@ -1046,9 +1047,6 @@ void DisplayLevel()
     {
       for (X = DisplayMinX; X <= DisplayMaxX; X++)
       {
-#if 0
-       printf("::: DrawFieldAnimated(%d, %d)\n", X, Y);
-#endif
         DrawFieldAnimated(X, Y);
       }
     }
@@ -1060,9 +1058,6 @@ void DisplayLevel()
     {
       for (X = DisplayMinX; X <= DisplayMaxX; X++)
       {
-#if 0
-       printf("::: DrawField(%d, %d)\n", X, Y);
-#endif
         DrawField(X, Y);
       }
     }
@@ -1377,9 +1372,14 @@ void Form_Load()
 
   Loaded = True;
 
-#if 0
+#if 1
 
   ReStretch(Stretch);
+
+#endif
+
+#if 0
+
   LoadKeyIndicators();
 
   Show();
@@ -2471,6 +2471,10 @@ void menPlay_Click()
 
   subFetchAndInitLevelB();
 
+#if 1
+  ReStretch(Stretch);
+#endif
+
   // Trace "MainForm", "CountDown 1"
   CountDown(2, (0 == DemoFlag));
   // Trace "MainForm", "Call GoPlay"
@@ -2942,6 +2946,8 @@ static void picPane_MouseUp(int Button, int Shift, float X, float Y)
   }
 }
 
+#endif
+
 static void picPane_Paint()
 {
   boolean Oldflag;
@@ -2954,31 +2960,48 @@ static void picPane_Paint()
 
 static void ReStretch(float NewStretch)
 {
+#if 1
+  long BW2, LW, LH;
+#else
   long BW2, LW, LH, i;
+#endif
+
+#if 1
+  printf("::: MainForm.c: ReStretch: %d, %d\n", Loaded, LevelLoaded);
+#endif
 
   if (! Loaded)
   {
 #if 1
-    printf("::: NewStretch == %d\n", NewStretch);
+    printf("::: NewStretch == %f\n", NewStretch);
 #endif
 
     Stretch = NewStretch;
     return;
   }
 
+#if 0
   MousePointer = 11;
   SET_TO_NOTHING(&Stage, sizeof(Stage));
   SET_TO_NOTHING(&StretchedSprites, sizeof(StretchedSprites));
   menStretch(Stretch / 0.25).Checked = False;
+#endif
+
   Stretch = NewStretch;
+
+#if 0
   menStretch(Stretch / 0.25).Checked = True;
   //  StretchWidth = BaseWidth ' * NewStretch
   //  StretchWidth2 = StretchWidth \ 2
   //  TwoPixels = 2 '* Stretch
   // StretchLoad Sprites, imgMpx.Picture, 16, 16
+#endif
+
   BW2 = StretchWidth / 2;
   LW = (FieldWidth + 2) * BaseWidth; // StretchWidth
   LH = (FieldHeight + 2) * BaseWidth; // StretchWidth
+
+#if 0
   // i = bmpStage.CreateAtSize(LW, LH)
   // Stage = New DDScrollBuffer; // (handle this later, if needed)
   i = Stage.CreateAtSize(LW, LH, picPane.hWnd);
@@ -2992,13 +3015,18 @@ static void ReStretch(float NewStretch)
 
   }
   else
+#endif
   {
     StretchedSprites.DestXOff = 1 * BaseWidth; // StretchWidth
     StretchedSprites.DestYOff = 1 * BaseWidth; // StretchWidth
     Stage.DestXOff = 1 * StretchWidth;
     Stage.DestYOff = 1 * StretchWidth;
     StretchedSprites.DestinationSurface = Stage.Surface;
-    Stage.Cls;
+
+#if 0
+    Stage.Cls();
+#endif
+
     if (Loaded && LevelLoaded)
     {
       SetDisplayRegion();
@@ -3012,18 +3040,35 @@ static void ReStretch(float NewStretch)
     picPane_Paint();
   }
 
+#if 0
   MousePointer = 0;
+#endif
 }
 
 static void SetScrollEdges()
 {
-  ScrollMinX = (DisplayMinX - 0.5) * Stretch * BaseWidth;
-  ScrollMinY = (DisplayMinY - 0.5) * Stretch * BaseWidth;
-  ScrollMaxX = (DisplayMaxX + 1.5) * Stretch * BaseWidth - picPane.Width;
-  ScrollMaxY = (DisplayMaxY + 1.5) * Stretch * BaseWidth - picPane.Height;
-}
+#if 1
+  printf("::: SetScrollEdges ... [%ld, %ld, %ld, %ld] [%f, %d] [%d, %d, %d, %d]\n",
+        DisplayMinX, DisplayMinY, DisplayMaxX, DisplayMaxY,
+        Stretch, BaseWidth,
+        ScrollMinX, ScrollMinY, ScrollMaxX, ScrollMaxY);
+#endif
+
+  ScrollMinX = (int)(DisplayMinX - 0.5) * Stretch * BaseWidth;
+  ScrollMinY = (int)(DisplayMinY - 0.5) * Stretch * BaseWidth;
+#if 1
+  ScrollMaxX = (int)(DisplayMaxX + 1.5) * Stretch * BaseWidth;
+  ScrollMaxY = (int)(DisplayMaxY + 1.5) * Stretch * BaseWidth;
+#else
+  ScrollMaxX = (int)(DisplayMaxX + 1.5) * Stretch * BaseWidth - picPane.Width;
+  ScrollMaxY = (int)(DisplayMaxY + 1.5) * Stretch * BaseWidth - picPane.Height;
+#endif
 
+#if 1
+  printf("::: SetScrollEdges done [%d, %d, %d, %d]\n",
+        ScrollMinX, ScrollMinY, ScrollMaxX, ScrollMaxY);
 #endif
+}
 
 void DrawField(int X, int Y)
 {
@@ -3142,8 +3187,11 @@ static void picViewPort_Paint()
   // Debug.Print "picViewPort_Paint()"
 }
 
+#endif
+
 static void picViewPort_Resize()
 {
+#if 0
   long bdX, bdY, PanelVisibility;
   long X, Y, dx, dY;
   SettingsObject s;
@@ -3167,11 +3215,15 @@ static void picViewPort_Resize()
   Y = Max((picViewPort.ScaleHeight - dY) / 2, 0);
   picPane.Move X, Y, dx, dY;
   picFrame.Move X - bdX / 2, Y - bdY / 2, dx + bdX, dY + bdY;
+#endif
+
   SetScrollEdges();
   ScrollTo(ScrollX, ScrollY);
   //  SizeTim.Interval = 1
 }
 
+#if 0
+
 //
 // Private Sub SizeTim_Timer()
 // Dim wdX&, wdY&
index 5a234b3c8150953f63b859d1aa1f174707e8d3f5..c1fbcc7bb222e9ecd9ad4d8ce9000784a4c25b50 100644 (file)
@@ -13,11 +13,20 @@ 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()
 {
-#if 1
-  printf("::: sp_open_all ...\n");
-#endif
+  init_struct_functions();
 
   Form_Load();
 
@@ -26,15 +35,7 @@ void sp_open_all()
   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;
-
-#if 1
-  printf("::: sp_open_all done\n");
-#endif
 }
 
 void sp_close_all()
index 39b23d0ec8bb3b49409328b8fbcf13df9be81d93..081568c25675c7d6d5e588cdc60fe54271f5cb97 100644 (file)
@@ -214,7 +214,9 @@ typedef struct
 {
   int DestXOff;
   int DestYOff;
+  void *Surface;
 
+  void (*Cls)();
   void (*Blt)();
   void (*ScrollTo)(int, int);
   void (*ScrollTowards)(int, int, double);
@@ -224,6 +226,12 @@ typedef struct
 
 typedef struct
 {
+  int DestXOff;
+  int DestYOff;
+  void *DestinationSurface;
+  void *Surface;
+
+  void (*Cls)();
   void (*BltEx)(int, int, int);
 } DDSpriteBuffer;