summaryrefslogtreecommitdiff
path: root/editor/editor_settings.cpp
AgeCommit message (Collapse)Author
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-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-03Replace get_settings_dir with get_config_dir when fetching configuration pathsYuri Sizov
2021-06-01Merge pull request #45393 from Paulb23/code_edit_autocompleteRémi Verschelde
2021-06-01Move and expose Code Hint in CodeEditPaulb23
2021-05-31Merge pull request #49132 from Calinou/editor-syntax-themes-rename-defaultRémi Verschelde
Rename the bundled text editor themes for consistency with themes
2021-05-31Rename the bundled text editor themes for consistency with themesHugo Locurcio
The Adaptive text editor theme is the default, and has therefore been renamed Default for consistency with the Default theme preset. It keeps its automatic dark/light switch status. The Default text editor theme was actually a legacy Godot 2-style theme, so it has been renamed to Godot 2 to match the theme preset. Its background color has been changed to be a constant opaque color, since the new editor theme made the theme look less good on a translucent background. The previous background color on light theme also lacked contrast.
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-25Add TileMap grid editor settings.Gilles Roudière
2021-05-17Merge pull request #48168 from LightningAA/control-to-ctrl-4.0Rémi Verschelde
2021-05-09Merge pull request #48534 from Calinou/editor-theme-allow-negative-contrastRémi Verschelde
Allow negative contrast values in the editor theme settings
2021-05-07Rename "Control" key to "Ctrl" and add "_pressed" suffix to all ↵Lightning_A
InputEventWithModifiers properties/methods
2021-05-07Tweak the setting hint for the custom editor theme settingHugo Locurcio
The custom editor theme is only visible after restarting the editor.
2021-05-07Allow negative contrast values in the editor theme settingsHugo Locurcio
When using a negative contrast value, the base color will be lightened to create the derivative colors instead of being darkened. This can lead to better-looking themes, especially for light themes.
2021-05-07Merge pull request #33577 from Calinou/highlight-control-flow-keywordsRémi Verschelde
Highlight control flow keywords with a different color
2021-05-06Merge pull request #45607 from Calinou/improve-editor-themeRémi Verschelde
Improve the editor theme
2021-05-06Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscoresHugo Locurcio
2021-05-05Highlight control flow keywords with a different colorHugo Locurcio
This makes them easier to distinguish from other keywords.
2021-04-27Improve the editor themeHugo Locurcio
The editor theme now makes use of rounded corners and less borders to follow modern visual trends. The default theme's colors were also tweaked to make the blue hue more subtle (similar to the Arc theme, which was removed as a consequence). The Alien theme was replaced by a Breeze Dark theme, which should blend in well with the KDE theme.
2021-03-23Merge pull request #35320 from Calinou/edited-scene-extension-if-ambiguousRémi Verschelde
Display scene file extensions in the editor only if there's ambiguity
2021-03-21Tweak the 3D editor grid default to not go below subdivisions of 1 meterHugo Locurcio
Small subdivisions aren't useful that often and make it difficult for people to get a sense of scale in 3D.
2021-03-20Display scene file extensions in the editor only if there's ambiguityHugo Locurcio
This also simplifies the Editor Settings as the extension is now automatically shown to avoid ambiguity.
2021-02-19Merge pull request #44864 from ↵Rémi Verschelde
Calinou/editor-array-dictionary-increase-page-size Increase the page size for array/dictionary editors to 20
2021-02-18Added ability to override built-in actions for the editorEric M
This adds the ability to add overrides for built-in actions (i.e. ui_*) in the editor. Also added a number of additional built-in actions for various text-related actions, gui-generic actions (like copy and paste) and graph-related actions (duplicate nodes), etc. Moved the definition of input actions to input_map, rather than in project_settings so the editor can make use of these actions as well.
2021-02-18Reorganize Project Settingsreduz
-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.
2021-02-14Merge pull request #45910 from Ansraer/default-scale-highres-monitorRémi Verschelde
Adjust auto scale on 4k monitors to 150%
2021-02-12Increase the page size for array/dictionary editors to 20Hugo Locurcio
With smaller arrays/dictionaries, this makes it possible to view all of an array/dictionary's items on a single page. Larger values could be used, but make switching between node selections quite slow, especially on low-end CPUs. They could also be problematic with complex resource inspectors for arrays/dictionaries that contain Resources. This closes https://github.com/godotengine/godot-proposals/issues/2058.
2021-02-12Add ability to change Icon Saturationreduz
-Allows for more theme freedom -Allows for entirely B&W themes.
2021-02-12Improved Inspector Sub-Resource Editingreduz
-Better margins -Colors to delimit subresources better.
2021-02-12Adjust auto scale on high res displaysAnsraer
2021-02-10Removed _change_notifyreduz
-For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap. -For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed() -Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
2021-02-02Move project-specific editor data into res://.godot/editorAaron Franke
2021-01-25Fix minimap capturing events and improve its themeYuri Sizov
Add an editor setting for minimap opacity in visual editors
2021-01-18Merge pull request #45270 from Calinou/editor-tweak-font-hinting-hintRémi Verschelde
Tweak the "Auto" editor setting hints to be more indicative
2021-01-18Tweak the "Auto" editor setting hints to be more indicativeHugo Locurcio
This affects the editor scale and font hinting settings which will now display their automatically chosen value in parentheses.
2021-01-18Merge pull request #32321 from Calinou/editor-disable-quit-confirmationRémi Verschelde
Remove the editor quit confirmation when there are no unsaved changes
2021-01-18Tweak the Contextual Ligatures editor setting hint for consistencyHugo Locurcio
Title Case is used for all enum values in Godot.
2021-01-06Remove the editor quit confirmationHugo Locurcio
The editor will still ask for confirmation if the user is working on unsaved scenes.
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-29Add an editor setting for the 3D selection box colorHugo Locurcio
A restart is required to apply the setting change.
2020-12-28Rename empty() to is_empty()Marcel Admiraal
2020-12-20Add animation reset track featurePedro J. Estébanez
As a bonus, to have consistency between use Beziers and create insert tracks, use Beziers also gets a default via editor settings that is used when the confirmation dialog is disabled, instead of just falling back to creating non-Bezier tracks.
2020-12-19Increase the default Camera Zfar to 4000Hugo Locurcio
This makes it possible to view far away objects without having to tweak any settings. This results in a more usable editor when working on large-scale levels. This change should have no impact on performance, but note that Z-fighting will be visible at a distance. This can be made less visible by increasing the Znear value (however, doing so will cause nearby surfaces to disappear). This change was also applied to the editor, but it will only apply to newly created scenes. This also changes the default camera settings in the glTF importer to match the Camera node's defaults.
2020-12-13[Complex Text Layouts] Add variable fonts support.bruvzg
2020-12-10PVRTC: Move compress func to `modules/pvr`, drop obsolete PVRTexTool codeRémi Verschelde
The code we had for PVRTexTool doesn't work as it's not compatible with current PVRTexTool CLI options, and likely hasn't been for years. Instead, we have our own vendored pvrtccompressor thirdparty library which all users have thus de-facto been using. This commit moves the compress code to `modules/pvr` where it belongs. There's no proper compress function for PVRTC 2-bit format, that's a bug that will need to be fixed (currently it's compressed as 4-bit format even if you use Image::FORMAT_PVRTC2). Fixes #28669.
2020-12-09Cleanup unused engine codeTomasz Chabora
2020-12-02Initialize class/struct variables with default values in platform/ and editor/Rafał Mikrut
2020-11-26[Complex Text Layouts] Refactor Font class, default themes and controls to ↵bruvzg
use Text Server interface. Implement interface mirroring. Add TextLine and TextParagraph classes. Handle UTF-16 input on macOS and Windows.