Commit graph

455 commits

Author SHA1 Message Date
Bojidar Marinov
207feb2f87
Add one-way collisions and individual shape offsets for tilesets
As requested in #9318
Accidentially fixes #2231 as well
2017-06-25 21:47:30 +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
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
Juan Linietsky
8ef1c41a4e Small fixes required to get platformer to work.
Added back CanvasItemMaterial
2017-06-23 14:31:59 -03:00
Juan Linietsky
265d4e2d6c Fixed bug regarding to two spatial 2d players not mixing properly 2017-06-22 17:50:03 -03:00
Bojidar Marinov
2edb082c7e
Add normal map to tilemaps and tilesets
Fixes #9310
2017-06-22 18:15:50 +03:00
Juan Linietsky
fb72edf45e Properly exposed material types everywhere. 2017-06-22 09:33:20 -03:00
Rémi Verschelde
e3b34810e3 Fix tools=no build
This house is falling apart when I'm not around...
2017-06-22 12:12:30 +02:00
Juan Linietsky
95560e02c5 2D GPU Particles working.. 2017-06-21 16:26:26 -03:00
Thomas Herzog
ceded65c01 Merge pull request #9257 from Shockblast/patch-1
Remove Duplicate Include
2017-06-20 10:58:00 +02:00
Shockblast
3e733d0f92 Remove Duplicate Include
Also solves a problem with AnimatedSprites, when you add sprites for the animation the engine crash
2017-06-19 20:52:10 -04:00
Benjamin Dahse
b95f57d050 Add null-check to get_normal_frame 2017-06-20 00:37:34 +02: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
969fa3cc73 -Added AudioStreamPlayer2D, for 2D positional sound
-Added ability for Area2D to redirect positional sound to a specific audio bus
2017-06-18 21:07:32 -03:00
Juan Linietsky
33bf180067 Added normalmap support to stylebox and animated sprite. 2017-06-18 00:03:28 -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
Rémi Verschelde
b7a2a40b8e Merge pull request #9176 from RandomShaper/fix-touchbutton
Fix/improve TouchScreenButton
2017-06-15 12:38:59 +02:00
Rémi Verschelde
80de0c35df Merge pull request #9160 from karroffel/color-ramp-rename
renamed occurances of ColorRamp with Gradient
2017-06-14 23:09:30 +02:00
Rémi Verschelde
bccee07ae7 Merge pull request #9165 from Noshyaar/pr-area
Refactor layer_mask to collision_layer
2017-06-14 23:04:04 +02:00
Pedro J. Estébanez
d27d1dba23 Fix/improve TouchScreenButton
- Refactor touch acceptance logic so the same is used whether passby is enabled or not.
- Remove the check for visibility during input handling as it should never fail; instead using now an ERR_FAIL_COND() just in case since we have been checking for that so far.
- Fix cast to wrong InputEventScreenTouch when it should be InputEventScreenDrag.
- Replaced use of references by plain pointers for a more readable code and maybe a little performance gain.
2017-06-14 17:19:58 +02:00
Poommetee Ketson
6c44fff508 Refactor layer_mask to collision_layer 2017-06-14 10:58:34 +07:00
Marc Gilleron
0fd5ab479c Fixed broken Line2D due to math changes in f271591ac2 2017-06-14 02:21:40 +02:00
Karroffel
23c5fa8687 renamed occurances of ColorRamp with Gradient
ColorRamp got renamed to Gradient recently, reduz missed some occurances though.
2017-06-14 01:24:04 +02:00
Juan Linietsky
a8a1f2e2a8 -Fixed occluder rendering, closes #8560
-Ability to smooth out 2D shadow filters
2017-06-13 01:23:04 -03:00
alexholly
a3c90b0293 renamed all Rect2.pos to Rect2.position 2017-06-04 02:09:17 +02:00
Andreas Haas
9bc5348961
InputEvent: Renamed "pos" property to "position"
Make the naming consistent with other classes.
2017-06-03 11:26:39 +02:00
Juan Linietsky
bb20f230ad -Added .hdr format support
-Added default environment editor setting
-Added environment created by default in new projects
-Removed default light and ambient from spatial editor, to make the editor more PBR compliant
2017-05-28 21:48:05 -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
Poommetee Ketson
64879e592b RayCast2D: fix detached arrow tip 2017-05-08 16:12:40 +07:00
Rémi Verschelde
2398eb6ed4 Move core thirdparty files to thirdparty/{minizip,misc} 2017-04-28 21:19:23 +02:00
gamemanj
0a4dde93d4 Apply is_ceiling/is_wall swap fix to 2D move_and_slide (minus explaination)
As it turns out, is_ceiling would be true when hitting a wall,
 and is_wall would be true momentarily when hitting a ceiling.

This makes a tiny one-line change to fix that.
Without trying to explain the code for anyone else having to
 mess around with it.
