Commit graph

1899 commits

Author SHA1 Message Date
Pedro J. Estébanez 665bf52948 Optimize-out some debug and/or non-tools methods
Collisions and nav debug are conditionally compiled depending on DEBUG_ENABLED
is_editor_hint() and is_node_being_edited() are compiled only with TOOLS_ENABLED
Every affected method is implemented in the header in case its macro is not present (the getters just returning false and the setters having an empty body) so the compiler can inline and finally no-op-out them as likely as possible.
is_node_being_edited() already showed a similar optimization effort and has been adapted to this change.
Furthermore, and as a consequence, -debugcol and -debugnav will not work on non-debug (strict release) builds.
This can bring a little bit of runtime performance on release and non-tooled builds (less code, so less cycles to spend and maybe more cache friendly).
2017-04-07 16:35:55 +02:00
Pedro J. Estébanez 4b85ddabda Reset display folded for an instanced scene if editable children is toggled off
This avoids the display folded flag needlessly getting into the scene file (potentially forever) and also gives more visual feedback if the user re-enables editable children so it will display unfolded at first.
2017-04-07 15:48:07 +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 25d09b92be Merge pull request #8296 from Hinsbart/normapmap
Fix typo in FixedSpatialMaterial

[ci skip]
2017-04-06 23:27:36 +02:00
Andreas Haas 362e52c2fd
Fix typo in FixedSpatialMaterial
NormapMap
2017-04-06 23:20:00 +02:00
Ferenc Arn 9a37ff1e34 Added various functions basic math classes. Also enabled math checks only for debug builds.
Added set_scale, set_rotation_euler, set_rotation_axis_angle. Addresses #2565 directly.
Added an euler angle constructor for Basis in GDScript and also exposed is_normalized for vectors and quaternions.
Various other changes mostly cosmetic in nature.
2017-04-06 13:03:56 -05:00
supaiku d51fe99a8b Fix highlight typo 2017-04-06 17:35:08 +02:00
Rémi Verschelde 5b5a825c7f Fixer looping timer accumulation in _process
Follow-up to #8251.
2017-04-05 08:22:41 +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 57badfd1df Merge pull request #8251 from cynicaldevil/master
Previous value of time_left is added to wait_time before assigning to time_left
2017-04-04 00:22:44 +02: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
Nikhil Shagrithaya ea4fbee8f2 previous value of time_left is added to wait_time before assigning to time_left 2017-04-04 00:37:42 +05:30
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
Rémi Verschelde 1bd3648bb0 Merge pull request #8211 from robertdhernandez/NinePatch-Fix
[3.0] Fixed NinePatchRect/StyleBoxTexture incorrectly drawing AtlasTexture
2017-04-03 14:41:53 +02:00
Rémi Verschelde 5b09dde3fe Merge pull request #8146 from supagu/astar
Added ability to change A-star cost function
2017-04-03 13:52:59 +02:00
Rémi Verschelde 9f85befbfd Merge pull request #8048 from ficoos/was_input_handled
Add the option to check if input was handled
2017-04-03 13:48:57 +02:00
Andreas Haas b49d206a4c Merge pull request #8219 from robertdhernandez/Node2D-Canvas-Sync
Node2D/Control variables now update with canvas changes
2017-04-03 00:33:40 +02:00
Andreas Haas 1d3c9c448d
Viewport: Fix undefined behaviour found by llvm sanitizer.
When godot was running as the project manager, it tried to call a method on a null pointer (get_tree()->get_edited_scene_root()).
This is undefined behaviour and caused a crash when compiled with sanitizing enabled.
2017-04-02 09:46:51 +02:00
Robert Hernandez 8078b5ecf6 Fixed Node2D/Control not updating properties 2017-04-01 20:13:52 -04:00
Fabian Mathews b541402417 Added ability to change A-star cost function 2017-04-01 16:36:22 +10:30
Saggi Mizrahi 245ace6e2e Add the option to check if input was handled
When working with a viewport you should call Viewport.input() to pass
the input, but if the input was unhandled you might also want to call
Viewport.unhandled_input() so that objects in the sub-scene can handle
the event. This adds a way to check if the input was handled so that you
know whether you should call Viewport.unhandled_input() or not.

