summaryrefslogtreecommitdiffstats
path: root/editor/editor_plugin.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Add scene Post-Import Plugin support.reduz2021-10-151-4/+13
| | | | | | | * New plugin system to control the whole import workflow * Can add options and run code at every import step (general, per node, mesh, animation, material etc.) This constitutes a first version of these plugins. The ability to interact with the import preview dialog will likely be added later on.
* Implemented SkeletonEditorGizmoSilc Renew2021-10-071-4/+4
| | | | Co-authored-by: Lyuma <xn.lyuma@gmail.com>
* Rename Node's `filename` property to `scene_file_path` for clarityHugo Locurcio2021-09-301-3/+3
|
* Add Get Center Method for Rect2/Rect2i and AABB.Anilforextra2021-09-211-1/+1
|
* Sort palette commands by last usekobewi2021-08-311-0/+1
|
* Replace BIND_VMETHOD by new GDVIRTUAL syntaxreduz2021-08-221-88/+67
| | | | | | | | | | | * New syntax is type safe. * New syntax allows for type safe virtuals in native extensions. * New syntax permits extremely fast calling. Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`. These will require API rework on a separate PR as they work different than the rest of the functions. Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
* command palette improvementsBhuvan Vemula2021-08-151-1/+1
|
* Added EditorCommandPaletteBhuvan Vemula2021-08-091-0/+5
|
* Optimize StringName usagereduz2021-07-181-7/+7
| | | | | | | | | | | * Added a new macro SNAME() that constructs and caches a local stringname. * Subsequent usages use the cached version. * Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time. * Replaced all theme usages by this new macro. * Replace all signal emission usages by this new macro. * Replace all call_deferred usages by this new macro. This is part of ongoing work to optimize GUI and the editor.
* Validate parameters when adding pluginsHaoyu Qiu2021-06-131-0/+12
|
* Fix some virtual methodskobewi2021-06-131-1/+1
|
* Consistently prefix bound virtual methods with _kobewi2021-06-121-70/+70
|
* Rename Transform to Transform3D in coreAaron Franke2021-06-031-6/+6
|
* Implement shader cachingreduz2021-05-311-0/+5
| | | | | | | | | | | | * 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
* Provide a way to hook into Inspectors UndoRedo.Gilles Roudière2021-05-041-0/+10
|
* Expose edit_node() for editor pluginskobewi2021-04-121-0/+5
|
* Expose editor scale to the plugin APIYuri Sizov2021-04-051-0/+5
|
* Fix editor always redrawingreduz2021-02-131-1/+13
| | | | | | -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
* 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 🎆
* Merge pull request #44524 from madmiraal/rename-editor-viewportRémi Verschelde2020-12-281-3/+3
|\ | | | | Rename EditorInterface get_editor_viewport to get_editor_main_control
| * Rename EditorInterface get_editor_viewport to get_editor_main_controlMarcel Admiraal2020-12-191-3/+3
| |
* | Rename empty() to is_empty()Marcel Admiraal2020-12-281-1/+1
|/
* Make tool menu plugins use Callables for callbackkobewi2020-12-161-3/+3
|
* Register methods for drawing 3D editor overlaysTomasz Chabora2020-11-101-0/+2
|
* Refactor MethodBind to use variadic templatesreduz2020-10-181-1/+1
| | | | Removed make_binders and the old style generated binders.
* Added inspector_only option to inspect_object in EditorInterface.andriyDev2020-09-231-3/+3
| | | | Updated docs to reflect change to inspect_object.
* Added debugger plugin supportsimpu2020-08-261-0/+10
| | | | | | Changes: * EngineDebugger is exposed to gdscript. Game side of communication can be implemented through it. * EditorDebuggerPlugin is added which handles the editor side of communication.
* Expose methods to play scene from plugin codeYuri Sizov2020-07-061-0/+30
|
* Add translation parser plugin supportSkyJJ2020-07-021-0/+10
|
* Remove ToolButton in favor of ButtonHugo Locurcio2020-06-191-1/+1
| | | | | | | | | | | 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.
* Add a getter and property for the editor distraction-free modeHugo Locurcio2020-06-031-0/+7
|
* Style: Enforce braces around if blocks and loopsRémi Verschelde2020-05-141-5/+10
| | | | | 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/+6
| | | | | | | | | | | | | | | | | | | | | | | 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-68/+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.
* Port member initialization from constructor to declaration (C++11)Rémi Verschelde2020-05-141-10/+0
| | | | | | | | | | Using `clang-tidy`'s `modernize-use-default-member-init` check and manual review of the changes, and some extra manual changes that `clang-tidy` failed to do. Also went manually through all of `core` to find occurrences that `clang-tidy` couldn't handle, especially all initializations done in a constructor without using initializer lists.
* Replace NULL with nullptrlupoDharkael2020-04-021-6/+6
|
* Renaming of servers for coherency.Juan Linietsky2020-03-271-31/+31
| | | | | | | | | | VisualServer -> RenderingServer PhysicsServer -> PhysicsServer3D Physics2DServer -> PhysicsServer2D NavigationServer -> NavigationServer3D Navigation2DServer -> NavigationServer2D Also renamed corresponding files.
* Rename more 2D and 3D nodes to follow conventionRémi Verschelde2020-03-271-1/+1
| | | | Rename editor plugins to match the new node names.
* Renamed 2D and 3D nodes to make their types explicitJuan Linietsky2020-03-271-19/+19
| | | | Fixes #30736.
* Expose FileSystemDock to the scripting API and fixed signalsIgnacio Etcheverry2020-03-181-0/+5
| | | | | Fixed FileSystemDock's `file_removed` and `folder_removed` signals not being emitted because the emitted was using the wrong signal name.
* Style: Set clang-format Standard to Cpp11Rémi Verschelde2020-03-171-4/+4
| | | | | | | | | | 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`.
* Document EditorPlugin get_plugin_icon and get_plugin_nameAaron Franke2020-03-041-1/+1
| | | | The return value's type hint is now accurate.
* PoolVector is gone, replaced by VectorJuan Linietsky2020-02-181-4/+4
| | | | | Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
* Base 3D engine done, still untested, though.Juan Linietsky2020-02-111-1/+0
|
* Texture refactorJuan Linietsky2020-02-111-9/+9
| | | | | | | | -Texture renamed to Texture2D -TextureLayered as base now inherits 2Darray, cubemap and cubemap array -Removed all references to flags in textures (they will go in the shader) -Texture3D gone for now (will come back later done properly) -Create base rasterizer for RenderDevice, RasterizerRD
* 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.
* Cleans up headers included in editor_node.hHaoyu Qiu2019-12-241-0/+3
|
* Merge pull request #31847 from aole/editor-expose-current-pathRémi Verschelde2019-09-031-0/+5
|\ | | | | Expose current path function to EditorPlugin
| * Expose current path to EditorPluginBhupendra Aole2019-09-011-0/+5
| | | | | | | | | | | | | | | | get_selected_path returns only the resource directory. get_current_path fulfils the need to get the full path. This does not break backward compatibility and the function (get_current_path) is already available in FileSystemDock just like get_selected_path. Fixes 30652.
* | Script callback for enabling/disabling EditorPluginBhupendra Aole2019-09-011-1/+1
|/ | | | | | Parameter p_config_changes should be passed as true to enable callback to user scripts for enabling or disabling of the EditorPlugin. Fixes #30654