Commit Graph

9637 Commits

Author SHA1 Message Date
Rémi Verschelde
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
Rémi Verschelde
760a95e86a
Merge pull request #57877 from bruvzg/subpixel_gl_pos 2022-02-15 13:58:38 +01:00
Rémi Verschelde
b3507ab0cd
Merge pull request #58100 from Calinou/environment-clamp-sky-contribution
Clamp environment light sky contribution to the [0.0; 1.0] range
2022-02-15 07:42:30 +01:00
Hugo Locurcio
c10e97b604
Clamp environment light sky contribution to the [0.0; 1.0] range
The value is already clamped in the editor, but it wasn't being
clamped when the value was set via code. Values outside the [0.0; 1.0]
range can result in broken rendering.
2022-02-14 17:15:32 +01:00
Hugo Locurcio
15244e55bd
Improve completion scroll bar visibility in the script editor
This makes the scroll bar bar thicker and more opaque (roughly
matching the editor theme's scroll bar by default).
2022-02-14 16:49:08 +01:00
Rémi Verschelde
cd6301ae25
Merge pull request #58008 from Geometror/increase-checkerboard-contrast 2022-02-14 15:22:50 +01:00
Rémi Verschelde
89996be091
Merge pull request #57988 from markdibarry/add_get_last_visible_character_line 2022-02-14 15:22:03 +01:00
Rémi Verschelde
af98de8823
Merge pull request #58089 from YeldhamDev/crashy_tabs 2022-02-14 15:21:18 +01:00
Michael Alexsander
2b4d417e99 Fix crash when removing tabs from TabBar 2022-02-14 01:58:17 -03:00
markdibarry
c0caafe960 Add offset methods for lines and paragraphs in RichTextLabel
Adds `get_line_offset` and `get_paragraph_offset` methods to `RichTextLabel`

Fix arg mismatch
2022-02-13 13:15:21 -05:00
markdibarry
ae7eec53c0 Add get_character_line method for RichTextLabel
Adds the ability to get the line number of provided character position

Fix arg name

Add get_character_paragraph

Replaced glyph logic with code suggestions, added get_character_paragraph method

Run doctool

Use built-in method

Replace TS access with built in method
2022-02-13 11:12:12 -05:00
Rémi Verschelde
7224389468
Merge pull request #57954 from TokageItLab/refactor-cubic-interpolate
Implement `cubic_interpolate()` as MathFunc for refactoring
2022-02-13 10:34:13 +01:00
Yuri Sizov
ddc8ec6b44 Limit inspector updates when dragging anchored controls 2022-02-13 00:19:06 +03:00
bruvzg
29199579f7
Add sub-pixel glyph positioning support. 2022-02-12 19:55:52 +02:00
Hugo Locurcio
56b604bef7
Add sky cover texture for ProceduralSkyMaterial
This brings PhysicalSkyMaterial's Night Sky functionality to
ProceduralSkyMaterial, but in a more powerful and general fashion.

This can be used to display stars at night, or clouds at day and night.
For clouds, it won't be physically accurate, but it can look good still.

The Sky Cover Modulate property can be used to adjust the sky cover's
colors and opacity in real-time, which is useful for day/night or weather
transitions.
2022-02-12 18:39:57 +01:00
Rémi Verschelde
d3a6b6daaa
Merge pull request #56953 from bruvzg/ex_wnd 2022-02-12 16:46:55 +01:00
Rémi Verschelde
498805282a
Merge pull request #57993 from Calinou/sky-tweak-default-values 2022-02-12 16:46:19 +01:00
Rémi Verschelde
732725d663
Merge pull request #58006 from bruvzg/fix_rtl_img_resize 2022-02-12 15:28:26 +01:00
Hendrik Brucker
8ebecf5095 Increase checkerboard texture contrast 2022-02-12 14:55:07 +01:00
bruvzg
d7f6a4853a
[RTL] Fix "img" tag not setting image size. 2022-02-12 11:48:56 +02:00
Rémi Verschelde
93710edb60
Merge pull request #57319 from IgorKordiukiewicz/sprite3d-error-message 2022-02-12 10:22:40 +01:00
Silc 'Tokage' Renew
865da09871 Implement cubic_interpolate() as MathFunc for refactoring 2022-02-12 18:11:17 +09:00
Rémi Verschelde
7a7fabe4f6
Merge pull request #57641 from Geometror/compilation-time-improvements-1 2022-02-12 09:46:02 +01:00
Hendrik Brucker
b396fd4eef Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
Hugo Locurcio
b7b18a4940
Tweak default ProceduralSkyMaterial and PhysicalSkyMaterial appearance
- Tweak colors to be less saturated and more balanced (in terms of hue).
  The cool blue sky is balanced by a warm brown ground,
  which makes reflections look closer to how they'd look like when using
  an HDRI panorama texture.
- Make the ground color dark on both ProceduralSkyMaterial and
  PhysicalSkyMaterial to reduce indoor light leaking, especially
  when using GI.
- Tweak the PhysicalSkyMaterial colors to be as close as possible
  to ProceduralSkyMaterial (with the default sun orientation).
- Tweak editor environment defaults to be identical to the default
  ProceduralSkyMaterial colors. Previously, the default editor sky
  color was different from the colors of a newly created
  ProceduralSkyMaterial resource.

Both new skies were tested without GI, with SDFGI and with VoxelGI.
They were tuned to look best when using ACES tonemapping with a
whitepoint set to 6, but they still look good with other
tonemapping operators.
2022-02-12 02:22:40 +01:00
Igor Kordiukiewicz
2fe43a3bd8 Fix SelfList::remove error when animating Sprite3D 2022-02-11 23:32:06 +01:00
bruvzg
7d59b81d79
Add exclusive window handling to DisplayServer (on macOS and Windows). 2022-02-12 00:14:09 +02:00
Yuri Sizov
175088db25 Add an explicit way to remove a theme type 2022-02-11 17:57:52 +03:00
bruvzg
2e01a0d7a3
[RTL / Label] Reorganize property order to ensure "visible_characters" / "percent_visible" are set after the "text". 2022-02-11 12:31:13 +02:00
Rémi Verschelde
9abf5f01fd
Merge pull request #55207 from ConteZero/rich_text_label_drag 2022-02-10 22:14:08 +01:00
Rémi Verschelde
69ddf2fd05
Merge pull request #55157 from pycbouh/control-inspector-reorg 2022-02-10 22:13:28 +01:00
Rémi Verschelde
3bcd3ee10d
Merge pull request #57925 from akien-mga/shaderglobalsoverride-out-of-tree 2022-02-10 21:45:22 +01:00
ConteZero
cb222f6c9d Add drag to RichTextLabel 2022-02-10 20:24:28 +01:00
Hugo Locurcio
09563e4bd8
Default to real-time radiance map filter for environment sky reflections
This makes radiance map updates much faster, which improves performance
when rotating the sun in the editor or at run-time.

This real-time filter is also much less prone to "fireflies" that can
appear when using a sky with a bright sun.
2022-02-10 20:12:33 +01:00
Yuri Sizov
107b6f299c Reorganize inspector layout workflow for Control nodes 2022-02-10 20:29:34 +03:00
Rémi Verschelde
d6abf8f158
Merge pull request #57873 from markdibarry/add_get_content_width_RichTextLabel 2022-02-10 18:24:13 +01:00
Rémi Verschelde
4be8f200f0
Fix crash calling _activate() on ShaderGlobalsOverride out of tree
Fixes #45984.
2022-02-10 18:22:20 +01:00
Rémi Verschelde
c6199da8b8
Merge pull request #39965 from Calinou/tweak-sdfgi-defaults 2022-02-10 17:31:54 +01:00
Rémi Verschelde
2fafcfebdf
Merge pull request #57707 from Calinou/sdfgi-tweak-default-num-cascades 2022-02-10 17:27:42 +01:00
markdibarry
29c21ac590 Add get_content_width method
Adds a get_content_width method to RichTextLabel
2022-02-10 10:56:11 -05:00
Rémi Verschelde
1bdb82c64e
Fix typos with codespell
Using codespell 2.2-dev from current git.

Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.
2022-02-10 12:30:19 +01:00
Anilforextra
bb5d130509 Code quality cleanup for some variable scopes. 2022-02-10 15:56:01 +05:45
Fabio Alessandrelli
6ad0ca8fcd
Merge pull request #57876 from Faless/mp/4.x_clarify_rpc_error
[Net] Clarify RPC error when method is missing.
2022-02-09 23:38:16 +01:00
Rémi Verschelde
d22ac13bc2
Merge pull request #57715 from Faless/debugger/4.x_core_includes_and_servers
[Debugger] Move most profilers to ServersDebugger, fix core includes.
2022-02-09 21:57:32 +01:00
Fabio Alessandrelli
9608e0571a [Net] Clarify RPC error when method is missing. 2022-02-09 21:43:26 +01:00
Fabio Alessandrelli
a18ba63417 [Net] Allow to use strings as method name in RPC.
Node::rpc and Node::rpc_id will now also accepts Strings instead of only
accepting StringNames.
2022-02-09 14:27:16 +01:00
Rémi Verschelde
f88a83f611
Merge pull request #57810 from timothyqiu/tree-button-id 2022-02-09 11:11:01 +01:00
Rémi Verschelde
196801fc64
Merge pull request #57837 from YeldhamDev/that_was_pointless 2022-02-09 09:38:39 +01:00
Michael Alexsander
ef81dc1831 Remove code to update the layout direction of submenus from PopupMenu 2022-02-09 01:36:20 -03:00
Rémi Verschelde
a4759e375a
Merge pull request #57832 from Sauermann/fix-id-creation 2022-02-09 01:22:12 +01:00
Rémi Verschelde
f111768ba9
Merge pull request #57813 from MisoMosiSpy/disabled_icons 2022-02-09 01:20:58 +01:00
Markus Sauermann
35806c1511 Adjust id creation in PopupMenu to avoid duplicate ids 2022-02-09 01:17:55 +01:00
MisoMosiSpy
839b8cae1e
Updated alpha value for disabled icons in default theme. 2022-02-09 01:16:39 +01:00
Rémi Verschelde
25d4c14fef
Merge pull request #57627 from JFonS/occluder_improvements 2022-02-08 23:23:50 +01:00
Rémi Verschelde
8907c566ed
Merge pull request #57773 from pfertyk/issue_57710_tabbar_update_hover 2022-02-08 23:12:05 +01:00
Rémi Verschelde
d64b27e510
Merge pull request #57819 from Jojox/fix_padded_texture_format 2022-02-08 22:34:23 +01:00
Paweł Fertyk
2d82e076f4 Fix TabBar._update_hover crash
Fixes #57710.
2022-02-08 22:06:58 +01:00
JoJoX
a6c77c7c5a Use source image format when creating padded texture 2022-02-08 15:27:44 -05:00
Raul Santos
68b04a5a07 Add array element type to _get_polygons and _get_outlines 2022-02-08 21:15:25 +01:00
Haoyu Qiu
374299c6fb Improve TreeItem button API 2022-02-08 23:56:13 +08:00
Rémi Verschelde
b6ddf4a629
Merge pull request #57692 from YeldhamDev/popping_options 2022-02-08 14:04:28 +01:00
Rémi Verschelde
e26598b4a1
Merge pull request #40140 from hinlopen/tree-scroll-center 2022-02-08 13:43:19 +01:00
Rémi Verschelde
a66e55069e
Merge pull request #57796 from akien-mga/revert-sname-theme-setters 2022-02-08 11:13:24 +01:00
Rémi Verschelde
f32c715fbc
Merge pull request #57720 from akien-mga/prefer-cast-to-get_class-string-compare 2022-02-08 11:09:43 +01:00
Rémi Verschelde
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
Rémi Verschelde
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
Haoyu Qiu
bbcd9c5b97 Fix RayCast{2,3}D.clear_exceptions clears parent 2022-02-08 16:31:07 +08:00
Michael Alexsander
59e9a8c275 Fix theming for floating window docks 2022-02-07 09:55:25 -03:00
jfons
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
Rémi Verschelde
bfb75d107c
Merge pull request #57741 from Chaosus/vs_fixes 2022-02-07 12:50:44 +01:00
Rémi Verschelde
b024602660
Merge pull request #57725 from jmb462/missing-sname-theme-setters 2022-02-07 11:46:25 +01:00
Rémi Verschelde
404364d4b4
Merge pull request #57684 from KoBeWi/todo_optimize 2022-02-07 09:52:11 +01:00
Yuri Roubinsky
a6e280c5de Add some more fixes to visual shader 2022-02-07 11:28:42 +03:00
Michael Alexsander
8bde86da10 Make popups from MenuButton, OptionButton, and submenus obey the layout direction 2022-02-06 23:07:08 -03:00
jmb462
a988fad9a0 Add missing SNAME macro optimization to all theme methods call 2022-02-06 23:06:11 +01:00
Rémi Verschelde
9cf6e5113b
Merge pull request #57716 from Chaosus/vs_vector_3d
Rename `PORT_TYPE_VECTOR` to `PORT_TYPE_VECTOR_3D` in visual shaders
2022-02-06 21:24:47 +01:00
Rémi Verschelde
784b74ef56
Merge pull request #57721 from YeldhamDev/separate_from_separators
Better handle icons and checkboxes with separators in `PopupMenu`
2022-02-06 21:24:06 +01:00
Michael Alexsander
989caab0ad Better handle icons and checkboxes with separators in PopupMenu 2022-02-06 16:05:45 -03:00
Michael Alexsander
21bf23d966 Enhancements and fixes for OptionButton and PopupMenu 2022-02-06 16:03:18 -03:00
Yuri Roubinsky
db18faf660 Rename PORT_TYPE_VECTOR to PORT_TYPE_VECTOR_3D 2022-02-06 20:15:28 +03:00
Fabio Alessandrelli
87f4bbd668 [Debugger] Move most profilers to ServersDebugger.
Also splits bandwidth/rpc profiler (RPCProfiler is now in
SceneDebugger).
2022-02-06 17:36:48 +01:00
jmb462
1ce81dc5f2 Add missing SNAME macro optimization in some function calls 2022-02-06 15:54:04 +01:00
Hugo Locurcio
7721e19ccc
Tweak default SDFGI settings for better quality
- Enable Read Sky Light to get proper outdoors lighting out of the box.
- Set bounce feedback to 0.5 by default to get a better quality result.
  - Higher values may cause infinite feedback with bright surfaces.
- Increase the number of frames to converge to improve quality
  at the cost of latency. Most scenes are fairly static after all.
- Use 75% Y scale by default as most scenes are not highly vertical.

- Reorder the Y scale enum to go from the lowest Y scale to the highest.
  Also rename the "Disabled" setting to "100%" for clarity.
2022-02-06 15:28:59 +01:00
Hugo Locurcio
b9cfc74f29
Decrease the default number of SDFGI cascades to 4
This improves rendering performance noticeably, especially when the
camera moves fast.

On a medium-sized test scene on a GTX 1080 in 2560×1440, going
from 6 to cascades saves 0.5 ms of frame time while looking visually
identical (as most of the scene fits within the 4 cascades).
2022-02-06 15:01:25 +01:00
kobewi
ab5b5e1577 Rework CanvasItem visibility propagation 2022-02-06 00:26:28 +01:00
Rémi Verschelde
5f42e0d0ab
Merge pull request #57646 from Faless/mp/4.x_interfaces
[Net] Move RPC, Node cache out of MultiplayerAPI.
2022-02-05 18:26:04 +01:00
Rémi Verschelde
aecff478b7
Merge pull request #48006 from KoBeWi/incognito_layer
Add visibility to CanvasLayer
2022-02-05 16:05:53 +01:00
kobewi
189dab2d76 Add visibility to CanvasLayer 2022-02-05 14:02:21 +01:00
Ger Hean
8acc8838c4 Add shortcut_cell double click functionality 2022-02-05 19:06:54 +08:00
Stijn Hinlopen
31824420e4 Center when scrolling to tree item. 2022-02-05 10:59:33 +01:00
kobewi
e714f5e56e Rework TextureButton stretch 2022-02-05 02:11:32 +01:00
Fabio Alessandrelli
347d2dfc42 [Net] Move RPC, Node cache out of MultiplayerAPI.
Now uses two interfaces so it can be overridden in the future, and
core no longer depends on Node.

The interfaces are implements in scene/multiplayer.
Replaces root_node with root_path.
Remove all Node references from MultiplayerAPI.
2022-02-05 02:00:23 +01:00
Rémi Verschelde
2885befbe6
Merge pull request #55950 from Faless/mp/4.x_replication_nodes 2022-02-04 19:03:10 +01:00
Fabio Alessandrelli
d219547c96 [Net] New replication interface, spawner and synchronizer nodes.
Initial implementation of the MultiplayerReplicationInterface and its
default implementation (SceneReplicationInterface).

New MultiplayerSpawner node helps dealing with instantiation of scenes
on remote peers (e.g. clients).
It supports both custom spawns via a `_spawn_custom` virtual function,
and optional auto-spawn of known scenes via a TypedArray<PackedScenes>
property.

New MultiplayerSynchornizer helps synchronizing states between the local
and remote peers, supports both sync and spawn properties and is
configured via a `SceneReplicationConfig` resource.
It can also sync via path (i.e. without being spawned by a
MultiplayerSpawner if both peers has it in tree, but will not send the
spawn state in that case, only the sync one.
2022-02-04 14:56:30 +01:00
Rémi Verschelde
225a3b2545
Merge pull request #57341 from bruvzg/win_multiwin_fs 2022-02-04 13:28:56 +01:00
bruvzg
f4ea9cd9f3
[Windows] Add WS_BORDER flag to windows in WINDOW_MODE_FULLSCREEN mode to allow multi-window interface in full-screen.
[Windows] Add WINDOW_MODE_EXCLUSIVE_FULLSCREEN without WS_BORDER flag enabled (no multi-window support).
2022-02-04 12:08:46 +02:00
bruvzg
244db37508
Cleanup and move char functions to the char_utils.h header. 2022-02-04 11:35:01 +02:00
Rémi Verschelde
2a3c4f00c8
Merge pull request #57541 from reduz/node-add-remove-hook 2022-02-04 10:13:29 +01:00
Rémi Verschelde
f8f19b313d
Merge pull request #57562 from AnilBK/string-add-contains
String: Add contains().
2022-02-03 22:21:24 +01:00
Anilforextra
adbe948bda String: Add contains(). 2022-02-04 01:28:02 +05:45
Rémi Verschelde
5e39a8eded
Merge pull request #56992 from YeldhamDev/smarter_popmenu_focus 2022-02-03 17:15:06 +01:00
Rémi Verschelde
45d5aa5d47
Merge pull request #56365 from aaronfranke/default-shape-size 2022-02-03 16:59:07 +01:00
bruvzg
ead6f67670
Add auto-wrap mode property to the RichTextLabel, set default auto-wrap mode to AUTOWRAP_WORD_SMART to match 3.x behavior. 2022-02-03 16:04:07 +02:00
Gilles Roudière
73e784de1e Remove get_focus_owner() from Control, replaced by get_viewport()->gui_get_focus_owner() 2022-02-03 11:59:32 +01:00
Rémi Verschelde
36880714e4
Merge pull request #57517 from groud/viewport_expose_gui_focus 2022-02-03 11:20:20 +01:00
Yuri Roubinsky
ca42bfb2a5
Merge pull request #57504 from Chaosus/vs_vector2 2022-02-02 21:12:45 +03:00
Fabio Alessandrelli
6ff753675a
Merge pull request #56771 from mhilbrunner/unacceptable
Verify custom HTTP headers, fix off by one error
2022-02-02 18:28:30 +01:00
Yuri Roubinsky
59af063636 Add support for 2D vector type to visual shaders 2022-02-02 19:59:34 +03:00
reduz
fbd9599b04 Add a signal to notify when children nodes enter or exit tree
-Allows more fine grained notifications (hence better performance) than using the global scene tree signals (node added and removed).
-Required for #55950
2022-02-02 11:28:11 +01:00
bruvzg
215bede6ff
[TextServer] Add function to change font, font size, and OpenType features without invalidating line break points, justification points, or recreating shaped text buffer. 2022-02-02 11:20:44 +02:00
Rémi Verschelde
7ed7bf1fa7
Merge pull request #48156 from madmiraal/fix-46438
Fix `mouse_over` not dropped when mouse leaves window
2022-02-02 07:58:49 +01:00
Anilforextra
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
Marcel Admiraal
eaa70fd3f8 Fix mouse_over not dropped when mouse leaves window 2022-02-01 16:12:37 +00:00
Gilles Roudière
3521eecb4c Exposes gui_release_focus and gui_get_focus_owner to Viewport 2022-02-01 15:07:22 +01:00
Rémi Verschelde
d4e21b7d62
Merge pull request #57358 from akien-mga/signal-bindings-object 2022-02-01 14:24:47 +01:00
Rémi Verschelde
f1bff648f2
Merge pull request #57355 from akien-mga/method-bindings-clearer-types 2022-02-01 14:24:35 +01:00
Rémi Verschelde
6914a58f99
Merge pull request #57376 from Calinou/gradienttexture2d-clamp-size 2022-02-01 14:22:01 +01:00
Aaron Franke
8cfd264148
Improve the default size for 3D shapes (Box, Capsule, and Cylinder) 2022-02-01 06:43:16 -06:00
Rémi Verschelde
dafadd73ac
Merge pull request #57375 from Calinou/gradienttexture-curvetexture-decrease-default-size 2022-02-01 13:39:16 +01:00
Rémi Verschelde
45553fd586
Merge pull request #56970 from YeldhamDev/rise_tabbar_rise 2022-01-31 21:46:07 +01:00
Michael Alexsander
64c4a5b283 Bring TabBar to full parity with the TabContainer implementation. 2022-01-31 15:35:54 -03:00
Rémi Verschelde
7da9e31f66
Merge pull request #57405 from kleonc/texture_button_focus_only_logic_fix 2022-01-31 18:22:58 +01:00
Rémi Verschelde
74b1e77938
Merge pull request #57276 from IgorKordiukiewicz/fix-auto-brace-complete-wrap-on-selection 2022-01-31 18:14:01 +01:00
Marcel Admiraal
15ea6706e2 Invert Camear2D zoom to make it intuitive 2022-01-31 16:35:28 +00:00
Rémi Verschelde
d7822cbf21
Merge pull request #57367 from Chaosus/vs_derivative 2022-01-31 16:51:30 +01:00
Rémi Verschelde
777c821748
Merge pull request #57462 from mashumafi/master-fix-button-icon-alpha3
Fix button icon_disabled_color alpha channel
2022-01-31 14:53:22 +01:00
Rémi Verschelde
7cb25c2870
Merge pull request #57456 from Paulb23/placeholder-color
Move placeholder colour to theme item
2022-01-31 14:52:34 +01:00
bruvzg
e1148cc452 Revert "Fix control node transform animation jitter with pivot offset"
This reverts commit dfb7d46a2a.
2022-01-31 13:30:35 +02:00
mashumafi
c317a97359 Fix button icon_color_disabled alpha channel 2022-01-30 14:25:42 -05:00
Paulb23
1cd1df5dc3 Move placeholder color to theme item 2022-01-30 17:56:23 +00:00
Igor Kordiukiewicz
f170d6a171 With auto_brace_complete enabled, selected text now gets wrapped by braces 2022-01-30 17:33:13 +01:00
kleonc
078b8c25ce TextureButton Fix logic for drawing only the focus texture 2022-01-29 16:00:30 +01:00
Nathan Franke
8a0a3accee
simplify formatting scripts, add a clang-tidy script, and run clang-tidy 2022-01-29 04:41:03 -06:00
Rémi Verschelde
cb3d308f96
Merge pull request #57372 from KoBeWi/tween_freeze()
Better handle infinite Tween loops
2022-01-29 08:08:34 +01:00
kobewi
038977a985 Better handle infinite Tween loops 2022-01-29 00:36:39 +01:00
Hugo Locurcio
34d382eab6
Clamp GradientTexture2D dimensions to 2048×2048 in the inspector
Larger sizes take up a lot of memory for little visual benefit.
They also take a while to initialize, which makes the inspector slow
to refresh when the texture needs to be regenerated.
2022-01-29 00:32:16 +01:00
Hugo Locurcio
b4f0d4c7db
Decrease the default GradientTexture and CurveTexture size
This provides better usability when a GradientTexture or CurveTexture
is added to a Control node.

Visual appearance of most GradientTextures and CurveTextures will
be unaffected.
2022-01-29 00:28:10 +01:00
Rémi Verschelde
ffa566c770
Merge pull request #57330 from eikobear/master 2022-01-28 23:59:18 +01:00
Rémi Verschelde
1c6f0aa3a0
Merge pull request #56601 from Scony/fix-navigation-obstacle-errors 2022-01-28 23:25:55 +01:00
Rémi Verschelde
2a5b136de2
Merge pull request #57371 from Scony/fix-navigation-2d-defaults 2022-01-28 23:24:38 +01:00
Rémi Verschelde
2279edeaf0
Merge pull request #57368 from TokageItLab/fix-delta-for-animation-tree 2022-01-28 23:16:29 +01:00
eikobear
3b146c5eaa Make various improvements to OptionButton
- Allow OptionButton selection to be set to -1 to signify no selection, both via API and in the editor.
- Reset OptionButton selection to -1 when the selected item has been removed.
- Fully convert PopupMenu to a zero-based ID system, which improves an inconsistency in generated IDs when making new items in the editor.
2022-01-28 17:03:45 -05:00
Pawel Lampe
450e29a569 Improve Navigation2D default settings, see #56852
This commit reduces `cell_size` and `edge_connection_margin` default
values so that `Navigation2D` behaves more like in Godot <= `3.4` by default.
2022-01-28 22:35:05 +01:00
Silc 'Tokage' Renew
0650846248 Make AnimationTree delta argument force double in core 2022-01-29 05:07:30 +09:00
Yuri Roubinsky
88b2afa28f [VisualShader] Merge scalar and vector derivative functions into one 2022-01-28 22:19:10 +03:00
Rémi Verschelde
e3a644ee37
Merge pull request #57353 from KoBeWi/tween_stop() 2022-01-28 15:51:58 +01:00
Rémi Verschelde
7c3003fcbe
Improve some signal bindings to use specific Object subtypes 2022-01-28 15:35:40 +01:00
Rémi Verschelde
7072b359b4
Improve some method bindings to use specific Object subtypes
This was made possible by changes to `VariantCaster` which now make
it possible to pass any `Object`-derived type as pointer.
2022-01-28 15:07:22 +01:00
kobewi
4f5c3d5a60 Fix not being able to stop() empty Tweens 2022-01-28 14:54:14 +01:00
Rémi Verschelde
b8b33df178
TileSetAtlasSource: Make get_tile_data return TileData *
This is now possible thanks to `Variant` changes.

Also unbind some `_` prefixed methods which don't need to be exposed.
2022-01-28 14:27:12 +01:00
Rémi Verschelde
38c6611b91
Merge pull request #57344 from bruvzg/rtl_fix_tab_offset 2022-01-28 14:04:33 +01:00
bruvzg
a2f5f7cccf Fix RTL table offset, if indent is set. 2022-01-28 12:27:47 +02:00
Rémi Verschelde
9686d680b7
Merge pull request #57116 from bruvzg/win_net_share 2022-01-28 11:03:23 +01:00
bruvzg
978f2edeea [RTL] Fix calculation of the last line height. 2022-01-28 10:13:23 +02:00
Rémi Verschelde
e6caaf4c80
Merge pull request #57205 from TechnoPorg/variant-template-cast
Allow method binds to take Object subclasses as arguments
2022-01-27 23:46:37 +01:00
bruvzg
0014f0233a
[RTL] Fix min. height calculation when fit_content_height is enabled. 2022-01-27 12:05:21 +02:00
Rémi Verschelde
899cd34426
Merge pull request #57281 from Rubonnek/rename-subsequence 2022-01-27 11:03:13 +01:00
Rémi Verschelde
a4f999b7dc
Merge pull request #57295 from TokageItLab/fix-blendspace2d-discrete 2022-01-27 10:17:04 +01:00
Silc 'Tokage' Renew
1c0b163df5 More time parameters change type float to double 2022-01-27 12:42:46 +09:00
Max Hilbrunner
3ef5a97505 Verify custom HTTP headers, fix off by one error 2022-01-27 03:22:37 +01:00
Max Hilbrunner
3a83872d26 HTTP comment cleanup 2022-01-27 03:22:37 +01:00
Wilson E. Alvarez
3eb5e0ac50
Rename String::is_subsequence_ofi to String::is_subsequence_ofn 2022-01-26 18:03:56 -05:00
fabriceci
cc3c4d6323 Revert #53174 (applying the delta in move and collide), rename rec_vel to distance and improve the doc description 2022-01-26 23:09:30 +01:00
Rémi Verschelde
1894f3f165
Merge pull request #57247 from bruvzg/rtl_ol_type1 2022-01-26 13:43:43 +01:00
Rémi Verschelde
58324f4df8
Merge pull request #54574 from Ansraer/glow_map 2022-01-26 13:39:51 +01:00
Rémi Verschelde
5eaa93e6b0
Merge pull request #57182 from timothyqiu/shape-owner 2022-01-26 13:26:44 +01:00
bruvzg
cf3d3a6ffa
Fix RichTextLabel [ol type=1] tag closing. 2022-01-26 13:52:24 +02:00
Rémi Verschelde
d9fd16c8e4
Merge pull request #53954 from Chaosus/fix_quit_errors 2022-01-25 20:09:52 +01:00
Rémi Verschelde
ee7c555665
Merge pull request #57215 from Paulb23/placeholder-invis 2022-01-25 19:13:16 +01:00
Paulb23
e911eee21b Fix TextEdit placeholder not checking line count 2022-01-25 17:41:05 +00:00
Michael Alexsander
73c225838f Make popup menus focus items automatically when not using the mouse 2022-01-25 13:51:56 -03:00
TechnoPorg
051ef479c9 Allow method binds to take Object subclasses as arguments
This commit adds a condition to VariantCaster that casts Variants of type OBJECT to any type T, if T is derived from Object.
This change enables a fair bit of code cleanup. First, the Variant implicit cast operators for Node and Control can be removed, which allows for some invalid includes to be removed. Second, helper methods in Tree whose sole purpose was to cast arguments to TreeItem * are no longer necessary.
A few small changes also had to be made to other files, due to the changes cascading down all the includes.
2022-01-25 09:03:36 -07:00
Rémi Verschelde
894e2fddda
Merge pull request #55841 from OverloadedOrama/expose-bitmap-methods 2022-01-25 16:54:26 +01:00
Rémi Verschelde
fba4c6606d
Merge pull request #56891 from rafallus/meshlib_shapes_array 2022-01-25 16:53:41 +01:00
Rémi Verschelde
7cbe1835f9
Merge pull request #57189 from bruvzg/fix_shortcut_context_unset 2022-01-25 14:44:30 +01:00
bruvzg
306b98638e
Allow unsetting shortcut_context. 2022-01-25 14:17:45 +02:00
Haoyu Qiu
a775744742 Store ObjectID instead of raw pointer for Shape Owners 2022-01-25 17:16:06 +08:00
Wysocki Patryk
f16c483c9d
Expose AnimationNodeOneShot::mix_mode as a property
Fixes #23458.
2022-01-25 01:17:21 +01:00
Rémi Verschelde
30701e3966
Merge pull request #57155 from KoBeWi/drag_by_force 2022-01-24 23:16:31 +01:00
kobewi
342a31e326 Fix 2D Pan Tool 2022-01-24 22:21:19 +01:00
Rémi Verschelde
672363f295
Merge pull request #56888 from FreegleBarr/implement_gpuparticle_subemitters2d 2022-01-24 22:19:55 +01:00
Rémi Verschelde
33960b3b87
Merge pull request #55884 from preslavnpetrov/ctrl-enter-deleting-selection-fix-master 2022-01-24 21:33:14 +01:00
Rémi Verschelde
2255777fb9
Merge pull request #57144 from AnilBK/fix-pos-dragging 2022-01-24 21:32:38 +01:00
freeglebarr
6f88294528 ported particle sub-emission to 2D 2022-01-24 17:28:59 -03:00
Rémi Verschelde
5f8f6ae7f6
Merge pull request #57120 from KoBeWi/grandpa_issue 2022-01-24 21:03:48 +01:00
Anilforextra
80187b77a9 Node2D/Node3D: Fix Undraggable Position Property. 2022-01-25 00:52:11 +05:45
Rémi Verschelde
fc09d783f4
Merge pull request #57122 from Faless/net/4.x_http_request_leak 2022-01-24 17:01:08 +01:00
bruvzg
cba8280515 [Windows] Add support for handling network share paths. 2022-01-24 16:22:59 +02:00
fabriceci
856142a97d rename free mode to floating mode 2022-01-24 15:19:43 +01:00
Fabio Alessandrelli
17d4d3839e [Net] Fix HTTPRequest memory leak in compressed responses.
When accept_gzip = true.
2022-01-24 14:24:45 +01:00
kobewi
d7f51dd2ec Better clarify map_to_world() description 2022-01-24 14:13:40 +01:00
Rémi Verschelde
e8789132b4
Merge pull request #57105 from rafallus/regression/3d_disabled 2022-01-24 11:41:15 +01:00
Rémi Verschelde
06abfd8c13
Merge pull request #57100 from Paulb23/textedit-placeholder 2022-01-24 09:43:33 +01:00
rafallus
44f6fe4be4 Bring reusable variables out of while loop 2022-01-23 19:39:00 -06:00
Preslavb
6f1089af86 Fix selection being deleted and indentation not being accounted for 2022-01-23 23:14:35 +00:00
Rémi Verschelde
bd4d57ede2
BaseButton: Rename pressed property to button_pressed
This fixes a conflict with the `pressed` signal.

The new name is temporary and only intended to solve the conflict for upcoming
alpha builds. Discussions are still ongoing regarding the BaseButton API and
how to rename and refactor more of its properties, signals and methods to have
a clearer API in 4.0.
2022-01-23 22:15:09 +01:00
Paulb23
09212ba151 Add Placeholder to TextEdit 2022-01-23 20:19:36 +00:00
bruvzg
268bab077f
[RTL] Fix missing line separation in the paragraph offset and click calculation. 2022-01-23 19:09:14 +02:00
Rémi Verschelde
dda6d2674a
Merge pull request #57082 from madmiraal/fix-50802 2022-01-23 17:27:10 +01:00
kobewi
98692d68c3 Minor tweaks and fixes to panning 2022-01-23 13:49:53 +01:00
Marcel Admiraal
d009aa4d02 Fix mouse position not being scaled when window size is changed 2022-01-23 11:53:58 +00:00
Rémi Verschelde
e363f404a5
Merge pull request #57000 from KoBeWi/UNLIMITED_PANNING 2022-01-23 00:47:52 +01:00
Rémi Verschelde
ee253163ab
Merge pull request #57056 from Chaosus/vs_fix_defaults 2022-01-23 00:27:48 +01:00
Rémi Verschelde
649aa547a3
Merge pull request #57060 from KoBeWi/you_have_1_completion_request 2022-01-23 00:26:35 +01:00
Rémi Verschelde
02f3e3346a
Merge pull request #56912 from AnilBK/circle-fix
Circle&CapsuleShape2D: Fix outlines missing line.
2022-01-22 20:50:41 +01:00
Anilforextra
70b0b2f164 Circle&CapsuleShape2D: Fix outlines missing line. 2022-01-22 22:14:41 +05:45
Yuri Roubinsky
56a6e95d6a Remove transform input from fog mode in visual shaders 2022-01-22 16:31:06 +03:00
kobewi
1422c756ed Rename request_code_completion signal 2022-01-22 14:04:35 +01:00
Yuri Roubinsky
538cff1351 Fix default input port hints for some modes in visual shader 2022-01-22 11:12:56 +03:00
kobewi
74bfe88267 Add ViewPanner to 2D editor 2022-01-21 18:35:06 +01:00
bruvzg
3d79ad6e50
Fix main window title translation. 2022-01-21 15:32:22 +02:00
Yuri Roubinsky
dc07851a3e
Merge pull request #57035 from Chaosus/vs_fix_expression_port_removal 2022-01-21 16:23:27 +03:00
Yuri Roubinsky
cd5b681997 Fix undo after non-last port removal in VisualShaderNodeExpression 2022-01-21 15:21:41 +03:00
Rémi Verschelde
c70ce4d487
Merge pull request #56124 from KoBeWi/font_slayer 2022-01-21 12:52:24 +01:00
Rémi Verschelde
6f764e6291
Merge pull request #56963 from KoBeWi/wszystkie_pliki 2022-01-21 12:51:58 +01:00
Rémi Verschelde
cfb986c631
Merge pull request #51452 from omar-polo/fix-macros 2022-01-20 22:50:39 +01:00
Rémi Verschelde
d681d99e12
Merge pull request #52134 from RandomShaper/fix_naming 2022-01-20 22:01:37 +01:00
Omar Polo
bd448e5535 Rename or refactor macros to avoid leading underscores
These are not used consistently and some can conflict with
system-specific defines.  While here, also delete some unused macros.
2022-01-20 20:29:15 +01:00
Pedro J. Estébanez
7b0ed2aa5e Rename Variant::is_ref() to is_ref_counted() 2022-01-20 18:46:25 +01:00
Yuri Roubinsky
8fc0dd9997
Merge pull request #57001 from bruvzg/popup_dialog_fix 2022-01-20 20:22:47 +03:00
Rémi Verschelde
7e3b92f81f
Merge pull request #55360 from Calinou/rename-bake-mode-properties 2022-01-20 17:35:32 +01:00
Ansraer
90652b1755 add support for glow maps 2022-01-20 16:47:25 +01:00
Rémi Verschelde
eacde082a5
Merge pull request #53276 from Phischermen/propagate_check 2022-01-20 16:37:16 +01:00
bruvzg
5a97184931 [Windows] Fix pop-up dialogs instantly closing. 2022-01-20 16:51:35 +02:00
Rémi Verschelde
9e0973ca23
Merge pull request #56972 from lawnjelly/warn_unused 2022-01-20 15:34:41 +01:00
lawnjelly
b411a731fe Add nodiscard to core math classes to catch c++ errors.
A common source of errors is to call functions (such as round()) expecting them to work in place, but them actually being designed only to return the processed value. Not using the return value in this case in indicative of a bug, and can be flagged as a warning by using the [[nodiscard]] attribute.
2022-01-20 13:07:49 +00:00
Rémi Verschelde
28fcbdd6dd
Merge pull request #56957 from Pineapple/get-node-error-check-optimization
Rework Node::get_node to omit is_absolute() check in best case scenario
2022-01-20 07:34:15 +01:00
Bartłomiej T. Listwon
e2792cc71c Rework Node::get_node to omit is_absolute() check in best case scenario 2022-01-19 21:38:18 +01:00
Rémi Verschelde
d661835a18
Merge pull request #54729 from Paulb23/text-edit-callable 2022-01-19 21:36:56 +01:00
Paulb23
f43f68f605 Convert TextEdit callbacks to Callable 2022-01-19 17:26:22 +00:00
kobewi
74d08a305e Fix FileDialog localization issues 2022-01-19 17:04:06 +01:00
Hugo Locurcio
84a69d7429 Improve the default project theme
The new default project theme uses StyleBoxFlat extensively for
a more modern design and better scalability to multiple resolutions.

SVG icons are now used in place of PNG icons. While this does not
allow for true vector-based icon drawing (icons are still rasterized
at load-time), this makes the design work easier for contributors
and opens the door to vector drawing in the future (e.g. with polygons
or SDFs).

Like for editor icons, the SVG header file is now built automatically
when a SVG file is changed. This removing the need for running
`make_header.py` manually (TODO).

The "Use Hidpi" project setting has been removed in favor of a
"Default Theme Scale" project setting, which allows creating the
default theme at a higher/lower scale than the default.
This can be used when designing GUIs with a high base resolution
to ensure crisp visuals.

Co-authored-by: Yuri Sizov <yuris@humnom.net>
2022-01-19 18:46:01 +03:00
Yuri Sizov
bcbbbeb050 Ignore layout and translation changes in Controls outside of tree 2022-01-19 18:02:22 +03:00
Rémi Verschelde
82efb1d262
Merge pull request #53923 from KoBeWi/RichBugLabel 2022-01-19 15:23:13 +01:00
kobewi
42c79161c2 Fix bottom line in editor log 2022-01-19 14:26:31 +01:00
Rémi Verschelde
7a88f5cf1e
Merge pull request #56924 from KoBeWi/_or_null 2022-01-19 14:01:08 +01:00
Rémi Verschelde
6ab5d9d008
Merge pull request #56935 from V-Sekai/window_theme_changed_signal 2022-01-19 13:31:56 +01:00
Rémi Verschelde
74b110a736
Merge pull request #56825 from bruvzg/macos_fix_fullscr_multiwindow 2022-01-19 10:03:17 +01:00
SaracenOne
2db30ef223 Add missing 'theme_changed' signal to Window class 2022-01-19 07:59:42 +00:00
Kevin Fischer
a4bac268c9 Addded methods to propagate checks & refactored classes to use new methods. 2022-01-18 19:21:59 -08:00
rafallus
5f8b292ad3 Make sure MeshLibrary shape array has correct number of elements 2022-01-18 19:48:13 -06:00
kobewi
f74d52e80d Fix error on scene tiles cleanup 2022-01-19 00:39:26 +01:00
Yuri Sizov
3f5ed098bb Fix RichTextLabel tables shrinking expanded columns when there is not enough space 2022-01-19 00:44:19 +03:00
Yuri Sizov
3b1c02a139 Fix RichTextLabel not respecting line separation in several cases 2022-01-18 23:01:01 +03:00
Rémi Verschelde
030638e5b4
Merge pull request #56104 from Geometror/add-flow-layout-container
Add FlowContainer
2022-01-18 20:26:29 +01:00
Rémi Verschelde
45cb12955f
Merge pull request #56622 from Pineapple/scenestate-optimizations 2022-01-18 16:35:32 +01:00
Rémi Verschelde
01eefa2c50
Merge pull request #56761 from Calinou/sdfgi-allow-any-number-of-cascades 2022-01-18 16:21:39 +01:00
Rémi Verschelde
ce2b5bdfa8
Merge pull request #52969 from bruvzg/locale_detection 2022-01-18 15:43:04 +01:00
Rémi Verschelde
7c771ea310
Merge pull request #47522 from madmiraal/rename-test_width-test_height 2022-01-18 13:39:57 +01:00
bruvzg
40c56ed410
Improve locale detection.
Use separate language, script and country lists.
Add locale selection dialog and property hint.
2022-01-18 14:30:00 +02:00