Commit Graph

2286 Commits

Author SHA1 Message Date
Haoyu Qiu 4176102a5e Store ObjectID instead of pointer for KinematicCollision owner 2024-04-15 12:28:36 +08:00
kobewi e95e954c68 Add PropertyListHelper in all simple cases 2024-04-11 18:13:29 +02:00
smix8 1c134f4a3d Add navigation path simplification
Adds navigation path simplification for NavigationServer and NavigationAgent.
2024-04-11 12:32:21 +02:00
markdibarry 18e8b81ffa Account for scale in scroll logic for Parallax2D 2024-04-10 18:05:05 -04:00
Rémi Verschelde e68f03a083
Merge pull request #90282 from jhlothamer/issue_84221
Fix sharing World2D between SubViewports causes 2D lights of one SubViewport to go missing
2024-04-08 15:03:28 +02:00
Rémi Verschelde 2e1f33793f
Merge pull request #90340 from KoBeWi/FixJoint2D
Fix PinJoint2D deferred call error
2024-04-08 11:21:54 +02:00
kobewi 63bff87d7d Fix PinJoint2D deferred call error 2024-04-07 12:21:40 +02:00
Emmanuel Ferdman ea5ecc6b8e
fix: update the location of editor theme 2024-04-06 18:03:13 +03:00
Jason Lothamer b250660ee9 fix issue where Light2D does not re-attach itself to new canvas when viewport worlds are shared 2024-04-05 17:38:42 -04:00
Rémi Verschelde fe784573c4
Merge pull request #90167 from ajreckof/fix-negative-value-for-position_smoothing_speed-being-allowed
Ensure `Camera2D.position_smoothing_speed` is non-negative.
2024-04-05 12:16:14 +02:00
ajreckof 07406af6cc Fix negative value for position_smoothing_speed being allowed. 2024-04-04 17:15:53 +02:00
A Thousand Ships 09edece17d
[TileMap] Fix forcing cleanup on exiting tree/canvas 2024-04-04 14:47:32 +02:00
Rémi Verschelde 7c6892662d
Merge pull request #90095 from QbieShay/qbe/fix-cpuparticle-instancew
Fix `INSTANCE_CUSTOM.w` not being assigned correctly in CPUParticles 2D and 3D
2024-04-04 14:37:15 +02:00
Gilles Roudière 3cd4b2859c Expose TileMapLayer 2024-04-03 11:02:34 +02:00
QbieShay 1d81068be7 Fixed INSTANCE_CUSTOM.w not being assigned correctly in CPUParticles 2D and 3D 2024-04-01 14:00:40 +02:00
Rémi Verschelde a0d464ae19
Merge pull request #89820 from rburing/concave_collision_polygon_2d
Fix concave `CollisionPolygon2D` debug drawing and docs
2024-03-26 13:45:31 +01:00
markdibarry 2feed4c4b4 Avoid mirror scaling for ParallaxLayer 2024-03-24 09:17:33 -04:00
Rémi Verschelde cd4e4c0fcc
Merge pull request #89111 from AThousandShips/vec_use
Use `Vector*` component-wise `min/max/clamp` functions where applicable
2024-03-24 01:14:51 +01:00
Ricardo Buring b6f07a007a Fix concave CollisionPolygon2D debug drawing and docs 2024-03-23 18:51:39 +01:00
Ricardo Buring 2ed2ccc2d8 Fixed Timestep Interpolation (2D)
Adds fixed timestep interpolation to the rendering server (2D only).
Switchable on and off with a project setting (default is off).

Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-03-23 12:28:36 +01:00
A Thousand Ships 79ba22a73f
Use `Vector*` component-wise `min/max/clamp` functions where applicable 2024-03-20 13:47:42 +01:00
smix8 5d5e85fe07 Add NavigationObstacle options to affect and carve navigation mesh
Adds NavigationObstacle options to affect and carve navigation mesh.
2024-03-15 01:45:44 +01:00
Rémi Verschelde c6d5a782c7
Merge pull request #89468 from MrPersonDev/increase-rigidbody-mass-precision
Increase precision of RigidBody `mass` property
2024-03-14 22:35:16 +01:00
MrPersonDev f63d76427d Increase precision of rigidbody mass 2024-03-13 21:17:25 -07:00
Hugo Locurcio b2a3e8cb34
Move Max Contacts Reported below Contact Monitor in RigidBody inspector
This also changes the code used to hide the custom center of mass
property for consistency with other places in the editor
(only this approach worked for Contact Monitor as well).

