Commit graph

2244 commits

Author SHA1 Message Date
Hugo Locurcio
49b6067aba Use StringName consistently to refer to the Master audio bus name 2023-08-07 18:06:17 +02:00
Aaron Franke
49e0a01bf1
Add Mass Distribution, Deactivation, Solver inspector property groups 2023-08-06 21:26:33 -05:00
Rémi Verschelde
858e8748e8
Fix or workaround recent extension API compatibility issues
- Add compatibility methods for `RenderingDevice::shader_create_from_bytecode`
  and `CodeEdit::get_text_for_symbol_loopup`.
- Silence errors which now have compatibility methods.
- Acknowledge GraphEdit/GraphNode compat breakage, intended and WIP.
2023-08-03 12:07:21 +02:00
Yuri Sizov
9fe9922dd9 Merge pull request #80122 from timothyqiu/rid-id
Fix "a number is required" error when printing RID
2023-08-01 20:04:04 +02:00
Yuri Sizov
e810671116 Merge pull request #79977 from Owl-A/bugfix
Add state sync after call to `_integrate_forces` in `_body_state_changed`
2023-08-01 20:03:47 +02:00
Haoyu Qiu
35f28407d9 Fix "a number is required" error when printing RID 2023-08-01 23:30:21 +08:00
Chinmay Awale
c118256865 added state sync after call to _integrate_forces 2023-08-01 19:03:43 +05:30
kobewi
055b9892d2 Properly clear scene tiles 2023-07-27 01:31:20 +02:00
smix8
69fad39cf5 Add NavigationServer API to enable regions and links
Adds NavigationServer API to enable regions and links.
2023-07-26 01:20:15 +02:00
Yuri Sizov
f6187014ec Merge pull request #79851 from timothyqiu/null-tileset
Fix crash when executing `TileMap.fix_invalid_tiles`
2023-07-24 19:33:55 +02:00
Yuri Sizov
6fb5d9e1e6 Merge pull request #79485 from smix8/tilemap_cell_size_4.x
Set default `cell_size` on new TileMap Layer navigation layer maps
2023-07-24 19:32:50 +02:00
Yuri Sizov
2f4c962929 Merge pull request #79434 from Calinou/2d-editor-allow-float-bone-size
Allow using floating-point bone sizes and outline widths in the 2D editor
2023-07-24 19:32:42 +02:00
Haoyu Qiu
a7ab7e469b Fix crash when executing TileMap.fix_invalid_tiles 2023-07-24 20:01:27 +08:00
smix8
671839d5cd Set default cell_size on new TileMap Layer navigation layer maps
Sets default cell_size on new TileMap Layer navigation layer maps.
2023-07-21 18:02:21 +02:00
Yuri Sizov
7a313318b2 Merge pull request #79645 from adamscott/fix-camera-2d-editor
Fix Camera2D crash when edited scene root is null
2023-07-21 17:54:58 +02:00
kleonc
f12164d311 Fix CanvasModulate logic for updating canvas modulate 2023-07-21 15:33:36 +02:00
Gilles Roudière
d6379e9a93 Move TileMap layers to their own class 2023-07-20 17:23:38 +02:00
Adam Scott
deb45c0cab
Fix Camera2D crash when edited scene root is null 2023-07-18 20:36:40 -04:00
kobewi
de4a3fa151 Unify and streamline connecting to Resource changes 2023-07-17 19:35:57 +02:00
Hugo Locurcio
a39190a18f
Allow using floating-point bone sizes and outline widths in the 2D editor
This is useful when animating pixel art sprites in the 2D editor,
as a value of `1` is often too large when zoomed in.
2023-07-17 12:44:09 +02:00
Hendrik Brucker
7e21eb7e00 Extract and reorganize texture resource classes 2023-07-14 20:04:21 +02:00
Yuri Sizov
0f7625ab46 Merge pull request #76859 from HolonProduction/emission-finished-gpu
Add `finished` signal to GPUParticles
2023-07-14 18:50:56 +02:00
Yuri Sizov
a91f0e6bca Merge pull request #76853 from HolonProduction/emission_finished
Add `finished` signal to CPUParticles
2023-07-14 18:50:51 +02:00
smix8
2512157294 Fix NavigationObstacle2D debug position
Fixes NavigationObstacle2D debug position.
2023-07-12 22:21:58 +02:00
Yuri Sizov
a927b22f65 Merge pull request #77257 from rakkarage/tile_animation_sync
Add `TileSetAtlasSource::TileAnimationMode` options and allow to shuffle tile animations
2023-07-12 21:02:31 +02:00
Yuri Sizov
4e66c4cdd9 Merge pull request #77191 from smix8/navigationregion_map_change_4.x
Add NavigationRegion function to change navigation map
2023-07-12 17:15:13 +02:00
HolonProduction
a1c0d206e8 Add finished signal to CPUParticles 2023-07-12 13:45:02 +02:00
HolonProduction
5322e255ad Add finished signal to GPUParticles 2023-07-12 13:29:47 +02:00
Rémi Verschelde
7030ac555f
Merge pull request #79270 from clayjohn/particle-trails-error
Unify error condition for particles trail lifetime
2023-07-10 10:38:34 +02:00
clayjohn
78ecdb17f9 Unify error condition for particles trail lifetime 2023-07-10 10:17:27 +02:00
Rémi Verschelde
7cd92ad023
Merge pull request #78940 from AThousandShips/touch_compat
Add compatibility properties to `TouchScreenButton`
2023-07-08 18:20:39 +02:00
Rémi Verschelde
813ff4b460
Merge pull request #78857 from smix8/navagent_pos_fix_4.x
Fix NavigationAgent position not always updating
2023-07-03 15:26:11 +02:00
Ninni Pipping
c7e4b3bf5f Add compatibility properties to TouchScreenButton
Added support for `3.x` properties:
* `normal` -> `texture_normal`
* `pressed` -> `texture_pressed`
2023-07-02 10:45:16 +02:00
smix8
34bc410fb4 Fix NavigationAgent position not always updating
Fixes NavigationAgent position not always updating.
2023-06-30 00:18:26 +02:00
smix8
c912df9d05 Fix NavigationAgent continues avoidance velocity
Fixes NavigationAgent continues avoidance velocity.
2023-06-29 21:10:03 +02:00
Rémi Verschelde
c1ad74d4c3
Merge pull request #78579 from aaronfranke/col-poly-obj-name
Internally rename `parent` to `collision_object` in CollisionPolygon(2D/3D)
2023-06-23 00:06:09 +02:00
Aaron Franke
7c4921e794
Internally rename parent to collision_object in CollisionPolygon(2D/3D) 2023-06-22 14:06:05 -05:00
Rémi Verschelde
cb73a6e9f9
Merge pull request #78490 from clayjohn/GLES3-particles-subemit
Add warnings and fallbacks for particles sub emitters when using the GL Compatibility rendering backend
2023-06-22 21:02:38 +02:00
kleonc
edba45ec8b Fix click-selecting Sprites with repeated texture 2023-06-22 16:37:08 +02:00
clayjohn
8a5af8183a Add warnings and fallbacks for particles sub emitters when using the GL Compatibility rendering backend
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2023-06-21 12:56:52 -07:00
Rémi Verschelde
5025d95d41
Merge pull request #69027 from Uxeron/AudioListener2DRotationFix
Fix AudioListener2D ignoring rotation for positional audio
2023-06-21 10:17:37 +02:00
Uxeron
20ceba9e82 Fix AudioListener2D ignoring rotation 2023-06-21 08:10:01 +03:00
smix8
e3f9994d54 Fix NavigationAgent2D path debug hidden behind canvas items
Fixes NavigationAgent2D path debug hidden behind canvas items.
2023-06-19 15:43:35 +02:00
smix8
ae9dd47d0c Add agent pause mode to NavigationServer
Adds agent pause mode to NavigationServer.
2023-06-18 12:37:03 +02:00
Rémi Verschelde
2d90f66ac1
Merge pull request #78323 from kleonc/tile-compat-transposed-transform-fix
Fix transform for transposed tiles in compatibility mode (from 3.x)
2023-06-16 16:52:51 +02:00
kleonc
735e7d67ca Fix transform for transposed tiles in compatibility mode (from 3.x) 2023-06-16 13:31:01 +02:00
Rémi Verschelde
d101244d1b
Merge pull request #74641 from dalexeev/fix-bitfield-enum-warnings
Display `BitField[Enum]` in docs to distinguish from `Enum`
2023-06-16 10:18:46 +02:00
Rémi Verschelde
6fb391bc23
Fix various typos with codespell
And ignore some false positives introduced by recent versions of codespell.
2023-06-16 08:45:35 +02:00
Danil Alexeev
eb391d3302
Display BitField[Enum] in docs to distinguish from Enum 2023-06-15 17:23:02 +03:00
smix8
84647ab09e Add NavigationRegion function to change navigation map
Adds NavigationRegion function to change navigation map.
2023-06-15 12:04:57 +02:00
smix8
4c970f1a67 Refactor NavigationRegion internals
Refactors NavigationRegion internals.
2023-06-15 09:52:14 +02:00
Yuri Sizov
991f4d5183 Avoid error spam when (un)pausing GPUParticles out of tree 2023-06-12 18:18:51 +02:00
smix8
c1fc331b88 Update navigation obstacle API
Updates navigation obstacle API.
2023-06-12 14:26:45 +02:00
Ninni Pipping
dcd2b883eb Use NULL instead of COND checks when appropriate
Restricted to scene
2023-06-10 08:56:30 +02:00
Aaron Franke
ec09cff7f3
Internally rename parent to collision_object in CollisionShape(2D/3D) 2023-06-07 12:02:27 -05:00
Hugo Locurcio
fc4ec42a09
Increase precision in particle damping properties in the editor 2023-06-07 15:26:02 +02:00
Rakka Rage
6dbae30000 Add tile_animation_mode option:
- to tile animation properties
- when "Default" each animation starts at time 0.
- when "Random Start Times" each animation starts at random time.
2023-06-06 09:31:18 -04:00
kobewi
9128ce95ce Check for null in set_pattern() 2023-05-24 16:43:29 +02:00
Silc Renew
42aa5398d9 Fix Pathfollow direction
Co-authored-by: aaronfranke <arnfranke@yahoo.com>
2023-05-24 17:37:00 +09:00
Yuri Sizov
0032c1c0c2
Merge pull request #77161 from AThousandShips/touch_texture_fix
Make `TouchScreenButton` connections reference counted
2023-05-18 19:19:31 +02:00
Ninni Pipping
0648cc65b2 Make TouchScreenButton connections reference counted
Prevents errors when assigning the same texture to both slots
2023-05-17 22:51:42 +02:00
Pedro J. Estébanez
50cf3d6966 Optimize threading-sensitive node data for single-threaded processing 2023-05-17 02:04:41 +02:00
Rémi Verschelde
12b7a56202
Merge pull request #76713 from KoBeWi/TODO_is_now
Fix 2D audio in multiple viewports
2023-05-16 11:00:45 +02:00
Rémi Verschelde
8cfa19a078
Merge pull request #77000 from reduz/make-more-base-nodes-thread-safe
Make more base nodes thread safe
2023-05-16 00:31:56 +02:00
Juan Linietsky
0a9f72d5a8 Make more base nodes thread safe
Ongoing work to make more of the base nodes thread safe.
2023-05-15 16:54:10 +02:00
Danil Alexeev
cc44d75cd8
Fix draw_multiline_colors usage 2023-05-15 09:56:13 +03:00
smix8
f986b52b3c Make navigation mesh edge connections optional
Makes navigation mesh edge connections optional.
2023-05-11 18:46:34 +02:00
smix8
7e1a261cc6 Prevent unnecessary navigation map synchronizations
Prevents unnecessary navigation map synchronizations triggered by redundant calls to setters of e.g. region, link or map properties.
2023-05-11 07:38:16 +02:00
smix8
a6ac305f96 Rework Navigation Avoidance
Rework Navigation Avoidance.
2023-05-10 05:01:58 +02:00
Rémi Verschelde
bbe05b60c8
Merge pull request #57179 from spacechase0/notify-world2d-changed-master
Propagate previously unused NOTIFICATION_WORLD_2D_CHANGED, make CanvasItem/CollisionObject2D use it
2023-05-08 16:40:00 +02:00
kobewi
8a41eefb97 Fix 2D audio in multiple viewports 2023-05-03 23:09:40 +02:00
Chase Warrington
46e06ee1e6 Propogate previously unused NOTIFICATION_WORLD_2D_CHANGED, make CanvasItem/CollisionObject2D use it 2023-05-01 18:26:55 -04:00
VolTer
818d57b5b4 Light3D show scaling warning immediately 2023-05-01 02:55:17 +02:00
Proggle
093cb90077
TileMap: Add method to fetch the layer for a given body 2023-04-25 12:49:50 +02:00
Haoyu Qiu
a15126915d Fix TouchScreenButton not redrawn when texture changes 2023-04-23 14:35:12 +08:00
Rémi Verschelde
b5b371cf7c
Merge pull request #70332 from aaronfranke/rigid-body-units
Improve some units in RigidBody nodes
2023-04-18 23:38:20 +02:00
Yuri Sizov
9e6b680cfb
Merge pull request #74814 from kleonc/tilemap-fix-rendering-odd-sized-tiles
`TileMap` Fix rendering odd-sized tiles
2023-04-18 16:27:44 +02:00
Aaron Franke
87bd8d2dcf Make Area physics priority consistently int and allow negative numbers 2023-04-18 13:50:20 +02:00
Aaron Franke
a83ce0b104
Improve some units in RigidBody nodes 2023-04-15 22:03:24 -05:00
clayjohn
821917ba9f Use angle_rand to calculate base_angle in particles process material 2023-04-13 15:10:47 -07:00
Yuri Sizov
f38b540273
Merge pull request #75756 from smix8/fix_obstacle_avoidance_sim_4.x
Fix NavigationObstacles not being added to avoidance simulation
2023-04-07 15:11:40 +02:00
Yuri Sizov
f1f0e5f91d
Merge pull request #75728 from smix8/fix_audiostreamplayer2d_crash_4.x
Fix AudioStreamPlayer2D crash when PhysicsServer2D runs on thread
2023-04-07 12:46:53 +02:00
smix8
aadf33efd8 Fix NavigationObstacles not being added to avoidance simulation
Fixes NavigationObstacles not being added to avoidance simulation.
2023-04-06 16:32:49 +02:00
Juan Linietsky
104392ef4e Remove NOTIFICATION_MOVED_IN_PARENT
* This notification makes node children management very inefficient.
* Replaced by a NOTIFICATION_CHILDREN_CHANGED (and children_changed signal).
* Changed Canvas code (and similar) to use the above signal, to perform more efficiently.

