Commit Graph

3827 Commits

Author SHA1 Message Date
Kirill Diduk
1a231787b0 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-04-14 16:37:55 +02:00
lawnjelly
4496c11437 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-14 16:35:26 +02:00
Haoyu Qiu
1d18b076de Add Node.is_node_ready 2024-04-14 16:35:04 +02:00
Rémi Verschelde
1be165639d nanosvg: Sync with upstream 93ce879
93ce879dc4
2024-04-14 16:33:50 +02:00
952c307f8a Use internal process for updating a dirty skeleton instead of the MessageQueue. This fixes BoneAttachments being a frame late. 2024-04-11 22:23:47 +02:00
dff6d9e9e3 Added copy pose and paste pose tools to the skeleton editor. Also added separators to it's dropdown menu. 2024-04-11 21:35:35 +02:00
3b25f0c0d5 Fix regression in LayeredTileMaps. 2024-04-09 13:52:02 +02:00
936c2e07bc Don't warn about layers not being y-sorted when there are no layers. 2024-04-06 21:08:44 +02:00
d255d381cb Fix layer navigation keys in LayeredTileMapLayerEditor even when not using layer nodes. 2024-04-06 21:04:57 +02:00
aa82d20e4b Added a get_layer() helper method to the LayeredTileMap. 2024-04-06 21:03:59 +02:00
fd5be3f26c Fix layer navigation keys in LayeredTileMapLayerEditor. 2024-04-06 20:32:39 +02:00
d63e561693 Make RAO and VertexLights2D work with the new LayeredTileMap setup. 2024-04-06 19:44:35 +02:00
3ac3c7da24 Backported from godot4: [TileMap] Fix forcing cleanup on exiting tree/canvas
- AThousandShips
09edece17d
2024-04-06 19:07:12 +02:00
cb55fa2292 Backported from godot4: Fixes "no cached rect" errors in TileMapLayer editor
- groud
c928273c6c
2024-04-06 18:59:41 +02:00
4cad999f60 Backported from godot4: Correctly update TileMapLayer highlighting when disabling it
- groud
256a6713f2
2024-04-06 18:42:37 +02:00
8648a32667 Backported from Godot4: Expose TileMapLayer
- groud
3cd4b2859c
2024-04-06 18:35:58 +02:00
9ab9c3a9a4 Mark last backported commit. 2024-04-06 15:14:51 +02:00
577376b61f Fix AnimationTree. 2024-04-06 14:00:16 +02:00
f6d9ca069f Fix build. 2024-04-06 13:46:57 +02:00
ececc7991c Backported dome of the codestyle improvements to math types from 3fb36bf395 . 2024-04-06 13:05:32 +02:00
4f93164401 Backported ORMSpatialMaterial from Godot 3.x without any breaking changes. 2024-04-06 12:57:23 +02:00
Ovnuniarchos
efcdf40d0c FIXED: Trying to connect inexistent signal text_submitted. 2024-04-06 12:37:10 +02:00
bruvzg
620b30a86a Backport locale selection improvements. 2024-04-06 12:37:02 +02:00
A Thousand Ships
240585c58b Fix building with disable_3d 2024-04-06 12:25:17 +02:00
lawnjelly
a607ec6545 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-04-06 12:24:45 +02:00
Aleksey Kapustyanenko
11cdb79005 Rotary input for 3.x 2024-04-06 12:20:05 +02:00
BZ1234567890
1b6d3f3e6e Fix GodotEditText white box showing during game load 2024-04-06 12:14:56 +02:00
786cf445ac Sync NativeScript's PROPERTY_USAGE flags with Object's. 2024-04-06 12:14:09 +02:00
lawnjelly
909acac329 Discrete Level of Detail
Add scene side discrete level of detail.

New node `LOD` for UI, and `LODManager` within `World` for automatically updating child visibilities based on distance from cameras.
2024-04-06 12:06:01 +02:00
bruvzg
680a1c4dbb Remove deprecated LaunchImages support and switch to Storyboard by default. 2024-04-06 11:10:31 +02:00
Morris Tabor
b9f8901b5e 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-04-06 11:06:20 +02:00
lawnjelly
942a304f4e 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-04-06 11:02:42 +02:00
lawnjelly
010b8ba73b Optimize AnimationTree::_process_graph()
Removes redundant lookups on HashMap.
2024-04-06 10:59:29 +02:00
Andrés Botero
257ad9dc68 Allow automatic provisioning in iOS when using development signature. Implements https://github.com/godotengine/godot/pull/86748/files in 3.x. 2024-04-06 10:56:57 +02:00
lawnjelly
bb9cd55575 Physics Interpolation 2D - change transform API to use const ref 2024-04-06 10:55:53 +02:00
Fabio Alessandrelli
85146c2646 GDNative: Fix Linux arm32 warning about ignored sysv_abi attribute 2024-04-06 10:49:43 +02:00
SysError99
487b454506 Add a get_or_add method to Dictionary
Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
2024-04-06 10:46:31 +02:00
lawnjelly
da78ed110a Fix Mesh::get_face_count()
This fixes a minor bug whereby facecount was actually returning the facecount * 3.
There were no major problems from this, but it did mean the optional threshold poly count used when merging was out by a factor of 3.
2024-04-06 10:42:03 +02:00
d699df272f Fix property hint. 2024-04-04 19:55:42 +02:00
a2d07caf93 Small doc tweak. 2024-03-27 16:14:42 +01:00
4785d29a16 Rename quadrants to octants in the vertex lights 3d module. 2024-03-27 16:13:58 +01:00
fd1f8aa5d7 Update docs for the vertex lights 3d module. 2024-03-27 16:12:15 +01:00
20776d0746 Recolor vertrex light 3d's icons. 2024-03-27 16:04:06 +01:00
c0805afa6c Rework the vertex light 3d module to actually be 3d. 2024-03-27 16:02:08 +01:00
b2b13bfb80 Copy the vertex lights 2d module over to the 3d version. 2024-03-27 12:26:20 +01:00
0ee99269a6 Added an icon for VertexLight2DEnvironment. 2024-03-27 11:52:43 +01:00
e1fcf610e6 Small tweaks to docs. 2024-03-27 09:14:58 +01:00
ab1f78ec21 Added docs for VertexLight2D and VertexLight2DEnvironment. 2024-03-27 09:11:46 +01:00
2007ef0f90 Added missing z_index parameter to VertexLights2DServer::sample_light(). 2024-03-27 09:04:59 +01:00
7f5b9650d9 Docs for the VertexLights2DServer. 2024-03-27 08:58:40 +01:00