Commit graph

35555 commits

Author SHA1 Message Date
lawnjelly
fae70792a0
Merge pull request #82248 from lawnjelly/child_order_changed
[3.x] Deprecate `NOTIFICATION_MOVED_IN_PARENT`
2024-04-20 08:15:40 +01:00
lawnjelly
d56d1ff4d2 Deprecate NOTIFICATION_MOVED_IN_PARENT
* NOTIFICATION_MOVED_IN_PARENT makes node children management very inefficient.
* Replaced by a NOTIFICATION_CHILD_ORDER_CHANGED (and children_changed signal).
* Most of the previous tasks carried out by NOTIFICATION_MOVED_IN_PARENT are now done not more than a single time per frame.

This PR breaks compatibility (although this notification was very rarely used, even within the engine), but provides an alternate way to do the same.
2024-04-20 07:52:05 +01:00
Rémi Verschelde
1869243644
Merge pull request #88807 from lawnjelly/portals_fix_enter_tree_order
[3.x] Portals - defer setting active in `VisualServer` until enter tree
2024-04-19 10:24:37 +02:00
lawnjelly
c4296edcc5
Merge pull request #53489 from aaronfranke/3.x-ci-minimal
[3.x] Add option `modules_enabled_by_default` and minimal CI build
2024-04-19 09:19:07 +01:00
totlmstr
cae1844c5c
[3.x] Add option modules_enabled_by_default and minimal CI build
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: aaronfranke <arnfranke@yahoo.com>
2024-04-18 15:54:54 -07:00
lawnjelly
ea68c2bfab
Merge pull request #88946 from lawnjelly/fix_physics_on_floor_body
[3.x] Fix physics `on_floor_body` crash
2024-04-16 15:02:00 +01:00
lawnjelly
db3fe5e5c3
Merge pull request #90669 from timothyqiu/owner-id-3.x
[3.x] Store `ObjectID` instead of pointer for KinematicCollision owner
2024-04-16 13:49:58 +01:00
lawnjelly
5f7e65ef05
Merge pull request #90670 from timothyqiu/scene-tree-return
[3.x] Fix SceneTree not respecting virtual process methods
2024-04-16 13:22:43 +01:00
lawnjelly
d63c33fa78
Merge pull request #90068 from timothyqiu/ok-i-know-3.x
[3.x] Don't error multiple times when trying to load missing default bus layout
2024-04-16 13:12:21 +01:00
Haoyu Qiu
4551bd9386 Add option to toggle visibility of position gizmos in 2D editor
Co-authored-by: J. N. Witch <127793256+J-N-Witch@users.noreply.github.com>
2024-04-16 20:10:41 +08:00
Haoyu Qiu
33043c63d5 Fix SceneTree not respecting virtual process methods
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2024-04-16 18:49:02 +08:00
Haoyu Qiu
43862fbf44 Store ObjectID instead of pointer for KinematicCollision owner 2024-04-15 12:32:17 +08:00
lawnjelly
a885e8322d
Merge pull request #90484 from timothyqiu/zero-approx
[3.x] Add `is_zero_approx` methods to `Vector{2,3}`
2024-04-11 08:10:17 +01:00
Haoyu Qiu
ed952f82bd Add is_zero_approx methods to Vector{2,3} 2024-04-10 19:02:42 +08:00
lawnjelly
2b97d143a2
Merge pull request #62574 from kdiduk/50971-duplicate-keys-in-dictionary-literal
[3.x] Check duplicate keys in dictionary literals: enums and const variables
2024-04-09 08:34:08 +01:00
lawnjelly
2dcd4141b8
Merge pull request #90417 from lawnjelly/tighter_light_cull_colinear_fix3
[3.x] Tighter shadow culling - fix light colinear to frustum edge
2024-04-09 08:22:30 +01:00
lawnjelly
46a04d160e Tighter shadow culling - fix light colinear to frustum edge
In rare situations if a light is placed near colinear to a frustum edge, the extra culling plane derived can have an inaccurate normal due to floating point error.
This PR detects colinear triangles, and prevents adding a culling plane in this situation.
2024-04-09 07:25:35 +01:00
lawnjelly
f7e9369665
Merge pull request #90381 from timothyqiu/node-ready-3.x
[3.x] Add `Node.is_node_ready()`
2024-04-08 15:39:27 +01:00
Rémi Verschelde
ab2bdd8752
Merge pull request #90252 from akien-mga/3.x-nanosvg-2023-12
[3.x] nanosvg: Sync with upstream 93ce879
2024-04-08 15:01:08 +02:00
Haoyu Qiu
fe65682937 Add Node.is_node_ready 2024-04-08 17:44:23 +08:00
Paweł Fertyk
90cf873979 Fix AudioStreamPlayer not paused on pause mode change
Fixes #58543.
2024-04-05 14:20:44 +02:00
Rémi Verschelde
abee48d063
nanosvg: Sync with upstream 93ce879
93ce879dc4
2024-04-05 11:19:09 +02:00
lawnjelly
1a9b5b7c99
Merge pull request #88345 from SysError99/3.x-get_or_add
[3.x] Add a `get_or_add` method to Dictionary
2024-04-04 13:04:16 +01:00
lawnjelly
75cadbabcb
Merge pull request #81089 from SysError99/3.x-dont-warm-about-return-value-discarded
[3.x] GDScript: Don't warn about `RETURN_VALUE_DISCARDED` by default
2024-04-04 13:02:22 +01:00
Haoyu Qiu
fbd9d389f0 Don't error multiple times when trying to load missing default bus layout 2024-03-31 17:34:13 +08:00
Kirill Diduk
52507443d3 Check duplicate keys in dictionary literals: enums and const variables
Check identifiers (const variables and unnamed enums) and named
enums when parsing dictionary literals whether the keys are not
duplicated.

