Commit graph

7715 commits

Author SHA1 Message Date
Rémi Verschelde
95877b8e1f
Merge pull request #80289 from lawnjelly/fti_2d_reset_on_enter
[3.x] Physics Interpolation 2D - reset on NOTIFICATION_ENTER_TREE
2023-08-08 14:28:23 +02:00
lawnjelly
d02b319ec4 Fix AnimatedSprite normal map loading
Normal map names are now correctly set up during loading.
2023-08-08 09:42:55 +01:00
lawnjelly
bcfca5ec86 Physics Interpolation 2D - reset on NOTIFICATION_ENTER_TREE
As a convenience, physics interpolation is reset automatically on entering the tree. This will be desired in most situations, and saves the user having to write code for this explicitly.
2023-08-05 08:33:19 +01:00
lawnjelly
a117a3307a Physics Interpolation - add support for CPUParticles2D
Similar to the existing 3D CPUParticles physics interpolation.
2023-08-03 14:44:08 +01:00
Rémi Verschelde
078e1b9f45
Merge pull request #79498 from lawnjelly/multirect_fix_flushing
[3.x] MultiRect - Fix flushing in TextEdit
2023-08-02 17:27:35 +02:00
lawnjelly
5162efbfe9 2D Fixed Timestep Interpolation
Adds support to canvas items and Camera2D.
2023-08-01 16:07:48 +01:00
Silc Lizard (Tokage) Renew
06a98b809a [3.x] Make AnimationNodeBlendTree use OrderedHashMap insteads Map 2023-07-18 17:56:24 +09:00
lawnjelly
8814578ceb MultiRect - Fix flushing in TextEdit
The FontDrawer used in TextEdit was previously not being flushed before drawing auto-completion boxes. This was causing rendering artifacts.
This PR also increases the backward compatibility of the MultiRect OFF mode, by forcing a flush after each character.
2023-07-15 14:02:21 +01:00
lawnjelly
43e181a00a Single Compilation Unit build.
Adds support for simple SCU build.
This speeds up compilation by compiling multiple cpp files within a single translation unit.
2023-07-02 20:13:16 +01:00
Rémi Verschelde
29eeb461f2
Merge pull request #68738 from lawnjelly/faster_canvas_item
[3.x] Canvas item hierarchical culling
2023-06-27 08:40:22 +02:00
Maganty Rushyendra
7958ceaab8
Fix overwriting of Spatial's local transform
Modifies when 'DIRTY_LOCAL' flag is set to prevent a transform applied
using `set_transform` to be overwritten by previous calls to change the
node's rotation, translation or scale.

Fixes #43130.
2023-06-19 16:18:51 +02:00
Rémi Verschelde
9ba9a41766
Merge pull request #78220 from raulsntos/dotnet/reserved-assembly-name-3.x
[3.x] C#: Avoid GodotSharp as project assembly name
2023-06-15 15:55:19 +02:00
Rémi Verschelde
3b3c5f413e
Merge pull request #77979 from paddy-exe/video-loop-fix
[3.x] Backport video loop property and fix for initial black frame
2023-06-15 15:55:14 +02:00
Rémi Verschelde
b91d8d49fa
Merge pull request #78182 from godotengine/revert-63193-visibility_enabler2
Revert "Add option in VisibilityEnabler2D to hide the parent for better performance"
2023-06-13 16:03:30 +02:00
Rémi Verschelde
eaca9a17c3
Revert "Add option in VisibilityEnabler2D to hide the parent for better performance" 2023-06-13 14:25:19 +02:00
wareya
a40ecc71e6 move autotile fallback helper functions + fix comments and docs 2023-06-10 12:17:57 -04:00
wareya
73ad6517e4 make autotiles fall back to the most similar bitmask using heuristics 2023-06-09 22:27:19 -04:00
Patrick
58d76c117e [3.x] Backport VideoLooping and fix for initial black frame 2023-06-07 21:36:37 +02:00
Rémi Verschelde
b15f7c1319
Merge pull request #77691 from rsubtil/fix_popupmenu_auto_height
[3.x] Fix `PopupMenu`'s automatic max height
2023-06-07 14:46:30 +02:00
Rémi Verschelde
450902ad3f
Merge pull request #77403 from KoBeWi/RichHackLabel
[3.x] Cache text property when toggling BBCode
2023-06-07 14:46:27 +02:00
Rémi Verschelde
f742d98679
Merge pull request #75959 from ShadyChibinko/tab_metadata_3x
[3.x] Add tab Metadata to Tabs & TabContainer
2023-06-07 14:46:21 +02:00
Ricardo Subtil
7fdfed2a9e Fix PopupMenu's maximum height not being automatically set 2023-05-31 10:53:09 +01:00
Rémi Verschelde
894739109d
Merge pull request #77245 from novalis/slider-3.5
[3.x] Stop dragging when Slider changes editability
2023-05-23 19:05:29 +02:00
Rémi Verschelde
f1fa69a58d
Merge pull request #76753 from Calinou/itemlist-tree-add-allow-search-property-3.x
Add allow_search property to ItemList and Tree (3.x)
2023-05-23 19:05:25 +02:00
kobewi
95feb6bb82 Cache text property when toggling BBCode 2023-05-23 19:04:39 +02:00
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