rnd-20090730-1-src
authorHolger Schemel <info@artsoft.org>
Thu, 30 Jul 2009 13:27:38 +0000 (15:27 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:57:33 +0000 (10:57 +0200)
src/conftime.h
src/game_sp/DDScrollBuffer.c
src/game_sp/Demo.c
src/game_sp/Display.c
src/game_sp/DoGameStuff.c
src/game_sp/Globals.c
src/game_sp/MainGameLoop.c
src/game_sp/Murphy.c
src/game_sp/modAnimations.h

index a81ef1437cb2e4bc456cae5faca05a83cd7828e7..1da4c6f8cb725b88c1fee048f033af82760787be 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "2009-07-29 02:12"
+#define COMPILE_DATE_STRING "2009-07-30 15:25"
index 028af5429569052b93e95cf486d90b4e478e3805..e71f1f10c221649998a8c00646d8a96d07c92c22 100644 (file)
@@ -175,6 +175,7 @@ void DDScrollBuffer_Blt()
   }
 
 #if 1
+
 #if 0
   printf("::: DDScrollBuffer.c: DDScrollBuffer_Blt(): blit from %d, %d [%ld, %ld] [%ld, %ld]\n",
         SR.left, SR.top, mScrollX, mScrollY, mDestXOff, mDestYOff);
@@ -329,6 +330,11 @@ void DDScrollBuffer_ScrollTowards(int X, int Y, double Step)
   if (NoDisplayFlag)
     return;
 
+#if 0
+  printf("::: DDScrollBuffer.c: DDScrollBuffer_ScrollTowards(): (1) mScroll: %ld, %ld [%d, %d, %f]\n",
+        mScrollX, mScrollY, X, Y, Step);
+#endif
+
   X = X / Stretch;
   Y = Y / Stretch;
   dx = X - mScrollX;
@@ -347,9 +353,9 @@ void DDScrollBuffer_ScrollTowards(int X, int Y, double Step)
   ScrollX = mScrollX;
   ScrollY = mScrollY;
 
-#if 1
-  printf("::: DDScrollBuffer.c: DDScrollBuffer_ScrollTowards():  mScroll: %ld, %ld\n",
-        mScrollX, mScrollY);
+#if 0
+  printf("::: DDScrollBuffer.c: DDScrollBuffer_ScrollTowards(): (2) mScroll: %ld, %ld [%d, %d, %f]\n",
+        mScrollX, mScrollY, X, Y, Step);
 #endif
 }
 
index caa7441ce35e67d087377d4a9178e43ed239d5b5..20b9298c48f113ec19eaddb336a38d879e78d5db 100644 (file)
@@ -46,6 +46,26 @@ void subGetNextDemoKey()
       ExitToMenuFlag = 1;
     }
   }
+
+#if 1
+  printf("::: %04d [%03ld, %02d] ----------> %s [%d] [%d, %d] [%d, %d]\n",
+        TimerVar,
+        DemoOffset - DemoPointer, DemoKeyRepeatCounter,
+        (DemoKeyCode == keyNone        ? "(none)"              :
+         DemoKeyCode == keyLeft        ? "left"                :
+         DemoKeyCode == keyRight       ? "right"               :
+         DemoKeyCode == keyUp          ? "up"                  :
+         DemoKeyCode == keyDown        ? "down"                :
+         DemoKeyCode == keySpace       ? "space"               :
+         DemoKeyCode == keySpaceLeft   ? "space + left"        :
+         DemoKeyCode == keySpaceRight  ? "space + right"       :
+         DemoKeyCode == keySpaceUp     ? "space + up"          :
+         DemoKeyCode == keySpaceDown   ? "space + down"        : "(unknown)"),
+        DemoKeyCode,
+        MurphyScreenXPos, MurphyScreenYPos,
+        MurphyPosIndex % 60, MurphyPosIndex / 60);
+#endif
+
 }
 
 currency GetTotalFramesOfDemo()
index 92cdcd99252c07924022c40aa42c6066307be08d..c23e57ade6ee1dedb060001f2663ebb8f1f9a0ad 100644 (file)
@@ -134,6 +134,10 @@ void ScrollTowards(int X, int Y)
   if (NoDisplayFlag)
     return;
 
