summaryrefslogtreecommitdiff
path: root/scene/2d/physics_body_2d.cpp
AgeCommit message (Collapse)Author
2018-08-10apply a threshold for floor angle, fixes #16037, fixes #15632Juan Linietsky
2018-08-07Merge pull request #20381 from AndreaCatania/phymat_2Juan Linietsky
Improved Physics material
2018-08-07Removed physics material combination mode. Added rough and absorbent ↵Andrea Catania
parameter to material. Fixed 'change' signal connection
2018-07-27Fix PhysicsBody build with deprecated=noRémi Verschelde
Fixes #20483.
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
This commit makes operator[] on Vector const and adds a write proxy to it. From now on writes to Vectors need to happen through the .write proxy. So for instance: Vector<int> vec; vec.push_back(10); std::cout << vec[0] << std::endl; vec.write[0] = 20; Failing to use the .write proxy will cause a compilation error. In addition COWable datatypes can now embed a CowData pointer to their data. This means that String, CharString, and VMap no longer use or derive from Vector. _ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug builds. This is a lot faster for Vector in the editor and while running tests. The reason why this difference used to exist is because force-inlined methods used to give a bad debugging experience. After extensive testing with modern compilers this is no longer the case.
2018-07-24Modified RigidBody, PhysicsDirectBodyState, PhysicsServer, and their ↵Tiger Caldwell
respective 2D counterparts to be more consistent and to include more useful methods. RigidBody: - Added add_central_force - Added add_force - Added add_torque - Added apply_central_impulse RigidBody2D: - Added add_central_force - Added add_torque - Added apply_central_impulse - Added apply_torque_impulse PhysicsDirectBodyState: - Added apply_central_impulse Physics2DDirectBodyState: - Added add_central_force - Added add_force - Added add_torque - Added apply_central_impulse - Added apply_impulse - Added apply_torque_impulse PhysicsServer: - Added body_add_force - Added body_add_torque - Added body_add_central_force - Added body_apply_central_impulse Physics2DServer: - Added body_add_torque - Added body_add_central_force - Added body_apply_central_impulse - Added body_apply_torque_impulse Also fixed some small bugs along the way
2018-07-23Merge pull request #12403 from AndreaCatania/phymatJuan Linietsky
Physics material
2018-07-17Further fixes to KinematicBody2D API, support for sync motion in moving objectsJuan Linietsky
2018-07-16Changes to how snap works (I think this makes more sense now)Juan Linietsky
2018-07-16-Added support for raycast in KinematicBody2DJuan Linietsky
-Added support for snapping in KinematicBody2D
2018-05-11Implemented physics materialAndreaCatania
Hidden a function Fixed travis static check
2018-02-21Added forgotten infinite_inertia to bindingsAndrea Catania
Related to this comment: https://github.com/godotengine/godot/pull/16757#discussion_r169470394
2018-02-20Merge pull request #16757 from AndreaCatania/kinpushRémi Verschelde
Improved kinematic body, Now can move rigid body
2018-02-20Improved kinematic body 2D and 3D, Now can move rigid bodyAndrea Catania
2018-02-17Clean up some bad words from code commentsArtem Varaksa
2018-01-21Fix crash on deleted rigidbodies without contact monitor (issue 15904)Bernhard Liebl
2018-01-18Fix typos in code and docs with codespellRémi Verschelde
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
2018-01-12Renamed tree_exited to tree_exiting. tree_exited is now used for actual out ↵Juan Linietsky
of tree notification. Updated doc accordingly.
2018-01-12Bind many more properties to scriptsBojidar Marinov
Notable potentially breaking changes: - PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL - Some properties were renamed, and sometimes even shadowed by new ones - New getter methods (some virtual) were added
2018-01-05Add missing copyright headers and fix formattingRémi Verschelde
Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
2018-01-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-12-07Style: Apply new clang-format 5.0 style to all filesRémi Verschelde
2017-11-20Fix the prevention for sliding on slopes in the 2d version of move_and_slideEric Wiltfang
Done by using the same method the 3d counterpart uses. Fixes #13063.
2017-11-09Reworked how servers preallocate RIDs, should fix #10970Juan Linietsky
2017-10-22Bind unbound enums, rearrange some by valuePoommetee Ketson
2017-09-30Renamed fixed_process to physics_processAndreaCatania
2017-09-10Added to kinematicbody2d the copy and paste of the API friendler of ↵Aron de Castro
KinematicBody
2017-08-29DocData and type hints fixesIgnacio Etcheverry
- Makes vararg methods automatically use PROPERTY_USAGE_NIL_IS_VARIANT on return types - Completely removes the ":type" suffix for method names. Virtual methods must use the MethodInfo constructors that takes Variant::Type or PropertyHint as the first parameter for the return type (with CLASS_INFO as a helper to get the PropertyInfo). Parameters must use PROPERTY_HINT_RESOURCE_TYPE and hint string. - PROPERTY_USAGE_NIL_IS_VARIANT is no longer needed for parameters, because parameters cannot be void. - Adds missing PROPERTY_USAGE_NIL_IS_VARIANT to virtual and built-in methods that return Variant.
2017-08-27Dead code tells no talesRémi Verschelde
2017-08-27Use HTTPS URL for Godot's website in the headersRémi Verschelde
2017-08-24Convert Object::cast_to() to the static versionHein-Pieter van Braam
Currently we rely on some undefined behavior when Object->cast_to() gets called with a Null pointer. This used to work fine with GCC < 6 but newer versions of GCC remove all codepaths in which the this pointer is Null. However, the non-static cast_to() was supposed to be null safe. This patch makes cast_to() Null safe and removes the now redundant Null checks where they existed. It is explained in this article: https://www.viva64.com/en/b/0226/
2017-08-21Merge pull request #10351 from neikeq/enums-are-for-the-weakJuan Linietsky
ClassDB: Provide the enum name of integer constants
2017-08-20ClassDB: Provide the enum name of integer constantsIgnacio Etcheverry
2017-08-20Merge pull request #10319 from neikeq/pr-engine-editor-hintJuan Linietsky
Adds Engine::is_editor_hint() method
2017-08-19Removes editor_hint from SceneTreeIgnacio Etcheverry
2017-08-12Fix missing and incorrect values in return value of _move methodNathan Hold
2017-08-10Fixes method definitions with extra number of argumentsIgnacio Etcheverry
2017-08-10Removes type information from method bindsIgnacio Etcheverry
2017-08-05Warn about resizing a rigidbody (2D or 3D), covers the most common cases, ↵Juan Linietsky
closes #7615
2017-07-05Use the gravity constant to calculate weightsJohan Manuel
2017-06-24Simplified 2D Kinematicbody.. 3D will wait a bit.Juan Linietsky
2017-06-23-Trigger shapes removed in 2D, they became obsolete long ago when areas ↵Juan Linietsky
could detect their own overlap -Added ability to disable individual collisionshape/polygon -Moved One Way Collision to shape, allowing more flexibility -Changed internals of CollisionObject, shapes are generated from child nodes on the fly, not stored inside any longer. -Modifying a CollisionPolygon2D on the fly now works, it can even be animated. Will port this to 3D once well tested. Have fun!
2017-06-14Refactor layer_mask to collision_layerPoommetee Ketson
2017-04-15Apply is_ceiling/is_wall swap fix to 2D move_and_slide (minus explaination)gamemanj
As it turns out, is_ceiling would be true when hitting a wall, and is_wall would be true momentarily when hitting a ceiling. This makes a tiny one-line change to fix that. Without trying to explain the code for anyone else having to mess around with it.
2017-04-08Add "Godot Engine contributors" copyright lineRémi Verschelde
2017-04-05Merge pull request #8259 from bojidar-bg/move-slide-wall-fixRémi Verschelde
Fix is_move_and_slide_on_wall, make move_and_slide floor angle configurable
2017-04-04Fix is_move_and_slide_on_wall, make move_and_slide floor angle configurableBojidar Marinov
Fixes #7313
2017-04-03Made slide and reflect active verbs acting on itself in Vector2 and Vector3.Ferenc Arn
This is in alignment with other functions in vector classes. Also added checks for normalization, fixed the sign of reflect (which now corresponds to reflection along a plane mathematically), added bounce method and updated docs. Fixes #8201.
2017-03-05A Whole New World (clang-format edition)Rémi Verschelde
I can show you the code Pretty, with proper whitespace Tell me, coder, now when did You last write readable code? I can open your eyes Make you see your bad indent Force you to respect the style The core devs agreed upon A whole new world A new fantastic code format A de facto standard With some sugar Enforced with clang-format A whole new world A dazzling style we all dreamed of And when we read it through It's crystal clear That now we're in a whole new world of code
2017-02-13Rename the _MD macro to D_METHODHein-Pieter van Braam
This new name also makes its purpose a little clearer This is a step towards fixing #56