Commit graph

7689 commits

Author SHA1 Message Date
David Turner
f6b918a1ca Stop dragging when a slider changes editability 2023-05-19 11:31:34 -04:00
lawnjelly
6f8e632848 Make acos and asin safe
A common bug with using acos and asin is that input outside -1 to 1 range will result in Nan output. This can occur due to floating point error in the input.

The standard solution is to provide safe_acos function with clamped input. For Godot it may make more sense to make the standard functions safe.
2023-05-11 09:51:44 +01:00
lawnjelly
43b6205887 Multirect - Fix refining regions for all derived Textures
Fixes allowing all derived texture types to modify region prior to rendering.
2023-05-08 14:48:46 +01:00
Rémi Verschelde
627a2909c2
Merge pull request #76833 from kleonc/gridcontainer-max-row-column-calculations-fix
[3.x] Fix `GridContainer` max row/column calculations not skipping hidden children
2023-05-08 15:06:28 +02:00
Rémi Verschelde
e250950760
Merge pull request #76703 from kleonc/tilemap-nested-atlas-texture-rendering-fix
[3.x] Fix rendering tiles using nested AtlasTextures
2023-05-08 14:58:07 +02:00
kleonc
0ce6ef7215 Fix GridContainer max row/column calculations not skipping hidden children 2023-05-08 12:51:28 +02:00
needleful
aac5558760
Add allow_search property to ItemList and Tree 2023-05-05 18:02:49 +02:00
kleonc
12c923cb8b Fix rendering tiles using nested AtlasTextures 2023-05-03 18:29:28 +02:00
Ninni Pipping
48347499c2 Fix size error in BitMap.opaque_to_polygons
Previous estimate of upper limit on size was incorrect
2023-04-28 19:03:49 +02:00
Rémi Verschelde
83e91ab818
Merge pull request #76323 from aaronfranke/3.x-t2d-basis-det
[3.x] Expose `determinant` in Transform2D, rename internal method
2023-04-26 12:17:00 +02:00
lawnjelly
b777a9e5f9 Canvas item hierarchical culling
Adds optional hierarchical culling to the 2D rendering (within VisualServer).

Each canvas item maintains a bound in local space of the item itself and all child / grandchild items. This allows branches to be culled at once when they don't intersect a viewport.
2023-04-25 20:17:33 +01:00
Rémi Verschelde
bfb6877b3c
Merge pull request #75612 from lawnjelly/fix_skele2d_bounds2
[3.x] Fix Polygon2D skinned bounds (for culling)
2023-04-25 16:24:59 +02:00
Rémi Verschelde
54e293bfcb
Merge pull request #69952 from lawnjelly/canvas_layer_ordering
Consistent render ordering for CanvasLayers
2023-04-25 16:24:57 +02:00
Rémi Verschelde
31224276ee
Merge pull request #63193 from BimDav/visibility_enabler2
Add option in VisibilityEnabler2D to hide the parent for better performance
2023-04-25 16:24:54 +02:00
Fredia Huya-Kouadio
de20011cbe Make tab's close button responsive to touch taps 2023-04-22 20:31:18 -07:00
Aaron Franke
141783d90f
[3.x] Expose determinant in Transform2D, rename internal method 2023-04-22 13:47:47 -05:00
Rémi Verschelde
a6b01ca69d
Merge pull request #75995 from AThousandShips/3_x_autohide_theme
[3.x] Don't apply scale to autohide theme property
2023-04-17 17:25:35 +02:00
Rémi Verschelde
e3656745cc
Merge pull request #69723 from lawnjelly/surface_tool_revamp
SurfaceTool - efficiency improvements
2023-04-17 17:25:30 +02:00
Rémi Verschelde
4c5a934408
Merge pull request #68960 from lawnjelly/multirect
Batching - Add MultiRect command
2023-04-17 17:25:20 +02:00
Ninni Pipping
1c66257568 [3.x] Don't apply scale to autohide theme property 2023-04-12 17:45:27 +02:00
lawnjelly
dd6c213dac Fix Polygon2D skinned bounds (for culling)
The bound Rect2 was previously incorrect because bone transforms need to be applied to verts in bone space, rather than local space. This was previously resulting in skinned Polygon2Ds being incorrectly culled.
2023-04-12 10:17:02 +01:00
ShadyChibinko
7af43733e1 Add Tab Metadata 2023-04-11 20:36:48 -04:00
Rémi Verschelde
baf2fe8771
Merge pull request #74870 from rsubtil/range_value_no_signal
[3.x] Add `set_value_no_signal()` to Range
2023-04-11 10:53:30 +02:00
Rémi Verschelde
564622af51
Merge pull request #69645 from radenling/backport-fix-viewport-update-in-editor
[3.x] Fix for 2D viewport not updating in the editor when the camera moves
2023-04-11 10:53:20 +02:00
Ansraer
54bc6a300e add support for 3 dir shadow splits 2023-03-29 13:40:17 +02:00
Richard Adenling
3cfbabfa59 Fix for 2D viewport not updating in the editor when the camera moves
This fixes a problem with 2D viewports not taking the camera position
into consideration when previewed in the editor.

