removed unneeded reference to app bundle directory for Mac OS X
[rocksndiamonds.git] / src / libgame / misc.c
index 271a8dfbb884946c0f3acfcba022b40d9ba0fa84..b1d0d96bda910307bc80259b8f741cea0c021632 100644 (file)
@@ -571,7 +571,7 @@ char *getLoginName()
     if (GetUserName(login_name, &buffer_size) == 0)
       strcpy(login_name, ANONYMOUS_NAME);
   }
-#else
+#elif defined(PLATFORM_UNIX) && !defined(PLATFORM_ANDROID)
   if (login_name == NULL)
   {
     struct passwd *pwd;
@@ -581,6 +581,8 @@ char *getLoginName()
     else
       login_name = getStringCopy(pwd->pw_name);
   }
+#else
+  login_name = ANONYMOUS_NAME;
 #endif
 
   return login_name;
@@ -680,10 +682,16 @@ char *getBasePath(char *filename)
   char *basepath = getStringCopy(filename);
   char *last_separator = getLastPathSeparatorPtr(basepath);
 
-  if (last_separator != NULL)
-    *last_separator = '\0';    /* separator found: strip basename */
-  else
-    basepath = ".";            /* no separator found: use current path */
+  /* if no separator was found, use current directory */
+  if (last_separator == NULL)
+  {
+    free(basepath);
+
+    return getStringCopy(".");
+  }
+
+  /* separator found: strip basename */
+  *last_separator = '\0';
 
   return basepath;
 }
@@ -693,36 +701,13 @@ static char *getProgramMainDataPath()
   char *main_data_path = getStringCopy(program.command_basepath);
 
 #if defined(PLATFORM_MACOSX)
-  static char *main_data_binary_subdir = NULL;
-  static char *main_data_files_subdir = NULL;
-
-  if (main_data_binary_subdir == NULL)
-  {
-    main_data_binary_subdir = checked_malloc(strlen(program.program_title) + 1 +
-                                            strlen("app") + 1 +
-                                            strlen(MAC_APP_BINARY_SUBDIR) + 1);
-
-    sprintf(main_data_binary_subdir, "%s.app/%s",
-           program.program_title, MAC_APP_BINARY_SUBDIR);
-  }
-
-  if (main_data_files_subdir == NULL)
-  {
-    main_data_files_subdir = checked_malloc(strlen(program.program_title) + 1 +
-                                           strlen("app") + 1 +
-                                           strlen(MAC_APP_FILES_SUBDIR) + 1);
-
-    sprintf(main_data_files_subdir, "%s.app/%s",
-           program.program_title, MAC_APP_FILES_SUBDIR);
-  }
-
-  if (strSuffix(main_data_path, main_data_binary_subdir))
+  if (strSuffix(main_data_path, MAC_APP_BINARY_SUBDIR))
   {
     char *main_data_path_old = main_data_path;
 
     // cut relative path to Mac OS X application binary directory from path
     main_data_path[strlen(main_data_path) -
-                  strlen(main_data_binary_subdir)] = '\0';
+                  strlen(MAC_APP_BINARY_SUBDIR)] = '\0';
 
     // cut trailing path separator from path (but not if path is root directory)
     if (strSuffix(main_data_path, "/") && !strEqual(main_data_path, "/"))
@@ -733,7 +718,7 @@ static char *getProgramMainDataPath()
       main_data_path = ".";
 
     // add relative path to Mac OS X application resources directory to path
-    main_data_path = getPath2(main_data_path, main_data_files_subdir);
+    main_data_path = getPath2(main_data_path, MAC_APP_FILES_SUBDIR);
 
     free(main_data_path_old);
   }
@@ -1003,6 +988,12 @@ void GetOptions(int argc, char *argv[],
   if (*options_left == NULL)   /* no options given -- enable verbose mode */
     options.verbose = TRUE;
 #endif
+#endif
+
+#if DEBUG
+#if defined(PLATFORM_ANDROID)
+  options.debug = TRUE;
+#endif
 #endif
 
   while (*options_left)
@@ -1212,6 +1203,10 @@ void Error(int mode, char *format, ...)
                      ANDROID_LOG_UNKNOWN);
 #endif
 
+  /* display debug messages only when running in debug mode */
+  if (mode & ERR_DEBUG && !options.debug)
+    return;
+
   /* display warnings only when running in verbose mode */
   if (mode & ERR_WARN && !options.verbose)
     return;
@@ -2910,6 +2905,9 @@ int get_parameter_value(char *value_raw, char *suffix, int type)
 
     if (string_has_parameter(value, "inner_corners"))
       result |= STYLE_INNER_CORNERS;
+
+    if (string_has_parameter(value, "reverse"))
+      result |= STYLE_REVERSE;
   }
   else if (strEqual(suffix, ".fade_mode"))
   {