summaryrefslogtreecommitdiffstats
path: root/editor/editor_file_system.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #92667 from Hilderin/fix-addon-requires-editor-restartRémi Verschelde2024-09-031-1/+4
|\ | | | | | | Fix Addon requires editor restart to become functional
| * Fix Addon requires editor restart to become functionalHilderin2024-09-021-1/+4
| |
* | Fix editor needs restart after adding GDExtensionsHilderin2024-08-291-1/+1
|/
* Merge pull request #84974 from KoBeWi/import_reimportRémi Verschelde2024-07-081-0/+1
|\ | | | | | | Reimport file when .import changes
| * Reimport file when .import changeskobewi2024-06-291-0/+1
| |
* | Speed up scene group scanning for text sceneskobewi2024-06-291-1/+0
|/
* Fix synchronization of global class nameHilderin2024-06-251-9/+36
|
* Fix Noticeable freeze after saving a scene #93104Hilderin2024-06-201-0/+6
|
* Revert "Fix FileSystem dock won't show any file folders"Rémi Verschelde2024-06-111-16/+10
| | | | | | This reverts commit 72856d633a6be5c596d4a3231acab009828a2efe. Fixes #93022.
* Fix FileSystem dock won't show any file foldersHilderin2024-06-101-10/+16
|
* Fix freeze after building C#Hilderin2024-06-091-0/+1
|
* Skip unnecessary updates to scene groups and scriptskobewi2024-05-151-0/+1
|
* Merge pull request #85295 from ↵Rémi Verschelde2024-05-021-1/+1
|\ | | | | | | | | | | jsjtxietian/use-mutex-protect-max_index-in-ImportThreadData Use `SafeNumeric` to protect `max_index` in ImportThreadData
| * Use mutex to protect max_index in ImportThreadDatajsjtxietian2023-11-281-1/+1
| |
* | Remove code duplication for adding global script classkobewi2024-05-011-0/+1
| |
* | Add `--import` command-line flagMikael Hermansson2024-04-091-0/+1
| |
* | Fix sorting of files/dirs in dialogsA Thousand Ships2024-03-201-8/+0
| | | | | | | | Sorts leading `_` before other characters except `.`.
* | Add const lvalue ref to editor/* container parametersMuller-Castro2024-02-261-2/+2
| |
* | Fix data race against EditorFileSystem.scanning_changes_doneWilson E. Alvarez2024-02-091-1/+1
| |
* | Add THREADS_ENABLED macro in order to compile Godot to run on the main threadAdam Scott2024-01-171-1/+1
| |
* | Implement project-wide node groupsStanislav Labzyuk2023-12-191-0/+8
|/
* Use reimport_append api for importing embedded gltf imagesLyuma2023-02-061-2/+2
| | | | Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
* Support reimport appendingJuan Linietsky2023-02-011-1/+2
| | | | | | | * Add API: `EditorFileSystem::reimport_append(path)`, thread safe, what can be used from importers when they generate new files within the import process. * Added a `remap.gen_param` custom value to .import files, which can be used by importers to store data needed to generate this file again or not. This API is added to allow the GLTF2 importer to properly extract png files as textures.
* Support script global resource name in EditorFileSystemJuan Linietsky2023-01-211-0/+4
| | | | | | | | | | * Works for binary and text files. * Makes EditorQuickOpen work with custom resources again. * Information is cached and easily accessible. Properly fixes #66179. Supersedes #66215 and supersedes #62417 **WARNING**: This required breaking backwards binary compatibility (.res and .scn files). Files saved after this PR is merged will no longer open in any earlier versions of Godot.
* Further fixes to global script class parsingJuan Linietsky2023-01-191-0/+1
| | | | | | Bugs were introduced on first parse by #71628 This should fix everything remaining. No errors of any type were observed.
* Clean up EditorFileSystem script parsingJuan Linietsky2023-01-181-5/+4
| | | | | * Optimize only update modified/added/removed files. * Clean up documentation parsing.
* One Copyright Update to rule them allRémi Verschelde2023-01-051-29/+29
| | | | | | | | | | | | | | | | | | | | As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
* Remove unused `abort_scan` variableAaron Franke2022-09-151-1/+0
|
* Remove ThreadWorkPool, replace by WorkerThreadPoolJuan Linietsky2022-07-251-3/+0
| | | | | The former needs to be allocated once per usage. The later is shared for all threads, which is more efficient. It can also be better debugged.
* Add a new HashSet templatereduz2022-05-201-8/+8
| | | | | * Intended to replace RBSet in most cases. * Optimized for iteration speed
* Replace most uses of Map by HashMapreduz2022-05-161-10/+10
| | | | | | | | | | | | * Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
* Make FileAccess and DirAccess classes reference counted.bruvzg2022-04-111-2/+2
|
* Zero initialize all pointer class and struct membersRémi Verschelde2022-04-041-3/+3
| | | | | This prevents the pitfall of UB when checking if they have been assigned something valid by comparing to nullptr.
* Add Blender install autodetection and configuration.reduz2022-04-011-0/+36
| | | | | | | | | | | | | This PR is a continuation to #54886 * Changed Blender path editor setting from binary to installation. * Add a class to query whether the format is supported. * This class allows to create proper editors to configure support. **NOTE**: This PR only provides autodetection on Linux. Code needs to be added for Windows and MacOS to autodetect the Blender installation. Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com> Co-authored-by: Pedro J. Estébanez <pedrojrulez@gmail.com>
* Initialize bools in the headers in editorAaron Franke2022-03-121-10/+10
|
* Prevent renaming to an unkown extension from FileSystem dock.jmb4622022-01-171-0/+1
|
* Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | Happy new year to the wonderful Godot community!
* Add TextFile support across the editorPaulb232021-09-301-0/+1
|
* Implement Extension Loaderreduz2021-08-201-0/+2
| | | | | | | * Extensions are now scanned and loaded on demand. * Extensions found are cached into a file that is used to load them (which is also exported). * Editor will ask to restart when an extension requires core functionality. * Editor will attempt to load extensions always before importing or loading scenes. This ensures extensions can register the relevant types.
* Implement Resource UIDsreduz2021-07-241-0/+4
| | | | | | | | | | | | | | | | | | | | * Most resource types now have unique identifiers. * Applies to text, binary and imported resources. * File formats reference both by text and UID (when available). UID always has priority. * Resource UIDs are 64 bits for better compatibility with the engine. * Can be represented and used textually, example `uuid://dapwmgsmnl28u`. * A special binary cache file is used and exported, containing the mappings. Example of how it looks: ```GDScript [gd_scene load_steps=2 format=3 uid="uid://dw86wq31afig2"] [ext_resource type="PackedScene" uid="uid://bt36ojelx8q6c" path="res://subscene.scn" id="1_t56hs"] ``` GDScript, shaders and other special resource files can't currently provide UIDs, but this should be doable with special keywords on the files. This will be reserved for future PRs.
* Remove thread-unsafe and unused late_added_files.Lyuma2021-06-171-1/+0
| | | | | | _reimport_file is called from multiple threads as part of the threaded importer. Inserting to this set from a thread could hit a race condition leading to memory corruption or hangs. It seems to be unused, intentionally or unintentionally
* Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde2021-06-111-1/+1
| | | | | File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
* FileSystem: Force update when we delete a folder from the editor and ↵Mateo Kuruk Miccino2021-05-011-0/+2
| | | | searching changes only if we change the directory successfully in the scan_fs_changes
* Use multiple threads to import.Juan Linietsky2021-04-191-1/+15
| | | | | | | | | | - For now everything imports multithreaded by default (should work I guess, let's test). - Controllable per importer Early test benchmark. 64 large textures (importing as lossless, _not_ as vram) on a mobile i7, 12 threads: Importing goes down from 46 to 7 seconds. For VRAM I will change the logic to use a compressing thread in a subsequent PR, as well as implementing Betsy.
* Improved 3D Scene ImporterJuan Linietsky2021-03-221-1/+3
| | | | | | | | | | | | * Added option for importers to show an Advanced settings dialog * Created advanced settings dialog for Scene Importer * Cleaned up importers (remove many old/unused options) * Added the ability to customize every node, material, mesh and animation individually * Saving to animations and meshes to files is now a manual process, making it more predictable * Added the ability for materials to be replaced by external files (or to be made external, up to you). * When doubleclicking an impoted scene in the filesystem dock, it automatically shows the import settings instead of asking to open it. WARNING: Lightmap UV unwrap is not working, it needs to be re-made.
* Update the filtering logic to properly handle directories with `.gdignore` ↵Fredia Huya-Kouadio2021-02-241-0/+2
| | | | files.
* Modernize atomicsPedro J. Estébanez2021-02-181-1/+2
| | | | | | | | | | - Based on C++11's `atomic` - Reworked `SafeRefCount` (based on the rewrite by @hpvb) - Replaced free atomic functions by the new `SafeNumeric<T>` - Replaced wrong cases of `volatile bool` by the new `SafeFlag` - Platform-specific implementations no longer needed Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
* Modernize ThreadPedro J. Estébanez2021-01-291-2/+2
| | | | | | | | | - Based on C++11's `thread` and `thread_local` - No more need to allocate-deallocate or check for null - No pointer anymore, just a member variable - Platform-specific implementations no longer needed (except for the few cases of non-portable functions) - Simpler for `NO_THREADS` - Thread ids are now the same across platforms (main is 1; others follow)
* Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
* Cleanup unused engine codeTomasz Chabora2020-12-091-1/+0
|