2017-04-15 10:24:36 +01: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
d596946a45 Merge pull request #8271 from MattUV/master
Add methods to get and set bits of collision layers and masks for TileMaps (3.0)
2017-04-09 23:37:56 +02:00
Rémi Verschelde
769bec26a7 Merge pull request #8321 from RandomShaper/zero-preprocess-particles2d
Allow zero preprocess time for Particles2D
2017-04-09 17:44:40 +02:00
Andreas Haas
6075dfe511
Particles2D: Fix flip property (again).
should have flipped the dst_rect..
2017-04-09 01:42:39 +02:00
Pedro J. Estébanez
d0ef1acea4 Allow zero preprocess time for Particles2D 2017-04-08 20:04:06 +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
MattUV
6b5305b972 Add set/get_collision_layer/mask_bit() to TileMaps
Add four methods to the TileMap node to make collision layers and masks be modified bit by bit (like PhysicBody2Ds and RayCast2Ds:

 * set_collision_layer_bit()
 * set_collision_mask_bit()

 * get_collision_layer_bit()
 * get_collision_mask_bit()

To comply with collision layers' renaming from https://github.com/godotengine/godot/issues/5696 , the method names are NOT set/get_layer_mask_bit()
2017-04-06 23:27:55 +02:00
Rémi Verschelde
02f9851d0d Merge pull request #8259 from bojidar-bg/move-slide-wall-fix
Fix is_move_and_slide_on_wall, make move_and_slide floor angle configurable
2017-04-05 01:24:19 +02:00
Rémi Verschelde
2c4e4432af Merge pull request #8214 from tagcup/bounce_reflect_slide
Made slide and reflect active verbs acting on itself in Vector2 and V…
2017-04-05 01:23:09 +02:00
Bojidar Marinov
289abd3710
Fix is_move_and_slide_on_wall, make move_and_slide floor angle configurable
Fixes #7313
2017-04-04 18:32:27 +03:00
Rémi Verschelde
4d3ed11212 Merge pull request #8248 from Hinsbart/fix_notify_renames
Fix more property names in _change_notify calls.
2017-04-04 00:21:12 +02:00
Rémi Verschelde
41986b2092 Merge pull request #8244 from RandomShaper/improve-touch-button
Improve TouchScreenButton
2017-04-04 00:19:47 +02:00
Andreas Haas
0a287cfe4c
Fix more property names in _change_notify calls. 2017-04-03 18:35:15 +02:00
Ferenc Arn
1a620bd5fa Made slide and reflect active verbs acting on itself in Vector2 and Vector3.
This is in alignment with other functions in vector classes.
Also added checks for normalization, fixed the sign of reflect (which now corresponds to reflection along a plane mathematically), added bounce method and updated docs.

Fixes #8201.
2017-04-03 10:02:12 -05:00
Pedro J. Estébanez
6caa9fc94c Improve TouchScreenButton
Fix shape not being updated
Add a way to hide the shape on editor and debug-with-visible-shapes
Remove useless checks
2017-04-03 14:42:46 +02:00
Robert Hernandez
8078b5ecf6 Fixed Node2D/Control not updating properties 2017-04-01 20:13:52 -04: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
a0ecbb5ac0 Fixes for TouchScreenButton
- getting stuck on pause
- handling input when not visible
2017-03-10 14:10:29 +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
e1c1d7d1d7 Add a bunch of missing Godot headers in own files 2017-03-05 15:47:28 +01:00
Andreas Haas
962243f931
TileMap: Respect self_modulate property
Now `TileMap`s make use of the `self_modulate` property.

There's still a bug: The Editor doesn't re-draw with the new color when you change the TileMaps `self_modulate`
in the inspector. You'll have to make it update manually (by placing a tile, changing the transform, etc..)
I'll open an issue for that after this is merged (If I don't fix it in the meantime ^^).
2017-03-05 11:42:01 +01:00
Rémi Verschelde
81a393a2b4 Merge pull request #7508 from lonesurvivor/area2d-fix
Fix two problems with Area2D and remove_child()
2017-03-04 17:19:04 +01:00
Thaer Razeq
f50488a361 Various fixes detected using PVS-Studio static analyzer.
- Add FIXME tags comments to some unfixed potential bugs
- Remove some checks (always false: unsigned never < 0)
- Fix some if statements based on reviews.
- Bunch of missing `else` statements
2017-02-28 07:52:02 -06:00
Ferenc Arn
67ef529113 Use the common PRNG in 2D particles code.
Replaces the custom PRNG used by 2D particles code with a wrapper for the PRNG located under core/math.
2017-02-27 15:36:17 -06:00
Rémi Verschelde
5f31b3ce58 Merge pull request #7897 from RandomShaper/particles2d-process-mode
Add process mode option to Particles2D
2017-02-27 14:03:44 +01:00
Pedro J. Estébanez
5d094602b8 Add process mode option to Particles2D 2017-02-27 10:47:28 +01:00
Rémi Verschelde
c68f0c7961 Merge pull request #7887 from bojidar-bg/particles-emission-ended
Add emission_finished signal to Particles2D
2017-02-26 20:50:41 +01:00
Rémi Verschelde
3abd4c906d Merge pull request #7869 from RandomShaper/fix-touchbutton-crash
Fix crash if TouchScreenButton is pressed while exiting the tree
2017-02-26 20:27:43 +01:00
Bojidar Marinov
0d6485d919
Add emission_finished signal to Particles2D
(Also remove some Particles2D::testee method, which was unused)
Resolves #3963
2017-02-25 16:06:00 +02:00
Pedro J. Estébanez
75c68f6512 Fix crash if TouchScreenButton is pressed while exiting the tree
(cherry picked from commit 5b8d5766f4)
2017-02-22 01:37:22 +01:00
Bojidar Marinov
136e1e18ba
Add Rect2 TileMap::get_used_rect(), closes #4390 2017-02-20 23:02:03 +02: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
Rémi Verschelde
117a83fcb9 Merge pull request #7352 from Zylann/polyline
Polyline
2017-02-12 23:30:04 +01:00
Rémi Verschelde
73cedc3901 Merge pull request #7775 from Hinsbart/particles_flip
Particles2D: implement texture flip parameters.
2017-02-12 23:25:34 +01:00
Rémi Verschelde
53b7bbfcce Merge pull request #7722 from RandomShaper/improve-touch-button
Fix touch button issues
2017-02-12 23:12:18 +01:00
Pedro J. Estébanez
49e7e2cd2a Solve TouchScreenButtons issues
Fix touch button needing double tap after pause (applies to those not set to pass-by)
Fix error when a pressed TouchScreenButton with no associated action exits the tree
(with some refactoring of duplicate code)
2017-02-10 20:54:54 +01:00
Andreas Haas
6a2dccaf77
Particles2D: implement texture flip parameters. 2017-02-10 00:50:21 +01:00
Pedro J. Estébanez
7b2fa207e9 Add shape property to TouchScreenButton
Adapted from 67a0da34a2
2017-02-02 12:16:14 +01:00
lonesurvivor
9cddaab4d1 When overlappinng Area2Ds are removed with remove_child(), _enter_tree and _exit_tree signals are now properly disconnected upon removal 2017-01-25 20:52:44 +01:00
Rémi Verschelde
a19a28288c Merge pull request #7610 from Hinsbart/shape_warning
CollisionShape2D: Fix warning icon not updating.
2017-01-23 07:55:50 +01:00
Andreas Haas
16eee2f59b
CollisionShape2D: Fix warning icon not updating.
`CollisionPolygon2D` also had this problem.
2017-01-22 14:11:17 +01: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
Juan Linietsky
b400c69cd4 Oops! Audio engine has vanished :D 2017-01-15 16:07:51 -03:00
Marc Gilleron
e2fba10b95 Added Line2D node that draws a polygon-based line
It supports unlimited width, color gradient, texture and some geometry
options for joints and caps. Also transparency without artifacts
(provided that line joints aren't too sharp).
2017-01-15 00:44:46 +01:00
Juan Linietsky
94609305a0 Merge pull request #6519 from RandomShaper/enhance-tileset
Add modulate (color) to TileSet tiles
2017-01-14 16:52:16 -03: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
f3b6177ece rename monitoring functions 2017-01-13 20:03:51 -03:00
Juan Linietsky
e53c247cb1 Created new Engine singleton, and moved engine related OS functions to it. 2017-01-13 12:51:14 -03:00
Juan Linietsky
0ad9939603 Rename collision layer as suggested in #5696 2017-01-13 11:01:19 -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
83cb84753f Renamed most signals so they refer to:
-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-12 00:51:08 -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
Juan Linietsky
f3f4a11cfb - _ready() callback only happens once now, if you want to receive it again, use request_ready()
- C++ Nodes mostly do an internal process callback, so it does not conflict with users willing to use their own process callbacks
- callbacks such as _input, _process, _fixed_process _unhandled_input, _unhandled_key_input do not requiere calling a function to enable them. They are enabled automatically if found on the script.
2017-01-10 18:04:33 -03:00
volzhs
b8ea0ba984 Fix modulate property bind to Color 2017-01-09 21:53:20 +09:00
Juan Linietsky
1b0930c435 Renamed finished to animation_finished, also passes the animation name when finished 2017-01-08 17:41:32 -03:00
Juan Linietsky
8ecc34bfae removed unnecesary modulate funtions, which were superseded by self_modulate 2017-01-08 12:31:14 -03: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
b085c40edf -Conversion of most properties to a simpler syntax, easier to use by script
-Modified help to display properties

GDScript can still not make use of them, though.
2017-01-04 01:16:14 -03:00