Fixes #40441
2023-03-26 20:49:59 +02:00
kobewi
fdae01de10 Add set_value_no_signal() to Range 2023-03-13 16:36:18 +00:00
lawnjelly
1730fab22a Consistent render ordering for CanvasLayers
Maintains scene tree ordering for CanvasLayers that share identical layer ID.
2023-03-12 05:00:13 +00:00
lawnjelly
57306bf0e3 Fix TextEdit color_region_cache bug
Due to a single error, _is_line_in_region was previously iterating over the color highlighting for the entire document repeatedly for each line in the script.

This is now fixed, which should make the editor much faster with large scripts.
2023-03-11 16:18:29 +00:00
lawnjelly
910ddd13c4 Batching - Add MultiRect command
Large groups of similar rects can be processed more efficiently using the MultiRect command. Processing common to the group can be done as a one off, instead of per rect.

Adds the new API to VisualServerCanvas, and uses the new functionality from Font, BitmapFont, DynamicFont and TileMap, via the VisualServerCanvasHelper class.
2023-03-10 10:58:04 +00:00
Rémi Verschelde
d627f4f80d
Merge pull request #74085 from AThousandShips/tree_set_selected_3_x
[3.x] Backport Tree::set_selected
2023-03-06 12:36:56 +01:00
Ninni Pipping
8185fa8e2a [3.x] Backport Tree::set_selected
Backport function from godotengine#68448

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-02-27 20:26:15 +01:00
smix8
c7a92f68a1 Add error messages for collision exception functions
Adds error messages to collision exception functions when used with the wrong object/node instead of failing silently.
2023-02-24 00:36:30 +01:00
Rémi Verschelde
89788cdcc2
Merge pull request #70514 from stmSi/fix-editor-hanging-audio-pitch-scale-nan
[3.x] Fix hanging if audiostream's pitch_scale is NaN
2023-02-17 12:15:27 +01:00
Rémi Verschelde
b53302891a
Merge pull request #73206 from akien-mga/3.x-rtl-custom_effects-fix-hint
RichTextLabel: Fix hint string for custom_effects property
2023-02-13 13:08:36 +01:00
Rémi Verschelde
48217503c5
Merge pull request #68576 from Maran23/rich-text-label-bbcode-color-tag-fix
[3.x] Fix RichTextLabel: BBCode [color] tags are not counting in font char spacing
2023-02-13 13:08:13 +01:00
Rémi Verschelde
32b3ef7727
RichTextLabel: Fix hint string for custom_effects property
Fixes #73190.
2023-02-13 09:26:32 +01:00
Brian Semrau
70316aab91 Fix Line2D UVs when using BOX end cap mode 2023-02-10 20:45:31 -05:00
Rémi Verschelde
44656e8328
Merge pull request #72386 from smix8/navigation_config_warnings_3.x
Fix navigation related nodes not propagating parent class config warnings
2023-02-01 13:06:06 +01:00
Rémi Verschelde
fb846d3522
Merge pull request #71425 from Calinou/spinbox-add-independent-arrow-step-3.x
Add independent spinbox arrow step precision
2023-02-01 13:05:43 +01:00
Fredia Huya-Kouadio
aed400cce2
Merge pull request #71654 from m4gr3d/increase_scroll_bar_size_for_touchscreen_3x
[3.x] Update the size of the scrollbar for the editor on touchscreen devices
2023-01-31 21:52:03 -08:00
smix8
b5213cceac Fix navigation related nodes not propagating parent class config warnings
Fixes that navigation related nodes do not propagate config warnings from their parent classes.
2023-01-30 16:26:42 +01:00
lawnjelly
5a0cb54b3a Improve error messages and classref for occluders and portals
Misused functions would previously produce no error messages which was confusing for users.
2023-01-24 14:05:48 +00:00
Rémi Verschelde
93c76825ce
Merge pull request #64329 from jordo/fix/control-theme-cache
[3.x] Add theme item cache to `Control`
2023-01-23 22:23:33 +01:00
Yuri Sizov
1647f4d85e Add dumb theme item cache to Control
(cherry picked from commit 9f88300007)

