1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-13 13:31:48 +00:00

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 ea11ffc88c)
This commit is contained in:
heppocogne
2022-12-30 10:26:51 +09:00
committed by Rémi Verschelde
parent 5703cc861f
commit aa8d6c5633
2 changed files with 19 additions and 0 deletions

View File

@@ -190,6 +190,22 @@ bool FileAccessCompressed::is_open() const {
return f != nullptr; 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) { void FileAccessCompressed::seek(uint64_t p_position) {
ERR_FAIL_COND_MSG(!f, "File must be opened before use."); ERR_FAIL_COND_MSG(!f, "File must be opened before use.");

View File

@@ -72,6 +72,9 @@ public:
virtual void close(); ///< close a file virtual void close(); ///< close a file
virtual bool is_open() const; ///< true when file is open 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(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 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 virtual uint64_t get_position() const; ///< get position in the file