rnd-20100701-1-src
authorHolger Schemel <info@artsoft.org>
Wed, 30 Jun 2010 22:53:24 +0000 (00:53 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:59:43 +0000 (10:59 +0200)
src/conftime.h
src/game.c
src/tools.c

index 0d45bca7affed63341460720b848c32f741bfb9b..33348da5ab80f0966d8608fb44288a5a1209b281 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "2010-06-30 23:35"
+#define COMPILE_DATE_STRING "2010-07-01 00:52"
index 5a0a70b76f9cf6169f9ae91edf8c56904fb0469d..895c4d327408977379d3a05e6f92bd14a5bdb0f0 100644 (file)
@@ -4358,8 +4358,8 @@ void InitGame()
 #if 1
   if (TILESIZE_VAR < TILESIZE && EVEN(SCR_FIELDX))
   {
-    // SBX_Left--;
-    SBX_Right++;
+    SBX_Left--;
+    // SBX_Right++;
   }
 #endif
 #endif
index 176b56f683c6ad6b05fcd7145344900251d6f357..2d59752b4d554be69669e7530f2986651c8d99dd 100644 (file)
@@ -439,6 +439,8 @@ void BackToFront()
 #endif
 
 #else
+
+#if 0
        ffx = (scroll_x - SBX_Left) * TILEX_VAR + dx * TILESIZE_VAR / TILESIZE;
 
        if (EVEN(SCR_FIELDX))
@@ -451,6 +453,54 @@ void BackToFront()
          printf("::: %d (%d, %d) [%d] [%d] => %d\n",
                 ffx, SBX_Left * TILEX_VAR, SBX_Right * TILEX_VAR, dx, FX, fx);
        }
+#else
+
+#if 0
+       ffx = (scroll_x - SBX_Left) * TILEX_VAR + dx * TILESIZE_VAR / TILESIZE;
+
+       if (EVEN(SCR_FIELDX))
+       {
+         if (ffx < SBX_Right * TILEX_VAR + TILEX_VAR / 2 + 0 * TILEX_VAR / 2)
+         {
+           fx = fx + dx * TILESIZE_VAR / TILESIZE - MIN(ffx, TILEX_VAR / 2) +
+             1 * TILEX_VAR;
+         }
+         else
+         {
+           fx = fx - (dx <= 0 ? TILEX_VAR : 0) + 1 * TILEX_VAR;
+
+           printf("::: STOPPED\n");
+         }
+
+         printf("::: %d (%d, %d) [%d] [%d] => %d\n",
+                ffx, SBX_Left * TILEX_VAR, SBX_Right * TILEX_VAR, dx, FX, fx);
+       }
+#else
+       /* !!! THIS WORKS !!! */
+
+       ffx = (scroll_x - SBX_Left) * TILEX_VAR + dx * TILESIZE_VAR / TILESIZE;
+
+       if (EVEN(SCR_FIELDX))
+       {
+         if (ffx < SBX_Right * TILEX_VAR + TILEX_VAR / 2 + 2 * TILEX_VAR / 2)
+         {
+           fx = fx + dx * TILESIZE_VAR / TILESIZE - MIN(ffx, TILEX_VAR / 2) +
+             1 * TILEX_VAR;
+         }
+         else
+         {
+           fx = fx - (dx <= 0 ? TILEX_VAR : 0) + 1 * TILEX_VAR;
+
+           printf("::: STOPPED\n");
+         }
+
+         printf("::: %d (%d, %d) [%d] [%d] => %d\n",
+                ffx, SBX_Left * TILEX_VAR, SBX_Right * TILEX_VAR, dx, FX, fx);
+       }
+#endif
+
+#endif
+
 #endif
 
 #if 0