diff options
author | Juan Linietsky <reduzio@gmail.com> | 2016-06-21 20:51:41 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2016-06-21 20:51:41 -0300 |
commit | 3edf66477a49696ae82074b4675aff818dda68fe (patch) | |
tree | ba1bad6d0e9b22648ce574a2380d051e243537be /tools/editor/io_plugins | |
parent | d57b09e47bb229b164ac34a408207882635b541b (diff) |
Fixed error using the same atlas rect for all images, closes #4139
Diffstat (limited to 'tools/editor/io_plugins')
-rw-r--r-- | tools/editor/io_plugins/editor_texture_import_plugin.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/tools/editor/io_plugins/editor_texture_import_plugin.cpp b/tools/editor/io_plugins/editor_texture_import_plugin.cpp index 1fa7a50515..16ea803da4 100644 --- a/tools/editor/io_plugins/editor_texture_import_plugin.cpp +++ b/tools/editor/io_plugins/editor_texture_import_plugin.cpp @@ -1312,21 +1312,30 @@ Error EditorTextureImportPlugin::import2(const String& p_path, const Ref<Resourc ERR_CONTINUE( !source_map.has(i) ); for (List<int>::Element *E=source_map[i].front();E;E=E->next()) { - String apath = p_path.get_base_dir().plus_file(from->get_source_path(E->get()).get_file().basename()+".atex"); + String apath; + String spath = from->get_source_path(E->get()).get_file(); + + if (p_external) { + apath = p_path.get_base_dir().plus_file(spath.basename()+"."+from->get_source_path(E->get()).md5_text()+".atex"); + } else { + apath = p_path.get_base_dir().plus_file(spath.basename()+".atex"); + } Ref<AtlasTexture> at; if (ResourceCache::has(apath)) { + at = Ref<AtlasTexture>( ResourceCache::get(apath)->cast_to<AtlasTexture>() ); } else { at = Ref<AtlasTexture>( memnew( AtlasTexture ) ); + } at->set_region(region); at->set_margin(margin); at->set_path(apath); atlases[E->get()]=at; - print_line("Atlas Tex: "+apath); + } } if (ResourceCache::has(p_path)) { |