summaryrefslogtreecommitdiff
path: root/modules/bullet/space_bullet.cpp
AgeCommit message (Collapse)Author
2021-12-07Add physics solver settings to project settingsPouleyKetchoupp
Helps with discovery and setup of physics solver settings, in a specific project settings section for both 2D and 3D. Other changes for cleanup: -Removed unused space parameters in 3D SPACE_PARAM_BODY_ANGULAR_VELOCITY_DAMP_RATIO SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS -Added custom solver bias for Shape3D (same as Shape2D) -Improved documentation for solver settings
2021-11-20Add shape data to area overlap data.Marcel Admiraal
2021-11-18Merge pull request #42306 from madmiraal/fix-39947Camille Mohr-Daurat
Update Bullet Area overlaps when Area properties or shapes change.
2021-11-18Merge pull request #44726 from madmiraal/fix-44644Camille Mohr-Daurat
Ignore Bullet collision contact points with distance = 0
2021-09-29Rename RID's `getornull()` to `get_or_null()`Hugo Locurcio
2021-09-27Reload kinematic shapes when changing PhysicsBody mode to Kinematic to ↵BimDav
prevent a crash when calling test_body_motion. Call reload_kinematic_shapes from init_kinematic_utilities as they are always called together.
2021-08-18Fixes in Bullet body_test_motionPouleyKetchoupp
Synchronize fixes from the 3.x branch to keep Bullet code in sync for later, even if it's disabled for now.
2021-08-09Fix 3D moving platform logicPouleyKetchoupp
Same thing that was already done in 2D, applies moving platform motion by using a call to move_and_collide that excludes the platform itself, instead of making it part of the body motion. Helps with handling walls and slopes correctly when the character walks on the moving platform. Also made some minor adjustments to the 2D version and documentation. Co-authored-by: fabriceci <fabricecipolla@gmail.com>
2021-07-19One-directional collision layer check for rigid bodies and soft bodiesPouleyKetchoupp
Check for each body individually if it collides with the other one or ignores it. When a body is being ignored, the other body's mass is considered infinite when applying impulses to avoid extra overlapping.
2021-07-19Ensure KinematicBodies only interact with other Bodies with matching mask.Marcel Admiraal
2021-06-07Style: Cleanup uses of double spaces between wordsRémi Verschelde
Or after punctuation. Tried to leave third-party stuff alone, unless it has been heavily modified for Godot.
2021-06-03Rename Transform to Transform3D in coreAaron Franke
2021-04-06Check for the use of an empty shape in Bullet Kinematic collisionsMarcel Admiraal
2021-03-12Fixes small typos and grammar correctionAnshul7sp1
2021-02-08Initialize class/struct variables with default values in modules/Rafał Mikrut
2021-01-28Use real_t in physics codeAaron Franke
2021-01-14Merge pull request #43923 from madmiraal/fix-43588Rémi Verschelde
Fix cast_motion sometimes failing
2021-01-13Only remove Bullet's body constraints when removing body from spaceMarcel Admiraal
2021-01-01Update copyright statements to 2021Rémi Verschelde
Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
2020-12-31Add signal to inform joint that body has exited treeMarcel Admiraal
2020-12-28Merge pull request #42881 from madmiraal/fix-39767Rémi Verschelde
Set Bullet collision shape index to zero when using a single shape or ConcavePolygonShape
2020-12-27Ignore Bullet collision contact points with distance = 0Marcel Admiraal
2020-11-27Fix cast_motion sometimes failingMarcel Admiraal
- Fixes Godot physics failing when the cast Shape is inside of, or already colliding with another Shape. - Fixes Bullet physics failing when there is no motion. - Ensures Godot and Bullet physics behave the same. - Updates the documentation to exclude the caveats for the failures and differences.
2020-11-26Remove any constraints connected to a Bullet body when removing itMarcel Admiraal
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
2020-10-19Set Bullet collision shape index to zero when using a single shapeMarcel Admiraal
or ConcavePolygonShape3D.
2020-10-08Update Bullet Area overlaps when Area properties or shapes change.Marcel Admiraal
2020-10-08Fixed #41040 in an alternative way now that #39726 is revertedAndrea Catania
2020-10-08Revert "Optimized physics object spawn time and optimized shape usage when ↵Andrea Catania
the shape is not scaled" This reverts commit 7709a8349354b469361ec7e1429af0dc8af80b2a.
2020-10-08Revert "- Enhanced the flush mechanism by flushing only needed thing."Andrea Catania
This reverts commit 8d0d6d6921d5dfb398f4ab04e4d3937ab550c4ff.
2020-10-02Updated getters and setters names for toplevelDuroxxigar
2020-08-05Fixes leak when creating bullet shapeRafał Mikrut
2020-07-27Merge pull request #40252 from AndreaCatania/flushRémi Verschelde
Improved Bullet Physics flush algorithm, Lazy collision filter reload, Shape reload regression fix.
2020-07-27- Enhanced the flush mechanism by flushing only needed thing.Andrea Catania
- Flushing Areas before anything else. - Make sure to correctly fetch gravity when the integrate_forces function is used - Lazy reload body when layer and mask changes - Shapes are reloaded just before the physics step starts. - Improved some other parts of the code. - Added override keyword - Using LocalVector
2020-07-18Use difference in position to check whether motion in Bullet is too closeMarcel Admiraal
to zero.
2020-07-08Move Bullet physics query flush from Bullet space pre-tick callback toMarcel Admiraal
Bullet physics flush_queries() as is done in Godot physics, and remove the pre-tick callback.
2020-07-07Merge pull request #39726 from AndreaCatania/add_body_impr_physicsRémi Verschelde
Optimized physics object spawn time
2020-07-07Merge pull request #39735 from AndreaCatania/bullet_phy_add_apiRémi Verschelde
Added BulletPhysics APIs to return internal objects.
2020-06-24Added BulletPhysics APIs to return internal objects and fixed a typo.Andrea Catania
2020-06-24Optimized physics object spawn time and optimized shape usage when the shape ↵Andrea Catania
is not scaled
2020-06-22Merge pull request #39747 from nekomatata/fix-crash-space-queryRémi Verschelde
Fix crashes with invalid shapes in BulletPhysicsDirectSpaceState queries
2020-06-22Fix crashes with invalid shapes in BulletPhysicsDirectSpaceState queriesPouleyKetchoupp
2020-06-21Check for motion in cast_motion() before doing Bullet convexSweepTest().Marcel Admiraal
Also ensure that default closest_safe and closest_unsafe values are defined in cast_motion() and before cast_motion() is called.
2020-05-14Style: Enforce braces around if blocks and loopsRémi Verschelde
Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
2020-05-14Enforce use of bool literals instead of integersRémi Verschelde
Using clang-tidy's `modernize-use-bool-literals`. https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-bool-literals.html
2020-05-14Port member initialization from constructor to declaration (C++11)Rémi Verschelde
Using `clang-tidy`'s `modernize-use-default-member-init` check and manual review of the changes, and some extra manual changes that `clang-tidy` failed to do. Also went manually through all of `core` to find occurrences that `clang-tidy` couldn't handle, especially all initializations done in a constructor without using initializer lists.
2020-04-27Better damping implementation for Bullet rigid bodiesPouleyKetchoupp
Apply old method for linear & angular damping in Bullet, in order to make it easier to tweak and consistent with Godot Physics.
2020-04-02Replace NULL with nullptrlupoDharkael
2020-03-30doc: Update classref with node renamesRémi Verschelde
A few extra renames for classes which were missed in last week's PRs.