rnd-20051210-3-src
authorHolger Schemel <info@artsoft.org>
Sat, 10 Dec 2005 18:00:27 +0000 (19:00 +0100)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:49:44 +0000 (10:49 +0200)
* fixed bug with invalid ("undefined") CE settings in old level files

ChangeLog
src/conftime.h
src/files.c

index 4dc9d3566e0a0b051f448587373b053999eb7f7a..f460f13738adb3c520d835725bb114e3d2f24bf3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,6 @@
 2005-12-10
        * added image config suffix ".clone_from" to copy whole image settings
+       * fixed bug with invalid ("undefined") CE settings in old level files
 
 2005-12-05
        * fixed graphical bug with smashing elements falling faster than player
index c6713ecc32adcc80e8065a84e72b26f88c9fe922..a38f62e33c2e6dd950d9abf62baacff195dc2ac6 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2005-12-10 17:15]"
+#define COMPILE_DATE_STRING "[2005-12-10 18:56]"
index 488fb60a851f40da952424dd3707f36051838d2f..ad444f0208d837d8842b314ab94744ff8ef104d6 100644 (file)
@@ -2611,13 +2611,36 @@ static void LoadLevel_InitElements(struct LevelInfo *level, char *filename)
       int element = EL_CUSTOM_START + i;
       struct ElementInfo *ei = &element_info[element];
 
-      if (ei->access_direction == MV_NO_MOVING)
+      if (ei->access_direction == MV_NO_DIRECTIONS)
        ei->access_direction = MV_ALL_DIRECTIONS;
 
+#if 0
+      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;
+      }
+#endif
+    }
+  }
+
+  /* correct custom element values (fix invalid values for all versions) */
+  if (1)
+  {
+    for (i = 0; i < NUM_CUSTOM_ELEMENTS; i++)
+    {
+      int element = EL_CUSTOM_START + i;
+      struct ElementInfo *ei = &element_info[element];
+
       for (j = 0; j < ei->num_change_pages; j++)
       {
        struct ElementChangeInfo *change = &ei->change_page[j];
 
+       if (change->trigger_player == CH_PLAYER_NONE)
+         change->trigger_player = CH_PLAYER_ANY;
+
        if (change->trigger_side == CH_SIDE_NONE)
          change->trigger_side = CH_SIDE_ANY;
       }