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

Revert "Fix behavior of ResourceFormatLoader CACHE_MODE_REPLACE"

This commit is contained in:
Rémi Verschelde
2024-01-09 10:49:14 +01:00
committed by GitHub
parent 84e205b5a1
commit 9ca3d3ec83
2 changed files with 6 additions and 15 deletions

View File

@@ -340,7 +340,7 @@ void ResourceLoader::_thread_load_function(void *p_userdata) {
if (load_task.resource.is_valid()) { if (load_task.resource.is_valid()) {
if (load_task.cache_mode != ResourceFormatLoader::CACHE_MODE_IGNORE) { if (load_task.cache_mode != ResourceFormatLoader::CACHE_MODE_IGNORE) {
load_task.resource->set_path(load_task.local_path, load_task.cache_mode == ResourceFormatLoader::CACHE_MODE_REPLACE); load_task.resource->set_path(load_task.local_path);
} else if (!load_task.local_path.is_resource_file()) { } else if (!load_task.local_path.is_resource_file()) {
load_task.resource->set_path_cache(load_task.local_path); load_task.resource->set_path_cache(load_task.local_path);
} }
@@ -361,17 +361,6 @@ void ResourceLoader::_thread_load_function(void *p_userdata) {
if (_loaded_callback) { if (_loaded_callback) {
_loaded_callback(load_task.resource, load_task.local_path); _loaded_callback(load_task.resource, load_task.local_path);
} }
} else if (load_task.cache_mode != ResourceFormatLoader::CACHE_MODE_IGNORE) {
Ref<Resource> existing = ResourceCache::get_ref(load_task.local_path);
if (existing.is_valid()) {
load_task.resource = existing;
load_task.status = THREAD_LOAD_LOADED;
load_task.progress = 1.0;
if (_loaded_callback) {
_loaded_callback(load_task.resource, load_task.local_path);
}
}
} }
thread_load_mutex.unlock(); thread_load_mutex.unlock();
@@ -474,7 +463,7 @@ Ref<ResourceLoader::LoadToken> ResourceLoader::_load_start(const String &p_path,
load_task.type_hint = p_type_hint; load_task.type_hint = p_type_hint;
load_task.cache_mode = p_cache_mode; load_task.cache_mode = p_cache_mode;
load_task.use_sub_threads = p_thread_mode == LOAD_THREAD_DISTRIBUTE; load_task.use_sub_threads = p_thread_mode == LOAD_THREAD_DISTRIBUTE;
if (p_cache_mode == ResourceFormatLoader::CACHE_MODE_REUSE) { if (p_cache_mode != ResourceFormatLoader::CACHE_MODE_IGNORE) {
Ref<Resource> existing = ResourceCache::get_ref(local_path); Ref<Resource> existing = ResourceCache::get_ref(local_path);
if (existing.is_valid()) { if (existing.is_valid()) {
//referencing is fine //referencing is fine

View File

@@ -6170,7 +6170,8 @@ void EditorNode::reload_instances_with_path_in_edited_scenes(const String &p_ins
if (edited_scene_map.size() > 0) { if (edited_scene_map.size() > 0) {
// Reload the new instance. // Reload the new instance.
Error err; Error err;
Ref<PackedScene> instance_scene_packed_scene = ResourceLoader::load(p_instance_path, "", ResourceFormatLoader::CACHE_MODE_REPLACE, &err); Ref<PackedScene> instance_scene_packed_scene = ResourceLoader::load(p_instance_path, "", ResourceFormatLoader::CACHE_MODE_IGNORE, &err);
instance_scene_packed_scene->set_path(p_instance_path, true);
ERR_FAIL_COND(err != OK); ERR_FAIL_COND(err != OK);
ERR_FAIL_COND(instance_scene_packed_scene.is_null()); ERR_FAIL_COND(instance_scene_packed_scene.is_null());
@@ -6277,7 +6278,8 @@ void EditorNode::reload_instances_with_path_in_edited_scenes(const String &p_ins
// be properly updated. // be properly updated.
for (String path : required_load_paths) { for (String path : required_load_paths) {
if (!local_scene_cache.find(path)) { if (!local_scene_cache.find(path)) {
current_packed_scene = ResourceLoader::load(path, "", ResourceFormatLoader::CACHE_MODE_REPLACE, &err); current_packed_scene = ResourceLoader::load(path, "", ResourceFormatLoader::CACHE_MODE_IGNORE, &err);
current_packed_scene->set_path(path, true);
local_scene_cache[path] = current_packed_scene; local_scene_cache[path] = current_packed_scene;
} else { } else {
current_packed_scene = local_scene_cache[path]; current_packed_scene = local_scene_cache[path];