Co-authored-by: Jordan Schidlowsky <jordanschidlowsky@gmail.com>
2023-01-23 10:31:17 -06:00
Rémi Verschelde
dd7f517407
Merge pull request #66711 from rsubtil/port_popup_menu_rework
[3.x] PopupMenu rework and enhancements
2023-01-23 17:04:17 +01:00
Fredia Huya-Kouadio
8170b7ae1e Add a theme usability setting which updates the touch area of UI elements (e.g: scrollbar) for the editor on touchscreen devices 2023-01-22 07:09:48 -08:00
EricEzaM
6a5992c9f1 PopupMenu rework and enhancements
Many scrolling behaviour improvements and the ability to limit popup size.
2023-01-21 21:36:26 +00:00
Rémi Verschelde
6088a4802c
Merge pull request #70584 from stmSi/3.x-save-branch-as-scene-not-working-in-remote-without-pausing
[3.x] Fixed: `Save Branch as Scene` not working in Remote Tree without Pausing
2023-01-20 12:12:46 +01:00
Jóhannes Gunnar Þorsteinsson
e09d4d255e
Add independent spinbox arrow step precision
Backported from the `master` branch, with a property hint added.
2023-01-14 20:14:17 +01:00
Haoyu Qiu
d16a1c7579 Make CollisionShape selection box use shape AABB 2023-01-13 18:19:26 +08:00
Rémi Verschelde
abf5f72073
Merge pull request #70717 from Calinou/particles-tweak-animation-offset-property-hint-3.x
Tweak particles animation offset property hint to allow more precise values (3.x)
2023-01-11 11:57:38 +01:00
Rémi Verschelde
1426cd3b3a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".

Backported from #70885.
2023-01-10 15:26:54 +01:00
Rémi Verschelde
1ee7c5a62c
Merge pull request #62444 from lawnjelly/faster_queue_free3
[3.x] Faster queue free
2023-01-10 10:55:36 +01:00
Rémi Verschelde
9832c9d127
Merge pull request #70593 from OsakiTsukiko/issue-62640
[3.x] Fix RichTextLabel discards appended BBCode text on window resize when using DynamicFont
2023-01-09 09:18:10 +01:00
Rémi Verschelde
50fd962869
Merge pull request #70583 from necrashter/fix-set-touch-input-as-handled
[3.x] Set touch input as handled only after _gui_call_input
2023-01-09 09:17:22 +01:00
OsakiTsukiko
0a386084bc
Fix RichTextLabel discards appended BBCode text on window resize when using DynamicFont 2023-01-09 09:07:48 +01:00
Haoyu Qiu
36a21a43af Fix Tree overflow without scrolling being enabled 2023-01-04 14:16:57 +08:00
Marius Hanl
fa304b5130 Fix RichTextLabel: BBCode [color] tags are not counting in font char spacing
Each BBCode tag is drawn individually, so we have to add the character spacing manually.
2023-01-03 07:53:19 +01:00
Hugo Locurcio
717cbbd6e7
Tweak particles animation offset property hint to allow more precise values 2022-12-29 22:17:47 +01:00
stmSi
15d6f341a7 [3.x] Fixed: Save Branch as Scene not workking in Remote Tree (only work when u pause) 2022-12-26 17:19:33 +06:30
necrashter
147de75e52
Set touch input as handled only after _gui_call_input 2022-12-26 11:58:32 +03:00
stmSi
28e1fc4af9 Fix Editor hanging if audiostream's pitch_scale is NaN 2022-12-24 12:34:22 +06:30
Rémi Verschelde
7a46f61089
Merge pull request #70368 from pfertyk/issue-70187-bit-map-resize-spams-errors
Fix `BitMap.resize` error spam
2022-12-22 08:56:25 +01:00
Rémi Verschelde
3b7bb812fd
Merge pull request #70310 from Sauermann/3x-fix-follow-viewport-transform
[3.x] Include the follow-viewport-transform into CanvasLayer transform calculations
2022-12-22 08:55:28 +01:00
Rémi Verschelde
76bcc90da8
Merge pull request #70228 from Calinou/add-transparent-viewport-project-setting-3.x
Add a project setting to make the root viewport transparent (3.x)
2022-12-22 08:55:21 +01:00
kleonc
7b196dd0ee AtlasTexture Fix calculating rects when flipping
(cherry picked from commit c3851b91db)
2022-12-21 09:34:39 +08:00
Paweł Fertyk
ddd7189b39 Fix BitMap.resize error spam
Fixes #70187.
2022-12-20 21:54:21 +01:00
Markus Sauermann
608cbd8296 Include the follow-viewport-transform into CanvasLayer transform calculations
The follow-viewport-transform was missing from several calculations

