fixed bug with deriving game data directory from default 'setup.conf'
[rocksndiamonds.git] / src / main.c
index f766a5ded682202fc8e2be0aa15dd82d7127079c..75818dfc67d0fad777102152de3d377e7b2edbb0 100644 (file)
@@ -5295,6 +5295,26 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] =
     "mm_fuel",
     "extra energy ball (empty)"
   },
+  {
+    "mm_unused_156",
+    "unused",
+    "(not used)"
+  },
+  {
+    "mm_unused_157",
+    "unused",
+    "(not used)"
+  },
+  {
+    "mm_unused_158",
+    "unused",
+    "(not used)"
+  },
+  {
+    "mm_unused_159",
+    "unused",
+    "(not used)"
+  },
   {
     "df_mirror_1",
     "df_mirror",
@@ -7285,6 +7305,7 @@ struct ElementActionInfo element_action_info[NUM_ACTIONS + 1 + 1] =
   { ".eating",                 ACTION_EATING,                  FALSE   },
   { ".twinkling",              ACTION_TWINKLING,               FALSE   },
   { ".splashing",              ACTION_SPLASHING,               FALSE   },
+  { ".hitting",                        ACTION_HITTING,                 FALSE   },
   { ".page[1]",                        ACTION_PAGE_1,                  FALSE   },
   { ".page[2]",                        ACTION_PAGE_2,                  FALSE   },
   { ".page[3]",                        ACTION_PAGE_3,                  FALSE   },
@@ -7667,10 +7688,14 @@ static void InitProgramConfig(char *command_filename)
   if (fileExists(config_filename))
   {
     // if program config file exists, derive Unix user data directory from it
-    userdata_basename = getBaseName(config_filename);
+    // (but only if the program config file is not generic "setup.conf" file)
+    if (!strEqual(getBaseNamePtr(config_filename), SETUP_FILENAME))
+    {
+      userdata_basename = getBaseName(config_filename);
 
-    if (strSuffix(userdata_basename, ".conf"))
-      userdata_basename[strlen(userdata_basename) - 5] = '\0';
+      if (strSuffix(userdata_basename, ".conf"))
+       userdata_basename[strlen(userdata_basename) - 5] = '\0';
+    }
 
     LoadSetupFromFilename(config_filename);
   }