Aaron Franke
b659e1eb2b
Use approximate equallity methods in many places
2019-04-25 13:20:29 -04:00
ShyRed
a9d4cde0f5
Allow adding disabled shapes
...
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-04-23 18:06:48 +02:00
Rémi Verschelde
a342131eba
Merge pull request #27673 from qarmin/small_fixes
...
Small fixes, mostly duplicated code
2019-04-22 12:00:34 +02:00
Rémi Verschelde
c8994b56f9
Style: Apply new changes from clang-format 8.0
...
It seems to stay compatible with formatting done by clang-format 6.0 and 7.0,
so contributors can keep using those versions for now (they will not undo those
changes).
2019-04-09 17:09:48 +02:00
qarmin
856a8226a5
Small fixes, mostly dupicated code
2019-04-08 11:03:37 +02:00
ShyRed
96093778ed
Remove hardcoded joint bias
...
Use user provided bias instead of hardcoded bias.
2019-03-27 19:21:07 +01:00
Juan Linietsky
b84b015225
Make query checks less agressive, fixes #24694
2019-03-02 08:48:47 -03:00
Juan Linietsky
87b303aa95
Fixed bugs in test body motion and removed unnecesary test in move_and_slide. Fixes #25968
2019-02-21 17:21:36 -03:00
Rémi Verschelde
cac1a93d1b
Merge pull request #26103 from nekomatata/area2d-rectangle-collision-fix
...
Fixed Area2d input events ignoring the top and left edge of rectangle shape
2019-02-21 14:39:26 +01:00
PouleyKetchoupp
edcfe41bd5
Area2d rectangle collision check doesn't ignore the first pixel row and column ( fix #25462 )
2019-02-21 00:34:57 +01:00
marxin
8d51618949
Add -Wshadow=local to warnings and fix reported issues.
...
Fixes #25316 .
2019-02-20 19:44:12 +01:00
Juan Linietsky
81e15358c0
Skip disabled shape when getting rest info. Fixes #25941
2019-02-16 16:32:30 -03:00
Juan Linietsky
6d4eaebe1e
Support multiple ray shapes in kinematicbody, fixes #25050
2019-02-16 16:15:22 -03:00
Juan Linietsky
ee464f56c4
Add a minimum treshold for acquiring rest contacts to avoid numerical precision issues. Fixes #25074
2019-02-16 13:45:01 -03:00
Juan Linietsky
f439b786ea
Allow kinematic bodies without shapes to still move, fixes #24775
2019-02-16 11:06:44 -03:00
Juan Linietsky
2e6c98058f
Make ray shapes not work with OWC. They don't make practical sense together. Closes #25532
2019-02-16 10:07:27 -03:00
Rémi Verschelde
b7cc2bb1e2
Core: Ensure classes match their header filename
...
Also drop some unused files.
Renamed:
- `core/dvector.h` -> `pool_vector.h`
- `core/io/resource_import.h` -> `resource_importer.h`
- `core/sort.h` -> `sort_array.h`
- `core/string_db.h` -> `string_name.h`
Dropped:
- `core/allocators.h`
- `core/os/shell.h`
- `core/variant_construct_string.cpp`
2019-02-12 13:34:25 +01:00
Juan Linietsky
cb09abdbbd
Fixed OWC for rigid bodies, closes #25732
2019-02-12 08:40:18 -03:00
Rémi Verschelde
769341e180
Cleanup after @reduz :)
...
Fixes #25172 .
2019-01-21 11:12:55 +01:00
Juan Linietsky
d8b702b566
-Re-added margins in one way collision (made in a more user friendly way than in Godot 2.1), fixes #23860
...
-Fixed potential bug in OWC (i dont think anyone had it but..)
2019-01-18 14:15:05 -03:00
Rémi Verschelde
b16c309f82
Update copyright statements to 2019
...
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
hedin
1dfdd6834e
fixes crash when Body2DSW doesn't have space
2018-12-27 19:29:47 +02:00
Stanislav
9edf98e841
Disabled CollisionShape and CollisionShape2D are not processed now
...
Fixes #24183
2018-12-12 17:48:35 +03:00
Juan Linietsky
0b1e93ccd4
-Make sure monitorable cant be flipped while flushing queries, fixes #17330
...
-Also added set_deferred, this was missing.
2018-11-16 08:49:26 -03:00
Juan Linietsky
66c6dfb3fd
Ensure that even at slow speed, you will always get collision using kinematic motion. Fixes #16250
2018-11-14 21:21:51 -03:00
Juan Linietsky
3226b44f79
Make sure rotated shapes with one way direction collisions work, fixes #12791
2018-11-10 10:12:35 -03:00
Juan Linietsky
d403b4086c
2D Rigid Body CCD should work again, fixes #6664
2018-11-08 15:22:28 -03:00
Juan Linietsky
daa1686772
Merge pull request #21386 from RandomShaper/fix-picking-in-canvas-layers
...
Fix picking in CanvasLayer
2018-11-07 17:51:27 -03:00
Juan Linietsky
121cead38e
<fales> end of the week ;-)
2018-11-03 13:30:08 -03:00
Juan Linietsky
3a62f29eef
Fix condition test
2018-11-03 13:23:38 -03:00
Juan Linietsky
414097ebd9
Simple workaround to make one way moving platforms work, fixes #9399
2018-11-02 16:22:23 -03:00
Juan Linietsky
64f649a80c
-Fix problem in OWC logic closes #11357
...
-Fix problem with kinematic move and disabled shapes, in both 2D and 3D
2018-11-02 15:45:36 -03:00
Juan Linietsky
e52b439eaa
Merge pull request #22933 from SeleckyErik/issue-9148
...
Fixed non-monitorable areas triggering overlap (reopened)
2018-11-01 12:39:50 -03:00
Rémi Verschelde
1169196f04
Merge pull request #22779 from Superwaitsum/LimitSettings
...
Limit several project settings
2018-10-25 11:38:06 +02:00
Superwaitsum
e5041ad0f5
Add some limits on the Editor Settings
2018-10-24 19:46:33 -05:00
Erik
09250850ec
Fixed non-monitorable areas triggering overlap
...
Non-monitorable areas are never removed from the monitor query of other areas. This makes areas that turn not
monitorable while overlapping with other areas get stuck in the other areas' monitor query and trigger false
overlaps.
This is a fix for issue #9148 .
2018-10-11 12:19:03 +02:00
Aaron Franke
4f7b33cdcf
Remove redundant "== false" code
...
Some of this code has been re-organized.
f
2018-10-06 16:20:41 -04:00
Aaron Franke
37386f112b
Remove redundant "== true" code
...
If it can be compared to a boolean, it can be evaluated as one in-place.
2018-10-06 16:12:36 -04:00
Rémi Verschelde
cdc411fd54
Fix various warnings: [-Waddress], [-Wpointer-arith], [-Wwrite-strings], [-Wreturn-local-addr] and more
...
Fixes the following GCC 5 warnings:
```
core/os/file_access.cpp:49:19: warning: the address of 'FileAccess::create_func' will always evaluate as 'true' [-Waddress]
servers/audio_server.cpp:192:70: warning: comparison with string literal results in unspecified behaviour [-Waddress]
drivers/gles2/rasterizer_storage_gles2.cpp:4095:90: warning: NULL used in arithmetic [-Wpointer-arith]
modules/gdnative/register_types.cpp:237:3: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
platform/android/export/export.cpp:207:1: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
modules/gdscript/gdscript.h:150:67: warning: returning reference to temporary [-Wreturn-local-addr]
servers/physics_2d/collision_object_2d_sw.h:119:56: warning: returning reference to temporary [-Wreturn-local-addr]
servers/physics_2d/collision_object_2d_sw.h:123:56: warning: returning reference to temporary [-Wreturn-local-addr]
servers/physics_2d/collision_object_2d_sw.h:127:50: warning: returning reference to temporary [-Wreturn-local-addr]
servers/physics_2d/collision_object_2d_sw.h:131:52: warning: returning reference to temporary [-Wreturn-local-addr]
editor/plugins/skeleton_editor_plugin.cpp:34:36: warning: extra tokens at end of #include directive
modules/bullet/bullet_types_converter.cpp:31:9: warning: #pragma once in main file
editor/import/editor_scene_importer_gltf.cpp:1996:51: warning: name lookup of 'i' changed
modules/visual_script/visual_script_property_selector.cpp:402:45: warning: name lookup of 'E' changed
scene/gui/tree.cpp:1268:25: warning: name lookup of 'i' changed
scene/resources/visual_shader.cpp:808:32: warning: name lookup of 'i' changed
```
2018-09-27 16:33:52 +02:00
Rémi Verschelde
1a16dabfb5
Merge pull request #21982 from luzpaz/misc-typos
...
Misc. typos
2018-09-13 10:59:00 +02:00
luz.paz
08bde5b2de
Misc. typos
...
Found via `codespell -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"`
2018-09-12 21:39:17 -04:00
Rémi Verschelde
277b24dfb7
Make core/ includes absolute, remove subfolders from include path
...
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-09-12 09:52:22 +02:00
Pedro J. Estébanez
6d0f4a4ad7
Fix picking in CanvasLayer
...
New APIs in 2D physics allow intersection queries filtered by CanvasLayer object instance id. Viewport keep an inventory of its descendant CanvasLayers and takes advantage of all that to test picking with the mouse/touch position correctly transformed for each CanvasLayer.
2018-08-25 00:03:26 +02:00
Rémi Verschelde
52466d57e9
Make some debug prints verbose-only, remove others
2018-08-24 14:59:01 +02:00
Juan Linietsky
ee07fb5ebe
Changes to ClippedCamera, RayCast,Raycast2D and 2D physics API to add ability to choose between bodies and areas when colliding.
2018-08-21 15:31:23 -03:00
Thomas Herzog
037f4638ab
add project method to Vector2/3
2018-08-16 12:52:38 +02:00
Aaron Franke
cf136a91d6
[Core] Completely kill math_2d.h, change includes
2018-08-11 03:08:34 -05:00
Juan Linietsky
14fd797c53
Merge pull request #20381 from AndreaCatania/phymat_2
...
Improved Physics material
2018-08-07 15:31:26 -03:00
Andrea Catania
5e65e28eed
Removed physics material combination mode. Added rough and absorbent parameter to material. Fixed 'change' signal connection
2018-08-07 19:38:04 +02:00
Hein-Pieter van Braam
0e29f7974b
Reduce unnecessary COW on Vector by make writing explicit
...
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-26 00:54:16 +02:00
Tiger Caldwell
40c7716586
Modified RigidBody, PhysicsDirectBodyState, PhysicsServer, and their 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-24 05:00:56 -04:00
Juan Linietsky
1ad20dc2f1
Merge pull request #12403 from AndreaCatania/phymat
...
Physics material
2018-07-23 07:37:03 -03:00
Juan Linietsky
13a801430b
Further fixes to KinematicBody2D API, support for sync motion in moving objects
2018-07-17 08:58:04 -03:00
Juan Linietsky
063a22851a
-Added support for raycast in KinematicBody2D
...
-Added support for snapping in KinematicBody2D
2018-07-16 20:04:07 -03:00
Max Hilbrunner
e790d4aafa
Merge pull request #18349 from Gorgexpress/master
...
Fixed 2D intersect_shape limiting broadphase results
2018-05-26 18:29:49 +02:00
AndreaCatania
5f66734d2d
Implemented physics material
...
Hidden a function
Fixed travis static check
2018-05-11 03:23:09 +02:00
Juan Linietsky
4897373015
Merge pull request #18144 from Crazy-P/Resolves-crash-on-shape2D-culling-for-empty-Concave-shapes
...
Resolves crash on shape2D culling for empty Concave shapes
2018-05-07 15:35:33 -03:00
Michael
1ba106a71e
Fixed 2D intersect_shape limiting broadphase results
...
Physics2DDirectSpaceStateSW was applying the result limit to broadphase
collision detection instead of narrow. This is inconsistent with its 3D
variant, as well as the rest of the 2D direct space state functions.
Broadphase is now limited by INTERSECTION_QUERY_MAX like everything else,
and narrow phase is exited early when the result limit has been reached.
2018-04-22 06:01:29 -04:00
Rémi Verschelde
bf7ca623a6
Fix Coverity reports of uninitialized scalar variable
...
Fixes most current reports on Coverity Scan of uninitialized scalar
variable (CWE-457): https://cwe.mitre.org/data/definitions/457.html
These happen most of the time (in our code) when instanciating structs
without a constructor (or with an incomplete one), and later returning
the instance. This is sometimes intended though, as some parameters are
only used in some situations and should not be double-initialized for
performance reasons (e.g. `constant` in ShaderLanguage::Token).
2018-04-19 15:20:45 +02:00
Crazy-P
158c7c72c7
Resolves crash on shape2D culling for empty Concave shapes
...
Fixes https://github.com/godotengine/godot/issues/17789
2018-04-12 18:15:34 +08:00
Juan Linietsky
20e68fef85
Merge pull request #17151 from ShyRed/disabled_shapes_2d
...
Remove disabled shapes from physics 2D calculations
2018-04-08 11:16:55 -03:00
Bernhard Liebl
9d7856620c
Bring back Vector2.cross()
2018-03-07 21:10:31 +01:00
ShyRed
4d6bb43931
Remove disabled shapes from physics
...
Disabling a shape removes it from physics calculations. Enabling a shape adds it back to the physics calculations.
2018-03-07 18:03:44 +01:00
Rémi Verschelde
497a4e9e25
Merge pull request #16757 from AndreaCatania/kinpush
...
Improved kinematic body, Now can move rigid body
2018-02-20 15:41:10 +01:00
Andrea Catania
6ed392f47a
Improved kinematic body 2D and 3D, Now can move rigid body
2018-02-20 12:43:47 +01:00
Rémi Verschelde
b2aeb02e7d
Merge pull request #16530 from AndreaCatania/rays
...
Improved ray shape (2D and 3D) by addiing the possibility to act as r…
2018-02-19 22:15:49 +01:00
Andrea Catania
ffc3ef8677
Improved ray shape (2D and 3D) by addiing the possibility to act as regular shape
2018-02-19 20:59:57 +01:00
Konrad Nowakowski
3659df6624
Fix 2d collision body update on shape remove
2018-02-18 20:46:37 +00:00
Artem Varaksa
d35e486228
Clean up some bad words from code comments
2018-02-17 16:00:39 +03:00
Andrea Catania
a42765dada
Added physics API in order to enable/disable collisions between rigidbody attached to a joint with bullet physics bullet
...
Fixes #16424
2018-02-05 18:54:07 +01:00
Rémi Verschelde
e4213e66b2
Add missing copyright headers and fix formatting
...
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-05 01:22:23 +01:00
Rémi Verschelde
b50a9114b1
Update copyright statements to 2018
...
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Rémi Verschelde
13c2ff9320
Style: Apply new clang-format 5.0 style to all files
2017-12-07 08:02:00 +01:00
AndreaCatania
d6e413bb9c
Removed type_mask and fixed some variable name
2017-11-21 22:56:40 +01:00
Juan Linietsky
4deac219b0
Remove node from list before calling queries, fixes #10886
2017-11-10 08:32:02 -03:00
Juan Linietsky
192a4d7de5
Reworked how servers preallocate RIDs, should fix #10970
2017-11-09 23:35:34 -03:00
MateusMP
b37e277303
Fixing bad index used in Space2DSW
...
Fix wrong col_obj access using wrong index variable.
Related with issue #11695
2017-11-08 20:38:49 -02:00
Rémi Verschelde
24b3733f3b
Merge pull request #10770 from RandomShaper/fix-joints
...
Fix joints collision exceptions, plus a bit more
2017-10-31 23:02:37 +01:00
Pedro J. Estébanez
7b12ae39f2
Rename RayCasts collision_layer to collision_mask
...
The point is that `RayCast`s are checked against objects' `collision_layer`(s), but they themselves are considered no to _belong_ to any layer. Therefore, the correct name for their property is `collision_mask`, rather than `collision_layer`.
Only renaming is needed since the behavior was already the right one, only that it wasn't matching what users would expect from the name and description of the property.
Fixes #7589 , where it's also discussed.
2017-10-21 22:17:47 +02:00
Marcelo Fernandez
79922be693
Prevent a possible crash at collision_object_2d_sw.h
2017-10-12 14:25:40 -03:00
Rémi Verschelde
8e9b99fe59
Merge pull request #11702 from AndreaCatania/bodyDS
...
Added new API to get body direct state
2017-10-09 11:01:36 +02:00
AndreaCatania
4537977d6d
Renamed fixed_process to physics_process
2017-09-30 16:19:07 +02:00
AndreaCatania
c56c67db39
Added new API to get body direct state
2017-09-29 17:33:30 +02:00
Indah Sylvia
1ed5e75dd7
Removed print_line in Physics2DServerWrapMT::init()
2017-09-25 15:05:32 +07:00
letheed
5ad9be4c24
Rename pos to position in user facing methods and variables
...
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-20 13:11:10 +02:00
Juan Linietsky
d22ceeef1b
correction to one way collision code
2017-09-17 10:18:09 -03:00
Juan Linietsky
5886f810c2
fixes to one way collision, closes #10971
2017-09-17 09:39:03 -03:00
Pedro J. Estébanez
fbeb27b01d
Remove joint freeing logic from physics servers
...
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-09 21:45:22 +02:00
Hein-Pieter van Braam
f9467ec1ea
Fix signed and unsigned comparisons
...
The first in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-01 08:13:12 +02:00
Juan Linietsky
77ec304966
Fix special case where KinematicBody fails one way collisions by adding exclusion lists, closes #9729
2017-08-31 22:55:01 -03:00
Rémi Verschelde
7ad14e7a3e
Dead code tells no tales
2017-08-27 22:13:45 +02:00
Rémi Verschelde
bd282ff43f
Use HTTPS URL for Godot's website in the headers
2017-08-27 14:16:55 +02:00
Wilson E. Alvarez
738d2ab969
Removed unnecessary assignments
2017-08-21 15:15:55 -04:00
TwistedTwigleg
00f6c85928
Synchronize parameter names in definition and declaration
...
Fixes #10244 .
2017-08-16 17:22:23 +02:00
Pedro J. Estébanez
e1bdf81008
Remove needless check in motion test
...
Since now one-way collision is at shapes, the removed if was unneeded.
2017-08-16 12:36:26 +02:00
Bojidar Marinov
fe1c3349e5
Fix freeze on close of game using 2D physics introduced by #9832
...
Additionally, port the fix to 3D physics, just in case
2017-08-08 23:17:11 +03:00
Indah Sylvia
5ae78fdf6a
Makes all Godot API's methods Lower Case
2017-08-07 18:24:35 +07:00
Rémi Verschelde
7c860a7d4f
Merge pull request #9832 from RandomShaper/port-physics-fixes
...
Port physics fixes
2017-08-01 22:23:59 +02:00
Pedro J. Estébanez
7264716e86
Improve cleanup of physics constraints
...
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-08-01 01:39:40 +02:00
Pedro J. Estébanez
bc1d58c50d
Extend check for same space to all 2D/3D bodies/shapes
2017-07-25 04:45:01 +02:00
Pedro J. Estébanez
507b48179f
Fix 2D broadphase remove-while-iterating logic
2017-07-25 04:45:01 +02:00
Pedro J. Estébanez
b4129df96c
Fix crash in Space2DSW::test_body_motion()
...
Fixes #9692 .
2017-07-25 03:57:11 +02:00
Poommetee Ketson
c7c65ca6ba
Clang-formatting *.cpp and *.h (some files excluded)
2017-07-22 18:14:08 +07:00
Juan Linietsky
25678b1876
-Renamed GlobalConfig to ProjectSettings, makes more sense.
...
-Added system for feature overrides, it's pretty cool :)
2017-07-19 17:06:03 -03:00
Juan Linietsky
bbada82f80
-Reorganized all properties of project settings (Sorry, Again).
...
(Lot's of bloat accumulated, so it was time for clean up.)
-Made EditorSettings and ProjectSettings search more useful (search in sections too)
2017-07-17 22:18:58 -03:00
Juan Linietsky
2e73be99d8
Lots of work on Audio & Physics engine:
...
-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-15 08:32:34 -03:00
Rémi Verschelde
e64b82ebfc
Some more typo fixes for "threshold"
...
Looks like @reduz really does not like that word.
2017-07-15 12:01:46 +02:00
Poommetee Ketson
2fd204c35e
Refactor 'treshold' to 'threshold'
2017-07-08 22:24:56 +07:00
Juan Linietsky
bc509ac7bd
Simplified 2D Kinematicbody.. 3D will wait a bit.
2017-06-24 12:34:29 -03:00
Juan Linietsky
6ba1e4677b
-Trigger shapes removed in 2D, they became obsolete long ago when areas 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-23 23:39:52 -03:00
Poommetee Ketson
6c44fff508
Refactor layer_mask to collision_layer
2017-06-14 10:58:34 +07:00
alexholly
a3c90b0293
renamed all Rect2.pos to Rect2.position
2017-06-04 02:09:17 +02:00
Rémi Verschelde
df61dc4b2b
Add "Godot Engine contributors" copyright line
2017-04-08 00:11:42 +02:00
Rémi Verschelde
debeee56f7
Fix typos in source code using codespell
...
From https://github.com/lucasdemarchi/codespell
2017-03-24 21:45:31 +01:00
Pedro J. Estébanez
32eb2cc61e
Complement KinematicBody2D fix
...
>> which was done at 5fc084c28e
2017-03-06 05:25:22 +01:00
Rémi Verschelde
5dbf1809c6
A Whole New World (clang-format edition)
...
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-03-05 16:44:50 +01:00
Rémi Verschelde
f13e87e257
Merge pull request #7802 from tagcup/physics_64bit
...
Use real_t as floating point type in physics code.
2017-02-26 20:10:54 +01:00
Juan Linietsky
de0045cf1b
-renamed globals.h to global_config.cpp (this seems to have caused a few modified files)
...
-.pck and .zip exporting redone, seems to be working..
2017-02-21 00:06:30 -03:00
Juan Linietsky
da11d6d9e8
Many fixes to make exported scenes work better, still buggy.
2017-02-15 08:34:02 -03:00
Ferenc Arn
eae94ba1c8
Use real_t as floating point type in physics code.
...
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-02-13 17:42:02 -06:00
Ferenc Arn
6f4f9aa6de
Overloaded basic math funcs (double and float variants). Use real_t rather than float or double in generic functions (core/math) whenever possible.
...
Also inlined some more math functions.
2017-01-16 13:36:33 -06:00
Rémi Verschelde
f44ee891be
Style: Fix statements ending with ';;'
2017-01-16 08:49:52 +01:00
Rémi Verschelde
e0faf8a51b
Style: Cosmetic fixes to play nice with clang-format
2017-01-15 16:42:17 +01:00
Juan Linietsky
52e2a1e98d
fixed to 2D physics, makes it work again
2017-01-15 09:50:27 -03:00
Rémi Verschelde
93ab45b6b5
Style: Fix whole-line commented code
...
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-14 14:52:23 +01:00
Juan Linietsky
bc26f90581
Type renames:
...
Matrix32 -> Transform2D
Matrix3 -> Basis
AABB -> Rect3
RawArray -> PoolByteArray
IntArray -> PoolIntArray
FloatArray -> PoolFloatArray
Vector2Array -> PoolVector2Array
Vector3Array -> PoolVector3Array
ColorArray -> PoolColorArray
2017-01-11 00:52:51 -03:00
Juan Linietsky
6671670e81
Merge pull request #7445 from tagcup/2d_math_fixes
...
Various corrections in 2D math.
2017-01-10 22:25:45 -03:00
Ferenc Arn
f271591ac2
Various corrections in 2D math.
...
This is the follow up for the 2D changes mentioned in PR #6865 . It fixes various mistakes regarding the order of matrix indices, order of transformation operations, usage of atan2 function and ensures that the sense of rotation is compatible with a left-handed coordinate system with Y-axis pointing down (which flips the sense of rotations along the z-axis). Also replaced float with real_t, and tried to make use of Matrix32 methods rather than accessing its elements directly.
Affected code in the Godot code base is also fixed in this commit.
The user code using functions involving angles such as atan2, angle_to, get_rotation, set_rotation will need to be updated to conform with the new behavior. Furthermore, the sign of the rotation angles in existing 2D scene files need to be flipped as well.
2017-01-10 10:14:20 -06:00
Juan Linietsky
2ab83e1abb
Memory pool vectors (DVector) have been enormously simplified in code, and renamed to PoolVector
2017-01-07 18:26:38 -03:00
Juan Linietsky
0f7af4ea51
-Changed most project settings in the engine, so they have major and minor categories.
...
-Changed SectionedPropertyEditor to support this
-Renamed Globals singleton to GlobalConfig, makes more sense.
-Changed the logic behind persisten global settings, instead of the persist checkbox, a revert button is now available
2017-01-05 09:16:00 -03:00
Juan Linietsky
118eed485e
ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to 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-02 23:03:46 -03:00
Rémi Verschelde
3f3f5a5359
Merge remote-tracking branch 'origin/gles3' into gles3-on-master
...
Various merge conflicts have been fixed manually and some mistakes
might have been made - time will tell :)
2017-01-02 21:52:26 +01:00
Rémi Verschelde
c7bc44d5ad
Welcome in 2017, dear changelog reader!
...
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!
2017-01-01 22:03:33 +01:00
Rémi Verschelde
d4c17700aa
style: Fix PEP8 whitespace issues in Python files
...
Done with `autopep8 --select=E2,W2`, fixes:
- E201 - Remove extraneous whitespace.
- E202 - Remove extraneous whitespace.
- E203 - Remove extraneous whitespace.
- E211 - Remove extraneous whitespace.
- E221 - Fix extraneous whitespace around keywords.
- E222 - Fix extraneous whitespace around keywords.
- E223 - Fix extraneous whitespace around keywords.
- E224 - Remove extraneous whitespace around operator.
- E225 - Fix missing whitespace around operator.
- E226 - Fix missing whitespace around operator.
- E227 - Fix missing whitespace around operator.
- E228 - Fix missing whitespace around operator.
- E231 - Add missing whitespace.
- E231 - Fix various deprecated code (via lib2to3).
- E241 - Fix extraneous whitespace around keywords.
- E242 - Remove extraneous whitespace around operator.
- E251 - Remove whitespace around parameter '=' sign.
- E261 - Fix spacing after comment hash.
- E262 - Fix spacing after comment hash.
- E265 - Format block comments.
- E271 - Fix extraneous whitespace around keywords.
- E272 - Fix extraneous whitespace around keywords.
- E273 - Fix extraneous whitespace around keywords.
- E274 - Fix extraneous whitespace around keywords.
- W291 - Remove trailing whitespace.
- W293 - Remove trailing whitespace.
2016-11-01 00:35:16 +01:00
Rémi Verschelde
fc8ccd5b8c
SCsub: Add python shebang as a hint for syntax highlighting
...
Also switch existing shebangs to "better" /usr/bin/env python.
2016-10-17 20:10:46 +02:00
Rémi Verschelde
1c6058a5bc
Merge pull request #6691 from Faless/expose_more_physics
...
Expose more 2D/3D physics options in project settings (#5029 )
2016-10-09 14:08:50 +02:00
Juan Linietsky
22d83bc9f6
Begining of GLES3 renderer:
...
-Most 2D drawing is implemented
-Missing shaders
-Missing all 3D
-Editor needs to be set on update always to be used, otherwise it does not refresh
-Large parts of editor not working
2016-10-03 21:35:16 +02:00
Fabio Alessandrelli
1d09c27ba4
Expose more 2D/3D physics options in project settings
2016-10-03 14:40:47 +02:00
Victor Seiji Hariki
e5edd50d62
Now ignoring remaining collision shapes.
2016-09-26 23:40:06 -03:00
anneomcl
aa5ade834c
Fix for #6158 . Converting Vector2 to Size2 for scaling functions.
2016-09-19 23:31:45 -07:00
Juan Linietsky
5fc084c28e
-Fixed issue in Kinematicbody2D
2016-09-01 12:03:55 -03:00
Juan Linietsky
fc70824f7c
More improvements to visual script..
...
fixed a bug of not saving when sub-nodes changed.
2016-08-31 17:58:51 -03:00
Rémi Verschelde
3725114a16
Merge pull request #5383 from Ovnuniarchos/OptimizeOneWay
...
Optimized one-way collision loops.
2016-07-18 16:37:50 +02:00
Rémi Verschelde
f40f360a2c
Remove unused variables (fourth pass) + dead code
...
Also fix a potential regression from 3fcb9b1ec1
.
2016-07-08 16:47:55 +02:00
Ovnuniarchos
b09b449615
Optimized one way collision loops.
2016-06-24 08:43:23 +02:00
Juan Linietsky
4b05181397
Fixed a stupid bug with segment-segment collision in SAT physics, closes #4801 , closes #4984
2016-06-18 18:32:10 -03:00
Juan Linietsky
b4b80625d1
Change hash grid in 2D physics to contemplate large objects as separate cases, to avoid huge memory and performance penalty. Fixes #4662
2016-06-18 17:21:53 -03:00
Rémi Verschelde
80727b6896
Drop empty .cpp files for header-only classes
...
Part of #5272
2016-06-18 20:00:08 +02:00
Rémi Verschelde
a7fc04626a
Add missing license headers in our source files ( #5255 )
...
Also removes a couple wrong Godot headers from third-party source files.
2016-06-18 14:46:12 +02:00
Juan Linietsky
a75f896338
First version of Profiler
...
It is now possible to profile GDScript as well as some parts of Godot
internals.
2016-05-21 21:18:16 -03:00
Josh Grams
a7b4127481
RigidBody2D (add_force, set_inertia): new methods.
2016-04-26 08:15:15 -04:00
Josh Grams
ffaced87a6
RigidBody2D: rename apply_impulse(pos) to offset.
2016-04-24 04:36:51 -04:00
Josh Grams
f7d31cec38
RigidBody2D: add and bind get_inertia() method.
...
You can't set this value very well, since it's automatically computed
from the mass and the collision shapes. But since the values are higher
than many people might suspect, so being able to read it helps estimate
the amount of torque you might need to apply.
2016-04-20 20:49:37 -04:00
Marc Gilleron
d239e6bc0e
Fixed #4163 (intersect_shape crashes on results limit)
2016-04-12 02:18:41 +02:00
Rémi Verschelde
b5f873c9d1
Merge pull request #3999 from neikeq/issues_3650_3990
...
Fix crash when resizing ConcavePolygonShape2D segments
2016-03-10 06:29:20 +01:00
Ignacio Etcheverry
3fc16d4025
Fix crash when resizing ConcavePolygonShape2D segments
2016-03-09 19:52:15 +01:00
Hubert Jarosz
4a4f247914
remove trailing whitespace
2016-03-09 00:00:52 +01:00
Biliogadafr
e8c5b41dd8
Physics2D: Allow to use 'intersect_point' with objects which is not 'pickable'
2016-02-01 04:30:16 +03:00
Juan Linietsky
d01f55a78e
Merge pull request #2698 from Faless/add_area_fix
...
Fix bug in Body(2D)SW::add_area
2016-01-23 23:07:23 -03:00
Juan Linietsky
0e71d49ef4
-Fix crash at exit due to unnecesary check in command queue, fixes #2034
...
-Fix memory corruption due to using wrong singleton in multithreaded physics, fixes #2760
2016-01-04 00:00:33 -03:00
Juan Linietsky
606729fa2d
physics state properly returns contact metadata, closes #1979
2016-01-03 20:23:44 -03:00
Juan Linietsky
27c47e09a1
skip the first integration in physics bodies, fixes #2213
2016-01-02 13:28:18 -03:00
Juan Linietsky
0ed864d876
properly removing unprocessed objects from physics islands fixes one way platforms for rigidbodies, closes #2345
2016-01-01 12:13:17 -03:00
George Marques
5be9ff7b67
Update copyright to 2016 in headers
2016-01-01 11:50:53 -02:00
Juan Linietsky
1e65c3c701
remove error print in area collision, should be a valid situation, closes #2463
2015-12-31 11:15:49 -03:00
Ovnuniarchos
89efebbf56
New and corrected are override modes.
2015-12-14 02:56:49 +01:00
Ovnuniarchos
43b2c9c7a4
Areas now calculate their dampenings the same way as their gravity.
2015-12-08 18:45:14 +01:00
Fabio Alessandrelli
1231c795de
Fix Body (and Body2D) add_area / remove_area when area have multiple shapes
2015-12-02 11:30:48 +01:00
Juan Linietsky
d3eb9e8c54
-remove Vector2.atan2() replaced by Vector2.angle(), fixes #2260
2015-11-19 10:41:20 -03:00
Rémi Verschelde
399b1b0474
Cosmetic fixes to SCons buildsystem
...
- Removed trailing spaces
- Made sure all indentation is done using tabs (fixes #39 )
- Potentially fixed an identation issue for openssl check
2015-11-01 20:53:26 +01:00
Juan Linietsky
a871fc9112
Merge pull request #2587 from eska014/fix-area2d-mask-matching
...
Fix Area/Area2D mask matching
2015-10-17 09:47:27 -03:00
Biliogadafr
2ffc90d8b4
Expose softness parameter of pin joint to the editor.
2015-10-10 23:28:05 +03:00
eska
13ff4bde65
Fix Area2D type mask matching
2015-10-09 21:54:16 +02:00
Juan Linietsky
83d9a692be
Ability to visually debug geometry visually:
...
-Visible 2D and 3D Shapes, Polygons, Tile collisions, etc.
-Visible Navmesh and Navpoly
-Visible collision contacts for 2D and 3D as a red point
-Customizable colors in project settings
2015-09-20 13:03:46 -03:00
Juan Linietsky
b0aa49accb
merged some stuff for okam
2015-09-03 23:24:55 -03:00
Juan Linietsky
2d8866574d
Added gravity scale, and linear/angular damp override to 3D physics.
2015-08-30 18:57:17 -03:00
Juan Linietsky
4613a3f2c0
small fixes
2015-06-30 11:59:00 -03:00
Juan Linietsky
5064cc5006
Merge pull request #1932 from Faless/gravity_distance_full
...
Calculate gravity based on distance from body to gravity point
2015-06-07 00:25:37 -03:00
Juan Linietsky
f62961aba3
-fix bug in animation editor
...
-fix crash bug in physics motion, closes #1993
2015-05-27 17:30:50 -03:00
Juan Linietsky
b1b7826ea7
oops, previous commit was not working
...
it is working now
2015-05-26 01:30:36 -03:00
Juan Linietsky
9df77d2765
ability to run 2D physics in a thread
...
also, 2D physics is now thread safe too.
see physics_2d/thread_model
2015-05-26 01:06:05 -03:00
Fabio Alessandrelli
590afbcac4
Calculate gravity based on distance from body to gravity point (2D)
2015-05-18 01:32:26 +00:00
Juan Linietsky
bbe9a37f1d
sleeping property now should work properly, fixes #1892
2015-05-16 17:54:36 -03:00
Juan Linietsky
32b1b472af
-improved one-way collision handling in both dynamic and character bodies for 2D, fixes #1854
2015-05-10 19:24:09 -03:00
Juan Linietsky
e7aa37fe75
improved kinematic motion, improved demos for kinematic motion
2015-05-03 22:37:10 -03:00
Juan Linietsky
767f71a35e
-Made one way collision work with 2D physics (rigidbody)
2015-05-03 18:18:21 -03:00
Juan Linietsky
af06843982
-new collision layer & mask system for 2D, for more flexible collision masking
2015-05-03 16:47:21 -03:00
Juan Linietsky
3bcb930e8a
properly wake up bodies when a parameter changes, fixes #1740
2015-04-26 16:20:00 -03:00
Juan Linietsky
f971ae32e1
casting line into physics on negative space now works properly, fixes #1726
2015-04-24 22:41:31 -03:00
Juan Linietsky
28c4afeb57
-Rewritten KinematicBody2D::move to MUCH more efficient code.
...
-KinematicBody2D::move now properly recognizes collision exceptions and masks, fixes #1649
-Removed object type masking for KinematicBody2D
-Added a test_motion() function to RigidBody2D, allowing simlar behavior to KinematicBody2D::move there.
2015-04-19 20:50:55 -03:00
Juan Linietsky
f92a1fd646
Merge pull request #1691 from Faless/area_combine_2d
...
Implement Area2D space_override_mode = COMBINE
2015-04-18 14:44:59 -03:00
Juan Linietsky
fdaa2920eb
Updated copyright year in all headers
2015-04-18 14:38:54 -03:00
Fabio Alessandrelli
e1bfbcfd42
Fix operator definition for AreaCMP
2015-04-14 16:46:52 +00:00
Fabio Alessandrelli
bad445066c
Implement Area2D space_override_mode combine
2015-04-14 16:33:52 +00:00
Juan Linietsky
e9f94ce8d2
fix area center of gravity
2015-03-22 15:11:36 -03:00
Juan Linietsky
c6c72a3c37
input events on Area2D is now supported
...
also added a demo showing how this works
2015-03-22 01:46:18 -03:00
Juan Linietsky
a969e2e6f1
Area2D can now detect overlap with other areas
...
this should make everything simpler, specially for newcomers to Godot
2015-03-17 00:45:25 -03:00
Juan Linietsky
6f3c09047e
-intentional breakage of shader graph to fix issues, existing graphs will be broken, sorry :(
2015-01-18 09:51:11 -03:00
Juan Linietsky
9012cd408e
-Add support for one-way collision in 2D (only works for kinematic body so far)
...
-Solve drawing order bug introduced in previous commit: solves #1214
2015-01-13 21:19:11 -03:00
Juan Linietsky
2ef5a342e3
-begin work on unidirectional collision detection
...
-fixed performance issue in new 2D engine
-texscreen() working in shader 2D
2015-01-13 10:49:26 -03:00