3.x version of #59682
2022-12-19 19:18:54 +01:00
Zak
f974bcf074 Add uri property for LinkButton
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
(cherry picked from commit d73a9b56b0)
2022-12-18 10:43:39 +08:00
smix8
17e6d76de6 Fix Navigation agent callback wild pointer crash
Fixes crash in sanitizer builds when callback agent or object are already freed.

(cherry picked from commit 194c1c44e0)
2022-12-18 10:32:04 +08:00
Haoyu Qiu
b2e5c8fe10 Fix possible Tween leak on exit
(cherry picked from commit e173710963)
2022-12-18 10:32:04 +08:00
FireForge
0d602ce881 Add Vector2/3 linking to more properties
- Camera2D.zoom
- CanvasLayer.scale
- ParallaxBackground.scroll_base_scale
- ParallaxLayer.motion_scale
- Polygon2D.texture_scale
- SpatialMaterial.uv1_scale
- SpatialMaterial.uv2_scale

(cherry picked from commit 92817aa72f)
2022-12-18 10:32:04 +08:00
kobewi
9499ebecee Add vector value linking
Co-authored-by: redlamp <244062+redlamp@users.noreply.github.com>
(cherry picked from commit 5553e27fe8)
2022-12-18 10:32:04 +08:00
Hugo Locurcio
65465f309c
Add a project setting to make the root viewport transparent
This allows creating a project with a transparent window without having
to write any script.
2022-12-18 00:38:05 +01:00
Rémi Verschelde
607940875c
Merge pull request #70111 from Maran23/3.x-check-null-event-in-tree
[3.x] Check for null event in Tree._gui_input to avoid engine crash
2022-12-17 14:28:11 +01:00
Rémi Verschelde
84566b3296
Merge pull request #70089 from Rubonnek/3x-avoid-compiling-editor-checks-in-visibilitynotfier2d
[3.x] Avoid compiling Editor checks in release builds for `VisibilityNotifier2D`
2022-12-17 14:27:21 +01:00
Marius Hanl
09f974b21d Check for null event in Tree._gui_input to avoid engine crash 2022-12-15 17:35:53 +01:00
Wilson E. Alvarez
78b8cf7edb
Avoid compiling Editor checks in release builds for VisibilityNotifier2D 2022-12-15 11:13:10 -05:00
Rémi Verschelde
6963ba631e
Fix typos with codespell 2022-12-15 12:26:59 +01:00
Wilson E. Alvarez
6a8bae4e35
Do not fire VisibilityNotifier screen_entered and screen_exited signals in the Editor 2022-12-13 10:29:28 -05:00
Haoyu Qiu
6f69d29398
Fix crash after executing ItemList.set_icon_scale
(cherry picked from commit 8d0fa193c3)
2022-12-13 14:24:25 +01:00
lawnjelly
ff714fbe02 SurfaceTool - efficiency improvements
Changed to use LocalVector rather than linked lists.
2022-12-12 20:12:50 +00:00
Rémi Verschelde
5d5f0a3958
Merge pull request #69963 from lawnjelly/variant_parser_optional_readahead_3
VariantParser make readahead optional [3.x]
2022-12-12 19:02:17 +01:00
lawnjelly
776c9d0579 VariantParser make readahead optional
It turns out some areas are independently moving / reading filepointers outside of the VariantParser, which can cause the readahead caching to get out of sync.

