X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fmisc.c;h=ae4b5d78e797c470863e88e09313172700eeca0d;hb=a7c06161253796a30a0237a7f5a044f459c8cf35;hp=d0746a46a1f650b4a1fcc2c5dcb8dbfac715f819;hpb=307f92e3ee14cdab72466e5998eef66c0ef3ae38;p=rocksndiamonds.git diff --git a/src/libgame/misc.c b/src/libgame/misc.c index d0746a46..ae4b5d78 100644 --- a/src/libgame/misc.c +++ b/src/libgame/misc.c @@ -1644,7 +1644,7 @@ void translate_keyname(Key *keysym, char **x11name, char **name, int mode) { KSYM_braceright, "XK_braceright", "brace right" }, { KSYM_asciitilde, "XK_asciitilde", "~" }, - /* special (non-ASCII) keys */ + /* special (non-ASCII) keys (ISO-Latin-1) */ { KSYM_degree, "XK_degree", "°" }, { KSYM_Adiaeresis, "XK_Adiaeresis", "Ä" }, { KSYM_Odiaeresis, "XK_Odiaeresis", "Ö" }, @@ -1654,6 +1654,21 @@ void translate_keyname(Key *keysym, char **x11name, char **name, int mode) { KSYM_udiaeresis, "XK_udiaeresis", "ü" }, { KSYM_ssharp, "XK_ssharp", "sharp s" }, +#if defined(TARGET_SDL2) + /* special (non-ASCII) keys (UTF-8, for reverse mapping only) */ + { KSYM_degree, "XK_degree", "\xc2\xb0" }, + { KSYM_Adiaeresis, "XK_Adiaeresis", "\xc3\x84" }, + { KSYM_Odiaeresis, "XK_Odiaeresis", "\xc3\x96" }, + { KSYM_Udiaeresis, "XK_Udiaeresis", "\xc3\x9c" }, + { KSYM_adiaeresis, "XK_adiaeresis", "\xc3\xa4" }, + { 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) /* keypad keys are not in numerical order in SDL2 */ { KSYM_KP_0, "XK_KP_0", "keypad 0" }, @@ -2481,13 +2496,22 @@ boolean fileHasSuffix(char *basename, char *suffix) 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) - return (!fileHasSuffix(basename, "txt") && - !fileHasSuffix(basename, "conf")); + return FileCouldBeArtwork(basename); #else return fileHasSuffix(basename, "pcx"); #endif @@ -2498,8 +2522,7 @@ boolean FileIsSound(char *filename) char *basename = getBaseNamePtr(filename); #if defined(TARGET_SDL) - return (!fileHasSuffix(basename, "txt") && - !fileHasSuffix(basename, "conf")); + return FileCouldBeArtwork(basename); #else return fileHasSuffix(basename, "wav"); #endif @@ -2510,8 +2533,7 @@ boolean FileIsMusic(char *filename) char *basename = getBaseNamePtr(filename); #if defined(TARGET_SDL) - return (!fileHasSuffix(basename, "txt") && - !fileHasSuffix(basename, "conf")); + return FileCouldBeArtwork(basename); #else if (FileIsSound(basename)) return TRUE; @@ -3755,7 +3777,7 @@ void NotifyUserAboutErrorFile() #if DEBUG -#define DEBUG_PRINT_INIT_TIMESTAMPS TRUE +#define DEBUG_PRINT_INIT_TIMESTAMPS FALSE #define DEBUG_PRINT_INIT_TIMESTAMPS_DEPTH 10 #define DEBUG_NUM_TIMESTAMPS 10