This PR breaks compatibility (although this notification was very rarely used, even within the engine), but provides an alternate way to do the same.
It is required for the changes in #75627 to be entirely effective.
2023-04-06 13:57:13 +02:00
smix8
a5351086b0 Fix AudioStreamPlayer2D crash when PhysicsServer2D runs on thread
Fixes AudioStreamPlayer2D crash when PhysicsServer2D runs on thread due to empty PhysicsSpace
2023-04-06 03:29:09 +02:00
Rémi Verschelde
3c225c19c1
Merge pull request #75487 from Rindbee/improve_update_remote_in_RemoteTransform2D
Fix RemoteTransform2D could fail to update AnimatableBody2D's position or rotation
2023-04-03 16:03:34 +02:00
Rémi Verschelde
b237df8cea
Merge pull request #75326 from smix8/navigationagent_expose_parameters_4.x
Expose NavigationAgent path postprocessing and pathfinding algorithm options
2023-04-03 16:02:21 +02:00
Rindbee
100b4b1f28 Fix RemoteTransform2D could fail to update AnimatableBody2D's position or rotation
Configure the transform per condition, and then only set it once to
prevent multiple `NOTIFICATION_LOCAL_TRANSFORM_CHANGED` notifications
from being sent.
2023-03-30 16:00:35 +08:00
Yuri Sizov
1222d35cdd
Merge pull request #75398 from newobj/issue-75218
Update GPUParticles2D/3D speed scale on ENTER_TREE
2023-03-28 16:34:58 +02:00
Brian Long
4652fbd09e Update GPUParticles2D/3D speed scale on ENTER_TREE
Fix for https://github.com/godotengine/godot/issues/75218

