Commit graph

2014 commits

Author SHA1 Message Date
Ray Koopa
75f684bc17 Respect the expand margin for StyleBoTextures again. 2017-04-13 10:37:22 +02:00
volzhs
25a4daa5ce Fix editor style box for ToolButton 2017-04-12 12:40:16 +09: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
volzhs
706ca4efd6 Prevent to uncheck selected item with button group 2017-04-10 13:57:24 +09:00
Juan Linietsky
1c480698ce -Fixed crash with splash screen on windows
-properly show editor without having to resize window on windows
2017-04-09 20:40:48 -03: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
Juan Linietsky
4286aef693 Particle system is complete. Rejoice! 2017-04-08 22:40:06 -03: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
b81d5f4687 Merge pull request #8308 from RandomShaper/optimize-out-debug-n-non-tools
Optimize-out some debug and/or non-tools methods
2017-04-07 22:22:54 +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
Rémi Verschelde
12b84eb9f4 Merge pull request #8304 from RandomShaper/reset-folded-on-reset-edit-children
Reset display folded for an instanced scene if editable children is toggled off
2017-04-07 19:12:42 +02:00
Rémi Verschelde
d8f011828e Add compatibility class for FixedSpatialMaterial
Fixes loading existing 3.0-alpha projects broken by 74808ac4d9.
2017-04-07 18:59:10 +02:00
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
Bojidar Marinov
136e1e18ba
Add Rect2 TileMap::get_used_rect(), closes #4390 2017-02-20 23:02:03 +02:00
Pedro J. Estébanez
4e22b6acd7 Add more options to Node.duplicate()
to decide whether signals, groups and/or scripts should be set in the copied nodes or not; it's default value makes the method include everything, as usual
2017-02-20 20:05:01 +01:00
Juan Linietsky
f6950956bd Editor Export Settings Dialog is completed!! Now on to make some exporters.. 2017-02-19 23:21:35 -03:00
volzhs
57ed6ef741 Translate ButtonArray text 2017-02-18 00:20:55 +09:00
Vincent
c20b186e73 RichTextLabel add function remove_line 2017-02-16 20:36:25 +01:00
Hein-Pieter van Braam
b696beea65 Correct hash behavior for floating point numbers
This fixes HashMap where a key or part of a key is a floating point
number. To fix this the following has been done:

* HashMap now takes an extra template argument Comparator. This class
gets used to compare keys. The default Comperator now works correctly
for common types and floating point numbets.

* Variant implements ::hash_compare() now. This function implements
nan-safe comparison for all types with components that contain floating
point numbers.

* Variant now has a VariantComparator which uses Variant::hash_compare()
safely compare floating point components of variant's types.

* The hash functions for floating point numbers will now normalize NaN
values so that all floating point numbers that are NaN hash to the same
value.

C++ module writers that want to use HashMap internally in their modules
can now also safeguard against this crash by defining their on
Comperator class that safely compares their types.

GDScript users, or writers of modules that don't use HashMap internally
in their modules don't need to do anything.