The Center of Mass property hint in RigidBody2D was also modified
for better usability.
2024-03-13 23:17:35 +01:00
markdibarry a62870956a Add new Parallax2D node 2024-03-03 15:46:40 -05:00
Rémi Verschelde c1377920cd
Merge pull request #86743 from Mickeon/autocompletion-optimise-object
Optimise comparisons for Object's `get_argument_options`
2024-03-01 14:56:06 +01:00
Micky cd2032a90b Optimise Object's `get_argument_options` 2024-02-29 18:00:54 +01:00
Rémi Verschelde 810a0dbff1
Don't access Node3D/Node2D/Control global transform in `reparent` unless needed
Fixes #89002.

Co-authored-by: Tamás Gálffy <ezittgtx@gmail.com>
2024-02-29 14:07:48 +01:00
Gilles Roudière 787c784aca Remove almost all remaining dependencies of TileMapLayer on TileMap 2024-02-29 12:16:50 +01:00
Rémi Verschelde 21e3b2111e
Merge pull request #88862 from smix8/split_physics_classes
Split monolithic physics class files
2024-02-27 16:37:07 +01:00
A Thousand Ships fe203d7003
Prevent threading problems in `TileMap` 2024-02-27 15:38:25 +01:00
smix8 35dafc9fa8 Split monolithic physics class files
Splits monolithic physics class files.
2024-02-27 11:18:16 +01:00
smix8 b044905547 Fix NavigationObstacle2D debug being affected by Node2D transform
Fixes NavigationObstacle2D debug being affected by Node2D transform.
2024-02-27 07:13:36 +01:00
Aaron Franke 1cb531ddb6
Move 2D-only resources to their own folder 2024-02-26 05:22:45 -06:00
Robert Yevdokimov 13e82094ee Remove word duplicates in comments and strings, and fix casing and punctuation 2024-02-23 17:28:28 -05:00
smix8 1cf407e7c9 Add debug visual for NavigationRegion2D bake rect
Adds debug visual for NavigationRegion2D bake rect.
2024-02-23 11:36:49 +01:00
Gilles Roudière 33485e654e Fixes a memory leak with TileMap runtime updates 2024-02-21 13:18:21 +01:00
Rémi Verschelde 21f0529aa9
Revert "Update Node::get_configuration_warnings signature"
This reverts commit d3852deaa4.
2024-02-17 19:03:21 +01:00
Rémi Verschelde cde454434f
Merge pull request #88403 from Mickeon/VisibleOnScreenNotifier-is-differently-abled
Allow VisibleOnScreenNotifier2D/3D to have empty `enable_node_path`
2024-02-17 00:27:17 +01:00
Micky 445b1e9c5f Allow VisibleOnScreenNotifier2D/3D to have empty `enable_node_path` 2024-02-16 17:34:02 +01:00
kobewi 2c2480ea4e Make TileMapLayers internal 2024-02-15 21:28:04 +01:00
Rémi Verschelde ca733a4bf8
Merge pull request #88019 from mihe/wrong-contact-count
Fix `get_contact_count` sometimes being incorrect in `_process`
2024-02-14 10:59:45 +01:00
Rémi Verschelde 8b72165b5f
Merge pull request #88190 from Eoin-ONeill-Yokai/bugfix/materials-tilemap2d
Fix regression where a tile's custom material was ignored
2024-02-13 11:25:06 +01:00
Rémi Verschelde 9050ee1542
Merge pull request #87297 from adamscott/2d-pixel-art-stability
Stabilize snapping 2D transforms to pixel
2024-02-12 23:53:51 +01:00
Adam Scott 35b640107f
Stabilize snapping 2D transforms to pixel
Co-authored-by: Danni <34800072+KeyboardDanni@users.noreply.github.com>
2024-02-12 11:04:01 -05:00
Rémi Verschelde effb35dfa7
Merge pull request #88164 from smix8/fix_region_signals
Fix NavigationRegion errors from signal changes
2024-02-12 13:34:53 +01:00
Rémi Verschelde a1aca7e5c9
Merge pull request #88157 from kleonc/tilemap-move-layer-fix-moving-child-nodes
Fix `TileMap::move_layer` incorrectly moving child `TileMapLayer` nodes
2024-02-12 13:34:46 +01:00
Rémi Verschelde 821bf4b533
Merge pull request #88105 from AThousandShips/tile_duplicate_fix
Fix duplicating/copying `TileMap`
2024-02-12 13:34:34 +01:00
Rémi Verschelde 687f840354
Merge pull request #87379 from groud/change_tilemap_editor_to_tilemaplayer_editor
Change TileMapEditor to TileMapLayerEditor
2024-02-12 13:34:04 +01:00
Gilles Roudière 5a999d67ec Change TileMapEditor to TileMapLayerEditor 2024-02-12 10:11:45 +01:00
kleonc 7dfd0c45e9 Fix animated tile random start time not scaled to animation duration 2024-02-11 13:15:52 +01:00
Eoin O'Neill f50e6c80c7 Fix regression where tile-specific materials were ignored.
Regression stemmed from commit 48bed5050b

