summaryrefslogtreecommitdiff
path: root/scene/2d/physics_body_2d.cpp
AgeCommit message (Collapse)Author
2022-08-25Shorten variable names for moving platforms in CharacterBodyfabriceci
2022-08-24Improves the API for monitoring contacts in RigidDynamicBodyfabriceci
2022-08-24Merge pull request #64009 from KoBeWi/arrayy_lmaoRémi Verschelde
Replace Array return types with TypedArray (part 2)
2022-08-23Replace Array return types with TypedArray 2kobewi
2022-08-23Rename properties unnecessarily using slash (`/`) in their namesRémi Verschelde
This is a legacy of Godot 2 days before the inspector had support for groups. "Properties" with a slash in their name can't be accessed from script unless using `set()`/`get()` so they were not actual properties as far as script languages are concerned. Part of #17558.
2022-08-22Make `_validate_property` a multilevel methodYuri Sizov
2022-08-18Remove unintentional PROPERTY_USAGE_INTERNALRedMser
The flag only matters for property definition, but was also used in _validate_property a lot.
2022-08-10add get_depth() to KinematicCollision3D as same of 2DSilc Renew
2022-07-29Remove Signal connect bindsJuan Linietsky
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind(). Changed all uses of it to Callable.bind()
2022-06-11Add suffixes to all nodes and resourcesFireForge
2022-05-19Use suffixes for units in nodes and resourcesAaron Franke
2022-05-18Add motion parameter to toggle whether recovery is reported as a collisionRicardo Buring
This makes the intent explicit in each use case.
2022-05-16Replace most uses of Map by HashMapreduz
* Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
2022-05-03Merge pull request #60627 from aaronfranke/rename-elementsRémi Verschelde
Rename Transform2D and Basis `elements` to `columns` and `rows` respectively
2022-04-29Merge pull request #59297 from fabriceci/fix-jitter-2D-slight-slopeRémi Verschelde
2022-04-29Rename Transform2D "elements" to "columns"Aaron Franke
2022-04-28Merge pull request #59438 from ↵Rémi Verschelde
fabriceci/fix-move-and-collide-reported-collisions Fix wrong collision reported on move_and_collide
2022-04-06Fix some issues found by cppcheck.bruvzg
2022-03-28Merge pull request #59525 from fire-forge/fix-group-namesRémi Verschelde
2022-03-28Fix inspector group name capitalizationFireForge
2022-03-28String: Remove TTR and DTR defines in non-tools buildRémi Verschelde
This ensures we don't use TTR in runtime code, as it's specifically meant to source translations for the editor.
2022-03-23When only a recovery occurs, don't report a collision on move_and_collidefabriceci
2022-03-21Fix 2D jitter on slight slopefabriceci
2022-02-22Rename motion_velocity to velocityChris Bradfield
2022-02-15Use `switch` consistently in `_notification` (`scene` folder)Rémi Verschelde
2022-01-26Revert #53174 (applying the delta in move and collide), rename rec_vel to ↵fabriceci
distance and improve the doc description
2022-01-24rename free mode to floating modefabriceci
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-10Improve RigidDynamicBody force and torque APIPouleyKetchoupp
Makes the API for forces and impulses more flexible, easier to understand and harmonized between 2D and 3D. Rigid bodies now have 3 sets of methods for forces and impulses: -apply_impulse() for impulses (one-shot and time independent) -apply_force() for forces (time dependent) applied for the current step -add_constant_force() for forces that keeps being applied each step Also updated the documentation to clarify the different methods and parameters in rigid body nodes, body direct state and physics servers.
2021-11-19Scales the horizontal velocity according to the wall slope in 2Dfabriceci
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-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-01Merge pull request #37880 from nekomatata/rigid-body-damping-overrideCamille Mohr-Daurat
Improved RigidDynamicBody linear/angular damping override
2021-10-27Fix #54298 where a CharacterBody2D can be stuck on the wall.fabriceci
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-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.
2021-10-04Fix physics glitch with TileMap moving platformsPouleyKetchoupp
Added a parameter in test_body_motion to exclude attached objects from collision, used to avoid collision with all TileMap tiles with moving platform motion instead of just the one tile the character touches. Same changes made in 3D for consistency, and handling potential similar cases.
2021-10-04Script interface improvements for test body motionPouleyKetchoupp
-Physics servers test body motion use a class to hold parameters instead of multiple arguments to make it more readable and flexible since there are many options -Improved documentation for test body motion and kinematic collision -Removed read-only properties for body motion results (not handled in scripts, so they should be get_ methods only instead)
2021-09-30Merge pull request #53272 from fabriceci/bug-platform-ceilingCamille Mohr-Daurat
Fix #53255 when a body gets stuck when it hits a descending platform in 2D/3D
2021-09-30Fix body stuck on descending platformfabriceci
2021-09-30Use range iterators for `Map`Lightning_A
2021-09-30Remove shape metadata from 2D physics serverPouleyKetchoupp
Shape metadata was only used to get tile information when colliding with tilemaps. It's not needed anymore since there's an API in tilemap using body ids instead.
2021-09-30Add latest changes added in the 3D versionfabriceci
2021-09-30Merge pull request #53239 from nekomatata/fix-animatable-body-initial-stateRémi Verschelde
2021-09-29Fix AnimatableBody moving and colliding during the first framePouleyKetchoupp
_update_kinematic_motion() shouldn't be called in the constructor It's too early and causes a first call to set the body position to 0. Then the second call to set the actual position triggers kinematic motion, colliding with objects on the path to the initial position. Side effect of sync to physics now enabled by default.
2021-09-28Merge pull request #52754 from nekomatata/dynamic-body-modesCamille Mohr-Daurat
Clarify RigidDynamicBody modes
2021-09-28Apply delta in move and collidefabriceci