Commit graph

9763 commits

Author SHA1 Message Date
Rémi Verschelde
3f3826edb8
Merge pull request #59007 from novaplusplus/code_edit_from_to_error_fix 2022-03-11 16:06:00 +01:00
Rémi Verschelde
e56b69269f
Merge pull request #59013 from bruvzg/fake_bold_italics 2022-03-11 14:24:13 +01:00
bruvzg
b32e8d63d8
Add options to embolden and transform font outlines to simulate bold and italic typefaces. 2022-03-11 14:02:30 +02:00
Rémi Verschelde
768f9422bc Convert uses of DirAccess * to DirAccessRef to prevent memleaks
`DirAccess *` needs to be deleted manually, and this is often forgotten
especially when doing early returns with `ERR_FAIL_COND`.
`DirAccessRef` is deleted automatically when it goes out of scope.

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-03-11 09:13:11 +01:00
Rémi Verschelde
af9a60d5b3
Merge pull request #58965 from TechnoPorg/remove-stex-occurrences
Remove more occurrences of "stex"
2022-03-11 08:00:52 +01:00
nova++
4b8fa3716f Fix "p_from_line > p_to_line" errors in text edit
Done via making the function more robust to different inputs
2022-03-11 01:13:45 -05:00
TechnoPorg
f4bc9f5821 Remove more occurrences of "stex" 2022-03-10 18:31:48 -07:00
reduz
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
Rémi Verschelde
0f73170180
Merge pull request #58978 from Sauermann/revert-58913 2022-03-10 10:41:00 +01:00
Markus Sauermann
40c08e522f Revert "Update mouse cursor shape after changes"
This reverts commit 0fce98b4b5.
2022-03-10 09:43:06 +01:00
Rémi Verschelde
3d7f155586 Remove unused Bullet module and thirdparty code
It has been disabled in `master` since one year (#45852) and our plan
is for Bullet, and possibly other thirdparty physics engines, to be
implemented via GDExtension so that they can be selected by the users
who need them.
2022-03-09 21:45:47 +01:00
reduz
21637dfc25 Remove VARIANT_ARG* macros
* Very old macros from the time Godot was created.
* Limited arguments to 5 (then later changed to 8) in many places.
* They were replaced by C++11 Variadic Templates.
* Renamed methods that take argument pointers to have a "p" suffix. This was used in some places and not in others, so made it standard.
* Also added a dereference check for Variant*. Helped catch a couple of bugs.
2022-03-09 18:39:13 +01:00
kobewi
39d429e497 Change some math macros to constexpr
Changes `MAX`, `MIN`, `ABS`, `CLAMP` and `SIGN`.
2022-03-09 16:24:32 +01:00
Rémi Verschelde
bc9dd15f0e
Merge pull request #58926 from fabriceci/avoid-direction-correction-when-motion-is-down 2022-03-09 15:12:08 +01:00
fabriceci
7f47889a5f Avoid directional correction when the motion is downward 2022-03-09 13:45:42 +01:00
Rémi Verschelde
a2d67c2fff
Merge pull request #58913 from Sauermann/fix-mouse-cursor-change 2022-03-09 09:05:20 +01:00
Markus Sauermann
0fce98b4b5 Update mouse cursor shape after changes
This fixes some cases where the mouse cursor shape did not change automatically, but instead required a MouseMove to update.
2022-03-09 07:54:03 +01:00
Michael Alexsander
182e038af5 Replace TabBar's min_width with max_tab_width and expose it 2022-03-09 01:48:18 -03:00
Marcel Admiraal
507f72db8e Rename Control's Rect properties to exclude rect_ part 2022-03-08 16:30:35 +00:00
Rémi Verschelde
6046d3babb
Merge pull request #57769 from Chaosus/vs_custom 2022-03-08 15:34:08 +01:00
Rémi Verschelde
45fa14e1ae
Merge pull request #58850 from YeldhamDev/more_tab_regressions 2022-03-08 14:28:39 +01:00
Yuri Roubinsky
4d6790e9df Add _get_func_code/_is_available virtual functions to custom nodes 2022-03-08 16:23:44 +03:00
Rémi Verschelde
761398556e
Merge pull request #58887 from cesarizu/bbcode_align_left 2022-03-08 12:52:54 +01:00
Rémi Verschelde
8ca4bd2755
Merge pull request #58879 from Calinou/basebutton-shortcut-context-fix-typo 2022-03-08 12:52:28 +01:00
Rémi Verschelde
2023178732
Merge pull request #58894 from akien-mga/CompressedTexture-compat-aliases 2022-03-08 12:50:29 +01:00
Rémi Verschelde
31b3bda36a
Merge pull request #58881 from pfertyk/issue_58790_all_tabs_in_front_crash 2022-03-08 12:17:54 +01:00
Rémi Verschelde
b94cda86ac Add compat aliases for renamed CompressedTexture* types 2022-03-08 12:14:31 +01:00
Rémi Verschelde
1561737055
Merge pull request #49447 from Calinou/remove-shadow-color-property
Remove unused `shadow_color` property from Light3D
2022-03-08 07:48:05 +01:00
César Izurieta
42f1697857 Add support to align to left to bbcode 2022-03-08 01:36:19 -05:00
Paweł Fertyk
5381a27f79 Fix crash with all_tabs_in_front
Fixes #58790.
2022-03-08 00:19:21 +01:00
Hugo Locurcio
be5116c4a4
Fix typo in BaseButton shortcut context methods 2022-03-07 22:36:12 +01:00
Rémi Verschelde
53cf5eff9a
Merge pull request #58847 from KoBeWi/editor_settings_mess 2022-03-07 08:38:15 +01:00
Rémi Verschelde
eb8ce0ce68
Merge pull request #58750 from Chaosus/vs_varyings
Add varying support to visual shaders
2022-03-07 07:41:11 +01:00
Rémi Verschelde
bb5d71f6cc
Merge pull request #58719 from Chaosus/vs_builtins
Adds few more input/output built-ins to visual shader
2022-03-07 07:39:51 +01:00
Michael Alexsander
c0381594c3 Fix regressions with nameless and icon-only tabs 2022-03-06 22:17:35 -03:00
kobewi
2057ea2883 Remove duplicate editor settings definitions 2022-03-06 22:05:49 +01:00
Rémi Verschelde
def893b3d4
Merge pull request #58805 from KoBeWi/meh_custom
Remove custom_* prefixes compatibility
2022-03-06 10:16:53 +01:00
kobewi
7d44bb8f06 Remove set_as_minsize() 2022-03-06 00:57:42 +01:00
Rémi Verschelde
d37e8586be
Merge pull request #58788 from reduz/rename-streamtexture
Rename StreamTexture* to CompressedTexture*
2022-03-06 00:19:55 +01:00
Rémi Verschelde
9b4d4bbaea
Merge pull request #58803 from KoBeWi/a_bit_of_everything
Various code and documentation improvements
2022-03-06 00:17:39 +01:00
kobewi
bc3aff9b46 Various code and documentation improvements 2022-03-05 22:00:35 +01:00
kobewi
c003ab43c3 Remove custom_* prefixes compatibility 2022-03-05 21:35:10 +01:00
kobewi
b3864db7e0 Change tabs_rearrange_group to property 2022-03-05 21:03:01 +01:00
reduz
ccd4cdfd8b Rename StreamTexture* to CompressedTexture*
* Its not and will not be used for streaming.
* Streaming will be implemented in 4.1 and it will work different.
* It makes more sense to be called CompressedTexture since it imports and compresses texture files.
2022-03-05 16:43:38 +01:00
Rémi Verschelde
c55c825f6a
Merge pull request #58753 from YeldhamDev/tab_name_regression
Fix renaming `TabContainer` children not updating tab names when outside the tree
2022-03-04 23:30:32 +01:00
Hugo Locurcio
aea104deb7
Remove unused shadow_color property from Light3D
This shadow color property was no longer effective since the shaders
were optimized to improve occupancy.
2022-03-04 23:12:18 +01:00
Michael Alexsander
ebf630441f Fix renaming TabContainer children not updating tab names when outside the tree 2022-03-04 18:26:08 -03:00
Yuri Roubinsky
15a87f8e92 Add varying support to visual shaders 2022-03-04 23:30:47 +03:00
Rémi Verschelde
f356c8ac4b
Merge pull request #58755 from akien-mga/gcc-silence-Wstringop-overflow-false-positive 2022-03-04 18:09:47 +01:00
Rémi Verschelde
9c6b6ffe13
Merge pull request #58717 from CrezyDud/master 2022-03-04 18:04:19 +01:00
Rémi Verschelde
b2e19b2499 Animation: Silence false positive -Wstringop-overflow warning
And disable debug code which was wrongly left enabled.
2022-03-04 17:10:22 +01:00
Rémi Verschelde
3078b92dff
Merge pull request #58512 from Calinou/light3d-add-distance-fade 2022-03-04 12:26:29 +01:00
Rémi Verschelde
7de48982fe
Merge pull request #58691 from miremrie/absolute-file-path-in-file-browser 2022-03-04 12:25:15 +01:00
Rémi Verschelde
9d5d20ae6d
Merge pull request #58687 from YeldhamDev/the_beast_has_been_slain 2022-03-04 12:18:55 +01:00
Rémi Verschelde
8845798b44
Merge pull request #58739 from Calinou/control-add-constructors
Add optional constructor arguments to more Control nodes
2022-03-04 11:42:53 +01:00
Hugo Locurcio
a06f82ca4d
Add optional constructor arguments to more Control nodes
This can be used to make editor code more compact.
However, as of writing, these constructor arguments cannot be used
from the scripting API.

This was already provided for Label and CheckBox, but it was missing
for other Control nodes where it made sense to provide a default value.
2022-03-04 09:48:41 +01:00
Haoyu Qiu
933211cb0c Remove extra separator when TextEdit is read only and unselectable 2022-03-04 16:25:25 +08:00
Michael Alexsander
a811ebf699 Make TabContainer use TabBar internally 2022-03-03 21:49:58 -03:00
MrSwedish
97c5fd17a7 Add linear_velocity and angular_velocity to PhysicalBone3D 2022-03-03 20:34:29 +01:00
Yuri Roubinsky
2f8cb76899 Adds few more input/output built-ins to visual shader 2022-03-03 21:28:23 +03:00
Hugo Locurcio
816d332e51
Fix LineEdit and TextEdit carets disappearing at theme scales below 1.0
This fixes carets disappearing in the editor when the Editor Scale
setting is set below 100%.
2022-03-03 00:15:48 +01:00
miremrie
a5e30c0228 Allow absolute file paths in file dialogs 2022-03-02 19:42:39 +01:00
Igor Kordiukiewicz
8f49150b10 Changed TileMap::set_cell alternative_tile default value to 0 2022-03-02 12:13:45 +01:00
Rémi Verschelde
97e5367fe8
Merge pull request #58641 from rburing/joints_fix_signals 2022-03-01 11:00:59 +01:00
JFonS
73f92a6e4d
Merge pull request #58548 from V-Sekai/lod_lightmaps
Allow automatic lod when importing 3D scenes with Static Lightmaps
2022-03-01 10:23:25 +01:00
Rémi Verschelde
1b446ebcd4
Merge pull request #58559 from fazil47/scene-tree-icon-focus
Double clicking scene tree icon focuses that node
2022-03-01 08:46:14 +01:00
Rémi Verschelde
c8e62555f6
Merge pull request #58477 from AlbertFay/text-under-scrollbar 2022-03-01 01:32:36 +01:00
Ricardo Buring
cb5bc58e81 Joint2D and Joint3D: make set_exclude_nodes_from_collision respect signals 2022-02-28 22:25:45 +01:00
Ricardo Buring
9e100c3e7a Joint2D and Joint3D: update joint on NOTIFICATION_POST_ENTER_TREE
This allows reparenting, etc.
2022-02-28 22:21:32 +01:00
Paulb23
7f5782047e Fixed caret change signal emission 2022-02-28 19:01:44 +00:00
Rémi Verschelde
54a777b523
Merge pull request #58554 from KoBeWi/MIA
Don't abort loading scene on missing dependency
2022-02-28 15:42:09 +01:00
Rémi Verschelde
345b4bb86a
Merge pull request #58282 from keptsecret/filedialog_visibility_unresponsive
Fix to prevent AcceptDialog and children class taking over main window
2022-02-28 12:48:59 +01:00
Rémi Verschelde
9b7aeaf88f
Merge pull request #58413 from Sauermann/fix-canvas-item-visibility
Fix invisible CanvasItem visibility issue
2022-02-28 11:24:19 +01:00
Rémi Verschelde
f968c11b86
Merge pull request #58596 from rburing/joints_disconnect_connected_signals
`Joint2D` and `Joint3D`: disconnect only connected signals
2022-02-28 11:00:14 +01:00
Rémi Verschelde
2e45884252
Merge pull request #58623 from timothyqiu/animated-sprite
Fix `AnimatedSprite` infinite loop
2022-02-28 10:48:16 +01:00
Haoyu Qiu
3a439a9c03 Fix AnimatedSprite infinite loop 2022-02-28 16:00:45 +08:00
Igor Kordiukiewicz
b870b40d79 Remove files_dropped signal from SceneTree 2022-02-28 07:51:50 +01:00
Ricardo Buring
184105e753 Joint2D and Joint3D: disconnect only connected signals 2022-02-27 16:55:57 +01:00
Fazil Babu
f2b0bd54b2 Double clicking scene tree icon focuses that node 2022-02-27 17:16:45 +05:30
kobewi
678ec9bcde Don't abort loading scene on missing dependency 2022-02-26 12:02:05 +01:00
K. S. Ernest (iFire) Lee
ab15267096 Allow automatic lod when importing 3D scenes with Static Lightmaps
Avoid the normal merge procedure when uv2s are different and makes generating LODs happen after the lightmap generation
2022-02-25 18:03:09 -08:00
albertfay1121
dba0d52349 Fixed bug with text going under scrollbar
added classes reference update
2022-02-25 13:45:38 -08:00
Hugo Locurcio
b1a295b739
Implement distance fade properties in OmniLight3D and SpotLight3D
This can be used to fade lights and their shadows in the distance,
similar to Decal nodes. This can bring significant performance
improvements, especially for lights with shadows enabled and when
using higher-than-default shadow quality settings.

While lights can be smoothly faded out over distance, shadows are
currently "all or nothing" since per-light shadow color is no longer
customizable in the Vulkan renderer. This may result in noticeable
pop-in when leaving the shadow cutoff distance, but depending on the
scene, it may not always be that noticeable.
2022-02-25 15:17:35 +01:00
bruvzg
74ff5921d6 Improve popup window handling.
Add window FLAG_POPUP and a platform specific routines to control popup auto-hiding and event forwarding.
2022-02-25 09:33:27 +02:00
Rémi Verschelde
4dc8214831
Merge pull request #58496 from JFonS/fix_lm_crash 2022-02-24 13:29:51 +01:00
jfons
d0fd5fd3c7 Add sanity checks to lightmap unwrap texel size 2022-02-24 13:00:51 +01:00
Bastiaan Olij
a78a9fee71 Implementing OpenXR driver 2022-02-23 12:02:24 +01:00
Rémi Verschelde
fcf8c2006d
Merge pull request #58411 from cbscribe/rename_motion_velocity 2022-02-23 09:48:58 +01:00
Chris Bradfield
849d34ba8e Rename motion_velocity to velocity 2022-02-22 23:31:33 -08:00
clayjohn
fe49244611 Use Filament specular models and parametrization 2022-02-22 19:39:41 -08:00
Rémi Verschelde
872e8a43ca
Merge pull request #58343 from aaronfranke/negative-shape-warning 2022-02-22 15:35:18 +01:00
Rémi Verschelde
0beb721c70
Merge pull request #58344 from TokageItLab/fix-cubic-interpolate-with-loop 2022-02-22 12:18:08 +01:00
Markus Sauermann
dce6cb7393 Fix invisible CanvasItem visibility issue 2022-02-22 10:13:02 +01:00
Rémi Verschelde
7e9047f378
Merge pull request #58400 from Faless/mp/4.x_repl_path_stopgap
[Net] Fix multi-peer path-only replication, optimize single peer object cache.
2022-02-21 21:20:54 +01:00
Fabio Alessandrelli
f1dc6cc9e4 [Net] Optimize object cache notification send for single peer.
It used to always cycle all the peers when checking which one needed to
be notified, now it only does that when the target is multiple (i.e.
broadcast or exclusion).
2022-02-21 19:55:07 +01:00
Fabio Alessandrelli
1e0d563467 [Net] Fix multi-peer path-only replication.
It used to check if a net_id was ever assigned to that node to detect
when to send the path confirm to the remote peer.
This is wrong, because the same net_id is shared for all the remote
peers, but sent one by one.
Instead we now check if it's either not assigned or if the assigned
net_id is a cache ID, and in that case ensure that the remote peer has
been notified.

This can be further improved by unifying the cache interface, but for
now it's a fast fix to get path-only sync to work.
2022-02-21 19:05:04 +01:00
bruvzg
7385c3602d
Add RichTextLabel "hint" tag. 2022-02-21 19:34:16 +02:00
Rémi Verschelde
adf10902c9
Merge pull request #58315 from KoBeWi/fixibility 2022-02-21 12:33:17 +01:00
Rémi Verschelde
ac1a55bc63
Merge pull request #58367 from V-Sekai/tileset_atlas_crash_fix 2022-02-21 11:18:00 +01:00
Markus Sauermann
79a75cd683 simplify calculation of max in grayscale 2022-02-20 18:36:46 +01:00
SaracenOne
257a71d29e Fix nullptr error in _update_padded_texture on texture with no image 2022-02-20 17:22:14 +00:00
Silc 'Tokage' Renew
f3895e7a67 Fixed cubic interpolate with loop 2022-02-20 15:46:58 +09:00
Aaron Franke
9f048f4c4d
Show an error when setting a negative size on a collision shape 2022-02-20 00:37:49 -06:00
kobewi
3a77484f70 Fix CanvasItem visibility propagation 2022-02-19 22:40:53 +01:00
Markus Sauermann
27aab7f7ca Update variable name to reflect usage 2022-02-19 09:19:15 +01:00
Rémi Verschelde
417698c202
Merge pull request #58042 from Sauermann/fix-viewport-border-notifications
Fix Viewport mouse enter+exit notifications
2022-02-19 09:07:07 +01:00
Haoyu Qiu
dd9ba6de9f Fix crash when importing small GLTF mesh 2022-02-19 13:30:17 +08:00
keptsecret
128e98c124 fixed wrong ifdef enclosed block 2022-02-18 13:31:54 -05:00
keptsecret
cb905fa957 prevent acceptdialog taking over main editor window when made visible 2022-02-18 11:06:41 -05:00
clayjohn
63cb91e05c Revert "Default to real-time radiance map filter for environment sky reflections"
This reverts commit 09563e4bd8.
2022-02-17 23:13:32 -08:00
diddykonga
78dc608aa8 Change 'find_node' to 'find_nodes' and Add 'type' parameter
Changed 'find_node' to 'find_nodes' which now returns an 'TypedArray<Node>', as well as Added a 'type' parameter to match against specific node types, which supports inheritance.
2022-02-17 01:44:13 -06:00
Hugo Locurcio
6b52aa67b8
Add a property hint for the Line2D Round Precision property
This prevents choosing extremely high values which cause performance
issues for no visual benefit.
2022-02-17 00:21:00 +01:00
Rémi Verschelde
51a00c2855
Merge pull request #58182 from akien-mga/style-cleanup-if-semicolons-deadcode 2022-02-16 16:55:07 +01:00
Rémi Verschelde
eeda603355
Merge pull request #58055 from markdibarry/add_get_line_offset 2022-02-16 14:07:23 +01:00
Rémi Verschelde
fe8f4cebce
Merge pull request #58154 from markdibarry/fix_scroll_to_line 2022-02-16 14:07:06 +01:00
Rémi Verschelde
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
Markus Sauermann
415042ac89 Connect notifications from Container to Viewport
mouse enter+exit
2022-02-15 22:41:30 +01:00
Rémi Verschelde
98b97d34df
Merge pull request #58151 from akien-mga/notification-switch-scene 2022-02-15 20:48:18 +01:00
Rémi Verschelde
6d57587396
Merge pull request #57931 from Calinou/sky-default-filter-realtime 2022-02-15 20:29:57 +01:00
markdibarry
4d53c086ff Fix scroll_to_line ignoring line separation 2022-02-15 12:52:11 -05:00
Rémi Verschelde
0f5455230c
Use switch consistently in _notification (scene folder) 2022-02-15 18:44:55 +01:00
Rémi Verschelde
171021145d
Merge pull request #58147 from Geometror/fix-tooltip-flicker 2022-02-15 18:02:55 +01:00
Rémi Verschelde
3b2e062788
Merge pull request #58144 from Josephblt/Godot-4-CanvasLayer-missing-show-hide 2022-02-15 17:43:05 +01:00
Hendrik Brucker
c30d161562 Fix tooltip flickering in some cases 2022-02-15 16:29:03 +01:00
Wagner Scholl Lemos
160ee4ef8e Added show and hide methods and updated doc API. 2022-02-15 11:37:41 -03:00
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
Hugo Locurcio
a86deac049
Default PanoramaSkyMaterial texture to black instead of white
This prevents blinding the user while the user is still setting up
the panorama sky texture.
2022-02-13 22:03:09 +01: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