rnd-20050918-1-src
authorHolger Schemel <info@artsoft.org>
Sun, 18 Sep 2005 10:04:13 +0000 (12:04 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:49:19 +0000 (10:49 +0200)
* fixed bug preventing "walkable from no direction" from being ignored
  (due to compatibility code overwriting this setting after loading)

ChangeLog
src/Makefile
src/conftime.h
src/files.c
src/game.c
src/main.h

index b3ae71e4f88d8d2bd5af778a814b326264e720e4..61685439fb4b68bd4d50386176445d7750b400f8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2005-08-20
+       * fixed bug preventing "walkable from no direction" from being ignored
+         (due to compatibility code overwriting this setting after loading)
+
 2005-08-15
        * fixed bug on Mac OS X (use of reserved name "Random") in EM engine
 
index 973fdeadd74f539c7f5525d0a08a5585da101790..4cd0223f346f74ffcf1c2d343fc13504c8065592 100644 (file)
@@ -125,7 +125,7 @@ CONFIG_GAME_DIR = $(CONFIG_RO_GAME_DIR) $(CONFIG_RW_GAME_DIR)
 
 
 CONFIG = $(CONFIG_GAME_DIR) $(CONFIG_SCORE_ENTRIES) $(JOYSTICK)
-DEBUG = -DDEBUG -g
+DEBUG = -DDEBUG -g
 # PROFILING = $(PROFILING_FLAGS)
 
 # OPTIONS = $(DEBUG) -Wall                     # only for debugging purposes
index d3021871bce22ecfbfefc29523fc0442d2a19976..f9a04fd0a83bd880bbb36b61db1a9a0cbce0cdca 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2005-08-16 00:08]"
+#define COMPILE_DATE_STRING "[2005-08-20 17:50]"
index 93ab6bc8e1b564612179ae24109ec3be17b2684c..e1cd2ed4016c7cdf6ea7093adbbcf90895f8b7bc 100644 (file)
@@ -2760,20 +2760,23 @@ static void LoadLevel_InitElements(struct LevelInfo *level, char *filename)
   }
 
   /* correct custom element values (for old levels without these options) */
-  for (i = 0; i < NUM_CUSTOM_ELEMENTS; i++)
+  if (level->game_version < VERSION_IDENT(3,1,1,0))
   {
-    int element = EL_CUSTOM_START + i;
-    struct ElementInfo *ei = &element_info[element];
+    for (i = 0; i < NUM_CUSTOM_ELEMENTS; i++)
+    {
+      int element = EL_CUSTOM_START + i;
+      struct ElementInfo *ei = &element_info[element];
 
-    if (ei->access_direction == MV_NO_MOVING)
-      ei->access_direction = MV_ALL_DIRECTIONS;
+      if (ei->access_direction == MV_NO_MOVING)
+       ei->access_direction = MV_ALL_DIRECTIONS;
 
-    for (j = 0; j < ei->num_change_pages; j++)
-    {
-      struct ElementChangeInfo *change = &ei->change_page[j];
+      for (j = 0; j < ei->num_change_pages; j++)
+      {
+       struct ElementChangeInfo *change = &ei->change_page[j];
 
-      if (change->trigger_side == CH_SIDE_NONE)
-       change->trigger_side = CH_SIDE_ANY;
+       if (change->trigger_side == CH_SIDE_NONE)
+         change->trigger_side = CH_SIDE_ANY;
+      }
     }
   }
 
index b0d7ec6bfd1a670820bce99d0111fd67b8c7db58..56768b1b9951830e66ea7d380d45b91cf333a89d 100644 (file)
@@ -58,6 +58,8 @@
 
 #define USE_CHANGE_TO_TRIGGERED                (TRUE   * USE_NEW_STUFF         * 1)
 
+#define USE_BACK_WALKABLE_BUGFIX       (TRUE   * USE_NEW_STUFF         * 1)
+
 
 /* for DigField() */
 #define DF_NO_PUSH             0
@@ -11460,6 +11462,13 @@ int DigField(struct PlayerInfo *player,
 
   if (IS_TUBE(Back[jx][jy]) && game.engine_version >= VERSION_IDENT(2,2,0,0))
     old_element = Back[jx][jy];
+#if USE_BACK_WALKABLE_BUGFIX
+
+  /* in case of element dropped at player position, check background */
+  else if (Back[jx][jy] != EL_EMPTY &&
+          game.engine_version >= VERSION_IDENT(2,2,0,0))
+    old_element = Back[jx][jy];
+#endif
 
 #endif
 
index 2a2714a830ab47b1ec5b2f1ddd289e024e0e14a2..f1e41134cfa5a1a6a6252312fef0e790a8b55b68 100644 (file)
 
 /* program information and versioning definitions */
 
-#define RELEASE_311                    TRUE
+#define RELEASE_311                    FALSE
 
 #if RELEASE_311
 #define PROGRAM_VERSION_MAJOR          3
 #define PROGRAM_VERSION_MINOR          1
-#define PROGRAM_VERSION_PATCH          1
+#define PROGRAM_VERSION_PATCH          2
 #define PROGRAM_VERSION_BUILD          0
 #else
 /* !!! make sure that packaging script can find unique version number !!! */
-#define X_PROGRAM_VERSION_MAJOR                3
-#define X_PROGRAM_VERSION_MINOR                2
-#define X_PROGRAM_VERSION_PATCH                0
-#define X_PROGRAM_VERSION_BUILD                3
+#define PROGRAM_VERSION_MAJOR          3
+#define PROGRAM_VERSION_MINOR          2
+#define PROGRAM_VERSION_PATCH          0
+#define PROGRAM_VERSION_BUILD          3
 #endif
 
 #define PROGRAM_TITLE_STRING           "Rocks'n'Diamonds"