rnd-20140114-1-src
[rocksndiamonds.git] / src / libgame / misc.c
index 8114d79e40b82fb59325a2882cbd2afc2f5d3762..ae4b5d78e797c470863e88e09313172700eeca0d 100644 (file)
@@ -1664,6 +1664,9 @@ void translate_keyname(Key *keysym, char **x11name, char **name, int mode)
     { KSYM_odiaeresis, "XK_odiaeresis",        "\xc3\xb6" },
     { KSYM_udiaeresis, "XK_udiaeresis",        "\xc3\xbc" },
     { KSYM_ssharp,     "XK_ssharp",            "\xc3\x9f" },
     { KSYM_odiaeresis, "XK_odiaeresis",        "\xc3\xb6" },
     { KSYM_udiaeresis, "XK_udiaeresis",        "\xc3\xbc" },
     { KSYM_ssharp,     "XK_ssharp",            "\xc3\x9f" },
+
+    /* other keys (for reverse mapping only) */
+    { KSYM_space,      "XK_space",             " " },
 #endif
 
 #if defined(TARGET_SDL2)
 #endif
 
 #if defined(TARGET_SDL2)
@@ -2493,13 +2496,22 @@ boolean fileHasSuffix(char *basename, char *suffix)
   return FALSE;
 }
 
   return FALSE;
 }
 
+#if defined(TARGET_SDL)
+static boolean FileCouldBeArtwork(char *basename)
+{
+  return (!strEqual(basename, ".") &&
+         !strEqual(basename, "..") &&
+         !fileHasSuffix(basename, "txt") &&
+         !fileHasSuffix(basename, "conf"));
+}
+#endif
+
 boolean FileIsGraphic(char *filename)
 {
   char *basename = getBaseNamePtr(filename);
 
 #if defined(TARGET_SDL)
 boolean FileIsGraphic(char *filename)
 {
   char *basename = getBaseNamePtr(filename);
 
 #if defined(TARGET_SDL)
-  return (!fileHasSuffix(basename, "txt") &&
-         !fileHasSuffix(basename, "conf"));
+  return FileCouldBeArtwork(basename);
 #else
   return fileHasSuffix(basename, "pcx");
 #endif
 #else
   return fileHasSuffix(basename, "pcx");
 #endif
@@ -2510,8 +2522,7 @@ boolean FileIsSound(char *filename)
   char *basename = getBaseNamePtr(filename);
 
 #if defined(TARGET_SDL)
   char *basename = getBaseNamePtr(filename);
 
 #if defined(TARGET_SDL)
-  return (!fileHasSuffix(basename, "txt") &&
-         !fileHasSuffix(basename, "conf"));
+  return FileCouldBeArtwork(basename);
 #else
   return fileHasSuffix(basename, "wav");
 #endif
 #else
   return fileHasSuffix(basename, "wav");
 #endif
@@ -2522,8 +2533,7 @@ boolean FileIsMusic(char *filename)
   char *basename = getBaseNamePtr(filename);
 
 #if defined(TARGET_SDL)
   char *basename = getBaseNamePtr(filename);
 
 #if defined(TARGET_SDL)
-  return (!fileHasSuffix(basename, "txt") &&
-         !fileHasSuffix(basename, "conf"));
+  return FileCouldBeArtwork(basename);
 #else
   if (FileIsSound(basename))
     return TRUE;
 #else
   if (FileIsSound(basename))
     return TRUE;