Commit Graph

1141 Commits

Author SHA1 Message Date
af3a5ea7ea Update SceneTree debug colors when settings changed 2022-03-28 10:49:18 +08:00
eb81ac8fc5 Made reload current project ask for confirmation with unsaved changes 2022-03-27 13:11:19 +05:30
f80148e3d1 [Editor] Fix reloading editor theme on font / font size setting change. 2022-03-21 08:20:09 +02:00
deb1342036 Make TabBar/Container default their alignments to the left instead of center 2022-03-17 18:12:23 -03:00
c0b472dfe2 Merge pull request #58967 from fire-forge/gradient2d_editor 2022-03-17 19:43:29 +01:00
9c0261ff85 Add GradientTexture2D editor plugin 2022-03-17 10:32:54 -05:00
98d0af7d5c Implement GDExtension export plugin. 2022-03-16 11:16:19 +02:00
3c53752b4a Cleanup embed subwindows getters 2022-03-13 18:20:53 +01:00
c53a84fdfd Improve scene tab close button options 2022-03-13 02:14:32 +01:00
918b09cabc Initialize bools in the headers in editor 2022-03-12 13:34:06 -06:00
42078dec9f Allow negative indexes in ItemList and PopupMenu 2022-03-12 01:14:03 +01:00
7e4a8d3ab3 Merge pull request #58706 from timothyqiu/property-i18n 2022-03-10 21:09:50 +01:00
6f51eca1e3 Discern between virtual and abstract class bindings
* Previous "virtual" classes (which can't be instantiated) are not corretly named "abstract".
* Added a new "virtual" category for classes, they can't be instantiated from the editor, but can be inherited from script and extensions.
* Converted a large amount of classes from "abstract" to "virtual" where it makes sense.

Most classes that make sense have been converted. Missing:

* Physics servers
* VideoStream
* Script* classes.

which will go in a separate PR due to the complexity involved.
2022-03-10 12:28:11 +01:00
f17c5501eb Merge pull request #58865 from timothyqiu/more-i18n
Add missing i18n to various strings
2022-03-09 20:38:19 +01:00
182e038af5 Replace TabBar's min_width with max_tab_width and expose it 2022-03-09 01:48:18 -03:00
25d93200c8 Add missing i18n to various strings 2022-03-07 21:50:49 +08:00
2057ea2883 Remove duplicate editor settings definitions 2022-03-06 22:05:49 +01:00
7d44bb8f06 Remove set_as_minsize() 2022-03-06 00:57:42 +01:00
cdd63fa872 Merge pull request #53839 from EricEzaM/editor-settings-changed-settings
Added ability to get list of editor settings changed when saving editor settings. Optimised settings changed notification.
2022-03-05 12:54:38 +01:00
daceae79e8 Made use of EditorSettings 'settings changed' to optimise settings changed notifications. 2022-03-05 19:26:40 +10:00
a811ebf699 Make TabContainer use TabBar internally 2022-03-03 21:49:58 -03:00
d6df2ffad8 i18n: Make property paths and categories translatable 2022-03-03 18:31:40 +08:00
958912a33f Use versioned URL for "Online Documentation" buttons in the editor
This also avoids a redirect, making the page appear to load faster.
2022-02-17 18:17:02 +01:00
b8b4580448 Style: Cleanup single-line blocks, semicolons, dead code
Remove currently unused implementation of TextureBasisU, could be re-added
later on if needed and ported.
2022-02-16 14:06:29 +01:00
11572c6e30 Editor: Cleanup some includes dependencies
Removes some unnecessary includes from `editor_node.h`, and instead add
those where they're used.

Removes unnecessary `editor_node.h` includes in various editor classes.

Renames `dynamicfont` to `dynamic_font` in a couple files.

Misc cleanup while jumping through that rabbit hole.
2022-02-15 14:54:15 +01:00
cd1d7294d8 Remove the EditorNode parameter from EditorPlugins create methods
Remove EditorNode usage from the Navigation editor plugin.
2022-02-14 18:21:42 +01:00
05b56f316d Remove most EditorNode constructor parameters and fields 2022-02-14 14:16:24 +01:00
b396fd4eef Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
107b6f299c Reorganize inspector layout workflow for Control nodes 2022-02-10 20:29:34 +03:00
90162851a7 Core: Move generated VERSION_HASH to a .cpp file
This lets us have its definition in `core/version.h` and avoid
rebuilding a handful of files every time the commit hash changes.
2022-02-09 09:20:17 +01:00
41a158af56 Add AudioStreamRandomizer, replacing AudioStreamRandomPitch
Add additional randomization options.
2022-02-09 00:05:32 +01:00
25d4c14fef Merge pull request #57627 from JFonS/occluder_improvements 2022-02-08 23:23:50 +01:00
a66e55069e Merge pull request #57796 from akien-mga/revert-sname-theme-setters 2022-02-08 11:13:24 +01:00
fc076ece3d Revert "Add missing SNAME macro optimization to all theme methods call"
This reverts commit a988fad9a0.

As discussed in #57725 and clarified in #57788, `SNAME` is not meant to be used
everywhere but only in critical code paths. For theme methods specifically, it
was by design that only getters use `SNAME` and not setters.
2022-02-08 10:17:25 +01:00
317cd0b19a Refactor some object type checking code with cast_to
Less stringly typed logic, and less String allocations and comparisons.
2022-02-08 10:08:34 +01:00
59e9a8c275 Fix theming for floating window docks 2022-02-07 09:55:25 -03:00
dd970482c5 Improvements and fixes to occluders
Improvements:
* Occluder3D is now an abstract type inherited by: ArrayOccluder3D, QuadOccluder3D, BoxOccluder3D, SphereOccluder3D and PolygonOccluder3D. ArrayOccluder3D serves the same purpose as the old Occluder3D (triangle mesh occluder) while the rest are primitives that can be used to manually place simple occluders.
* Occluder baking can now apply simplification. The "bake_simplification_distance" property can be used to set a world-space distance as the desired maximum error, set to 0.1 by default.
* Occluders can now be generated on import. Using the "occ" and "occonly" keywords (similar to "col" and "colonly" for colliders) or by enabling on MeshInstance3Ds in the scene's import window.

Fixes:
* Fixed saving of occluder files after bake.
* Fixed a small error where occluders didn't correctly update in the rendering server.

Bonus content:
* Generalized "CollisionPolygon3DEditor" so it can also be used to edit Resources. Renamed it to "Polygon3DEditor" since it was already being used by other things, not just colliders.
* Fixed a small bug in "EditorPropertyArray" where a call to "remove" was left after the "remove_at" rename.
2022-02-07 13:04:51 +01:00
b024602660 Merge pull request #57725 from jmb462/missing-sname-theme-setters 2022-02-07 11:46:25 +01:00
ee3b7bc747 Move Replication tab to a fixed position 2022-02-07 01:06:55 +01:00
a988fad9a0 Add missing SNAME macro optimization to all theme methods call 2022-02-06 23:06:11 +01:00
1ce81dc5f2 Add missing SNAME macro optimization in some function calls 2022-02-06 15:54:04 +01:00
c971316d88 [Editor] Replication plugin to configure MultiplayerSynchronizers.
Allows configuring the MultiplayerSynchornizer in a way similar to
AnimationPlayer.
Properties are added manually, edither as plain properties, or via the
NodePath format for child nodes' properties "path/to/node:property"
relative to the MultiplayerSynchronizer root path.

Nice things to add would be:
- Moving properties up/down in the list.
- Some form of keying, autmatic filling of the replication properity
  line edit.
2022-02-04 14:56:30 +01:00
29c4644890 Merge pull request #57086 from YeldhamDev/scene_tabs_fix 2022-02-04 11:01:41 +01:00
7be7623d69 Merge pull request #57494 from Geometror/project-and-editor-settings-fixes 2022-02-02 21:55:08 +01:00
fc27636999 Vectors: Use clear() and has().
Use clear() instead of resize(0).

Use has() instead of "find(p_val) != -1".
2022-02-02 00:11:09 +05:45
45a32f21ee Fix buggy behavior of the "Add tab" button in the scene tabs 2022-02-01 11:44:58 -03:00
2f1e7c28a4 Minor fixes/refactoring of project and editor setting dialogs 2022-02-01 00:19:01 +01:00
45553fd586 Merge pull request #56970 from YeldhamDev/rise_tabbar_rise 2022-01-31 21:46:07 +01:00
64c4a5b283 Bring TabBar to full parity with the TabContainer implementation. 2022-01-31 15:35:54 -03:00
65b6b140b6 Inspector retains content when detached and when docked 2022-01-30 12:11:27 +05:30