Signed-off-by: Saggi Mizrahi <saggi@mizrahi.cc>
2017-03-31 17:56:32 +03:00
Robert Hernandez 7a428206fe Fixed WindowDialog not aligning properly 2017-03-31 01:48:02 -04:00
Robert Hernandez a4a12a2b7b Fixed AtlasTexture being incorrectly
Fixed StyleBoxTexture and NinePatchRect drawing the entire texture of an
AtlasTexture.
2017-03-30 21:09:25 -04:00
Benjamin Dahse 93d6003aa8 Show 3D raycasts when debugging collisions
Represent a raycast by a line segment using the direction and magnitude of the cast_to vector.
The entire line segment will become red while a collision occurs.
2017-03-30 22:34:05 +02:00
Rémi Verschelde d7dd276ccc Merge pull request #8208 from Shin-NiL/master
Honor the Tween's final values
2017-03-30 13:09:17 +02:00
Shin-NiL d8c396a44f Honor the Tween's final values 2017-03-30 07:58:20 -03:00
Rémi Verschelde c6ba3bf9d5 Merge pull request #8203 from RandomShaper/add-missing-bind
Add missing binding for DUPLICATE_USE_INSTANCING
2017-03-30 07:37:46 +02:00
Pedro J. Estébanez c2165bb1a5 Add missing binding for DUPLICATE_USE_INSTANCING 2017-03-30 00:38:06 +02:00
Rémi Verschelde 397380e9e5 Merge pull request #8130 from volzhs/cache-font-master
Cache DynamicFont resource for Android
2017-03-24 22:52:36 +01:00
Rémi Verschelde c25246d158 Merge pull request #8010 from AlexHolly/Timer-is_time_left
added Timer is_time_left()
2017-03-24 22:48:01 +01: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
volzhs 56af1a3790 Cache DynamicFont resource for Android 2017-03-24 16:18:35 +09:00
AlexHolly 636963b11d is_active to is_paused
rm doc
2017-03-19 22:29:20 +01:00
Rémi Verschelde 14c01dfea7 Merge pull request #8037 from RandomShaper/remove-warning
Remove warning on owner re-assignment
2017-03-18 10:49:06 +01:00
Rémi Verschelde e55b7fa7d0 Merge pull request #8030 from RandomShaper/fix-redundant-connections
Fix redundant connections saved in sub-inheritance
2017-03-18 10:45:29 +01:00
Rémi Verschelde 3cf4103a89 Merge pull request #8023 from CrazyGuy108/master
List Control::has_point as a virtual method
2017-03-18 10:36:55 +01:00
Rémi Verschelde 5b6900ed9b Merge pull request #8014 from AlexHolly/fix-remove-and-skip
fix remove_and_skip()
2017-03-18 10:32:14 +01:00
Rémi Verschelde 3ceefab232 Merge pull request #8020 from karroffel/class-db-inconsistency
fixed ClassDB inconsistencies
2017-03-15 19:09:43 +01:00
Pedro J. Estébanez e3b4b7fa98 Remove warning on owner re-assignment 2017-03-15 12:28:57 +01:00
Pedro J. Estébanez 3b36df3730 Fix redundant connections saved in sub-inheritance 2017-03-15 11:46:45 +01:00
CrazyGuy108 9589936d6e
List Control::has_point as a virtual method
According to Issue #8018, a BIND_VMETHOD macro wasn't present in scene/gui/control.cpp, while it was declared to be a virtual method in scene/gui/control.h.

