Commit graph

720 commits

Author SHA1 Message Date
Rémi Verschelde
9eb4d4ab2d Add missing copyright headers 2018-08-29 22:41:17 +02:00
Juan Linietsky
cf834a22dc Ported CPU particles to 2D 2018-08-29 16:48:55 -03:00
Rémi Verschelde
060988408b Physics: Properly obsolete friction and bounce properties
Without this change any new PhysicsBody would show deprecation warnings
due to default values for friction and bounce being defined.

It also enforced a physics material override even when using default
values.
2018-08-29 18:44:42 +02:00
Marcelo Fernandez
20bea1e231 Unexpose TileMap set_celld 2018-08-29 09:00:00 -03:00
Rémi Verschelde
3b01bf94ad Fix operator precedence in PhysicsBody2D::set_weight
Fixes #16038.
2018-08-29 08:37:08 +02:00
Rémi Verschelde
67b0d3c2dc Particles: Allow speed_scale at 0 in property hint, equivalent to pause
Supersedes and closes #21193.
2018-08-24 18:11:35 +02:00
Rémi Verschelde
f733c6470d
Merge pull request #21110 from natrim/particles2d_editor
Particles2D: fix editing Visibility Rect from new inspector
2018-08-24 15:31:31 +02:00
Rémi Verschelde
52466d57e9 Make some debug prints verbose-only, remove others 2018-08-24 14:59:01 +02:00
Juan Linietsky
34e58fd831 Added a function to cache texture opacity at a pixel, and modified editor to use it.
Provides massive speedups to selecting objects, still awaiting for @MarianoGNU to do fixes to the region editor to improve performance.
2018-08-23 22:11:10 -03:00
Rémi Verschelde
ab3716bd46 Revert "Take CanvasLayer transform into account for 2D physics"
This reverts commit 4839e5f6d9.

Fixes #21289.
2018-08-23 21:49:24 +02:00
Juan Linietsky
398c1c1c0c Fix transform not being applied properly after toggling remote node, fixes #17671 2018-08-23 12:29:33 -03:00
Juan Linietsky
634673cf5b Fix properly keep scale in RemoteTransform2D, fixes #17692, closes #17690 2018-08-23 12:14:04 -03:00
Chaosus
27731a86d2 Restrict set_pitch_scale to positive scales for AudioStreamPlayer*
Fixes #20459.

Co-authored-by: Tiago José Sousa Magalhães <crakylps@gmail.com>
2018-08-22 00:11:53 +02:00
Rémi Verschelde
ed10ff65fd
Merge pull request #21245 from RandomShaper/fix-physics-canvas-xform
Take CanvasLayer transform into account for 2D physics
2018-08-21 21:46:04 +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
Pedro J. Estébanez
20dc63054f Optimize CanvasLayer::get_global_transform_with_canvas
So it takes advantage of the `get_global_transform` cached data.
2018-08-21 20:10:15 +02:00
Pedro J. Estébanez
4839e5f6d9 Take CanvasLayer transform into account for 2D physics
Fixes #18073.
2018-08-21 20:10:15 +02:00
Rémi Verschelde
2969dffbe3 Deprecate incorrect Color::gray()
This average is not a proper approximation of a grayscale value,
get_v() is better suited for that.

If we want a real to_grayscale() conversion, it's somewhat more
involved: https://en.wikipedia.org/wiki/Grayscale