+#if 0
+  printf("::: 1 ---> %d, %d\n", X, Y);
+#endif
+
   oldX = ScrollX;
   oldY = ScrollY;
   X = ScrollDelta * (X / ScrollDelta);
@@ -145,7 +149,15 @@ void ScrollTowards(int X, int Y)
   //  ScrollX = X
   //  ScrollY = Y
 
+#if 0
+  printf("::: 2 ---> %d, %d\n", X, Y);
+#endif
+
+#if 1
+  Stage.ScrollTowards(X, Y, 2 * Stretch * ZoomFactor);
+#else
   Stage.ScrollTowards(X, Y, 2 * Stretch);
+#endif
 }
 
 void SoftScrollTo(int X, int Y, long TimeMS, int FPS)
index 01d70744f9d61b314cf94ebb0dbda3c8aaad719e..458f8aa653075e9f05c2d0aa4c929ba4201a0ec0 100644 (file)
@@ -66,7 +66,7 @@ int subDoGameStuff()
     } // loop    locloop_g_22B8          ' until all animatables done
   }
 
-#if 1
+#if 0
   printf("::: DoGameStuff.c: KillMurphyFlag == %d [%d]\n",
         KillMurphyFlag, MurphyMoveCounter);
 #endif
@@ -77,7 +77,7 @@ int subDoGameStuff()
   {
     if (LeadOutCounter == 0)
     {
-#if 1
+#if 0
       printf("::: DoGameStuff.c: killing murphy [%d] ...\n", KillMurphyFlag);
 #endif
 
index 67491f730a84fb7ba0801094b6088131c5462628..f8d5277823f5640a3b0e957e9ec2a47670e95de0 100644 (file)
@@ -522,6 +522,10 @@ static void ReadDemo()
   GravityFlag = LInfo.InitialGravity;
   FreezeZonks = LInfo.InitialFreezeZonks;
 
+#if 1
+  printf("::: Globals.c: ReadDemo(): %d / %d\n", GravityFlag, FreezeZonks);
+#endif
+
   RandomSeed = LInfo.DemoRandomSeed;
 
   LevelLoaded = True;
index 6a5e0eafcbde6474bf604a910ee3de4b656531ec..ddf3d4e236b9317f80918bb03c2ae2645984a8d1 100644 (file)
@@ -35,7 +35,9 @@ int subMainGameLoop()
 
   if (DemoFlag != 0)
   {
+#if 1
     printf("::: playing demo ...\n");
+#endif
 
     // EP set level success byte: demo, not game
     WasDemoFlag = 1;
@@ -43,7 +45,9 @@ int subMainGameLoop()
   }
   else // loc_g_1836:
   {
+#if 1
     printf("::: playing game ...\n");
+#endif
 
     // EP set level success byte: game, not demo
     WasDemoFlag = 0;
@@ -142,11 +146,15 @@ locRepeatMainGameLoop:                           // start repeating game loop
   // ----------------------------------------------------------------------------
   //
 
-  printf("::: MainGameLoop.c: subDoGameStuff() START\n");
+#if 0
+  printf("::: >>>>>>>>>> MainGameLoop.c: subDoGameStuff() START\n");
+#endif
 
   subDoGameStuff();                 // do all game stuff
 
-  printf("::: MainGameLoop.c: subDoGameStuff() END\n");
+#if 0
+  printf("::: <<<<<<<<<< MainGameLoop.c: subDoGameStuff() END\n");
+#endif
 
   //
   // ----------------------------------------------------------------------------
@@ -166,7 +174,13 @@ locRepeatMainGameLoop:                           // start repeating game loop
   data_h_Ytmp = ScreenScrollYPos; // copy Y for next soft scroll
   data_h_Xtmp = ScreenScrollXPos; // copy X for next soft scroll
   if ((! UserDragFlag) && AutoScrollFlag)
+  {
+#if 0
+    printf("::: MainGameLoop.c: subMainGameLoop(): %d, %d\n", ScreenScrollXPos, ScreenScrollYPos);
+#endif
+
     ScrollTowards(ScreenScrollXPos, ScreenScrollYPos);
+  }
 
   if (ForcedExitFlag != 0) // Forced Exit?' yes--exit!
     goto locExitMainGameLoop;
index 1d3c74c102544040060d88964bc4e2d8f661c213..7ff39ab33722c9f41a113c6fa51ce1b313df4719 100644 (file)
@@ -11,7 +11,17 @@ static boolean subMoveKillsMurphy(int si, int ax, int bl);
 
 // --- Option Explicit
 
+#if 1
+
+#define LocalStretch                   (2)
+#define MurphyZoomFactor               (ZoomFactor)
+
+#else
+
 #define LocalStretch                   (1)
+#define MurphyZoomFactor               (1)
+
+#endif
 
 // ==========================================================================
 //                              SUBROUTINE
@@ -39,7 +49,7 @@ int subAnimateMurphy(int *si)
   ax = PlayField16[*si];
   al = LowByte(ax);
 
-#if 1
+#if 0
   printf("::: Murphy.c: subAnimateMurphy(): %d [%d, %d] %d, %d [%d]\n",
         *si, *si % 60, *si / 60, ax, al, (al == fiMurphy));
 #endif
@@ -78,6 +88,10 @@ int subAnimateMurphy(int *si)
   if (bl != 0) // a key was pressed!
     goto locKeyPressed5FCF;
 
+#if 1
+  printf("::: !!! %d [%d]\n", DemoKeyCode, GravityFlag);
+#endif
+
   RedDiskReleaseFlag = 1;
   if (ScratchGravity != 0) // gravity pulls & space below?'-> force Space up to down
   {
@@ -1164,8 +1178,14 @@ loc_g_6A1F:
   // We only correct Murphies x-location here, when the sequence starts.
   // Remember that this is not the real bug-fix, but we must live with
   // this existing bug and correct for the consequences of it.
+
+#if 1
+  if (0 == AllowEatRightRedDiskBug) // Murphy's screen x-position
+    MurphyScreenXPos = MurphyScreenXPos - 2 * MurphyZoomFactor;
+#else
   if (0 == AllowEatRightRedDiskBug) // Murphy's screen x-position
     MurphyScreenXPos = MurphyScreenXPos - 2;
+#endif
 
   SeqPos = -1;
   // FS: for me this means to blit the first animation frame twice
@@ -1390,11 +1410,21 @@ loc_g_6C8F:
   {
     // ++++++++++++++++++++++++++
     // Begin of normal movement
+#if 1
+    MurphyScreenXPos = MurphyScreenXPos + MurphyDX * MurphyZoomFactor;
+    MurphyScreenYPos = MurphyScreenYPos + MurphyDY * MurphyZoomFactor;
+#else
     MurphyScreenXPos = MurphyScreenXPos + MurphyDX;
     MurphyScreenYPos = MurphyScreenYPos + MurphyDY;
+#endif
     if (! ClearPos < 0) // clear field that murphy is leaving
       subCopyFieldToScreen(ClearPos, 0);
 
+#if 0
+    printf("::: ---------------> %d, %d [%d, %d]\n",
+          MurphyScreenXPos, MurphyScreenYPos, MurphyDX, MurphyDY);
+#endif
+
     if (dx2 == fiInfotron) // special case of infotron moving left or right
     {
       tDeltaX = 0;
@@ -1432,8 +1462,13 @@ loc_g_6C8F:
   {
     // ++++++++++++++++++++++++++++++++
     // Begin of split movement (port)
+#if 1
+    MurphyScreenXPos = MurphyScreenXPos + 2 * MurphyDX * MurphyZoomFactor;
+    MurphyScreenYPos = MurphyScreenYPos + 2 * MurphyDY * MurphyZoomFactor;
+#else
     MurphyScreenXPos = MurphyScreenXPos + 2 * MurphyDX;
     MurphyScreenYPos = MurphyScreenYPos + 2 * MurphyDY;
+#endif
     subCopyFieldToScreen(ClearPos, 0); // clear the field that murphy leaves
     tDeltaX = MurphyDX * LocalStretch * (SeqPos + 1);
     tDeltaY = MurphyDY * LocalStretch * (SeqPos + 1);
index c0de60e1be4e731bdf33529f513f4121b7dbdf54..13e6db665451098a734270b10e92d62e67ab84bc 100644 (file)
@@ -27,7 +27,7 @@ typedef struct
 #ifndef HAS_LevelInfoType
 typedef struct
 {
-  byte UnUsed[4 + 1];
+  byte UnUsed[4];
   byte InitialGravity; // 1=on, anything else (0) = off
   byte Version; // SpeedFixVersion XOR &H20
   char LevelTitle[23];