Pause notifications are not sent when a node is added as a child. So GPUParticles2D should also obey its can_process status on ENTER_TREE, not just PAUSED/UNPAUSED.
2023-03-27 13:24:59 -07:00
Yuri Sizov
2659fc1a34
Merge pull request #75266 from rburing/shapecast2d_disconnect
Port robust signal (dis)connection to `ShapeCast2D`
2023-03-27 13:08:58 +02:00
smix8
6e324bb341 Expose NavigationAgent path postprocessing and pathfinding algorithm options
Exposes the path postprocessing and pathfinding algorithm options of the NavigationAgent internal NavigationPathQueryParameters object.
2023-03-25 21:37:18 +01:00
Yuri Sizov
32c65c92a2
Merge pull request #75258 from AThousandShips/autoplay
Fix `AnimatedSprite2D` autoplay warning
2023-03-25 14:28:27 +01:00
Yuri Sizov
553fd238cf
Merge pull request #73897 from TheSecondReal0/camera-line-width
Draw Camera2D outlines as 2 point primitives instead of 4 (consistent with how origin is drawn in 2D editor)
2023-03-25 13:49:12 +01:00
Ricardo Buring
5bed055cdd Port robust signal (dis)connection to ShapeCast2D
Ported from ShapeCast3D.
2023-03-24 09:23:03 +01:00
Asa Sprow
574293532d Draw Camera2D outlines as 2 point primitives instead of 4 2023-03-23 15:19:32 -07:00
Ninni Pipping
4d4342e018 Fix AnimatedSprite2D autoplay warning
Changing of autoplay when changing `SpriteFrames` is not done by the
user and warning is unhelpful
2023-03-23 14:31:46 +01:00
Yuri Sizov
21753b06a1
Merge pull request #74092 from KoBeWi/zero_reason_to_change
Add early return for changing TileMap properties
2023-03-16 13:04:31 +01:00
smix8
f6a10c0565 Allow negative NavigationAgent2D path debug line_width for thin lines
Allows the line_width for NavigationAgent2D path debug to go negativ for thin line rendering.
2023-03-16 09:04:53 +01:00
kleonc
c49a7feae3 TileMap Fix rendering odd-sized tiles 2023-03-12 16:20:38 +01:00
Rémi Verschelde
a01e8be417
Merge pull request #74282 from timothyqiu/news-anchor
Notify child controls when `BackBufferCopy`'s rect changed
2023-03-05 13:26:45 +01:00
Rémi Verschelde
b7c02007fb
Merge pull request #74251 from MarcusElg/positiongroup
Fix Camera2D position smoothing properties not being grouped
2023-03-05 13:25:33 +01:00
Marcus Elg
a835dfd96d Fix Camera2D position smoothing properties not being grouped 2023-03-03 19:28:39 +01:00
Rémi Verschelde
a2ecbb7c37
Merge pull request #73749 from fabriceci/expose-apply-floor-snap
Exposes the apply_floor_snap function to allow manual snap
2023-03-03 11:03:42 +01:00
Haoyu Qiu
602a0d2fbc Notify child controls when BackBufferCopy's rect changed 2023-03-03 17:57:58 +08:00
kobewi
ba7eb4bd89 Add early return for changing TileMap properties 2023-02-28 01:05:39 +01:00
clayjohn
c69b14e96e Add warnings for unsupported features in mobile and gl_compatibility backends 2023-02-26 12:28:02 -08:00
kobewi
cf50eb130e Fix custom viewports in Camera2D 2023-02-24 13:26:31 +01:00
fabriceci
1381e6da4f Exposes the apply_floor_snap function to allow a snap to be made regardless of velocity. 2023-02-22 14:08:32 +01:00
Albin
82b90c0e08 Remove visual limit for damping in CPUParticles
Issue #56324 notes that you may can't set the damping property of
CPUParticles2D to anything more that 100 in the editor inspector
while you may set it to anything in code, this is considered a bug and
changed in this commit
2023-02-19 12:47:34 +01:00
Yuri Sizov
b2f63bbb43 Remove deprecated methods from Bone2D
- also add them to the project convertor
2023-02-17 18:05:52 +01:00
Rémi Verschelde
9583c20171
Merge pull request #70515 from stmSi/fix-hanging-audio-pitch-scale
Fix hanging if audiostream's pitch_scale is NaN
2023-02-17 14:06:55 +01:00
Yuri Sizov
da11c59918
Merge pull request #73470 from Sauermann/fix-touch-screen-button-emulated
Remove device-id restriction from `TouchScreenButton` input events
2023-02-17 16:00:34 +03:00
Markus Sauermann
699608804f Remove device-id restriction from TouchScreenButton input events
Remove the restriction that only devices with id 0 are used
for `TouchScreenButton`-Input events.
This allows emulated events to be used for TouchScreenButton.
2023-02-17 01:19:57 +01:00
smix8
8be4af38e4 Tweak NavigationAgent3D defaults
Tweaks default values for NavigationAgent3D to work better out of the box within a new 3D project.
2023-02-16 14:26:39 +01:00
Rémi Verschelde
953383328a
Merge pull request #73229 from smix8/navlink_global_positions_4.x
Add NavigationLink helper functions for global positions
2023-02-16 11:02:17 +01:00
smix8
d87f124768 Add NavigationLink helper functions for global positions
Adds helper functions to set the links start and end position with global positions or get them as global positions.

