summaryrefslogtreecommitdiff
path: root/scene/3d/physics_body.cpp
AgeCommit message (Collapse)Author
2017-09-04-Changed KinematicBody API yet again to make it friendlierJuan Linietsky
-Fixed get_scale functions (and added set_scale) to make it more coherent when decomposing and composing (fixes bugs in transform interpolation)
2017-08-31Fixed return of KinematicBody::_moveJames Beedie
Fixed incorrect normal Added missing collider velocity
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-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-19Removes editor_hint from SceneTreeIgnacio Etcheverry
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-15Lots of work on Audio & Physics engine:Juan Linietsky
-Added new 3D stream player node -Added ability for Area to capture sound from streams -Added small features in physics to be able to properly guess distance to areas for sound -Fixed 3D CollisionObject so shapes are added the same as in 2D, directly from children -Fixed KinematicBody API to make it the same as 2D.
2017-07-05Use the gravity constant to calculate weightsJohan Manuel
2017-06-25BuildSystem: generated files have .gen.extensionPoommetee Ketson
2017-06-14Refactor layer_mask to collision_layerPoommetee Ketson
2017-04-21Ported/fixed move_and_slide to KinematicBody (3D+floor/ceiling args)20kdc
This version of the commit has the on_ceiling/on_wall fix without any explaination of that code, since apparently it wasn't complicated enough. As for the notes at the top of the function, they're still there. move_and_slide is rather useful for character-controllers, etc. It reduces the amount of boilerplate code. Not having move_and_slide makes the APIs somewhat inconsistent. (It might be nice to figure out a way to share the code between the two move_and_slide implementations, but that's for someone who knows what the policy is on shared code like that.)
2017-04-08Add "Godot Engine contributors" copyright lineRémi Verschelde
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
2017-02-13Remove use of _SCS from ADD_METHODHein-Pieter van Braam
This saves typing and is a step towards fixing #56
2017-01-14Style: Fix whole-line commented codeRémi Verschelde
They do not play well with clang-format which aligns the `//` part with the rest of the code block, thus producing badly indented commented code.
2017-01-13Rename collision layer as suggested in #5696Juan Linietsky
2017-01-12Renamed most signals so they refer to:Juan Linietsky
-An action being requested to the user in present tense: (ie, draw, gui_input, etc) -A notification that an action happened, in past tense (ie, area_entered, modal_closed, etc).
2017-01-10It is now possible to name layers of different kinds!Juan Linietsky
2017-01-04-Conversion of most properties to a simpler syntax, easier to use by scriptJuan Linietsky
-Modified help to display properties GDScript can still not make use of them, though.
2017-01-02ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to ↵Juan Linietsky
Variant. All usages of "type" to refer to classes were renamed to "class" ClassDB has been exposed to GDScript. OBJ_TYPE() macro is now GDCLASS()
2017-01-01Welcome in 2017, dear changelog reader!Rémi Verschelde
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer with state-of-the-art rendering techniques tuned to work as low as middle end handheld devices - without compromising with the possibilities given for higher end desktop games of course. Great times ahead for the Godot community and the gamers that will play our games!
2016-12-10KinematicBody: Fix wrong method bind return typeIgnacio Etcheverry
2016-06-17Send body inout notifications after state is applied, fixes #4683Juan Linietsky
2016-04-09Port collision and layer masks to 3D, fixes #1759Bojidar Marinov
Raycasts now have type_mask and layer_mask. Areas - collision_mask and layer_mask. PhysicsBodies needed only collision_mask.
2016-04-06Add a `sleeping_state_changed` signal to RigidBody and RigidBody2D classesBojidar Marinov
Closes #3911
2016-01-12-Properly lock and and warn about switching off contact monitoring, fixes #3041Juan Linietsky
2016-01-01Update copyright to 2016 in headersGeorge Marques
2015-11-22Fix can_move_to and rename it for more clarityRémi Verschelde
Fixes #2416. The KinematicBody::can_move_to function was likely designed for two behaviours: - discrete: check if the body can "teleport" to the destination - continuous: check if the direct path to the destination is valid The continuous behaviour was however not implemented, and the discrete behaviour was broken too due to a wrong call to intersect_shape. The discrete behaviour has thus been fixed and the function renamed to can_teleport_to for more clarity.
2015-08-30Added gravity scale, and linear/angular damp override to 3D physics.Juan Linietsky
2015-04-26-fixed bodyenter/bodyexit callback of physics bodies, fixes #1739Juan Linietsky
2015-04-18Updated copyright year in all headersJuan Linietsky
2015-01-13-begin work on unidirectional collision detectionJuan Linietsky
-fixed performance issue in new 2D engine -texscreen() working in shader 2D
2015-01-02-fixed silly bug in trigger check (#1051)Juan Linietsky
2014-12-20FixesJuan Linietsky
-=-=-= -Added missing quaternion constructor -code completion fixes -winrt fixes
2014-11-13UDP FixesJuan Linietsky
-=-=-=-=- Curse the day I decided to port UDP code, as it ended up being two nights of work. At least It's done now (I hope). -Fixed UDP Support, API seems stable -Added UDP Chat demo (chat that can lose your packets, heh) -Added helpers to areas and bodies to get list of collided bodies and contained bodies. -Sped up screen/viewport capture code. -Added code to save an image as PNG -Small fix so scripts register their singletons after modules did.
2014-11-05SceneMainLoop -> SceneTreeJuan Linietsky
-=-=-=-=-=-=-=-=-=-=-=-=-=- *YOUR SOURCE MIGHT NOT WORK* For mor information on fix: https://github.com/okamstudio/godot/wiki/devel_scene_tree Other stuff: -Shower of bullets demo -Fixes all around
2014-10-14ColladaJuan Linietsky
-=-=-=- -Fixed some DAE import & export bugs -Changed Collada exporter to use the mesh loops API -Added tangent export to Collada exporter -Added triangulation option to Collada exporter -Changed a little how normalmaps are handled in shader. Not sure if it's working properly, be careful. -Fixed some strange bug with kinematic bodies #776 -Fix release compilaiton issues #782
2014-10-03missing fils from yesterday comit.Juan Linietsky
must have made some mistake with git, not sure why they were not sent..
2014-09-22-added collision exception to 3D Physics API tooJuan Linietsky
2014-09-22-variables with export in script are now IMMEDIATELY AND ALWAYS visible in ↵Juan Linietsky
properties (#718) -WorldEnvironment cleanup issues fixed (#563) -Text Editor improvement to shift-mouse selection (#648) -(Hopefully) fixed rare (but horrible) indexing bug in GDScript compiler (#652) -Some changes to PhysicsBody API, renamed property "active" to "sleeping", which makes more sense -Added add_collision_exception() API in PhysicsBody (more accessible) -ability to select and copy in the output messages panel
2014-09-023D Physics and Other StuffJuan Linietsky
-=-=-=-=-=-=-=-=-=-=-=-=-= -New Vehicle (Based on Bullet's RaycastVehicle) - Vehiclebody/VehicleWheel. Demo will come soon, old vehicle (CarBody) will go away soon too. -A lot of fixes to the 3D physics engine -Added KinematicBody with demo -Fixed the space query API for 2D (demo will come soon). 3D is WIP. -Fixed long-standing bug with body_enter/body_exit for Area and Area2D -Performance variables now includes physics (active bodies, collision pairs and islands) -Ability to see what's inside of instanced scenes! -Fixed Blend Shapes (no bs+skeleton yet) -Added an Android JavaClassWrapper singleton for using Android native classes directly from GDScript. This is very Alpha!
2014-08-14Little BitsJuan Linietsky
-=-=-=-=-=- -Fixed small bugs all around -Added ability to show/hide entire sections of the spatial (3D) tree -WIP new vehicle (not ready yet) based on Bullet
2014-05-14A bit of everything:Juan Linietsky
-IMA-ADPCM support for samples, this means that sound effects can be compressed and use 4 timess less RAM. -New 3D import workflow based on Wavefront OBJ. Import single objects as mesh resources instead of full scenes. Many people prefers to work this way. Just like the rest of the imported resources, these are updated in realtime if modified externally. -Mesh resources now support naming surfaces. This helps reimporting to identify which user-created materials must be kept. -Several fixes and improvements to SurfaceTool. -Anti Aliasing added to WorldEnvironment effects (using FXAA) -2D Physics bodies (RigidBody, KinematicBody, etc), Raycasts, Tilemap, etc support collision layers. This makes easy to group which objects collide against which. -2D Trigger shapes can now also trigger collision reporting in other 2D bodies (it used to be in Area2D before) -Viewport render target textures can now be filtered. -Few fixes in GDscript make it easier to work with static functions and class members. -Several and many bugfixes.
2014-02-19-improved physics ccdJuan Linietsky
-html5 exporter works again -disable repeat on image loader by default -can change shape offset en tileset, texture offset was broken