This fixes #7354 and fixes #6947.
2017-02-16 18:44:29 +01:00
Juan Linietsky
903a3aa5f0 a ton of bug fixes to the renderer 2017-02-16 08:55:43 -03:00
Rémi Verschelde
3fadcac7c4 Merge pull request #7814 from Hinsbart/timer_pause
SceneTreeTimer: Ability to set pause mode
2017-02-16 08:52:19 +01:00
Juan Linietsky
da11d6d9e8 Many fixes to make exported scenes work better, still buggy. 2017-02-15 08:34:02 -03:00
Andreas Haas
4de29f9c7a
SceneTreeTimer: Ability to set pause mode
Adds an additional flag to SceneTree::create_timer() that tells it whether or not to process when the game is paused.
Defaults to false in order to not break existing functionality.
2017-02-15 08:02:08 +01:00
Andreas Haas
dd4c2709e4
Spinbox: don't ignore double clicks.
Fixes the problem with spinboxes not updating when clicking too fast.
2017-02-14 00:57:49 +01:00
Rémi Verschelde
ea7e8c8e86 Merge pull request #7795 from hpvb/rename-md-macro
Rename the _MD macro to D_METHOD
2017-02-13 15:46:17 +01:00
geequlim
4ebc30e303 Fix compile error with TextureButton
Export TextureButton::ResizeMode as its own enum values
2017-02-13 21:17:47 +08: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
70b9aa379d Merge pull request #7581 from Faless/v6_wild_bind
TCP/UDP listen bind to address and bugfixes
2017-02-12 23:31:40 +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
b2db9279fa Merge pull request #7769 from GodotExplorer/pr-resizeable-texturebutton_3
Enhance TextureButton and TextureRect with resize
2017-02-12 23:22:41 +01:00
Rémi Verschelde
458bd83dfc Merge pull request #7747 from sanikoyes/Pr-fix-tween-transform2d
Fix tween Transform2D typo
2017-02-12 23:18:38 +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
Rémi Verschelde
d791f5f06e Merge pull request #7712 from kbake/deselect-selection-on-ctrl-home/end
Selected text is now deselected on ctrl+home/end
2017-02-12 23:09:34 +01:00
Rémi Verschelde
c51990ec9d Merge pull request #7706 from RandomShaper/touch-button-shape-master
Add shape property to TouchScreenButton
2017-02-12 23:09:16 +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
geequlim
ab375117ba Add STRETCH_KEEP_ASPECT_COVERED to TextureRect StretchMode
Make TextureButton to the same resize behavior with TextureRect
2017-02-09 22:52:52 +08:00
Juan Linietsky
07bbcf91f7 basic contact shadows implementation, will most likely need some polishing 2017-02-08 07:35:14 -03:00
sanikoyes
9123e91634 Fix tween Transform2D typo 2017-02-07 15:45:49 +08:00
Juan Linietsky
5cc63dee0f ability to adjust propagation in gi probe 2017-02-06 05:12:15 -03:00
Juan Linietsky
6f2e16306a Several bugfixes, improving the import workflow 2017-02-06 00:38:39 -03:00
kbake
1169f4e040 Selected text is now deselected on ctrl+home/end
This fixes Issue #7694 and also the error mentioned in the comments of that issue.
2017-02-03 02:01:41 -05:00
Juan Linietsky
a02933bb3c wav file importing! 2017-02-02 22:51:58 -03:00
Pedro J. Estébanez
7b2fa207e9 Add shape property to TouchScreenButton
Adapted from 67a0da34a2
2017-02-02 12:16:14 +01:00
Pawel Kowal
b602096b9b Fix #7011 ScrollContainer takes into account child's EXPAND flag when scrolling is enabled
(cherry picked from commit e9316a009e)
2017-02-02 08:24:37 +01:00
Rémi Verschelde
39f11ffc51 Merge pull request #7666 from Paulb23/line_length_guideline
Fixed line lenght guideline, and added colour option
2017-02-02 08:12:46 +01:00
Juan Linietsky
2cd2ca7bbc Lot of work in new importer, importing textures now works. 2017-02-01 09:46:36 -03:00
Paulb23
6b42cd5fe6 Fixed line lenght guideline drawing with color option 2017-01-28 14:36:57 +00: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
Juan Linietsky
4c28f35b2c Merge pull request #7002 from RandomShaper/vcs-friendliness
Greater VCS friendliness
2017-01-25 14:52:40 -03:00
Juan Linietsky
7e1afeafd4 Audio bus editing is COMPLETE! 2017-01-25 14:31:52 -03:00
Juan Linietsky
3b019bf644 Ability to delete, drag and drop audio buses! 2017-01-23 23:12:41 -03:00
Fabio Alessandrelli
88a56ba783 Remove set_ip_type from network classes (no longer needed)
- TCP:
  - `listen` bind to wildcard "*" -> dual stack socket
  - `listen` bind to address -> socket from address type
  - `connect` -> resolve using best protocol (UNSPEC), socket from address type

- UDP:
  - `listen` bind to wildcard "*" -> dual stack socket
  - `listen` bind to address -> socket from address type
  - `put_packet`/`put_var` -> resolve using TYPE_ANY (UNSPEC), socket from address type
    (to change socket type you must first call `close` it)
