summaryrefslogtreecommitdiff
path: root/servers/physics/physics_server_sw.cpp
AgeCommit message (Collapse)Author
2020-03-08Refactor ScriptDebugger.Fabio Alessandrelli
EngineDebugger is the new interface to access the debugger. It tries to be as agnostic as possible on the data that various subsystems can expose. It allows 2 types of interactions: - Profilers: A subsystem can register a profiler, assigning it a unique name. That name can be used to activate the profiler or add data to it. The registered profiler can be composed of up to 3 functions: - Toggle: called when the profiler is activated/deactivated. - Add: called whenever data is added to the debugger (via `EngineDebugger::profiler_add_frame_data`) - Tick: called every frame (during idle), receives frame times. - Captures: (Only relevant in remote debugger for now) A subsystem can register a capture, assigning it a unique name. When receiving a message, the remote debugger will check if it starts with `[prefix]:` and call the associated capture with name `prefix`. Port MultiplayerAPI, Servers, Scripts, Visual, Performance to the new profiler system. Port SceneDebugger and RemoteDebugger to the new capture system. The LocalDebugger also uses the new profiler system for scripts profiling.
2020-02-12ObjectID converted to a structure, fixes many bugs where used incorrectly as ↵Juan Linietsky
32 bits.
2020-02-11Refactored RID/RID_Owner to always use O(1) allocation.Juan Linietsky
* Implements a growing chunked allocator * Removed redudant methods get and getptr, only getornull is supported now.
2020-01-01Update copyright statements to 2020Rémi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-08-09Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in "main" and "servers" directoriesMichael Alexsander Silva Dias
2019-05-09Change "ID" to lowercase "id"Aaron Franke
Reasoning: ID is not an acronym, it is simply short for identification, so it logically should not be capitalized. But even if it was an acronym, other acronyms in Godot are not capitalized, like p_rid, p_ip, and p_json.
2019-04-23Allow adding disabled shapesShyRed
Adds the ability to directly add disabled shapes to a collision object. Before this commit a shape has always been assumed to be enabled and had to be disabled in an extra step.
2019-03-02Make query checks less agressive, fixes #24694Juan Linietsky
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-11-16-Make sure monitorable cant be flipped while flushing queries, fixes #17330Juan Linietsky
-Also added set_deferred, this was missing.
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
2018-08-21Merge pull request #20101 from panzergame/shape_marginRémi Verschelde
Expose bullet shape margin to UI.
2018-08-20Fixes to move and slide and ray separation, implement separation in Godot ↵Juan Linietsky
physics
2018-08-16Expose bullet shape margin to UI.Tristan Porteries
The margin value is exposed into the UI for shape ressource. This value can be modified through set_margin and get from get_margin or by using the property margin. Each time the margin is modified the associated collision shape is recreated and the margin value is used in ShapeBullet::prepare.
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-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-21-Fix disable_3d flagJuan Linietsky
-Add extra flag optimize=[size,speed] to be able to prioritize size
2018-07-01added cylinder shape supportmuiroc
2018-05-11Implemented physics materialAndreaCatania
Hidden a function Fixed travis static check
2018-02-20Improved kinematic body 2D and 3D, Now can move rigid bodyAndrea Catania
2018-02-05Added physics API in order to enable/disable collisions between rigidbody ↵Andrea Catania
attached to a joint with bullet physics bullet Fixes #16424
2018-02-01Fix inconsistencies and typos in argument namesPaolo Perkovic
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-10Implemented physics linear and angular lockAndreaCatania
2017-11-10Allow double-axis lock in RigidBody and KinematicBodyEric Rybicki
2017-11-07Rewritten kinematic systemAndreaCatania
2017-10-31Merge pull request #10770 from RandomShaper/fix-jointsRémi Verschelde
Fix joints collision exceptions, plus a bit more
2017-10-09Merge pull request #11702 from AndreaCatania/bodyDSRémi Verschelde
Added new API to get body direct state
2017-09-30Renamed fixed_process to physics_processAndreaCatania
2017-09-29Added new API to get body direct stateAndreaCatania
2017-09-20Rename pos to position in user facing methods and variablesletheed
Rename user facing methods and variables as well as the corresponding C++ methods according to the folloming changes: * pos -> position * rot -> rotation * loc -> location C++ variables are left as is.
2017-09-09Remove joint freeing logic from physics serversPedro J. Estébanez
Since joint resources are created by joint nodes and also they take care of freeing them, the physics server doesn't need to free bodies' joints explicitly. The logic for clearing the constraints map/set is still relevant as there may be collision pairs and in their case its the server itself the one creating them and therefore releasing them.
2017-09-03-Added an optimization so physics shapes are configured later, speeds up ↵Juan Linietsky
grid map loading and editing
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-08Fix freeze on close of game using 2D physics introduced by #9832Bojidar Marinov
Additionally, port the fix to 3D physics, just in case
2017-08-07Makes all Godot API's methods Lower CaseIndah Sylvia
2017-08-01Improve cleanup of physics constraintsPedro J. Estébanez
Don't abort the loop when one is already released Remove warning on already-released constraint Clean up area's contraints as well Clear the constraint data as well Do the cleanup as soon as the space changes
2017-07-25Extend check for same space to all 2D/3D bodies/shapesPedro J. Estébanez
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-08Refactor 'treshold' to 'threshold'Poommetee Ketson
2017-06-14Refactor layer_mask to collision_layerPoommetee Ketson
2017-04-08Add "Godot Engine contributors" copyright lineRémi Verschelde
2017-03-24Fix typos in source code using codespellRémi Verschelde
From https://github.com/lucasdemarchi/codespell
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-13Use real_t as floating point type in physics code.Ferenc Arn
This is a continuation of an on-going work for 64-bit floating point builds, started in PR #7528. Covers physics, physics/joints and physics_2d code. Also removed matrixToEulerXYZ function in favor of Basis::get_euler.
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.