In case of duplicate key is encountered, highlight the line with it
and print error message:
`Duplicate key "foo" found in Dictionary literal`

This commit is a logical continuation of the commit dab73c7 which
implemented such checks only for literal keys (which fixed #7034).

Apart from that, this commit also fixes the issue with the error
message itself, which was shown one line below the duplicated key
in case it was the last one in the dictionary literal and there
was no hanging comma.

Also, the format of the error message has been changed so that now
the error message also contains the value of the key which is duplicated.
Instead of `Duplicate key found in Dictionary literal`, it now prints
`Duplicate key "<value>" found in Dictionary literal`

Fixes #50971
2024-03-25 00:07:51 +01:00
Rémi Verschelde
02c02403e0
Merge pull request #89149 from AThousandShips/math_improve_3_x
[3.x][Core] Codestyle improvements to math types
2024-03-23 16:43:09 -07:00
lawnjelly
975046932c
Merge pull request #89636 from lawnjelly/optimize_anim_tree
[3.x] Optimize anim tree
2024-03-20 17:18:50 +00:00
lawnjelly
bb9608a7e6
Merge pull request #89609 from 0xafbf/automatic-provisioning-on-release-ios
[3.x] Allow automatic provisioning in iOS when using development signature.
2024-03-19 12:34:46 +00:00
lawnjelly
a0f130e23c Optimize AnimationTree::_process_graph()
Removes redundant lookups on HashMap.
2024-03-18 09:01:41 +00:00
Andrés Botero
9c4035fb7b Allow automatic provisioning in iOS when using development signature.
Implements https://github.com/godotengine/godot/pull/86748/files in 3.x.
2024-03-17 08:56:48 -05:00
A Thousand Ships
3fb36bf395
[Core] Codestyle improvements to math types 2024-03-17 09:22:18 +01:00
lawnjelly
8eaf180f11
Merge pull request #89580 from lawnjelly/fti2d_transform_const_ref
[3.x] Physics Interpolation 2D - change transform API to use const ref
2024-03-17 07:46:52 +00:00
lawnjelly
64457bab85
Merge pull request #89577 from lawnjelly/fti2d_fix_light_resets
[3.x] Physics Interpolation 2D - fix light and light occluder resetting
2024-03-16 17:13:02 +00:00
lawnjelly
e5a4aee3a6 Physics Interpolation 2D - change transform API to use const ref 2024-03-16 16:50:47 +00:00
lawnjelly
f8438601ef Physics Interpolation 2D - fix light and light occluder resetting
It turns out `NOTIFICATION_TRANSFORM_CHANGED` is deferred for these nodes, which can mean the transform is not set in the `VisualServer` until after the reset has been sent, even if the transform is set before the reset in script. This prevented the reset from acting correctly.

Here we explicitly set the transform prior to each reset, to ensure the `VisualServer` is up to date.
2024-03-16 16:02:22 +00:00
lawnjelly
a3a43d9623
Merge pull request #65711 from mortarroad/3.x-scene-import-find-animation-player
[3.x] Fix finding AnimationPlayer in scene import
2024-03-16 15:45:45 +00:00
lawnjelly
ac7292ffaf
Merge pull request #89565 from AThousandShips/no_3d_fix_3_x
[3.x] Fix building with `disable_3d`
2024-03-16 14:05:01 +00:00
A Thousand Ships
0f6d2c3441
Fix building with disable_3d 2024-03-16 11:31:23 +01:00
Morris Tabor
ae51d5ad33 Fix finding AnimationPlayer in scene import
The scene importer always assumed that the AnimationPlayer is called
"AnimationPlayer".

This is not always true: for example the GLTF importer just creates an
AnimationPlayer with the default name, which may be "animation_player",
depending on the project settings.

This fix instead chooses the first node that is an AnimationPlayer, and
warns if there is more than one.
2024-03-12 20:50:16 +01:00
Rémi Verschelde
bbd9578d18
Merge pull request #89345 from bruvzg/3x_no_li
[3.x, iOS] Remove deprecated LaunchImages support and switch to Storyboard by default.
2024-03-10 11:30:46 +01:00
bruvzg
5255b661b4
[3.x, iOS] Remove deprecated LaunchImages support and switch to Storyboard by default. 2024-03-10 10:10:14 +02:00
Rémi Verschelde
1ad9e856a0
Merge pull request #88198 from lawnjelly/fix_facecount_bug
[3.x] Fix `Mesh::get_face_count()`
2024-03-08 17:54:04 +01:00
Rémi Verschelde
ae7dfd1f13
Merge pull request #85437 from lawnjelly/lod_scene_side
[3.x] Discrete Level of Detail
2024-03-08 17:53:58 +01:00
lawnjelly
6c35b48986
Merge pull request #88305 from Ovnuniarchos/editor_properties_fixup
[3.x] Fix EditorPropertyLocale connecting to inexistent signal `text_submitted`.
2024-03-08 14:15:55 +00:00
lawnjelly
758daacd24
Merge pull request #88490 from AlekseyKapustyanenko/Rotary-input-3.x
[3.x] Add rotary input support for Android platform
2024-03-08 14:11:51 +00:00
lawnjelly
04670d05cc
Merge pull request #87689 from BZ1234567890/issue-87059-b3x
[3.x] [Android 14] Fix GodotEditText white box showing during game load
2024-03-07 16:06:32 +00:00
Rémi Verschelde
60ff43b7ce
Merge pull request #88943 from lawnjelly/fix_scenedock_filter_crash
[3.x] Fix SceneTree dock filter crash
2024-02-28 09:45:28 +01:00
lawnjelly
9a9dccbaa2 Fix physics on_floor_body crash
Physics body previously stored the RID of a collision object and accessed it on the next frame, leading to a crash if the object had been deleted.
This PR stores the ObjectID in addition to the RID, and checks the object still exists prior to access.
2024-02-28 07:54:00 +00:00
lawnjelly
39e61b76c6 Fix SceneTree dock filter crash
The filter was crashing for two reasons:
1) Deleting a child invalidated the iteration of children
2) Child was accessed after deletion
2024-02-28 05:42:42 +00:00