Adds global start and end position for the navigation link to the 'link_reached' signal of NavigationAgent. That signal gets emitted when a navigation link waypoint is reached. Requires that 'owner' meta data is enabled on the NavigationAgent.
2023-02-14 21:56:58 +01:00
smix8
fef6ffabe5 Fix TileMap NavigationServer 'Invalid ID' error
Fixes NavigationServer 'Invalid ID' error of the TileMap.
The issue was not caused directly by the TileMap but with the late call to get_world_2d()->get_navigation_map() while everything is shut down abruptly e.g. game window closed or Editor "Reload Saved Scene" function.
2023-02-14 01:39:21 +01:00
Rémi Verschelde
848c910227
Merge pull request #73018 from smix8/fix_multilayered_tilemap_navigation_4.x
Fix navigation support for multilayered TileMaps
2023-02-13 12:58:39 +01:00
smix8
2b19c70664 Fix 2D navigation debug visuals ignoring half the ProjectSettings
Fixes that NavigationRegion2D and TileMap debug visuals ignored more or less half the ProjectSetting. E.g. random color could not be disabled, edges did not display.
2023-02-13 11:42:23 +01:00
Rémi Verschelde
beab9a7cf2
Merge pull request #73069 from brianwinterpixel/bugfix/linebuilder_box_uvs
Fix Line2D UVs when using BOX end cap mode
2023-02-11 14:40:09 +01:00
Rémi Verschelde
38d7583f86
Merge pull request #73063 from KoBeWi/it_exited_the_tree_but_changed_its_mind_and_broke_instead
Fix camera reparenting
2023-02-11 14:36:41 +01:00
Haoyu Qiu
65223e98de Strip name prefix of navigation agent debug properties in the inspector 2023-02-11 16:34:08 +08:00
Brian Semrau
53b4d85072 Fix Line2D UVs when using BOX end cap mode 2023-02-10 20:44:39 -05:00
kobewi
3f31c64300 Fix camera reparenting 2023-02-10 23:46:55 +01:00
smix8
f2c31965c0 Fix navigation support for multilayered TileMaps
Fixes support for multilayered TileMaps by creating dedicated navigation maps for each layer.
2023-02-10 17:13:40 +01:00
Rémi Verschelde
d69809cab6
Merge pull request #72947 from DarkKilauea/nav-fix-avoidance-callback
Fix missing avoidance updates when using same velocity
2023-02-09 10:13:35 +01:00
Josh Jones
097f8a5fdb Fix missing avoidance updates when using same velocity
When using avoidance, if you set the same velocity for the agent, you won't get an update from the avoidance system.

