summaryrefslogtreecommitdiff
path: root/editor/editor_settings.cpp
AgeCommit message (Collapse)Author
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-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-02Add numpad emulation in 3D viewportHaoyu Qiu
2021-07-01Use PROPERTY_USAGE_NONE instead of 0 for no property usageAaron Franke
Also use const more often.
2021-06-19Rename `instance()`->`instantiate()` when it's a verbLightning_A
2021-06-20Merge pull request #48696 from madmiraal/fix-48692Rémi Verschelde
Fix `InputMap.action_erase_event()` failing to erase events correctly.
2021-06-17Merge pull request #47813 from Calinou/editor-decrease-unfocused-fps-limitRémi Verschelde
Decrease the editor FPS limit when unfocused from 20 to 10
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-15Merge pull request #48597 from Calinou/editor-scale-auto-portraitRémi Verschelde
Handle portrait mode monitors in the automatic editor scale detection
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-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-19Fix InputMap.action_erase_event() failing to erase events correctly.Marcel Admiraal
2021-05-17Merge pull request #48168 from LightningAA/control-to-ctrl-4.0Rémi Verschelde
2021-05-09Handle portrait mode monitors in the automatic editor scale detectionHugo Locurcio
Using the smallest dimension of the width and height makes it possible to support both landscape and portrait monitors.
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-04-12Decrease the editor FPS limit when unfocused from 20 to 10Hugo Locurcio
This provides better power savings compared to the previous value. This also speeds up project execution slightly while the editor is running in the background. The setting hint can now go as low as 1 FPS (1 million microseconds per frame), for those who really need the best possible power savings. This will make previewing animated shaders or particles impossible when the editor window isn't focused though.
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.