summaryrefslogtreecommitdiff
path: root/editor/editor_node.cpp
AgeCommit message (Collapse)Author
2021-07-25Merge pull request #50809 from akien-mga/iterators-const-referencesRémi Verschelde
2021-07-25Use const references where possible for List range iteratorsRémi Verschelde
2021-07-25Fix various typos with codespellluz paz
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-20Merge pull request #50618 from reduz/implement-more-specialization-constantsRémi Verschelde
Implement more rendering options as specialization constants
2021-07-19Implement more rendering options as specialization constantsreduz
* Shadow quality settings now specialization constant. * Decal and light projector filters can be set. * Changing those settings forces re-creation of the pipelines. These changes should help improve performance related to shadow mapping, and allows improving performance by sacrificing decal and light projector quality.
2021-07-20Implemented the ability to add shortcut for Project -> Reload Current Project.Stanislav Labzyuk
2021-07-18Optimize StringName usagereduz
* 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.
2021-07-15Addes ability to load build sources from file.reduz
* If not present, the dialog asks to load build sources from a file. * The export templates check now also verifies that build sources are installed and skips the template check. This makes Android development easier.
2021-07-15Merge pull request #50468 from akien-mga/cleanup-header-includesRémi Verschelde
Misc cleanup of header includes
2021-07-15Merge pull request #47245 from LightningAA/add-viewport-spy-4.0Rémi Verschelde
Add the ability to preview viewports from the inspector
2021-07-15Misc cleanup of header includesRémi Verschelde
Was looking for misuse of module headers without checking that the module is actually enabled and got carried away...
2021-07-13Merge pull request #50381 from reduz/implement-disable-classesRémi Verschelde
Implement the ability to disable classes
2021-07-13Implement the ability to disable classesreduz
* This PR adds the ability to disable classes when building. * For now it's only possible to do this via command like: `scons disable_classes=RayCast2D,Area3D` * Eventually, a proper UI will be implemented to create a build config file to do this at large scale, as well as detect what is used in the project.
2021-07-13Merge similar editor stringsHaoyu Qiu
2021-07-12Add viewport preview pluginLightning_A
Also includes a minor refactor of TextureEditorPlugin.
2021-07-06Merge pull request #37983 from EricEzaM/set-main-scene-add-select-current-optionRémi Verschelde
Added 'Select Current' option when user is prompted to select main scene after clicking play
2021-07-07Added 'Select Current' option when user is prompted to select main scene ↵Eric M
after clicking play
2021-07-06Added EditorInspectorPlugin to aid in editing InputEvents in resources and ↵Eric M
shortcuts
2021-07-01Clean up RenderingServer and its bindingsreduz
* Rewrote bindings for RenderingServer. * They are now all up to date. * Several unused methods and deprecated features were cleaned up.
2021-06-29Fixes to 2D viewportreduz
* Editor 2D viewport now uses embedded subwindows (windows no longer pop up) * Restored the ability to disable 3D on the 2D viewport (makes 3D not display on 2D when there is a camera on the scene)
2021-06-29Merge pull request #49636 from LightningAA/add-feedback-button-4.0Rémi Verschelde
Add "Suggest a Feature" to the help dialog.
2021-06-25Implement native extension systemreduz
* Deprecates GDNative in favor of a simpler, lower level interface. * New extension system allows registering core engine classes. * Simple header interface in gdnative_interace.h
2021-06-19Rename `instance()`->`instantiate()` when it's a verbLightning_A
2021-06-20Merge pull request #49741 from RandomShaper/fix_save_scene_side_effectsRémi Verschelde
Remove side effects of scene save
2021-06-19Remove side effects of scene savePedro J. Estébanez
2021-06-18Merge pull request #40525 from KoBeWi/fastest_close_in_the_westRémi Verschelde
Make closing current scene faster
2021-06-17Merge pull request #47796 from Calinou/editor-add-save-on-focus-loss-optionRémi Verschelde
Add a "save on focus loss" editor setting (disabled by default)
2021-06-16EditorSettings: Factor code to compute auto display scaleRémi Verschelde
Also fixes typo introduced in https://github.com/godotengine/godot/pull/48597/files#r652636544.
2021-06-15Add "Suggest a Feature" to the help dialog.Lightning_A
Links to Godot Proposals's readme.
2021-06-15Merge pull request #48597 from Calinou/editor-scale-auto-portraitRémi Verschelde
Handle portrait mode monitors in the automatic editor scale detection
2021-06-15Merge pull request #49108 from LightningAA/reload-current-project-4.0Rémi Verschelde
Add the ability to reload the current project
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-06-14Make closing current scene fasterTomasz Chabora
2021-06-12Merge pull request #49123 from aaronfranke/it-is-timeRémi Verschelde
Add a Time singleton
2021-06-11Merge pull request #49511 from akien-mga/core-diraccess-fileaccess-ioRémi Verschelde
Core: Move DirAccess and FileAccess to `core/io`
2021-06-11Merge pull request #49279 from Calinou/rename-string-is-abs-path-methodRémi Verschelde
Rename `String.is_abs_path()` to `String.is_absolute_path()`
2021-06-11Add Time singletonAaron Franke
2021-06-11Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde
File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
2021-06-09Merge pull request #48834 from daniel-mcclintock/fix-distraction-free-state-lossRémi Verschelde
Fix out of sync ScriptEditor distraction mode when `Separate Distraction Mode` is Enabled
2021-06-09Fix out of sync separate distraction-free modedaniel-mcclintock
2021-06-08Separate version hash from version number in editor and project managerAndrii Doroshenko (Xrayez)
When copy-pasting the version from About dialog to bug reports at GitHub, this makes the version hash linkable to commits at GitHub.
2021-06-06Merge pull request #49325 from reduz/rename-gi-classesRémi Verschelde
Rename GI Classes
2021-06-05New and improved IK system for Skeleton2DTwistedTwigleg
This PR and commit adds a new IK system for 2D with the Skeleton2D node that adds several new IK solvers, a way to control bones in a Skeleton2D node similar to that in Skeleton3D. It also adds additional changes and functionality. This work was sponsored by GSoC 2020 and TwistedTwigleg. Full list of changes: * Adds a SkeletonModifier2D resource * This resource is the base where all IK code is written and executed * Has a function for clamping angles, since it is so commonly used * Modifiers are unique when duplicated so it works with instancing * Adds a SkeletonModifierStack2D resource * This resource manages a series of SkeletonModification2Ds * This is what the Skeleton2D directly interfaces with to make IK possible * Adds SkeletonModifier2D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK * Each modification is in its own file * There is also a SkeletonModifier2D resource that acts as a stack for using multiple stacks together * Adds a PhysicalBone2D node * Works similar to the PhysicalBone3D node, but uses a RigidBody2D node * Changes to Skeleton2D listed below: * Skeleton2D now holds a single SkeletonModificationStack2D for IK * Skeleton2D now has a local_pose_override, which overrides the Bone2D position similar to how the overrides work in Skeleton3D * Changes to Bone2D listed below: * The default_length property has been changed to length. Length is the length of the bone to its child bone node * New bone_angle property, which is the angle the bone has to its first child bone node * Bone2D caches its transform when not modified by IK for IK interpolation purposes * Bone2D draws its own editor gizmo, though this is stated to change in the future * Changes to CanvasItemEditor listed below: * Bone2D gizmo drawing code removed * The 2D IK code is removed. Now Bone2D is the only bone system for 2D * Transform2D now has a looking_at function for rotating to face a position * Two new node notifications: NOTIFICATION_EDITOR_PRE_SAVE and NOTIFICATION_EDITOR_POST_SAVE * These notifications only are called in the editor right before and after saving a scene * Needed for not saving the IK position when executing IK in the editor * Documentation for all the changes listed above.
2021-06-05Rename GI Classesreduz
* GIProbe is now VoxelGI * BakedLightmap is now LightmapGI As godot adds more ways to provide GI (as an example, SDFGI in 4.0), the different techniques (which have different pros/cons) need to be properly named to avoid confusion.
2021-06-03Replace get_settings_dir with get_config_dir when fetching configuration pathsYuri Sizov
2021-06-03Rename `String.is_abs_path()` to `String.is_absolute_path()`Hugo Locurcio
This is more consistent with `NodePath.is_absolute()`.
2021-06-02Use bold fonts in editorreduz
* Labels are now bold * Categories in trees are bold * Main editor buttons are bold * Fixed section folding arrows in inspector
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