Commit graph

2296 commits

Author SHA1 Message Date
aaronp64
58931c073d Check for NaN in set_volume_db functions
Added check in AudioStreamPlayer, AudioStreamPlayer2D, and AudioStreamPlayer3D set_volume_db functions to prevent setting volume to NaN, and give an error.  Using NaN for volume and playing the AudioStreamPlayer could prevent all audio from playing, even from other AudioStreamPlayers.

Fixes #88133
2024-04-18 11:28:57 -04:00
Rémi Verschelde
043ca7c63c
Merge pull request #88306 from KoBeWi/PropertyListHelper_will_come_for_you
Add PropertyListHelper in all simple cases
2024-04-18 12:24:17 +02:00
Marcel Offermans
e64b4243c3 Added a specific check for the corner case that went wrong. 2024-04-17 12:01:01 +02:00
Rémi Verschelde
01eb81ba48
Merge pull request #90752 from groud/fix_tilemap_y_sort
Fix TileMap enabling Y-sort on child nodes
2024-04-17 10:59:04 +02:00
Rémi Verschelde
ce0744866d
Merge pull request #90747 from smix8/remove_constrain_avoidance
Remove experimental `constrain_avoidance` from `NavigationRegion2D`
2024-04-17 10:58:55 +02:00
smix8
df66a55ef3 Remove experimental constrain_avoidance from NavigationRegion2D
Removes experimental constrain_avoidance feature from NavigationRegion2D.
2024-04-16 18:02:53 +02:00
Gilles Roudière
96b6199de9 Fix TileMap enabling Y-sort on child nodes 2024-04-16 16:02:55 +02:00
Aaron Franke
77e35cf781
Move NavigationMeshSourceGeometryData(2D/3D) to the 2D/3D subfolders 2024-04-15 18:40:43 -07:00
Rémi Verschelde
4e1ed6bc23
Merge pull request #90668 from timothyqiu/owner-id
Store `ObjectID` instead of pointer for KinematicCollision owner
2024-04-15 10:00:32 +02:00
Rémi Verschelde
fac55137a1
Merge pull request #89627 from markdibarry/parallax2d_scroll_scale
Account for scale in scroll logic for `Parallax2D`
2024-04-15 10:00:15 +02:00
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