classes.xml was updated to also list this method in Control.
2017-03-14 19:08:13 -07:00
Karroffel 6ab3213a55 fixed ClassDB inconsistencies
fixes #7960
2017-03-13 21:17:31 +01:00
Rémi Verschelde bde0c2e03e Merge pull request #8019 from Hinsbart/dim_fix
WindowDialog: Fix crash when running as ProjectManager
2017-03-13 16:14:04 +01:00
Andreas Haas a2776af672
WindowDialog: Fix crash when running as ProjectManager
Fixes a bug introduced in #7970
2017-03-13 16:05:18 +01:00
Rémi Verschelde 26c12ded24 Merge pull request #8011 from neikeq/pr-issue-6602-1
Fix connection errors when replacing node
2017-03-13 11:05:32 +01:00
Rémi Verschelde e8ce94b092 Merge pull request #7988 from RandomShaper/fix-touch-button
Several fixes for TouchScreenButton
2017-03-13 11:02:47 +01:00
Rémi Verschelde a45e6f67d5 Merge pull request #7981 from RandomShaper/position-for-2d-shaders
Map POSITION to gl_FragCoord.xy for 2D shaders
2017-03-13 11:01:14 +01:00
Rémi Verschelde 0f429f8f9e Merge pull request #7979 from RandomShaper/fix-sub-inheritance
Fix node duplication in scene sub-inheritance
2017-03-13 11:00:58 +01:00
AlexHolly 3f78f1f17d fix remove_and_skip() 2017-03-12 18:50:43 +01:00
Ignacio Etcheverry d210ac66ef Fix connection errors when replacing node
- Avoid connecting the signals to nonexistent methods
- Preserve only persistent connections
2017-03-11 20:21:04 +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
Pedro J. Estébanez 383dea5796 Fix node duplication in scene sub-inheritance 2017-03-09 01:19:40 +01:00
Pedro J. Estébanez 5ff0924a93 Map POSITION to gl_FragCoord.xy for 2D shaders 2017-03-08 02:07:59 +01:00
Andreas Haas 9080232f17
Editor: Dim UI when a WindowDialog is shown.
Darkens the editor on WindowDialog popup.

This adds the following new Editor settings:

- interface/dim_editor_on_dialog_popup (true) # Enable/Disable editor dimming
- interface/dim_amount (0.6) # Percentage of how much the editor will be darkened (0-1)
- interface/dim_transition_time # The duration (in seconds) of the color blending effect (0-1), 0 is instant.