2017-01-23 20:18:22 +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
Rémi Verschelde
5ec3b5f2c9 Merge pull request #7604 from RayKoopa/gui_button_style_pressed
Respect style boxes for Button states other than "normal"
2017-01-23 07:55:24 +01:00
Andreas Haas
16eee2f59b
CollisionShape2D: Fix warning icon not updating.
`CollisionPolygon2D` also had this problem.
2017-01-22 14:11:17 +01:00
Juan Linietsky
0aa7242624 WIP new AudioServer, with buses, effects, etc. 2017-01-21 19:01:00 -03:00
Ray Koopa
2baeb531e6 Respect style boxes for Button states other than "normal" 2017-01-21 23:00:59 +01:00
Juan Linietsky
ee0f53df52 Merge pull request #7528 from tagcup/real_t_float_fixes
Use real_t rather than float or double in generic functions (core/mat…
2017-01-20 19:24:49 -03:00
Rémi Verschelde
8e84e53ebb Merge pull request #7574 from RayKoopa/canvas_item_fix_is_hidden
Fix Spatial::is_visible and editor calls to CanvasItem/Spatial::is_visible
2017-01-19 16:12:00 +01:00
Ferenc Arn
81d9fe44df Use property convention introduced in b085c4 (_ rather than / as separator).
Fixes #7476.
2017-01-18 18:56:27 -06:00
Ray Koopa
faa13adad3 Fix editor method calls to is_visible for Spatial and CanvasItem and is_visible itself for Spatial 2017-01-18 22:00:00 +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
Pedro J. Estébanez
7dbb1c0571 Improve .tscn VCS
Serialize dictionaries adding newlines between key-value pairs
Serialize group lists also with newlines in between
Serialize string properties escaping only " and \ (needed for a good diff experience with built-in scripts and shaders)

Bonus:
Make AnimationPlayer serialize its blend times always sorted so their order is predictable in the .tscn file.

This PR is back-compat; won't break the load of existing files.
2017-01-16 18:03:51 +01:00
BastiaanOlij
3a02df7739 Working on compile issues for iOS 2017-01-16 23:14:13 +11:00
Rémi Verschelde
f44ee891be Style: Fix statements ending with ';;' 2017-01-16 08:49:52 +01:00
Rémi Verschelde
40323407df Style: No break before list brace
clang-format does not handle that well *at all*.

For the reference, found the relevant pieces of code with:
`ag "=[ "$'\t'"]?"$'\n'"[ "$'\t'"]?{" --ignore=thirdparty`
2017-01-16 08:48:24 +01:00
Rémi Verschelde
3890256fc5 Style: Cleanups, added headers, renamed files
Made sure files in core/ and tools/ have a proper Godot license header
when written by us. Also renamed aabb.{cpp,h} and object_type_db.{cpp,h}
to rect3.{cpp,h} and class_db.{cpp,h} respectively.

Also added a proper header to core/io/base64.{c,h} after clarifying
the licensing with the original author (public domain).
2017-01-16 08:04:23 +01:00
Juan Linietsky
b400c69cd4 Oops! Audio engine has vanished :D 2017-01-15 16:07:51 -03:00
Rémi Verschelde
e0faf8a51b Style: Cosmetic fixes to play nice with clang-format 2017-01-15 16:42:17 +01:00
Juan Linietsky
5dde810aa5 no more errors related to missing GlobalConfig::Get (or so I hope) 2017-01-14 21:57:22 -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
Rémi Verschelde
7b9f2d9929 Finish renaming *Frame GUI classes to *Rect
ReferenceFrame had been overlooked, and the cpp files still used the old
names. Also ripgrep'ed it all to find some forgotten references.
2017-01-14 10:52:54 +01:00
Juan Linietsky
d9d77291bc rename String.extension() -> String.get_extension() / String.basename() -> String.get_basename() 2017-01-14 00:51:09 -03:00
Juan Linietsky
f3b6177ece rename monitoring functions 2017-01-13 20:03:51 -03:00
Juan Linietsky
6e88b1096a Vector2.get_aspect() renamed to Vector2.aspect() to keep consistent method naming 2017-01-13 20:00:43 -03:00
Juan Linietsky
00ec16e3f3 renamed tween animationplayer scale functions to speed_scale 2017-01-13 19:36:04 -03:00
Rémi Verschelde
b191ea8f02 Node name casing: fix mistake from previous commit 2017-01-13 22:43:39 +01:00
Rémi Verschelde
f19fd7a4c1 Reenable node name case setting + code cleanups
The method _generate_serial_child_name is indeed called relatively often
in editor mode, but that commented out code chunk hardly adds to its
slowness (and with the default setting, not at all).

Also did various related code cleanups and simplifications.
2017-01-13 22:38:43 +01:00
Rémi Verschelde
f392b340ff Tween: Rename times_in_sec (sic) param to duration 2017-01-13 19:40:18 +01:00
Juan Linietsky
de8cc309d6 Renamed button functions to be more verboes, same with Range unit value -> ratio 2017-01-13 14:08:30 -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
da477b76a9 some class renames
TextureFrame -> TextureRect
Patch9Frame -> NinePatchRect
ColorFrame -> ColorRect
2017-01-12 18:28:12 -03:00
Ray Koopa
a971186c26 Project setting to control node name casing
(cherry picked from commit 87fd54b2f1)
2017-01-12 20:47:25 +01:00
Juan Linietsky
35b404ba08 Unify naming of blendshape / morphtarget into just "Blend Shape" 2017-01-12 08:34:00 -03:00
Juan Linietsky
5afaf84ae1 Added a list of signals to rename, this should become a header eventually 2017-01-12 00:54:21 -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
f698e2be4f Proper inheritance checking when requesting theem resources 2017-01-11 18:29:59 -03:00
Juan Linietsky
b7d69c2444 Added a BACK notification besides QUIT, so they go in separate channels. 2017-01-11 16:42:31 -03:00