summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2019-08-17 19:03:18 +0200
committerRémi Verschelde <rverschelde@gmail.com>2019-08-17 19:03:28 +0200
commitad8746e0de047b9153496d2c88cb14a92cc82be9 (patch)
tree08cfb44cba2ea74b9fe74157e548ad41f16f9545 /core
parent86371b7298e32356c8ce892f768c56bec7088292 (diff)
DirAccessPack: Fix dir_exists and file_exists for res:// paths
Both methods check against containers using relative paths as index, so the `res://` part needs to be stripped. Fixes #26009.
Diffstat (limited to 'core')
-rw-r--r--core/io/file_access_pack.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/core/io/file_access_pack.cpp b/core/io/file_access_pack.cpp
index 6b683759f8..d49d36c2b9 100644
--- a/core/io/file_access_pack.cpp
+++ b/core/io/file_access_pack.cpp
@@ -90,7 +90,7 @@ void PackedData::add_path(const String &pkg_path, const String &path, uint64_t o
}
}
String filename = path.get_file();
- // Don't add as a file if the path points to a directoryy
+ // Don't add as a file if the path points to a directory
if (!filename.empty()) {
cd->files.insert(filename);
}
@@ -460,11 +460,15 @@ String DirAccessPack::get_current_dir() {
bool DirAccessPack::file_exists(String p_file) {
+ p_file = fix_path(p_file);
+
return current->files.has(p_file);
}
bool DirAccessPack::dir_exists(String p_dir) {
+ p_dir = fix_path(p_dir);
+
return current->subdirs.has(p_dir);
}