The material assigned to a tile is completely ignored in master unless
this line is changed.
2024-02-10 18:08:02 -08:00
smix8 c914e63464 Fix NavigationRegion errors from signal changes
Fixes NavigationRegion errors from signal changes.
2024-02-10 03:04:24 +01:00
kleonc 858eaafc23 Fix TileMap::move_layer incorrectly moving child TileMapLayer nodes 2024-02-09 20:59:36 +01:00
Rémi Verschelde dd275238d1
Merge pull request #86907 from aaronfranke/getter-const
Change AudioStreamPlayer autoplay and GLTFBufferView getters to be const
2024-02-09 12:33:09 +01:00
RedMser d3852deaa4 Update Node::get_configuration_warnings signature 2024-02-08 23:05:20 +01:00
Aaron Franke 35c99bbcc1
Change AudioStreamPlayer autoplay and GLTFBufferView getters to be const 2024-02-08 13:01:50 -06:00
A Thousand Ships 85d9c23baa
Fix duplicating/copying `TileMap`
Using `force_parent_owned` to prevent issues duplicating
2024-02-08 17:02:56 +01:00
Rémi Verschelde 251d5b3669
Merge pull request #87715 from Scony/add-is-baking
Expose `is_baking` method in navigation servers and region nodes.
2024-02-07 10:58:27 +01:00
Mikael Hermansson f2d615cdc7 Fix contact count sometimes being incorrect in `_process` 2024-02-06 14:29:43 +01:00
Pawel Lampe c2cfc0d409 Expose `is_baking` method in navigation servers and region nodes. 2024-02-05 22:04:22 +01:00
Hugo Locurcio 93be97e6a7
Make ShaderMaterial always the last option in inspector resource dropdowns
ShaderMaterial is the "advanced" option, while the "basic" options
should be listed first for easier accessibility (and because they're
generally used more often).

This makes sky and particle materials consistent with
canvas/spatial/fog materials on this aspect.
2024-02-05 21:49:17 +01:00
A Thousand Ships fb1662b939
Fix crash with `PhysicsBody2D/3D::get_gravity` with invalid state 2024-02-05 16:40:49 +01:00
Aaron Franke aed5ea9460
Expose a method to get gravity for any physics body 2024-01-30 23:57:38 -06:00
Rémi Verschelde fa48a51183
Merge pull request #87688 from AThousandShips/what_is_this
Remove unnecessary `this->` expressions
2024-01-29 13:18:09 +01:00
Rémi Verschelde ef9cb3dfa5
Merge pull request #87535 from Mickeon/scene-tree-configuration-warnings-cleanup
Improve appearance of Node configuration warnings
2024-01-29 13:17:17 +01:00
Rémi Verschelde 440d8cd989
Merge pull request #87167 from 0x0ACB/public_character_body
Make CharacterBody properties public
2024-01-29 13:16:48 +01:00
A Thousand Ships 15369fdb1d
Remove unnecessary `this->` expressions 2024-01-29 09:59:18 +01:00
Micky 3e4e0f08c4 Improve appearance of Node configuration warnings 2024-01-27 13:03:07 +01:00
ACB 9d0302d708 Make CharacterBody properties public 2024-01-25 10:31:16 +01:00
Rémi Verschelde 8f9c815ddb
Merge pull request #87061 from KoBeWi/shadow_of_the_former_self
Add AudioStreamPlayerInternal to unify stream players
2024-01-18 09:34:42 +01:00
Gilles Roudière 48bed5050b Make TileMapLayers extend Node2D and work as children of TileMap 2024-01-17 16:05:50 +01:00
kobewi 0c7db3cdad Add AudioStreamPlayerInternal to unify stream players 2024-01-17 13:12:02 +01:00
Yuri Sizov 95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
Rémi Verschelde 3df0c5be6a
Merge pull request #86473 from reduz/audio-playback-parameters
Implement audio stream playback parameters.
2024-01-16 10:35:36 +01:00
Juan Linietsky a40fe16866 Implement audio stream playback parameters.
Implements a way for audio stream playback to be configured via parameters
directly in the edited AudioStreamPlayer[2D/3D].

Currently, configuring the playback stream is not possible (or is sometimes hacky
as the user has to obtain the currently played stream, which is not always immediately available).

This PR only implements this new feature to control looping in stream playback instances (a commonly requested feature, which was lost in the transition from Godot 2 to Godot 3).
But the idea is that it can do a lot more:

* If effects are bundled to the stream, control per playback instance parameters such as cutoff or resoance, or any other exposed effect parameter per playback instance.
* For the upcoming interactive music PR (#64488), this exposes an easy way to change the active clip, which was not possible before.
* For the upcoming parametrizable audio support (https://github.com/godotengine/godot-proposals/issues/3394) this allows editing and animating audio graph parameters.

In any case, this PR is required to complete #64488.

Update modules/vorbis/audio_stream_ogg_vorbis.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update modules/minimp3/audio_stream_mp3.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update modules/minimp3/audio_stream_mp3.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update modules/vorbis/audio_stream_ogg_vorbis.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update doc/classes/AudioStream.xml

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-01-16 10:31:52 +01:00
Rémi Verschelde fe76b61743
Merge pull request #87160 from kleonc/tilemap-fix-debug-drawing-truncations-to-ints
Fix some `TileMap` debug drawing truncating to ints
2024-01-15 13:31:04 +01:00
Rémi Verschelde ebc30b93ac
Merge pull request #84465 from KeyboardDanni/deferred_camera
Fix Camera2D frame delay (port from 3.x)
2024-01-15 13:22:28 +01:00
kleonc baa5504700 Fix some TileMap debug drawing truncating to ints 2024-01-14 02:02:46 +01:00
Rémi Verschelde 1b25b4ca5f
Merge pull request #83397 from thiagola92/readability_skeleton_2d_calculate_length_and_rotation
Refactor function `calculate_length_and_rotation()` from Skeleton2D
2024-01-11 20:44:26 +01:00
thiagola92 6a05825b24 Refactor function `calculate_length_and_rotation()` from Skeleton2D 2024-01-11 13:35:28 -03:00
kobewi 0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Rémi Verschelde d8dc554241
Merge pull request #86847 from kleonc/tilemap-make-quadrant-canvas-item-position-local
Fix `TileMap` quadrant canvas item position not being local
2024-01-08 14:52:54 +01:00
kleonc 3c25274870 Fix TileMap quadrant canvas item position not being local 2024-01-08 14:20:16 +01:00
Rémi Verschelde 4ca33d318b
Merge pull request #86908 from AdSkipper1337/collision-object-2d-gdextension-virtuals
Fix virtual calls for GDExtension in `CollisionObject2D`
2024-01-08 12:01:31 +01:00
Rémi Verschelde c7fb7273c5
Merge pull request #86811 from TheSofox/light2d-blend-3to4
Added compatibility for Blend Mode in `Light2D`/`PointLight2D` when converting from Godot 3 to 4.
2024-01-08 11:57:07 +01:00
Rémi Verschelde 665c3edee2
Merge pull request #86557 from kleonc/polygon2d-with-skeleton-transform-fix
Fix Polygon2D to Skeleton2D transform calculation
2024-01-08 11:55:06 +01:00
Rémi Verschelde 97607b6ab3
Merge pull request #86474 from KoBeWi/particular_velocity
Only update particle velocity when it changes
2024-01-08 11:53:53 +01:00
Nikolai Davydov 0517000e6f Fix virtual calls for GDExtension in `CollisionObject2D` for _mouse_enter, _mouse_exit, _mouse_shape_enter, _mouse_shape_exit 2024-01-07 05:30:26 +01:00
A Thousand Ships 904ecb1d36
[Core] Prevent copying of `SelfList` and `SelfList::List`
Copying of these types is unsafe and should be detected

Also removed unnecessary constructors for `TileMap` `DebugQuadrant` and
`RenderingQuadrant` which used copying of `SelfList::List`
2024-01-07 00:48:23 +01:00
Sofox 58ae3c577c Added compatibility for Blend Mode in Light2D/PointLight2D when converting from Godot 3 to 4 2024-01-05 15:39:47 +00:00
Gilles Roudière 6bc5b3f812 Move TileMapLayer to its own files 2024-01-05 11:58:21 +01:00
Rémi Verschelde b88eddb682
Merge pull request #78378 from 0xafbf/curve-evaluate-correct-transform
Changed the way the rotation of a curve at a point is evaluated to match PathFollow2D
2024-01-04 16:38:38 +01:00
Rémi Verschelde d822fd5322
Merge pull request #86733 from Mickeon/autocompletion-more-animated-sprite
Add autocompletion options for AnimatedSprite's other play methods
2024-01-03 10:15:01 +01:00
Micky d5a7c7818c Add autocompletion options for AnimatedSprite's other play methods 2024-01-03 01:33:08 +01:00
Micky ca2f340384 Fix missing autocompletion for inheriting classes 2024-01-03 00:13:04 +01:00
kleonc 41e4f3c215 Fix Polygon2D to Skeleton2D transform calculation 2023-12-27 18:46:59 +01:00
kobewi cb0a37f61a Only update particle velocity when it changes 2023-12-23 18:04:24 +01:00
Nicholas Foo e7ee672120 Add getters to navigation servers
Add virtual functions and bind to navigation servers
Implement getters
Add documentation
2023-12-19 19:51:49 +01:00