Commit graph

188 commits

Author SHA1 Message Date
JFonS
4d933b1530 Fix canvas particle material for old GLSL versions 2019-02-11 14:56:23 +01:00
JFonS
a7a21bd9fe Fix particles animation on GLES2 2019-02-06 16:00:22 +01:00
Juan Linietsky
d0b736f7e5 Ability to get the current canvas item being drawn from stylebox. 2019-01-24 10:22:41 -03:00
Juan Linietsky
e0336996ce Add some checks to avoid disaster when making a node the scene root. Fixes #24484 2019-01-17 15:26:38 -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
Rémi Verschelde
3f9c054163
Merge pull request #23887 from ibrahn/dirty-material-list-lifetime
Moved dirty material lists from static to lifetime controlled by main.
2018-12-11 18:05:19 +01:00
MrCdK
3f7ae10843 Fixed CanvasItem.draw_multimesh() binding. 2018-12-05 01:29:21 +01:00
Ibrahn Sahir
c1f5233217 Moved dirty material lists from static to lifetime controlled by main.
As with 7d82bed4f4,
The list is now destroyed before the OS object, so can print errors if
there are unfreed materials.
2018-11-21 15:51:50 +00:00
Juan Linietsky
0afdc5c559 Avoid duplicate visility changed notification, fixes #18160 2018-11-16 19:47:13 -03:00
JFonS
1267f92740 Fix Particles2D animation regression from #23702 2018-11-15 09:22:11 +01:00
JFonS
cbfb7bd613 Make 2D particles work OOTB (again) 2018-11-13 23:25:05 +01:00
Juan Linietsky
f2e54057ae -Moved EditorDefaultValue to ClassDB, made it core
-Removed one and zero hints for properties, replaced by default value
2018-11-08 11:30:59 -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
JFonS
85ce4a67ed Remove animation loop from ParticlesMaterial + improvements to CPUParticles2D
Remove animation loop from ParticlesMaterial and move it to
SpatialMaterial for 3D particles and Particles2D for the 2D case.

Added animation to CPUParticles2D as well as the "Convert to
CPUParticles2D" to the PAarticles2D menu.
2018-11-04 15:58:12 +01: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
Juan Linietsky
74359a1d1e Add a function to force transform update, fixes #17628 2018-09-06 20:38:16 -03: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
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
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
groud
4d78e16bc1 Fixes the bad calculation of margin & anchors when child of Node2D 2018-06-07 21:25:15 +02:00
Rémi Verschelde
2935cd8a58
Revert "Prevent visibility notification from being called twice in object creation" 2018-06-05 12:05:02 +02:00
Rémi Verschelde
44b0146953 Revert "Revert "Prevent visibility notification been called twice in object creation""
This reverts commit 4d277b96ad.

