Commit Graph

1924 Commits

Author SHA1 Message Date
20kdc e2df5d661d Ported/fixed move_and_slide to KinematicBody (3D+floor/ceiling args)
This version of the commit has the on_ceiling/on_wall fix without any
 explaination of that code, since apparently it wasn't complicated enough.

As for the notes at the top of the function, they're still there.

move_and_slide is rather useful for character-controllers, etc.
It reduces the amount of boilerplate code.
Not having move_and_slide makes the APIs somewhat inconsistent.

(It might be nice to figure out a way to share the code between the two
move_and_slide implementations, but that's for someone who knows what
the policy is on shared code like that.)
2017-04-21 21:19:41 +01:00
Rémi Verschelde 99529fb80d Move VERSION_MKSTRING logic to version.h
Fixes a bug where the VERSION_PATCH define is not yet in scope if
typedefs.h is included before version.h at compilation time.

(cherry picked from commit 3b687c5474)
2017-04-20 12:14:34 +02:00
Rémi Verschelde 22b9c0207b Merge pull request #8417 from neikeq/hello-there
External editor improvements and fixes
2017-04-20 02:20:04 +02:00
Rémi Verschelde c88f56be64 Merge pull request #8376 from RayKoopa/fix_stylebox_expand_margin
Respect the expand margin for StyleBoxTextures again.
2017-04-20 02:10:55 +02:00
Paulb23 84bca4e72f Added support for space indentation 2017-04-18 12:30:46 +01:00
Ignacio Etcheverry 4b8568006d External editor improvements and fixes
Notable changes:

- Now ScriptLanguages have the option to override the global external editor setting.
If `ScriptLanguage::open_in_external_editor()` returns `ERR_UNAVAILABLE` (which it does by default), then the global external editor option will be used.
- Added formatting to the external editor execution arguments. Now it's possible to write something like this: `{project} -g {file}:{line}:{col}`.
- `VisualScript::get_member_line()` now can return the line of functions (well, it returns the id of the _Function_ node of the function). I guess there is nothing else we can get a "line" from.

Fixes:

- Fixes a bug where `ScriptEditor::script_goto_method()` would not work if the script is not already open in the built-in editor.
- Fixes wrong DEFVAL for `cursor_set_column` and `cursor_set_line` in TextEdit.
- `Script::get_member_line()` now returns -1 ("found nothing") by default.
2017-04-17 01:51:30 +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
Andreas Haas 1a8f94edd4 Merge pull request #8370 from volzhs/fix-stylebox-master
Fix editor style box for ToolButton
2017-04-14 17:51:30 +02:00
Andreas Haas a96e795241 Merge pull request #8402 from neikeq/pr-fix-binds
PackedScene: Fix wrong DEFVAL
2017-04-14 03:14:01 +02:00
Ignacio Etcheverry 30835f9d37 PackedScene: Fix wrong DEFVAL 2017-04-14 02:18:38 +02:00
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