X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fmisc.c;h=b1d0d96bda910307bc80259b8f741cea0c021632;hb=58edf10f5b07ac0e3c2536ed5e3a3bb996c8fc31;hp=3e7719e1da6a32292a6a1339784f5ed27024150e;hpb=0c2353284cebd88f2d68cafc2acced0285a00b53;p=rocksndiamonds.git diff --git a/src/libgame/misc.c b/src/libgame/misc.c index 3e7719e1..b1d0d96b 100644 --- a/src/libgame/misc.c +++ b/src/libgame/misc.c @@ -682,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; } @@ -695,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, "/")) @@ -735,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); } @@ -2922,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")) {