rnd-20040407-1-src
authorHolger Schemel <info@artsoft.org>
Tue, 6 Apr 2004 23:22:20 +0000 (01:22 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:46:50 +0000 (10:46 +0200)
* fixed bug with incorrectly initialized custom element editor graphics
* corrected set "Contributions_1995-2000/rnd_kjell_kristiansson":
  - number of levels corrected from 18 to 17 in "levelinfo.conf"

ChangeLog
src/conftime.h
src/editor.c
src/files.c
src/init.c
src/tools.c
src/tools.h

index 7344cfc5b0236bf37e040fd73d1b68c092a70fad..46ff55382c65b4474b05058e6d018006f1938438 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2004-04-07
+       * fixed bug with incorrectly initialized custom element editor graphics
+
+2004-04-04
+       * corrected set "Contributions_1995-2000/rnd_kjell_kristiansson":
+         - number of levels corrected from 18 to 17 in "levelinfo.conf"
+
 2004-03-31
        * fixed bug with destroyed robot wheel still attracting robots forever
        * fixed bug with time gate switch deactivating after robot wheel time
index e7eb87ccb548f089d3812e464eebbc8aa831e7b0..bbc9960acd3ec6715b75bb17963deca2b28c2eb3 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2004-04-03 19:34]"
+#define COMPILE_DATE_STRING "[2004-04-07 00:46]"
index 98b8375c478d79cce2130c2ea7a5fc7a69934f87..400804796e50e25853d8d24a6320efb9f7960f8d 100644 (file)
@@ -6156,7 +6156,7 @@ void DrawLevelEd()
 
   redraw_mask |= REDRAW_ALL;
 
-  ReinitializeElementListButtons();    /* only needed after setup changes */
+  ReinitializeElementListButtons();    /* custom element may look different */
 #if 0
   ModifyEditorElementList();           /* may be needed for custom elements */
 #endif
index c07a04c5ce5873d51f17736e5bc6fec2972ce1db..929d38dc1953343fe52c1460061fd6a4def30e83 100644 (file)
@@ -2095,6 +2095,11 @@ static void LoadLevel_InitVersion(struct LevelInfo *level, char *filename)
        pre-2.0 levels, where the game version is still taken from the
        file format version used to store the level -- see above). */
 
+#if 1
+    /* player was faster than enemies in 1.0.0 and before */
+    if (level->file_version == FILE_VERSION_1_0)
+      level->double_speed = TRUE;
+#else
     /* do some special adjustments to support older level versions */
     if (level->file_version == FILE_VERSION_1_0)
     {
@@ -2104,8 +2109,9 @@ static void LoadLevel_InitVersion(struct LevelInfo *level, char *filename)
       /* player was faster than monsters in (pre-)1.0 levels */
       level->double_speed = TRUE;
     }
+#endif
 
-    /* Default behaviour for EM style gems was "slippery" only in 2.0.1 */
+    /* default behaviour for EM style gems was "slippery" only in 2.0.1 */
     if (level->game_version == VERSION_IDENT(2,0,1,0))
       level->em_slippery_gems = TRUE;
 
index 715a57fde04e3dfaf450288dce2bb90f048b5973..be534850ab26da0cf5935fc3fe72da7356116aef 100644 (file)
@@ -440,14 +440,15 @@ void InitElementGraphicInfo()
     int direction    = element_to_graphic[i].direction;
     boolean crumbled = element_to_graphic[i].crumbled;
     int graphic      = element_to_graphic[i].graphic;
+    int base_graphic = el2baseimg(element);
 
     if (graphic_info[graphic].bitmap == NULL)
       continue;
 
     if ((action > -1 || direction > -1 || crumbled == TRUE) &&
-       el2img(element) != -1)
+       base_graphic != -1)
     {
-      boolean base_redefined = getImageListEntry(el2img(element))->redefined;
+      boolean base_redefined = getImageListEntry(base_graphic)->redefined;
       boolean act_dir_redefined = getImageListEntry(graphic)->redefined;
 
       /* if the base graphic ("emerald", for example) has been redefined,
@@ -759,7 +760,8 @@ void InitElementSpecialGraphicInfo()
     int element = element_to_special_graphic[i].element;
     int special = element_to_special_graphic[i].special;
     int graphic = element_to_special_graphic[i].graphic;
-    boolean base_redefined = getImageListEntry(el2img(element))->redefined;
+    int base_graphic = el2baseimg(element);
+    boolean base_redefined = getImageListEntry(base_graphic)->redefined;
     boolean special_redefined = getImageListEntry(graphic)->redefined;
 
     /* if the base graphic ("emerald", for example) has been redefined,
index fb1e39494794714f2f81c23b556de38fdc12a3f1..4a4539b49faf310e2b806c893eae6c2d85fe3040 100644 (file)
@@ -2889,6 +2889,11 @@ int el_dir2img(int element, int direction)
   return el_act_dir2img(element, ACTION_DEFAULT, direction);
 }
 
+int el2baseimg(int element)
+{
+  return element_info[element].graphic[ACTION_DEFAULT];
+}
+
 int el2img(int element)
 {
   element = GFX_ELEMENT(element);
index d5170c776e922b66b4aac5d06eacfb9e7d8f6743..022473a95dba8be9b015f17b144c55867e8071ed 100644 (file)
@@ -141,6 +141,7 @@ int get_next_element(int);
 int el_act_dir2img(int, int, int);
 int el_act2img(int, int);
 int el_dir2img(int, int);
+int el2baseimg(int);
 int el2img(int);
 int el2edimg(int);
 int el2preimg(int);