From 7d4baaed2b5759889a0344b62aa1a69d75aec537 Mon Sep 17 00:00:00 2001 From: heppocogne <83043568+heppocogne@users.noreply.github.com> Date: Fri, 30 Dec 2022 10:26:51 +0900 Subject: [PATCH] Fix `get_path()` is not working when files are opend with `open_compressed` And also fixed `get_absolute_path()` in the same way (cherry picked from commit ea11ffc88c22dea2b71d7863808cd65f64f9eded) --- core/io/file_access_compressed.cpp | 16 ++++++++++++++++ core/io/file_access_compressed.h | 3 +++ 2 files changed, 19 insertions(+) diff --git a/core/io/file_access_compressed.cpp b/core/io/file_access_compressed.cpp index 252c2e477..e8aead6dd 100644 --- a/core/io/file_access_compressed.cpp +++ b/core/io/file_access_compressed.cpp @@ -190,6 +190,22 @@ bool FileAccessCompressed::is_open() const { return f != nullptr; } +String FileAccessCompressed::get_path() const { + if (f) { + return f->get_path(); + } else { + return ""; + } +} + +String FileAccessCompressed::get_path_absolute() const { + if (f) { + return f->get_path_absolute(); + } else { + return ""; + } +} + void FileAccessCompressed::seek(uint64_t p_position) { ERR_FAIL_COND_MSG(!f, "File must be opened before use."); diff --git a/core/io/file_access_compressed.h b/core/io/file_access_compressed.h index 03cd14e67..aa70905d8 100644 --- a/core/io/file_access_compressed.h +++ b/core/io/file_access_compressed.h @@ -71,6 +71,9 @@ public: virtual void close(); ///< close a file virtual bool is_open() const; ///< true when file is open + virtual String get_path() const; /// returns the path for the current open file + virtual String get_path_absolute() const; /// returns the absolute path for the current open file + virtual void seek(uint64_t p_position); ///< seek to a given position virtual void seek_end(int64_t p_position = 0); ///< seek from the end of file virtual uint64_t get_position() const; ///< get position in the file