summaryrefslogtreecommitdiff
path: root/tools/editor/editor_file_system.h
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2017-02-01 09:45:45 -0300
committerJuan Linietsky <reduzio@gmail.com>2017-02-01 09:46:36 -0300
commit2cd2ca7bbc892eccc635b1c4aea80c956c9b92dc (patch)
tree0a212bf8786c53ec7b054757071dc2430667d3a1 /tools/editor/editor_file_system.h
parent36b6ba8e94d9afcb06aa2579bf627651f7ebfea0 (diff)
Lot of work in new importer, importing textures now works.
Diffstat (limited to 'tools/editor/editor_file_system.h')
-rw-r--r--tools/editor/editor_file_system.h53
1 files changed, 17 insertions, 36 deletions
diff --git a/tools/editor/editor_file_system.h b/tools/editor/editor_file_system.h
index 3a26f46aa9..3ad739ae9d 100644
--- a/tools/editor/editor_file_system.h
+++ b/tools/editor/editor_file_system.h
@@ -48,30 +48,13 @@ class EditorFileSystemDirectory : public Object {
EditorFileSystemDirectory *parent;
Vector<EditorFileSystemDirectory*> subdirs;
- struct ImportMeta {
-
- struct Source {
-
- String path;
- String md5;
- uint64_t modified_time;
- bool missing;
-
- };
-
- Vector<Source> sources;
- String import_editor;
- Vector<String> deps;
- bool enabled;
- bool sources_changed;
-
- };
struct FileInfo {
String file;
StringName type;
uint64_t modified_time;
- ImportMeta meta;
+ uint64_t import_modified_time;
+ Vector<String> deps;
bool verified; //used for checking changes
};
@@ -101,14 +84,7 @@ public:
String get_file(int p_idx) const;
String get_file_path(int p_idx) const;
StringName get_file_type(int p_idx) const;
- bool get_file_meta(int p_idx) const;
- bool is_missing_sources(int p_idx) const;
- bool have_sources_changed(int p_idx) const;
- Vector<String> get_missing_sources(int p_idx) const;
Vector<String> get_file_deps(int p_idx) const;
- int get_source_count(int p_idx) const;
- String get_source_file(int p_idx,int p_source) const;
- bool is_source_file_missing(int p_idx,int p_source) const;
EditorFileSystemDirectory *get_parent();
@@ -136,7 +112,7 @@ class EditorFileSystem : public Node {
ACTION_DIR_REMOVE,
ACTION_FILE_ADD,
ACTION_FILE_REMOVE,
- ACTION_FILE_SOURCES_CHANGED
+ ACTION_FILE_REIMPORT
};
Action action;
@@ -171,7 +147,7 @@ class EditorFileSystem : public Node {
String type;
uint64_t modification_time;
- EditorFileSystemDirectory::ImportMeta meta;
+ uint64_t import_modification_time;
Vector<String> deps;
};
@@ -186,25 +162,25 @@ class EditorFileSystem : public Node {
ScanProgress get_sub(int p_current,int p_total) const;
};
- static EditorFileSystemDirectory::ImportMeta _get_meta(const String& p_path);
-
- bool _check_meta_sources(EditorFileSystemDirectory::ImportMeta & p_meta);
+ void _save_filesystem_cache();
void _save_filesystem_cache(EditorFileSystemDirectory *p_dir,FileAccess *p_file);
bool _find_file(const String& p_file,EditorFileSystemDirectory ** r_d, int &r_file_pos) const;
void _scan_fs_changes(EditorFileSystemDirectory *p_dir, const ScanProgress &p_progress);
+
int md_count;
Set<String> valid_extensions;
+ Set<String> import_extensions;
void _scan_new_dir(EditorFileSystemDirectory *p_dir,DirAccess *da,const ScanProgress& p_progress);
Thread *thread_sources;
- bool scanning_sources;
- bool scanning_sources_done;
+ bool scanning_changes;
+ bool scanning_changes_done;
static void _thread_func_sources(void *_userdata);
@@ -214,7 +190,10 @@ class EditorFileSystem : public Node {
bool _update_scan_actions();
static void _resource_saved(const String& p_path);
- String _find_first_from_source(EditorFileSystemDirectory* p_dir,const String &p_src) const;
+
+ void _update_extensions();
+
+ void _reimport_file(const String &p_file);
protected:
@@ -229,14 +208,16 @@ public:
bool is_scanning() const;
float get_scanning_progress() const;
void scan();
- void scan_sources();
+ void scan_changes();
void get_changed_sources(List<String> *r_changed);
void update_file(const String& p_file);
- String find_resource_from_source(const String& p_path) const;
+
EditorFileSystemDirectory *get_filesystem_path(const String& p_path);
String get_file_type(const String& p_file) const;
EditorFileSystemDirectory* find_file(const String& p_file,int* r_index) const;
+ void reimport_files(const Vector<String>& p_files);
+
EditorFileSystem();
~EditorFileSystem();
};