summaryrefslogtreecommitdiff
path: root/editor/editor_node.h
AgeCommit message (Collapse)Author
2021-06-14Refactor editor paths validation in EditorPaths and EditorSettingsRémi Verschelde
- EditorSettings: Ensure that `create()` makes a valid singleton. Fixes #49179, fixes #49450. - EditorPaths: Cleanup code, properly set `paths_valid`. - EditorPaths: Move more paths validation (check, mkdir) from EditorSettings for a better separation of concerns. - EditorPaths: Move EditorFileSystem creation of `.godot/imported` next to other paths.
2021-05-31Merge pull request #49178 from YeldhamDev/remove_dim_optionRémi Verschelde
2021-05-31Implement shader cachingreduz
* Shader compilation is now cached. Subsequent loads take less than a millisecond. * Improved game, editor and project manager startup time. * Editor uses .godot/shader_cache to store shaders. * Game uses user://shader_cache * Project manager uses $config_dir/shader_cache * Options to tweak shader caching in project settings. * Editor path configuration moved from EditorSettings to new class, EditorPaths, so it can be available early on (before shaders are compiled). * Reworked ShaderCompilerRD to ensure deterministic shader code creation (else shader may change and cache will be invalidated). * Added shader compression with SMOLV: https://github.com/aras-p/smol-v
2021-05-28Remove `dim_editor_on_dialog_popup` from editor settingsMichael Alexsander
2021-05-15Add "Support Godot Development" option to the editor's Help menuHugo Locurcio
2021-05-09Remove plugin from enabled if there's an errorDaniel Lungaro
inform user in warning message Co-authored-by: Rémi Verschelde <rverschelde@gmail.com> Refactor remove plugin from enabled
2021-05-07Rework the TileSet resource and TileMap nodes:Gilles Roudière
- Move most properties from TileMap to TileSet, - Make TileSet more flexible, supporting more feature (several collision layers, etc...), - Fusion both the TileMap and TileSet editor, - Implement TileSetSources, and thus a new way to index tiles in the TileSet, - Rework the TileSet and TileMap editors completely, - Implement an editor zoom widget (and use it in several places)
2021-04-28Make it possible to copy the Godot version identifier by clicking itHugo Locurcio
This closes #24317.
2021-03-22Improved 3D Scene ImporterJuan Linietsky
* 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.
2021-02-18Merge pull request #45617 from RandomShaper/modernize_atomicsRémi Verschelde
Modernize atomics (and fix `volatile`)
2021-02-18Modernize atomicsPedro J. Estébanez
- 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>
2021-02-18Merge pull request #45943 from KoBeWi/YEEEETRémi Verschelde
Remove Merge From Scene
2021-02-13Fix editor always redrawingreduz
-Only update rendering settings when project settings change -Fixes the update spinner (and editor rendering) updating all the time. -Added a "project_settings_changed" signal to EditorNode and EditorPlugin
2021-02-13Remove Merge From Scenekobewi
2021-02-10Merge pull request #31747 from KoBeWi/scene_stalkingRémi Verschelde
Detect external modification of scenes
2021-02-09Detect external modification of project.godotkobewi
2021-01-29Modernize ThreadPedro J. Estébanez
- 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)
2021-01-16Detect external modification of scenesTomasz Chabora
2021-01-06Merge pull request #44950 from reduz/shader-debuggerRémi Verschelde
Added ability to visualize native shaders
2021-01-06Added ability to visualize native shadersreduz
2021-01-06Made save dialog open immediately when running unsaved scene.Eric M
Previously there was an unneeded confirmation dialog.
2021-01-01Update copyright statements to 2021Rémi Verschelde
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 🎆
2020-12-28Merge pull request #44524 from madmiraal/rename-editor-viewportRémi Verschelde
Rename EditorInterface get_editor_viewport to get_editor_main_control
2020-12-28Rename empty() to is_empty()Marcel Admiraal
2020-12-19Rename EditorInterface get_editor_viewport to get_editor_main_controlMarcel Admiraal
2020-12-16Make tool menu plugins use Callables for callbackkobewi
2020-12-14Rename the TextureProgress node to TextureProgressBarHugo Locurcio
Advantages: - When searching for "progressbar", you'll see both nodes in the search results. - More consistent with Button/TextureButton.
2020-12-09Merge pull request #44128 from KoBeWi/🧹Rémi Verschelde
Cleanup unused engine code
2020-12-09Cleanup unused engine codeTomasz Chabora
2020-12-09Fix connections to CanvasItem and Tabs signalsRémi Verschelde
Follow-up to #44188 and #44189.
2020-12-02Initialize class/struct variables with default values in platform/ and editor/Rafał Mikrut
2020-07-06Expose methods to play scene from plugin codeYuri Sizov
2020-07-02Remove unused class PaneDragStijn Hinlopen
2020-06-26implement generic filename disambiguationrileylyman
A static function is added to EditorNode which allows for filename disambiguation given a list of filenames and the corresponding list of absolute paths for those files. This function is then used to disambiguate scene and script tabs in the editor.
2020-06-19Remove ToolButton in favor of ButtonHugo Locurcio
ToolButton has no redeeming differences with Button; it's just a Button with the Flat property enabled by default. Removing it avoids some confusion when creating GUIs. Existing ToolButtons will be converted to Buttons, but the Flat property won't be enabled automatically. This closes https://github.com/godotengine/godot-proposals/issues/1081.
2020-06-03Add a getter and property for the editor distraction-free modeHugo Locurcio
2020-05-14Style: Enforce braces around if blocks and loopsRémi Verschelde
Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
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.
2020-05-13Merge pull request #38637 from Calinou/editor-rename-revert-scene-bindRémi Verschelde
Rename the editor action "Revert Scene" to "Reload Saved Scene"
2020-05-12Support multiple debug protocols.Fabio Alessandrelli
2020-05-12Rename the editor action "Revert Scene" to "Reload Saved Scene"Hugo Locurcio
This option can be used to workaround various issues with stuff not reloading properly when changes are made. The option was renamed to clarify the fact that it actually reloads the scene saved on the filesystem.
2020-04-02Remove Request Docs button in the script editor due to various issuesHugo Locurcio
The Request Docs button is partly responsible for layout overflow issues on narrow displays, such as #31133. It also tended to attract spam and low-effort issues that were difficult to act upon. A "Send Docs Feedback" menu option has been added to replace it.
2020-03-27Renamed 2D and 3D nodes to make their types explicitJuan Linietsky
Fixes #30736.
2020-03-26Add macOS DisplayServer implementation.bruvzg
Change global menu to use Callable, add support for check items and submenus.
2020-03-26Working multiple window support, including editorJuan Linietsky
2020-03-26Added a Window node, and made it the scene root.Juan Linietsky
Still a lot of work to do.
2020-03-17Style: Set clang-format Standard to Cpp11Rémi Verschelde
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`.
2020-03-08Move Debug menu logic to DebuggerEditorPluginFabio Alessandrelli
2020-02-26Reimplement Mutex with C++'s <mutex>Pedro J. Estébanez
Main: - It's now implemented thanks to `<mutex>`. No more platform-specific implementations. - `BinaryMutex` (non-recursive) is added, as an alternative for special cases. - Doesn't need allocation/deallocation anymore. It can live in the stack and be part of other classes. - Because of that, it's methods are now `const` and the inner mutex is `mutable` so it can be easily used in `const` contexts. - A no-op implementation is provided if `NO_THREADS` is defined. No more need to add `#ifdef NO_THREADS` just for this. - `MutexLock` now takes a reference. At this point the cases of null `Mutex`es are rare. If you ever need that, just don't use `MutexLock`. - Thread-safe utilities are therefore simpler now. Misc.: - `ScopedMutexLock` is dropped and replaced by `MutexLock`, because they were pretty much the same. - Every case of lock, do-something, unlock is replaced by `MutexLock` (complex cases where it's not straightfoward are kept as as explicit lock and unlock). - `ShaderRD` contained an `std::mutex`, which has been replaced by `Mutex`.
2020-02-21Huge Debugger/EditorDebugger refactor.Fabio Alessandrelli