summaryrefslogtreecommitdiffstats
path: root/editor/editor_file_system.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use multiple threads to import.Juan Linietsky2021-04-191-8/+56
| | | | | | | | | | - 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.
* Add a "keep" import mode to keep files as-is and export them.Juan Linietsky2021-03-221-1/+23
|
* Improved 3D Scene ImporterJuan Linietsky2021-03-221-14/+27
| | | | | | | | | | | | * 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-8/+16
| | | | files.
* Merge pull request #45617 from RandomShaper/modernize_atomicsRémi Verschelde2021-02-181-5/+5
|\ | | | | Modernize atomics (and fix `volatile`)
| * Modernize atomicsPedro J. Estébanez2021-02-181-5/+5
| | | | | | | | | | | | | | | | | | | | - 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>
* | Reorganize Project Settingsreduz2021-02-181-1/+1
|/ | | | | | | -Advanced Settings toggle also hides advanced properties when disabled -Simplified Advanced Bar (errors were just plain redundant) -Reorganized rendering quality settings. -Reorganized miscelaneous settings for clean up.
* Modernize ThreadPedro J. Estébanez2021-01-291-21/+12
| | | | | | | | | - 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)
* Fix file name comparison when new file is added to file systemFilip2021-01-101-4/+5
|
* 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 🎆
* Reimplement skeletons and blend shapesreduz2020-12-161-2/+6
| | | | Uses compute shaders, which only once, on demand, and all in parallel.
* Cleanup unused engine codeTomasz Chabora2020-12-091-4/+0
|
* Refactored Mesh internals and formats.reduz2020-12-021-0/+16
| | | | | | | | | | | | | | | -Changed how mesh data is organized, hoping to make it more efficient on Vulkan and GLES. -Removed compression, it now always uses the most efficient format. -Added support for custom arrays (up to 8 custom formats) -Added support for 8 weights in skeleton data. -Added a simple optional versioning system for imported assets, to reimport if binary is newer -Fixes #43979 (I needed to test) WARNING: -NOT backwards compatible with previous 4.x-devel, will most likely never be, but it will force reimport scenes due to version change. -NOT backwards compatible with 3.x scenes, this will be eventually re-added. -Skeletons not working any longer, will fix in next PR.
* Refactor DocData into core and editor (DocTools) partsThakee Nathees2020-12-021-5/+10
|
* Documentation generation for GDScriptThakee Nathees2020-11-291-0/+9
| | | | | | | | | | | | | | | | | | - ClassDoc added to GDScript and property reflection data were extracted from parse tree - GDScript comments are collected from tokenizer for documentation and applied to the ClassDoc by the GDScript compiler - private docs were excluded (name with underscore prefix and doesn't have any doc comments) - default values (of non exported vars), arguments are extraced from the parser - Integrated with GDScript 2.0 and new enums were added. - merge conflicts fixed
* Reorganized core/ directory, it was too fatty alreadyreduz2020-11-071-2/+2
| | | | | | -Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
* Improve file sortingGilles Roudière2020-10-261-0/+5
|
* Rename the ".import" folder to ".godot/imported"Aaron Franke2020-09-281-7/+8
|
* Merge pull request #40229 from ChristopheLY/atlas-auto-reimportRémi Verschelde2020-07-101-0/+1
|\ | | | | auto re-import atlas, fixes #40047
| * auto re-import atlas, fixes #40047Chistpohe LY2020-07-101-0/+1
| |
* | Fix crash on project files import in EditorFileSystemPouleyKetchoupp2020-07-041-1/+1
| | | | | | | | Fixes #40017
* | Remove 32-bit String to_int methodAaron Franke2020-06-031-3/+3
|/
* Style: Enforce braces around if blocks and loopsRémi Verschelde2020-05-141-45/+89
| | | | | Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
* Style: Enforce separation line between function definitionsRémi Verschelde2020-05-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
* Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-137/+0
| | | | | | | | | | | | | | Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
* Replace NULL with nullptrlupoDharkael2020-04-021-30/+30
|
* Style: Set clang-format Standard to Cpp11Rémi Verschelde2020-03-171-5/+5
| | | | | | | | | | For us, it practically only changes the fact that `A<A<int>>` is now used instead of the C++03 compatible `A<A<int> >`. Note: clang-format 10+ changed the `Standard` arguments to fully specified `c++11`, `c++14`, etc. versions, but we can't use `c++17` now if we want to preserve compatibility with clang-format 8 and 9. `Cpp11` is still supported as deprecated alias for `Latest`.
* PoolVector is gone, replaced by VectorJuan Linietsky2020-02-181-2/+2
| | | | | Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
* Make file system scan more robustPedro J. Estébanez2020-02-101-6/+24
| | | | | | | | Previously, a change was missed if it happened while the scan was in progress and already past the affected location. Also: - Consider the scan changes thread on termination, in addition to the full scan one - Add FS-reported hidden to the check for hidden by the editor file system
* Remove duplicate WARN_PRINT macro.Marcel Admiraal2020-02-051-1/+1
|
* Remove duplicate ERR_PRINT macro.Marcel Admiraal2020-02-051-4/+4
|
* Update copyright statements to 2020Rémi Verschelde2020-01-011-2/+2
| | | | | | | | | | | Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
* Prevent crash when we can't write to editor cache or config pathRémi Verschelde2019-10-311-8/+7
| | | | | | | | | | | | | This can happen if users somehow got wrong user permissions assigned to their Godot cache, config or data paths (e.g. `~/.config/godot`). The error messages should give them a hint as to what the issue may be. Fixes #33199. There may be other situations that still lead to a crash, we need to review all uses of `FileAccess::open` with `FileAccess::WRITE` mode to ensure that proper pointer validation is done.
* Revert "Fix plugin script classes defined even if inactive."Rémi Verschelde2019-10-021-3/+0
|
* Merge pull request #32434 from willnationsdev/script-class-no-pluginsRémi Verschelde2019-09-301-0/+3
|\ | | | | Fix plugin script classes defined even if inactive.
| * Fix plugin script classes defined even if inactive.willnationsdev2019-09-301-0/+3
| |
* | Added some obvious errors explanationsqarmin2019-09-251-12/+13
|/
* Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in 'core/' and 'editor/'Braden Bodily2019-08-171-2/+1
| | | | | | | | | Condensed some if and ERR statements. Added dots to end of error messages Couldn't figure out EXPLAINC. These files gave me trouble: core/error_macros.h, core/io/file_access_buffered_fa.h (where is it?), core/os/memory.cpp, drivers/png/png_driver_common.cpp, drivers/xaudio2/audio_driver_xaudio2.cpp (where is it?)
* DirAccess: Drop compat get_next(bool *is_dir) which was hiddenRémi Verschelde2019-07-251-6/+4
| | | | | | | | | Fixes this warning: ``` ./core/os/dir_access.h:74:17: warning: 'virtual String DirAccess::get_next(bool*)' was hidden [-Woverloaded-virtual] ``` Part of #30790.
* Merge pull request #29815 from NilsIrl/plus_file_1Rémi Verschelde2019-07-011-2/+2
|\ | | | | Replace ` + "/" + ` with `String::file_add()`
| * Replace ` + "/" + ` with `String::file_add()`Nils ANDRÉ-CHANG2019-06-231-2/+2
| |
* | Some code changed with Clang-Tidyqarmin2019-06-261-9/+3
|/
* fix file system not refresh on exFATXiaoLongHan2019-05-241-3/+3
|
* Fix typos with codespellRémi Verschelde2019-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using codespell 1.15.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear doubleclick leapyear lod merchantibility nd numer ois ony que seeked synching te uint unselect webp EOF $ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po" $ git diff // undo unwanted changes ```
* Added ability for multiple images to be imported as an atlasJuan Linietsky2019-04-191-12/+297
| | | | | This adds support for groups in the import system, which point to a single file. Add property hint for saving files in file field
* Fixed issue where descriptor is left hanging, which causes file locked on ↵Juan Linietsky2019-02-271-4/+8
| | | | Windows, closes #26342
* -Properly handle missing ETC support on exportJuan Linietsky2019-02-261-12/+56
| | | | | -Added ability for resource importers to save metadata -Added ability for resource importers to validate depending on project settings
* Add -Wshadow=local to warnings and fix reported issues.marxin2019-02-201-7/+7
| | | | Fixes #25316.
* Core: Ensure classes match their header filenameRémi Verschelde2019-02-121-1/+1
| | | | | | | | | | | | | | | Also drop some unused files. Renamed: - `core/dvector.h` -> `pool_vector.h` - `core/io/resource_import.h` -> `resource_importer.h` - `core/sort.h` -> `sort_array.h` - `core/string_db.h` -> `string_name.h` Dropped: - `core/allocators.h` - `core/os/shell.h` - `core/variant_construct_string.cpp`
* Fix code style issuesRémi Verschelde2019-01-261-3/+1
|