You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-12-01 16:38:31 +00:00
Allow customizing user:// path (folder in OS::get_data_path())
This allows to specify any valid folder name (including with subfolders) to use as user:// on all platforms. The folder is constrained to the platform-specific OS::get_data_path() (typically what `XDG_DATA_HOME` resolves to). Fixes #13236.
This commit is contained in:
@@ -2199,14 +2199,17 @@ String OS_Windows::get_system_dir(SystemDir p_dir) const {
|
||||
|
||||
String OS_Windows::get_user_data_dir() const {
|
||||
|
||||
String appname = get_safe_application_name();
|
||||
String appname = get_safe_dir_name(ProjectSettings::get_singleton()->get("application/config/name"));
|
||||
if (appname != "") {
|
||||
|
||||
bool use_godot_dir = ProjectSettings::get_singleton()->get("application/config/use_shared_user_dir");
|
||||
if (use_godot_dir) {
|
||||
return get_data_path().plus_file(get_godot_dir_name()).plus_file("app_userdata").plus_file(appname).replace("\\", "/");
|
||||
bool use_custom_dir = ProjectSettings::get_singleton()->get("application/config/use_custom_user_dir");
|
||||
if (use_custom_dir) {
|
||||
String custom_dir = get_safe_dir_name(ProjectSettings::get_singleton()->get("application/config/custom_user_dir_name"), true);
|
||||
if (custom_dir == "") {
|
||||
custom_dir = appname;
|
||||
}
|
||||
return get_data_path().plus_file(custom_dir).replace("\\", "/");
|
||||
} else {
|
||||
return get_data_path().plus_file(appname).replace("\\", "/");
|
||||
return get_data_path().plus_file(get_godot_dir_name()).plus_file("app_userdata").plus_file(appname).replace("\\", "/");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user