summaryrefslogtreecommitdiff
path: root/editor/editor_plugin.h
AgeCommit message (Collapse)Author
2021-08-22Replace BIND_VMETHOD by new GDVIRTUAL syntaxreduz
* 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.
2021-08-09Added EditorCommandPaletteBhuvan Vemula
2021-06-03Rename Transform to Transform3D in coreAaron Franke
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-04Provide a way to hook into Inspectors UndoRedo.Gilles Roudière
2021-04-12Expose edit_node() for editor pluginskobewi
2021-04-05Expose editor scale to the plugin APIYuri Sizov
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-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-19Rename EditorInterface get_editor_viewport to get_editor_main_controlMarcel Admiraal
2020-12-16Make tool menu plugins use Callables for callbackkobewi
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
2020-10-18Refactor MethodBind to use variadic templatesreduz
Removed make_binders and the old style generated binders.
2020-09-23Added inspector_only option to inspect_object in EditorInterface.andriyDev
Updated docs to reflect change to inspect_object.
2020-08-26Added debugger plugin supportsimpu
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.
2020-07-06Expose methods to play scene from plugin codeYuri Sizov
2020-07-02Add translation parser plugin supportSkyJJ
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: 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-14Port member initialization from constructor to declaration (C++11)Rémi Verschelde
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.
2020-04-02Replace NULL with nullptrlupoDharkael
2020-03-27Renamed 2D and 3D nodes to make their types explicitJuan Linietsky
Fixes #30736.
2020-03-18Expose FileSystemDock to the scripting API and fixed signalsIgnacio Etcheverry
Fixed FileSystemDock's `file_removed` and `folder_removed` signals not being emitted because the emitted was using the wrong signal name.
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-02-11Texture refactorJuan Linietsky
-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
2020-01-01Update copyright statements to 2020Rémi Verschelde
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.
2019-09-01Expose current path to EditorPluginBhupendra Aole
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.
2019-08-21Support for file not found in ConfigFile::Load and handle a few specific casesPouleyKetchoupp
EditorSettings::set_project_metadata: creates project_metadata.cfg if it doesn't exist EditorPlugin::get_config: removed (not used) Fixes #31444
2019-08-12Remove redundant author doc commentsIAmActuallyCthulhu
2019-08-06Let EditorPlugins set editor/distraction-free modeWill Nations
2019-07-05Script API methods must return Ref<T> instead of Reference*Ignacio Etcheverry
ptrcall assumes methods that return a Reference type do so with Ref<T>. Returning Reference* from a method exposed to the scripting API completely breaks ptrcalls to this method (it can be quite hard to debug!).
2019-06-26Some code changed with Clang-Tidyqarmin
2019-06-19Made use of semicolons more consitent, fixed formattingJohnJLight
2019-06-03Merge pull request #25522 from aqnuep/MeshLibrary_improvementsRémi Verschelde
MeshLibrary export improvements
2019-05-28Be able to add to the editor setting tabs.K. S. Ernest (iFIre) Lee
2019-03-12Add EditorInspector getter. Update Sub-Inspectors.Will Nations
2019-02-03MeshLibrary export improvementsDaniel Rakos
- From now materials assigned to the MeshInstance (not the Mesh) get exported into the MeshLibrary when such materials exist. This enables workflows where the MeshLibrary is exported from an imported scene (e.g. GLTF) where the materials assigned to the Mesh (not the MeshInstance) get overwritten on re-import, thus can't use editor set materials in the exported MeshLibrary unless they are assigned to the MeshInstance whose materials get saved with the inherited scene thus persist across re-imports. - When appending to an existing MeshLibrary only generate previews for newly added or modified meshes. - During preview generation transform camera and lights instead of the mesh and use the source MeshInstance's transform for the mesh to avoid weird previews being generated for meshes with a position dependent material (e.g. when using triplanar mapping). - Adjust the camera angle and light directions used in mesh preview generation for better results.
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-12-30Merge pull request #24506 from JFonS/expose_gizmosRémi Verschelde
Expose the new gizmo plugin system to scripting
2018-12-21Expose the new gizmo plugin system to scriptingJFonS
2018-12-15Added basic support for custom resource savers and loadersMarc Gilleron
2018-09-18Fixes drawing of the 2D plugins on the 3D viewgroud
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
2018-08-22Add option to move Tile/GridMap editors to another sideMichael Alexsander Silva Dias
2018-08-15Merge pull request #19837 from willnationsdev/plugin-utilitiesRémi Verschelde
Add PluginConfigDialog.
2018-08-09New gizmo structure and new gizmo disabling menuJFonS
2018-07-26Add PluginConfigDialog, EditorPluginSettings GUIWill Nations
2018-07-04Expose ScriptCreateDialog to EditorPluginwillnationsdev
2018-05-26Merge pull request #15489 from willnationsdev/gdnative-hookMax Hilbrunner
Add EditorPlugin.build() build callbacks