Please test this thoroughly, I haven't yet seen a case where it fails to work properly but I'm sure I didn't test all
windows of the editor :P
2017-03-06 20:14:41 +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
Rémi Verschelde 49c065d29c Refactoring: rename tools/editor/ to editor/
The other subfolders of tools/ had already been moved to either
editor/, misc/ or thirdparty/, so the hiding the editor code that
deep was no longer meaningful.
2017-03-05 14:21:25 +01:00
Rémi Verschelde 532f6d4b43 Merge pull request #7954 from Hinsbart/tilemap_self_modulate
TileMap: Respect self_modulate property
2017-03-05 12:05:16 +01:00
Rémi Verschelde 630158c992 Merge pull request #7916 from RebelliousX/tab_container
TabContainer's signal changes (v3)
2017-03-05 12:03:09 +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
Thaer Razeq c9bda06dfd - tab_changed signal emits only by selecting a different tab.
- Added `tab_selected` signal. Which emits a signal by selecting any tab, if current tab is selected again.
- Added `get_previous_tab()`. Which returns the previous shown tab. **Note:** only `tab_changed` can modify previous tab index.
- Add documentation for the added function and signals. Fix a typo too.
2017-03-05 02:47:09 -06: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
Rémi Verschelde 723f74c851 Merge pull request #7929 from RayKoopa/editor_resizable_dialogs
Resizable editor / project settings dialogs & save their bounds
2017-03-04 17:04:27 +01:00
Rémi Verschelde 51f1a56d20 Merge pull request #7927 from volzhs/wrong-ref-treeitem
Fix wrong TreeItem reference after reconstructing
2017-03-04 16:48:02 +01:00
Karol Walasek 29908d32ba Added a SceneTree.has_network_peer, closes #7922 2017-03-04 11:35:44 +01:00
Ray Koopa 7623fd10bf Make Editor, Export and Project settings dialogs resizable and store their bounds 2017-03-03 18:45:53 +01:00
volzhs 66b7586fb0 Fix wrong TreeItem reference after reconstructing 2017-03-03 04:01:04 +09:00
Ray Koopa e07aa5deb8 Added functionality for resizable dialogs. 2017-03-01 23:40:10 +01:00
Rémi Verschelde a1cbe8e22b Merge pull request #7878 from RebelliousX/else
Bunch of missing `else` statements and general logic
2017-02-28 23:03:10 +01:00
Saracen 5e938f0001 Inf and NaN support added to GDScript. 2017-02-28 21:52:33 +00: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
Rémi Verschelde 0f8c6dd382 Merge pull request #7904 from tagcup/use_math_prng
Use the common PRNG in 2D particles code.
2017-02-28 08:17:02 +01: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
Ray Koopa 5cf063ca9d Add disabled tabs 2017-02-27 19:07:50 +01:00
Ray Koopa fc9077a213 Fix several drawing and logic issues in TabContainer 2017-02-27 15:47:47 +01:00
Rémi Verschelde df365fdc3c Merge pull request #6462 from RandomShaper/fix-improve-anim-blend
Fix/improve AnimationPlayer blending logic
2017-02-27 14:39:54 +01: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 3de1415b6a Merge pull request #7653 from Dumbeldor/RichTextLabel_remove_line
RichTextLabel add function remove_line
2017-02-26 21:16:30 +01:00
Rémi Verschelde 7a9b08f785 Merge pull request #7889 from Hinsbart/fix_autoenable_input
Fix auto-enable of _input processing when _input() method is set.
2017-02-26 20:51:53 +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 4d6a3cf7fc Merge pull request #7874 from volzhs/issue-7820-master
Fix crash when click icon while editing node name
2017-02-26 20:28:00 +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
Rémi Verschelde e5cf1fe350 Merge pull request #7866 from Hinsbart/tween_fix
Fix undefined behavior found by static code analyzer.
2017-02-26 20:27:20 +01:00
Rémi Verschelde 8e0dbd1b8e Merge pull request #7858 from bojidar-bg/tilemap-get-size
Add Rect2 TileMap::get_used_rect()
2017-02-26 20:24:56 +01:00
Rémi Verschelde 539b9e09e4 Merge pull request #7856 from RandomShaper/add-duplicate-flags
Add more options to Node.duplicate()
2017-02-26 20:24:17 +01:00
Rémi Verschelde caa74b70e7 Merge pull request #7831 from volzhs/tr-buttonarray-3
Translate ButtonArray text
2017-02-26 20:15:33 +01:00
Andreas Haas 373e0099cf
Fix auto-enable of _input processing when _input() method is set.
Since f3f4a11c processing of callbacks such as `_process`, `_fixed_process`, etc will be
automatically enabled when the corresponding method is found in the script.
However, for _input() this wasn't working.
That's simply because `_input` wasn't initialized in `SceneStringNames` ^^
2017-02-25 21:12:26 +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
Bojidar Marinov 53921faa91
Complete the globals.h -> global_config.h conversion 2017-02-23 17:47:25 +02:00
volzhs 3ae0ffa182 Fix crash when click icon while editing node name 2017-02-23 02:20:46 +09: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
Andreas Haas 0157969ccc
Tween: Fix undefined behavior found by static code analyzer.
Adresses the issue mentioned in https://software.intel.com/en-us/articles/the-ultimate-question-of-programming-refactoring-and-everything
2017-02-22 00:56:40 +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