rnd-20060110-2-src
authorHolger Schemel <info@artsoft.org>
Tue, 10 Jan 2006 17:59:13 +0000 (18:59 +0100)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:50:20 +0000 (10:50 +0200)
src/conftime.h
src/game.c

index 8fdb179dd26b7a622835cb6e12391ac5adb52091..ba055a8ec7b1e0598ac16e5fd315f39cc86de44f 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2006-01-09 23:43]"
+#define COMPILE_DATE_STRING "[2006-01-10 18:58]"
index c9eb9360017fc84207d7f1505fde9b40e53d86bd..dc1ab4c4163fdc67fec2a88ce9bbb9de48491036 100644 (file)
@@ -7419,19 +7419,19 @@ static void ExecuteCustomElementAction(int x, int y, int element, int page)
   }
 }
 
-static void CreateField(int x, int y, int target_element)
+static void CreateFieldExt(int x, int y, int element, boolean is_change)
 {
   int previous_move_direction = MovDir[x][y];
 #if USE_NEW_CUSTOM_VALUE
   int last_ce_value = CustomValue[x][y];
 #endif
-  boolean add_player = (ELEM_IS_PLAYER(target_element) &&
+  boolean add_player = (ELEM_IS_PLAYER(element) &&
                        IS_WALKABLE(Feld[x][y]));
 
   /* check if element under player changes from accessible to unaccessible
      (needed for special case of dropping element which then changes) */
   if (IS_PLAYER(x, y) && !PLAYER_EXPLOSION_PROTECTED(x, y) &&
-      IS_ACCESSIBLE(Feld[x][y]) && !IS_ACCESSIBLE(target_element))
+      IS_ACCESSIBLE(Feld[x][y]) && !IS_ACCESSIBLE(element))
   {
     Bang(x, y);
 
@@ -7445,7 +7445,7 @@ static void CreateField(int x, int y, int target_element)
     else
       RemoveField(x, y);
 
-    Feld[x][y] = target_element;
+    Feld[x][y] = element;
 
     ResetGfxAnimation(x, y);
     ResetRandomAnimationValue(x, y);
@@ -7467,23 +7467,25 @@ static void CreateField(int x, int y, int target_element)
   }
 
   /* "ChangeCount" not set yet to allow "entered by player" change one time */
-  if (ELEM_IS_PLAYER(target_element))
-    RelocatePlayer(x, y, target_element);
+  if (ELEM_IS_PLAYER(element))
+    RelocatePlayer(x, y, element);
 
-#if 0
-  ChangeCount[x][y]++;         /* count number of changes in the same frame */
-#endif
+  if (is_change)
+    ChangeCount[x][y]++;       /* count number of changes in the same frame */
 
   TestIfBadThingTouchesPlayer(x, y);
   TestIfPlayerTouchesCustomElement(x, y);
   TestIfElementTouchesCustomElement(x, y);
 }
 
-static void CreateElementFromChange(int x, int y, int element)
+static void CreateField(int x, int y, int element)
 {
-  CreateField(x, y, element);
+  CreateFieldExt(x, y, element, FALSE);
+}
 
-  ChangeCount[x][y]++;         /* count number of changes in the same frame */
+static void CreateElementFromChange(int x, int y, int element)
+{
+  CreateFieldExt(x, y, element, TRUE);
 }
 
 static boolean ChangeElement(int x, int y, int element, int page)