This PR makes the VariantParser readahead to be optional to allow for these use cases.
2022-12-12 15:44:39 +00:00
Rémi Verschelde
2343ba148b
Merge pull request #69959 from Calinou/distance-fade-use-circular-fade-3.x
Use circular fade instead of linear fade for distance fade (3.x)
2022-12-12 16:07:31 +01:00
Rémi Verschelde
2c714f19e5
Merge pull request #65453 from timothyqiu/agent-target-3.x
[3.x] Make NavigationAgent `target_location` a property
2022-12-12 16:07:25 +01:00
Hugo Locurcio
56ac14fbf0
Use circular fade instead of linear fade for distance fade
This makes distance fade look the same regardless of the camera angle,
for all distance fade modes (Pixel Alpha, Pixel Dither, Object Dither).
Distance fade now behaves like fog in this regard.
2022-12-12 15:16:34 +01:00
Hugo Locurcio
c54c1b0b6b
Fix infinite loop when calling Control.popup_centered_minsize()
Co-authored-by: sriramun <sriramun2@gmail.com>
(cherry picked from commit 08e804b3b7)
2022-12-12 14:49:23 +01:00
Dawid Marzec
ecef4804f2
Fix errors while deselecting all tree items; issue #65185
(cherry picked from commit d4d5df2314)
2022-12-12 14:49:23 +01:00
Rémi Verschelde
bfce0c1e52
Merge pull request #59765 from pfertyk/issue-59359-wrong-visible-line-count-if-newline
Fix wrong visible line count for newline
2022-12-12 13:40:14 +01:00
Phnix
9ac09dfb64 incorrect range value with min value and step
If the minimum value and the steps are greater than 0, the value will not be calculated correctly.

Co-Authored-By: Astral-Sheep <109028693+Astral-Sheep@users.noreply.github.com>
(cherry picked from commit fe1f8443a4)
2022-12-12 14:22:54 +08:00
smix8
16bb34d23d Add detail to NavigationPolygon outline error msg
Adds additional information to the error msg when the convex partition fails due to invalid outline arrays.

(cherry picked from commit f30ebacbe8)
2022-12-12 14:19:46 +08:00
Rémi Verschelde
f128170a18
Merge pull request #69558 from timothyqiu/canvas-layer-unique-call
[3.x] Fix CanvasLayer visibility toggle can only run once per frame
2022-12-11 15:39:57 +01:00
Hugo Locurcio
5115db63aa
Fix BackBufferCopy rect property appearing when not relevant in inspector
The `rect` property is only effective if `copy_mode` is Rect.
2022-12-08 20:04:56 +01:00
Rémi Verschelde
c42bbc6feb
Merge pull request #69585 from bruvzg/fix_tm_tr
[TextMesh, 3.x] Fix auto-translation and ignore control chars.
2022-12-05 00:13:42 +01:00
Rémi Verschelde
4b7b9b74bc
Merge pull request #69569 from timothyqiu/tree-update-remove-child
[3.x] Fix TreeItem.remove_child not updating Tree immediately
2022-12-05 00:13:37 +01:00
bruvzg
efa6b01c97
[TextMesh, 3.x] Fix auto-translation and ignore control chars. 2022-12-04 23:11:28 +02:00
Haoyu Qiu
7bdbfbf822 Fix TreeItem.remove_child not updating Tree immediately 2022-12-04 21:37:19 +08:00
Silc Renew
1a45268639 Fix animation signal caches_cleared firing timing
(cherry picked from commit 962b6a3e8f)
2022-12-04 20:24:55 +08:00