Remove the deprecated Gray() from C# bindings as it conflicts
with new named color constants.
2018-08-21 17:48:31 +02:00
Poommetee Ketson
76adef2704 Fix arg name in docs, some copy-paste errors 2018-08-21 01:51:19 +07:00
Andrea Catania
0010d9c82a Added ray shape and move_and_slide with snapping on 3D.
Added stop_on_slope on 2d part
2018-08-19 13:45:23 +02:00
Natrim
6ad0f4ebe8 Particles2D: fix editing Visibility Rect from inspector
+ renamed generate_aabb to generate_visibility_rect to prevent future confusions
2018-08-17 12:25:48 +02:00
Rémi Verschelde
968886768b Lift 1440 limit in rotation_degrees hint range
Fixes #15947.
2018-08-16 14:36:38 +02:00
Juan Linietsky
4e55835e48
Merge pull request #18096 from aaronfranke/master
[Core] Split up math_2d.h
2018-08-14 18:58:32 -03:00
Rémi Verschelde
2062d6126d
Merge pull request #20587 from groud/fix_2deditor_scrollable_zone
Fixes bugs on the 2D editor scrollable area
2018-08-13 09:03:34 +02:00
Aaron Franke
28fc195339 [Core] Change math_2d includes to vector2 includes where relevant 2018-08-10 14:59:29 -05:00
Juan Linietsky
c02fb271fd apply a threshold for floor angle, fixes #16037, fixes #15632 2018-08-10 13:07:52 -03:00
MAriano Javier Suligoy
ce87a30e45 New TileSet Editor 2018-08-09 20:38:02 -03: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
groud
eb7f4ddcce Fixes bugs on the 2D editor scrollable area 2018-07-30 01:05:13 +02:00
Rémi Verschelde
12254594ac Fix PhysicsBody build with deprecated=no
Fixes #20483.
2018-07-27 15:34:58 +02:00
Rémi Verschelde
391e46830f doc: Sync classref with current source
Fix various missing arguments in bindings.
2018-07-26 11:56:21 +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
Rémi Verschelde
f778bd8e69
Merge pull request #20404 from TigerCaldwell/master
Ensured consistency between RigidBody, PhysicsDirectBodyState, PhysicsServers and their 2D counterparts
2018-07-25 08:25:34 +02:00
Rémi Verschelde
62f2a8aadb
Merge pull request #20252 from RandomShaper/fix-canvas-search
Fix CanvasItem's search for a CanvasLayer
2018-07-24 22:45:24 +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
Wilson E. Alvarez
a22e746bc3 Removed unnecessary assignments 2018-07-24 09:51:03 +02:00
Juan Linietsky
1ad20dc2f1
Merge pull request #12403 from AndreaCatania/phymat
Physics material
2018-07-23 07:37:03 -03:00
Pieter-Jan Briers
b2c797c584 Defer TileMap::update_dirty_quadrants once again.
This fixes #20323.

#11077 is now technically re-broken,
but you can now call update_dirty_quadrants as workaround.
2018-07-22 15:26:14 +02:00
Pedro J. Estébanez
49d0af3c8e Fix CanvasItem search for a CanvasLayer
This fixes the situation where a `CanvasItem` descendant of a `Viewport` which in turn is a descendant of a `CanvasLayer` prefers the more outer `CanvasLayer` rather than the `Vierport`'s.

Because of that, `CanvasItem`s inside a `Viewport` inside a `CanvasLayer` were being rendered to the main `Viewport` instead of the render target of the innermost one.
2018-07-18 20:34:21 +02:00
Max Hilbrunner
b64bf118f1
Merge pull request #19087 from danvalho/master
SpriteFrames: expose method to get array containing animation names
2018-07-17 14:54:06 +02:00
Juan Linietsky
13a801430b Further fixes to KinematicBody2D API, support for sync motion in moving objects 2018-07-17 08:58:04 -03:00
Max Hilbrunner
1f1b45c7ec
Merge pull request #20191 from jvdnbus/line2d-stretch
Line2D texture stretch mode
2018-07-17 12:12:29 +02:00
Juan Linietsky
e1f2feec2e Changes to how snap works (I think this makes more sense now) 2018-07-16 21:30:44 -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
Jorn Van denbussche
d7aa3e33c8 Line2D texture stretch mode
Prototype for stretching the texture across the whole line.
Fixed end cap tile mode.
2018-07-16 23:16:58 +02:00
Jorn Van denbussche
28aa9a1d6d More accurate UV round begin cap 2018-07-16 14:30:30 +02:00
Marcelo Fernandez
0c78a58b64 Fix possible bug with AudioStreamPlayer2D audio position 2018-07-10 22:57:50 -03:00
Marcelo Fernandez
087329074d Improved stream paused fade code 2018-07-09 21:58:33 -03:00
Max Hilbrunner
ed61bdd2ae
Merge pull request #19646 from chanon/fix-audiostream-cant-set-null-stream
Fix can't set AudioStreamPlayer stream to null
2018-07-05 04:16:47 +02:00