Commit Graph

400 Commits

Author SHA1 Message Date
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
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 c9366f8b56 Merge pull request #7410 from nounoursheureux/master
Add the 'finished' signal to AnimatedSprite
2017-01-02 15:54:58 +01:00
Rémi Verschelde 6428ebd91f Merge pull request #7406 from neikeq/pr-issue-5076
TileMap: _update_dirty_quadrants() cancel pending update pre return
2017-01-02 15:11:23 +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
Wilhem Barbier f6262fde11 Add the 'finished' signal to AnimatedSprite 2017-01-02 12:24:37 +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
Ignacio Etcheverry 5b3acd287d TileMap: _update_dirty_quadrants() cancel pending update pre return 2017-01-01 21:08:12 +01:00
reduz f4a56e7782 begin work on new particle system 2016-12-30 08:35:54 -03:00
volzhs 792ff11642 Able to change visibility when ancestor node is hidden 2016-12-28 14:27:27 +09:00
Ignacio Etcheverry d579d0a814 KinematicBody: Fix wrong method bind return type 2016-12-10 16:23:47 +01:00
Andreas Haas 4dd6bead1f
Particles2D: Fix initial size randomness property having no effect.
It was just a little typo :p
2016-12-03 20:16:03 +01:00
Pedro J. Estébanez 86789c7071 Add modulate (color) to TileSet tiles 2016-11-30 14:33:39 +01:00
Ovnuniarchos e07dd9ab32 TileMap now honors blending mode. 2016-11-24 21:28:10 +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 afd86ee240 Merge pull request #6090 from WalasPrime/raytrace_force
Added force_raycast_update GDScript method for RayCast[2D]
2016-10-22 12:40:14 +02: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
Andreas Haas 9d67895c7c
Sprite: Fix inspector not showing changes on "frame" property.
Fixes #6562
2016-10-11 15:14:05 +02: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
Pedro J. Estébanez 34c02fad5a Add editor_only param to Light2D 2016-10-04 16:44:59 +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
Karol Walasek 7494a8c3c6 Added force_raycast_update GDScript method for RayCast[2D] 2016-10-03 12:36:16 +02:00
Pawel Kowal f9a21baa26 Fix #6480, area duplicated param 2016-09-29 18:12:45 +02:00
anneomcl aa5ade834c Fix for #6158. Converting Vector2 to Size2 for scaling functions. 2016-09-19 23:31:45 -07:00
Juan Linietsky 913925f106 Center camera2D with the proper viewport size 2016-09-15 08:17:23 -03:00
Juan Linietsky a4156f1f0a Added a few functions to make 2D split screen easier. 2016-09-14 15:55:14 -03: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 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
Rémi Verschelde 9a35ed5d54 Merge pull request #5670 from timoschwarzer/feature/camera2d_limit_smoothing
Add an option to smooth camera limits when camera smoothing is enabled.
2016-08-30 16:52:55 +02:00
Rémi Verschelde 835ee75d57 Merge pull request #6159 from touilleMan/issue-6148
Add Node2d global rot/rotd/scale methods
2016-08-29 19:04:24 +02:00
Juan Linietsky 748836e0b3 Several all around fixes to visual scripting (in the process of creating demos) 2016-08-28 20:59:01 -03:00
Emmanuel Leblond c402ac13df Add Node2D's set_global_rot get_global_rot set_global_rotd get_global_rotd set_global_scale get_global_scale methods. 2016-08-15 11:39:19 +02:00
Juan Linietsky 37b5e99bc2 prevent bug due to scripts not working in editor and notifier sending signals to it. 2016-08-08 19:04:12 -03:00
Juan Linietsky ba625a14c6 Merge pull request #5447 from RandomShaper/parallax-layer-fix-tidy
Improve parallax mirroring algorithm
2016-07-24 12:19:27 -03:00
Timo Schwarzer d691cb4732 Add an option to smooth camera limits when camera smoothing is enabled. 2016-07-13 11:48:50 +02:00
Juan Linietsky b41be2d1a9 Merge pull request #4854 from Razzlegames/screenToLocal
Conversion function for screen coords to local Canvas coords
2016-07-11 02:26:58 -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 46bb02991f Merge pull request #5270 from lonesurvivor/master
Added Tile Origin = Bottom Left option to the TileMap
2016-07-10 13:41:33 -03:00
Juan Linietsky b06eca108a Merge pull request #5490 from timoschwarzer/master
Add new Camera2D alignment functions
2016-07-10 12:39:50 -03: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
Juan Linietsky 7c1ab42571 Fix the +1 button to insert keyframes in Sprite and Sprite3D, closes #5422 2016-07-06 23:46:04 -03:00
Timo Schwarzer 185ba75bfa Fix Camera2D header for align() 2016-06-30 16:07:48 +02:00
Timo Schwarzer ae055ebf82 Add align() to realign the Camera2D to its tracked node
align() will center the tracked Node if anchor mode is set to DRAG_CENTER, otherwise the camera is set to the Node's position
2016-06-29 18:17:11 +02:00
Timo Schwarzer 6686fbc1e0 Add reset_smoothing() for immediately fixing the camera to the destination location 2016-06-29 17:40:29 +02:00
Juan Linietsky 47d6cc08bb Properly deliver localized coordinates when passing gui events through parents, closes #4215 2016-06-27 10:00:36 -03:00
Pedro J. Estébanez 6ce47d9b51 Improve parallax mirroring algorithm
Replaces the iterative approach currently used by an equivalent direct computation.
Also fixes infinite looping that happens when the mirroring value is negative.
2016-06-27 10:40:33 +02:00
Juan Linietsky 10f411b47b Avoid mirroring to go negative to fix crash, closes #4036 2016-06-26 16:51:13 -03:00
Juan Linietsky 282da142ae Added an option to ParallaxLayer to add an extra scroll offset, helps if you want to make clouds to move by themselves and animate that, for example. 2016-06-26 16:22:20 -03:00
Rémi Verschelde 0be12898a7 Revert "Improve parallax mirroring algorithm" 2016-06-26 18:03:15 +02:00
Juan Linietsky 130b83bc52 Ability to set draw transform as a matrix, closes #5428 2016-06-26 13:01:17 -03:00
Rémi Verschelde b02d67be30 Merge pull request #5307 from MarianoGnu/master
TextureRegion improvements
2016-06-26 09:43:45 +02:00
Rémi Verschelde 22c9a44174 Merge pull request #5391 from RandomShaper/parallax-layer-fix-tidy
Improve parallax mirroring algorithm
2016-06-24 21:26:54 +02:00