summaryrefslogtreecommitdiff
path: root/scene/2d
AgeCommit message (Collapse)Author
2021-11-19Scales the horizontal velocity according to the wall slope in 2Dfabriceci
2021-11-17Fix `ColorPicker` inverted input on color circleYuri Roubinsky
2021-11-16Merge pull request #54167 from ↵Rémi Verschelde
brunosxs/fix-game-crash-when-sending-a-notification-from-a-camera-class
2021-11-12Merge pull request #54803 from goostengine/shape-cast-2dCamille Mohr-Daurat
Add `ShapeCast2D` node
2021-11-12Remove `get_closest_*` methods from `ShapeCast2D`Andrii Doroshenko (Xrayez)
The physics API cannot provide needed functionality to ensure the correct behavior, which might lead to confusion (see `rest_info()`). However `get_closest_collision_safe/unsafe_fraction()` methods are not removed, because they return correct result from `cast_motion()`.
2021-11-12Add `ShapeCast2D` nodeAndrii Doroshenko (Xrayez)
2021-11-12Implement texture padding in TileSetAtlasSourcesGilles Roudière
2021-11-11Merge pull request #54810 from nekomatata/area-separate-override-modesCamille Mohr-Daurat
Separate space override modes for gravity/damping in Area
2021-11-10Add raycast options to hit when starting inside / hit back facesPouleyKetchoupp
Makes the results consistent for all shape types with options to set the desired behavior.
2021-11-10Merge pull request #54847 from nekomatata/fix-test-move-regressionRémi Verschelde
2021-11-10Fix test_move reporting collision when touching another bodyPouleyKetchoupp
Reporting rest collision information is needed for move_and_collide and move_and_slide so floor detection can be done properly, but in the case of just testing the motion for collision, it makes sense to return false if the body is able to move all along the path without being stopped. Updated the logic in test_move and clarified the documentation for test_move and move_and_collide.
2021-11-10Fix errors in CharacterBody when floor is destroyed or removedPouleyKetchoupp
In all physics servers, body_get_direct_state() now silently returns nullptr when the body has been already freed or is removed from space, so the client code can detect this state and invalidate the body rid. In 2D, there is no change in behavior (just no more errors). In 3D, the Bullet server returned a valid direct body state when the body was removed from the physics space, but in this case it didn't make sense to use the information from the body state.
2021-11-09Separate space override modes for gravity/damping in AreaPouleyKetchoupp
Also make inspector clearer for gravity point properties.
2021-11-07Rename `GradientTexture` to `GradientTexture1D`Andrii Doroshenko (Xrayez)
1. Explicit and unambiguous when comparing to `GradientTexture2D` 2. Consistent with other class names where 1D is used in the engine.
2021-11-05Merge pull request #54573 from nekomatata/query-parametersRémi Verschelde
2021-11-04Use parameter classes instead of arguments for all physics queriesPouleyKetchoupp
Same as what is already done for shape queries, applied to point and ray queries. Easier to document and more flexible to add more parameters. Also expose intersect_point method to script in 3D. Remove intersect_point_on_canvas in 2D, replaced with a parameter.
2021-11-03Rename `PROPERTY_USAGE_NOEDITOR` to `PROPERTY_USAGE_NO_EDITOR`Hugo Locurcio
This is consistent with other constants that include `NO`, such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
2021-11-03Merge pull request #54527 from nekomatata/fix-polygon-bone-path-errorsRémi Verschelde
2021-11-03Fix errors with invalid bone node path in Polygon2DPouleyKetchoupp
NodePath properties are designed to be relative to the given node, so validity checks are failing in the editor for Polygon2D nodes, which are relative to the Skeleton2D node rather than the Polygon2D node. Fixed by saving bone paths as String properties instead of NodePath. Shouldn't cause a difference for performance since NodePath properties are technically saved as String anyway.
2021-11-03Merge pull request #54104 from Scony/improve-navigation-obstaclesRémi Verschelde
Improve NavigationObstacle3D usability
2021-11-01Use `Callable` in Area monitor callbackrafallus
2021-11-01Merge pull request #54396 from groud/implement_terrain_other_brushesRémi Verschelde
2021-11-01Merge pull request #37880 from nekomatata/rigid-body-damping-overrideCamille Mohr-Daurat
Improved RigidDynamicBody linear/angular damping override
2021-10-30Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3Hugo Locurcio
- Use lowercase driver names for the `--rendering-driver` command line argument.
2021-10-29Implement missing TileMap brushes for terrainsGilles Roudière
2021-10-28Fix crash due to reentrancy in AudioStreamPlayer* finished signal.Lyuma
This crash occurred when an audio stream finished playing in NOTIFICATION_INTERNAL_PROCESS, during which it would iterate through a loop of playbacks, leading to a "finished" signal, which removed the audio player from the tree which led to a NOTIFICATION_EXIT_TREE, which would mutate the array of playbacks while within the above loop. This moves the signal callback outside of the loop which avoids the crash. Note: previously, the signal was called multiple times if the same player finishes multiple times in one frame. Now it is at most once per frame. Affects AudioStreamPlayer, AudioStreamPlayer2D and AudioStreamPlayer3D
2021-10-28clang-format: Disable alignment of operands, too unreliableRémi Verschelde
Sets `AlignOperands` to `DontAlign`. `clang-format` developers seem to mostly care about space-based indentation and every other version of clang-format breaks the bad mismatch of tabs and spaces that it seems to use for operand alignment. So it's better without, so that it respects our two-tabs `ContinuationIndentWidth`.
2021-10-27Merge pull request #54157 from bjauny/fix_potential_nullpointer_collision3dCamille Mohr-Daurat
Fix potential null pointer use, based on #54094 fix
2021-10-27Fix potential null pointer use, based on #54094 fixBastien JAUNY
2021-10-27Merge pull request #54302 from fabriceci/fix-2D-character-stuck-on-wallCamille Mohr-Daurat
Fix #54298 where a CharacterBody2D can be stuck on the wall.
2021-10-27Implement runtime update of TileData object in TileMapGilles Roudière
2021-10-27Fix #54298 where a CharacterBody2D can be stuck on the wall.fabriceci
2021-10-27Optimize TileMap layers updatesGilles Roudière
2021-10-26Merge pull request #54073 from groud/terrains_for_procgenRémi Verschelde
2021-10-25Improved RigidDynamicBody linear/angular damping overridePouleyKetchoupp
Damping values are now non-negative. Add new properties linear_damp_mode and angular_damp_mode to set the way RigidDynamicBody and PhysicalBone (2D & 3D) use damping values. It can now be Combine (default) to add to the default/areas, or Replace to override the value completely (current behavior).
2021-10-25Improve NavigationObstacle3D usabilityPawel Lampe
Fix NavigationObstacle3D to be attached to navigation map - without it the NavigationObstacle3D is not working. Replace radius approximation algorithm with simple "radius" property.
2021-10-23Fixes a game crash caused by instantiating Camera2D and sending a ↵BrunoSXS
notification from it before adding it to the tree.
2021-10-23Merge pull request #54120 from zaevi/fix_null-ref_crashesRémi Verschelde
2021-10-23Fix unexpected crashes in `notification`Zae
2021-10-22Merge pull request #54088 from madmiraal/remove-unimplemented-methodsRémi Verschelde
2021-10-21Remove unimplemented methodsMarcel Admiraal
2021-10-21Merge pull request #52367 from Duroxxigar/improve-nav-error-messagesRémi Verschelde
Improve readability for failing errors in nav area
2021-10-21Merge pull request #53990 from Kemikal1/masterRémi Verschelde
Change the unreacheable return value of shape_find_owner()
2021-10-21Allow updating TileMap cells using surrounding terrainsGilles Roudière
2021-10-21Fix MeshInstance2D rectkobewi
2021-10-21Change the unreacheable return value of shape_find_owner()Kemikal1
Update collision_object_3d.cpp 2d modified and UINT32 usage Proper uINT32max usage Change the unreacheable return value of shape_find_owner() This reverts commit 5be98b81428169ba2dd5baecd00f1adfd9260e5c, reversing changes made to efa3ff6b9587d674cd448aca32abfd31b2c7f4d3. Change the unreacheable return value of shape_find_owner() changed from 0 to uint32_max" This reverts commit c143bb099af2666454f82428a57f2721af60a84d. Revert "changed from 0 to uint32_max"" This reverts commit 59e94edb9a32edff15f3cb881e6fc394d2aa7f65. Revert "changed from 0 to uint32_max" This reverts commit c143bb099af2666454f82428a57f2721af60a84d. Revert "Revert "changed from 0 to uint32_max""" This reverts commit c81d1073ec21b4cde4684a6dbd595f3359283bad. Revert "changed from 0 to uint32_max" This reverts commit c143bb099af2666454f82428a57f2721af60a84d. Revert "changed from 0 to uint32_max"" This reverts commit 59e94edb9a32edff15f3cb881e6fc394d2aa7f65. Revert "Revert "changed from 0 to uint32_max""" This reverts commit 6dbd972aa5c4580d4f6270ead6c66eea18617f29. Revert "changed from 0 to uint32_max"" This reverts commit 59e94edb9a32edff15f3cb881e6fc394d2aa7f65. Revert "Revert "changed from 0 to uint32_max""" This reverts commit b769ac2d11ad12f02a388d9dad17519f81d9c3b6. Revert "Revert "Revert "changed from 0 to uint32_max"""" This reverts commit 1e8d84f7ec12da01c3153e08bb8609cf2c6fd58a. Revert "Revert "Revert "Revert "changed from 0 to uint32_max""""" This reverts commit 0dc17abefad6d540c18bba7b4df9d8c04e090d0c. Change the unreacheable return value of shape_find_owner()
2021-10-20doctool: Fix differences between headless and Vulkan rendering backendsRémi Verschelde
Fixes #53913.
2021-10-19Implement TileMap patterns paletteGilles Roudière
2021-10-14Merge pull request #53054 from MaxLap/doc_shape_signalsCamille Mohr-Daurat
Improve area/body_shape_entered/exited signals parameter names and doc
2021-10-14Improve area/body_shape_entered/exited signals parameter names and docMaxime Lapointe
Fix some typoed names from the doc Add _index to "index" parameters of *_shape_* signals, this is both in doc and in the template. This makes the code, signature and doc easier to understand Add method to get Node from the _index params of those signals. This was not as easy to find as one would expect. Putting this information where it is needed will help.