function path_search(paths, _filter = ".png") { var _paths = []; for( var i = 0, n = array_length(paths); i < n; i++ ) array_append(_paths, paths_to_array_ext(paths[i], _filter)); return _paths; } function path_dir_get_files(paths, _extension = ".png", _recur = true) { paths = string_trim_end(paths, ["/", "\\"]); var _ext = string_splice(_extension, ";", false, false); var _paths = []; if(!directory_exists(paths)) return _paths; var st = ds_stack_create(); var _root = true; ds_stack_push(st, paths); while(!ds_stack_empty(st)) { var curr_path = ds_stack_pop(st); var file = file_find_first(curr_path + "/*", fa_none); while(file != "") { var file_full = curr_path + "/" + file; if((_recur || _root) && directory_exists(file_full)) ds_stack_push(st, file_full); else if(array_exists(_ext, string_lower(filename_ext(file)))) array_push(_paths, file_full); file = file_find_next(); } file_find_close(); _root = false; } ds_stack_destroy(st); return _paths; } function paths_to_array_ext(paths, _extension = ".png") { var _ext = string_splice(_extension, ";", false, false); var _p = []; for(var i = array_length(paths) - 1; i >= 0; i--) { if(file_exists(paths[i]) && array_exists(_ext, filename_ext(paths[i]))) array_push(_p, paths[i]); } return _p; } function path_is_image(path) { if(!file_exists_empty(path)) return false; var ext = filename_ext(path); switch(ext) { case ".png": case ".jpg": case ".jpeg": case ".gif": return true; } return false; } function path_is_project(path, checkExist = true) { if(checkExist && !file_exists_empty(path)) return false; var ext = filename_ext(path); ext = string_lower(string_letters(ext)); switch(ext) { case "pxc": case "cpxc": return true; } return false; } function path_is_backup(path) { if(!path_is_project(path)) return false; var ext = string_lower(filename_ext(path)); ext = string_replace(ext, ".", ""); return string_letters(ext) != ext; } function filename_ext_raw(path) { return string_lower(string_replace(filename_ext(path), ".", "")); }