summaryrefslogtreecommitdiffstats
path: root/core/core_bind.cpp
diff options
context:
space:
mode:
authorHugo Locurcio <hugo.locurcio@hugo.pro>2021-05-07 19:36:32 +0200
committerHugo Locurcio <hugo.locurcio@hugo.pro>2021-06-19 08:56:20 +0200
commitaa0976f47c710f6cc1549c9dd6e930bc4ff29f96 (patch)
tree80a302700d9e8ad6c7095c66b9b387b86af5ad50 /core/core_bind.cpp
parenta9c53fa5994db8badb4ec14581bd8422fb340f41 (diff)
downloadredot-engine-aa0976f47c710f6cc1549c9dd6e930bc4ff29f96.tar.gz
Expose OS data directory getter methods
This can be used by editor plugins and non-game applications to store data in the correct directories according to the XDG Base Directory specification.
Diffstat (limited to 'core/core_bind.cpp')
-rw-r--r--core/core_bind.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/core/core_bind.cpp b/core/core_bind.cpp
index 60759cd71c..912512d993 100644
--- a/core/core_bind.cpp
+++ b/core/core_bind.cpp
@@ -426,6 +426,21 @@ String _OS::get_external_data_dir() const {
return OS::get_singleton()->get_external_data_dir();
}
+String _OS::get_config_dir() const {
+ // Exposed as `get_config_dir()` instead of `get_config_path()` for consistency with other exposed OS methods.
+ return OS::get_singleton()->get_config_path();
+}
+
+String _OS::get_data_dir() const {
+ // Exposed as `get_data_dir()` instead of `get_data_path()` for consistency with other exposed OS methods.
+ return OS::get_singleton()->get_data_path();
+}
+
+String _OS::get_cache_dir() const {
+ // Exposed as `get_cache_dir()` instead of `get_cache_path()` for consistency with other exposed OS methods.
+ return OS::get_singleton()->get_cache_path();
+}
+
bool _OS::is_debug_build() const {
#ifdef DEBUG_ENABLED
return true;
@@ -518,6 +533,9 @@ void _OS::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_user_data_dir"), &_OS::get_user_data_dir);
ClassDB::bind_method(D_METHOD("get_external_data_dir"), &_OS::get_external_data_dir);
ClassDB::bind_method(D_METHOD("get_system_dir", "dir"), &_OS::get_system_dir);
+ ClassDB::bind_method(D_METHOD("get_config_dir"), &_OS::get_config_dir);
+ ClassDB::bind_method(D_METHOD("get_data_dir"), &_OS::get_data_dir);
+ ClassDB::bind_method(D_METHOD("get_cache_dir"), &_OS::get_cache_dir);
ClassDB::bind_method(D_METHOD("get_unique_id"), &_OS::get_unique_id);
ClassDB::bind_method(D_METHOD("print_all_textures_by_size"), &_OS::print_all_textures_by_size);