Commit Graph

2269 Commits

Author SHA1 Message Date
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
Yuri Sizov 5d9dce43bb Merge pull request #84575 from rsburke4/fix-cpu-tangent-force
Fix `CPUParticles2D` tangential force does not match `GPUParticles2D`
2023-12-19 13:01:05 +01:00
Yuri Sizov 4600acfc41 Merge pull request #85311 from miv391/add-change-guards-to-sprite2d
Add property change guards to Sprite2D, Sprite3D and AnimatedSprite2D
2023-12-18 18:17:49 +01:00
A Thousand Ships 0081a50e32 Prevent mapping areas with invalid IDs for `Area2D/3D`
This occurs when areas are created directly from the servers, and no
instance is linked.
2023-12-18 16:02:46 +01:00
Mika Viskari 5b9e67e0a5 Add property change guards to Sprite2D and AnimatedSprite2D 2023-12-16 20:25:35 +02:00
Yuri Sizov 1e86ce0b40 Merge pull request #85317 from miv391/fix-breaking-frame-index-in-sprites
Fix invalid `frame` index when Sprite2D's `hframes` or `vframes` has been changed
2023-12-16 17:49:38 +01:00
风青山 ea30aabfb1 Clear monitoring in `Area*` when its space changes to invalid
So that it can work properly when the space changes to valid again.

Change `space` in advance to prevent disabled areas from being queried again.
2023-12-15 20:54:54 +01:00
Mika Viskari 484c5b5aff Fix invalid frame index when Sprite2D's hframes or vframes has been changed 2023-12-15 20:32:18 +02:00
Yuri Sizov 302e41c264 Merge pull request #82561 from ershn/fix_navigation_agents_is_target_reached_behavior
Make `target_desired_distance` affect the navigation of `NavigationAgent2D/3D`
2023-12-14 21:22:35 +01:00
Gilles Roudière 18fe0bd025 Move tile transforms handling cache to TileData 2023-12-13 17:44:59 +01:00
Rémi Verschelde 4943b6e6b3
Merge pull request #84451 from ShirenY/FixSkeletonMeshCulling
Transform mesh's AABB to skeleton's space when calculating mesh's bounds
2023-12-12 00:16:51 +01:00
ShirenY 27f71c4e78 Transform mesh's AABB to skeleton's space when calculate mesh's bounds. 2023-12-09 11:41:15 +08:00
Gilles Roudière fcb8d19de0 Fixes TileMap occluders 2023-12-08 10:07:28 +01:00
Rémi Verschelde 654132cb9c
Merge pull request #85753 from groud/allow_invisible_scene_tiles
Keep scene tiles even if the TileMap is invisible
2023-12-04 23:29:33 +01:00
Rémi Verschelde 0e4aead7a1
Merge pull request #85258 from smix8/navregion2d_transform
Fix NavigationRegion2D transform update
2023-12-04 23:11:15 +01:00
Rémi Verschelde 4ce65c6190
Merge pull request #83816 from smix8/navobstacle_properties
Fix missing NavigationObstacle property updates in constructor
2023-12-04 23:00:02 +01:00
Rémi Verschelde 1389d8a23f
Merge pull request #83814 from smix8/navagent_properties
Fix missing NavigationAgent property updates in constructor
2023-12-04 22:59:38 +01:00
Rémi Verschelde 4bd5ffd669
Merge pull request #83812 from smix8/navregion_properties
Fix missing NavigationRegion property updates in constructor
2023-12-04 22:59:13 +01:00