Woops, this wasn't meant to be committed. I just reverted it locally
to test something, nothing wrong with the original commit :)
2018-05-31 15:50:02 +02:00
Rémi Verschelde
4d277b96ad Revert "Prevent visibility notification been called twice in object creation"
This reverts commit d42b17607e.
2018-05-31 12:03:40 +02:00
Bastiaan Olij
6103c8d7a3 Add no-blend canvas item render_mode 2018-05-07 22:41:12 +10:00
Rémi Verschelde
3b1ea51e40
Merge pull request #18172 from Chaosus/fix_notification
Prevent visibility notification from being called twice in object creation
2018-04-18 16:35:38 +02:00
Juan Linietsky
1d15c5d726
Merge pull request #17502 from groud/2Deditor_rect
Remove the rect surrounding 2D nodes in 2D editor when it's not pertinent
2018-04-13 10:21:44 -03:00
Chaosus
d42b17607e Prevent visibility notification been called twice in object creation 2018-04-13 15:28:38 +03:00
Juan Linietsky
9e7cee2ceb Removed strange custom world2d in CanvasLayer, been there since always and not sure why.
Fixes #17524, fixes #17523.
2018-04-07 19:43:09 -03:00
Juan Linietsky
61d70fe47c Document condition to avoid mistakes (like #17690) 2018-04-07 17:04:12 -03:00
Gilles Roudiere
72ed1e4244 Remove the selection rect for nodes that do not require it 2018-04-03 22:04:19 +02:00
Juan Linietsky
7cd867c3fe 2D Skeletons WORK IN PROGRESS 2018-02-21 17:24:00 -03:00
Juan Linietsky
9e3a1e5401 Add base support for 2D meshes in Godot, including Sprite -> Mesh2D conversion. 2018-02-21 09:39:09 -03:00
Rémi Verschelde
9f479f096c Fix typos in code and docs with codespell
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
2018-01-18 22:01:42 +01:00
Bojidar Marinov
9b8e8b2220
Bind many more properties to scripts
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-12 00:58:14 +02: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
Juan Linietsky
65fb961b8b -Ability to and unwrap lightmap coordinates on import
-Added unwrap functionality to Mesh
-Ability to display and debug mesh UVs
-Added multiline draw, so it's easier and faster to draw UVs
-Many fixes to SurfaceTool
-Fixes to Thekla Unwrap, but it's a piece of ass and it keeps crashing. Will have to go away
2017-12-09 14:18:14 -03:00
Rémi Verschelde
13c2ff9320 Style: Apply new clang-format 5.0 style to all files 2017-12-07 08:02:00 +01:00
Juan Linietsky
7b7ba58493 -Fix particles with size==0, closes #13931
-Fixed material previews (dont show sphere unless for spatial)
2017-12-06 19:51:13 -03:00
Gilles Roudiere
8d1f2b1857 Rework the canvas_item API for further improves to the canvas item editor 2017-11-19 13:36:31 +01:00
Juan Linietsky
04edfc090b Finalized ability to convert from CanvasItem/Spatial/Particles materials to ShaderMaterial, closes #10242 2017-11-14 15:45:30 -03:00
Poommetee Ketson
9cadb9e5f3 Bind unbound enums, rearrange some by value 2017-10-22 01:58:02 +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
Hein-Pieter van Braam
b2a38854fd Fix unused variable warnings
The forth in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-08 15:03:53 +02:00
Juan Linietsky
2802dced84 Automatically redraw when shaders using TIME are visible, fixes #10554 2017-09-05 00:30:39 -03:00
Rémi Verschelde
bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Hein-Pieter van Braam
cacced7e50 Convert Object::cast_to() to the static version
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-24 23:08:24 +02:00
Ignacio Etcheverry
32dd9a9f66 ClassDB: Provide the enum name of integer constants 2017-08-20 22:07:43 +02:00
Juan Linietsky
8fc6bb8f77 Added polygon antialiasing, but it does not work on nvidia. Will have to try something else.. 2017-08-19 13:14:38 -03:00
Ignacio Etcheverry
2f290038d6 Removes type information from method binds 2017-08-10 07:17:50 +02:00
Poommetee Ketson
49c7620326 Add object type hint for docs 2017-07-19 02:03:34 +07:00
Juan Linietsky
2a3e00c8c7 -Many fixes to VisualScript, fixed property names, etc.
-Added ability to set/get a field in GetSet, as well as assignment ops
-Added a Select node
-Fixed update bugs related to variable list and exported properties, closes #9458
2017-06-30 21:35:05 -03:00
Juan Linietsky
83ae9a5e28 Ability to restart particle system with a function call 2017-06-25 08:01:50 -03:00
Poommetee Ketson
e3998528e0 BuildSystem: generated files have .gen.extension 2017-06-25 07:55:01 +07:00
Juan Linietsky
8ef1c41a4e Small fixes required to get platformer to work.
Added back CanvasItemMaterial
2017-06-23 14:31:59 -03:00
Juan Linietsky
95560e02c5 2D GPU Particles working.. 2017-06-21 16:26:26 -03:00
Juan Linietsky
0288be1e76 Texture rect_region drawing now clamps UV to avoid bleeding. This avoids scenarios like single-texture tilemap tiles leaking pixels to the next tile when filter is enabled on it. 2017-06-18 22:55:02 -03:00
Juan Linietsky
5c6cac4e53 Add normalmap support for drawing in all low level primitives. Only added support in Sprite so far. 2017-06-17 23:27:42 -03:00
Juan Linietsky
5b3709d309 Removal of InputEvent as built-in Variant type..
this might cause bugs I haven't found yet..
2017-05-20 17:05:38 -03:00
Sergey Pusnei
8589ca3903 Rename [gs]et_pos to [gs]et_position for Controls
Control set_pos -> set_position
Control set_global_pos -> set_global_position
[gs]et_mouse_pos -> [gs]et_mouse_position
[gs]et_global_mouse_pos -> [gs]et_global_mouse_position
fixes #8005
2017-04-10 08:27:34 +02:00
Rémi Verschelde
df61dc4b2b Add "Godot Engine contributors" copyright line 2017-04-08 00:11:42 +02:00
Rémi Verschelde
efba539f93 Fix build on older GCC versions
Travis builds would fail with:
./drivers/gles3/rasterizer_storage_gles3.h:1018:19: error: ISO C++ forbids initialization of member 'fixed_fps' [-fpermissive]
2017-04-07 19:24:37 +02:00
Juan Linietsky
74808ac4d9 New particle system, mostly working, some small features missing. 2017-04-06 23:49:27 -03:00
Andreas Haas
0a287cfe4c
Fix more property names in _change_notify calls. 2017-04-03 18:35:15 +02: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
Juan Linietsky
da11d6d9e8 Many fixes to make exported scenes work better, still buggy. 2017-02-15 08:34:02 -03:00
Hein-Pieter van Braam
411ee71b4d Rename the _MD macro to D_METHOD
This new name also makes its purpose a little clearer

This is a step towards fixing #56
2017-02-13 12:50:02 +01:00
Hein-Pieter van Braam
0f687f0ccb Remove use of _SCS from ADD_METHOD
This saves typing and is a step towards fixing #56
2017-02-13 10:37:47 +01:00
Juan Linietsky
dcb95ec147 removed duplicated functions in class hierarchy that were bound more than once
added a check to detect this case in the future
2017-01-14 11:10:42 -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
d093cc8bf8 Renamed call_group to call_group_flags, made call_group without flags the default 2017-01-14 10:03:53 -03:00
Juan Linietsky
04c749a1f0 New API for visibility in both CanvasItem and Spatial
visible (property) - access set_visible(bool) is_visible()
is_visible_in_tree() - true when visible and parents visible
show() hide() - for convenience
2017-01-13 10:45:50 -03:00
Juan Linietsky
a2903fc51d Must now register with set_transform_notify() to get NOTIFICATION_TRANSFORM_CHANGED 2017-01-12 20:35:46 -03: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
4338c90163 It is now possible to name layers of different kinds! 2017-01-10 22:20:57 -03:00
volzhs
b8ea0ba984 Fix modulate property bind to Color 2017-01-09 21:53:20 +09:00
Juan Linietsky
3fae505128 Begin modifying properties to make them more friendly to script and doc. 2017-01-03 00:38:16 -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
3e1b5ad223 Merge pull request #7382 from volzhs/fix-visibility
Able to change visibility when ancestor node is hidden
2017-01-02 14:17:42 +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
volzhs
792ff11642 Able to change visibility when ancestor node is hidden 2016-12-28 14:27:27 +09:00
Juan Linietsky
1527cf8c0d 2D Shaders are working again using the new syntax, though all is buggy in general 2016-10-10 18:31:01 -03: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
Rémi Verschelde
ce7e2ae4f4 draw_line: Properly bind antialiased argument 2016-08-31 08:57:21 +02:00
Juan Linietsky
fb4d6d1db0 More visual script improvements
-Added anti-aliasing on lines
-Improved draw performance enormously
-Removed sequence ports for most nodes, current visual scripts will likely be broken now. Sorry!
2016-08-30 23:46:41 -03:00
Kyle Luce
605193b22f Conversion function for screen coords to local Canvas coords
- Useful if you need to Convert screen coords to the coordinate space of a
  CanvasItem, but don't have an associated InputEvent to use in
  #make_event_local.

For example, if you have a particular point on the screen you'd like to project
into World Space, for various reasons, you would use this function on the root
of the scene. This is analogous to ray casting from screen space in 3D.
2016-07-10 16:06:57 -07:00
Juan Linietsky
47d6cc08bb Properly deliver localized coordinates when passing gui events through parents, closes #4215 2016-06-27 10:00:36 -03:00
Juan Linietsky
130b83bc52 Ability to set draw transform as a matrix, closes #5428 2016-06-26 13:01:17 -03:00
George Marques
b06d235ce8
Rename CanvasItem.edit_get() to edit_get_state()
This makes more sense of what it does and correlates to edit_set_state()
2016-06-23 17:59:37 -03:00
Juan Linietsky
fa0d1cd27c fix CanvasItem.get_global_transform() and CanvasItem.get_local_transform(), closes #4075 2016-06-20 21:19:12 -03:00
MarianoGNU
0f1a717c64 Remove unused connection. ShaderEditor should'nt handle ShaderGraphs.
Fixes #4678 && #4745
2016-06-20 00:50:33 -03:00
Juan Linietsky
4866713bc3 added a function CanvasItem.get_item_and_children_rect() , fixes #4738 2016-06-13 21:37:04 -03:00
Rémi Verschelde
0729c852b4 Fix indentation issues in last commits
Ping @reduz.
2016-06-07 07:39:40 +02:00
Juan Linietsky
2b9cab25c0 -Fix small bug regarding to canvas layer detection, closes #4381 2016-06-06 21:14:25 -03:00
Ignacio Etcheverry
1e752c0120 Fix wrong return and argument types in documentation 2016-05-04 15:35:09 +02:00
Hubert Jarosz
4a4f247914
remove trailing whitespace 2016-03-09 00:00:52 +01:00
Juan Linietsky
35a28f3442 -Take in consideration canvas layers for GUI input 2016-01-24 10:57:42 -03:00
Juan Linietsky
939c5f5c9e -Fix global transform cache not being cleared in 2D nodes, fixes many editor bugs, closes #2115 2016-01-02 20:32:19 -03:00
Juan Linietsky
d069c44a7f -Fix TouchScreenButton to work with stretch and viewport canvas transform, closes #2286 2016-01-02 11:23:30 -03:00