diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2021-02-12 11:58:19 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-12 11:58:19 +0100 |
commit | 49122588391b5159fada6d33f136d169b5a01ae5 (patch) | |
tree | b675cbc225b2246fede39ba050dd5f9ef5d9046a /core/core_bind.h | |
parent | 44e291a250c913e2308da5fcbdc1f48becdc8a1e (diff) | |
parent | f8d03b98e7eeeb726af4f653f1fde8b063cbad14 (diff) |
Merge pull request #45903 from reduz/improve-resoucre-load-cache
Improve resource load cache
Diffstat (limited to 'core/core_bind.h')
-rw-r--r-- | core/core_bind.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/core/core_bind.h b/core/core_bind.h index 3305c93089..44e620085a 100644 --- a/core/core_bind.h +++ b/core/core_bind.h @@ -56,13 +56,19 @@ public: THREAD_LOAD_LOADED }; + enum CacheMode { + CACHE_MODE_IGNORE, //resource and subresources do not use path cache, no path is set into resource. + CACHE_MODE_REUSE, //resource and subresources use patch cache, reuse existing loaded resources instead of loading from disk when available + CACHE_MODE_REPLACE, //resource and and subresource use path cache, but replace existing loaded resources when available with information from disk + }; + static _ResourceLoader *get_singleton() { return singleton; } Error load_threaded_request(const String &p_path, const String &p_type_hint = "", bool p_use_sub_threads = false); ThreadLoadStatus load_threaded_get_status(const String &p_path, Array r_progress = Array()); RES load_threaded_get(const String &p_path); - RES load(const String &p_path, const String &p_type_hint = "", bool p_no_cache = false); + RES load(const String &p_path, const String &p_type_hint = "", CacheMode p_cache_mode = CACHE_MODE_REUSE); Vector<String> get_recognized_extensions_for_type(const String &p_type); void set_abort_on_missing_resources(bool p_abort); PackedStringArray get_dependencies(const String &p_path); @@ -73,6 +79,7 @@ public: }; VARIANT_ENUM_CAST(_ResourceLoader::ThreadLoadStatus); +VARIANT_ENUM_CAST(_ResourceLoader::CacheMode); class _ResourceSaver : public Object { GDCLASS(_ResourceSaver, Object); |