Commit graph

7681 commits

Author SHA1 Message Date
lawnjelly
1f4a6e43df Fix zero scale in particle shader
Fixes the lower bounding of scale when given zero input.

The previous bug was due to `sign` returning 0 with 0.0 input, rather than 1.
2023-09-19 08:30:50 +01:00
lawnjelly
3e19cf834a CPUParticles2D - Add ability to follow physics interpolated target
Allows a non-interpolated particle system to closely follow an interpolated target without tracking ahead of the target, by performing fixed timestep interpolation on the particle system global transform, and using this for emission.
2023-09-18 16:05:03 +01:00
lawnjelly
bc1426dd70 CPUParticles2D - non-interpolated global mode use global space
Changes the implementation of non-interpolated global mode particles so that the vertices are specified in proper global space instead of local space (vertices were previously back transformed by the inverse of the parent transform).
2023-09-18 16:05:03 +01:00
Rémi Verschelde
1b4bae595e
Merge pull request #80955 from lawnjelly/fti2d_more_resets
[3.x] Physics Interpolation - automatic resets for Camera2D and TileMap
2023-09-18 17:00:05 +02:00
Rémi Verschelde
cc48c1825f
Merge pull request #80887 from lawnjelly/cpuparticles2d_fix_double_xform
[3.x] CPUParticles2D - fix interpolated transforms and culling
2023-09-18 17:00:00 +02:00
Rémi Verschelde
9eb4d5d5de
Merge pull request #80827 from lawnjelly/fix_cpu_particles_notif_transform
[3.x] CPUParticles - fix non-interpolated `NOTIFICATION_TRANSFORM`
2023-09-18 16:59:57 +02:00
Rémi Verschelde
d6c2a4bf68
Merge pull request #81352 from MJacred/3.x
[3.x] Fix cursor after last character INDEX in line counting as a character outside of the viewing area
2023-09-18 11:36:12 +02:00
Rémi Verschelde
4461f38c0b
Merge pull request #81409 from timothyqiu/social-distance
[3.x] Fix PopupMenu icon and text not having separation
2023-09-07 13:24:34 +02:00
Haoyu Qiu
78a11ea48c Fix PopupMenu icon and text not having separation 2023-09-07 18:14:44 +08:00
A Thousand Ships
d0a98e1ddc Make TextureButton and Button update on texture change 2023-09-06 16:44:12 +02:00
MJacred
55cdaebdf9 Fix cursor after last character in line counting as a character outside of the viewing area
The cursor column can be after the last_visible_char index and still be visible.
2023-09-05 19:36:17 +02:00
Haoyu Qiu
aea0c1235d Fix TouchScreenButton not redrawn when texture changes
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-08-29 18:08:28 +08:00
Paweł
268f83e07f
Fix scrolling behaviour with low page value
(cherry picked from commit 1608bea188)
2023-08-28 17:27:13 +02:00
Haoyu Qiu
d6221bd614
Notify child controls when BackBufferCopy's rect changed
(cherry picked from commit 602a0d2fbc)
2023-08-28 17:27:13 +02:00
lawnjelly
09b79ead80 Physics Interpolation - automatic resets for Camera2D and TileMap.
Extra reset required for Camera2D. TileMaps require resetting by quadrant.
2023-08-24 10:18:12 +01:00
lawnjelly
65f72c8c02 CPUParticles - fix non-interpolated NOTIFICATION_TRANSFORM
Updates global particle transforms immediately on receiving notification, to match legacy behaviour.
2023-08-22 18:35:00 +01:00
lawnjelly
723632a76a CPUParticles2D - fix interpolated transforms and culling
1) Physics interpolated particles in global mode are specified in global space. In VisualServer they should therefore ignore local transform.

2) Additionally, the expected final_transform should be passed on to children, rather than the identity transform used on the local item.

3) Local bounds in hierarchical culling are fixed for items using identity transform, by calculating their local bound in local space from the global space particles.
2023-08-22 12:57:54 +01:00
Rémi Verschelde
cf4ccdfb09
Merge pull request #79598 from TokageItLab/orderdhashmap-blendtree
[3.x] Make AnimationNodeBlendTree use `OrderedHashMap` insteads `Map`
2023-08-18 17:52:15 +02:00
Rémi Verschelde
21ab700f2d
Merge pull request #80406 from lawnjelly/animated_sprite_normal_fix
[3.x] Fix AnimatedSprite normal map loading
2023-08-15 09:04:35 +02:00
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