added warnings for undefined element and graphic names in custom artwork
authorHolger Schemel <info@artsoft.org>
Wed, 22 Oct 2014 22:03:02 +0000 (00:03 +0200)
committerHolger Schemel <info@artsoft.org>
Wed, 22 Oct 2014 22:03:02 +0000 (00:03 +0200)
ChangeLog
src/conftime.h
src/init.c

index cab54d534c035478bac6e80ddd41101d6e64d179..cb8b519f6b9c1c16fdf0929d83a1baf10c5e3c09 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-10-22
+       * added warnings when using undefined element and graphic names in
+         custom artwork definitions (like ".crumbled_like" or ".clone_from")
+
 2014-10-20
        * fixed using buttons on main screen with size other than 32x32 pixels
        * fixed some initialization bugs for scrollbars and main screen buttons
index 97a2de1a51ef1126c9a481c70a6318b4113009b0..68a8d305d7dbc150bbd77ed301d83f4a32da7945 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "2014-10-21 01:20"
+#define COMPILE_DATE_STRING "2014-10-22 23:54"
index 39f5c347156d682106bfe79d0f6da337eaea99b5..f431f5b88fe49b818687a01e085aaf6e40d15c87 100644 (file)
@@ -953,13 +953,36 @@ static int get_graphic_parameter_value(char *value_raw, char *suffix, int type)
   {
     char *value = getHashEntry(element_token_hash, value_raw);
 
+    if (value == NULL)
+    {
+      Error(ERR_INFO_LINE, "-");
+      Error(ERR_INFO, "warning: error found in config file:");
+      Error(ERR_INFO, "- config file: '%s'", getImageConfigFilename());
+      Error(ERR_INFO, "error: invalid element token '%s'", value_raw);
+      Error(ERR_INFO, "custom graphic rejected for this element/action");
+      Error(ERR_INFO, "fallback done to undefined element for this graphic");
+      Error(ERR_INFO_LINE, "-");
+    }
+
     return (value != NULL ? atoi(value) : EL_UNDEFINED);
   }
   else if (type == TYPE_GRAPHIC)
   {
     char *value = getHashEntry(graphic_token_hash, value_raw);
+    int fallback_graphic = IMG_CHAR_EXCLAM;
+
+    if (value == NULL)
+    {
+      Error(ERR_INFO_LINE, "-");
+      Error(ERR_INFO, "warning: error found in config file:");
+      Error(ERR_INFO, "- config file: '%s'", getImageConfigFilename());
+      Error(ERR_INFO, "error: invalid graphic token '%s'", value_raw);
+      Error(ERR_INFO, "custom graphic rejected for this element/action");
+      Error(ERR_INFO, "fallback done to 'char_exclam' for this graphic");
+      Error(ERR_INFO_LINE, "-");
+    }
 
-    return (value != NULL ? atoi(value) : IMG_UNDEFINED);
+    return (value != NULL ? atoi(value) : fallback_graphic);
   }
 
   return -1;