diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2019-08-17 19:03:18 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2019-08-17 19:03:28 +0200 |
commit | ad8746e0de047b9153496d2c88cb14a92cc82be9 (patch) | |
tree | 08cfb44cba2ea74b9fe74157e548ad41f16f9545 /core | |
parent | 86371b7298e32356c8ce892f768c56bec7088292 (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.cpp | 6 |
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); } |