This changes both the `set_target_position` and `set_velocity` setters to always accept user provided values, even if they are the same. This ensures that repathing and avoidance logic is always run when the user expects.
2023-02-08 23:18:53 -08:00
smix8
820b841fcb Fix NavigationAgent debug functions bindings in release builds
Fixes that certain NavigationAgent debug functions bindings were not available in release builds.
2023-02-08 21:49:04 +01:00
Josh Jones
20fdfd466b Improve consistency of NavigationAgent setters 2023-02-02 22:51:37 -08:00
kobewi
724d6581d6 Fix Camera2D crashes 2023-02-01 23:49:02 +01:00
Rémi Verschelde
e52213e2fa
More codespell fixes, do more changes from previous ignore list 2023-02-01 12:11:36 +01:00
Rémi Verschelde
67ab9d85d4
Merge pull request #71543 from smix8/navigation_agent_debug_4.x
Add NavigationAgent Path Debug Visualization
2023-02-01 07:23:24 +01:00
Rémi Verschelde
14a4408e02
Merge pull request #65698 from KoBeWi/cameraman
Rework how current Camera2D is determined
2023-01-31 18:56:20 +01:00
smix8
0ab764e84b Add NavigationAgent Path Debug Visualization
Adds path debug visuals for NavigationAgent2D, NavigationAgent3D and NavigationServer.
2023-01-31 18:27:35 +01:00
Rémi Verschelde
c8446754dd
Merge pull request #72357 from aaronfranke/area-gravity-unit-dist
Replace Area gravity point distance scale with unit distance
2023-01-31 10:53:16 +01:00
Rémi Verschelde
6c19a619ad
Merge pull request #72365 from groud/warn_ysort_tilemap
Warn when a TileMap layer is Y-sorted but not the TileMap node itself.
2023-01-30 13:28:22 +01:00
Gilles Roudière
62c874732d Warn when a TileMap layer is Y-sorted but not the TileMap node itself. 2023-01-30 10:34:35 +01:00
Rémi Verschelde
2e0d9efb72
Merge pull request #72115 from AThousandShips/clip_children_fix
Hide `clip_children` for some non-drawn CanvasItems
2023-01-30 10:02:54 +01:00
Ninni Pipping
bbf203bc32 Hide clip_children for non-drawn CanvasItems 2023-01-30 08:22:06 +01:00
Aaron Franke
79215131b5
Replace Area gravity point distance scale with unit distance 2023-01-29 22:12:00 -06:00
Danil Alexeev
5195f723b9
Improve stroke drawing on 2D collision shapes 2023-01-29 19:07:09 +03:00
Silc Renew
fa198c482e Fix AnimatedSprite play() don't redraw immediately 2023-01-29 08:00:42 +09:00
Rémi Verschelde
3a25148b9b
Merge pull request #72228 from DarkKilauea/nav-agent-callable
Use Callable for Navigation Agent callbacks
2023-01-28 15:58:49 +01:00
Rémi Verschelde
e5752fdfd3
Merge pull request #72233 from TokageItLab/audio-blending
Implement blending audio feature to AnimationTree
2023-01-28 15:58:24 +01:00
Rémi Verschelde
04f7374775
Merge pull request #72157 from Kabiirk/GPUParticles2D-collision-UI-Fix
Fixing Inspector Property UI for GPUParticle2D collision_base_size [w.r.t Issue#71942]
2023-01-28 15:54:29 +01:00
Silc Renew
75330887d7 Implement blending audio feature to AnimationTree 2023-01-28 20:08:29 +09:00
Josh Jones
22f9ef19e1 Use Callable for Navigation Agent callbacks 2023-01-27 23:14:36 -08:00
Rémi Verschelde
525db733c8
Merge pull request #72129 from groud/unclamp_texture_origin
Rename texture_offset and unclamp it
2023-01-27 15:40:52 +01:00
Gilles Roudière
d7f3bd50bd Rename texture_offset and unclamp it 2023-01-27 11:04:45 +01:00
Rémi Verschelde
91c0ed5e33
Merge pull request #71907 from TokageItLab/change-animated-sprite-api
Make `AnimatedSprite`'s playback API consistent with `AnimationPlayer`
2023-01-27 10:32:23 +01:00
Kabiir
21ef712863 Fixing Inspector Property UI for GPUParticle2D collision_base_size[Issue#71942] 2023-01-27 11:55:03 +05:30
Rémi Verschelde
91ad92657e
Merge pull request #69689 from smix8/navagent_rename_location_4.x
Rename Navigation uses of 'location' to 'position'
2023-01-26 22:57:03 +01:00
smix8
bf1571979c Rename Navigation uses of 'location' to 'position'
Contrary to the entire rest of the engine NavigationAgent's and NavigationLinks decided to deal with locations instead of positions.
2023-01-26 18:19:03 +01:00
Silc Renew
17bf6238fc Make AnimatedSprite's playback API consistent with AnimationPlayer 2023-01-26 12:40:19 +09:00
Aaron Franke
2bc0bcbd26
PropertyUsage: Rename "DO_NOT_SHARE_ON_DUPLICATE" to "ALWAYS_DUPLICATE" 2023-01-24 16:05:07 -06:00
Rémi Verschelde
1891d9fdf1
Merge pull request #71801 from akien-mga/codespell-en-GB-to-en-US
Convert en_GB spelling to en_US with codespell
2023-01-23 11:08:55 +01:00
Rémi Verschelde
5b1df48c6c
Convert en_GB spelling to en_US with codespell 2023-01-23 11:02:20 +01:00
Juan Linietsky
4383b5ab1e Simplify AudioStreamPolyphonic
* Make AudioStreamPolyphonic not requre a polling thread (simpler, faster)
* Improve error reporting in AudioStreamPlayer*::get_stream_playback() error reporting to improve usability.
2023-01-23 10:47:01 +01:00
kobewi
615c517034 Use range iterators in LocalVector loops 2023-01-21 18:44:42 +01:00
Rémi Verschelde
3e9a831194
Merge pull request #65726 from KoBeWi/cellless
Don't print error in `get_cell_tile_data()`
2023-01-21 16:54:53 +01:00
Rémi Verschelde
7b622ce6e8
Merge pull request #71021 from reduz/prevent-physics-callback-removal
Error when removing a physics node during a physics callback
2023-01-21 11:28:02 +01:00
Rémi Verschelde
4abbc0c3fb
Merge pull request #71630 from groud/fix_tilemap_layer_delete_undo
Fixes TileMap undo not restoring tiles
2023-01-18 22:20:12 +01:00
Gilles Roudière
13e7f1a143 Fixes TileMap undo not restoring tiles 2023-01-18 17:43:41 +01:00
Rémi Verschelde
da1b78222c
Merge pull request #71615 from groud/bring_back_get_cells_by_id
Bring back TileMap::get_cells_by_id
2023-01-18 17:33:14 +01:00
Gilles Roudière
68afc0afa5 Bring back TileMap::get_cells_by_id 2023-01-18 15:56:31 +01:00
Gilles Roudière
10849a6d93 Avoid recreating TileMap internals when selecting it 2023-01-18 11:28:31 +01:00
Tomasz Chabora
5d75edb3b5 Update PathFollow2D when curve is changed 2023-01-15 18:11:21 +01:00
clayjohn
b514e20fb5 Remove normal_map from MeshInstance2D and MultiMeshInstance2D 2023-01-12 13:15:31 -08:00
smix8
594ffd2200 Tweak NavigationAgent2D defaults
Tweaks default values for NavigationAgent2D to work better out of the box within a new 2D project using default resolution.
2023-01-11 23:47:16 +01:00
Rémi Verschelde
91713ced81
Merge pull request #70716 from Calinou/particles-tweak-animation-offset-property-hint
Tweak particles animation offset property hint to allow more precise values
2023-01-10 11:01:14 +01:00
Rémi Verschelde
c3c5eceb35
Merge pull request #70463 from DarkKilauea/nav-server-const
[4.x] Rework const on NavigationServer methods
2023-01-08 22:50:05 +01:00
Rémi Verschelde
0d6fede757
Merge pull request #69809 from KoBeWi/runtime_enabler_2d
Fix VisibleOnScreenEnabler disabling in editor
2023-01-08 22:38:29 +01:00
Josh Jones
a0715b30f9 Rework const on NavigationServer methods
`const` is used on all methods, even when they cause modification of the server.  This reworks the methods of the server to only use `const` on method that don't change the state of the server.
2023-01-07 17:29:00 -08:00
Rémi Verschelde
3579d7a9f7
Merge pull request #36301 from KoBeWi/daddy_node
Add reparent methods to Node
2023-01-07 13:20:56 +01:00
Juan Linietsky
398e73c689 Error when removing a phycics node during a physics callback
* This behavior is not allowed, the error text suggests using call_deferred().
* Added a check in Node::remove_child to prevent future crashes of this type.
* Fixed a performance regression introduced by #36244.

Fixes #63718, probably other crashes too.
2023-01-07 12:57:24 +01:00
Rémi Verschelde
798582acf0
Merge pull request #65609 from dalexeev/animated-sprite
`AnimatedSprite{2D,3D}` improvements
2023-01-05 15:00:31 +01:00
Rémi Verschelde
d95794ec8a
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".
2023-01-05 13:25:55 +01:00
Danil Alexeev
0d25d8e7fc
AnimatedSprite{2D,3D} improvements
* Add support for individual frame duration to `SpriteFrames`.
* Various minor improvements.
2023-01-05 13:13:25 +03:00
Rémi Verschelde
5e78f0f782
Merge pull request #70840 from MewPurPur/get-point-count-instead-of-points
Rename `get_points_count()` to `get_point_count()` in Gradient
2023-01-03 15:46:18 +01:00
VolTer
1af833be95 Rename get_points_count() to get_point_count() internally 2023-01-02 16:52:05 +02:00
Adam Scott
ea33001b95 Add safety-checks before some servers free() 2022-12-29 16:23:38 -05:00
Hugo Locurcio
8df24835e0
Tweak particles animation offset property hint to allow more precise values
Values above 1.0 (or below 0.0) are no longer allowed, as these make
no visual difference whatsoever (and may cause particles not to appear
at all if looping is disabled).
2022-12-29 22:15:17 +01:00
stmSi
2041616934 Fix Editor hanging if audiostream's pitch_scale is NaN 2022-12-24 12:39:48 +06:30
reejk
fee04ccd93 Use TileSet navigation layer layers when TileMap generates navigation polygons 2022-12-22 00:35:20 +04:00
Rémi Verschelde
f84c308cf8
Merge pull request #69688 from smix8/navagent_stop_origin_automove_4.x
Stop NavigationAgents without a target from moving to world origin
2022-12-21 19:39:25 +01:00
Rémi Verschelde
5ad02aa08d
Merge pull request #67111 from DarkKilauea/nav-queries-link
Added signal to NavigationAgent when entering a link
2022-12-21 19:38:20 +01:00
Quentin Guidée
d9c05f7fbd
Fix double get_singleton()
Signed-off-by: Quentin Guidée <quentin.guidee@gmail.com>
2022-12-20 14:26:15 -05:00
Rémi Verschelde
f1f6b35b8c
Merge pull request #70244 from DarkKilauea/nav-fix-abbrev-compat
[4.x] Fix typo and ensure backwards compatibility for changed property names
2022-12-20 10:32:26 +01:00
Josh Jones
0572346985
Fix typo and ensure backwards compatibility for changed property names
Changes to the name of the `navmesh` and `navpoly` properties on
`NavigationRegion` caused navigation data to be lost on load.
This PR creates uses `_set`/`_get` to handle compatibility with the
older names on load, preserving the data.

Also fixes a typo on `get_vertices_per_polygon` in `NavigationMesh`,
and renames the property to remove the `polygon_` prefix which doesn't
match the setter/getter.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-12-20 09:57:54 +01:00
Rémi Verschelde
d124596862
Merge pull request #70263 from reduz/restore-rotation_degrees
Restore 'rotation_degrees' properties.
2022-12-19 16:28:44 +01:00
kleonc
3a34acdf55 TileSet Simplify tile shape polygons 2022-12-19 11:42:40 +01:00
Juan Linietsky
80b578b060 Restore 'rotation_degrees' properties.
By popular demand, restoring the helper properties to rotate objects in degrees.
Affected are local and global rotations for:

* Node2D
* Node3D
* Control
2022-12-19 10:59:47 +01:00
Josh Jones
5d8ba2b2d1 Add support for emitting a signal when entering a NavLink 2022-12-17 16:33:41 -08:00
smix8
34e7628f5f Fix Navigation API abbreviations inconsistency
Schema for navigation to name user facing API with  "navigation" without abbreviation and e.g. NavigationServer internals with abbr "nav".
2022-12-17 22:06:22 +01:00
smix8
4d68e2b18a Move NavigationPolygon to dedicated resource file
Moves NavigationPolygon resource class from NavigationRegion2D file to a dedicated file in resource folder.
2022-12-17 19:52:40 +01:00
Rémi Verschelde
c023d41036
Merge pull request #70118 from clayjohn/tilemap-layers
Use large offset for tilemap layer level canvas items
2022-12-17 14:29:22 +01:00
bmolyneaux
1e3a861e1a Queue redraw when MultiMesh instance transform changes
Fixes: #66849

This is a 4.0 version of #54899.
2022-12-15 17:01:17 -08:00
clayjohn
7d6a25c91e Use large offset for tilemap layer level canvas items
This matches the logic in _rendering_update_dirty_quadrants
2022-12-15 11:41:27 -08:00
Gilles Roudière
ffec180ccc Remove a confusing TileMap warning 2022-12-15 11:27:38 +01:00
kobewi
256e250c87 Fix VisibleOnScreenEnabler disabling in editor 2022-12-14 00:25:53 +01:00
Rémi Verschelde
fc517e6c89
Merge pull request #70003 from clayjohn/GLES3-cc
Various fixes and documentation for CanvasGroup
2022-12-13 23:31:43 +01:00
clayjohn
bdd4001ef0 Various fixes and documentation for CanvasGroup
Properly apply custom materials with CanvasGroups in the GLES3 backend

Properly blur backbuffer when using a partial rect in forward_plus and
gl_compatibility renderers

Properly set fit_margin when clear_margin is set

Fix shader error during backbuffer clear in mobile renderer
2022-12-13 10:22:18 -08:00
kobewi
99916ddbd1 Remove single-element groups from GPUParticles2D 2022-12-12 20:15:11 +01:00
Rémi Verschelde
ec8f52df8f
Merge pull request #69629 from smix8/agent_wild_callback_pointer_4.x
Fix Navigation agent callback wild pointer crash
2022-12-12 13:51:48 +01:00
smix8
194c1c44e0 Fix Navigation agent callback wild pointer crash
Fixes crash in sanitizer builds when callback agent or object are already freed.
2022-12-12 13:03:55 +01:00
Rémi Verschelde
53060e8ced
Merge pull request #69950 from kleonc/tile-map-const-refs-for-the-win
`TileMap` Pass some parameters by `const &` instead of by value
2022-12-12 11:52:55 +01:00
Rémi Verschelde
52a0bba833
Merge pull request #69922 from adamscott/fix-tilemap-tileset-heap-use-after-free
Fix `heap-use-after-free` error in `TileMap::~TileMap()`
2022-12-12 11:41:49 +01:00
Rémi Verschelde
ba3a2adb90
Merge pull request #67050 from KoBeWi/syrt
Warn if isometric TileMap is not Y-sorted
2022-12-12 11:40:54 +01:00
kleonc
71398ae22a TileMap Pass some parameters by const & instead of by value 2022-12-12 11:33:42 +01:00
Adam Scott
e7fb2f0294 Fix heap-use-after-free error in TileMap::~TileMap()
Co-authored-by: Gilles Roudiere <gilles.roudiere@gmail.com>
2022-12-12 04:52:00 -05:00
Josh Jones
5769b0e8d8 Enable assigning an owner to navigation regions and links
This allows users of the server APIs to get back the nodes that created certain regions and links.
2022-12-10 12:03:06 -08:00
Rémi Verschelde
156b5ca38f
Merge pull request #69644 from radenling/fix-viewport-update-in-editor
Fix for 2D viewport not updating in the editor when the camera moves
2022-12-09 18:06:23 +01:00
Vladislav Slobodenyuk
0b5c4216c8
Fix TileMap drawing itself twice on creation
Adds a check before calling `item_rect_changed()` in
`_recompute_rect_cache()` of `scene/2d/tile_map.cpp`. Makes sure
TileMap is only redrawn if the rect is actually changed.
Fixes #69754
2022-12-09 22:20:31 +09:00
Rémi Verschelde
75e558e271
Merge pull request #69774 from Calinou/backbuffercopy-only-show-rect-when-relevant
Fix BackBufferCopy `rect` property appearing when not relevant in inspector
2022-12-09 06:52:03 +01:00
Hugo Locurcio
080b6ac1ae
Fix BackBufferCopy rect property appearing when not relevant in inspector
The `rect` property is only effective if `copy_mode` is Rect.
2022-12-08 19:52:48 +01:00
Rémi Verschelde
a914ee8413
TouchScreenButton: Fix screen capability check
Fixes #69572.
2022-12-08 14:28:04 +01:00
Rémi Verschelde
de2d0f156e
Merge pull request #69713 from groud/rename_get_surrounding_tiles
Rename get_surrounding_tiles to get_surrounding_cells
2022-12-07 13:24:57 +01:00
Gilles Roudière
3ea54bb3a1 Rename get_surrounding_tiles to get_surrounding_cells 2022-12-07 11:09:10 +01:00
Markus Sauermann
e18107a57c Fix Determining Window for Touchscreen
DisplayServer::screen_is_touchscreen will likely never utilize its
parameter p_screen.
This PR replaces this function by DisplayServer::is_touchscreen_available()
with the same functionality.
This solves the problem, that a SubViewport was used for determining
the screen, which resulted in error messages.
2022-12-07 09:54:29 +01:00
smix8
860379fc16 Stop NavigationAgents without a target from moving to world origin
Stops NavigationAgents moving to the world origin without anyone telling them to do so.
2022-12-06 22:53:18 +01:00
Yaohua Xiong
322dbd0955 Fix Path2D fish bone direction 2022-12-06 20:45:17 +08:00
Richard Adenling
a3d8a78f1b 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
2022-12-06 11:34:32 +01:00
Rémi Verschelde
deb760fb1b
Path2D: Fix build issue after conflicts between #68860 and #69115 2022-12-06 11:22:11 +01:00
Rémi Verschelde
14861c45b5
Merge pull request #68860 from xiongyaohua/path3d_fishbones
Draw fish bones for Path3D and Path2D in the Editor
2022-12-06 10:46:54 +01:00
Yaohua Xiong
91e9ad92f5 Refactor baking code for Curve2D
The main change is to caculate tangent directly from bezier curve, without going
through discretized polyline, avoiding pitfalls of discretization. A similar refacor
had been applied to Curve3D.

The test cases for Curve2D is updated, comparing floating point with is_equal_approxmiate()
instead of `==`, in order to avoid float precision problem.
2022-12-05 21:22:05 +08:00
Yaohua Xiong
9bdc0cb16f draw fish bones for Path2D and Path3D
These fish bones are add to indicate the direction and local transforms alone the path.
2022-12-05 15:39:14 +08:00
kobewi
7e2a8afb57 Rework how current Camera2D is determined 2022-12-02 00:05:02 +01:00
Hendrik Brucker
e84f45fc93 Move z_index, z_as_relative and y_sort_enabled from Node2D to CanvasItem 2022-11-29 17:11:22 +01:00
Rémi Verschelde
519b9b5c21
Merge pull request #68486 from smix8/navpoly_outline_convex_error_4.x
Add detail to NavigationPolygon outline error msg
2022-11-28 13:37:00 +01:00
Rémi Verschelde
438b2e2d02
Merge pull request #59801 from Sauermann/fix-node2d-viewport-root-order
Fix Viewport root order after Node2D raise
2022-11-28 08:21:10 +01:00
Rémi Verschelde
34df77285c
Merge pull request #69146 from clayjohn/Polygon2D-error
Ensure that mesh instance is properly freed when freeing Polygon2D
2022-11-25 10:11:47 +01:00
Haoyu Qiu
06a0b26c9e Fix inspector not showing name for LabelSettings.font 2022-11-25 12:48:37 +08:00
clayjohn
5c95288a6e Ensure that mesh instance is properly freed when freeing Polygon2D 2022-11-24 17:34:25 -08:00
Rémi Verschelde
1fa80bf9d6
Merge pull request #67330 from KoBeWi/immortal_scenes
Don't free instanced scenes when recreating tiles
2022-11-24 18:54:08 +01:00
Micky
b6db09968d Fix AudioStreamPlayer2D and 3D's playing not updating right away 2022-11-22 15:46:28 +01:00
Rémi Verschelde
3a874804ab
Merge pull request #68886 from timothyqiu/motion-distance
Revert move vector parameter name to "motion"
2022-11-20 11:43:32 +01:00
Hugo Locurcio
2a0afb1dcc
Improve collision exception error messages for easier understanding 2022-11-19 17:35:44 +01:00
Haoyu Qiu
42ab2b9ef5 Revert move vector parameter name to motion 2022-11-19 20:19:50 +08:00
clayjohn
0e5a98cdd8 Fix drawing of 2D skeletons in the RD renderer.
Also clean up skeleton code in preparation for adding them to GLES3

Properly update Mesh2D AABBs when skeleton is updated
2022-11-18 23:36:40 -08:00
Rémi Verschelde
d0025a1f02
Merge pull request #64077 from Calinou/tweak-audiostreamplayer2d3d-default-panning
Decrease default AudioStreamPlayer2D/3D panning strength
2022-11-15 22:29:23 +01:00
kobewi
3e730c4277 Fix false warning when renaming Joint2D's node 2022-11-15 13:31:44 +01:00
clayjohn
9ce57050a5 Add GPUParticles to the OpenGL3 renderer.
This includes collision (2D SDF, Box, Sphere, Heightmap),
attraction (Box, Sphere), and all sorting modes.

This does not include 3D SDF collisions, trails, or
manual emission.
2022-11-14 23:28:25 -08:00
Markus Sauermann
3b14f0334c Remove redundant Variant-types initializations 2022-11-14 19:35:19 +01:00
smix8
f30ebacbe8 Add detail to NavigationPolygon outline error msg
Adds additional information to the error msg when the convex partition fails due to invalid outline arrays.
2022-11-10 21:12:51 +01:00
Hugo Locurcio
ab7a807f2b
Rename GPUParticles2D/3D's trail_length_secs to trail_lifetime
The property already has a "seconds" suffix in the inspector.
The "lifetime" term makes it more obvious that the property is
specified as time, not a distance in units.

The property hint now allows manually entering values greater than
10 seconds.

The internal rendering value's default now matches the particles
nodes' default.
2022-11-07 13:37:40 +01:00
kobewi
f8f25adc0b Don't free instanced scenes when recreating tiles 2022-11-07 00:32:41 +01:00
Rémi Verschelde
05ce0e3de1
Merge pull request #68222 from groud/fix_corner_terrain_painting
Fix terrain painting in corner-only matching mode
2022-11-04 10:05:58 +01:00
Gilles Roudière
ffacb31734 Fix terrain painting in corner-only matching mode 2022-11-03 19:08:43 +01:00
Markus Sauermann
022d24a9ae Fix Viewport root order after Node2D raise 2022-11-02 21:45:00 +01:00